css-variants 2.2.0 → 2.2.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.
@@ -1,262 +0,0 @@
1
- import { bench, describe } from 'vitest';
2
- import { sv } from './sv';
3
- describe('sv benchmarks', () => {
4
- // Simple base style only
5
- const simpleVariant = sv({
6
- base: { color: 'black', fontSize: '16px' },
7
- });
8
- bench('base style only', () => {
9
- simpleVariant();
10
- });
11
- // Single variant
12
- const singleVariant = sv({
13
- base: { fontFamily: 'sans-serif' },
14
- variants: {
15
- color: {
16
- primary: { color: 'blue', backgroundColor: '#e3f2fd' },
17
- secondary: { color: 'gray', backgroundColor: '#f5f5f5' },
18
- danger: { color: 'red', backgroundColor: '#ffebee' },
19
- },
20
- },
21
- });
22
- bench('single variant', () => {
23
- singleVariant({ color: 'primary' });
24
- });
25
- // Multiple variants
26
- const multipleVariants = sv({
27
- base: { display: 'inline-flex', alignItems: 'center', borderRadius: '4px' },
28
- variants: {
29
- color: {
30
- primary: { color: 'blue', backgroundColor: '#1976d2' },
31
- secondary: { color: 'white', backgroundColor: '#757575' },
32
- danger: { color: 'white', backgroundColor: '#d32f2f' },
33
- },
34
- size: {
35
- sm: { padding: '4px 8px', fontSize: '12px' },
36
- md: { padding: '8px 16px', fontSize: '14px' },
37
- lg: { padding: '12px 24px', fontSize: '16px' },
38
- },
39
- fontWeight: {
40
- normal: { fontWeight: '400' },
41
- medium: { fontWeight: '500' },
42
- bold: { fontWeight: '700' },
43
- },
44
- },
45
- });
46
- bench('multiple variants', () => {
47
- multipleVariants({ color: 'primary', size: 'md', fontWeight: 'medium' });
48
- });
49
- // With default variants
50
- const withDefaults = sv({
51
- base: { display: 'flex', transition: 'all 0.2s' },
52
- variants: {
53
- color: {
54
- primary: { color: 'blue', backgroundColor: '#1976d2' },
55
- secondary: { color: 'white', backgroundColor: '#757575' },
56
- danger: { color: 'white', backgroundColor: '#d32f2f' },
57
- },
58
- size: {
59
- sm: { padding: '4px 8px', fontSize: '12px' },
60
- md: { padding: '8px 16px', fontSize: '14px' },
61
- lg: { padding: '12px 24px', fontSize: '16px' },
62
- },
63
- },
64
- defaultVariants: {
65
- color: 'primary',
66
- size: 'md',
67
- },
68
- });
69
- bench('with default variants (no props)', () => {
70
- withDefaults();
71
- });
72
- bench('with default variants (override one)', () => {
73
- withDefaults({ size: 'lg' });
74
- });
75
- // Compound variants
76
- const withCompoundVariants = sv({
77
- base: { display: 'inline-flex', borderRadius: '4px' },
78
- variants: {
79
- color: {
80
- primary: { color: 'white', backgroundColor: '#1976d2' },
81
- secondary: { color: 'white', backgroundColor: '#757575' },
82
- danger: { color: 'white', backgroundColor: '#d32f2f' },
83
- },
84
- size: {
85
- sm: { padding: '4px 8px', fontSize: '12px' },
86
- md: { padding: '8px 16px', fontSize: '14px' },
87
- lg: { padding: '12px 24px', fontSize: '16px' },
88
- },
89
- disabled: {
90
- true: { opacity: 0.5, cursor: 'not-allowed' },
91
- false: { cursor: 'pointer' },
92
- },
93
- },
94
- compoundVariants: [
95
- {
96
- size: 'lg',
97
- color: 'primary',
98
- style: { fontWeight: '700', boxShadow: '0 4px 6px rgba(0,0,0,0.1)' },
99
- },
100
- {
101
- size: ['sm', 'md'],
102
- color: 'danger',
103
- style: { fontWeight: '600' },
104
- },
105
- {
106
- disabled: true,
107
- color: ['primary', 'secondary', 'danger'],
108
- style: { pointerEvents: 'none' },
109
- },
110
- ],
111
- });
112
- bench('compound variants (no match)', () => {
113
- withCompoundVariants({ color: 'secondary', size: 'sm', disabled: false });
114
- });
115
- bench('compound variants (single match)', () => {
116
- withCompoundVariants({ color: 'primary', size: 'lg', disabled: false });
117
- });
118
- bench('compound variants (multiple matches)', () => {
119
- withCompoundVariants({ color: 'danger', size: 'sm', disabled: true });
120
- });
121
- // With style override
122
- const withStyleOverride = sv({
123
- base: { color: 'black' },
124
- variants: {
125
- color: {
126
- primary: { backgroundColor: '#1976d2' },
127
- secondary: { backgroundColor: '#757575' },
128
- },
129
- },
130
- });
131
- bench('with style override', () => {
132
- withStyleOverride({
133
- color: 'primary',
134
- style: { margin: '8px', border: '1px solid #ccc' },
135
- });
136
- });
137
- // Complex real-world example
138
- const complexCard = sv({
139
- base: {
140
- display: 'flex',
141
- flexDirection: 'column',
142
- borderRadius: '8px',
143
- boxShadow: '0 2px 4px rgba(0,0,0,0.1)',
144
- overflow: 'hidden',
145
- transition: 'all 0.3s ease',
146
- },
147
- variants: {
148
- elevation: {
149
- low: { boxShadow: '0 1px 3px rgba(0,0,0,0.1)' },
150
- medium: { boxShadow: '0 4px 6px rgba(0,0,0,0.1)' },
151
- high: { boxShadow: '0 10px 20px rgba(0,0,0,0.15)' },
152
- },
153
- padding: {
154
- none: { padding: '0' },
155
- sm: { padding: '8px' },
156
- md: { padding: '16px' },
157
- lg: { padding: '24px' },
158
- },
159
- variant: {
160
- outlined: { border: '1px solid #e0e0e0', boxShadow: 'none' },
161
- filled: { backgroundColor: '#f5f5f5' },
162
- elevated: {},
163
- },
164
- },
165
- compoundVariants: [
166
- {
167
- elevation: 'high',
168
- variant: 'elevated',
169
- style: {
170
- transform: 'translateY(-2px)',
171
- boxShadow: '0 12px 24px rgba(0,0,0,0.2)',
172
- },
173
- },
174
- {
175
- variant: 'outlined',
176
- padding: ['sm', 'md'],
177
- style: { borderRadius: '4px' },
178
- },
179
- ],
180
- defaultVariants: {
181
- elevation: 'medium',
182
- padding: 'md',
183
- variant: 'elevated',
184
- },
185
- });
186
- bench('complex real-world card (defaults)', () => {
187
- complexCard();
188
- });
189
- bench('complex real-world card (with overrides)', () => {
190
- complexCard({
191
- elevation: 'high',
192
- padding: 'lg',
193
- variant: 'elevated',
194
- style: { width: '100%', maxWidth: '600px' },
195
- });
196
- });
197
- // Boolean variants
198
- const booleanVariants = sv({
199
- base: { display: 'inline-block' },
200
- variants: {
201
- disabled: {
202
- true: { opacity: 0.5, cursor: 'not-allowed', pointerEvents: 'none' },
203
- false: { cursor: 'pointer' },
204
- },
205
- loading: {
206
- true: { opacity: 0.7, cursor: 'wait' },
207
- false: {},
208
- },
209
- fullWidth: {
210
- true: { width: '100%', display: 'block' },
211
- false: { width: 'auto' },
212
- },
213
- },
214
- });
215
- bench('boolean variants', () => {
216
- booleanVariants({ disabled: true, loading: false, fullWidth: true });
217
- });
218
- // No variants (edge case)
219
- const noVariants = sv({
220
- base: { color: 'black', fontSize: '14px' },
221
- });
222
- bench('no variants (optimized path)', () => {
223
- noVariants({ style: { margin: '10px' } });
224
- });
225
- // Many CSS properties (stress test)
226
- const manyProperties = sv({
227
- base: {
228
- display: 'flex',
229
- flexDirection: 'column',
230
- alignItems: 'center',
231
- justifyContent: 'center',
232
- padding: '16px',
233
- margin: '8px',
234
- borderRadius: '8px',
235
- backgroundColor: '#ffffff',
236
- color: '#000000',
237
- fontSize: '14px',
238
- fontWeight: '400',
239
- lineHeight: '1.5',
240
- boxShadow: '0 2px 4px rgba(0,0,0,0.1)',
241
- transition: 'all 0.3s ease',
242
- },
243
- variants: {
244
- theme: {
245
- light: {
246
- backgroundColor: '#ffffff',
247
- color: '#000000',
248
- borderColor: '#e0e0e0',
249
- },
250
- dark: {
251
- backgroundColor: '#1a1a1a',
252
- color: '#ffffff',
253
- borderColor: '#333333',
254
- },
255
- },
256
- },
257
- });
258
- bench('many CSS properties', () => {
259
- manyProperties({ theme: 'dark' });
260
- });
261
- });
262
- //# sourceMappingURL=sv.bench.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sv.bench.js","sourceRoot":"","sources":["../../src/sv.bench.ts"],"names":[],"mappings":"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"}