@svadmin/ui 0.29.0 → 0.29.1

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 (2) hide show
  1. package/package.json +2 -2
  2. package/src/app.css +154 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@svadmin/ui",
3
- "version": "0.29.0",
3
+ "version": "0.29.1",
4
4
  "description": "Pre-built admin UI components — AdminApp, AutoTable, AutoForm, Sidebar, Layout",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -20,7 +20,7 @@
20
20
  "./components/*": "./src/components/*"
21
21
  },
22
22
  "peerDependencies": {
23
- "@svadmin/core": "^0.20.0",
23
+ "@svadmin/core": "^0.20.1",
24
24
  "@tanstack/svelte-query": "^6.0.0",
25
25
  "highlight.js": "^11.11.1",
26
26
  "isomorphic-dompurify": "^3.7.1",
package/src/app.css CHANGED
@@ -99,6 +99,160 @@
99
99
  --sidebar-ring: oklch(0.55 0.18 264);
100
100
  }
101
101
 
102
+ /* ── Color Theme Overrides ──────────────────────────────
103
+ * Each [data-theme] selector overrides the primary-related
104
+ * CSS variables for both light and dark mode.
105
+ * Values match builtinPresets in @svadmin/core/theme.
106
+ * This CSS-level fallback prevents FOUC before JS inits.
107
+ */
108
+
109
+ /* Neutral */
110
+ [data-theme="neutral"] {
111
+ --primary: oklch(0.205 0.006 286);
112
+ --primary-foreground: oklch(0.985 0 0);
113
+ --ring: oklch(0.205 0.006 286);
114
+ --sidebar-primary: oklch(0.205 0.006 286);
115
+ --sidebar-primary-foreground: oklch(0.985 0 0);
116
+ --sidebar-ring: oklch(0.205 0.006 286);
117
+ --chart-1: oklch(0.488 0.243 264.376);
118
+ }
119
+ .dark[data-theme="neutral"],
120
+ .dark [data-theme="neutral"] {
121
+ --primary: oklch(0.922 0.004 286);
122
+ --primary-foreground: oklch(0.205 0.006 286);
123
+ --ring: oklch(0.556 0.004 286);
124
+ --sidebar-primary: oklch(0.922 0.004 286);
125
+ --sidebar-primary-foreground: oklch(0.205 0.006 286);
126
+ --sidebar-ring: oklch(0.556 0.004 286);
127
+ --chart-1: oklch(0.585 0.233 264);
128
+ }
129
+
130
+ /* Indigo (default) */
131
+ [data-theme="indigo"] {
132
+ --primary: oklch(0.488 0.243 264.376);
133
+ --primary-foreground: oklch(0.985 0 0);
134
+ --ring: oklch(0.488 0.243 264.376);
135
+ --sidebar-primary: oklch(0.488 0.243 264.376);
136
+ --sidebar-primary-foreground: oklch(0.985 0 0);
137
+ --sidebar-ring: oklch(0.488 0.243 264.376);
138
+ --chart-1: oklch(0.488 0.243 264.376);
139
+ }
140
+ .dark[data-theme="indigo"],
141
+ .dark [data-theme="indigo"] {
142
+ --primary: oklch(0.585 0.233 264);
143
+ --primary-foreground: oklch(0.15 0.04 265);
144
+ --ring: oklch(0.55 0.18 264);
145
+ --sidebar-primary: oklch(0.585 0.233 264);
146
+ --sidebar-primary-foreground: oklch(0.985 0 0);
147
+ --sidebar-ring: oklch(0.55 0.18 264);
148
+ --chart-1: oklch(0.585 0.233 264);
149
+ }
150
+
151
+ /* Blue */
152
+ [data-theme="blue"] {
153
+ --primary: oklch(0.546 0.245 262.881);
154
+ --primary-foreground: oklch(0.985 0 0);
155
+ --ring: oklch(0.546 0.245 262.881);
156
+ --sidebar-primary: oklch(0.546 0.245 262.881);
157
+ --sidebar-primary-foreground: oklch(0.985 0 0);
158
+ --sidebar-ring: oklch(0.546 0.245 262.881);
159
+ --chart-1: oklch(0.546 0.245 262.881);
160
+ }
161
+ .dark[data-theme="blue"],
162
+ .dark [data-theme="blue"] {
163
+ --primary: oklch(0.623 0.214 259.815);
164
+ --primary-foreground: oklch(0.15 0.04 265);
165
+ --ring: oklch(0.546 0.245 262.881);
166
+ --sidebar-primary: oklch(0.623 0.214 259.815);
167
+ --sidebar-primary-foreground: oklch(0.985 0 0);
168
+ --sidebar-ring: oklch(0.546 0.245 262.881);
169
+ --chart-1: oklch(0.623 0.214 259.815);
170
+ }
171
+
172
+ /* Green */
173
+ [data-theme="green"] {
174
+ --primary: oklch(0.527 0.185 150.069);
175
+ --primary-foreground: oklch(0.985 0 0);
176
+ --ring: oklch(0.527 0.185 150.069);
177
+ --sidebar-primary: oklch(0.527 0.185 150.069);
178
+ --sidebar-primary-foreground: oklch(0.985 0 0);
179
+ --sidebar-ring: oklch(0.527 0.185 150.069);
180
+ --chart-1: oklch(0.527 0.185 150.069);
181
+ }
182
+ .dark[data-theme="green"],
183
+ .dark [data-theme="green"] {
184
+ --primary: oklch(0.627 0.194 149.214);
185
+ --primary-foreground: oklch(0.15 0.05 150);
186
+ --ring: oklch(0.527 0.185 150.069);
187
+ --sidebar-primary: oklch(0.627 0.194 149.214);
188
+ --sidebar-primary-foreground: oklch(0.985 0 0);
189
+ --sidebar-ring: oklch(0.527 0.185 150.069);
190
+ --chart-1: oklch(0.627 0.194 149.214);
191
+ }
192
+
193
+ /* Rose */
194
+ [data-theme="rose"] {
195
+ --primary: oklch(0.577 0.245 27.325);
196
+ --primary-foreground: oklch(0.985 0 0);
197
+ --ring: oklch(0.577 0.245 27.325);
198
+ --sidebar-primary: oklch(0.577 0.245 27.325);
199
+ --sidebar-primary-foreground: oklch(0.985 0 0);
200
+ --sidebar-ring: oklch(0.577 0.245 27.325);
201
+ --chart-1: oklch(0.577 0.245 27.325);
202
+ }
203
+ .dark[data-theme="rose"],
204
+ .dark [data-theme="rose"] {
205
+ --primary: oklch(0.577 0.245 27.325);
206
+ --primary-foreground: oklch(0.985 0 0);
207
+ --ring: oklch(0.577 0.245 27.325);
208
+ --sidebar-primary: oklch(0.577 0.245 27.325);
209
+ --sidebar-primary-foreground: oklch(0.985 0 0);
210
+ --sidebar-ring: oklch(0.577 0.245 27.325);
211
+ --chart-1: oklch(0.577 0.245 27.325);
212
+ }
213
+
214
+ /* Orange */
215
+ [data-theme="orange"] {
216
+ --primary: oklch(0.646 0.222 41.116);
217
+ --primary-foreground: oklch(0.985 0 0);
218
+ --ring: oklch(0.646 0.222 41.116);
219
+ --sidebar-primary: oklch(0.646 0.222 41.116);
220
+ --sidebar-primary-foreground: oklch(0.985 0 0);
221
+ --sidebar-ring: oklch(0.646 0.222 41.116);
222
+ --chart-1: oklch(0.646 0.222 41.116);
223
+ }
224
+ .dark[data-theme="orange"],
225
+ .dark [data-theme="orange"] {
226
+ --primary: oklch(0.646 0.222 41.116);
227
+ --primary-foreground: oklch(0.985 0 0);
228
+ --ring: oklch(0.646 0.222 41.116);
229
+ --sidebar-primary: oklch(0.646 0.222 41.116);
230
+ --sidebar-primary-foreground: oklch(0.985 0 0);
231
+ --sidebar-ring: oklch(0.646 0.222 41.116);
232
+ --chart-1: oklch(0.646 0.222 41.116);
233
+ }
234
+
235
+ /* Violet */
236
+ [data-theme="violet"] {
237
+ --primary: oklch(0.541 0.281 293.009);
238
+ --primary-foreground: oklch(0.985 0 0);
239
+ --ring: oklch(0.541 0.281 293.009);
240
+ --sidebar-primary: oklch(0.541 0.281 293.009);
241
+ --sidebar-primary-foreground: oklch(0.985 0 0);
242
+ --sidebar-ring: oklch(0.541 0.281 293.009);
243
+ --chart-1: oklch(0.541 0.281 293.009);
244
+ }
245
+ .dark[data-theme="violet"],
246
+ .dark [data-theme="violet"] {
247
+ --primary: oklch(0.541 0.281 293.009);
248
+ --primary-foreground: oklch(0.985 0 0);
249
+ --ring: oklch(0.541 0.281 293.009);
250
+ --sidebar-primary: oklch(0.541 0.281 293.009);
251
+ --sidebar-primary-foreground: oklch(0.985 0 0);
252
+ --sidebar-ring: oklch(0.541 0.281 293.009);
253
+ --chart-1: oklch(0.541 0.281 293.009);
254
+ }
255
+
102
256
  /* Stripe-inspired Soft Shadows — premium, multi-layered depth */
103
257
  [data-slot="button"],
104
258
  [data-slot="input"],