@principal-ade/industry-theme 0.1.2

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 (46) hide show
  1. package/dist/cjs/ThemeProvider.d.ts +19 -0
  2. package/dist/cjs/ThemeProvider.d.ts.map +1 -0
  3. package/dist/cjs/ThemeShowcase.d.ts +24 -0
  4. package/dist/cjs/ThemeShowcase.d.ts.map +1 -0
  5. package/dist/cjs/defaultThemes.d.ts +8 -0
  6. package/dist/cjs/defaultThemes.d.ts.map +1 -0
  7. package/dist/cjs/glassmorphismTheme.d.ts +7 -0
  8. package/dist/cjs/glassmorphismTheme.d.ts.map +1 -0
  9. package/dist/cjs/index.d.ts +130 -0
  10. package/dist/cjs/index.d.ts.map +1 -0
  11. package/dist/cjs/index.js +1798 -0
  12. package/dist/cjs/package.json +1 -0
  13. package/dist/cjs/themeHelpers.d.ts +30 -0
  14. package/dist/cjs/themeHelpers.d.ts.map +1 -0
  15. package/dist/cjs/themes.d.ts +12 -0
  16. package/dist/cjs/themes.d.ts.map +1 -0
  17. package/dist/cjs/utils.d.ts +32 -0
  18. package/dist/cjs/utils.d.ts.map +1 -0
  19. package/dist/esm/ThemeProvider.d.ts +19 -0
  20. package/dist/esm/ThemeProvider.d.ts.map +1 -0
  21. package/dist/esm/ThemeShowcase.d.ts +24 -0
  22. package/dist/esm/ThemeShowcase.d.ts.map +1 -0
  23. package/dist/esm/defaultThemes.d.ts +8 -0
  24. package/dist/esm/defaultThemes.d.ts.map +1 -0
  25. package/dist/esm/glassmorphismTheme.d.ts +7 -0
  26. package/dist/esm/glassmorphismTheme.d.ts.map +1 -0
  27. package/dist/esm/index.d.ts +130 -0
  28. package/dist/esm/index.d.ts.map +1 -0
  29. package/dist/esm/index.js +1753 -0
  30. package/dist/esm/package.json +1 -0
  31. package/dist/esm/themeHelpers.d.ts +30 -0
  32. package/dist/esm/themeHelpers.d.ts.map +1 -0
  33. package/dist/esm/themes.d.ts +12 -0
  34. package/dist/esm/themes.d.ts.map +1 -0
  35. package/dist/esm/utils.d.ts +32 -0
  36. package/dist/esm/utils.d.ts.map +1 -0
  37. package/package.json +64 -0
  38. package/src/README.md +134 -0
  39. package/src/ThemeProvider.tsx +117 -0
  40. package/src/ThemeShowcase.tsx +442 -0
  41. package/src/defaultThemes.ts +369 -0
  42. package/src/glassmorphismTheme.ts +213 -0
  43. package/src/index.ts +230 -0
  44. package/src/themeHelpers.ts +106 -0
  45. package/src/themes.ts +746 -0
  46. package/src/utils.ts +135 -0
