oncss 1.2.9 → 1.2.10

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.cjs CHANGED
@@ -2,9 +2,42 @@
2
2
 
3
3
  var youid = require('youid');
4
4
 
5
- const _global = typeof window !== 'undefined' ? window : global;
6
- _global.Factory = _global.Factory || new Map();
7
- const CSSFactory = _global.Factory;
5
+ // const _global: any = typeof window !== 'undefined' ? window : global;
6
+ // _global.Factory = _global.Factory || new Map<string, CSSFactoryType>();
7
+ // export const CSSFactory = _global.Factory as Map<string, CSSFactoryType>
8
+ const caches = new Map();
9
+ const ONCSS_CACHE = {
10
+ set(cacheId, cachekey, value) {
11
+ let cache = caches.get(cacheId);
12
+ if (!cache) {
13
+ cache = new Map();
14
+ caches.set(cacheId, cache);
15
+ }
16
+ cache.set(cachekey, value);
17
+ },
18
+ get(cacheId, cachekey) {
19
+ let cache = caches.get(cacheId);
20
+ if (cache) {
21
+ return cache.get(cachekey);
22
+ }
23
+ },
24
+ has(cacheId, cachekey) {
25
+ let cache = caches.get(cacheId);
26
+ if (cache) {
27
+ return cache.has(cachekey);
28
+ }
29
+ return false;
30
+ },
31
+ delete(cacheId, cachekey) {
32
+ let cache = caches.get(cacheId);
33
+ if (cache) {
34
+ cache.delete(cachekey);
35
+ }
36
+ },
37
+ caches() {
38
+ return caches;
39
+ }
40
+ };
8
41
  const number_val_props = [
9
42
  "fontWeight",
10
43
  "font-weight",
@@ -101,9 +134,10 @@ const style = (_css, cls, opt, dept = 1) => {
101
134
  var _a, _b;
102
135
  let cachekey;
103
136
  let classname = cls;
137
+ const cacheId = (opt === null || opt === void 0 ? void 0 : opt.cacheId) || "global";
104
138
  if (!cls) {
105
139
  cachekey = JSON.stringify(_css, (_key, value) => typeof value === "function" ? value.toString() : value);
106
- const has = CSSFactory.get(cachekey);
140
+ const has = ONCSS_CACHE.get(cacheId, cachekey);
107
141
  if (has) {
108
142
  has.cache = true;
109
143
  return has;
@@ -237,29 +271,37 @@ const style = (_css, cls, opt, dept = 1) => {
237
271
  css: stack,
238
272
  cssraw: _css,
239
273
  skiped,
240
- getStyleTag: () => { var _a; return (_a = d.container) === null || _a === void 0 ? void 0 : _a.querySelector(`[data-href="${classname}"]`); },
274
+ cacheId,
275
+ getStyleTag: () => { var _a; return (_a = d.container) === null || _a === void 0 ? void 0 : _a.querySelector(`style[data-href="${classname}"]`); },
241
276
  deleteStyle: () => {
242
- var _a;
243
- const tag = (_a = d.container) === null || _a === void 0 ? void 0 : _a.querySelector(`[data-href="${classname}"]`);
277
+ const tag = r.getStyleTag();
244
278
  tag && tag.remove();
279
+ },
280
+ inject: () => {
281
+ const tag = r.getStyleTag() || d.document.createElement("style");
282
+ if (!tag.innerHTML) {
283
+ tag.innerHTML = r.css;
284
+ tag.setAttribute(`data-href`, classname);
285
+ d.container.appendChild(tag);
286
+ }
287
+ return tag;
288
+ },
289
+ refresh: () => {
290
+ r.deleteStyle();
291
+ return r.inject();
245
292
  }
246
293
  };
247
- CSSFactory.set(cachekey, r);
294
+ ONCSS_CACHE.set(cacheId, cachekey, r);
248
295
  let inject = (_b = opt === null || opt === void 0 ? void 0 : opt.injectStyle) !== null && _b !== void 0 ? _b : true;
249
296
  if (inject && typeof d.document !== 'undefined') {
250
- if (!d.container.querySelector(`[data-href="${classname}"]`)) {
251
- const tag = d.document.createElement("style");
252
- tag.innerHTML = r.css;
253
- tag.setAttribute(`data-href`, classname);
254
- d.container.appendChild(tag);
255
- }
297
+ r.inject();
256
298
  }
257
299
  return r;
258
300
  }
259
301
  return { stack, skiped };
260
302
  };
261
303
 
262
- exports.CSSFactory = CSSFactory;
304
+ exports.ONCSS_CACHE = ONCSS_CACHE;
263
305
  exports.cssPrefix = cssPrefix;
264
306
  exports.formatCSSProp = formatCSSProp;
265
307
  exports.formatCSSValue = formatCSSValue;
package/core.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.cjs","sources":["../src/core.ts"],"sourcesContent":["import { CSSOptionProps, CSSFactoryType, CSSProps } from './types';\r\nimport youid from 'youid';\r\nconst _global: any = typeof window !== 'undefined' ? window : global;\r\n_global.Factory = _global.Factory || new Map<string, CSSFactoryType>();\r\nexport const CSSFactory = _global.Factory as Map<string, CSSFactoryType>\r\n\r\n\r\nconst number_val_props = [\r\n \"fontWeight\",\r\n \"font-weight\",\r\n \"lineHeight\",\r\n \"line-height\",\r\n \"opacity\",\r\n \"zIndex\",\r\n \"z-index\",\r\n \"flex\",\r\n \"order\",\r\n \"flexGrow\",\r\n \"flex-grow\",\r\n \"flexShrink\",\r\n \"flex-shrink\",\r\n \"flexBasis\",\r\n \"flex-basis\",\r\n \"columns\",\r\n \"perspective\",\r\n \"stroke-dashoffset\"\r\n]\r\n\r\nexport const formatCSSProp = (prop: string) => prop.split(/(?=[A-Z])/).join(\"-\").toLowerCase();\r\nexport const formatCSSValue = (prop: string, val: any) => typeof val === 'number' && !number_val_props.includes(prop) ? `${val}px` : val\r\n\r\nconst PREFIXES = ['webkit', 'moz', 'ms', 'o'];\r\nlet _declaration: CSSStyleDeclaration;\r\nconst PREFIXCACHE = new Map();\r\n\r\nexport const cssPrefix = (prop: string, value: string): { prop: string, value: string } => {\r\n value = formatCSSValue(prop, value);\r\n prop = formatCSSProp(prop);\r\n\r\n if (typeof window === 'undefined') {\r\n return { prop, value };\r\n }\r\n\r\n const declaration = _declaration || (_declaration = document.createElement(\"div\").style);\r\n value = value?.toString();\r\n\r\n // Check if the property and value work as is\r\n if (declaration.setProperty(prop, value), declaration.getPropertyValue(prop) === value) {\r\n return { prop, value };\r\n }\r\n\r\n // Check cached property and value prefix\r\n const cached = PREFIXCACHE.get(prop);\r\n if (cached) {\r\n return { prop: cached._prop, value: `${cached._vprefix}${value}` };\r\n }\r\n\r\n let _prop = prop;\r\n let _value = value;\r\n let _vprefix = '';\r\n\r\n // Try property prefixes\r\n const camelCaseProp = prop.includes('-') ? prop.replace(/-([a-z])/g, (_, c) => c.toUpperCase()) : prop;\r\n for (const prefix of PREFIXES) {\r\n if (declaration[`${prefix}${camelCaseProp}` as any] !== undefined) {\r\n _prop = `-${prefix}-${prop}`;\r\n break;\r\n }\r\n }\r\n\r\n // Check if prefixed property works with the value\r\n declaration.setProperty(_prop, value);\r\n if (!declaration.getPropertyValue(_prop)) {\r\n for (const prefix of PREFIXES) {\r\n const prefixedValue = `-${prefix}-${value}`;\r\n if (declaration.setProperty(_prop, prefixedValue), declaration.getPropertyValue(_prop) === prefixedValue) {\r\n _value = prefixedValue;\r\n _vprefix = `-${prefix}-`;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n PREFIXCACHE.set(prop, { _prop, _vprefix });\r\n return { prop: _prop, value: _value };\r\n};\r\n\r\n\r\nconst resolveStyleContainer = (input?: Document | HTMLElement): { document: Document; container: HTMLElement } => {\r\n // Default → current document\r\n if (!input) {\r\n return {\r\n document,\r\n container: document.head,\r\n };\r\n }\r\n\r\n // If input is a Document (works across iframes)\r\n if (\"nodeType\" in input && input.nodeType === 9) {\r\n return {\r\n document: input as Document,\r\n container: (input as Document).head || input.getElementsByTagName(\"head\")[0],\r\n };\r\n }\r\n\r\n // If input is an HTMLElement → use its owner document\r\n if (\"ownerDocument\" in input && input instanceof HTMLElement) {\r\n return {\r\n document: input.ownerDocument,\r\n container: input,\r\n };\r\n }\r\n\r\n throw new Error(\"Invalid input: must be Document or HTMLElement\");\r\n}\r\n\r\n\r\n\r\nexport const style = <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, cls?: string, opt?: CSSOptionProps<Aliases, BreakpointKeys>, dept = 1) => {\r\n let cachekey\r\n let classname = cls\r\n\r\n if (!cls) {\r\n cachekey = JSON.stringify(_css, (_key, value) => typeof value === \"function\" ? value.toString() : value);\r\n const has = CSSFactory.get(cachekey)\r\n if (has) {\r\n has.cache = true\r\n return has\r\n }\r\n classname = `${opt?.classPrefix || \"\"}x${youid(cachekey)}`\r\n } else if (typeof cls !== 'string') {\r\n throw new Error(`Invalid class name: ${cls}`)\r\n }\r\n\r\n let stack: any = [`${classname}{`]\r\n let medias: any = {}\r\n let skiped: any = {}\r\n for (let prop in _css) {\r\n let val = (_css as any)[prop]\r\n let firstChar = prop.charAt(0)\r\n if (firstChar === '&') {\r\n let ncls = prop.replace(/&/g, classname as string)\r\n const r: any = style(val, ncls, opt, dept + 1)\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n stack.push(r.stack)\r\n } else if (firstChar === '@') {\r\n if (prop.startsWith(\"@global\") || prop.startsWith(\"@keyframes\")) {\r\n let _css = ''\r\n for (let selector in val) {\r\n let r: any = style(val[selector], selector, opt, dept + 1)\r\n _css += r.stack\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n }\r\n if (prop.startsWith(\"@keyframes\")) {\r\n stack.push(`${prop}{${_css}}`)\r\n } else {\r\n stack.push(_css)\r\n }\r\n } else {\r\n let r: any = style(val, classname, opt, dept + 1)\r\n const atcss = prop + \"{\" + r.stack + \"}\"\r\n stack.push(atcss)\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n }\r\n } else {\r\n if (opt?.skipProps && opt.skipProps(prop, val, dept)) {\r\n if (!((classname as any) in skiped)) skiped[classname as string] = []\r\n skiped[classname as string].push(prop)\r\n continue\r\n }\r\n if (typeof val === 'function' || Array.isArray(val)) {\r\n continue\r\n }\r\n if (typeof val === 'object') {\r\n for (let media in val) {\r\n if (typeof val[media] === 'object' || typeof val[media] === 'function' || Array.isArray(val[media])) {\r\n throw new Error(`Invalid css value: ${val[media]}`);\r\n }\r\n let breakpoint = media\r\n let isNumber = !isNaN(parseInt(breakpoint))\r\n if (!isNumber) {\r\n if (opt?.breakpoints && !isNaN(parseInt((opt.breakpoints as any)[media]))) {\r\n breakpoint = opt.breakpoints[media as BreakpointKeys].toString()\r\n } else {\r\n throw new Error(`Invalid breakpoint prop: ${media}`);\r\n }\r\n }\r\n let _css = { [prop]: val[media] }\r\n let r: any = style(_css, classname, opt, dept)\r\n let _style = r.stack\r\n let mediakey = `@media (min-width: ${breakpoint}px)`\r\n medias[mediakey] = medias[mediakey] ? medias[mediakey] + _style : _style\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n }\r\n } else {\r\n if (opt?.getProps) {\r\n let _props: any = opt.getProps(prop, val, _css, dept)\r\n if (_props) {\r\n let r: any = style(_props, classname, {\r\n ...opt,\r\n getProps: undefined\r\n })\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n stack.push(r.stack)\r\n continue;\r\n }\r\n }\r\n if (opt?.aliases && (opt.aliases as any)[prop]) {\r\n let _props = (opt.aliases as any)[prop](val)\r\n if (_props) {\r\n let r: any = style(_props, classname, {\r\n ...opt,\r\n aliases: undefined\r\n }, dept)\r\n r.stack = r.stack.replace(`${classname}{`, '').replace(`}`, '')\r\n stack[0] += r.stack\r\n continue;\r\n }\r\n }\r\n if (opt?.getValue) {\r\n val = opt.getValue(prop, val, _css, dept)\r\n }\r\n let p = cssPrefix(prop, val)\r\n stack[0] += `${p.prop}:${p.value};`\r\n }\r\n }\r\n }\r\n stack[0] += \"}\"\r\n if (stack[0] === `${classname}{}`) {\r\n stack[0] = \"\"\r\n }\r\n stack = stack.join('')\r\n for (let media in medias) {\r\n stack += `${media}{${medias[media].replace(new RegExp(`}\\\\${classname}\\\\{`, 'g'), '')}}`\r\n }\r\n\r\n if (cachekey) {\r\n const d = resolveStyleContainer(opt?.container);\r\n\r\n const selector = opt?.selector ?? \".\"\r\n stack = stack.replace(new RegExp(classname as string, 'g'), `${selector}${classname}`)\r\n const r = {\r\n cache: false,\r\n cachekey,\r\n selector,\r\n classname: classname as string,\r\n css: stack,\r\n cssraw: _css,\r\n skiped,\r\n getStyleTag: () => d.container?.querySelector(`[data-href=\"${classname}\"]`) as HTMLStyleElement | null,\r\n deleteStyle: () => {\r\n const tag = d.container?.querySelector(`[data-href=\"${classname}\"]`)\r\n tag && tag.remove()\r\n }\r\n }\r\n\r\n CSSFactory.set(cachekey, r)\r\n let inject = opt?.injectStyle ?? true\r\n\r\n if (inject && typeof d.document !== 'undefined') {\r\n if (!d.container.querySelector(`[data-href=\"${classname}\"]`)) {\r\n const tag = d.document.createElement(\"style\");\r\n tag.innerHTML = r.css\r\n tag.setAttribute(`data-href`, classname as string)\r\n\r\n d.container.appendChild(tag);\r\n }\r\n }\r\n return r\r\n }\r\n return { stack, skiped }\r\n}"],"names":[],"mappings":";;;;AAEA,MAAM,OAAO,GAAQ,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM;AACpE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,GAAG,EAA0B;AAC/D,MAAM,UAAU,GAAG,OAAO,CAAC;AAGlC,MAAM,gBAAgB,GAAG;IACrB,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,aAAa;IACb,SAAS;IACT,QAAQ;IACR,SAAS;IACT,MAAM;IACN,OAAO;IACP,UAAU;IACV,WAAW;IACX,YAAY;IACZ,aAAa;IACb,WAAW;IACX,YAAY;IACZ,SAAS;IACT,aAAa;IACb;CACH;MAEY,aAAa,GAAG,CAAC,IAAY,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW;AACrF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,GAAQ,KAAK,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAA,EAAG,GAAG,CAAA,EAAA,CAAI,GAAG;AAErI,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC;AAC7C,IAAI,YAAiC;AACrC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAE;MAEhB,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa,KAAqC;AACtF,IAAA,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC;AACnC,IAAA,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;AAE1B,IAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AAC/B,QAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAC1B;AAEA,IAAA,MAAM,WAAW,GAAG,YAAY,KAAK,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;IACxF,KAAK,GAAG,KAAK,KAAA,IAAA,IAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE;;AAGzB,IAAA,IAAI,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;AACpF,QAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAC1B;;IAGA,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;IACpC,IAAI,MAAM,EAAE;AACR,QAAA,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,CAAA,EAAG,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAA,CAAE,EAAE;IACtE;IAEA,IAAI,KAAK,GAAG,IAAI;IAChB,IAAI,MAAM,GAAG,KAAK;IAClB,IAAI,QAAQ,GAAG,EAAE;;AAGjB,IAAA,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI;AACtG,IAAA,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;QAC3B,IAAI,WAAW,CAAC,CAAA,EAAG,MAAM,CAAA,EAAG,aAAa,CAAA,CAAS,CAAC,KAAK,SAAS,EAAE;AAC/D,YAAA,KAAK,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,EAAI,IAAI,EAAE;YAC5B;QACJ;IACJ;;AAGA,IAAA,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC;IACrC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;AACtC,QAAA,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;AAC3B,YAAA,MAAM,aAAa,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,EAAI,KAAK,EAAE;AAC3C,YAAA,IAAI,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,aAAa,EAAE;gBACtG,MAAM,GAAG,aAAa;AACtB,gBAAA,QAAQ,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,CAAG;gBACxB;YACJ;QACJ;IACJ;IAEA,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC1C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;AACzC;AAGA,MAAM,qBAAqB,GAAG,CAAC,KAA8B,KAAoD;;IAE7G,IAAI,CAAC,KAAK,EAAE;QACR,OAAO;YACH,QAAQ;YACR,SAAS,EAAE,QAAQ,CAAC,IAAI;SAC3B;IACL;;IAGA,IAAI,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE;QAC7C,OAAO;AACH,YAAA,QAAQ,EAAE,KAAiB;AAC3B,YAAA,SAAS,EAAG,KAAkB,CAAC,IAAI,IAAI,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC/E;IACL;;IAGA,IAAI,eAAe,IAAI,KAAK,IAAI,KAAK,YAAY,WAAW,EAAE;QAC1D,OAAO;YACH,QAAQ,EAAE,KAAK,CAAC,aAAa;AAC7B,YAAA,SAAS,EAAE,KAAK;SACnB;IACL;AAEA,IAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC;AACrE,CAAC;AAIM,MAAM,KAAK,GAAG,CAAyC,IAAuC,EAAE,GAAY,EAAE,GAA6C,EAAE,IAAI,GAAG,CAAC,KAAI;;AAC5K,IAAA,IAAI,QAAQ;IACZ,IAAI,SAAS,GAAG,GAAG;IAEnB,IAAI,CAAC,GAAG,EAAE;AACN,QAAA,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC;QACxG,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;QACpC,IAAI,GAAG,EAAE;AACL,YAAA,GAAG,CAAC,KAAK,GAAG,IAAI;AAChB,YAAA,OAAO,GAAG;QACd;AACA,QAAA,SAAS,GAAG,CAAA,EAAG,CAAA,GAAG,KAAA,IAAA,IAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,KAAI,EAAE,CAAA,CAAA,EAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;IAC9D;AAAO,SAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAChC,QAAA,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAA,CAAE,CAAC;IACjD;AAEA,IAAA,IAAI,KAAK,GAAQ,CAAC,GAAG,SAAS,CAAA,CAAA,CAAG,CAAC;IAClC,IAAI,MAAM,GAAQ,EAAE;IACpB,IAAI,MAAM,GAAQ,EAAE;AACpB,IAAA,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE;AACnB,QAAA,IAAI,GAAG,GAAI,IAAY,CAAC,IAAI,CAAC;QAC7B,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,QAAA,IAAI,SAAS,KAAK,GAAG,EAAE;YACnB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAmB,CAAC;AAClD,YAAA,MAAM,CAAC,GAAQ,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC;YAC9C,IAAI,GAAG,aAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,SAAS,EAAE;AAChB,gBAAA,MAAM,mCACC,MAAM,CAAA,EACN,CAAC,CAAC,MAAM,CACd;YACL;AACA,YAAA,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACvB;AAAO,aAAA,IAAI,SAAS,KAAK,GAAG,EAAE;AAC1B,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;gBAC7D,IAAI,IAAI,GAAG,EAAE;AACb,gBAAA,KAAK,IAAI,QAAQ,IAAI,GAAG,EAAE;AACtB,oBAAA,IAAI,CAAC,GAAQ,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC;AAC1D,oBAAA,IAAI,IAAI,CAAC,CAAC,KAAK;oBACf,IAAI,GAAG,aAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,SAAS,EAAE;AAChB,wBAAA,MAAM,mCACC,MAAM,CAAA,EACN,CAAC,CAAC,MAAM,CACd;oBACL;gBACJ;AACA,gBAAA,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;oBAC/B,KAAK,CAAC,IAAI,CAAC,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,CAAG,CAAC;gBAClC;qBAAO;AACH,oBAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBACpB;YACJ;iBAAO;AACH,gBAAA,IAAI,CAAC,GAAQ,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC;gBACjD,MAAM,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG;AACxC,gBAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjB,IAAI,GAAG,aAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,SAAS,EAAE;AAChB,oBAAA,MAAM,mCACC,MAAM,CAAA,EACN,CAAC,CAAC,MAAM,CACd;gBACL;YACJ;QACJ;aAAO;YACH,IAAI,CAAA,GAAG,KAAA,IAAA,IAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,KAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE;AAClD,gBAAA,IAAI,EAAG,SAAiB,IAAI,MAAM,CAAC;AAAE,oBAAA,MAAM,CAAC,SAAmB,CAAC,GAAG,EAAE;gBACrE,MAAM,CAAC,SAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACtC;YACJ;AACA,YAAA,IAAI,OAAO,GAAG,KAAK,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACjD;YACJ;AACA,YAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AACzB,gBAAA,KAAK,IAAI,KAAK,IAAI,GAAG,EAAE;oBACnB,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;wBACjG,MAAM,IAAI,KAAK,CAAC,CAAA,mBAAA,EAAsB,GAAG,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC;oBACvD;oBACA,IAAI,UAAU,GAAG,KAAK;oBACtB,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAC3C,IAAI,CAAC,QAAQ,EAAE;wBACX,IAAI,CAAA,GAAG,KAAA,IAAA,IAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAE,GAAG,CAAC,WAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;4BACvE,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,KAAuB,CAAC,CAAC,QAAQ,EAAE;wBACpE;6BAAO;AACH,4BAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAA,CAAE,CAAC;wBACxD;oBACJ;AACA,oBAAA,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;AACjC,oBAAA,IAAI,CAAC,GAAQ,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC;AAC9C,oBAAA,IAAI,MAAM,GAAG,CAAC,CAAC,KAAK;AACpB,oBAAA,IAAI,QAAQ,GAAG,CAAA,mBAAA,EAAsB,UAAU,KAAK;oBACpD,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,MAAM;oBACxE,IAAI,GAAG,aAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,SAAS,EAAE;AAChB,wBAAA,MAAM,mCACC,MAAM,CAAA,EACN,CAAC,CAAC,MAAM,CACd;oBACL;gBACJ;YACJ;iBAAO;gBACH,IAAI,GAAG,aAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,QAAQ,EAAE;AACf,oBAAA,IAAI,MAAM,GAAQ,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;oBACrD,IAAI,MAAM,EAAE;AACR,wBAAA,IAAI,CAAC,GAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAC7B,GAAG,CAAA,EAAA,EACN,QAAQ,EAAE,SAAS,IACrB;wBACF,IAAI,GAAG,aAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,SAAS,EAAE;AAChB,4BAAA,MAAM,mCACC,MAAM,CAAA,EACN,CAAC,CAAC,MAAM,CACd;wBACL;AACA,wBAAA,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;wBACnB;oBACJ;gBACJ;AACA,gBAAA,IAAI,CAAA,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,OAAO,KAAK,GAAG,CAAC,OAAe,CAAC,IAAI,CAAC,EAAE;oBAC5C,IAAI,MAAM,GAAI,GAAG,CAAC,OAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;oBAC5C,IAAI,MAAM,EAAE;AACR,wBAAA,IAAI,CAAC,GAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAC7B,GAAG,CAAA,EAAA,EACN,OAAO,EAAE,SAAS,EAAA,CAAA,EACnB,IAAI,CAAC;wBACR,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA,EAAG,SAAS,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA,CAAA,CAAG,EAAE,EAAE,CAAC;AAC/D,wBAAA,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK;wBACnB;oBACJ;gBACJ;gBACA,IAAI,GAAG,aAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,QAAQ,EAAE;AACf,oBAAA,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;gBAC7C;gBACA,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC;AAC5B,gBAAA,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA,EAAG,CAAC,CAAC,IAAI,CAAA,CAAA,EAAI,CAAC,CAAC,KAAK,GAAG;YACvC;QACJ;IACJ;AACA,IAAA,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG;IACf,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA,EAAG,SAAS,CAAA,EAAA,CAAI,EAAE;AAC/B,QAAA,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;IACjB;AACA,IAAA,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;AACtB,IAAA,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;QACtB,KAAK,IAAI,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAA,GAAA,EAAM,SAAS,CAAA,GAAA,CAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA,CAAA,CAAG;IAC5F;IAEA,IAAI,QAAQ,EAAE;AACV,QAAA,MAAM,CAAC,GAAG,qBAAqB,CAAC,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,SAAS,CAAC;AAE/C,QAAA,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,GAAG;AACrC,QAAA,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,SAAmB,EAAE,GAAG,CAAC,EAAE,CAAA,EAAG,QAAQ,GAAG,SAAS,CAAA,CAAE,CAAC;AACtF,QAAA,MAAM,CAAC,GAAG;AACN,YAAA,KAAK,EAAE,KAAK;YACZ,QAAQ;YACR,QAAQ;AACR,YAAA,SAAS,EAAE,SAAmB;AAC9B,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,MAAM,EAAE,IAAI;YACZ,MAAM;AACN,YAAA,WAAW,EAAE,MAAK,EAAA,IAAA,EAAA,CAAA,CAAC,OAAA,MAAA,CAAC,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CAAC,CAAA,YAAA,EAAe,SAAS,CAAA,EAAA,CAAI,CAA4B,CAAA,CAAA,CAAA;YACtG,WAAW,EAAE,MAAK;;AACd,gBAAA,MAAM,GAAG,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CAAC,CAAA,YAAA,EAAe,SAAS,CAAA,EAAA,CAAI,CAAC;AACpE,gBAAA,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE;YACvB;SACH;AAED,QAAA,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC3B,QAAA,IAAI,MAAM,GAAG,CAAA,EAAA,GAAA,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,IAAI;QAErC,IAAI,MAAM,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,WAAW,EAAE;AAC7C,YAAA,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA,YAAA,EAAe,SAAS,CAAA,EAAA,CAAI,CAAC,EAAE;gBAC1D,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AAC7C,gBAAA,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG;AACrB,gBAAA,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,SAAmB,CAAC;AAElD,gBAAA,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC;YAChC;QACJ;AACA,QAAA,OAAO,CAAC;IACZ;AACA,IAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;AAC5B;;;;;;;;"}
1
+ {"version":3,"file":"core.cjs","sources":["../src/core.ts"],"sourcesContent":["import { CSSOptionProps, CSSFactoryType, CSSProps } from './types';\r\nimport youid from 'youid';\r\n// const _global: any = typeof window !== 'undefined' ? window : global;\r\n// _global.Factory = _global.Factory || new Map<string, CSSFactoryType>();\r\n// export const CSSFactory = _global.Factory as Map<string, CSSFactoryType>\r\n\r\nconst caches = new Map<string, Map<string, CSSFactoryType>>()\r\n\r\nexport const ONCSS_CACHE = {\r\n set(cacheId: string, cachekey: string, value: CSSFactoryType) {\r\n let cache = caches.get(cacheId)\r\n if (!cache) {\r\n cache = new Map()\r\n caches.set(cacheId, cache)\r\n }\r\n cache.set(cachekey, value)\r\n },\r\n get(cacheId: string, cachekey: string) {\r\n let cache = caches.get(cacheId)\r\n if (cache) {\r\n return cache.get(cachekey)\r\n }\r\n },\r\n has(cacheId: string, cachekey: string) {\r\n let cache = caches.get(cacheId)\r\n if (cache) {\r\n return cache.has(cachekey)\r\n }\r\n return false\r\n },\r\n delete(cacheId: string, cachekey: string,) {\r\n let cache = caches.get(cacheId)\r\n if (cache) {\r\n cache.delete(cachekey)\r\n }\r\n },\r\n caches() {\r\n return caches\r\n }\r\n}\r\n\r\n\r\n\r\nconst number_val_props = [\r\n \"fontWeight\",\r\n \"font-weight\",\r\n \"lineHeight\",\r\n \"line-height\",\r\n \"opacity\",\r\n \"zIndex\",\r\n \"z-index\",\r\n \"flex\",\r\n \"order\",\r\n \"flexGrow\",\r\n \"flex-grow\",\r\n \"flexShrink\",\r\n \"flex-shrink\",\r\n \"flexBasis\",\r\n \"flex-basis\",\r\n \"columns\",\r\n \"perspective\",\r\n \"stroke-dashoffset\"\r\n]\r\n\r\nexport const formatCSSProp = (prop: string) => prop.split(/(?=[A-Z])/).join(\"-\").toLowerCase();\r\nexport const formatCSSValue = (prop: string, val: any) => typeof val === 'number' && !number_val_props.includes(prop) ? `${val}px` : val\r\n\r\nconst PREFIXES = ['webkit', 'moz', 'ms', 'o'];\r\nlet _declaration: CSSStyleDeclaration;\r\nconst PREFIXCACHE = new Map();\r\n\r\nexport const cssPrefix = (prop: string, value: string): { prop: string, value: string } => {\r\n value = formatCSSValue(prop, value);\r\n prop = formatCSSProp(prop);\r\n\r\n if (typeof window === 'undefined') {\r\n return { prop, value };\r\n }\r\n\r\n const declaration = _declaration || (_declaration = document.createElement(\"div\").style);\r\n value = value?.toString();\r\n\r\n // Check if the property and value work as is\r\n if (declaration.setProperty(prop, value), declaration.getPropertyValue(prop) === value) {\r\n return { prop, value };\r\n }\r\n\r\n // Check cached property and value prefix\r\n const cached = PREFIXCACHE.get(prop);\r\n if (cached) {\r\n return { prop: cached._prop, value: `${cached._vprefix}${value}` };\r\n }\r\n\r\n let _prop = prop;\r\n let _value = value;\r\n let _vprefix = '';\r\n\r\n // Try property prefixes\r\n const camelCaseProp = prop.includes('-') ? prop.replace(/-([a-z])/g, (_, c) => c.toUpperCase()) : prop;\r\n for (const prefix of PREFIXES) {\r\n if (declaration[`${prefix}${camelCaseProp}` as any] !== undefined) {\r\n _prop = `-${prefix}-${prop}`;\r\n break;\r\n }\r\n }\r\n\r\n // Check if prefixed property works with the value\r\n declaration.setProperty(_prop, value);\r\n if (!declaration.getPropertyValue(_prop)) {\r\n for (const prefix of PREFIXES) {\r\n const prefixedValue = `-${prefix}-${value}`;\r\n if (declaration.setProperty(_prop, prefixedValue), declaration.getPropertyValue(_prop) === prefixedValue) {\r\n _value = prefixedValue;\r\n _vprefix = `-${prefix}-`;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n PREFIXCACHE.set(prop, { _prop, _vprefix });\r\n return { prop: _prop, value: _value };\r\n};\r\n\r\n\r\nconst resolveStyleContainer = (input?: Document | HTMLElement): { document: Document; container: HTMLElement } => {\r\n // Default → current document\r\n if (!input) {\r\n return {\r\n document,\r\n container: document.head,\r\n };\r\n }\r\n\r\n // If input is a Document (works across iframes)\r\n if (\"nodeType\" in input && input.nodeType === 9) {\r\n return {\r\n document: input as Document,\r\n container: (input as Document).head || input.getElementsByTagName(\"head\")[0],\r\n };\r\n }\r\n\r\n // If input is an HTMLElement → use its owner document\r\n if (\"ownerDocument\" in input && input instanceof HTMLElement) {\r\n return {\r\n document: input.ownerDocument,\r\n container: input,\r\n };\r\n }\r\n\r\n throw new Error(\"Invalid input: must be Document or HTMLElement\");\r\n}\r\n\r\nexport const style = <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, cls?: string, opt?: CSSOptionProps<Aliases, BreakpointKeys>, dept = 1) => {\r\n let cachekey\r\n let classname = cls\r\n const cacheId = opt?.cacheId || \"global\"\r\n\r\n if (!cls) {\r\n cachekey = JSON.stringify(_css, (_key, value) => typeof value === \"function\" ? value.toString() : value);\r\n const has = ONCSS_CACHE.get(cacheId, cachekey)\r\n if (has) {\r\n has.cache = true\r\n return has\r\n }\r\n classname = `${opt?.classPrefix || \"\"}x${youid(cachekey)}`\r\n } else if (typeof cls !== 'string') {\r\n throw new Error(`Invalid class name: ${cls}`)\r\n }\r\n\r\n let stack: any = [`${classname}{`]\r\n let medias: any = {}\r\n let skiped: any = {}\r\n for (let prop in _css) {\r\n let val = (_css as any)[prop]\r\n let firstChar = prop.charAt(0)\r\n if (firstChar === '&') {\r\n let ncls = prop.replace(/&/g, classname as string)\r\n const r: any = style(val, ncls, opt, dept + 1)\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n stack.push(r.stack)\r\n } else if (firstChar === '@') {\r\n if (prop.startsWith(\"@global\") || prop.startsWith(\"@keyframes\")) {\r\n let _css = ''\r\n for (let selector in val) {\r\n let r: any = style(val[selector], selector, opt, dept + 1)\r\n _css += r.stack\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n }\r\n if (prop.startsWith(\"@keyframes\")) {\r\n stack.push(`${prop}{${_css}}`)\r\n } else {\r\n stack.push(_css)\r\n }\r\n } else {\r\n let r: any = style(val, classname, opt, dept + 1)\r\n const atcss = prop + \"{\" + r.stack + \"}\"\r\n stack.push(atcss)\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n }\r\n } else {\r\n if (opt?.skipProps && opt.skipProps(prop, val, dept)) {\r\n if (!((classname as any) in skiped)) skiped[classname as string] = []\r\n skiped[classname as string].push(prop)\r\n continue\r\n }\r\n if (typeof val === 'function' || Array.isArray(val)) {\r\n continue\r\n }\r\n if (typeof val === 'object') {\r\n for (let media in val) {\r\n if (typeof val[media] === 'object' || typeof val[media] === 'function' || Array.isArray(val[media])) {\r\n throw new Error(`Invalid css value: ${val[media]}`);\r\n }\r\n let breakpoint = media\r\n let isNumber = !isNaN(parseInt(breakpoint))\r\n if (!isNumber) {\r\n if (opt?.breakpoints && !isNaN(parseInt((opt.breakpoints as any)[media]))) {\r\n breakpoint = opt.breakpoints[media as BreakpointKeys].toString()\r\n } else {\r\n throw new Error(`Invalid breakpoint prop: ${media}`);\r\n }\r\n }\r\n let _css = { [prop]: val[media] }\r\n let r: any = style(_css, classname, opt, dept)\r\n let _style = r.stack\r\n let mediakey = `@media (min-width: ${breakpoint}px)`\r\n medias[mediakey] = medias[mediakey] ? medias[mediakey] + _style : _style\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n }\r\n } else {\r\n if (opt?.getProps) {\r\n let _props: any = opt.getProps(prop, val, _css, dept)\r\n if (_props) {\r\n let r: any = style(_props, classname, {\r\n ...opt,\r\n getProps: undefined\r\n })\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n stack.push(r.stack)\r\n continue;\r\n }\r\n }\r\n if (opt?.aliases && (opt.aliases as any)[prop]) {\r\n let _props = (opt.aliases as any)[prop](val)\r\n if (_props) {\r\n let r: any = style(_props, classname, {\r\n ...opt,\r\n aliases: undefined\r\n }, dept)\r\n r.stack = r.stack.replace(`${classname}{`, '').replace(`}`, '')\r\n stack[0] += r.stack\r\n continue;\r\n }\r\n }\r\n if (opt?.getValue) {\r\n val = opt.getValue(prop, val, _css, dept)\r\n }\r\n let p = cssPrefix(prop, val)\r\n stack[0] += `${p.prop}:${p.value};`\r\n }\r\n }\r\n }\r\n stack[0] += \"}\"\r\n if (stack[0] === `${classname}{}`) {\r\n stack[0] = \"\"\r\n }\r\n stack = stack.join('')\r\n for (let media in medias) {\r\n stack += `${media}{${medias[media].replace(new RegExp(`}\\\\${classname}\\\\{`, 'g'), '')}}`\r\n }\r\n\r\n if (cachekey) {\r\n const d = resolveStyleContainer(opt?.container);\r\n\r\n const selector = opt?.selector ?? \".\"\r\n stack = stack.replace(new RegExp(classname as string, 'g'), `${selector}${classname}`)\r\n const r = {\r\n cache: false,\r\n cachekey,\r\n selector,\r\n classname: classname as string,\r\n css: stack,\r\n cssraw: _css,\r\n skiped,\r\n cacheId,\r\n getStyleTag: () => d.container?.querySelector(`style[data-href=\"${classname}\"]`) as HTMLStyleElement | null,\r\n deleteStyle: () => {\r\n const tag = r.getStyleTag()\r\n tag && tag.remove()\r\n },\r\n inject: () => {\r\n const tag = r.getStyleTag() || d.document.createElement(\"style\");\r\n if (!tag.innerHTML) {\r\n tag.innerHTML = r.css\r\n tag.setAttribute(`data-href`, classname as string)\r\n d.container.appendChild(tag);\r\n }\r\n return tag\r\n },\r\n refresh: () => {\r\n r.deleteStyle()\r\n return r.inject()\r\n }\r\n }\r\n\r\n ONCSS_CACHE.set(cacheId, cachekey, r)\r\n\r\n let inject = opt?.injectStyle ?? true\r\n if (inject && typeof d.document !== 'undefined') {\r\n r.inject()\r\n }\r\n return r\r\n }\r\n return { stack, skiped }\r\n}"],"names":[],"mappings":"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"}
package/core.d.ts CHANGED
@@ -1,7 +1,13 @@
1
1
  import { CSSFactoryType } from './types.js';
2
2
 
3
- declare const CSSFactory: Map<string, CSSFactoryType>;
3
+ declare const ONCSS_CACHE: {
4
+ set(cacheId: string, cachekey: string, value: CSSFactoryType): void;
5
+ get(cacheId: string, cachekey: string): CSSFactoryType | undefined;
6
+ has(cacheId: string, cachekey: string): boolean;
7
+ delete(cacheId: string, cachekey: string): void;
8
+ caches(): Map<string, Map<string, CSSFactoryType>>;
9
+ };
4
10
  declare const formatCSSProp: (prop: string) => string;
5
11
  declare const formatCSSValue: (prop: string, val: any) => any;
6
12
 
7
- export { CSSFactory, formatCSSProp, formatCSSValue };
13
+ export { ONCSS_CACHE, formatCSSProp, formatCSSValue };
package/core.js CHANGED
@@ -1,8 +1,41 @@
1
1
  import youid from 'youid';
2
2
 
3
- const _global = typeof window !== 'undefined' ? window : global;
4
- _global.Factory = _global.Factory || new Map();
5
- const CSSFactory = _global.Factory;
3
+ // const _global: any = typeof window !== 'undefined' ? window : global;
4
+ // _global.Factory = _global.Factory || new Map<string, CSSFactoryType>();
5
+ // export const CSSFactory = _global.Factory as Map<string, CSSFactoryType>
6
+ const caches = new Map();
7
+ const ONCSS_CACHE = {
8
+ set(cacheId, cachekey, value) {
9
+ let cache = caches.get(cacheId);
10
+ if (!cache) {
11
+ cache = new Map();
12
+ caches.set(cacheId, cache);
13
+ }
14
+ cache.set(cachekey, value);
15
+ },
16
+ get(cacheId, cachekey) {
17
+ let cache = caches.get(cacheId);
18
+ if (cache) {
19
+ return cache.get(cachekey);
20
+ }
21
+ },
22
+ has(cacheId, cachekey) {
23
+ let cache = caches.get(cacheId);
24
+ if (cache) {
25
+ return cache.has(cachekey);
26
+ }
27
+ return false;
28
+ },
29
+ delete(cacheId, cachekey) {
30
+ let cache = caches.get(cacheId);
31
+ if (cache) {
32
+ cache.delete(cachekey);
33
+ }
34
+ },
35
+ caches() {
36
+ return caches;
37
+ }
38
+ };
6
39
  const number_val_props = [
7
40
  "fontWeight",
8
41
  "font-weight",
@@ -99,9 +132,10 @@ const style = (_css, cls, opt, dept = 1) => {
99
132
  var _a, _b;
100
133
  let cachekey;
101
134
  let classname = cls;
135
+ const cacheId = (opt === null || opt === void 0 ? void 0 : opt.cacheId) || "global";
102
136
  if (!cls) {
103
137
  cachekey = JSON.stringify(_css, (_key, value) => typeof value === "function" ? value.toString() : value);
104
- const has = CSSFactory.get(cachekey);
138
+ const has = ONCSS_CACHE.get(cacheId, cachekey);
105
139
  if (has) {
106
140
  has.cache = true;
107
141
  return has;
@@ -235,27 +269,35 @@ const style = (_css, cls, opt, dept = 1) => {
235
269
  css: stack,
236
270
  cssraw: _css,
237
271
  skiped,
238
- getStyleTag: () => { var _a; return (_a = d.container) === null || _a === void 0 ? void 0 : _a.querySelector(`[data-href="${classname}"]`); },
272
+ cacheId,
273
+ getStyleTag: () => { var _a; return (_a = d.container) === null || _a === void 0 ? void 0 : _a.querySelector(`style[data-href="${classname}"]`); },
239
274
  deleteStyle: () => {
240
- var _a;
241
- const tag = (_a = d.container) === null || _a === void 0 ? void 0 : _a.querySelector(`[data-href="${classname}"]`);
275
+ const tag = r.getStyleTag();
242
276
  tag && tag.remove();
277
+ },
278
+ inject: () => {
279
+ const tag = r.getStyleTag() || d.document.createElement("style");
280
+ if (!tag.innerHTML) {
281
+ tag.innerHTML = r.css;
282
+ tag.setAttribute(`data-href`, classname);
283
+ d.container.appendChild(tag);
284
+ }
285
+ return tag;
286
+ },
287
+ refresh: () => {
288
+ r.deleteStyle();
289
+ return r.inject();
243
290
  }
244
291
  };
245
- CSSFactory.set(cachekey, r);
292
+ ONCSS_CACHE.set(cacheId, cachekey, r);
246
293
  let inject = (_b = opt === null || opt === void 0 ? void 0 : opt.injectStyle) !== null && _b !== void 0 ? _b : true;
247
294
  if (inject && typeof d.document !== 'undefined') {
248
- if (!d.container.querySelector(`[data-href="${classname}"]`)) {
249
- const tag = d.document.createElement("style");
250
- tag.innerHTML = r.css;
251
- tag.setAttribute(`data-href`, classname);
252
- d.container.appendChild(tag);
253
- }
295
+ r.inject();
254
296
  }
255
297
  return r;
256
298
  }
257
299
  return { stack, skiped };
258
300
  };
259
301
 
260
- export { CSSFactory, cssPrefix, formatCSSProp, formatCSSValue, style };
302
+ export { ONCSS_CACHE, cssPrefix, formatCSSProp, formatCSSValue, style };
261
303
  //# sourceMappingURL=core.js.map
package/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sources":["../src/core.ts"],"sourcesContent":["import { CSSOptionProps, CSSFactoryType, CSSProps } from './types';\r\nimport youid from 'youid';\r\nconst _global: any = typeof window !== 'undefined' ? window : global;\r\n_global.Factory = _global.Factory || new Map<string, CSSFactoryType>();\r\nexport const CSSFactory = _global.Factory as Map<string, CSSFactoryType>\r\n\r\n\r\nconst number_val_props = [\r\n \"fontWeight\",\r\n \"font-weight\",\r\n \"lineHeight\",\r\n \"line-height\",\r\n \"opacity\",\r\n \"zIndex\",\r\n \"z-index\",\r\n \"flex\",\r\n \"order\",\r\n \"flexGrow\",\r\n \"flex-grow\",\r\n \"flexShrink\",\r\n \"flex-shrink\",\r\n \"flexBasis\",\r\n \"flex-basis\",\r\n \"columns\",\r\n \"perspective\",\r\n \"stroke-dashoffset\"\r\n]\r\n\r\nexport const formatCSSProp = (prop: string) => prop.split(/(?=[A-Z])/).join(\"-\").toLowerCase();\r\nexport const formatCSSValue = (prop: string, val: any) => typeof val === 'number' && !number_val_props.includes(prop) ? `${val}px` : val\r\n\r\nconst PREFIXES = ['webkit', 'moz', 'ms', 'o'];\r\nlet _declaration: CSSStyleDeclaration;\r\nconst PREFIXCACHE = new Map();\r\n\r\nexport const cssPrefix = (prop: string, value: string): { prop: string, value: string } => {\r\n value = formatCSSValue(prop, value);\r\n prop = formatCSSProp(prop);\r\n\r\n if (typeof window === 'undefined') {\r\n return { prop, value };\r\n }\r\n\r\n const declaration = _declaration || (_declaration = document.createElement(\"div\").style);\r\n value = value?.toString();\r\n\r\n // Check if the property and value work as is\r\n if (declaration.setProperty(prop, value), declaration.getPropertyValue(prop) === value) {\r\n return { prop, value };\r\n }\r\n\r\n // Check cached property and value prefix\r\n const cached = PREFIXCACHE.get(prop);\r\n if (cached) {\r\n return { prop: cached._prop, value: `${cached._vprefix}${value}` };\r\n }\r\n\r\n let _prop = prop;\r\n let _value = value;\r\n let _vprefix = '';\r\n\r\n // Try property prefixes\r\n const camelCaseProp = prop.includes('-') ? prop.replace(/-([a-z])/g, (_, c) => c.toUpperCase()) : prop;\r\n for (const prefix of PREFIXES) {\r\n if (declaration[`${prefix}${camelCaseProp}` as any] !== undefined) {\r\n _prop = `-${prefix}-${prop}`;\r\n break;\r\n }\r\n }\r\n\r\n // Check if prefixed property works with the value\r\n declaration.setProperty(_prop, value);\r\n if (!declaration.getPropertyValue(_prop)) {\r\n for (const prefix of PREFIXES) {\r\n const prefixedValue = `-${prefix}-${value}`;\r\n if (declaration.setProperty(_prop, prefixedValue), declaration.getPropertyValue(_prop) === prefixedValue) {\r\n _value = prefixedValue;\r\n _vprefix = `-${prefix}-`;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n PREFIXCACHE.set(prop, { _prop, _vprefix });\r\n return { prop: _prop, value: _value };\r\n};\r\n\r\n\r\nconst resolveStyleContainer = (input?: Document | HTMLElement): { document: Document; container: HTMLElement } => {\r\n // Default → current document\r\n if (!input) {\r\n return {\r\n document,\r\n container: document.head,\r\n };\r\n }\r\n\r\n // If input is a Document (works across iframes)\r\n if (\"nodeType\" in input && input.nodeType === 9) {\r\n return {\r\n document: input as Document,\r\n container: (input as Document).head || input.getElementsByTagName(\"head\")[0],\r\n };\r\n }\r\n\r\n // If input is an HTMLElement → use its owner document\r\n if (\"ownerDocument\" in input && input instanceof HTMLElement) {\r\n return {\r\n document: input.ownerDocument,\r\n container: input,\r\n };\r\n }\r\n\r\n throw new Error(\"Invalid input: must be Document or HTMLElement\");\r\n}\r\n\r\n\r\n\r\nexport const style = <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, cls?: string, opt?: CSSOptionProps<Aliases, BreakpointKeys>, dept = 1) => {\r\n let cachekey\r\n let classname = cls\r\n\r\n if (!cls) {\r\n cachekey = JSON.stringify(_css, (_key, value) => typeof value === \"function\" ? value.toString() : value);\r\n const has = CSSFactory.get(cachekey)\r\n if (has) {\r\n has.cache = true\r\n return has\r\n }\r\n classname = `${opt?.classPrefix || \"\"}x${youid(cachekey)}`\r\n } else if (typeof cls !== 'string') {\r\n throw new Error(`Invalid class name: ${cls}`)\r\n }\r\n\r\n let stack: any = [`${classname}{`]\r\n let medias: any = {}\r\n let skiped: any = {}\r\n for (let prop in _css) {\r\n let val = (_css as any)[prop]\r\n let firstChar = prop.charAt(0)\r\n if (firstChar === '&') {\r\n let ncls = prop.replace(/&/g, classname as string)\r\n const r: any = style(val, ncls, opt, dept + 1)\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n stack.push(r.stack)\r\n } else if (firstChar === '@') {\r\n if (prop.startsWith(\"@global\") || prop.startsWith(\"@keyframes\")) {\r\n let _css = ''\r\n for (let selector in val) {\r\n let r: any = style(val[selector], selector, opt, dept + 1)\r\n _css += r.stack\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n }\r\n if (prop.startsWith(\"@keyframes\")) {\r\n stack.push(`${prop}{${_css}}`)\r\n } else {\r\n stack.push(_css)\r\n }\r\n } else {\r\n let r: any = style(val, classname, opt, dept + 1)\r\n const atcss = prop + \"{\" + r.stack + \"}\"\r\n stack.push(atcss)\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n }\r\n } else {\r\n if (opt?.skipProps && opt.skipProps(prop, val, dept)) {\r\n if (!((classname as any) in skiped)) skiped[classname as string] = []\r\n skiped[classname as string].push(prop)\r\n continue\r\n }\r\n if (typeof val === 'function' || Array.isArray(val)) {\r\n continue\r\n }\r\n if (typeof val === 'object') {\r\n for (let media in val) {\r\n if (typeof val[media] === 'object' || typeof val[media] === 'function' || Array.isArray(val[media])) {\r\n throw new Error(`Invalid css value: ${val[media]}`);\r\n }\r\n let breakpoint = media\r\n let isNumber = !isNaN(parseInt(breakpoint))\r\n if (!isNumber) {\r\n if (opt?.breakpoints && !isNaN(parseInt((opt.breakpoints as any)[media]))) {\r\n breakpoint = opt.breakpoints[media as BreakpointKeys].toString()\r\n } else {\r\n throw new Error(`Invalid breakpoint prop: ${media}`);\r\n }\r\n }\r\n let _css = { [prop]: val[media] }\r\n let r: any = style(_css, classname, opt, dept)\r\n let _style = r.stack\r\n let mediakey = `@media (min-width: ${breakpoint}px)`\r\n medias[mediakey] = medias[mediakey] ? medias[mediakey] + _style : _style\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n }\r\n } else {\r\n if (opt?.getProps) {\r\n let _props: any = opt.getProps(prop, val, _css, dept)\r\n if (_props) {\r\n let r: any = style(_props, classname, {\r\n ...opt,\r\n getProps: undefined\r\n })\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n stack.push(r.stack)\r\n continue;\r\n }\r\n }\r\n if (opt?.aliases && (opt.aliases as any)[prop]) {\r\n let _props = (opt.aliases as any)[prop](val)\r\n if (_props) {\r\n let r: any = style(_props, classname, {\r\n ...opt,\r\n aliases: undefined\r\n }, dept)\r\n r.stack = r.stack.replace(`${classname}{`, '').replace(`}`, '')\r\n stack[0] += r.stack\r\n continue;\r\n }\r\n }\r\n if (opt?.getValue) {\r\n val = opt.getValue(prop, val, _css, dept)\r\n }\r\n let p = cssPrefix(prop, val)\r\n stack[0] += `${p.prop}:${p.value};`\r\n }\r\n }\r\n }\r\n stack[0] += \"}\"\r\n if (stack[0] === `${classname}{}`) {\r\n stack[0] = \"\"\r\n }\r\n stack = stack.join('')\r\n for (let media in medias) {\r\n stack += `${media}{${medias[media].replace(new RegExp(`}\\\\${classname}\\\\{`, 'g'), '')}}`\r\n }\r\n\r\n if (cachekey) {\r\n const d = resolveStyleContainer(opt?.container);\r\n\r\n const selector = opt?.selector ?? \".\"\r\n stack = stack.replace(new RegExp(classname as string, 'g'), `${selector}${classname}`)\r\n const r = {\r\n cache: false,\r\n cachekey,\r\n selector,\r\n classname: classname as string,\r\n css: stack,\r\n cssraw: _css,\r\n skiped,\r\n getStyleTag: () => d.container?.querySelector(`[data-href=\"${classname}\"]`) as HTMLStyleElement | null,\r\n deleteStyle: () => {\r\n const tag = d.container?.querySelector(`[data-href=\"${classname}\"]`)\r\n tag && tag.remove()\r\n }\r\n }\r\n\r\n CSSFactory.set(cachekey, r)\r\n let inject = opt?.injectStyle ?? true\r\n\r\n if (inject && typeof d.document !== 'undefined') {\r\n if (!d.container.querySelector(`[data-href=\"${classname}\"]`)) {\r\n const tag = d.document.createElement(\"style\");\r\n tag.innerHTML = r.css\r\n tag.setAttribute(`data-href`, classname as string)\r\n\r\n d.container.appendChild(tag);\r\n }\r\n }\r\n return r\r\n }\r\n return { stack, skiped }\r\n}"],"names":[],"mappings":";;AAEA,MAAM,OAAO,GAAQ,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM;AACpE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,GAAG,EAA0B;AAC/D,MAAM,UAAU,GAAG,OAAO,CAAC;AAGlC,MAAM,gBAAgB,GAAG;IACrB,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,aAAa;IACb,SAAS;IACT,QAAQ;IACR,SAAS;IACT,MAAM;IACN,OAAO;IACP,UAAU;IACV,WAAW;IACX,YAAY;IACZ,aAAa;IACb,WAAW;IACX,YAAY;IACZ,SAAS;IACT,aAAa;IACb;CACH;MAEY,aAAa,GAAG,CAAC,IAAY,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW;AACrF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,GAAQ,KAAK,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAA,EAAG,GAAG,CAAA,EAAA,CAAI,GAAG;AAErI,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC;AAC7C,IAAI,YAAiC;AACrC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAE;MAEhB,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa,KAAqC;AACtF,IAAA,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC;AACnC,IAAA,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;AAE1B,IAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AAC/B,QAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAC1B;AAEA,IAAA,MAAM,WAAW,GAAG,YAAY,KAAK,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;IACxF,KAAK,GAAG,KAAK,KAAA,IAAA,IAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE;;AAGzB,IAAA,IAAI,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;AACpF,QAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAC1B;;IAGA,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;IACpC,IAAI,MAAM,EAAE;AACR,QAAA,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,CAAA,EAAG,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAA,CAAE,EAAE;IACtE;IAEA,IAAI,KAAK,GAAG,IAAI;IAChB,IAAI,MAAM,GAAG,KAAK;IAClB,IAAI,QAAQ,GAAG,EAAE;;AAGjB,IAAA,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI;AACtG,IAAA,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;QAC3B,IAAI,WAAW,CAAC,CAAA,EAAG,MAAM,CAAA,EAAG,aAAa,CAAA,CAAS,CAAC,KAAK,SAAS,EAAE;AAC/D,YAAA,KAAK,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,EAAI,IAAI,EAAE;YAC5B;QACJ;IACJ;;AAGA,IAAA,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC;IACrC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;AACtC,QAAA,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;AAC3B,YAAA,MAAM,aAAa,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,EAAI,KAAK,EAAE;AAC3C,YAAA,IAAI,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,aAAa,EAAE;gBACtG,MAAM,GAAG,aAAa;AACtB,gBAAA,QAAQ,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,CAAG;gBACxB;YACJ;QACJ;IACJ;IAEA,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC1C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;AACzC;AAGA,MAAM,qBAAqB,GAAG,CAAC,KAA8B,KAAoD;;IAE7G,IAAI,CAAC,KAAK,EAAE;QACR,OAAO;YACH,QAAQ;YACR,SAAS,EAAE,QAAQ,CAAC,IAAI;SAC3B;IACL;;IAGA,IAAI,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE;QAC7C,OAAO;AACH,YAAA,QAAQ,EAAE,KAAiB;AAC3B,YAAA,SAAS,EAAG,KAAkB,CAAC,IAAI,IAAI,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC/E;IACL;;IAGA,IAAI,eAAe,IAAI,KAAK,IAAI,KAAK,YAAY,WAAW,EAAE;QAC1D,OAAO;YACH,QAAQ,EAAE,KAAK,CAAC,aAAa;AAC7B,YAAA,SAAS,EAAE,KAAK;SACnB;IACL;AAEA,IAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC;AACrE,CAAC;AAIM,MAAM,KAAK,GAAG,CAAyC,IAAuC,EAAE,GAAY,EAAE,GAA6C,EAAE,IAAI,GAAG,CAAC,KAAI;;AAC5K,IAAA,IAAI,QAAQ;IACZ,IAAI,SAAS,GAAG,GAAG;IAEnB,IAAI,CAAC,GAAG,EAAE;AACN,QAAA,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC;QACxG,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;QACpC,IAAI,GAAG,EAAE;AACL,YAAA,GAAG,CAAC,KAAK,GAAG,IAAI;AAChB,YAAA,OAAO,GAAG;QACd;AACA,QAAA,SAAS,GAAG,CAAA,EAAG,CAAA,GAAG,KAAA,IAAA,IAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,KAAI,EAAE,CAAA,CAAA,EAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;IAC9D;AAAO,SAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAChC,QAAA,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAA,CAAE,CAAC;IACjD;AAEA,IAAA,IAAI,KAAK,GAAQ,CAAC,GAAG,SAAS,CAAA,CAAA,CAAG,CAAC;IAClC,IAAI,MAAM,GAAQ,EAAE;IACpB,IAAI,MAAM,GAAQ,EAAE;AACpB,IAAA,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE;AACnB,QAAA,IAAI,GAAG,GAAI,IAAY,CAAC,IAAI,CAAC;QAC7B,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,QAAA,IAAI,SAAS,KAAK,GAAG,EAAE;YACnB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAmB,CAAC;AAClD,YAAA,MAAM,CAAC,GAAQ,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC;YAC9C,IAAI,GAAG,aAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,SAAS,EAAE;AAChB,gBAAA,MAAM,mCACC,MAAM,CAAA,EACN,CAAC,CAAC,MAAM,CACd;YACL;AACA,YAAA,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACvB;AAAO,aAAA,IAAI,SAAS,KAAK,GAAG,EAAE;AAC1B,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;gBAC7D,IAAI,IAAI,GAAG,EAAE;AACb,gBAAA,KAAK,IAAI,QAAQ,IAAI,GAAG,EAAE;AACtB,oBAAA,IAAI,CAAC,GAAQ,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC;AAC1D,oBAAA,IAAI,IAAI,CAAC,CAAC,KAAK;oBACf,IAAI,GAAG,aAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,SAAS,EAAE;AAChB,wBAAA,MAAM,mCACC,MAAM,CAAA,EACN,CAAC,CAAC,MAAM,CACd;oBACL;gBACJ;AACA,gBAAA,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;oBAC/B,KAAK,CAAC,IAAI,CAAC,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,CAAG,CAAC;gBAClC;qBAAO;AACH,oBAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBACpB;YACJ;iBAAO;AACH,gBAAA,IAAI,CAAC,GAAQ,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC;gBACjD,MAAM,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG;AACxC,gBAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjB,IAAI,GAAG,aAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,SAAS,EAAE;AAChB,oBAAA,MAAM,mCACC,MAAM,CAAA,EACN,CAAC,CAAC,MAAM,CACd;gBACL;YACJ;QACJ;aAAO;YACH,IAAI,CAAA,GAAG,KAAA,IAAA,IAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,KAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE;AAClD,gBAAA,IAAI,EAAG,SAAiB,IAAI,MAAM,CAAC;AAAE,oBAAA,MAAM,CAAC,SAAmB,CAAC,GAAG,EAAE;gBACrE,MAAM,CAAC,SAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACtC;YACJ;AACA,YAAA,IAAI,OAAO,GAAG,KAAK,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACjD;YACJ;AACA,YAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AACzB,gBAAA,KAAK,IAAI,KAAK,IAAI,GAAG,EAAE;oBACnB,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;wBACjG,MAAM,IAAI,KAAK,CAAC,CAAA,mBAAA,EAAsB,GAAG,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC;oBACvD;oBACA,IAAI,UAAU,GAAG,KAAK;oBACtB,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAC3C,IAAI,CAAC,QAAQ,EAAE;wBACX,IAAI,CAAA,GAAG,KAAA,IAAA,IAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAE,GAAG,CAAC,WAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;4BACvE,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,KAAuB,CAAC,CAAC,QAAQ,EAAE;wBACpE;6BAAO;AACH,4BAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAA,CAAE,CAAC;wBACxD;oBACJ;AACA,oBAAA,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;AACjC,oBAAA,IAAI,CAAC,GAAQ,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC;AAC9C,oBAAA,IAAI,MAAM,GAAG,CAAC,CAAC,KAAK;AACpB,oBAAA,IAAI,QAAQ,GAAG,CAAA,mBAAA,EAAsB,UAAU,KAAK;oBACpD,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,MAAM;oBACxE,IAAI,GAAG,aAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,SAAS,EAAE;AAChB,wBAAA,MAAM,mCACC,MAAM,CAAA,EACN,CAAC,CAAC,MAAM,CACd;oBACL;gBACJ;YACJ;iBAAO;gBACH,IAAI,GAAG,aAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,QAAQ,EAAE;AACf,oBAAA,IAAI,MAAM,GAAQ,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;oBACrD,IAAI,MAAM,EAAE;AACR,wBAAA,IAAI,CAAC,GAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAC7B,GAAG,CAAA,EAAA,EACN,QAAQ,EAAE,SAAS,IACrB;wBACF,IAAI,GAAG,aAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,SAAS,EAAE;AAChB,4BAAA,MAAM,mCACC,MAAM,CAAA,EACN,CAAC,CAAC,MAAM,CACd;wBACL;AACA,wBAAA,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;wBACnB;oBACJ;gBACJ;AACA,gBAAA,IAAI,CAAA,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,OAAO,KAAK,GAAG,CAAC,OAAe,CAAC,IAAI,CAAC,EAAE;oBAC5C,IAAI,MAAM,GAAI,GAAG,CAAC,OAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;oBAC5C,IAAI,MAAM,EAAE;AACR,wBAAA,IAAI,CAAC,GAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAC7B,GAAG,CAAA,EAAA,EACN,OAAO,EAAE,SAAS,EAAA,CAAA,EACnB,IAAI,CAAC;wBACR,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA,EAAG,SAAS,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA,CAAA,CAAG,EAAE,EAAE,CAAC;AAC/D,wBAAA,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK;wBACnB;oBACJ;gBACJ;gBACA,IAAI,GAAG,aAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,QAAQ,EAAE;AACf,oBAAA,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;gBAC7C;gBACA,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC;AAC5B,gBAAA,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA,EAAG,CAAC,CAAC,IAAI,CAAA,CAAA,EAAI,CAAC,CAAC,KAAK,GAAG;YACvC;QACJ;IACJ;AACA,IAAA,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG;IACf,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA,EAAG,SAAS,CAAA,EAAA,CAAI,EAAE;AAC/B,QAAA,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;IACjB;AACA,IAAA,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;AACtB,IAAA,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;QACtB,KAAK,IAAI,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAA,GAAA,EAAM,SAAS,CAAA,GAAA,CAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA,CAAA,CAAG;IAC5F;IAEA,IAAI,QAAQ,EAAE;AACV,QAAA,MAAM,CAAC,GAAG,qBAAqB,CAAC,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,SAAS,CAAC;AAE/C,QAAA,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,GAAG;AACrC,QAAA,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,SAAmB,EAAE,GAAG,CAAC,EAAE,CAAA,EAAG,QAAQ,GAAG,SAAS,CAAA,CAAE,CAAC;AACtF,QAAA,MAAM,CAAC,GAAG;AACN,YAAA,KAAK,EAAE,KAAK;YACZ,QAAQ;YACR,QAAQ;AACR,YAAA,SAAS,EAAE,SAAmB;AAC9B,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,MAAM,EAAE,IAAI;YACZ,MAAM;AACN,YAAA,WAAW,EAAE,MAAK,EAAA,IAAA,EAAA,CAAA,CAAC,OAAA,MAAA,CAAC,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CAAC,CAAA,YAAA,EAAe,SAAS,CAAA,EAAA,CAAI,CAA4B,CAAA,CAAA,CAAA;YACtG,WAAW,EAAE,MAAK;;AACd,gBAAA,MAAM,GAAG,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CAAC,CAAA,YAAA,EAAe,SAAS,CAAA,EAAA,CAAI,CAAC;AACpE,gBAAA,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE;YACvB;SACH;AAED,QAAA,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC3B,QAAA,IAAI,MAAM,GAAG,CAAA,EAAA,GAAA,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,IAAI;QAErC,IAAI,MAAM,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,WAAW,EAAE;AAC7C,YAAA,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA,YAAA,EAAe,SAAS,CAAA,EAAA,CAAI,CAAC,EAAE;gBAC1D,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AAC7C,gBAAA,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG;AACrB,gBAAA,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,SAAmB,CAAC;AAElD,gBAAA,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC;YAChC;QACJ;AACA,QAAA,OAAO,CAAC;IACZ;AACA,IAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;AAC5B;;;;"}
1
+ {"version":3,"file":"core.js","sources":["../src/core.ts"],"sourcesContent":["import { CSSOptionProps, CSSFactoryType, CSSProps } from './types';\r\nimport youid from 'youid';\r\n// const _global: any = typeof window !== 'undefined' ? window : global;\r\n// _global.Factory = _global.Factory || new Map<string, CSSFactoryType>();\r\n// export const CSSFactory = _global.Factory as Map<string, CSSFactoryType>\r\n\r\nconst caches = new Map<string, Map<string, CSSFactoryType>>()\r\n\r\nexport const ONCSS_CACHE = {\r\n set(cacheId: string, cachekey: string, value: CSSFactoryType) {\r\n let cache = caches.get(cacheId)\r\n if (!cache) {\r\n cache = new Map()\r\n caches.set(cacheId, cache)\r\n }\r\n cache.set(cachekey, value)\r\n },\r\n get(cacheId: string, cachekey: string) {\r\n let cache = caches.get(cacheId)\r\n if (cache) {\r\n return cache.get(cachekey)\r\n }\r\n },\r\n has(cacheId: string, cachekey: string) {\r\n let cache = caches.get(cacheId)\r\n if (cache) {\r\n return cache.has(cachekey)\r\n }\r\n return false\r\n },\r\n delete(cacheId: string, cachekey: string,) {\r\n let cache = caches.get(cacheId)\r\n if (cache) {\r\n cache.delete(cachekey)\r\n }\r\n },\r\n caches() {\r\n return caches\r\n }\r\n}\r\n\r\n\r\n\r\nconst number_val_props = [\r\n \"fontWeight\",\r\n \"font-weight\",\r\n \"lineHeight\",\r\n \"line-height\",\r\n \"opacity\",\r\n \"zIndex\",\r\n \"z-index\",\r\n \"flex\",\r\n \"order\",\r\n \"flexGrow\",\r\n \"flex-grow\",\r\n \"flexShrink\",\r\n \"flex-shrink\",\r\n \"flexBasis\",\r\n \"flex-basis\",\r\n \"columns\",\r\n \"perspective\",\r\n \"stroke-dashoffset\"\r\n]\r\n\r\nexport const formatCSSProp = (prop: string) => prop.split(/(?=[A-Z])/).join(\"-\").toLowerCase();\r\nexport const formatCSSValue = (prop: string, val: any) => typeof val === 'number' && !number_val_props.includes(prop) ? `${val}px` : val\r\n\r\nconst PREFIXES = ['webkit', 'moz', 'ms', 'o'];\r\nlet _declaration: CSSStyleDeclaration;\r\nconst PREFIXCACHE = new Map();\r\n\r\nexport const cssPrefix = (prop: string, value: string): { prop: string, value: string } => {\r\n value = formatCSSValue(prop, value);\r\n prop = formatCSSProp(prop);\r\n\r\n if (typeof window === 'undefined') {\r\n return { prop, value };\r\n }\r\n\r\n const declaration = _declaration || (_declaration = document.createElement(\"div\").style);\r\n value = value?.toString();\r\n\r\n // Check if the property and value work as is\r\n if (declaration.setProperty(prop, value), declaration.getPropertyValue(prop) === value) {\r\n return { prop, value };\r\n }\r\n\r\n // Check cached property and value prefix\r\n const cached = PREFIXCACHE.get(prop);\r\n if (cached) {\r\n return { prop: cached._prop, value: `${cached._vprefix}${value}` };\r\n }\r\n\r\n let _prop = prop;\r\n let _value = value;\r\n let _vprefix = '';\r\n\r\n // Try property prefixes\r\n const camelCaseProp = prop.includes('-') ? prop.replace(/-([a-z])/g, (_, c) => c.toUpperCase()) : prop;\r\n for (const prefix of PREFIXES) {\r\n if (declaration[`${prefix}${camelCaseProp}` as any] !== undefined) {\r\n _prop = `-${prefix}-${prop}`;\r\n break;\r\n }\r\n }\r\n\r\n // Check if prefixed property works with the value\r\n declaration.setProperty(_prop, value);\r\n if (!declaration.getPropertyValue(_prop)) {\r\n for (const prefix of PREFIXES) {\r\n const prefixedValue = `-${prefix}-${value}`;\r\n if (declaration.setProperty(_prop, prefixedValue), declaration.getPropertyValue(_prop) === prefixedValue) {\r\n _value = prefixedValue;\r\n _vprefix = `-${prefix}-`;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n PREFIXCACHE.set(prop, { _prop, _vprefix });\r\n return { prop: _prop, value: _value };\r\n};\r\n\r\n\r\nconst resolveStyleContainer = (input?: Document | HTMLElement): { document: Document; container: HTMLElement } => {\r\n // Default → current document\r\n if (!input) {\r\n return {\r\n document,\r\n container: document.head,\r\n };\r\n }\r\n\r\n // If input is a Document (works across iframes)\r\n if (\"nodeType\" in input && input.nodeType === 9) {\r\n return {\r\n document: input as Document,\r\n container: (input as Document).head || input.getElementsByTagName(\"head\")[0],\r\n };\r\n }\r\n\r\n // If input is an HTMLElement → use its owner document\r\n if (\"ownerDocument\" in input && input instanceof HTMLElement) {\r\n return {\r\n document: input.ownerDocument,\r\n container: input,\r\n };\r\n }\r\n\r\n throw new Error(\"Invalid input: must be Document or HTMLElement\");\r\n}\r\n\r\nexport const style = <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, cls?: string, opt?: CSSOptionProps<Aliases, BreakpointKeys>, dept = 1) => {\r\n let cachekey\r\n let classname = cls\r\n const cacheId = opt?.cacheId || \"global\"\r\n\r\n if (!cls) {\r\n cachekey = JSON.stringify(_css, (_key, value) => typeof value === \"function\" ? value.toString() : value);\r\n const has = ONCSS_CACHE.get(cacheId, cachekey)\r\n if (has) {\r\n has.cache = true\r\n return has\r\n }\r\n classname = `${opt?.classPrefix || \"\"}x${youid(cachekey)}`\r\n } else if (typeof cls !== 'string') {\r\n throw new Error(`Invalid class name: ${cls}`)\r\n }\r\n\r\n let stack: any = [`${classname}{`]\r\n let medias: any = {}\r\n let skiped: any = {}\r\n for (let prop in _css) {\r\n let val = (_css as any)[prop]\r\n let firstChar = prop.charAt(0)\r\n if (firstChar === '&') {\r\n let ncls = prop.replace(/&/g, classname as string)\r\n const r: any = style(val, ncls, opt, dept + 1)\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n stack.push(r.stack)\r\n } else if (firstChar === '@') {\r\n if (prop.startsWith(\"@global\") || prop.startsWith(\"@keyframes\")) {\r\n let _css = ''\r\n for (let selector in val) {\r\n let r: any = style(val[selector], selector, opt, dept + 1)\r\n _css += r.stack\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n }\r\n if (prop.startsWith(\"@keyframes\")) {\r\n stack.push(`${prop}{${_css}}`)\r\n } else {\r\n stack.push(_css)\r\n }\r\n } else {\r\n let r: any = style(val, classname, opt, dept + 1)\r\n const atcss = prop + \"{\" + r.stack + \"}\"\r\n stack.push(atcss)\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n }\r\n } else {\r\n if (opt?.skipProps && opt.skipProps(prop, val, dept)) {\r\n if (!((classname as any) in skiped)) skiped[classname as string] = []\r\n skiped[classname as string].push(prop)\r\n continue\r\n }\r\n if (typeof val === 'function' || Array.isArray(val)) {\r\n continue\r\n }\r\n if (typeof val === 'object') {\r\n for (let media in val) {\r\n if (typeof val[media] === 'object' || typeof val[media] === 'function' || Array.isArray(val[media])) {\r\n throw new Error(`Invalid css value: ${val[media]}`);\r\n }\r\n let breakpoint = media\r\n let isNumber = !isNaN(parseInt(breakpoint))\r\n if (!isNumber) {\r\n if (opt?.breakpoints && !isNaN(parseInt((opt.breakpoints as any)[media]))) {\r\n breakpoint = opt.breakpoints[media as BreakpointKeys].toString()\r\n } else {\r\n throw new Error(`Invalid breakpoint prop: ${media}`);\r\n }\r\n }\r\n let _css = { [prop]: val[media] }\r\n let r: any = style(_css, classname, opt, dept)\r\n let _style = r.stack\r\n let mediakey = `@media (min-width: ${breakpoint}px)`\r\n medias[mediakey] = medias[mediakey] ? medias[mediakey] + _style : _style\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n }\r\n } else {\r\n if (opt?.getProps) {\r\n let _props: any = opt.getProps(prop, val, _css, dept)\r\n if (_props) {\r\n let r: any = style(_props, classname, {\r\n ...opt,\r\n getProps: undefined\r\n })\r\n if (opt?.skipProps) {\r\n skiped = {\r\n ...skiped,\r\n ...r.skiped\r\n }\r\n }\r\n stack.push(r.stack)\r\n continue;\r\n }\r\n }\r\n if (opt?.aliases && (opt.aliases as any)[prop]) {\r\n let _props = (opt.aliases as any)[prop](val)\r\n if (_props) {\r\n let r: any = style(_props, classname, {\r\n ...opt,\r\n aliases: undefined\r\n }, dept)\r\n r.stack = r.stack.replace(`${classname}{`, '').replace(`}`, '')\r\n stack[0] += r.stack\r\n continue;\r\n }\r\n }\r\n if (opt?.getValue) {\r\n val = opt.getValue(prop, val, _css, dept)\r\n }\r\n let p = cssPrefix(prop, val)\r\n stack[0] += `${p.prop}:${p.value};`\r\n }\r\n }\r\n }\r\n stack[0] += \"}\"\r\n if (stack[0] === `${classname}{}`) {\r\n stack[0] = \"\"\r\n }\r\n stack = stack.join('')\r\n for (let media in medias) {\r\n stack += `${media}{${medias[media].replace(new RegExp(`}\\\\${classname}\\\\{`, 'g'), '')}}`\r\n }\r\n\r\n if (cachekey) {\r\n const d = resolveStyleContainer(opt?.container);\r\n\r\n const selector = opt?.selector ?? \".\"\r\n stack = stack.replace(new RegExp(classname as string, 'g'), `${selector}${classname}`)\r\n const r = {\r\n cache: false,\r\n cachekey,\r\n selector,\r\n classname: classname as string,\r\n css: stack,\r\n cssraw: _css,\r\n skiped,\r\n cacheId,\r\n getStyleTag: () => d.container?.querySelector(`style[data-href=\"${classname}\"]`) as HTMLStyleElement | null,\r\n deleteStyle: () => {\r\n const tag = r.getStyleTag()\r\n tag && tag.remove()\r\n },\r\n inject: () => {\r\n const tag = r.getStyleTag() || d.document.createElement(\"style\");\r\n if (!tag.innerHTML) {\r\n tag.innerHTML = r.css\r\n tag.setAttribute(`data-href`, classname as string)\r\n d.container.appendChild(tag);\r\n }\r\n return tag\r\n },\r\n refresh: () => {\r\n r.deleteStyle()\r\n return r.inject()\r\n }\r\n }\r\n\r\n ONCSS_CACHE.set(cacheId, cachekey, r)\r\n\r\n let inject = opt?.injectStyle ?? true\r\n if (inject && typeof d.document !== 'undefined') {\r\n r.inject()\r\n }\r\n return r\r\n }\r\n return { stack, skiped }\r\n}"],"names":[],"mappings":"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"}
package/index.cjs CHANGED
@@ -4,7 +4,7 @@ var core = require('./core.cjs');
4
4
 
5
5
  const css = (_css, options) => core.style(_css, undefined, options);
6
6
 
7
- exports.CSSFactory = core.CSSFactory;
7
+ exports.ONCSS_CACHE = core.ONCSS_CACHE;
8
8
  exports.formatCSSProp = core.formatCSSProp;
9
9
  exports.formatCSSValue = core.formatCSSValue;
10
10
  exports.css = css;
package/index.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["import { style } from \"./core\";\r\nimport { CSSProps, CSSOptionProps, CSSFactoryType } from \"./types\";\r\nexport { CSSFactory, formatCSSProp, formatCSSValue } from './core'\r\nexport * from './types'\r\n\r\nexport const css = <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, options?: CSSOptionProps<Aliases, BreakpointKeys>): CSSFactoryType => style<Aliases, BreakpointKeys>(_css, undefined, options) as any"],"names":["style"],"mappings":";;;;AAKO,MAAM,GAAG,GAAG,CAAyC,IAAuC,EAAE,OAAiD,KAAqBA,UAAK,CAA0B,IAAI,EAAE,SAAS,EAAE,OAAO;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["import { style } from \"./core\";\r\nimport { CSSProps, CSSOptionProps, CSSFactoryType } from \"./types\";\r\nexport { ONCSS_CACHE, formatCSSProp, formatCSSValue } from './core'\r\nexport * from './types'\r\n\r\nexport const css = <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, options?: CSSOptionProps<Aliases, BreakpointKeys>): CSSFactoryType => style<Aliases, BreakpointKeys>(_css, undefined, options) as any"],"names":["style"],"mappings":";;;;AAKO,MAAM,GAAG,GAAG,CAAyC,IAAuC,EAAE,OAAiD,KAAqBA,UAAK,CAA0B,IAAI,EAAE,SAAS,EAAE,OAAO;;;;;;;"}
package/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { CSSProps, CSSOptionProps, CSSFactoryType } from './types.js';
2
2
  export { AliasFn, BreakpointTypes, CSSPropsWithoutGlobal, CSSValueWithoutBreakpoint, OptionAliases } from './types.js';
