@nexa-ui-kit/theme-default 1.0.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.
Files changed (68) hide show
  1. package/README.md +50 -0
  2. package/components/accordion.css +29 -0
  3. package/components/alert-dialog.css +33 -0
  4. package/components/alert.css +33 -0
  5. package/components/aspect-ratio.css +15 -0
  6. package/components/avatar-group.css +30 -0
  7. package/components/avatar.css +25 -0
  8. package/components/badge.css +21 -0
  9. package/components/breadcrumb.css +35 -0
  10. package/components/button.css +47 -0
  11. package/components/calendar.css +124 -0
  12. package/components/card.css +25 -0
  13. package/components/carousel.css +79 -0
  14. package/components/chart.css +124 -0
  15. package/components/checkbox.css +13 -0
  16. package/components/collapsible.css +5 -0
  17. package/components/combobox.css +13 -0
  18. package/components/command.css +49 -0
  19. package/components/context-menu.css +87 -0
  20. package/components/date-picker.css +13 -0
  21. package/components/dialog.css +29 -0
  22. package/components/dropdown-menu.css +98 -0
  23. package/components/empty-state.css +21 -0
  24. package/components/field.css +145 -0
  25. package/components/form.css +26 -0
  26. package/components/hover-card.css +5 -0
  27. package/components/index.css +78 -0
  28. package/components/input-group.css +91 -0
  29. package/components/input-otp.css +25 -0
  30. package/components/input.css +5 -0
  31. package/components/item.css +75 -0
  32. package/components/kbd.css +9 -0
  33. package/components/label.css +5 -0
  34. package/components/menubar.css +100 -0
  35. package/components/multi-select.css +37 -0
  36. package/components/navigation-menu.css +37 -0
  37. package/components/number-input.css +26 -0
  38. package/components/pagination.css +29 -0
  39. package/components/popover.css +30 -0
  40. package/components/progress.css +28 -0
  41. package/components/radio-group.css +17 -0
  42. package/components/scroll-area.css +25 -0
  43. package/components/scrollytelling.css +418 -0
  44. package/components/select.css +74 -0
  45. package/components/separator.css +5 -0
  46. package/components/sheet.css +45 -0
  47. package/components/sidebar.css +65 -0
  48. package/components/skeleton.css +5 -0
  49. package/components/slider.css +49 -0
  50. package/components/sonner.css +103 -0
  51. package/components/spinner.css +5 -0
  52. package/components/stat-card.css +33 -0
  53. package/components/stepper.css +137 -0
  54. package/components/switch.css +9 -0
  55. package/components/table.css +42 -0
  56. package/components/tabs.css +37 -0
  57. package/components/textarea.css +17 -0
  58. package/components/toast.css +45 -0
  59. package/components/toggle-group.css +25 -0
  60. package/components/toggle.css +21 -0
  61. package/components/toolbar.css +25 -0
  62. package/components/tooltip.css +9 -0
  63. package/package.json +85 -0
  64. package/tailwind.config.mjs +83 -0
  65. package/tokens/colors.css +93 -0
  66. package/tokens/index.css +18 -0
  67. package/tokens/spacing.css +36 -0
  68. package/tokens/typography.css +38 -0