@@ -0,0 +1,369 @@
1
+ /**
2
+ * Collection of default themes for PrincipleMD
3
+ */
4
+
5
+ import { Theme } from './index';
6
+
7
+ // Default theme for rendered markdown
8
+ export const defaultMarkdownTheme: Theme = {
9
+ // Spacing scale
10
+ space: [0, 4, 8, 16, 32, 64, 128, 256, 512],
11
+
12
+ // Typography
13
+ fonts: {
14
+ body: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
15
+ heading: '"Crimson Text", "Georgia", "Times New Roman", serif',
16
+ monospace: '"Fira Code", "SF Mono", Monaco, Inconsolata, monospace',
17
+ },
18
+ fontSizes: [12, 14, 16, 18, 20, 24, 32, 48, 64, 96],
19
+ fontScale: 1.0,
20
+ fontWeights: {
21
+ body: 400,
22
+ heading: 600,
23
+ bold: 700,
24
+ light: 300,
25
+ medium: 500,
26
+ semibold: 600,
27
+ },
28
+ lineHeights: {
29
+ body: 1.6,
30
+ heading: 1.3,
31
+ tight: 1.25,
32
+ relaxed: 1.75,
33
+ },
34
+
35
+ // Layout
36
+ breakpoints: ['640px', '768px', '1024px', '1280px'],
37
+ sizes: [16, 32, 64, 128, 256, 512, 768, 1024, 1536],
38
+ radii: [0, 2, 4, 6, 8, 12, 16, 24],
39
+ shadows: [
40
+ 'none',
41
+ '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)',
42
+ '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)',
43
+ '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
44
+ '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)',
45
+ '0 25px 50px -12px rgba(0, 0, 0, 0.25)',
46
+ ],
47
+ zIndices: [0, 1, 10, 20, 30, 40, 50],
48
+
49
+ // Colors - Light, high-contrast theme
50
+ colors: {
51
+ text: '#1a1a1a',
52
+ background: '#ffffff',
53
+ primary: '#007acc',
54
+ secondary: '#005a9e',
55
+ accent: '#1a1a1a',
56
+ highlight: 'rgba(0, 122, 204, 0.1)',
57
+ muted: '#f0f0f0',
58
+ success: '#28a745',
59
+ warning: '#ffc107',
60
+ error: '#dc3545',
61
+ info: '#17a2b8',
62
+ border: 'rgba(0, 0, 0, 0.1)',
63
+ backgroundSecondary: '#f8f9fa',
64
+ backgroundTertiary: '#e9ecef',
65
+ backgroundLight: 'rgba(0, 0, 0, 0.03)',
66
+ backgroundHover: 'rgba(0, 0, 0, 0.05)',
67
+ surface: '#ffffff',
68
+ textSecondary: '#555555',
69
+ textTertiary: '#888888',
70
+ textMuted: '#aaaaaa',
71
+ highlightBg: 'rgba(255, 235, 59, 0.3)',
72
+ highlightBorder: 'rgba(255, 235, 59, 0.6)',
73
+ },
74
+
75
+ // Component variants
76
+ buttons: {
77
+ primary: {
78
+ color: 'white',
79
+ bg: 'primary',
80
+ '&:hover': { bg: 'secondary' },
81
+ },
82
+ secondary: {
83
+ color: 'primary',
84
+ bg: 'transparent',
85
+ borderWidth: 1,
86
+ borderStyle: 'solid',
87
+ borderColor: 'primary',
88
+ '&:hover': { bg: 'highlight' },
89
+ },
90
+ ghost: {
91
+ color: 'text',
92
+ bg: 'transparent',
93
+ '&:hover': { bg: 'backgroundHover' },
94
+ },
95
+ },
96
+ text: {
97
+ heading: {
98
+ fontFamily: 'heading',
99
+ fontWeight: 'heading',
100
+ lineHeight: 'heading',
101
+ },
102
+ body: {
103
+ fontFamily: 'body',
104
+ fontWeight: 'body',
105
+ lineHeight: 'body',
106
+ },
107
+ caption: {
108
+ fontSize: 1,
109
+ color: 'textSecondary',
110
+ },
111
+ },
112
+ cards: {
113
+ primary: {
114
+ bg: 'surface',
115
+ border: '1px solid',
116
+ borderColor: 'border',
117
+ borderRadius: 2,
118
+ },
119
+ secondary: {
120
+ bg: 'backgroundSecondary',
121
+ border: '1px solid',
122
+ borderColor: 'border',
123
+ borderRadius: 2,
124
+ },
125
+ },
126
+ };
127
+
128
+ // Default theme for terminals
129
+ export const defaultTerminalTheme: Theme = {
130
+ // Spacing scale
131
+ space: [0, 4, 8, 16, 32, 64, 128, 256, 512],
132
+
133
+ // Typography
134
+ fonts: {
135
+ body: '"Courier New", Courier, monospace',
136
+ heading: '"Courier New", Courier, monospace',
137
+ monospace: '"Courier New", Courier, monospace',
138
+ },
139
+ fontSizes: [12, 14, 16, 18, 20, 24, 32, 48, 64, 96],
140
+ fontScale: 1.0,
141
+ fontWeights: {
142
+ body: 400,
143
+ heading: 500,
144
+ bold: 600,
145
+ light: 300,
146
+ medium: 500,
147
+ semibold: 600,
148
+ },
149
+ lineHeights: {
150
+ body: 1.4,
151
+ heading: 1.2,
152
+ tight: 1.3,
153
+ relaxed: 1.6,
154
+ },
155
+
156
+ // Layout
157
+ breakpoints: ['640px', '768px', '1024px', '1280px'],
158
+ sizes: [16, 32, 64, 128, 256, 512, 768, 1024, 1536],
159
+ radii: [0, 2, 4, 6, 8, 12, 16, 24],
160
+ shadows: [
161
+ 'none',
162
+ '0 0 5px rgba(255, 193, 7, 0.1)',
163
+ '0 0 10px rgba(255, 193, 7, 0.15)',
164
+ '0 0 15px rgba(255, 193, 7, 0.2)',
165
+ '0 0 20px rgba(255, 193, 7, 0.25)',
166
+ '0 0 30px rgba(255, 193, 7, 0.3)',
167
+ ],
168
+ zIndices: [0, 1, 10, 20, 30, 40, 50],
169
+
170
+ // Colors - Amber on black retro terminal
171
+ colors: {
172
+ text: '#ffc107',
173
+ background: '#000000',
174
+ primary: '#ffc107',
175
+ secondary: '#ffb300',
176
+ accent: '#ffffff',
177
+ highlight: 'rgba(255, 193, 7, 0.1)',
178
+ muted: '#1a1a1a',
179
+ success: '#4caf50',
180
+ warning: '#ff9800',
181
+ error: '#f44336',
182
+ info: '#2196f3',
183
+ border: 'rgba(255, 193, 7, 0.2)',
184
+ backgroundSecondary: '#0a0a0a',
185
+ backgroundTertiary: '#111111',
186
+ backgroundLight: 'rgba(255, 193, 7, 0.03)',
187
+ backgroundHover: 'rgba(255, 193, 7, 0.05)',
188
+ surface: '#050505',
189
+ textSecondary: '#e0e0e0',
190
+ textTertiary: '#b0b0b0',
191
+ textMuted: '#808080',
192
+ highlightBg: 'rgba(255, 193, 7, 0.2)',
193
+ highlightBorder: 'rgba(255, 193, 7, 0.4)',
194
+ },
195
+
196
+ // Component variants
197
+ buttons: {
198
+ primary: {
199
+ color: 'black',
200
+ bg: 'primary',
201
+ borderWidth: 0,
202
+ '&:hover': { bg: 'secondary' },
203
+ },
204
+ secondary: {
205
+ color: 'primary',
206
+ bg: 'transparent',
207
+ borderWidth: 1,
208
+ borderStyle: 'solid',
209
+ borderColor: 'primary',
210
+ '&:hover': { bg: 'highlight' },
211
+ },
212
+ ghost: {
213
+ color: 'text',
214
+ bg: 'transparent',
215
+ '&:hover': { bg: 'backgroundHover' },
216
+ },
217
+ },
218
+ text: {
219
+ heading: {
220
+ fontFamily: 'heading',
221
+ fontWeight: 'heading',
222
+ lineHeight: 'heading',
223
+ },
224
+ body: {
225
+ fontFamily: 'body',
226
+ fontWeight: 'body',
227
+ lineHeight: 'body',
228
+ },
229
+ caption: {
230
+ fontSize: 1,
231
+ color: 'textSecondary',
232
+ },
233
+ },
234
+ cards: {
235
+ primary: {
236
+ bg: 'surface',
237
+ border: '1px solid',
238
+ borderColor: 'border',
239
+ borderRadius: 0,
240
+ },
241
+ secondary: {
242
+ bg: 'backgroundSecondary',
243
+ border: '1px solid',
244
+ borderColor: 'border',
245
+ borderRadius: 0,
246
+ },
247
+ },
248
+ };
249
+
250
+ // Default theme for file editors
251
+ export const defaultEditorTheme: Theme = {
252
+ // Spacing scale
253
+ space: [0, 4, 8, 16, 32, 64, 128, 256, 512],
254
+
255
+ // Typography
256
+ fonts: {
257
+ body: '"Fira Code", "SF Mono", Monaco, Inconsolata, monospace',
258
+ heading: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
259
+ monospace: '"Fira Code", "SF Mono", Monaco, Inconsolata, monospace',
260
+ },
261
+ fontSizes: [12, 14, 16, 18, 20, 24, 32, 48, 64, 96],
262
+ fontScale: 1.0,
263
+ fontWeights: {
264
+ body: 400,
265
+ heading: 600,
266
+ bold: 700,
267
+ light: 300,
268
+ medium: 500,
269
+ semibold: 600,
270
+ },
271
+ lineHeights: {
272
+ body: 1.5,
273
+ heading: 1.2,
274
+ tight: 1.3,
275
+ relaxed: 1.7,
276
+ },
277
+
278
+ // Layout
279
+ breakpoints: ['640px', '768px', '1024px', '1280px'],
280
+ sizes: [16, 32, 64, 128, 256, 512, 768, 1024, 1536],
281
+ radii: [0, 2, 4, 6, 8, 12, 16, 24],
282
+ shadows: [
283
+ 'none',
284
+ '0 1px 2px rgba(0, 0, 0, 0.05)',
285
+ '0 2px 4px rgba(0, 0, 0, 0.1)',
286
+ '0 4px 8px rgba(0, 0, 0, 0.15)',
287
+ '0 8px 16px rgba(0, 0, 0, 0.2)',
288
+ '0 12px 24px rgba(0, 0, 0, 0.25)',
289
+ ],
290
+ zIndices: [0, 1, 10, 20, 30, 40, 50],
291
+
292
+ // Colors - Dark theme for code editors
293
+ colors: {
294
+ text: '#d4d4d4',
295
+ background: '#1e1e1e',
296
+ primary: '#569cd6',
297
+ secondary: '#408ac9',
298
+ accent: '#c586c0',
299
+ highlight: 'rgba(86, 156, 214, 0.1)',
300
+ muted: '#2a2a2a',
301
+ success: '#6a9955',
302
+ warning: '#d18616',
303
+ error: '#f44747',
304
+ info: '#569cd6',
305
+ border: 'rgba(255, 255, 255, 0.1)',
306
+ backgroundSecondary: '#252526',
307
+ backgroundTertiary: '#333333',
308
+ backgroundLight: 'rgba(255, 255, 255, 0.03)',
309
+ backgroundHover: 'rgba(255, 255, 255, 0.05)',
310
+ surface: '#252526',
311
+ textSecondary: '#cccccc',
312
+ textTertiary: '#999999',
313
+ textMuted: '#666666',
314
+ highlightBg: 'rgba(255, 235, 59, 0.2)',
315
+ highlightBorder: 'rgba(255, 235, 59, 0.4)',
316
+ },
317
+
318
+ // Component variants
319
+ buttons: {
320
+ primary: {
321
+ color: 'white',
322
+ bg: 'primary',
323
+ '&:hover': { bg: 'secondary' },
324
+ },
325
+ secondary: {
326
+ color: 'primary',
327
+ bg: 'transparent',
328
+ borderWidth: 1,
329
+ borderStyle: 'solid',
330
+ borderColor: 'primary',
331
+ '&:hover': { bg: 'highlight' },
332
+ },
333
+ ghost: {
334
+ color: 'text',
335
+ bg: 'transparent',
336
+ '&:hover': { bg: 'backgroundHover' },
337
+ },
338
+ },
339
+ text: {
340
+ heading: {
341
+ fontFamily: 'heading',
342
+ fontWeight: 'heading',
343
+ lineHeight: 'heading',
344
+ },
345
+ body: {
346
+ fontFamily: 'body',
347
+ fontWeight: 'body',
348
+ lineHeight: 'body',
349
+ },
350
+ caption: {
351
+ fontSize: 1,
352
+ color: 'textSecondary',
353
+ },
354
+ },
355
+ cards: {
356
+ primary: {
357
+ bg: 'surface',
358
+ border: '1px solid',
359
+ borderColor: 'border',
360
+ borderRadius: 1,
361
+ },
362
+ secondary: {
363
+ bg: 'backgroundSecondary',
364
+ border: '1px solid',
365
+ borderColor: 'border',
366
+ borderRadius: 1,
367
+ },
368
+ },
369
+ };
@@ -0,0 +1,213 @@
1
+ /**
2
+ * Glassmorphism theme - Showcasing transparency and blur effects
3
+ * Designed to work over gradient or image backgrounds
4
+ */
5
+
6
+ import { Theme } from './index';
7
+
8
+ export const glassmorphismTheme: Theme = {
9
+ // Spacing scale
10
+ space: [0, 4, 8, 16, 32, 64, 128, 256, 512],
11
+
12
+ // Typography - Modern sans-serif
13
+ fonts: {
14
+ body: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
15
+ heading: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
16
+ monospace: '"Fira Code", "SF Mono", Monaco, Inconsolata, monospace',
17
+ },
18
+
19
+ fontSizes: [12, 14, 16, 18, 20, 24, 32, 48, 64, 96],
20
+
21
+ fontScale: 1.0,
22
+
23
+ fontWeights: {
24
+ body: 400,
25
+ heading: 600,
26
+ bold: 700,
27
+ light: 300,
28
+ medium: 500,
29
+ semibold: 600,
30
+ },
31
+
32
+ lineHeights: {
33
+ body: 1.6,
34
+ heading: 1.3,
35
+ tight: 1.4,
36
+ relaxed: 1.8,
37
+ },
38
+
39
+ // Layout
40
+ breakpoints: ['640px', '768px', '1024px', '1280px'],
41
+ sizes: [16, 32, 64, 128, 256, 512, 768, 1024, 1536],
42
+ radii: [0, 8, 12, 16, 20, 24, 32, 40],
43
+ shadows: [
44
+ 'none',
45
+ '0 8px 32px 0 rgba(31, 38, 135, 0.15)',
46
+ '0 12px 40px 0 rgba(31, 38, 135, 0.2)',
47
+ '0 16px 48px 0 rgba(31, 38, 135, 0.25)',
48
+ '0 20px 56px 0 rgba(31, 38, 135, 0.3)',
49
+ '0 24px 64px 0 rgba(31, 38, 135, 0.35)',
50
+ ],
51
+ zIndices: [0, 1, 10, 20, 30, 40, 50],
52
+
53
+ // Colors - Heavy use of transparency for glass effect
54
+ colors: {
55
+ // Base colors with transparency
56
+ text: 'rgba(255, 255, 255, 0.95)', // Nearly opaque white
57
+ background: 'rgba(255, 255, 255, 0.1)', // Very transparent white
58
+ primary: 'rgba(99, 102, 241, 0.9)', // Semi-transparent indigo
59
+ secondary: 'rgba(139, 92, 246, 0.9)', // Semi-transparent purple
60
+ accent: 'rgba(236, 72, 153, 0.9)', // Semi-transparent pink
61
+ highlight: 'rgba(99, 102, 241, 0.2)', // Transparent indigo
62
+ muted: 'rgba(255, 255, 255, 0.05)', // Barely visible white
63
+
64
+ // Status colors with transparency
65
+ success: 'rgba(34, 197, 94, 0.9)', // Semi-transparent green
66
+ warning: 'rgba(251, 146, 60, 0.9)', // Semi-transparent orange
67
+ error: 'rgba(239, 68, 68, 0.9)', // Semi-transparent red
68
+ info: 'rgba(59, 130, 246, 0.9)', // Semi-transparent blue
69
+
70
+ // Glass effect colors
71
+ border: 'rgba(255, 255, 255, 0.18)', // Transparent white border
72
+ backgroundSecondary: 'rgba(255, 255, 255, 0.15)', // Slightly more opaque
73
+ backgroundTertiary: 'rgba(255, 255, 255, 0.2)', // Even more opaque
74
+ backgroundLight: 'rgba(255, 255, 255, 0.08)', // Very light overlay
75
+ backgroundHover: 'rgba(255, 255, 255, 0.25)', // Hover state
76
+ surface: 'rgba(255, 255, 255, 0.12)', // Surface panels
77
+ textSecondary: 'rgba(255, 255, 255, 0.8)', // Slightly transparent text
78
+ textTertiary: 'rgba(255, 255, 255, 0.6)', // More transparent text
79
+ textMuted: 'rgba(255, 255, 255, 0.5)', // Half transparent text
80
+
81
+ // Search highlight colors
82
+ highlightBg: 'rgba(251, 191, 36, 0.3)', // Transparent yellow
83
+ highlightBorder: 'rgba(251, 191, 36, 0.5)', // Stronger yellow border
84
+ },
85
+
86
+ // Dark mode with different transparency levels
87
+ modes: {
88
+ dark: {
89
+ // Dark glass colors
90
+ text: 'rgba(255, 255, 255, 0.95)',
91
+ background: 'rgba(0, 0, 0, 0.3)', // Semi-transparent black
92
+ primary: 'rgba(129, 140, 248, 0.9)', // Lighter indigo
93
+ secondary: 'rgba(167, 139, 250, 0.9)', // Lighter purple
94
+ accent: 'rgba(244, 114, 182, 0.9)', // Lighter pink
95
+ highlight: 'rgba(129, 140, 248, 0.25)',
96
+ muted: 'rgba(0, 0, 0, 0.15)',
97
+
98
+ success: 'rgba(74, 222, 128, 0.9)',
99
+ warning: 'rgba(251, 191, 36, 0.9)',
100
+ error: 'rgba(248, 113, 113, 0.9)',
101
+ info: 'rgba(96, 165, 250, 0.9)',
102
+
103
+ border: 'rgba(255, 255, 255, 0.15)',
104
+ backgroundSecondary: 'rgba(0, 0, 0, 0.4)',
105
+ backgroundTertiary: 'rgba(0, 0, 0, 0.5)',
106
+ backgroundLight: 'rgba(0, 0, 0, 0.2)',
107
+ backgroundHover: 'rgba(255, 255, 255, 0.1)',
108
+ surface: 'rgba(0, 0, 0, 0.35)',
109
+ textSecondary: 'rgba(255, 255, 255, 0.8)',
110
+ textTertiary: 'rgba(255, 255, 255, 0.6)',
111
+ textMuted: 'rgba(255, 255, 255, 0.4)',
112
+
113
+ highlightBg: 'rgba(251, 191, 36, 0.35)',
114
+ highlightBorder: 'rgba(251, 191, 36, 0.6)',
115
+ },
116
+
117
+ // Frosted mode - maximum blur effect
118
+ frosted: {
119
+ text: 'rgba(31, 41, 55, 0.95)', // Dark text for light backgrounds
120
+ background: 'rgba(255, 255, 255, 0.3)', // More opaque white
121
+ primary: 'rgba(79, 70, 229, 0.95)', // Solid indigo
122
+ secondary: 'rgba(124, 58, 237, 0.95)', // Solid purple
123
+ accent: 'rgba(219, 39, 119, 0.95)', // Solid pink
124
+ highlight: 'rgba(79, 70, 229, 0.15)',
125
+ muted: 'rgba(255, 255, 255, 0.4)',
126
+
127
+ success: 'rgba(16, 185, 129, 0.95)',
128
+ warning: 'rgba(245, 158, 11, 0.95)',
129
+ error: 'rgba(220, 38, 38, 0.95)',
130
+ info: 'rgba(37, 99, 235, 0.95)',
131
+
132
+ border: 'rgba(255, 255, 255, 0.5)',
133
+ backgroundSecondary: 'rgba(255, 255, 255, 0.4)',
134
+ backgroundTertiary: 'rgba(255, 255, 255, 0.5)',
135
+ backgroundLight: 'rgba(255, 255, 255, 0.25)',
136
+ backgroundHover: 'rgba(255, 255, 255, 0.6)',
137
+ surface: 'rgba(255, 255, 255, 0.35)',
138
+ textSecondary: 'rgba(31, 41, 55, 0.8)',
139
+ textTertiary: 'rgba(31, 41, 55, 0.6)',
140
+ textMuted: 'rgba(31, 41, 55, 0.5)',
141
+
142
+ highlightBg: 'rgba(251, 191, 36, 0.4)',
143
+ highlightBorder: 'rgba(251, 191, 36, 0.7)',
144
+ }
145
+ },
146
+
147
+ // Component variants
148
+ buttons: {
149
+ primary: {
150
+ color: 'white',
151
+ bg: 'primary',
152
+ borderWidth: 1,
153
+ borderStyle: 'solid',
154
+ borderColor: 'rgba(255, 255, 255, 0.2)',
155
+ '&:hover': {
156
+ bg: 'secondary',
157
+ },
158
+ },
159
+ secondary: {
160
+ color: 'text',
161
+ bg: 'rgba(255, 255, 255, 0.1)',
162
+ borderWidth: 1,
163
+ borderStyle: 'solid',
164
+ borderColor: 'rgba(255, 255, 255, 0.2)',
165
+ '&:hover': {
166
+ bg: 'rgba(255, 255, 255, 0.2)',
167
+ },
168
+ },
169
+ ghost: {
170
+ color: 'text',
171
+ bg: 'transparent',
172
+ borderWidth: 1,
173
+ borderStyle: 'solid',
174
+ borderColor: 'transparent',
175
+ '&:hover': {
176
+ borderColor: 'rgba(255, 255, 255, 0.2)',
177
+ bg: 'rgba(255, 255, 255, 0.05)',
178
+ },
179
+ },
180
+ },
181
+
182
+ text: {
183
+ heading: {
184
+ fontFamily: 'heading',
185
+ fontWeight: 'heading',
186
+ lineHeight: 'heading',
187
+ },
188
+ body: {
189
+ fontFamily: 'body',
190
+ fontWeight: 'body',
191
+ lineHeight: 'body',
192
+ },
193
+ caption: {
194
+ fontSize: 1,
195
+ color: 'textSecondary',
196
+ },
197
+ },
198
+
199
+ cards: {
200
+ primary: {
201
+ bg: 'surface',
202
+ border: '1px solid',
203
+ borderColor: 'border',
204
+ borderRadius: 3,
205
+ },
206
+ secondary: {
207
+ bg: 'backgroundSecondary',
208
+ border: '1px solid',
209
+ borderColor: 'border',
210
+ borderRadius: 3,
211
+ },
212
+ },
213
+ };