@salty-css/core 0.0.1-alpha.8 → 0.0.1-alpha.80
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/README.md +105 -26
- package/bin/bin-util.d.ts +2 -0
- package/bin/index.cjs +2 -0
- package/bin/index.d.ts +2 -0
- package/bin/index.js +3 -0
- package/bin/logger.d.ts +2 -0
- package/bin/main.cjs +10 -0
- package/bin/main.d.ts +1 -0
- package/bin/main.js +232 -0
- package/bin/prettier.d.ts +1 -0
- package/compiler/get-files.d.ts +3 -0
- package/compiler/index.cjs +9 -9
- package/compiler/index.d.ts +5 -5
- package/compiler/index.js +176 -142
- package/config/config-types.d.ts +10 -4
- package/dash-case-DKzpenwY.cjs +1 -0
- package/dash-case-DMQMcCO6.js +19 -0
- package/generator/index.cjs +1 -1
- package/generator/index.js +30 -20
- package/generator/style-generator.d.ts +9 -8
- package/index-84Wroia-.cjs +1 -0
- package/index-D_732b92.js +4 -0
- package/package.json +23 -3
- package/parse-templates-DUUSaubj.js +96 -0
- package/parse-templates-DVK3iZIl.cjs +8 -0
- package/pascal-case-BQpR5PdN.js +6 -0
- package/pascal-case-iWoaJWwT.cjs +1 -0
- package/react-styled-file-CGVf5n1B.js +11 -0
- package/react-styled-file-Dkubsz-U.cjs +8 -0
- package/react-vanilla-file-CCXbsjIb.js +18 -0
- package/react-vanilla-file-CG_WJLam.cjs +15 -0
- package/salty.config-BhBY_oOk.js +10 -0
- package/salty.config-Dk6ZcCxI.cjs +7 -0
- package/types/index.d.ts +13 -4
- package/util/camel-case.d.ts +1 -0
- package/util/index.cjs +1 -1
- package/util/index.d.ts +2 -0
- package/util/index.js +7 -15
- package/util/module-type.d.ts +1 -0
- package/util/pascal-case.d.ts +1 -0
- package/parse-templates-BOSK0Tb6.js +0 -90
- package/parse-templates-BY1Xai-_.cjs +0 -8
@@ -0,0 +1,96 @@
|
|
1
|
+
import { d as O } from "./dash-case-DMQMcCO6.js";
|
2
|
+
const W = (s, r) => {
|
3
|
+
if (typeof s != "string") return { result: s };
|
4
|
+
if (!r) return { result: s };
|
5
|
+
const o = [];
|
6
|
+
return Object.values(r).forEach((i) => {
|
7
|
+
const { pattern: p, transform: c } = i;
|
8
|
+
s = s.replace(p, (a) => {
|
9
|
+
const { value: e, css: m } = c(a);
|
10
|
+
return m && o.push(m), e;
|
11
|
+
});
|
12
|
+
}), { result: s, additionalCss: o };
|
13
|
+
}, N = (s) => typeof s != "string" ? { result: s } : /\{[^{}]+\}/g.test(s) ? { result: s.replace(/\{([^{}]+)\}/g, (...i) => `var(--${O(i[1].replaceAll(".", "-"))})`) } : { result: s }, d = (s, r, o, i) => {
|
14
|
+
if (!s) return "";
|
15
|
+
const p = [], c = Object.entries(s).reduce((e, [m, t]) => {
|
16
|
+
const n = m.trim();
|
17
|
+
if (typeof t == "function" && (t = t()), typeof t == "object") {
|
18
|
+
if (!t) return e;
|
19
|
+
if (n === "variants")
|
20
|
+
return Object.entries(t).forEach(([f, u]) => {
|
21
|
+
u && Object.entries(u).forEach(([b, l]) => {
|
22
|
+
if (!l) return;
|
23
|
+
const j = `${r}.${f}-${b}`, y = d(l, j, o);
|
24
|
+
p.push(y);
|
25
|
+
});
|
26
|
+
}), e;
|
27
|
+
if (n === "defaultVariants")
|
28
|
+
return e;
|
29
|
+
if (n === "compoundVariants")
|
30
|
+
return t.forEach((f) => {
|
31
|
+
const { css: u, ...b } = f, l = Object.entries(b).reduce((y, [V, w]) => `${y}.${V}-${w}`, r), j = d(u, l, o);
|
32
|
+
p.push(j);
|
33
|
+
}), e;
|
34
|
+
if (n.startsWith("@")) {
|
35
|
+
const f = d(t, r, o), u = `${n} {
|
36
|
+
${f.replace(`
|
37
|
+
`, `
|
38
|
+
`)}
|
39
|
+
}`;
|
40
|
+
return p.push(u), e;
|
41
|
+
}
|
42
|
+
const $ = m.includes("&") ? n.replace("&", r) : n.startsWith(":") ? `${r}${n}` : `${r} ${n}`, h = d(t, $, o);
|
43
|
+
return p.push(h), e;
|
44
|
+
}
|
45
|
+
if (i != null && i.templates && i.templates[n]) {
|
46
|
+
const h = t.split(".").reduce((f, u) => f[u], i.templates[n]);
|
47
|
+
if (h) {
|
48
|
+
const f = d(h, "");
|
49
|
+
return `${e}${f}`;
|
50
|
+
}
|
51
|
+
return console.warn(`Template "${n}" with path of "${t}" was not found in config!`), e;
|
52
|
+
}
|
53
|
+
const S = n.startsWith("-") ? n : O(n), g = ($, h = ";") => e = `${e}${$}${h}`, E = ($) => g(`${S}:${$}`);
|
54
|
+
if (typeof t == "number") return E(t);
|
55
|
+
if (typeof t != "string")
|
56
|
+
if ("toString" in t) t = t.toString();
|
57
|
+
else return e;
|
58
|
+
const { modifiers: T } = i || {}, k = function* () {
|
59
|
+
yield N(t), yield W(t, T);
|
60
|
+
}();
|
61
|
+
for (const { result: $, additionalCss: h = [] } of k)
|
62
|
+
t = $, h.forEach((f) => {
|
63
|
+
const u = d(f, "");
|
64
|
+
g(u, "");
|
65
|
+
});
|
66
|
+
return E(t);
|
67
|
+
}, "");
|
68
|
+
if (!c) return p.join(`
|
69
|
+
`);
|
70
|
+
if (!r) return c;
|
71
|
+
let a = "";
|
72
|
+
return o !== void 0 ? a = `@layer l${o} { ${r} { ${c} } }` : a = `${r} { ${c} }`, [a, ...p].join(`
|
73
|
+
`);
|
74
|
+
}, P = (s, r = []) => {
|
75
|
+
if (!s) return "";
|
76
|
+
const o = [], i = {};
|
77
|
+
if (Object.entries(s).forEach(([p, c]) => {
|
78
|
+
if (typeof c == "object") {
|
79
|
+
if (!c) return;
|
80
|
+
const a = p.trim(), e = P(c, [...r, a]);
|
81
|
+
o.push(e);
|
82
|
+
} else
|
83
|
+
i[p] = c;
|
84
|
+
}), Object.keys(i).length) {
|
85
|
+
const p = r.map(O).join("-"), c = d(i, `.${p}`);
|
86
|
+
o.push(c);
|
87
|
+
}
|
88
|
+
return o.join(`
|
89
|
+
`);
|
90
|
+
}, x = (s) => Object.keys(s);
|
91
|
+
export {
|
92
|
+
P as a,
|
93
|
+
N as b,
|
94
|
+
x as g,
|
95
|
+
d as p
|
96
|
+
};
|
@@ -0,0 +1,8 @@
|
|
1
|
+
"use strict";const T=require("./dash-case-DKzpenwY.cjs"),K=(e,s)=>{if(typeof e!="string")return{result:e};if(!s)return{result:e};const o=[];return Object.values(s).forEach(i=>{const{pattern:p,transform:c}=i;e=e.replace(p,d=>{const{value:r,css:l}=c(d);return l&&o.push(l),r})}),{result:e,additionalCss:o}},g=e=>typeof e!="string"?{result:e}:/\{[^{}]+\}/g.test(e)?{result:e.replace(/\{([^{}]+)\}/g,(...i)=>`var(--${T.dashCase(i[1].replaceAll(".","-"))})`)}:{result:e},a=(e,s,o,i)=>{if(!e)return"";const p=[],c=Object.entries(e).reduce((r,[l,t])=>{const n=l.trim();if(typeof t=="function"&&(t=t()),typeof t=="object"){if(!t)return r;if(n==="variants")return Object.entries(t).forEach(([f,u])=>{u&&Object.entries(u).forEach(([j,m])=>{if(!m)return;const y=`${s}.${f}-${j}`,b=a(m,y,o);p.push(b)})}),r;if(n==="defaultVariants")return r;if(n==="compoundVariants")return t.forEach(f=>{const{css:u,...j}=f,m=Object.entries(j).reduce((b,[W,q])=>`${b}.${W}-${q}`,s),y=a(u,m,o);p.push(y)}),r;if(n.startsWith("@")){const f=a(t,s,o),u=`${n} {
|
2
|
+
${f.replace(`
|
3
|
+
`,`
|
4
|
+
`)}
|
5
|
+
}`;return p.push(u),r}const $=l.includes("&")?n.replace("&",s):n.startsWith(":")?`${s}${n}`:`${s} ${n}`,h=a(t,$,o);return p.push(h),r}if(i!=null&&i.templates&&i.templates[n]){const h=t.split(".").reduce((f,u)=>f[u],i.templates[n]);if(h){const f=a(h,"");return`${r}${f}`}return console.warn(`Template "${n}" with path of "${t}" was not found in config!`),r}const E=n.startsWith("-")?n:T.dashCase(n),O=($,h=";")=>r=`${r}${$}${h}`,S=$=>O(`${E}:${$}`);if(typeof t=="number")return S(t);if(typeof t!="string")if("toString"in t)t=t.toString();else return r;const{modifiers:V}=i||{},w=function*(){yield g(t),yield K(t,V)}();for(const{result:$,additionalCss:h=[]}of w)t=$,h.forEach(f=>{const u=a(f,"");O(u,"")});return S(t)},"");if(!c)return p.join(`
|
6
|
+
`);if(!s)return c;let d="";return o!==void 0?d=`@layer l${o} { ${s} { ${c} } }`:d=`${s} { ${c} }`,[d,...p].join(`
|
7
|
+
`)},k=(e,s=[])=>{if(!e)return"";const o=[],i={};if(Object.entries(e).forEach(([p,c])=>{if(typeof c=="object"){if(!c)return;const d=p.trim(),r=k(c,[...s,d]);o.push(r)}else i[p]=c}),Object.keys(i).length){const p=s.map(T.dashCase).join("-"),c=a(i,`.${p}`);o.push(c)}return o.join(`
|
8
|
+
`)},N=e=>Object.keys(e);exports.getTemplateKeys=N;exports.parseStyles=a;exports.parseTemplates=k;exports.parseValueTokens=g;
|
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";function r(e){return e?typeof e!="string"?r(String(e)):e.replace(/\s/g,"-").replace(/[-_]([a-z0-9])/g,a=>a[1].toUpperCase()).replace(/^[a-z]/,a=>a.toUpperCase()):""}exports.pascalCase=r;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=`import { styled } from "@salty-css/react/styled";
|
2
|
+
|
3
|
+
export const <%- name %> = styled('<%- tag %>', {
|
4
|
+
<% if(className) { %>className: '<%- className %>',<% } %>
|
5
|
+
base: {
|
6
|
+
// Add your styles here
|
7
|
+
}
|
8
|
+
})`;exports.default=e;
|
@@ -0,0 +1,18 @@
|
|
1
|
+
const n = `import { <%- styledComponentName %> } from "./<%- fileName %>.css";
|
2
|
+
|
3
|
+
interface <%- componentName %>Props {
|
4
|
+
text?: string;
|
5
|
+
}
|
6
|
+
|
7
|
+
export const <%- componentName %> = ({ text = 'Lorem ipsum' }: <%- componentName %>Props) => {
|
8
|
+
return (
|
9
|
+
<<%- styledComponentName %>>
|
10
|
+
{text}
|
11
|
+
</<%- styledComponentName %>>
|
12
|
+
);
|
13
|
+
};
|
14
|
+
|
15
|
+
export default <%- componentName %>;`;
|
16
|
+
export {
|
17
|
+
n as default
|
18
|
+
};
|
@@ -0,0 +1,15 @@
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=`import { <%- styledComponentName %> } from "./<%- fileName %>.css";
|
2
|
+
|
3
|
+
interface <%- componentName %>Props {
|
4
|
+
text?: string;
|
5
|
+
}
|
6
|
+
|
7
|
+
export const <%- componentName %> = ({ text = 'Lorem ipsum' }: <%- componentName %>Props) => {
|
8
|
+
return (
|
9
|
+
<<%- styledComponentName %>>
|
10
|
+
{text}
|
11
|
+
</<%- styledComponentName %>>
|
12
|
+
);
|
13
|
+
};
|
14
|
+
|
15
|
+
export default <%- componentName %>;`;exports.default=e;
|
@@ -0,0 +1,7 @@
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=`import { defineConfig } from '@salty-css/core/config';
|
2
|
+
|
3
|
+
export const config = defineConfig({
|
4
|
+
// Add your custom config here
|
5
|
+
externalModules: ['react', 'react-dom']
|
6
|
+
});
|
7
|
+
`;exports.default=e;
|
package/types/index.d.ts
CHANGED
@@ -1,18 +1,19 @@
|
|
1
1
|
import { AllHTMLAttributes, ReactDOM, ReactNode } from 'react';
|
2
2
|
import { StyleComponentGenerator } from '../generator';
|
3
|
-
import { OrString } from './util-types';
|
3
|
+
import { OrAny, OrString } from './util-types';
|
4
4
|
export type CreateElementProps = {
|
5
5
|
extend?: Tag<any>;
|
6
6
|
children?: ReactNode;
|
7
7
|
className?: string;
|
8
8
|
element?: string;
|
9
9
|
passVariantProps?: boolean;
|
10
|
+
style?: any;
|
10
11
|
/** vks = Variant key set */
|
11
12
|
_vks?: Set<string>;
|
12
13
|
};
|
13
14
|
export type StyledComponentProps = Record<string, unknown> & CreateElementProps;
|
14
15
|
type FnComponent<PROPS extends StyledComponentProps> = {
|
15
|
-
(props: PROPS): ReactNode;
|
16
|
+
(props: OrAny | PROPS): ReactNode;
|
16
17
|
generator?: StyleComponentGenerator;
|
17
18
|
};
|
18
19
|
export type Tag<PROPS extends StyledComponentProps> = OrString | keyof ReactDOM | FnComponent<PROPS>;
|
@@ -37,10 +38,15 @@ type Variants = {
|
|
37
38
|
};
|
38
39
|
compoundVariants?: CompoundVariant[];
|
39
40
|
};
|
40
|
-
type
|
41
|
-
|
41
|
+
type BooleanVariantValue = 'true' | 'false' | boolean;
|
42
|
+
type VariantPropValue<T> = T extends 'true' ? BooleanVariantValue : T extends 'false' ? BooleanVariantValue : T;
|
43
|
+
export type VariantProps<STYLES extends StyledParams> = STYLES['variants'] extends undefined ? object : {
|
42
44
|
[K in keyof STYLES['variants']]?: VariantPropValue<keyof STYLES['variants'][K]> | '';
|
43
45
|
};
|
46
|
+
type CssValuePropKey = `props-${string}`;
|
47
|
+
export type ValueProps = {
|
48
|
+
[key: CssValuePropKey]: string;
|
49
|
+
};
|
44
50
|
export type ParentComponentProps<TAG extends Tag<any>> = TAG extends (props: infer P) => ReactNode ? P : unknown;
|
45
51
|
type StylePropertyValue = Record<never, never> & unknown;
|
46
52
|
export type CssStyles = {
|
@@ -52,4 +58,7 @@ export interface GeneratorOptions {
|
|
52
58
|
displayName?: string;
|
53
59
|
element?: string;
|
54
60
|
}
|
61
|
+
export interface StyledParams extends GeneratorOptions, Variants {
|
62
|
+
base?: CssStyles;
|
63
|
+
}
|
55
64
|
export {};
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function camelCase(str: PropertyKey): string;
|
package/util/index.cjs
CHANGED
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../dash-case-DKzpenwY.cjs"),t=require("../pascal-case-iWoaJWwT.cjs");function s(e){return e?typeof e!="string"?s(String(e)):e.replace(/\s/g,"-").replace(/-([a-z])/g,r=>r[1].toUpperCase()):""}exports.dashCase=a.dashCase;exports.toHash=a.toHash;exports.pascalCase=t.pascalCase;exports.camelCase=s;
|
package/util/index.d.ts
CHANGED
package/util/index.js
CHANGED
@@ -1,19 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
return
|
5
|
-
}, i = (e, r) => {
|
6
|
-
let t = r.length;
|
7
|
-
for (; t; ) e = e * 33 ^ r.charCodeAt(--t);
|
8
|
-
return e;
|
9
|
-
}, s = (e, r = 3) => {
|
10
|
-
const t = i(5381, JSON.stringify(e)) >>> 0;
|
11
|
-
return o(t, r);
|
12
|
-
};
|
13
|
-
function c(e) {
|
14
|
-
return e ? typeof e != "string" ? String(e) : e.replace(/\s/g, "-").replace(/[A-Z](?:(?=[^A-Z])|[A-Z]*(?=[A-Z][^A-Z]|$))/g, (r, t) => (t > 0 ? "-" : "") + r.toLowerCase()) : "";
|
1
|
+
import { d as o, t as s } from "../dash-case-DMQMcCO6.js";
|
2
|
+
import { p as f } from "../pascal-case-BQpR5PdN.js";
|
3
|
+
function r(e) {
|
4
|
+
return e ? typeof e != "string" ? r(String(e)) : e.replace(/\s/g, "-").replace(/-([a-z])/g, (a) => a[1].toUpperCase()) : "";
|
15
5
|
}
|
16
6
|
export {
|
17
|
-
|
7
|
+
r as camelCase,
|
8
|
+
o as dashCase,
|
9
|
+
f as pascalCase,
|
18
10
|
s as toHash
|
19
11
|
};
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const detectCurrentModuleType: (dirname: string) => Promise<"esm" | "cjs">;
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function pascalCase(str: PropertyKey): string;
|
@@ -1,90 +0,0 @@
|
|
1
|
-
import { dashCase as O } from "./util/index.js";
|
2
|
-
const N = (s, r) => {
|
3
|
-
if (typeof s != "string") return { result: s };
|
4
|
-
if (!r) return { result: s };
|
5
|
-
const e = [];
|
6
|
-
return Object.values(r).forEach((n) => {
|
7
|
-
const { pattern: o, transform: c } = n;
|
8
|
-
s = s.replace(o, (h) => {
|
9
|
-
const { value: i, css: m } = c(h);
|
10
|
-
return m && e.push(m), i;
|
11
|
-
});
|
12
|
-
}), { result: s, additionalCss: e };
|
13
|
-
}, P = (s) => typeof s != "string" ? { result: s } : /\{[^{}]+\}/g.test(s) ? { result: s.replace(/\{([^{}]+)\}/g, (...n) => `var(--${O(n[1].replaceAll(".", "-"))})`) } : { result: s }, d = (s, r, e, n) => {
|
14
|
-
const o = [], c = Object.entries(s).reduce((i, [m, t]) => {
|
15
|
-
const p = m.trim();
|
16
|
-
if (typeof t == "function" && (t = t()), typeof t == "object") {
|
17
|
-
if (!t) return i;
|
18
|
-
if (p === "variants")
|
19
|
-
return Object.entries(t).forEach(([u, f]) => {
|
20
|
-
f && Object.entries(f).forEach(([b, j]) => {
|
21
|
-
if (!j) return;
|
22
|
-
const l = `${r}.${u}-${b}`, y = d(j, l, e);
|
23
|
-
o.push(y);
|
24
|
-
});
|
25
|
-
}), i;
|
26
|
-
if (p === "defaultVariants")
|
27
|
-
return i;
|
28
|
-
if (p === "compoundVariants")
|
29
|
-
return t.forEach((u) => {
|
30
|
-
const { css: f, ...b } = u, j = Object.entries(b).reduce((y, [V, W]) => `${y}.${V}-${W}`, r), l = d(f, j, e);
|
31
|
-
o.push(l);
|
32
|
-
}), i;
|
33
|
-
if (p.startsWith("@")) {
|
34
|
-
const u = d(t, r, e), f = `${p} {
|
35
|
-
${u.replace(`
|
36
|
-
`, `
|
37
|
-
`)}
|
38
|
-
}`;
|
39
|
-
return o.push(f), i;
|
40
|
-
}
|
41
|
-
const $ = m.includes("&") ? p.replace("&", r) : p.startsWith(":") ? `${r}${p}` : `${r} ${p}`, a = d(t, $, e);
|
42
|
-
return o.push(a), i;
|
43
|
-
}
|
44
|
-
if (n != null && n.templates && n.templates[p]) {
|
45
|
-
const a = t.split(".").reduce((f, b) => f[b], n.templates[p]), u = d(a, "");
|
46
|
-
return `${i}${u}`;
|
47
|
-
}
|
48
|
-
const g = p.startsWith("-") ? p : O(p), E = ($, a = ";") => i = `${i}${$}${a}`, S = ($) => E(`${g}:${$}`);
|
49
|
-
if (typeof t == "number") return S(t);
|
50
|
-
if (typeof t != "string")
|
51
|
-
if ("toString" in t) t = t.toString();
|
52
|
-
else return i;
|
53
|
-
const { modifiers: k } = n || {}, T = function* () {
|
54
|
-
yield P(t), yield N(t, k);
|
55
|
-
}();
|
56
|
-
for (const { result: $, additionalCss: a = [] } of T)
|
57
|
-
t = $, a.forEach((u) => {
|
58
|
-
const f = d(u, "");
|
59
|
-
E(f, "");
|
60
|
-
});
|
61
|
-
return S(t);
|
62
|
-
}, "");
|
63
|
-
if (!c) return o.join(`
|
64
|
-
`);
|
65
|
-
if (!r) return c;
|
66
|
-
let h = "";
|
67
|
-
return e !== void 0 ? h = `@layer l${e} { ${r} { ${c} } }` : h = `${r} { ${c} }`, [h, ...o].join(`
|
68
|
-
`);
|
69
|
-
}, _ = (s, r = []) => {
|
70
|
-
const e = [], n = {};
|
71
|
-
if (Object.entries(s).forEach(([o, c]) => {
|
72
|
-
if (typeof c == "object") {
|
73
|
-
if (!c) return;
|
74
|
-
const h = o.trim(), i = _(c, [...r, h]);
|
75
|
-
e.push(i);
|
76
|
-
} else
|
77
|
-
n[o] = c;
|
78
|
-
}), Object.keys(n).length) {
|
79
|
-
const o = r.map(O).join("-"), c = d(n, `.${o}`);
|
80
|
-
e.push(c);
|
81
|
-
}
|
82
|
-
return e.join(`
|
83
|
-
`);
|
84
|
-
}, A = (s) => Object.keys(s);
|
85
|
-
export {
|
86
|
-
_ as a,
|
87
|
-
P as b,
|
88
|
-
A as g,
|
89
|
-
d as p
|
90
|
-
};
|
@@ -1,8 +0,0 @@
|
|
1
|
-
"use strict";const O=require("./util/index.cjs"),K=(s,e)=>{if(typeof s!="string")return{result:s};if(!e)return{result:s};const r=[];return Object.values(e).forEach(n=>{const{pattern:o,transform:c}=n;s=s.replace(o,a=>{const{value:i,css:l}=c(a);return l&&r.push(l),i})}),{result:s,additionalCss:r}},k=s=>typeof s!="string"?{result:s}:/\{[^{}]+\}/g.test(s)?{result:s.replace(/\{([^{}]+)\}/g,(...n)=>`var(--${O.dashCase(n[1].replaceAll(".","-"))})`)}:{result:s},h=(s,e,r,n)=>{const o=[],c=Object.entries(s).reduce((i,[l,t])=>{const p=l.trim();if(typeof t=="function"&&(t=t()),typeof t=="object"){if(!t)return i;if(p==="variants")return Object.entries(t).forEach(([u,f])=>{f&&Object.entries(f).forEach(([m,j])=>{if(!j)return;const y=`${e}.${u}-${m}`,b=h(j,y,r);o.push(b)})}),i;if(p==="defaultVariants")return i;if(p==="compoundVariants")return t.forEach(u=>{const{css:f,...m}=u,j=Object.entries(m).reduce((b,[_,q])=>`${b}.${_}-${q}`,e),y=h(f,j,r);o.push(y)}),i;if(p.startsWith("@")){const u=h(t,e,r),f=`${p} {
|
2
|
-
${u.replace(`
|
3
|
-
`,`
|
4
|
-
`)}
|
5
|
-
}`;return o.push(f),i}const $=l.includes("&")?p.replace("&",e):p.startsWith(":")?`${e}${p}`:`${e} ${p}`,d=h(t,$,r);return o.push(d),i}if(n!=null&&n.templates&&n.templates[p]){const d=t.split(".").reduce((f,m)=>f[m],n.templates[p]),u=h(d,"");return`${i}${u}`}const V=p.startsWith("-")?p:O.dashCase(p),T=($,d=";")=>i=`${i}${$}${d}`,S=$=>T(`${V}:${$}`);if(typeof t=="number")return S(t);if(typeof t!="string")if("toString"in t)t=t.toString();else return i;const{modifiers:g}=n||{},W=function*(){yield k(t),yield K(t,g)}();for(const{result:$,additionalCss:d=[]}of W)t=$,d.forEach(u=>{const f=h(u,"");T(f,"")});return S(t)},"");if(!c)return o.join(`
|
6
|
-
`);if(!e)return c;let a="";return r!==void 0?a=`@layer l${r} { ${e} { ${c} } }`:a=`${e} { ${c} }`,[a,...o].join(`
|
7
|
-
`)},E=(s,e=[])=>{const r=[],n={};if(Object.entries(s).forEach(([o,c])=>{if(typeof c=="object"){if(!c)return;const a=o.trim(),i=E(c,[...e,a]);r.push(i)}else n[o]=c}),Object.keys(n).length){const o=e.map(O.dashCase).join("-"),c=h(n,`.${o}`);r.push(c)}return r.join(`
|
8
|
-
`)},N=s=>Object.keys(s);exports.getTemplateKeys=N;exports.parseStyles=h;exports.parseTemplates=E;exports.parseValueTokens=k;
|