oncss 1.1.16 → 1.2.0

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/core.js ADDED
@@ -0,0 +1,232 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib_es6=require('./node_modules/tslib/tslib.es6.js'),youid=require('youid');var _global = typeof window !== 'undefined' ? window : global;
2
+ _global.Factory = _global.Factory || new Map();
3
+ var CSSFactory = _global.Factory;
4
+ var number_val_props = [
5
+ "fontWeight",
6
+ "font-weight",
7
+ "lineHeight",
8
+ "line-height",
9
+ "opacity",
10
+ "zIndex",
11
+ "z-index",
12
+ "flex",
13
+ "order",
14
+ "flexGrow",
15
+ "flex-grow",
16
+ "flexShrink",
17
+ "flex-shrink",
18
+ "flexBasis",
19
+ "flex-basis",
20
+ "columns",
21
+ "perspective",
22
+ "stroke-dashoffset"
23
+ ];
24
+ var formatCSSProp = function (prop) { return prop.split(/(?=[A-Z])/).join("-").toLowerCase(); };
25
+ var formatCSSValue = function (prop, val) { return typeof val === 'number' && !number_val_props.includes(prop) ? "".concat(val, "px") : val; };
26
+ var PREFIXES = ['webkit', 'moz', 'ms', 'o'];
27
+ var _declaration;
28
+ var PREFIXCACHE = new Map();
29
+ var cssPrefix = function (prop, value) {
30
+ value = formatCSSValue(prop, value);
31
+ prop = formatCSSProp(prop);
32
+ if (typeof window === 'undefined') {
33
+ return { prop: prop, value: value };
34
+ }
35
+ var declaration = _declaration || (_declaration = document.createElement("div").style);
36
+ value = value === null || value === void 0 ? void 0 : value.toString();
37
+ // Check if the property and value work as is
38
+ if (declaration.setProperty(prop, value), declaration.getPropertyValue(prop) === value) {
39
+ return { prop: prop, value: value };
40
+ }
41
+ // Check cached property and value prefix
42
+ var cached = PREFIXCACHE.get(prop);
43
+ if (cached) {
44
+ return { prop: cached._prop, value: "".concat(cached._vprefix).concat(value) };
45
+ }
46
+ var _prop = prop;
47
+ var _value = value;
48
+ var _vprefix = '';
49
+ // Try property prefixes
50
+ var camelCaseProp = prop.includes('-') ? prop.replace(/-([a-z])/g, function (_, c) { return c.toUpperCase(); }) : prop;
51
+ for (var _i = 0, PREFIXES_1 = PREFIXES; _i < PREFIXES_1.length; _i++) {
52
+ var prefix = PREFIXES_1[_i];
53
+ if (declaration["".concat(prefix).concat(camelCaseProp)] !== undefined) {
54
+ _prop = "-".concat(prefix, "-").concat(prop);
55
+ break;
56
+ }
57
+ }
58
+ // Check if prefixed property works with the value
59
+ declaration.setProperty(_prop, value);
60
+ if (!declaration.getPropertyValue(_prop)) {
61
+ for (var _a = 0, PREFIXES_2 = PREFIXES; _a < PREFIXES_2.length; _a++) {
62
+ var prefix = PREFIXES_2[_a];
63
+ var prefixedValue = "-".concat(prefix, "-").concat(value);
64
+ if (declaration.setProperty(_prop, prefixedValue), declaration.getPropertyValue(_prop) === prefixedValue) {
65
+ _value = prefixedValue;
66
+ _vprefix = "-".concat(prefix, "-");
67
+ break;
68
+ }
69
+ }
70
+ }
71
+ PREFIXCACHE.set(prop, { _prop: _prop, _vprefix: _vprefix });
72
+ return { prop: _prop, value: _value };
73
+ };
74
+ var style = function (_css, cls, opt, dept) {
75
+ var _a;
76
+ if (dept === void 0) { dept = 1; }
77
+ var cachekey;
78
+ var classname = cls;
79
+ if (!cls) {
80
+ cachekey = JSON.stringify(_css, function (_key, value) { return typeof value === "function" ? value.toString() : value; });
81
+ var has = CSSFactory.get(cachekey);
82
+ if (has) {
83
+ has.cache = true;
84
+ return has;
85
+ }
86
+ classname = "".concat((opt === null || opt === void 0 ? void 0 : opt.classPrefix) || "", "x").concat(youid(cachekey));
87
+ }
88
+ else if (typeof cls !== 'string') {
89
+ throw new Error("Invalid class name: ".concat(cls));
90
+ }
91
+ var stack = ["".concat(classname, "{")];
92
+ var medias = {};
93
+ var skiped = {};
94
+ for (var prop in _css) {
95
+ var val = _css[prop];
96
+ var firstChar = prop.charAt(0);
97
+ if (firstChar === '&') {
98
+ var ncls = prop.replace(/&/g, classname);
99
+ var r = style(val, ncls, opt, dept + 1);
100
+ if (opt === null || opt === void 0 ? void 0 : opt.skipProps) {
101
+ skiped = tslib_es6.__assign(tslib_es6.__assign({}, skiped), r.skiped);
102
+ }
103
+ stack.push(r.stack);
104
+ }
105
+ else if (firstChar === '@') {
106
+ if (prop.startsWith("@global") || prop.startsWith("@keyframes")) {
107
+ var _css_1 = '';
108
+ for (var selector in val) {
109
+ var r = style(val[selector], selector, opt, dept + 1);
110
+ _css_1 += r.stack;
111
+ if (opt === null || opt === void 0 ? void 0 : opt.skipProps) {
112
+ skiped = tslib_es6.__assign(tslib_es6.__assign({}, skiped), r.skiped);
113
+ }
114
+ }
115
+ if (prop.startsWith("@keyframes")) {
116
+ stack.push("".concat(prop, "{").concat(_css_1, "}"));
117
+ }
118
+ else {
119
+ stack.push(_css_1);
120
+ }
121
+ }
122
+ else {
123
+ var r = style(val, classname, opt, dept + 1);
124
+ var atcss = prop + "{" + r.stack + "}";
125
+ stack.push(atcss);
126
+ if (opt === null || opt === void 0 ? void 0 : opt.skipProps) {
127
+ skiped = tslib_es6.__assign(tslib_es6.__assign({}, skiped), r.skiped);
128
+ }
129
+ }
130
+ }
131
+ else {
132
+ if ((opt === null || opt === void 0 ? void 0 : opt.skipProps) && opt.skipProps(prop, val, dept)) {
133
+ if (!(classname in skiped))
134
+ skiped[classname] = [];
135
+ skiped[classname].push(prop);
136
+ continue;
137
+ }
138
+ if (typeof val === 'function' || Array.isArray(val)) {
139
+ continue;
140
+ }
141
+ if (typeof val === 'object') {
142
+ for (var media in val) {
143
+ if (typeof val[media] === 'object' || typeof val[media] === 'function' || Array.isArray(val[media])) {
144
+ throw new Error("Invalid css value: ".concat(val[media]));
145
+ }
146
+ var breakpoint = media;
147
+ var isNumber = !isNaN(parseInt(breakpoint));
148
+ if (!isNumber) {
149
+ if ((opt === null || opt === void 0 ? void 0 : opt.breakpoints) && !isNaN(parseInt(opt.breakpoints[media]))) {
150
+ breakpoint = opt.breakpoints[media].toString();
151
+ }
152
+ else {
153
+ throw new Error("Invalid breakpoint prop: ".concat(media));
154
+ }
155
+ }
156
+ var _css_2 = (_a = {}, _a[prop] = val[media], _a);
157
+ var r = style(_css_2, classname, opt, dept);
158
+ var _style = r.stack;
159
+ var mediakey = "@media (min-width: ".concat(breakpoint, "px)");
160
+ medias[mediakey] = medias[mediakey] ? medias[mediakey] + _style : _style;
161
+ if (opt === null || opt === void 0 ? void 0 : opt.skipProps) {
162
+ skiped = tslib_es6.__assign(tslib_es6.__assign({}, skiped), r.skiped);
163
+ }
164
+ }
165
+ }
166
+ else {
167
+ if (opt === null || opt === void 0 ? void 0 : opt.getProps) {
168
+ var _props = opt.getProps(prop, val, _css, dept);
169
+ if (_props) {
170
+ var r = style(_props, classname, tslib_es6.__assign(tslib_es6.__assign({}, opt), { getProps: undefined }));
171
+ if (opt === null || opt === void 0 ? void 0 : opt.skipProps) {
172
+ skiped = tslib_es6.__assign(tslib_es6.__assign({}, skiped), r.skiped);
173
+ }
174
+ stack.push(r.stack);
175
+ continue;
176
+ }
177
+ }
178
+ if ((opt === null || opt === void 0 ? void 0 : opt.aliases) && opt.aliases[prop]) {
179
+ var _props = opt.aliases[prop](val);
180
+ if (_props) {
181
+ var r = style(_props, classname, tslib_es6.__assign(tslib_es6.__assign({}, opt), { aliases: undefined }), dept);
182
+ r.stack = r.stack.replace("".concat(classname, "{"), '').replace("}", '');
183
+ stack[0] += r.stack;
184
+ continue;
185
+ }
186
+ }
187
+ if (opt === null || opt === void 0 ? void 0 : opt.getValue) {
188
+ val = opt.getValue(prop, val, _css, dept);
189
+ }
190
+ var p = cssPrefix(prop, val);
191
+ stack[0] += "".concat(p.prop, ":").concat(p.value, ";");
192
+ }
193
+ }
194
+ }
195
+ stack[0] += "}";
196
+ if (stack[0] === "".concat(classname, "{}")) {
197
+ stack[0] = "";
198
+ }
199
+ stack = stack.join('');
200
+ for (var media in medias) {
201
+ stack += "".concat(media, "{").concat(medias[media].replace(new RegExp("}\\".concat(classname, "\\{"), 'g'), ''), "}");
202
+ }
203
+ if (cachekey) {
204
+ stack = stack.replace(new RegExp(classname, 'g'), ".".concat(classname));
205
+ var r = {
206
+ cache: false,
207
+ cachekey: cachekey,
208
+ classname: classname,
209
+ css: stack,
210
+ cssraw: _css,
211
+ skiped: skiped,
212
+ getStyleTag: function () { return document === null || document === void 0 ? void 0 : document.querySelector("[data-oncss=\"".concat(classname, "\"]")); },
213
+ deleteStyle: function () {
214
+ var tag = document === null || document === void 0 ? void 0 : document.querySelector("[data-oncss=\"".concat(classname, "\"]"));
215
+ tag && tag.remove();
216
+ },
217
+ toString: function () { return classname; }
218
+ };
219
+ CSSFactory.set(cachekey, r);
220
+ var inject = (opt === null || opt === void 0 ? void 0 : opt.injectStyle) || true;
221
+ if (inject && typeof window !== 'undefined') {
222
+ if (!document.querySelector("[data-oncss=\"".concat(classname, "\"]"))) {
223
+ var tag = document.createElement("style");
224
+ tag.innerHTML = r.css;
225
+ tag.setAttribute("data-oncss", classname);
226
+ document.head.append(tag);
227
+ }
228
+ }
229
+ return r;
230
+ }
231
+ return { stack: stack, skiped: skiped };
232
+ };exports.CSSFactory=CSSFactory;exports.cssPrefix=cssPrefix;exports.formatCSSProp=formatCSSProp;exports.formatCSSValue=formatCSSValue;exports.style=style;//# sourceMappingURL=core.js.map
package/core.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sources":["../src/core.ts"],"sourcesContent":["import { CSSOptionProps, CSSFactoryType, CSSProps } from './types';\nimport youid from 'youid';\nconst _global: any = typeof window !== 'undefined' ? window : global;\n_global.Factory = _global.Factory || new Map<string, CSSFactoryType>();\nexport const CSSFactory = _global.Factory as Map<string, CSSFactoryType>\n\n\nconst number_val_props = [\n \"fontWeight\",\n \"font-weight\",\n \"lineHeight\",\n \"line-height\",\n \"opacity\",\n \"zIndex\",\n \"z-index\",\n \"flex\",\n \"order\",\n \"flexGrow\",\n \"flex-grow\",\n \"flexShrink\",\n \"flex-shrink\",\n \"flexBasis\",\n \"flex-basis\",\n \"columns\",\n \"perspective\",\n \"stroke-dashoffset\"\n]\n\nexport const formatCSSProp = (prop: string) => prop.split(/(?=[A-Z])/).join(\"-\").toLowerCase();\nexport const formatCSSValue = (prop: string, val: any) => typeof val === 'number' && !number_val_props.includes(prop) ? `${val}px` : val\n\nconst PREFIXES = ['webkit', 'moz', 'ms', 'o'];\nlet _declaration: CSSStyleDeclaration;\nconst PREFIXCACHE = new Map();\n\nexport const cssPrefix = (prop: string, value: string): { prop: string, value: string } => {\n value = formatCSSValue(prop, value);\n prop = formatCSSProp(prop);\n\n if (typeof window === 'undefined') {\n return { prop, value };\n }\n\n const declaration = _declaration || (_declaration = document.createElement(\"div\").style);\n value = value?.toString();\n\n // Check if the property and value work as is\n if (declaration.setProperty(prop, value), declaration.getPropertyValue(prop) === value) {\n return { prop, value };\n }\n\n // Check cached property and value prefix\n const cached = PREFIXCACHE.get(prop);\n if (cached) {\n return { prop: cached._prop, value: `${cached._vprefix}${value}` };\n }\n\n let _prop = prop;\n let _value = value;\n let _vprefix = '';\n\n // Try property prefixes\n const camelCaseProp = prop.includes('-') ? prop.replace(/-([a-z])/g, (_, c) => c.toUpperCase()) : prop;\n for (const prefix of PREFIXES) {\n if (declaration[`${prefix}${camelCaseProp}` as any] !== undefined) {\n _prop = `-${prefix}-${prop}`;\n break;\n }\n }\n\n // Check if prefixed property works with the value\n declaration.setProperty(_prop, value);\n if (!declaration.getPropertyValue(_prop)) {\n for (const prefix of PREFIXES) {\n const prefixedValue = `-${prefix}-${value}`;\n if (declaration.setProperty(_prop, prefixedValue), declaration.getPropertyValue(_prop) === prefixedValue) {\n _value = prefixedValue;\n _vprefix = `-${prefix}-`;\n break;\n }\n }\n }\n\n PREFIXCACHE.set(prop, { _prop, _vprefix });\n return { prop: _prop, value: _value };\n};\n\nexport const style = <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, cls?: string, opt?: CSSOptionProps<Aliases, BreakpointKeys>, dept = 1) => {\n let cachekey\n let classname = cls\n if (!cls) {\n cachekey = JSON.stringify(_css, (_key, value) => typeof value === \"function\" ? value.toString() : value);\n const has = CSSFactory.get(cachekey)\n if (has) {\n has.cache = true\n return has\n }\n classname = `${opt?.classPrefix || \"\"}x${youid(cachekey)}`\n } else if (typeof cls !== 'string') {\n throw new Error(`Invalid class name: ${cls}`)\n }\n\n let stack: any = [`${classname}{`]\n let medias: any = {}\n let skiped: any = {}\n for (let prop in _css) {\n let val = (_css as any)[prop]\n let firstChar = prop.charAt(0)\n if (firstChar === '&') {\n let ncls = prop.replace(/&/g, classname as string)\n const r: any = style(val, ncls, opt, dept + 1)\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n stack.push(r.stack)\n } else if (firstChar === '@') {\n if (prop.startsWith(\"@global\") || prop.startsWith(\"@keyframes\")) {\n let _css = ''\n for (let selector in val) {\n let r: any = style(val[selector], selector, opt, dept + 1)\n _css += r.stack\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n }\n if (prop.startsWith(\"@keyframes\")) {\n stack.push(`${prop}{${_css}}`)\n } else {\n stack.push(_css)\n }\n } else {\n let r: any = style(val, classname, opt, dept + 1)\n const atcss = prop + \"{\" + r.stack + \"}\"\n stack.push(atcss)\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n }\n } else {\n if (opt?.skipProps && opt.skipProps(prop, val, dept)) {\n if (!((classname as any) in skiped)) skiped[classname as string] = []\n skiped[classname as string].push(prop)\n continue\n }\n if (typeof val === 'function' || Array.isArray(val)) {\n continue\n }\n if (typeof val === 'object') {\n for (let media in val) {\n if (typeof val[media] === 'object' || typeof val[media] === 'function' || Array.isArray(val[media])) {\n throw new Error(`Invalid css value: ${val[media]}`);\n }\n let breakpoint = media\n let isNumber = !isNaN(parseInt(breakpoint))\n if (!isNumber) {\n if (opt?.breakpoints && !isNaN(parseInt((opt.breakpoints as any)[media]))) {\n breakpoint = opt.breakpoints[media as BreakpointKeys].toString()\n } else {\n throw new Error(`Invalid breakpoint prop: ${media}`);\n }\n }\n let _css = { [prop]: val[media] }\n let r: any = style(_css, classname, opt, dept)\n let _style = r.stack\n let mediakey = `@media (min-width: ${breakpoint}px)`\n medias[mediakey] = medias[mediakey] ? medias[mediakey] + _style : _style\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n }\n } else {\n if (opt?.getProps) {\n let _props: any = opt.getProps(prop, val, _css, dept)\n if (_props) {\n let r: any = style(_props, classname, {\n ...opt,\n getProps: undefined\n })\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n stack.push(r.stack)\n continue;\n }\n }\n if (opt?.aliases && (opt.aliases as any)[prop]) {\n let _props = (opt.aliases as any)[prop](val)\n if (_props) {\n let r: any = style(_props, classname, {\n ...opt,\n aliases: undefined\n }, dept)\n r.stack = r.stack.replace(`${classname}{`, '').replace(`}`, '')\n stack[0] += r.stack\n continue;\n }\n }\n if (opt?.getValue) {\n val = opt.getValue(prop, val, _css, dept)\n }\n let p = cssPrefix(prop, val)\n stack[0] += `${p.prop}:${p.value};`\n }\n }\n }\n stack[0] += \"}\"\n if (stack[0] === `${classname}{}`) {\n stack[0] = \"\"\n }\n stack = stack.join('')\n for (let media in medias) {\n stack += `${media}{${medias[media].replace(new RegExp(`}\\\\${classname}\\\\{`, 'g'), '')}}`\n }\n\n if (cachekey) {\n stack = stack.replace(new RegExp(classname as string, 'g'), `.${classname}`)\n const r = {\n cache: false,\n cachekey,\n classname: classname as string,\n css: stack,\n cssraw: _css,\n skiped,\n getStyleTag: () => document?.querySelector(`[data-oncss=\"${classname}\"]`) as HTMLStyleElement | null,\n deleteStyle: () => {\n const tag = document?.querySelector(`[data-oncss=\"${classname}\"]`)\n tag && tag.remove()\n },\n toString: () => classname as string\n }\n CSSFactory.set(cachekey, r)\n let inject = opt?.injectStyle || true\n if (inject && typeof window !== 'undefined') {\n if (!document.querySelector(`[data-oncss=\"${classname}\"]`)) {\n const tag = document.createElement(\"style\");\n tag.innerHTML = r.css\n tag.setAttribute(`data-oncss`, classname as string)\n document.head.append(tag)\n }\n }\n return r\n }\n return { stack, skiped }\n}"],"names":["__assign"],"mappings":"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"}
package/core.mjs CHANGED
@@ -1,2 +1,232 @@
1
- import C from"youid";const S=typeof window<"u"?window:global;S.Factory=S.Factory||new Map;const h=S.Factory,E=["fontWeight","font-weight","lineHeight","line-height","opacity","zIndex","z-index","flex","order","flexGrow","flex-grow","flexShrink","flex-shrink","flexBasis","flex-basis","columns","perspective","stroke-dashoffset"],A=s=>s.split(/(?=[A-Z])/).join("-").toLowerCase(),_=(s,i)=>typeof i=="number"&&!E.includes(s)?`${i}px`:i,x=["webkit","moz","ms","o"];let P;const w=new Map,F=(s,i)=>{if(i=_(s,i),s=A(s),typeof window>"u")return{prop:s,value:i};const e=P||(P=document.createElement("div").style);if(i=i?.toString(),e.setProperty(s,i),e.getPropertyValue(s)===i)return{prop:s,value:i};const p=w.get(s);if(p)return{prop:p._prop,value:`${p._vprefix}${i}`};let f=s,r=i,l="";const d=s.includes("-")?s.replace(/-([a-z])/g,(n,t)=>t.toUpperCase()):s;for(const n of x)if(e[`${n}${d}`]!==void 0){f=`-${n}-${s}`;break}if(e.setProperty(f,i),!e.getPropertyValue(f))for(const n of x){const t=`-${n}-${i}`;if(e.setProperty(f,t),e.getPropertyValue(f)===t){r=t,l=`-${n}-`;break}}return w.set(s,{_prop:f,_vprefix:l}),{prop:f,value:r}},u=(s,i,e,p=1)=>{let f,r=i;if(i){if(typeof i!="string")throw new Error(`Invalid class name: ${i}`)}else{f=JSON.stringify(s,(a,y)=>typeof y=="function"?y.toString():y);const t=h.get(f);if(t)return t.cache=!0,t;r=`${e?.classPrefix||""}x${C(f)}`}let l=[`${r}{`],d={},n={};for(let t in s){let a=s[t],y=t.charAt(0);if(y==="&"){let o=t.replace(/&/g,r);const c=u(a,o,e,p+1);e?.skipProps&&(n={...n,...c.skiped}),l.push(c.stack)}else if(y==="@")if(t.startsWith("@global")||t.startsWith("@keyframes")){let o="";for(let c in a){let g=u(a[c],c,e,p+1);o+=g.stack,e?.skipProps&&(n={...n,...g.skiped})}t.startsWith("@keyframes")?l.push(`${t}{${o}}`):l.push(o)}else{let o=u(a,r,e,p+1);const c=t+"{"+o.stack+"}";l.push(c),e?.skipProps&&(n={...n,...o.skiped})}else{if(e?.skipProps&&e.skipProps(t,a,p)){r in n||(n[r]=[]),n[r].push(t);continue}if(typeof a=="function"||Array.isArray(a))continue;if(typeof a=="object")for(let o in a){if(typeof a[o]=="object"||typeof a[o]=="function"||Array.isArray(a[o]))throw new Error(`Invalid css value: ${a[o]}`);let c=o;if(!!isNaN(parseInt(c)))if(e?.breakpoints&&!isNaN(parseInt(e.breakpoints[o])))c=e.breakpoints[o].toString();else throw new Error(`Invalid breakpoint prop: ${o}`);let b={[t]:a[o]},m=u(b,r,e,p),$=m.stack,k=`@media (min-width: ${c}px)`;d[k]=d[k]?d[k]+$:$,e?.skipProps&&(n={...n,...m.skiped})}else{if(e?.getProps){let c=e.getProps(t,a,s,p);if(c){let g=u(c,r,{...e,getProps:void 0});e?.skipProps&&(n={...n,...g.skiped}),l.push(g.stack);continue}}if(e?.aliases&&e.aliases[t]){let c=e.aliases[t](a);if(c){let g=u(c,r,{...e,aliases:void 0},p);g.stack=g.stack.replace(`${r}{`,"").replace("}",""),l[0]+=g.stack;continue}}e?.getValue&&(a=e.getValue(t,a,s,p));let o=F(t,a);l[0]+=`${o.prop}:${o.value};`}}}l[0]+="}",l[0]===`${r}{}`&&(l[0]=""),l=l.join("");for(let t in d)l+=`${t}{${d[t].replace(new RegExp(`}\\${r}\\{`,"g"),"")}}`;if(f){l=l.replace(new RegExp(r,"g"),`.${r}`);const t={cache:!1,cachekey:f,classname:r,css:l,cssraw:s,skiped:n,getStyleTag:()=>document?.querySelector(`[data-oncss="${r}"]`),deleteStyle:()=>{const y=document?.querySelector(`[data-oncss="${r}"]`);y&&y.remove()},toString:()=>r};if(h.set(f,t),(e?.injectStyle||!0)&&typeof window<"u"&&!document.querySelector(`[data-oncss="${r}"]`)){const y=document.createElement("style");y.innerHTML=t.css,y.setAttribute("data-oncss",r),document.head.append(y)}return t}return{stack:l,skiped:n}};export{h as CSSFactory,F as cssPrefix,A as formatCSSProp,_ as formatCSSValue,u as style};
2
- //# sourceMappingURL=core.mjs.map
1
+ import {__assign}from'./node_modules/tslib/tslib.es6.mjs';import youid from'youid';var _global = typeof window !== 'undefined' ? window : global;
2
+ _global.Factory = _global.Factory || new Map();
3
+ var CSSFactory = _global.Factory;
4
+ var number_val_props = [
5
+ "fontWeight",
6
+ "font-weight",
7
+ "lineHeight",
8
+ "line-height",
9
+ "opacity",
10
+ "zIndex",
11
+ "z-index",
12
+ "flex",
13
+ "order",
14
+ "flexGrow",
15
+ "flex-grow",
16
+ "flexShrink",
17
+ "flex-shrink",
18
+ "flexBasis",
19
+ "flex-basis",
20
+ "columns",
21
+ "perspective",
22
+ "stroke-dashoffset"
23
+ ];
24
+ var formatCSSProp = function (prop) { return prop.split(/(?=[A-Z])/).join("-").toLowerCase(); };
25
+ var formatCSSValue = function (prop, val) { return typeof val === 'number' && !number_val_props.includes(prop) ? "".concat(val, "px") : val; };
26
+ var PREFIXES = ['webkit', 'moz', 'ms', 'o'];
27
+ var _declaration;
28
+ var PREFIXCACHE = new Map();
29
+ var cssPrefix = function (prop, value) {
30
+ value = formatCSSValue(prop, value);
31
+ prop = formatCSSProp(prop);
32
+ if (typeof window === 'undefined') {
33
+ return { prop: prop, value: value };
34
+ }
35
+ var declaration = _declaration || (_declaration = document.createElement("div").style);
36
+ value = value === null || value === void 0 ? void 0 : value.toString();
37
+ // Check if the property and value work as is
38
+ if (declaration.setProperty(prop, value), declaration.getPropertyValue(prop) === value) {
39
+ return { prop: prop, value: value };
40
+ }
41
+ // Check cached property and value prefix
42
+ var cached = PREFIXCACHE.get(prop);
43
+ if (cached) {
44
+ return { prop: cached._prop, value: "".concat(cached._vprefix).concat(value) };
45
+ }
46
+ var _prop = prop;
47
+ var _value = value;
48
+ var _vprefix = '';
49
+ // Try property prefixes
50
+ var camelCaseProp = prop.includes('-') ? prop.replace(/-([a-z])/g, function (_, c) { return c.toUpperCase(); }) : prop;
51
+ for (var _i = 0, PREFIXES_1 = PREFIXES; _i < PREFIXES_1.length; _i++) {
52
+ var prefix = PREFIXES_1[_i];
53
+ if (declaration["".concat(prefix).concat(camelCaseProp)] !== undefined) {
54
+ _prop = "-".concat(prefix, "-").concat(prop);
55
+ break;
56
+ }
57
+ }
58
+ // Check if prefixed property works with the value
59
+ declaration.setProperty(_prop, value);
60
+ if (!declaration.getPropertyValue(_prop)) {
61
+ for (var _a = 0, PREFIXES_2 = PREFIXES; _a < PREFIXES_2.length; _a++) {
62
+ var prefix = PREFIXES_2[_a];
63
+ var prefixedValue = "-".concat(prefix, "-").concat(value);
64
+ if (declaration.setProperty(_prop, prefixedValue), declaration.getPropertyValue(_prop) === prefixedValue) {
65
+ _value = prefixedValue;
66
+ _vprefix = "-".concat(prefix, "-");
67
+ break;
68
+ }
69
+ }
70
+ }
71
+ PREFIXCACHE.set(prop, { _prop: _prop, _vprefix: _vprefix });
72
+ return { prop: _prop, value: _value };
73
+ };
74
+ var style = function (_css, cls, opt, dept) {
75
+ var _a;
76
+ if (dept === void 0) { dept = 1; }
77
+ var cachekey;
78
+ var classname = cls;
79
+ if (!cls) {
80
+ cachekey = JSON.stringify(_css, function (_key, value) { return typeof value === "function" ? value.toString() : value; });
81
+ var has = CSSFactory.get(cachekey);
82
+ if (has) {
83
+ has.cache = true;
84
+ return has;
85
+ }
86
+ classname = "".concat((opt === null || opt === void 0 ? void 0 : opt.classPrefix) || "", "x").concat(youid(cachekey));
87
+ }
88
+ else if (typeof cls !== 'string') {
89
+ throw new Error("Invalid class name: ".concat(cls));
90
+ }
91
+ var stack = ["".concat(classname, "{")];
92
+ var medias = {};
93
+ var skiped = {};
94
+ for (var prop in _css) {
95
+ var val = _css[prop];
96
+ var firstChar = prop.charAt(0);
97
+ if (firstChar === '&') {
98
+ var ncls = prop.replace(/&/g, classname);
99
+ var r = style(val, ncls, opt, dept + 1);
100
+ if (opt === null || opt === void 0 ? void 0 : opt.skipProps) {
101
+ skiped = __assign(__assign({}, skiped), r.skiped);
102
+ }
103
+ stack.push(r.stack);
104
+ }
105
+ else if (firstChar === '@') {
106
+ if (prop.startsWith("@global") || prop.startsWith("@keyframes")) {
107
+ var _css_1 = '';
108
+ for (var selector in val) {
109
+ var r = style(val[selector], selector, opt, dept + 1);
110
+ _css_1 += r.stack;
111
+ if (opt === null || opt === void 0 ? void 0 : opt.skipProps) {
112
+ skiped = __assign(__assign({}, skiped), r.skiped);
113
+ }
114
+ }
115
+ if (prop.startsWith("@keyframes")) {
116
+ stack.push("".concat(prop, "{").concat(_css_1, "}"));
117
+ }
118
+ else {
119
+ stack.push(_css_1);
120
+ }
121
+ }
122
+ else {
123
+ var r = style(val, classname, opt, dept + 1);
124
+ var atcss = prop + "{" + r.stack + "}";
125
+ stack.push(atcss);
126
+ if (opt === null || opt === void 0 ? void 0 : opt.skipProps) {
127
+ skiped = __assign(__assign({}, skiped), r.skiped);
128
+ }
129
+ }
130
+ }
131
+ else {
132
+ if ((opt === null || opt === void 0 ? void 0 : opt.skipProps) && opt.skipProps(prop, val, dept)) {
133
+ if (!(classname in skiped))
134
+ skiped[classname] = [];
135
+ skiped[classname].push(prop);
136
+ continue;
137
+ }
138
+ if (typeof val === 'function' || Array.isArray(val)) {
139
+ continue;
140
+ }
141
+ if (typeof val === 'object') {
142
+ for (var media in val) {
143
+ if (typeof val[media] === 'object' || typeof val[media] === 'function' || Array.isArray(val[media])) {
144
+ throw new Error("Invalid css value: ".concat(val[media]));
145
+ }
146
+ var breakpoint = media;
147
+ var isNumber = !isNaN(parseInt(breakpoint));
148
+ if (!isNumber) {
149
+ if ((opt === null || opt === void 0 ? void 0 : opt.breakpoints) && !isNaN(parseInt(opt.breakpoints[media]))) {
150
+ breakpoint = opt.breakpoints[media].toString();
151
+ }
152
+ else {
153
+ throw new Error("Invalid breakpoint prop: ".concat(media));
154
+ }
155
+ }
156
+ var _css_2 = (_a = {}, _a[prop] = val[media], _a);
157
+ var r = style(_css_2, classname, opt, dept);
158
+ var _style = r.stack;
159
+ var mediakey = "@media (min-width: ".concat(breakpoint, "px)");
160
+ medias[mediakey] = medias[mediakey] ? medias[mediakey] + _style : _style;
161
+ if (opt === null || opt === void 0 ? void 0 : opt.skipProps) {
162
+ skiped = __assign(__assign({}, skiped), r.skiped);
163
+ }
164
+ }
165
+ }
166
+ else {
167
+ if (opt === null || opt === void 0 ? void 0 : opt.getProps) {
168
+ var _props = opt.getProps(prop, val, _css, dept);
169
+ if (_props) {
170
+ var r = style(_props, classname, __assign(__assign({}, opt), { getProps: undefined }));
171
+ if (opt === null || opt === void 0 ? void 0 : opt.skipProps) {
172
+ skiped = __assign(__assign({}, skiped), r.skiped);
173
+ }
174
+ stack.push(r.stack);
175
+ continue;
176
+ }
177
+ }
178
+ if ((opt === null || opt === void 0 ? void 0 : opt.aliases) && opt.aliases[prop]) {
179
+ var _props = opt.aliases[prop](val);
180
+ if (_props) {
181
+ var r = style(_props, classname, __assign(__assign({}, opt), { aliases: undefined }), dept);
182
+ r.stack = r.stack.replace("".concat(classname, "{"), '').replace("}", '');
183
+ stack[0] += r.stack;
184
+ continue;
185
+ }
186
+ }
187
+ if (opt === null || opt === void 0 ? void 0 : opt.getValue) {
188
+ val = opt.getValue(prop, val, _css, dept);
189
+ }
190
+ var p = cssPrefix(prop, val);
191
+ stack[0] += "".concat(p.prop, ":").concat(p.value, ";");
192
+ }
193
+ }
194
+ }
195
+ stack[0] += "}";
196
+ if (stack[0] === "".concat(classname, "{}")) {
197
+ stack[0] = "";
198
+ }
199
+ stack = stack.join('');
200
+ for (var media in medias) {
201
+ stack += "".concat(media, "{").concat(medias[media].replace(new RegExp("}\\".concat(classname, "\\{"), 'g'), ''), "}");
202
+ }
203
+ if (cachekey) {
204
+ stack = stack.replace(new RegExp(classname, 'g'), ".".concat(classname));
205
+ var r = {
206
+ cache: false,
207
+ cachekey: cachekey,
208
+ classname: classname,
209
+ css: stack,
210
+ cssraw: _css,
211
+ skiped: skiped,
212
+ getStyleTag: function () { return document === null || document === void 0 ? void 0 : document.querySelector("[data-oncss=\"".concat(classname, "\"]")); },
213
+ deleteStyle: function () {
214
+ var tag = document === null || document === void 0 ? void 0 : document.querySelector("[data-oncss=\"".concat(classname, "\"]"));
215
+ tag && tag.remove();
216
+ },
217
+ toString: function () { return classname; }
218
+ };
219
+ CSSFactory.set(cachekey, r);
220
+ var inject = (opt === null || opt === void 0 ? void 0 : opt.injectStyle) || true;
221
+ if (inject && typeof window !== 'undefined') {
222
+ if (!document.querySelector("[data-oncss=\"".concat(classname, "\"]"))) {
223
+ var tag = document.createElement("style");
224
+ tag.innerHTML = r.css;
225
+ tag.setAttribute("data-oncss", classname);
226
+ document.head.append(tag);
227
+ }
228
+ }
229
+ return r;
230
+ }
231
+ return { stack: stack, skiped: skiped };
232
+ };export{CSSFactory,cssPrefix,formatCSSProp,formatCSSValue,style};//# sourceMappingURL=core.mjs.map
package/core.mjs.map CHANGED
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/core.ts"],
4
- "sourcesContent": ["import { CSSOptionProps, CSSFactoryType, CSSProps } from './types';\nimport youid from 'youid';\nconst _global: any = typeof window !== 'undefined' ? window : global;\n_global.Factory = _global.Factory || new Map<string, CSSFactoryType>();\nexport const CSSFactory = _global.Factory as Map<string, CSSFactoryType>\n\n\nconst number_val_props = [\n \"fontWeight\",\n \"font-weight\",\n \"lineHeight\",\n \"line-height\",\n \"opacity\",\n \"zIndex\",\n \"z-index\",\n \"flex\",\n \"order\",\n \"flexGrow\",\n \"flex-grow\",\n \"flexShrink\",\n \"flex-shrink\",\n \"flexBasis\",\n \"flex-basis\",\n \"columns\",\n \"perspective\",\n \"stroke-dashoffset\"\n]\n\nexport const formatCSSProp = (prop: string) => prop.split(/(?=[A-Z])/).join(\"-\").toLowerCase();\nexport const formatCSSValue = (prop: string, val: any) => typeof val === 'number' && !number_val_props.includes(prop) ? `${val}px` : val\n\nconst PREFIXES = ['webkit', 'moz', 'ms', 'o'];\nlet _declaration: CSSStyleDeclaration;\nconst PREFIXCACHE = new Map();\n\nexport const cssPrefix = (prop: string, value: string): { prop: string, value: string } => {\n value = formatCSSValue(prop, value);\n prop = formatCSSProp(prop);\n\n if (typeof window === 'undefined') {\n return { prop, value };\n }\n\n const declaration = _declaration || (_declaration = document.createElement(\"div\").style);\n value = value?.toString();\n\n // Check if the property and value work as is\n if (declaration.setProperty(prop, value), declaration.getPropertyValue(prop) === value) {\n return { prop, value };\n }\n\n // Check cached property and value prefix\n const cached = PREFIXCACHE.get(prop);\n if (cached) {\n return { prop: cached._prop, value: `${cached._vprefix}${value}` };\n }\n\n let _prop = prop;\n let _value = value;\n let _vprefix = '';\n\n // Try property prefixes\n const camelCaseProp = prop.includes('-') ? prop.replace(/-([a-z])/g, (_, c) => c.toUpperCase()) : prop;\n for (const prefix of PREFIXES) {\n if (declaration[`${prefix}${camelCaseProp}` as any] !== undefined) {\n _prop = `-${prefix}-${prop}`;\n break;\n }\n }\n\n // Check if prefixed property works with the value\n declaration.setProperty(_prop, value);\n if (!declaration.getPropertyValue(_prop)) {\n for (const prefix of PREFIXES) {\n const prefixedValue = `-${prefix}-${value}`;\n if (declaration.setProperty(_prop, prefixedValue), declaration.getPropertyValue(_prop) === prefixedValue) {\n _value = prefixedValue;\n _vprefix = `-${prefix}-`;\n break;\n }\n }\n }\n\n PREFIXCACHE.set(prop, { _prop, _vprefix });\n return { prop: _prop, value: _value };\n};\n\nexport const style = <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, cls?: string, opt?: CSSOptionProps<Aliases, BreakpointKeys>, dept = 1) => {\n let cachekey\n let classname = cls\n if (!cls) {\n cachekey = JSON.stringify(_css, (_key, value) => typeof value === \"function\" ? value.toString() : value);\n const has = CSSFactory.get(cachekey)\n if (has) {\n has.cache = true\n return has\n }\n classname = `${opt?.classPrefix || \"\"}x${youid(cachekey)}`\n } else if (typeof cls !== 'string') {\n throw new Error(`Invalid class name: ${cls}`)\n }\n\n let stack: any = [`${classname}{`]\n let medias: any = {}\n let skiped: any = {}\n for (let prop in _css) {\n let val = (_css as any)[prop]\n let firstChar = prop.charAt(0)\n if (firstChar === '&') {\n let ncls = prop.replace(/&/g, classname as string)\n const r: any = style(val, ncls, opt, dept + 1)\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n stack.push(r.stack)\n } else if (firstChar === '@') {\n if (prop.startsWith(\"@global\") || prop.startsWith(\"@keyframes\")) {\n let _css = ''\n for (let selector in val) {\n let r: any = style(val[selector], selector, opt, dept + 1)\n _css += r.stack\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n }\n if (prop.startsWith(\"@keyframes\")) {\n stack.push(`${prop}{${_css}}`)\n } else {\n stack.push(_css)\n }\n } else {\n let r: any = style(val, classname, opt, dept + 1)\n const atcss = prop + \"{\" + r.stack + \"}\"\n stack.push(atcss)\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n }\n } else {\n if (opt?.skipProps && opt.skipProps(prop, val, dept)) {\n if (!((classname as any) in skiped)) skiped[classname as string] = []\n skiped[classname as string].push(prop)\n continue\n }\n if (typeof val === 'function' || Array.isArray(val)) {\n continue\n }\n if (typeof val === 'object') {\n for (let media in val) {\n if (typeof val[media] === 'object' || typeof val[media] === 'function' || Array.isArray(val[media])) {\n throw new Error(`Invalid css value: ${val[media]}`);\n }\n let breakpoint = media\n let isNumber = !isNaN(parseInt(breakpoint))\n if (!isNumber) {\n if (opt?.breakpoints && !isNaN(parseInt((opt.breakpoints as any)[media]))) {\n breakpoint = opt.breakpoints[media as BreakpointKeys].toString()\n } else {\n throw new Error(`Invalid breakpoint prop: ${media}`);\n }\n }\n let _css = { [prop]: val[media] }\n let r: any = style(_css, classname, opt, dept)\n let _style = r.stack\n let mediakey = `@media (min-width: ${breakpoint}px)`\n medias[mediakey] = medias[mediakey] ? medias[mediakey] + _style : _style\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n }\n } else {\n if (opt?.getProps) {\n let _props: any = opt.getProps(prop, val, _css, dept)\n if (_props) {\n let r: any = style(_props, classname, {\n ...opt,\n getProps: undefined\n })\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n stack.push(r.stack)\n continue;\n }\n }\n if (opt?.aliases && (opt.aliases as any)[prop]) {\n let _props = (opt.aliases as any)[prop](val)\n if (_props) {\n let r: any = style(_props, classname, {\n ...opt,\n aliases: undefined\n }, dept)\n r.stack = r.stack.replace(`${classname}{`, '').replace(`}`, '')\n stack[0] += r.stack\n continue;\n }\n }\n if (opt?.getValue) {\n val = opt.getValue(prop, val, _css, dept)\n }\n let p = cssPrefix(prop, val)\n stack[0] += `${p.prop}:${p.value};`\n }\n }\n }\n stack[0] += \"}\"\n if (stack[0] === `${classname}{}`) {\n stack[0] = \"\"\n }\n stack = stack.join('')\n for (let media in medias) {\n stack += `${media}{${medias[media].replace(new RegExp(`}\\\\${classname}\\\\{`, 'g'), '')}}`\n }\n\n if (cachekey) {\n stack = stack.replace(new RegExp(classname as string, 'g'), `.${classname}`)\n const r = {\n cache: false,\n cachekey,\n classname: classname as string,\n css: stack,\n cssraw: _css,\n skiped,\n getStyleTag: () => document?.querySelector(`[data-oncss=\"${classname}\"]`) as HTMLStyleElement | null,\n deleteStyle: () => {\n const tag = document?.querySelector(`[data-oncss=\"${classname}\"]`)\n tag && tag.remove()\n },\n toString: () => classname as string\n }\n CSSFactory.set(cachekey, r)\n let inject = opt?.injectStyle || true\n if (inject && typeof window !== 'undefined') {\n if (!document.querySelector(`[data-oncss=\"${classname}\"]`)) {\n const tag = document.createElement(\"style\");\n tag.innerHTML = r.css\n tag.setAttribute(`data-oncss`, classname as string)\n document.head.append(tag)\n }\n }\n return r\n }\n return { stack, skiped }\n}"],
5
- "mappings": "AACA,OAAOA,MAAW,QAClB,MAAMC,EAAe,OAAO,OAAW,IAAc,OAAS,OAC9DA,EAAQ,QAAUA,EAAQ,SAAW,IAAI,IAClC,MAAMC,EAAaD,EAAQ,QAG5BE,EAAmB,CACrB,aACA,cACA,aACA,cACA,UACA,SACA,UACA,OACA,QACA,WACA,YACA,aACA,cACA,YACA,aACA,UACA,cACA,mBACJ,EAEaC,EAAiBC,GAAiBA,EAAK,MAAM,WAAW,EAAE,KAAK,GAAG,EAAE,YAAY,EAChFC,EAAiB,CAACD,EAAcE,IAAa,OAAOA,GAAQ,UAAY,CAACJ,EAAiB,SAASE,CAAI,EAAI,GAAGE,CAAG,KAAOA,EAE/HC,EAAW,CAAC,SAAU,MAAO,KAAM,GAAG,EAC5C,IAAIC,EACJ,MAAMC,EAAc,IAAI,IAEXC,EAAY,CAACN,EAAcO,IAAmD,CAIvF,GAHAA,EAAQN,EAAeD,EAAMO,CAAK,EAClCP,EAAOD,EAAcC,CAAI,EAErB,OAAO,OAAW,IAClB,MAAO,CAAE,KAAAA,EAAM,MAAAO,CAAM,EAGzB,MAAMC,EAAcJ,IAAiBA,EAAe,SAAS,cAAc,KAAK,EAAE,OAIlF,GAHAG,EAAQA,GAAO,SAAS,EAGpBC,EAAY,YAAYR,EAAMO,CAAK,EAAGC,EAAY,iBAAiBR,CAAI,IAAMO,EAC7E,MAAO,CAAE,KAAAP,EAAM,MAAAO,CAAM,EAIzB,MAAME,EAASJ,EAAY,IAAIL,CAAI,EACnC,GAAIS,EACA,MAAO,CAAE,KAAMA,EAAO,MAAO,MAAO,GAAGA,EAAO,QAAQ,GAAGF,CAAK,EAAG,EAGrE,IAAIG,EAAQV,EACRW,EAASJ,EACTK,EAAW,GAGf,MAAMC,EAAgBb,EAAK,SAAS,GAAG,EAAIA,EAAK,QAAQ,YAAa,CAACc,EAAGC,IAAMA,EAAE,YAAY,CAAC,EAAIf,EAClG,UAAWgB,KAAUb,EACjB,GAAIK,EAAY,GAAGQ,CAAM,GAAGH,CAAa,EAAS,IAAM,OAAW,CAC/DH,EAAQ,IAAIM,CAAM,IAAIhB,CAAI,GAC1B,KACJ,CAKJ,GADAQ,EAAY,YAAYE,EAAOH,CAAK,EAChC,CAACC,EAAY,iBAAiBE,CAAK,EACnC,UAAWM,KAAUb,EAAU,CAC3B,MAAMc,EAAgB,IAAID,CAAM,IAAIT,CAAK,GACzC,GAAIC,EAAY,YAAYE,EAAOO,CAAa,EAAGT,EAAY,iBAAiBE,CAAK,IAAMO,EAAe,CACtGN,EAASM,EACTL,EAAW,IAAII,CAAM,IACrB,KACJ,CACJ,CAGJ,OAAAX,EAAY,IAAIL,EAAM,CAAE,MAAAU,EAAO,SAAAE,CAAS,CAAC,EAClC,CAAE,KAAMF,EAAO,MAAOC,CAAO,CACxC,EAEaO,EAAQ,CAAyCC,EAAyCC,EAAcC,EAA+CC,EAAO,IAAM,CAC7K,IAAIC,EACAC,EAAYJ,EAChB,GAAKA,GAQE,GAAI,OAAOA,GAAQ,SACtB,MAAM,IAAI,MAAM,uBAAuBA,CAAG,EAAE,MATtC,CACNG,EAAW,KAAK,UAAUJ,EAAM,CAACM,EAAMlB,IAAU,OAAOA,GAAU,WAAaA,EAAM,SAAS,EAAIA,CAAK,EACvG,MAAMmB,EAAM7B,EAAW,IAAI0B,CAAQ,EACnC,GAAIG,EACA,OAAAA,EAAI,MAAQ,GACLA,EAEXF,EAAY,GAAGH,GAAK,aAAe,EAAE,IAAI1B,EAAM4B,CAAQ,CAAC,EAC5D,CAIA,IAAII,EAAa,CAAC,GAAGH,CAAS,GAAG,EAC7BI,EAAc,CAAC,EACfC,EAAc,CAAC,EACnB,QAAS7B,KAAQmB,EAAM,CACnB,IAAIjB,EAAOiB,EAAanB,CAAI,EACxB8B,EAAY9B,EAAK,OAAO,CAAC,EAC7B,GAAI8B,IAAc,IAAK,CACnB,IAAIC,EAAO/B,EAAK,QAAQ,KAAMwB,CAAmB,EACjD,MAAMQ,EAASd,EAAMhB,EAAK6B,EAAMV,EAAKC,EAAO,CAAC,EACzCD,GAAK,YACLQ,EAAS,CACL,GAAGA,EACH,GAAGG,EAAE,MACT,GAEJL,EAAM,KAAKK,EAAE,KAAK,CACtB,SAAWF,IAAc,IACrB,GAAI9B,EAAK,WAAW,SAAS,GAAKA,EAAK,WAAW,YAAY,EAAG,CAC7D,IAAImB,EAAO,GACX,QAASc,KAAY/B,EAAK,CACtB,IAAI8B,EAASd,EAAMhB,EAAI+B,CAAQ,EAAGA,EAAUZ,EAAKC,EAAO,CAAC,EACzDH,GAAQa,EAAE,MACNX,GAAK,YACLQ,EAAS,CACL,GAAGA,EACH,GAAGG,EAAE,MACT,EAER,CACIhC,EAAK,WAAW,YAAY,EAC5B2B,EAAM,KAAK,GAAG3B,CAAI,IAAImB,CAAI,GAAG,EAE7BQ,EAAM,KAAKR,CAAI,CAEvB,KAAO,CACH,IAAIa,EAASd,EAAMhB,EAAKsB,EAAWH,EAAKC,EAAO,CAAC,EAChD,MAAMY,EAAQlC,EAAO,IAAMgC,EAAE,MAAQ,IACrCL,EAAM,KAAKO,CAAK,EACZb,GAAK,YACLQ,EAAS,CACL,GAAGA,EACH,GAAGG,EAAE,MACT,EAER,KACG,CACH,GAAIX,GAAK,WAAaA,EAAI,UAAUrB,EAAME,EAAKoB,CAAI,EAAG,CAC3CE,KAAqBK,IAASA,EAAOL,CAAmB,EAAI,CAAC,GACpEK,EAAOL,CAAmB,EAAE,KAAKxB,CAAI,EACrC,QACJ,CACA,GAAI,OAAOE,GAAQ,YAAc,MAAM,QAAQA,CAAG,EAC9C,SAEJ,GAAI,OAAOA,GAAQ,SACf,QAASiC,KAASjC,EAAK,CACnB,GAAI,OAAOA,EAAIiC,CAAK,GAAM,UAAY,OAAOjC,EAAIiC,CAAK,GAAM,YAAc,MAAM,QAAQjC,EAAIiC,CAAK,CAAC,EAC9F,MAAM,IAAI,MAAM,sBAAsBjC,EAAIiC,CAAK,CAAC,EAAE,EAEtD,IAAIC,EAAaD,EAEjB,GAAI,CADW,CAAC,MAAM,SAASC,CAAU,CAAC,EAEtC,GAAIf,GAAK,aAAe,CAAC,MAAM,SAAUA,EAAI,YAAoBc,CAAK,CAAC,CAAC,EACpEC,EAAaf,EAAI,YAAYc,CAAuB,EAAE,SAAS,MAE/D,OAAM,IAAI,MAAM,4BAA4BA,CAAK,EAAE,EAG3D,IAAIhB,EAAO,CAAE,CAACnB,CAAI,EAAGE,EAAIiC,CAAK,CAAE,EAC5BH,EAASd,EAAMC,EAAMK,EAAWH,EAAKC,CAAI,EACzCe,EAASL,EAAE,MACXM,EAAW,sBAAsBF,CAAU,MAC/CR,EAAOU,CAAQ,EAAIV,EAAOU,CAAQ,EAAIV,EAAOU,CAAQ,EAAID,EAASA,EAC9DhB,GAAK,YACLQ,EAAS,CACL,GAAGA,EACH,GAAGG,EAAE,MACT,EAER,KACG,CACH,GAAIX,GAAK,SAAU,CACf,IAAIkB,EAAclB,EAAI,SAASrB,EAAME,EAAKiB,EAAMG,CAAI,EACpD,GAAIiB,EAAQ,CACR,IAAIP,EAASd,EAAMqB,EAAQf,EAAW,CAClC,GAAGH,EACH,SAAU,MACd,CAAC,EACGA,GAAK,YACLQ,EAAS,CACL,GAAGA,EACH,GAAGG,EAAE,MACT,GAEJL,EAAM,KAAKK,EAAE,KAAK,EAClB,QACJ,CACJ,CACA,GAAIX,GAAK,SAAYA,EAAI,QAAgBrB,CAAI,EAAG,CAC5C,IAAIuC,EAAUlB,EAAI,QAAgBrB,CAAI,EAAEE,CAAG,EAC3C,GAAIqC,EAAQ,CACR,IAAIP,EAASd,EAAMqB,EAAQf,EAAW,CAClC,GAAGH,EACH,QAAS,MACb,EAAGC,CAAI,EACPU,EAAE,MAAQA,EAAE,MAAM,QAAQ,GAAGR,CAAS,IAAK,EAAE,EAAE,QAAQ,IAAK,EAAE,EAC9DG,EAAM,CAAC,GAAKK,EAAE,MACd,QACJ,CACJ,CACIX,GAAK,WACLnB,EAAMmB,EAAI,SAASrB,EAAME,EAAKiB,EAAMG,CAAI,GAE5C,IAAIkB,EAAIlC,EAAUN,EAAME,CAAG,EAC3ByB,EAAM,CAAC,GAAK,GAAGa,EAAE,IAAI,IAAIA,EAAE,KAAK,GACpC,CACJ,CACJ,CACAb,EAAM,CAAC,GAAK,IACRA,EAAM,CAAC,IAAM,GAAGH,CAAS,OACzBG,EAAM,CAAC,EAAI,IAEfA,EAAQA,EAAM,KAAK,EAAE,EACrB,QAASQ,KAASP,EACdD,GAAS,GAAGQ,CAAK,IAAIP,EAAOO,CAAK,EAAE,QAAQ,IAAI,OAAO,MAAMX,CAAS,MAAO,GAAG,EAAG,EAAE,CAAC,IAGzF,GAAID,EAAU,CACVI,EAAQA,EAAM,QAAQ,IAAI,OAAOH,EAAqB,GAAG,EAAG,IAAIA,CAAS,EAAE,EAC3E,MAAMQ,EAAI,CACN,MAAO,GACP,SAAAT,EACA,UAAWC,EACX,IAAKG,EACL,OAAQR,EACR,OAAAU,EACA,YAAa,IAAM,UAAU,cAAc,gBAAgBL,CAAS,IAAI,EACxE,YAAa,IAAM,CACf,MAAMiB,EAAM,UAAU,cAAc,gBAAgBjB,CAAS,IAAI,EACjEiB,GAAOA,EAAI,OAAO,CACtB,EACA,SAAU,IAAMjB,CACpB,EAGA,GAFA3B,EAAW,IAAI0B,EAAUS,CAAC,GACbX,GAAK,aAAe,KACnB,OAAO,OAAW,KACxB,CAAC,SAAS,cAAc,gBAAgBG,CAAS,IAAI,EAAG,CACxD,MAAMiB,EAAM,SAAS,cAAc,OAAO,EAC1CA,EAAI,UAAYT,EAAE,IAClBS,EAAI,aAAa,aAAcjB,CAAmB,EAClD,SAAS,KAAK,OAAOiB,CAAG,CAC5B,CAEJ,OAAOT,CACX,CACA,MAAO,CAAE,MAAAL,EAAO,OAAAE,CAAO,CAC3B",
6
- "names": ["youid", "_global", "CSSFactory", "number_val_props", "formatCSSProp", "prop", "formatCSSValue", "val", "PREFIXES", "_declaration", "PREFIXCACHE", "cssPrefix", "value", "declaration", "cached", "_prop", "_value", "_vprefix", "camelCaseProp", "_", "c", "prefix", "prefixedValue", "style", "_css", "cls", "opt", "dept", "cachekey", "classname", "_key", "has", "stack", "medias", "skiped", "firstChar", "ncls", "r", "selector", "atcss", "media", "breakpoint", "_style", "mediakey", "_props", "p", "tag"]
7
- }
1
+ {"version":3,"file":"core.mjs","sources":["../src/core.ts"],"sourcesContent":["import { CSSOptionProps, CSSFactoryType, CSSProps } from './types';\nimport youid from 'youid';\nconst _global: any = typeof window !== 'undefined' ? window : global;\n_global.Factory = _global.Factory || new Map<string, CSSFactoryType>();\nexport const CSSFactory = _global.Factory as Map<string, CSSFactoryType>\n\n\nconst number_val_props = [\n \"fontWeight\",\n \"font-weight\",\n \"lineHeight\",\n \"line-height\",\n \"opacity\",\n \"zIndex\",\n \"z-index\",\n \"flex\",\n \"order\",\n \"flexGrow\",\n \"flex-grow\",\n \"flexShrink\",\n \"flex-shrink\",\n \"flexBasis\",\n \"flex-basis\",\n \"columns\",\n \"perspective\",\n \"stroke-dashoffset\"\n]\n\nexport const formatCSSProp = (prop: string) => prop.split(/(?=[A-Z])/).join(\"-\").toLowerCase();\nexport const formatCSSValue = (prop: string, val: any) => typeof val === 'number' && !number_val_props.includes(prop) ? `${val}px` : val\n\nconst PREFIXES = ['webkit', 'moz', 'ms', 'o'];\nlet _declaration: CSSStyleDeclaration;\nconst PREFIXCACHE = new Map();\n\nexport const cssPrefix = (prop: string, value: string): { prop: string, value: string } => {\n value = formatCSSValue(prop, value);\n prop = formatCSSProp(prop);\n\n if (typeof window === 'undefined') {\n return { prop, value };\n }\n\n const declaration = _declaration || (_declaration = document.createElement(\"div\").style);\n value = value?.toString();\n\n // Check if the property and value work as is\n if (declaration.setProperty(prop, value), declaration.getPropertyValue(prop) === value) {\n return { prop, value };\n }\n\n // Check cached property and value prefix\n const cached = PREFIXCACHE.get(prop);\n if (cached) {\n return { prop: cached._prop, value: `${cached._vprefix}${value}` };\n }\n\n let _prop = prop;\n let _value = value;\n let _vprefix = '';\n\n // Try property prefixes\n const camelCaseProp = prop.includes('-') ? prop.replace(/-([a-z])/g, (_, c) => c.toUpperCase()) : prop;\n for (const prefix of PREFIXES) {\n if (declaration[`${prefix}${camelCaseProp}` as any] !== undefined) {\n _prop = `-${prefix}-${prop}`;\n break;\n }\n }\n\n // Check if prefixed property works with the value\n declaration.setProperty(_prop, value);\n if (!declaration.getPropertyValue(_prop)) {\n for (const prefix of PREFIXES) {\n const prefixedValue = `-${prefix}-${value}`;\n if (declaration.setProperty(_prop, prefixedValue), declaration.getPropertyValue(_prop) === prefixedValue) {\n _value = prefixedValue;\n _vprefix = `-${prefix}-`;\n break;\n }\n }\n }\n\n PREFIXCACHE.set(prop, { _prop, _vprefix });\n return { prop: _prop, value: _value };\n};\n\nexport const style = <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, cls?: string, opt?: CSSOptionProps<Aliases, BreakpointKeys>, dept = 1) => {\n let cachekey\n let classname = cls\n if (!cls) {\n cachekey = JSON.stringify(_css, (_key, value) => typeof value === \"function\" ? value.toString() : value);\n const has = CSSFactory.get(cachekey)\n if (has) {\n has.cache = true\n return has\n }\n classname = `${opt?.classPrefix || \"\"}x${youid(cachekey)}`\n } else if (typeof cls !== 'string') {\n throw new Error(`Invalid class name: ${cls}`)\n }\n\n let stack: any = [`${classname}{`]\n let medias: any = {}\n let skiped: any = {}\n for (let prop in _css) {\n let val = (_css as any)[prop]\n let firstChar = prop.charAt(0)\n if (firstChar === '&') {\n let ncls = prop.replace(/&/g, classname as string)\n const r: any = style(val, ncls, opt, dept + 1)\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n stack.push(r.stack)\n } else if (firstChar === '@') {\n if (prop.startsWith(\"@global\") || prop.startsWith(\"@keyframes\")) {\n let _css = ''\n for (let selector in val) {\n let r: any = style(val[selector], selector, opt, dept + 1)\n _css += r.stack\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n }\n if (prop.startsWith(\"@keyframes\")) {\n stack.push(`${prop}{${_css}}`)\n } else {\n stack.push(_css)\n }\n } else {\n let r: any = style(val, classname, opt, dept + 1)\n const atcss = prop + \"{\" + r.stack + \"}\"\n stack.push(atcss)\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n }\n } else {\n if (opt?.skipProps && opt.skipProps(prop, val, dept)) {\n if (!((classname as any) in skiped)) skiped[classname as string] = []\n skiped[classname as string].push(prop)\n continue\n }\n if (typeof val === 'function' || Array.isArray(val)) {\n continue\n }\n if (typeof val === 'object') {\n for (let media in val) {\n if (typeof val[media] === 'object' || typeof val[media] === 'function' || Array.isArray(val[media])) {\n throw new Error(`Invalid css value: ${val[media]}`);\n }\n let breakpoint = media\n let isNumber = !isNaN(parseInt(breakpoint))\n if (!isNumber) {\n if (opt?.breakpoints && !isNaN(parseInt((opt.breakpoints as any)[media]))) {\n breakpoint = opt.breakpoints[media as BreakpointKeys].toString()\n } else {\n throw new Error(`Invalid breakpoint prop: ${media}`);\n }\n }\n let _css = { [prop]: val[media] }\n let r: any = style(_css, classname, opt, dept)\n let _style = r.stack\n let mediakey = `@media (min-width: ${breakpoint}px)`\n medias[mediakey] = medias[mediakey] ? medias[mediakey] + _style : _style\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n }\n } else {\n if (opt?.getProps) {\n let _props: any = opt.getProps(prop, val, _css, dept)\n if (_props) {\n let r: any = style(_props, classname, {\n ...opt,\n getProps: undefined\n })\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n stack.push(r.stack)\n continue;\n }\n }\n if (opt?.aliases && (opt.aliases as any)[prop]) {\n let _props = (opt.aliases as any)[prop](val)\n if (_props) {\n let r: any = style(_props, classname, {\n ...opt,\n aliases: undefined\n }, dept)\n r.stack = r.stack.replace(`${classname}{`, '').replace(`}`, '')\n stack[0] += r.stack\n continue;\n }\n }\n if (opt?.getValue) {\n val = opt.getValue(prop, val, _css, dept)\n }\n let p = cssPrefix(prop, val)\n stack[0] += `${p.prop}:${p.value};`\n }\n }\n }\n stack[0] += \"}\"\n if (stack[0] === `${classname}{}`) {\n stack[0] = \"\"\n }\n stack = stack.join('')\n for (let media in medias) {\n stack += `${media}{${medias[media].replace(new RegExp(`}\\\\${classname}\\\\{`, 'g'), '')}}`\n }\n\n if (cachekey) {\n stack = stack.replace(new RegExp(classname as string, 'g'), `.${classname}`)\n const r = {\n cache: false,\n cachekey,\n classname: classname as string,\n css: stack,\n cssraw: _css,\n skiped,\n getStyleTag: () => document?.querySelector(`[data-oncss=\"${classname}\"]`) as HTMLStyleElement | null,\n deleteStyle: () => {\n const tag = document?.querySelector(`[data-oncss=\"${classname}\"]`)\n tag && tag.remove()\n },\n toString: () => classname as string\n }\n CSSFactory.set(cachekey, r)\n let inject = opt?.injectStyle || true\n if (inject && typeof window !== 'undefined') {\n if (!document.querySelector(`[data-oncss=\"${classname}\"]`)) {\n const tag = document.createElement(\"style\");\n tag.innerHTML = r.css\n tag.setAttribute(`data-oncss`, classname as string)\n document.head.append(tag)\n }\n }\n return r\n }\n return { stack, skiped }\n}"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,5 +1,70 @@
1
- import { CSSProps, CSSOptionProps, CSSFactoryType } from "./types";
2
- export { CSSFactory, formatCSSProp, formatCSSValue } from './core';
3
- export * from './types';
4
- export declare const css: <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, options?: CSSOptionProps<Aliases, BreakpointKeys>) => CSSFactoryType;
5
- export default css;
1
+ import * as CSS from 'csstype';
2
+
3
+ type CSSProperties = CSS.Properties<number | string>;
4
+ type CSSNestedSelectors<Aliases, BreakpointKeys extends string> = {
5
+ [key in `& ${string}` | `&:${string}`]: CSSPropsWithoutGlobal<Aliases, BreakpointKeys>;
6
+ };
7
+ type CSSNestedSelectorsWithoutChild<Aliases, BreakpointKeys extends string> = {
8
+ "&": CSSPropsWithoutGlobal<Aliases, BreakpointKeys>;
9
+ };
10
+ type MediaCSS<Aliases, BreakpointKeys extends string> = {
11
+ [key: `@${AtRules} ${string}`]: CSSProps<Aliases, BreakpointKeys>;
12
+ };
13
+ type KeyframesCSS<Aliases> = {
14
+ [key: `@keyframes ${string}`]: {
15
+ from?: CSSValueWithoutBreakpoint<Aliases>;
16
+ to?: CSSValueWithoutBreakpoint<Aliases>;
17
+ [key: `${string}%`]: CSSValueWithoutBreakpoint<Aliases>;
18
+ };
19
+ };
20
+ type GlobalCSS<Aliases, BreakpointKeys extends string> = {
21
+ '@global'?: {
22
+ [key: string]: CSSPropsWithoutGlobal<Aliases, BreakpointKeys>;
23
+ };
24
+ };
25
+ type BreakpointTypes<BreakpointKeys extends string, ValueTypes> = {
26
+ [key in number | BreakpointKeys]?: ValueTypes;
27
+ };
28
+ type CSSValueWithoutBreakpoint<Aliases> = {
29
+ [Property in keyof (CSSProperties & Aliases)]?: (CSSProperties & Aliases)[Property];
30
+ };
31
+ type CSSValue<Aliases, BreakpointKeys extends string> = {
32
+ [Property in keyof (CSSProperties & Aliases)]?: (CSSProperties & Aliases)[Property] | BreakpointTypes<BreakpointKeys, (CSSProperties & Aliases)[Property]>;
33
+ };
34
+ type CSSPropsWithoutGlobal<Aliases, BreakpointKeys extends string> = CSSValue<Aliases, BreakpointKeys> | KeyframesCSS<Aliases> | MediaCSS<Aliases, BreakpointKeys> | CSSNestedSelectors<Aliases, BreakpointKeys> | CSSNestedSelectorsWithoutChild<Aliases, BreakpointKeys>;
35
+ type CSSProps<Aliases, BreakpointKeys extends string> = GlobalCSS<Aliases, BreakpointKeys> | CSSPropsWithoutGlobal<Aliases, BreakpointKeys>;
36
+ type AliasFn<Aliases> = (value: any) => CSSValueWithoutBreakpoint<Aliases>;
37
+ type OptionAliases<Aliases> = {
38
+ [key in keyof Aliases]: AliasFn<Aliases>;
39
+ };
40
+ interface CSSOptionProps<Aliases, BreakpointKeys extends string> {
41
+ classPrefix?: string;
42
+ breakpoints?: {
43
+ [key in BreakpointKeys]: number;
44
+ };
45
+ aliases?: OptionAliases<Aliases>;
46
+ injectStyle?: boolean;
47
+ skipProps?: (prop: string, value: string | number, dept: number) => boolean | void;
48
+ getValue?: (value: string | number, prop: string, css: CSSProps<Aliases, BreakpointKeys>, dept: number) => (string | number);
49
+ getProps?: (prop: string, value: string | number, css: CSSProps<Aliases, BreakpointKeys>, dept: number) => CSSProps<Aliases, BreakpointKeys> | void;
50
+ }
51
+ type CSSFactoryType = {
52
+ css: string;
53
+ cachekey: string;
54
+ classname: string;
55
+ cssraw: CSSProps<any, any>;
56
+ cache: boolean;
57
+ skiped: string[];
58
+ getStyleTag: () => HTMLStyleElement | null;
59
+ deleteStyle: () => void;
60
+ toString: () => string;
61
+ };
62
+
63
+ declare const CSSFactory: Map<string, CSSFactoryType>;
64
+ declare const formatCSSProp: (prop: string) => string;
65
+ declare const formatCSSValue: (prop: string, val: any) => any;
66
+
67
+ declare const css: <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, options?: CSSOptionProps<Aliases, BreakpointKeys> | undefined) => CSSFactoryType;
68
+
69
+ export { CSSFactory, css, css as default, formatCSSProp, formatCSSValue };
70
+ export type { AliasFn, BreakpointTypes, CSSFactoryType, CSSOptionProps, CSSProps, CSSPropsWithoutGlobal, CSSValueWithoutBreakpoint, OptionAliases };
package/index.js ADDED
@@ -0,0 +1 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var core=require('./core.js');var css = function (_css, options) { return core.style(_css, undefined, options); };exports.CSSFactory=core.CSSFactory;exports.formatCSSProp=core.formatCSSProp;exports.formatCSSValue=core.formatCSSValue;exports.css=css;exports.default=css;//# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { style } from \"./core\";\nimport { CSSProps, CSSOptionProps, CSSFactoryType } from \"./types\";\nexport { CSSFactory, formatCSSProp, formatCSSValue } from './core'\nexport * from './types'\n\nexport const css = <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, options?: CSSOptionProps<Aliases, BreakpointKeys>): CSSFactoryType => style<Aliases, BreakpointKeys>(_css, undefined, options) as any\nexport default css"],"names":["style"],"mappings":"wGAKa,GAAG,GAAG,UAAyC,IAAuC,EAAE,OAAiD,EAAqB,EAAA,OAAAA,UAAK,CAA0B,IAAI,EAAE,SAAS,EAAE,OAAO,CAAQ,CAAA"}
package/index.mjs CHANGED
@@ -1,2 +1 @@
1
- import{style as r}from"./core";import{CSSFactory as f,formatCSSProp as m,formatCSSValue as l}from"./core";export*from"./types";const s=(o,e)=>r(o,void 0,e);var n=s;export{f as CSSFactory,s as css,n as default,m as formatCSSProp,l as formatCSSValue};
2
- //# sourceMappingURL=index.mjs.map
1
+ import {style}from'./core.mjs';export{CSSFactory,formatCSSProp,formatCSSValue}from'./core.mjs';var css = function (_css, options) { return style(_css, undefined, options); };export{css,css as default};//# sourceMappingURL=index.mjs.map
package/index.mjs.map CHANGED
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/index.ts"],
4
- "sourcesContent": ["import { style } from \"./core\";\nimport { CSSProps, CSSOptionProps, CSSFactoryType } from \"./types\";\nexport { CSSFactory, formatCSSProp, formatCSSValue } from './core'\nexport * from './types'\n\nexport const css = <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, options?: CSSOptionProps<Aliases, BreakpointKeys>): CSSFactoryType => style<Aliases, BreakpointKeys>(_css, undefined, options) as any\nexport default css"],
5
- "mappings": "AAAA,OAAS,SAAAA,MAAa,SAEtB,OAAS,cAAAC,EAAY,iBAAAC,EAAe,kBAAAC,MAAsB,SAC1D,WAAc,UAEP,MAAMC,EAAM,CAAyCC,EAAyCC,IAAsEN,EAA+BK,EAAM,OAAWC,CAAO,EAClO,IAAOC,EAAQH",
6
- "names": ["style", "CSSFactory", "formatCSSProp", "formatCSSValue", "css", "_css", "options", "index_default"]
7
- }
1
+ {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import { style } from \"./core\";\nimport { CSSProps, CSSOptionProps, CSSFactoryType } from \"./types\";\nexport { CSSFactory, formatCSSProp, formatCSSValue } from './core'\nexport * from './types'\n\nexport const css = <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, options?: CSSOptionProps<Aliases, BreakpointKeys>): CSSFactoryType => style<Aliases, BreakpointKeys>(_css, undefined, options) as any\nexport default css"],"names":[],"mappings":"mGAKa,GAAG,GAAG,UAAyC,IAAuC,EAAE,OAAiD,EAAqB,EAAA,OAAA,KAAK,CAA0B,IAAI,EAAE,SAAS,EAAE,OAAO,CAAQ,CAAA"}
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "oncss",
3
- "version": "1.1.16",
3
+ "version": "1.2.0",
4
4
  "description": "A CSS framework for modern web development.",
