@fwkui/x-css 1.0.15 → 1.0.16

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
@@ -250,6 +250,48 @@ export function Button({ primary, children }) {
250
250
  }
251
251
  ```
252
252
 
253
+ ## Shared Instance (Khởi Tạo Một Lần)
254
+
255
+ Nếu bạn muốn tái sử dụng cùng một instance (giữ mapping key ổn định), dùng factory:
256
+
257
+ ```ts
258
+ import { createSharedInstance } from '@fwkui/x-css';
259
+
260
+ export const fx = createSharedInstance({
261
+ prefix: 'fk-',
262
+ cache: {
263
+ styleId: 'fwkui',
264
+ version: 'v1',
265
+ compression: true,
266
+ debounceMs: 1000
267
+ }
268
+ });
269
+
270
+ // Browser: gọi 1 lần khi app khởi động
271
+ fx.observe(document);
272
+
273
+ // Dùng ở mọi nơi
274
+ const className = fx.clsx('fk-dF fk-aiC fk-jcC fk-p10px;16px');
275
+
276
+ // Nếu dictionaryImport là true/string và cần chắc chắn CSS đã sẵn sàng:
277
+ await fx.ready();
278
+
279
+ // SSR / debug
280
+ const cssText = fx.getCss();
281
+ ```
282
+
283
+ Alias tương đương:
284
+
285
+ ```ts
286
+ import { createSharedClsx } from '@fwkui/x-css';
287
+ const fx = createSharedClsx({ prefix: 'fk-' });
288
+ ```
289
+
290
+ Quy tắc dùng ổn định:
291
+ 1. Tạo shared instance đúng 1 lần ở bootstrap.
292
+ 2. Không khởi tạo lại instance ở mỗi lần render component.
293
+ 3. Giữ nguyên `prefix/cache` trong suốt vòng đời app để key hash ổn định.
294
+
253
295
  ## Cấu Hình
254
296
 
255
297
  ```js
@@ -309,9 +351,9 @@ Lưu ý format output:
309
351
  2. Token không parse được hoặc bị exclude sẽ giữ nguyên ở output.
310
352
 
311
353
  Lưu ý khi dùng cùng `prefix`:
312
- 1. Engine kiểm tra `prefix` trước, rồi mới kiểm tra `excludes`/`excludePrefixes`.
313
- 2. Nếu `prefix: 'fk-'`, class không bắt đầu bằng `fk-` đã bị bỏ qua từ đầu.
314
- 3. vậy pattern excludes nên viết theo class thực tế sau khi thêm prefix, ví dụ `excludes: ['fk-bs-*']`, `excludePrefixes: ['fk-rs-']`.
354
+ 1. Engine kiểm tra `excludes`/`excludePrefixes` trước, sau đó mới kiểm tra `prefix`.
355
+ 2. Nếu token match exclude thì giữ nguyên class gốc không parse tiếp.
356
+ 3. Nếu `prefix: 'fk-'`, token không bắt đầu bằng `fk-` sẽ giữ nguyên class gốc.
315
357
  4. `exclude` vẫn được hỗ trợ để tương thích ngược, nhưng key khuyến nghị là `excludes`.
316
358
 
317
359
  `dictionaryImport`:
@@ -1,5 +1,5 @@
1
1
  import _default from './index.mjs';
2
- export { BootloaderScriptOptions, XCSSConfig, clsx, getBootloaderScript, getCss, setClsxRoot } from './index.mjs';
2
+ export { BootloaderScriptOptions, SharedXCSSInstance, XCSSConfig, clsx, createSharedClsx, createSharedInstance, getBootloaderScript, getCss, observe, ready, setClsxRoot } from './index.mjs';
3
3
 
4
4
 
5
5
 
@@ -1,5 +1,5 @@
1
1
  import _default from './index.js';
2
- export { BootloaderScriptOptions, XCSSConfig, clsx, getBootloaderScript, getCss, setClsxRoot } from './index.js';
2
+ export { BootloaderScriptOptions, SharedXCSSInstance, XCSSConfig, clsx, createSharedClsx, createSharedInstance, getBootloaderScript, getCss, observe, ready, setClsxRoot } from './index.js';
3
3
 
4
4
 
5
5
 
