css-variants 1.0.1 → 1.0.3

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
@@ -8,11 +8,11 @@ const push = (data, key, value) => {
8
8
  data[key] = { className: '', style: {} };
9
9
  }
10
10
  if (typeof value === 'string') {
11
- data[key].className = (0, utils_1.concat)(data[key].className, value);
11
+ data[key].className += (data[key].className ? ' ' : '') + value.trim();
12
12
  }
13
13
  else {
14
14
  if (value.className) {
15
- data[key].className = (0, utils_1.concat)(data[key].className, value.className);
15
+ data[key].className += (data[key].className ? ' ' : '') + value.className.trim();
16
16
  }
17
17
  if (value.style) {
18
18
  data[key].style = { ...data[key].style, ...value.style };
@@ -20,40 +20,43 @@ const push = (data, key, value) => {
20
20
  }
21
21
  }
22
22
  };
23
- const csv = ({ slots, base, variants, compoundVariants, defaultVariants, onDone }) => (props) => {
24
- const { classNames: propClassNames, styles: propStyles, ...rest } = props ?? {};
25
- const data = {};
26
- const variantProps = { ...defaultVariants, ...(0, utils_1.compact)(rest) };
27
- for (const [key, value] of (0, utils_1.entries)(base)) {
28
- push(data, key, value);
29
- }
30
- for (const [propKey, propValue] of (0, utils_1.entries)(variantProps)) {
31
- 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)) {
32
30
  push(data, key, value);
33
31
  }
34
- }
35
- for (const { classNames: cvClassNames, styles: cvStyles, ...compoundVariant } of compoundVariants ?? []) {
36
- if ((0, utils_1.match)(compoundVariant, variantProps)) {
37
- for (const [key, value] of (0, utils_1.entries)(cvClassNames))
38
- push(data, key, { className: value });
39
- for (const [key, value] of (0, utils_1.entries)(cvStyles))
40
- 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
+ }
41
36
  }
42
- }
43
- for (const [key, value] of (0, utils_1.entries)(propClassNames))
44
- push(data, key, { className: value });
45
- for (const [key, value] of (0, utils_1.entries)(propStyles))
46
- push(data, key, { style: value });
47
- const css = (0, utils_1.fromEntries)(slots.map((slot) => [
48
- slot,
49
- {
50
- className: data[slot]?.className ?? '',
51
- style: data[slot]?.style ?? {},
52
- },
53
- ]));
54
- if (onDone)
55
- return onDone(css);
56
- 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
+ };
57
60
  };
58
61
  exports.csv = csv;
59
62
  exports.default = exports.csv;
@@ -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/cjs/cv.js CHANGED
@@ -4,42 +4,49 @@ exports.cv = void 0;
4
4
  const utils_1 = require("./utils");
5
5
  const push = (data, value) => {
6
6
  if (typeof value === 'string') {
7
- if (value.trim()) {
8
- data.className = (0, utils_1.concat)(data.className, value);
9
- }
7
+ data.className += (data.className ? ' ' : '') + value.trim();
10
8
  }
11
9
  else {
12
10
  if (value?.className) {
13
- data.className = (0, utils_1.concat)(data.className, value?.className);
11
+ data.className += (data.className ? ' ' : '') + value.className.trim();
14
12
  }
15
13
  if (value?.style) {
16
14
  data.style = { ...data.style, ...value.style };
17
15
  }
18
16
  }
19
17
  };
20
- const cv = ({ base, variants, compoundVariants, defaultVariants, onDone }) => (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);
26
- }
27
- for (const [propKey, propValue] of (0, utils_1.entries)(variantProps)) {
28
- push(css, variants?.[propKey]?.[propValue]);
29
- }
30
- if (compoundVariants?.length) {
31
- for (const { className: cvClassName, style: cvStyle, ...compoundVariant } of compoundVariants) {
32
- if ((0, utils_1.match)(compoundVariant, variantProps)) {
33
- push(css, { 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);
26
+ }
27
+ for (const [propKey, propValue] of (0, utils_1.entries)(variantProps)) {
28
+ const value = variants?.[propKey]?.[propValue];
29
+ if (value) {
30
+ push(css, value);
34
31
  }
35
32
  }
36
- }
37
- if (propClassName || propStyle) {
38
- push(css, { className: propClassName, style: propStyle });
39
- }
40
- if (onDone)
41
- return onDone(css);
42
- return css;
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
+ };
43
50
  };
44
51
  exports.cv = cv;
45
52
  exports.default = exports.cv;
