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.
Files changed (99) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +202 -0
  3. package/dist/_ustatic-vars-Cx6_uZJY.cjs +1 -0
  4. package/dist/_ustatic-vars-D2NgNZNI.js +4 -0
  5. package/dist/css/modules/align.css +1 -0
  6. package/dist/css/modules/animations.css +1 -0
  7. package/dist/css/modules/base.css +1 -0
  8. package/dist/css/modules/bg.css +1 -0
  9. package/dist/css/modules/border.css +1 -0
  10. package/dist/css/modules/cursor.css +1 -0
  11. package/dist/css/modules/display.css +1 -0
  12. package/dist/css/modules/effects.css +1 -0
  13. package/dist/css/modules/filters.css +1 -0
  14. package/dist/css/modules/flexbox.css +1 -0
  15. package/dist/css/modules/grid.css +1 -0
  16. package/dist/css/modules/hide.css +1 -0
  17. package/dist/css/modules/interactivity.css +1 -0
  18. package/dist/css/modules/outline.css +1 -0
  19. package/dist/css/modules/position.css +1 -0
  20. package/dist/css/modules/scroll.css +1 -0
  21. package/dist/css/modules/sizing.css +1 -0
  22. package/dist/css/modules/spacing.css +1 -0
  23. package/dist/css/modules/typography.css +1 -0
  24. package/dist/css/ustatic-vars.css +1 -0
  25. package/dist/css/ustatic.css +1 -0
  26. package/dist/js/index.cjs.js +9 -0
  27. package/dist/js/index.es.js +175 -0
  28. package/dist/types/package.json.d.ts +102 -0
  29. package/dist/types/src/index.d.ts +4 -0
  30. package/dist/types/src/index.d.ts.map +1 -0
  31. package/dist/types/src/plugins/vue.plugin.d.ts +15 -0
  32. package/dist/types/src/plugins/vue.plugin.d.ts.map +1 -0
  33. package/dist/types/src/utils/styleLoader.d.ts +35 -0
  34. package/dist/types/src/utils/styleLoader.d.ts.map +1 -0
  35. package/dist/types/src/utils/styleloader.classmap.d.ts +2 -0
  36. package/dist/types/src/utils/styleloader.classmap.d.ts.map +1 -0
  37. package/dist/types/src/utils/useCssProperties.d.ts +17 -0
  38. package/dist/types/src/utils/useCssProperties.d.ts.map +1 -0
  39. package/dist/types/src/utils/useTokens.d.ts +21 -0
  40. package/dist/types/src/utils/useTokens.d.ts.map +1 -0
  41. package/dist/ustatic-index-1SZfqZon.js +4 -0
  42. package/dist/ustatic-index-QcZrD98s.cjs +1 -0
  43. package/package.json +99 -0
  44. package/src/css/assets/tokens/_ustatic-list.scss +460 -0
  45. package/src/css/assets/tokens/_ustatic-prefix.scss +1 -0
  46. package/src/css/assets/tokens/_ustatic-vars.scss +757 -0
  47. package/src/css/modules/align/index.scss +17 -0
  48. package/src/css/modules/animations/index.scss +151 -0
  49. package/src/css/modules/base/index.scss +406 -0
  50. package/src/css/modules/base/scrollbar.scss +21 -0
  51. package/src/css/modules/bg/index.scss +60 -0
  52. package/src/css/modules/border/border.scss +88 -0
  53. package/src/css/modules/border/divider.scss +38 -0
  54. package/src/css/modules/border/index.scss +3 -0
  55. package/src/css/modules/border/rounded.scss +70 -0
  56. package/src/css/modules/cursor/index.scss +33 -0
  57. package/src/css/modules/display/index.scss +19 -0
  58. package/src/css/modules/effects/index.scss +35 -0
  59. package/src/css/modules/filters/index.scss +34 -0
  60. package/src/css/modules/flexbox/flex.scss +132 -0
  61. package/src/css/modules/flexbox/gap.scss +15 -0
  62. package/src/css/modules/flexbox/index.scss +2 -0
  63. package/src/css/modules/grid/index.scss +94 -0
  64. package/src/css/modules/hide/index.scss +27 -0
  65. package/src/css/modules/interactivity/index.scss +28 -0
  66. package/src/css/modules/outline/index.scss +63 -0
  67. package/src/css/modules/position/index.scss +94 -0
  68. package/src/css/modules/scroll/index.scss +68 -0
  69. package/src/css/modules/sizing/index.scss +91 -0
  70. package/src/css/modules/spacing/index.scss +56 -0
  71. package/src/css/modules/typography/index.scss +139 -0
  72. package/src/css/tokens/base/animations/underline.yaml +5 -0
  73. package/src/css/tokens/base/border/color.yaml +17 -0
  74. package/src/css/tokens/base/border/radius.yaml +33 -0
  75. package/src/css/tokens/base/border/width.yaml +19 -0
  76. package/src/css/tokens/base/color/accent.yaml +416 -0
  77. package/src/css/tokens/base/color/base.yaml +492 -0
  78. package/src/css/tokens/base/color/opacity.yaml +4 -0
  79. package/src/css/tokens/base/color/variant.yaml +18 -0
  80. package/src/css/tokens/base/cursor/base.yaml +18 -0
  81. package/src/css/tokens/base/font/weight.yaml +23 -0
  82. package/src/css/tokens/base/grid/base.yaml +9 -0
  83. package/src/css/tokens/base/position/base.yaml +253 -0
  84. package/src/css/tokens/base/rotation/base.yaml +20 -0
  85. package/src/css/tokens/base/screen/base.yaml +10 -0
  86. package/src/css/tokens/base/scroll/base.yaml +16 -0
  87. package/src/css/tokens/base/size/base.yaml +16 -0
  88. package/src/css/tokens/base/text/color.yaml +20 -0
  89. package/src/css/tokens/base/text/size.yaml +37 -0
  90. package/src/css/tokens/base/visibility/base.yaml +61 -0
  91. package/src/css/ustatic-index.scss +24 -0
  92. package/src/css/utils/_token.scss +56 -0
  93. package/src/css/variables.scss +359 -0
  94. package/src/index.ts +6 -0
  95. package/src/plugins/vue.plugin.ts +77 -0
  96. package/src/utils/styleLoader.ts +257 -0
  97. package/src/utils/styleloader.classmap.ts +109 -0
  98. package/src/utils/useCssProperties.ts +152 -0
  99. 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,4 @@
1
+ export * from './utils/useCssProperties';
2
+ export * from './utils/useTokens';
3
+ export * from './plugins/vue.plugin';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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,2 @@
1
+ export declare const classMap: Record<string, string>;
2
+ //# sourceMappingURL=styleloader.classmap.d.ts.map
@@ -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,4 @@
1
+ const t = "" + new URL("css/ustatic.css", import.meta.url).href;
2
+ export {
3
+ t as default
4
+ };
@@ -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
+ }