3
- export { CSSFactory, formatCSSProp, formatCSSValue } from './core.js';
3
+ export { ONCSS_CACHE, formatCSSProp, formatCSSValue } from './core.js';
4
4
 
5
5
  declare const css: <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, options?: CSSOptionProps<Aliases, BreakpointKeys>) => CSSFactoryType;
6
6
 
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { style } from './core.js';
2
- export { CSSFactory, formatCSSProp, formatCSSValue } from './core.js';
2
+ export { ONCSS_CACHE, formatCSSProp, formatCSSValue } from './core.js';
3
3
 
4
4
  const css = (_css, options) => style(_css, undefined, options);
5
5
 
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { style } from \"./core\";\r\nimport { CSSProps, CSSOptionProps, CSSFactoryType } from \"./types\";\r\nexport { CSSFactory, formatCSSProp, formatCSSValue } from './core'\r\nexport * from './types'\r\n\r\nexport const css = <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, options?: CSSOptionProps<Aliases, BreakpointKeys>): CSSFactoryType => style<Aliases, BreakpointKeys>(_css, undefined, options) as any"],"names":[],"mappings":";;;AAKO,MAAM,GAAG,GAAG,CAAyC,IAAuC,EAAE,OAAiD,KAAqB,KAAK,CAA0B,IAAI,EAAE,SAAS,EAAE,OAAO;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { style } from \"./core\";\r\nimport { CSSProps, CSSOptionProps, CSSFactoryType } from \"./types\";\r\nexport { ONCSS_CACHE, formatCSSProp, formatCSSValue } from './core'\r\nexport * from './types'\r\n\r\nexport const css = <Aliases, BreakpointKeys extends string>(_css: CSSProps<Aliases, BreakpointKeys>, options?: CSSOptionProps<Aliases, BreakpointKeys>): CSSFactoryType => style<Aliases, BreakpointKeys>(_css, undefined, options) as any"],"names":[],"mappings":";;;AAKO,MAAM,GAAG,GAAG,CAAyC,IAAuC,EAAE,OAAiD,KAAqB,KAAK,CAA0B,IAAI,EAAE,SAAS,EAAE,OAAO;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oncss",
3
- "version": "1.2.9",
3
+ "version": "1.2.10",
4
4
  "description": "A CSS framework for modern web development.",
