@cssxio/unplugin 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -20
- package/dist/chunk-3C7SCOHD.js +11 -0
- package/dist/chunk-5W5F6RBE.js +3 -0
- package/dist/chunk-663P2VZO.js +3 -0
- package/dist/chunk-7X733NFU.js +1 -0
- package/dist/chunk-AJOXGQDA.js +1 -0
- package/dist/chunk-ART2XI6B.js +5 -0
- package/dist/chunk-GPHROS5Y.js +1 -0
- package/dist/chunk-NTKLI2V7.js +1 -0
- package/dist/chunk-URWMD4HY.js +1 -0
- package/dist/chunk-V4DGCZJC.js +2 -0
- package/dist/chunk-VJ4HYXVU.js +1 -0
- package/dist/compile-cssx-stylesheet-CAnWFXMM.d.cts +17 -0
- package/dist/compile-cssx-stylesheet-CnatguKL.d.ts +17 -0
- package/dist/development-runtime.cjs +212 -0
- package/dist/development-runtime.d.cts +181 -0
- package/dist/development-runtime.d.ts +181 -0
- package/dist/development-runtime.js +196 -0
- package/dist/esbuild.cjs +14 -102
- package/dist/esbuild.d.cts +1 -1
- package/dist/esbuild.d.ts +1 -1
- package/dist/esbuild.js +1 -1
- package/dist/index.cjs +19 -102
- package/dist/index.d.cts +12 -56
- package/dist/index.d.ts +12 -56
- package/dist/index.js +1 -1
- package/dist/module-cssx-data-CtlcR7CZ.d.ts +12 -0
- package/dist/module-cssx-data-DfZiLJQL.d.cts +12 -0
- package/dist/next-development-server-CBPFB9EC.d.cts +17 -0
- package/dist/next-development-server-CBPFB9EC.d.ts +17 -0
- package/dist/next-loader.cjs +15 -14
- package/dist/next-loader.d.cts +3 -1
- package/dist/next-loader.d.ts +3 -1
- package/dist/next-loader.js +5 -4
- package/dist/next.cjs +1 -1
- package/dist/next.d.cts +1 -1
- package/dist/next.d.ts +1 -1
- package/dist/next.js +1 -1
- package/dist/{options-DkqShf7w.d.ts → options-BbhZj-Sb.d.cts} +4 -0
- package/dist/{options-DkqShf7w.d.cts → options-BbhZj-Sb.d.ts} +4 -0
- package/dist/rollup.cjs +17 -101
- package/dist/rollup.d.cts +1 -1
- package/dist/rollup.d.ts +1 -1
- package/dist/rollup.js +1 -1
- package/dist/rspack.cjs +17 -101
- package/dist/rspack.d.cts +1 -1
- package/dist/rspack.d.ts +1 -1
- package/dist/rspack.js +1 -1
- package/dist/stylesheet-types-mSM1XaBK.d.cts +40 -0
- package/dist/stylesheet-types-mSM1XaBK.d.ts +40 -0
- package/dist/transform-runtime.cjs +12 -0
- package/dist/transform-runtime.d.cts +71 -0
- package/dist/transform-runtime.d.ts +71 -0
- package/dist/transform-runtime.js +2 -0
- package/dist/vite.cjs +17 -101
- package/dist/vite.d.cts +1 -1
- package/dist/vite.d.ts +1 -1
- package/dist/vite.js +1 -1
- package/dist/webpack.cjs +17 -101
- package/dist/webpack.d.cts +1 -1
- package/dist/webpack.d.ts +1 -1
- package/dist/webpack.js +1 -1
- package/package.json +13 -3
- package/dist/chunk-5R7RC6XB.js +0 -13
- package/dist/chunk-KEHM5MVZ.js +0 -91
- package/dist/chunk-OHZUHF4D.js +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,103 +1,20 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
`);return{line:e.line+
|
|
3
|
-
/*# sourceMappingURL=${(0,
|
|
1
|
+
"use strict";var jr=Object.create;var Te=Object.defineProperty;var Ir=Object.getOwnPropertyDescriptor;var Hr=Object.getOwnPropertyNames;var Xr=Object.getPrototypeOf,Br=Object.prototype.hasOwnProperty;var _r=(e,t)=>{for(var r in t)Te(e,r,{get:t[r],enumerable:!0})},ht=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Hr(t))!Br.call(e,o)&&o!==r&&Te(e,o,{get:()=>t[o],enumerable:!(s=Ir(t,o))||s.enumerable});return e};var te=(e,t,r)=>(r=e!=null?jr(Xr(e)):{},ht(t||!e||!e.__esModule?Te(r,"default",{value:e,enumerable:!0}):r,e)),Wr=e=>ht(Te({},"__esModule",{value:!0}),e);var gs={};_r(gs,{compileCssxStylesheet:()=>k,default:()=>Fr,esbuild:()=>ft,rollup:()=>us,rspack:()=>fs,transformCssxModule:()=>G,unplugin:()=>we,unpluginFactory:()=>$r,vite:()=>ds,webpack:()=>ps});module.exports=Wr(gs);var yt=require("@cssxio/compiler"),Dr=require("unplugin");var Zt=require("buffer"),Ce=require("fs/promises"),de=require("path");var fe=require("path");function ke(e){if(!e||(0,fe.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let t=(0,fe.normalize)(e);if(t===".."||t.startsWith(`..${fe.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 ie(e){if(e.mode!==void 0&&e.mode!=="development"&&e.mode!=="production")throw new Error('CSSX mode must be "development" or "production".');if(e.stableClassNameStrategy!==void 0&&e.stableClassNameStrategy!=="source-location"&&e.stableClassNameStrategy!=="module-order")throw new Error('CSSX stableClassNameStrategy must be "source-location" or "module-order".');if(e.sourceRoots&&e.sourceRoots.some(r=>typeof r!="string"||!r.trim()))throw new Error("CSSX sourceRoots must contain non-empty file-system paths.");let t=e.debug;if(t===null||t!==void 0&&typeof t!="boolean"&&(typeof t!="object"||typeof t.reportFile!="string"||!t.reportFile))throw new Error("CSSX debug must be a boolean or an object with a reportFile path.");if(e.naming!==void 0&&!["serial","hash","source"].includes(e.naming))throw new Error('CSSX naming must be "serial", "hash", or "source".');if(e.coordination!==void 0&&!["memory","manifest"].includes(e.coordination))throw new Error('CSSX coordination must be "memory" or "manifest".');if(e.stableClassNames&&e.naming&&e.naming!=="source")throw new Error('CSSX stableClassNames selects source naming and conflicts with naming. Use naming: "source".');if(e.stableClassNames&&e.coordination==="manifest")throw new Error("CSSX stableClassNames already selects source naming; remove it to use manifest coordination.");if(e.naming==="hash"&&e.className?.variant==="serial")throw new Error('CSSX naming: "hash" conflicts with className.variant: "serial".');if(e.naming==="serial"&&e.className?.variant==="random")throw new Error('CSSX naming: "serial" conflicts with className.variant: "random".');if(e.coordination==="manifest"&&!e.manifestPath)throw new Error('CSSX coordination: "manifest" requires manifestPath.');if(e.manifestPath&&e.coordination!=="manifest")throw new Error('CSSX manifestPath requires coordination: "manifest".');if(e.coordination==="manifest"&&e.classNameAllocator)throw new Error("CSSX manifest coordination cannot use a custom classNameAllocator.");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.');ke(e.cssFileName??"cssx.css")}var De=require("fs/promises"),Ct=require("path"),xt=new Map;async function V(e,t=process.cwd()){if(e.themeFile===void 0)return e.theme;let r=(0,Ct.resolve)(t,e.themeFile),s=await(0,De.stat)(r,{bigint:!0}),o=`${s.dev}:${s.ino}:${s.size}:${s.mtimeNs}:${s.ctimeNs}`,i=xt.get(r);if(i?.signature===o)return i.source;let l=await(0,De.readFile)(r,"utf8");return xt.set(r,{signature:o,source:l}),l}function L(e){return e.replaceAll("\\","/").split("?",1).join("")}function Ne(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(36)}function re(e,t){return ke(e).replaceAll("[hash]",Ne(t))}var ae=require("path");function be(e,t,r){return t.outdir?(0,ae.resolve)(e,t.outdir,r):t.outfile?(0,ae.resolve)((0,ae.dirname)((0,ae.resolve)(e,t.outfile)),r):(0,ae.resolve)(e,r)}function J(e){let t=e.naming==="hash"?"random":e.naming==="serial"?"serial":void 0;if(t&&e.className?.variant&&e.className.variant!==t)throw new Error(`CSSX naming: "${e.naming}" conflicts with className.variant: "${e.className.variant}".`);return{...e.className,...t?{variant:t}:{}}}function j(e){return{...e,mode:"development",sourceMap:e.sourceMap??!1,naming:"source",stableClassNames:!0,stableClassNameStrategy:"module-order",reusabilityBudget:0,className:{...e.className,variant:"random"},classNameAllocator:void 0,coordination:"memory",manifestPath:void 0}}function ge(e,t={}){return e.mode!==void 0?e.mode==="development":process.env.NODE_ENV==="development"||t.watchMode===!0||t.bundlerMode==="development"||t.viteDevServer===!0}var $e=require("@cssxio/compiler");var St='*,::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}';function Ye(e,t){let r=t.split(`
|
|
2
|
+
`);return{line:e.line+r.length-1,column:r.at(-1).length+e.column*+(r.length===1)}}var Vr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Me(e){let t="",r=e<0?-e<<1|1:e<<1;do{let s=r&31;r>>>=5,r&&(s|=32),t+=Vr[s]}while(r);return t}function wt(e){let t=Array.from({length:Math.max(0,...e.map(n=>n.line))+1},()=>[]),r=0,s=0,o=0,i=0,l=0;for(let n of e)l*=+(n.line===i),i=n.line,t[n.line]?.push(`${Me(n.column-l)}${Me(n.source-r)}${Me(n.originalLine-s)}${Me(n.originalColumn-o)}`),l=n.column,r=n.source,s=n.originalLine,o=n.originalColumn;return t.map(n=>n.join(",")).join(";")}function vt(e,t,r){let s=[...new Set(t.map(n=>r.get(n.candidate)?.id).filter(n=>!!n))].sort();if(s.length===0)return;let o=new Map(s.map((n,u)=>[n,u])),i=[],l=Ye({line:0,column:0},e);for(let n of t){let u=r.get(n.candidate);u&&i.push({...l,source:o.get(u.id),originalLine:u.line,originalColumn:u.column}),l=Ye(l,n.css)}return{version:3,sources:s,names:[],mappings:wt(i)}}async function k(e,t,r,s=!0,o,i=!0){let l=Object.create(null),n=Object.create(null),u=new Set,c=!0,a=new Map;for(let w of[...e].sort((x,y)=>x.id.localeCompare(y.id))){for(let[x,y]of Object.entries(w.candidates))if(x in l||(l[x]=y),w.id&&!a.has(x)){let C=w.origins?.[x];a.set(x,{id:w.id,line:C?.line??0,column:C?.column??0})}for(let[x,y]of Object.entries(w.composites??{})){let C=n[x];if(C&&C.join(" ")!==y.join(" "))throw new Error(`CSSX composite class collision for "${x}".`);n[x]=y}w.atomicClasses===void 0&&(c=!1);for(let x of w.atomicClasses??[])u.add(x)}let d=Object.keys(l).sort(),m=i?St:"";if(d.length===0)return{css:m&&r?`@layer ${r}{${m}}`:m};let f=await(0,$e.compileUtilities)(d,w=>l[w],t,(0,$e.createSelectorAliases)(n),c?u:void 0,{darkMode:o}),p=r?`@layer ${r}{`:"",g=`${p}${m}${f.css}${p?"}":""}`,h=s?vt(`${p}${m}${f.prefixCss}`,f.entries,a):void 0;return{css:g,...h?{map:h}:{}}}function le(e,t){return JSON.stringify({...e,file:t})}var Nt=require("path");function I(e,t){return e.map?`${e.css}
|
|
3
|
+
/*# sourceMappingURL=${(0,Nt.basename)(t)}.map */`:e.css}var Kt=require("@cssxio/compiler"),qt=require("fs"),se=require("fs/promises"),_=require("path");var bt=require("module"),Mt=require("path"),Ze=require("url");async function Fe(e,t,r={}){let s=(0,bt.createRequire)((0,Mt.resolve)(t,"package.json")),o;try{o=s.resolve("@mdx-js/mdx")}catch{throw new Error("CSSX Next MDX support requires @mdx-js/mdx to be installed in the Next.js project.")}let i=await import((0,Ze.pathToFileURL)(o).href),l=async n=>Promise.all((n??[]).map(async u=>{let[c,a]=typeof u=="string"?[u,void 0]:u,d=s.resolve(c),m=await import((0,Ze.pathToFileURL)(d).href),f=m.default??m;return a===void 0?f:[f,a]}));return String(await i.compile(e,{outputFormat:"program",development:r.development??!1,remarkPlugins:await l(r.remarkPlugins),rehypePlugins:await l(r.rehypePlugins),recmaPlugins:await l(r.recmaPlugins)}))}var et=require("fs"),Ot=require("fs/promises"),U=require("path");async function tt(e){return(0,Ot.realpath)(e).catch(()=>(0,U.resolve)(e))}function X(e){let t=(0,U.resolve)(e);try{return et.realpathSync.native(t)}catch{let r=(0,U.dirname)(t),s=(0,U.basename)(t);for(;;)try{return(0,U.resolve)(et.realpathSync.native(r),s)}catch{let o=(0,U.dirname)(r);if(o===r)return t;s=(0,U.join)((0,U.basename)(r),s),r=o}}}var ce=require("path");function ye(e,t,r){let s=r?X(e):(0,ce.resolve)(e),o=r?X(t):(0,ce.resolve)(t);return(0,ce.relative)(s,o).replaceAll(ce.sep,"/")}var ne=require("@cssxio/compiler"),A=require("fs/promises"),je=require("path"),Pt=20,Et=5*6e4;async function Ie(e,t,r){let s=(0,je.resolve)(e),o=`${s}.lock`,i=Date.now(),l,n=0;for(;!l;){await(0,A.mkdir)((0,je.dirname)(s),{recursive:!0});let u;try{u=await(0,A.open)(o,"wx")}catch(c){let a=c.code;if(a!=="EEXIST"){if(a!=="EACCES"&&a!=="EPERM")throw c;try{await(0,A.stat)(o)}catch(d){if(d.code==="ENOENT"){if(n+=1,n>1)throw c;await new Promise(m=>setTimeout(m,Pt));continue}throw d}}if(n=0,await Lr(o))continue;if(Date.now()-i>=Et)throw new Error(`Timed out waiting for CSSX class-name manifest lock: ${o}`);await new Promise(d=>setTimeout(d,Pt));continue}try{await u.writeFile(`${process.pid}
|
|
4
4
|
${Date.now()}
|
|
5
|
-
`)}catch(c){throw await
|
|
6
|
-
`,"utf8"),await(0,
|
|
7
|
-
`),
|
|
8
|
-
const style = ${
|
|
9
|
-
`).slice(0,t.line).reduce((o
|
|
10
|
-
`).length-1,
|
|
11
|
-
`,
|
|
12
|
-
`,f:"\f",r:"\r",t:" ",v:"\v"})[
|
|
13
|
-
const style = `,l=`${d}${c.code};`,u=await r(l,`${t}.cssx-vue-template.ts`,{...s,classNameAllocator:o}),p=je(te(u.code),Be(e,c.start));i=`${i.slice(0,c.start)}${p}${i.slice(c.end)}`,n.push({...u,origins:De(e,c.start,l,d.length,u.origins)})}return U(i,n)}async function He(e,t,s,o){let r=t.split("?",1).join(""),a=(0,Ue.parse)(e,{filename:r});if(a.errors.length>0)throw new Error(a.errors[0].message);let m=s.classNameAllocator??(0,Ve.createClassNameAllocator)(),n=[],i=[];for(let l of[a.descriptor.script,a.descriptor.scriptSetup]){if(!l?.content.includes(s.importSource??"@cssxio/cssx"))continue;let u=l.lang==="js"||l.lang==="jsx"||l.lang==="tsx"?l.lang:"ts",p=await o(l.content,`${r}.cssx-vue-script.${u}`,{...s,classNameAllocator:m});n.push({start:l.loc.start.offset,end:l.loc.end.offset,code:p.code}),i.push({...p,origins:ue(e,l.loc.start.offset,p.origins)})}let c=a.descriptor.template;if(c?.content.includes("sx")){let l=await Le(c.content,r,s,m,o);l&&(n.push({start:c.loc.start.offset,end:c.loc.end.offset,code:l.code}),i.push({...l,origins:ue(e,c.loc.start.offset,l.origins)}))}if(n.length===0)return null;let d=e;for(let l of n.sort((u,p)=>p.start-u.start))d=`${d.slice(0,l.start)}${l.code}${d.slice(l.end)}`;return U(d,i)}var We=require("@babel/core"),Je=Rt(require("@cssxio/babel-plugin"),1),oe=require("@cssxio/compiler");function Xe(e){return{className:`cssx-${z(e)}`,css:e}}function _e(e,t){return e&&t?`@layer ${t}{${e}}`:e}async function ze(e,t,s,o){let r=s.importSource??"@cssxio/cssx",a=await T(s),m=await(0,We.transformAsync)(e,{babelrc:!1,configFile:!1,filename:t,parserOpts:{plugins:["jsx","typescript"]},plugins:[[Je.default,{importSource:r,classNameAllocator:s.classNameAllocator,theme:a,reusabilityBudget:s.reusabilityBudget,stableClassNames:s.stableClassNames,stableClassNameFileName:s.stableClassNameFileName,darkMode:s.darkMode}]],sourceMaps:!0,...o?{inputSourceMap:o}:{}}),n=m.metadata,{candidates:i,origins:c,composites:d,atomicClasses:l,cssOnlySignature:u}=n.cssx,p=Object.keys(i),g=p.length===0?"":(await(0,oe.compileUtilities)(p,f=>i[f],a,(0,oe.createSelectorAliases)(d),new Set(l),{darkMode:s.darkMode})).css;return{code:m.code,rules:g?[Xe(_e(g,s.layer))]:[],candidates:i,composites:d,atomicClasses:l,origins:c,cssOnlySignature:u,map:m.map}}var jt=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro",".vue"]);async function b(e,t,s={},o){E(s);let r=s.importSource??"@cssxio/cssx",a=t.split("?",1).join("");return!jt.has(a.slice(a.lastIndexOf(".")))||!e.includes(r)?null:a.endsWith(".astro")?$e(e,t,s,b):a.endsWith(".vue")?He(e,t,s,b):ze(e,a,s,o)}function pe(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 r=o;if(!(r.version!==3||!Array.isArray(r.sources)||typeof r.mappings!="string"))return{version:r.version,sources:[...r.sources],names:[...r.names??[]],mappings:r.mappings,file:r.file??t.split("?",1).join(""),...r.sourceRoot?{sourceRoot:r.sourceRoot}:{},...r.sourcesContent?{sourcesContent:[...r.sourcesContent]}:{}}}async function M(e,t){let s=await Te(e,t.sourceRoots?.map(a=>(0,H.resolve)(e,a))),o={...t};delete o.coordination,delete o.manifestPath,delete o.classNameAllocator;let r=async a=>{let m=[];for(let n of s){let i=await(0,Ge.readFile)(n,"utf8"),c=/\.(?:md|mdx)$/i.test(n);if(c&&!i.includes(t.importSource??"@cssxio/cssx"))continue;let d=c?await Pe(i,e,t.mdx):i,l=t.stableClassNames||t.naming==="source",u=await b(d,c?`${n}.tsx`:n,{...o,classNameAllocator:a,stableClassNames:l,...l?{stableClassNameFileName:(0,H.relative)(e,n).replaceAll(H.sep,"/")}:{}});u&&m.push({id:n,candidates:u.candidates,composites:u.composites,atomicClasses:u.atomicClasses,origins:u.origins})}return m};return t.coordination==="manifest"?V(t.manifestPath,N(t),r):r(t.classNameAllocator??(0,qe.createClassNameAllocator)(N(t)))}function ne(e,t,s=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:t,acceptedPath:t,timestamp:s}]})}function Ke(e,t){let{cssFileName:s,sourceMap:o,options:r,rollupDataById:a,getTheme:m}=t,n=L(e.config.base,s),i=L("/",s);e.watcher?.on("unlink",c=>{a.delete(S(c)),ne(e,i)}),e.middlewares.use((c,d,l)=>{let u=c.url?.split("?",1)[0];if(u!==n&&(u!==`${n}.map`||!o))return l();m().then(async p=>{let g=r.coordination==="manifest"?await M(e.config.root??process.cwd(),r):[...a.values()];return w(g,p,r.layer,o,r.darkMode,r.preflight)}).then(p=>{if(u===`${n}.map`){d.setHeader("Content-Type","application/json; charset=utf-8"),d.setHeader("Cache-Control","no-store"),d.end(p.map?$(p.map,s):"");return}d.setHeader("Content-Type","text/css; charset=utf-8"),d.setHeader("Cache-Control","no-store"),d.end(P(p,s))}).catch(p=>{d.setHeader("Content-Type","text/plain; charset=utf-8"),d.end(p instanceof Error?p.message:"Unable to compile CSSX development stylesheet.")})})}var Qe=require("buffer"),X=require("fs/promises"),_=require("path");function Ye(e){let{options:t,cssFileName:s,sourceMap:o,dataById:r,getTheme:a}=e,m,n=process.cwd();return{config(i){i.metafile=!0},setup(i){n=i.initialOptions.absWorkingDir??process.cwd(),i.onEnd(async c=>{if(!c.metafile)return;let d=new Set(Object.keys(c.metafile.inputs).map(f=>(0,_.resolve)(n,f)));for(let f of r.keys())d.has(f)||r.delete(f);let l=t.coordination==="manifest"?await M(n,t):[...r.values()],u=await w(l,await a(),t.layer,o,t.darkMode,t.preflight),p=q(n,i.initialOptions,k(s,u.css));if(!u.css){m&&await(0,X.unlink)(m).catch(()=>{}),m=void 0;return}let g=P(u,(0,_.basename)(p));if(i.initialOptions.write===!1){let f=c.outputFiles;if(!f)return;let y={path:p,contents:Qe.Buffer.from(g),hash:"",text:g};if(f.findIndex(h=>h.path===p)!==-1)throw new Error(`CSSX CSS asset collision at "${p}".`);f.push(y);return}await(0,X.mkdir)((0,_.dirname)(p),{recursive:!0}),await(0,X.writeFile)(p,g),m=p})},getWorkingDirectory:()=>n}}function Ze(e,t,s){let o=new Set;for(let r of t)e.moduleGraph?.invalidateModule(r,o,s,!0);for(let r of o){if(!r.id)continue;let a=e.runner?.evaluatedModules?.getModuleById(r.id);a&&e.runner?.evaluatedModules?.invalidateModule(a)}}function et(e){return async function(s){let o=this.environment;if(!o||o.name==="client")return;let r=s.modules,a=r.filter(i=>{let c=e.get(S(i.id??""));return!!(c&&c.cssOnlySignature&&c.atomicClasses?.length===0)});if(a.length===0)return;let m=new Map(a.map(i=>[i,e.get(S(i.id)).cssOnlySignature]));for(let i of a)i.url&&await o.transformRequest(i.url);if(a.every(i=>{let c=e.get(S(i.id));return!!(c&&c.atomicClasses.length===0&&c.cssOnlySignature===m.get(i))}))return Ze(o,a,s.timestamp),r.filter(i=>!a.includes(i))}}var ae=require("fs/promises"),ie=require("path");function tt(e,t){let s=new Map,o=[];for(let r of t)r.id?s.set(r.id,r):o.push(r);for(let r of e)r.id?s.set(r.id,r):o.push(r);return[...s.values(),...o]}function st(e,t){let s=e.buildInfo?.[t];if(!s||typeof s!="object")return;let{id:o,candidates:r,composites:a,atomicClasses:m,origins:n}=s;return{id:typeof o=="string"?o:"",candidates:r&&typeof r=="object"?r:{},composites:a&&typeof a=="object"?a:{},...Array.isArray(m)?{atomicClasses:m}:{},origins:n&&typeof n=="object"?n:{}}}function rt(e,t,s){let o=s.naming??(s.stableClassNames?"source":s.className?.variant==="random"?"hash":s.className?.variant??"serial"),r=s.stableClassNames?"stableClassNames compatibility option selects source-addressed composites":s.naming?"explicit naming option":s.className?.variant?"className.variant option":"default serial naming",a=new Map,m=new Map;for(let c of[...e].sort((d,l)=>d.id.localeCompare(l.id))){let d=new Map;for(let[l,u]of Object.entries(c.candidates)){let p=m.get(l)??new Set;p.add(u),m.set(l,p);let g=a.get(u)??{module:c.id,utilities:new Set,line:c.origins?.[l]?.line??0,column:c.origins?.[l]?.column??0};g.utilities.add(l),a.set(u,g);let f=d.get(u)??[];f.push(l),d.set(u,f)}for(let[l,u]of Object.entries(c.composites??{})){let p=u.flatMap(y=>d.get(y)??[]),g=p[0],f=a.get(l)??{module:c.id,utilities:new Set,line:g?c.origins?.[g]?.line??0:0,column:g?c.origins?.[g]?.column??0:0};for(let y of p)f.utilities.add(y);a.set(l,f)}for(let l of c.atomicClasses??[])a.has(l)||a.set(l,{module:c.id,utilities:new Set,line:0,column:0})}let n=[...a].sort(([c],[d])=>c.localeCompare(d)).map(([c,d])=>({className:c,module:d.module,utilities:[...d.utilities].sort(),line:d.line+1,column:d.column+1,selectorFound:new RegExp(`\\.${Bt(c)}(?:[^A-Za-z0-9_-]|$)`).test(t)})),i=[...m].filter(([,c])=>c.size>1).map(([c])=>c).sort();return{version:1,naming:{mode:o,reason:r},coordination:{mode:s.coordination??"memory",...s.coordination==="manifest"&&s.manifestPath?{manifestPath:s.manifestPath}:{}},classes:n,serverClientMappings:{status:i.length>0?"mismatch":s.coordination==="manifest"?"manifest-shared":"consistent-in-process",conflicts:i}}}function Bt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ot(e,t,s,o,r,a,m,n,i=!0,c,d){let l=e.name??e.options?.name;l==="server"||l==="edge-server"||e.hooks.thisCompilation.tap("@cssxio/unplugin",u=>{u.hooks.processAssets.tapPromise({name:"@cssxio/unplugin",stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},async()=>{let p=c?await c():tt([...u.modules].map(y=>st(y,a)).filter(y=>y!==void 0),m?.values()??[]),g=await w(p,await s(),o,r,n,i);if(d?.debug){let y=rt(p,g.css,d);if(d.debug===!0)console.info(`CSSX: ${y.naming.mode} naming; ${y.classes.filter(x=>x.selectorFound).length}/${y.classes.length} generated classes have selectors; compiler mappings ${y.serverClientMappings.status}${y.serverClientMappings.conflicts.length?` (${y.serverClientMappings.conflicts.length} utility conflicts)`:""}.`);else{let x=(0,ie.resolve)(e.context,d.debug.reportFile);await(0,ae.mkdir)((0,ie.dirname)(x),{recursive:!0}),await(0,ae.writeFile)(x,`${JSON.stringify(y,null,2)}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const path = new URL(stylesheetLink.href, document.baseURI).pathname;
|
|
22
|
-
return path.includes("/_next/");
|
|
23
|
-
})();
|
|
24
|
-
if (!state.installed) {
|
|
25
|
-
state.installed = true;
|
|
26
|
-
state.stage = () => {
|
|
27
|
-
const revision = ++state.revision;
|
|
28
|
-
state.staged = [];
|
|
29
|
-
state.replacements = [];
|
|
30
|
-
const links = [...document.querySelectorAll('link[rel="stylesheet"]')].filter((link) =>
|
|
31
|
-
new URL(link.href, document.baseURI).pathname.endsWith(${JSON.stringify(`/${e}`)}),
|
|
32
|
-
);
|
|
33
|
-
return Promise.all(
|
|
34
|
-
links.map(
|
|
35
|
-
(link) =>
|
|
36
|
-
new Promise((resolve) => {
|
|
37
|
-
const replacement = link.cloneNode();
|
|
38
|
-
const url = new URL(link.href, document.baseURI);
|
|
39
|
-
url.searchParams.set("cssx", String(revision));
|
|
40
|
-
replacement.href = url.href;
|
|
41
|
-
const finish = (loaded) => {
|
|
42
|
-
replacement.removeEventListener("load", onLoad);
|
|
43
|
-
replacement.removeEventListener("error", onError);
|
|
44
|
-
if (loaded) {
|
|
45
|
-
state.staged.push(link);
|
|
46
|
-
if (state.removeOnLoad) link.remove();
|
|
47
|
-
}
|
|
48
|
-
else replacement.remove();
|
|
49
|
-
resolve();
|
|
50
|
-
};
|
|
51
|
-
const onLoad = () => finish(true);
|
|
52
|
-
const onError = () => finish(false);
|
|
53
|
-
replacement.addEventListener("load", onLoad);
|
|
54
|
-
replacement.addEventListener("error", onError);
|
|
55
|
-
state.replacements.push(replacement);
|
|
56
|
-
link.after(replacement);
|
|
57
|
-
}),
|
|
58
|
-
),
|
|
59
|
-
);
|
|
60
|
-
};
|
|
61
|
-
module.hot.addStatusHandler((status) => {
|
|
62
|
-
if (status === "prepare" || status === "dispose") {
|
|
63
|
-
return state.stage();
|
|
64
|
-
}
|
|
65
|
-
if (status === "idle") {
|
|
66
|
-
for (const link of state.staged) link.remove();
|
|
67
|
-
state.staged = [];
|
|
68
|
-
state.replacements = [];
|
|
69
|
-
}
|
|
70
|
-
if (status === "abort" || status === "fail") {
|
|
71
|
-
for (const replacement of state.replacements) replacement.remove();
|
|
72
|
-
state.staged = [];
|
|
73
|
-
state.replacements = [];
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
if (nextLink) module.hot.accept(() => void state.stage());
|
|
77
|
-
for (const updateKey of Object.getOwnPropertyNames(globalThis).filter((name) => name.startsWith("webpackHotUpdate"))) {
|
|
78
|
-
const update = globalThis[updateKey];
|
|
79
|
-
if (typeof update !== "function") continue;
|
|
80
|
-
globalThis[updateKey] = function (...args) {
|
|
81
|
-
void state.stage();
|
|
82
|
-
return update.apply(this, args);
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
if (stylesheetLink) {
|
|
86
|
-
state.removeOnLoad = Boolean(nextLink);
|
|
87
|
-
const refresh = async () => {
|
|
88
|
-
try {
|
|
89
|
-
const url = new URL(stylesheetLink.href, document.baseURI);
|
|
90
|
-
url.searchParams.set("cssx-probe", String(Date.now()));
|
|
91
|
-
const css = await fetch(url.href, { cache: "no-store" }).then((response) => response.text());
|
|
92
|
-
if (state.css && state.css !== css) void state.stage();
|
|
93
|
-
state.css = css;
|
|
94
|
-
} catch {
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
void refresh();
|
|
98
|
-
state.poll = setInterval(() => void refresh(), 500);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}`}function pt(e,t,s){let o=e.getNativeBuildContext?.();if(!o||o.framework!=="webpack"&&o.framework!=="rspack")return;let r=o.loaderContext?._module;if(!r)return;let a=r.buildInfo??(r.buildInfo={});a[s]=t}function ft(e){return async function(t,s){let{framework:o,options:r,classNameAllocator:a,rollupDataById:m,esbuildDataById:n,cssFileName:i,getEsbuildWorkingDirectory:c,notifyViteStyles:d}=e;r.themeFile&&this.addWatchFile?.((0,I.resolve)(r.themeFile));let l=dt(this),u=l?ce(l,r):void 0,p={...r,className:{...r.className,...r.naming==="hash"?{variant:"random"}:{},...r.naming==="serial"?{variant:"serial"}:{}},stableClassNames:r.stableClassNames||r.naming==="source",classNameAllocator:u?.classNameAllocator??a,...r.stableClassNames||r.naming==="source"?{stableClassNameFileName:(0,I.relative)(l??process.cwd(),S(s)).replaceAll(I.sep,"/")}:{}},g={...p};delete g.coordination,delete g.manifestPath;let f=r.coordination==="manifest"?await V(r.manifestPath,g.className,A=>b(t,s,{...g,classNameAllocator:A},pe(this,s))):await b(t,s,p,pe(this,s)),y={id:S(s),rules:f?.rules??[],candidates:f?.candidates??{},composites:f?.composites??{},atomicClasses:f?.atomicClasses??[],origins:f?.origins??{},cssOnlySignature:f?.cssOnlySignature??""};pt(this,y,D);let x=S(s);(f||x===s)&&(m.set(x,y),n.set((0,I.resolve)(c(),x),y),u?.transformedDataById.set(x,y)),o==="vite"&&d(L("/",i));let h=f?.code??t;return{code:(o==="webpack"||o==="rspack")&&f?`${h}
|
|
102
|
-
${ut(i)}`:h,meta:{[D]:y},...f?.map?{map:f.map}:{}}}}var ht=require("@cssxio/compiler"),ye=require("buffer"),O=require("fs/promises"),v=require("path");var gt=require("fs/promises"),yt=require("path");async function ge(e){return(0,gt.realpath)(e).catch(()=>(0,yt.resolve)(e))}async function xt(e,t){let s=await T(t);return w(e.map(([,o])=>o),s,t.layer,t.sourceMap??!0,t.darkMode,t.preflight)}function Ct(e){return/\.tsx?$/.test(e)?"ts":"js"}var Lt=/\.[cm]?[jt]sx?$/;function xe(e={}){if(E(e),e.classNameAllocator&&e.className)throw new Error("CSSX classNameAllocator owns naming. Omit className when supplying a custom allocator.");let t=new Map,s=e.classNameAllocator??(0,ht.createClassNameAllocator)(N(e)),o,r;return{name:"@cssxio/unplugin",setup(a){let m=a.initialOptions.absWorkingDir??process.cwd();a.initialOptions.metafile=!0,a.onLoad({filter:Lt},async({path:n})=>{let i=await(0,O.readFile)(n,"utf8"),c=e.stableClassNames||e.naming==="source",d={...e,className:N(e),stableClassNames:c,...c?{stableClassNameFileName:(0,v.relative)(m,n).replaceAll(v.sep,"/")}:{},classNameAllocator:s},l={...d};delete l.coordination,delete l.manifestPath;let u=e.coordination==="manifest"?await V(e.manifestPath,l.className,g=>b(i,n,{...l,classNameAllocator:g})):await b(i,n,d);if(!u)return;let p=await ge(n);return t.set(p,{id:p,candidates:u.candidates,composites:u.composites,atomicClasses:u.atomicClasses,origins:u.origins}),{contents:u.code,loader:Ct(n)}}),a.onEnd(async n=>{if(!n.metafile)return;let i=new Set(await Promise.all(Object.keys(n.metafile.inputs).map(f=>ge((0,v.resolve)(m,f)))));for(let f of t.keys())i.has(f)||t.delete(f);let c=e.coordination==="manifest"?(await M(m,e)).map(f=>[f.id,f]):[...t],d=await xt(c,e),l=q(m,a.initialOptions,k(e.cssFileName??"cssx.css",d.css));if(!d.css){o&&await(0,O.unlink)(o).catch(()=>{}),r&&await(0,O.unlink)(r).catch(()=>{}),o=void 0,r=void 0;return}let u=d.map?`${d.css}
|
|
103
|
-
/*# sourceMappingURL=${(0,v.basename)(l)}.map */`:d.css,p=`${l}.map`,g=d.map?JSON.stringify({...d.map,file:(0,v.basename)(l)}):void 0;if(a.initialOptions.write===!1){if(!n.outputFiles)return;if(n.outputFiles.some(f=>f.path===l))throw new Error(`CSSX CSS asset collision at "${l}".`);n.outputFiles.push({path:l,contents:ye.Buffer.from(u),hash:"",text:u}),g&&n.outputFiles.push({path:p,contents:ye.Buffer.from(g),hash:"",text:g});return}await(0,O.mkdir)((0,v.dirname)(l),{recursive:!0}),await(0,O.writeFile)(l,u),g&&await(0,O.writeFile)(p,g),o=l,r=g?p:void 0})}}}var Vt=/\.(?:[cm]?[jt]sx?|astro|vue|md|mdx)(?:\?.*)?$/,bt=(e={},t)=>{if(E(e),e.classNameAllocator&&e.className)throw new Error("CSSX classNameAllocator owns naming. Omit className when supplying a custom allocator.");let s=e.cssFileName??"cssx.css",o=e.sourceMap??!0,r=new Map,a=e.classNameAllocator??(0,St.createClassNameAllocator)(N(e)),m=new Map,n,i=()=>T(e),c=Ye({options:e,cssFileName:s,sourceMap:o,dataById:m,getTheme:i}),d=mt({framework:t.framework,options:e,cssFileName:s,sourceMap:o,rollupDataById:r,getTheme:i});return{name:"@cssxio/unplugin",enforce:"pre",transform:{filter:{id:Vt},handler:ft({framework:t.framework,options:e,classNameAllocator:a,rollupDataById:r,esbuildDataById:m,cssFileName:s,getEsbuildWorkingDirectory:c.getWorkingDirectory,notifyViteStyles:l=>{n&&ne(n,l)}})},watchChange(l,u){u.event==="delete"&&r.delete(S(l))},rollup:{generateBundle:d},vite:{generateBundle:d,configureServer(l){n=l,Ke(l,{cssFileName:s,sourceMap:o,options:e,rollupDataById:r,getTheme:i})},hotUpdate:{order:"pre",handler:et(r)}},...t.framework==="webpack"?{webpack(l){fe({compiler:l,options:e,cssFileName:s,sourceMap:o,getTheme:i})}}:{},...t.framework==="rspack"?{rspack(l){fe({compiler:l,options:e,cssFileName:s,sourceMap:o,getTheme:i})}}:{},...t.framework==="esbuild"?{esbuild:{config:c.config,setup:c.setup}}:{}}},W=(0,wt.createUnplugin)(bt),Ut=W.vite,Ht=W.rollup,Xt=W.webpack,_t=W.rspack,vt=W;0&&(module.exports={compileCssxStylesheet,esbuild,rollup,rspack,transformCssxModule,unplugin,unpluginFactory,vite,webpack});
|
|
5
|
+
`)}catch(c){throw await u.close().catch(()=>{}),await(0,A.rm)(o,{force:!0}).catch(()=>{}),c}l=u}try{let u=await Jr(s,t),c=await r(u),a=(0,ne.snapshotClassNameAllocator)(u),d=`${s}.${process.pid}.${Date.now()}.tmp`;try{await(0,A.writeFile)(d,`${JSON.stringify(a,null,2)}
|
|
6
|
+
`,"utf8"),await(0,A.rename)(d,s)}catch(m){throw await(0,A.rm)(d,{force:!0}).catch(()=>{}),m}return c}finally{await l.close(),await(0,A.rm)(o,{force:!0})}}async function Lr(e){try{let t=await(0,A.stat)(e),r;try{r=await(0,A.readFile)(e,"utf8")}catch(i){let l=i.code;if(l==="EACCES"||l==="EPERM")return!1;throw i}let[s]=r.split(`
|
|
7
|
+
`),o=Number(s);if(Number.isSafeInteger(o)&&o>0)try{return process.kill(o,0),!1}catch(i){return i.code!=="ESRCH"?!1:(await(0,A.rm)(e,{force:!0}),!0)}return Date.now()-t.mtimeMs<Et?!1:(await(0,A.rm)(e,{force:!0}),!0)}catch(t){if(t.code==="ENOENT")return!1;throw t}}async function Jr(e,t){try{let r=JSON.parse(await(0,A.readFile)(e,"utf8")),s=(0,ne.snapshotClassNameAllocator)((0,ne.createClassNameAllocator)(t)).options;if(JSON.stringify(r.options)!==JSON.stringify(s))throw new Error("CSSX class-name manifest options do not match the active compiler options.");return(0,ne.restoreClassNameAllocator)(r)}catch(r){if(r.code==="ENOENT")return(0,ne.createClassNameAllocator)(t);throw r}}var Rt=require("fs/promises"),B=require("path"),Ur=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro",".mdx",".md"]),At=new Set([".git",".next",".open-next",".output",".turbo",".vercel","build","coverage","dist","node_modules","out","storybook-static"]);function Oe(e,t=[]){let r=(0,B.resolve)(e),s=t.map(i=>(0,B.resolve)(i)).find(i=>{let l=(0,B.relative)(i,r);return l===""||!l.startsWith(`..${B.sep}`)&&l!==".."&&!(0,B.isAbsolute)(l)});return(s?(0,B.relative)(s,r):r).split(B.sep).some(i=>At.has(i))}async function Tt(e,t=[]){let r=[],s=[e,...t],o=new Set;for(;s.length>0;){let i=s.pop(),l=(0,B.resolve)(i);if(!o.has(l)){o.add(l);for(let n of await(0,Rt.readdir)(i,{withFileTypes:!0})){let u=(0,B.join)(i,n.name);if(n.isDirectory()){At.has(n.name)||s.push(u);continue}n.isFile()&&Ur.has(u.slice(u.lastIndexOf(".")))&&r.push(u)}}}return r.sort()}var kt=require("@cssxio/compiler");function He(e){let t=[],r=/\bsx\s*\(/g;for(let s of e.matchAll(r)){let o=s.index,i=e.indexOf("(",o),l=0,n="";for(let u=i;u<e.length;u+=1){let c=e[u];if(n){c==="\\"?u+=1:c===n&&(n="");continue}if(c==='"'||c==="'"||c==="`")n=c;else if(c==="(")l+=1;else if(c===")"&&--l===0){t.push({start:o,end:u+1,code:e.slice(o,u+1)}),r.lastIndex=u+1;break}}}return t}function he(e,t){return{code:e,rules:t.flatMap(r=>r.rules),candidates:Object.assign({},...t.map(r=>r.candidates)),composites:Object.assign({},...t.map(r=>r.composites)),atomicClasses:[...new Set(t.flatMap(r=>r.atomicClasses))],origins:Object.assign({},...t.map(r=>r.origins)),cssOnlySignature:e}}function Xe(e){let t="const style = ",r=e.indexOf(t)+t.length,s=e.indexOf(";",r);return e.slice(r,s)}async function Dt(e,t,r,s,o={}){let i=He(e);if(i.length===0)return null;let l=r.classNameAllocator??(0,kt.createClassNameAllocator)(),n=r.importSource??"@cssxio/cssx",u=[],c=e;for(let a of[...i].reverse()){let d=await s(`import { sx } from ${JSON.stringify(n)};
|
|
8
|
+
const style = ${a.code};`,`${t}.ts`,{...r,classNameAllocator:l},void 0,o),m=Xe(d.code);c=`${c.slice(0,a.start)}${m}${c.slice(a.end)}`,u.push({...d,atomicClasses:[],origins:{}})}return he(c,u)}var Xt=require("@cssxio/compiler"),Bt=require("@vue/compiler-sfc");function Be(e,t){let r=e.split(`
|
|
9
|
+
`).slice(0,t.line).reduce((s,o)=>s+o.length+1,0);return Math.min(e.length,r+t.column)}function _e(e,t){let r=Math.min(e.length,t),s=e.slice(0,r).split(`
|
|
10
|
+
`).length-1,o=e.lastIndexOf(`
|
|
11
|
+
`,r-1)+1;return{line:s,column:r-o}}function rt(e,t,r){let s={},o=e.slice(t);for(let[i,l]of Object.entries(r))s[i]=_e(e,t+Be(o,l));return s}function $t(e,t,r,s,o){let i={};for(let[l,n]of Object.entries(o)){let u=Be(r,n);i[l]=_e(e,t+Math.max(0,u-s))}return i}function Ft(e){return e.slice(1,-1).replace(/\\(['"\\bnfrtv])/g,(t,r)=>({b:"\b",n:`
|
|
12
|
+
`,f:"\f",r:"\r",t:" ",v:"\v"})[r]??r)}function jt(e,t){if(!t)return e;let r=t==='"'?"'":'"';return e.replace(/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'/g,s=>{let o=s[0]==='"'?JSON.parse(s):Ft(s),i=JSON.stringify(o);return r==='"'?i:`'${i.slice(1,-1).replaceAll("'","\\'")}'`})}function It(e,t){let r=-1,s;for(let o=0;o<t;o++){let i=e[o];if(s){i===s&&(s=void 0);continue}if(i==="<"&&/[A-Za-z]/.test(e[o+1])){r=o;continue}r!==-1&&(i===">"?r=-1:(i==='"'||i==="'")&&(s=i))}return s}async function Ht(e,t,r,s,o,i={}){let l=He(e);if(l.length===0)return null;let n=r.importSource??"@cssxio/cssx",u=[],c=e;for(let a of[...l].reverse()){let d=`import { sx } from ${JSON.stringify(n)};
|
|
13
|
+
const style = `,m=`${d}${a.code};`,f=await o(m,`${t}.cssx-vue-template.ts`,{...r,classNameAllocator:s},void 0,i),p=jt(Xe(f.code),It(e,a.start));c=`${c.slice(0,a.start)}${p}${c.slice(a.end)}`,u.push({...f,origins:$t(e,a.start,m,d.length,f.origins)})}return he(c,u)}async function _t(e,t,r,s,o={}){let i=t.split("?",1).join(""),l=(0,Bt.parse)(e,{filename:i});if(l.errors.length>0)throw new Error(l.errors[0].message);let n=r.classNameAllocator??(0,Xt.createClassNameAllocator)(),u=[],c=[];for(let m of[l.descriptor.script,l.descriptor.scriptSetup]){if(!m?.content.includes(r.importSource??"@cssxio/cssx"))continue;let f=m.lang==="js"||m.lang==="jsx"||m.lang==="tsx"?m.lang:"ts",p=await s(m.content,`${i}.cssx-vue-script.${f}`,{...r,classNameAllocator:n},void 0,o);u.push({start:m.loc.start.offset,end:m.loc.end.offset,code:p.code}),c.push({...p,origins:rt(e,m.loc.start.offset,p.origins)})}let a=l.descriptor.template;if(a?.content.includes("sx")){let m=await Ht(a.content,i,r,n,s,o);m&&(u.push({start:a.loc.start.offset,end:a.loc.end.offset,code:m.code}),c.push({...m,origins:rt(e,a.loc.start.offset,m.origins)}))}if(u.length===0)return null;let d=e;for(let m of u.sort((f,p)=>p.start-f.start))d=`${d.slice(0,m.start)}${m.code}${d.slice(m.end)}`;return he(d,c)}var Lt=require("@babel/core"),Jt=te(require("@cssxio/babel-plugin"),1),We=require("@cssxio/compiler");function Wt(e){return{className:`cssx-${Ne(e)}`,css:e}}function Vt(e,t){return e&&t?`@layer ${t}{${e}}`:e}async function Ut(e,t,r,s,o={}){let i=r.importSource??"@cssxio/cssx",l=await V(r),n=await(0,Lt.transformAsync)(e,{babelrc:!1,configFile:!1,filename:t,parserOpts:{plugins:["jsx","typescript"]},plugins:[[Jt.default,{importSource:i,classNameAllocator:r.classNameAllocator,theme:l,reusabilityBudget:r.reusabilityBudget,stableClassNames:r.stableClassNames,stableClassNameStrategy:r.stableClassNameStrategy,stableClassNameFileName:r.stableClassNameFileName,darkMode:r.darkMode}]],sourceMaps:!0,...s?{inputSourceMap:s}:{}}),u=n.metadata,{candidates:c,origins:a,composites:d,atomicClasses:m,cssOnlySignature:f}=u.cssx,p=Object.keys(c),g=o.compileCss===!1||p.length===0?"":(await(0,We.compileUtilities)(p,h=>c[h],l,(0,We.createSelectorAliases)(d),new Set(m),{darkMode:r.darkMode})).css;return{code:n.code,rules:g?[Wt(Vt(g,r.layer))]:[],candidates:c,composites:d,atomicClasses:m,origins:a,cssOnlySignature:f,map:n.map}}var zr=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro",".vue"]);async function G(e,t,r={},s,o={}){ie(r);let i=r.importSource??"@cssxio/cssx",l=t.split("?",1).join("");return!zr.has(l.slice(l.lastIndexOf(".")))||!e.includes(i)?null:l.endsWith(".astro")?Dt(e,t,r,G,o):l.endsWith(".vue")?_t(e,t,r,G,o):Ut(e,l,r,s,o)}async function z(e,t){let r=X(e),s=await Tt(r,t.sourceRoots?.map(a=>X((0,_.resolve)(r,a)))),o={...t};delete o.coordination,delete o.manifestPath,delete o.classNameAllocator;let i=async a=>{let d=[];for(let m of s){let f=await(0,se.readFile)(m,"utf8"),p=/\.(?:md|mdx)$/i.test(m);if(p&&!f.includes(t.importSource??"@cssxio/cssx"))continue;let g=p?await Fe(f,r,t.mdx):f,h=t.stableClassNames||t.naming==="source",w=await G(g,p?`${m}.tsx`:m,{...o,classNameAllocator:a,stableClassNames:h,...h?{stableClassNameFileName:ye(r,m,t.mode==="development")}:{}},void 0,{compileCss:!1});w&&d.push({id:m,candidates:w.candidates,composites:w.composites,atomicClasses:w.atomicClasses,origins:w.origins})}return d};if(t.coordination==="manifest")return Ie(t.manifestPath,J(t),i);let l=me(r,t),n=Gr(e,t),u=xe.get(l);if(u)return await u,z(e,t);let c=(async()=>{let a=new Set;for(let d of s){let m;try{m=await(0,se.stat)(d,{bigint:!0})}catch(C){if(C.code!=="ENOENT")throw C;n.signatures.delete(d),n.modules.delete(d);continue}let f=`${m.dev}:${m.ino}:${m.size}:${m.mtimeNs}:${m.ctimeNs}`;if(n.signatures.get(d)===f){a.add(d);continue}let p;try{p=await(0,se.readFile)(d,"utf8")}catch(C){if(C.code!=="ENOENT")throw C;n.signatures.delete(d),n.modules.delete(d);continue}a.add(d);let g=/\.(?:md|mdx)$/i.test(d),h=p.includes(t.importSource??"@cssxio/cssx");if(g&&!h){n.modules.delete(d),n.signatures.set(d,f);continue}let w=g?await Fe(p,r,t.mdx):p,x=t.stableClassNames||t.naming==="source",y=await G(w,g?`${d}.tsx`:d,{...o,classNameAllocator:n.allocator,stableClassNames:x,...x?{stableClassNameFileName:ye(r,d,t.mode==="development")}:{}},void 0,{compileCss:!1});y?n.modules.set(d,{id:d,candidates:y.candidates,composites:y.composites,atomicClasses:y.atomicClasses,origins:y.origins}):n.modules.delete(d),n.signatures.set(d,f)}for(let d of n.signatures.keys())a.has(d)||(n.signatures.delete(d),n.modules.delete(d));return[...n.modules.values()].sort((d,m)=>d.id.localeCompare(m.id))})();xe.set(l,c);try{return await c}finally{xe.delete(l)}}function st(e,t){let r=W.get(me(e,t));return r?[...r.modules.values()].sort((s,o)=>s.id.localeCompare(o.id)):void 0}function Qt(e,t){nt.add(me(e,t))}function ot(e,t){let r=me(e,t);nt.delete(r),Ee.get(r)?.stop(),W.delete(r)}function me(e,t){let r={...t};return delete r.coordination,delete r.manifestPath,delete r.classNameAllocator,`${X(e)}\0${JSON.stringify(r)}`}function Gr(e,t){let r=me(e,t),s=W.get(r);return s||(s={allocator:t.classNameAllocator??(0,Kt.createClassNameAllocator)(J(t)),modules:new Map,signatures:new Map},W.set(r,s),Kr(r)),s}function Kr(e){if(!(W.size<=zt))for(let t of W.keys()){if(W.size<=zt)return;t!==e&&!nt.has(t)&&!Ee.has(t)&&W.delete(t)}}var W=new Map,xe=new Map,nt=new Set,zt=8,qr=256,Gt=16,Pe=0,Qr=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro",".md",".mdx"]);async function Yt(e,t,r,s=()=>!1){let o=X(e),i=me(o,t),l=Ee.get(i);if(l)return Promise.resolve(l.stop);let n=xe.get(i);n&&await n;let u=t.sourceRoots?.map(b=>(0,_.resolve)(o,b))??[],c=new Map,a=new Set,d=!1,m=!1,f,p=!1,g=!1,h=!1,w=!1,x=b=>{if(!(m||a.has(b))){if(a.size>=qr){a.clear(),m=!0;return}a.add(b),xe.has(i)&&(d=!0)}},y=(b=0)=>{f&&clearTimeout(f),f=setTimeout(()=>{f=void 0,E()},b)},C=async()=>{let b=await Zr(o,u,[...W.get(i)?.modules.values()??[]],t.themeFile?(0,_.resolve)(o,t.themeFile):void 0);if(p)return;let D=new Set(b);for(let[T,P]of c)D.has(T)||(P.close(),c.delete(T),Pe--);for(let T of b){if(c.has(T))continue;if(Pe>=Gt){h||(h=!0,console.warn(`CSSX: development source watcher reached the ${Gt}-directory limit.`));continue}let P;try{P=(0,qt.watch)(T,($,pe)=>{if(p)return;if(pe===null){m=!0,y(8);return}let Q=(0,_.resolve)(T,pe.toString());if(Oe(Q,u)||s(Q))return;if((0,_.extname)(Q)===".css"&&X(Q)===X((0,_.resolve)(o,t.themeFile??""))){x(Q),y();return}let S=(0,_.extname)(Q);if($==="rename"&&S==="")m=!0;else if(es(S))x(Q);else return;let v=W.get(i)?.signatures.has(X(Q))??!1;y($==="rename"&&!v?8:0)})}catch($){w||(w=!0,console.warn(`CSSX: development source watcher could not watch ${T}: ${$ instanceof Error?$.message:String($)}`));continue}P.on("error",$=>{c.get(T)===P&&(c.delete(T),Pe--,P.close(),console.warn(`CSSX: development source watcher stopped for ${T}: ${$.message}`))}),P.unref(),c.set(T,P),Pe++}},E=async()=>{if(p||g)return;g=!0;let b=[...a],D=m,T=d;a.clear(),m=!1,d=!1;try{if(D){let P=await z(o,t);if(p){W.delete(i);return}await C(),p||await r(P)}else{let P=T;for(let $ of b)t.themeFile&&X($)===X((0,_.resolve)(o,t.themeFile))?P=!0:P=await Yr(o,$,t)||P;if(P&&!p){let $=st(o,t);await r($)}}}catch(P){p||console.warn(`CSSX: development source update failed: ${P instanceof Error?P.message:String(P)}`)}finally{g=!1,(m||a.size>0)&&!f&&y()}},O=()=>{p=!0,f&&clearTimeout(f),a.clear(),m=!1,d=!1;for(let b of c.values())b.close(),Pe--;c.clear(),Ee.delete(i),W.delete(i)};return Ee.set(i,{stop:O}),await C().catch(b=>{console.warn(`CSSX: development source watcher could not start: ${b instanceof Error?b.message:String(b)}`)}),O}async function Yr(e,t,r){let s=X(t),o=me(e,r),i=W.get(o),l=i?.signatures.get(s),n=i?.modules.has(s)??!1,u=xe.get(o);u&&await u;let c=W.get(o);if(!c)return!1;let a=c.modules.has(s);try{let d=await(0,se.stat)(s,{bigint:!0}),m=`${d.dev}:${d.ino}:${d.size}:${d.mtimeNs}:${d.ctimeNs}`;if(c.signatures.get(s)===m)return l!==m;let f=await(0,se.readFile)(s,"utf8"),p=/\.(?:md|mdx)$/i.test(s);if(p&&!f.includes(r.importSource??"@cssxio/cssx"))return c.modules.delete(s),c.signatures.set(s,m),a;let g=p?await Fe(f,e,r.mdx):f,h=r.stableClassNames||r.naming==="source",w={...r};delete w.coordination,delete w.manifestPath,delete w.classNameAllocator;let x=await G(g,p?`${s}.tsx`:s,{...w,classNameAllocator:c.allocator,stableClassNames:h,...h?{stableClassNameFileName:ye(e,s,r.mode==="development")}:{}},void 0,{compileCss:!1});return x?c.modules.set(s,{id:s,candidates:x.candidates,composites:x.composites,atomicClasses:x.atomicClasses,origins:x.origins}):c.modules.delete(s),c.signatures.set(s,m),a||x!==null}catch(d){if(d.code==="ENOENT")return c.signatures.delete(s),c.modules.delete(s),a||n;throw d}}async function Zr(e,t,r,s){let o=new Set([e,...t,...r.map(l=>(0,_.dirname)(l.id)),...s?[(0,_.dirname)(s)]:[]]),i=[];for(let l of o){let n=(0,_.resolve)(l);if(!Oe(n,t))try{await(0,se.readdir)(n),i.push(n)}catch(u){if(u.code==="ENOENT")continue;throw u}}return i}function es(e){return Qr.has(e)}var Ee=new Map;function er(e){let{options:t,cssFileName:r,sourceMap:s,dataById:o,getTheme:i}=e,l,n=process.cwd(),u,c,a,d=t.mode==="development",m=d?j(t):t;return{config(f){f.metafile=!0},setup(f){if(n=f.initialOptions.absWorkingDir??process.cwd(),d){let p=(0,de.resolve)(n,".cssx/esbuild.css");a=import("@cssxio/unplugin/internal/development-runtime").then(g=>{u=g.startNextDevelopmentServer(n,p),c=g.startDevelopmentCoordinator(n,p,m,u),c.catch(h=>{console.warn(`CSSX: esbuild development coordinator failed: ${String(h)}`)})}),a.catch(g=>{console.warn(`CSSX: esbuild development coordinator failed: ${String(g)}`)}),f.onDispose(()=>{a?.then(async()=>{await c?.then(h=>h(),()=>{});let{stopNextDevelopmentServer:g}=await import("@cssxio/unplugin/internal/development-runtime");g(n)},async()=>{let{stopNextDevelopmentServer:g}=await import("@cssxio/unplugin/internal/development-runtime");g(n)}),u=void 0})}f.onEnd(async p=>{if(p.errors?.length||!p.metafile)return;let g=new Set(Object.keys(p.metafile.inputs).map(C=>(0,de.resolve)(n,C)));for(let C of o.keys())g.has(C)||o.delete(C);let h=!d&&t.coordination==="manifest"?await z(n,t):[...o.values()],w=await k(h,await i(),m.layer,s,m.darkMode,m.preflight),x=be(n,f.initialOptions,re(r,w.css));if(!w.css){l&&await(0,Ce.unlink)(l).catch(()=>{}),l=void 0;return}let y=I(w,(0,de.basename)(x));if(f.initialOptions.write===!1){let C=p.outputFiles;if(!C)return;let E={path:x,contents:Zt.Buffer.from(y),hash:"",text:y};if(C.some(O=>O.path===x))throw new Error(`CSSX CSS asset collision at "${x}".`);C.push(E);return}await(0,Ce.mkdir)((0,de.dirname)(x),{recursive:!0}),await(0,Ce.writeFile)(x,y),l=x})},getWorkingDirectory:()=>n,getDevelopmentHmrConnection:async()=>(await a,u)}}function tr(e,t=()=>!1,r){return async function(o){let i=this.environment;if(!i)return;let l=o.modules,n=l.filter(m=>{let f=e.get(L(m.id??""));return!!(f&&f.cssOnlySignature)});if(n.length===0)return;let u=typeof o.read=="function"?await o.read():void 0,c=new Set(u===void 0?[]:n.filter(m=>t(L(m.id),u))),a=new Map(n.map(m=>[m,e.get(L(m.id)).cssOnlySignature]));if(r){for(let m of n)if(!(u===void 0?await r(m.id):await r(m.id,u)))if(m.url)await i.transformRequest(m.url);else continue}else for(let m of n)!c.has(m)&&m.url&&await i.transformRequest(m.url);if(n.every(m=>{let f=e.get(L(m.id));return!!(f&&f.cssOnlySignature===a.get(m))}))return l.filter(m=>!n.includes(m))}}var wr=require("path");var dr=require("crypto"),Y=require("fs/promises"),Je=require("path");var it=require("buffer"),or=require("fs"),Re=require("fs/promises"),nr=require("http"),ue=require("path");var rr=require("path");function sr(e,t){let r=(0,rr.resolve)(e);return{port:ts(r),token:rs(`${r}:${t}`)}}function ts(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return 4e4+(t>>>0)%2e4}function rs(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(36)}var Ve=new Map,at=new Map,ss=64;function ir(e,t){let r=(0,ue.resolve)(e),s=Ve.get(r);if(s)return s.references++,s.connection;let o=sr(r,t),i=new Set,l=(0,ue.resolve)(t);(0,or.mkdirSync)((0,ue.dirname)(l),{recursive:!0});let n={connection:o,stylesheetFile:l,revision:0,ready:!1,clients:i,blockedClients:new Set,references:1},u=(0,nr.createServer)((c,a)=>{let d=new URL(c.url??"/","http://127.0.0.1").pathname,m=`/${o.token}`;if(c.method==="OPTIONS"){a.writeHead(204,K()),a.end();return}if(c.method==="POST"&&d===`${m}/publish`){os(c).then(f=>c.headers["x-cssx-inline"]==="1"?f:(0,Re.readFile)(l,"utf8")).then(f=>{ar(n,f),a.writeHead(204,K()),a.end()},()=>{a.writeHead(503,K()),a.end()});return}if(c.method==="GET"&&d===`${m}/ready`){a.writeHead(n.ready?200:503,K()),a.end();return}if(c.method==="GET"&&d===`${m}/events`){if(i.size>=ss){a.writeHead(503,{...K(),"Retry-After":"1"}),a.end();return}a.writeHead(200,{...K(),"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"}),i.add(a),lr(n,a),c.on("close",()=>{i.delete(a),n.blockedClients.delete(a)});return}if(c.method==="GET"&&d===`${m}/stylesheet`){(n.latestCss===void 0?(0,Re.readFile)(l,"utf8"):Promise.resolve(n.latestCss)).then(f=>{a.writeHead(200,{...K(),"Content-Type":"text/css; charset=utf-8","Cache-Control":"no-store"}),a.end(f)},()=>{a.writeHead(503,{...K(),"Cache-Control":"no-store"}),a.end("CSSX development stylesheet is not ready.")});return}if(c.method==="GET"&&d===`${m}/generated.css.map`){(0,Re.readFile)(`${l}.map`,"utf8").then(f=>{a.writeHead(200,{...K(),"Content-Type":"application/json; charset=utf-8","Cache-Control":"no-store"}),a.end(f)},()=>{a.writeHead(404,K()),a.end()});return}a.writeHead(404,K()),a.end()});return u.on("error",c=>{console.warn(`CSSX: development stylesheet transport unavailable on port ${o.port}: ${c.message}`)}),n.server=u,u.listen(o.port,"127.0.0.1"),u.unref(),Ve.set(r,n),at.set(ct(o),n),o}function lt(e){let t=Ve.get((0,ue.resolve)(e));if(t){if(t.references>1){t.references--;return}for(let r of t.clients)r.end();t.blockedClients.clear(),t.server?.close(),Ve.delete((0,ue.resolve)(e)),at.delete(ct(t.connection))}}async function Ae(e,t){let r=at.get(ct(e));if(r){let l=t??await(0,Re.readFile)(r.stylesheetFile,"utf8");ar(r,l);return}let s=`http://127.0.0.1:${e.port}/${e.token}/publish`,o={method:"POST",...t===void 0?{}:{body:t,headers:{"X-CSSX-Inline":"1"}}},i;for(let l=0;l<20;l++){try{let n=await fetch(s,o);if(n.status===204)return;i=new Error(`Unexpected HTTP status ${n.status}.`)}catch(n){i=n}await new Promise(n=>setTimeout(n,25))}throw new Error(`CSSX development stylesheet transport did not become available: ${String(i)}`)}function os(e){return new Promise((t,r)=>{let s=[];e.on("data",o=>s.push(it.Buffer.from(o))),e.on("end",()=>t(it.Buffer.concat(s).toString("utf8"))),e.on("error",r)})}function ar(e,t){if(e.ready&&e.latestCss===t)return;e.revision++,e.ready=!0,e.latestCss=t;let r=`data: ${JSON.stringify({revision:e.revision,css:t})}
|
|
14
|
+
|
|
15
|
+
`;for(let s of e.clients)cr(e,s,r)}function lr(e,t){cr(e,t,`data: ${JSON.stringify({revision:e.revision,css:e.latestCss})}
|
|
16
|
+
|
|
17
|
+
`)}function cr(e,t,r){e.blockedClients.has(t)||t.write(r)||(e.blockedClients.add(t),t.once("drain",()=>{e.blockedClients.delete(t),e.clients.has(t)&&lr(e,t)}))}function ct(e){return`${e.port}:${e.token}`}function K(){return{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type, X-CSSX-Inline"}}var Le=new Map;function ur(e,t,r,s,o){let i=(0,Je.resolve)(e),l=Le.get(i);if(l)return l;let n=(async()=>{Qt(i,r);let u;try{let c=await z(i,r),a=await ns(i,t,r,c);await Ae(s,a),u=await Yt(i,r,async m=>{let f=await V(r,i),p=await k(m,f,r.layer,r.sourceMap,r.darkMode,r.preflight),g=I(p,"generated.css");g!==a&&(await Ae(s,g),a=g)},o);let d=!1;return()=>{d||(d=!0,u?.(),ot(i,r),Le.delete(i))}}catch(c){throw u?.(),ot(i,r),c}})();return Le.set(i,n),n.catch(u=>{console.warn(`CSSX: Next development coordinator could not start: ${u instanceof Error?u.message:String(u)}`),Le.delete(i)}),n}async function ns(e,t,r,s){let o=await V(r,e),i=await k(s,o,r.layer,r.sourceMap,r.darkMode,r.preflight);await(0,Y.mkdir)((0,Je.dirname)(t),{recursive:!0});let l=I(i,"generated.css");return await mr(t,l),i.map&&await mr(`${t}.map`,le(i.map,"generated.css")),l}async function mr(e,t){try{if(await(0,Y.readFile)(e,"utf8")===t)return!1}catch(s){if(s.code!=="ENOENT")throw s}let r=`${e}.${process.pid}.${(0,dr.randomUUID)()}.tmp`;try{return await(0,Y.writeFile)(r,t),await(0,Y.rename)(r,e),!0}catch(s){throw await(0,Y.unlink)(r).catch(()=>{}),s}}var Ue=require("fs/promises"),ze=require("path");function pr(e,t){let r=new Map,s=[];for(let o of t)o.id?r.set(o.id,o):s.push(o);for(let o of e)o.id?r.set(o.id,o):s.push(o);return[...r.values(),...s]}function fr(e,t){let r=e.buildInfo?.[t];if(!r||typeof r!="object")return;let{id:s,candidates:o,composites:i,atomicClasses:l,origins:n}=r;return{id:typeof s=="string"?s:"",candidates:o&&typeof o=="object"?o:{},composites:i&&typeof i=="object"?i:{},...Array.isArray(l)?{atomicClasses:l}:{},origins:n&&typeof n=="object"?n:{}}}function gr(e,t,r){let s=r.naming??(r.stableClassNames?"source":r.className?.variant==="random"?"hash":r.className?.variant??"serial"),o=r.stableClassNames?"stableClassNames compatibility option selects source-addressed composites":r.naming?"explicit naming option":r.className?.variant?"className.variant option":"default serial naming",i=new Map,l=new Map;for(let c of[...e].sort((a,d)=>a.id.localeCompare(d.id))){let a=new Map;for(let[d,m]of Object.entries(c.candidates)){let f=l.get(d)??new Set;f.add(m),l.set(d,f);let p=i.get(m)??{module:c.id,utilities:new Set,line:c.origins?.[d]?.line??0,column:c.origins?.[d]?.column??0};p.utilities.add(d),i.set(m,p);let g=a.get(m)??[];g.push(d),a.set(m,g)}for(let[d,m]of Object.entries(c.composites??{})){let f=m.flatMap(h=>a.get(h)??[]),p=f[0],g=i.get(d)??{module:c.id,utilities:new Set,line:p?c.origins?.[p]?.line??0:0,column:p?c.origins?.[p]?.column??0:0};for(let h of f)g.utilities.add(h);i.set(d,g)}for(let d of c.atomicClasses??[])i.has(d)||i.set(d,{module:c.id,utilities:new Set,line:0,column:0})}let n=[...i].sort(([c],[a])=>c.localeCompare(a)).map(([c,a])=>({className:c,module:a.module,utilities:[...a.utilities].sort(),line:a.line+1,column:a.column+1,selectorFound:new RegExp(`\\.${is(c)}(?:[^A-Za-z0-9_-]|$)`).test(t)})),u=[...l].filter(([,c])=>c.size>1).map(([c])=>c).sort();return{version:1,naming:{mode:s,reason:o},coordination:{mode:r.coordination??"memory",...r.coordination==="manifest"&&r.manifestPath?{manifestPath:r.manifestPath}:{}},classes:n,serverClientMappings:{status:u.length>0?"mismatch":r.coordination==="manifest"?"manifest-shared":"consistent-in-process",conflicts:u}}}function is(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function yr(e,t,r,s,o,i,l,n,u=!0,c,a,d){let m=e.name??e.options?.name;m==="server"||m==="edge-server"||e.hooks.thisCompilation.tap("@cssxio/unplugin",f=>{f.hooks.processAssets.tapPromise({name:"@cssxio/unplugin",stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},async()=>{let p=c?await c():pr([...f.modules].map(x=>fr(x,i)).filter(x=>x!==void 0),l?.values()??[]),g=await k(p,await r(),s,o,n,u);if(a?.debug){let x=gr(p,g.css,a);if(a.debug===!0)console.info(`CSSX: ${x.naming.mode} naming; ${x.classes.filter(y=>y.selectorFound).length}/${x.classes.length} generated classes have selectors; compiler mappings ${x.serverClientMappings.status}${x.serverClientMappings.conflicts.length?` (${x.serverClientMappings.conflicts.length} utility conflicts)`:""}.`);else{let y=(0,ze.resolve)(e.context,a.debug.reportFile);await(0,Ue.mkdir)((0,ze.dirname)(y),{recursive:!0}),await(0,Ue.writeFile)(y,`${JSON.stringify(x,null,2)}
|
|
18
|
+
`,"utf8")}}if(!g.css){await d?.(I(g,t));return}let h=re(t,g.css),w=I(g,h);if(f.getAsset?.(h))throw new Error(`CSSX CSS asset collision at "${h}".`);if(await d?.(w),f.emitAsset(h,new e.webpack.sources.RawSource(w)),g.map){let x=`${h}.map`;if(f.getAsset?.(x))throw new Error(`CSSX CSS map asset collision at "${x}".`);f.emitAsset(x,new e.webpack.sources.RawSource(le(g.map,h)))}})})}var Ge="@cssxio/unplugin/rules";function Ke(){return{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""}}function hr(e){return e.rules.length>0||Object.keys(e.candidates).length>0||Object.keys(e.composites??{}).length>0}var mt=require("@cssxio/compiler");function xr(e,t){return`${e}\0${JSON.stringify(t)}`}var Cr=new Map;function Sr(e,t){let r=xr(e,t),s=Cr.get(r);return s||(s={classNameAllocator:t.classNameAllocator??(0,mt.createClassNameAllocator)(J(t)),developmentClassNameAllocator:t.classNameAllocator??(0,mt.createClassNameAllocator)(J(j(t))),transformedDataById:new Map},Cr.set(r,s)),s}function dt({compiler:e,options:t,cssFileName:r,sourceMap:s,getTheme:o}){let i=Sr(e.context,t),l=ge(t,{watchMode:e.watchMode,bundlerMode:e.options?.mode}),n=l?j(t):t,u=n.sourceMap??s,c;if(l){let a=0;e.hooks?.watchRun?.tap("@cssxio/unplugin",d=>{a++;for(let h of d.removedFiles??[])i.transformedDataById.delete(L(h));if(process.env.NODE_ENV==="test"||c)return;let m=(0,wr.resolve)(e.context,".cssx/native.css"),f=ir(e.context,m);i.developmentHmr=f,c=ur(e.context,m,n,f);let p=0,g;i.notifyDevelopmentStylesheet=()=>a<=1||i.developmentHmr!==f?Promise.resolve():(p++,g||(g=new Promise(h=>setImmediate(h)).then(async()=>{let h=-1;do{h=p;let w=st(e.context,n),x=await k(w??[...i.transformedDataById.values()],await o(),n.layer,u,n.darkMode,n.preflight),y=I(x,"generated.css");i.developmentHmr===f&&i.developmentStylesheet!==y&&(await Ae(f,y),i.developmentStylesheet=y)}while(h!==p)}).catch(h=>{console.warn(`CSSX: native development stylesheet update failed: ${h instanceof Error?h.message:String(h)}`)}).finally(()=>{g=void 0})),g),c.catch(h=>{console.warn(`CSSX: native development coordinator failed: ${String(h)}`)})})}l&&e.hooks?.watchClose?.tap("@cssxio/unplugin",()=>{c?.then(a=>{a(),lt(e.context),i.developmentHmr=void 0,i.developmentStylesheet=void 0},()=>{lt(e.context),i.developmentHmr=void 0,i.developmentStylesheet=void 0}),i.notifyDevelopmentStylesheet=void 0}),yr(e,r,o,n.layer,u,Ge,i.transformedDataById,n.darkMode,n.preflight,!l&&(t.stableClassNames||t.naming==="source"||t.coordination==="manifest")?()=>z(e.context,t):void 0,n)}function vr(e){if(!e||typeof e!="object")return Ke();let{id:t,rules:r,candidates:s,composites:o,atomicClasses:i,origins:l,cssOnlySignature:n}=e;return{id:typeof t=="string"?t:"",rules:Array.isArray(r)?r:[],candidates:s&&typeof s=="object"?s:{},composites:o&&typeof o=="object"?o:{},...Array.isArray(i)?{atomicClasses:i}:{},origins:l&&typeof l=="object"?l:{},cssOnlySignature:typeof n=="string"?n:""}}function Nr(e){return!e||typeof e!="object"?Ke():vr(e[Ge])}function br(e){return async function(t,r){let{framework:s,options:o,cssFileName:i,sourceMap:l,rollupDataById:n,getTheme:u}=e,c=ge(o,{watchMode:this.meta?.watchMode})?j(o):o,a=new Set(Object.values(r).flatMap(p=>p.type==="chunk"?Object.keys(p.modules??{}):[]).map(L));if(s!=="vite")for(let p of n.keys())a.has(p)||n.delete(p);let d=c.coordination==="manifest"?await z(process.cwd(),c):s==="vite"?[...n.values()]:[...a].map(p=>{let g=Nr(this.getModuleInfo(p)?.meta);return Object.keys(g.candidates).length>0?g:n.get(p)??g}),m=await k(d,await u(),c.layer,l,c.darkMode,c.preflight);if(!m.css)return;let f=re(i,m.css);if(Object.hasOwn(r,f))throw new Error(`CSSX CSS asset collision at "${f}".`);if(this.emitFile({type:"asset",fileName:f,source:I(m,f)}),m.map){let p=`${f}.map`;if(Object.hasOwn(r,p))throw new Error(`CSSX CSS map asset collision at "${p}".`);this.emitFile({type:"asset",fileName:p,source:le(m.map,f)})}}}var kr=require("@cssxio/compiler"),pt=require("buffer"),q=require("fs/promises"),Z=require("path");var Mr=require("crypto");function qe(e){return(0,Mr.createHash)("sha256").update(e).digest("hex")}async function Or(e,t){let r=await V(t);return k(e.map(([,s])=>s),r,t.layer,t.sourceMap??!0,t.darkMode,t.preflight)}function Pr(e){return/\.tsx?$/.test(e)?"ts":"js"}var Er=require("fs"),Se=require("path"),as=8,ls=256,ut=0;function Rr(e,t=Er.watch,r="Vite's watcher"){let s=new Map,o=new Map,i=new Map,l=!1,n=p=>{let g=i.get(p);g&&(clearTimeout(g),i.delete(p))},u=(p,g)=>{if(s.get(p)===g){s.delete(p),ut--,g.watcher.close();for(let h of g.ids)o.delete(h),n(h);g.ids.clear()}},c=p=>{i.has(p)||i.size>=ls||i.set(p,setTimeout(()=>{i.delete(p),e(p)},2))},a=p=>{l=!0;for(let[g,h]of s)u(g,h);console.warn(`CSSX: native source watcher failed; using ${r}: ${p.message}`)};return{close:()=>{for(let[p,g]of s)u(p,g);o.clear();for(let p of i.values())clearTimeout(p);i.clear()},unwatch:p=>{let g=(0,Se.resolve)(p);n(g);let h=o.get(g);if(!h)return;o.delete(g);let w=s.get(h);w?.ids.delete(g),w&&w.ids.size===0&&u(h,w)},watch:p=>{let g=(0,Se.resolve)(p);if(l||o.has(g))return;let h=(0,Se.dirname)(g),w=s.get(h);if(!w){if(ut>=as)return;try{let x=new Set,y=t(h,{persistent:!1},(C,E)=>{let O=E===null?[...x]:[(0,Se.resolve)(h,E.toString())].filter(b=>x.has(b));for(let b of O)c(b)});w={watcher:y,ids:x},s.set(h,w),ut++,y.on("error",C=>{s.get(h)===w&&a(C)})}catch(x){a(x instanceof Error?x:new Error(String(x)));return}}w.ids.add(g),o.set(g,h)}}}var cs=/\.[cm]?[jt]sx?$/,ms=64,Ar=16*1024*1024;function ft(e={}){if(ie(e),e.classNameAllocator&&e.className)throw new Error("CSSX classNameAllocator owns naming. Omit className when supplying a custom allocator.");let t=new Map,r=e.mode==="development",s=e.classNameAllocator??(0,kr.createClassNameAllocator)(r?{...e.className,variant:"random"}:J(e)),o,i;return{name:"@cssxio/unplugin",setup(l){let n=l.initialOptions.absWorkingDir??process.cwd(),u=e.sourceRoots?.map(S=>(0,Z.resolve)(n,S)),c=j(e);l.initialOptions.metafile=!0;let a,d,m=0,f=0,p,g,h,w=-1,x,y,C=new Map,E=new WeakMap,O=new Map,b=0,D=S=>{let v=O.get(S);v&&(b-=v.size,O.delete(S))},T=(S,v,N)=>{let M=(v.length+N.code.length)*2;if(M>Ar){D(S);return}for(D(S);O.size>=ms||b+M>Ar;){let R=O.keys().next().value;if(R===void 0)break;D(R)}O.set(S,{sourceSignature:qe(v),result:N,size:M}),b+=M},P=(S,v)=>{if(!v){let H=t.delete(S);return C.delete(S),D(S),y?.unwatch(S),H}let N={id:S,candidates:v.candidates,composites:v.composites,atomicClasses:v.atomicClasses,origins:v.origins},M=JSON.stringify([N.candidates,N.composites,N.atomicClasses,N.origins]),R=t.get(S),ee=R===void 0||E.get(R)!==M;return E.set(N,M),t.set(S,N),C.set(S,v.cssOnlySignature),hr({...N,rules:[]})?y?.watch(S):y?.unwatch(S),ee},$=async S=>{let v=await d;if(!v||!a)return;let N=I(S,"generated.css");N!==g&&(await v.publishNextDevelopmentStylesheet(a,N),g=N)},pe=()=>!r||m===0||!d?Promise.resolve():(f++,p||(p=new Promise(S=>setImmediate(S)).then(async()=>{let S=-1;do{S=f;let v=await V(e,n),N=await k([...t.values()],v,c.layer,c.sourceMap,e.darkMode,e.preflight);h=N,w=S,x=v,await $(N)}while(S!==f)}).catch(S=>{console.warn(`CSSX: esbuild stylesheet update failed: ${S instanceof Error?S.message:String(S)}`)}).finally(()=>{p=void 0})),p),Q=async S=>{if(!a)return;let v=C.get(S);if(v)try{let N=await(0,q.readFile)(S,"utf8");if(O.get(S)?.sourceSignature===qe(N))return;let M=await Tr(N,S,n,e,r,s);if(!M||M.cssOnlySignature!==v){D(S);return}let R=P(S,M);T(S,N,M),R&&await pe()}catch(N){N.code!=="ENOENT"&&console.warn(`CSSX: esbuild stylesheet update failed: ${N instanceof Error?N.message:String(N)}`)}};if(r){let S=(0,Z.resolve)(n,".cssx/esbuild.css");y=Rr(Q,void 0,"esbuild watcher"),d=import("@cssxio/unplugin/internal/development-runtime").then(v=>(a=v.startNextDevelopmentServer(n,S),v)),d=d.catch(v=>{console.warn(`CSSX: esbuild development runtime failed: ${String(v)}`)}),l.onDispose(()=>{d?.then(v=>v?.stopNextDevelopmentServer(n)),y?.close(),y=void 0,O.clear(),b=0,C.clear(),a=void 0})}l.onLoad({filter:cs},async({path:S})=>{let v=await d;if(Oe(S,u))return;let N=await(0,q.readFile)(S,"utf8"),M=await tt(S),R=O.get(M),ee=r&&R?.sourceSignature===qe(N),H=ee?R.result:await Tr(N,S,n,e,r,s);if(ee&&D(M),!H){let ve=r?P(M,null):t.delete(M);r&&ve&&await pe();return}let oe=r?P(M,H):!0;return r||t.set(M,{id:M,candidates:H.candidates,composites:H.composites,atomicClasses:H.atomicClasses,origins:H.origins}),r&&m>0&&oe&&!ee&&await pe(),{contents:a?`${H.code}
|
|
19
|
+
${v?.nextDevelopmentStylesheetHmr(a,e.cssFileName??"cssx.css")}`:H.code,loader:Pr(S),...e.themeFile?{watchFiles:[(0,Z.resolve)(n,e.themeFile)]}:{}}}),l.onEnd(async S=>{if(m++,S.errors?.length||!S.metafile)return;let v=new Set(await Promise.all(Object.keys(S.metafile.inputs).map(F=>tt((0,Z.resolve)(n,F))))),N=!1;for(let F of t.keys())v.has(F)||(t.delete(F),C.delete(F),D(F),y?.unwatch(F),N=!0);N&&(w=-1);let M;if(r){await p;let F=await V(e,n);M=!N&&h!==void 0&&w===f&&x===F?h:await k([...t.values()],F,c.layer,c.sourceMap,e.darkMode,e.preflight),h=M,w=f,x=F;try{await $(M)}catch(Qe){console.warn(`CSSX: esbuild stylesheet update failed: ${Qe instanceof Error?Qe.message:String(Qe)}`)}}else{let F=e.coordination==="manifest"?(await z(n,e)).map(ve=>[ve.id,ve]):[...t];M=await Or(F,e)}let R=be(n,l.initialOptions,re(e.cssFileName??"cssx.css",M.css));if(!M.css){o&&await(0,q.unlink)(o).catch(()=>{}),i&&await(0,q.unlink)(i).catch(()=>{}),o=void 0,i=void 0;return}let ee=M.map?`${M.css}
|
|
20
|
+
/*# sourceMappingURL=${(0,Z.basename)(R)}.map */`:M.css,H=`${R}.map`,oe=M.map?JSON.stringify({...M.map,file:(0,Z.basename)(R)}):void 0;if(l.initialOptions.write===!1){if(!S.outputFiles)return;if(S.outputFiles.some(F=>F.path===R))throw new Error(`CSSX CSS asset collision at "${R}".`);S.outputFiles.push({path:R,contents:pt.Buffer.from(ee),hash:"",text:ee}),oe&&S.outputFiles.push({path:H,contents:pt.Buffer.from(oe),hash:"",text:oe});return}await(0,q.mkdir)((0,Z.dirname)(R),{recursive:!0}),await(0,q.writeFile)(R,ee),oe&&await(0,q.writeFile)(H,oe),o=R,i=oe?H:void 0})}}}async function Tr(e,t,r,s,o,i){let l=o||s.stableClassNames||s.naming==="source",n=o?j(s):void 0,c={...{...n??s,stableClassNames:l,className:n?n.className:J(s),...l?{stableClassNameFileName:ye(r,t,o)}:{},classNameAllocator:i}};delete c.coordination,delete c.manifestPath;let a=d=>G(e,t,{...c,classNameAllocator:d},void 0,{compileCss:!1});return!o&&s.coordination==="manifest"?Ie(s.manifestPath,c.className,a):a(i)}var gt=/\.(?:[cm]?[jt]sx?|astro|vue|mdx?)(?=\?|$)/,$r=(e={},t)=>{if(ie(e),e.classNameAllocator&&e.className)throw new Error("CSSX classNameAllocator owns naming. Omit className when supplying a custom allocator.");let r=e.cssFileName??"cssx.css",s=e.sourceMap??!0,o=new Map,i=e.classNameAllocator??(0,yt.createClassNameAllocator)(J(e)),l=e.classNameAllocator??(0,yt.createClassNameAllocator)(J(j(e))),n=new Map,u,c,a,d=process.cwd(),m,f=()=>V(e,d),p=er({options:e,cssFileName:r,sourceMap:s,dataById:n,getTheme:f}),g=br({framework:t.framework,options:e,cssFileName:r,sourceMap:s,rollupDataById:o,getTheme:f}),h=()=>u?.notifyStyles()??Promise.resolve(),w=()=>a?.then(y=>y.notifyStyles())??Promise.resolve(),x=()=>(c??=import("@cssxio/unplugin/internal/transform-runtime").then(({createTransformHandler:y})=>y({framework:t.framework,options:e,classNameAllocator:i,developmentClassNameAllocator:l,isViteDevServerActive:()=>u?.isActive()??!1,rollupDataById:o,esbuildDataById:n,cssFileName:r,getEsbuildWorkingDirectory:p.getWorkingDirectory,notifyViteStyles:h,notifyDevelopmentStyles:w,getDevelopmentHmrConnection:t.framework==="esbuild"?p.getDevelopmentHmrConnection:()=>a?.then(C=>C.getConnection())})),c);return{name:"@cssxio/unplugin",enforce:"pre",transform:{filter:{id:gt},handler:async function(y,C){let E=await x(),O=this.meta?.watchMode;if(t.framework==="rollup"&&O&&a){let T=await a,P=T.takePrepared(C,y);if(P.handled)return T.onTransformed(C),P.result}let b=u?.isPrepared(C,y)??!1,D=await E.call({...this,skipViteStylesheetPush:b},y,C);return t.framework==="vite"?u?.onTransformed(C,y):t.framework==="rollup"&&O&&a&&(await a).onTransformed(C),D}},async watchChange(y,C){let E=L(y);if(C.event==="delete"){o.delete(E),u?.delete(E),await a?.then(O=>O.delete(E)),t.framework==="vite"?await h():await w();return}if(t.framework==="rollup"&&a&&C.event==="update"&>.test(y)){await a.then(O=>O.updateCssOnlySource(y));return}t.framework!=="vite"||!u?.isActive()||C.event!=="update"||!gt.test(y)||await u.updateCssOnlySource(y)},rollup:{generateBundle:g,buildStart(){let y=this.meta.watchMode;if(ge(e,{watchMode:y})&&y&&!a){let C=j(e);a=import("@cssxio/unplugin/internal/development-runtime").then(E=>E.createRollupDevelopmentRuntime({cssFileName:r,root:process.cwd(),dataById:o,getTheme:f,options:C,sourceMap:C.sourceMap,transformSource:(O,b)=>x().then(D=>D.call({meta:{watchMode:!0},skipRollupStylesheetPush:!0},O,b))}))}y&&a&&a.then(C=>C.buildStart()).catch(C=>{console.warn(`CSSX: Rollup development coordinator failed: ${String(C)}`)})},async buildEnd(){await a?.then(y=>y.buildEnd())},async closeWatcher(){await a?.then(y=>y.closeWatcher(),()=>{}),a=void 0}},vite:{generateBundle:g,configResolved(y){m=y.command,d=y.root??d},async configureServer(y){if(m==="build"||e.mode==="production"||process.env.NODE_ENV==="production")return;let C=j(e),{createViteDevelopmentRuntime:E}=await import("@cssxio/unplugin/internal/development-runtime");d=y.config.root??process.cwd(),u=E(y,{cssFileName:r,root:d,sourceMap:C.sourceMap,options:C,rollupDataById:o,getTheme:f},o,(O,b)=>x().then(D=>D.call({meta:{watchMode:!0},skipViteStylesheetPush:!0},O,b)))},transformIndexHtml:{order:"pre",async handler(y,C){if(!C.server||m==="build"||e.mode==="production"||process.env.NODE_ENV==="production")return;let{viteDevelopmentStylesheetHmr:E}=await import("@cssxio/unplugin/internal/development-runtime");return[{tag:"script",attrs:{type:"module","data-cssx-vite-hmr":!0},children:E(r),injectTo:"body"}]}},hotUpdate:{order:"pre",handler:tr(o,void 0,(y,C)=>u?.updateCssOnlySource(y,C)??Promise.resolve(!1))}},...t.framework==="webpack"?{webpack(y){dt({compiler:y,options:e,cssFileName:r,sourceMap:s,getTheme:f})}}:{},...t.framework==="rspack"?{rspack(y){dt({compiler:y,options:e,cssFileName:r,sourceMap:s,getTheme:f})}}:{},...t.framework==="esbuild"?{esbuild:{config:p.config,setup:p.setup}}:{}}},we=(0,Dr.createUnplugin)($r),ds=we.vite,us=we.rollup,ps=we.webpack,fs=we.rspack,Fr=we;0&&(module.exports={compileCssxStylesheet,esbuild,rollup,rspack,transformCssxModule,unplugin,unpluginFactory,vite,webpack});
|
package/dist/index.d.cts
CHANGED
|
@@ -1,65 +1,16 @@
|
|
|
1
1
|
import * as _webpack from 'webpack';
|
|
2
2
|
import * as _unplugin from 'unplugin';
|
|
3
3
|
import { UnpluginFactory } from 'unplugin';
|
|
4
|
-
import { C as CssxPluginOptions } from './options-
|
|
4
|
+
import { C as CssxPluginOptions } from './options-BbhZj-Sb.cjs';
|
|
5
5
|
export { default as esbuild } from './esbuild.cjs';
|
|
6
|
+
import { b as CssxCandidateOrigin } from './stylesheet-types-mSM1XaBK.cjs';
|
|
7
|
+
export { c as CssxSourceMap, C as CssxSourceModule, a as CssxStylesheet } from './stylesheet-types-mSM1XaBK.cjs';
|
|
6
8
|
import { I as IncomingSourceMap } from './source-map-from-context-B4SX_KAW.cjs';
|
|
7
9
|
import { transformAsync } from '@babel/core';
|
|
8
|
-
import {
|
|
10
|
+
import { CssxRule, ClassNameAllocator } from '@cssxio/compiler';
|
|
11
|
+
export { c as compileCssxStylesheet } from './compile-cssx-stylesheet-CAnWFXMM.cjs';
|
|
9
12
|
import 'esbuild';
|
|
10
13
|
|
|
11
|
-
/** The source location of one utility string. */
|
|
12
|
-
interface CssxCandidateOrigin {
|
|
13
|
-
/** Zero-based line number in the source module. */
|
|
14
|
-
readonly line: number;
|
|
15
|
-
/** Zero-based column number in the source module. */
|
|
16
|
-
readonly column: number;
|
|
17
|
-
}
|
|
18
|
-
/** CSSX data collected from one source module. */
|
|
19
|
-
interface CssxSourceModule {
|
|
20
|
-
/** Stable source module ID. */
|
|
21
|
-
readonly id: string;
|
|
22
|
-
/** Maps utility strings to generated class names. */
|
|
23
|
-
readonly candidates: Readonly<Record<string, string>>;
|
|
24
|
-
/** Maps composite classes to their winning atomic classes. */
|
|
25
|
-
readonly composites?: Readonly<Record<string, readonly string[]>>;
|
|
26
|
-
/** Atomic classes required by compiled styles that survive to runtime. */
|
|
27
|
-
readonly atomicClasses?: readonly string[];
|
|
28
|
-
/** Maps utility strings to source locations when they are available. */
|
|
29
|
-
readonly origins?: Readonly<Record<string, CssxCandidateOrigin>>;
|
|
30
|
-
}
|
|
31
|
-
/** A source map for generated CSS. */
|
|
32
|
-
interface CssxSourceMap {
|
|
33
|
-
/** Source map format version. */
|
|
34
|
-
readonly version: 3;
|
|
35
|
-
/** Source module IDs referenced by the map. */
|
|
36
|
-
readonly sources: readonly string[];
|
|
37
|
-
/** CSSX does not emit named source map entries. */
|
|
38
|
-
readonly names: readonly [];
|
|
39
|
-
/** Encoded source map segments for generated rules. */
|
|
40
|
-
readonly mappings: string;
|
|
41
|
-
}
|
|
42
|
-
/** A generated stylesheet and its optional source map. */
|
|
43
|
-
interface CssxStylesheet {
|
|
44
|
-
/** Generated, deduplicated CSS. */
|
|
45
|
-
readonly css: string;
|
|
46
|
-
/** Source map for generated CSS when source locations are available. */
|
|
47
|
-
readonly map?: CssxSourceMap;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Builds one stylesheet from source module data.
|
|
52
|
-
*
|
|
53
|
-
* @param data CSSX data from source modules.
|
|
54
|
-
* @param theme Optional CSS theme input.
|
|
55
|
-
* @param layer Optional CSS layer for the output.
|
|
56
|
-
* @param sourceMap Whether to generate a CSS source map.
|
|
57
|
-
* @param darkMode Controls how the `dark` variant is activated.
|
|
58
|
-
* @param preflight Whether to add the browser baseline before utility rules.
|
|
59
|
-
* @returns The generated CSS and its source map when source locations exist.
|
|
60
|
-
*/
|
|
61
|
-
declare function compileCssxStylesheet(data: readonly CssxSourceModule[], theme?: string, layer?: string, sourceMap?: boolean, darkMode?: DarkMode, preflight?: boolean): Promise<CssxStylesheet>;
|
|
62
|
-
|
|
63
14
|
/** The result of transforming one source module. */
|
|
64
15
|
interface TransformResult {
|
|
65
16
|
/** JavaScript source after the CSSX transform. */
|
|
@@ -79,6 +30,11 @@ interface TransformResult {
|
|
|
79
30
|
/** Source map that continues a map supplied by an earlier transform. */
|
|
80
31
|
readonly map?: NonNullable<Awaited<ReturnType<typeof transformAsync>>>['map'];
|
|
81
32
|
}
|
|
33
|
+
/** Controls optional per-module work while adapters collect development metadata. */
|
|
34
|
+
interface TransformExecutionOptions {
|
|
35
|
+
/** Skips utility CSS emission when a project or bundler compiles the stylesheet later. */
|
|
36
|
+
readonly compileCss?: boolean;
|
|
37
|
+
}
|
|
82
38
|
/**
|
|
83
39
|
* Transforms one source module that imports CSSX.
|
|
84
40
|
*
|
|
@@ -92,7 +48,7 @@ declare function transformCssxModule(code: string, id: string, options?: CssxPlu
|
|
|
92
48
|
readonly classNameAllocator?: ClassNameAllocator;
|
|
93
49
|
readonly stableClassNames?: boolean;
|
|
94
50
|
readonly stableClassNameFileName?: string;
|
|
95
|
-
}, inputSourceMap?: IncomingSourceMap): Promise<TransformResult | null>;
|
|
51
|
+
}, inputSourceMap?: IncomingSourceMap, transformOptions?: TransformExecutionOptions): Promise<TransformResult | null>;
|
|
96
52
|
|
|
97
53
|
/**
|
|
98
54
|
* Creates the CSSX adapter hooks consumed by Unplugin for one build tool.
|
|
@@ -133,4 +89,4 @@ declare const webpack: (options?: CssxPluginOptions | undefined) => _webpack.Web
|
|
|
133
89
|
*/
|
|
134
90
|
declare const rspack: (options?: CssxPluginOptions | undefined) => _unplugin.RspackPluginInstance;
|
|
135
91
|
|
|
136
|
-
export {
|
|
92
|
+
export { CssxCandidateOrigin, CssxPluginOptions, IncomingSourceMap, type TransformResult, unplugin as default, rollup, rspack, transformCssxModule, unplugin, unpluginFactory, vite, webpack };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,65 +1,16 @@
|
|
|
1
1
|
import * as _webpack from 'webpack';
|
|
2
2
|
import * as _unplugin from 'unplugin';
|
|
3
3
|
import { UnpluginFactory } from 'unplugin';
|
|
4
|
-
import { C as CssxPluginOptions } from './options-
|
|
4
|
+
import { C as CssxPluginOptions } from './options-BbhZj-Sb.js';
|
|
5
5
|
export { default as esbuild } from './esbuild.js';
|
|
6
|
+
import { b as CssxCandidateOrigin } from './stylesheet-types-mSM1XaBK.js';
|
|
7
|
+
export { c as CssxSourceMap, C as CssxSourceModule, a as CssxStylesheet } from './stylesheet-types-mSM1XaBK.js';
|
|
6
8
|
import { I as IncomingSourceMap } from './source-map-from-context-B4SX_KAW.js';
|
|
7
9
|
import { transformAsync } from '@babel/core';
|
|
8
|
-
import {
|
|
10
|
+
import { CssxRule, ClassNameAllocator } from '@cssxio/compiler';
|
|
11
|
+
export { c as compileCssxStylesheet } from './compile-cssx-stylesheet-CnatguKL.js';
|
|
9
12
|
import 'esbuild';
|
|
10
13
|
|
|
11
|
-
/** The source location of one utility string. */
|
|
12
|
-
interface CssxCandidateOrigin {
|
|
13
|
-
/** Zero-based line number in the source module. */
|
|
14
|
-
readonly line: number;
|
|
15
|
-
/** Zero-based column number in the source module. */
|
|
16
|
-
readonly column: number;
|
|
17
|
-
}
|
|
18
|
-
/** CSSX data collected from one source module. */
|
|
19
|
-
interface CssxSourceModule {
|
|
20
|
-
/** Stable source module ID. */
|
|
21
|
-
readonly id: string;
|
|
22
|
-
/** Maps utility strings to generated class names. */
|
|
23
|
-
readonly candidates: Readonly<Record<string, string>>;
|
|
24
|
-
/** Maps composite classes to their winning atomic classes. */
|
|
25
|
-
readonly composites?: Readonly<Record<string, readonly string[]>>;
|
|
26
|
-
/** Atomic classes required by compiled styles that survive to runtime. */
|
|
27
|
-
readonly atomicClasses?: readonly string[];
|
|
28
|
-
/** Maps utility strings to source locations when they are available. */
|
|
29
|
-
readonly origins?: Readonly<Record<string, CssxCandidateOrigin>>;
|
|
30
|
-
}
|
|
31
|
-
/** A source map for generated CSS. */
|
|
32
|
-
interface CssxSourceMap {
|
|
33
|
-
/** Source map format version. */
|
|
34
|
-
readonly version: 3;
|
|
35
|
-
/** Source module IDs referenced by the map. */
|
|
36
|
-
readonly sources: readonly string[];
|
|
37
|
-
/** CSSX does not emit named source map entries. */
|
|
38
|
-
readonly names: readonly [];
|
|
39
|
-
/** Encoded source map segments for generated rules. */
|
|
40
|
-
readonly mappings: string;
|
|
41
|
-
}
|
|
42
|
-
/** A generated stylesheet and its optional source map. */
|
|
43
|
-
interface CssxStylesheet {
|
|
44
|
-
/** Generated, deduplicated CSS. */
|
|
45
|
-
readonly css: string;
|
|
46
|
-
/** Source map for generated CSS when source locations are available. */
|
|
47
|
-
readonly map?: CssxSourceMap;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Builds one stylesheet from source module data.
|
|
52
|
-
*
|
|
53
|
-
* @param data CSSX data from source modules.
|
|
54
|
-
* @param theme Optional CSS theme input.
|
|
55
|
-
* @param layer Optional CSS layer for the output.
|
|
56
|
-
* @param sourceMap Whether to generate a CSS source map.
|
|
57
|
-
* @param darkMode Controls how the `dark` variant is activated.
|
|
58
|
-
* @param preflight Whether to add the browser baseline before utility rules.
|
|
59
|
-
* @returns The generated CSS and its source map when source locations exist.
|
|
60
|
-
*/
|
|
61
|
-
declare function compileCssxStylesheet(data: readonly CssxSourceModule[], theme?: string, layer?: string, sourceMap?: boolean, darkMode?: DarkMode, preflight?: boolean): Promise<CssxStylesheet>;
|
|
62
|
-
|
|
63
14
|
/** The result of transforming one source module. */
|
|
64
15
|
interface TransformResult {
|
|
65
16
|
/** JavaScript source after the CSSX transform. */
|
|
@@ -79,6 +30,11 @@ interface TransformResult {
|
|
|
79
30
|
/** Source map that continues a map supplied by an earlier transform. */
|
|
80
31
|
readonly map?: NonNullable<Awaited<ReturnType<typeof transformAsync>>>['map'];
|
|
81
32
|
}
|
|
33
|
+
/** Controls optional per-module work while adapters collect development metadata. */
|
|
34
|
+
interface TransformExecutionOptions {
|
|
35
|
+
/** Skips utility CSS emission when a project or bundler compiles the stylesheet later. */
|
|
36
|
+
readonly compileCss?: boolean;
|
|
37
|
+
}
|
|
82
38
|
/**
|
|
83
39
|
* Transforms one source module that imports CSSX.
|
|
84
40
|
*
|
|
@@ -92,7 +48,7 @@ declare function transformCssxModule(code: string, id: string, options?: CssxPlu
|
|
|
92
48
|
readonly classNameAllocator?: ClassNameAllocator;
|
|
93
49
|
readonly stableClassNames?: boolean;
|
|
94
50
|
readonly stableClassNameFileName?: string;
|
|
95
|
-
}, inputSourceMap?: IncomingSourceMap): Promise<TransformResult | null>;
|
|
51
|
+
}, inputSourceMap?: IncomingSourceMap, transformOptions?: TransformExecutionOptions): Promise<TransformResult | null>;
|
|
96
52
|
|
|
97
53
|
/**
|
|
98
54
|
* Creates the CSSX adapter hooks consumed by Unplugin for one build tool.
|
|
@@ -133,4 +89,4 @@ declare const webpack: (options?: CssxPluginOptions | undefined) => _webpack.Web
|
|
|
133
89
|
*/
|
|
134
90
|
declare const rspack: (options?: CssxPluginOptions | undefined) => _unplugin.RspackPluginInstance;
|
|
135
91
|
|
|
136
|
-
export {
|
|
92
|
+
export { CssxCandidateOrigin, CssxPluginOptions, IncomingSourceMap, type TransformResult, unplugin as default, rollup, rspack, transformCssxModule, unplugin, unpluginFactory, vite, webpack };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as d,b as e,c as f,d as g,e as h,f as i,g as j}from"./chunk-V4DGCZJC.js";import"./chunk-ART2XI6B.js";import{a as c}from"./chunk-5W5F6RBE.js";import"./chunk-7X733NFU.js";import"./chunk-URWMD4HY.js";import{a}from"./chunk-663P2VZO.js";import"./chunk-NTKLI2V7.js";import"./chunk-VJ4HYXVU.js";import"./chunk-AJOXGQDA.js";import{f as b}from"./chunk-3C7SCOHD.js";import"./chunk-GPHROS5Y.js";export{a as compileCssxStylesheet,j as default,c as esbuild,g as rollup,i as rspack,b as transformCssxModule,e as unplugin,d as unpluginFactory,f as vite,h as webpack};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CssxRule } from '@cssxio/compiler';
|
|
2
|
+
import { C as CssxSourceModule } from './stylesheet-types-mSM1XaBK.js';
|
|
3
|
+
|
|
4
|
+
/** CSSX data collected for one transformed module. */
|
|
5
|
+
interface ModuleCssxData extends CssxSourceModule {
|
|
6
|
+
/** Compiled CSS rules from the source module. */
|
|
7
|
+
readonly rules: readonly CssxRule[];
|
|
8
|
+
/** Signature used to distinguish declaration-only development changes. */
|
|
9
|
+
readonly cssOnlySignature: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export type { ModuleCssxData as M };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CssxRule } from '@cssxio/compiler';
|
|
2
|
+
import { C as CssxSourceModule } from './stylesheet-types-mSM1XaBK.cjs';
|
|
3
|
+
|
|
4
|
+
/** CSSX data collected for one transformed module. */
|
|
5
|
+
interface ModuleCssxData extends CssxSourceModule {
|
|
6
|
+
/** Compiled CSS rules from the source module. */
|
|
7
|
+
readonly rules: readonly CssxRule[];
|
|
8
|
+
/** Signature used to distinguish declaration-only development changes. */
|
|
9
|
+
readonly cssOnlySignature: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export type { ModuleCssxData as M };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Browser connection settings for the local Next.js development stylesheet transport. */
|
|
2
|
+
interface NextDevelopmentHmrConnection {
|
|
3
|
+
/** Loopback port used by the development-only stylesheet endpoint. */
|
|
4
|
+
readonly port: number;
|
|
5
|
+
/** Project-specific endpoint segment. */
|
|
6
|
+
readonly token: string;
|
|
7
|
+
}
|
|
8
|
+
/** Starts a loopback-only event stream and stylesheet endpoint for one Next.js app. */
|
|
9
|
+
declare function startNextDevelopmentServer(root: string, styleSheetFile: string): NextDevelopmentHmrConnection;
|
|
10
|
+
/** Stops one project transport. Used by tests and development config reloads. */
|
|
11
|
+
declare function stopNextDevelopmentServer(root: string): void;
|
|
12
|
+
/** Pushes a revision after the loader atomically replaces the generated sheet. */
|
|
13
|
+
declare function publishNextDevelopmentStylesheet(connection: NextDevelopmentHmrConnection, css?: string): Promise<void>;
|
|
14
|
+
/** Waits until the coordinator has completed its initial stylesheet write. */
|
|
15
|
+
declare function waitForNextDevelopmentStylesheet(connection: NextDevelopmentHmrConnection): Promise<void>;
|
|
16
|
+
|
|
17
|
+
export { type NextDevelopmentHmrConnection as N, stopNextDevelopmentServer as a, publishNextDevelopmentStylesheet as p, startNextDevelopmentServer as s, waitForNextDevelopmentStylesheet as w };
|