@cssxio/unplugin 0.5.1 → 0.8.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.
Files changed (44) hide show
  1. package/README.md +73 -17
  2. package/dist/chunk-BPBCQNZV.js +91 -0
  3. package/dist/chunk-GGFXMP4P.js +13 -0
  4. package/dist/chunk-T2L6RO3O.js +1 -0
  5. package/dist/esbuild.cjs +17 -7
  6. package/dist/esbuild.d.cts +1 -1
  7. package/dist/esbuild.d.ts +1 -1
  8. package/dist/esbuild.js +1 -1
  9. package/dist/index.cjs +17 -7
  10. package/dist/index.d.cts +10 -24
  11. package/dist/index.d.ts +10 -24
  12. package/dist/index.js +1 -1
  13. package/dist/next-loader.cjs +16 -0
  14. package/dist/next-loader.d.cts +33 -0
  15. package/dist/next-loader.d.ts +33 -0
  16. package/dist/next-loader.js +4 -0
  17. package/dist/next.cjs +1 -0
  18. package/dist/next.d.cts +39 -0
  19. package/dist/next.d.ts +39 -0
  20. package/dist/next.js +1 -0
  21. package/dist/options-DkqShf7w.d.cts +56 -0
  22. package/dist/options-DkqShf7w.d.ts +56 -0
  23. package/dist/rollup.cjs +16 -6
  24. package/dist/rollup.d.cts +3 -3
  25. package/dist/rollup.d.ts +3 -3
  26. package/dist/rollup.js +1 -1
  27. package/dist/rspack.cjs +16 -6
  28. package/dist/rspack.d.cts +1 -1
  29. package/dist/rspack.d.ts +1 -1
  30. package/dist/rspack.js +1 -1
  31. package/dist/source-map-from-context-B4SX_KAW.d.cts +19 -0
  32. package/dist/source-map-from-context-B4SX_KAW.d.ts +19 -0
  33. package/dist/vite.cjs +16 -6
  34. package/dist/vite.d.cts +1 -1
  35. package/dist/vite.d.ts +1 -1
  36. package/dist/vite.js +1 -1
  37. package/dist/webpack.cjs +16 -6
  38. package/dist/webpack.d.cts +1 -1
  39. package/dist/webpack.d.ts +1 -1
  40. package/dist/webpack.js +1 -1
  41. package/package.json +15 -4
  42. package/dist/chunk-KCX3ORPX.js +0 -93
  43. package/dist/options-kIzRyZSc.d.cts +0 -29
  44. package/dist/options-kIzRyZSc.d.ts +0 -29
@@ -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};
@@ -1,29 +0,0 @@
1
- import { ReusabilityBudget, ClassNameOptions, DarkMode } from '@cssxio/compiler';
2
-
3
- /** Options for a CSSX bundler adapter. */
4
- interface CssxPluginOptions {
5
- /** Module specifier that identifies source files using the CSSX runtime. */
6
- readonly importSource?: string;
7
- /** Relative output path for extracted CSS. The default is `cssx.css`. */
8
- readonly cssFileName?: string;
9
- /** Whether to generate a CSS source map. The default is `true`. */
10
- readonly sourceMap?: boolean;
11
- /** CSSX `@theme` source applied while transforming and compiling CSS. */
12
- readonly theme?: string;
13
- /** Path to a CSSX `@theme` file. Cannot be used with `theme`. */
14
- readonly themeFile?: string;
15
- /** Optional CSS layer that wraps the generated CSS. */
16
- readonly layer?: string;
17
- /** Controls how aggressively static styles share generated class fragments. */
18
- readonly reusabilityBudget?: ReusabilityBudget;
19
- /** Options that control generated class names. */
20
- readonly className?: ClassNameOptions;
21
- /** Uses source-addressed composite class names across independent compiler processes. */
22
- readonly stableClassNames?: boolean;
23
- /** Activates `dark` variants with a media query, `[data-theme=dark]`, or a `.dark` class. */
24
- readonly darkMode?: DarkMode;
25
- /** Adds Tailwind-compatible browser baseline rules before generated utilities. Defaults to `true`. */
26
- readonly preflight?: boolean;
27
- }
28
-
29
- export type { CssxPluginOptions as C };
@@ -1,29 +0,0 @@
1
- import { ReusabilityBudget, ClassNameOptions, DarkMode } from '@cssxio/compiler';
2
-
3
- /** Options for a CSSX bundler adapter. */
4
- interface CssxPluginOptions {
5
- /** Module specifier that identifies source files using the CSSX runtime. */
6
- readonly importSource?: string;
7
- /** Relative output path for extracted CSS. The default is `cssx.css`. */
8
- readonly cssFileName?: string;
9
- /** Whether to generate a CSS source map. The default is `true`. */
10
- readonly sourceMap?: boolean;
11
- /** CSSX `@theme` source applied while transforming and compiling CSS. */
12
- readonly theme?: string;
13
- /** Path to a CSSX `@theme` file. Cannot be used with `theme`. */
14
- readonly themeFile?: string;
15
- /** Optional CSS layer that wraps the generated CSS. */
16
- readonly layer?: string;
17
- /** Controls how aggressively static styles share generated class fragments. */
18
- readonly reusabilityBudget?: ReusabilityBudget;
19
- /** Options that control generated class names. */
20
- readonly className?: ClassNameOptions;
21
- /** Uses source-addressed composite class names across independent compiler processes. */
22
- readonly stableClassNames?: boolean;
23
- /** Activates `dark` variants with a media query, `[data-theme=dark]`, or a `.dark` class. */
24
- readonly darkMode?: DarkMode;
25
- /** Adds Tailwind-compatible browser baseline rules before generated utilities. Defaults to `true`. */
26
- readonly preflight?: boolean;
27
- }
28
-
29
- export type { CssxPluginOptions as C };