css-variants 2.1.2 → 2.2.0

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 (48) hide show
  1. package/README.md +1298 -219
  2. package/dist/cjs/cv.bench.d.ts +1 -0
  3. package/dist/cjs/cv.bench.js +207 -0
  4. package/dist/cjs/cv.bench.js.map +1 -0
  5. package/dist/cjs/cv.js +11 -9
  6. package/dist/cjs/cv.js.map +1 -1
  7. package/dist/cjs/scv.bench.d.ts +1 -0
  8. package/dist/cjs/scv.bench.js +409 -0
  9. package/dist/cjs/scv.bench.js.map +1 -0
  10. package/dist/cjs/scv.js +13 -11
  11. package/dist/cjs/scv.js.map +1 -1
  12. package/dist/cjs/ssv.bench.d.ts +1 -0
  13. package/dist/cjs/ssv.bench.js +506 -0
  14. package/dist/cjs/ssv.bench.js.map +1 -0
  15. package/dist/cjs/ssv.js +14 -12
  16. package/dist/cjs/ssv.js.map +1 -1
  17. package/dist/cjs/sv.bench.d.ts +1 -0
  18. package/dist/cjs/sv.bench.js +264 -0
  19. package/dist/cjs/sv.bench.js.map +1 -0
  20. package/dist/cjs/sv.js +15 -10
  21. package/dist/cjs/sv.js.map +1 -1
  22. package/dist/cjs/utils/merge-props.d.ts +1 -1
  23. package/dist/cjs/utils/merge-props.js +8 -6
  24. package/dist/cjs/utils/merge-props.js.map +1 -1
  25. package/dist/esm/cv.bench.d.ts +1 -0
  26. package/dist/esm/cv.bench.js +205 -0
  27. package/dist/esm/cv.bench.js.map +1 -0
  28. package/dist/esm/cv.js +11 -9
  29. package/dist/esm/cv.js.map +1 -1
  30. package/dist/esm/scv.bench.d.ts +1 -0
  31. package/dist/esm/scv.bench.js +407 -0
  32. package/dist/esm/scv.bench.js.map +1 -0
  33. package/dist/esm/scv.js +13 -11
  34. package/dist/esm/scv.js.map +1 -1
  35. package/dist/esm/ssv.bench.d.ts +1 -0
  36. package/dist/esm/ssv.bench.js +504 -0
  37. package/dist/esm/ssv.bench.js.map +1 -0
  38. package/dist/esm/ssv.js +14 -12
  39. package/dist/esm/ssv.js.map +1 -1
  40. package/dist/esm/sv.bench.d.ts +1 -0
  41. package/dist/esm/sv.bench.js +262 -0
  42. package/dist/esm/sv.bench.js.map +1 -0
  43. package/dist/esm/sv.js +15 -10
  44. package/dist/esm/sv.js.map +1 -1
  45. package/dist/esm/utils/merge-props.d.ts +1 -1
  46. package/dist/esm/utils/merge-props.js +8 -6
  47. package/dist/esm/utils/merge-props.js.map +1 -1
  48. package/package.json +3 -3
