styimat 7.0.0 → 8.0.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/README.md CHANGED
@@ -454,7 +454,7 @@ styimat.imports.setTimeout(10000); // 设置导入超时时间
454
454
 
455
455
  // 定义插件
456
456
  class compressPlugin {
457
- static name = "compress";
457
+ name = "compress";
458
458
  constructor() {
459
459
  // 构造函数
460
460
  }
@@ -462,7 +462,7 @@ class compressPlugin {
462
462
  // 删除时调用
463
463
  }
464
464
  convert(css, config) {
465
- return css.replace(/[\n\b]/g, "");
465
+ return css.replace(/[\n\s]/g, "");
466
466
  }
467
467
  }
468
468
 
package/dist/styimat.js CHANGED
@@ -1476,12 +1476,12 @@ const styimat = (function() {
1476
1476
  plugins: {
1477
1477
  use(plugin) {
1478
1478
  const pluginObj = new plugin();
1479
- pluginMap.set(plugin.name, pluginObj);
1479
+ pluginMap.set(pluginObj.name, pluginObj);
1480
1480
  return true;
1481
1481
  },
1482
1482
  remove(name) {
1483
- if (pluginMap.get(name).destroy) {
1484
- pluginMap.get(name).destroy()
1483
+ if (pluginMap.get(name)?.destroy) {
1484
+ pluginMap.get(name).destroy();
1485
1485
  }
1486
1486
  pluginMap.delete(name);
1487
1487
  return true;
@@ -30,4 +30,4 @@ ${r}
30
30
 
31
31
  `}function he(o,e,r){let n="";const s=o.split(`
32
32
  `);let t=null;for(let a of s){const c=a.trim();c.endsWith("{")&&(t=c.slice(0,-1).trim()),c==="}"&&t&&(t=null),n+=v(a,r)+`
33
- `}return n.trim()}async function U(o,e){const r=/@import\s+([^;]+?)\s*;/g;return(async s=>{const t=[],a=s.replace(r,(c,l)=>{const i=de(l,e).then(u=>U(u,e)).catch(u=>(console.warn(`\u65E0\u6CD5\u5BFC\u5165CSS\u6587\u4EF6: ${l}`,u),""));return t.push(i),`__IMPORT_PLACEHOLDER_${t.length-1}__`});if(t.length>0){const c=await Promise.all(t);let l=a;for(let i=0;i<c.length;i++)l=l.replace(`__IMPORT_PLACEHOLDER_${i}__`,c[i]);return l}return a})(o)}async function de(o,e){if(e.importCache&&V.has(o))return V.get(o);const r=e.importBaseUrl?new URL(o,e.importBaseUrl).href:o;let n;if(typeof process<"u"&&process.versions&&process.versions.node&&typeof require<"u")try{const t=require("fs"),a=require("path");let c=r;r.startsWith(".")&&(c=a.join(process.cwd(),r)),n=t.readFileSync(c,"utf-8")}catch(t){throw new Error(`Node.js\u6587\u4EF6\u8BFB\u53D6\u5931\u8D25: ${r} - ${t.message}`)}else try{const t=new AbortController,a=setTimeout(()=>t.abort(),e.importTimeout),c=await fetch(r,{signal:t.signal,headers:{Accept:"text/css"}});if(clearTimeout(a),!c.ok)throw new Error(`HTTP\u9519\u8BEF: ${c.status} ${c.statusText}`);n=await c.text()}catch(t){throw t.name==="AbortError"?new Error(`\u5BFC\u5165\u8D85\u65F6: ${r}`):new Error(`\u65E0\u6CD5\u83B7\u53D6CSS: ${r} - ${t.message}`)}return e.importCache&&V.set(o,n),n}async function P(o,e={}){let{config:r,css:n}=Q(o);const s={...g,...e,...r};n=await U(n,s);let t=n,a=new Map;if(s.enableAlias){const{aliases:y,css:w}=K(t);a=y,t=w}let c=t,l=new Map;if(s.enableMacros){const{macros:y,css:w}=z(c,s);l=y,c=w;for(const[$,A]of l)M.set($,A)}let i=c;s.enableMacros&&l.size>0&&(i=J(i,l,s));const{globalVariables:u,selectorVariables:h,cssWithoutVars:f}=ie(i,s);let p=f.trim();if(s.enableNesting&&f.includes("{"))try{p=ue(f,s,a,l)}catch(y){console.warn("\u5D4C\u5957\u89E3\u6790\u5931\u8D25\uFF0C\u4F7F\u7528\u539F\u59CBCSS:",y)}const d=pe(u,s);let b=p;h.size>0&&(b=he(p,h,s)),b=fe(b,u,h,s);let m=d+b;for(const[y,w]of S)try{m=w.convert(m,s)}catch($){console.error("\u63D2\u4EF6\u5904\u7406\u5931\u8D25:",$)}return m}function X(o={}){const e={...g,...o},r=document.querySelectorAll(`style[${e.styleTagAttribute||"e"}]`);return r.forEach(n=>{let s=n.textContent;(async()=>{try{n.getAttribute("src")&&(s="@import "+n.getAttribute("src")+";");const a=await P(s,e),c=document.createElement("style");c.textContent=a,n.parentNode.insertBefore(c,n.nextSibling),e.preserveOriginal?n.style.display="none":n.remove()}catch(a){console.error("\u5904\u7406style\u6807\u7B7E\u5931\u8D25:",a)}})()}),r.length}function q(o={}){g={...g,...o}}function k(o,e={}){const r={...g,...e};if(o)return(async()=>{try{const n=await P(o,r),s=document.createElement("style");return s.textContent=n,document.head.appendChild(s),s}catch(n){return console.error("\u5E94\u7528CSS\u5931\u8D25:",n),null}})();document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{X(r)}):X(r)}const me={convert:P,apply:k,config:q,supportsP3:j(),detectP3Support:j,imports:{clearCache:function(){V.clear()},setBaseUrl:function(o){g.importBaseUrl=o},setCacheEnabled:function(o){g.importCache=o},setTimeout:function(o){g.importTimeout=o}},plugins:{use(o){const e=new o;return S.set(o.name,e),!0},remove(o){return S.get(o).destroy&&S.get(o).destroy(),S.delete(o),!0},getAll:function(){return Array.from(S.entries())},clear:function(){S.clear()}},aliases:{add:function(o,e){W.set(o,e)},remove:function(o){W.delete(o)},getAll:function(){return Array.from(W.entries())},clear:function(){W.clear()}},macros:{define:function(o,e,r=[]){if(typeof e=="function"){const s=e.toString().match(/{([\s\S]*)}/);s&&M.set(o,{params:r.map(t=>typeof t=="string"?{name:t}:t),body:s[1].trim()})}else M.set(o,{params:r.map(n=>typeof n=="string"?{name:n}:n),body:e})},call:function(o,...e){const r=M.get(o);if(!r)throw new Error(`\u672A\u5B9A\u4E49\u7684\u5B8F: ${o}`);const n=new Map;for(let s=0;s<r.params.length;s++){const t=r.params[s],a=s<e.length?e[s]:t.defaultValue;if(a===void 0&&t.defaultValue===null)throw new Error(`\u7F3A\u5C11\u5FC5\u9700\u53C2\u6570: ${t.name}`);n.set(t.name,a!==void 0?a:"")}return B(r.body,n,g)},getAll:function(){return Array.from(M.entries())},remove:function(o){M.delete(o)},clear:function(){M.clear()},parse:function(o){const{macros:e}=z(o,g);for(const[r,n]of e)M.set(r,n)}},math:{evaluate:function(o){return H(o,g)}},colorUtils:{labToRGB:C,lchToLab:x,lchToRGB:function(o,e,r){const n=x(o,e,r);return C(n.L,n.a,n.b)},labToP3:T,lchToP3:function(o,e,r){const n=x(o,e,r);return T(n.L,n.a,n.b)},parseHexLab:function(o){const e=o.match(/lab#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})/i);if(!e)return null;const r=e[1],n=e[2],s=e[3],t=parseInt(r,16)/255*100,a=(parseInt(n,16)-128)*1.5,c=(parseInt(s,16)-128)*1.5;return C(t,a,c)},parseHexLch:function(o){const e=o.match(/lch#([0-9a-f]{2})([0-9a-f]{2})(\d{1,3})/i);if(!e)return null;const r=e[1],n=e[2],s=e[3],t=parseInt(r,16)/255*100,a=parseInt(n,16)/255*150,c=parseInt(s)/100*360,l=x(t,a,c);return C(l.L,l.a,l.b)},generateColor:function(o,e,r,n=null,s=!0){return L(o,e,r,{enableP3:s},n)},parseColor:function(o){try{const e=o.match(/lab\(\s*([\d.]+)(%?)\s+([\d.-]+)\s+([\d.-]+)(?:\s*\/\s*([\d.%]+))?\s*\)/i);if(e){let n=parseFloat(e[1]);const s=parseFloat(e[3]),t=parseFloat(e[4]),a=e[5]?e[5].includes("%")?parseFloat(e[5])/100:parseFloat(e[5]):null,c=L(n,s,t,g,a);return{L:n,A:s,B:t,alpha:a,rgb:C(n,s,t),p3:T(n,s,t),colorString:c}}const r=o.match(/lch\(\s*([\d.]+)(%?)\s+([\d.]+)\s+([\d.]+)(deg)?(?:\s*\/\s*([\d.%]+))?\s*\)/i);if(r){let n=parseFloat(r[1]);const s=parseFloat(r[3]);let t=parseFloat(r[4]);const a=r[6]?r[6].includes("%")?parseFloat(r[6])/100:parseFloat(r[6]):null,c=x(n,s,t),l=L(c.L,c.a,c.b,g,a);return{L:n,C:s,H:t,alpha:a,lab:c,rgb:C(c.L,c.a,c.b),p3:T(c.L,c.a,c.b),colorString:l}}return null}catch(e){return console.warn("\u65E0\u6CD5\u89E3\u6790\u989C\u8272:",o,e),null}}}},F=async function(...o){if(o.length>1||o[0]&&o[0].raw)return await ge(...o);const e=o[0];if(typeof e=="string"){const r=await P(e,{...g,...o[1]});return r&&typeof r.then=="function",r}return typeof e=="object"&&e!==null?(g={...g,...e},F):o.length===0?k():F};async function ge(o,...e){let r=o[0];for(let s=0;s<e.length;s++){const t=e[s];let a="";typeof t=="function"?a=t():Array.isArray(t)?a=t.join(" "):a=String(t??""),r+=a+o[s+1]}const n=await P(r,g);return n&&typeof n.then=="function",n}return Object.assign(F,me),Object.setPrototypeOf(F,Function.prototype),typeof window<"u"&&(k(),Object.defineProperty(window.HTMLElement.prototype,"cssVar",{get(){const o=this;return new Proxy(()=>{},{get(e,r){const n=r.startsWith("--")?r:`--${r}`;return o.style.getPropertyValue(n)},set(e,r,n){const s=r.startsWith("--")?r:`--${r}`;return o.style.setProperty(s,n),!0},apply(e,r,n){const s=n[0],t=n[1],a=s.startsWith("--")?s:`--${s}`;if(t===void 0)return o.style.getPropertyValue(a);o.style.setProperty(a,t)}})}})),F})();if(typeof define=="function"&&define.amd)define([],g=>styimat);else if(typeof module=="object"&&module.exports)module.exports=styimat;else{const g=globalThis??(typeof self<"u"&&self)??(typeof window<"u"&&window)??global??{};g.styimat=styimat}
33
+ `}return n.trim()}async function U(o,e){const r=/@import\s+([^;]+?)\s*;/g;return(async s=>{const t=[],a=s.replace(r,(c,l)=>{const i=de(l,e).then(u=>U(u,e)).catch(u=>(console.warn(`\u65E0\u6CD5\u5BFC\u5165CSS\u6587\u4EF6: ${l}`,u),""));return t.push(i),`__IMPORT_PLACEHOLDER_${t.length-1}__`});if(t.length>0){const c=await Promise.all(t);let l=a;for(let i=0;i<c.length;i++)l=l.replace(`__IMPORT_PLACEHOLDER_${i}__`,c[i]);return l}return a})(o)}async function de(o,e){if(e.importCache&&V.has(o))return V.get(o);const r=e.importBaseUrl?new URL(o,e.importBaseUrl).href:o;let n;if(typeof process<"u"&&process.versions&&process.versions.node&&typeof require<"u")try{const t=require("fs"),a=require("path");let c=r;r.startsWith(".")&&(c=a.join(process.cwd(),r)),n=t.readFileSync(c,"utf-8")}catch(t){throw new Error(`Node.js\u6587\u4EF6\u8BFB\u53D6\u5931\u8D25: ${r} - ${t.message}`)}else try{const t=new AbortController,a=setTimeout(()=>t.abort(),e.importTimeout),c=await fetch(r,{signal:t.signal,headers:{Accept:"text/css"}});if(clearTimeout(a),!c.ok)throw new Error(`HTTP\u9519\u8BEF: ${c.status} ${c.statusText}`);n=await c.text()}catch(t){throw t.name==="AbortError"?new Error(`\u5BFC\u5165\u8D85\u65F6: ${r}`):new Error(`\u65E0\u6CD5\u83B7\u53D6CSS: ${r} - ${t.message}`)}return e.importCache&&V.set(o,n),n}async function P(o,e={}){let{config:r,css:n}=Q(o);const s={...g,...e,...r};n=await U(n,s);let t=n,a=new Map;if(s.enableAlias){const{aliases:y,css:w}=K(t);a=y,t=w}let c=t,l=new Map;if(s.enableMacros){const{macros:y,css:w}=z(c,s);l=y,c=w;for(const[$,A]of l)M.set($,A)}let i=c;s.enableMacros&&l.size>0&&(i=J(i,l,s));const{globalVariables:u,selectorVariables:h,cssWithoutVars:f}=ie(i,s);let p=f.trim();if(s.enableNesting&&f.includes("{"))try{p=ue(f,s,a,l)}catch(y){console.warn("\u5D4C\u5957\u89E3\u6790\u5931\u8D25\uFF0C\u4F7F\u7528\u539F\u59CBCSS:",y)}const d=pe(u,s);let b=p;h.size>0&&(b=he(p,h,s)),b=fe(b,u,h,s);let m=d+b;for(const[y,w]of S)try{m=w.convert(m,s)}catch($){console.error("\u63D2\u4EF6\u5904\u7406\u5931\u8D25:",$)}return m}function X(o={}){const e={...g,...o},r=document.querySelectorAll(`style[${e.styleTagAttribute||"e"}]`);return r.forEach(n=>{let s=n.textContent;(async()=>{try{n.getAttribute("src")&&(s="@import "+n.getAttribute("src")+";");const a=await P(s,e),c=document.createElement("style");c.textContent=a,n.parentNode.insertBefore(c,n.nextSibling),e.preserveOriginal?n.style.display="none":n.remove()}catch(a){console.error("\u5904\u7406style\u6807\u7B7E\u5931\u8D25:",a)}})()}),r.length}function q(o={}){g={...g,...o}}function k(o,e={}){const r={...g,...e};if(o)return(async()=>{try{const n=await P(o,r),s=document.createElement("style");return s.textContent=n,document.head.appendChild(s),s}catch(n){return console.error("\u5E94\u7528CSS\u5931\u8D25:",n),null}})();document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{X(r)}):X(r)}const me={convert:P,apply:k,config:q,supportsP3:j(),detectP3Support:j,imports:{clearCache:function(){V.clear()},setBaseUrl:function(o){g.importBaseUrl=o},setCacheEnabled:function(o){g.importCache=o},setTimeout:function(o){g.importTimeout=o}},plugins:{use(o){const e=new o;return S.set(e.name,e),!0},remove(o){return S.get(o)?.destroy&&S.get(o).destroy(),S.delete(o),!0},getAll:function(){return Array.from(S.entries())},clear:function(){S.clear()}},aliases:{add:function(o,e){W.set(o,e)},remove:function(o){W.delete(o)},getAll:function(){return Array.from(W.entries())},clear:function(){W.clear()}},macros:{define:function(o,e,r=[]){if(typeof e=="function"){const s=e.toString().match(/{([\s\S]*)}/);s&&M.set(o,{params:r.map(t=>typeof t=="string"?{name:t}:t),body:s[1].trim()})}else M.set(o,{params:r.map(n=>typeof n=="string"?{name:n}:n),body:e})},call:function(o,...e){const r=M.get(o);if(!r)throw new Error(`\u672A\u5B9A\u4E49\u7684\u5B8F: ${o}`);const n=new Map;for(let s=0;s<r.params.length;s++){const t=r.params[s],a=s<e.length?e[s]:t.defaultValue;if(a===void 0&&t.defaultValue===null)throw new Error(`\u7F3A\u5C11\u5FC5\u9700\u53C2\u6570: ${t.name}`);n.set(t.name,a!==void 0?a:"")}return B(r.body,n,g)},getAll:function(){return Array.from(M.entries())},remove:function(o){M.delete(o)},clear:function(){M.clear()},parse:function(o){const{macros:e}=z(o,g);for(const[r,n]of e)M.set(r,n)}},math:{evaluate:function(o){return H(o,g)}},colorUtils:{labToRGB:C,lchToLab:x,lchToRGB:function(o,e,r){const n=x(o,e,r);return C(n.L,n.a,n.b)},labToP3:T,lchToP3:function(o,e,r){const n=x(o,e,r);return T(n.L,n.a,n.b)},parseHexLab:function(o){const e=o.match(/lab#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})/i);if(!e)return null;const r=e[1],n=e[2],s=e[3],t=parseInt(r,16)/255*100,a=(parseInt(n,16)-128)*1.5,c=(parseInt(s,16)-128)*1.5;return C(t,a,c)},parseHexLch:function(o){const e=o.match(/lch#([0-9a-f]{2})([0-9a-f]{2})(\d{1,3})/i);if(!e)return null;const r=e[1],n=e[2],s=e[3],t=parseInt(r,16)/255*100,a=parseInt(n,16)/255*150,c=parseInt(s)/100*360,l=x(t,a,c);return C(l.L,l.a,l.b)},generateColor:function(o,e,r,n=null,s=!0){return L(o,e,r,{enableP3:s},n)},parseColor:function(o){try{const e=o.match(/lab\(\s*([\d.]+)(%?)\s+([\d.-]+)\s+([\d.-]+)(?:\s*\/\s*([\d.%]+))?\s*\)/i);if(e){let n=parseFloat(e[1]);const s=parseFloat(e[3]),t=parseFloat(e[4]),a=e[5]?e[5].includes("%")?parseFloat(e[5])/100:parseFloat(e[5]):null,c=L(n,s,t,g,a);return{L:n,A:s,B:t,alpha:a,rgb:C(n,s,t),p3:T(n,s,t),colorString:c}}const r=o.match(/lch\(\s*([\d.]+)(%?)\s+([\d.]+)\s+([\d.]+)(deg)?(?:\s*\/\s*([\d.%]+))?\s*\)/i);if(r){let n=parseFloat(r[1]);const s=parseFloat(r[3]);let t=parseFloat(r[4]);const a=r[6]?r[6].includes("%")?parseFloat(r[6])/100:parseFloat(r[6]):null,c=x(n,s,t),l=L(c.L,c.a,c.b,g,a);return{L:n,C:s,H:t,alpha:a,lab:c,rgb:C(c.L,c.a,c.b),p3:T(c.L,c.a,c.b),colorString:l}}return null}catch(e){return console.warn("\u65E0\u6CD5\u89E3\u6790\u989C\u8272:",o,e),null}}}},F=async function(...o){if(o.length>1||o[0]&&o[0].raw)return await ge(...o);const e=o[0];if(typeof e=="string"){const r=await P(e,{...g,...o[1]});return r&&typeof r.then=="function",r}return typeof e=="object"&&e!==null?(g={...g,...e},F):o.length===0?k():F};async function ge(o,...e){let r=o[0];for(let s=0;s<e.length;s++){const t=e[s];let a="";typeof t=="function"?a=t():Array.isArray(t)?a=t.join(" "):a=String(t??""),r+=a+o[s+1]}const n=await P(r,g);return n&&typeof n.then=="function",n}return Object.assign(F,me),Object.setPrototypeOf(F,Function.prototype),typeof window<"u"&&(k(),Object.defineProperty(window.HTMLElement.prototype,"cssVar",{get(){const o=this;return new Proxy(()=>{},{get(e,r){const n=r.startsWith("--")?r:`--${r}`;return o.style.getPropertyValue(n)},set(e,r,n){const s=r.startsWith("--")?r:`--${r}`;return o.style.setProperty(s,n),!0},apply(e,r,n){const s=n[0],t=n[1],a=s.startsWith("--")?s:`--${s}`;if(t===void 0)return o.style.getPropertyValue(a);o.style.setProperty(a,t)}})}})),F})();if(typeof define=="function"&&define.amd)define([],g=>styimat);else if(typeof module=="object"&&module.exports)module.exports=styimat;else{const g=globalThis??(typeof self<"u"&&self)??(typeof window<"u"&&window)??global??{};g.styimat=styimat}
@@ -30,4 +30,4 @@ ${r}
30
30
 
31
31
  `}function de(o,e,r){let n="";const s=o.split(`
32
32
  `);let t=null;for(let a of s){const c=a.trim();c.endsWith("{")&&(t=c.slice(0,-1).trim()),c==="}"&&t&&(t=null),n+=v(a,r)+`
33
- `}return n.trim()}async function X(o,e){const r=/@import\s+([^;]+?)\s*;/g;return(async s=>{const t=[],a=s.replace(r,(c,l)=>{const i=me(l,e).then(u=>X(u,e)).catch(u=>(console.warn(`\u65E0\u6CD5\u5BFC\u5165CSS\u6587\u4EF6: ${l}`,u),""));return t.push(i),`__IMPORT_PLACEHOLDER_${t.length-1}__`});if(t.length>0){const c=await Promise.all(t);let l=a;for(let i=0;i<c.length;i++)l=l.replace(`__IMPORT_PLACEHOLDER_${i}__`,c[i]);return l}return a})(o)}async function me(o,e){if(e.importCache&&W.has(o))return W.get(o);const r=e.importBaseUrl?new URL(o,e.importBaseUrl).href:o;let n;if(typeof process<"u"&&process.versions&&process.versions.node&&typeof require<"u")try{const t=require("fs"),a=require("path");let c=r;r.startsWith(".")&&(c=a.join(process.cwd(),r)),n=t.readFileSync(c,"utf-8")}catch(t){throw new Error(`Node.js\u6587\u4EF6\u8BFB\u53D6\u5931\u8D25: ${r} - ${t.message}`)}else try{const t=new AbortController,a=setTimeout(()=>t.abort(),e.importTimeout),c=await fetch(r,{signal:t.signal,headers:{Accept:"text/css"}});if(clearTimeout(a),!c.ok)throw new Error(`HTTP\u9519\u8BEF: ${c.status} ${c.statusText}`);n=await c.text()}catch(t){throw t.name==="AbortError"?new Error(`\u5BFC\u5165\u8D85\u65F6: ${r}`):new Error(`\u65E0\u6CD5\u83B7\u53D6CSS: ${r} - ${t.message}`)}return e.importCache&&W.set(o,n),n}async function T(o,e={}){let{config:r,css:n}=K(o);const s={...g,...e,...r};n=await X(n,s);let t=n,a=new Map;if(s.enableAlias){const{aliases:y,css:w}=J(t);a=y,t=w}let c=t,l=new Map;if(s.enableMacros){const{macros:y,css:w}=_(c,s);l=y,c=w;for(const[$,A]of l)M.set($,A)}let i=c;s.enableMacros&&l.size>0&&(i=ee(i,l,s));const{globalVariables:u,selectorVariables:h,cssWithoutVars:f}=ue(i,s);let p=f.trim();if(s.enableNesting&&f.includes("{"))try{p=fe(f,s,a,l)}catch(y){console.warn("\u5D4C\u5957\u89E3\u6790\u5931\u8D25\uFF0C\u4F7F\u7528\u539F\u59CBCSS:",y)}const d=he(u,s);let b=p;h.size>0&&(b=de(p,h,s)),b=pe(b,u,h,s);let m=d+b;for(const[y,w]of S)try{m=w.convert(m,s)}catch($){console.error("\u63D2\u4EF6\u5904\u7406\u5931\u8D25:",$)}return m}function q(o={}){const e={...g,...o},r=document.querySelectorAll(`style[${e.styleTagAttribute||"e"}]`);return r.forEach(n=>{let s=n.textContent;(async()=>{try{n.getAttribute("src")&&(s="@import "+n.getAttribute("src")+";");const a=await T(s,e),c=document.createElement("style");c.textContent=a,n.parentNode.insertBefore(c,n.nextSibling),e.preserveOriginal?n.style.display="none":n.remove()}catch(a){console.error("\u5904\u7406style\u6807\u7B7E\u5931\u8D25:",a)}})()}),r.length}function D(o={}){g={...g,...o}}function I(o,e={}){const r={...g,...e};if(o)return(async()=>{try{const n=await T(o,r),s=document.createElement("style");return s.textContent=n,document.head.appendChild(s),s}catch(n){return console.error("\u5E94\u7528CSS\u5931\u8D25:",n),null}})();document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{q(r)}):q(r)}const ge={convert:T,apply:I,config:D,supportsP3:k(),detectP3Support:k,imports:{clearCache:function(){W.clear()},setBaseUrl:function(o){g.importBaseUrl=o},setCacheEnabled:function(o){g.importCache=o},setTimeout:function(o){g.importTimeout=o}},plugins:{use(o){const e=new o;return S.set(o.name,e),!0},remove(o){return S.get(o).destroy&&S.get(o).destroy(),S.delete(o),!0},getAll:function(){return Array.from(S.entries())},clear:function(){S.clear()}},aliases:{add:function(o,e){B.set(o,e)},remove:function(o){B.delete(o)},getAll:function(){return Array.from(B.entries())},clear:function(){B.clear()}},macros:{define:function(o,e,r=[]){if(typeof e=="function"){const s=e.toString().match(/{([\s\S]*)}/);s&&M.set(o,{params:r.map(t=>typeof t=="string"?{name:t}:t),body:s[1].trim()})}else M.set(o,{params:r.map(n=>typeof n=="string"?{name:n}:n),body:e})},call:function(o,...e){const r=M.get(o);if(!r)throw new Error(`\u672A\u5B9A\u4E49\u7684\u5B8F: ${o}`);const n=new Map;for(let s=0;s<r.params.length;s++){const t=r.params[s],a=s<e.length?e[s]:t.defaultValue;if(a===void 0&&t.defaultValue===null)throw new Error(`\u7F3A\u5C11\u5FC5\u9700\u53C2\u6570: ${t.name}`);n.set(t.name,a!==void 0?a:"")}return E(r.body,n,g)},getAll:function(){return Array.from(M.entries())},remove:function(o){M.delete(o)},clear:function(){M.clear()},parse:function(o){const{macros:e}=_(o,g);for(const[r,n]of e)M.set(r,n)}},math:{evaluate:function(o){return N(o,g)}},colorUtils:{labToRGB:C,lchToLab:x,lchToRGB:function(o,e,r){const n=x(o,e,r);return C(n.L,n.a,n.b)},labToP3:P,lchToP3:function(o,e,r){const n=x(o,e,r);return P(n.L,n.a,n.b)},parseHexLab:function(o){const e=o.match(/lab#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})/i);if(!e)return null;const r=e[1],n=e[2],s=e[3],t=parseInt(r,16)/255*100,a=(parseInt(n,16)-128)*1.5,c=(parseInt(s,16)-128)*1.5;return C(t,a,c)},parseHexLch:function(o){const e=o.match(/lch#([0-9a-f]{2})([0-9a-f]{2})(\d{1,3})/i);if(!e)return null;const r=e[1],n=e[2],s=e[3],t=parseInt(r,16)/255*100,a=parseInt(n,16)/255*150,c=parseInt(s)/100*360,l=x(t,a,c);return C(l.L,l.a,l.b)},generateColor:function(o,e,r,n=null,s=!0){return L(o,e,r,{enableP3:s},n)},parseColor:function(o){try{const e=o.match(/lab\(\s*([\d.]+)(%?)\s+([\d.-]+)\s+([\d.-]+)(?:\s*\/\s*([\d.%]+))?\s*\)/i);if(e){let n=parseFloat(e[1]);const s=parseFloat(e[3]),t=parseFloat(e[4]),a=e[5]?e[5].includes("%")?parseFloat(e[5])/100:parseFloat(e[5]):null,c=L(n,s,t,g,a);return{L:n,A:s,B:t,alpha:a,rgb:C(n,s,t),p3:P(n,s,t),colorString:c}}const r=o.match(/lch\(\s*([\d.]+)(%?)\s+([\d.]+)\s+([\d.]+)(deg)?(?:\s*\/\s*([\d.%]+))?\s*\)/i);if(r){let n=parseFloat(r[1]);const s=parseFloat(r[3]);let t=parseFloat(r[4]);const a=r[6]?r[6].includes("%")?parseFloat(r[6])/100:parseFloat(r[6]):null,c=x(n,s,t),l=L(c.L,c.a,c.b,g,a);return{L:n,C:s,H:t,alpha:a,lab:c,rgb:C(c.L,c.a,c.b),p3:P(c.L,c.a,c.b),colorString:l}}return null}catch(e){return console.warn("\u65E0\u6CD5\u89E3\u6790\u989C\u8272:",o,e),null}}}},F=async function(...o){if(o.length>1||o[0]&&o[0].raw)return await be(...o);const e=o[0];if(typeof e=="string"){const r=await T(e,{...g,...o[1]});return r&&typeof r.then=="function",r}return typeof e=="object"&&e!==null?(g={...g,...e},F):o.length===0?I():F};async function be(o,...e){let r=o[0];for(let s=0;s<e.length;s++){const t=e[s];let a="";typeof t=="function"?a=t():Array.isArray(t)?a=t.join(" "):a=String(t??""),r+=a+o[s+1]}const n=await T(r,g);return n&&typeof n.then=="function",n}return Object.assign(F,ge),Object.setPrototypeOf(F,Function.prototype),typeof window<"u"&&(I(),Object.defineProperty(window.HTMLElement.prototype,"cssVar",{get(){const o=this;return new Proxy(()=>{},{get(e,r){const n=r.startsWith("--")?r:`--${r}`;return o.style.getPropertyValue(n)},set(e,r,n){const s=r.startsWith("--")?r:`--${r}`;return o.style.setProperty(s,n),!0},apply(e,r,n){const s=n[0],t=n[1],a=s.startsWith("--")?s:`--${s}`;if(t===void 0)return o.style.getPropertyValue(a);o.style.setProperty(a,t)}})}})),F})();if(typeof define=="function"&&define.amd)define([],g=>V);else if(typeof module=="object"&&module.exports)module.exports=V;else{const g=globalThis??(typeof self<"u"&&self)??(typeof window<"u"&&window)??global??{};g.styimat=V}export default V;export const{convert,apply,config,supportsP3,detectP3Support,imports,plugins,aliases,macros,math,colorUtils}=V;
33
+ `}return n.trim()}async function X(o,e){const r=/@import\s+([^;]+?)\s*;/g;return(async s=>{const t=[],a=s.replace(r,(c,l)=>{const i=me(l,e).then(u=>X(u,e)).catch(u=>(console.warn(`\u65E0\u6CD5\u5BFC\u5165CSS\u6587\u4EF6: ${l}`,u),""));return t.push(i),`__IMPORT_PLACEHOLDER_${t.length-1}__`});if(t.length>0){const c=await Promise.all(t);let l=a;for(let i=0;i<c.length;i++)l=l.replace(`__IMPORT_PLACEHOLDER_${i}__`,c[i]);return l}return a})(o)}async function me(o,e){if(e.importCache&&W.has(o))return W.get(o);const r=e.importBaseUrl?new URL(o,e.importBaseUrl).href:o;let n;if(typeof process<"u"&&process.versions&&process.versions.node&&typeof require<"u")try{const t=require("fs"),a=require("path");let c=r;r.startsWith(".")&&(c=a.join(process.cwd(),r)),n=t.readFileSync(c,"utf-8")}catch(t){throw new Error(`Node.js\u6587\u4EF6\u8BFB\u53D6\u5931\u8D25: ${r} - ${t.message}`)}else try{const t=new AbortController,a=setTimeout(()=>t.abort(),e.importTimeout),c=await fetch(r,{signal:t.signal,headers:{Accept:"text/css"}});if(clearTimeout(a),!c.ok)throw new Error(`HTTP\u9519\u8BEF: ${c.status} ${c.statusText}`);n=await c.text()}catch(t){throw t.name==="AbortError"?new Error(`\u5BFC\u5165\u8D85\u65F6: ${r}`):new Error(`\u65E0\u6CD5\u83B7\u53D6CSS: ${r} - ${t.message}`)}return e.importCache&&W.set(o,n),n}async function T(o,e={}){let{config:r,css:n}=K(o);const s={...g,...e,...r};n=await X(n,s);let t=n,a=new Map;if(s.enableAlias){const{aliases:y,css:w}=J(t);a=y,t=w}let c=t,l=new Map;if(s.enableMacros){const{macros:y,css:w}=_(c,s);l=y,c=w;for(const[$,A]of l)M.set($,A)}let i=c;s.enableMacros&&l.size>0&&(i=ee(i,l,s));const{globalVariables:u,selectorVariables:h,cssWithoutVars:f}=ue(i,s);let p=f.trim();if(s.enableNesting&&f.includes("{"))try{p=fe(f,s,a,l)}catch(y){console.warn("\u5D4C\u5957\u89E3\u6790\u5931\u8D25\uFF0C\u4F7F\u7528\u539F\u59CBCSS:",y)}const d=he(u,s);let b=p;h.size>0&&(b=de(p,h,s)),b=pe(b,u,h,s);let m=d+b;for(const[y,w]of S)try{m=w.convert(m,s)}catch($){console.error("\u63D2\u4EF6\u5904\u7406\u5931\u8D25:",$)}return m}function q(o={}){const e={...g,...o},r=document.querySelectorAll(`style[${e.styleTagAttribute||"e"}]`);return r.forEach(n=>{let s=n.textContent;(async()=>{try{n.getAttribute("src")&&(s="@import "+n.getAttribute("src")+";");const a=await T(s,e),c=document.createElement("style");c.textContent=a,n.parentNode.insertBefore(c,n.nextSibling),e.preserveOriginal?n.style.display="none":n.remove()}catch(a){console.error("\u5904\u7406style\u6807\u7B7E\u5931\u8D25:",a)}})()}),r.length}function D(o={}){g={...g,...o}}function I(o,e={}){const r={...g,...e};if(o)return(async()=>{try{const n=await T(o,r),s=document.createElement("style");return s.textContent=n,document.head.appendChild(s),s}catch(n){return console.error("\u5E94\u7528CSS\u5931\u8D25:",n),null}})();document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{q(r)}):q(r)}const ge={convert:T,apply:I,config:D,supportsP3:k(),detectP3Support:k,imports:{clearCache:function(){W.clear()},setBaseUrl:function(o){g.importBaseUrl=o},setCacheEnabled:function(o){g.importCache=o},setTimeout:function(o){g.importTimeout=o}},plugins:{use(o){const e=new o;return S.set(e.name,e),!0},remove(o){return S.get(o)?.destroy&&S.get(o).destroy(),S.delete(o),!0},getAll:function(){return Array.from(S.entries())},clear:function(){S.clear()}},aliases:{add:function(o,e){B.set(o,e)},remove:function(o){B.delete(o)},getAll:function(){return Array.from(B.entries())},clear:function(){B.clear()}},macros:{define:function(o,e,r=[]){if(typeof e=="function"){const s=e.toString().match(/{([\s\S]*)}/);s&&M.set(o,{params:r.map(t=>typeof t=="string"?{name:t}:t),body:s[1].trim()})}else M.set(o,{params:r.map(n=>typeof n=="string"?{name:n}:n),body:e})},call:function(o,...e){const r=M.get(o);if(!r)throw new Error(`\u672A\u5B9A\u4E49\u7684\u5B8F: ${o}`);const n=new Map;for(let s=0;s<r.params.length;s++){const t=r.params[s],a=s<e.length?e[s]:t.defaultValue;if(a===void 0&&t.defaultValue===null)throw new Error(`\u7F3A\u5C11\u5FC5\u9700\u53C2\u6570: ${t.name}`);n.set(t.name,a!==void 0?a:"")}return E(r.body,n,g)},getAll:function(){return Array.from(M.entries())},remove:function(o){M.delete(o)},clear:function(){M.clear()},parse:function(o){const{macros:e}=_(o,g);for(const[r,n]of e)M.set(r,n)}},math:{evaluate:function(o){return N(o,g)}},colorUtils:{labToRGB:C,lchToLab:x,lchToRGB:function(o,e,r){const n=x(o,e,r);return C(n.L,n.a,n.b)},labToP3:P,lchToP3:function(o,e,r){const n=x(o,e,r);return P(n.L,n.a,n.b)},parseHexLab:function(o){const e=o.match(/lab#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})/i);if(!e)return null;const r=e[1],n=e[2],s=e[3],t=parseInt(r,16)/255*100,a=(parseInt(n,16)-128)*1.5,c=(parseInt(s,16)-128)*1.5;return C(t,a,c)},parseHexLch:function(o){const e=o.match(/lch#([0-9a-f]{2})([0-9a-f]{2})(\d{1,3})/i);if(!e)return null;const r=e[1],n=e[2],s=e[3],t=parseInt(r,16)/255*100,a=parseInt(n,16)/255*150,c=parseInt(s)/100*360,l=x(t,a,c);return C(l.L,l.a,l.b)},generateColor:function(o,e,r,n=null,s=!0){return L(o,e,r,{enableP3:s},n)},parseColor:function(o){try{const e=o.match(/lab\(\s*([\d.]+)(%?)\s+([\d.-]+)\s+([\d.-]+)(?:\s*\/\s*([\d.%]+))?\s*\)/i);if(e){let n=parseFloat(e[1]);const s=parseFloat(e[3]),t=parseFloat(e[4]),a=e[5]?e[5].includes("%")?parseFloat(e[5])/100:parseFloat(e[5]):null,c=L(n,s,t,g,a);return{L:n,A:s,B:t,alpha:a,rgb:C(n,s,t),p3:P(n,s,t),colorString:c}}const r=o.match(/lch\(\s*([\d.]+)(%?)\s+([\d.]+)\s+([\d.]+)(deg)?(?:\s*\/\s*([\d.%]+))?\s*\)/i);if(r){let n=parseFloat(r[1]);const s=parseFloat(r[3]);let t=parseFloat(r[4]);const a=r[6]?r[6].includes("%")?parseFloat(r[6])/100:parseFloat(r[6]):null,c=x(n,s,t),l=L(c.L,c.a,c.b,g,a);return{L:n,C:s,H:t,alpha:a,lab:c,rgb:C(c.L,c.a,c.b),p3:P(c.L,c.a,c.b),colorString:l}}return null}catch(e){return console.warn("\u65E0\u6CD5\u89E3\u6790\u989C\u8272:",o,e),null}}}},F=async function(...o){if(o.length>1||o[0]&&o[0].raw)return await be(...o);const e=o[0];if(typeof e=="string"){const r=await T(e,{...g,...o[1]});return r&&typeof r.then=="function",r}return typeof e=="object"&&e!==null?(g={...g,...e},F):o.length===0?I():F};async function be(o,...e){let r=o[0];for(let s=0;s<e.length;s++){const t=e[s];let a="";typeof t=="function"?a=t():Array.isArray(t)?a=t.join(" "):a=String(t??""),r+=a+o[s+1]}const n=await T(r,g);return n&&typeof n.then=="function",n}return Object.assign(F,ge),Object.setPrototypeOf(F,Function.prototype),typeof window<"u"&&(I(),Object.defineProperty(window.HTMLElement.prototype,"cssVar",{get(){const o=this;return new Proxy(()=>{},{get(e,r){const n=r.startsWith("--")?r:`--${r}`;return o.style.getPropertyValue(n)},set(e,r,n){const s=r.startsWith("--")?r:`--${r}`;return o.style.setProperty(s,n),!0},apply(e,r,n){const s=n[0],t=n[1],a=s.startsWith("--")?s:`--${s}`;if(t===void 0)return o.style.getPropertyValue(a);o.style.setProperty(a,t)}})}})),F})();if(typeof define=="function"&&define.amd)define([],g=>V);else if(typeof module=="object"&&module.exports)module.exports=V;else{const g=globalThis??(typeof self<"u"&&self)??(typeof window<"u"&&window)??global??{};g.styimat=V}export default V;export const{convert,apply,config,supportsP3,detectP3Support,imports,plugins,aliases,macros,math,colorUtils}=V;
package/dist/styimat.mjs CHANGED
@@ -1476,12 +1476,12 @@ const styimat = (function() {
1476
1476
  plugins: {
1477
1477
  use(plugin) {
1478
1478
  const pluginObj = new plugin();
1479
- pluginMap.set(plugin.name, pluginObj);
1479
+ pluginMap.set(pluginObj.name, pluginObj);
1480
1480
  return true;
1481
1481
  },
1482
1482
  remove(name) {
1483
- if (pluginMap.get(name).destroy) {
1484
- pluginMap.get(name).destroy()
1483
+ if (pluginMap.get(name)?.destroy) {
1484
+ pluginMap.get(name).destroy();
1485
1485
  }
1486
1486
  pluginMap.delete(name);
1487
1487
  return true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "styimat",
3
- "version": "7.0.0",
3
+ "version": "8.0.0",
4
4
  "description": "一个高效的CSS变量预处理库,支持Lab/LCH颜色空间自动转换、嵌套选择器和Display P3广色域,让现代CSS开发更简洁强大。",
5
5
  "keywords": [
6
6
  "css",