@@ -1 +1 @@
1
- {"version":3,"file":"cv.js","sourceRoot":"","sources":["../../src/cv.ts"],"names":[],"mappings":";;;AAAA,mCAAyD;AAGzD,MAAM,IAAI,GAAG,CAAC,IAAkB,EAAE,KAAsC,EAAE,EAAE;IAC1E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,EAAE,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;QAC3D,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,GAAG,GAAiB,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IAEtD,MAAM,YAAY,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,IAAA,eAAO,EAAC,IAAI,CAAC,EAAE,CAAA;IAE7D,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACjB,CAAC;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,IAAA,eAAO,EAAC,YAAY,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,SAAmB,CAAC,CAAC,CAAA;IACvD,CAAC;IAED,IAAI,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC7B,KAAK,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,IAAI,gBAAgB,EAAE,CAAC;YAC9F,IAAI,IAAA,aAAK,EAAC,eAAe,EAAE,YAAY,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,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,29 +1,37 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cx = void 0;
4
- const utils_1 = require("./utils");
5
4
  const cx = (...args) => {
6
5
  let className = '';
7
- for (const arg of args) {
8
- if (typeof arg === 'string') {
9
- className = (0, utils_1.concat)(className, arg);
10
- continue;
11
- }
12
- if (typeof arg === 'number') {
13
- className = (0, utils_1.concat)(className, arg);
14
- continue;
15
- }
16
- if (arg && typeof arg === 'object') {
17
- if (Array.isArray(arg)) {
18
- className = (0, utils_1.concat)(className, (0, exports.cx)(...arg));
19
- continue;
6
+ let i = 0;
7
+ let arg;
8
+ let next;
9
+ for (i = 0; i < args.length; i++) {
10
+ if ((arg = args[i])) {
11
+ if (typeof arg === 'string') {
12
+ className && (className += ' ');
13
+ className += arg.trim();
20
14
  }
21
- for (const key in arg) {
22
- if (arg[key]) {
23
- className = (0, utils_1.concat)(className, key);
15
+ else if (typeof arg === 'number') {
16
+ className && (className += ' ');
17
+ className += arg;
18
+ }
19
+ else if (typeof arg === 'object') {
20
+ if (Array.isArray(arg)) {
21
+ if ((next = (0, exports.cx)(...arg))) {
22
+ className && (className += ' ');
23
+ className += next;
24
+ }
25
+ }
26
+ else {
27
+ for (const key in arg) {
28
+ if (arg[key]) {
29
+ className && (className += ' ');
30
+ className += key;
31
+ }
32
+ }
24
33
  }
25
34
  }
26
- continue;
27
35
  }
28
36
  }
29
37
  return className;
@@ -1 +1 @@
1
- {"version":3,"file":"cx.js","sourceRoot":"","sources":["../../src/cx.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAIzB,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,IAAA,cAAM,EAAC,SAAS,EAAE,GAAG,CAAC,CAAA;YAClC,SAAQ;QACV,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,SAAS,GAAG,IAAA,cAAM,EAAC,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,IAAA,cAAM,EAAC,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,IAAA,cAAM,EAAC,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;IAClB,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,GAAgB,CAAA;IACpB,IAAI,IAAY,CAAA;IAEhB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,SAAS,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,CAAA;gBAC/B,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,CAAA;YACzB,CAAC;iBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACnC,SAAS,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,CAAA;gBAC/B,SAAS,IAAI,GAAG,CAAA;YAClB,CAAC;iBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACnC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,IAAI,CAAC,IAAI,GAAG,IAAA,UAAE,EAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;wBACxB,SAAS,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,CAAA;wBAC/B,SAAS,IAAI,IAAI,CAAA;oBACnB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;wBACtB,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;4BACb,SAAS,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,CAAA;4BAC/B,SAAS,IAAI,GAAG,CAAA;wBAClB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAjCY,QAAA,EAAE,MAiCd;AAED,kBAAe,UAAE,CAAA"}
@@ -2,6 +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;
7
- export declare const concat: (arg1: string, arg2: string | number) => string;
package/dist/cjs/utils.js CHANGED
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.concat = exports.match = exports.compact = exports.entries = void 0;
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 = {};
@@ -13,11 +17,9 @@ function fromEntries(entries) {
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;
@@ -39,12 +41,4 @@ const match = (obj1, obj2) => {
39
41
  return true;
40
42
  };
41
43
  exports.match = match;
42
- const concat = (arg1, arg2) => {
43
- const str1 = arg1.trim();
44
- const str2 = typeof arg2 === 'number' ? arg2 + '' : arg2.trim();
45
- if (str1 && str2)
46
- return str1 + ' ' + str2;
47
- return str1 + str2;
48
- };
49
- exports.concat = concat;
50
44
  //# sourceMappingURL=utils.js.map
@@ -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,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,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;AAEM,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,IAAqB,EAAE,EAAE;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IACxB,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAC/D,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,GAAG,GAAG,GAAG,IAAI,CAAA;IAC1C,OAAO,IAAI,GAAG,IAAI,CAAA;AACpB,CAAC,CAAA;AALY,QAAA,MAAM,UAKlB"}
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,15 +1,15 @@
1
- import { compact, concat, entries, fromEntries, match } from './utils';
1
+ import { compact, entries, fromEntries, match } from './utils';
2
2
  const push = (data, key, value) => {
3
3
  if (value) {
4
4
  if (data[key] === undefined) {
5
5
  data[key] = { className: '', style: {} };
6
6
  }
7
7
  if (typeof value === 'string') {
8
- data[key].className = concat(data[key].className, value);
8
+ data[key].className += (data[key].className ? ' ' : '') + value.trim();
9
9
  }
10
10
  else {
11
11
  if (value.className) {
12
- data[key].className = concat(data[key].className, value.className);
12
+ data[key].className += (data[key].className ? ' ' : '') + value.className.trim();
13
13
  }
14
14
  if (value.style) {
15
15
  data[key].style = { ...data[key].style, ...value.style };
@@ -17,40 +17,43 @@ const push = (data, key, value) => {
17
17
  }
18
18
  }
19
19
  };
20
- export const csv = ({ slots, base, variants, compoundVariants, defaultVariants, onDone }) => (props) => {
21
- const { classNames: propClassNames, styles: propStyles, ...rest } = props ?? {};
22
- const data = {};
23
- const variantProps = { ...defaultVariants, ...compact(rest) };
24
- for (const [key, value] of entries(base)) {
25
- push(data, key, value);
26
- }
27
- for (const [propKey, propValue] of entries(variantProps)) {
28
- 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)) {
29
27
  push(data, key, value);
30
28
  }
31
- }
32
- for (const { classNames: cvClassNames, styles: cvStyles, ...compoundVariant } of compoundVariants ?? []) {
33
- if (match(compoundVariant, variantProps)) {
34
- for (const [key, value] of entries(cvClassNames))
35
- push(data, key, { className: value });
36
- for (const [key, value] of entries(cvStyles))
37
- 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
+ }
38
33
  }
39
- }
40
- for (const [key, value] of entries(propClassNames))
41
- push(data, key, { className: value });
42
- for (const [key, value] of entries(propStyles))
43
- push(data, key, { style: value });
44
- const css = fromEntries(slots.map((slot) => [
45
- slot,
46
- {
47
- className: data[slot]?.className ?? '',
48
- style: data[slot]?.style ?? {},
49
- },
50
- ]));
51
- if (onDone)
52
- return onDone(css);
53
- 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
+ };
54
57
  };
55
58
  export default csv;
56
59
  //# sourceMappingURL=csv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/csv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGtE,MAAM,IAAI,GAAG,CACX,IAAoC,EACpC,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,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;QAC1C,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAC1D,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;YACpE,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;AAED,MAAM,CAAC,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,GAAwD,EAAE,CAAA;IAEpE,MAAM,YAAY,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IAE7D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,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,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACzD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,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,KAAK,CAAC,eAAe,EAAE,YAAY,CAAC,EAAE,CAAC;YACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,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,OAAO,CAAC,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,OAAO,CAAC,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,OAAO,CAAC,UAAU,CAAC;QAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IAEjF,MAAM,GAAG,GAAG,WAAW,CACrB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAClB,IAAI;QACJ;YACE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,IAAI,EAAE;YACtC,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;AAEH,eAAe,GAAG,CAAA"}
1
+ {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/csv.ts"],"names":[],"mappings":"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"}
package/dist/esm/cv.js CHANGED
@@ -1,42 +1,49 @@
1
- import { compact, concat, entries, match } from './utils';
1
+ import { compact, entries, match } from './utils';
2
2
  const push = (data, value) => {
3
3
  if (typeof value === 'string') {
4
- if (value.trim()) {
5
- data.className = concat(data.className, value);
6
- }
4
+ data.className += (data.className ? ' ' : '') + value.trim();
7
5
  }
8
6
  else {
9
7
  if (value?.className) {
10
- data.className = concat(data.className, value?.className);
8
+ data.className += (data.className ? ' ' : '') + value.className.trim();
11
9
  }
12
10
  if (value?.style) {
13
11
  data.style = { ...data.style, ...value.style };
14
12
  }
15
13
  }
16
14
  };
17
- export const cv = ({ base, variants, compoundVariants, defaultVariants, onDone }) => (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);
23
- }
24
- for (const [propKey, propValue] of entries(variantProps)) {
25
- push(css, variants?.[propKey]?.[propValue]);
26
- }
27
- if (compoundVariants?.length) {
28
- for (const { className: cvClassName, style: cvStyle, ...compoundVariant } of compoundVariants) {
29
- if (match(compoundVariant, variantProps)) {
30
- push(css, { 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);
23
+ }
24
+ for (const [propKey, propValue] of entries(variantProps)) {
25
+ const value = variants?.[propKey]?.[propValue];
26
+ if (value) {
27
+ push(css, value);
31
28
  }
32
29
  }
33
- }
34
- if (propClassName || propStyle) {
35
- push(css, { className: propClassName, style: propStyle });
36
- }
37
- if (onDone)
38
- return onDone(css);
39
- return css;
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
+ };
40
47
  };
41
48
  export default cv;
42
49
  //# sourceMappingURL=cv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cv.js","sourceRoot":"","sources":["../../src/cv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGzD,MAAM,IAAI,GAAG,CAAC,IAAkB,EAAE,KAAsC,EAAE,EAAE;IAC1E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,EAAE,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;QAC3D,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,GAAG,GAAiB,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IAEtD,MAAM,YAAY,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IAE7D,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACjB,CAAC;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,SAAmB,CAAC,CAAC,CAAA;IACvD,CAAC;IAED,IAAI,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC7B,KAAK,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,IAAI,gBAAgB,EAAE,CAAC;YAC9F,IAAI,KAAK,CAAC,eAAe,EAAE,YAAY,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,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,26 +1,34 @@
1
- import { concat } from './utils';
2
1
  export const cx = (...args) => {
3
2
  let className = '';
4
- for (const arg of args) {
5
- if (typeof arg === 'string') {
6
- className = concat(className, arg);
7
- continue;
8
- }
9
- if (typeof arg === 'number') {
10
- className = concat(className, arg);
11
- continue;
12
- }
13
- if (arg && typeof arg === 'object') {
14
- if (Array.isArray(arg)) {
15
- className = concat(className, cx(...arg));
16
- continue;
3
+ let i = 0;
4
+ let arg;
5
+ let next;
6
+ for (i = 0; i < args.length; i++) {
7
+ if ((arg = args[i])) {
8
+ if (typeof arg === 'string') {
9
+ className && (className += ' ');
10
+ className += arg.trim();
17
11
  }
18
- for (const key in arg) {
19
- if (arg[key]) {
20
- className = concat(className, key);
12
+ else if (typeof arg === 'number') {
13
+ className && (className += ' ');
14
+ className += arg;
15
+ }
16
+ else if (typeof arg === 'object') {
17
+ if (Array.isArray(arg)) {
18
+ if ((next = cx(...arg))) {
19
+ className && (className += ' ');
20
+ className += next;
21
+ }
22
+ }
23
+ else {
24
+ for (const key in arg) {
25
+ if (arg[key]) {
26
+ className && (className += ' ');
27
+ className += key;
28
+ }
29
+ }
21
30
  }
22
31
  }
23
- continue;
24
32
  }
25
33
  }
26
34
  return className;
@@ -1 +1 @@
1
- {"version":3,"file":"cx.js","sourceRoot":"","sources":["../../src/cx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAIhC,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;IAClB,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,GAAgB,CAAA;IACpB,IAAI,IAAY,CAAA;IAEhB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,SAAS,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,CAAA;gBAC/B,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,CAAA;YACzB,CAAC;iBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACnC,SAAS,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,CAAA;gBAC/B,SAAS,IAAI,GAAG,CAAA;YAClB,CAAC;iBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACnC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;wBACxB,SAAS,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,CAAA;wBAC/B,SAAS,IAAI,IAAI,CAAA;oBACnB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;wBACtB,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;4BACb,SAAS,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,CAAA;4BAC/B,SAAS,IAAI,GAAG,CAAA;wBAClB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,eAAe,EAAE,CAAA"}
@@ -2,6 +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;
7
- export declare const concat: (arg1: string, arg2: string | number) => string;
package/dist/esm/utils.js CHANGED
@@ -1,4 +1,8 @@
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
8
  for (let i = 0; i < entries.length; i++) {
@@ -8,11 +12,9 @@ export function fromEntries(entries) {
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;
@@ -32,11 +34,4 @@ export const match = (obj1, obj2) => {
32
34
  }
33
35
  return true;
34
36
  };
35
- export const concat = (arg1, arg2) => {
36
- const str1 = arg1.trim();
37
- const str2 = typeof arg2 === 'number' ? arg2 + '' : arg2.trim();
38
- if (str1 && str2)
39
- return str1 + ' ' + str2;
40
- return str1 + str2;
41
- };
42
37
  //# sourceMappingURL=utils.js.map
@@ -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,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,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;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,IAAqB,EAAE,EAAE;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IACxB,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAC/D,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,GAAG,GAAG,GAAG,IAAI,CAAA;IAC1C,OAAO,IAAI,GAAG,IAAI,CAAA;AACpB,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.1",
3
+ "version": "1.0.3",
4
4
  "description": "Variant API for plain class names",
5
5
  "type": "module",
6
6
  "main": "dist/cjs/index.js",