@admin-layout/tailwind-design-pro 10.0.9-alpha.4 → 10.0.9-alpha.6

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 (44) hide show
  1. package/lib/components/Layout/BasicLayout/index.d.ts.map +1 -1
  2. package/lib/components/Layout/BasicLayout/index.js +8 -22
  3. package/lib/components/Layout/BasicLayout/index.js.map +1 -1
  4. package/lib/components/Layout/GlobalHeader/Header.js +1 -1
  5. package/lib/components/Layout/ProTailwindLayout.d.ts +2 -0
  6. package/lib/components/Layout/ProTailwindLayout.d.ts.map +1 -1
  7. package/lib/components/Layout/ProTailwindLayout.js +19 -4
  8. package/lib/components/Layout/ProTailwindLayout.js.map +1 -1
  9. package/lib/components/Layout/slot-fill/AdditionalSettings.d.ts +4 -0
  10. package/lib/components/Layout/slot-fill/AdditionalSettings.d.ts.map +1 -0
  11. package/lib/components/Layout/slot-fill/AdditionalSettings.js +7 -0
  12. package/lib/components/Layout/slot-fill/AdditionalSettings.js.map +1 -0
  13. package/lib/components/Layout/slot-fill/index.d.ts +1 -0
  14. package/lib/components/Layout/slot-fill/index.d.ts.map +1 -1
  15. package/lib/components/SettingDrawer/SettingDrawer.d.ts.map +1 -1
  16. package/lib/components/SettingDrawer/SettingDrawer.js +21 -7
  17. package/lib/components/SettingDrawer/SettingDrawer.js.map +1 -1
  18. package/lib/components/SettingDrawer/ThemeColor.d.ts.map +1 -1
  19. package/lib/components/SettingDrawer/ThemeColor.js +3 -0
  20. package/lib/components/SettingDrawer/ThemeColor.js.map +1 -1
  21. package/lib/components/SettingDrawer/types.d.ts +11 -1
  22. package/lib/components/SettingDrawer/types.d.ts.map +1 -1
  23. package/lib/components/ThemeProvider/ThemeProvider.d.ts +18 -0
  24. package/lib/components/ThemeProvider/ThemeProvider.d.ts.map +1 -0
  25. package/lib/components/ThemeProvider/ThemeProvider.js +63 -0
  26. package/lib/components/ThemeProvider/ThemeProvider.js.map +1 -0
  27. package/lib/components/ThemeProvider/ThemeToggle.d.ts +7 -0
  28. package/lib/components/ThemeProvider/ThemeToggle.d.ts.map +1 -0
  29. package/lib/components/ThemeProvider/index.d.ts +7 -0
  30. package/lib/components/ThemeProvider/index.d.ts.map +1 -0
  31. package/lib/components/ThemeProvider/themeRegistry.d.ts +3 -0
  32. package/lib/components/ThemeProvider/themeRegistry.d.ts.map +1 -0
  33. package/lib/components/ThemeProvider/themeRegistry.js +388 -0
  34. package/lib/components/ThemeProvider/themeRegistry.js.map +1 -0
  35. package/lib/components/ThemeProvider/themeUtils.d.ts +26 -0
  36. package/lib/components/ThemeProvider/themeUtils.d.ts.map +1 -0
  37. package/lib/components/ThemeProvider/themeUtils.js +135 -0
  38. package/lib/components/ThemeProvider/themeUtils.js.map +1 -0
  39. package/lib/components/ThemeProvider/types.d.ts +112 -0
  40. package/lib/components/ThemeProvider/types.d.ts.map +1 -0
  41. package/lib/compute.js +20 -5
  42. package/lib/routes.json +42 -0
  43. package/lib/styles/index.css +438 -46
  44. package/package.json +2 -2
