@srcroot/ui 0.0.55 → 0.0.56

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 (107) hide show
  1. package/README.md +151 -151
  2. package/dist/index.d.ts +0 -0
  3. package/dist/index.js +33 -17
  4. package/package.json +7 -2
  5. package/src/registry/analytics/google-analytics.tsx +36 -39
  6. package/src/registry/analytics/google-tag-manager.tsx +62 -65
  7. package/src/registry/analytics/meta-pixel.tsx +44 -47
  8. package/src/registry/analytics/microsoft-clarity.tsx +31 -34
  9. package/src/registry/analytics/tiktok-pixel.tsx +34 -37
  10. package/src/registry/lib/utils.ts +0 -0
  11. package/src/registry/themes/v3/blue.css +157 -157
  12. package/src/registry/themes/v3/glass.css +153 -153
  13. package/src/registry/themes/v3/gray.css +157 -157
  14. package/src/registry/themes/v3/green.css +157 -157
  15. package/src/registry/themes/v3/neutral.css +157 -157
  16. package/src/registry/themes/v3/orange.css +157 -157
  17. package/src/registry/themes/v3/rose.css +157 -157
  18. package/src/registry/themes/v3/slate.css +157 -157
  19. package/src/registry/themes/v3/stone.css +157 -157
  20. package/src/registry/themes/v3/violet.css +186 -186
  21. package/src/registry/themes/v3/zinc.css +157 -157
  22. package/src/registry/themes/v4/blue.css +184 -184
  23. package/src/registry/themes/v4/glass.css +180 -180
  24. package/src/registry/themes/v4/gray.css +184 -184
  25. package/src/registry/themes/v4/green.css +184 -184
  26. package/src/registry/themes/v4/neutral.css +184 -184
  27. package/src/registry/themes/v4/orange.css +184 -184
  28. package/src/registry/themes/v4/rose.css +184 -184
  29. package/src/registry/themes/v4/slate.css +184 -184
  30. package/src/registry/themes/v4/stone.css +184 -184
  31. package/src/registry/themes/v4/violet.css +184 -184
  32. package/src/registry/themes/v4/zinc.css +184 -184
  33. package/src/registry/ui/accordion.tsx +164 -165
  34. package/src/registry/ui/alert-dialog.tsx +213 -214
  35. package/src/registry/ui/alert.tsx +73 -76
  36. package/src/registry/ui/aspect-ratio.tsx +44 -47
  37. package/src/registry/ui/avatar.tsx +96 -97
  38. package/src/registry/ui/badge.tsx +52 -55
  39. package/src/registry/ui/breadcrumb.tsx +147 -150
  40. package/src/registry/ui/button-group.tsx +64 -67
  41. package/src/registry/ui/button.tsx +71 -72
  42. package/src/registry/ui/calendar.tsx +514 -515
  43. package/src/registry/ui/card.tsx +88 -91
  44. package/src/registry/ui/carousel.tsx +214 -214
  45. package/src/registry/ui/chart.tsx +373 -373
  46. package/src/registry/ui/chatbot.tsx +86 -13
  47. package/src/registry/ui/checkbox.tsx +93 -94
  48. package/src/registry/ui/collapsible.tsx +107 -108
  49. package/src/registry/ui/combobox.tsx +171 -171
  50. package/src/registry/ui/command.tsx +300 -300
  51. package/src/registry/ui/container.tsx +44 -47
  52. package/src/registry/ui/context-menu.tsx +221 -221
  53. package/src/registry/ui/date-picker.tsx +228 -228
  54. package/src/registry/ui/dialog.tsx +269 -270
  55. package/src/registry/ui/drawer.tsx +10 -4
  56. package/src/registry/ui/dropdown-menu.tsx +529 -530
  57. package/src/registry/ui/empty-state.tsx +0 -2
  58. package/src/registry/ui/file-upload.tsx +0 -0
  59. package/src/registry/ui/floating-dock.tsx +0 -0
  60. package/src/registry/ui/form-field.tsx +91 -94
  61. package/src/registry/ui/google-analytics.tsx +38 -0
  62. package/src/registry/ui/google-tag-manager.tsx +64 -0
  63. package/src/registry/ui/hover-card.tsx +223 -223
  64. package/src/registry/ui/image.tsx +144 -147
  65. package/src/registry/ui/input-group.tsx +82 -85
  66. package/src/registry/ui/input.tsx +125 -125
  67. package/src/registry/ui/kbd.tsx +60 -63
  68. package/src/registry/ui/label.tsx +36 -37
  69. package/src/registry/ui/loading-spinner.tsx +108 -111
  70. package/src/registry/ui/map.tsx +0 -0
  71. package/src/registry/ui/marquee.tsx +2 -0
  72. package/src/registry/ui/menubar.tsx +246 -246
  73. package/src/registry/ui/meta-pixel.tsx +46 -0
  74. package/src/registry/ui/microsoft-clarity.tsx +33 -0
  75. package/src/registry/ui/native-select.tsx +49 -52
  76. package/src/registry/ui/otp-input.tsx +152 -155
  77. package/src/registry/ui/pagination.tsx +149 -152
  78. package/src/registry/ui/patterns.tsx +28 -0
  79. package/src/registry/ui/popover.tsx +226 -227
  80. package/src/registry/ui/progress.tsx +51 -52
  81. package/src/registry/ui/radio.tsx +99 -102
  82. package/src/registry/ui/resizable.tsx +314 -314
  83. package/src/registry/ui/scroll-animation.tsx +45 -0
  84. package/src/registry/ui/scroll-area.tsx +121 -122
  85. package/src/registry/ui/scroll-to-top.tsx +0 -0
  86. package/src/registry/ui/search.tsx +147 -150
  87. package/src/registry/ui/select.tsx +292 -293
  88. package/src/registry/ui/separator.tsx +46 -47
  89. package/src/registry/ui/sheet.tsx +6 -3
  90. package/src/registry/ui/sidebar.tsx +628 -628
  91. package/src/registry/ui/skeleton.tsx +26 -29
  92. package/src/registry/ui/slider.tsx +196 -197
  93. package/src/registry/ui/slot.tsx +69 -72
  94. package/src/registry/ui/star-rating.tsx +131 -134
  95. package/src/registry/ui/switch.tsx +72 -73
  96. package/src/registry/ui/table-of-contents.tsx +96 -96
  97. package/src/registry/ui/table.tsx +138 -139
  98. package/src/registry/ui/tabs.tsx +124 -125
  99. package/src/registry/ui/text.tsx +61 -64
  100. package/src/registry/ui/textarea.tsx +41 -42
  101. package/src/registry/ui/theme-switcher.tsx +66 -66
  102. package/src/registry/ui/tiktok-pixel.tsx +36 -0
  103. package/src/registry/ui/toast.tsx +97 -98
  104. package/src/registry/ui/toggle-group.tsx +129 -129
  105. package/src/registry/ui/toggle.tsx +72 -72
  106. package/src/registry/ui/tooltip.tsx +143 -144
  107. package/src/registry/ui/whatsapp.tsx +0 -0