@@ -0,0 +1,506 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const ssv_1 = require("./ssv");
5
+ (0, vitest_1.describe)('ssv benchmarks', () => {
6
+ // Simple base styles only
7
+ const simpleVariant = (0, ssv_1.ssv)({
8
+ slots: ['root', 'content'],
9
+ base: {
10
+ root: { display: 'flex', flexDirection: 'column' },
11
+ content: { padding: '16px' },
12
+ },
13
+ });
14
+ (0, vitest_1.bench)('base styles only', () => {
15
+ simpleVariant();
16
+ });
17
+ // Single variant with two slots
18
+ const singleVariant = (0, ssv_1.ssv)({
19
+ slots: ['root', 'icon'],
20
+ base: {
21
+ root: { display: 'inline-flex', alignItems: 'center' },
22
+ icon: { marginRight: '8px' },
23
+ },
24
+ variants: {
25
+ color: {
26
+ primary: {
27
+ root: { color: 'white', backgroundColor: '#1976d2' },
28
+ icon: { color: 'white' },
29
+ },
30
+ secondary: {
31
+ root: { color: 'white', backgroundColor: '#757575' },
32
+ icon: { color: 'white' },
33
+ },
34
+ },
35
+ },
36
+ });
37
+ (0, vitest_1.bench)('single variant (2 slots)', () => {
38
+ singleVariant({ color: 'primary' });
39
+ });
40
+ // Multiple slots (realistic component)
41
+ const multipleSlots = (0, ssv_1.ssv)({
42
+ slots: ['root', 'header', 'body', 'footer'],
43
+ base: {
44
+ root: {
45
+ display: 'flex',
46
+ flexDirection: 'column',
47
+ borderRadius: '8px',
48
+ boxShadow: '0 2px 4px rgba(0,0,0,0.1)',
49
+ },
50
+ header: { padding: '16px', borderBottom: '1px solid #e0e0e0' },
51
+ body: { padding: '16px', flex: '1' },
52
+ footer: { padding: '16px', borderTop: '1px solid #e0e0e0' },
53
+ },
54
+ variants: {
55
+ size: {
56
+ sm: {
57
+ header: { padding: '8px', fontSize: '12px' },
58
+ body: { padding: '8px' },
59
+ footer: { padding: '8px', fontSize: '10px' },
60
+ },
61
+ md: {
62
+ header: { padding: '16px', fontSize: '14px' },
63
+ body: { padding: '16px' },
64
+ footer: { padding: '16px', fontSize: '12px' },
65
+ },
66
+ lg: {
67
+ header: { padding: '24px', fontSize: '16px' },
68
+ body: { padding: '24px' },
69
+ footer: { padding: '24px', fontSize: '14px' },
70
+ },
71
+ },
72
+ },
73
+ });
74
+ (0, vitest_1.bench)('multiple slots (4 slots)', () => {
75
+ multipleSlots({ size: 'md' });
76
+ });
77
+ // Multiple variants across multiple slots
78
+ const multipleVariants = (0, ssv_1.ssv)({
79
+ slots: ['root', 'title', 'description', 'icon'],
80
+ base: {
81
+ root: {
82
+ display: 'flex',
83
+ alignItems: 'flex-start',
84
+ gap: '12px',
85
+ borderRadius: '8px',
86
+ border: '1px solid',
87
+ padding: '16px',
88
+ },
89
+ title: { fontWeight: '600', margin: '0' },
90
+ description: { fontSize: '14px', margin: '4px 0 0 0' },
91
+ icon: { flexShrink: 0 },
92
+ },
93
+ variants: {
94
+ variant: {
95
+ info: {
96
+ root: { backgroundColor: '#e3f2fd', borderColor: '#90caf9' },
97
+ title: { color: '#0d47a1' },
98
+ description: { color: '#1565c0' },
99
+ icon: { color: '#1976d2' },
100
+ },
101
+ success: {
102
+ root: { backgroundColor: '#e8f5e9', borderColor: '#a5d6a7' },
103
+ title: { color: '#1b5e20' },
104
+ description: { color: '#2e7d32' },
105
+ icon: { color: '#388e3c' },
106
+ },
107
+ warning: {
108
+ root: { backgroundColor: '#fff3e0', borderColor: '#ffcc80' },
109
+ title: { color: '#e65100' },
110
+ description: { color: '#ef6c00' },
111
+ icon: { color: '#f57c00' },
112
+ },
113
+ error: {
114
+ root: { backgroundColor: '#ffebee', borderColor: '#ef9a9a' },
115
+ title: { color: '#b71c1c' },
116
+ description: { color: '#c62828' },
117
+ icon: { color: '#d32f2f' },
118
+ },
119
+ },
120
+ size: {
121
+ sm: {
122
+ root: { padding: '12px' },
123
+ title: { fontSize: '14px' },
124
+ description: { fontSize: '12px' },
125
+ icon: { width: '16px', height: '16px' },
126
+ },
127
+ md: {
128
+ root: { padding: '16px' },
129
+ title: { fontSize: '16px' },
130
+ description: { fontSize: '14px' },
131
+ icon: { width: '20px', height: '20px' },
132
+ },
133
+ },
134
+ },
135
+ });
136
+ (0, vitest_1.bench)('multiple variants (4 slots)', () => {
137
+ multipleVariants({ variant: 'info', size: 'md' });
138
+ });
139
+ // With default variants
140
+ const withDefaults = (0, ssv_1.ssv)({
141
+ slots: ['root', 'label', 'input'],
142
+ base: {
143
+ root: { display: 'flex', flexDirection: 'column', gap: '8px' },
144
+ label: { fontSize: '14px', fontWeight: '500' },
145
+ input: { border: '1px solid #ccc', borderRadius: '4px' },
146
+ },
147
+ variants: {
148
+ size: {
149
+ sm: {
150
+ label: { fontSize: '12px' },
151
+ input: { padding: '4px 8px', fontSize: '12px' },
152
+ },
153
+ md: {
154
+ label: { fontSize: '14px' },
155
+ input: { padding: '8px 12px', fontSize: '14px' },
156
+ },
157
+ lg: {
158
+ label: { fontSize: '16px' },
159
+ input: { padding: '12px 16px', fontSize: '16px' },
160
+ },
161
+ },
162
+ variant: {
163
+ outlined: {
164
+ input: { border: '2px solid', borderRadius: '4px' },
165
+ },
166
+ filled: {
167
+ input: { backgroundColor: '#f5f5f5', border: '0' },
168
+ },
169
+ },
170
+ },
171
+ defaultVariants: {
172
+ size: 'md',
173
+ variant: 'outlined',
174
+ },
175
+ });
176
+ (0, vitest_1.bench)('with default variants (no props)', () => {
177
+ withDefaults();
178
+ });
179
+ (0, vitest_1.bench)('with default variants (override one)', () => {
180
+ withDefaults({ size: 'lg' });
181
+ });
182
+ // Compound variants
183
+ const withCompoundVariants = (0, ssv_1.ssv)({
184
+ slots: ['root', 'content', 'icon'],
185
+ base: {
186
+ root: {
187
+ display: 'inline-flex',
188
+ alignItems: 'center',
189
+ gap: '8px',
190
+ borderRadius: '4px',
191
+ transition: 'all 0.2s',
192
+ },
193
+ content: { fontWeight: '500' },
194
+ icon: { display: 'flex' },
195
+ },
196
+ variants: {
197
+ color: {
198
+ primary: {
199
+ root: { backgroundColor: '#1976d2', color: 'white' },
200
+ icon: { color: 'white' },
201
+ },
202
+ secondary: {
203
+ root: { backgroundColor: '#757575', color: 'white' },
204
+ icon: { color: 'white' },
205
+ },
206
+ danger: {
207
+ root: { backgroundColor: '#d32f2f', color: 'white' },
208
+ icon: { color: 'white' },
209
+ },
210
+ },
211
+ size: {
212
+ sm: {
213
+ root: { padding: '4px 8px' },
214
+ content: { fontSize: '12px' },
215
+ icon: { width: '12px', height: '12px' },
216
+ },
217
+ md: {
218
+ root: { padding: '8px 16px' },
219
+ content: { fontSize: '14px' },
220
+ icon: { width: '16px', height: '16px' },
221
+ },
222
+ lg: {
223
+ root: { padding: '12px 24px' },
224
+ content: { fontSize: '16px' },
225
+ icon: { width: '20px', height: '20px' },
226
+ },
227
+ },
228
+ disabled: {
229
+ true: {
230
+ root: { opacity: 0.5, cursor: 'not-allowed' },
231
+ },
232
+ false: {
233
+ root: { cursor: 'pointer' },
234
+ },
235
+ },
236
+ },
237
+ compoundVariants: [
238
+ {
239
+ size: 'lg',
240
+ color: 'primary',
241
+ styles: {
242
+ root: { fontWeight: '700', boxShadow: '0 4px 6px rgba(0,0,0,0.1)' },
243
+ content: { letterSpacing: '0.5px' },
244
+ },
245
+ },
246
+ {
247
+ size: ['sm', 'md'],
248
+ color: 'danger',
249
+ styles: {
250
+ root: { fontWeight: '600' },
251
+ },
252
+ },
253
+ {
254
+ disabled: true,
255
+ color: ['primary', 'secondary', 'danger'],
256
+ styles: {
257
+ root: { pointerEvents: 'none' },
258
+ },
259
+ },
260
+ ],
261
+ });
262
+ (0, vitest_1.bench)('compound variants (no match)', () => {
263
+ withCompoundVariants({ color: 'secondary', size: 'sm', disabled: false });
264
+ });
265
+ (0, vitest_1.bench)('compound variants (single match)', () => {
266
+ withCompoundVariants({ color: 'primary', size: 'lg', disabled: false });
267
+ });
268
+ (0, vitest_1.bench)('compound variants (multiple matches)', () => {
269
+ withCompoundVariants({ color: 'danger', size: 'sm', disabled: true });
270
+ });
271
+ // With styles override
272
+ const withStylesOverride = (0, ssv_1.ssv)({
273
+ slots: ['root', 'inner'],
274
+ base: {
275
+ root: { display: 'flex' },
276
+ inner: { padding: '16px' },
277
+ },
278
+ variants: {
279
+ centered: {
280
+ true: {
281
+ root: { justifyContent: 'center', margin: '0 auto' },
282
+ inner: { textAlign: 'center' },
283
+ },
284
+ },
285
+ },
286
+ });
287
+ (0, vitest_1.bench)('with styles override', () => {
288
+ withStylesOverride({
289
+ centered: true,
290
+ styles: {
291
+ root: { width: '100%', maxWidth: '1200px' },
292
+ inner: { backgroundColor: '#f5f5f5' },
293
+ },
294
+ });
295
+ });
296
+ // Complex real-world modal component
297
+ const complexModal = (0, ssv_1.ssv)({
298
+ slots: ['overlay', 'container', 'header', 'title', 'close', 'content', 'footer', 'actions'],
299
+ base: {
300
+ overlay: {
301
+ position: 'fixed',
302
+ inset: '0',
303
+ backgroundColor: 'rgba(0, 0, 0, 0.5)',
304
+ display: 'flex',
305
+ alignItems: 'center',
306
+ justifyContent: 'center',
307
+ zIndex: 1000,
308
+ },
309
+ container: {
310
+ backgroundColor: 'white',
311
+ borderRadius: '8px',
312
+ boxShadow: '0 10px 25px rgba(0,0,0,0.1)',
313
+ position: 'relative',
314
+ maxHeight: '90vh',
315
+ overflow: 'auto',
316
+ },
317
+ header: {
318
+ padding: '24px',
319
+ borderBottom: '1px solid #e0e0e0',
320
+ display: 'flex',
321
+ alignItems: 'center',
322
+ justifyContent: 'space-between',
323
+ },
324
+ title: {
325
+ fontSize: '20px',
326
+ fontWeight: '600',
327
+ margin: '0',
328
+ },
329
+ close: {
330
+ cursor: 'pointer',
331
+ border: 'none',
332
+ backgroundColor: 'transparent',
333
+ },
334
+ content: {
335
+ padding: '24px',
336
+ },
337
+ footer: {
338
+ padding: '24px',
339
+ borderTop: '1px solid #e0e0e0',
340
+ display: 'flex',
341
+ justifyContent: 'flex-end',
342
+ },
343
+ actions: {
344
+ display: 'flex',
345
+ gap: '8px',
346
+ },
347
+ },
348
+ variants: {
349
+ size: {
350
+ sm: {
351
+ container: { width: '400px' },
352
+ header: { padding: '16px' },
353
+ title: { fontSize: '16px' },
354
+ content: { padding: '16px' },
355
+ footer: { padding: '16px' },
356
+ },
357
+ md: {
358
+ container: { width: '600px' },
359
+ },
360
+ lg: {
361
+ container: { width: '800px' },
362
+ header: { padding: '32px' },
363
+ title: { fontSize: '24px' },
364
+ content: { padding: '32px' },
365
+ footer: { padding: '32px' },
366
+ },
367
+ full: {
368
+ container: { width: '95vw', maxWidth: '1200px' },
369
+ },
370
+ },
371
+ centered: {
372
+ true: {
373
+ content: { textAlign: 'center' },
374
+ },
375
+ },
376
+ },
377
+ compoundVariants: [
378
+ {
379
+ size: 'lg',
380
+ centered: true,
381
+ styles: {
382
+ title: { textAlign: 'center', width: '100%' },
383
+ header: { flexDirection: 'column', gap: '16px' },
384
+ },
385
+ },
386
+ ],
387
+ defaultVariants: {
388
+ size: 'md',
389
+ },
390
+ });
391
+ (0, vitest_1.bench)('complex real-world modal (defaults)', () => {
392
+ complexModal();
393
+ });
394
+ (0, vitest_1.bench)('complex real-world modal (with overrides)', () => {
395
+ complexModal({
396
+ size: 'lg',
397
+ centered: true,
398
+ styles: { overlay: { backdropFilter: 'blur(4px)' } },
399
+ });
400
+ });
401
+ // Many slots (stress test)
402
+ const manySlots = (0, ssv_1.ssv)({
403
+ slots: ['slot1', 'slot2', 'slot3', 'slot4', 'slot5', 'slot6', 'slot7', 'slot8'],
404
+ base: {
405
+ slot1: { display: 'flex', padding: '8px' },
406
+ slot2: { display: 'block', margin: '4px' },
407
+ slot3: { fontSize: '14px', color: '#333' },
408
+ slot4: { fontWeight: '500' },
409
+ slot5: { borderRadius: '4px' },
410
+ slot6: { backgroundColor: '#f5f5f5' },
411
+ slot7: { border: '1px solid #ccc' },
412
+ slot8: { boxShadow: '0 2px 4px rgba(0,0,0,0.1)' },
413
+ },
414
+ variants: {
415
+ theme: {
416
+ light: {
417
+ slot1: { backgroundColor: 'white', color: 'black' },
418
+ slot2: { backgroundColor: '#f9f9f9' },
419
+ slot3: { color: '#666' },
420
+ slot6: { backgroundColor: '#f5f5f5' },
421
+ slot7: { borderColor: '#e0e0e0' },
422
+ },
423
+ dark: {
424
+ slot1: { backgroundColor: '#1a1a1a', color: 'white' },
425
+ slot2: { backgroundColor: '#2a2a2a' },
426
+ slot3: { color: '#aaa' },
427
+ slot6: { backgroundColor: '#333' },
428
+ slot7: { borderColor: '#444' },
429
+ },
430
+ },
431
+ },
432
+ });
433
+ (0, vitest_1.bench)('many slots (8 slots)', () => {
434
+ manySlots({ theme: 'dark' });
435
+ });
436
+ // No variants (edge case)
437
+ const noVariants = (0, ssv_1.ssv)({
438
+ slots: ['root', 'content'],
439
+ base: {
440
+ root: { display: 'flex' },
441
+ content: { padding: '16px' },
442
+ },
443
+ });
444
+ (0, vitest_1.bench)('no variants (optimized path)', () => {
445
+ noVariants({ styles: { root: { margin: '10px' } } });
446
+ });
447
+ // Many CSS properties per slot (stress test)
448
+ const manyProperties = (0, ssv_1.ssv)({
449
+ slots: ['root', 'content'],
450
+ base: {
451
+ root: {
452
+ display: 'flex',
453
+ flexDirection: 'column',
454
+ alignItems: 'center',
455
+ justifyContent: 'center',
456
+ padding: '16px',
457
+ margin: '8px',
458
+ borderRadius: '8px',
459
+ backgroundColor: '#ffffff',
460
+ color: '#000000',
461
+ fontSize: '14px',
462
+ fontWeight: '400',
463
+ lineHeight: '1.5',
464
+ boxShadow: '0 2px 4px rgba(0,0,0,0.1)',
465
+ transition: 'all 0.3s ease',
466
+ border: '1px solid #e0e0e0',
467
+ cursor: 'pointer',
468
+ },
469
+ content: {
470
+ width: '100%',
471
+ minHeight: '100px',
472
+ overflow: 'auto',
473
+ whiteSpace: 'pre-wrap',
474
+ wordBreak: 'break-word',
475
+ },
476
+ },
477
+ variants: {
478
+ theme: {
479
+ light: {
480
+ root: {
481
+ backgroundColor: '#ffffff',
482
+ color: '#000000',
483
+ borderColor: '#e0e0e0',
484
+ },
485
+ content: {
486
+ backgroundColor: '#f9f9f9',
487
+ },
488
+ },
489
+ dark: {
490
+ root: {
491
+ backgroundColor: '#1a1a1a',
492
+ color: '#ffffff',
493
+ borderColor: '#333333',
494
+ },
495
+ content: {
496
+ backgroundColor: '#2a2a2a',
497
+ },
498
+ },
499
+ },
500
+ },
501
+ });
502
+ (0, vitest_1.bench)('many CSS properties per slot', () => {
503
+ manyProperties({ theme: 'dark' });
504
+ });
505
+ });
506
+ //# sourceMappingURL=ssv.bench.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssv.bench.js","sourceRoot":"","sources":["../../src/ssv.bench.ts"],"names":[],"mappings":"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"}
package/dist/cjs/ssv.js CHANGED
@@ -47,8 +47,7 @@ const ssv = (config) => {
47
47
  };