5
- "main": "./index.cjs",
5
+ "main": "./index.js",
6
6
  "module": "./index.mjs",
7
7
  "types": "./index.d.ts",
8
8
  "devDependencies": {
9
9
  "@types/react": "^19.0.2",
10
10
  "@types/react-dom": "^19.0.2",
11
+ "makepack": "^1.7.3",
11
12
  "react": "^19.0.0",
12
13
  "react-dom": "^19.0.0",
13
- "typescript": "^4.4.2",
14
- "makepack": "^1.6.4"
14
+ "typescript": "^4.4.2"
15
15
  },
16
16
  "keywords": [
17
17
  "css",
@@ -29,7 +29,15 @@
29
29
  "bugs": {
30
30
  "url": "https://github.com/yourusername/oncss/issues"
31
31
  },
32
+ "sideEffects": false,
32
33
  "dependencies": {
33
- "youid": "^1.0.9"
34
+ "youid": "^1.0.11"
35
+ },
36
+ "exports": {
37
+ ".": {
38
+ "import": "./index.mjs",
39
+ "require": "./index.js",
40
+ "types": "./index.d.ts"
41
+ }
34
42
  }
35
43
  }
package/core.cjs DELETED
@@ -1,2 +0,0 @@
1
- "use strict";var j=Object.create;var k=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,B=Object.prototype.hasOwnProperty;var M=(t,s)=>{for(var e in s)k(t,e,{get:s[e],enumerable:!0})},P=(t,s,e,y)=>{if(s&&typeof s=="object"||typeof s=="function")for(let l of V(s))!B.call(t,l)&&l!==e&&k(t,l,{get:()=>s[l],enumerable:!(y=N(s,l))||y.enumerable});return t};var z=(t,s,e)=>(e=t!=null?j(T(t)):{},P(s||!t||!t.__esModule?k(e,"default",{value:t,enumerable:!0}):e,t)),H=t=>P(k({},"__esModule",{value:!0}),t);var R={};M(R,{CSSFactory:()=>$,cssPrefix:()=>F,formatCSSProp:()=>A,formatCSSValue:()=>_,style:()=>u});module.exports=H(R);var E=z(require("youid"),1);const m=typeof window<"u"?window:global;m.Factory=m.Factory||new Map;const $=m.Factory,K=["fontWeight","font-weight","lineHeight","line-height","opacity","zIndex","z-index","flex","order","flexGrow","flex-grow","flexShrink","flex-shrink","flexBasis","flex-basis","columns","perspective","stroke-dashoffset"],A=t=>t.split(/(?=[A-Z])/).join("-").toLowerCase(),_=(t,s)=>typeof s=="number"&&!K.includes(t)?`${s}px`:s,w=["webkit","moz","ms","o"];let b;const C=new Map,F=(t,s)=>{if(s=_(t,s),t=A(t),typeof window>"u")return{prop:t,value:s};const e=b||(b=document.createElement("div").style);if(s=s?.toString(),e.setProperty(t,s),e.getPropertyValue(t)===s)return{prop:t,value:s};const y=C.get(t);if(y)return{prop:y._prop,value:`${y._vprefix}${s}`};let l=t,n=s,c="";const d=t.includes("-")?t.replace(/-([a-z])/g,(i,r)=>r.toUpperCase()):t;for(const i of w)if(e[`${i}${d}`]!==void 0){l=`-${i}-${t}`;break}if(e.setProperty(l,s),!e.getPropertyValue(l))for(const i of w){const r=`-${i}-${s}`;if(e.setProperty(l,r),e.getPropertyValue(l)===r){n=r,c=`-${i}-`;break}}return C.set(t,{_prop:l,_vprefix:c}),{prop:l,value:n}},u=(t,s,e,y=1)=>{let l,n=s;if(s){if(typeof s!="string")throw new Error(`Invalid class name: ${s}`)}else{l=JSON.stringify(t,(a,p)=>typeof p=="function"?p.toString():p);const r=$.get(l);if(r)return r.cache=!0,r;n=`${e?.classPrefix||""}x${(0,E.default)(l)}`}let c=[`${n}{`],d={},i={};for(let r in t){let a=t[r],p=r.charAt(0);if(p==="&"){let o=r.replace(/&/g,n);const f=u(a,o,e,y+1);e?.skipProps&&(i={...i,...f.skiped}),c.push(f.stack)}else if(p==="@")if(r.startsWith("@global")||r.startsWith("@keyframes")){let o="";for(let f in a){let g=u(a[f],f,e,y+1);o+=g.stack,e?.skipProps&&(i={...i,...g.skiped})}r.startsWith("@keyframes")?c.push(`${r}{${o}}`):c.push(o)}else{let o=u(a,n,e,y+1);const f=r+"{"+o.stack+"}";c.push(f),e?.skipProps&&(i={...i,...o.skiped})}else{if(e?.skipProps&&e.skipProps(r,a,y)){n in i||(i[n]=[]),i[n].push(r);continue}if(typeof a=="function"||Array.isArray(a))continue;if(typeof a=="object")for(let o in a){if(typeof a[o]=="object"||typeof a[o]=="function"||Array.isArray(a[o]))throw new Error(`Invalid css value: ${a[o]}`);let f=o;if(!!isNaN(parseInt(f)))if(e?.breakpoints&&!isNaN(parseInt(e.breakpoints[o])))f=e.breakpoints[o].toString();else throw new Error(`Invalid breakpoint prop: ${o}`);let I={[r]:a[o]},h=u(I,n,e,y),x=h.stack,S=`@media (min-width: ${f}px)`;d[S]=d[S]?d[S]+x:x,e?.skipProps&&(i={...i,...h.skiped})}else{if(e?.getProps){let f=e.getProps(r,a,t,y);if(f){let g=u(f,n,{...e,getProps:void 0});e?.skipProps&&(i={...i,...g.skiped}),c.push(g.stack);continue}}if(e?.aliases&&e.aliases[r]){let f=e.aliases[r](a);if(f){let g=u(f,n,{...e,aliases:void 0},y);g.stack=g.stack.replace(`${n}{`,"").replace("}",""),c[0]+=g.stack;continue}}e?.getValue&&(a=e.getValue(r,a,t,y));let o=F(r,a);c[0]+=`${o.prop}:${o.value};`}}}c[0]+="}",c[0]===`${n}{}`&&(c[0]=""),c=c.join("");for(let r in d)c+=`${r}{${d[r].replace(new RegExp(`}\\${n}\\{`,"g"),"")}}`;if(l){c=c.replace(new RegExp(n,"g"),`.${n}`);const r={cache:!1,cachekey:l,classname:n,css:c,cssraw:t,skiped:i,getStyleTag:()=>document?.querySelector(`[data-oncss="${n}"]`),deleteStyle:()=>{const p=document?.querySelector(`[data-oncss="${n}"]`);p&&p.remove()},toString:()=>n};if($.set(l,r),(e?.injectStyle||!0)&&typeof window<"u"&&!document.querySelector(`[data-oncss="${n}"]`)){const p=document.createElement("style");p.innerHTML=r.css,p.setAttribute("data-oncss",n),document.head.append(p)}return r}return{stack:c,skiped:i}};
2
- //# sourceMappingURL=core.cjs.map
package/core.cjs.map DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/core.ts"],
4
- "sourcesContent": ["import { CSSOptionProps, CSSFactoryType, CSSProps } from './types';\nimport youid from 'youid';\nconst _global: any = typeof window !== 'undefined' ? window : global;\n_global.Factory = _global.Factory || new Map<string, CSSFactoryType>();\nexport const CSSFactory = _global.Factory as Map<string, CSSFactoryType>\n\n\nconst number_val_props = [\n \"fontWeight\",\n \"font-weight\",\n \"lineHeight\",\n \"line-height\",\n \"opacity\",\n \"zIndex\",\n \"z-index\",\n \"flex\",\n \"order\",\n \"flexGrow\",\n \"flex-grow\",\n \"flexShrink\",\n \"flex-shrink\",\n \"flexBasis\",\n \"flex-basis\",\n \"columns\",\n \"perspective\",\n \"stroke-dashoffset\"\n]\n\nexport const formatCSSProp = (prop: string) => prop.split(/(?=[A-Z])/).join(\"-\").toLowerCase();\nexport const formatCSSValue = (prop: string, val: any) => typeof val === 'number' && !number_val_props.includes(prop) ? `${val}px` : val\n\nconst PREFIXES = ['webkit', 'moz', 'ms', 'o'];\nlet _declaration: CSSStyleDeclaration;\nconst PREFIXCACHE = new Map();\n\nexport const cssPrefix = (prop: string, value: string): { prop: string, value: string } => {\n value = formatCSSValue(prop, value);\n prop = formatCSSProp(prop);\n\n if (typeof window === 'undefined') {\n return { prop, value };\n }\n\n const declaration = _declaration || (_declaration = document.createElement(\"div\").style);\n value = value?.toString();\n\n // Check if the property and value work as is\n if (declaration.setProperty(prop, value), declaration.getPropertyValue(prop) === value) {\n return { prop, value };\n }\n\n // Check cached property and value prefix\n const cached = PREFIXCACHE.get(prop);\n if (cached) {\n return { prop: cached._prop, value: `${cached._vprefix}${value}` };\n }\n\n let _prop = prop;\n let _value = value;\n let _vprefix = '';\n\n // Try property prefixes\n const camelCaseProp = prop.includes('-') ? prop.replace(/-([a-z])/g, (_, c) => c.toUpperCase()) : prop;\n for (const prefix of PREFIXES) {\n if (declaration[`${prefix}${camelCaseProp}` as any] !== undefined) {\n _prop = `-${prefix}-${prop}`;\n break;\n }\n }\n\n // Check if prefixed property works with the value\n declaration.setProperty(_prop, value);\n if (!declaration.getPropertyValue(_prop)) {\n for (const prefix of PREFIXES) {\n const prefixedValue = `-${prefix}-${value}`;\n if (declaration.setProperty(_prop, prefixedValue), declaration.getPropertyValue(_prop) === prefixedValue) {\n _value = prefixedValue;\n _vprefix = `-${prefix}-`;\n break;\n }\n }\n }\n\n PREFIXCACHE.set(prop, { _prop, _vprefix });\n return { prop: _prop, value: _value };\n};\n\nexport const style = <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, cls?: string, opt?: CSSOptionProps<Aliases, BreakpointKeys>, dept = 1) => {\n let cachekey\n let classname = cls\n if (!cls) {\n cachekey = JSON.stringify(_css, (_key, value) => typeof value === \"function\" ? value.toString() : value);\n const has = CSSFactory.get(cachekey)\n if (has) {\n has.cache = true\n return has\n }\n classname = `${opt?.classPrefix || \"\"}x${youid(cachekey)}`\n } else if (typeof cls !== 'string') {\n throw new Error(`Invalid class name: ${cls}`)\n }\n\n let stack: any = [`${classname}{`]\n let medias: any = {}\n let skiped: any = {}\n for (let prop in _css) {\n let val = (_css as any)[prop]\n let firstChar = prop.charAt(0)\n if (firstChar === '&') {\n let ncls = prop.replace(/&/g, classname as string)\n const r: any = style(val, ncls, opt, dept + 1)\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n stack.push(r.stack)\n } else if (firstChar === '@') {\n if (prop.startsWith(\"@global\") || prop.startsWith(\"@keyframes\")) {\n let _css = ''\n for (let selector in val) {\n let r: any = style(val[selector], selector, opt, dept + 1)\n _css += r.stack\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n }\n if (prop.startsWith(\"@keyframes\")) {\n stack.push(`${prop}{${_css}}`)\n } else {\n stack.push(_css)\n }\n } else {\n let r: any = style(val, classname, opt, dept + 1)\n const atcss = prop + \"{\" + r.stack + \"}\"\n stack.push(atcss)\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n }\n } else {\n if (opt?.skipProps && opt.skipProps(prop, val, dept)) {\n if (!((classname as any) in skiped)) skiped[classname as string] = []\n skiped[classname as string].push(prop)\n continue\n }\n if (typeof val === 'function' || Array.isArray(val)) {\n continue\n }\n if (typeof val === 'object') {\n for (let media in val) {\n if (typeof val[media] === 'object' || typeof val[media] === 'function' || Array.isArray(val[media])) {\n throw new Error(`Invalid css value: ${val[media]}`);\n }\n let breakpoint = media\n let isNumber = !isNaN(parseInt(breakpoint))\n if (!isNumber) {\n if (opt?.breakpoints && !isNaN(parseInt((opt.breakpoints as any)[media]))) {\n breakpoint = opt.breakpoints[media as BreakpointKeys].toString()\n } else {\n throw new Error(`Invalid breakpoint prop: ${media}`);\n }\n }\n let _css = { [prop]: val[media] }\n let r: any = style(_css, classname, opt, dept)\n let _style = r.stack\n let mediakey = `@media (min-width: ${breakpoint}px)`\n medias[mediakey] = medias[mediakey] ? medias[mediakey] + _style : _style\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n }\n } else {\n if (opt?.getProps) {\n let _props: any = opt.getProps(prop, val, _css, dept)\n if (_props) {\n let r: any = style(_props, classname, {\n ...opt,\n getProps: undefined\n })\n if (opt?.skipProps) {\n skiped = {\n ...skiped,\n ...r.skiped\n }\n }\n stack.push(r.stack)\n continue;\n }\n }\n if (opt?.aliases && (opt.aliases as any)[prop]) {\n let _props = (opt.aliases as any)[prop](val)\n if (_props) {\n let r: any = style(_props, classname, {\n ...opt,\n aliases: undefined\n }, dept)\n r.stack = r.stack.replace(`${classname}{`, '').replace(`}`, '')\n stack[0] += r.stack\n continue;\n }\n }\n if (opt?.getValue) {\n val = opt.getValue(prop, val, _css, dept)\n }\n let p = cssPrefix(prop, val)\n stack[0] += `${p.prop}:${p.value};`\n }\n }\n }\n stack[0] += \"}\"\n if (stack[0] === `${classname}{}`) {\n stack[0] = \"\"\n }\n stack = stack.join('')\n for (let media in medias) {\n stack += `${media}{${medias[media].replace(new RegExp(`}\\\\${classname}\\\\{`, 'g'), '')}}`\n }\n\n if (cachekey) {\n stack = stack.replace(new RegExp(classname as string, 'g'), `.${classname}`)\n const r = {\n cache: false,\n cachekey,\n classname: classname as string,\n css: stack,\n cssraw: _css,\n skiped,\n getStyleTag: () => document?.querySelector(`[data-oncss=\"${classname}\"]`) as HTMLStyleElement | null,\n deleteStyle: () => {\n const tag = document?.querySelector(`[data-oncss=\"${classname}\"]`)\n tag && tag.remove()\n },\n toString: () => classname as string\n }\n CSSFactory.set(cachekey, r)\n let inject = opt?.injectStyle || true\n if (inject && typeof window !== 'undefined') {\n if (!document.querySelector(`[data-oncss=\"${classname}\"]`)) {\n const tag = document.createElement(\"style\");\n tag.innerHTML = r.css\n tag.setAttribute(`data-oncss`, classname as string)\n document.head.append(tag)\n }\n }\n return r\n }\n return { stack, skiped }\n}"],
5
- "mappings": "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",
6
- "names": ["core_exports", "__export", "CSSFactory", "cssPrefix", "formatCSSProp", "formatCSSValue", "style", "__toCommonJS", "import_youid", "_global", "number_val_props", "prop", "val", "PREFIXES", "_declaration", "PREFIXCACHE", "value", "declaration", "cached", "_prop", "_value", "_vprefix", "camelCaseProp", "_", "c", "prefix", "prefixedValue", "_css", "cls", "opt", "dept", "cachekey", "classname", "_key", "has", "youid", "stack", "medias", "skiped", "firstChar", "ncls", "r", "selector", "atcss", "media", "breakpoint", "_style", "mediakey", "_props", "p", "tag"]
7
- }
package/core.d.ts DELETED
@@ -1,22 +0,0 @@
1
- import { CSSOptionProps, CSSFactoryType, CSSProps } from './types';
2
- export declare const CSSFactory: Map<string, CSSFactoryType>;
3
- export declare const formatCSSProp: (prop: string) => string;
4
- export declare const formatCSSValue: (prop: string, val: any) => any;
5
- export declare const cssPrefix: (prop: string, value: string) => {
6
- prop: string;
7
- value: string;
8
- };
9
- export declare const style: <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, cls?: string, opt?: CSSOptionProps<Aliases, BreakpointKeys>, dept?: number) => CSSFactoryType | {
10
- cache: boolean;
11
- cachekey: string;
12
- classname: string;
13
- css: any;
14
- cssraw: CSSProps<Aliases, BreakpointKeys>;
15
- skiped: any;
16
- getStyleTag: () => HTMLStyleElement | null;
17
- deleteStyle: () => void;
18
- toString: () => string;
19
- } | {
20
- stack: any;
21
- skiped: any;
22
- };
package/index.cjs DELETED
@@ -1,2 +0,0 @@
1
- "use strict";var a=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var c=(e,o)=>{for(var r in o)a(e,r,{get:o[r],enumerable:!0})},S=(e,o,r,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of m(o))!l.call(e,t)&&t!==r&&a(e,t,{get:()=>o[t],enumerable:!(n=f(o,t))||n.enumerable});return e},i=(e,o,r)=>(S(e,o,"default"),r&&S(r,o,"default"));var x=e=>S(a({},"__esModule",{value:!0}),e);var p={};c(p,{CSSFactory:()=>s.CSSFactory,css:()=>C,default:()=>P,formatCSSProp:()=>s.formatCSSProp,formatCSSValue:()=>s.formatCSSValue});module.exports=x(p);var y=require("./core"),s=require("./core");i(p,require("./types"),module.exports);const C=(e,o)=>(0,y.style)(e,void 0,o);var P=C;
2
- //# sourceMappingURL=index.cjs.map
package/index.cjs.map DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/index.ts"],
4
- "sourcesContent": ["import { style } from \"./core\";\nimport { CSSProps, CSSOptionProps, CSSFactoryType } from \"./types\";\nexport { CSSFactory, formatCSSProp, formatCSSValue } from './core'\nexport * from './types'\n\nexport const css = <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, options?: CSSOptionProps<Aliases, BreakpointKeys>): CSSFactoryType => style<Aliases, BreakpointKeys>(_css, undefined, options) as any\nexport default css"],
5
- "mappings": "2dAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qCAAAE,EAAA,YAAAC,EAAA,uFAAAC,EAAAJ,GAAA,IAAAK,EAAsB,kBAEtBA,EAA0D,kBAC1DC,EAAAN,EAAc,mBAHd,gBAKO,MAAME,EAAM,CAAyCK,EAAyCC,OAAsE,SAA+BD,EAAM,OAAWC,CAAO,EAClO,IAAOL,EAAQD",
6
- "names": ["index_exports", "__export", "css", "index_default", "__toCommonJS", "import_core", "__reExport", "_css", "options"]
7
- }
package/types.cjs DELETED
@@ -1,2 +0,0 @@
1
- "use strict";var r=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var l=(s,e,a,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of n(e))!p.call(s,t)&&t!==a&&r(s,t,{get:()=>e[t],enumerable:!(i=o(e,t))||i.enumerable});return s};var S=s=>l(r({},"__esModule",{value:!0}),s);var y={};module.exports=S(y);
2
- //# sourceMappingURL=types.cjs.map
package/types.cjs.map DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/types.ts"],
4
- "sourcesContent": ["import * as CSS from 'csstype'\ntype CSSProperties = CSS.Properties<number | string>;\n\ntype CSSNestedSelectors<Aliases, BreakpointKeys extends string> = {\n [key in `& ${string}` | `&:${string}`]: CSSPropsWithoutGlobal<Aliases, BreakpointKeys>;\n};\n\ntype CSSNestedSelectorsWithoutChild<Aliases, BreakpointKeys extends string> = {\n \"&\": CSSPropsWithoutGlobal<Aliases, BreakpointKeys>;\n};\n\ntype AtRules = \"media\" | \"container\" | \"layer\" | \"supports\"\ntype MediaCSS<Aliases, BreakpointKeys extends string> = {\n [key: `@${AtRules} ${string}`]: CSSProps<Aliases, BreakpointKeys>;\n};\n\ntype KeyframesCSS<Aliases> = {\n [key: `@keyframes ${string}`]: {\n from?: CSSValueWithoutBreakpoint<Aliases>;\n to?: CSSValueWithoutBreakpoint<Aliases>;\n [key: `${string}%`]: CSSValueWithoutBreakpoint<Aliases>;\n };\n};\n\ntype GlobalCSS<Aliases, BreakpointKeys extends string> = {\n '@global'?: {\n [key: string]: CSSPropsWithoutGlobal<Aliases, BreakpointKeys>;\n };\n};\n\nexport type BreakpointTypes<BreakpointKeys extends string, ValueTypes> = {\n [key in number | BreakpointKeys]?: ValueTypes;\n};\n\nexport type CSSValueWithoutBreakpoint<Aliases> = {\n [Property in keyof (CSSProperties & Aliases)]?: (CSSProperties & Aliases)[Property]\n}\n\ntype CSSValue<Aliases, BreakpointKeys extends string> = {\n [Property in keyof (CSSProperties & Aliases)]?: (CSSProperties & Aliases)[Property] | BreakpointTypes<BreakpointKeys, (CSSProperties & Aliases)[Property]>\n}\n\nexport type CSSPropsWithoutGlobal<Aliases, BreakpointKeys extends string> = CSSValue<Aliases, BreakpointKeys> | KeyframesCSS<Aliases> | MediaCSS<Aliases, BreakpointKeys> | CSSNestedSelectors<Aliases, BreakpointKeys> | CSSNestedSelectorsWithoutChild<Aliases, BreakpointKeys>\nexport type CSSProps<Aliases, BreakpointKeys extends string> = GlobalCSS<Aliases, BreakpointKeys> | CSSPropsWithoutGlobal<Aliases, BreakpointKeys>\nexport type AliasFn<Aliases> = (value: any) => CSSValueWithoutBreakpoint<Aliases>\nexport type OptionAliases<Aliases> = {\n [key in keyof Aliases]: AliasFn<Aliases>\n}\n\nexport interface CSSOptionProps<Aliases, BreakpointKeys extends string> {\n classPrefix?: string;\n breakpoints?: { [key in BreakpointKeys]: number };\n aliases?: OptionAliases<Aliases>;\n injectStyle?: boolean;\n skipProps?: (prop: string, value: string | number, dept: number) => boolean | void;\n getValue?: (value: string | number, prop: string, css: CSSProps<Aliases, BreakpointKeys>, dept: number) => (string | number);\n getProps?: (prop: string, value: string | number, css: CSSProps<Aliases, BreakpointKeys>, dept: number) => CSSProps<Aliases, BreakpointKeys> | void;\n}\n\nexport type CSSFactoryType = {\n css: string;\n cachekey: string;\n classname: string;\n cssraw: CSSProps<any, any>;\n cache: boolean;\n skiped: string[];\n getStyleTag: () => HTMLStyleElement | null;\n deleteStyle: () => void;\n toString: () => string;\n}\n"],
5
- "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
- "names": ["types_exports", "__toCommonJS"]
7
- }
package/types.d.ts DELETED
@@ -1,62 +0,0 @@
1
- import * as CSS from 'csstype';
2
- type CSSProperties = CSS.Properties<number | string>;
3
- type CSSNestedSelectors<Aliases, BreakpointKeys extends string> = {
4
- [key in `& ${string}` | `&:${string}`]: CSSPropsWithoutGlobal<Aliases, BreakpointKeys>;
5
- };
6
- type CSSNestedSelectorsWithoutChild<Aliases, BreakpointKeys extends string> = {
7
- "&": CSSPropsWithoutGlobal<Aliases, BreakpointKeys>;
8
- };
9
- type AtRules = "media" | "container" | "layer" | "supports";
10
- type MediaCSS<Aliases, BreakpointKeys extends string> = {
11
- [key: `@${AtRules} ${string}`]: CSSProps<Aliases, BreakpointKeys>;
12
- };
13
- type KeyframesCSS<Aliases> = {
14
- [key: `@keyframes ${string}`]: {
15
- from?: CSSValueWithoutBreakpoint<Aliases>;
16
- to?: CSSValueWithoutBreakpoint<Aliases>;
17
- [key: `${string}%`]: CSSValueWithoutBreakpoint<Aliases>;
18
- };
19
- };
20
- type GlobalCSS<Aliases, BreakpointKeys extends string> = {
21
- '@global'?: {
22
- [key: string]: CSSPropsWithoutGlobal<Aliases, BreakpointKeys>;
23
- };
24
- };
25
- export type BreakpointTypes<BreakpointKeys extends string, ValueTypes> = {
26
- [key in number | BreakpointKeys]?: ValueTypes;
27
- };
28
- export type CSSValueWithoutBreakpoint<Aliases> = {
29
- [Property in keyof (CSSProperties & Aliases)]?: (CSSProperties & Aliases)[Property];
30
- };
31
- type CSSValue<Aliases, BreakpointKeys extends string> = {
32
- [Property in keyof (CSSProperties & Aliases)]?: (CSSProperties & Aliases)[Property] | BreakpointTypes<BreakpointKeys, (CSSProperties & Aliases)[Property]>;
33
- };
34
- export type CSSPropsWithoutGlobal<Aliases, BreakpointKeys extends string> = CSSValue<Aliases, BreakpointKeys> | KeyframesCSS<Aliases> | MediaCSS<Aliases, BreakpointKeys> | CSSNestedSelectors<Aliases, BreakpointKeys> | CSSNestedSelectorsWithoutChild<Aliases, BreakpointKeys>;
35
- export type CSSProps<Aliases, BreakpointKeys extends string> = GlobalCSS<Aliases, BreakpointKeys> | CSSPropsWithoutGlobal<Aliases, BreakpointKeys>;
36
- export type AliasFn<Aliases> = (value: any) => CSSValueWithoutBreakpoint<Aliases>;
37
- export type OptionAliases<Aliases> = {
38
- [key in keyof Aliases]: AliasFn<Aliases>;
39
- };
40
- export interface CSSOptionProps<Aliases, BreakpointKeys extends string> {
41
- classPrefix?: string;
42
- breakpoints?: {
43
- [key in BreakpointKeys]: number;
44
- };
45
- aliases?: OptionAliases<Aliases>;
46
- injectStyle?: boolean;
47
- skipProps?: (prop: string, value: string | number, dept: number) => boolean | void;
48
- getValue?: (value: string | number, prop: string, css: CSSProps<Aliases, BreakpointKeys>, dept: number) => (string | number);
49
- getProps?: (prop: string, value: string | number, css: CSSProps<Aliases, BreakpointKeys>, dept: number) => CSSProps<Aliases, BreakpointKeys> | void;
50
- }
51
- export type CSSFactoryType = {
52
- css: string;
53
- cachekey: string;
54
- classname: string;
55
- cssraw: CSSProps<any, any>;
56
- cache: boolean;
57
- skiped: string[];
58
- getStyleTag: () => HTMLStyleElement | null;
59
- deleteStyle: () => void;
60
- toString: () => string;
61
- };
62
- export {};
package/types.mjs DELETED
@@ -1 +0,0 @@
1
- //# sourceMappingURL=types.mjs.map
package/types.mjs.map DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }