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.
package/dist/cjs/cx.js CHANGED
@@ -30,7 +30,8 @@ function toVal(input) {
30
30
  }
31
31
  for (const key in input) {
32
32
  if (input[key]) {
33
- result && (result += ' ');
33
+ if (result)
34
+ result += ' ';
34
35
  result += key;
35
36
  }
36
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cx.js","sourceRoot":"","sources":["../../src/cx.ts"],"names":[],"mappings":";AAAA,yCAAyC;;AA+CzC,gBAgBC;AAzDD,SAAS,KAAK,CAAC,KAAiB;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IAED,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QACxE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,MAAM,GAAG,EAAE,CAAA;IAEf,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,IAAI,aAAyB,CAAA;QAC7B,IAAI,YAAoB,CAAA;QACxB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;oBAC1C,IAAI,MAAM;wBAAE,MAAM,IAAI,GAAG,CAAA;oBACzB,MAAM,IAAI,YAAY,CAAA;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAA;YACzB,MAAM,IAAI,GAAG,CAAA;QACf,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAgB,EAAE,CAAC,GAAG,IAAkB;IACtC,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,aAAyB,CAAA;IAC7B,IAAI,YAAoB,CAAA;IAExB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;gBAC1C,IAAI,MAAM;oBAAE,MAAM,IAAI,GAAG,CAAA;gBACzB,MAAM,IAAI,YAAY,CAAA;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,kBAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"cx.js","sourceRoot":"","sources":["../../src/cx.ts"],"names":[],"mappings":";AAAA,yCAAyC;;AA+CzC,gBAgBC;AAzDD,SAAS,KAAK,CAAC,KAAiB;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IAED,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QACxE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,MAAM,GAAG,EAAE,CAAA;IAEf,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,IAAI,aAAyB,CAAA;QAC7B,IAAI,YAAoB,CAAA;QACxB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;oBAC1C,IAAI,MAAM;wBAAE,MAAM,IAAI,GAAG,CAAA;oBACzB,MAAM,IAAI,YAAY,CAAA;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACf,IAAI,MAAM;gBAAE,MAAM,IAAI,GAAG,CAAA;YACzB,MAAM,IAAI,GAAG,CAAA;QACf,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAgB,EAAE,CAAC,GAAG,IAAkB;IACtC,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,aAAyB,CAAA;IAC7B,IAAI,YAAoB,CAAA;IAExB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;gBAC1C,IAAI,MAAM;oBAAE,MAAM,IAAI,GAAG,CAAA;gBACzB,MAAM,IAAI,YAAY,CAAA;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,kBAAe,EAAE,CAAA"}
package/dist/esm/cx.js CHANGED
@@ -27,7 +27,8 @@ function toVal(input) {
27
27
  }