48
48
  }
49
49
  return (props) => {
50
- const { styles, ...rest } = props ?? {};
51
- const mergedProps = defaultVariants ? (0, merge_props_1.mergeProps)(defaultVariants, rest) : rest;
50
+ const mergedProps = (0, merge_props_1.mergeProps)(defaultVariants, props, ['styles']);
52
51
  const result = {};
53
52
  for (const slot of slots) {
54
53
  result[slot] = { ...base?.[slot] };
@@ -57,31 +56,34 @@ const ssv = (config) => {
57
56
  const slotStyle = variants[key]?.[mergedProps[key]];
58
57
  if (slotStyle) {
59
58
  for (const slot in slotStyle) {
60
- result[slot] = { ...result[slot], ...slotStyle[slot] };
59
+ Object.assign(result[slot], slotStyle[slot]);
61
60
  }
62
61
  }
63
62
  }
64
63
  if (compoundVariants) {
65
- for (const { styles: slotStyle, ...compoundVariant } of compoundVariants) {
64
+ for (let i = 0; i < compoundVariants.length; i++) {
65
+ const compound = compoundVariants[i];
66
66
  let matches = true;
67
- for (const key in compoundVariant) {
68
- const value = compoundVariant[key];
67
+ for (const key in compound) {
68
+ if (key === 'styles')
69
+ continue;
70
+ const value = compound[key];
69
71
  const propValue = mergedProps[key];
70
72
  if (Array.isArray(value) ? !value.includes(propValue) : value !== propValue) {
71
73
  matches = false;
72
74
  break;
73
75
  }
74
76
  }
75
- if (matches) {
76
- for (const slot in slotStyle) {
77
- result[slot] = { ...result[slot], ...slotStyle[slot] };
77
+ if (matches && compound.styles) {
78
+ for (const slot in compound.styles) {
79
+ Object.assign(result[slot], compound.styles[slot]);
78
80
  }
79
81
  }
80
82
  }
81
83
  }
82
- if (styles) {
83
- for (const slot in styles) {
84
- result[slot] = { ...result[slot], ...styles[slot] };
84
+ if (props?.styles) {
85
+ for (const slot in props.styles) {
86
+ Object.assign(result[slot], props.styles[slot]);
85
87
  }
86
88
  }
87
89
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"ssv.js","sourceRoot":"","sources":["../../src/ssv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ssv.js","sourceRoot":"","sources":["../../src/ssv.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};