@@ -0,0 +1,112 @@
1
+ export interface ThemeColors {
2
+ light: {
3
+ background: string;
4
+ foreground: string;
5
+ card: string;
6
+ cardForeground: string;
7
+ popover: string;
8
+ popoverForeground: string;
9
+ primary: string;
10
+ primaryForeground: string;
11
+ secondary: string;
12
+ secondaryForeground: string;
13
+ muted: string;
14
+ mutedForeground: string;
15
+ accent: string;
16
+ accentForeground: string;
17
+ destructive: string;
18
+ destructiveForeground: string;
19
+ border: string;
20
+ input: string;
21
+ ring: string;
22
+ };
23
+ dark: {
24
+ background: string;
25
+ foreground: string;
26
+ card: string;
27
+ cardForeground: string;
28
+ popover: string;
29
+ popoverForeground: string;
30
+ primary: string;
31
+ primaryForeground: string;
32
+ secondary: string;
33
+ secondaryForeground: string;
34
+ muted: string;
35
+ mutedForeground: string;
36
+ accent: string;
37
+ accentForeground: string;
38
+ destructive: string;
39
+ destructiveForeground: string;
40
+ border: string;
41
+ input: string;
42
+ ring: string;
43
+ };
44
+ }
45
+ export interface ThemeFontSizes {
46
+ xs: string;
47
+ sm: string;
48
+ base: string;
49
+ lg: string;
50
+ xl: string;
51
+ '2xl': string;
52
+ '3xl': string;
53
+ '4xl': string;
54
+ '5xl': string;
55
+ }
56
+ export interface ThemeSpacing {
57
+ px: string;
58
+ 0: string;
59
+ 0.5: string;
60
+ 1: string;
61
+ 1.5: string;
62
+ 2: string;
63
+ 2.5: string;
64
+ 3: string;
65
+ 3.5: string;
66
+ 4: string;
67
+ 5: string;
68
+ 6: string;
69
+ 8: string;
70
+ 10: string;
71
+ 12: string;
72
+ 16: string;
73
+ 20: string;
74
+ 24: string;
75
+ 32: string;
76
+ 40: string;
77
+ 48: string;
78
+ 56: string;
79
+ 64: string;
80
+ }
81
+ export interface ThemeBorderRadius {
82
+ none: string;
83
+ sm: string;
84
+ DEFAULT: string;
85
+ md: string;
86
+ lg: string;
87
+ xl: string;
88
+ '2xl': string;
89
+ '3xl': string;
90
+ full: string;
91
+ }
92
+ export interface Theme {
93
+ name: string;
94
+ colors: ThemeColors;
95
+ fontSizes: ThemeFontSizes;
96
+ spacing: ThemeSpacing;
97
+ borderRadius: ThemeBorderRadius;
98
+ }
99
+ export interface ThemeOptions {
100
+ isDarkMode: boolean;
101
+ primaryColor?: string;
102
+ fontFamily?: string;
103
+ }
104
+ export interface ThemeSelectorProps {
105
+ value: string;
106
+ onChange: (value: string) => void;
107
+ options: {
108
+ key: string;
109
+ title: string;
110
+ }[];
111
+ }
112
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/ThemeProvider/types.ts"],"names":[],"mappings":"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"}
package/lib/compute.js CHANGED
@@ -1,4 +1,5 @@
1
- import {getFilteredMenus,getFilteredRoutes}from'@common-stack/client-react/lib/utils/filteredRoutes.js';const key = 'root-layout';
1
+ import { getFilteredMenus, getFilteredRoutes } from '@common-stack/client-react/lib/utils/filteredRoutes.js';
2
+ const key = 'root-layout';
2
3
  const antUIPage = [{
3
4
  key: key,
4
5
  name: 'root layout',
@@ -6,17 +7,31 @@ const antUIPage = [{
6
7
  auth: 'optional',
7
8
  extraPermissions: ['*'],
8
9
  exact: false,
9
- component: () => import('./components/Layout/ProTailwindLayout.js')
10
+ componentPath: "@admin-layout/tailwind-design-pro/lib/components/Layout/ProTailwindLayout.js",
11
+ hasLoader: true,
12
+ hasClientLoader: true,
13
+ hasComponent: true,
14
+ hasLinks: true,
15
+ hasShouldRevalidate: true,
16
+ hasHandle: true,
17
+ loaderReturnInfo: {
18
+ returnType: "json",
19
+ hasOptions: false,
20
+ keys: ["newMenuData", "apolloState"]
21
+ }
10
22
  }, {
11
23
  key: 'update-settings-resource',
12
24
  hasServerCode: true,
13
25
  name: 'UpdateSettingsResource',
14
26
  isResourceRoute: true,
15
27
  auth: false,
16
- component: () => import('./components/UpdateSettingsResource/UpdateSettingsResource.js'),
17
- path: '/resources/settings'
28
+ path: '/resources/settings',
29
+ componentPath: "@admin-layout/tailwind-design-pro/lib/components/UpdateSettingsResource/UpdateSettingsResource.js",
30
+ hasLoader: true,
31
+ hasAction: true
18
32
  }];
19
33
  // get menus
20
34
  getFilteredMenus(antUIPage);
21
35
  // get routes
22
- const filteredRoutes = getFilteredRoutes(antUIPage);export{filteredRoutes};//# sourceMappingURL=compute.js.map
36
+ const filteredRoutes = getFilteredRoutes(antUIPage);
37
+ export { filteredRoutes }; //# sourceMappingURL=compute.js.map
@@ -0,0 +1,42 @@
1
+ [
2
+ {
3
+ "/o/:orgName": {
4
+ "key": "root-layout",
5
+ "name": "root layout",
6
+ "path": "/o/:orgName",
7
+ "auth": "optional",
8
+ "extraPermissions": [
9
+ "*"
10
+ ],
11
+ "exact": false,
12
+ "componentPath": "@admin-layout/tailwind-design-pro/lib/components/Layout/ProTailwindLayout.js",
13
+ "hasLoader": true,
14
+ "hasClientLoader": true,
15
+ "hasComponent": true,
16
+ "hasLinks": true,
17
+ "hasShouldRevalidate": true,
18
+ "hasHandle": true,
19
+ "loaderReturnInfo": {
20
+ "returnType": "json",
21
+ "hasOptions": false,
22
+ "keys": [
23
+ "newMenuData",
24
+ "apolloState"
25
+ ]
26
+ }
27
+ }
28
+ },
29
+ {
30
+ "/resources/settings": {
31
+ "key": "update-settings-resource",
32
+ "hasServerCode": true,
33
+ "name": "UpdateSettingsResource",
34
+ "isResourceRoute": true,
35
+ "auth": false,
36
+ "path": "/resources/settings",
37
+ "componentPath": "@admin-layout/tailwind-design-pro/lib/components/UpdateSettingsResource/UpdateSettingsResource.js",
38
+ "hasLoader": true,
39
+ "hasAction": true
40
+ }
41
+ }
42
+ ]
@@ -3,49 +3,441 @@
3
3
  @tailwind components;
4
4
  @tailwind utilities;
5
5
 
6
- @layer base {
7
- :root {
8
- --background: 0 0% 100%;
9
- --foreground: 222.2 84% 4.9%;
10
- --card: 0 0% 100%;
11
- --card-foreground: 222.2 84% 4.9%;
12
- --popover: 0 0% 100%;
13
- --popover-foreground: 222.2 84% 4.9%;
14
- --primary: 221.2 83.2% 53.3%;
15
- --primary-foreground: 210 40% 98%;
16
- --secondary: 210 40% 96.1%;
17
- --secondary-foreground: 222.2 47.4% 11.2%;
18
- --muted: 210 40% 96.1%;
19
- --muted-foreground: 215.4 16.3% 46.9%;
20
- --accent: 210 40% 96.1%;
21
- --accent-foreground: 222.2 47.4% 11.2%;
22
- --destructive: 0 84.2% 60.2%;
23
- --destructive-foreground: 210 40% 98%;
24
- --border: 214.3 31.8% 91.4%;
25
- --input: 214.3 31.8% 91.4%;
26
- --ring: 221.2 83.2% 53.3%;
27
- --radius: 0.5rem;
28
- }
29
-
30
- .dark {
31
- --background: 222.2 84% 4.9%;
32
- --foreground: 210 40% 98%;
33
- --card: 222.2 84% 4.9%;
34
- --card-foreground: 210 40% 98%;
35
- --popover: 222.2 84% 4.9%;
36
- --popover-foreground: 210 40% 98%;
37
- --primary: 217.2 91.2% 59.8%;
38
- --primary-foreground: 222.2 47.4% 11.2%;
39
- --secondary: 217.2 32.6% 17.5%;
40
- --secondary-foreground: 210 40% 98%;
41
- --muted: 217.2 32.6% 17.5%;
42
- --muted-foreground: 215 20.2% 65.1%;
43
- --accent: 217.2 32.6% 17.5%;
44
- --accent-foreground: 210 40% 98%;
45
- --destructive: 0 62.8% 30.6%;
46
- --destructive-foreground: 210 40% 98%;
47
- --border: 217.2 32.6% 17.5%;
48
- --input: 217.2 32.6% 17.5%;
49
- --ring: 224.3 76.3% 48%;
50
- }
51
- }
6
+ /* Base theme variables */
7
+ :root {
8
+ /* Theme colors */
9
+ --background: 0 0% 100%;
10
+ --foreground: 222.2 84% 4.9%;
11
+ --card: 0 0% 100%;
12
+ --card-foreground: 222.2 84% 4.9%;
13
+ --popover: 0 0% 100%;
14
+ --popover-foreground: 222.2 84% 4.9%;
15
+ --primary: 221.2 83.2% 53.3%;
16
+ --primary-foreground: 210 40% 98%;
17
+ --secondary: 210 40% 96.1%;
18
+ --secondary-foreground: 222.2 47.4% 11.2%;
19
+ --muted: 210 40% 96.1%;
20
+ --muted-foreground: 215.4 16.3% 46.9%;
21
+ --accent: 210 40% 96.1%;
22
+ --accent-foreground: 222.2 47.4% 11.2%;
23
+ --destructive: 0 84.2% 60.2%;
24
+ --destructive-foreground: 210 40% 98%;
25
+ --border: 214.3 31.8% 91.4%;
26
+ --input: 214.3 31.8% 91.4%;
27
+ --ring: 221.2 83.2% 53.3%;
28
+ --radius: 0.5rem;
29
+
30
+ /* Fonts */
31
+ --font-family: 'Inter', sans-serif;
32
+
33
+ /* Font sizes */
34
+ --font-size-xs: 0.75rem;
35
+ --font-size-sm: 0.875rem;
36
+ --font-size-base: 1rem;
37
+ --font-size-lg: 1.125rem;
38
+ --font-size-xl: 1.25rem;
39
+ --font-size-2xl: 1.5rem;
40
+ --font-size-3xl: 1.875rem;
41
+ --font-size-4xl: 2.25rem;
42
+ --font-size-5xl: 3rem;
43
+
44
+ /* Spacing */
45
+ --spacing-px: 1px;
46
+ --spacing-0: 0;
47
+ --spacing-0_5: 0.125rem;
48
+ --spacing-1: 0.25rem;
49
+ --spacing-1_5: 0.375rem;
50
+ --spacing-2: 0.5rem;
51
+ --spacing-2_5: 0.625rem;
52
+ --spacing-3: 0.75rem;
53
+ --spacing-3_5: 0.875rem;
54
+ --spacing-4: 1rem;
55
+ --spacing-5: 1.25rem;
56
+ --spacing-6: 1.5rem;
57
+ --spacing-8: 2rem;
58
+ --spacing-10: 2.5rem;
59
+ --spacing-12: 3rem;
60
+ --spacing-16: 4rem;
61
+ --spacing-20: 5rem;
62
+ --spacing-24: 6rem;
63
+ --spacing-32: 8rem;
64
+ --spacing-40: 10rem;
65
+ --spacing-48: 12rem;
66
+ --spacing-56: 14rem;
67
+ --spacing-64: 16rem;
68
+
69
+ /* Border radius */
70
+ --radius-none: 0;
71
+ --radius-sm: 0.125rem;
72
+ --radius-default: 0.25rem;
73
+ --radius-md: 0.375rem;
74
+ --radius-lg: 0.5rem;
75
+ --radius-xl: 0.75rem;
76
+ --radius-2xl: 1rem;
77
+ --radius-3xl: 1.5rem;
78
+ --radius-full: 9999px;
79
+ }
80
+
81
+ /* Dark mode theme variables */
82
+ .dark {
83
+ --background: 222.2 84% 4.9%;
84
+ --foreground: 210 40% 98%;
85
+ --card: 222.2 84% 4.9%;
86
+ --card-foreground: 210 40% 98%;
87
+ --popover: 222.2 84% 4.9%;
88
+ --popover-foreground: 210 40% 98%;
89
+ --primary: 217.2 91.2% 59.8%;
90
+ --primary-foreground: 222.2 47.4% 11.2%;
91
+ --secondary: 217.2 32.6% 17.5%;
92
+ --secondary-foreground: 210 40% 98%;
93
+ --muted: 217.2 32.6% 17.5%;
94
+ --muted-foreground: 215 20.2% 65.1%;
95
+ --accent: 217.2 32.6% 17.5%;
96
+ --accent-foreground: 210 40% 98%;
97
+ --destructive: 0 62.8% 30.6%;
98
+ --destructive-foreground: 210 40% 98%;
99
+ --border: 217.2 32.6% 17.5%;
100
+ --input: 217.2 32.6% 17.5%;
101
+ --ring: 224.3 76.3% 48%;
102
+ }
103
+
104
+ /* Theme color utilities */
105
+ .bg-background {
106
+ background-color: hsl(var(--background)) !important;
107
+ }
108
+
109
+ .text-foreground {
110
+ color: hsl(var(--foreground)) !important;
111
+ }
112
+
113
+ .bg-card {
114
+ background-color: hsl(var(--card)) !important;
115
+ }
116
+
117
+ .text-card-foreground {
118
+ color: hsl(var(--card-foreground)) !important;
119
+ }
120
+
121
+ .bg-popover {
122
+ background-color: hsl(var(--popover)) !important;
123
+ }
124
+
125
+ .text-popover-foreground {
126
+ color: hsl(var(--popover-foreground)) !important;
127
+ }
128
+
129
+ .bg-primary {
130
+ background-color: hsl(var(--primary)) !important;
131
+ }
132
+
133
+ .text-primary {
134
+ color: hsl(var(--primary)) !important;
135
+ }
136
+
137
+ .border-primary {
138
+ border-color: hsl(var(--primary)) !important;
139
+ }
140
+
141
+ .ring-primary {
142
+ --tw-ring-color: hsl(var(--primary)) !important;
143
+ }
144
+
145
+ .hover\:bg-primary:hover {
146
+ background-color: hsl(var(--primary)) !important;
147
+ }
148
+
149
+ .hover\:text-primary:hover {
150
+ color: hsl(var(--primary)) !important;
151
+ }
152
+
153
+ .text-primary-foreground {
154
+ color: hsl(var(--primary-foreground)) !important;
155
+ }
156
+
157
+ .bg-secondary {
158
+ background-color: hsl(var(--secondary)) !important;
159
+ }
160
+
161
+ .text-secondary {
162
+ color: hsl(var(--secondary)) !important;
163
+ }
164
+
165
+ .border-secondary {
166
+ border-color: hsl(var(--secondary)) !important;
167
+ }
168
+
169
+ .text-secondary-foreground {
170
+ color: hsl(var(--secondary-foreground)) !important;
171
+ }
172
+
173
+ .bg-muted {
174
+ background-color: hsl(var(--muted)) !important;
175
+ }
176
+
177
+ .text-muted {
178
+ color: hsl(var(--muted)) !important;
179
+ }
180
+
181
+ .text-muted-foreground {
182
+ color: hsl(var(--muted-foreground)) !important;
183
+ }
184
+
185
+ .bg-accent {
186
+ background-color: hsl(var(--accent)) !important;
187
+ }
188
+
189
+ .text-accent {
190
+ color: hsl(var(--accent)) !important;
191
+ }
192
+
193
+ .text-accent-foreground {
194
+ color: hsl(var(--accent-foreground)) !important;
195
+ }
196
+
197
+ .bg-destructive {
198
+ background-color: hsl(var(--destructive)) !important;
199
+ }
200
+
201
+ .text-destructive {
202
+ color: hsl(var(--destructive)) !important;
203
+ }
204
+
205
+ .text-destructive-foreground {
206
+ color: hsl(var(--destructive-foreground)) !important;
207
+ }
208
+
209
+ .border-border {
210
+ border-color: hsl(var(--border)) !important;
211
+ }
212
+
213
+ .border-input {
214
+ border-color: hsl(var(--input)) !important;
215
+ }
216
+
217
+ .focus-ring {
218
+ outline: 2px solid hsl(var(--ring));
219
+ outline-offset: 2px;
220
+ }
221
+
222
+ /* Font family utility */
223
+ .font-sans {
224
+ font-family: var(--font-family) !important;
225
+ }
226
+
227
+ /* Border radius utilities */
228
+ .rounded-none {
229
+ border-radius: var(--radius-none) !important;
230
+ }
231
+
232
+ .rounded-sm {
233
+ border-radius: var(--radius-sm) !important;
234
+ }
235
+
236
+ .rounded {
237
+ border-radius: var(--radius-default) !important;
238
+ }
239
+
240
+ .rounded-md {
241
+ border-radius: var(--radius-md) !important;
242
+ }
243
+
244
+ .rounded-lg {
245
+ border-radius: var(--radius-lg) !important;
246
+ }
247
+
248
+ .rounded-xl {
249
+ border-radius: var(--radius-xl) !important;
250
+ }
251
+
252
+ .rounded-2xl {
253
+ border-radius: var(--radius-2xl) !important;
254
+ }
255
+
256
+ .rounded-3xl {
257
+ border-radius: var(--radius-3xl) !important;
258
+ }
259
+
260
+ .rounded-full {
261
+ border-radius: var(--radius-full) !important;
262
+ }
263
+
264
+ /* Font size utilities */
265
+ .text-xs {
266
+ font-size: var(--font-size-xs) !important;
267
+ }
268
+
269
+ .text-sm {
270
+ font-size: var(--font-size-sm) !important;
271
+ }
272
+
273
+ .text-base {
274
+ font-size: var(--font-size-base) !important;
275
+ }
276
+
277
+ .text-lg {
278
+ font-size: var(--font-size-lg) !important;
279
+ }
280
+
281
+ .text-xl {
282
+ font-size: var(--font-size-xl) !important;
283
+ }
284
+
285
+ .text-2xl {
286
+ font-size: var(--font-size-2xl) !important;
287
+ }
288
+
289
+ .text-3xl {
290
+ font-size: var(--font-size-3xl) !important;
291
+ }
292
+
293
+ .text-4xl {
294
+ font-size: var(--font-size-4xl) !important;
295
+ }
296
+
297
+ .text-5xl {
298
+ font-size: var(--font-size-5xl) !important;
299
+ }
300
+
301
+ /* Button styles */
302
+ .btn {
303
+ display: inline-flex;
304
+ align-items: center;
305
+ justify-content: center;
306
+ border-radius: var(--radius-md);
307
+ font-weight: 500;
308
+ transition-property: color, background-color, border-color;
309
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
310
+ transition-duration: 150ms;
311
+ padding: 0.5rem 1rem;
312
+ font-family: var(--font-family);
313
+ }
314
+
315
+ .btn-primary {
316
+ background-color: hsl(var(--primary));
317
+ color: hsl(var(--primary-foreground));
318
+ }
319
+
320
+ .btn-primary:hover {
321
+ background-color: hsl(var(--primary) / 0.9);
322
+ }
323
+
324
+ .btn-secondary {
325
+ background-color: hsl(var(--secondary));
326
+ color: hsl(var(--secondary-foreground));
327
+ }
328
+
329
+ .btn-secondary:hover {
330
+ background-color: hsl(var(--secondary) / 0.9);
331
+ }
332
+
333
+ .btn-accent {
334
+ background-color: hsl(var(--accent));
335
+ color: hsl(var(--accent-foreground));
336
+ }
337
+
338
+ .btn-accent:hover {
339
+ background-color: hsl(var(--accent) / 0.9);
340
+ }
341
+
342
+ .btn-destructive {
343
+ background-color: hsl(var(--destructive));
344
+ color: hsl(var(--destructive-foreground));
345
+ }
346
+
347
+ .btn-destructive:hover {
348
+ background-color: hsl(var(--destructive) / 0.9);
349
+ }
350
+
351
+ .btn-outline {
352
+ border: 1px solid hsl(var(--input));
353
+ background-color: transparent;
354
+ color: hsl(var(--foreground));
355
+ }
356
+
357
+ .btn-outline:hover {
358
+ background-color: hsl(var(--accent));
359
+ color: hsl(var(--accent-foreground));
360
+ }
361
+
362
+ /* Card styles */
363
+ .card {
364
+ background-color: hsl(var(--card));
365
+ color: hsl(var(--card-foreground));
366
+ border-radius: var(--radius-lg);
367
+ box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
368
+ }
369
+
370
+ /* Form input styles */
371
+ .input {
372
+ display: block;
373
+ width: 100%;
374
+ padding: 0.5rem;
375
+ border-radius: var(--radius-md);
376
+ border: 1px solid hsl(var(--input));
377
+ background-color: transparent;
378
+ color: hsl(var(--foreground));
379
+ font-family: var(--font-family);
380
+ font-size: var(--font-size-base);
381
+ }
382
+
383
+ .input:focus {
384
+ outline: 2px solid hsl(var(--ring));
385
+ outline-offset: 2px;
386
+ }
387
+
388
+ /* Menu and navbar styles */
389
+ .menu {
390
+ list-style: none;
391
+ padding: 0;
392
+ margin: 0;
393
+ font-family: var(--font-family);
394
+ }
395
+
396
+ .menu-item {
397
+ padding: 0.5rem 1rem;
398
+ border-radius: var(--radius-md);
399
+ color: hsl(var(--foreground));
400
+ transition-property: color, background-color;
401
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
402
+ transition-duration: 150ms;
403
+ }
404
+
405
+ .menu-item:hover {
406
+ background-color: hsl(var(--accent));
407
+ color: hsl(var(--accent-foreground));
408
+ }
409
+
410
+ .menu-item.active {
411
+ background-color: hsl(var(--primary));
412
+ color: hsl(var(--primary-foreground));
413
+ }
414
+
415
+ /* Navbar styles */
416
+ .navbar {
417
+ background-color: hsl(var(--background));
418
+ border-bottom: 1px solid hsl(var(--border));
419
+ padding: 0.75rem 1rem;
420
+ display: flex;
421
+ align-items: center;
422
+ font-family: var(--font-family);
423
+ }
424
+
425
+ /* Sidebar styles */
426
+ .sidebar {
427
+ background-color: hsl(var(--card));
428
+ border-right: 1px solid hsl(var(--border));
429
+ font-family: var(--font-family);
430
+ }
431
+
432
+ /* Utility for transitions */
433
+ .transition-colors {
434
+ transition-property: color, background-color, border-color;
435
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
436
+ transition-duration: 150ms;
437
+ }
438
+
439
+ .transition-all {
440
+ transition-property: all;
441
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
442
+ transition-duration: 150ms;
443
+ }