ustatic-css 0.0.1-b.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/LICENSE +21 -0
- package/README.md +202 -0
- package/dist/_ustatic-vars-Cx6_uZJY.cjs +1 -0
- package/dist/_ustatic-vars-D2NgNZNI.js +4 -0
- package/dist/css/modules/align.css +1 -0
- package/dist/css/modules/animations.css +1 -0
- package/dist/css/modules/base.css +1 -0
- package/dist/css/modules/bg.css +1 -0
- package/dist/css/modules/border.css +1 -0
- package/dist/css/modules/cursor.css +1 -0
- package/dist/css/modules/display.css +1 -0
- package/dist/css/modules/effects.css +1 -0
- package/dist/css/modules/filters.css +1 -0
- package/dist/css/modules/flexbox.css +1 -0
- package/dist/css/modules/grid.css +1 -0
- package/dist/css/modules/hide.css +1 -0
- package/dist/css/modules/interactivity.css +1 -0
- package/dist/css/modules/outline.css +1 -0
- package/dist/css/modules/position.css +1 -0
- package/dist/css/modules/scroll.css +1 -0
- package/dist/css/modules/sizing.css +1 -0
- package/dist/css/modules/spacing.css +1 -0
- package/dist/css/modules/typography.css +1 -0
- package/dist/css/ustatic-vars.css +1 -0
- package/dist/css/ustatic.css +1 -0
- package/dist/js/index.cjs.js +9 -0
- package/dist/js/index.es.js +175 -0
- package/dist/types/package.json.d.ts +102 -0
- package/dist/types/src/index.d.ts +4 -0
- package/dist/types/src/index.d.ts.map +1 -0
- package/dist/types/src/plugins/vue.plugin.d.ts +15 -0
- package/dist/types/src/plugins/vue.plugin.d.ts.map +1 -0
- package/dist/types/src/utils/styleLoader.d.ts +35 -0
- package/dist/types/src/utils/styleLoader.d.ts.map +1 -0
- package/dist/types/src/utils/styleloader.classmap.d.ts +2 -0
- package/dist/types/src/utils/styleloader.classmap.d.ts.map +1 -0
- package/dist/types/src/utils/useCssProperties.d.ts +17 -0
- package/dist/types/src/utils/useCssProperties.d.ts.map +1 -0
- package/dist/types/src/utils/useTokens.d.ts +21 -0
- package/dist/types/src/utils/useTokens.d.ts.map +1 -0
- package/dist/ustatic-index-1SZfqZon.js +4 -0
- package/dist/ustatic-index-QcZrD98s.cjs +1 -0
- package/package.json +99 -0
- package/src/css/assets/tokens/_ustatic-list.scss +460 -0
- package/src/css/assets/tokens/_ustatic-prefix.scss +1 -0
- package/src/css/assets/tokens/_ustatic-vars.scss +757 -0
- package/src/css/modules/align/index.scss +17 -0
- package/src/css/modules/animations/index.scss +151 -0
- package/src/css/modules/base/index.scss +406 -0
- package/src/css/modules/base/scrollbar.scss +21 -0
- package/src/css/modules/bg/index.scss +60 -0
- package/src/css/modules/border/border.scss +88 -0
- package/src/css/modules/border/divider.scss +38 -0
- package/src/css/modules/border/index.scss +3 -0
- package/src/css/modules/border/rounded.scss +70 -0
- package/src/css/modules/cursor/index.scss +33 -0
- package/src/css/modules/display/index.scss +19 -0
- package/src/css/modules/effects/index.scss +35 -0
- package/src/css/modules/filters/index.scss +34 -0
- package/src/css/modules/flexbox/flex.scss +132 -0
- package/src/css/modules/flexbox/gap.scss +15 -0
- package/src/css/modules/flexbox/index.scss +2 -0
- package/src/css/modules/grid/index.scss +94 -0
- package/src/css/modules/hide/index.scss +27 -0
- package/src/css/modules/interactivity/index.scss +28 -0
- package/src/css/modules/outline/index.scss +63 -0
- package/src/css/modules/position/index.scss +94 -0
- package/src/css/modules/scroll/index.scss +68 -0
- package/src/css/modules/sizing/index.scss +91 -0
- package/src/css/modules/spacing/index.scss +56 -0
- package/src/css/modules/typography/index.scss +139 -0
- package/src/css/tokens/base/animations/underline.yaml +5 -0
- package/src/css/tokens/base/border/color.yaml +17 -0
- package/src/css/tokens/base/border/radius.yaml +33 -0
- package/src/css/tokens/base/border/width.yaml +19 -0
- package/src/css/tokens/base/color/accent.yaml +416 -0
- package/src/css/tokens/base/color/base.yaml +492 -0
- package/src/css/tokens/base/color/opacity.yaml +4 -0
- package/src/css/tokens/base/color/variant.yaml +18 -0
- package/src/css/tokens/base/cursor/base.yaml +18 -0
- package/src/css/tokens/base/font/weight.yaml +23 -0
- package/src/css/tokens/base/grid/base.yaml +9 -0
- package/src/css/tokens/base/position/base.yaml +253 -0
- package/src/css/tokens/base/rotation/base.yaml +20 -0
- package/src/css/tokens/base/screen/base.yaml +10 -0
- package/src/css/tokens/base/scroll/base.yaml +16 -0
- package/src/css/tokens/base/size/base.yaml +16 -0
- package/src/css/tokens/base/text/color.yaml +20 -0
- package/src/css/tokens/base/text/size.yaml +37 -0
- package/src/css/tokens/base/visibility/base.yaml +61 -0
- package/src/css/ustatic-index.scss +24 -0
- package/src/css/utils/_token.scss +56 -0
- package/src/css/variables.scss +359 -0
- package/src/index.ts +6 -0
- package/src/plugins/vue.plugin.ts +77 -0
- package/src/utils/styleLoader.ts +257 -0
- package/src/utils/styleloader.classmap.ts +109 -0
- package/src/utils/useCssProperties.ts +152 -0
- package/src/utils/useTokens.ts +287 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=()=>{const n="css-features",o=new Set,u=new Set,h=(c,e)=>{let t=document.getElementById(n);t||(t=document.createElement("style"),t.id=n,document.head.appendChild(t));const i=Object.entries(e).map(([a,k])=>`${a}: ${k};`).join(`
|
|
2
|
+
`),r=`.${c} {
|
|
3
|
+
${i}
|
|
4
|
+
}`;let l=t.textContent||"";const g=new RegExp(`\\.${c}\\s*\\{[^}]*\\}`,"g");l=l.replace(g,""),l+=`
|
|
5
|
+
${r}`,t.textContent=l,u.add(c)},d=(c,e)=>{const t=document.getElementById(n);if(!t)return"";const i=t.textContent,r=new RegExp(`\\.${c}\\s*\\{[^}]*\\}`,"g"),l=i?.match(r);if(!l)return"";const g=new RegExp(`${e}:\\s*([^;]+);`,"g"),a=l[0].match(g)?.[0];return a?a.split(":")[1].trim():""},m=c=>{const e=document.getElementById(n);if(!e)return;let t=e.textContent||"";const i=new RegExp(`\\.${c}\\s*\\{[^}]*\\}`,"g");t=t.replace(i,""),e.textContent=t,u.delete(c)},C=()=>{u.forEach(c=>{m(c)})},s=(c,e)=>{o.add(c),document.documentElement.style.setProperty(c,e)},x=c=>{o.delete(c),document.documentElement.style.removeProperty(c)},f=()=>{o.forEach(c=>{x(c)})};return{setCssPropertiesViaClass:h,getCssPropertyViaClass:d,removeClassWithProperties:m,clearClassWithProperties:C,setCssProperty:s,removeCssProperty:x,clearCssProperties:f,clearAll:()=>{f(),C()}}},S="u",y=n=>{const o=n.replaceAll(".","-").replaceAll("/","-");return`--${S}-${o}`},A=n=>`var(${y(n)})`,P=n=>{let o=n;return n.startsWith("T:")&&(o=A(n.slice(2))),o},V=n=>{const o=y(n);return getComputedStyle(document.documentElement).getPropertyValue(`${o}`)},B=(n,o)=>{const u=P(o);return`${y(n)}: ${u}`},I=()=>{const n="tokens-via-class",o=new Set,u=new Set,h=(e,t,i)=>{const{patch:r=!1}=i??{},l=d(e),g=r?Object.entries(l)?.map(([T,R])=>`${T}: ${R};`)??[]:[];let a=document.getElementById(n);a||(a=document.createElement("style"),a.id=n,document.head.appendChild(a));const k=g.concat(Object.entries(t).map(([T,R])=>{const v=P(R);return`${y(T)}: ${v};`})).join(`
|
|
6
|
+
`),p=`.${e} {
|
|
7
|
+
${k}
|
|
8
|
+
}`;let E=a.textContent||"";const b=new RegExp(`\\.${e}\\s*\\{[^}]*\\}`,"g");E=E.replace(b,""),E+=`
|
|
9
|
+
${p}`,a.textContent=E,u.add(e)},d=e=>{const t=document.getElementById(n);if(!t)return{};const i=t.textContent,r=new RegExp(`\\.${e}\\s*\\{[^}]*\\}`,"g"),l=i?.match(r);if(!l)return{};const g=/([a-zA-Z-]+):\s*([^;]+);/g,a=l[0].matchAll(g);return Object.fromEntries(Array.from(a,p=>[p[1],p[2].trim()]))},m=(e,t)=>{const i=y(t),r=document.getElementById(n);if(!r)return"";const l=r.textContent,g=new RegExp(`\\.${e}\\s*\\{[^}]*\\}`,"g"),a=l?.match(g);if(!a)return"";const k=new RegExp(`${i}:\\s*([^;]+);`,"g"),p=a[0].match(k)?.[0];return p?p.split(":")[1].trim():""},C=e=>{const t=document.getElementById(n),i=u.has(e);if(!t||!i)return;let r=t.textContent||"";const l=new RegExp(`\\.${e}\\s*\\{[^}]*\\}`,"g");r=r.replace(l,""),t.textContent=r,u.delete(e)},s=()=>{u.forEach(e=>{C(e)})},x=(e,t)=>{const i=P(t),r=y(e);o.add(e),document.documentElement.style.setProperty(`${r}`,i)},f=e=>{const t=y(e);o.delete(e),document.documentElement.style.removeProperty(`${t}`)},$=()=>{o.forEach(e=>{f(e)})};return{setCssTokenViaClass:h,getCssTokenViaClass:m,removeClassWithTokens:C,clearClassWithTokens:s,setCssToken:x,removeCssToken:f,clearCssTokens:$,getCssToken:V,getCssTokenVar:A,setCssTokenVar:B,clearAll:()=>{$(),s()}}},L={install(n,o){if(typeof document>"u")return;const{autoLoad:u=!0,modules:h}=o??{};document&&u&&(Promise.resolve().then(()=>require("../ustatic-index-QcZrD98s.cjs")).then(({default:d})=>{const m=document.head;if(!Array.from(m.getElementsByTagName("link")).find(s=>s.getAttribute("href")?.includes(d))){const s=document.createElement("link");s.type="text/css",s.rel="preload stylesheet",s.setAttribute("async",""),s.setAttribute("ustatic",""),s.href=`${d}?nocache=${Date.now()}`,m.appendChild(s)}}).catch(d=>{console.error("[uStaticCSS load base styles ERROR: ",d)}),Promise.resolve().then(()=>require("../_ustatic-vars-Cx6_uZJY.cjs")).then(({default:d})=>{const m=document.head;if(!Array.from(m.getElementsByTagName("link")).find(s=>s.getAttribute("href")?.includes(d))){const s=document.createElement("link");s.type="text/css",s.rel="stylesheet",s.setAttribute("async",""),s.setAttribute("ustatic",""),s.href=`${d}?nocache=${Date.now()}`,m.appendChild(s)}}).catch(d=>{console.error("[uStaticCSS load variables for styles ERROR: ",d)}))}};exports.useCssProperties=w;exports.useTokens=I;exports.ustaticCss=L;
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
const I = () => {
|
|
2
|
+
const n = "css-features", o = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Set(), f = (c, e) => {
|
|
3
|
+
let t = document.getElementById(n);
|
|
4
|
+
t || (t = document.createElement("style"), t.id = n, document.head.appendChild(t));
|
|
5
|
+
const i = Object.entries(e).map(([a, k]) => `${a}: ${k};`).join(`
|
|
6
|
+
`), r = `.${c} {
|
|
7
|
+
${i}
|
|
8
|
+
}`;
|
|
9
|
+
let l = t.textContent || "";
|
|
10
|
+
const g = new RegExp(`\\.${c}\\s*\\{[^}]*\\}`, "g");
|
|
11
|
+
l = l.replace(g, ""), l += `
|
|
12
|
+
${r}`, t.textContent = l, u.add(c);
|
|
13
|
+
}, m = (c, e) => {
|
|
14
|
+
const t = document.getElementById(n);
|
|
15
|
+
if (!t)
|
|
16
|
+
return "";
|
|
17
|
+
const i = t.textContent, r = new RegExp(`\\.${c}\\s*\\{[^}]*\\}`, "g"), l = i?.match(r);
|
|
18
|
+
if (!l)
|
|
19
|
+
return "";
|
|
20
|
+
const g = new RegExp(`${e}:\\s*([^;]+);`, "g"), a = l[0].match(g)?.[0];
|
|
21
|
+
return a ? a.split(":")[1].trim() : "";
|
|
22
|
+
}, d = (c) => {
|
|
23
|
+
const e = document.getElementById(n);
|
|
24
|
+
if (!e)
|
|
25
|
+
return;
|
|
26
|
+
let t = e.textContent || "";
|
|
27
|
+
const i = new RegExp(`\\.${c}\\s*\\{[^}]*\\}`, "g");
|
|
28
|
+
t = t.replace(i, ""), e.textContent = t, u.delete(c);
|
|
29
|
+
}, p = () => {
|
|
30
|
+
u.forEach((c) => {
|
|
31
|
+
d(c);
|
|
32
|
+
});
|
|
33
|
+
}, s = (c, e) => {
|
|
34
|
+
o.add(c), document.documentElement.style.setProperty(c, e);
|
|
35
|
+
}, x = (c) => {
|
|
36
|
+
o.delete(c), document.documentElement.style.removeProperty(c);
|
|
37
|
+
}, h = () => {
|
|
38
|
+
o.forEach((c) => {
|
|
39
|
+
x(c);
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
return {
|
|
43
|
+
setCssPropertiesViaClass: f,
|
|
44
|
+
getCssPropertyViaClass: m,
|
|
45
|
+
removeClassWithProperties: d,
|
|
46
|
+
clearClassWithProperties: p,
|
|
47
|
+
setCssProperty: s,
|
|
48
|
+
removeCssProperty: x,
|
|
49
|
+
clearCssProperties: h,
|
|
50
|
+
clearAll: () => {
|
|
51
|
+
h(), p();
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
}, S = "u", y = (n) => {
|
|
55
|
+
const o = n.replaceAll(".", "-").replaceAll("/", "-");
|
|
56
|
+
return `--${S}-${o}`;
|
|
57
|
+
}, w = (n) => `var(${y(n)})`, A = (n) => {
|
|
58
|
+
let o = n;
|
|
59
|
+
return n.startsWith("T:") && (o = w(n.slice(2))), o;
|
|
60
|
+
}, v = (n) => {
|
|
61
|
+
const o = y(n);
|
|
62
|
+
return getComputedStyle(document.documentElement).getPropertyValue(`${o}`);
|
|
63
|
+
}, V = (n, o) => {
|
|
64
|
+
const u = A(o);
|
|
65
|
+
return `${y(n)}: ${u}`;
|
|
66
|
+
}, L = () => {
|
|
67
|
+
const n = "tokens-via-class", o = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Set(), f = (e, t, i) => {
|
|
68
|
+
const {
|
|
69
|
+
patch: r = !1
|
|
70
|
+
} = i ?? {}, l = m(e), g = r ? Object.entries(l)?.map(([T, R]) => `${T}: ${R};`) ?? [] : [];
|
|
71
|
+
let a = document.getElementById(n);
|
|
72
|
+
a || (a = document.createElement("style"), a.id = n, document.head.appendChild(a));
|
|
73
|
+
const k = g.concat(Object.entries(t).map(([T, R]) => {
|
|
74
|
+
const b = A(R);
|
|
75
|
+
return `${y(T)}: ${b};`;
|
|
76
|
+
})).join(`
|
|
77
|
+
`), C = `.${e} {
|
|
78
|
+
${k}
|
|
79
|
+
}`;
|
|
80
|
+
let E = a.textContent || "";
|
|
81
|
+
const P = new RegExp(`\\.${e}\\s*\\{[^}]*\\}`, "g");
|
|
82
|
+
E = E.replace(P, ""), E += `
|
|
83
|
+
${C}`, a.textContent = E, u.add(e);
|
|
84
|
+
}, m = (e) => {
|
|
85
|
+
const t = document.getElementById(n);
|
|
86
|
+
if (!t)
|
|
87
|
+
return {};
|
|
88
|
+
const i = t.textContent, r = new RegExp(`\\.${e}\\s*\\{[^}]*\\}`, "g"), l = i?.match(r);
|
|
89
|
+
if (!l)
|
|
90
|
+
return {};
|
|
91
|
+
const g = /([a-zA-Z-]+):\s*([^;]+);/g, a = l[0].matchAll(g);
|
|
92
|
+
return Object.fromEntries(
|
|
93
|
+
Array.from(a, (C) => [C[1], C[2].trim()])
|
|
94
|
+
);
|
|
95
|
+
}, d = (e, t) => {
|
|
96
|
+
const i = y(t), r = document.getElementById(n);
|
|
97
|
+
if (!r)
|
|
98
|
+
return "";
|
|
99
|
+
const l = r.textContent, g = new RegExp(`\\.${e}\\s*\\{[^}]*\\}`, "g"), a = l?.match(g);
|
|
100
|
+
if (!a)
|
|
101
|
+
return "";
|
|
102
|
+
const k = new RegExp(`${i}:\\s*([^;]+);`, "g"), C = a[0].match(k)?.[0];
|
|
103
|
+
return C ? C.split(":")[1].trim() : "";
|
|
104
|
+
}, p = (e) => {
|
|
105
|
+
const t = document.getElementById(n), i = u.has(e);
|
|
106
|
+
if (!t || !i)
|
|
107
|
+
return;
|
|
108
|
+
let r = t.textContent || "";
|
|
109
|
+
const l = new RegExp(`\\.${e}\\s*\\{[^}]*\\}`, "g");
|
|
110
|
+
r = r.replace(l, ""), t.textContent = r, u.delete(e);
|
|
111
|
+
}, s = () => {
|
|
112
|
+
u.forEach((e) => {
|
|
113
|
+
p(e);
|
|
114
|
+
});
|
|
115
|
+
}, x = (e, t) => {
|
|
116
|
+
const i = A(t), r = y(e);
|
|
117
|
+
o.add(e), document.documentElement.style.setProperty(`${r}`, i);
|
|
118
|
+
}, h = (e) => {
|
|
119
|
+
const t = y(e);
|
|
120
|
+
o.delete(e), document.documentElement.style.removeProperty(`${t}`);
|
|
121
|
+
}, $ = () => {
|
|
122
|
+
o.forEach((e) => {
|
|
123
|
+
h(e);
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
return {
|
|
127
|
+
setCssTokenViaClass: f,
|
|
128
|
+
getCssTokenViaClass: d,
|
|
129
|
+
removeClassWithTokens: p,
|
|
130
|
+
clearClassWithTokens: s,
|
|
131
|
+
setCssToken: x,
|
|
132
|
+
removeCssToken: h,
|
|
133
|
+
clearCssTokens: $,
|
|
134
|
+
getCssToken: v,
|
|
135
|
+
getCssTokenVar: w,
|
|
136
|
+
setCssTokenVar: V,
|
|
137
|
+
clearAll: () => {
|
|
138
|
+
$(), s();
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
}, j = {
|
|
142
|
+
install(n, o) {
|
|
143
|
+
if (typeof document > "u") return;
|
|
144
|
+
const {
|
|
145
|
+
autoLoad: u = !0,
|
|
146
|
+
modules: f
|
|
147
|
+
} = o ?? {};
|
|
148
|
+
document && u && (import("../ustatic-index-1SZfqZon.js").then(({ default: m }) => {
|
|
149
|
+
const d = document.head;
|
|
150
|
+
if (!Array.from(d.getElementsByTagName("link")).find(
|
|
151
|
+
(s) => s.getAttribute("href")?.includes(m)
|
|
152
|
+
)) {
|
|
153
|
+
const s = document.createElement("link");
|
|
154
|
+
s.type = "text/css", s.rel = "preload stylesheet", s.setAttribute("async", ""), s.setAttribute("ustatic", ""), s.href = `${m}?nocache=${Date.now()}`, d.appendChild(s);
|
|
155
|
+
}
|
|
156
|
+
}).catch((m) => {
|
|
157
|
+
console.error("[uStaticCSS load base styles ERROR: ", m);
|
|
158
|
+
}), import("../_ustatic-vars-D2NgNZNI.js").then(({ default: m }) => {
|
|
159
|
+
const d = document.head;
|
|
160
|
+
if (!Array.from(d.getElementsByTagName("link")).find(
|
|
161
|
+
(s) => s.getAttribute("href")?.includes(m)
|
|
162
|
+
)) {
|
|
163
|
+
const s = document.createElement("link");
|
|
164
|
+
s.type = "text/css", s.rel = "stylesheet", s.setAttribute("async", ""), s.setAttribute("ustatic", ""), s.href = `${m}?nocache=${Date.now()}`, d.appendChild(s);
|
|
165
|
+
}
|
|
166
|
+
}).catch((m) => {
|
|
167
|
+
console.error("[uStaticCSS load variables for styles ERROR: ", m);
|
|
168
|
+
}));
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
export {
|
|
172
|
+
I as useCssProperties,
|
|
173
|
+
L as useTokens,
|
|
174
|
+
j as ustaticCss
|
|
175
|
+
};
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
"name": "ustatic-css",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"prefix": "u",
|
|
5
|
+
"description": "Пакет утилити-классов",
|
|
6
|
+
"documentation": "",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "./dist/js/index.cjs.js",
|
|
9
|
+
"module": "./dist/js/index.es.js",
|
|
10
|
+
"types": "dist/types/src/index.d.ts",
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "git+https://github.com/yudinmaxim/ustatic-css.git"
|
|
14
|
+
},
|
|
15
|
+
"bugs": {
|
|
16
|
+
"url": "https://github.com/yudinmaxim/ustatic-css/issues"
|
|
17
|
+
},
|
|
18
|
+
"homepage": "https://yudinmaxim.github.io/ustatic-css/",
|
|
19
|
+
"exports": {
|
|
20
|
+
".": "./dist/css/ustatic.css",
|
|
21
|
+
"./package.json": {
|
|
22
|
+
"import": "./package.json",
|
|
23
|
+
"require": "./package.json"
|
|
24
|
+
},
|
|
25
|
+
"./ustatic": {
|
|
26
|
+
"import": "./dist/css/ustatic.css"
|
|
27
|
+
},
|
|
28
|
+
"./vars": {
|
|
29
|
+
"import": "./dist/css/ustatic-vars.css"
|
|
30
|
+
},
|
|
31
|
+
"./base": "./dist/css/modules/base.css",
|
|
32
|
+
"./align": "./dist/css/modules/align.css",
|
|
33
|
+
"./animations": "./dist/css/modules/animations.css",
|
|
34
|
+
"./bg": "./dist/css/modules/bg.css",
|
|
35
|
+
"./border": "./dist/css/modules/border.css",
|
|
36
|
+
"./cursor": "./dist/css/modules/cursor.css",
|
|
37
|
+
"./display": "./dist/css/modules/display.css",
|
|
38
|
+
"./effects": "./dist/css/modules/effects.css",
|
|
39
|
+
"./filters": "./dist/css/modules/filters.css",
|
|
40
|
+
"./flexbox": "./dist/css/modules/flexbox.css",
|
|
41
|
+
"./grid": "./dist/css/modules/grid.css",
|
|
42
|
+
"./hide": "./dist/css/modules/hide.css",
|
|
43
|
+
"./interactivity": "./dist/css/modules/interactivity.css",
|
|
44
|
+
"./outline": "./dist/css/modules/outline.css",
|
|
45
|
+
"./position": "./dist/css/modules/position.css",
|
|
46
|
+
"./scroll": "./dist/css/modules/scroll.css",
|
|
47
|
+
"./sizing": "./dist/css/modules/sizing.css",
|
|
48
|
+
"./spacing": "./dist/css/modules/spacing.css",
|
|
49
|
+
"./typography": "./dist/css/modules/typography.css",
|
|
50
|
+
"./tokens-cfg/**/*": "./src/css/tokens/**/*",
|
|
51
|
+
"./tokens-scss/**/*": "./src/css/assets/tokens/**/*",
|
|
52
|
+
"./prefix": "./src/css/assets/tokens/_prefix.scss",
|
|
53
|
+
"./lists": "./src/css/assets/tokens/_list.scss",
|
|
54
|
+
"./utils/token": "./src/css/utils/_token.scss",
|
|
55
|
+
"./scripts": {
|
|
56
|
+
"types": "./dist/types/src/index.d.ts",
|
|
57
|
+
"import": "./dist/js/index.es.js",
|
|
58
|
+
"require": "./dist/js/index.cjs.js"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"files": [
|
|
62
|
+
"dist/**/*.*",
|
|
63
|
+
"src/**/*"
|
|
64
|
+
],
|
|
65
|
+
"publishConfig": {
|
|
66
|
+
"access": "public",
|
|
67
|
+
"registry": "https://registry.npmjs.org/"
|
|
68
|
+
},
|
|
69
|
+
"scripts": {
|
|
70
|
+
"tokens": "style-dictionary build --config ./sd.config.cjs",
|
|
71
|
+
"build": "pnpm run tokens && vite build",
|
|
72
|
+
"dev:vue": "cd examples/vue && pnpm dev"
|
|
73
|
+
},
|
|
74
|
+
"devDependencies": {
|
|
75
|
+
"@eslint/js": "~9.19.0",
|
|
76
|
+
"@types/node": "~22.13.1",
|
|
77
|
+
"@typescript-eslint/eslint-plugin": "^6.4.0",
|
|
78
|
+
"@typescript-eslint/parser": "^6.4.0",
|
|
79
|
+
"eslint": "~9.19.0",
|
|
80
|
+
"eslint-config-standard": "~17.1.0",
|
|
81
|
+
"eslint-config-standard-with-typescript": "~43.0.1",
|
|
82
|
+
"eslint-import-resolver-typescript": "~3.7.0",
|
|
83
|
+
"eslint-plugin-import": "~2.31.0",
|
|
84
|
+
"eslint-plugin-n": "~17.15.1",
|
|
85
|
+
"eslint-plugin-promise": "~7.2.1",
|
|
86
|
+
"eslint-plugin-vue": "~9.32.0",
|
|
87
|
+
"js-yaml": "~4.1.0",
|
|
88
|
+
"node-fetch": "~3.3.2",
|
|
89
|
+
"sass": "1.72.0",
|
|
90
|
+
"style-dictionary": "3.9.2",
|
|
91
|
+
"typescript-eslint": "^8.56.1",
|
|
92
|
+
"vite": "6.0.3",
|
|
93
|
+
"vite-plugin-dts": "3.8.1",
|
|
94
|
+
"vite-plugin-eslint": "~1.8.1",
|
|
95
|
+
"vite-plugin-externals": "^0.6.2",
|
|
96
|
+
"vite-tsconfig-paths": "4.3.1",
|
|
97
|
+
"vue-eslint-parser": "~9.4.3"
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
;
|
|
101
|
+
|
|
102
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AAEjC,cAAc,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IStyleLoaderOptions } from '../utils/styleLoader';
|
|
2
|
+
|
|
3
|
+
export interface PluginOptions extends IStyleLoaderOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Загружать ли стили автоматически при установке плагина
|
|
6
|
+
* @default true
|
|
7
|
+
*/
|
|
8
|
+
autoLoad?: boolean;
|
|
9
|
+
modules?: string[];
|
|
10
|
+
classes?: string[];
|
|
11
|
+
}
|
|
12
|
+
export declare const ustaticCss: {
|
|
13
|
+
install(app: any, options?: PluginOptions): void;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=vue.plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vue.plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/vue.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACxD;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAElB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,eAAO,MAAM,UAAU;iBACR,GAAG,YAAY,aAAa;CA6D1C,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface IStyleLoaderOptions {
|
|
2
|
+
modules?: string[];
|
|
3
|
+
classes?: string[];
|
|
4
|
+
}
|
|
5
|
+
export declare const getModulesFromClasses: (classes: string | string[]) => string[];
|
|
6
|
+
export interface IStyleLink {
|
|
7
|
+
href: string;
|
|
8
|
+
rel: string;
|
|
9
|
+
type: string;
|
|
10
|
+
}
|
|
11
|
+
export interface IStyleLinksOptions extends IStyleLoaderOptions {
|
|
12
|
+
/**
|
|
13
|
+
* Базовый путь для CSS файлов
|
|
14
|
+
* По умолчанию используется для SSR: пути относительно public папки
|
|
15
|
+
* Для браузера: используется import(...?url) для получения правильного URL
|
|
16
|
+
*/
|
|
17
|
+
basePath?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Режим работы: 'ssr' | 'browser'
|
|
20
|
+
* Если не указан, определяется автоматически
|
|
21
|
+
*/
|
|
22
|
+
mode?: 'ssr' | 'browser';
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Возвращает список ссылок на CSS файлы для SSR и браузера
|
|
26
|
+
* Использует ту же логику формирования путей, что и loadStyles
|
|
27
|
+
*
|
|
28
|
+
* @param options - опции загрузчика стилей
|
|
29
|
+
* @param options.mode - режим работы ('ssr' или 'browser'), по умолчанию определяется автоматически
|
|
30
|
+
* @param options.basePath - базовый путь для CSS файлов (для SSR режима)
|
|
31
|
+
* @returns Promise с массивом объектов IStyleLink для вставки в <head>
|
|
32
|
+
*/
|
|
33
|
+
export declare const getStyleLinks: (options?: IStyleLinksOptions) => Promise<IStyleLink[]>;
|
|
34
|
+
export declare const loadStyles: (options?: IStyleLoaderOptions) => Promise<void>;
|
|
35
|
+
//# sourceMappingURL=styleLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styleLoader.d.ts","sourceRoot":"","sources":["../../../../src/utils/styleLoader.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAID,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM,GAAG,MAAM,EAAE,KAAG,MAAM,EA4BxE,CAAA;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,IAAI,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;CACzB;AASD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAU,UAAU,kBAAkB,KAAG,OAAO,CAAC,UAAU,EAAE,CAiEtF,CAAA;AAgDD,eAAO,MAAM,UAAU,GAAU,UAAU,mBAAmB,KAAG,OAAO,CAAC,IAAI,CAoE5E,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styleloader.classmap.d.ts","sourceRoot":"","sources":["../../../../src/utils/styleloader.classmap.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4G3C,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Хук для управления CSS-свойствами через классы
|
|
3
|
+
* @param params - Параметры конфигурации
|
|
4
|
+
* @param params.resetOnUnmount - Флаг, определяющий нужно ли сбрасывать свойства при размонтировании компонента.
|
|
5
|
+
* По умолчанию true
|
|
6
|
+
*/
|
|
7
|
+
export declare const useCssProperties: () => {
|
|
8
|
+
setCssPropertiesViaClass: (className: string, properties: Record<string, string>) => void;
|
|
9
|
+
getCssPropertyViaClass: (className: string, property: string) => string;
|
|
10
|
+
removeClassWithProperties: (className: string) => void;
|
|
11
|
+
clearClassWithProperties: () => void;
|
|
12
|
+
setCssProperty: (property: string, value: string) => void;
|
|
13
|
+
removeCssProperty: (property: string) => void;
|
|
14
|
+
clearCssProperties: () => void;
|
|
15
|
+
clearAll: () => void;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=useCssProperties.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCssProperties.d.ts","sourceRoot":"","sources":["../../../../src/utils/useCssProperties.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;0CAWkB,MAAM,cAAc,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,IAAI;wCAoCnD,MAAM,YAAY,MAAM,KAAG,MAAM;2CA4B9B,MAAM,KAAG,IAAI;oCAmBtB,IAAI;+BAWP,MAAM,SAAS,MAAM,KAAG,IAAI;kCASzB,MAAM,KAAG,IAAI;8BAQnB,IAAI;;CAsBpC,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Хук для управления CSS-переменными через классы
|
|
3
|
+
* Позволяет устанавливать, получать и удалять CSS-токены как в глобальной области видимости, так и в рамках CSS-классов
|
|
4
|
+
* @returns Объект с методами для работы с токенами
|
|
5
|
+
*/
|
|
6
|
+
export declare const useTokens: () => {
|
|
7
|
+
setCssTokenViaClass: (className: string, tokens: Record<string, string>, options?: {
|
|
8
|
+
patch: boolean;
|
|
9
|
+
}) => void;
|
|
10
|
+
getCssTokenViaClass: (className: string, token: string) => string;
|
|
11
|
+
removeClassWithTokens: (className: string) => void;
|
|
12
|
+
clearClassWithTokens: () => void;
|
|
13
|
+
setCssToken: (token: string, value: string) => void;
|
|
14
|
+
removeCssToken: (token: string) => void;
|
|
15
|
+
clearCssTokens: () => void;
|
|
16
|
+
getCssToken: (token: string) => string;
|
|
17
|
+
getCssTokenVar: (token: string) => string;
|
|
18
|
+
setCssTokenVar: (token: string, value: string) => string;
|
|
19
|
+
clearAll: () => void;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=useTokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTokens.d.ts","sourceRoot":"","sources":["../../../../src/utils/useTokens.ts"],"names":[],"mappings":"AA4EA;;;;GAIG;AACH,eAAO,MAAM,SAAS;qCAgBoB,MAAM,UAAU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY;QAAE,KAAK,EAAE,OAAO,CAAA;KAAC,KAAG,IAAI;qCAgF1E,MAAM,SAAS,MAAM,KAAG,MAAM;uCA8B7B,MAAM,KAAG,IAAI;gCAmBrB,IAAI;yBAWT,MAAM,SAAS,MAAM,KAAG,IAAI;4BAWzB,MAAM,KAAG,IAAI;0BASjB,IAAI;yBAvML,MAAM,KAAG,MAAM;4BAlCZ,MAAM,KAAG,MAAM;4BA8Cf,MAAM,SAAS,MAAM,KAAG,MAAM;;CAuN5D,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=""+(typeof document>"u"?require("url").pathToFileURL(__dirname+"/css/ustatic.css").href:new URL("css/ustatic.css",document.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&document.currentScript.src||document.baseURI).href);exports.default=e;
|
package/package.json
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ustatic-css",
|
|
3
|
+
"version": "0.0.1-b.2",
|
|
4
|
+
"prefix": "u",
|
|
5
|
+
"description": "Пакет утилити-классов",
|
|
6
|
+
"documentation": "",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "./dist/js/index.cjs.js",
|
|
9
|
+
"module": "./dist/js/index.es.js",
|
|
10
|
+
"types": "dist/types/src/index.d.ts",
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "git+https://github.com/yudinmaxim/ustatic-css.git"
|
|
14
|
+
},
|
|
15
|
+
"bugs": {
|
|
16
|
+
"url": "https://github.com/yudinmaxim/ustatic-css/issues"
|
|
17
|
+
},
|
|
18
|
+
"homepage": "https://yudinmaxim.github.io/ustatic-css/",
|
|
19
|
+
"exports": {
|
|
20
|
+
".": "./dist/css/ustatic.css",
|
|
21
|
+
"./package.json": {
|
|
22
|
+
"import": "./package.json",
|
|
23
|
+
"require": "./package.json"
|
|
24
|
+
},
|
|
25
|
+
"./ustatic": {
|
|
26
|
+
"import": "./dist/css/ustatic.css"
|
|
27
|
+
},
|
|
28
|
+
"./vars": {
|
|
29
|
+
"import": "./dist/css/ustatic-vars.css"
|
|
30
|
+
},
|
|
31
|
+
"./base": "./dist/css/modules/base.css",
|
|
32
|
+
"./align": "./dist/css/modules/align.css",
|
|
33
|
+
"./animations": "./dist/css/modules/animations.css",
|
|
34
|
+
"./bg": "./dist/css/modules/bg.css",
|
|
35
|
+
"./border": "./dist/css/modules/border.css",
|
|
36
|
+
"./cursor": "./dist/css/modules/cursor.css",
|
|
37
|
+
"./display": "./dist/css/modules/display.css",
|
|
38
|
+
"./effects": "./dist/css/modules/effects.css",
|
|
39
|
+
"./filters": "./dist/css/modules/filters.css",
|
|
40
|
+
"./flexbox": "./dist/css/modules/flexbox.css",
|
|
41
|
+
"./grid": "./dist/css/modules/grid.css",
|
|
42
|
+
"./hide": "./dist/css/modules/hide.css",
|
|
43
|
+
"./interactivity": "./dist/css/modules/interactivity.css",
|
|
44
|
+
"./outline": "./dist/css/modules/outline.css",
|
|
45
|
+
"./position": "./dist/css/modules/position.css",
|
|
46
|
+
"./scroll": "./dist/css/modules/scroll.css",
|
|
47
|
+
"./sizing": "./dist/css/modules/sizing.css",
|
|
48
|
+
"./spacing": "./dist/css/modules/spacing.css",
|
|
49
|
+
"./typography": "./dist/css/modules/typography.css",
|
|
50
|
+
"./tokens-cfg/**/*": "./src/css/tokens/**/*",
|
|
51
|
+
"./tokens-scss/**/*": "./src/css/assets/tokens/**/*",
|
|
52
|
+
"./prefix": "./src/css/assets/tokens/_prefix.scss",
|
|
53
|
+
"./lists": "./src/css/assets/tokens/_list.scss",
|
|
54
|
+
"./utils/token": "./src/css/utils/_token.scss",
|
|
55
|
+
"./scripts": {
|
|
56
|
+
"types": "./dist/types/src/index.d.ts",
|
|
57
|
+
"import": "./dist/js/index.es.js",
|
|
58
|
+
"require": "./dist/js/index.cjs.js"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"files": [
|
|
62
|
+
"dist/**/*.*",
|
|
63
|
+
"src/**/*"
|
|
64
|
+
],
|
|
65
|
+
"publishConfig": {
|
|
66
|
+
"access": "public",
|
|
67
|
+
"registry": "https://registry.npmjs.org/"
|
|
68
|
+
},
|
|
69
|
+
"scripts": {
|
|
70
|
+
"tokens": "style-dictionary build --config ./sd.config.cjs",
|
|
71
|
+
"build": "pnpm run tokens && vite build",
|
|
72
|
+
"dev:vue": "cd examples/vue && pnpm dev"
|
|
73
|
+
},
|
|
74
|
+
"devDependencies": {
|
|
75
|
+
"@eslint/js": "~9.19.0",
|
|
76
|
+
"@types/node": "~22.13.1",
|
|
77
|
+
"@typescript-eslint/eslint-plugin": "^6.4.0",
|
|
78
|
+
"@typescript-eslint/parser": "^6.4.0",
|
|
79
|
+
"eslint": "~9.19.0",
|
|
80
|
+
"eslint-config-standard": "~17.1.0",
|
|
81
|
+
"eslint-config-standard-with-typescript": "~43.0.1",
|
|
82
|
+
"eslint-import-resolver-typescript": "~3.7.0",
|
|
83
|
+
"eslint-plugin-import": "~2.31.0",
|
|
84
|
+
"eslint-plugin-n": "~17.15.1",
|
|
85
|
+
"eslint-plugin-promise": "~7.2.1",
|
|
86
|
+
"eslint-plugin-vue": "~9.32.0",
|
|
87
|
+
"js-yaml": "~4.1.0",
|
|
88
|
+
"node-fetch": "~3.3.2",
|
|
89
|
+
"sass": "1.72.0",
|
|
90
|
+
"style-dictionary": "3.9.2",
|
|
91
|
+
"typescript-eslint": "^8.56.1",
|
|
92
|
+
"vite": "6.0.3",
|
|
93
|
+
"vite-plugin-dts": "3.8.1",
|
|
94
|
+
"vite-plugin-eslint": "~1.8.1",
|
|
95
|
+
"vite-plugin-externals": "^0.6.2",
|
|
96
|
+
"vite-tsconfig-paths": "4.3.1",
|
|
97
|
+
"vue-eslint-parser": "~9.4.3"
|
|
98
|
+
}
|
|
99
|
+
}
|