styimat 6.0.2 → 7.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
@@ -1,4 +1,3 @@
1
-
2
1
  # Styimat
3
2
  [![Stars](https://img.shields.io/badge/dynamic/json?label=Stars&query=%24.stargazers_count&url=https%3A%2F%2Fgitee.com%2Fapi%2Fv5%2Frepos%2Fwxy6987%2Fstyimat&color=FFD700&style=yellow)](https://gitee.com/wxy6987/styimat/stargazers)
4
3
  [![Forks](https://img.shields.io/badge/dynamic/json?label=Forks&query=%24.forks_count&url=https%3A%2F%2Fgitee.com%2Fapi%2Fv5%2Frepos%2Fwxy6987%2Fstyimat&color=red)](https://gitee.com/wxy6987/styimat/members)
@@ -453,19 +452,22 @@ styimat.imports.setBaseUrl('/css/'); // 设置导入基础URL
453
452
  styimat.imports.setCacheEnabled(false); // 禁用导入缓存
454
453
  styimat.imports.setTimeout(10000); // 设置导入超时时间
455
454
 
456
- // 设置插件
457
- styimat.plugins.use({
458
- name: "compress",
459
- convert: function(css, config) {
460
- return css.replace(/[\n\b]/g, "");
461
- },
462
- created() {
463
- // 创建时调用
464
- },
465
- deleted() {
455
+ // 定义插件
456
+ class compressPlugin {
457
+ static name = "compress";
458
+ constructor() {
459
+ // 构造函数
460
+ }
461
+ destroy() {
466
462
  // 删除时调用
467
463
  }
468
- };
464
+ convert(css, config) {
465
+ return css.replace(/[\n\b]/g, "");
466
+ }
467
+ }
468
+
469
+ // 设置插件
470
+ styimat.plugins.use(compressPlugin);
469
471
 
470
472
  styimat.plugins.remove("compress"); // 删除插件
471
473
  ```
package/dist/styimat.js CHANGED
@@ -1475,16 +1475,22 @@ const styimat = (function() {
1475
1475
 
1476
1476
  plugins: {
1477
1477
  use(plugin) {
1478
- const createdFunc = plugin.created ?? (() => {});
1479
- createdFunc();
1480
- pluginMap.set(plugin.name, plugin);
1478
+ const pluginObj = new plugin();
1479
+ pluginMap.set(plugin.name, pluginObj);
1481
1480
  return true;
1482
1481
  },
1483
1482
  remove(name) {
1484
- const deletedFunc = pluginMap.get(name).deleted ?? (() => {});
1485
- deletedFunc();
1483
+ if (pluginMap.get(name).destroy) {
1484
+ pluginMap.get(name).destroy()
1485
+ }
1486
1486
  pluginMap.delete(name);
1487
1487
  return true;
1488
+ },
1489
+ getAll: function() {
1490
+ return Array.from(pluginMap.entries());
1491
+ },
1492
+ clear: function() {
1493
+ pluginMap.clear();
1488
1494
  }
1489
1495
  },
1490
1496
 
@@ -1,21 +1,21 @@
1
1
  /*!
2
2
  * MIT License
3
3
  * Copyright (c) 2025 王小玗
4
- */const styimat=(function(){let g={rootSelector:":root",variablePrefix:"--",preserveOriginal:!1,indentSize:4,enableNesting:!0,autoProcessStyleTags:!0,styleTagAttribute:"e",convertLabToRGB:!0,convertLchToRGB:!0,enableP3:!0,enableMath:!0,importBaseUrl:"",importCache:!0,importTimeout:5e3,enableAlias:!0,enableMacros:!0},v=null;const P=new Map,V=new Map,M=new Map,W=new Map;function Q(o){const e={...g},r=o.split(`
4
+ */const styimat=(function(){let g={rootSelector:":root",variablePrefix:"--",preserveOriginal:!1,indentSize:4,enableNesting:!0,autoProcessStyleTags:!0,styleTagAttribute:"e",convertLabToRGB:!0,convertLchToRGB:!0,enableP3:!0,enableMath:!0,importBaseUrl:"",importCache:!0,importTimeout:5e3,enableAlias:!0,enableMacros:!0},R=null;const V=new Map,W=new Map,M=new Map,S=new Map;function Q(o){const e={...g},r=o.split(`
5
5
  `),n=[];for(let s of r){const t=s.trim();if(t.startsWith("#")){const a=t.substring(1).trim(),c=a.indexOf(" ");if(c!==-1){const l=a.substring(0,c).trim(),i=a.substring(c+1).trim(),u=te(l);i==="true"||i==="false"?e[u]=i==="true":!isNaN(i)&&i.trim()!==""?e[u]=Number(i):e[u]=i}else console.warn(`\u65E0\u6548\u7684\u914D\u7F6E\u884C: ${t}`)}else n.push(s)}return{config:e,css:n.join(`
6
6
  `)}}function K(o){const e=new Map,r=o.split(`
7
7
  `),n=[];for(let s of r){const t=s.trim();if(t.startsWith("@alias")){const a=t.match(/^@alias\s+([\w]+)\s+(.+?)\s*;$/);if(a){const c=a[1],l=a[2];e.set(c,l);continue}}n.push(s)}return{aliases:e,css:n.join(`
8
8
  `)}}function z(o,e){if(!e.enableMacros)return{macros:new Map,css:o};const r=new Map,n=o.split(`
9
9
  `),s=[];let t=!1,a="",c=[],l=[],i=0;for(let u of n){const h=u.trim();if(!t&&h.startsWith("@macro")){const f=h.match(/^@macro\s+([\w]+)\s*\(([^)]*)\)\s*\{$/);if(f){t=!0,a=f[1],c=f[2].split(",").map(p=>p.trim()).filter(p=>p).map(p=>{const d=p.split(":").map(b=>b.trim());return{name:d[0].slice(1),defaultValue:d[1]||null}}),l=[],i=1;continue}}if(t){for(const f of u)f==="{"&&i++,f==="}"&&i--;i===0?(r.set(a,{params:c,body:l.join(`
10
10
  `)}),t=!1,a="",c=[],l=[]):l.push(u);continue}s.push(u)}return{macros:r,css:s.join(`
11
- `)}}function J(o,e,r){if(!r.enableMacros||e.size===0)return o;const n=Array.from(e.keys()).map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),s=new RegExp(`@(${n})\\s*\\(([^)]*)\\)\\s*;?`,"g");return(a=>{let c=a,l=!1;do l=!1,c=c.replace(s,(i,u,h)=>{l=!0;const f=e.get(u);if(!f)return console.warn(`\u672A\u5B9A\u4E49\u7684\u5B8F: ${u}`),i;const p=E(h,f.params);return B(f.body,p,r)});while(l);return c})(o)}function E(o,e){const r=new Map,n=ee(o);for(let s=0;s<e.length;s++){const t=e[s];let a;s<n.length?a=n[s]:t.defaultValue!==null?a=t.defaultValue:(console.warn(`\u5B8F\u8C03\u7528\u7F3A\u5C11\u5FC5\u9700\u53C2\u6570: ${t.name}`),a=""),r.set(t.name,a)}return n.length>e.length&&console.warn("\u5B8F\u8C03\u7528\u4F20\u9012\u4E86\u8FC7\u591A\u53C2\u6570\uFF0C\u591A\u4F59\u7684\u53C2\u6570\u5C06\u88AB\u5FFD\u7565"),r}function ee(o){const e=[];let r="",n=!1,s="",t=0,a=0;for(let c=0;c<o.length;c++){const l=o[c];(l==='"'||l==="'")&&!n?(n=!0,s=l):l===s&&n&&(n=!1,s=""),n||(l==="("&&t++,l===")"&&t--,l==="["&&a++,l==="]"&&a--),l===","&&!n&&t===0&&a===0?(e.push(r.trim()),r=""):r+=l}return r.trim()&&e.push(r.trim()),e}function B(o,e,r){let n=o;for(const[s,t]of e){const a=new RegExp(`\\$${s}`,"g");n=n.replace(a,t)}if(r.enableMacros){const s=Array.from(M.keys()).map(t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|");if(s){const t=new RegExp(`@(${s})\\s*\\(([^)]*)\\)\\s*;?`,"g");let a;do a=!1,n=n.replace(t,(c,l,i)=>{a=!0;const u=M.get(l);if(!u)return c;const h=E(i,u.params);return B(u.body,h,r)});while(a)}}return n=L(n,r),n}function te(o){return o.replace(/-([a-z])/g,function(e,r){return r.toUpperCase()})}function k(){if(v!==null)return v;if(typeof window>"u"||!window.CSS)return v=!1,!1;try{v=CSS.supports("color","color(display-p3 1 0 0)")}catch(o){console.warn("P3\u652F\u6301\u68C0\u6D4B\u5931\u8D25:",o),v=!1}return v}function _(o,e,r){let n=o.trim();if(n.endsWith(";")&&(n=n.slice(0,-1)),!n)return[];const s=[];let t="",a=0,c=!1,l="";for(let u=0;u<n.length;u++){const h=n[u];(h==='"'||h==="'")&&!c?(c=!0,l=h):h===l&&c&&(c=!1,l=""),c||(h==="("?a++:h===")"&&a--),h===";"&&!c&&a===0?t.trim()&&(s.push(t.trim()),t=""):t+=h}t.trim()&&s.push(t.trim());const i=[];for(let u of s){if(u=u.replace(/\/\*[\s\S]*?\*\//g,""),!u.trim())continue;const h=ne(u);if(h===-1){console.warn(`\u65E0\u6548\u7684CSS\u58F0\u660E: "${u}"`);continue}let f=u.substring(0,h).trim(),p=u.substring(h+1).trim();if(p.endsWith(";")&&(p=p.slice(0,-1).trim()),e.get(f)&&(f=e.get(f)),f.startsWith("@")&&r.get(f.slice(1))){const d=r.get(f.slice(1)),b=E(p.split(" ").join(","),d.params);f=B(d.body,b,q),p=""}i.push({[f]:p})}return i}function ne(o){let e=!1,r="";for(let n=0;n<o.length;n++){const s=o[n];if((s==='"'||s==="'")&&!e?(e=!0,r=s):s===r&&e&&(e=!1,r=""),s===":"&&!e)return n}return-1}function H(o,e){if(!e.enableMath)return`math(${o})`;try{let r=o.replace(/\s+/g,"");return re(r,e.enableMath)}catch(r){return console.warn("math()\u8868\u8FBE\u5F0F\u89E3\u6790\u5931\u8D25:",o,r),`calc(${o})`}}function re(o,e){return`calc(${o.replace(/([\da-z])([+-])(-?[\da-z])/g,"$1 $2 $3").replace(/([\da-z])([+-])(-?[\da-z])/g,"$1 $2 $3")})`}function se(o,e){if(!e.enableMath)return o;let r=o;const n=/math\(([^)]+)\)/gi,s=a=>a.replace(n,(c,l)=>H(l,e));let t;do t=r,r=s(r);while(r!==t&&r.includes("math("));return r}function oe(o,e){if(!e.convertLabToRGB&&!e.convertLchToRGB)return o;let r=o;r=ae(r,e);const n=/(lab|lch)\([^)]+\)/gi,s=new Map,t=c=>c.replace(n,l=>{if(s.has(l))return s.get(l);let i=l;return l.toLowerCase().startsWith("lab(")?e.convertLabToRGB&&(i=ce(l,e)):l.toLowerCase().startsWith("lch(")&&e.convertLchToRGB&&(i=le(l,e)),s.set(l,i),i});let a;do a=r,r=t(r);while(r!==a);return r}function ae(o,e){let r=o;const n=/lab#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})/gi,s=/lch#([0-9a-f]{2})([0-9a-f]{2})(\d{1,3})/gi,t=new Map;return r=r.replace(n,(a,c,l,i)=>{if(t.has(a))return t.get(a);try{const u=parseInt(c,16)/255*100,h=(parseInt(l,16)-128)*1.5,f=(parseInt(i,16)-128)*1.5,p=x(u,h,f,e);return t.set(a,p),p}catch(u){return console.warn(`\u65E0\u6CD5\u89E3\u6790lab#\u5341\u516D\u8FDB\u5236\u989C\u8272: ${a}`,u),a}}),r=r.replace(s,(a,c,l,i)=>{if(t.has(a))return t.get(a);try{const u=parseInt(c,16)/255*100,h=parseInt(l,16)/255*150,f=parseInt(i)/100*360,p=S(u,h,f),d=x(p.L,p.a,p.b,e);return t.set(a,d),d}catch(u){return console.warn(`\u65E0\u6CD5\u89E3\u6790lch#\u5341\u516D\u8FDB\u5236\u989C\u8272: ${a}`,u),a}}),r}function ce(o,e){const r=/lab\(\s*([\d.]+)(%?)\s+([\d.-]+)\s+([\d.-]+)(?:\s*\/\s*([\d.%]+))?\s*\)/i,n=o.match(r);if(!n)return o;try{let s=parseFloat(n[1]);n[2]==="%"?s=s:(s<0&&(s=0),s>100&&(s=100));const t=parseFloat(n[3]),a=parseFloat(n[4]),c=n[5]!==void 0?n[5].includes("%")?parseFloat(n[5])/100:parseFloat(n[5]):null;return x(s,t,a,e,c)}catch(s){return console.warn(`\u65E0\u6CD5\u8F6C\u6362LAB\u989C\u8272: ${o}`,s),o}}function le(o,e){const r=/lch\(\s*([\d.]+)(%?)\s+([\d.]+)\s+([\d.]+)(deg)?(?:\s*\/\s*([\d.%]+))?\s*\)/i,n=o.match(r);if(!n)return o;try{let s=parseFloat(n[1]);n[2]==="%"?s=s:(s<0&&(s=0),s>100&&(s=100));const t=parseFloat(n[3]);let a=parseFloat(n[4]);t<0&&console.warn(`LCH\u4E2D\u7684C\u503C\u4E0D\u80FD\u4E3A\u8D1F: ${t}`),a=(a%360+360)%360;const c=S(s,t,a),l=n[6]!==void 0?n[6].includes("%")?parseFloat(n[6])/100:parseFloat(n[6]):null;return x(c.L,c.a,c.b,e,l)}catch(s){return console.warn(`\u65E0\u6CD5\u8F6C\u6362LCH\u989C\u8272: ${o}`,s),o}}function S(o,e,r){const n=r*Math.PI/180,s=e*Math.cos(n),t=e*Math.sin(n);return{L:o,a:s,b:t}}function C(o,e,r){const n=(m,y,w)=>{const Z=(m+16)/116,j=y/500+Z,O=Z-w/200,be=j**3>.008856?j**3:(116*j-16)/903.3,ye=m>903.3*.008856?((m+16)/116)**3:m/903.3,we=O**3>.008856?O**3:(116*O-16)/903.3;return[be*.95047,ye*1,we*1.08883]},s=(m,y,w)=>{const $=[[3.2404542,-1.5371385,-.4985314],[-.969266,1.8760108,.041556],[.0556434,-.2040259,1.0572252]],R=$[0][0]*m+$[0][1]*y+$[0][2]*w,D=$[1][0]*m+$[1][1]*y+$[1][2]*w,Y=$[2][0]*m+$[2][1]*y+$[2][2]*w;return[R,D,Y]},t=m=>{const y=m<0?-1:1,w=Math.abs(m);return w<=.0031308?y*12.92*w:y*(1.055*Math.pow(w,.4166666666666667)-.055)},a=m=>Math.max(0,Math.min(255,Math.round(m*255))),[c,l,i]=n(o,e,r),[u,h,f]=s(c,l,i),p=t(u),d=t(h),b=t(f);return{r:a(p),g:a(d),b:a(b)}}function A(o,e,r){const n=(c,l,i)=>{const b=(c+16)/116,m=l/500+b,y=b-i/200,w=m**3>.008856?m**3:(116*m-16)/903.3,$=c>903.3*.008856?((c+16)/116)**3:c/903.3,R=y**3>.008856?y**3:(116*y-16)/903.3;return[w*.95047,$*1,R*1.08883]},s=(c,l,i)=>{const u=[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]],h=u[0][0]*c+u[0][1]*l+u[0][2]*i,f=u[1][0]*c+u[1][1]*l+u[1][2]*i,p=u[2][0]*c+u[2][1]*l+u[2][2]*i;return[h,f,p]},t=c=>{const l=c<0?-1:1,i=Math.abs(c);return i<=.0031308?l*12.92*i:l*(1.055*Math.pow(i,.4166666666666667)-.055)},a=c=>Math.max(0,Math.min(255,Math.round(c*255)));try{const[c,l,i]=n(o,e,r),[u,h,f]=s(c,l,i),p=t(u),d=t(h),b=t(f);return{r:Math.max(0,Math.min(1,p)),g:Math.max(0,Math.min(1,d)),b:Math.max(0,Math.min(1,b))}}catch(c){console.warn("P3\u8F6C\u6362\u5931\u8D25:",c);const l=C(o,e,r);return{r:l.r/255,g:l.g/255,b:l.b/255}}}function x(o,e,r,n,s=null){if(!n.enableP3||!k()){const t=C(o,e,r);return s!==null?`rgba(${t.r}, ${t.g}, ${t.b}, ${s})`:`rgb(${t.r}, ${t.g}, ${t.b})`}else{const t=A(o,e,r);return s!==null?`color(display-p3 ${t.r.toFixed(4)} ${t.g.toFixed(4)} ${t.b.toFixed(4)} / ${s})`:`color(display-p3 ${t.r.toFixed(4)} ${t.g.toFixed(4)} ${t.b.toFixed(4)})`}}function L(o,e){let r=o;return e.enableMath&&(r=se(r,e)),(e.convertLabToRGB||e.convertLchToRGB)&&(r=oe(r,e)),r}function ie(o,e){const r=o.split(`
12
- `),n={},s=new Map;let t="",a=null,c=!1,l=0;for(let i of r){const u=i.trim(),h=u.match(/^\$([\w]+)\s*:\s*(.+?);?$/);if(h){const[,f,p]=h,d=L(G(p.trim(),{...n,...a?s.get(a)||{}:{}}),e);a?(s.has(a)||s.set(a,{}),s.get(a)[f]=d):n[f]=d;continue}if(u.endsWith("{")){a=u.slice(0,-1).trim(),c=!0,t+=i+`
11
+ `)}}function J(o,e,r){if(!r.enableMacros||e.size===0)return o;const n=Array.from(e.keys()).map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),s=new RegExp(`@(${n})\\s*\\(([^)]*)\\)\\s*;?`,"g");return(a=>{let c=a,l=!1;do l=!1,c=c.replace(s,(i,u,h)=>{l=!0;const f=e.get(u);if(!f)return console.warn(`\u672A\u5B9A\u4E49\u7684\u5B8F: ${u}`),i;const p=E(h,f.params);return B(f.body,p,r)});while(l);return c})(o)}function E(o,e){const r=new Map,n=ee(o);for(let s=0;s<e.length;s++){const t=e[s];let a;s<n.length?a=n[s]:t.defaultValue!==null?a=t.defaultValue:(console.warn(`\u5B8F\u8C03\u7528\u7F3A\u5C11\u5FC5\u9700\u53C2\u6570: ${t.name}`),a=""),r.set(t.name,a)}return n.length>e.length&&console.warn("\u5B8F\u8C03\u7528\u4F20\u9012\u4E86\u8FC7\u591A\u53C2\u6570\uFF0C\u591A\u4F59\u7684\u53C2\u6570\u5C06\u88AB\u5FFD\u7565"),r}function ee(o){const e=[];let r="",n=!1,s="",t=0,a=0;for(let c=0;c<o.length;c++){const l=o[c];(l==='"'||l==="'")&&!n?(n=!0,s=l):l===s&&n&&(n=!1,s=""),n||(l==="("&&t++,l===")"&&t--,l==="["&&a++,l==="]"&&a--),l===","&&!n&&t===0&&a===0?(e.push(r.trim()),r=""):r+=l}return r.trim()&&e.push(r.trim()),e}function B(o,e,r){let n=o;for(const[s,t]of e){const a=new RegExp(`\\$${s}`,"g");n=n.replace(a,t)}if(r.enableMacros){const s=Array.from(M.keys()).map(t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|");if(s){const t=new RegExp(`@(${s})\\s*\\(([^)]*)\\)\\s*;?`,"g");let a;do a=!1,n=n.replace(t,(c,l,i)=>{a=!0;const u=M.get(l);if(!u)return c;const h=E(i,u.params);return B(u.body,h,r)});while(a)}}return n=v(n,r),n}function te(o){return o.replace(/-([a-z])/g,function(e,r){return r.toUpperCase()})}function j(){if(R!==null)return R;if(typeof window>"u"||!window.CSS)return R=!1,!1;try{R=CSS.supports("color","color(display-p3 1 0 0)")}catch(o){console.warn("P3\u652F\u6301\u68C0\u6D4B\u5931\u8D25:",o),R=!1}return R}function _(o,e,r){let n=o.trim();if(n.endsWith(";")&&(n=n.slice(0,-1)),!n)return[];const s=[];let t="",a=0,c=!1,l="";for(let u=0;u<n.length;u++){const h=n[u];(h==='"'||h==="'")&&!c?(c=!0,l=h):h===l&&c&&(c=!1,l=""),c||(h==="("?a++:h===")"&&a--),h===";"&&!c&&a===0?t.trim()&&(s.push(t.trim()),t=""):t+=h}t.trim()&&s.push(t.trim());const i=[];for(let u of s){if(u=u.replace(/\/\*[\s\S]*?\*\//g,""),!u.trim())continue;const h=ne(u);if(h===-1){console.warn(`\u65E0\u6548\u7684CSS\u58F0\u660E: "${u}"`);continue}let f=u.substring(0,h).trim(),p=u.substring(h+1).trim();if(p.endsWith(";")&&(p=p.slice(0,-1).trim()),e.get(f)&&(f=e.get(f)),f.startsWith("@")&&r.get(f.slice(1))){const d=r.get(f.slice(1)),b=E(p.split(" ").join(","),d.params);f=B(d.body,b,q),p=""}i.push({[f]:p})}return i}function ne(o){let e=!1,r="";for(let n=0;n<o.length;n++){const s=o[n];if((s==='"'||s==="'")&&!e?(e=!0,r=s):s===r&&e&&(e=!1,r=""),s===":"&&!e)return n}return-1}function H(o,e){if(!e.enableMath)return`math(${o})`;try{let r=o.replace(/\s+/g,"");return re(r,e.enableMath)}catch(r){return console.warn("math()\u8868\u8FBE\u5F0F\u89E3\u6790\u5931\u8D25:",o,r),`calc(${o})`}}function re(o,e){return`calc(${o.replace(/([\da-z])([+-])(-?[\da-z])/g,"$1 $2 $3").replace(/([\da-z])([+-])(-?[\da-z])/g,"$1 $2 $3")})`}function se(o,e){if(!e.enableMath)return o;let r=o;const n=/math\(([^)]+)\)/gi,s=a=>a.replace(n,(c,l)=>H(l,e));let t;do t=r,r=s(r);while(r!==t&&r.includes("math("));return r}function oe(o,e){if(!e.convertLabToRGB&&!e.convertLchToRGB)return o;let r=o;r=ae(r,e);const n=/(lab|lch)\([^)]+\)/gi,s=new Map,t=c=>c.replace(n,l=>{if(s.has(l))return s.get(l);let i=l;return l.toLowerCase().startsWith("lab(")?e.convertLabToRGB&&(i=ce(l,e)):l.toLowerCase().startsWith("lch(")&&e.convertLchToRGB&&(i=le(l,e)),s.set(l,i),i});let a;do a=r,r=t(r);while(r!==a);return r}function ae(o,e){let r=o;const n=/lab#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})/gi,s=/lch#([0-9a-f]{2})([0-9a-f]{2})(\d{1,3})/gi,t=new Map;return r=r.replace(n,(a,c,l,i)=>{if(t.has(a))return t.get(a);try{const u=parseInt(c,16)/255*100,h=(parseInt(l,16)-128)*1.5,f=(parseInt(i,16)-128)*1.5,p=L(u,h,f,e);return t.set(a,p),p}catch(u){return console.warn(`\u65E0\u6CD5\u89E3\u6790lab#\u5341\u516D\u8FDB\u5236\u989C\u8272: ${a}`,u),a}}),r=r.replace(s,(a,c,l,i)=>{if(t.has(a))return t.get(a);try{const u=parseInt(c,16)/255*100,h=parseInt(l,16)/255*150,f=parseInt(i)/100*360,p=x(u,h,f),d=L(p.L,p.a,p.b,e);return t.set(a,d),d}catch(u){return console.warn(`\u65E0\u6CD5\u89E3\u6790lch#\u5341\u516D\u8FDB\u5236\u989C\u8272: ${a}`,u),a}}),r}function ce(o,e){const r=/lab\(\s*([\d.]+)(%?)\s+([\d.-]+)\s+([\d.-]+)(?:\s*\/\s*([\d.%]+))?\s*\)/i,n=o.match(r);if(!n)return o;try{let s=parseFloat(n[1]);n[2]==="%"?s=s:(s<0&&(s=0),s>100&&(s=100));const t=parseFloat(n[3]),a=parseFloat(n[4]),c=n[5]!==void 0?n[5].includes("%")?parseFloat(n[5])/100:parseFloat(n[5]):null;return L(s,t,a,e,c)}catch(s){return console.warn(`\u65E0\u6CD5\u8F6C\u6362LAB\u989C\u8272: ${o}`,s),o}}function le(o,e){const r=/lch\(\s*([\d.]+)(%?)\s+([\d.]+)\s+([\d.]+)(deg)?(?:\s*\/\s*([\d.%]+))?\s*\)/i,n=o.match(r);if(!n)return o;try{let s=parseFloat(n[1]);n[2]==="%"?s=s:(s<0&&(s=0),s>100&&(s=100));const t=parseFloat(n[3]);let a=parseFloat(n[4]);t<0&&console.warn(`LCH\u4E2D\u7684C\u503C\u4E0D\u80FD\u4E3A\u8D1F: ${t}`),a=(a%360+360)%360;const c=x(s,t,a),l=n[6]!==void 0?n[6].includes("%")?parseFloat(n[6])/100:parseFloat(n[6]):null;return L(c.L,c.a,c.b,e,l)}catch(s){return console.warn(`\u65E0\u6CD5\u8F6C\u6362LCH\u989C\u8272: ${o}`,s),o}}function x(o,e,r){const n=r*Math.PI/180,s=e*Math.cos(n),t=e*Math.sin(n);return{L:o,a:s,b:t}}function C(o,e,r){const n=(m,y,w)=>{const Z=(m+16)/116,I=y/500+Z,O=Z-w/200,be=I**3>.008856?I**3:(116*I-16)/903.3,ye=m>903.3*.008856?((m+16)/116)**3:m/903.3,we=O**3>.008856?O**3:(116*O-16)/903.3;return[be*.95047,ye*1,we*1.08883]},s=(m,y,w)=>{const $=[[3.2404542,-1.5371385,-.4985314],[-.969266,1.8760108,.041556],[.0556434,-.2040259,1.0572252]],A=$[0][0]*m+$[0][1]*y+$[0][2]*w,D=$[1][0]*m+$[1][1]*y+$[1][2]*w,Y=$[2][0]*m+$[2][1]*y+$[2][2]*w;return[A,D,Y]},t=m=>{const y=m<0?-1:1,w=Math.abs(m);return w<=.0031308?y*12.92*w:y*(1.055*Math.pow(w,.4166666666666667)-.055)},a=m=>Math.max(0,Math.min(255,Math.round(m*255))),[c,l,i]=n(o,e,r),[u,h,f]=s(c,l,i),p=t(u),d=t(h),b=t(f);return{r:a(p),g:a(d),b:a(b)}}function T(o,e,r){const n=(c,l,i)=>{const b=(c+16)/116,m=l/500+b,y=b-i/200,w=m**3>.008856?m**3:(116*m-16)/903.3,$=c>903.3*.008856?((c+16)/116)**3:c/903.3,A=y**3>.008856?y**3:(116*y-16)/903.3;return[w*.95047,$*1,A*1.08883]},s=(c,l,i)=>{const u=[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]],h=u[0][0]*c+u[0][1]*l+u[0][2]*i,f=u[1][0]*c+u[1][1]*l+u[1][2]*i,p=u[2][0]*c+u[2][1]*l+u[2][2]*i;return[h,f,p]},t=c=>{const l=c<0?-1:1,i=Math.abs(c);return i<=.0031308?l*12.92*i:l*(1.055*Math.pow(i,.4166666666666667)-.055)},a=c=>Math.max(0,Math.min(255,Math.round(c*255)));try{const[c,l,i]=n(o,e,r),[u,h,f]=s(c,l,i),p=t(u),d=t(h),b=t(f);return{r:Math.max(0,Math.min(1,p)),g:Math.max(0,Math.min(1,d)),b:Math.max(0,Math.min(1,b))}}catch(c){console.warn("P3\u8F6C\u6362\u5931\u8D25:",c);const l=C(o,e,r);return{r:l.r/255,g:l.g/255,b:l.b/255}}}function L(o,e,r,n,s=null){if(!n.enableP3||!j()){const t=C(o,e,r);return s!==null?`rgba(${t.r}, ${t.g}, ${t.b}, ${s})`:`rgb(${t.r}, ${t.g}, ${t.b})`}else{const t=T(o,e,r);return s!==null?`color(display-p3 ${t.r.toFixed(4)} ${t.g.toFixed(4)} ${t.b.toFixed(4)} / ${s})`:`color(display-p3 ${t.r.toFixed(4)} ${t.g.toFixed(4)} ${t.b.toFixed(4)})`}}function v(o,e){let r=o;return e.enableMath&&(r=se(r,e)),(e.convertLabToRGB||e.convertLchToRGB)&&(r=oe(r,e)),r}function ie(o,e){const r=o.split(`
12
+ `),n={},s=new Map;let t="",a=null,c=!1,l=0;for(let i of r){const u=i.trim(),h=u.match(/^\$([\w]+)\s*:\s*(.+?);?$/);if(h){const[,f,p]=h,d=v(G(p.trim(),{...n,...a?s.get(a)||{}:{}}),e);a?(s.has(a)||s.set(a,{}),s.get(a)[f]=d):n[f]=d;continue}if(u.endsWith("{")){a=u.slice(0,-1).trim(),c=!0,t+=i+`
13
13
  `;continue}if(u==="}"){if(c&&a&&s.has(a)){const f=s.get(a),p=" ".repeat(l);for(const[d,b]of Object.entries(f))t+=`${p} --${d}: ${b};
14
14
  `}c=!1,a=null}t+=i+`
15
15
  `,i.includes("{")&&(l+=e.indentSize),i.includes("}")&&(l=Math.max(0,l-e.indentSize))}return{globalVariables:n,selectorVariables:s,cssWithoutVars:t.trim()}}function ue(o,e,r,n){const s=o.split(`
16
- `),t=[],a=[];let c=0;for(let l=0;l<s.length;l++){const i=s[l],u=i.trim();if(!u)continue;const h=i.match(/^(\s*)/)[0].length;if(u==="}"){if(t.length>0){const f=t.pop();if(t.length>0){const p=t[t.length-1];p.children||(p.children=[]),p.children.push(f)}else a.push(f)}continue}if(u.endsWith("{")){const p={selector:u.slice(0,-1).trim(),properties:[],children:[]};t.push(p);continue}if(!u.includes("{")&&!u.includes("}")&&u.includes(":")){if(t.length>0){const f=t[t.length-1];_(u,r,n).forEach(d=>{const b=Object.keys(d)[0],m=L(d[b],e);f.properties.push(m===""?b:`${b}: ${m}`)})}continue}}for(;t.length>0;){const l=t.pop();if(t.length===0)a.push(l);else{const i=t[t.length-1];i.children||(i.children=[]),i.children.push(l)}}return N(a,e,"",r,n)}function N(o,e,r="",n,s){let t="";const a=r.startsWith("@");for(const c of o){const l=c.selector.startsWith("@");let i=(a?" ".repeat(e.indentSize):"")+c.selector;if(l&&(i=c.selector+` {
16
+ `),t=[],a=[];let c=0;for(let l=0;l<s.length;l++){const i=s[l],u=i.trim();if(!u)continue;const h=i.match(/^(\s*)/)[0].length;if(u==="}"){if(t.length>0){const f=t.pop();if(t.length>0){const p=t[t.length-1];p.children||(p.children=[]),p.children.push(f)}else a.push(f)}continue}if(u.endsWith("{")){const p={selector:u.slice(0,-1).trim(),properties:[],children:[]};t.push(p);continue}if(!u.includes("{")&&!u.includes("}")&&u.includes(":")){if(t.length>0){const f=t[t.length-1];_(u,r,n).forEach(d=>{const b=Object.keys(d)[0],m=v(d[b],e);f.properties.push(m===""?b:`${b}: ${m}`)})}continue}}for(;t.length>0;){const l=t.pop();if(t.length===0)a.push(l);else{const i=t[t.length-1];i.children||(i.children=[]),i.children.push(l)}}return N(a,e,"",r,n)}function N(o,e,r="",n,s){let t="";const a=r.startsWith("@");for(const c of o){const l=c.selector.startsWith("@");let i=(a?" ".repeat(e.indentSize):"")+c.selector;if(l&&(i=c.selector+` {
17
17
  `),r&&(i.includes("&")?i=i.replace(/&/g,r):i.trim().startsWith(":")?i=r+i:i=r+(a?"":" ")+i),c.properties.length>0){t+=(l?"":i)+` {
18
- `;for(const u of c.properties)_(u,n,s).forEach(f=>{const p=Object.keys(f)[0],d=L(f[p],e);t+=(a?" ".repeat(e.indentSize):"")+" ".repeat(e.indentSize)+(d===""?p:`${p}: ${d};
18
+ `;for(const u of c.properties)_(u,n,s).forEach(f=>{const p=Object.keys(f)[0],d=v(f[p],e);t+=(a?" ".repeat(e.indentSize):"")+" ".repeat(e.indentSize)+(d===""?p:`${p}: ${d};
19
19
  `)});t+=a?" ".repeat(e.indentSize)+`}
20
20
  `:`}
21
21
 
@@ -23,11 +23,11 @@
23
23
 
24
24
  `)}return t.trim()+`
25
25
 
26
- `}function G(o,e){return o.replace(/\$([\w]+)(\W?)/g,(r,n,s)=>e[n]?`var(--${n})${s}`:r)}function fe(o,e,r,n){let s=o;return s=s.replace(/(?:\$\$|\$)([\w]+)(\W?)/g,(t,a,c)=>t.startsWith("$$")?`attr(${a})${c}`:`var(--${a})${c}`),s=L(s,n),s}function pe(o,e){if(Object.keys(o).length===0)return"";const r=Object.entries(o).map(([n,s])=>{const t=L(G(s,o),e);return" ".repeat(e.indentSize)+`--${n}: ${t};`}).join(`
26
+ `}function G(o,e){return o.replace(/\$([\w]+)(\W?)/g,(r,n,s)=>e[n]?`var(--${n})${s}`:r)}function fe(o,e,r,n){let s=o;return s=s.replace(/(?:\$\$|\$)([\w]+)(\W?)/g,(t,a,c)=>t.startsWith("$$")?`attr(${a})${c}`:`var(--${a})${c}`),s=v(s,n),s}function pe(o,e){if(Object.keys(o).length===0)return"";const r=Object.entries(o).map(([n,s])=>{const t=v(G(s,o),e);return" ".repeat(e.indentSize)+`--${n}: ${t};`}).join(`
27
27
  `);return`${e.rootSelector} {
28
28
  ${r}
29
29
  }
30
30
 
31
31
  `}function he(o,e,r){let n="";const s=o.split(`
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+=L(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&&P.has(o))return P.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&&P.set(o,n),n}async function T(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[$,R]of l)M.set($,R)}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 W)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 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 q(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",()=>{X(r)}):X(r)}const me={convert:T,apply:I,config:q,supportsP3:k(),detectP3Support:k,imports:{clearCache:function(){P.clear()},setBaseUrl:function(o){g.importBaseUrl=o},setCacheEnabled:function(o){g.importCache=o},setTimeout:function(o){g.importTimeout=o}},plugins:{use(o){return(o.created??(()=>{}))(),W.set(o.name,o),!0},remove(o){return(W.get(o).deleted??(()=>{}))(),W.delete(o),!0}},aliases:{add:function(o,e){V.set(o,e)},remove:function(o){V.delete(o)},getAll:function(){return Array.from(V.entries())},clear:function(){V.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:S,lchToRGB:function(o,e,r){const n=S(o,e,r);return C(n.L,n.a,n.b)},labToP3:A,lchToP3:function(o,e,r){const n=S(o,e,r);return A(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=S(t,a,c);return C(l.L,l.a,l.b)},generateColor:function(o,e,r,n=null,s=!0){return x(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=x(n,s,t,g,a);return{L:n,A:s,B:t,alpha:a,rgb:C(n,s,t),p3:A(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=S(n,s,t),l=x(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:A(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 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 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 T(r,g);return n&&typeof n.then=="function",n}return Object.assign(F,me),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=>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}
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}
@@ -1,21 +1,21 @@
1
1
  /*!
2
2
  * MIT License
3
3
  * Copyright (c) 2025 王小玗
4
- */const F=(function(){let g={rootSelector:":root",variablePrefix:"--",preserveOriginal:!1,indentSize:4,enableNesting:!0,autoProcessStyleTags:!0,styleTagAttribute:"e",convertLabToRGB:!0,convertLchToRGB:!0,enableP3:!0,enableMath:!0,importBaseUrl:"",importCache:!0,importTimeout:5e3,enableAlias:!0,enableMacros:!0},v=null;const V=new Map,W=new Map,M=new Map,B=new Map;function K(o){const e={...g},r=o.split(`
4
+ */const V=(function(){let g={rootSelector:":root",variablePrefix:"--",preserveOriginal:!1,indentSize:4,enableNesting:!0,autoProcessStyleTags:!0,styleTagAttribute:"e",convertLabToRGB:!0,convertLchToRGB:!0,enableP3:!0,enableMath:!0,importBaseUrl:"",importCache:!0,importTimeout:5e3,enableAlias:!0,enableMacros:!0},R=null;const W=new Map,B=new Map,M=new Map,S=new Map;function K(o){const e={...g},r=o.split(`
5
5
  `),n=[];for(let s of r){const t=s.trim();if(t.startsWith("#")){const a=t.substring(1).trim(),c=a.indexOf(" ");if(c!==-1){const l=a.substring(0,c).trim(),i=a.substring(c+1).trim(),u=ne(l);i==="true"||i==="false"?e[u]=i==="true":!isNaN(i)&&i.trim()!==""?e[u]=Number(i):e[u]=i}else console.warn(`\u65E0\u6548\u7684\u914D\u7F6E\u884C: ${t}`)}else n.push(s)}return{config:e,css:n.join(`
6
6
  `)}}function J(o){const e=new Map,r=o.split(`
7
7
  `),n=[];for(let s of r){const t=s.trim();if(t.startsWith("@alias")){const a=t.match(/^@alias\s+([\w]+)\s+(.+?)\s*;$/);if(a){const c=a[1],l=a[2];e.set(c,l);continue}}n.push(s)}return{aliases:e,css:n.join(`
8
8
  `)}}function _(o,e){if(!e.enableMacros)return{macros:new Map,css:o};const r=new Map,n=o.split(`
9
9
  `),s=[];let t=!1,a="",c=[],l=[],i=0;for(let u of n){const h=u.trim();if(!t&&h.startsWith("@macro")){const f=h.match(/^@macro\s+([\w]+)\s*\(([^)]*)\)\s*\{$/);if(f){t=!0,a=f[1],c=f[2].split(",").map(p=>p.trim()).filter(p=>p).map(p=>{const d=p.split(":").map(b=>b.trim());return{name:d[0].slice(1),defaultValue:d[1]||null}}),l=[],i=1;continue}}if(t){for(const f of u)f==="{"&&i++,f==="}"&&i--;i===0?(r.set(a,{params:c,body:l.join(`
10
10
  `)}),t=!1,a="",c=[],l=[]):l.push(u);continue}s.push(u)}return{macros:r,css:s.join(`
11
- `)}}function ee(o,e,r){if(!r.enableMacros||e.size===0)return o;const n=Array.from(e.keys()).map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),s=new RegExp(`@(${n})\\s*\\(([^)]*)\\)\\s*;?`,"g");return(a=>{let c=a,l=!1;do l=!1,c=c.replace(s,(i,u,h)=>{l=!0;const f=e.get(u);if(!f)return console.warn(`\u672A\u5B9A\u4E49\u7684\u5B8F: ${u}`),i;const p=k(h,f.params);return E(f.body,p,r)});while(l);return c})(o)}function k(o,e){const r=new Map,n=te(o);for(let s=0;s<e.length;s++){const t=e[s];let a;s<n.length?a=n[s]:t.defaultValue!==null?a=t.defaultValue:(console.warn(`\u5B8F\u8C03\u7528\u7F3A\u5C11\u5FC5\u9700\u53C2\u6570: ${t.name}`),a=""),r.set(t.name,a)}return n.length>e.length&&console.warn("\u5B8F\u8C03\u7528\u4F20\u9012\u4E86\u8FC7\u591A\u53C2\u6570\uFF0C\u591A\u4F59\u7684\u53C2\u6570\u5C06\u88AB\u5FFD\u7565"),r}function te(o){const e=[];let r="",n=!1,s="",t=0,a=0;for(let c=0;c<o.length;c++){const l=o[c];(l==='"'||l==="'")&&!n?(n=!0,s=l):l===s&&n&&(n=!1,s=""),n||(l==="("&&t++,l===")"&&t--,l==="["&&a++,l==="]"&&a--),l===","&&!n&&t===0&&a===0?(e.push(r.trim()),r=""):r+=l}return r.trim()&&e.push(r.trim()),e}function E(o,e,r){let n=o;for(const[s,t]of e){const a=new RegExp(`\\$${s}`,"g");n=n.replace(a,t)}if(r.enableMacros){const s=Array.from(M.keys()).map(t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|");if(s){const t=new RegExp(`@(${s})\\s*\\(([^)]*)\\)\\s*;?`,"g");let a;do a=!1,n=n.replace(t,(c,l,i)=>{a=!0;const u=M.get(l);if(!u)return c;const h=k(i,u.params);return E(u.body,h,r)});while(a)}}return n=L(n,r),n}function ne(o){return o.replace(/-([a-z])/g,function(e,r){return r.toUpperCase()})}function I(){if(v!==null)return v;if(typeof window>"u"||!window.CSS)return v=!1,!1;try{v=CSS.supports("color","color(display-p3 1 0 0)")}catch(o){console.warn("P3\u652F\u6301\u68C0\u6D4B\u5931\u8D25:",o),v=!1}return v}function H(o,e,r){let n=o.trim();if(n.endsWith(";")&&(n=n.slice(0,-1)),!n)return[];const s=[];let t="",a=0,c=!1,l="";for(let u=0;u<n.length;u++){const h=n[u];(h==='"'||h==="'")&&!c?(c=!0,l=h):h===l&&c&&(c=!1,l=""),c||(h==="("?a++:h===")"&&a--),h===";"&&!c&&a===0?t.trim()&&(s.push(t.trim()),t=""):t+=h}t.trim()&&s.push(t.trim());const i=[];for(let u of s){if(u=u.replace(/\/\*[\s\S]*?\*\//g,""),!u.trim())continue;const h=re(u);if(h===-1){console.warn(`\u65E0\u6548\u7684CSS\u58F0\u660E: "${u}"`);continue}let f=u.substring(0,h).trim(),p=u.substring(h+1).trim();if(p.endsWith(";")&&(p=p.slice(0,-1).trim()),e.get(f)&&(f=e.get(f)),f.startsWith("@")&&r.get(f.slice(1))){const d=r.get(f.slice(1)),b=k(p.split(" ").join(","),d.params);f=E(d.body,b,D),p=""}i.push({[f]:p})}return i}function re(o){let e=!1,r="";for(let n=0;n<o.length;n++){const s=o[n];if((s==='"'||s==="'")&&!e?(e=!0,r=s):s===r&&e&&(e=!1,r=""),s===":"&&!e)return n}return-1}function N(o,e){if(!e.enableMath)return`math(${o})`;try{let r=o.replace(/\s+/g,"");return se(r,e.enableMath)}catch(r){return console.warn("math()\u8868\u8FBE\u5F0F\u89E3\u6790\u5931\u8D25:",o,r),`calc(${o})`}}function se(o,e){return`calc(${o.replace(/([\da-z])([+-])(-?[\da-z])/g,"$1 $2 $3").replace(/([\da-z])([+-])(-?[\da-z])/g,"$1 $2 $3")})`}function oe(o,e){if(!e.enableMath)return o;let r=o;const n=/math\(([^)]+)\)/gi,s=a=>a.replace(n,(c,l)=>N(l,e));let t;do t=r,r=s(r);while(r!==t&&r.includes("math("));return r}function ae(o,e){if(!e.convertLabToRGB&&!e.convertLchToRGB)return o;let r=o;r=ce(r,e);const n=/(lab|lch)\([^)]+\)/gi,s=new Map,t=c=>c.replace(n,l=>{if(s.has(l))return s.get(l);let i=l;return l.toLowerCase().startsWith("lab(")?e.convertLabToRGB&&(i=le(l,e)):l.toLowerCase().startsWith("lch(")&&e.convertLchToRGB&&(i=ie(l,e)),s.set(l,i),i});let a;do a=r,r=t(r);while(r!==a);return r}function ce(o,e){let r=o;const n=/lab#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})/gi,s=/lch#([0-9a-f]{2})([0-9a-f]{2})(\d{1,3})/gi,t=new Map;return r=r.replace(n,(a,c,l,i)=>{if(t.has(a))return t.get(a);try{const u=parseInt(c,16)/255*100,h=(parseInt(l,16)-128)*1.5,f=(parseInt(i,16)-128)*1.5,p=x(u,h,f,e);return t.set(a,p),p}catch(u){return console.warn(`\u65E0\u6CD5\u89E3\u6790lab#\u5341\u516D\u8FDB\u5236\u989C\u8272: ${a}`,u),a}}),r=r.replace(s,(a,c,l,i)=>{if(t.has(a))return t.get(a);try{const u=parseInt(c,16)/255*100,h=parseInt(l,16)/255*150,f=parseInt(i)/100*360,p=S(u,h,f),d=x(p.L,p.a,p.b,e);return t.set(a,d),d}catch(u){return console.warn(`\u65E0\u6CD5\u89E3\u6790lch#\u5341\u516D\u8FDB\u5236\u989C\u8272: ${a}`,u),a}}),r}function le(o,e){const r=/lab\(\s*([\d.]+)(%?)\s+([\d.-]+)\s+([\d.-]+)(?:\s*\/\s*([\d.%]+))?\s*\)/i,n=o.match(r);if(!n)return o;try{let s=parseFloat(n[1]);n[2]==="%"?s=s:(s<0&&(s=0),s>100&&(s=100));const t=parseFloat(n[3]),a=parseFloat(n[4]),c=n[5]!==void 0?n[5].includes("%")?parseFloat(n[5])/100:parseFloat(n[5]):null;return x(s,t,a,e,c)}catch(s){return console.warn(`\u65E0\u6CD5\u8F6C\u6362LAB\u989C\u8272: ${o}`,s),o}}function ie(o,e){const r=/lch\(\s*([\d.]+)(%?)\s+([\d.]+)\s+([\d.]+)(deg)?(?:\s*\/\s*([\d.%]+))?\s*\)/i,n=o.match(r);if(!n)return o;try{let s=parseFloat(n[1]);n[2]==="%"?s=s:(s<0&&(s=0),s>100&&(s=100));const t=parseFloat(n[3]);let a=parseFloat(n[4]);t<0&&console.warn(`LCH\u4E2D\u7684C\u503C\u4E0D\u80FD\u4E3A\u8D1F: ${t}`),a=(a%360+360)%360;const c=S(s,t,a),l=n[6]!==void 0?n[6].includes("%")?parseFloat(n[6])/100:parseFloat(n[6]):null;return x(c.L,c.a,c.b,e,l)}catch(s){return console.warn(`\u65E0\u6CD5\u8F6C\u6362LCH\u989C\u8272: ${o}`,s),o}}function S(o,e,r){const n=r*Math.PI/180,s=e*Math.cos(n),t=e*Math.sin(n);return{L:o,a:s,b:t}}function C(o,e,r){const n=(m,y,w)=>{const Q=(m+16)/116,O=y/500+Q,z=Q-w/200,ye=O**3>.008856?O**3:(116*O-16)/903.3,we=m>903.3*.008856?((m+16)/116)**3:m/903.3,$e=z**3>.008856?z**3:(116*z-16)/903.3;return[ye*.95047,we*1,$e*1.08883]},s=(m,y,w)=>{const $=[[3.2404542,-1.5371385,-.4985314],[-.969266,1.8760108,.041556],[.0556434,-.2040259,1.0572252]],R=$[0][0]*m+$[0][1]*y+$[0][2]*w,Y=$[1][0]*m+$[1][1]*y+$[1][2]*w,Z=$[2][0]*m+$[2][1]*y+$[2][2]*w;return[R,Y,Z]},t=m=>{const y=m<0?-1:1,w=Math.abs(m);return w<=.0031308?y*12.92*w:y*(1.055*Math.pow(w,.4166666666666667)-.055)},a=m=>Math.max(0,Math.min(255,Math.round(m*255))),[c,l,i]=n(o,e,r),[u,h,f]=s(c,l,i),p=t(u),d=t(h),b=t(f);return{r:a(p),g:a(d),b:a(b)}}function A(o,e,r){const n=(c,l,i)=>{const b=(c+16)/116,m=l/500+b,y=b-i/200,w=m**3>.008856?m**3:(116*m-16)/903.3,$=c>903.3*.008856?((c+16)/116)**3:c/903.3,R=y**3>.008856?y**3:(116*y-16)/903.3;return[w*.95047,$*1,R*1.08883]},s=(c,l,i)=>{const u=[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]],h=u[0][0]*c+u[0][1]*l+u[0][2]*i,f=u[1][0]*c+u[1][1]*l+u[1][2]*i,p=u[2][0]*c+u[2][1]*l+u[2][2]*i;return[h,f,p]},t=c=>{const l=c<0?-1:1,i=Math.abs(c);return i<=.0031308?l*12.92*i:l*(1.055*Math.pow(i,.4166666666666667)-.055)},a=c=>Math.max(0,Math.min(255,Math.round(c*255)));try{const[c,l,i]=n(o,e,r),[u,h,f]=s(c,l,i),p=t(u),d=t(h),b=t(f);return{r:Math.max(0,Math.min(1,p)),g:Math.max(0,Math.min(1,d)),b:Math.max(0,Math.min(1,b))}}catch(c){console.warn("P3\u8F6C\u6362\u5931\u8D25:",c);const l=C(o,e,r);return{r:l.r/255,g:l.g/255,b:l.b/255}}}function x(o,e,r,n,s=null){if(!n.enableP3||!I()){const t=C(o,e,r);return s!==null?`rgba(${t.r}, ${t.g}, ${t.b}, ${s})`:`rgb(${t.r}, ${t.g}, ${t.b})`}else{const t=A(o,e,r);return s!==null?`color(display-p3 ${t.r.toFixed(4)} ${t.g.toFixed(4)} ${t.b.toFixed(4)} / ${s})`:`color(display-p3 ${t.r.toFixed(4)} ${t.g.toFixed(4)} ${t.b.toFixed(4)})`}}function L(o,e){let r=o;return e.enableMath&&(r=oe(r,e)),(e.convertLabToRGB||e.convertLchToRGB)&&(r=ae(r,e)),r}function ue(o,e){const r=o.split(`
12
- `),n={},s=new Map;let t="",a=null,c=!1,l=0;for(let i of r){const u=i.trim(),h=u.match(/^\$([\w]+)\s*:\s*(.+?);?$/);if(h){const[,f,p]=h,d=L(U(p.trim(),{...n,...a?s.get(a)||{}:{}}),e);a?(s.has(a)||s.set(a,{}),s.get(a)[f]=d):n[f]=d;continue}if(u.endsWith("{")){a=u.slice(0,-1).trim(),c=!0,t+=i+`
11
+ `)}}function ee(o,e,r){if(!r.enableMacros||e.size===0)return o;const n=Array.from(e.keys()).map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),s=new RegExp(`@(${n})\\s*\\(([^)]*)\\)\\s*;?`,"g");return(a=>{let c=a,l=!1;do l=!1,c=c.replace(s,(i,u,h)=>{l=!0;const f=e.get(u);if(!f)return console.warn(`\u672A\u5B9A\u4E49\u7684\u5B8F: ${u}`),i;const p=j(h,f.params);return E(f.body,p,r)});while(l);return c})(o)}function j(o,e){const r=new Map,n=te(o);for(let s=0;s<e.length;s++){const t=e[s];let a;s<n.length?a=n[s]:t.defaultValue!==null?a=t.defaultValue:(console.warn(`\u5B8F\u8C03\u7528\u7F3A\u5C11\u5FC5\u9700\u53C2\u6570: ${t.name}`),a=""),r.set(t.name,a)}return n.length>e.length&&console.warn("\u5B8F\u8C03\u7528\u4F20\u9012\u4E86\u8FC7\u591A\u53C2\u6570\uFF0C\u591A\u4F59\u7684\u53C2\u6570\u5C06\u88AB\u5FFD\u7565"),r}function te(o){const e=[];let r="",n=!1,s="",t=0,a=0;for(let c=0;c<o.length;c++){const l=o[c];(l==='"'||l==="'")&&!n?(n=!0,s=l):l===s&&n&&(n=!1,s=""),n||(l==="("&&t++,l===")"&&t--,l==="["&&a++,l==="]"&&a--),l===","&&!n&&t===0&&a===0?(e.push(r.trim()),r=""):r+=l}return r.trim()&&e.push(r.trim()),e}function E(o,e,r){let n=o;for(const[s,t]of e){const a=new RegExp(`\\$${s}`,"g");n=n.replace(a,t)}if(r.enableMacros){const s=Array.from(M.keys()).map(t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|");if(s){const t=new RegExp(`@(${s})\\s*\\(([^)]*)\\)\\s*;?`,"g");let a;do a=!1,n=n.replace(t,(c,l,i)=>{a=!0;const u=M.get(l);if(!u)return c;const h=j(i,u.params);return E(u.body,h,r)});while(a)}}return n=v(n,r),n}function ne(o){return o.replace(/-([a-z])/g,function(e,r){return r.toUpperCase()})}function k(){if(R!==null)return R;if(typeof window>"u"||!window.CSS)return R=!1,!1;try{R=CSS.supports("color","color(display-p3 1 0 0)")}catch(o){console.warn("P3\u652F\u6301\u68C0\u6D4B\u5931\u8D25:",o),R=!1}return R}function H(o,e,r){let n=o.trim();if(n.endsWith(";")&&(n=n.slice(0,-1)),!n)return[];const s=[];let t="",a=0,c=!1,l="";for(let u=0;u<n.length;u++){const h=n[u];(h==='"'||h==="'")&&!c?(c=!0,l=h):h===l&&c&&(c=!1,l=""),c||(h==="("?a++:h===")"&&a--),h===";"&&!c&&a===0?t.trim()&&(s.push(t.trim()),t=""):t+=h}t.trim()&&s.push(t.trim());const i=[];for(let u of s){if(u=u.replace(/\/\*[\s\S]*?\*\//g,""),!u.trim())continue;const h=re(u);if(h===-1){console.warn(`\u65E0\u6548\u7684CSS\u58F0\u660E: "${u}"`);continue}let f=u.substring(0,h).trim(),p=u.substring(h+1).trim();if(p.endsWith(";")&&(p=p.slice(0,-1).trim()),e.get(f)&&(f=e.get(f)),f.startsWith("@")&&r.get(f.slice(1))){const d=r.get(f.slice(1)),b=j(p.split(" ").join(","),d.params);f=E(d.body,b,D),p=""}i.push({[f]:p})}return i}function re(o){let e=!1,r="";for(let n=0;n<o.length;n++){const s=o[n];if((s==='"'||s==="'")&&!e?(e=!0,r=s):s===r&&e&&(e=!1,r=""),s===":"&&!e)return n}return-1}function N(o,e){if(!e.enableMath)return`math(${o})`;try{let r=o.replace(/\s+/g,"");return se(r,e.enableMath)}catch(r){return console.warn("math()\u8868\u8FBE\u5F0F\u89E3\u6790\u5931\u8D25:",o,r),`calc(${o})`}}function se(o,e){return`calc(${o.replace(/([\da-z])([+-])(-?[\da-z])/g,"$1 $2 $3").replace(/([\da-z])([+-])(-?[\da-z])/g,"$1 $2 $3")})`}function oe(o,e){if(!e.enableMath)return o;let r=o;const n=/math\(([^)]+)\)/gi,s=a=>a.replace(n,(c,l)=>N(l,e));let t;do t=r,r=s(r);while(r!==t&&r.includes("math("));return r}function ae(o,e){if(!e.convertLabToRGB&&!e.convertLchToRGB)return o;let r=o;r=ce(r,e);const n=/(lab|lch)\([^)]+\)/gi,s=new Map,t=c=>c.replace(n,l=>{if(s.has(l))return s.get(l);let i=l;return l.toLowerCase().startsWith("lab(")?e.convertLabToRGB&&(i=le(l,e)):l.toLowerCase().startsWith("lch(")&&e.convertLchToRGB&&(i=ie(l,e)),s.set(l,i),i});let a;do a=r,r=t(r);while(r!==a);return r}function ce(o,e){let r=o;const n=/lab#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})/gi,s=/lch#([0-9a-f]{2})([0-9a-f]{2})(\d{1,3})/gi,t=new Map;return r=r.replace(n,(a,c,l,i)=>{if(t.has(a))return t.get(a);try{const u=parseInt(c,16)/255*100,h=(parseInt(l,16)-128)*1.5,f=(parseInt(i,16)-128)*1.5,p=L(u,h,f,e);return t.set(a,p),p}catch(u){return console.warn(`\u65E0\u6CD5\u89E3\u6790lab#\u5341\u516D\u8FDB\u5236\u989C\u8272: ${a}`,u),a}}),r=r.replace(s,(a,c,l,i)=>{if(t.has(a))return t.get(a);try{const u=parseInt(c,16)/255*100,h=parseInt(l,16)/255*150,f=parseInt(i)/100*360,p=x(u,h,f),d=L(p.L,p.a,p.b,e);return t.set(a,d),d}catch(u){return console.warn(`\u65E0\u6CD5\u89E3\u6790lch#\u5341\u516D\u8FDB\u5236\u989C\u8272: ${a}`,u),a}}),r}function le(o,e){const r=/lab\(\s*([\d.]+)(%?)\s+([\d.-]+)\s+([\d.-]+)(?:\s*\/\s*([\d.%]+))?\s*\)/i,n=o.match(r);if(!n)return o;try{let s=parseFloat(n[1]);n[2]==="%"?s=s:(s<0&&(s=0),s>100&&(s=100));const t=parseFloat(n[3]),a=parseFloat(n[4]),c=n[5]!==void 0?n[5].includes("%")?parseFloat(n[5])/100:parseFloat(n[5]):null;return L(s,t,a,e,c)}catch(s){return console.warn(`\u65E0\u6CD5\u8F6C\u6362LAB\u989C\u8272: ${o}`,s),o}}function ie(o,e){const r=/lch\(\s*([\d.]+)(%?)\s+([\d.]+)\s+([\d.]+)(deg)?(?:\s*\/\s*([\d.%]+))?\s*\)/i,n=o.match(r);if(!n)return o;try{let s=parseFloat(n[1]);n[2]==="%"?s=s:(s<0&&(s=0),s>100&&(s=100));const t=parseFloat(n[3]);let a=parseFloat(n[4]);t<0&&console.warn(`LCH\u4E2D\u7684C\u503C\u4E0D\u80FD\u4E3A\u8D1F: ${t}`),a=(a%360+360)%360;const c=x(s,t,a),l=n[6]!==void 0?n[6].includes("%")?parseFloat(n[6])/100:parseFloat(n[6]):null;return L(c.L,c.a,c.b,e,l)}catch(s){return console.warn(`\u65E0\u6CD5\u8F6C\u6362LCH\u989C\u8272: ${o}`,s),o}}function x(o,e,r){const n=r*Math.PI/180,s=e*Math.cos(n),t=e*Math.sin(n);return{L:o,a:s,b:t}}function C(o,e,r){const n=(m,y,w)=>{const Q=(m+16)/116,O=y/500+Q,z=Q-w/200,ye=O**3>.008856?O**3:(116*O-16)/903.3,we=m>903.3*.008856?((m+16)/116)**3:m/903.3,$e=z**3>.008856?z**3:(116*z-16)/903.3;return[ye*.95047,we*1,$e*1.08883]},s=(m,y,w)=>{const $=[[3.2404542,-1.5371385,-.4985314],[-.969266,1.8760108,.041556],[.0556434,-.2040259,1.0572252]],A=$[0][0]*m+$[0][1]*y+$[0][2]*w,Y=$[1][0]*m+$[1][1]*y+$[1][2]*w,Z=$[2][0]*m+$[2][1]*y+$[2][2]*w;return[A,Y,Z]},t=m=>{const y=m<0?-1:1,w=Math.abs(m);return w<=.0031308?y*12.92*w:y*(1.055*Math.pow(w,.4166666666666667)-.055)},a=m=>Math.max(0,Math.min(255,Math.round(m*255))),[c,l,i]=n(o,e,r),[u,h,f]=s(c,l,i),p=t(u),d=t(h),b=t(f);return{r:a(p),g:a(d),b:a(b)}}function P(o,e,r){const n=(c,l,i)=>{const b=(c+16)/116,m=l/500+b,y=b-i/200,w=m**3>.008856?m**3:(116*m-16)/903.3,$=c>903.3*.008856?((c+16)/116)**3:c/903.3,A=y**3>.008856?y**3:(116*y-16)/903.3;return[w*.95047,$*1,A*1.08883]},s=(c,l,i)=>{const u=[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]],h=u[0][0]*c+u[0][1]*l+u[0][2]*i,f=u[1][0]*c+u[1][1]*l+u[1][2]*i,p=u[2][0]*c+u[2][1]*l+u[2][2]*i;return[h,f,p]},t=c=>{const l=c<0?-1:1,i=Math.abs(c);return i<=.0031308?l*12.92*i:l*(1.055*Math.pow(i,.4166666666666667)-.055)},a=c=>Math.max(0,Math.min(255,Math.round(c*255)));try{const[c,l,i]=n(o,e,r),[u,h,f]=s(c,l,i),p=t(u),d=t(h),b=t(f);return{r:Math.max(0,Math.min(1,p)),g:Math.max(0,Math.min(1,d)),b:Math.max(0,Math.min(1,b))}}catch(c){console.warn("P3\u8F6C\u6362\u5931\u8D25:",c);const l=C(o,e,r);return{r:l.r/255,g:l.g/255,b:l.b/255}}}function L(o,e,r,n,s=null){if(!n.enableP3||!k()){const t=C(o,e,r);return s!==null?`rgba(${t.r}, ${t.g}, ${t.b}, ${s})`:`rgb(${t.r}, ${t.g}, ${t.b})`}else{const t=P(o,e,r);return s!==null?`color(display-p3 ${t.r.toFixed(4)} ${t.g.toFixed(4)} ${t.b.toFixed(4)} / ${s})`:`color(display-p3 ${t.r.toFixed(4)} ${t.g.toFixed(4)} ${t.b.toFixed(4)})`}}function v(o,e){let r=o;return e.enableMath&&(r=oe(r,e)),(e.convertLabToRGB||e.convertLchToRGB)&&(r=ae(r,e)),r}function ue(o,e){const r=o.split(`
12
+ `),n={},s=new Map;let t="",a=null,c=!1,l=0;for(let i of r){const u=i.trim(),h=u.match(/^\$([\w]+)\s*:\s*(.+?);?$/);if(h){const[,f,p]=h,d=v(U(p.trim(),{...n,...a?s.get(a)||{}:{}}),e);a?(s.has(a)||s.set(a,{}),s.get(a)[f]=d):n[f]=d;continue}if(u.endsWith("{")){a=u.slice(0,-1).trim(),c=!0,t+=i+`
13
13
  `;continue}if(u==="}"){if(c&&a&&s.has(a)){const f=s.get(a),p=" ".repeat(l);for(const[d,b]of Object.entries(f))t+=`${p} --${d}: ${b};
14
14
  `}c=!1,a=null}t+=i+`
15
15
  `,i.includes("{")&&(l+=e.indentSize),i.includes("}")&&(l=Math.max(0,l-e.indentSize))}return{globalVariables:n,selectorVariables:s,cssWithoutVars:t.trim()}}function fe(o,e,r,n){const s=o.split(`
16
- `),t=[],a=[];let c=0;for(let l=0;l<s.length;l++){const i=s[l],u=i.trim();if(!u)continue;const h=i.match(/^(\s*)/)[0].length;if(u==="}"){if(t.length>0){const f=t.pop();if(t.length>0){const p=t[t.length-1];p.children||(p.children=[]),p.children.push(f)}else a.push(f)}continue}if(u.endsWith("{")){const p={selector:u.slice(0,-1).trim(),properties:[],children:[]};t.push(p);continue}if(!u.includes("{")&&!u.includes("}")&&u.includes(":")){if(t.length>0){const f=t[t.length-1];H(u,r,n).forEach(d=>{const b=Object.keys(d)[0],m=L(d[b],e);f.properties.push(m===""?b:`${b}: ${m}`)})}continue}}for(;t.length>0;){const l=t.pop();if(t.length===0)a.push(l);else{const i=t[t.length-1];i.children||(i.children=[]),i.children.push(l)}}return G(a,e,"",r,n)}function G(o,e,r="",n,s){let t="";const a=r.startsWith("@");for(const c of o){const l=c.selector.startsWith("@");let i=(a?" ".repeat(e.indentSize):"")+c.selector;if(l&&(i=c.selector+` {
16
+ `),t=[],a=[];let c=0;for(let l=0;l<s.length;l++){const i=s[l],u=i.trim();if(!u)continue;const h=i.match(/^(\s*)/)[0].length;if(u==="}"){if(t.length>0){const f=t.pop();if(t.length>0){const p=t[t.length-1];p.children||(p.children=[]),p.children.push(f)}else a.push(f)}continue}if(u.endsWith("{")){const p={selector:u.slice(0,-1).trim(),properties:[],children:[]};t.push(p);continue}if(!u.includes("{")&&!u.includes("}")&&u.includes(":")){if(t.length>0){const f=t[t.length-1];H(u,r,n).forEach(d=>{const b=Object.keys(d)[0],m=v(d[b],e);f.properties.push(m===""?b:`${b}: ${m}`)})}continue}}for(;t.length>0;){const l=t.pop();if(t.length===0)a.push(l);else{const i=t[t.length-1];i.children||(i.children=[]),i.children.push(l)}}return G(a,e,"",r,n)}function G(o,e,r="",n,s){let t="";const a=r.startsWith("@");for(const c of o){const l=c.selector.startsWith("@");let i=(a?" ".repeat(e.indentSize):"")+c.selector;if(l&&(i=c.selector+` {
17
17
  `),r&&(i.includes("&")?i=i.replace(/&/g,r):i.trim().startsWith(":")?i=r+i:i=r+(a?"":" ")+i),c.properties.length>0){t+=(l?"":i)+` {
18
- `;for(const u of c.properties)H(u,n,s).forEach(f=>{const p=Object.keys(f)[0],d=L(f[p],e);t+=(a?" ".repeat(e.indentSize):"")+" ".repeat(e.indentSize)+(d===""?p:`${p}: ${d};
18
+ `;for(const u of c.properties)H(u,n,s).forEach(f=>{const p=Object.keys(f)[0],d=v(f[p],e);t+=(a?" ".repeat(e.indentSize):"")+" ".repeat(e.indentSize)+(d===""?p:`${p}: ${d};
19
19
  `)});t+=a?" ".repeat(e.indentSize)+`}
20
20
  `:`}
21
21
 
@@ -23,11 +23,11 @@
23
23
 
24
24
  `)}return t.trim()+`
25
25
 
26
- `}function U(o,e){return o.replace(/\$([\w]+)(\W?)/g,(r,n,s)=>e[n]?`var(--${n})${s}`:r)}function pe(o,e,r,n){let s=o;return s=s.replace(/(?:\$\$|\$)([\w]+)(\W?)/g,(t,a,c)=>t.startsWith("$$")?`attr(${a})${c}`:`var(--${a})${c}`),s=L(s,n),s}function he(o,e){if(Object.keys(o).length===0)return"";const r=Object.entries(o).map(([n,s])=>{const t=L(U(s,o),e);return" ".repeat(e.indentSize)+`--${n}: ${t};`}).join(`
26
+ `}function U(o,e){return o.replace(/\$([\w]+)(\W?)/g,(r,n,s)=>e[n]?`var(--${n})${s}`:r)}function pe(o,e,r,n){let s=o;return s=s.replace(/(?:\$\$|\$)([\w]+)(\W?)/g,(t,a,c)=>t.startsWith("$$")?`attr(${a})${c}`:`var(--${a})${c}`),s=v(s,n),s}function he(o,e){if(Object.keys(o).length===0)return"";const r=Object.entries(o).map(([n,s])=>{const t=v(U(s,o),e);return" ".repeat(e.indentSize)+`--${n}: ${t};`}).join(`
27
27
  `);return`${e.rootSelector} {
28
28
  ${r}
29
29
  }
30
30
 
31
31
  `}function de(o,e,r){let n="";const s=o.split(`
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+=L(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&&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}=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[$,R]of l)M.set($,R)}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 B)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 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 D(o={}){g={...g,...o}}function j(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",()=>{q(r)}):q(r)}const ge={convert:P,apply:j,config:D,supportsP3:I(),detectP3Support:I,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){return(o.created??(()=>{}))(),B.set(o.name,o),!0},remove(o){return(B.get(o).deleted??(()=>{}))(),B.delete(o),!0}},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 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:S,lchToRGB:function(o,e,r){const n=S(o,e,r);return C(n.L,n.a,n.b)},labToP3:A,lchToP3:function(o,e,r){const n=S(o,e,r);return A(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=S(t,a,c);return C(l.L,l.a,l.b)},generateColor:function(o,e,r,n=null,s=!0){return x(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=x(n,s,t,g,a);return{L:n,A:s,B:t,alpha:a,rgb:C(n,s,t),p3:A(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=S(n,s,t),l=x(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:A(c.L,c.a,c.b),colorString:l}}return null}catch(e){return console.warn("\u65E0\u6CD5\u89E3\u6790\u989C\u8272:",o,e),null}}}},T=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 P(e,{...g,...o[1]});return r&&typeof r.then=="function",r}return typeof e=="object"&&e!==null?(g={...g,...e},T):o.length===0?j():T};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 P(r,g);return n&&typeof n.then=="function",n}return Object.assign(T,ge),Object.setPrototypeOf(T,Function.prototype),typeof window<"u"&&(j(),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)}})}})),T})();if(typeof define=="function"&&define.amd)define([],g=>F);else if(typeof module=="object"&&module.exports)module.exports=F;else{const g=globalThis??(typeof self<"u"&&self)??(typeof window<"u"&&window)??global??{};g.styimat=F}export default F;export const{convert,apply,config,supportsP3,detectP3Support,imports,plugins,aliases,macros,math,colorUtils}=F;
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;
package/dist/styimat.mjs CHANGED
@@ -1475,16 +1475,22 @@ const styimat = (function() {
1475
1475
 
1476
1476
  plugins: {
1477
1477
  use(plugin) {
1478
- const createdFunc = plugin.created ?? (() => {});
1479
- createdFunc();
1480
- pluginMap.set(plugin.name, plugin);
1478
+ const pluginObj = new plugin();
1479
+ pluginMap.set(plugin.name, pluginObj);
1481
1480
  return true;
1482
1481
  },
1483
1482
  remove(name) {
1484
- const deletedFunc = pluginMap.get(name).deleted ?? (() => {});
1485
- deletedFunc();
1483
+ if (pluginMap.get(name).destroy) {
1484
+ pluginMap.get(name).destroy()
1485
+ }
1486
1486
  pluginMap.delete(name);
1487
1487
  return true;
1488
+ },
1489
+ getAll: function() {
1490
+ return Array.from(pluginMap.entries());
1491
+ },
1492
+ clear: function() {
1493
+ pluginMap.clear();
1488
1494
  }
1489
1495
  },
1490
1496
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "styimat",
3
- "version": "6.0.2",
3
+ "version": "7.0.0",
4
4
  "description": "一个高效的CSS变量预处理库,支持Lab/LCH颜色空间自动转换、嵌套选择器和Display P3广色域,让现代CSS开发更简洁强大。",
5
5
  "keywords": [
6
6
  "css",