css-variants 1.0.0 → 1.0.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/csv.js CHANGED
@@ -1,19 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.csv = void 0;
4
- const cx_1 = require("./cx");
5
4
  const utils_1 = require("./utils");
6
5
  const push = (data, key, value) => {
7
6
  if (value) {
8
7
  if (data[key] === undefined) {
9
- data[key] = { classNames: [], style: {} };
8
+ data[key] = { className: '', style: {} };
10
9
  }
11
10
  if (typeof value === 'string') {
12
- data[key].classNames.push(value);
11
+ data[key].className += (data[key].className ? ' ' : '') + value.trim();
13
12
  }
14
13
  else {
15
14
  if (value.className) {
16
- data[key].classNames.push(value.className);
15
+ data[key].className += (data[key].className ? ' ' : '') + value.className.trim();
17
16
  }
18
17
  if (value.style) {
19
18
  data[key].style = { ...data[key].style, ...value.style };
@@ -21,40 +20,43 @@ const push = (data, key, value) => {
21
20
  }
22
21
  }
23
22
  };
24
- const csv = ({ slots, base, variants, compoundVariants, defaultVariants, onDone }) => (props) => {
25
- const { classNames: propClassNames, styles: propStyles, ...rest } = props ?? {};
26
- const data = {};
27
- const variantProps = { ...defaultVariants, ...(0, utils_1.compact)(rest) };
28
- for (const [key, value] of (0, utils_1.entries)(base)) {
29
- push(data, key, value);
30
- }
31
- for (const [propKey, propValue] of (0, utils_1.entries)(variantProps)) {
32
- for (const [key, value] of (0, utils_1.entries)(variants?.[propKey]?.[propValue])) {
23
+ const csv = (config) => {
24
+ const { slots, base, variants, compoundVariants, defaultVariants, onDone } = config;
25
+ return (props) => {
26
+ const { classNames: propClassNames, styles: propStyles, ...rest } = props ?? {};
27
+ const data = {};
28
+ const variantProps = { ...defaultVariants, ...(0, utils_1.compact)(rest) };
29
+ for (const [key, value] of (0, utils_1.entries)(base)) {
33
30
  push(data, key, value);
34
31
  }
35
- }
36
- for (const { classNames: cvClassNames, styles: cvStyles, ...compoundVariant } of compoundVariants ?? []) {
37
- if ((0, utils_1.match)(compoundVariant, variantProps)) {
38
- for (const [key, value] of (0, utils_1.entries)(cvClassNames))
39
- push(data, key, { className: value });
40
- for (const [key, value] of (0, utils_1.entries)(cvStyles))
41
- push(data, key, { style: value });
32
+ for (const [propKey, propValue] of (0, utils_1.entries)(variantProps)) {
33
+ for (const [key, value] of (0, utils_1.entries)(variants?.[propKey]?.[propValue])) {
34
+ push(data, key, value);
35
+ }
42
36
  }
43
- }
44
- for (const [key, value] of (0, utils_1.entries)(propClassNames))
45
- push(data, key, { className: value });
46
- for (const [key, value] of (0, utils_1.entries)(propStyles))
47
- push(data, key, { style: value });
48
- const css = (0, utils_1.fromEntries)(slots.map((slot) => [
49
- slot,
50
- {
51
- className: (0, cx_1.cx)(data[slot]?.classNames),
52
- style: data[slot]?.style ?? {},
53
- },
54
- ]));
55
- if (onDone)
56
- return onDone(css);
57
- return css;
37
+ for (const { classNames: cvClassNames, styles: cvStyles, ...compoundVariant } of compoundVariants ?? []) {
38
+ if ((0, utils_1.match)(compoundVariant, variantProps)) {
39
+ for (const [key, value] of (0, utils_1.entries)(cvClassNames))
40
+ push(data, key, { className: value });
41
+ for (const [key, value] of (0, utils_1.entries)(cvStyles))
42
+ push(data, key, { style: value });
43
+ }
44
+ }
45
+ for (const [key, value] of (0, utils_1.entries)(propClassNames))
46
+ push(data, key, { className: value });
47
+ for (const [key, value] of (0, utils_1.entries)(propStyles))
48
+ push(data, key, { style: value });
49
+ const css = (0, utils_1.fromEntries)(slots.map((slot) => [
50
+ slot,
51
+ {
52
+ className: data[slot]?.className ?? '',
53
+ style: data[slot]?.style ?? {},
54
+ },
55
+ ]));
56
+ if (onDone)
57
+ return onDone(css);
58
+ return css;
59
+ };
58
60
  };
59
61
  exports.csv = csv;
60
62
  exports.default = exports.csv;
@@ -1 +1 @@
1
- {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/csv.ts"],"names":[],"mappings":";;;AAAA,6BAAyB;AACzB,mCAA8D;AAG9D,MAAM,IAAI,GAAG,CACX,IAAsE,EACtE,GAAM,EACN,KAAsC,EACtC,EAAE;IACF,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;QAC3C,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YAC5C,CAAC;YAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAEM,MAAM,GAAG,GACd,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE,CACzE,CAAC,KAAK,EAAE,EAAE;IACR,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,CAAA;IAE/E,MAAM,IAAI,GAA0F,EAAE,CAAA;IAEtG,MAAM,YAAY,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,IAAA,eAAO,EAAC,IAAI,CAAC,EAAE,CAAA;IAE7D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAA,eAAO,EAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;IACxB,CAAC;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,IAAA,eAAO,EAAC,YAAY,CAAC,EAAE,CAAC;QACzD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAA,eAAO,EAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,SAAmB,CAAC,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,IAAI,gBAAgB,IAAI,EAAE,EAAE,CAAC;QACxG,IAAI,IAAA,aAAK,EAAC,eAAe,EAAE,YAAY,CAAC,EAAE,CAAC;YACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAA,eAAO,EAAC,YAAY,CAAC;gBAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;YACvF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAA,eAAO,EAAC,QAAQ,CAAC;gBAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QACjF,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAA,eAAO,EAAC,cAAc,CAAC;QAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;IACzF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAA,eAAO,EAAC,UAAU,CAAC;QAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IAEjF,MAAM,GAAG,GAAG,IAAA,mBAAW,EACrB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAClB,IAAI;QACJ;YACE,SAAS,EAAE,IAAA,OAAE,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE;SAC/B;KACF,CAAC,CACH,CAAA;IAED,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;IAE9B,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AA1CU,QAAA,GAAG,OA0Cb;AAEH,kBAAe,WAAG,CAAA"}
1
+ {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/csv.ts"],"names":[],"mappings":"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"}
package/dist/cjs/cv.js CHANGED
@@ -1,43 +1,52 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cv = void 0;
4
- const cx_1 = require("./cx");
5
4
  const utils_1 = require("./utils");
6
5
  const push = (data, value) => {
7
6
  if (typeof value === 'string') {
8
- data.classNames.push(value);
7
+ data.className += (data.className ? ' ' : '') + value.trim();
9
8
  }
10
9
  else {
11
10
  if (value?.className) {
12
- data.classNames.push(value.className);
11
+ data.className += (data.className ? ' ' : '') + value.className.trim();
13
12
  }
14
13
  if (value?.style) {
15
14
  data.style = { ...data.style, ...value.style };
16
15
  }
17
16
  }
18
17
  };
19
- const cv = ({ base, variants, compoundVariants, defaultVariants, onDone }) => (props) => {
20
- const { className: propClassName, style: propStyle, ...rest } = props ?? {};
21
- const data = { classNames: [], style: {} };
22
- const variantProps = { ...defaultVariants, ...(0, utils_1.compact)(rest) };
23
- if (base) {
24
- push(data, base);
25
- }
26
- for (const [propKey, propValue] of (0, utils_1.entries)(variantProps)) {
27
- push(data, variants?.[propKey]?.[propValue]);
28
- }
29
- for (const { className: cvClassName, style: cvStyle, ...compoundVariant } of compoundVariants ?? []) {
30
- if ((0, utils_1.match)(compoundVariant, variantProps)) {
31
- push(data, { className: cvClassName, style: cvStyle });
18
+ const cv = (config) => {
19
+ const { base, variants, compoundVariants, defaultVariants, onDone } = config;
20
+ return (props) => {
21
+ const { className: propClassName, style: propStyle, ...rest } = props ?? {};
22
+ const css = { className: '', style: {} };
23
+ const variantProps = { ...defaultVariants, ...(0, utils_1.compact)(rest) };
24
+ if (base) {
25
+ push(css, base);
32
26
  }
33
- }
34
- if (propClassName || propStyle) {
35
- push(data, { className: propClassName, style: propStyle });
36
- }
37
- const css = { className: (0, cx_1.cx)(data.classNames), style: data.style };
38
- if (onDone)
39
- return onDone(css);
40
- return css;
27
+ for (const [propKey, propValue] of (0, utils_1.entries)(variantProps)) {
28
+ const value = variants?.[propKey]?.[propValue];
29
+ if (value) {
30
+ push(css, value);
31
+ }
32
+ }
33
+ if (compoundVariants?.length) {
34
+ for (const { className: cvClassName, style: cvStyle, ...compoundVariant } of compoundVariants) {
35
+ if ((0, utils_1.match)(compoundVariant, variantProps)) {
36
+ push(css, { className: cvClassName, style: cvStyle });
37
+ }
38
+ }
39
+ }
40
+ if (propClassName) {
41
+ css.className += (css.className ? ' ' : '') + propClassName;
42
+ }
43
+ if (propStyle) {
44
+ css.style = { ...css.style, ...propStyle };
45
+ }
46
+ if (onDone)
47
+ return onDone(css);
48
+ return css;
49
+ };
41
50
  };
42
51
  exports.cv = cv;
43
52
  exports.default = exports.cv;
@@ -1 +1 @@
1
- {"version":3,"file":"cv.js","sourceRoot":"","sources":["../../src/cv.ts"],"names":[],"mappings":";;;AAAA,6BAAyB;AACzB,mCAAiD;AAGjD,MAAM,IAAI,GAAG,CAAC,IAAoD,EAAE,KAAsC,EAAE,EAAE;IAC5G,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,EAAE,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACvC,CAAC;QAED,IAAI,KAAK,EAAE,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;QAChD,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAEM,MAAM,EAAE,GACb,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE,CAClE,CAAC,KAAK,EAAE,EAAE;IACR,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,CAAA;IAE3E,MAAM,IAAI,GAAmD,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IAE1F,MAAM,YAAY,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,IAAA,eAAO,EAAC,IAAI,CAAC,EAAE,CAAA;IAE7D,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAClB,CAAC;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,IAAA,eAAO,EAAC,YAAY,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,SAAmB,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,KAAK,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,IAAI,gBAAgB,IAAI,EAAE,EAAE,CAAC;QACpG,IAAI,IAAA,aAAK,EAAC,eAAe,EAAE,YAAY,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IAED,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,MAAM,GAAG,GAAG,EAAE,SAAS,EAAE,IAAA,OAAE,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;IAEjE,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;IAE9B,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAhCU,QAAA,EAAE,MAgCZ;AAEH,kBAAe,UAAE,CAAA"}
1
+ {"version":3,"file":"cv.js","sourceRoot":"","sources":["../../src/cv.ts"],"names":[],"mappings":"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"}
package/dist/cjs/cx.js CHANGED
@@ -1,31 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cx = void 0;
4
- const concat = (str1, str2) => {
5
- const str = typeof str2 === 'number' ? str2.toString() : str2.trim();
6
- if (str && str1)
7
- return str1 + ' ' + str;
8
- return str1 || str;
9
- };
10
4
  const cx = (...args) => {
11
5
  let className = '';
12
6
  for (const arg of args) {
13
7
  if (typeof arg === 'string') {
14
- className = concat(className, arg);
8
+ className += (className ? ' ' : '') + arg.trim();
15
9
  continue;
16
10
  }
17
11
  if (typeof arg === 'number') {
18
- className = concat(className, arg);
12
+ className += (className ? ' ' : '') + arg;
19
13
  continue;
20
14
  }
21
15
  if (arg && typeof arg === 'object') {
22
16
  if (Array.isArray(arg)) {
23
- className = concat(className, (0, exports.cx)(...arg));
17
+ className += (className ? ' ' : '') + (0, exports.cx)(...arg);
24
18
  continue;
25
19
  }
26
20
  for (const key in arg) {
27
21
  if (arg[key]) {
28
- className = concat(className, key);
22
+ className += (className ? ' ' : '') + key.trim();
29
23
  }
30
24
  }
31
25
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"cx.js","sourceRoot":"","sources":["../../src/cx.ts"],"names":[],"mappings":";;;AAEA,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,IAAqB,EAAE,EAAE;IACrD,MAAM,GAAG,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACpE,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,IAAI,GAAG,GAAG,GAAG,GAAG,CAAA;IACxC,OAAO,IAAI,IAAI,GAAG,CAAA;AACpB,CAAC,CAAA;AAEM,MAAM,EAAE,GAAG,CAAC,GAAG,IAAqB,EAAE,EAAE;IAC7C,IAAI,SAAS,GAAG,EAAE,CAAA;IAElB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;YAClC,SAAQ;QACV,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;YAClC,SAAQ;QACV,CAAC;QAED,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,IAAA,UAAE,EAAC,GAAG,GAAG,CAAC,CAAC,CAAA;gBACzC,SAAQ;YACV,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;gBACtB,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACb,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;gBACpC,CAAC;YACH,CAAC;YAED,SAAQ;QACV,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AA/BY,QAAA,EAAE,MA+Bd;AAED,kBAAe,UAAE,CAAA"}
1
+ {"version":3,"file":"cx.js","sourceRoot":"","sources":["../../src/cx.ts"],"names":[],"mappings":";;;AAEO,MAAM,EAAE,GAAG,CAAC,GAAG,IAAqB,EAAE,EAAE;IAC7C,IAAI,SAAS,GAAG,EAAE,CAAA;IAElB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;YAChD,SAAQ;QACV,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;YACzC,SAAQ;QACV,CAAC;QAED,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAA,UAAE,EAAC,GAAG,GAAG,CAAC,CAAA;gBAChD,SAAQ;YACV,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;gBACtB,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACb,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;gBAClD,CAAC;YACH,CAAC;YAED,SAAQ;QACV,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AA/BY,QAAA,EAAE,MA+Bd;AAED,kBAAe,UAAE,CAAA"}
@@ -2,5 +2,5 @@ export declare const entries: <T extends object, TK extends Extract<keyof T, str
2
2
  export declare function fromEntries<A extends symbol | string | number, B>(entries: [A, B][]): {
3
3
  [key in A]: B;
4
4
  };
5
- export declare const compact: <T extends Record<string, unknown>>(obj?: T) => T;
5
+ export declare const compact: <T extends Record<string, unknown>>(obj: T) => T;
6
6
  export declare const match: <T1 extends object, T2 extends object>(obj1: T1, obj2: T2) => boolean;
package/dist/cjs/utils.js CHANGED
@@ -2,22 +2,24 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.match = exports.compact = exports.entries = void 0;
4
4
  exports.fromEntries = fromEntries;
5
- const entries = (obj) => (obj ? Object.entries(obj) : []);
5
+ const entries = (obj) => {
6
+ if (!obj)
7
+ return [];
8
+ return Object.entries(obj);
9
+ };
6
10
  exports.entries = entries;
7
11
  function fromEntries(entries) {
8
12
  const result = {};
9
- for (const [key, value] of entries) {
10
- result[key] = value;
13
+ for (let i = 0; i < entries.length; i++) {
14
+ result[entries[i][0]] = entries[i][1];
11
15
  }
12
16
  return result;
13
17
  }
14
18
  const compact = (obj) => {
15
19
  const newObj = {};
16
- if (obj) {
17
- for (const k in obj) {
18
- if (obj[k] !== undefined) {
19
- newObj[k] = obj[k];
20
- }
20
+ for (const k in obj) {
21
+ if (obj[k] !== undefined) {
22
+ newObj[k] = obj[k];
21
23
  }
22
24
  }
23
25
  return newObj;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;AASA,kCAMC;AAfM,MAAM,OAAO,GAAG,CAMrB,GAAO,EACG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAa,CAAA;AAP9C,QAAA,OAAO,WAOuC;AAE3D,SAAgB,WAAW,CAAwC,OAAiB;IAClF,MAAM,MAAM,GAAsB,EAAuB,CAAA;IACzD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACrB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAEM,MAAM,OAAO,GAAG,CAAoC,GAAO,EAAE,EAAE;IACpE,MAAM,MAAM,GAAG,EAAO,CAAA;IAEtB,IAAI,GAAG,EAAE,CAAC;QACR,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YACpB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAZY,QAAA,OAAO,WAYnB;AAEM,MAAM,KAAK,GAAG,CAAuC,IAAQ,EAAE,IAAQ,EAAE,EAAE;IAChF,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAwB,CAAC,CAAA;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAA;QACxC,CAAC;aAAM,CAAC;YACN,IAAK,IAAgB,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAA;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAXY,QAAA,KAAK,SAWjB"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;AAYA,kCAMC;AAlBM,MAAM,OAAO,GAAG,CAMrB,GAAO,EACG,EAAE;IACZ,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAA;IACnB,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAa,CAAA;AACxC,CAAC,CAAA;AAVY,QAAA,OAAO,WAUnB;AAED,SAAgB,WAAW,CAAwC,OAAiB;IAClF,MAAM,MAAM,GAAsB,EAAuB,CAAA;IACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAEM,MAAM,OAAO,GAAG,CAAoC,GAAM,EAAE,EAAE;IACnE,MAAM,MAAM,GAAG,EAAO,CAAA;IAEtB,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;QACpB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAVY,QAAA,OAAO,WAUnB;AAEM,MAAM,KAAK,GAAG,CAAuC,IAAQ,EAAE,IAAQ,EAAE,EAAE;IAChF,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAwB,CAAC,CAAA;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAA;QACxC,CAAC;aAAM,CAAC;YACN,IAAK,IAAgB,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAA;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAXY,QAAA,KAAK,SAWjB"}
package/dist/esm/csv.js CHANGED
@@ -1,16 +1,15 @@
1
- import { cx } from './cx';
2
1
  import { compact, entries, fromEntries, match } from './utils';
3
2
  const push = (data, key, value) => {
4
3
  if (value) {
5
4
  if (data[key] === undefined) {
6
- data[key] = { classNames: [], style: {} };
5
+ data[key] = { className: '', style: {} };
7
6
  }
8
7
  if (typeof value === 'string') {
9
- data[key].classNames.push(value);
8
+ data[key].className += (data[key].className ? ' ' : '') + value.trim();
10
9
  }
11
10
  else {
12
11
  if (value.className) {
13
- data[key].classNames.push(value.className);
12
+ data[key].className += (data[key].className ? ' ' : '') + value.className.trim();
14
13
  }
15
14
  if (value.style) {
16
15
  data[key].style = { ...data[key].style, ...value.style };
@@ -18,40 +17,43 @@ const push = (data, key, value) => {
18
17
  }
19
18
  }
20
19
  };
21
- export const csv = ({ slots, base, variants, compoundVariants, defaultVariants, onDone }) => (props) => {
22
- const { classNames: propClassNames, styles: propStyles, ...rest } = props ?? {};
23
- const data = {};
24
- const variantProps = { ...defaultVariants, ...compact(rest) };
25
- for (const [key, value] of entries(base)) {
26
- push(data, key, value);
27
- }
28
- for (const [propKey, propValue] of entries(variantProps)) {
29
- for (const [key, value] of entries(variants?.[propKey]?.[propValue])) {
20
+ export const csv = (config) => {
21
+ const { slots, base, variants, compoundVariants, defaultVariants, onDone } = config;
22
+ return (props) => {
23
+ const { classNames: propClassNames, styles: propStyles, ...rest } = props ?? {};
24
+ const data = {};
25
+ const variantProps = { ...defaultVariants, ...compact(rest) };
26
+ for (const [key, value] of entries(base)) {
30
27
  push(data, key, value);
31
28
  }
32
- }
33
- for (const { classNames: cvClassNames, styles: cvStyles, ...compoundVariant } of compoundVariants ?? []) {
34
- if (match(compoundVariant, variantProps)) {
35
- for (const [key, value] of entries(cvClassNames))
36
- push(data, key, { className: value });
37
- for (const [key, value] of entries(cvStyles))
38
- push(data, key, { style: value });
29
+ for (const [propKey, propValue] of entries(variantProps)) {
30
+ for (const [key, value] of entries(variants?.[propKey]?.[propValue])) {
31
+ push(data, key, value);
32
+ }
39
33
  }
40
- }
41
- for (const [key, value] of entries(propClassNames))
42
- push(data, key, { className: value });
43
- for (const [key, value] of entries(propStyles))
44
- push(data, key, { style: value });
45
- const css = fromEntries(slots.map((slot) => [
46
- slot,
47
- {
48
- className: cx(data[slot]?.classNames),
49
- style: data[slot]?.style ?? {},
50
- },
51
- ]));
52
- if (onDone)
53
- return onDone(css);
54
- return css;
34
+ for (const { classNames: cvClassNames, styles: cvStyles, ...compoundVariant } of compoundVariants ?? []) {
35
+ if (match(compoundVariant, variantProps)) {
36
+ for (const [key, value] of entries(cvClassNames))
37
+ push(data, key, { className: value });
38
+ for (const [key, value] of entries(cvStyles))
39
+ push(data, key, { style: value });
40
+ }
41
+ }
42
+ for (const [key, value] of entries(propClassNames))
43
+ push(data, key, { className: value });
44
+ for (const [key, value] of entries(propStyles))
45
+ push(data, key, { style: value });
46
+ const css = fromEntries(slots.map((slot) => [
47
+ slot,
48
+ {
49
+ className: data[slot]?.className ?? '',
50
+ style: data[slot]?.style ?? {},
51
+ },
52
+ ]));
53
+ if (onDone)
54
+ return onDone(css);
55
+ return css;
56
+ };
55
57
  };
56
58
  export default csv;
57
59
  //# sourceMappingURL=csv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/csv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/csv.ts"],"names":[],"mappings":"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"}
package/dist/esm/cv.js CHANGED
@@ -1,40 +1,49 @@
1
- import { cx } from './cx';
2
1
  import { compact, entries, match } from './utils';
3
2
  const push = (data, value) => {
4
3
  if (typeof value === 'string') {
5
- data.classNames.push(value);
4
+ data.className += (data.className ? ' ' : '') + value.trim();
6
5
  }
7
6
  else {
8
7
  if (value?.className) {
9
- data.classNames.push(value.className);
8
+ data.className += (data.className ? ' ' : '') + value.className.trim();
10
9
  }
11
10
  if (value?.style) {
12
11
  data.style = { ...data.style, ...value.style };
13
12
  }
14
13
  }
15
14
  };
16
- export const cv = ({ base, variants, compoundVariants, defaultVariants, onDone }) => (props) => {
17
- const { className: propClassName, style: propStyle, ...rest } = props ?? {};
18
- const data = { classNames: [], style: {} };
19
- const variantProps = { ...defaultVariants, ...compact(rest) };
20
- if (base) {
21
- push(data, base);
22
- }
23
- for (const [propKey, propValue] of entries(variantProps)) {
24
- push(data, variants?.[propKey]?.[propValue]);
25
- }
26
- for (const { className: cvClassName, style: cvStyle, ...compoundVariant } of compoundVariants ?? []) {
27
- if (match(compoundVariant, variantProps)) {
28
- push(data, { className: cvClassName, style: cvStyle });
15
+ export const cv = (config) => {
16
+ const { base, variants, compoundVariants, defaultVariants, onDone } = config;
17
+ return (props) => {
18
+ const { className: propClassName, style: propStyle, ...rest } = props ?? {};
19
+ const css = { className: '', style: {} };
20
+ const variantProps = { ...defaultVariants, ...compact(rest) };
21
+ if (base) {
22
+ push(css, base);
29
23
  }
30
- }
31
- if (propClassName || propStyle) {
32
- push(data, { className: propClassName, style: propStyle });
33
- }
34
- const css = { className: cx(data.classNames), style: data.style };
35
- if (onDone)
36
- return onDone(css);
37
- return css;
24
+ for (const [propKey, propValue] of entries(variantProps)) {
25
+ const value = variants?.[propKey]?.[propValue];
26
+ if (value) {
27
+ push(css, value);
28
+ }
29
+ }
30
+ if (compoundVariants?.length) {
31
+ for (const { className: cvClassName, style: cvStyle, ...compoundVariant } of compoundVariants) {
32
+ if (match(compoundVariant, variantProps)) {
33
+ push(css, { className: cvClassName, style: cvStyle });
34
+ }
35
+ }
36
+ }
37
+ if (propClassName) {
38
+ css.className += (css.className ? ' ' : '') + propClassName;
39
+ }
40
+ if (propStyle) {
41
+ css.style = { ...css.style, ...propStyle };
42
+ }
43
+ if (onDone)
44
+ return onDone(css);
45
+ return css;
46
+ };
38
47
  };
39
48
  export default cv;
40
49
  //# sourceMappingURL=cv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cv.js","sourceRoot":"","sources":["../../src/cv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGjD,MAAM,IAAI,GAAG,CAAC,IAAoD,EAAE,KAAsC,EAAE,EAAE;IAC5G,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,EAAE,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACvC,CAAC;QAED,IAAI,KAAK,EAAE,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;QAChD,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,EAAE,GACb,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE,CAClE,CAAC,KAAK,EAAE,EAAE;IACR,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,CAAA;IAE3E,MAAM,IAAI,GAAmD,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IAE1F,MAAM,YAAY,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IAE7D,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAClB,CAAC;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,SAAmB,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,KAAK,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,IAAI,gBAAgB,IAAI,EAAE,EAAE,CAAC;QACpG,IAAI,KAAK,CAAC,eAAe,EAAE,YAAY,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IAED,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,MAAM,GAAG,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;IAEjE,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;IAE9B,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAEH,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"cv.js","sourceRoot":"","sources":["../../src/cv.ts"],"names":[],"mappings":"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"}
package/dist/esm/cx.js CHANGED
@@ -1,28 +1,22 @@
1
- const concat = (str1, str2) => {
2
- const str = typeof str2 === 'number' ? str2.toString() : str2.trim();
3
- if (str && str1)
4
- return str1 + ' ' + str;
5
- return str1 || str;
6
- };
7
1
  export const cx = (...args) => {
8
2
  let className = '';
9
3
  for (const arg of args) {
10
4
  if (typeof arg === 'string') {
11
- className = concat(className, arg);
5
+ className += (className ? ' ' : '') + arg.trim();
12
6
  continue;
13
7
  }
14
8
  if (typeof arg === 'number') {
15
- className = concat(className, arg);
9
+ className += (className ? ' ' : '') + arg;
16
10
  continue;
17
11
  }
18
12
  if (arg && typeof arg === 'object') {
19
13
  if (Array.isArray(arg)) {
20
- className = concat(className, cx(...arg));
14
+ className += (className ? ' ' : '') + cx(...arg);
21
15
  continue;
22
16
  }
23
17
  for (const key in arg) {
24
18
  if (arg[key]) {
25
- className = concat(className, key);
19
+ className += (className ? ' ' : '') + key.trim();
26
20
  }
27
21
  }
28
22
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"cx.js","sourceRoot":"","sources":["../../src/cx.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,IAAqB,EAAE,EAAE;IACrD,MAAM,GAAG,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACpE,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,IAAI,GAAG,GAAG,GAAG,GAAG,CAAA;IACxC,OAAO,IAAI,IAAI,GAAG,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAqB,EAAE,EAAE;IAC7C,IAAI,SAAS,GAAG,EAAE,CAAA;IAElB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;YAClC,SAAQ;QACV,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;YAClC,SAAQ;QACV,CAAC;QAED,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;gBACzC,SAAQ;YACV,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;gBACtB,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACb,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;gBACpC,CAAC;YACH,CAAC;YAED,SAAQ;QACV,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"cx.js","sourceRoot":"","sources":["../../src/cx.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAqB,EAAE,EAAE;IAC7C,IAAI,SAAS,GAAG,EAAE,CAAA;IAElB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;YAChD,SAAQ;QACV,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;YACzC,SAAQ;QACV,CAAC;QAED,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAA;gBAChD,SAAQ;YACV,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;gBACtB,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACb,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;gBAClD,CAAC;YACH,CAAC;YAED,SAAQ;QACV,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,eAAe,EAAE,CAAA"}
@@ -2,5 +2,5 @@ export declare const entries: <T extends object, TK extends Extract<keyof T, str
2
2
  export declare function fromEntries<A extends symbol | string | number, B>(entries: [A, B][]): {
3
3
  [key in A]: B;
4
4
  };
5
- export declare const compact: <T extends Record<string, unknown>>(obj?: T) => T;
5
+ export declare const compact: <T extends Record<string, unknown>>(obj: T) => T;
6
6
  export declare const match: <T1 extends object, T2 extends object>(obj1: T1, obj2: T2) => boolean;
package/dist/esm/utils.js CHANGED
@@ -1,18 +1,20 @@
1
- export const entries = (obj) => (obj ? Object.entries(obj) : []);
1
+ export const entries = (obj) => {
2
+ if (!obj)
3
+ return [];
4
+ return Object.entries(obj);
5
+ };
2
6
  export function fromEntries(entries) {
3
7
  const result = {};
4
- for (const [key, value] of entries) {
5
- result[key] = value;
8
+ for (let i = 0; i < entries.length; i++) {
9
+ result[entries[i][0]] = entries[i][1];
6
10
  }
7
11
  return result;
8
12
  }
9
13
  export const compact = (obj) => {
10
14
  const newObj = {};
11
- if (obj) {
12
- for (const k in obj) {
13
- if (obj[k] !== undefined) {
14
- newObj[k] = obj[k];
15
- }
15
+ for (const k in obj) {
16
+ if (obj[k] !== undefined) {
17
+ newObj[k] = obj[k];
16
18
  }
17
19
  }
18
20
  return newObj;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,CAMrB,GAAO,EACG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAa,CAAA;AAE3D,MAAM,UAAU,WAAW,CAAwC,OAAiB;IAClF,MAAM,MAAM,GAAsB,EAAuB,CAAA;IACzD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACrB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAoC,GAAO,EAAE,EAAE;IACpE,MAAM,MAAM,GAAG,EAAO,CAAA;IAEtB,IAAI,GAAG,EAAE,CAAC;QACR,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YACpB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAAuC,IAAQ,EAAE,IAAQ,EAAE,EAAE;IAChF,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAwB,CAAC,CAAA;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAA;QACxC,CAAC;aAAM,CAAC;YACN,IAAK,IAAgB,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAA;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,CAMrB,GAAO,EACG,EAAE;IACZ,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAA;IACnB,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAa,CAAA;AACxC,CAAC,CAAA;AAED,MAAM,UAAU,WAAW,CAAwC,OAAiB;IAClF,MAAM,MAAM,GAAsB,EAAuB,CAAA;IACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAoC,GAAM,EAAE,EAAE;IACnE,MAAM,MAAM,GAAG,EAAO,CAAA;IAEtB,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;QACpB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAAuC,IAAQ,EAAE,IAAQ,EAAE,EAAE;IAChF,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAwB,CAAC,CAAA;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAA;QACxC,CAAC;aAAM,CAAC;YACN,IAAK,IAAgB,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAA;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "css-variants",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Variant API for plain class names",
5
5
  "type": "module",
6
6
  "main": "dist/cjs/index.js",