5
5
  "main": "./index.cjs",
6
6
  "module": "./index.js",
package/types.d.ts CHANGED
@@ -46,6 +46,7 @@ interface CSSOptionProps<Aliases, BreakpointKeys extends string> {
46
46
  injectStyle?: boolean;
47
47
  container?: Document | HTMLElement;
48
48
  selector?: string;
49
+ cacheId?: string;
49
50
  skipProps?: (prop: string, value: string | number, dept: number) => boolean | void;
50
51
  getValue?: (value: string | number, prop: string, css: CSSProps<Aliases, BreakpointKeys>, dept: number) => (string | number);
51
52
  getProps?: (prop: string, value: string | number, css: CSSProps<Aliases, BreakpointKeys>, dept: number) => CSSProps<Aliases, BreakpointKeys> | void;
@@ -57,9 +58,11 @@ type CSSFactoryType = {
57
58
  cssraw: CSSProps<any, any>;
58
59
  cache: boolean;
59
60
  skiped: string[];
61
+ cacheId: string;
60
62
  getStyleTag: () => HTMLStyleElement | null;
61
63
  deleteStyle: () => void;
62
- toString: () => string;
64
+ inject: () => HTMLStyleElement;
65
+ refresh: () => HTMLStyleElement;
63
66
  };
64
67
 
65
68
  export type { AliasFn, BreakpointTypes, CSSFactoryType, CSSOptionProps, CSSProps, CSSPropsWithoutGlobal, CSSValueWithoutBreakpoint, OptionAliases };