@@ -1,187 +1,187 @@
1
- /**
2
- * @srcroot/ui - Violet Theme (Tailwind 4)
3
- * Vibrant purple and magenta connected to the brand identity
4
- */
5
-
6
- @import "tailwindcss";
7
-
8
- :root {
9
- --background: hsl(0 0% 100%);
10
- --foreground: hsl(246 80% 60%);
11
-
12
- --card: hsl(0 0% 100%);
13
- --card-foreground: hsl(246 80% 60%);
14
-
15
- --popover: hsl(0 0% 100%);
16
- --popover-foreground: hsl(246 80% 60%);
17
-
18
- --primary: hsl(246 80% 60%);
19
- --primary-foreground: hsl(0 0% 100%);
20
-
21
- --secondary: hsl(320 85% 55%);
22
- --secondary-foreground: hsl(0 0% 100%);
23
-
24
- --muted: hsl(246 20% 96%);
25
- --muted-foreground: hsl(246 10% 45%);
26
-
27
- --accent: hsl(320 85% 55%);
28
- --accent-foreground: hsl(0 0% 100%);
29
-
30
- --destructive: hsl(0 84.2% 60.2%);
31
- --destructive-foreground: hsl(0 0% 98%);
32
-
33
- --success: hsl(142.1 76.2% 36.3%);
34
- --success-foreground: hsl(0 0% 98%);
35
-
36
- --warning: hsl(45.4 93.4% 47.5%);
37
- --warning-foreground: hsl(246 80% 60%);
38
-
39
- --info: hsl(201.3 96.3% 32.2%);
40
- --info-foreground: hsl(0 0% 98%);
41
-
42
- --border: hsl(246 15% 90%);
43
- --input: hsl(246 15% 90%);
44
- --ring: hsl(246 80% 60%);
45
-
46
- --radius: 0.5rem;
47
-
48
- --sidebar-width: 16rem;
49
- --sidebar-width-mobile: 18rem;
50
- --sidebar-width-collapsed: 3rem;
51
- --sidebar-width-icon: 3rem;
52
- --header-height: 3.5rem;
53
-
54
- --sidebar-background: hsl(0 0% 98%);
55
- --sidebar-foreground: hsl(246 80% 60%);
56
- --sidebar-primary: hsl(246 80% 60%);
57
- --sidebar-primary-foreground: hsl(0 0% 98%);
58
- --sidebar-accent: hsl(320 85% 55%);
59
- --sidebar-accent-foreground: hsl(0 0% 98%);
60
- --sidebar-border: hsl(246 15% 90%);
61
- --sidebar-ring: hsl(246 80% 60%);
62
- }
63
-
64
- @theme inline {
65
- --color-border: var(--border);
66
- --color-input: var(--input);
67
- --color-ring: var(--ring);
68
- --color-background: var(--background);
69
- --color-foreground: var(--foreground);
70
-
71
- --color-primary: var(--primary);
72
- --color-primary-foreground: var(--primary-foreground);
73
-
74
- --color-secondary: var(--secondary);
75
- --color-secondary-foreground: var(--secondary-foreground);
76
-
77
- --color-destructive: var(--destructive);
78
- --color-destructive-foreground: var(--destructive-foreground);
79
-
80
- --color-muted: var(--muted);
81
- --color-muted-foreground: var(--muted-foreground);
82
-
83
- --color-accent: var(--accent);
84
- --color-accent-foreground: var(--accent-foreground);
85
-
86
- --color-popover: var(--popover);
87
- --color-popover-foreground: var(--popover-foreground);
88
-
89
- --color-card: var(--card);
90
- --color-card-foreground: var(--card-foreground);
91
-
92
- --color-sidebar: var(--sidebar-background);
93
- --color-sidebar-foreground: var(--sidebar-foreground);
94
- --color-sidebar-primary: var(--sidebar-primary);
95
- --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
96
- --color-sidebar-accent: var(--sidebar-accent);
97
- --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
98
- --color-sidebar-border: var(--sidebar-border);
99
- --color-sidebar-ring: var(--sidebar-ring);
100
-
101
- --radius-lg: var(--radius);
102
- --radius-md: calc(var(--radius) - 2px);
103
- --radius-sm: calc(var(--radius) - 4px);
104
-
105
- --animate-accordion-down: accordion-down 0.2s ease-out;
106
- --animate-accordion-up: accordion-up 0.2s ease-out;
107
-
108
- @keyframes accordion-down {
109
- from {
110
- height: 0;
111
- }
112
-
113
- to {
114
- height: var(--radix-accordion-content-height);
115
- }
116
- }
117
-
118
- @keyframes accordion-up {
119
- from {
120
- height: var(--radix-accordion-content-height);
121
- }
122
-
123
- to {
124
- height: 0;
125
- }
126
- }
127
- }
128
-
129
- @media (prefers-color-scheme: dark) {
130
- :root {
131
- --background: hsl(246 20% 6%);
132
- --foreground: hsl(0 0% 98%);
133
-
134
- --card: hsl(246 20% 8%);
135
- --card-foreground: hsl(0 0% 98%);
136
-
137
- --popover: hsl(246 20% 8%);
138
- --popover-foreground: hsl(0 0% 98%);
139
-
140
- --primary: hsl(246 80% 65%);
141
- --primary-foreground: hsl(0, 0%, 100%);
142
-
143
- --secondary: hsl(320 85% 60%);
144
- --secondary-foreground: hsl(0 0% 100%);
145
-
146
- --muted: hsl(246 20% 15%);
147
- --muted-foreground: hsl(246 10% 60%);
148
-
149
- --accent: hsl(320 85% 60%);
150
- --accent-foreground: hsl(0 0% 100%);
151
-
152
- --destructive: hsl(0 62.8% 30.6%);
153
- --destructive-foreground: hsl(0 0% 98%);
154
-
155
- --success: hsl(142.1 70.6% 45.3%);
156
- --success-foreground: hsl(246 80% 60%);
157
-
158
- --warning: hsl(48 96.5% 53.1%);
159
- --warning-foreground: hsl(246 80% 60%);
160
-
161
- --info: hsl(199.4 95.5% 53.8%);
162
- --info-foreground: hsl(246 80% 60%);
163
-
164
- --border: hsl(246 20% 18%);
165
- --input: hsl(246 20% 18%);
166
- --ring: hsl(246 80% 65%);
167
-
168
- --sidebar-background: hsl(246 20% 10%);
169
- --sidebar-foreground: hsl(0 0% 98%);
170
- --sidebar-primary: hsl(246 80% 65%);
171
- --sidebar-primary-foreground: hsl(246 20% 6%);
172
- --sidebar-accent: hsl(320 85% 60%);
173
- --sidebar-accent-foreground: hsl(0 0% 100%);
174
- --sidebar-border: hsl(246 20% 18%);
175
- --sidebar-ring: hsl(246 80% 65%);
176
- }
177
- }
178
-
179
- body {
180
- background: var(--background);
181
- color: var(--foreground);
182
- font-family: Arial, Helvetica, sans-serif;
183
- }
184
-
185
- .bg-gradient-brand {
186
- background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
1
+ /**
2
+ * @srcroot/ui - Violet Theme (Tailwind 4)
3
+ * Vibrant purple and magenta connected to the brand identity
4
+ */
5
+
6
+ @import "tailwindcss";
7
+
8
+ :root {
9
+ --background: hsl(0 0% 100%);
10
+ --foreground: hsl(246 80% 60%);
11
+
12
+ --card: hsl(0 0% 100%);
13
+ --card-foreground: hsl(246 80% 60%);
14
+
15
+ --popover: hsl(0 0% 100%);
16
+ --popover-foreground: hsl(246 80% 60%);
17
+
18
+ --primary: hsl(246 80% 60%);
19
+ --primary-foreground: hsl(0 0% 100%);
20
+
21
+ --secondary: hsl(320 85% 55%);
22
+ --secondary-foreground: hsl(0 0% 100%);
23
+
24
+ --muted: hsl(246 20% 96%);
25
+ --muted-foreground: hsl(246 10% 45%);
26
+
27
+ --accent: hsl(320 85% 55%);
28
+ --accent-foreground: hsl(0 0% 100%);
29
+
30
+ --destructive: hsl(0 84.2% 60.2%);
31
+ --destructive-foreground: hsl(0 0% 98%);
32
+
33
+ --success: hsl(142.1 76.2% 36.3%);
34
+ --success-foreground: hsl(0 0% 98%);
35
+
36
+ --warning: hsl(45.4 93.4% 47.5%);
37
+ --warning-foreground: hsl(246 80% 60%);
38
+
39
+ --info: hsl(201.3 96.3% 32.2%);
40
+ --info-foreground: hsl(0 0% 98%);
41
+
42
+ --border: hsl(246 15% 90%);
43
+ --input: hsl(246 15% 90%);
44
+ --ring: hsl(246 80% 60%);
45
+
46
+ --radius: 0.5rem;
47
+
48
+ --sidebar-width: 16rem;
49
+ --sidebar-width-mobile: 18rem;
50
+ --sidebar-width-collapsed: 3rem;
51
+ --sidebar-width-icon: 3rem;
52
+ --header-height: 3.5rem;
53
+
54
+ --sidebar-background: hsl(0 0% 98%);
55
+ --sidebar-foreground: hsl(246 80% 60%);
56
+ --sidebar-primary: hsl(246 80% 60%);
57
+ --sidebar-primary-foreground: hsl(0 0% 98%);
58
+ --sidebar-accent: hsl(320 85% 55%);
59
+ --sidebar-accent-foreground: hsl(0 0% 98%);
60
+ --sidebar-border: hsl(246 15% 90%);
61
+ --sidebar-ring: hsl(246 80% 60%);
62
+ }
63
+
64
+ @theme inline {
65
+ --color-border: var(--border);
66
+ --color-input: var(--input);
67
+ --color-ring: var(--ring);
68
+ --color-background: var(--background);
69
+ --color-foreground: var(--foreground);
70
+
71
+ --color-primary: var(--primary);
72
+ --color-primary-foreground: var(--primary-foreground);
73
+
74
+ --color-secondary: var(--secondary);
75
+ --color-secondary-foreground: var(--secondary-foreground);
76
+
77
+ --color-destructive: var(--destructive);
78
+ --color-destructive-foreground: var(--destructive-foreground);
79
+
80
+ --color-muted: var(--muted);
81
+ --color-muted-foreground: var(--muted-foreground);
82
+
83
+ --color-accent: var(--accent);
84
+ --color-accent-foreground: var(--accent-foreground);
85
+
86
+ --color-popover: var(--popover);
87
+ --color-popover-foreground: var(--popover-foreground);
88
+
89
+ --color-card: var(--card);
90
+ --color-card-foreground: var(--card-foreground);
91
+
92
+ --color-sidebar: var(--sidebar-background);
93
+ --color-sidebar-foreground: var(--sidebar-foreground);
94
+ --color-sidebar-primary: var(--sidebar-primary);
95
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
96
+ --color-sidebar-accent: var(--sidebar-accent);
97
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
98
+ --color-sidebar-border: var(--sidebar-border);
99
+ --color-sidebar-ring: var(--sidebar-ring);
100
+
101
+ --radius-lg: var(--radius);
102
+ --radius-md: calc(var(--radius) - 2px);
103
+ --radius-sm: calc(var(--radius) - 4px);
104
+
105
+ --animate-accordion-down: accordion-down 0.2s ease-out;
106
+ --animate-accordion-up: accordion-up 0.2s ease-out;
107
+
108
+ @keyframes accordion-down {
109
+ from {
110
+ height: 0;
111
+ }
112
+
113
+ to {
114
+ height: var(--radix-accordion-content-height);
115
+ }
116
+ }
117
+
118
+ @keyframes accordion-up {
119
+ from {
120
+ height: var(--radix-accordion-content-height);
121
+ }
122
+
123
+ to {
124
+ height: 0;
125
+ }
126
+ }
127
+ }
128
+
129
+ @media (prefers-color-scheme: dark) {
130
+ :root {
131
+ --background: hsl(246 20% 6%);
132
+ --foreground: hsl(0 0% 98%);
133
+
134
+ --card: hsl(246 20% 8%);
135
+ --card-foreground: hsl(0 0% 98%);
136
+
137
+ --popover: hsl(246 20% 8%);
138
+ --popover-foreground: hsl(0 0% 98%);
139
+
140
+ --primary: hsl(246 80% 65%);
141
+ --primary-foreground: hsl(0, 0%, 100%);
142
+
143
+ --secondary: hsl(320 85% 60%);
144
+ --secondary-foreground: hsl(0 0% 100%);
145
+
146
+ --muted: hsl(246 20% 15%);
147
+ --muted-foreground: hsl(246 10% 60%);
148
+
149
+ --accent: hsl(320 85% 60%);
150
+ --accent-foreground: hsl(0 0% 100%);
151
+
152
+ --destructive: hsl(0 62.8% 30.6%);
153
+ --destructive-foreground: hsl(0 0% 98%);
154
+
155
+ --success: hsl(142.1 70.6% 45.3%);
156
+ --success-foreground: hsl(246 80% 60%);
157
+
158
+ --warning: hsl(48 96.5% 53.1%);
159
+ --warning-foreground: hsl(246 80% 60%);
160
+
161
+ --info: hsl(199.4 95.5% 53.8%);
162
+ --info-foreground: hsl(246 80% 60%);
163
+
164
+ --border: hsl(246 20% 18%);
165
+ --input: hsl(246 20% 18%);
166
+ --ring: hsl(246 80% 65%);
167
+
168
+ --sidebar-background: hsl(246 20% 10%);
169
+ --sidebar-foreground: hsl(0 0% 98%);
170
+ --sidebar-primary: hsl(246 80% 65%);
171
+ --sidebar-primary-foreground: hsl(246 20% 6%);
172
+ --sidebar-accent: hsl(320 85% 60%);
173
+ --sidebar-accent-foreground: hsl(0 0% 100%);
174
+ --sidebar-border: hsl(246 20% 18%);
175
+ --sidebar-ring: hsl(246 80% 65%);
176
+ }
177
+ }
178
+
179
+ body {
180
+ background: var(--background);
181
+ color: var(--foreground);
182
+ font-family: Arial, Helvetica, sans-serif;
183
+ }
184
+
185
+ .bg-gradient-brand {
186
+ background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
187
187
  }
@@ -1,158 +1,158 @@
1
- /**
2
- * @srcroot/ui - Zinc Theme (Tailwind 3)
3
- * Cool gray with subtle blue undertones
4
- */
5
-
6
- @tailwind base;
7
- @tailwind components;
8
- @tailwind utilities;
9
-
10
- @layer base {
11
- :root {
12
- --background: 0 0% 100%;
13
- --foreground: 240 10% 3.9%;
14
-
15
- --card: 0 0% 100%;
16
- --card-foreground: 240 10% 3.9%;
17
-
18
- --popover: 0 0% 100%;
19
- --popover-foreground: 240 10% 3.9%;
20
-
21
- --primary: 240 5.9% 10%;
22
- --primary-foreground: 0 0% 98%;
23
-
24
- --secondary: 240 4.8% 95.9%;
25
- --secondary-foreground: 240 5.9% 10%;
26
-
27
- --muted: 240 4.8% 95.9%;
28
- --muted-foreground: 240 3.8% 46.1%;
29
-
30
- --accent: 240 4.8% 95.9%;
31
- --accent-foreground: 240 5.9% 10%;
32
-
33
- --destructive: 0 84.2% 60.2%;
34
- --destructive-foreground: 0 0% 98%;
35
-
36
- --success: 142.1 76.2% 36.3%;
37
- --success-foreground: 0 0% 98%;
38
-
39
- --warning: 45.4 93.4% 47.5%;
40
- --warning-foreground: 240 5.9% 10%;
41
-
42
- --info: 201.3 96.3% 32.2%;
43
- --info-foreground: 0 0% 98%;
44
-
45
- --border: 240 5.9% 90%;
46
- --input: 240 5.9% 90%;
47
- --ring: 240 10% 3.9%;
48
-
49
- --radius: 0.5rem;
50
-
51
- --sidebar-width: 16rem;
52
- --sidebar-width-mobile: 18rem;
53
- --sidebar-width-collapsed: 3rem;
54
- --sidebar-width-icon: 3rem;
55
- --header-height: 3.5rem;
56
-
57
- --sidebar-background: 0 0% 98%;
58
- --sidebar-foreground: 240 5.3% 26.1%;
59
- --sidebar-primary: 240 5.9% 10%;
60
- --sidebar-primary-foreground: 0 0% 98%;
61
- --sidebar-accent: 240 4.8% 95.9%;
62
- --sidebar-accent-foreground: 240 5.9% 10%;
63
- --sidebar-border: 220 13% 91%;
64
- --sidebar-ring: 217.2 91.2% 59.8%;
65
- }
66
-
67
- .dark {
68
- --background: 240 10% 3.9%;
69
- --foreground: 0 0% 98%;
70
-
71
- --card: 240 10% 3.9%;
72
- --card-foreground: 0 0% 98%;
73
-
74
- --popover: 240 10% 3.9%;
75
- --popover-foreground: 0 0% 98%;
76
-
77
- --primary: 0 0% 98%;
78
- --primary-foreground: 240 5.9% 10%;
79
-
80
- --secondary: 240 3.7% 15.9%;
81
- --secondary-foreground: 0 0% 98%;
82
-
83
- --muted: 240 3.7% 15.9%;
84
- --muted-foreground: 240 5% 64.9%;
85
-
86
- --accent: 240 3.7% 15.9%;
87
- --accent-foreground: 0 0% 98%;
88
-
89
- --destructive: 0 62.8% 30.6%;
90
- --destructive-foreground: 0 0% 98%;
91
-
92
- --success: 142.1 70.6% 45.3%;
93
- --success-foreground: 240 5.9% 10%;
94
-
95
- --warning: 48 96.5% 53.1%;
96
- --warning-foreground: 240 5.9% 10%;
97
-
98
- --info: 199.4 95.5% 53.8%;
99
- --info-foreground: 240 5.9% 10%;
100
-
101
- --border: 240 3.7% 15.9%;
102
- --input: 240 3.7% 15.9%;
103
- --ring: 240 4.9% 83.9%;
104
-
105
- --sidebar-background: 240 5.9% 10%;
106
- --sidebar-foreground: 240 4.8% 95.9%;
107
- --sidebar-primary: 224.3 76.3% 48%;
108
- --sidebar-primary-foreground: 0 0% 100%;
109
- --sidebar-accent: 240 3.7% 15.9%;
110
- --sidebar-accent-foreground: 240 4.8% 95.9%;
111
- --sidebar-border: 240 3.7% 15.9%;
112
- --sidebar-ring: 217.2 91.2% 59.8%;
113
- }
114
- }
115
-
116
- @layer base {
117
- * {
118
- @apply border-border;
119
- }
120
-
121
- body {
122
- @apply bg-background text-foreground;
123
- }
124
- }
125
-
126
- @layer utilities {
127
- @keyframes accordion-down {
128
- from {
129
- height: 0;
130
- }
131
-
132
- to {
133
- height: var(--radix-accordion-content-height);
134
- }
135
- }
136
-
137
- @keyframes accordion-up {
138
- from {
139
- height: var(--radix-accordion-content-height);
140
- }
141
-
142
- to {
143
- height: 0;
144
- }
145
- }
146
-
147
- .animate-accordion-down {
148
- animation: accordion-down 0.2s ease-out;
149
- }
150
-
151
- .animate-accordion-up {
152
- animation: accordion-up 0.2s ease-out;
153
- }
154
-
155
- .bg-gradient-brand {
156
- background: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--accent)) 100%);
157
- }
1
+ /**
2
+ * @srcroot/ui - Zinc Theme (Tailwind 3)
3
+ * Cool gray with subtle blue undertones
4
+ */
5
+
6
+ @tailwind base;
7
+ @tailwind components;
8
+ @tailwind utilities;
9
+
10
+ @layer base {
11
+ :root {
12
+ --background: 0 0% 100%;
13
+ --foreground: 240 10% 3.9%;
14
+
15
+ --card: 0 0% 100%;
16
+ --card-foreground: 240 10% 3.9%;
17
+
18
+ --popover: 0 0% 100%;
19
+ --popover-foreground: 240 10% 3.9%;
20
+
21
+ --primary: 240 5.9% 10%;
22
+ --primary-foreground: 0 0% 98%;
23
+
24
+ --secondary: 240 4.8% 95.9%;
25
+ --secondary-foreground: 240 5.9% 10%;
26
+
27
+ --muted: 240 4.8% 95.9%;
28
+ --muted-foreground: 240 3.8% 46.1%;
29
+
30
+ --accent: 240 4.8% 95.9%;
31
+ --accent-foreground: 240 5.9% 10%;
32
+
33
+ --destructive: 0 84.2% 60.2%;
34
+ --destructive-foreground: 0 0% 98%;
35
+
36
+ --success: 142.1 76.2% 36.3%;
37
+ --success-foreground: 0 0% 98%;
38
+
39
+ --warning: 45.4 93.4% 47.5%;
40
+ --warning-foreground: 240 5.9% 10%;
41
+
42
+ --info: 201.3 96.3% 32.2%;
43
+ --info-foreground: 0 0% 98%;
44
+
45
+ --border: 240 5.9% 90%;
46
+ --input: 240 5.9% 90%;
47
+ --ring: 240 10% 3.9%;
48
+
49
+ --radius: 0.5rem;
50
+
51
+ --sidebar-width: 16rem;
52
+ --sidebar-width-mobile: 18rem;
53
+ --sidebar-width-collapsed: 3rem;
54
+ --sidebar-width-icon: 3rem;
55
+ --header-height: 3.5rem;
56
+
57
+ --sidebar-background: 0 0% 98%;
58
+ --sidebar-foreground: 240 5.3% 26.1%;
59
+ --sidebar-primary: 240 5.9% 10%;
60
+ --sidebar-primary-foreground: 0 0% 98%;
61
+ --sidebar-accent: 240 4.8% 95.9%;
62
+ --sidebar-accent-foreground: 240 5.9% 10%;
63
+ --sidebar-border: 220 13% 91%;
64
+ --sidebar-ring: 217.2 91.2% 59.8%;
65
+ }
66
+
67
+ .dark {
68
+ --background: 240 10% 3.9%;
69
+ --foreground: 0 0% 98%;
70
+
71
+ --card: 240 10% 3.9%;
72
+ --card-foreground: 0 0% 98%;
73
+
74
+ --popover: 240 10% 3.9%;
75
+ --popover-foreground: 0 0% 98%;
76
+
77
+ --primary: 0 0% 98%;
78
+ --primary-foreground: 240 5.9% 10%;
79
+
80
+ --secondary: 240 3.7% 15.9%;
81
+ --secondary-foreground: 0 0% 98%;
82
+
83
+ --muted: 240 3.7% 15.9%;
84
+ --muted-foreground: 240 5% 64.9%;
85
+
86
+ --accent: 240 3.7% 15.9%;
87
+ --accent-foreground: 0 0% 98%;
88
+
89
+ --destructive: 0 62.8% 30.6%;
90
+ --destructive-foreground: 0 0% 98%;
91
+
92
+ --success: 142.1 70.6% 45.3%;
93
+ --success-foreground: 240 5.9% 10%;
94
+
95
+ --warning: 48 96.5% 53.1%;
96
+ --warning-foreground: 240 5.9% 10%;
97
+
98
+ --info: 199.4 95.5% 53.8%;
99
+ --info-foreground: 240 5.9% 10%;
100
+
101
+ --border: 240 3.7% 15.9%;
102
+ --input: 240 3.7% 15.9%;
103
+ --ring: 240 4.9% 83.9%;
104
+
105
+ --sidebar-background: 240 5.9% 10%;
106
+ --sidebar-foreground: 240 4.8% 95.9%;
107
+ --sidebar-primary: 224.3 76.3% 48%;
108
+ --sidebar-primary-foreground: 0 0% 100%;
109
+ --sidebar-accent: 240 3.7% 15.9%;
110
+ --sidebar-accent-foreground: 240 4.8% 95.9%;
111
+ --sidebar-border: 240 3.7% 15.9%;
112
+ --sidebar-ring: 217.2 91.2% 59.8%;
113
+ }
114
+ }
115
+
116
+ @layer base {
117
+ * {
118
+ @apply border-border;
119
+ }
120
+
121
+ body {
122
+ @apply bg-background text-foreground;
123
+ }
124
+ }
125
+
126
+ @layer utilities {
127
+ @keyframes accordion-down {
128
+ from {
129
+ height: 0;
130
+ }
131
+
132
+ to {
133
+ height: var(--radix-accordion-content-height);
134
+ }
135
+ }
136
+
137
+ @keyframes accordion-up {
138
+ from {
139
+ height: var(--radix-accordion-content-height);
140
+ }
141
+
142
+ to {
143
+ height: 0;
144
+ }
145
+ }
146
+
147
+ .animate-accordion-down {
148
+ animation: accordion-down 0.2s ease-out;
149
+ }
150
+
151
+ .animate-accordion-up {
152
+ animation: accordion-up 0.2s ease-out;
153
+ }
154
+
155
+ .bg-gradient-brand {
156
+ background: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--accent)) 100%);
157
+ }
158
158
  }