28
28
  for (const key in input) {
29
29
  if (input[key]) {
30
- result && (result += ' ');
30
+ if (result)
31
+ result += ' ';
31
32
  result += key;
32
33
  }
33
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cx.js","sourceRoot":"","sources":["../../src/cx.ts"],"names":[],"mappings":"AAAA,yCAAyC;AAMzC,SAAS,KAAK,CAAC,KAAiB;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IAED,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QACxE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,MAAM,GAAG,EAAE,CAAA;IAEf,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,IAAI,aAAyB,CAAA;QAC7B,IAAI,YAAoB,CAAA;QACxB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;oBAC1C,IAAI,MAAM;wBAAE,MAAM,IAAI,GAAG,CAAA;oBACzB,MAAM,IAAI,YAAY,CAAA;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAA;YACzB,MAAM,IAAI,GAAG,CAAA;QACf,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,EAAE,CAAC,GAAG,IAAkB;IACtC,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,aAAyB,CAAA;IAC7B,IAAI,YAAoB,CAAA;IAExB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;gBAC1C,IAAI,MAAM;oBAAE,MAAM,IAAI,GAAG,CAAA;gBACzB,MAAM,IAAI,YAAY,CAAA;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"cx.js","sourceRoot":"","sources":["../../src/cx.ts"],"names":[],"mappings":"AAAA,yCAAyC;AAMzC,SAAS,KAAK,CAAC,KAAiB;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IAED,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QACxE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,MAAM,GAAG,EAAE,CAAA;IAEf,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,IAAI,aAAyB,CAAA;QAC7B,IAAI,YAAoB,CAAA;QACxB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;oBAC1C,IAAI,MAAM;wBAAE,MAAM,IAAI,GAAG,CAAA;oBACzB,MAAM,IAAI,YAAY,CAAA;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACf,IAAI,MAAM;gBAAE,MAAM,IAAI,GAAG,CAAA;YACzB,MAAM,IAAI,GAAG,CAAA;QACf,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,EAAE,CAAC,GAAG,IAAkB;IACtC,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,aAAyB,CAAA;IAC7B,IAAI,YAAoB,CAAA;IAExB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;gBAC1C,IAAI,MAAM;oBAAE,MAAM,IAAI,GAAG,CAAA;gBACzB,MAAM,IAAI,YAAY,CAAA;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,eAAe,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "css-variants",
3
- "version": "2.2.0",
3
+ "version": "2.2.2",
4
4
  "description": "Lightweight helpers to compose class names and inline styles using variants. Zero runtime deps, small bundle, and first-class TypeScript support.",
5
+ "homepage": "https://css-variants.vercel.app",
5
6
  "main": "dist/cjs/index.js",
6
7
  "module": "dist/esm/index.js",
7
8
  "types": "dist/esm/index.d.ts",
@@ -21,7 +22,9 @@
21
22
  "scripts": {
22
23
  "lint": "eslint .",
23
24
  "test": "vitest run --coverage",
24
- "bench": "vitest bench",
25
+ "bench": "vitest bench ./src",
26
+ "bench:cva": "yarn add class-variance-authority --no-save && vitest bench ./benchmark/cva.bench.ts --outputJson ./benchmark/cva.bench.json --run",
27
+ "bench:tailwind-variants": "yarn add tailwind-variants --no-save && vitest bench ./benchmark/tailwind-variants.bench.ts --outputJson ./benchmark/tailwind-variants.bench.json --run",
25
28
  "build:cjs": "tsc --project tsconfig.cjs.json",
26
29
  "build:esm": "tsc --project tsconfig.esm.json",
27
30
  "build": "rimraf ./dist && yarn build:cjs && yarn build:esm"
@@ -54,18 +57,20 @@
54
57
  ],
55
58
  "license": "MIT",
56
59
  "devDependencies": {
57
- "@eslint/js": "^9.17.0",
58
- "@types/eslint__js": "^8.42.3",
60
+ "@eslint/js": "^9.39.1",
59
61
  "@types/node": "^20.12.12",
60
62
  "@vitest/coverage-v8": "^4.0.15",
61
63
  "csstype": "^3.1.3",
62
- "eslint": "^9.17.0",
63
- "eslint-config-prettier": "^9.1.0",
64
- "eslint-plugin-prettier": "^5.2.1",
65
- "prettier": "^3.4.2",
64
+ "eslint": "^9.39.1",
65
+ "eslint-config-prettier": "^10.1.8",
66
+ "eslint-plugin-prettier": "^5.5.4",
67
+ "prettier": "^3.7.4",
66
68
  "rimraf": "^5.0.7",
67
- "typescript": "^5.4.5",
68
- "typescript-eslint": "^7.16.1",
69
+ "typescript": "^5.9.3",
70
+ "typescript-eslint": "^8.49.0",
69
71
  "vitest": "^4.0.15"
72
+ },
73
+ "dependencies": {
74
+ "tailwind-variants": "^3.2.2"
70
75
  }
71
76
  }