@@ -0,0 +1,418 @@
1
+ /* Scrollytelling - Scroll-driven narrative components */
2
+
3
+ /* Root container */
4
+ [data-slot="scrollytelling"] {
5
+ position: relative;
6
+ width: 100%;
7
+ outline: none;
8
+ }
9
+
10
+ [data-slot="scrollytelling"]:focus-visible {
11
+ outline: 2px solid hsl(var(--ring));
12
+ outline-offset: 2px;
13
+ }
14
+
15
+ /* Track container */
16
+ [data-slot="scrollytelling-track"] {
17
+ position: relative;
18
+ }
19
+
20
+ [data-slot="scrollytelling-track"][data-snap="mandatory"] {
21
+ scroll-snap-type: y mandatory;
22
+ }
23
+
24
+ [data-slot="scrollytelling-track"][data-snap="proximity"] {
25
+ scroll-snap-type: y proximity;
26
+ }
27
+
28
+ /* Section */
29
+ [data-slot="scrollytelling-section"] {
30
+ position: relative;
31
+ min-height: 100vh;
32
+ }
33
+
34
+ [data-slot="scrollytelling-section"][data-pinned] {
35
+ /* Height set via inline style based on pinDuration */
36
+ }
37
+
38
+ [data-slot="scrollytelling-section-sticky"] {
39
+ position: sticky;
40
+ top: 0;
41
+ height: 100vh;
42
+ overflow: hidden;
43
+ }
44
+
45
+ /* Content wrapper */
46
+ [data-slot="scrollytelling-content"] {
47
+ display: flex;
48
+ flex-direction: column;
49
+ width: 100%;
50
+ height: 100%;
51
+ }
52
+
53
+ [data-slot="scrollytelling-content"][data-align="start"] {
54
+ align-items: flex-start;
55
+ }
56
+
57
+ [data-slot="scrollytelling-content"][data-align="center"] {
58
+ align-items: center;
59
+ }
60
+
61
+ [data-slot="scrollytelling-content"][data-align="end"] {
62
+ align-items: flex-end;
63
+ }
64
+
65
+ [data-slot="scrollytelling-content"][data-justify="start"] {
66
+ justify-content: flex-start;
67
+ }
68
+
69
+ [data-slot="scrollytelling-content"][data-justify="center"] {
70
+ justify-content: center;
71
+ }
72
+
73
+ [data-slot="scrollytelling-content"][data-justify="end"] {
74
+ justify-content: flex-end;
75
+ }
76
+
77
+ /* Reveal animation container */
78
+ [data-slot="scrollytelling-reveal"] {
79
+ will-change: transform, opacity;
80
+ }
81
+
82
+ /* Screen reader only utility */
83
+ .sr-only {
84
+ position: absolute;
85
+ width: 1px;
86
+ height: 1px;
87
+ padding: 0;
88
+ margin: -1px;
89
+ overflow: hidden;
90
+ clip: rect(0, 0, 0, 0);
91
+ white-space: nowrap;
92
+ border-width: 0;
93
+ }
94
+
95
+ /* Background component */
96
+ [data-slot="scrollytelling-background"] {
97
+ z-index: 0;
98
+ }
99
+
100
+ [data-slot="scrollytelling-background-container"] {
101
+ will-change: transform;
102
+ }
103
+
104
+ [data-slot="scrollytelling-background-image"],
105
+ [data-slot="scrollytelling-background-video"] {
106
+ will-change: transform;
107
+ }
108
+
109
+ /* Counter component */
110
+ [data-slot="scrollytelling-counter"] {
111
+ font-variant-numeric: tabular-nums;
112
+ }
113
+
114
+ /* Highlight component */
115
+ [data-slot="scrollytelling-highlight-segment"] {
116
+ transition: color var(--scrollytelling-transition-duration, 200ms) ease,
117
+ background-color var(--scrollytelling-transition-duration, 200ms) ease;
118
+ }
119
+
120
+ /* Transition component */
121
+ [data-slot="scrollytelling-transition"] {
122
+ will-change: opacity, transform, filter, clip-path;
123
+ }
124
+
125
+ /* Timeline component */
126
+ [data-slot="scrollytelling-timeline"] {
127
+ display: flex;
128
+ flex-direction: column;
129
+ align-items: center;
130
+ }
131
+
132
+ [data-slot="scrollytelling-timeline"][data-hide-mobile] {
133
+ @media (max-width: 768px) {
134
+ display: none;
135
+ }
136
+ }
137
+
138
+ [data-slot="scrollytelling-timeline-track"] {
139
+ position: relative;
140
+ width: var(--scrollytelling-timeline-width, 2px);
141
+ height: 200px;
142
+ background: hsl(var(--muted));
143
+ border-radius: 9999px;
144
+ }
145
+
146
+ [data-slot="scrollytelling-timeline-progress"] {
147
+ position: absolute;
148
+ top: 0;
149
+ left: 0;
150
+ width: 100%;
151
+ background: hsl(var(--primary));
152
+ border-radius: 9999px;
153
+ transition: height 0.1s ease-out;
154
+ }
155
+
156
+ [data-slot="scrollytelling-timeline-markers"] {
157
+ position: absolute;
158
+ inset: 0;
159
+ }
160
+
161
+ [data-slot="scrollytelling-timeline-marker"] {
162
+ position: absolute;
163
+ left: 50%;
164
+ transform: translateX(-50%);
165
+ width: var(--scrollytelling-dot-size, 12px);
166
+ height: var(--scrollytelling-dot-size, 12px);
167
+ border-radius: 9999px;
168
+ background: hsl(var(--muted));
169
+ border: 2px solid hsl(var(--background));
170
+ cursor: pointer;
171
+ transition:
172
+ background-color 0.2s ease,
173
+ transform 0.2s ease;
174
+ }
175
+
176
+ [data-slot="scrollytelling-timeline-marker"][data-active] {
177
+ background: hsl(var(--primary));
178
+ transform: translateX(-50%) scale(1.2);
179
+ }
180
+
181
+ [data-slot="scrollytelling-timeline-marker"]:hover {
182
+ background: hsl(var(--primary) / 0.8);
183
+ }
184
+
185
+ [data-slot="scrollytelling-timeline-marker"]:focus-visible {
186
+ outline: 2px solid hsl(var(--ring));
187
+ outline-offset: 2px;
188
+ }
189
+
190
+ [data-slot="scrollytelling-timeline-label"] {
191
+ position: absolute;
192
+ white-space: nowrap;
193
+ font-size: 0.75rem;
194
+ color: hsl(var(--muted-foreground));
195
+ background: hsl(var(--background) / 0.9);
196
+ padding: 0.25rem 0.5rem;
197
+ border-radius: 0.25rem;
198
+ backdrop-filter: blur(4px);
199
+ }
200
+
201
+ [data-slot="scrollytelling-timeline"][data-position="left"]
202
+ [data-slot="scrollytelling-timeline-label"] {
203
+ right: calc(100% + 1rem);
204
+ }
205
+
206
+ [data-slot="scrollytelling-timeline"][data-position="right"]
207
+ [data-slot="scrollytelling-timeline-label"] {
208
+ left: calc(100% + 1rem);
209
+ }
210
+
211
+ /* Nav component */
212
+ [data-slot="scrollytelling-nav-item"] {
213
+ display: flex;
214
+ align-items: center;
215
+ justify-content: center;
216
+ cursor: pointer;
217
+ border: none;
218
+ transition: all 0.2s ease;
219
+ }
220
+
221
+ [data-slot="scrollytelling-nav-item"][data-variant="dots"] {
222
+ width: var(--scrollytelling-dot-size, 12px);
223
+ height: var(--scrollytelling-dot-size, 12px);
224
+ border-radius: 9999px;
225
+ background: hsl(var(--muted));
226
+ }
227
+
228
+ [data-slot="scrollytelling-nav-item"][data-variant="dots"][data-active] {
229
+ background: hsl(var(--primary));
230
+ }
231
+
232
+ [data-slot="scrollytelling-nav-item"][data-variant="lines"] {
233
+ width: 24px;
234
+ height: 3px;
235
+ border-radius: 2px;
236
+ background: hsl(var(--muted));
237
+ }
238
+
239
+ [data-slot="scrollytelling-nav-item"][data-variant="lines"][data-active] {
240
+ background: hsl(var(--primary));
241
+ width: 32px;
242
+ }
243
+
244
+ [data-slot="scrollytelling-nav-item"][data-variant="numbers"] {
245
+ width: 24px;
246
+ height: 24px;
247
+ border-radius: 9999px;
248
+ background: hsl(var(--muted));
249
+ color: hsl(var(--muted-foreground));
250
+ font-size: 0.75rem;
251
+ font-weight: 500;
252
+ }
253
+
254
+ [data-slot="scrollytelling-nav-item"][data-variant="numbers"][data-active] {
255
+ background: hsl(var(--primary));
256
+ color: hsl(var(--primary-foreground));
257
+ }
258
+
259
+ [data-slot="scrollytelling-nav-item"]:focus-visible {
260
+ outline: 2px solid hsl(var(--ring));
261
+ outline-offset: 2px;
262
+ }
263
+
264
+ /* Debug component */
265
+ [data-slot="scrollytelling-debug"] {
266
+ background: hsl(var(--background) / 0.95);
267
+ border: 1px solid hsl(var(--border));
268
+ border-radius: 0.5rem;
269
+ padding: 0.75rem;
270
+ font-family: ui-monospace, monospace;
271
+ font-size: 0.75rem;
272
+ box-shadow: 0 4px 12px hsl(var(--foreground) / 0.1);
273
+ backdrop-filter: blur(8px);
274
+ }
275
+
276
+ [data-slot="scrollytelling-debug-header"] {
277
+ font-weight: 600;
278
+ margin-bottom: 0.5rem;
279
+ padding-bottom: 0.5rem;
280
+ border-bottom: 1px solid hsl(var(--border));
281
+ }
282
+
283
+ [data-slot="scrollytelling-debug-list"] {
284
+ display: grid;
285
+ gap: 0.25rem;
286
+ }
287
+
288
+ [data-slot="scrollytelling-debug-list"] > div {
289
+ display: flex;
290
+ justify-content: space-between;
291
+ gap: 1rem;
292
+ }
293
+
294
+ [data-slot="scrollytelling-debug-list"] dt {
295
+ color: hsl(var(--muted-foreground));
296
+ }
297
+
298
+ [data-slot="scrollytelling-debug-list"] dd {
299
+ font-weight: 500;
300
+ }
301
+
302
+ [data-slot="scrollytelling-debug-list"] dd[data-warning] {
303
+ color: hsl(var(--destructive));
304
+ }
305
+
306
+ [data-slot="scrollytelling-section-debug"] {
307
+ background: hsl(var(--background) / 0.9);
308
+ border: 1px solid hsl(var(--border));
309
+ border-radius: 0.25rem;
310
+ padding: 0.5rem;
311
+ font-family: ui-monospace, monospace;
312
+ font-size: 0.625rem;
313
+ }
314
+
315
+ [data-slot="scrollytelling-section-debug"] dl {
316
+ display: grid;
317
+ gap: 0.125rem;
318
+ }
319
+
320
+ [data-slot="scrollytelling-section-debug"] dl > div {
321
+ display: flex;
322
+ gap: 0.5rem;
323
+ }
324
+
325
+ /* ================================================
326
+ Media Components
327
+ ================================================ */
328
+
329
+ /* Media container */
330
+ [data-slot="scrollytelling-media"] {
331
+ position: relative;
332
+ }
333
+
334
+ /* Video */
335
+ [data-slot="scrollytelling-media-video"] {
336
+ pointer-events: none;
337
+ }
338
+
339
+ /* Poster fallback */
340
+ [data-slot="scrollytelling-media-poster"] {
341
+ pointer-events: none;
342
+ }
343
+
344
+ /* SVG container */
345
+ [data-slot="scrollytelling-media-svg"] {
346
+ width: 100%;
347
+ height: 100%;
348
+ }
349
+
350
+ [data-slot="scrollytelling-media-svg"] svg {
351
+ width: 100%;
352
+ height: 100%;
353
+ }
354
+
355
+ [data-slot="scrollytelling-media-svg"] path {
356
+ stroke-dasharray: var(--svg-path-length);
357
+ stroke-dashoffset: var(--svg-dash-offset);
358
+ transition: stroke-dashoffset 0.05s ease-out;
359
+ }
360
+
361
+ [data-slot="scrollytelling-media-svg"][data-animation="reveal"] path {
362
+ fill-opacity: calc(1 - var(--svg-dash-offset) / var(--svg-path-length));
363
+ }
364
+
365
+ /* Image reveal */
366
+ [data-slot="scrollytelling-media-image"] {
367
+ will-change: clip-path;
368
+ }
369
+
370
+ /* ================================================
371
+ Mobile Optimization
372
+ ================================================ */
373
+
374
+ [data-slot="scrollytelling"] {
375
+ -webkit-overflow-scrolling: touch;
376
+ overscroll-behavior: contain;
377
+ }
378
+
379
+ [data-slot="scrollytelling-track"] {
380
+ touch-action: pan-y;
381
+ }
382
+
383
+ /* Reduce GPU memory on mobile */
384
+ @media (max-width: 768px) {
385
+ [data-slot="scrollytelling-media-video"],
386
+ [data-slot="scrollytelling-media-svg"],
387
+ [data-slot="scrollytelling-media-image"] {
388
+ will-change: auto;
389
+ }
390
+ }
391
+
392
+ /* ================================================
393
+ Reduced Motion Overrides
394
+ ================================================ */
395
+
396
+ @media (prefers-reduced-motion: reduce) {
397
+ [data-slot="scrollytelling-reveal"] {
398
+ transition: none !important;
399
+ }
400
+
401
+ [data-slot="scrollytelling-media-svg"] path {
402
+ stroke-dashoffset: 0 !important;
403
+ transition: none !important;
404
+ }
405
+
406
+ [data-slot="scrollytelling-media-image"] {
407
+ clip-path: none !important;
408
+ transition: none !important;
409
+ }
410
+
411
+ [data-slot="scrollytelling-transition"] {
412
+ transition: none !important;
413
+ }
414
+
415
+ [data-slot="scrollytelling-highlight-segment"] {
416
+ transition: none !important;
417
+ }
418
+ }
@@ -0,0 +1,74 @@
1
+ /* Select Component Styles */
2
+ /* Radix UI Select with data-slot attributes */
3
+
4
+ [data-slot="select-trigger"] {
5
+ @apply flex h-9 w-full items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-xs;
6
+ @apply placeholder:text-muted-foreground;
7
+ @apply focus:outline-none focus:ring-1 focus:ring-ring;
8
+ @apply disabled:cursor-not-allowed disabled:opacity-50;
9
+ }
10
+
11
+ [data-slot="select-trigger"][data-placeholder] {
12
+ @apply text-muted-foreground;
13
+ }
14
+
15
+ [data-slot="select-icon"] {
16
+ @apply size-4 shrink-0 opacity-50;
17
+ }
18
+
19
+ [data-slot="select-content"] {
20
+ @apply relative z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md;
21
+ @apply data-[state=open]:animate-in data-[state=closed]:animate-out;
22
+ @apply data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0;
23
+ @apply data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95;
24
+ @apply data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2;
25
+ @apply data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2;
26
+ max-height: var(--radix-select-content-available-height);
27
+ }
28
+
29
+ [data-slot="select-content"][data-position="popper"] {
30
+ @apply w-full;
31
+ min-width: var(--radix-select-trigger-width);
32
+ }
33
+
34
+ [data-slot="select-viewport"] {
35
+ @apply p-1;
36
+ }
37
+
38
+ [data-slot="select-viewport"][data-position="popper"] {
39
+ @apply h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)];
40
+ }
41
+
42
+ [data-slot="select-item"] {
43
+ @apply relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none;
44
+ @apply focus:bg-accent focus:text-accent-foreground;
45
+ @apply data-[disabled]:pointer-events-none data-[disabled]:opacity-50;
46
+ }
47
+
48
+ [data-slot="select-item-indicator-wrapper"] {
49
+ @apply absolute left-2 flex h-3.5 w-3.5 items-center justify-center;
50
+ }
51
+
52
+ [data-slot="select-check-icon"] {
53
+ @apply size-4;
54
+ }
55
+
56
+ [data-slot="select-label"] {
57
+ @apply px-2 py-1.5 text-sm font-semibold;
58
+ }
59
+
60
+ [data-slot="select-separator"] {
61
+ @apply -mx-1 my-1 h-px bg-muted;
62
+ }
63
+
64
+ [data-slot="select-scroll-up-button"],
65
+ [data-slot="select-scroll-down-button"] {
66
+ @apply flex cursor-default items-center justify-center py-1;
67
+ }
68
+
69
+ [data-slot="select-scroll-up-button"] svg,
70
+ [data-slot="select-scroll-down-button"] svg,
71
+ [data-slot="select-chevron-up"],
72
+ [data-slot="select-chevron-down"] {
73
+ @apply size-4;
74
+ }
@@ -0,0 +1,5 @@
1
+ /* Separator Component Styles */
2
+
3
+ [data-slot="separator"] {
4
+ @apply bg-border shrink-0 data-[orientation=horizontal]:h-[1px] data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-[1px];
5
+ }
@@ -0,0 +1,45 @@
1
+ /* Sheet Component Styles */
2
+
3
+ [data-slot="sheet-overlay"] {
4
+ @apply fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0;
5
+ }
6
+
7
+ [data-slot="sheet-content"] {
8
+ @apply fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500;
9
+ }
10
+
11
+ [data-slot="sheet-content"][data-side="top"] {
12
+ @apply inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top;
13
+ }
14
+
15
+ [data-slot="sheet-content"][data-side="bottom"] {
16
+ @apply inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom;
17
+ }
18
+
19
+ [data-slot="sheet-content"][data-side="left"] {
20
+ @apply inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left;
21
+ }
22
+
23
+ [data-slot="sheet-content"][data-side="right"] {
24
+ @apply inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right;
25
+ }
26
+
27
+ [data-slot="sheet-close"] {
28
+ @apply absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary;
29
+ }
30
+
31
+ [data-slot="sheet-header"] {
32
+ @apply flex flex-col space-y-2 text-center sm:text-left;
33
+ }
34
+
35
+ [data-slot="sheet-footer"] {
36
+ @apply flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2;
37
+ }
38
+
39
+ [data-slot="sheet-title"] {
40
+ @apply text-lg font-semibold text-foreground;
41
+ }
42
+
43
+ [data-slot="sheet-description"] {
44
+ @apply text-sm text-muted-foreground;
45
+ }
@@ -0,0 +1,65 @@
1
+ /* Sidebar Component Styles */
2
+
3
+ [data-slot="sidebar"] {
4
+ @apply flex flex-col bg-background transition-all duration-200 ease-in-out data-[variant=floating]:m-2 data-[variant=floating]:rounded-lg data-[variant=floating]:bg-background data-[variant=floating]:shadow-md data-[variant=floating]:border data-[side=left]:border-r data-[side=right]:border-l;
5
+ }
6
+
7
+ [data-slot="sidebar"][data-mobile="true"] {
8
+ @apply fixed inset-y-0 z-50 flex h-full w-full flex-col border-r bg-background transition-transform duration-200 ease-in-out data-[side=left]:left-0 data-[side=right]:right-0 data-[side=left]:data-[state=closed]:-translate-x-full data-[side=right]:data-[state=closed]:translate-x-full;
9
+ }
10
+
11
+ [data-slot="sidebar-overlay"] {
12
+ @apply fixed inset-0 z-40 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0;
13
+ }
14
+
15
+ [data-slot="sidebar-header"] {
16
+ @apply flex flex-col border-b p-4;
17
+ }
18
+
19
+ [data-slot="sidebar-content"] {
20
+ @apply flex min-h-0 flex-1 flex-col overflow-auto p-2;
21
+ }
22
+
23
+ [data-slot="sidebar-footer"] {
24
+ @apply flex flex-col border-t p-4;
25
+ }
26
+
27
+ [data-slot="sidebar-group"] {
28
+ @apply flex flex-col gap-1 py-2;
29
+ }
30
+
31
+ [data-slot="sidebar-group-label"] {
32
+ @apply px-3 text-xs font-semibold uppercase tracking-wider text-muted-foreground opacity-100 transition-opacity duration-200;
33
+ }
34
+
35
+ [data-slot="sidebar"][data-collapsed="true"] [data-slot="sidebar-group-label"] {
36
+ @apply opacity-0;
37
+ }
38
+
39
+ [data-slot="sidebar-menu-item"] {
40
+ @apply flex w-full items-center gap-3 rounded-md px-3 py-2 text-sm font-medium text-foreground transition-colors hover:bg-accent hover:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[active=true]:bg-accent data-[active=true]:text-accent-foreground;
41
+ }
42
+
43
+ [data-slot="sidebar"][data-collapsed="true"] [data-slot="sidebar-menu-item"] {
44
+ @apply justify-center px-0 py-2;
45
+ }
46
+
47
+ [data-slot="sidebar-menu-item-icon"] {
48
+ @apply flex h-5 w-5 shrink-0 items-center justify-center;
49
+ }
50
+
51
+ [data-slot="sidebar-menu-item-content"] {
52
+ @apply overflow-hidden whitespace-nowrap opacity-100 transition-all duration-200;
53
+ }
54
+
55
+ [data-slot="sidebar"][data-collapsed="true"] [data-slot="sidebar-menu-item-content"] {
56
+ @apply w-0 opacity-0;
57
+ }
58
+
59
+ [data-slot="sidebar-trigger"] {
60
+ @apply inline-flex h-9 w-9 items-center justify-center rounded-md text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50;
61
+ }
62
+
63
+ [data-slot="sidebar-inset"] {
64
+ @apply flex flex-1 flex-col overflow-auto;
65
+ }
@@ -0,0 +1,5 @@
1
+ /* Skeleton Component Styles */
2
+
3
+ [data-slot="skeleton"] {
4
+ @apply animate-pulse rounded-md bg-muted;
5
+ }
@@ -0,0 +1,49 @@
1
+ /* Slider Component Styles */
2
+
3
+ [data-slot="slider"] {
4
+ @apply relative flex w-full touch-none select-none items-center;
5
+ }
6
+
7
+ [data-slot="slider"][data-orientation="vertical"] {
8
+ @apply h-full w-auto flex-col;
9
+ }
10
+
11
+ [data-slot="slider-track"] {
12
+ @apply relative grow overflow-hidden rounded-full bg-secondary;
13
+ }
14
+
15
+ [data-slot="slider"][data-orientation="horizontal"] [data-slot="slider-track"] {
16
+ @apply h-2 w-full;
17
+ }
18
+
19
+ [data-slot="slider"][data-orientation="vertical"] [data-slot="slider-track"] {
20
+ @apply h-full w-2;
21
+ }
22
+
23
+ [data-slot="slider-range"] {
24
+ @apply absolute bg-primary;
25
+ }
26
+
27
+ [data-slot="slider"][data-orientation="horizontal"] [data-slot="slider-range"] {
28
+ @apply h-full;
29
+ }
30
+
31
+ [data-slot="slider"][data-orientation="vertical"] [data-slot="slider-range"] {
32
+ @apply w-full;
33
+ }
34
+
35
+ [data-slot="slider-thumb"] {
36
+ @apply block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50;
37
+ }
38
+
39
+ [data-slot="slider-value-label"] {
40
+ @apply absolute text-xs font-medium text-foreground;
41
+ }
42
+
43
+ [data-slot="slider"][data-orientation="horizontal"] [data-slot="slider-value-label"] {
44
+ @apply -top-6 -translate-x-1/2;
45
+ }
46
+
47
+ [data-slot="slider"][data-orientation="vertical"] [data-slot="slider-value-label"] {
48
+ @apply -left-8 top-1/2 -translate-y-1/2;
49
+ }