@@ -1,14 +1,14 @@
1
- "use strict";var xe=Object.defineProperty;var it=Object.getOwnPropertyDescriptor;var at=Object.getOwnPropertyNames;var ct=Object.prototype.hasOwnProperty;var lt=(e,t)=>{for(var n in t)xe(e,n,{get:t[n],enumerable:!0})},dt=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of at(t))!ct.call(e,i)&&i!==n&&xe(e,i,{get:()=>t[i],enumerable:!(s=it(t,i))||s.enumerable});return e};var ut=e=>dt(xe({},"__esModule",{value:!0}),e);var Mt={};lt(Mt,{clsx:()=>Pt,default:()=>Kt,getBootloaderScript:()=>Fe,getCss:()=>Xt,setClsxRoot:()=>$t});module.exports=ut(Mt);var Le=e=>(e=e||new Map,{all:e,on(t,n){let s=e.get(t);s?s.push(n):e.set(t,[n])},off(t,n){let s=e.get(t);s&&(n?s.splice(s.indexOf(n)>>>0,1):e.set(t,[]))},emit(t,n){let s=e.get(t);s&&s.slice().forEach(u=>{u(n)});let i=e.get("*");i&&i.slice().forEach(u=>{u(t,n)})}});function ft(e,t,n){let s=0;for(let i=t;i<n;i++){let u=e.charCodeAt(i);if(u===91){s++;continue}if(u===93){s>0&&s--;continue}if(u===58&&s===0)return i}return-1}function pt(e,t,n){let s=0;for(let i=n-1;i>=t;i--){let u=e.charCodeAt(i);if(u===93){s++;continue}if(u===91){s>0&&s--;continue}if(u===64&&s===0)return i}return-1}function yt(e,t,n){let s=0;for(let i=t;i<n;i++){let u=e.charCodeAt(i);if(u===91){s++;continue}if(u===93){if(s===0)return!1;s--}}return s===0}function ht(e){return e>=97&&e<=122}function ce(e){if(!e||e.length<2||!yt(e,0,e.length))return null;let t=0,n=e.length,s="",i=pt(e,t,n);i>t&&(s=e.substring(i+1,n),n=i);let u="",b="",w=ft(e,t,n);if(w>0&&w<n){let x=e.substring(t,w);t=w+1,u=x}let T=t;for(;T<n;){let x=e.charCodeAt(T);if(x>=48&&x<=57)T++;else break}if(T>t&&(b=e.substring(t,T),t=T),t>=n||e.charCodeAt(t)===38)return null;if(e.charCodeAt(t)===91){let x=e.indexOf("]",t);if(x>t)return{mq:u,layer:b,prop:e.substring(t,x+1),val:"",selector:s}}let E=t;for(;E<n;){let x=e.charCodeAt(E);if(x===45||x===46){if(E+1<n){let X=e.charCodeAt(E+1);if(x===45&&X===45&&E>t||X>=48&&X<=57)break}E++;continue}if(!ht(x))break;E++}if(E===t)return null;let R=e.substring(t,E),A=e.substring(E,n);return{mq:u,layer:b,prop:R,val:A,selector:s}}var q="xcss_cache_v1",He=e=>{let t=typeof e?.styleId=="string"&&e.styleId.trim()?e.styleId.trim():"fwkui",n=typeof e?.version=="string"&&e.version.trim()?e.version.trim():"v1",s=e?.compression??!0,i=typeof e?.debounceMs=="number"&&e.debounceMs>=0?e.debounceMs:1e3;return{styleId:t,version:n,compression:s,debounceMs:i}},gt=e=>`${e.styleId}_cache_${e.version}`,We=e=>{if(!e||typeof e!="object")return!1;let t=e;return t.__xcss_cache_v===2&&t.compressed===!0&&typeof t.payload=="string"},Ee=e=>{if(!e||typeof e!="object")return!1;let t=e;return t.__xcss_cache_v===3&&t.compressed===!0&&t.algorithm==="deflate-raw"&&t.encoding==="base64"&&typeof t.payload=="string"},Ue=()=>typeof CompressionStream<"u"&&typeof Blob<"u"&&typeof Response<"u",Ve=()=>typeof DecompressionStream<"u"&&typeof Blob<"u"&&typeof Response<"u",St=e=>{if(typeof btoa=="function"){let n="";for(let i=0;i<e.length;i+=32768){let u=e.subarray(i,i+32768);for(let b=0;b<u.length;b++)n+=String.fromCharCode(u[b])}return btoa(n)}let t=globalThis.Buffer;if(typeof t<"u")return t.from(e).toString("base64");throw new Error("XCSS: base64 encoding is not supported in this runtime")},mt=e=>{if(typeof atob=="function"){let n=atob(e),s=new Uint8Array(n.length);for(let i=0;i<n.length;i++)s[i]=n.charCodeAt(i);return s}let t=globalThis.Buffer;if(typeof t<"u")return new Uint8Array(t.from(e,"base64"));throw new Error("XCSS: base64 decoding is not supported in this runtime")},Ct=async e=>{if(!Ue())throw new Error("XCSS: CompressionStream is not supported");let t=new Blob([e]).stream().pipeThrough(new CompressionStream("deflate-raw")),n=await new Response(t).arrayBuffer();return St(new Uint8Array(n))},bt=async e=>{if(!Ve())throw new Error("XCSS: DecompressionStream is not supported");let t=mt(e),n=new Uint8Array(t.length);n.set(t);let s=new Blob([n.buffer]).stream().pipeThrough(new DecompressionStream("deflate-raw"));return await new Response(s).text()},wt=e=>{try{let t=JSON.parse(e);return Ee(t)}catch{return!1}},xt=e=>{if(!e)return"";let t=new Map,n=[],s=256;for(let u=0;u<256;u++)t.set(String.fromCharCode(u),u);let i=e[0];for(let u=1;u<e.length;u++){let b=e[u],w=i+b;t.has(w)?i=w:(n.push(t.get(i)),t.set(w,s++),i=b)}return n.push(t.get(i)),n.map(u=>String.fromCharCode(u)).join("")},Ne=e=>{if(!e)return"";let t=new Map,n=256,s="";for(let w=0;w<256;w++)t.set(w,String.fromCharCode(w));let i=e.split("").map(w=>w.charCodeAt(0)),u=i[0],b=t.get(u)||"";s=b;for(let w=1;w<i.length;w++){let T=i[w],E=t.get(T);E||(E=T===n?b+b[0]:""),s+=E,t.set(n++,b+E[0]),b=E}return s},Re=e=>{if(!e||typeof e!="object")return null;let t=e,n=t.default&&typeof t.default=="object"?t.default:t,s=n.SHORT_PROPERTIES,i=n.COMMON_VALUES,u=n.SPECIFIC_VALUES;return!s||!i||!u||typeof s!="object"||typeof i!="object"||typeof u!="object"?null:{SHORT_PROPERTIES:s,COMMON_VALUES:i,SPECIFIC_VALUES:u}},vt=async e=>{let t=await import(e),n=Re(t);if(!n)throw new Error(qe);return n},qe="XCSS: dictionary module must export SHORT_PROPERTIES, COMMON_VALUES and SPECIFIC_VALUES",Ze=()=>{let e=typeof require=="function"?require:null;if(!e)return null;for(let t of["./dictionary.js","./dictionary"])try{let n=e(t),s=Re(n);if(s)return s}catch{}return null},Et=async()=>{let e=Ze();if(e)return e;let t=["./dictionary.mjs","./dictionary.js","./dictionary"],n=null;for(let s of t)try{let i=await import(s),u=Re(i);if(u)return u}catch(i){n=i}throw n||new Error(qe)},Rt=(e,t)=>{if(!e||typeof document>"u")return;t=t||"fwkui";let n=Array.from({length:24},(s,i)=>"l"+i);if(!e.querySelector('style[id="'+t+'"]')){let s=document.createElement("style");if(s.id=t,!(e instanceof ShadowRoot))document.head.append(s);else try{e.prepend(s)}catch{e.appendChild(s)}let i=`@layer ${n.join(", ")};`,u=setInterval(()=>{if(s.sheet){clearInterval(u);try{s.sheet.insertRule(i,s.sheet.cssRules.length)}catch{}}},10)}},Dt=e=>{let t=Array.isArray(e.excludes)?e.excludes:Array.isArray(e.exclude)?e.exclude:[],n=He(e.cache),s=JSON.stringify({base:e.base||"",aliases:e.aliases||{},breakpoints:e.breakpoints||[],theme:e.theme||{},prefix:e.prefix||"",excludes:t,excludePrefixes:e.excludePrefixes||[],dictionaryImport:e.dictionaryImport??!0,cache:n}),i=0;if(s.length===0)return i.toString();for(let u=0;u<s.length;u++){let b=s.charCodeAt(u);i=(i<<5)-i+b,i|=0}return i.toString()},ve=e=>{if(!e)return null;try{let t=JSON.parse(e);if(We(t)){let n=Ne(t.payload);return n?JSON.parse(n):null}return Ee(t)?null:t}catch{return null}},Tt=async e=>{if(!e)return null;try{let t=JSON.parse(e);if(We(t)){let n=Ne(t.payload);return n?JSON.parse(n):null}if(Ee(t)){let n=await bt(t.payload);return n?JSON.parse(n):null}return t}catch{return null}},Be=(e,t)=>{if(e==="root")return t;let n=/@media[^{]+\{\n?([\s\S]+)\n?\}/.exec(t);return n&&n[1]?n[1].trim():t},De=(e={base:"",aliases:{},excludes:[],excludePrefixes:[],breakpoints:[],theme:{},prefix:"",dictionaryImport:!0,cache:{styleId:"fwkui",version:"v1",compression:!0,debounceMs:1e3}})=>{let{base:t=null,breakpoints:n=[],aliases:s={},theme:i={},excludes:u=[],exclude:b=[],excludePrefixes:w=[],prefix:T="",dictionaryImport:E=!0,cache:R={}}=e||{};Array.isArray(n)||(n=[]),Array.isArray(u)||(u=[]),Array.isArray(b)||(b=[]),Array.isArray(w)||(w=[]),(!s||typeof s!="object")&&(s={}),(!i||typeof i!="object")&&(i={});let A=He(R),x=gt(A),X=[...u,...b],Z=w.filter(r=>typeof r=="string").map(r=>r.trim()).filter(r=>r.length>0),ke=r=>{let o=r.replace(/[.+?^${}()|[\]\\]/g,"\\$&");return new RegExp("^"+o.replace(/\*/g,".*")+"$")},K=X.filter(r=>typeof r=="string").map(r=>r.trim()).filter(r=>r.length>0).map(r=>{if(r.includes("*")){let o=ke(r);return l=>o.test(l)}return o=>o===r}),re=r=>Z.some(o=>r.startsWith(o))?!0:K.some(o=>o(r)),Ie=r=>!(re(r)||T&&!r.startsWith(T)),Je=["default","xs","sm","md","lg","xl","2xl","sma","mda","lga","xla"],ze=n.filter(r=>!!r&&typeof r=="object"&&!Array.isArray(r)).map(r=>Object.keys(r)[0]).filter(r=>typeof r=="string"&&r.length>0),Ye=new Set([...Je,...ze]),ue=r=>!r||Ye.has(r),Ge=E!==!1,Qe=new Set(["mx","my","px","py","bdx","bdy"]),fe=new Set,pe=r=>r?!Ge||!V||Object.keys(V).length===0?!0:!!V[r]||Qe.has(r)||fe.has(r):!1,V={},ne={},ye={},he={},Oe=()=>{he={...ye,...i}},F=r=>{if(!r){V={},ne={},ye={},fe=new Set,Oe();return}V=r.SHORT_PROPERTIES,ne=r.SPECIFIC_VALUES,ye=r.COMMON_VALUES,fe=new Set(Object.values(V)),Oe()},J=!0,se=Promise.resolve();if(E===!1)F(null);else if(typeof E=="string")J=!1,F(null),se=vt(E).then(r=>{F(r)}).catch(r=>{console.warn("XCSS: Failed to import dictionary from URL",r)}).finally(()=>{J=!0});else{let r=Ze();r?F(r):(J=!1,F(null),se=Et().then(o=>{F(o)}).catch(o=>{console.warn("XCSS: Failed to load built-in dictionary module",o)}).finally(()=>{J=!0}))}let G=null,et=(r=typeof document<"u"?document:void 0)=>{let o=typeof window<"u"&&typeof document<"u",l=null,g=Array.isArray(t)?t.length>0:!!t;r&&(l="getRootNode"in r?r.getRootNode():r);let p=new Map;o&&l&&Rt(l,A.styleId);let v=Le(),_=[{default:""},{xs:"screen and (max-width: 575px)"},{sm:"screen and (min-width: 576px)"},{md:"screen and (min-width: 768px)"},{lg:"screen and (min-width: 992px)"},{xl:"screen and (min-width: 1200px)"},{"2xl":"screen and (min-width: 1400px)"},{sma:"screen and (max-width: 768px)"},{mda:"screen and (max-width: 992px)"},{lga:"screen and (max-width: 1200px)"},{xla:"screen and (max-width: 1400px)"},...n],y=_.filter((a,d)=>_.findLastIndex(c=>Object.keys(c)[0]==Object.keys(a)[0])==d),C=y.map(a=>Object.keys(a)[0]),f={},D={},S={root:""},M={root:[]},L={root:!1},Q=Dt(e),z=null,k=0,j=!1,O=null,Y=null,W=[],B=a=>{try{window.localStorage.setItem(x,a)}catch(d){console.warn("XCSS: Failed to save cache",d)}},oe=(a,d)=>{!o||!window.localStorage||typeof d=="string"&&window.localStorage.getItem(a)!==d||window.localStorage.removeItem(a)},N=a=>{if(!o||!window.localStorage)return;G=a;let d=++k;try{let c=JSON.stringify(a),h=()=>{let m={__xcss_cache_v:2,compressed:!0,payload:xt(c)};B(JSON.stringify(m))};if(!A.compression){B(c);return}if(Ue()&&Ve()){Ct(c).then(m=>{if(d!==k)return;B(JSON.stringify({__xcss_cache_v:3,compressed:!0,algorithm:"deflate-raw",encoding:"base64",payload:m}))}).catch(()=>{d===k&&h()});return}h()}catch(c){console.warn("XCSS: Failed to save cache",c)}},ie=()=>{o&&(z&&clearTimeout(z),z=setTimeout(()=>{let a={};for(let h in f)a[h]=Array.from(f[h]);let d={};Object.keys(S).forEach(h=>{if(h==="root")d[h]=S[h];else{let m=_.find($=>Object.keys($)[0]===h)?.[h];m&&S[h]?d[h]=`@media ${m} {
2
- ${S[h]}
3
- }`:d[h]=S[h]||""}});let c={configHash:Q,cssText:d,rulesSet:a,keys:Array.from(p.entries())};N(c)},A.debounceMs))};if(o&&window.localStorage)try{let a=x===q?[x]:[x,q];for(let d of a){let c=window.localStorage.getItem(d);if(!c)continue;let h=ve(c);if(!h){if(wt(c)){W.push({key:d,raw:c});continue}window.localStorage.removeItem(d);continue}if(h.configHash!==Q){window.localStorage.removeItem(d);continue}O=h,Y=d,j=!0;break}if(O){if(O.keys&&O.keys.forEach(([d,c])=>p.set(d,c)),O.cssText)for(let d in O.cssText){let c=O.cssText[d];S[d]=Be(d,c)}G=O}}catch(a){console.error(a)}o&&(D.root=new CSSStyleSheet),C.forEach(a=>{if(f[a]=new Set,o){let d=y.find(c=>Object.keys(c)[0]==a)?.[a]||"";D[a]=new CSSStyleSheet({media:d})}j||(S[a]=""),M[a]=[],L[a]=!1});let I=()=>{if(!l)return;let a=l.querySelector(`style[id="${A.styleId}"]`);a&&a.remove()},ae=(a,d)=>{if(a.keys&&a.keys.forEach(([c,h])=>p.set(c,h)),a.cssText)for(let c in a.cssText){if(c==="root"&&g)continue;let h=Be(c,a.cssText[c]);S[c]=h,o&&D[c]&&D[c].replaceSync(h)}if(a.rulesSet)for(let c in a.rulesSet)f[c]||(f[c]=new Set),a.rulesSet[c].forEach(h=>f[c].add(h));o&&window.localStorage&&d===q&&x!==q&&(N(a),window.localStorage.removeItem(q)),G=a,I()};j&&O&&ae(O,Y),t&&Array.isArray(t)?(S.root=t.join(`
4
- `),o&&D.root&&D.root.replaceSync(S.root)):(S.root=t||"",o&&D.root&&D.root.replaceSync(S.root)),o&&l&&["root",...C].forEach(a=>{D[a]&&l?.adoptedStyleSheets&&(l.adoptedStyleSheets.includes(D[a])||(l.adoptedStyleSheets=[...l.adoptedStyleSheets,D[a]]))}),o&&window.localStorage&&W.length>0&&(async()=>{for(let a of W){let d=await Tt(a.raw);if(!d){oe(a.key,a.raw);continue}if(d.configHash!==Q){oe(a.key,a.raw);continue}if(!j){j=!0,O=d,Y=a.key,ae(d,a.key);break}}})();let me=(a,d)=>{let{media:c,property:h,selector:m,layer:$,className:P}=d,U=S,H=M,be=L;$=Number($)||0;let Ke=p.get(a),ot=Ke?`.${Ke}${m}`:`.${P}${m}`;var we=`@layer l${$}{${ot}{${h}}}`;f[c]||(f[c]=new Set);let Me=f[c];if(!Me.has(we))if(Me.add(we),H[c]||(H[c]=[]),H[c].push(we),o)be[c]||(be[c]=!0,queueMicrotask(()=>{let te=H[c],je=D[c];te.length>0&&(U[c]+=(U[c]?`
1
+ "use strict";var xe=Object.defineProperty;var at=Object.getOwnPropertyDescriptor;var ct=Object.getOwnPropertyNames;var lt=Object.prototype.hasOwnProperty;var dt=(e,t)=>{for(var r in t)xe(e,r,{get:t[r],enumerable:!0})},ut=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ct(t))!lt.call(e,o)&&o!==r&&xe(e,o,{get:()=>t[o],enumerable:!(s=at(t,o))||s.enumerable});return e};var ft=e=>ut(xe({},"__esModule",{value:!0}),e);var Vt={};dt(Vt,{clsx:()=>Lt,createSharedClsx:()=>Mt,createSharedInstance:()=>Kt,default:()=>Ut,getBootloaderScript:()=>Je,getCss:()=>Ht,observe:()=>jt,ready:()=>Wt,setClsxRoot:()=>Bt});module.exports=ft(Vt);var Be=e=>(e=e||new Map,{all:e,on(t,r){let s=e.get(t);s?s.push(r):e.set(t,[r])},off(t,r){let s=e.get(t);s&&(r?s.splice(s.indexOf(r)>>>0,1):e.set(t,[]))},emit(t,r){let s=e.get(t);s&&s.slice().forEach(d=>{d(r)});let o=e.get("*");o&&o.slice().forEach(d=>{d(t,r)})}});function pt(e,t,r){let s=0;for(let o=t;o<r;o++){let d=e.charCodeAt(o);if(d===91){s++;continue}if(d===93){s>0&&s--;continue}if(d===58&&s===0)return o}return-1}function yt(e,t,r){let s=0;for(let o=r-1;o>=t;o--){let d=e.charCodeAt(o);if(d===93){s++;continue}if(d===91){s>0&&s--;continue}if(d===64&&s===0)return o}return-1}function gt(e,t,r){let s=0;for(let o=t;o<r;o++){let d=e.charCodeAt(o);if(d===91){s++;continue}if(d===93){if(s===0)return!1;s--}}return s===0}function St(e){return e>=97&&e<=122}function ce(e){if(!e||e.length<2||!gt(e,0,e.length))return null;let t=0,r=e.length,s="",o=yt(e,t,r);o>t&&(s=e.substring(o+1,r),r=o);let d="",C="",g=pt(e,t,r);if(g>0&&g<r){let R=e.substring(t,g);t=g+1,d=R}let _=t;for(;_<r;){let R=e.charCodeAt(_);if(R>=48&&R<=57)_++;else break}if(_>t&&(C=e.substring(t,_),t=_),t>=r||e.charCodeAt(t)===38)return null;if(e.charCodeAt(t)===91){let R=e.indexOf("]",t);if(R>t)return{mq:d,layer:C,prop:e.substring(t,R+1),val:"",selector:s}}let E=t;for(;E<r;){let R=e.charCodeAt(E);if(R===45||R===46){if(E+1<r){let w=e.charCodeAt(E+1);if(R===45&&w===45&&E>t||w>=48&&w<=57)break}E++;continue}if(!St(R))break;E++}if(E===t)return null;let re=e.substring(t,E),B=e.substring(E,r);return{mq:d,layer:C,prop:re,val:B,selector:s}}var N="xcss_cache_v1",We=e=>{let t=typeof e?.styleId=="string"&&e.styleId.trim()?e.styleId.trim():"fwkui",r=typeof e?.version=="string"&&e.version.trim()?e.version.trim():"v1",s=e?.compression??!0,o=typeof e?.debounceMs=="number"&&e.debounceMs>=0?e.debounceMs:1e3;return{styleId:t,version:r,compression:s,debounceMs:o}},ht=e=>`${e.styleId}_cache_${e.version}`,Ue=e=>{if(!e||typeof e!="object")return!1;let t=e;return t.__xcss_cache_v===2&&t.compressed===!0&&typeof t.payload=="string"},ve=e=>{if(!e||typeof e!="object")return!1;let t=e;return t.__xcss_cache_v===3&&t.compressed===!0&&t.algorithm==="deflate-raw"&&t.encoding==="base64"&&typeof t.payload=="string"},Ve=()=>typeof CompressionStream<"u"&&typeof Blob<"u"&&typeof Response<"u",Ne=()=>typeof DecompressionStream<"u"&&typeof Blob<"u"&&typeof Response<"u",mt=e=>{if(typeof btoa=="function"){let r="";for(let o=0;o<e.length;o+=32768){let d=e.subarray(o,o+32768);for(let C=0;C<d.length;C++)r+=String.fromCharCode(d[C])}return btoa(r)}let t=globalThis.Buffer;if(typeof t<"u")return t.from(e).toString("base64");throw new Error("XCSS: base64 encoding is not supported in this runtime")},Ct=e=>{if(typeof atob=="function"){let r=atob(e),s=new Uint8Array(r.length);for(let o=0;o<r.length;o++)s[o]=r.charCodeAt(o);return s}let t=globalThis.Buffer;if(typeof t<"u")return new Uint8Array(t.from(e,"base64"));throw new Error("XCSS: base64 decoding is not supported in this runtime")},bt=async e=>{if(!Ve())throw new Error("XCSS: CompressionStream is not supported");let t=new Blob([e]).stream().pipeThrough(new CompressionStream("deflate-raw")),r=await new Response(t).arrayBuffer();return mt(new Uint8Array(r))},xt=async e=>{if(!Ne())throw new Error("XCSS: DecompressionStream is not supported");let t=Ct(e),r=new Uint8Array(t.length);r.set(t);let s=new Blob([r.buffer]).stream().pipeThrough(new DecompressionStream("deflate-raw"));return await new Response(s).text()},wt=e=>{try{let t=JSON.parse(e);return ve(t)}catch{return!1}},vt=e=>{if(!e)return"";let t=new Map,r=[],s=256;for(let d=0;d<256;d++)t.set(String.fromCharCode(d),d);let o=e[0];for(let d=1;d<e.length;d++){let C=e[d],g=o+C;t.has(g)?o=g:(r.push(t.get(o)),t.set(g,s++),o=C)}return r.push(t.get(o)),r.map(d=>String.fromCharCode(d)).join("")},qe=e=>{if(!e)return"";let t=new Map,r=256,s="";for(let g=0;g<256;g++)t.set(g,String.fromCharCode(g));let o=e.split("").map(g=>g.charCodeAt(0)),d=o[0],C=t.get(d)||"";s=C;for(let g=1;g<o.length;g++){let _=o[g],E=t.get(_);E||(E=_===r?C+C[0]:""),s+=E,t.set(r++,C+E[0]),C=E}return s},Ee=e=>{if(!e||typeof e!="object")return null;let t=e,r=t.default&&typeof t.default=="object"?t.default:t,s=r.SHORT_PROPERTIES,o=r.COMMON_VALUES,d=r.SPECIFIC_VALUES;return!s||!o||!d||typeof s!="object"||typeof o!="object"||typeof d!="object"?null:{SHORT_PROPERTIES:s,COMMON_VALUES:o,SPECIFIC_VALUES:d}},Et=async e=>{let t=await import(e),r=Ee(t);if(!r)throw new Error(Fe);return r},Fe="XCSS: dictionary module must export SHORT_PROPERTIES, COMMON_VALUES and SPECIFIC_VALUES",Ze=()=>{let e=typeof require=="function"?require:null;if(!e)return null;for(let t of["./dictionary.js","./dictionary"])try{let r=e(t),s=Ee(r);if(s)return s}catch{}return null},Rt=async()=>{let e=Ze();if(e)return e;let t=["./dictionary.mjs","./dictionary.js","./dictionary"],r=null;for(let s of t)try{let o=await import(s),d=Ee(o);if(d)return d}catch(o){r=o}throw r||new Error(Fe)},Tt=(e,t)=>{if(!e||typeof document>"u")return;t=t||"fwkui";let r=Array.from({length:24},(s,o)=>"l"+o);if(!e.querySelector('style[id="'+t+'"]')){let s=document.createElement("style");if(s.id=t,!(e instanceof ShadowRoot))document.head.append(s);else try{e.prepend(s)}catch{e.appendChild(s)}let o=`@layer ${r.join(", ")};`,d=setInterval(()=>{if(s.sheet){clearInterval(d);try{s.sheet.insertRule(o,s.sheet.cssRules.length)}catch{}}},10)}},_t=e=>{let t=Array.isArray(e.excludes)?e.excludes:Array.isArray(e.exclude)?e.exclude:[],r=We(e.cache),s=JSON.stringify({base:e.base||"",aliases:e.aliases||{},breakpoints:e.breakpoints||[],theme:e.theme||{},prefix:e.prefix||"",excludes:t,excludePrefixes:e.excludePrefixes||[],dictionaryImport:e.dictionaryImport??!0,cache:r}),o=0;if(s.length===0)return o.toString();for(let d=0;d<s.length;d++){let C=s.charCodeAt(d);o=(o<<5)-o+C,o|=0}return o.toString()},we=e=>{if(!e)return null;try{let t=JSON.parse(e);if(Ue(t)){let r=qe(t.payload);return r?JSON.parse(r):null}return ve(t)?null:t}catch{return null}},At=async e=>{if(!e)return null;try{let t=JSON.parse(e);if(Ue(t)){let r=qe(t.payload);return r?JSON.parse(r):null}if(ve(t)){let r=await xt(t.payload);return r?JSON.parse(r):null}return t}catch{return null}},He=(e,t)=>{if(e==="root")return t;let r=/@media[^{]+\{\n?([\s\S]+)\n?\}/.exec(t);return r&&r[1]?r[1].trim():t},Re=(e={base:"",aliases:{},excludes:[],excludePrefixes:[],breakpoints:[],theme:{},prefix:"",dictionaryImport:!0,cache:{styleId:"fwkui",version:"v1",compression:!0,debounceMs:1e3}})=>{let{base:t=null,breakpoints:r=[],aliases:s={},theme:o={},excludes:d=[],exclude:C=[],excludePrefixes:g=[],prefix:_="",dictionaryImport:E=!0,cache:re={}}=e||{};Array.isArray(r)||(r=[]),Array.isArray(d)||(d=[]),Array.isArray(C)||(C=[]),Array.isArray(g)||(g=[]),(!s||typeof s!="object")&&(s={}),(!o||typeof o!="object")&&(o={});let B=We(re),R=ht(B),w=[...d,...C],X=g.filter(n=>typeof n=="string").map(n=>n.trim()).filter(n=>n.length>0),Y=n=>{let i=n.replace(/[.+?^${}()|[\]\\]/g,"\\$&");return new RegExp("^"+i.replace(/\*/g,".*")+"$")},le=w.filter(n=>typeof n=="string").map(n=>n.trim()).filter(n=>n.length>0).map(n=>{if(n.includes("*")){let i=Y(n);return l=>i.test(l)}return i=>i===n}),ke=n=>X.some(i=>n.startsWith(i))?!0:le.some(i=>i(n)),Oe=n=>!(ke(n)||_&&!n.startsWith(_)),ze=["default","xs","sm","md","lg","xl","2xl","sma","mda","lga","xla"],Ye=r.filter(n=>!!n&&typeof n=="object"&&!Array.isArray(n)).map(n=>Object.keys(n)[0]).filter(n=>typeof n=="string"&&n.length>0),Ge=new Set([...ze,...Ye]),de=n=>!n||Ge.has(n),Qe=E!==!1,et=new Set(["mx","my","px","py","bdx","bdy"]),ue=new Set,fe=n=>n?!Qe||!U||Object.keys(U).length===0?!0:!!U[n]||et.has(n)||ue.has(n):!1,U={},ne={},pe={},ye={},Xe=()=>{ye={...pe,...o}},q=n=>{if(!n){U={},ne={},pe={},ue=new Set,Xe();return}U=n.SHORT_PROPERTIES,ne=n.SPECIFIC_VALUES,pe=n.COMMON_VALUES,ue=new Set(Object.values(U)),Xe()},F=!0,se=Promise.resolve();if(E===!1)q(null);else if(typeof E=="string")F=!1,q(null),se=Et(E).then(n=>{q(n)}).catch(n=>{console.warn("XCSS: Failed to import dictionary from URL",n)}).finally(()=>{F=!0});else{let n=Ze();n?q(n):(F=!1,q(null),se=Rt().then(i=>{q(i)}).catch(i=>{console.warn("XCSS: Failed to load built-in dictionary module",i)}).finally(()=>{F=!0}))}let G=null,tt=(n=typeof document<"u"?document:void 0)=>{let i=typeof window<"u"&&typeof document<"u",l=null,h=Array.isArray(t)?t.length>0:!!t;n&&(l="getRootNode"in n?n.getRootNode():n);let p=new Map;i&&l&&Tt(l,B.styleId);let v=Be(),A=[{default:""},{xs:"screen and (max-width: 575px)"},{sm:"screen and (min-width: 576px)"},{md:"screen and (min-width: 768px)"},{lg:"screen and (min-width: 992px)"},{xl:"screen and (min-width: 1200px)"},{"2xl":"screen and (min-width: 1400px)"},{sma:"screen and (max-width: 768px)"},{mda:"screen and (max-width: 992px)"},{lga:"screen and (max-width: 1200px)"},{xla:"screen and (max-width: 1400px)"},...r],y=A.filter((a,u)=>A.findLastIndex(c=>Object.keys(c)[0]==Object.keys(a)[0])==u),x=y.map(a=>Object.keys(a)[0]),f={},T={},m={root:""},$={root:[]},M={root:!1},Q=_t(e),Z=null,I=0,K=!1,k=null,J=null,H=[],L=a=>{try{window.localStorage.setItem(R,a)}catch(u){console.warn("XCSS: Failed to save cache",u)}},oe=(a,u)=>{!i||!window.localStorage||typeof u=="string"&&window.localStorage.getItem(a)!==u||window.localStorage.removeItem(a)},V=a=>{if(!i||!window.localStorage)return;G=a;let u=++I;try{let c=JSON.stringify(a),S=()=>{let b={__xcss_cache_v:2,compressed:!0,payload:vt(c)};L(JSON.stringify(b))};if(!B.compression){L(c);return}if(Ve()&&Ne()){bt(c).then(b=>{if(u!==I)return;L(JSON.stringify({__xcss_cache_v:3,compressed:!0,algorithm:"deflate-raw",encoding:"base64",payload:b}))}).catch(()=>{u===I&&S()});return}S()}catch(c){console.warn("XCSS: Failed to save cache",c)}},ie=()=>{i&&(Z&&clearTimeout(Z),Z=setTimeout(()=>{let a={};for(let S in f)a[S]=Array.from(f[S]);let u={};Object.keys(m).forEach(S=>{if(S==="root")u[S]=m[S];else{let b=A.find(P=>Object.keys(P)[0]===S)?.[S];b&&m[S]?u[S]=`@media ${b} {
2
+ ${m[S]}
3
+ }`:u[S]=m[S]||""}});let c={configHash:Q,cssText:u,rulesSet:a,keys:Array.from(p.entries())};V(c)},B.debounceMs))};if(i&&window.localStorage)try{let a=R===N?[R]:[R,N];for(let u of a){let c=window.localStorage.getItem(u);if(!c)continue;let S=we(c);if(!S){if(wt(c)){H.push({key:u,raw:c});continue}window.localStorage.removeItem(u);continue}if(S.configHash!==Q){window.localStorage.removeItem(u);continue}k=S,J=u,K=!0;break}if(k){if(k.keys&&k.keys.forEach(([u,c])=>p.set(u,c)),k.cssText)for(let u in k.cssText){let c=k.cssText[u];m[u]=He(u,c)}G=k}}catch(a){console.error(a)}i&&(T.root=new CSSStyleSheet),x.forEach(a=>{if(f[a]=new Set,i){let u=y.find(c=>Object.keys(c)[0]==a)?.[a]||"";T[a]=new CSSStyleSheet({media:u})}K||(m[a]=""),$[a]=[],M[a]=!1});let D=()=>{if(!l)return;let a=l.querySelector(`style[id="${B.styleId}"]`);a&&a.remove()},ae=(a,u)=>{if(a.keys&&a.keys.forEach(([c,S])=>p.set(c,S)),a.cssText)for(let c in a.cssText){if(c==="root"&&h)continue;let S=He(c,a.cssText[c]);m[c]=S,i&&T[c]&&T[c].replaceSync(S)}if(a.rulesSet)for(let c in a.rulesSet)f[c]||(f[c]=new Set),a.rulesSet[c].forEach(S=>f[c].add(S));i&&window.localStorage&&u===N&&R!==N&&(V(a),window.localStorage.removeItem(N)),G=a,D()};K&&k&&ae(k,J),t&&Array.isArray(t)?(m.root=t.join(`
4
+ `),i&&T.root&&T.root.replaceSync(m.root)):(m.root=t||"",i&&T.root&&T.root.replaceSync(m.root)),i&&l&&["root",...x].forEach(a=>{T[a]&&l?.adoptedStyleSheets&&(l.adoptedStyleSheets.includes(T[a])||(l.adoptedStyleSheets=[...l.adoptedStyleSheets,T[a]]))}),i&&window.localStorage&&H.length>0&&(async()=>{for(let a of H){let u=await At(a.raw);if(!u){oe(a.key,a.raw);continue}if(u.configHash!==Q){oe(a.key,a.raw);continue}if(!K){K=!0,k=u,J=a.key,ae(u,a.key);break}}})();let he=(a,u)=>{let{media:c,property:S,selector:b,layer:P,className:O}=u,W=m,j=$,Ce=M;P=Number(P)||0;let Me=p.get(a),it=Me?`.${Me}${b}`:`.${O}${b}`;var be=`@layer l${P}{${it}{${S}}}`;f[c]||(f[c]=new Set);let Le=f[c];if(!Le.has(be))if(Le.add(be),j[c]||(j[c]=[]),j[c].push(be),i)Ce[c]||(Ce[c]=!0,queueMicrotask(()=>{let te=j[c],je=T[c];te.length>0&&(W[c]+=(W[c]?`
5
5
  `:"")+te.join(`
6
- `),je&&je.replaceSync(U[c]),H[c]=[],ie()),be[c]=!1}));else{let te=H[c];te.length>0&&(U[c]+=(U[c]?`
6
+ `),je&&je.replaceSync(W[c]),j[c]=[],ie()),Ce[c]=!1}));else{let te=j[c];te.length>0&&(W[c]+=(W[c]?`
7
7
  `:"")+te.join(`
8
- `),H[c]=[])}},Ce=a=>{a.forEach(d=>{let c=Xe(d);c&&me(d,c)})},ee=a=>{if(a.length===0)return;let d=()=>Ce(a);J?d():se.then(d)};return v.on("observeDom",ee),{clsx:(...a)=>{let d=a.map(m=>Array.isArray(m)?m:[m]).flat(1/0).map(m=>typeof m=="string"?m.split(/(\s|\t)+/g):[]).flat(1/0);d=d.filter(m=>typeof m=="string"&&m.trim()),d=[...new Set(d)];let c=m=>{if(!Ie(m))return!1;if(J)return!!Xe(m);let $=T?m.slice(T.length):m,P=ce($);if(!P||!ue(P.mq))return!1;let U=(P.selector||"").replace(/(';|;)/g,H=>H=="';"?";":" ");return U&&!ge(U)?!1:P.prop.startsWith("[")?!!Pe(P.prop+P.val):pe(P.prop)?(P.prop==="&",P.val.length>0):!1},h=d.map(m=>{let $=m;if(p.has(m))$=p.get(m);else if(c(m)){let P="D"+p.size.toString(32).toUpperCase();p.set(m,P),$=P,ie()}return $});return o?queueMicrotask(()=>v.emit("observeDom",d)):v.emit("observeDom",d),h.join(" ")},observe:()=>{!o||!l||st(l,a=>{ee(a)})},getCssString:()=>Object.entries(S).map(([a,d])=>{if(!d)return"";if(a==="root"||a==="default")return d;let c=_.find(h=>Object.keys(h)[0]===a)?.[a];return c?`@media ${c} {
9
- ${d}
10
- }`:d}).join(`
11
- `)}};function Pe(r){let o=new RegExp("^(\\[(?<p>[a-zA-Z]+)\\])$"),{p:l=""}=o.exec(r)?.groups??{};if(l&&s[l]&&Array.isArray(s[l])){let g=s[l],p=[],v=!0,_=y=>{let C=y.trim();if(!C)return null;let f=C.endsWith(";")?C.slice(0,-1).trim():C,D=f.indexOf(":");if(D<=0||D>=f.length-1)return null;let S=f.slice(0,D).trim(),M=f.slice(D+1).trim();return!S||!M||!/^(?:--[a-zA-Z0-9-_]+|-?[a-zA-Z][a-zA-Z0-9-]*)$/.test(S)?null:`${S}:${M}`};for(let y of g){if(typeof y!="string"){v=!1;break}let C=_(y);if(C){if(typeof CSS<"u"&&!CSS.supports(C)){v=!1;break}p.push(C);continue}v=!1;break}if(p.length>0&&v)return p.join(";")}return null}function $e(r,o){let l=Pe(r+o);if(l)return l;if(!r||o===void 0)return null;let g=V[r],p=g||r,v=o[0],_=!1,y=o;if(v==="!"&&(_=!0,y=y.substring(1),v=y[0]),y.startsWith("--"))y="var("+y+")";else if(v==="["&&y.endsWith("]"))y=y.substring(1,y.length-1);else if(y.length>0){let S=y[0].toLowerCase()+y.substring(1),M=ne[r]?.[S]||he[S];if(!M){let L=y.toLowerCase();M=ne[r]?.[L]||he[L]}y=M||y}if(y=y.replace(/(';|;)/g,S=>S=="';"?";":" "),!y)return null;let C=y+(_?" !important":""),f=[p+":"+C];switch(p){case"mx":f=[`margin-left:${C}`,`margin-right:${C}`];break;case"my":f=[`margin-top:${C}`,`margin-bottom:${C}`];break;case"px":f=[`padding-left:${C}`,`padding-right:${C}`];break;case"py":f=[`padding-top:${C}`,`padding-bottom:${C}`];break;case"bdx":f=[`border-left:${C}`,`border-right:${C}`];break;case"bdy":f=[`border-top:${C}`,`border-bottom:${C}`];break}return!(typeof CSS<"u")||f.every(S=>CSS.supports(S))?f.join(";"):null}let tt=r=>{let o=0;for(let l=r.length-1;l>=0;l--){let g=r[l];if(g==="]"){o++;continue}if(g==="["){o>0&&o--;continue}if(g==="@"&&o===0)return{body:r.slice(0,l),selector:r.slice(l+1)}}return{body:r,selector:""}},rt=r=>{let o=[],l=0,g=0;for(let p=0;p<r.length;p++){let v=r[p];if(v==="["){g++;continue}if(v==="]"){g>0&&g--;continue}v==="&"&&g===0&&(o.push(r.slice(l,p)),l=p+1)}return o.push(r.slice(l)),o},ge=r=>{if(!r)return!0;let o=r.trim();if(!o)return!0;if(/[{}]/.test(o)||o==="#"||o==="("||o===")"||o===","||o===">"||o==="+"||o==="~"||o.startsWith("(")||o.startsWith(")"))return!1;let l=0;for(let g=0;g<o.length;g++){let p=o[g];if(p==="("){l++;continue}if(p===")"){if(l===0)return!1;l--}}return l===0};function Xe(r){if(!Ie(r))return null;let o=T?r.slice(T.length):r,l=typeof CSS<"u"?CSS.escape(r):nt(r);if(o.includes("&")&&!o.startsWith("&")){let{body:L,selector:Q}=tt(o),z=rt(L).map(k=>k.trim()).filter(k=>k.length>0).map(k=>T&&k.startsWith(T)?k.slice(T.length):k);if(z.length>1){let k="",j="",O=Q,Y=!1,W=[];for(let N of z){let ie=O?`${N}@${O}`:N,I=ce(ie);if(!I||!ue(I.mq)||!I.prop.startsWith("[")&&!pe(I.prop))return null;Y?(!I.mq&&k&&(I.mq=k),!I.layer&&j&&(I.layer=j)):(k=I.mq||"",j=I.layer||"",Y=!0);let ae=I.mq||"",me=I.layer||"",Ce=I.selector||"";if(ae!==k||me!==j||Ce!==O)return null;let ee=$e(I.prop,I.val);if(!ee)return null;W.push(ee)}if(W.length===0)return null;let B=O.replace(/(';|;)/g,N=>N=="';"?";":" "),oe=`selector(${l}${B})`;if(B){if(typeof CSS<"u"){if(!CSS.supports(oe))return null}else if(!ge(B))return null}return{media:k||"default",layer:j||"0",className:l,property:W.join(";"),selector:B,cssRules:`.${l}${B}{${W.join(";")}}`}}}let g=ce(o);if(!g||!ue(g.mq)||!g.prop.startsWith("[")&&!pe(g.prop))return null;let{mq:p="default",layer:v="0",prop:_,val:y,selector:C=""}=g,f=[],D=$e(_,y);if(D&&f.push(D),f.length===0)return null;let S=C.replace(/(';|;)/g,L=>L=="';"?";":" "),M=`selector(${l}${S})`;if(S){if(typeof CSS<"u"){if(!CSS.supports(M))return null}else if(!ge(S))return null}return{media:p||"default",layer:v||"0",className:l,property:f.join(";"),selector:S,cssRules:`.${l}${S}{${f.join(";")}}`}}let nt=r=>r.replace(/([^\w-])/g,"\\$1"),Se=r=>{var o=[...r?.classList||[]].filter(l=>{if(l){let g=l.charCodeAt(0)==45?l.charCodeAt(1):l.charCodeAt(0);return g>=97&&g<=122||g>=48&&g<=57}return!1});return r?.children?.length>0&&Array.from(r?.children).forEach(l=>{o.push(...Se(l))}),o.flat(1/0)},st=(r,o)=>{if(typeof o!="function")throw new Error("Callback is not a function");if(!r)return;let l;"documentElement"in r?l=r.documentElement:(r instanceof Element||"tagName"in r||"host"in r)&&(l=r),l&&(l instanceof Element&&o(Se(l)),typeof MutationObserver<"u"&&new MutationObserver(g=>{for(let p of g)if(p.type=="attributes"&&p.attributeName=="class"){if(p.target.nodeType==1){let v=String(p.target?.className??""),_=String(p?.oldValue??"");if(v||_){let y=v.split(" ").map(f=>f.trim()).filter(f=>f),C=_.split(" ").map(f=>f.trim()).filter(f=>f);y=y.filter(f=>!C.includes(f)),typeof o=="function"&&o([...new Set(y)])}}}else if(p.type=="childList"&&p.addedNodes.length>0){let v=[...p.addedNodes].filter(_=>_.nodeType==1).map(_=>Se(_)).flat(1/0);typeof o=="function"&&o([...new Set(v)])}}).observe(l,{attributes:!0,attributeOldValue:!0,attributeFilter:["class"],childList:!0,subtree:!0}))};return{buildCss:et,exportCache:()=>{if(typeof window>"u"||!window.localStorage)return G;let r=ve(window.localStorage.getItem(x));if(r)return r;if(x!==q){let o=ve(window.localStorage.getItem(q));if(o)return o}return G},ready:se}},_t=(e,t)=>{De(t).buildCss(e).observe()},At=(e,t)=>De(t).buildCss(e).clsx,le={css:De,cssObserve:_t,clsx:At};var kt="xcss_cache_v1",It=(e,t)=>{let n=String(t||"").trim();return n?n===kt||n.includes("_cache_")?n:`${e}_cache_${n}`:`${e}_cache_v1`},Fe=(e="fwkui",t="v1",n)=>{let s=String(e||"").trim()||"fwkui",i=It(s,t),u=JSON.stringify(s),b=JSON.stringify(i),w=`
8
+ `),j[c]=[])}},me=a=>{a.forEach(u=>{let c=Ke(u);c&&he(u,c)})},ee=a=>{if(a.length===0)return;let u=()=>me(a);F?u():se.then(u)};return v.on("observeDom",ee),{clsx:(...a)=>{let u=a.map(b=>Array.isArray(b)?b:[b]).flat(1/0).map(b=>typeof b=="string"?b.split(/(\s|\t)+/g):[]).flat(1/0);u=u.filter(b=>typeof b=="string"&&b.trim()),u=[...new Set(u)];let c=b=>{if(!Oe(b))return!1;if(F)return!!Ke(b);let P=_?b.slice(_.length):b,O=ce(P);if(!O||!de(O.mq))return!1;let W=(O.selector||"").replace(/(';|;)/g,j=>j=="';"?";":" ");return W&&!ge(W)?!1:O.prop.startsWith("[")?!!Pe(O.prop+O.val):fe(O.prop)?(O.prop==="&",O.val.length>0):!1},S=u.map(b=>{let P=b;if(p.has(b))P=p.get(b);else if(c(b)){let O="D"+p.size.toString(32).toUpperCase();p.set(b,O),P=O,ie()}return P});return i?queueMicrotask(()=>v.emit("observeDom",u)):v.emit("observeDom",u),S.join(" ")},observe:()=>{!i||!l||ot(l,a=>{ee(a)})},getCssString:()=>Object.entries(m).map(([a,u])=>{if(!u)return"";if(a==="root"||a==="default")return u;let c=A.find(S=>Object.keys(S)[0]===a)?.[a];return c?`@media ${c} {
9
+ ${u}
10
+ }`:u}).join(`
11
+ `)}};function Pe(n){let i=new RegExp("^(\\[(?<p>[a-zA-Z]+)\\])$"),{p:l=""}=i.exec(n)?.groups??{};if(l&&s[l]&&Array.isArray(s[l])){let h=s[l],p=[],v=!0,A=y=>{let x=y.trim();if(!x)return null;let f=x.endsWith(";")?x.slice(0,-1).trim():x,T=f.indexOf(":");if(T<=0||T>=f.length-1)return null;let m=f.slice(0,T).trim(),$=f.slice(T+1).trim();return!m||!$||!/^(?:--[a-zA-Z0-9-_]+|-?[a-zA-Z][a-zA-Z0-9-]*)$/.test(m)?null:`${m}:${$}`};for(let y of h){if(typeof y!="string"){v=!1;break}let x=A(y);if(x){if(typeof CSS<"u"&&!CSS.supports(x)){v=!1;break}p.push(x);continue}v=!1;break}if(p.length>0&&v)return p.join(";")}return null}function $e(n,i){let l=Pe(n+i);if(l)return l;if(!n||i===void 0)return null;let h=U[n],p=h||n,v=i[0],A=!1,y=i;if(v==="!"&&(A=!0,y=y.substring(1),v=y[0]),y.startsWith("--"))y="var("+y+")";else if(v==="["&&y.endsWith("]"))y=y.substring(1,y.length-1);else if(y.length>0){let m=y[0].toLowerCase()+y.substring(1),$=ne[n]?.[m]||ye[m];if(!$){let M=y.toLowerCase();$=ne[n]?.[M]||ye[M]}y=$||y}if(y=y.replace(/(';|;)/g,m=>m=="';"?";":" "),!y)return null;let x=y+(A?" !important":""),f=[p+":"+x];switch(p){case"mx":f=[`margin-left:${x}`,`margin-right:${x}`];break;case"my":f=[`margin-top:${x}`,`margin-bottom:${x}`];break;case"px":f=[`padding-left:${x}`,`padding-right:${x}`];break;case"py":f=[`padding-top:${x}`,`padding-bottom:${x}`];break;case"bdx":f=[`border-left:${x}`,`border-right:${x}`];break;case"bdy":f=[`border-top:${x}`,`border-bottom:${x}`];break}return!(typeof CSS<"u")||f.every(m=>CSS.supports(m))?f.join(";"):null}let rt=n=>{let i=0;for(let l=n.length-1;l>=0;l--){let h=n[l];if(h==="]"){i++;continue}if(h==="["){i>0&&i--;continue}if(h==="@"&&i===0)return{body:n.slice(0,l),selector:n.slice(l+1)}}return{body:n,selector:""}},nt=n=>{let i=[],l=0,h=0;for(let p=0;p<n.length;p++){let v=n[p];if(v==="["){h++;continue}if(v==="]"){h>0&&h--;continue}v==="&"&&h===0&&(i.push(n.slice(l,p)),l=p+1)}return i.push(n.slice(l)),i},ge=n=>{if(!n)return!0;let i=n.trim();if(!i)return!0;if(/[{}]/.test(i)||i==="#"||i==="("||i===")"||i===","||i===">"||i==="+"||i==="~"||i.startsWith("(")||i.startsWith(")"))return!1;let l=0;for(let h=0;h<i.length;h++){let p=i[h];if(p==="("){l++;continue}if(p===")"){if(l===0)return!1;l--}}return l===0};function Ke(n){if(!Oe(n))return null;let i=_?n.slice(_.length):n,l=typeof CSS<"u"?CSS.escape(n):st(n);if(i.includes("&")&&!i.startsWith("&")){let{body:M,selector:Q}=rt(i),Z=nt(M).map(I=>I.trim()).filter(I=>I.length>0).map(I=>_&&I.startsWith(_)?I.slice(_.length):I);if(Z.length>1){let I="",K="",k=Q,J=!1,H=[];for(let V of Z){let ie=k?`${V}@${k}`:V,D=ce(ie);if(!D||!de(D.mq)||!D.prop.startsWith("[")&&!fe(D.prop))return null;J?(!D.mq&&I&&(D.mq=I),!D.layer&&K&&(D.layer=K)):(I=D.mq||"",K=D.layer||"",J=!0);let ae=D.mq||"",he=D.layer||"",me=D.selector||"";if(ae!==I||he!==K||me!==k)return null;let ee=$e(D.prop,D.val);if(!ee)return null;H.push(ee)}if(H.length===0)return null;let L=k.replace(/(';|;)/g,V=>V=="';"?";":" "),oe=`selector(${l}${L})`;if(L){if(typeof CSS<"u"){if(!CSS.supports(oe))return null}else if(!ge(L))return null}return{media:I||"default",layer:K||"0",className:l,property:H.join(";"),selector:L,cssRules:`.${l}${L}{${H.join(";")}}`}}}let h=ce(i);if(!h||!de(h.mq)||!h.prop.startsWith("[")&&!fe(h.prop))return null;let{mq:p="default",layer:v="0",prop:A,val:y,selector:x=""}=h,f=[],T=$e(A,y);if(T&&f.push(T),f.length===0)return null;let m=x.replace(/(';|;)/g,M=>M=="';"?";":" "),$=`selector(${l}${m})`;if(m){if(typeof CSS<"u"){if(!CSS.supports($))return null}else if(!ge(m))return null}return{media:p||"default",layer:v||"0",className:l,property:f.join(";"),selector:m,cssRules:`.${l}${m}{${f.join(";")}}`}}let st=n=>n.replace(/([^\w-])/g,"\\$1"),Se=n=>{var i=[...n?.classList||[]].filter(l=>{if(l){let h=l.charCodeAt(0)==45?l.charCodeAt(1):l.charCodeAt(0);return h>=97&&h<=122||h>=48&&h<=57}return!1});return n?.children?.length>0&&Array.from(n?.children).forEach(l=>{i.push(...Se(l))}),i.flat(1/0)},ot=(n,i)=>{if(typeof i!="function")throw new Error("Callback is not a function");if(!n)return;let l;"documentElement"in n?l=n.documentElement:(n instanceof Element||"tagName"in n||"host"in n)&&(l=n),l&&(l instanceof Element&&i(Se(l)),typeof MutationObserver<"u"&&new MutationObserver(h=>{for(let p of h)if(p.type=="attributes"&&p.attributeName=="class"){if(p.target.nodeType==1){let v=String(p.target?.className??""),A=String(p?.oldValue??"");if(v||A){let y=v.split(" ").map(f=>f.trim()).filter(f=>f),x=A.split(" ").map(f=>f.trim()).filter(f=>f);y=y.filter(f=>!x.includes(f)),typeof i=="function"&&i([...new Set(y)])}}}else if(p.type=="childList"&&p.addedNodes.length>0){let v=[...p.addedNodes].filter(A=>A.nodeType==1).map(A=>Se(A)).flat(1/0);typeof i=="function"&&i([...new Set(v)])}}).observe(l,{attributes:!0,attributeOldValue:!0,attributeFilter:["class"],childList:!0,subtree:!0}))};return{buildCss:tt,exportCache:()=>{if(typeof window>"u"||!window.localStorage)return G;let n=we(window.localStorage.getItem(R));if(n)return n;if(R!==N){let i=we(window.localStorage.getItem(N));if(i)return i}return G},ready:se}},It=(e,t)=>{Re(t).buildCss(e).observe()},Dt=(e,t)=>Re(t).buildCss(e).clsx,Te={css:Re,cssObserve:It,clsx:Dt};var kt="xcss_cache_v1",Ot=(e,t)=>{let r=String(t||"").trim();return r?r===kt||r.includes("_cache_")?r:`${e}_cache_${r}`:`${e}_cache_v1`},Je=(e="fwkui",t="v1",r)=>{let s=String(e||"").trim()||"fwkui",o=Ot(s,t),d=JSON.stringify(s),C=JSON.stringify(o),g=`
12
12
  (async function () {
13
13
  function decompressLZW(compressed) {
14
14
  if (!compressed) return '';
@@ -93,8 +93,8 @@ ${d}
93
93
  try {
94
94
  if (typeof window === 'undefined' || !window.localStorage) return;
95
95
 
96
- var styleId = ${u};
97
- var primaryKey = ${b};
96
+ var styleId = ${d};
97
+ var primaryKey = ${C};
98
98
  var keys = primaryKey === 'xcss_cache_v1' ? [primaryKey] : [primaryKey, 'xcss_cache_v1'];
99
99
  var payload = null;
100
100
 
@@ -127,5 +127,5 @@ ${d}
127
127
  styleEl.textContent = css;
128
128
  } catch (_error) {}
129
129
  })();
130
- `.trim();return n?.compact?w.replace(/\s+/g," ").trim():w};var Te="__FWXCSS_SHARED__",Ot=()=>{let e=new WeakMap,t=null,n=typeof document<"u"?document:null,s=R=>{if(!R)return!1;let A=typeof Document<"u",x=typeof ShadowRoot<"u",X=A&&R instanceof Document,Z=x&&R instanceof ShadowRoot;return X||Z},i=()=>(t||(t=le.css().buildCss(void 0)),t),u=R=>le.css({base:"html,body{font-size:16px;padding:0;margin:0;}"}).buildCss(R),b=R=>{if(!R)return i();let A=e.get(R);return A||(A=u(R),e.set(R,A)),A};return{clsx:(...R)=>{let A,x=R[R.length-1];s(x)&&(A=x,R=R.slice(0,-1));let X=[],Z=K=>{if(K){if(typeof K=="string"||typeof K=="number"){X.push(String(K));return}if(Array.isArray(K)){K.forEach(Z);return}typeof K=="object"&&Object.keys(K).forEach(re=>{K[re]&&X.push(re)})}};return R.forEach(Z),b(A||n).clsx(X.join(" "))},setClsxRoot:R=>{n=R||(typeof document<"u"?document:null)},getCss:()=>i().getCssString()}},_e=typeof globalThis<"u"?globalThis:typeof window<"u"?window:global,de=_e[Te]||Ot();_e[Te]||(_e[Te]=de);var Pt=de.clsx,$t=de.setClsxRoot,Xt=de.getCss;var Ae=le;typeof document<"u"&&(Ae.cssObserve(document),console.log("\u{1F680} fwxcss Auto-Observer Activated"));var Kt=Ae;0&&(module.exports={clsx,getBootloaderScript,getCss,setClsxRoot});
130
+ `.trim();return r?.compact?g.replace(/\s+/g," ").trim():g};var _e="__FWXCSS_SHARED__",Xt={base:"html,body{font-size:16px;padding:0;margin:0;}"},Pt=e=>{if(!e)return!1;let t=typeof Document<"u",r=typeof ShadowRoot<"u",s=t&&e instanceof Document,o=r&&e instanceof ShadowRoot;return s||o},$t=e=>{let t=[],r=s=>{if(s){if(typeof s=="string"||typeof s=="number"){t.push(String(s));return}if(Array.isArray(s)){s.forEach(r);return}typeof s=="object"&&Object.keys(s).forEach(o=>{s[o]&&t.push(o)})}};return e.forEach(r),t},Ie=e=>{let t=new WeakMap,r=null,s=e??Xt,o=typeof document<"u"?document:null,d=w=>{let X=Te.css(s);return{...X.buildCss(w??void 0),ready:X.ready}},C=()=>(r||(r=d(null)),r),g=w=>{if(!w)return C();let X=t.get(w);return X||(X=d(w),t.set(w,X)),X};return{clsx:(...w)=>{let X,Y=w[w.length-1];Pt(Y)&&(X=Y,w=w.slice(0,-1));let le=$t(w);return g(X||o).clsx(le.join(" "))},observe:w=>{g(w||o).observe()},setClsxRoot:w=>{o=w||(typeof document<"u"?document:null)},getCss:w=>w?g(w).getCssString():o?g(o).getCssString():C().getCssString(),ready:w=>w?g(w).ready:o?g(o).ready:C().ready}},Kt=e=>Ie(e),Mt=e=>Ie(e),Ae=typeof globalThis<"u"?globalThis:typeof window<"u"?window:global,z=Ae[_e]||Ie();Ae[_e]||(Ae[_e]=z);var Lt=z.clsx,jt=z.observe,Bt=z.setClsxRoot,Ht=z.getCss,Wt=z.ready;var De=Te;typeof document<"u"&&(De.cssObserve(document),console.log("\u{1F680} fwxcss Auto-Observer Activated"));var Ut=De;0&&(module.exports={clsx,createSharedClsx,createSharedInstance,getBootloaderScript,getCss,observe,ready,setClsxRoot});
131
131
  //# sourceMappingURL=index-auto.js.map