@@ -1 +0,0 @@
1
- export {};
@@ -1,207 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const cv_1 = require("./cv");
5
- (0, vitest_1.describe)('cv benchmarks', () => {
6
- // Simple base class only
7
- const simpleVariant = (0, cv_1.cv)({
8
- base: 'base-class',
9
- });
10
- (0, vitest_1.bench)('base class only', () => {
11
- simpleVariant();
12
- });
13
- // Single variant
14
- const singleVariant = (0, cv_1.cv)({
15
- base: 'btn',
16
- variants: {
17
- color: {
18
- primary: 'bg-blue-500 text-white',
19
- secondary: 'bg-gray-500 text-white',
20
- danger: 'bg-red-500 text-white',
21
- },
22
- },
23
- });
24
- (0, vitest_1.bench)('single variant', () => {
25
- singleVariant({ color: 'primary' });
26
- });
27
- // Multiple variants
28
- const multipleVariants = (0, cv_1.cv)({
29
- base: 'btn rounded transition',
30
- variants: {
31
- color: {
32
- primary: 'bg-blue-500 text-white hover:bg-blue-600',
33
- secondary: 'bg-gray-500 text-white hover:bg-gray-600',
34
- danger: 'bg-red-500 text-white hover:bg-red-600',
35
- },
36
- size: {
37
- sm: 'px-2 py-1 text-sm',
38
- md: 'px-4 py-2 text-base',
39
- lg: 'px-6 py-3 text-lg',
40
- },
41
- variant: {
42
- solid: 'shadow-md',
43
- outline: 'border-2 bg-transparent',
44
- ghost: 'bg-transparent',
45
- },
46
- },
47
- });
48
- (0, vitest_1.bench)('multiple variants', () => {
49
- multipleVariants({ color: 'primary', size: 'md', variant: 'solid' });
50
- });
51
- // With default variants
52
- const withDefaults = (0, cv_1.cv)({
53
- base: 'btn rounded transition',
54
- variants: {
55
- color: {
56
- primary: 'bg-blue-500 text-white hover:bg-blue-600',
57
- secondary: 'bg-gray-500 text-white hover:bg-gray-600',
58
- danger: 'bg-red-500 text-white hover:bg-red-600',
59
- },
60
- size: {
61
- sm: 'px-2 py-1 text-sm',
62
- md: 'px-4 py-2 text-base',
63
- lg: 'px-6 py-3 text-lg',
64
- },
65
- },
66
- defaultVariants: {
67
- color: 'primary',
68
- size: 'md',
69
- },
70
- });
71
- (0, vitest_1.bench)('with default variants (no props)', () => {
72
- withDefaults();
73
- });
74
- (0, vitest_1.bench)('with default variants (override one)', () => {
75
- withDefaults({ size: 'lg' });
76
- });
77
- // Compound variants
78
- const withCompoundVariants = (0, cv_1.cv)({
79
- base: 'btn rounded transition',
80
- variants: {
81
- color: {
82
- primary: 'bg-blue-500 text-white',
83
- secondary: 'bg-gray-500 text-white',
84
- danger: 'bg-red-500 text-white',
85
- },
86
- size: {
87
- sm: 'px-2 py-1 text-sm',
88
- md: 'px-4 py-2 text-base',
89
- lg: 'px-6 py-3 text-lg',
90
- },
91
- disabled: {
92
- true: 'opacity-50 cursor-not-allowed',
93
- false: 'cursor-pointer',
94
- },
95
- },
96
- compoundVariants: [
97
- {
98
- size: 'lg',
99
- color: 'primary',
100
- className: 'font-bold shadow-lg',
101
- },
102
- {
103
- size: ['sm', 'md'],
104
- color: 'danger',
105
- className: 'font-semibold',
106
- },
107
- {
108
- disabled: true,
109
- color: ['primary', 'secondary', 'danger'],
110
- className: 'pointer-events-none',
111
- },
112
- ],
113
- });
114
- (0, vitest_1.bench)('compound variants (no match)', () => {
115
- withCompoundVariants({ color: 'secondary', size: 'sm', disabled: false });
116
- });
117
- (0, vitest_1.bench)('compound variants (single match)', () => {
118
- withCompoundVariants({ color: 'primary', size: 'lg', disabled: false });
119
- });
120
- (0, vitest_1.bench)('compound variants (multiple matches)', () => {
121
- withCompoundVariants({ color: 'danger', size: 'sm', disabled: true });
122
- });
123
- // With className override
124
- const withClassName = (0, cv_1.cv)({
125
- base: 'btn',
126
- variants: {
127
- color: {
128
- primary: 'bg-blue-500',
129
- secondary: 'bg-gray-500',
130
- },
131
- },
132
- });
133
- (0, vitest_1.bench)('with className override', () => {
134
- withClassName({ color: 'primary', className: 'custom-class extra-class' });
135
- });
136
- // Complex real-world example
137
- const complexButton = (0, cv_1.cv)({
138
- base: 'inline-flex items-center justify-center rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',
139
- variants: {
140
- variant: {
141
- default: 'bg-primary text-primary-foreground hover:bg-primary/90',
142
- destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive/90',
143
- outline: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',
144
- secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',
145
- ghost: 'hover:bg-accent hover:text-accent-foreground',
146
- link: 'text-primary underline-offset-4 hover:underline',
147
- },
148
- size: {
149
- default: 'h-10 px-4 py-2',
150
- sm: 'h-9 rounded-md px-3',
151
- lg: 'h-11 rounded-md px-8',
152
- icon: 'h-10 w-10',
153
- },
154
- },
155
- compoundVariants: [
156
- {
157
- variant: 'destructive',
158
- size: 'lg',
159
- className: 'font-bold',
160
- },
161
- {
162
- variant: ['outline', 'ghost'],
163
- size: ['sm', 'default'],
164
- className: 'font-normal',
165
- },
166
- ],
167
- defaultVariants: {
168
- variant: 'default',
169
- size: 'default',
170
- },
171
- });
172
- (0, vitest_1.bench)('complex real-world button (defaults)', () => {
173
- complexButton();
174
- });
175
- (0, vitest_1.bench)('complex real-world button (with overrides)', () => {
176
- complexButton({ variant: 'destructive', size: 'lg', className: 'w-full' });
177
- });
178
- // Boolean variants
179
- const booleanVariants = (0, cv_1.cv)({
180
- base: 'btn',
181
- variants: {
182
- disabled: {
183
- true: 'opacity-50 cursor-not-allowed',
184
- false: 'cursor-pointer',
185
- },
186
- loading: {
187
- true: 'animate-pulse pointer-events-none',
188
- false: '',
189
- },
190
- fullWidth: {
191
- true: 'w-full',
192
- false: 'w-auto',
193
- },
194
- },
195
- });
196
- (0, vitest_1.bench)('boolean variants', () => {
197
- booleanVariants({ disabled: true, loading: false, fullWidth: true });
198
- });
199
- // No variants (edge case)
200
- const noVariants = (0, cv_1.cv)({
201
- base: 'simple-class',
202
- });
203
- (0, vitest_1.bench)('no variants (optimized path)', () => {
204
- noVariants({ className: 'extra' });
205
- });
206
- });
207
- //# sourceMappingURL=cv.bench.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cv.bench.js","sourceRoot":"","sources":["../../src/cv.bench.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};