@almadar/ui 1.0.21 → 1.0.22
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/dist/{chunk-I5RSZIOE.js → chunk-4UFNDD6B.js} +82 -26
- package/dist/{chunk-VE4ZELYZ.js → chunk-ITRZURGQ.js} +3 -115
- package/dist/chunk-W5YTXLXL.js +29 -0
- package/dist/{chunk-TTXKOHDO.js → chunk-WXFQV3ZP.js} +148 -2
- package/dist/components/index.d.ts +724 -278
- package/dist/components/index.js +1549 -901
- package/dist/context/index.js +14 -3
- package/dist/hooks/index.d.ts +124 -122
- package/dist/hooks/index.js +3 -3
- package/dist/providers/index.d.ts +0 -1
- package/dist/providers/index.js +14 -5
- package/package.json +10 -5
- package/themes/arctic.css +203 -0
- package/themes/copper.css +203 -0
- package/themes/ember.css +206 -0
- package/themes/forest.css +206 -0
- package/themes/index.css +15 -0
- package/themes/lavender.css +201 -0
- package/themes/midnight.css +202 -0
- package/themes/neon.css +208 -0
- package/themes/ocean.css +206 -0
- package/themes/rose.css +201 -0
- package/themes/sand.css +202 -0
- package/themes/slate.css +201 -0
- package/themes/sunset.css +206 -0
- package/dist/chunk-4FRUCUO5.js +0 -14
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copper Theme — "Warm Industrial"
|
|
3
|
+
*
|
|
4
|
+
* Metallic copper and bronze tones with a functional, solid personality.
|
|
5
|
+
* Inspired by industrial metalwork, riveted surfaces, and forged components.
|
|
6
|
+
* Thicker borders, heavier font weights, and fast mechanical transitions
|
|
7
|
+
* create a utilitarian aesthetic that prioritizes clarity and durability
|
|
8
|
+
* over decoration.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/* ==========================================================================
|
|
12
|
+
* LIGHT MODE
|
|
13
|
+
* ========================================================================== */
|
|
14
|
+
[data-theme="copper-light"] {
|
|
15
|
+
/* Shadows - Warm metallic, bronze-tinted */
|
|
16
|
+
--shadow-main: 0 1px 3px rgba(180, 83, 9, 0.1), 0 1px 2px rgba(180, 83, 9, 0.06);
|
|
17
|
+
--shadow-sm: 0 1px 2px rgba(180, 83, 9, 0.06);
|
|
18
|
+
--shadow-lg:
|
|
19
|
+
0 10px 25px -5px rgba(180, 83, 9, 0.12), 0 8px 10px -6px rgba(180, 83, 9, 0.08);
|
|
20
|
+
--shadow-inner: inset 0 1px 2px rgba(180, 83, 9, 0.06);
|
|
21
|
+
--shadow-none: none;
|
|
22
|
+
--shadow-hover: 0 10px 40px -10px rgba(180, 83, 9, 0.18);
|
|
23
|
+
--shadow-active: 0 1px 2px rgba(180, 83, 9, 0.06);
|
|
24
|
+
|
|
25
|
+
/* Border radius - Functional, not too rounded */
|
|
26
|
+
--radius-none: 0px;
|
|
27
|
+
--radius-sm: 4px;
|
|
28
|
+
--radius-md: 6px;
|
|
29
|
+
--radius-lg: 8px;
|
|
30
|
+
--radius-xl: 10px;
|
|
31
|
+
--radius-full: 9999px;
|
|
32
|
+
|
|
33
|
+
/* Border width - Thick, industrial */
|
|
34
|
+
--border-width: 2px;
|
|
35
|
+
--border-width-thin: 1px;
|
|
36
|
+
--border-width-thick: 3px;
|
|
37
|
+
|
|
38
|
+
/* Colors - Metallic copper and warm neutrals */
|
|
39
|
+
--color-primary: #b45309;
|
|
40
|
+
--color-primary-hover: #92400e;
|
|
41
|
+
--color-primary-foreground: #ffffff;
|
|
42
|
+
|
|
43
|
+
--color-secondary: #f5f0ea;
|
|
44
|
+
--color-secondary-hover: #ebe4da;
|
|
45
|
+
--color-secondary-foreground: #292524;
|
|
46
|
+
|
|
47
|
+
--color-accent: #78350f;
|
|
48
|
+
--color-accent-foreground: #fef3c7;
|
|
49
|
+
|
|
50
|
+
--color-muted: #f5f0ea;
|
|
51
|
+
--color-muted-foreground: #78716c;
|
|
52
|
+
|
|
53
|
+
--color-background: #faf8f5;
|
|
54
|
+
--color-foreground: #292524;
|
|
55
|
+
--color-card: #ffffff;
|
|
56
|
+
--color-card-foreground: #292524;
|
|
57
|
+
--color-surface: #f5f0ea;
|
|
58
|
+
--color-border: rgba(180, 83, 9, 0.25);
|
|
59
|
+
--color-input: rgba(180, 83, 9, 0.25);
|
|
60
|
+
--color-ring: #b45309;
|
|
61
|
+
|
|
62
|
+
/* Semantic colors */
|
|
63
|
+
--color-error: #dc2626;
|
|
64
|
+
--color-error-foreground: #ffffff;
|
|
65
|
+
--color-success: #16a34a;
|
|
66
|
+
--color-success-foreground: #ffffff;
|
|
67
|
+
--color-warning: #ca8a04;
|
|
68
|
+
--color-warning-foreground: #000000;
|
|
69
|
+
--color-info: #2563eb;
|
|
70
|
+
--color-info-foreground: #ffffff;
|
|
71
|
+
|
|
72
|
+
/* Typography - Heavier weights, functional */
|
|
73
|
+
--font-family:
|
|
74
|
+
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
75
|
+
--font-weight-normal: 500;
|
|
76
|
+
--font-weight-medium: 600;
|
|
77
|
+
--font-weight-bold: 700;
|
|
78
|
+
--letter-spacing: 0em;
|
|
79
|
+
--line-height: 1.5;
|
|
80
|
+
|
|
81
|
+
/* Icon styling */
|
|
82
|
+
--icon-stroke-width: 2;
|
|
83
|
+
--icon-color: #b45309;
|
|
84
|
+
|
|
85
|
+
/* Transitions - Mechanical, fast */
|
|
86
|
+
--transition-fast: 100ms;
|
|
87
|
+
--transition-normal: 200ms;
|
|
88
|
+
--transition-slow: 300ms;
|
|
89
|
+
--transition-timing: cubic-bezier(0.4, 0, 0.2, 1);
|
|
90
|
+
|
|
91
|
+
/* Hover/Active transforms - Subtle, functional */
|
|
92
|
+
--hover-scale: 1.0;
|
|
93
|
+
--hover-translate-y: -1px;
|
|
94
|
+
--hover-translate-x: 0;
|
|
95
|
+
--active-scale: 0.98;
|
|
96
|
+
--active-translate-y: 1px;
|
|
97
|
+
|
|
98
|
+
/* Focus ring */
|
|
99
|
+
--focus-ring-width: 2px;
|
|
100
|
+
--focus-ring-offset: 2px;
|
|
101
|
+
--focus-ring-color: #b45309;
|
|
102
|
+
|
|
103
|
+
/* Apply background and foreground colors */
|
|
104
|
+
background-color: var(--color-background);
|
|
105
|
+
color: var(--color-foreground);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/* ==========================================================================
|
|
109
|
+
* DARK MODE
|
|
110
|
+
* ========================================================================== */
|
|
111
|
+
[data-theme="copper-dark"] {
|
|
112
|
+
/* Shadows - Deep bronze glow on dark */
|
|
113
|
+
--shadow-main: 0 1px 3px rgba(217, 119, 6, 0.1), 0 1px 2px rgba(0, 0, 0, 0.22);
|
|
114
|
+
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.22);
|
|
115
|
+
--shadow-lg:
|
|
116
|
+
0 10px 25px -5px rgba(0, 0, 0, 0.38), 0 8px 10px -6px rgba(217, 119, 6, 0.1);
|
|
117
|
+
--shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.28);
|
|
118
|
+
--shadow-none: none;
|
|
119
|
+
--shadow-hover: 0 10px 40px -10px rgba(217, 119, 6, 0.16);
|
|
120
|
+
--shadow-active: 0 1px 2px rgba(0, 0, 0, 0.22);
|
|
121
|
+
|
|
122
|
+
/* Border radius - Functional, not too rounded */
|
|
123
|
+
--radius-none: 0px;
|
|
124
|
+
--radius-sm: 4px;
|
|
125
|
+
--radius-md: 6px;
|
|
126
|
+
--radius-lg: 8px;
|
|
127
|
+
--radius-xl: 10px;
|
|
128
|
+
--radius-full: 9999px;
|
|
129
|
+
|
|
130
|
+
/* Border width - Thick, industrial */
|
|
131
|
+
--border-width: 2px;
|
|
132
|
+
--border-width-thin: 1px;
|
|
133
|
+
--border-width-thick: 3px;
|
|
134
|
+
|
|
135
|
+
/* Colors - Bright copper on dark bronze */
|
|
136
|
+
--color-primary: #d97706;
|
|
137
|
+
--color-primary-hover: #f59e0b;
|
|
138
|
+
--color-primary-foreground: #1a1410;
|
|
139
|
+
|
|
140
|
+
--color-secondary: #262018;
|
|
141
|
+
--color-secondary-hover: #302820;
|
|
142
|
+
--color-secondary-foreground: #e7e0d6;
|
|
143
|
+
|
|
144
|
+
--color-accent: #78350f;
|
|
145
|
+
--color-accent-foreground: #fef3c7;
|
|
146
|
+
|
|
147
|
+
--color-muted: #262018;
|
|
148
|
+
--color-muted-foreground: #d6d3d1;
|
|
149
|
+
|
|
150
|
+
--color-background: #1a1410;
|
|
151
|
+
--color-foreground: #e7e0d6;
|
|
152
|
+
--color-card: #262018;
|
|
153
|
+
--color-card-foreground: #e7e0d6;
|
|
154
|
+
--color-surface: #302820;
|
|
155
|
+
--color-border: rgba(180, 83, 9, 0.3);
|
|
156
|
+
--color-input: rgba(180, 83, 9, 0.3);
|
|
157
|
+
--color-ring: #d97706;
|
|
158
|
+
|
|
159
|
+
/* Semantic colors - Brighter for dark mode */
|
|
160
|
+
--color-error: #f87171;
|
|
161
|
+
--color-error-foreground: #000000;
|
|
162
|
+
--color-success: #4ade80;
|
|
163
|
+
--color-success-foreground: #000000;
|
|
164
|
+
--color-warning: #fbbf24;
|
|
165
|
+
--color-warning-foreground: #000000;
|
|
166
|
+
--color-info: #60a5fa;
|
|
167
|
+
--color-info-foreground: #000000;
|
|
168
|
+
|
|
169
|
+
/* Typography - Heavier weights, functional */
|
|
170
|
+
--font-family:
|
|
171
|
+
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
172
|
+
--font-weight-normal: 500;
|
|
173
|
+
--font-weight-medium: 600;
|
|
174
|
+
--font-weight-bold: 700;
|
|
175
|
+
--letter-spacing: 0em;
|
|
176
|
+
--line-height: 1.5;
|
|
177
|
+
|
|
178
|
+
/* Icon styling */
|
|
179
|
+
--icon-stroke-width: 2;
|
|
180
|
+
--icon-color: #d97706;
|
|
181
|
+
|
|
182
|
+
/* Transitions - Mechanical, fast */
|
|
183
|
+
--transition-fast: 100ms;
|
|
184
|
+
--transition-normal: 200ms;
|
|
185
|
+
--transition-slow: 300ms;
|
|
186
|
+
--transition-timing: cubic-bezier(0.4, 0, 0.2, 1);
|
|
187
|
+
|
|
188
|
+
/* Hover/Active transforms - Subtle, functional */
|
|
189
|
+
--hover-scale: 1.0;
|
|
190
|
+
--hover-translate-y: -1px;
|
|
191
|
+
--hover-translate-x: 0;
|
|
192
|
+
--active-scale: 0.98;
|
|
193
|
+
--active-translate-y: 1px;
|
|
194
|
+
|
|
195
|
+
/* Focus ring */
|
|
196
|
+
--focus-ring-width: 2px;
|
|
197
|
+
--focus-ring-offset: 2px;
|
|
198
|
+
--focus-ring-color: #d97706;
|
|
199
|
+
|
|
200
|
+
/* Apply background and foreground colors */
|
|
201
|
+
background-color: var(--color-background);
|
|
202
|
+
color: var(--color-foreground);
|
|
203
|
+
}
|
package/themes/ember.css
ADDED
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ember Theme — "Fire & Energy"
|
|
3
|
+
*
|
|
4
|
+
* A bold, energetic palette driven by deep reds and warm ambers.
|
|
5
|
+
* Designed for applications that need to convey power, urgency, and
|
|
6
|
+
* intensity. Features dramatic shadows with red glow in dark mode,
|
|
7
|
+
* heavier font weights for impactful typography, and punchy fast
|
|
8
|
+
* transitions that make every interaction feel decisive and forceful.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/* ==========================================================================
|
|
12
|
+
* LIGHT MODE
|
|
13
|
+
* ========================================================================== */
|
|
14
|
+
[data-theme="ember-light"] {
|
|
15
|
+
/* Shadows - Warm, dramatic */
|
|
16
|
+
--shadow-main: 0 2px 6px rgba(220, 38, 38, 0.08), 0 1px 2px rgba(0, 0, 0, 0.05);
|
|
17
|
+
--shadow-sm: 0 1px 3px rgba(220, 38, 38, 0.06);
|
|
18
|
+
--shadow-lg:
|
|
19
|
+
0 8px 24px -4px rgba(220, 38, 38, 0.12), 0 4px 8px -2px rgba(0, 0, 0, 0.06);
|
|
20
|
+
--shadow-inner: inset 0 1px 3px rgba(220, 38, 38, 0.06);
|
|
21
|
+
--shadow-none: none;
|
|
22
|
+
--shadow-hover:
|
|
23
|
+
0 8px 28px -4px rgba(220, 38, 38, 0.16), 0 4px 12px rgba(245, 158, 11, 0.08);
|
|
24
|
+
--shadow-active: 0 1px 3px rgba(220, 38, 38, 0.08);
|
|
25
|
+
|
|
26
|
+
/* Border radius - Controlled, not too rounded */
|
|
27
|
+
--radius-none: 0px;
|
|
28
|
+
--radius-sm: 4px;
|
|
29
|
+
--radius-md: 6px;
|
|
30
|
+
--radius-lg: 8px;
|
|
31
|
+
--radius-xl: 12px;
|
|
32
|
+
--radius-full: 9999px;
|
|
33
|
+
|
|
34
|
+
/* Border width */
|
|
35
|
+
--border-width: 1px;
|
|
36
|
+
--border-width-thin: 1px;
|
|
37
|
+
--border-width-thick: 2px;
|
|
38
|
+
|
|
39
|
+
/* Colors - Warm reds and ambers */
|
|
40
|
+
--color-primary: #dc2626;
|
|
41
|
+
--color-primary-hover: #b91c1c;
|
|
42
|
+
--color-primary-foreground: #ffffff;
|
|
43
|
+
|
|
44
|
+
--color-secondary: #fef2f2;
|
|
45
|
+
--color-secondary-hover: #fee2e2;
|
|
46
|
+
--color-secondary-foreground: #7f1d1d;
|
|
47
|
+
|
|
48
|
+
--color-accent: #f59e0b;
|
|
49
|
+
--color-accent-foreground: #451a03;
|
|
50
|
+
|
|
51
|
+
--color-muted: #fef2f2;
|
|
52
|
+
--color-muted-foreground: #78716c;
|
|
53
|
+
|
|
54
|
+
--color-background: #fef2f2;
|
|
55
|
+
--color-foreground: #450a0a;
|
|
56
|
+
--color-card: #ffffff;
|
|
57
|
+
--color-card-foreground: #450a0a;
|
|
58
|
+
--color-surface: #fee2e2;
|
|
59
|
+
--color-border: rgba(220, 38, 38, 0.2);
|
|
60
|
+
--color-input: rgba(220, 38, 38, 0.25);
|
|
61
|
+
--color-ring: #dc2626;
|
|
62
|
+
|
|
63
|
+
/* Semantic colors */
|
|
64
|
+
--color-error: #be123c;
|
|
65
|
+
--color-error-foreground: #ffffff;
|
|
66
|
+
--color-success: #16a34a;
|
|
67
|
+
--color-success-foreground: #ffffff;
|
|
68
|
+
--color-warning: #d97706;
|
|
69
|
+
--color-warning-foreground: #000000;
|
|
70
|
+
--color-info: #2563eb;
|
|
71
|
+
--color-info-foreground: #ffffff;
|
|
72
|
+
|
|
73
|
+
/* Typography - Bold, heavy */
|
|
74
|
+
--font-family:
|
|
75
|
+
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
76
|
+
--font-weight-normal: 500;
|
|
77
|
+
--font-weight-medium: 600;
|
|
78
|
+
--font-weight-bold: 800;
|
|
79
|
+
--letter-spacing: 0em;
|
|
80
|
+
--line-height: 1.5;
|
|
81
|
+
|
|
82
|
+
/* Icon styling */
|
|
83
|
+
--icon-stroke-width: 2.25;
|
|
84
|
+
--icon-color: #dc2626;
|
|
85
|
+
|
|
86
|
+
/* Transitions - Fast, punchy */
|
|
87
|
+
--transition-fast: 80ms;
|
|
88
|
+
--transition-normal: 150ms;
|
|
89
|
+
--transition-slow: 250ms;
|
|
90
|
+
--transition-timing: cubic-bezier(0.4, 0, 0.2, 1);
|
|
91
|
+
|
|
92
|
+
/* Hover/Active transforms - Energetic */
|
|
93
|
+
--hover-scale: 1.02;
|
|
94
|
+
--hover-translate-y: -2px;
|
|
95
|
+
--hover-translate-x: 0;
|
|
96
|
+
--active-scale: 0.96;
|
|
97
|
+
--active-translate-y: 1px;
|
|
98
|
+
|
|
99
|
+
/* Focus ring */
|
|
100
|
+
--focus-ring-width: 2px;
|
|
101
|
+
--focus-ring-offset: 2px;
|
|
102
|
+
--focus-ring-color: #dc2626;
|
|
103
|
+
|
|
104
|
+
/* Apply background and foreground colors */
|
|
105
|
+
background-color: var(--color-background);
|
|
106
|
+
color: var(--color-foreground);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/* ==========================================================================
|
|
110
|
+
* DARK MODE
|
|
111
|
+
* ========================================================================== */
|
|
112
|
+
[data-theme="ember-dark"] {
|
|
113
|
+
/* Shadows - Dramatic red glow */
|
|
114
|
+
--shadow-main:
|
|
115
|
+
0 2px 8px rgba(220, 38, 38, 0.15), 0 1px 3px rgba(0, 0, 0, 0.3);
|
|
116
|
+
--shadow-sm: 0 1px 4px rgba(220, 38, 38, 0.1), 0 1px 2px rgba(0, 0, 0, 0.2);
|
|
117
|
+
--shadow-lg:
|
|
118
|
+
0 8px 28px rgba(220, 38, 38, 0.2), 0 4px 12px rgba(0, 0, 0, 0.4);
|
|
119
|
+
--shadow-inner: inset 0 1px 3px rgba(0, 0, 0, 0.3);
|
|
120
|
+
--shadow-none: none;
|
|
121
|
+
--shadow-hover:
|
|
122
|
+
0 8px 32px rgba(220, 38, 38, 0.25), 0 4px 16px rgba(245, 158, 11, 0.1);
|
|
123
|
+
--shadow-active: 0 2px 6px rgba(220, 38, 38, 0.15), 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
124
|
+
|
|
125
|
+
/* Border radius - Controlled, not too rounded */
|
|
126
|
+
--radius-none: 0px;
|
|
127
|
+
--radius-sm: 4px;
|
|
128
|
+
--radius-md: 6px;
|
|
129
|
+
--radius-lg: 8px;
|
|
130
|
+
--radius-xl: 12px;
|
|
131
|
+
--radius-full: 9999px;
|
|
132
|
+
|
|
133
|
+
/* Border width */
|
|
134
|
+
--border-width: 1px;
|
|
135
|
+
--border-width-thin: 1px;
|
|
136
|
+
--border-width-thick: 2px;
|
|
137
|
+
|
|
138
|
+
/* Colors - Deep red-black */
|
|
139
|
+
--color-primary: #f87171;
|
|
140
|
+
--color-primary-hover: #fca5a5;
|
|
141
|
+
--color-primary-foreground: #1a0505;
|
|
142
|
+
|
|
143
|
+
--color-secondary: #2a0a0a;
|
|
144
|
+
--color-secondary-hover: #3d1111;
|
|
145
|
+
--color-secondary-foreground: #fee2e2;
|
|
146
|
+
|
|
147
|
+
--color-accent: #f59e0b;
|
|
148
|
+
--color-accent-foreground: #451a03;
|
|
149
|
+
|
|
150
|
+
--color-muted: #2a0a0a;
|
|
151
|
+
--color-muted-foreground: #fca5a5;
|
|
152
|
+
|
|
153
|
+
--color-background: #1a0505;
|
|
154
|
+
--color-foreground: #fee2e2;
|
|
155
|
+
--color-card: #2a0a0a;
|
|
156
|
+
--color-card-foreground: #fee2e2;
|
|
157
|
+
--color-surface: #3d1111;
|
|
158
|
+
--color-border: rgba(245, 158, 11, 0.2);
|
|
159
|
+
--color-input: rgba(245, 158, 11, 0.25);
|
|
160
|
+
--color-ring: #f87171;
|
|
161
|
+
|
|
162
|
+
/* Semantic colors - Brighter for dark mode */
|
|
163
|
+
--color-error: #fb7185;
|
|
164
|
+
--color-error-foreground: #000000;
|
|
165
|
+
--color-success: #4ade80;
|
|
166
|
+
--color-success-foreground: #000000;
|
|
167
|
+
--color-warning: #fbbf24;
|
|
168
|
+
--color-warning-foreground: #000000;
|
|
169
|
+
--color-info: #60a5fa;
|
|
170
|
+
--color-info-foreground: #000000;
|
|
171
|
+
|
|
172
|
+
/* Typography - Bold, heavy */
|
|
173
|
+
--font-family:
|
|
174
|
+
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
175
|
+
--font-weight-normal: 500;
|
|
176
|
+
--font-weight-medium: 600;
|
|
177
|
+
--font-weight-bold: 800;
|
|
178
|
+
--letter-spacing: 0em;
|
|
179
|
+
--line-height: 1.5;
|
|
180
|
+
|
|
181
|
+
/* Icon styling */
|
|
182
|
+
--icon-stroke-width: 2.25;
|
|
183
|
+
--icon-color: #f87171;
|
|
184
|
+
|
|
185
|
+
/* Transitions - Fast, punchy */
|
|
186
|
+
--transition-fast: 80ms;
|
|
187
|
+
--transition-normal: 150ms;
|
|
188
|
+
--transition-slow: 250ms;
|
|
189
|
+
--transition-timing: cubic-bezier(0.4, 0, 0.2, 1);
|
|
190
|
+
|
|
191
|
+
/* Hover/Active transforms - Energetic */
|
|
192
|
+
--hover-scale: 1.02;
|
|
193
|
+
--hover-translate-y: -2px;
|
|
194
|
+
--hover-translate-x: 0;
|
|
195
|
+
--active-scale: 0.96;
|
|
196
|
+
--active-translate-y: 1px;
|
|
197
|
+
|
|
198
|
+
/* Focus ring */
|
|
199
|
+
--focus-ring-width: 2px;
|
|
200
|
+
--focus-ring-offset: 2px;
|
|
201
|
+
--focus-ring-color: #f87171;
|
|
202
|
+
|
|
203
|
+
/* Apply background and foreground colors */
|
|
204
|
+
background-color: var(--color-background);
|
|
205
|
+
color: var(--color-foreground);
|
|
206
|
+
}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Forest Theme - "Woodland Serenity"
|
|
3
|
+
*
|
|
4
|
+
* Inspired by the calm of a sunlit forest. Features warm organic shadows
|
|
5
|
+
* with brown tints, natural green tones from deep emerald to soft sage,
|
|
6
|
+
* and gentle organic curves that evoke leaves and bark. Natural-paced
|
|
7
|
+
* transitions create a grounded, earthy, tranquil experience.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/* ==========================================================================
|
|
11
|
+
* LIGHT MODE
|
|
12
|
+
* ========================================================================== */
|
|
13
|
+
[data-theme="forest-light"] {
|
|
14
|
+
/* Shadows - Warm organic, brown-tinted */
|
|
15
|
+
--shadow-main:
|
|
16
|
+
0 3px 10px rgba(45, 106, 79, 0.1), 0 1px 3px rgba(62, 39, 15, 0.06);
|
|
17
|
+
--shadow-sm: 0 2px 4px rgba(62, 39, 15, 0.07);
|
|
18
|
+
--shadow-lg:
|
|
19
|
+
0 8px 24px rgba(45, 106, 79, 0.12), 0 4px 8px rgba(62, 39, 15, 0.06);
|
|
20
|
+
--shadow-inner: inset 0 1px 2px rgba(62, 39, 15, 0.06);
|
|
21
|
+
--shadow-none: none;
|
|
22
|
+
--shadow-hover:
|
|
23
|
+
0 10px 32px rgba(45, 106, 79, 0.16), 0 4px 10px rgba(62, 39, 15, 0.08);
|
|
24
|
+
--shadow-active: 0 2px 6px rgba(45, 106, 79, 0.1);
|
|
25
|
+
|
|
26
|
+
/* Border radius - Organic curves */
|
|
27
|
+
--radius-none: 0px;
|
|
28
|
+
--radius-sm: 6px;
|
|
29
|
+
--radius-md: 10px;
|
|
30
|
+
--radius-lg: 14px;
|
|
31
|
+
--radius-xl: 16px;
|
|
32
|
+
--radius-full: 9999px;
|
|
33
|
+
|
|
34
|
+
/* Border width */
|
|
35
|
+
--border-width: 1px;
|
|
36
|
+
--border-width-thin: 1px;
|
|
37
|
+
--border-width-thick: 2px;
|
|
38
|
+
|
|
39
|
+
/* Colors - Forest green on warm light background */
|
|
40
|
+
--color-primary: #2d6a4f;
|
|
41
|
+
--color-primary-hover: #1b4332;
|
|
42
|
+
--color-primary-foreground: #ffffff;
|
|
43
|
+
|
|
44
|
+
--color-secondary: #f0f5f1;
|
|
45
|
+
--color-secondary-hover: #dfe8e0;
|
|
46
|
+
--color-secondary-foreground: #1b4332;
|
|
47
|
+
|
|
48
|
+
--color-accent: #95d5b2;
|
|
49
|
+
--color-accent-foreground: #1b4332;
|
|
50
|
+
|
|
51
|
+
--color-muted: #f0f5f1;
|
|
52
|
+
--color-muted-foreground: #5f7a68;
|
|
53
|
+
|
|
54
|
+
--color-background: #f8faf8;
|
|
55
|
+
--color-foreground: #1a2e22;
|
|
56
|
+
--color-card: #ffffff;
|
|
57
|
+
--color-card-foreground: #1a2e22;
|
|
58
|
+
--color-surface: #f0f5f1;
|
|
59
|
+
--color-border: rgba(45, 106, 79, 0.2);
|
|
60
|
+
--color-input: rgba(45, 106, 79, 0.15);
|
|
61
|
+
--color-ring: #2d6a4f;
|
|
62
|
+
|
|
63
|
+
/* Semantic colors */
|
|
64
|
+
--color-error: #dc2626;
|
|
65
|
+
--color-error-foreground: #ffffff;
|
|
66
|
+
--color-success: #16a34a;
|
|
67
|
+
--color-success-foreground: #ffffff;
|
|
68
|
+
--color-warning: #ca8a04;
|
|
69
|
+
--color-warning-foreground: #000000;
|
|
70
|
+
--color-info: #0ea5e9;
|
|
71
|
+
--color-info-foreground: #ffffff;
|
|
72
|
+
|
|
73
|
+
/* Typography - Natural, grounded */
|
|
74
|
+
--font-family:
|
|
75
|
+
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
76
|
+
--font-weight-normal: 400;
|
|
77
|
+
--font-weight-medium: 500;
|
|
78
|
+
--font-weight-bold: 600;
|
|
79
|
+
--letter-spacing: 0em;
|
|
80
|
+
--line-height: 1.6;
|
|
81
|
+
|
|
82
|
+
/* Icon styling */
|
|
83
|
+
--icon-stroke-width: 1.75;
|
|
84
|
+
--icon-color: #2d6a4f;
|
|
85
|
+
|
|
86
|
+
/* Transitions - Natural pace */
|
|
87
|
+
--transition-fast: 150ms;
|
|
88
|
+
--transition-normal: 300ms;
|
|
89
|
+
--transition-slow: 500ms;
|
|
90
|
+
--transition-timing: cubic-bezier(0.4, 0, 0.2, 1);
|
|
91
|
+
|
|
92
|
+
/* Hover/Active transforms */
|
|
93
|
+
--hover-scale: 1.02;
|
|
94
|
+
--hover-translate-y: -2px;
|
|
95
|
+
--hover-translate-x: 0;
|
|
96
|
+
--active-scale: 0.98;
|
|
97
|
+
--active-translate-y: 0;
|
|
98
|
+
|
|
99
|
+
/* Focus ring */
|
|
100
|
+
--focus-ring-width: 2px;
|
|
101
|
+
--focus-ring-offset: 2px;
|
|
102
|
+
--focus-ring-color: #2d6a4f;
|
|
103
|
+
|
|
104
|
+
/* Apply background and foreground colors */
|
|
105
|
+
background-color: var(--color-background);
|
|
106
|
+
color: var(--color-foreground);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/* ==========================================================================
|
|
110
|
+
* DARK MODE
|
|
111
|
+
* ========================================================================== */
|
|
112
|
+
[data-theme="forest-dark"] {
|
|
113
|
+
/* Shadows - Warm earthy glow from primary */
|
|
114
|
+
--shadow-main:
|
|
115
|
+
0 3px 12px rgba(82, 183, 136, 0.1), 0 1px 3px rgba(0, 0, 0, 0.15);
|
|
116
|
+
--shadow-sm: 0 2px 5px rgba(82, 183, 136, 0.07);
|
|
117
|
+
--shadow-lg:
|
|
118
|
+
0 8px 28px rgba(82, 183, 136, 0.18), 0 4px 10px rgba(0, 0, 0, 0.12);
|
|
119
|
+
--shadow-inner: inset 0 1px 3px rgba(0, 0, 0, 0.15);
|
|
120
|
+
--shadow-none: none;
|
|
121
|
+
--shadow-hover:
|
|
122
|
+
0 12px 36px rgba(82, 183, 136, 0.25), 0 4px 12px rgba(149, 213, 178, 0.12);
|
|
123
|
+
--shadow-active: 0 2px 6px rgba(82, 183, 136, 0.15);
|
|
124
|
+
|
|
125
|
+
/* Border radius - Organic curves */
|
|
126
|
+
--radius-none: 0px;
|
|
127
|
+
--radius-sm: 6px;
|
|
128
|
+
--radius-md: 10px;
|
|
129
|
+
--radius-lg: 14px;
|
|
130
|
+
--radius-xl: 16px;
|
|
131
|
+
--radius-full: 9999px;
|
|
132
|
+
|
|
133
|
+
/* Border width */
|
|
134
|
+
--border-width: 1px;
|
|
135
|
+
--border-width-thin: 1px;
|
|
136
|
+
--border-width-thick: 2px;
|
|
137
|
+
|
|
138
|
+
/* Colors - Bright sage on deep forest */
|
|
139
|
+
--color-primary: #52b788;
|
|
140
|
+
--color-primary-hover: #74c69d;
|
|
141
|
+
--color-primary-foreground: #081c11;
|
|
142
|
+
|
|
143
|
+
--color-secondary: #142a1c;
|
|
144
|
+
--color-secondary-hover: #1e3a28;
|
|
145
|
+
--color-secondary-foreground: #d4e8db;
|
|
146
|
+
|
|
147
|
+
--color-accent: #95d5b2;
|
|
148
|
+
--color-accent-foreground: #081c11;
|
|
149
|
+
|
|
150
|
+
--color-muted: #142a1c;
|
|
151
|
+
--color-muted-foreground: #88ad96;
|
|
152
|
+
|
|
153
|
+
--color-background: #0c1a12;
|
|
154
|
+
--color-foreground: #e6f0ea;
|
|
155
|
+
--color-card: #12251a;
|
|
156
|
+
--color-card-foreground: #e6f0ea;
|
|
157
|
+
--color-surface: #142a1c;
|
|
158
|
+
--color-border: rgba(82, 183, 136, 0.2);
|
|
159
|
+
--color-input: rgba(82, 183, 136, 0.22);
|
|
160
|
+
--color-ring: #52b788;
|
|
161
|
+
|
|
162
|
+
/* Semantic colors - Brighter for dark mode */
|
|
163
|
+
--color-error: #f87171;
|
|
164
|
+
--color-error-foreground: #000000;
|
|
165
|
+
--color-success: #4ade80;
|
|
166
|
+
--color-success-foreground: #000000;
|
|
167
|
+
--color-warning: #fbbf24;
|
|
168
|
+
--color-warning-foreground: #000000;
|
|
169
|
+
--color-info: #38bdf8;
|
|
170
|
+
--color-info-foreground: #000000;
|
|
171
|
+
|
|
172
|
+
/* Typography - Natural, grounded */
|
|
173
|
+
--font-family:
|
|
174
|
+
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
175
|
+
--font-weight-normal: 400;
|
|
176
|
+
--font-weight-medium: 500;
|
|
177
|
+
--font-weight-bold: 600;
|
|
178
|
+
--letter-spacing: 0em;
|
|
179
|
+
--line-height: 1.6;
|
|
180
|
+
|
|
181
|
+
/* Icon styling */
|
|
182
|
+
--icon-stroke-width: 1.75;
|
|
183
|
+
--icon-color: #52b788;
|
|
184
|
+
|
|
185
|
+
/* Transitions - Natural pace */
|
|
186
|
+
--transition-fast: 150ms;
|
|
187
|
+
--transition-normal: 300ms;
|
|
188
|
+
--transition-slow: 500ms;
|
|
189
|
+
--transition-timing: cubic-bezier(0.4, 0, 0.2, 1);
|
|
190
|
+
|
|
191
|
+
/* Hover/Active transforms */
|
|
192
|
+
--hover-scale: 1.02;
|
|
193
|
+
--hover-translate-y: -2px;
|
|
194
|
+
--hover-translate-x: 0;
|
|
195
|
+
--active-scale: 0.98;
|
|
196
|
+
--active-translate-y: 0;
|
|
197
|
+
|
|
198
|
+
/* Focus ring */
|
|
199
|
+
--focus-ring-width: 2px;
|
|
200
|
+
--focus-ring-offset: 2px;
|
|
201
|
+
--focus-ring-color: #52b788;
|
|
202
|
+
|
|
203
|
+
/* Apply background and foreground colors */
|
|
204
|
+
background-color: var(--color-background);
|
|
205
|
+
color: var(--color-foreground);
|
|
206
|
+
}
|
package/themes/index.css
CHANGED
|
@@ -6,7 +6,22 @@
|
|
|
6
6
|
* [data-theme="themename-dark"] { ... }
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
/* Core themes */
|
|
9
10
|
@import "./wireframe.css";
|
|
10
11
|
@import "./minimalist.css";
|
|
11
12
|
@import "./almadar.css";
|
|
12
13
|
@import "./trait-wars.css";
|
|
14
|
+
|
|
15
|
+
/* Extended themes */
|
|
16
|
+
@import "./ocean.css";
|
|
17
|
+
@import "./forest.css";
|
|
18
|
+
@import "./sunset.css";
|
|
19
|
+
@import "./lavender.css";
|
|
20
|
+
@import "./rose.css";
|
|
21
|
+
@import "./slate.css";
|
|
22
|
+
@import "./ember.css";
|
|
23
|
+
@import "./midnight.css";
|
|
24
|
+
@import "./sand.css";
|
|
25
|
+
@import "./neon.css";
|
|
26
|
+
@import "./arctic.css";
|
|
27
|
+
@import "./copper.css";
|