@cssxio/unplugin 0.5.1 → 0.7.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/dist/vite.cjs CHANGED
@@ -1,8 +1,12 @@
1
- "use strict";var ce=Object.create;var E=Object.defineProperty;var ue=Object.getOwnPropertyDescriptor;var me=Object.getOwnPropertyNames;var pe=Object.getPrototypeOf,fe=Object.prototype.hasOwnProperty;var ge=(e,t)=>{for(var s in t)E(e,s,{get:t[s],enumerable:!0})},q=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of me(t))!fe.call(e,n)&&n!==s&&E(e,n,{get:()=>t[n],enumerable:!(r=ue(t,n))||r.enumerable});return e};var ye=(e,t,s)=>(s=e!=null?ce(pe(e)):{},q(t||!e||!e.__esModule?E(s,"default",{value:e,enumerable:!0}):s,e)),he=e=>q(E({},"__esModule",{value:!0}),e);var _e={};ge(_e,{default:()=>He});module.exports=he(_e);var G=require("@cssxio/compiler"),ae=require("unplugin"),ie=require("buffer"),O=require("fs/promises"),S=require("path");var L=require("@cssxio/compiler"),Z=require("path");var J='*,::before,::after,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}button,select{text-transform:none}button,input:where([type="button"],[type="reset"],[type="submit"]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit}textarea{resize:vertical}::placeholder{opacity:1}button,[role="button"]{cursor:pointer}:disabled{cursor:default}[hidden]:where(:not([hidden="until-found"])){display:none!important}';async function v(e,t,s,r=!0,n,d=!0){let u=Object.create(null),o=Object.create(null),y=new Set,g=!0,x=new Map;for(let i of[...e].sort((a,f)=>a.id.localeCompare(f.id))){for(let[a,f]of Object.entries(i.candidates))if(a in u||(u[a]=f),i.id&&!x.has(a)){let k=i.origins?.[a];x.set(a,{id:i.id,line:k?.line??0,column:k?.column??0})}for(let[a,f]of Object.entries(i.composites??{})){let k=o[a];if(k&&k.join(" ")!==f.join(" "))throw new Error(`CSSX composite class collision for "${a}".`);o[a]=f}i.atomicClasses===void 0&&(g=!1);for(let a of i.atomicClasses??[])y.add(a)}let C=Object.keys(u).sort(),l=d?J:"";if(C.length===0)return{css:l&&s?`@layer ${s}{${l}}`:l};let c=await(0,L.compileUtilities)(C,i=>u[i],t,(0,L.createSelectorAliases)(o),g?y:void 0,{darkMode:n}),p=s?`@layer ${s}{`:"",h=`${p}${l}${c.css}${p?"}":""}`,m=r?Ce(`${p}${l}${c.prefixCss}`,c.entries,x):void 0;return{css:h,...m?{map:m}:{}}}function M(e,t){return e.map?`${e.css}
2
- /*# sourceMappingURL=${(0,Z.basename)(t)}.map */`:e.css}function A(e,t){return JSON.stringify({...e,file:t})}function Ce(e,t,s){let r=[...new Set(t.map(o=>s.get(o.candidate)?.id).filter(o=>!!o))].sort();if(r.length===0)return;let n=new Map(r.map((o,y)=>[o,y])),d=[],u=K({line:0,column:0},e);for(let o of t){let y=s.get(o.candidate);y&&d.push({...u,source:n.get(y.id),originalLine:y.line,originalColumn:y.column}),u=K(u,o.css)}return{version:3,sources:r,names:[],mappings:xe(d)}}function K(e,t){let s=t.split(`
3
- `);return{line:e.line+s.length-1,column:s.at(-1).length+e.column*+(s.length===1)}}function xe(e){let t=Array.from({length:Math.max(0,...e.map(o=>o.line))+1},()=>[]),s=0,r=0,n=0,d=0,u=0;for(let o of e)u*=+(o.line===d),d=o.line,t[o.line]?.push(`${F(o.column-u)}${F(o.source-s)}${F(o.originalLine-r)}${F(o.originalColumn-n)}`),u=o.column,s=o.source,r=o.originalLine,n=o.originalColumn;return t.map(o=>o.join(",")).join(";")}var be="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function F(e){let t="",s=e<0?-e<<1|1:e<<1;do{let r=s&31;s>>>=5,s&&(r|=32),t+=be[r]}while(s);return t}var Q=require("fs/promises"),b=require("path");async function $(e){return e.themeFile===void 0?e.theme:(0,Q.readFile)((0,b.resolve)(process.cwd(),e.themeFile),"utf8")}function B(e){if(e.theme!==void 0&&e.themeFile!==void 0)throw new Error("CSSX accepts either theme or themeFile, not both.");if(e.layer!==void 0&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(e.layer))throw new Error("CSSX layer must be a valid CSS layer identifier.");if(e.sourceMap!==void 0&&typeof e.sourceMap!="boolean")throw new Error("CSSX sourceMap must be a boolean.");if(e.darkMode!==void 0&&e.darkMode!=="media"&&e.darkMode!=="selector"&&e.darkMode!=="class")throw new Error('CSSX darkMode must be "media", "selector", or "class".');if(e.preflight!==void 0&&typeof e.preflight!="boolean")throw new Error("CSSX preflight must be a boolean.");if(e.reusabilityBudget!==void 0&&e.reusabilityBudget!=="auto"&&(!Number.isFinite(e.reusabilityBudget)||e.reusabilityBudget<0||e.reusabilityBudget>100))throw new Error('CSSX reusabilityBudget must be "auto" or a number from 0 through 100.');_(e.cssFileName??"cssx.css")}function H(e){let t=2166136261;for(let s=0;s<e.length;s++)t^=e.charCodeAt(s),t=Math.imul(t,16777619);return(t>>>0).toString(36)}function P(e,t){return _(e).replaceAll("[hash]",H(t))}function D(e,t){return`${e&&e!=="/"?`/${e.replace(/^\/+|\/+$/g,"")}`:""}/${_(t).replaceAll(b.sep,"/")}`}function Y(e,t,s){return t.outdir?(0,b.resolve)(e,t.outdir,s):t.outfile?(0,b.resolve)((0,b.dirname)((0,b.resolve)(e,t.outfile)),s):(0,b.resolve)(e,s)}function w(e){return e.split("?",1).join("")}function _(e){if(!e||(0,b.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let t=(0,b.normalize)(e);if(t===".."||t.startsWith(`..${b.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!t.endsWith(".css"))throw new Error("cssFileName must end in .css.");return t}function ee(e,t,s){let r=e.getNativeBuildContext?.();if(!r||r.framework!=="webpack"&&r.framework!=="rspack")return;let n=r.loaderContext?._module;if(!n)return;let d=n.buildInfo??(n.buildInfo={});d[s]=t}function V(e,t,s,r,n,d,u,o,y=!0,g){let x=e.name??e.options?.name;x==="server"||x==="edge-server"||e.hooks.thisCompilation.tap("@cssxio/unplugin",C=>{C.hooks.processAssets.tapPromise({name:"@cssxio/unplugin",stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},async()=>{let l=g?await g():Se([...C.modules].map(h=>we(h,d)).filter(h=>h!==void 0),u?.values()??[]),c=await v(l,await s(),r,n,o,y);if(!c.css)return;let p=P(t,c.css);if(C.getAsset?.(p))throw new Error(`CSSX CSS asset collision at "${p}".`);if(C.emitAsset(p,new e.webpack.sources.RawSource(M(c,p))),c.map){let h=`${p}.map`;if(C.getAsset?.(h))throw new Error(`CSSX CSS map asset collision at "${h}".`);C.emitAsset(h,new e.webpack.sources.RawSource(A(c.map,p)))}})})}function Se(e,t){let s=new Map,r=[];for(let n of t)n.id?s.set(n.id,n):r.push(n);for(let n of e)n.id?s.set(n.id,n):r.push(n);return[...s.values(),...r]}function we(e,t){let s=e.buildInfo?.[t];if(!s||typeof s!="object")return;let{id:r,candidates:n,composites:d,atomicClasses:u,origins:o}=s;return{id:typeof r=="string"?r:"",candidates:n&&typeof n=="object"?n:{},composites:d&&typeof d=="object"?d:{},...Array.isArray(u)?{atomicClasses:u}:{},origins:o&&typeof o=="object"?o:{}}}var T=require("fs/promises"),R=require("path"),re=require("@cssxio/compiler");var te=require("@babel/core"),se=ye(require("@cssxio/babel-plugin"),1),N=require("@cssxio/compiler");var ke=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]);async function I(e,t,s={},r){B(s);let n=s.importSource??"@cssxio/cssx",d=t.split("?",1).join("");if(!ke.has(d.slice(d.lastIndexOf(".")))||!e.includes(n))return null;if(d.endsWith(".astro"))return ve(e,t,s);let u=await $(s),o=await(0,te.transformAsync)(e,{babelrc:!1,configFile:!1,filename:d,parserOpts:{plugins:["jsx","typescript"]},plugins:[[se.default,{importSource:n,classNameAllocator:s.classNameAllocator,theme:u,reusabilityBudget:s.reusabilityBudget,stableClassNames:s.stableClassNames,stableClassNameFileName:s.stableClassNameFileName,darkMode:s.darkMode}]],sourceMaps:!0,...r?{inputSourceMap:r}:{}}),y=o.metadata,{candidates:g,origins:x,composites:C,atomicClasses:l,cssOnlySignature:c}=y.cssx,p=Object.keys(g),h=p.length===0?"":(await(0,N.compileUtilities)(p,m=>g[m],u,(0,N.createSelectorAliases)(C),new Set(l),{darkMode:s.darkMode})).css;return{code:o.code,rules:h?[Re(Oe(h,s.layer))]:[],candidates:g,composites:C,atomicClasses:l,origins:x,cssOnlySignature:c,map:o.map}}async function ve(e,t,s){let r=Me(e);if(r.length===0)return null;let n=s.classNameAllocator??(0,N.createClassNameAllocator)(),d=s.importSource??"@cssxio/cssx",u={},o={},y=[],g=e;for(let x of[...r].reverse()){let C=await I(`import { sx } from ${JSON.stringify(d)};
4
- const style = ${x.code};`,`${t}.ts`,{...s,classNameAllocator:n}),l=Ne(C.code);g=`${g.slice(0,x.start)}${l}${g.slice(x.end)}`,Object.assign(u,C.candidates),Object.assign(o,C.composites),y.push(...C.rules)}return{code:g,rules:y,candidates:u,composites:o,atomicClasses:[],origins:{},cssOnlySignature:g}}function Me(e){let t=[],s=/\bsx\s*\(/g;for(let r of e.matchAll(s)){let n=r.index,d=e.indexOf("(",n),u=0,o="";for(let y=d;y<e.length;y+=1){let g=e[y];if(o){g==="\\"?y+=1:g===o&&(o="");continue}if(g==='"'||g==="'"||g==="`")o=g;else if(g==="(")u+=1;else if(g===")"&&--u===0){t.push({start:n,end:y+1,code:e.slice(n,y+1)}),s.lastIndex=y+1;break}}}return t}function Ne(e){let t="const style = ",s=e.indexOf(t)+t.length,r=e.indexOf(";",s);return e.slice(s,r)}function ne(e,t){if(!e||typeof e!="object")return;let s=e.getCombinedSourcemap;if(typeof s!="function")return;let r=s.call(e);if(!r||typeof r!="object")return;let n=r;if(!(n.version!==3||!Array.isArray(n.sources)||typeof n.mappings!="string"))return{version:n.version,sources:[...n.sources],names:[...n.names??[]],mappings:n.mappings,file:n.file??t.split("?",1).join(""),...n.sourceRoot?{sourceRoot:n.sourceRoot}:{},...n.sourcesContent?{sourcesContent:[...n.sourcesContent]}:{}}}function Re(e){return{className:`cssx-${H(e)}`,css:e}}function Oe(e,t){return e&&t?`@layer ${t}{${e}}`:e}var Ae=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]),Pe=new Set([".git",".next",".turbo","node_modules"]);async function X(e,t){let s=await Ie(e),r=(0,re.createClassNameAllocator)(t.className),n=[];for(let d of s){let u=await(0,T.readFile)(d,"utf8"),o=await I(u,d,{...t,classNameAllocator:r,stableClassNames:!0,stableClassNameFileName:(0,R.relative)(e,d).replaceAll(R.sep,"/")});o&&n.push({id:d,candidates:o.candidates,composites:o.composites,atomicClasses:o.atomicClasses,origins:o.origins})}return n}async function Ie(e){let t=[],s=[e];for(;s.length>0;){let r=s.pop();for(let n of await(0,T.readdir)(r,{withFileTypes:!0})){let d=(0,R.join)(r,n.name);if(n.isDirectory()){Pe.has(n.name)||s.push(d);continue}n.isFile()&&Ae.has(d.slice(d.lastIndexOf(".")))&&t.push(d)}}return t.sort()}function z(e,t,s=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:t,acceptedPath:t,timestamp:s}]})}var j="@cssxio/unplugin/rules",je=/\.(?:[cm]?[jt]sx?|astro)(?:\?.*)?$/,oe=new Map;function Ee(e,t){return`${e}\0${JSON.stringify(t)}`}function W(e,t){let s=Ee(e,t),r=oe.get(s);return r||(r={classNameAllocator:(0,G.createClassNameAllocator)(),transformedDataById:new Map},oe.set(s,r)),r}function Fe(e){let t=e.getNativeBuildContext?.();return t&&(t.framework==="webpack"||t.framework==="rspack")?t.loaderContext?.rootContext??process.cwd():void 0}function Le(e,t,s){let r=new Set;for(let n of t)e.moduleGraph?.invalidateModule(n,r,s,!0);for(let n of r){if(!n.id)continue;let d=e.runner?.evaluatedModules?.getModuleById(n.id);d&&e.runner?.evaluatedModules?.invalidateModule(d)}}function $e(e){return!e||typeof e!="object"?{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""}:Be(e[j])}function Be(e){if(!e||typeof e!="object")return{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""};let{id:t,rules:s,candidates:r,composites:n,atomicClasses:d,origins:u,cssOnlySignature:o}=e;return{id:typeof t=="string"?t:"",rules:Array.isArray(s)?s:[],candidates:r&&typeof r=="object"?r:{},composites:n&&typeof n=="object"?n:{},...Array.isArray(d)?{atomicClasses:d}:{},origins:u&&typeof u=="object"?u:{},cssOnlySignature:typeof o=="string"?o:""}}var De=(e={},t)=>{B(e);let s=e.cssFileName??"cssx.css",r=e.sourceMap??!0,n=new Map,d=(0,G.createClassNameAllocator)(),u=new Map,o,y=process.cwd(),g,x=()=>$(e),C=async function(l,c){let p=new Set(Object.values(c).flatMap(a=>a.type==="chunk"?Object.keys(a.modules??{}):[]).map(w));if(t.framework!=="vite")for(let a of n.keys())p.has(a)||n.delete(a);let h=t.framework==="vite"?[...n.values()]:[...p].map(a=>{let f=$e(this.getModuleInfo(a)?.meta);return Object.keys(f.candidates).length>0?f:n.get(a)??f}),m=await v(h,await x(),e.layer,r,e.darkMode,e.preflight);if(!m.css)return;let i=P(s,m.css);if(Object.hasOwn(c,i))throw new Error(`CSSX CSS asset collision at "${i}".`);if(this.emitFile({type:"asset",fileName:i,source:M(m,i)}),m.map){let a=`${i}.map`;if(Object.hasOwn(c,a))throw new Error(`CSSX CSS map asset collision at "${a}".`);this.emitFile({type:"asset",fileName:a,source:A(m.map,i)})}};return{name:"@cssxio/unplugin",enforce:"pre",transform:{filter:{id:je},async handler(l,c){e.themeFile&&this.addWatchFile?.((0,S.resolve)(process.cwd(),e.themeFile));let p=Fe(this),h=p?W(p,e):void 0,m=await I(l,c,{...e,classNameAllocator:h?.classNameAllocator??d,...e.stableClassNames?{stableClassNameFileName:(0,S.relative)(p??process.cwd(),w(c)).replaceAll(S.sep,"/")}:{}},ne(this,c)),i={id:w(c),rules:m?.rules??[],candidates:m?.candidates??{},composites:m?.composites??{},atomicClasses:m?.atomicClasses??[],origins:m?.origins??{},cssOnlySignature:m?.cssOnlySignature??""};ee(this,i,j);let a=w(c);(m||a===c)&&(n.set(a,i),u.set((0,S.resolve)(y,a),i),h?.transformedDataById.set(a,i)),t.framework==="vite"&&g&&z(g,D("/",s));let f=m?.code??l;return{code:(t.framework==="webpack"||t.framework==="rspack")&&m?`${f}
5
- ${Te(s)}`:f,meta:{[j]:i},...m?.map?{map:m.map}:{}}}},watchChange(l,c){c.event==="delete"&&n.delete(w(l))},rollup:{generateBundle:C},vite:{generateBundle:C,configureServer(l){g=l;let c=D(l.config.base,s),p=D("/",s);l.watcher?.on("unlink",h=>{n.delete(w(h)),z(l,p)}),l.middlewares.use((h,m,i)=>{let a=h.url?.split("?",1)[0];if(a!==c&&(a!==`${c}.map`||!r))return i();x().then(f=>v([...n.values()],f,e.layer,r,e.darkMode,e.preflight)).then(f=>{if(a===`${c}.map`){m.setHeader("Content-Type","application/json; charset=utf-8"),m.setHeader("Cache-Control","no-store"),m.end(f.map?A(f.map,s):"");return}m.setHeader("Content-Type","text/css; charset=utf-8"),m.setHeader("Cache-Control","no-store"),m.end(M(f,s))}).catch(f=>{m.setHeader("Content-Type","text/plain; charset=utf-8"),m.end(f instanceof Error?f.message:"Unable to compile CSSX development stylesheet.")})})},hotUpdate:{order:"pre",async handler(l){let c=this.environment;if(!c||c.name==="client")return;let p=l.modules.filter(i=>{let a=n.get(w(i.id??""));return!!(a&&a.cssOnlySignature&&a.atomicClasses?.length===0)});if(p.length===0)return;let h=new Map(p.map(i=>[i,n.get(w(i.id)).cssOnlySignature]));for(let i of p)i.url&&await c.transformRequest(i.url);if(p.every(i=>{let a=n.get(w(i.id));return!!(a&&a.atomicClasses.length===0&&a.cssOnlySignature===h.get(i))}))return Le(c,p,l.timestamp),l.modules.filter(i=>!p.includes(i))}}},...t.framework==="webpack"?{webpack(l){let c=W(l.context,e);V(l,s,x,e.layer,r,j,c.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>X(l.context,e):void 0)}}:{},...t.framework==="rspack"?{rspack(l){let c=W(l.context,e);V(l,s,x,e.layer,r,j,c.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>X(l.context,e):void 0)}}:{},...t.framework==="esbuild"?{esbuild:{config(l){l.metafile=!0},setup(l){let c=l.initialOptions.absWorkingDir??process.cwd();y=c,l.onEnd(async p=>{if(!p.metafile)return;let h=new Set(Object.keys(p.metafile.inputs).map(f=>(0,S.resolve)(c,f)));for(let f of u.keys())h.has(f)||u.delete(f);let m=await v([...u.values()],await x(),e.layer,r,e.darkMode,e.preflight),i=Y(c,l.initialOptions,P(s,m.css));if(!m.css){o&&await(0,O.unlink)(o).catch(()=>{}),o=void 0;return}let a=M(m,(0,S.basename)(i));if(l.initialOptions.write===!1){let f=p.outputFiles;if(!f)return;let k={path:i,contents:ie.Buffer.from(a),hash:"",text:a};if(f.findIndex(de=>de.path===i)!==-1)throw new Error(`CSSX CSS asset collision at "${i}".`);f.push(k);return}await(0,O.mkdir)((0,S.dirname)(i),{recursive:!0}),await(0,O.writeFile)(i,a),o=i})}}}:{}}},U=(0,ae.createUnplugin)(De);function Te(e){return`if (typeof document !== "undefined" && typeof module !== "undefined" && module.hot) {
1
+ "use strict";var Ze=Object.create;var V=Object.defineProperty;var et=Object.getOwnPropertyDescriptor;var tt=Object.getOwnPropertyNames;var st=Object.getPrototypeOf,ot=Object.prototype.hasOwnProperty;var rt=(e,s)=>{for(var t in s)V(e,t,{get:s[t],enumerable:!0})},se=(e,s,t,r)=>{if(s&&typeof s=="object"||typeof s=="function")for(let o of tt(s))!ot.call(e,o)&&o!==t&&V(e,o,{get:()=>s[o],enumerable:!(r=et(s,o))||r.enumerable});return e};var nt=(e,s,t)=>(t=e!=null?Ze(st(e)):{},se(s||!e||!e.__esModule?V(t,"default",{value:e,enumerable:!0}):t,e)),it=e=>se(V({},"__esModule",{value:!0}),e);var gt={};rt(gt,{default:()=>ft});module.exports=it(gt);var Ke=require("@cssxio/compiler"),Qe=require("unplugin");function oe(e,s){let t=new Map,r=[];for(let o of s)o.id?t.set(o.id,o):r.push(o);for(let o of e)o.id?t.set(o.id,o):r.push(o);return[...t.values(),...r]}var A=require("path");function P(e){if(!e||(0,A.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let s=(0,A.normalize)(e);if(s===".."||s.startsWith(`..${A.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!s.endsWith(".css"))throw new Error("cssFileName must end in .css.");return s}function B(e){if(e.theme!==void 0&&e.themeFile!==void 0)throw new Error("CSSX accepts either theme or themeFile, not both.");if(e.layer!==void 0&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(e.layer))throw new Error("CSSX layer must be a valid CSS layer identifier.");if(e.sourceMap!==void 0&&typeof e.sourceMap!="boolean")throw new Error("CSSX sourceMap must be a boolean.");if(e.darkMode!==void 0&&e.darkMode!=="media"&&e.darkMode!=="selector"&&e.darkMode!=="class")throw new Error('CSSX darkMode must be "media", "selector", or "class".');if(e.preflight!==void 0&&typeof e.preflight!="boolean")throw new Error("CSSX preflight must be a boolean.");if(e.reusabilityBudget!==void 0&&e.reusabilityBudget!=="auto"&&(!Number.isFinite(e.reusabilityBudget)||e.reusabilityBudget<0||e.reusabilityBudget>100))throw new Error('CSSX reusabilityBudget must be "auto" or a number from 0 through 100.');P(e.cssFileName??"cssx.css")}var re=require("fs/promises"),ne=require("path");async function j(e){return e.themeFile===void 0?e.theme:(0,re.readFile)((0,ne.resolve)(process.cwd(),e.themeFile),"utf8")}function y(e){return e.split("?",1).join("")}function $(e){let s=2166136261;for(let t=0;t<e.length;t++)s^=e.charCodeAt(t),s=Math.imul(s,16777619);return(s>>>0).toString(36)}function b(e,s){return P(e).replaceAll("[hash]",$(s))}var M=require("path");function Y(e,s,t){return s.outdir?(0,M.resolve)(e,s.outdir,t):s.outfile?(0,M.resolve)((0,M.dirname)((0,M.resolve)(e,s.outfile)),t):(0,M.resolve)(e,t)}var ie=require("path");function T(e,s){return`${e&&e!=="/"?`/${e.replace(/^\/+|\/+$/g,"")}`:""}/${P(s).replaceAll(ie.sep,"/")}`}function ae(e,s){let t=e.buildInfo?.[s];if(!t||typeof t!="object")return;let{id:r,candidates:o,composites:n,atomicClasses:d,origins:i}=t;return{id:typeof r=="string"?r:"",candidates:o&&typeof o=="object"?o:{},composites:n&&typeof n=="object"?n:{},...Array.isArray(d)?{atomicClasses:d}:{},origins:i&&typeof i=="object"?i:{}}}var H=require("@cssxio/compiler");function Z(e,s){let t=s.split(`
2
+ `);return{line:e.line+t.length-1,column:t.at(-1).length+e.column*+(t.length===1)}}var at="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function L(e){let s="",t=e<0?-e<<1|1:e<<1;do{let r=t&31;t>>>=5,t&&(r|=32),s+=at[r]}while(t);return s}function le(e){let s=Array.from({length:Math.max(0,...e.map(i=>i.line))+1},()=>[]),t=0,r=0,o=0,n=0,d=0;for(let i of e)d*=+(i.line===n),n=i.line,s[i.line]?.push(`${L(i.column-d)}${L(i.source-t)}${L(i.originalLine-r)}${L(i.originalColumn-o)}`),d=i.column,t=i.source,r=i.originalLine,o=i.originalColumn;return s.map(i=>i.join(",")).join(";")}function ce(e,s,t){let r=[...new Set(s.map(i=>t.get(i.candidate)?.id).filter(i=>!!i))].sort();if(r.length===0)return;let o=new Map(r.map((i,a)=>[i,a])),n=[],d=Z({line:0,column:0},e);for(let i of s){let a=t.get(i.candidate);a&&n.push({...d,source:o.get(a.id),originalLine:a.line,originalColumn:a.column}),d=Z(d,i.css)}return{version:3,sources:r,names:[],mappings:le(n)}}var de='*,::before,::after,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}button,select{text-transform:none}button,input:where([type="button"],[type="reset"],[type="submit"]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit}textarea{resize:vertical}::placeholder{opacity:1}button,[role="button"]{cursor:pointer}:disabled{cursor:default}[hidden]:where(:not([hidden="until-found"])){display:none!important}';async function h(e,s,t,r=!0,o,n=!0){let d=Object.create(null),i=Object.create(null),a=new Set,m=!0,p=new Map;for(let C of[...e].sort((x,R)=>x.id.localeCompare(R.id))){for(let[x,R]of Object.entries(C.candidates))if(x in d||(d[x]=R),C.id&&!p.has(x)){let D=C.origins?.[x];p.set(x,{id:C.id,line:D?.line??0,column:D?.column??0})}for(let[x,R]of Object.entries(C.composites??{})){let D=i[x];if(D&&D.join(" ")!==R.join(" "))throw new Error(`CSSX composite class collision for "${x}".`);i[x]=R}C.atomicClasses===void 0&&(m=!1);for(let x of C.atomicClasses??[])a.add(x)}let l=Object.keys(d).sort(),u=n?de:"";if(l.length===0)return{css:u&&t?`@layer ${t}{${u}}`:u};let c=await(0,H.compileUtilities)(l,C=>d[C],s,(0,H.createSelectorAliases)(i),m?a:void 0,{darkMode:o}),f=t?`@layer ${t}{`:"",g=`${f}${u}${c.css}${f?"}":""}`,N=r?ce(`${f}${u}${c.prefixCss}`,c.entries,p):void 0;return{css:g,...N?{map:N}:{}}}function v(e,s){return JSON.stringify({...e,file:s})}var me=require("path");function S(e,s){return e.map?`${e.css}
3
+ /*# sourceMappingURL=${(0,me.basename)(s)}.map */`:e.css}function ue(e,s,t,r,o,n,d,i,a=!0,m){let p=e.name??e.options?.name;p==="server"||p==="edge-server"||e.hooks.thisCompilation.tap("@cssxio/unplugin",l=>{l.hooks.processAssets.tapPromise({name:"@cssxio/unplugin",stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},async()=>{let u=m?await m():oe([...l.modules].map(g=>ae(g,n)).filter(g=>g!==void 0),d?.values()??[]),c=await h(u,await t(),r,o,i,a);if(!c.css)return;let f=b(s,c.css);if(l.getAsset?.(f))throw new Error(`CSSX CSS asset collision at "${f}".`);if(l.emitAsset(f,new e.webpack.sources.RawSource(S(c,f))),c.map){let g=`${f}.map`;if(l.getAsset?.(g))throw new Error(`CSSX CSS map asset collision at "${g}".`);l.emitAsset(g,new e.webpack.sources.RawSource(v(c.map,f)))}})})}var w="@cssxio/unplugin/rules";function U(){return{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""}}var ge=require("@cssxio/compiler");function pe(e,s){return`${e}\0${JSON.stringify(s)}`}var fe=new Map;function _(e,s){let t=pe(e,s),r=fe.get(t);return r||(r={classNameAllocator:(0,ge.createClassNameAllocator)(),transformedDataById:new Map},fe.set(t,r)),r}var De=require("@cssxio/compiler"),Be=require("fs/promises"),J=require("path");var ye=require("fs/promises"),xe=require("path"),lt=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]),ct=new Set([".git",".next",".turbo","node_modules"]);async function Ce(e){let s=[],t=[e];for(;t.length>0;){let r=t.pop();for(let o of await(0,ye.readdir)(r,{withFileTypes:!0})){let n=(0,xe.join)(r,o.name);if(o.isDirectory()){ct.has(o.name)||t.push(n);continue}o.isFile()&&lt.has(n.slice(n.lastIndexOf(".")))&&s.push(n)}}return s.sort()}var he=require("@cssxio/compiler");function W(e){let s=[],t=/\bsx\s*\(/g;for(let r of e.matchAll(t)){let o=r.index,n=e.indexOf("(",o),d=0,i="";for(let a=n;a<e.length;a+=1){let m=e[a];if(i){m==="\\"?a+=1:m===i&&(i="");continue}if(m==='"'||m==="'"||m==="`")i=m;else if(m==="(")d+=1;else if(m===")"&&--d===0){s.push({start:o,end:a+1,code:e.slice(o,a+1)}),t.lastIndex=a+1;break}}}return s}function I(e,s){return{code:e,rules:s.flatMap(t=>t.rules),candidates:Object.assign({},...s.map(t=>t.candidates)),composites:Object.assign({},...s.map(t=>t.composites)),atomicClasses:[...new Set(s.flatMap(t=>t.atomicClasses))],origins:Object.assign({},...s.map(t=>t.origins)),cssOnlySignature:e}}function z(e){let s="const style = ",t=e.indexOf(s)+s.length,r=e.indexOf(";",t);return e.slice(t,r)}async function Se(e,s,t,r){let o=W(e);if(o.length===0)return null;let n=t.classNameAllocator??(0,he.createClassNameAllocator)(),d=t.importSource??"@cssxio/cssx",i=[],a=e;for(let m of[...o].reverse()){let p=await r(`import { sx } from ${JSON.stringify(d)};
4
+ const style = ${m.code};`,`${s}.ts`,{...t,classNameAllocator:n}),l=z(p.code);a=`${a.slice(0,m.start)}${l}${a.slice(m.end)}`,i.push({...p,atomicClasses:[],origins:{}})}return I(a,i)}var ve=require("@babel/core"),we=nt(require("@cssxio/babel-plugin"),1),X=require("@cssxio/compiler");function be(e){return{className:`cssx-${$(e)}`,css:e}}function Me(e,s){return e&&s?`@layer ${s}{${e}}`:e}async function Oe(e,s,t,r){let o=t.importSource??"@cssxio/cssx",n=await j(t),d=await(0,ve.transformAsync)(e,{babelrc:!1,configFile:!1,filename:s,parserOpts:{plugins:["jsx","typescript"]},plugins:[[we.default,{importSource:o,classNameAllocator:t.classNameAllocator,theme:n,reusabilityBudget:t.reusabilityBudget,stableClassNames:t.stableClassNames,stableClassNameFileName:t.stableClassNameFileName,darkMode:t.darkMode}]],sourceMaps:!0,...r?{inputSourceMap:r}:{}}),i=d.metadata,{candidates:a,origins:m,composites:p,atomicClasses:l,cssOnlySignature:u}=i.cssx,c=Object.keys(a),f=c.length===0?"":(await(0,X.compileUtilities)(c,g=>a[g],n,(0,X.createSelectorAliases)(p),new Set(l),{darkMode:t.darkMode})).css;return{code:d.code,rules:f?[be(Me(f,t.layer))]:[],candidates:a,composites:p,atomicClasses:l,origins:m,cssOnlySignature:u,map:d.map}}var Te=require("@cssxio/compiler"),Ie=require("@vue/compiler-sfc");function G(e,s){let t=e.split(`
5
+ `).slice(0,s.line).reduce((r,o)=>r+o.length+1,0);return Math.min(e.length,t+s.column)}function q(e,s){let t=Math.min(e.length,s),r=e.slice(0,t).split(`
6
+ `).length-1,o=e.lastIndexOf(`
7
+ `,t-1)+1;return{line:r,column:t-o}}function ee(e,s,t){let r={},o=e.slice(s);for(let[n,d]of Object.entries(t))r[n]=q(e,s+G(o,d));return r}function ke(e){return e.slice(1,-1).replace(/\\(['"\\bnfrtv])/g,(s,t)=>({b:"\b",n:`
8
+ `,f:"\f",r:"\r",t:" ",v:"\v"})[t]??t)}function Ne(e,s){if(!s)return e;let t=s==='"'?"'":'"';return e.replace(/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'/g,r=>{let o=r[0]==='"'?JSON.parse(r):ke(r),n=JSON.stringify(o);return t==='"'?n:`'${n.slice(1,-1).replaceAll("'","\\'")}'`})}function Re(e,s,t,r,o){let n={};for(let[d,i]of Object.entries(o)){let a=G(t,i);n[d]=q(e,s+Math.max(0,a-r))}return n}function Ae(e,s){let t=-1,r;for(let o=0;o<s;o++){let n=e[o];if(r){n===r&&(r=void 0);continue}if(n==="<"&&/[A-Za-z]/.test(e[o+1])){t=o;continue}t!==-1&&(n===">"?t=-1:(n==='"'||n==="'")&&(r=n))}return r}async function Pe(e,s,t,r,o){let n=W(e);if(n.length===0)return null;let d=t.importSource??"@cssxio/cssx",i=[],a=e;for(let m of[...n].reverse()){let p=`import { sx } from ${JSON.stringify(d)};
9
+ const style = `,l=`${p}${m.code};`,u=await o(l,`${s}.cssx-vue-template.ts`,{...t,classNameAllocator:r}),c=Ne(z(u.code),Ae(e,m.start));a=`${a.slice(0,m.start)}${c}${a.slice(m.end)}`,i.push({...u,origins:Re(e,m.start,l,p.length,u.origins)})}return I(a,i)}async function Ee(e,s,t,r){let o=s.split("?",1).join(""),n=(0,Ie.parse)(e,{filename:o});if(n.errors.length>0)throw new Error(n.errors[0].message);let d=t.classNameAllocator??(0,Te.createClassNameAllocator)(),i=[],a=[];for(let l of[n.descriptor.script,n.descriptor.scriptSetup]){if(!l?.content.includes(t.importSource??"@cssxio/cssx"))continue;let u=l.lang==="js"||l.lang==="jsx"||l.lang==="tsx"?l.lang:"ts",c=await r(l.content,`${o}.cssx-vue-script.${u}`,{...t,classNameAllocator:d});i.push({start:l.loc.start.offset,end:l.loc.end.offset,code:c.code}),a.push({...c,origins:ee(e,l.loc.start.offset,c.origins)})}let m=n.descriptor.template;if(m?.content.includes("sx")){let l=await Pe(m.content,o,t,d,r);l&&(i.push({start:m.loc.start.offset,end:m.loc.end.offset,code:l.code}),a.push({...l,origins:ee(e,m.loc.start.offset,l.origins)}))}if(i.length===0)return null;let p=e;for(let l of i.sort((u,c)=>c.start-u.start))p=`${p.slice(0,l.start)}${l.code}${p.slice(l.end)}`;return I(p,a)}var dt=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro",".vue"]);async function O(e,s,t={},r){B(t);let o=t.importSource??"@cssxio/cssx",n=s.split("?",1).join("");return!dt.has(n.slice(n.lastIndexOf(".")))||!e.includes(o)?null:n.endsWith(".astro")?Se(e,s,t,O):n.endsWith(".vue")?Ee(e,s,t,O):Oe(e,n,t,r)}function Fe(e,s){if(!e||typeof e!="object")return;let t=e.getCombinedSourcemap;if(typeof t!="function")return;let r=t.call(e);if(!r||typeof r!="object")return;let o=r;if(!(o.version!==3||!Array.isArray(o.sources)||typeof o.mappings!="string"))return{version:o.version,sources:[...o.sources],names:[...o.names??[]],mappings:o.mappings,file:o.file??s.split("?",1).join(""),...o.sourceRoot?{sourceRoot:o.sourceRoot}:{},...o.sourcesContent?{sourcesContent:[...o.sourcesContent]}:{}}}async function je(e,s){let t=await Ce(e),r=(0,De.createClassNameAllocator)(s.className),o=[];for(let n of t){let d=await(0,Be.readFile)(n,"utf8"),i=await O(d,n,{...s,classNameAllocator:r,stableClassNames:!0,stableClassNameFileName:(0,J.relative)(e,n).replaceAll(J.sep,"/")});i&&o.push({id:n,candidates:i.candidates,composites:i.composites,atomicClasses:i.atomicClasses,origins:i.origins})}return o}function te({compiler:e,options:s,cssFileName:t,sourceMap:r,getTheme:o}){let n=_(e.context,s);ue(e,t,o,s.layer,r,w,n.transformedDataById,s.darkMode,s.preflight,s.stableClassNames?()=>je(e.context,s):void 0)}function K(e,s,t=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:s,acceptedPath:s,timestamp:t}]})}function $e(e,s){let{cssFileName:t,sourceMap:r,options:o,rollupDataById:n,getTheme:d}=s,i=T(e.config.base,t),a=T("/",t);e.watcher?.on("unlink",m=>{n.delete(y(m)),K(e,a)}),e.middlewares.use((m,p,l)=>{let u=m.url?.split("?",1)[0];if(u!==i&&(u!==`${i}.map`||!r))return l();d().then(c=>h([...n.values()],c,o.layer,r,o.darkMode,o.preflight)).then(c=>{if(u===`${i}.map`){p.setHeader("Content-Type","application/json; charset=utf-8"),p.setHeader("Cache-Control","no-store"),p.end(c.map?v(c.map,t):"");return}p.setHeader("Content-Type","text/css; charset=utf-8"),p.setHeader("Cache-Control","no-store"),p.end(S(c,t))}).catch(c=>{p.setHeader("Content-Type","text/plain; charset=utf-8"),p.end(c instanceof Error?c.message:"Unable to compile CSSX development stylesheet.")})})}function Le(e){if(!e||typeof e!="object")return U();let{id:s,rules:t,candidates:r,composites:o,atomicClasses:n,origins:d,cssOnlySignature:i}=e;return{id:typeof s=="string"?s:"",rules:Array.isArray(t)?t:[],candidates:r&&typeof r=="object"?r:{},composites:o&&typeof o=="object"?o:{},...Array.isArray(n)?{atomicClasses:n}:{},origins:d&&typeof d=="object"?d:{},cssOnlySignature:typeof i=="string"?i:""}}function Ve(e){return!e||typeof e!="object"?U():Le(e[w])}function He(e){return async function(s,t){let{framework:r,options:o,cssFileName:n,sourceMap:d,rollupDataById:i,getTheme:a}=e,m=new Set(Object.values(t).flatMap(c=>c.type==="chunk"?Object.keys(c.modules??{}):[]).map(y));if(r!=="vite")for(let c of i.keys())m.has(c)||i.delete(c);let p=r==="vite"?[...i.values()]:[...m].map(c=>{let f=Ve(this.getModuleInfo(c)?.meta);return Object.keys(f.candidates).length>0?f:i.get(c)??f}),l=await h(p,await a(),o.layer,d,o.darkMode,o.preflight);if(!l.css)return;let u=b(n,l.css);if(Object.hasOwn(t,u))throw new Error(`CSSX CSS asset collision at "${u}".`);if(this.emitFile({type:"asset",fileName:u,source:S(l,u)}),l.map){let c=`${u}.map`;if(Object.hasOwn(t,c))throw new Error(`CSSX CSS map asset collision at "${c}".`);this.emitFile({type:"asset",fileName:c,source:v(l.map,u)})}}}var k=require("path");function Ue(e){let s=e.getNativeBuildContext?.();return s&&(s.framework==="webpack"||s.framework==="rspack")?s.loaderContext?.rootContext??process.cwd():void 0}function _e(e){return`if (typeof document !== "undefined" && typeof module !== "undefined" && module.hot) {
6
10
  const key = "__cssxStylesheetHmr";
7
11
  const state = globalThis[key] || (globalThis[key] = { revision: 0, staged: [], replacements: [] });
8
12
  const stylesheetLink = [...document.querySelectorAll('link[rel="stylesheet"]')].find((link) =>
@@ -89,4 +93,5 @@ ${Te(s)}`:f,meta:{[j]:i},...m?.map?{map:m.map}:{}}}},watchChange(l,c){c.event===
89
93
  state.poll = setInterval(() => void refresh(), 500);
90
94
  }
91
95
  }
92
- }`}var le=U.vite,dt=U.rollup,ct=U.webpack,ut=U.rspack;var Ue=le,He=Ue;
96
+ }`}function We(e,s,t){let r=e.getNativeBuildContext?.();if(!r||r.framework!=="webpack"&&r.framework!=="rspack")return;let o=r.loaderContext?._module;if(!o)return;let n=o.buildInfo??(o.buildInfo={});n[t]=s}function ze(e){return async function(s,t){let{framework:r,options:o,classNameAllocator:n,rollupDataById:d,esbuildDataById:i,cssFileName:a,getEsbuildWorkingDirectory:m,notifyViteStyles:p}=e;o.themeFile&&this.addWatchFile?.((0,k.resolve)(o.themeFile));let l=Ue(this),u=l?_(l,o):void 0,c=await O(s,t,{...o,classNameAllocator:u?.classNameAllocator??n,...o.stableClassNames?{stableClassNameFileName:(0,k.relative)(l??process.cwd(),y(t)).replaceAll(k.sep,"/")}:{}},Fe(this,t)),f={id:y(t),rules:c?.rules??[],candidates:c?.candidates??{},composites:c?.composites??{},atomicClasses:c?.atomicClasses??[],origins:c?.origins??{},cssOnlySignature:c?.cssOnlySignature??""};We(this,f,w);let g=y(t);(c||g===t)&&(d.set(g,f),i.set((0,k.resolve)(m(),g),f),u?.transformedDataById.set(g,f)),r==="vite"&&p(T("/",a));let N=c?.code??s;return{code:(r==="webpack"||r==="rspack")&&c?`${N}
97
+ ${_e(a)}`:N,meta:{[w]:f},...c?.map?{map:c.map}:{}}}}var Xe=require("buffer"),E=require("fs/promises"),F=require("path");function Ge(e){let{options:s,cssFileName:t,sourceMap:r,dataById:o,getTheme:n}=e,d,i=process.cwd();return{config(a){a.metafile=!0},setup(a){i=a.initialOptions.absWorkingDir??process.cwd(),a.onEnd(async m=>{if(!m.metafile)return;let p=new Set(Object.keys(m.metafile.inputs).map(f=>(0,F.resolve)(i,f)));for(let f of o.keys())p.has(f)||o.delete(f);let l=await h([...o.values()],await n(),s.layer,r,s.darkMode,s.preflight),u=Y(i,a.initialOptions,b(t,l.css));if(!l.css){d&&await(0,E.unlink)(d).catch(()=>{}),d=void 0;return}let c=S(l,(0,F.basename)(u));if(a.initialOptions.write===!1){let f=m.outputFiles;if(!f)return;let g={path:u,contents:Xe.Buffer.from(c),hash:"",text:c};if(f.findIndex(C=>C.path===u)!==-1)throw new Error(`CSSX CSS asset collision at "${u}".`);f.push(g);return}await(0,E.mkdir)((0,F.dirname)(u),{recursive:!0}),await(0,E.writeFile)(u,c),d=u})},getWorkingDirectory:()=>i}}function qe(e,s,t){let r=new Set;for(let o of s)e.moduleGraph?.invalidateModule(o,r,t,!0);for(let o of r){if(!o.id)continue;let n=e.runner?.evaluatedModules?.getModuleById(o.id);n&&e.runner?.evaluatedModules?.invalidateModule(n)}}function Je(e){return async function(t){let r=this.environment;if(!r||r.name==="client")return;let o=t.modules,n=o.filter(a=>{let m=e.get(y(a.id??""));return!!(m&&m.cssOnlySignature&&m.atomicClasses?.length===0)});if(n.length===0)return;let d=new Map(n.map(a=>[a,e.get(y(a.id)).cssOnlySignature]));for(let a of n)a.url&&await r.transformRequest(a.url);if(n.every(a=>{let m=e.get(y(a.id));return!!(m&&m.atomicClasses.length===0&&m.cssOnlySignature===d.get(a))}))return qe(r,n,t.timestamp),o.filter(a=>!n.includes(a))}}var mt=/\.(?:[cm]?[jt]sx?|astro|vue)(?:\?.*)?$/,ut=(e={},s)=>{B(e);let t=e.cssFileName??"cssx.css",r=e.sourceMap??!0,o=new Map,n=(0,Ke.createClassNameAllocator)(),d=new Map,i,a=()=>j(e),m=Ge({options:e,cssFileName:t,sourceMap:r,dataById:d,getTheme:a}),p=He({framework:s.framework,options:e,cssFileName:t,sourceMap:r,rollupDataById:o,getTheme:a});return{name:"@cssxio/unplugin",enforce:"pre",transform:{filter:{id:mt},handler:ze({framework:s.framework,options:e,classNameAllocator:n,rollupDataById:o,esbuildDataById:d,cssFileName:t,getEsbuildWorkingDirectory:m.getWorkingDirectory,notifyViteStyles:l=>{i&&K(i,l)}})},watchChange(l,u){u.event==="delete"&&o.delete(y(l))},rollup:{generateBundle:p},vite:{generateBundle:p,configureServer(l){i=l,$e(l,{cssFileName:t,sourceMap:r,options:e,rollupDataById:o,getTheme:a})},hotUpdate:{order:"pre",handler:Je(o)}},...s.framework==="webpack"?{webpack(l){te({compiler:l,options:e,cssFileName:t,sourceMap:r,getTheme:a})}}:{},...s.framework==="rspack"?{rspack(l){te({compiler:l,options:e,cssFileName:t,sourceMap:r,getTheme:a})}}:{},...s.framework==="esbuild"?{esbuild:{config:m.config,setup:m.setup}}:{}}},Q=(0,Qe.createUnplugin)(ut),Ye=Q.vite,Zo=Q.rollup,er=Q.webpack,tr=Q.rspack;var pt=Ye,ft=pt;
package/dist/vite.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _unplugin from 'unplugin';
2
- import { C as CssxPluginOptions } from './options-kIzRyZSc.cjs';
2
+ import { C as CssxPluginOptions } from './options-ByIyWTN0.cjs';
3
3
  import '@cssxio/compiler';
4
4
 
5
5
  /**
package/dist/vite.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _unplugin from 'unplugin';
2
- import { C as CssxPluginOptions } from './options-kIzRyZSc.js';
2
+ import { C as CssxPluginOptions } from './options-ByIyWTN0.js';
3
3
  import '@cssxio/compiler';
4
4
 
5
5
  /**
package/dist/vite.js CHANGED
@@ -1 +1 @@
1
- import{e as t}from"./chunk-KCX3ORPX.js";var e=t,i=e;export{i as default};
1
+ import{e as t}from"./chunk-SKXNEQ2Z.js";var e=t,i=e;export{i as default};
package/dist/webpack.cjs CHANGED
@@ -1,8 +1,12 @@
1
- "use strict";var ce=Object.create;var E=Object.defineProperty;var ue=Object.getOwnPropertyDescriptor;var me=Object.getOwnPropertyNames;var pe=Object.getPrototypeOf,fe=Object.prototype.hasOwnProperty;var ge=(e,t)=>{for(var s in t)E(e,s,{get:t[s],enumerable:!0})},q=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of me(t))!fe.call(e,n)&&n!==s&&E(e,n,{get:()=>t[n],enumerable:!(r=ue(t,n))||r.enumerable});return e};var ye=(e,t,s)=>(s=e!=null?ce(pe(e)):{},q(t||!e||!e.__esModule?E(s,"default",{value:e,enumerable:!0}):s,e)),he=e=>q(E({},"__esModule",{value:!0}),e);var _e={};ge(_e,{default:()=>He});module.exports=he(_e);var G=require("@cssxio/compiler"),ae=require("unplugin"),ie=require("buffer"),O=require("fs/promises"),S=require("path");var L=require("@cssxio/compiler"),Z=require("path");var J='*,::before,::after,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}button,select{text-transform:none}button,input:where([type="button"],[type="reset"],[type="submit"]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit}textarea{resize:vertical}::placeholder{opacity:1}button,[role="button"]{cursor:pointer}:disabled{cursor:default}[hidden]:where(:not([hidden="until-found"])){display:none!important}';async function v(e,t,s,r=!0,n,d=!0){let u=Object.create(null),o=Object.create(null),y=new Set,g=!0,x=new Map;for(let i of[...e].sort((a,f)=>a.id.localeCompare(f.id))){for(let[a,f]of Object.entries(i.candidates))if(a in u||(u[a]=f),i.id&&!x.has(a)){let k=i.origins?.[a];x.set(a,{id:i.id,line:k?.line??0,column:k?.column??0})}for(let[a,f]of Object.entries(i.composites??{})){let k=o[a];if(k&&k.join(" ")!==f.join(" "))throw new Error(`CSSX composite class collision for "${a}".`);o[a]=f}i.atomicClasses===void 0&&(g=!1);for(let a of i.atomicClasses??[])y.add(a)}let C=Object.keys(u).sort(),l=d?J:"";if(C.length===0)return{css:l&&s?`@layer ${s}{${l}}`:l};let c=await(0,L.compileUtilities)(C,i=>u[i],t,(0,L.createSelectorAliases)(o),g?y:void 0,{darkMode:n}),p=s?`@layer ${s}{`:"",h=`${p}${l}${c.css}${p?"}":""}`,m=r?Ce(`${p}${l}${c.prefixCss}`,c.entries,x):void 0;return{css:h,...m?{map:m}:{}}}function M(e,t){return e.map?`${e.css}
2
- /*# sourceMappingURL=${(0,Z.basename)(t)}.map */`:e.css}function A(e,t){return JSON.stringify({...e,file:t})}function Ce(e,t,s){let r=[...new Set(t.map(o=>s.get(o.candidate)?.id).filter(o=>!!o))].sort();if(r.length===0)return;let n=new Map(r.map((o,y)=>[o,y])),d=[],u=K({line:0,column:0},e);for(let o of t){let y=s.get(o.candidate);y&&d.push({...u,source:n.get(y.id),originalLine:y.line,originalColumn:y.column}),u=K(u,o.css)}return{version:3,sources:r,names:[],mappings:xe(d)}}function K(e,t){let s=t.split(`
3
- `);return{line:e.line+s.length-1,column:s.at(-1).length+e.column*+(s.length===1)}}function xe(e){let t=Array.from({length:Math.max(0,...e.map(o=>o.line))+1},()=>[]),s=0,r=0,n=0,d=0,u=0;for(let o of e)u*=+(o.line===d),d=o.line,t[o.line]?.push(`${F(o.column-u)}${F(o.source-s)}${F(o.originalLine-r)}${F(o.originalColumn-n)}`),u=o.column,s=o.source,r=o.originalLine,n=o.originalColumn;return t.map(o=>o.join(",")).join(";")}var be="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function F(e){let t="",s=e<0?-e<<1|1:e<<1;do{let r=s&31;s>>>=5,s&&(r|=32),t+=be[r]}while(s);return t}var Q=require("fs/promises"),b=require("path");async function $(e){return e.themeFile===void 0?e.theme:(0,Q.readFile)((0,b.resolve)(process.cwd(),e.themeFile),"utf8")}function B(e){if(e.theme!==void 0&&e.themeFile!==void 0)throw new Error("CSSX accepts either theme or themeFile, not both.");if(e.layer!==void 0&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(e.layer))throw new Error("CSSX layer must be a valid CSS layer identifier.");if(e.sourceMap!==void 0&&typeof e.sourceMap!="boolean")throw new Error("CSSX sourceMap must be a boolean.");if(e.darkMode!==void 0&&e.darkMode!=="media"&&e.darkMode!=="selector"&&e.darkMode!=="class")throw new Error('CSSX darkMode must be "media", "selector", or "class".');if(e.preflight!==void 0&&typeof e.preflight!="boolean")throw new Error("CSSX preflight must be a boolean.");if(e.reusabilityBudget!==void 0&&e.reusabilityBudget!=="auto"&&(!Number.isFinite(e.reusabilityBudget)||e.reusabilityBudget<0||e.reusabilityBudget>100))throw new Error('CSSX reusabilityBudget must be "auto" or a number from 0 through 100.');_(e.cssFileName??"cssx.css")}function H(e){let t=2166136261;for(let s=0;s<e.length;s++)t^=e.charCodeAt(s),t=Math.imul(t,16777619);return(t>>>0).toString(36)}function P(e,t){return _(e).replaceAll("[hash]",H(t))}function D(e,t){return`${e&&e!=="/"?`/${e.replace(/^\/+|\/+$/g,"")}`:""}/${_(t).replaceAll(b.sep,"/")}`}function Y(e,t,s){return t.outdir?(0,b.resolve)(e,t.outdir,s):t.outfile?(0,b.resolve)((0,b.dirname)((0,b.resolve)(e,t.outfile)),s):(0,b.resolve)(e,s)}function w(e){return e.split("?",1).join("")}function _(e){if(!e||(0,b.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let t=(0,b.normalize)(e);if(t===".."||t.startsWith(`..${b.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!t.endsWith(".css"))throw new Error("cssFileName must end in .css.");return t}function ee(e,t,s){let r=e.getNativeBuildContext?.();if(!r||r.framework!=="webpack"&&r.framework!=="rspack")return;let n=r.loaderContext?._module;if(!n)return;let d=n.buildInfo??(n.buildInfo={});d[s]=t}function V(e,t,s,r,n,d,u,o,y=!0,g){let x=e.name??e.options?.name;x==="server"||x==="edge-server"||e.hooks.thisCompilation.tap("@cssxio/unplugin",C=>{C.hooks.processAssets.tapPromise({name:"@cssxio/unplugin",stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},async()=>{let l=g?await g():Se([...C.modules].map(h=>we(h,d)).filter(h=>h!==void 0),u?.values()??[]),c=await v(l,await s(),r,n,o,y);if(!c.css)return;let p=P(t,c.css);if(C.getAsset?.(p))throw new Error(`CSSX CSS asset collision at "${p}".`);if(C.emitAsset(p,new e.webpack.sources.RawSource(M(c,p))),c.map){let h=`${p}.map`;if(C.getAsset?.(h))throw new Error(`CSSX CSS map asset collision at "${h}".`);C.emitAsset(h,new e.webpack.sources.RawSource(A(c.map,p)))}})})}function Se(e,t){let s=new Map,r=[];for(let n of t)n.id?s.set(n.id,n):r.push(n);for(let n of e)n.id?s.set(n.id,n):r.push(n);return[...s.values(),...r]}function we(e,t){let s=e.buildInfo?.[t];if(!s||typeof s!="object")return;let{id:r,candidates:n,composites:d,atomicClasses:u,origins:o}=s;return{id:typeof r=="string"?r:"",candidates:n&&typeof n=="object"?n:{},composites:d&&typeof d=="object"?d:{},...Array.isArray(u)?{atomicClasses:u}:{},origins:o&&typeof o=="object"?o:{}}}var T=require("fs/promises"),R=require("path"),re=require("@cssxio/compiler");var te=require("@babel/core"),se=ye(require("@cssxio/babel-plugin"),1),N=require("@cssxio/compiler");var ke=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]);async function I(e,t,s={},r){B(s);let n=s.importSource??"@cssxio/cssx",d=t.split("?",1).join("");if(!ke.has(d.slice(d.lastIndexOf(".")))||!e.includes(n))return null;if(d.endsWith(".astro"))return ve(e,t,s);let u=await $(s),o=await(0,te.transformAsync)(e,{babelrc:!1,configFile:!1,filename:d,parserOpts:{plugins:["jsx","typescript"]},plugins:[[se.default,{importSource:n,classNameAllocator:s.classNameAllocator,theme:u,reusabilityBudget:s.reusabilityBudget,stableClassNames:s.stableClassNames,stableClassNameFileName:s.stableClassNameFileName,darkMode:s.darkMode}]],sourceMaps:!0,...r?{inputSourceMap:r}:{}}),y=o.metadata,{candidates:g,origins:x,composites:C,atomicClasses:l,cssOnlySignature:c}=y.cssx,p=Object.keys(g),h=p.length===0?"":(await(0,N.compileUtilities)(p,m=>g[m],u,(0,N.createSelectorAliases)(C),new Set(l),{darkMode:s.darkMode})).css;return{code:o.code,rules:h?[Re(Oe(h,s.layer))]:[],candidates:g,composites:C,atomicClasses:l,origins:x,cssOnlySignature:c,map:o.map}}async function ve(e,t,s){let r=Me(e);if(r.length===0)return null;let n=s.classNameAllocator??(0,N.createClassNameAllocator)(),d=s.importSource??"@cssxio/cssx",u={},o={},y=[],g=e;for(let x of[...r].reverse()){let C=await I(`import { sx } from ${JSON.stringify(d)};
4
- const style = ${x.code};`,`${t}.ts`,{...s,classNameAllocator:n}),l=Ne(C.code);g=`${g.slice(0,x.start)}${l}${g.slice(x.end)}`,Object.assign(u,C.candidates),Object.assign(o,C.composites),y.push(...C.rules)}return{code:g,rules:y,candidates:u,composites:o,atomicClasses:[],origins:{},cssOnlySignature:g}}function Me(e){let t=[],s=/\bsx\s*\(/g;for(let r of e.matchAll(s)){let n=r.index,d=e.indexOf("(",n),u=0,o="";for(let y=d;y<e.length;y+=1){let g=e[y];if(o){g==="\\"?y+=1:g===o&&(o="");continue}if(g==='"'||g==="'"||g==="`")o=g;else if(g==="(")u+=1;else if(g===")"&&--u===0){t.push({start:n,end:y+1,code:e.slice(n,y+1)}),s.lastIndex=y+1;break}}}return t}function Ne(e){let t="const style = ",s=e.indexOf(t)+t.length,r=e.indexOf(";",s);return e.slice(s,r)}function ne(e,t){if(!e||typeof e!="object")return;let s=e.getCombinedSourcemap;if(typeof s!="function")return;let r=s.call(e);if(!r||typeof r!="object")return;let n=r;if(!(n.version!==3||!Array.isArray(n.sources)||typeof n.mappings!="string"))return{version:n.version,sources:[...n.sources],names:[...n.names??[]],mappings:n.mappings,file:n.file??t.split("?",1).join(""),...n.sourceRoot?{sourceRoot:n.sourceRoot}:{},...n.sourcesContent?{sourcesContent:[...n.sourcesContent]}:{}}}function Re(e){return{className:`cssx-${H(e)}`,css:e}}function Oe(e,t){return e&&t?`@layer ${t}{${e}}`:e}var Ae=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]),Pe=new Set([".git",".next",".turbo","node_modules"]);async function W(e,t){let s=await Ie(e),r=(0,re.createClassNameAllocator)(t.className),n=[];for(let d of s){let u=await(0,T.readFile)(d,"utf8"),o=await I(u,d,{...t,classNameAllocator:r,stableClassNames:!0,stableClassNameFileName:(0,R.relative)(e,d).replaceAll(R.sep,"/")});o&&n.push({id:d,candidates:o.candidates,composites:o.composites,atomicClasses:o.atomicClasses,origins:o.origins})}return n}async function Ie(e){let t=[],s=[e];for(;s.length>0;){let r=s.pop();for(let n of await(0,T.readdir)(r,{withFileTypes:!0})){let d=(0,R.join)(r,n.name);if(n.isDirectory()){Pe.has(n.name)||s.push(d);continue}n.isFile()&&Ae.has(d.slice(d.lastIndexOf(".")))&&t.push(d)}}return t.sort()}function X(e,t,s=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:t,acceptedPath:t,timestamp:s}]})}var j="@cssxio/unplugin/rules",je=/\.(?:[cm]?[jt]sx?|astro)(?:\?.*)?$/,oe=new Map;function Ee(e,t){return`${e}\0${JSON.stringify(t)}`}function z(e,t){let s=Ee(e,t),r=oe.get(s);return r||(r={classNameAllocator:(0,G.createClassNameAllocator)(),transformedDataById:new Map},oe.set(s,r)),r}function Fe(e){let t=e.getNativeBuildContext?.();return t&&(t.framework==="webpack"||t.framework==="rspack")?t.loaderContext?.rootContext??process.cwd():void 0}function Le(e,t,s){let r=new Set;for(let n of t)e.moduleGraph?.invalidateModule(n,r,s,!0);for(let n of r){if(!n.id)continue;let d=e.runner?.evaluatedModules?.getModuleById(n.id);d&&e.runner?.evaluatedModules?.invalidateModule(d)}}function $e(e){return!e||typeof e!="object"?{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""}:Be(e[j])}function Be(e){if(!e||typeof e!="object")return{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""};let{id:t,rules:s,candidates:r,composites:n,atomicClasses:d,origins:u,cssOnlySignature:o}=e;return{id:typeof t=="string"?t:"",rules:Array.isArray(s)?s:[],candidates:r&&typeof r=="object"?r:{},composites:n&&typeof n=="object"?n:{},...Array.isArray(d)?{atomicClasses:d}:{},origins:u&&typeof u=="object"?u:{},cssOnlySignature:typeof o=="string"?o:""}}var De=(e={},t)=>{B(e);let s=e.cssFileName??"cssx.css",r=e.sourceMap??!0,n=new Map,d=(0,G.createClassNameAllocator)(),u=new Map,o,y=process.cwd(),g,x=()=>$(e),C=async function(l,c){let p=new Set(Object.values(c).flatMap(a=>a.type==="chunk"?Object.keys(a.modules??{}):[]).map(w));if(t.framework!=="vite")for(let a of n.keys())p.has(a)||n.delete(a);let h=t.framework==="vite"?[...n.values()]:[...p].map(a=>{let f=$e(this.getModuleInfo(a)?.meta);return Object.keys(f.candidates).length>0?f:n.get(a)??f}),m=await v(h,await x(),e.layer,r,e.darkMode,e.preflight);if(!m.css)return;let i=P(s,m.css);if(Object.hasOwn(c,i))throw new Error(`CSSX CSS asset collision at "${i}".`);if(this.emitFile({type:"asset",fileName:i,source:M(m,i)}),m.map){let a=`${i}.map`;if(Object.hasOwn(c,a))throw new Error(`CSSX CSS map asset collision at "${a}".`);this.emitFile({type:"asset",fileName:a,source:A(m.map,i)})}};return{name:"@cssxio/unplugin",enforce:"pre",transform:{filter:{id:je},async handler(l,c){e.themeFile&&this.addWatchFile?.((0,S.resolve)(process.cwd(),e.themeFile));let p=Fe(this),h=p?z(p,e):void 0,m=await I(l,c,{...e,classNameAllocator:h?.classNameAllocator??d,...e.stableClassNames?{stableClassNameFileName:(0,S.relative)(p??process.cwd(),w(c)).replaceAll(S.sep,"/")}:{}},ne(this,c)),i={id:w(c),rules:m?.rules??[],candidates:m?.candidates??{},composites:m?.composites??{},atomicClasses:m?.atomicClasses??[],origins:m?.origins??{},cssOnlySignature:m?.cssOnlySignature??""};ee(this,i,j);let a=w(c);(m||a===c)&&(n.set(a,i),u.set((0,S.resolve)(y,a),i),h?.transformedDataById.set(a,i)),t.framework==="vite"&&g&&X(g,D("/",s));let f=m?.code??l;return{code:(t.framework==="webpack"||t.framework==="rspack")&&m?`${f}
5
- ${Te(s)}`:f,meta:{[j]:i},...m?.map?{map:m.map}:{}}}},watchChange(l,c){c.event==="delete"&&n.delete(w(l))},rollup:{generateBundle:C},vite:{generateBundle:C,configureServer(l){g=l;let c=D(l.config.base,s),p=D("/",s);l.watcher?.on("unlink",h=>{n.delete(w(h)),X(l,p)}),l.middlewares.use((h,m,i)=>{let a=h.url?.split("?",1)[0];if(a!==c&&(a!==`${c}.map`||!r))return i();x().then(f=>v([...n.values()],f,e.layer,r,e.darkMode,e.preflight)).then(f=>{if(a===`${c}.map`){m.setHeader("Content-Type","application/json; charset=utf-8"),m.setHeader("Cache-Control","no-store"),m.end(f.map?A(f.map,s):"");return}m.setHeader("Content-Type","text/css; charset=utf-8"),m.setHeader("Cache-Control","no-store"),m.end(M(f,s))}).catch(f=>{m.setHeader("Content-Type","text/plain; charset=utf-8"),m.end(f instanceof Error?f.message:"Unable to compile CSSX development stylesheet.")})})},hotUpdate:{order:"pre",async handler(l){let c=this.environment;if(!c||c.name==="client")return;let p=l.modules.filter(i=>{let a=n.get(w(i.id??""));return!!(a&&a.cssOnlySignature&&a.atomicClasses?.length===0)});if(p.length===0)return;let h=new Map(p.map(i=>[i,n.get(w(i.id)).cssOnlySignature]));for(let i of p)i.url&&await c.transformRequest(i.url);if(p.every(i=>{let a=n.get(w(i.id));return!!(a&&a.atomicClasses.length===0&&a.cssOnlySignature===h.get(i))}))return Le(c,p,l.timestamp),l.modules.filter(i=>!p.includes(i))}}},...t.framework==="webpack"?{webpack(l){let c=z(l.context,e);V(l,s,x,e.layer,r,j,c.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>W(l.context,e):void 0)}}:{},...t.framework==="rspack"?{rspack(l){let c=z(l.context,e);V(l,s,x,e.layer,r,j,c.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>W(l.context,e):void 0)}}:{},...t.framework==="esbuild"?{esbuild:{config(l){l.metafile=!0},setup(l){let c=l.initialOptions.absWorkingDir??process.cwd();y=c,l.onEnd(async p=>{if(!p.metafile)return;let h=new Set(Object.keys(p.metafile.inputs).map(f=>(0,S.resolve)(c,f)));for(let f of u.keys())h.has(f)||u.delete(f);let m=await v([...u.values()],await x(),e.layer,r,e.darkMode,e.preflight),i=Y(c,l.initialOptions,P(s,m.css));if(!m.css){o&&await(0,O.unlink)(o).catch(()=>{}),o=void 0;return}let a=M(m,(0,S.basename)(i));if(l.initialOptions.write===!1){let f=p.outputFiles;if(!f)return;let k={path:i,contents:ie.Buffer.from(a),hash:"",text:a};if(f.findIndex(de=>de.path===i)!==-1)throw new Error(`CSSX CSS asset collision at "${i}".`);f.push(k);return}await(0,O.mkdir)((0,S.dirname)(i),{recursive:!0}),await(0,O.writeFile)(i,a),o=i})}}}:{}}},U=(0,ae.createUnplugin)(De);function Te(e){return`if (typeof document !== "undefined" && typeof module !== "undefined" && module.hot) {
1
+ "use strict";var Ze=Object.create;var V=Object.defineProperty;var et=Object.getOwnPropertyDescriptor;var tt=Object.getOwnPropertyNames;var st=Object.getPrototypeOf,ot=Object.prototype.hasOwnProperty;var rt=(e,s)=>{for(var t in s)V(e,t,{get:s[t],enumerable:!0})},se=(e,s,t,r)=>{if(s&&typeof s=="object"||typeof s=="function")for(let o of tt(s))!ot.call(e,o)&&o!==t&&V(e,o,{get:()=>s[o],enumerable:!(r=et(s,o))||r.enumerable});return e};var nt=(e,s,t)=>(t=e!=null?Ze(st(e)):{},se(s||!e||!e.__esModule?V(t,"default",{value:e,enumerable:!0}):t,e)),it=e=>se(V({},"__esModule",{value:!0}),e);var gt={};rt(gt,{default:()=>ft});module.exports=it(gt);var Ke=require("@cssxio/compiler"),Qe=require("unplugin");function oe(e,s){let t=new Map,r=[];for(let o of s)o.id?t.set(o.id,o):r.push(o);for(let o of e)o.id?t.set(o.id,o):r.push(o);return[...t.values(),...r]}var A=require("path");function P(e){if(!e||(0,A.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let s=(0,A.normalize)(e);if(s===".."||s.startsWith(`..${A.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!s.endsWith(".css"))throw new Error("cssFileName must end in .css.");return s}function B(e){if(e.theme!==void 0&&e.themeFile!==void 0)throw new Error("CSSX accepts either theme or themeFile, not both.");if(e.layer!==void 0&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(e.layer))throw new Error("CSSX layer must be a valid CSS layer identifier.");if(e.sourceMap!==void 0&&typeof e.sourceMap!="boolean")throw new Error("CSSX sourceMap must be a boolean.");if(e.darkMode!==void 0&&e.darkMode!=="media"&&e.darkMode!=="selector"&&e.darkMode!=="class")throw new Error('CSSX darkMode must be "media", "selector", or "class".');if(e.preflight!==void 0&&typeof e.preflight!="boolean")throw new Error("CSSX preflight must be a boolean.");if(e.reusabilityBudget!==void 0&&e.reusabilityBudget!=="auto"&&(!Number.isFinite(e.reusabilityBudget)||e.reusabilityBudget<0||e.reusabilityBudget>100))throw new Error('CSSX reusabilityBudget must be "auto" or a number from 0 through 100.');P(e.cssFileName??"cssx.css")}var re=require("fs/promises"),ne=require("path");async function j(e){return e.themeFile===void 0?e.theme:(0,re.readFile)((0,ne.resolve)(process.cwd(),e.themeFile),"utf8")}function y(e){return e.split("?",1).join("")}function $(e){let s=2166136261;for(let t=0;t<e.length;t++)s^=e.charCodeAt(t),s=Math.imul(s,16777619);return(s>>>0).toString(36)}function b(e,s){return P(e).replaceAll("[hash]",$(s))}var M=require("path");function Y(e,s,t){return s.outdir?(0,M.resolve)(e,s.outdir,t):s.outfile?(0,M.resolve)((0,M.dirname)((0,M.resolve)(e,s.outfile)),t):(0,M.resolve)(e,t)}var ie=require("path");function T(e,s){return`${e&&e!=="/"?`/${e.replace(/^\/+|\/+$/g,"")}`:""}/${P(s).replaceAll(ie.sep,"/")}`}function ae(e,s){let t=e.buildInfo?.[s];if(!t||typeof t!="object")return;let{id:r,candidates:o,composites:n,atomicClasses:d,origins:i}=t;return{id:typeof r=="string"?r:"",candidates:o&&typeof o=="object"?o:{},composites:n&&typeof n=="object"?n:{},...Array.isArray(d)?{atomicClasses:d}:{},origins:i&&typeof i=="object"?i:{}}}var H=require("@cssxio/compiler");function Z(e,s){let t=s.split(`
2
+ `);return{line:e.line+t.length-1,column:t.at(-1).length+e.column*+(t.length===1)}}var at="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function L(e){let s="",t=e<0?-e<<1|1:e<<1;do{let r=t&31;t>>>=5,t&&(r|=32),s+=at[r]}while(t);return s}function le(e){let s=Array.from({length:Math.max(0,...e.map(i=>i.line))+1},()=>[]),t=0,r=0,o=0,n=0,d=0;for(let i of e)d*=+(i.line===n),n=i.line,s[i.line]?.push(`${L(i.column-d)}${L(i.source-t)}${L(i.originalLine-r)}${L(i.originalColumn-o)}`),d=i.column,t=i.source,r=i.originalLine,o=i.originalColumn;return s.map(i=>i.join(",")).join(";")}function ce(e,s,t){let r=[...new Set(s.map(i=>t.get(i.candidate)?.id).filter(i=>!!i))].sort();if(r.length===0)return;let o=new Map(r.map((i,a)=>[i,a])),n=[],d=Z({line:0,column:0},e);for(let i of s){let a=t.get(i.candidate);a&&n.push({...d,source:o.get(a.id),originalLine:a.line,originalColumn:a.column}),d=Z(d,i.css)}return{version:3,sources:r,names:[],mappings:le(n)}}var de='*,::before,::after,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}button,select{text-transform:none}button,input:where([type="button"],[type="reset"],[type="submit"]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit}textarea{resize:vertical}::placeholder{opacity:1}button,[role="button"]{cursor:pointer}:disabled{cursor:default}[hidden]:where(:not([hidden="until-found"])){display:none!important}';async function h(e,s,t,r=!0,o,n=!0){let d=Object.create(null),i=Object.create(null),a=new Set,m=!0,p=new Map;for(let C of[...e].sort((x,R)=>x.id.localeCompare(R.id))){for(let[x,R]of Object.entries(C.candidates))if(x in d||(d[x]=R),C.id&&!p.has(x)){let D=C.origins?.[x];p.set(x,{id:C.id,line:D?.line??0,column:D?.column??0})}for(let[x,R]of Object.entries(C.composites??{})){let D=i[x];if(D&&D.join(" ")!==R.join(" "))throw new Error(`CSSX composite class collision for "${x}".`);i[x]=R}C.atomicClasses===void 0&&(m=!1);for(let x of C.atomicClasses??[])a.add(x)}let l=Object.keys(d).sort(),u=n?de:"";if(l.length===0)return{css:u&&t?`@layer ${t}{${u}}`:u};let c=await(0,H.compileUtilities)(l,C=>d[C],s,(0,H.createSelectorAliases)(i),m?a:void 0,{darkMode:o}),f=t?`@layer ${t}{`:"",g=`${f}${u}${c.css}${f?"}":""}`,N=r?ce(`${f}${u}${c.prefixCss}`,c.entries,p):void 0;return{css:g,...N?{map:N}:{}}}function v(e,s){return JSON.stringify({...e,file:s})}var me=require("path");function S(e,s){return e.map?`${e.css}
3
+ /*# sourceMappingURL=${(0,me.basename)(s)}.map */`:e.css}function ue(e,s,t,r,o,n,d,i,a=!0,m){let p=e.name??e.options?.name;p==="server"||p==="edge-server"||e.hooks.thisCompilation.tap("@cssxio/unplugin",l=>{l.hooks.processAssets.tapPromise({name:"@cssxio/unplugin",stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},async()=>{let u=m?await m():oe([...l.modules].map(g=>ae(g,n)).filter(g=>g!==void 0),d?.values()??[]),c=await h(u,await t(),r,o,i,a);if(!c.css)return;let f=b(s,c.css);if(l.getAsset?.(f))throw new Error(`CSSX CSS asset collision at "${f}".`);if(l.emitAsset(f,new e.webpack.sources.RawSource(S(c,f))),c.map){let g=`${f}.map`;if(l.getAsset?.(g))throw new Error(`CSSX CSS map asset collision at "${g}".`);l.emitAsset(g,new e.webpack.sources.RawSource(v(c.map,f)))}})})}var w="@cssxio/unplugin/rules";function U(){return{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""}}var ge=require("@cssxio/compiler");function pe(e,s){return`${e}\0${JSON.stringify(s)}`}var fe=new Map;function _(e,s){let t=pe(e,s),r=fe.get(t);return r||(r={classNameAllocator:(0,ge.createClassNameAllocator)(),transformedDataById:new Map},fe.set(t,r)),r}var De=require("@cssxio/compiler"),Be=require("fs/promises"),J=require("path");var ye=require("fs/promises"),xe=require("path"),lt=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]),ct=new Set([".git",".next",".turbo","node_modules"]);async function Ce(e){let s=[],t=[e];for(;t.length>0;){let r=t.pop();for(let o of await(0,ye.readdir)(r,{withFileTypes:!0})){let n=(0,xe.join)(r,o.name);if(o.isDirectory()){ct.has(o.name)||t.push(n);continue}o.isFile()&&lt.has(n.slice(n.lastIndexOf(".")))&&s.push(n)}}return s.sort()}var he=require("@cssxio/compiler");function W(e){let s=[],t=/\bsx\s*\(/g;for(let r of e.matchAll(t)){let o=r.index,n=e.indexOf("(",o),d=0,i="";for(let a=n;a<e.length;a+=1){let m=e[a];if(i){m==="\\"?a+=1:m===i&&(i="");continue}if(m==='"'||m==="'"||m==="`")i=m;else if(m==="(")d+=1;else if(m===")"&&--d===0){s.push({start:o,end:a+1,code:e.slice(o,a+1)}),t.lastIndex=a+1;break}}}return s}function I(e,s){return{code:e,rules:s.flatMap(t=>t.rules),candidates:Object.assign({},...s.map(t=>t.candidates)),composites:Object.assign({},...s.map(t=>t.composites)),atomicClasses:[...new Set(s.flatMap(t=>t.atomicClasses))],origins:Object.assign({},...s.map(t=>t.origins)),cssOnlySignature:e}}function z(e){let s="const style = ",t=e.indexOf(s)+s.length,r=e.indexOf(";",t);return e.slice(t,r)}async function Se(e,s,t,r){let o=W(e);if(o.length===0)return null;let n=t.classNameAllocator??(0,he.createClassNameAllocator)(),d=t.importSource??"@cssxio/cssx",i=[],a=e;for(let m of[...o].reverse()){let p=await r(`import { sx } from ${JSON.stringify(d)};
4
+ const style = ${m.code};`,`${s}.ts`,{...t,classNameAllocator:n}),l=z(p.code);a=`${a.slice(0,m.start)}${l}${a.slice(m.end)}`,i.push({...p,atomicClasses:[],origins:{}})}return I(a,i)}var ve=require("@babel/core"),we=nt(require("@cssxio/babel-plugin"),1),X=require("@cssxio/compiler");function be(e){return{className:`cssx-${$(e)}`,css:e}}function Me(e,s){return e&&s?`@layer ${s}{${e}}`:e}async function Oe(e,s,t,r){let o=t.importSource??"@cssxio/cssx",n=await j(t),d=await(0,ve.transformAsync)(e,{babelrc:!1,configFile:!1,filename:s,parserOpts:{plugins:["jsx","typescript"]},plugins:[[we.default,{importSource:o,classNameAllocator:t.classNameAllocator,theme:n,reusabilityBudget:t.reusabilityBudget,stableClassNames:t.stableClassNames,stableClassNameFileName:t.stableClassNameFileName,darkMode:t.darkMode}]],sourceMaps:!0,...r?{inputSourceMap:r}:{}}),i=d.metadata,{candidates:a,origins:m,composites:p,atomicClasses:l,cssOnlySignature:u}=i.cssx,c=Object.keys(a),f=c.length===0?"":(await(0,X.compileUtilities)(c,g=>a[g],n,(0,X.createSelectorAliases)(p),new Set(l),{darkMode:t.darkMode})).css;return{code:d.code,rules:f?[be(Me(f,t.layer))]:[],candidates:a,composites:p,atomicClasses:l,origins:m,cssOnlySignature:u,map:d.map}}var Te=require("@cssxio/compiler"),Ie=require("@vue/compiler-sfc");function G(e,s){let t=e.split(`
5
+ `).slice(0,s.line).reduce((r,o)=>r+o.length+1,0);return Math.min(e.length,t+s.column)}function q(e,s){let t=Math.min(e.length,s),r=e.slice(0,t).split(`
6
+ `).length-1,o=e.lastIndexOf(`
7
+ `,t-1)+1;return{line:r,column:t-o}}function ee(e,s,t){let r={},o=e.slice(s);for(let[n,d]of Object.entries(t))r[n]=q(e,s+G(o,d));return r}function ke(e){return e.slice(1,-1).replace(/\\(['"\\bnfrtv])/g,(s,t)=>({b:"\b",n:`
8
+ `,f:"\f",r:"\r",t:" ",v:"\v"})[t]??t)}function Ne(e,s){if(!s)return e;let t=s==='"'?"'":'"';return e.replace(/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'/g,r=>{let o=r[0]==='"'?JSON.parse(r):ke(r),n=JSON.stringify(o);return t==='"'?n:`'${n.slice(1,-1).replaceAll("'","\\'")}'`})}function Re(e,s,t,r,o){let n={};for(let[d,i]of Object.entries(o)){let a=G(t,i);n[d]=q(e,s+Math.max(0,a-r))}return n}function Ae(e,s){let t=-1,r;for(let o=0;o<s;o++){let n=e[o];if(r){n===r&&(r=void 0);continue}if(n==="<"&&/[A-Za-z]/.test(e[o+1])){t=o;continue}t!==-1&&(n===">"?t=-1:(n==='"'||n==="'")&&(r=n))}return r}async function Pe(e,s,t,r,o){let n=W(e);if(n.length===0)return null;let d=t.importSource??"@cssxio/cssx",i=[],a=e;for(let m of[...n].reverse()){let p=`import { sx } from ${JSON.stringify(d)};
9
+ const style = `,l=`${p}${m.code};`,u=await o(l,`${s}.cssx-vue-template.ts`,{...t,classNameAllocator:r}),c=Ne(z(u.code),Ae(e,m.start));a=`${a.slice(0,m.start)}${c}${a.slice(m.end)}`,i.push({...u,origins:Re(e,m.start,l,p.length,u.origins)})}return I(a,i)}async function Ee(e,s,t,r){let o=s.split("?",1).join(""),n=(0,Ie.parse)(e,{filename:o});if(n.errors.length>0)throw new Error(n.errors[0].message);let d=t.classNameAllocator??(0,Te.createClassNameAllocator)(),i=[],a=[];for(let l of[n.descriptor.script,n.descriptor.scriptSetup]){if(!l?.content.includes(t.importSource??"@cssxio/cssx"))continue;let u=l.lang==="js"||l.lang==="jsx"||l.lang==="tsx"?l.lang:"ts",c=await r(l.content,`${o}.cssx-vue-script.${u}`,{...t,classNameAllocator:d});i.push({start:l.loc.start.offset,end:l.loc.end.offset,code:c.code}),a.push({...c,origins:ee(e,l.loc.start.offset,c.origins)})}let m=n.descriptor.template;if(m?.content.includes("sx")){let l=await Pe(m.content,o,t,d,r);l&&(i.push({start:m.loc.start.offset,end:m.loc.end.offset,code:l.code}),a.push({...l,origins:ee(e,m.loc.start.offset,l.origins)}))}if(i.length===0)return null;let p=e;for(let l of i.sort((u,c)=>c.start-u.start))p=`${p.slice(0,l.start)}${l.code}${p.slice(l.end)}`;return I(p,a)}var dt=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro",".vue"]);async function O(e,s,t={},r){B(t);let o=t.importSource??"@cssxio/cssx",n=s.split("?",1).join("");return!dt.has(n.slice(n.lastIndexOf(".")))||!e.includes(o)?null:n.endsWith(".astro")?Se(e,s,t,O):n.endsWith(".vue")?Ee(e,s,t,O):Oe(e,n,t,r)}function Fe(e,s){if(!e||typeof e!="object")return;let t=e.getCombinedSourcemap;if(typeof t!="function")return;let r=t.call(e);if(!r||typeof r!="object")return;let o=r;if(!(o.version!==3||!Array.isArray(o.sources)||typeof o.mappings!="string"))return{version:o.version,sources:[...o.sources],names:[...o.names??[]],mappings:o.mappings,file:o.file??s.split("?",1).join(""),...o.sourceRoot?{sourceRoot:o.sourceRoot}:{},...o.sourcesContent?{sourcesContent:[...o.sourcesContent]}:{}}}async function je(e,s){let t=await Ce(e),r=(0,De.createClassNameAllocator)(s.className),o=[];for(let n of t){let d=await(0,Be.readFile)(n,"utf8"),i=await O(d,n,{...s,classNameAllocator:r,stableClassNames:!0,stableClassNameFileName:(0,J.relative)(e,n).replaceAll(J.sep,"/")});i&&o.push({id:n,candidates:i.candidates,composites:i.composites,atomicClasses:i.atomicClasses,origins:i.origins})}return o}function te({compiler:e,options:s,cssFileName:t,sourceMap:r,getTheme:o}){let n=_(e.context,s);ue(e,t,o,s.layer,r,w,n.transformedDataById,s.darkMode,s.preflight,s.stableClassNames?()=>je(e.context,s):void 0)}function K(e,s,t=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:s,acceptedPath:s,timestamp:t}]})}function $e(e,s){let{cssFileName:t,sourceMap:r,options:o,rollupDataById:n,getTheme:d}=s,i=T(e.config.base,t),a=T("/",t);e.watcher?.on("unlink",m=>{n.delete(y(m)),K(e,a)}),e.middlewares.use((m,p,l)=>{let u=m.url?.split("?",1)[0];if(u!==i&&(u!==`${i}.map`||!r))return l();d().then(c=>h([...n.values()],c,o.layer,r,o.darkMode,o.preflight)).then(c=>{if(u===`${i}.map`){p.setHeader("Content-Type","application/json; charset=utf-8"),p.setHeader("Cache-Control","no-store"),p.end(c.map?v(c.map,t):"");return}p.setHeader("Content-Type","text/css; charset=utf-8"),p.setHeader("Cache-Control","no-store"),p.end(S(c,t))}).catch(c=>{p.setHeader("Content-Type","text/plain; charset=utf-8"),p.end(c instanceof Error?c.message:"Unable to compile CSSX development stylesheet.")})})}function Le(e){if(!e||typeof e!="object")return U();let{id:s,rules:t,candidates:r,composites:o,atomicClasses:n,origins:d,cssOnlySignature:i}=e;return{id:typeof s=="string"?s:"",rules:Array.isArray(t)?t:[],candidates:r&&typeof r=="object"?r:{},composites:o&&typeof o=="object"?o:{},...Array.isArray(n)?{atomicClasses:n}:{},origins:d&&typeof d=="object"?d:{},cssOnlySignature:typeof i=="string"?i:""}}function Ve(e){return!e||typeof e!="object"?U():Le(e[w])}function He(e){return async function(s,t){let{framework:r,options:o,cssFileName:n,sourceMap:d,rollupDataById:i,getTheme:a}=e,m=new Set(Object.values(t).flatMap(c=>c.type==="chunk"?Object.keys(c.modules??{}):[]).map(y));if(r!=="vite")for(let c of i.keys())m.has(c)||i.delete(c);let p=r==="vite"?[...i.values()]:[...m].map(c=>{let f=Ve(this.getModuleInfo(c)?.meta);return Object.keys(f.candidates).length>0?f:i.get(c)??f}),l=await h(p,await a(),o.layer,d,o.darkMode,o.preflight);if(!l.css)return;let u=b(n,l.css);if(Object.hasOwn(t,u))throw new Error(`CSSX CSS asset collision at "${u}".`);if(this.emitFile({type:"asset",fileName:u,source:S(l,u)}),l.map){let c=`${u}.map`;if(Object.hasOwn(t,c))throw new Error(`CSSX CSS map asset collision at "${c}".`);this.emitFile({type:"asset",fileName:c,source:v(l.map,u)})}}}var k=require("path");function Ue(e){let s=e.getNativeBuildContext?.();return s&&(s.framework==="webpack"||s.framework==="rspack")?s.loaderContext?.rootContext??process.cwd():void 0}function _e(e){return`if (typeof document !== "undefined" && typeof module !== "undefined" && module.hot) {
6
10
  const key = "__cssxStylesheetHmr";
7
11
  const state = globalThis[key] || (globalThis[key] = { revision: 0, staged: [], replacements: [] });
8
12
  const stylesheetLink = [...document.querySelectorAll('link[rel="stylesheet"]')].find((link) =>
@@ -89,4 +93,5 @@ ${Te(s)}`:f,meta:{[j]:i},...m?.map?{map:m.map}:{}}}},watchChange(l,c){c.event===
89
93
  state.poll = setInterval(() => void refresh(), 500);
90
94
  }
91
95
  }
92
- }`}var dt=U.vite,ct=U.rollup,le=U.webpack,ut=U.rspack;var Ue=le,He=Ue;
96
+ }`}function We(e,s,t){let r=e.getNativeBuildContext?.();if(!r||r.framework!=="webpack"&&r.framework!=="rspack")return;let o=r.loaderContext?._module;if(!o)return;let n=o.buildInfo??(o.buildInfo={});n[t]=s}function ze(e){return async function(s,t){let{framework:r,options:o,classNameAllocator:n,rollupDataById:d,esbuildDataById:i,cssFileName:a,getEsbuildWorkingDirectory:m,notifyViteStyles:p}=e;o.themeFile&&this.addWatchFile?.((0,k.resolve)(o.themeFile));let l=Ue(this),u=l?_(l,o):void 0,c=await O(s,t,{...o,classNameAllocator:u?.classNameAllocator??n,...o.stableClassNames?{stableClassNameFileName:(0,k.relative)(l??process.cwd(),y(t)).replaceAll(k.sep,"/")}:{}},Fe(this,t)),f={id:y(t),rules:c?.rules??[],candidates:c?.candidates??{},composites:c?.composites??{},atomicClasses:c?.atomicClasses??[],origins:c?.origins??{},cssOnlySignature:c?.cssOnlySignature??""};We(this,f,w);let g=y(t);(c||g===t)&&(d.set(g,f),i.set((0,k.resolve)(m(),g),f),u?.transformedDataById.set(g,f)),r==="vite"&&p(T("/",a));let N=c?.code??s;return{code:(r==="webpack"||r==="rspack")&&c?`${N}
97
+ ${_e(a)}`:N,meta:{[w]:f},...c?.map?{map:c.map}:{}}}}var Xe=require("buffer"),E=require("fs/promises"),F=require("path");function Ge(e){let{options:s,cssFileName:t,sourceMap:r,dataById:o,getTheme:n}=e,d,i=process.cwd();return{config(a){a.metafile=!0},setup(a){i=a.initialOptions.absWorkingDir??process.cwd(),a.onEnd(async m=>{if(!m.metafile)return;let p=new Set(Object.keys(m.metafile.inputs).map(f=>(0,F.resolve)(i,f)));for(let f of o.keys())p.has(f)||o.delete(f);let l=await h([...o.values()],await n(),s.layer,r,s.darkMode,s.preflight),u=Y(i,a.initialOptions,b(t,l.css));if(!l.css){d&&await(0,E.unlink)(d).catch(()=>{}),d=void 0;return}let c=S(l,(0,F.basename)(u));if(a.initialOptions.write===!1){let f=m.outputFiles;if(!f)return;let g={path:u,contents:Xe.Buffer.from(c),hash:"",text:c};if(f.findIndex(C=>C.path===u)!==-1)throw new Error(`CSSX CSS asset collision at "${u}".`);f.push(g);return}await(0,E.mkdir)((0,F.dirname)(u),{recursive:!0}),await(0,E.writeFile)(u,c),d=u})},getWorkingDirectory:()=>i}}function qe(e,s,t){let r=new Set;for(let o of s)e.moduleGraph?.invalidateModule(o,r,t,!0);for(let o of r){if(!o.id)continue;let n=e.runner?.evaluatedModules?.getModuleById(o.id);n&&e.runner?.evaluatedModules?.invalidateModule(n)}}function Je(e){return async function(t){let r=this.environment;if(!r||r.name==="client")return;let o=t.modules,n=o.filter(a=>{let m=e.get(y(a.id??""));return!!(m&&m.cssOnlySignature&&m.atomicClasses?.length===0)});if(n.length===0)return;let d=new Map(n.map(a=>[a,e.get(y(a.id)).cssOnlySignature]));for(let a of n)a.url&&await r.transformRequest(a.url);if(n.every(a=>{let m=e.get(y(a.id));return!!(m&&m.atomicClasses.length===0&&m.cssOnlySignature===d.get(a))}))return qe(r,n,t.timestamp),o.filter(a=>!n.includes(a))}}var mt=/\.(?:[cm]?[jt]sx?|astro|vue)(?:\?.*)?$/,ut=(e={},s)=>{B(e);let t=e.cssFileName??"cssx.css",r=e.sourceMap??!0,o=new Map,n=(0,Ke.createClassNameAllocator)(),d=new Map,i,a=()=>j(e),m=Ge({options:e,cssFileName:t,sourceMap:r,dataById:d,getTheme:a}),p=He({framework:s.framework,options:e,cssFileName:t,sourceMap:r,rollupDataById:o,getTheme:a});return{name:"@cssxio/unplugin",enforce:"pre",transform:{filter:{id:mt},handler:ze({framework:s.framework,options:e,classNameAllocator:n,rollupDataById:o,esbuildDataById:d,cssFileName:t,getEsbuildWorkingDirectory:m.getWorkingDirectory,notifyViteStyles:l=>{i&&K(i,l)}})},watchChange(l,u){u.event==="delete"&&o.delete(y(l))},rollup:{generateBundle:p},vite:{generateBundle:p,configureServer(l){i=l,$e(l,{cssFileName:t,sourceMap:r,options:e,rollupDataById:o,getTheme:a})},hotUpdate:{order:"pre",handler:Je(o)}},...s.framework==="webpack"?{webpack(l){te({compiler:l,options:e,cssFileName:t,sourceMap:r,getTheme:a})}}:{},...s.framework==="rspack"?{rspack(l){te({compiler:l,options:e,cssFileName:t,sourceMap:r,getTheme:a})}}:{},...s.framework==="esbuild"?{esbuild:{config:m.config,setup:m.setup}}:{}}},Q=(0,Qe.createUnplugin)(ut),Zo=Q.vite,er=Q.rollup,Ye=Q.webpack,tr=Q.rspack;var pt=Ye,ft=pt;
@@ -1,5 +1,5 @@
1
1
  import * as _webpack from 'webpack';
2
- import { C as CssxPluginOptions } from './options-kIzRyZSc.cjs';
2
+ import { C as CssxPluginOptions } from './options-ByIyWTN0.cjs';
3
3
  import '@cssxio/compiler';
4
4
 
5
5
  /**
package/dist/webpack.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _webpack from 'webpack';
2
- import { C as CssxPluginOptions } from './options-kIzRyZSc.js';
2
+ import { C as CssxPluginOptions } from './options-ByIyWTN0.js';
3
3
  import '@cssxio/compiler';
4
4
 
5
5
  /**
package/dist/webpack.js CHANGED
@@ -1 +1 @@
1
- import{g as c}from"./chunk-KCX3ORPX.js";var e=c,p=e;export{p as default};
1
+ import{g as c}from"./chunk-SKXNEQ2Z.js";var e=c,p=e;export{p as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cssxio/unplugin",
3
- "version": "0.5.1",
3
+ "version": "0.7.0",
4
4
  "description": "Universal bundler plugin for CSSX.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -50,8 +50,9 @@
50
50
  "sideEffects": false,
51
51
  "dependencies": {
52
52
  "@babel/core": "^7.29.7",
53
- "@cssxio/babel-plugin": "^0.4.5",
54
- "@cssxio/compiler": "^0.6.0",
53
+ "@cssxio/babel-plugin": "^0.6.0",
54
+ "@cssxio/compiler": "^0.8.0",
55
+ "@vue/compiler-sfc": "^3.5.0",
55
56
  "unplugin": "^3.3.0"
56
57
  },
57
58
  "peerDependencies": {
@@ -1,93 +0,0 @@
1
- import{createClassNameAllocator as te}from"@cssxio/compiler";import{createUnplugin as Ve}from"unplugin";import{Buffer as Xe}from"buffer";import{mkdir as We,unlink as ze,writeFile as Ge}from"fs/promises";import{basename as qe,dirname as Je,relative as Ke,resolve as U,sep as Ze}from"path";import{compileUtilities as ne,createSelectorAliases as re}from"@cssxio/compiler";import{basename as oe}from"path";var _='*,::before,::after,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}button,select{text-transform:none}button,input:where([type="button"],[type="reset"],[type="submit"]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit}textarea{resize:vertical}::placeholder{opacity:1}button,[role="button"]{cursor:pointer}:disabled{cursor:default}[hidden]:where(:not([hidden="until-found"])){display:none!important}';async function S(e,t,s,o=!0,n,a=!0){let m=Object.create(null),r=Object.create(null),g=new Set,u=!0,y=new Map;for(let c of[...e].sort((d,h)=>d.id.localeCompare(h.id))){for(let[d,h]of Object.entries(c.candidates))if(d in m||(m[d]=h),c.id&&!y.has(d)){let k=c.origins?.[d];y.set(d,{id:c.id,line:k?.line??0,column:k?.column??0})}for(let[d,h]of Object.entries(c.composites??{})){let k=r[d];if(k&&k.join(" ")!==h.join(" "))throw new Error(`CSSX composite class collision for "${d}".`);r[d]=h}c.atomicClasses===void 0&&(u=!1);for(let d of c.atomicClasses??[])g.add(d)}let x=Object.keys(m).sort(),l=a?_:"";if(x.length===0)return{css:l&&s?`@layer ${s}{${l}}`:l};let i=await ne(x,c=>m[c],t,re(r),u?g:void 0,{darkMode:n}),f=s?`@layer ${s}{`:"",C=`${f}${l}${i.css}${f?"}":""}`,p=o?ae(`${f}${l}${i.prefixCss}`,i.entries,y):void 0;return{css:C,...p?{map:p}:{}}}function M(e,t){return e.map?`${e.css}
2
- /*# sourceMappingURL=${oe(t)}.map */`:e.css}function O(e,t){return JSON.stringify({...e,file:t})}function ae(e,t,s){let o=[...new Set(t.map(r=>s.get(r.candidate)?.id).filter(r=>!!r))].sort();if(o.length===0)return;let n=new Map(o.map((r,g)=>[r,g])),a=[],m=V({line:0,column:0},e);for(let r of t){let g=s.get(r.candidate);g&&a.push({...m,source:n.get(g.id),originalLine:g.line,originalColumn:g.column}),m=V(m,r.css)}return{version:3,sources:o,names:[],mappings:ie(a)}}function V(e,t){let s=t.split(`
3
- `);return{line:e.line+s.length-1,column:s.at(-1).length+e.column*+(s.length===1)}}function ie(e){let t=Array.from({length:Math.max(0,...e.map(r=>r.line))+1},()=>[]),s=0,o=0,n=0,a=0,m=0;for(let r of e)m*=+(r.line===a),a=r.line,t[r.line]?.push(`${I(r.column-m)}${I(r.source-s)}${I(r.originalLine-o)}${I(r.originalColumn-n)}`),m=r.column,s=r.source,o=r.originalLine,n=r.originalColumn;return t.map(r=>r.join(",")).join(";")}var le="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function I(e){let t="",s=e<0?-e<<1|1:e<<1;do{let o=s&31;s>>>=5,s&&(o|=32),t+=le[o]}while(s);return t}import{readFile as de}from"fs/promises";import{dirname as ce,isAbsolute as ue,normalize as me,resolve as R,sep as X}from"path";async function N(e){return e.themeFile===void 0?e.theme:de(R(process.cwd(),e.themeFile),"utf8")}function F(e){if(e.theme!==void 0&&e.themeFile!==void 0)throw new Error("CSSX accepts either theme or themeFile, not both.");if(e.layer!==void 0&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(e.layer))throw new Error("CSSX layer must be a valid CSS layer identifier.");if(e.sourceMap!==void 0&&typeof e.sourceMap!="boolean")throw new Error("CSSX sourceMap must be a boolean.");if(e.darkMode!==void 0&&e.darkMode!=="media"&&e.darkMode!=="selector"&&e.darkMode!=="class")throw new Error('CSSX darkMode must be "media", "selector", or "class".');if(e.preflight!==void 0&&typeof e.preflight!="boolean")throw new Error("CSSX preflight must be a boolean.");if(e.reusabilityBudget!==void 0&&e.reusabilityBudget!=="auto"&&(!Number.isFinite(e.reusabilityBudget)||e.reusabilityBudget<0||e.reusabilityBudget>100))throw new Error('CSSX reusabilityBudget must be "auto" or a number from 0 through 100.');L(e.cssFileName??"cssx.css")}function $(e){let t=2166136261;for(let s=0;s<e.length;s++)t^=e.charCodeAt(s),t=Math.imul(t,16777619);return(t>>>0).toString(36)}function v(e,t){return L(e).replaceAll("[hash]",$(t))}function j(e,t){return`${e&&e!=="/"?`/${e.replace(/^\/+|\/+$/g,"")}`:""}/${L(t).replaceAll(X,"/")}`}function E(e,t,s){return t.outdir?R(e,t.outdir,s):t.outfile?R(ce(R(e,t.outfile)),s):R(e,s)}function b(e){return e.split("?",1).join("")}function L(e){if(!e||ue(e))throw new Error("cssFileName must be a non-empty relative path.");let t=me(e);if(t===".."||t.startsWith(`..${X}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!t.endsWith(".css"))throw new Error("cssFileName must end in .css.");return t}function W(e,t,s){let o=e.getNativeBuildContext?.();if(!o||o.framework!=="webpack"&&o.framework!=="rspack")return;let n=o.loaderContext?._module;if(!n)return;let a=n.buildInfo??(n.buildInfo={});a[s]=t}function B(e,t,s,o,n,a,m,r,g=!0,u){let y=e.name??e.options?.name;y==="server"||y==="edge-server"||e.hooks.thisCompilation.tap("@cssxio/unplugin",x=>{x.hooks.processAssets.tapPromise({name:"@cssxio/unplugin",stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},async()=>{let l=u?await u():fe([...x.modules].map(C=>pe(C,a)).filter(C=>C!==void 0),m?.values()??[]),i=await S(l,await s(),o,n,r,g);if(!i.css)return;let f=v(t,i.css);if(x.getAsset?.(f))throw new Error(`CSSX CSS asset collision at "${f}".`);if(x.emitAsset(f,new e.webpack.sources.RawSource(M(i,f))),i.map){let C=`${f}.map`;if(x.getAsset?.(C))throw new Error(`CSSX CSS map asset collision at "${C}".`);x.emitAsset(C,new e.webpack.sources.RawSource(O(i.map,f)))}})})}function fe(e,t){let s=new Map,o=[];for(let n of t)n.id?s.set(n.id,n):o.push(n);for(let n of e)n.id?s.set(n.id,n):o.push(n);return[...s.values(),...o]}function pe(e,t){let s=e.buildInfo?.[t];if(!s||typeof s!="object")return;let{id:o,candidates:n,composites:a,atomicClasses:m,origins:r}=s;return{id:typeof o=="string"?o:"",candidates:n&&typeof n=="object"?n:{},composites:a&&typeof a=="object"?a:{},...Array.isArray(m)?{atomicClasses:m}:{},origins:r&&typeof r=="object"?r:{}}}import{readFile as Ne,readdir as Oe}from"fs/promises";import{join as Re,relative as Ae,sep as Pe}from"path";import{createClassNameAllocator as Ie}from"@cssxio/compiler";import{transformAsync as ge}from"@babel/core";import ye from"@cssxio/babel-plugin";import{compileUtilities as he,createClassNameAllocator as Ce,createSelectorAliases as xe}from"@cssxio/compiler";var be=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]);async function w(e,t,s={},o){F(s);let n=s.importSource??"@cssxio/cssx",a=t.split("?",1).join("");if(!be.has(a.slice(a.lastIndexOf(".")))||!e.includes(n))return null;if(a.endsWith(".astro"))return Se(e,t,s);let m=await N(s),r=await ge(e,{babelrc:!1,configFile:!1,filename:a,parserOpts:{plugins:["jsx","typescript"]},plugins:[[ye,{importSource:n,classNameAllocator:s.classNameAllocator,theme:m,reusabilityBudget:s.reusabilityBudget,stableClassNames:s.stableClassNames,stableClassNameFileName:s.stableClassNameFileName,darkMode:s.darkMode}]],sourceMaps:!0,...o?{inputSourceMap:o}:{}}),g=r.metadata,{candidates:u,origins:y,composites:x,atomicClasses:l,cssOnlySignature:i}=g.cssx,f=Object.keys(u),C=f.length===0?"":(await he(f,p=>u[p],m,xe(x),new Set(l),{darkMode:s.darkMode})).css;return{code:r.code,rules:C?[ve(Me(C,s.layer))]:[],candidates:u,composites:x,atomicClasses:l,origins:y,cssOnlySignature:i,map:r.map}}async function Se(e,t,s){let o=we(e);if(o.length===0)return null;let n=s.classNameAllocator??Ce(),a=s.importSource??"@cssxio/cssx",m={},r={},g=[],u=e;for(let y of[...o].reverse()){let x=await w(`import { sx } from ${JSON.stringify(a)};
4
- const style = ${y.code};`,`${t}.ts`,{...s,classNameAllocator:n}),l=ke(x.code);u=`${u.slice(0,y.start)}${l}${u.slice(y.end)}`,Object.assign(m,x.candidates),Object.assign(r,x.composites),g.push(...x.rules)}return{code:u,rules:g,candidates:m,composites:r,atomicClasses:[],origins:{},cssOnlySignature:u}}function we(e){let t=[],s=/\bsx\s*\(/g;for(let o of e.matchAll(s)){let n=o.index,a=e.indexOf("(",n),m=0,r="";for(let g=a;g<e.length;g+=1){let u=e[g];if(r){u==="\\"?g+=1:u===r&&(r="");continue}if(u==='"'||u==="'"||u==="`")r=u;else if(u==="(")m+=1;else if(u===")"&&--m===0){t.push({start:n,end:g+1,code:e.slice(n,g+1)}),s.lastIndex=g+1;break}}}return t}function ke(e){let t="const style = ",s=e.indexOf(t)+t.length,o=e.indexOf(";",s);return e.slice(s,o)}function z(e,t){if(!e||typeof e!="object")return;let s=e.getCombinedSourcemap;if(typeof s!="function")return;let o=s.call(e);if(!o||typeof o!="object")return;let n=o;if(!(n.version!==3||!Array.isArray(n.sources)||typeof n.mappings!="string"))return{version:n.version,sources:[...n.sources],names:[...n.names??[]],mappings:n.mappings,file:n.file??t.split("?",1).join(""),...n.sourceRoot?{sourceRoot:n.sourceRoot}:{},...n.sourcesContent?{sourcesContent:[...n.sourcesContent]}:{}}}function ve(e){return{className:`cssx-${$(e)}`,css:e}}function Me(e,t){return e&&t?`@layer ${t}{${e}}`:e}var Fe=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]),je=new Set([".git",".next",".turbo","node_modules"]);async function D(e,t){let s=await Ee(e),o=Ie(t.className),n=[];for(let a of s){let m=await Ne(a,"utf8"),r=await w(m,a,{...t,classNameAllocator:o,stableClassNames:!0,stableClassNameFileName:Ae(e,a).replaceAll(Pe,"/")});r&&n.push({id:a,candidates:r.candidates,composites:r.composites,atomicClasses:r.atomicClasses,origins:r.origins})}return n}async function Ee(e){let t=[],s=[e];for(;s.length>0;){let o=s.pop();for(let n of await Oe(o,{withFileTypes:!0})){let a=Re(o,n.name);if(n.isDirectory()){je.has(n.name)||s.push(a);continue}n.isFile()&&Fe.has(a.slice(a.lastIndexOf(".")))&&t.push(a)}}return t.sort()}function T(e,t,s=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:t,acceptedPath:t,timestamp:s}]})}import{Buffer as G}from"buffer";import{mkdir as $e,readFile as Le,realpath as Be,unlink as q,writeFile as J}from"fs/promises";import{basename as K,dirname as De,resolve as Q}from"path";import{createClassNameAllocator as Te}from"@cssxio/compiler";var Ue=/\.[cm]?[jt]sx?$/;function Y(e={}){let t=new Map,s=Te(),o,n;return{name:"@cssxio/unplugin",setup(a){let m=a.initialOptions.absWorkingDir??process.cwd();a.initialOptions.metafile=!0,a.onLoad({filter:Ue},async({path:r})=>{let g=await Le(r,"utf8"),u=await w(g,r,{...e,classNameAllocator:s});if(!u)return;let y=await Z(r);return t.set(y,{id:y,candidates:u.candidates,composites:u.composites,atomicClasses:u.atomicClasses,origins:u.origins}),{contents:u.code,loader:_e(r)}}),a.onEnd(async r=>{if(!r.metafile)return;let g=new Set(await Promise.all(Object.keys(r.metafile.inputs).map(f=>Z(Q(m,f)))));for(let f of t.keys())g.has(f)||t.delete(f);let u=await He([...t],e),y=E(m,a.initialOptions,v(e.cssFileName??"cssx.css",u.css));if(!u.css){o&&await q(o).catch(()=>{}),n&&await q(n).catch(()=>{}),o=void 0,n=void 0;return}let x=u.map?`${u.css}
5
- /*# sourceMappingURL=${K(y)}.map */`:u.css,l=`${y}.map`,i=u.map?JSON.stringify({...u.map,file:K(y)}):void 0;if(a.initialOptions.write===!1){if(!r.outputFiles)return;if(r.outputFiles.some(f=>f.path===y))throw new Error(`CSSX CSS asset collision at "${y}".`);r.outputFiles.push({path:y,contents:G.from(x),hash:"",text:x}),i&&r.outputFiles.push({path:l,contents:G.from(i),hash:"",text:i});return}await $e(De(y),{recursive:!0}),await J(y,x),i&&await J(l,i),o=y,n=i?l:void 0})}}}async function He(e,t){let s=await N(t);return S(e.map(([,o])=>o),s,t.layer,t.sourceMap??!0,t.darkMode,t.preflight)}function _e(e){return/\.tsx?$/.test(e)?"ts":"js"}async function Z(e){return Be(e).catch(()=>Q(e))}var A="@cssxio/unplugin/rules",Qe=/\.(?:[cm]?[jt]sx?|astro)(?:\?.*)?$/,ee=new Map;function Ye(e,t){return`${e}\0${JSON.stringify(t)}`}function H(e,t){let s=Ye(e,t),o=ee.get(s);return o||(o={classNameAllocator:te(),transformedDataById:new Map},ee.set(s,o)),o}function et(e){let t=e.getNativeBuildContext?.();return t&&(t.framework==="webpack"||t.framework==="rspack")?t.loaderContext?.rootContext??process.cwd():void 0}function tt(e,t,s){let o=new Set;for(let n of t)e.moduleGraph?.invalidateModule(n,o,s,!0);for(let n of o){if(!n.id)continue;let a=e.runner?.evaluatedModules?.getModuleById(n.id);a&&e.runner?.evaluatedModules?.invalidateModule(a)}}function st(e){return!e||typeof e!="object"?{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""}:nt(e[A])}function nt(e){if(!e||typeof e!="object")return{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""};let{id:t,rules:s,candidates:o,composites:n,atomicClasses:a,origins:m,cssOnlySignature:r}=e;return{id:typeof t=="string"?t:"",rules:Array.isArray(s)?s:[],candidates:o&&typeof o=="object"?o:{},composites:n&&typeof n=="object"?n:{},...Array.isArray(a)?{atomicClasses:a}:{},origins:m&&typeof m=="object"?m:{},cssOnlySignature:typeof r=="string"?r:""}}var rt=(e={},t)=>{F(e);let s=e.cssFileName??"cssx.css",o=e.sourceMap??!0,n=new Map,a=te(),m=new Map,r,g=process.cwd(),u,y=()=>N(e),x=async function(l,i){let f=new Set(Object.values(i).flatMap(d=>d.type==="chunk"?Object.keys(d.modules??{}):[]).map(b));if(t.framework!=="vite")for(let d of n.keys())f.has(d)||n.delete(d);let C=t.framework==="vite"?[...n.values()]:[...f].map(d=>{let h=st(this.getModuleInfo(d)?.meta);return Object.keys(h.candidates).length>0?h:n.get(d)??h}),p=await S(C,await y(),e.layer,o,e.darkMode,e.preflight);if(!p.css)return;let c=v(s,p.css);if(Object.hasOwn(i,c))throw new Error(`CSSX CSS asset collision at "${c}".`);if(this.emitFile({type:"asset",fileName:c,source:M(p,c)}),p.map){let d=`${c}.map`;if(Object.hasOwn(i,d))throw new Error(`CSSX CSS map asset collision at "${d}".`);this.emitFile({type:"asset",fileName:d,source:O(p.map,c)})}};return{name:"@cssxio/unplugin",enforce:"pre",transform:{filter:{id:Qe},async handler(l,i){e.themeFile&&this.addWatchFile?.(U(process.cwd(),e.themeFile));let f=et(this),C=f?H(f,e):void 0,p=await w(l,i,{...e,classNameAllocator:C?.classNameAllocator??a,...e.stableClassNames?{stableClassNameFileName:Ke(f??process.cwd(),b(i)).replaceAll(Ze,"/")}:{}},z(this,i)),c={id:b(i),rules:p?.rules??[],candidates:p?.candidates??{},composites:p?.composites??{},atomicClasses:p?.atomicClasses??[],origins:p?.origins??{},cssOnlySignature:p?.cssOnlySignature??""};W(this,c,A);let d=b(i);(p||d===i)&&(n.set(d,c),m.set(U(g,d),c),C?.transformedDataById.set(d,c)),t.framework==="vite"&&u&&T(u,j("/",s));let h=p?.code??l;return{code:(t.framework==="webpack"||t.framework==="rspack")&&p?`${h}
6
- ${ot(s)}`:h,meta:{[A]:c},...p?.map?{map:p.map}:{}}}},watchChange(l,i){i.event==="delete"&&n.delete(b(l))},rollup:{generateBundle:x},vite:{generateBundle:x,configureServer(l){u=l;let i=j(l.config.base,s),f=j("/",s);l.watcher?.on("unlink",C=>{n.delete(b(C)),T(l,f)}),l.middlewares.use((C,p,c)=>{let d=C.url?.split("?",1)[0];if(d!==i&&(d!==`${i}.map`||!o))return c();y().then(h=>S([...n.values()],h,e.layer,o,e.darkMode,e.preflight)).then(h=>{if(d===`${i}.map`){p.setHeader("Content-Type","application/json; charset=utf-8"),p.setHeader("Cache-Control","no-store"),p.end(h.map?O(h.map,s):"");return}p.setHeader("Content-Type","text/css; charset=utf-8"),p.setHeader("Cache-Control","no-store"),p.end(M(h,s))}).catch(h=>{p.setHeader("Content-Type","text/plain; charset=utf-8"),p.end(h instanceof Error?h.message:"Unable to compile CSSX development stylesheet.")})})},hotUpdate:{order:"pre",async handler(l){let i=this.environment;if(!i||i.name==="client")return;let f=l.modules.filter(c=>{let d=n.get(b(c.id??""));return!!(d&&d.cssOnlySignature&&d.atomicClasses?.length===0)});if(f.length===0)return;let C=new Map(f.map(c=>[c,n.get(b(c.id)).cssOnlySignature]));for(let c of f)c.url&&await i.transformRequest(c.url);if(f.every(c=>{let d=n.get(b(c.id));return!!(d&&d.atomicClasses.length===0&&d.cssOnlySignature===C.get(c))}))return tt(i,f,l.timestamp),l.modules.filter(c=>!f.includes(c))}}},...t.framework==="webpack"?{webpack(l){let i=H(l.context,e);B(l,s,y,e.layer,o,A,i.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>D(l.context,e):void 0)}}:{},...t.framework==="rspack"?{rspack(l){let i=H(l.context,e);B(l,s,y,e.layer,o,A,i.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>D(l.context,e):void 0)}}:{},...t.framework==="esbuild"?{esbuild:{config(l){l.metafile=!0},setup(l){let i=l.initialOptions.absWorkingDir??process.cwd();g=i,l.onEnd(async f=>{if(!f.metafile)return;let C=new Set(Object.keys(f.metafile.inputs).map(h=>U(i,h)));for(let h of m.keys())C.has(h)||m.delete(h);let p=await S([...m.values()],await y(),e.layer,o,e.darkMode,e.preflight),c=E(i,l.initialOptions,v(s,p.css));if(!p.css){r&&await ze(r).catch(()=>{}),r=void 0;return}let d=M(p,qe(c));if(l.initialOptions.write===!1){let h=f.outputFiles;if(!h)return;let k={path:c,contents:Xe.from(d),hash:"",text:d};if(h.findIndex(se=>se.path===c)!==-1)throw new Error(`CSSX CSS asset collision at "${c}".`);h.push(k);return}await We(Je(c),{recursive:!0}),await Ge(c,d),r=c})}}}:{}}},P=Ve(rt);function ot(e){return`if (typeof document !== "undefined" && typeof module !== "undefined" && module.hot) {
7
- const key = "__cssxStylesheetHmr";
8
- const state = globalThis[key] || (globalThis[key] = { revision: 0, staged: [], replacements: [] });
9
- const stylesheetLink = [...document.querySelectorAll('link[rel="stylesheet"]')].find((link) =>
10
- new URL(link.href, document.baseURI).pathname.endsWith(${JSON.stringify(`/${e}`)}),
11
- );
12
- const nextLink = stylesheetLink && (() => {
13
- const path = new URL(stylesheetLink.href, document.baseURI).pathname;
14
- return path.includes("/_next/");
15
- })();
16
- if (!state.installed) {
17
- state.installed = true;
18
- state.stage = () => {
19
- const revision = ++state.revision;
20
- state.staged = [];
21
- state.replacements = [];
22
- const links = [...document.querySelectorAll('link[rel="stylesheet"]')].filter((link) =>
23
- new URL(link.href, document.baseURI).pathname.endsWith(${JSON.stringify(`/${e}`)}),
24
- );
25
- return Promise.all(
26
- links.map(
27
- (link) =>
28
- new Promise((resolve) => {
29
- const replacement = link.cloneNode();
30
- const url = new URL(link.href, document.baseURI);
31
- url.searchParams.set("cssx", String(revision));
32
- replacement.href = url.href;
33
- const finish = (loaded) => {
34
- replacement.removeEventListener("load", onLoad);
35
- replacement.removeEventListener("error", onError);
36
- if (loaded) {
37
- state.staged.push(link);
38
- if (state.removeOnLoad) link.remove();
39
- }
40
- else replacement.remove();
41
- resolve();
42
- };
43
- const onLoad = () => finish(true);
44
- const onError = () => finish(false);
45
- replacement.addEventListener("load", onLoad);
46
- replacement.addEventListener("error", onError);
47
- state.replacements.push(replacement);
48
- link.after(replacement);
49
- }),
50
- ),
51
- );
52
- };
53
- module.hot.addStatusHandler((status) => {
54
- if (status === "prepare" || status === "dispose") {
55
- return state.stage();
56
- }
57
- if (status === "idle") {
58
- for (const link of state.staged) link.remove();
59
- state.staged = [];
60
- state.replacements = [];
61
- }
62
- if (status === "abort" || status === "fail") {
63
- for (const replacement of state.replacements) replacement.remove();
64
- state.staged = [];
65
- state.replacements = [];
66
- }
67
- });
68
- if (nextLink) module.hot.accept(() => void state.stage());
69
- for (const updateKey of Object.getOwnPropertyNames(globalThis).filter((name) => name.startsWith("webpackHotUpdate"))) {
70
- const update = globalThis[updateKey];
71
- if (typeof update !== "function") continue;
72
- globalThis[updateKey] = function (...args) {
73
- void state.stage();
74
- return update.apply(this, args);
75
- };
76
- }
77
- if (stylesheetLink) {
78
- state.removeOnLoad = Boolean(nextLink);
79
- const refresh = async () => {
80
- try {
81
- const url = new URL(stylesheetLink.href, document.baseURI);
82
- url.searchParams.set("cssx-probe", String(Date.now()));
83
- const css = await fetch(url.href, { cache: "no-store" }).then((response) => response.text());
84
- if (state.css && state.css !== css) void state.stage();
85
- state.css = css;
86
- } catch {
87
- }
88
- };
89
- void refresh();
90
- state.poll = setInterval(() => void refresh(), 500);
91
- }
92
- }
93
- }`}var Gt=P.vite,qt=P.rollup,Jt=P.webpack,Kt=P.rspack,Zt=P;export{S as a,w as b,rt as c,P as d,Gt as e,qt as f,Jt as g,Kt as h,Zt as i,Y as j};