@cssxio/unplugin 0.4.5 → 0.5.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 +5 -4
- package/dist/{chunk-S64RLZTF.js → chunk-KCX3ORPX.js} +5 -5
- package/dist/esbuild.cjs +7 -7
- package/dist/esbuild.d.cts +1 -1
- package/dist/esbuild.d.ts +1 -1
- package/dist/esbuild.js +1 -1
- package/dist/index.cjs +7 -7
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/{options-BOiVAsHI.d.cts → options-kIzRyZSc.d.cts} +1 -1
- package/dist/{options-BOiVAsHI.d.ts → options-kIzRyZSc.d.ts} +1 -1
- package/dist/rollup.cjs +3 -3
- package/dist/rollup.d.cts +1 -1
- package/dist/rollup.d.ts +1 -1
- package/dist/rollup.js +1 -1
- package/dist/rspack.cjs +3 -3
- package/dist/rspack.d.cts +1 -1
- package/dist/rspack.d.ts +1 -1
- package/dist/rspack.js +1 -1
- package/dist/vite.cjs +3 -3
- package/dist/vite.d.cts +1 -1
- package/dist/vite.d.ts +1 -1
- package/dist/vite.js +1 -1
- package/dist/webpack.cjs +3 -3
- package/dist/webpack.d.cts +1 -1
- package/dist/webpack.d.ts +1 -1
- package/dist/webpack.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -79,13 +79,14 @@ const stylesheet = await compileCssxStylesheet([
|
|
|
79
79
|
| `theme` | — | Inline CSSX `@theme` source used while transforming and compiling CSS. The theme is compiled into generated rules; it does not add a global stylesheet. |
|
|
80
80
|
| `themeFile` | — | Path, relative to the current working directory, to a CSSX `@theme` file. It is reread when CSS is generated; Rollup-compatible adapters register it as a watched dependency. Do not use it with `theme`. |
|
|
81
81
|
| `darkMode` | `media` | Activates `dark:` utilities with the system color-scheme media query (`media`), `[data-theme=dark]` (`selector`), or a `.dark` ancestor (`class`). Use the selector that matches your theme controller. |
|
|
82
|
-
| `preflight` | `
|
|
82
|
+
| `preflight` | `true` | Adds Tailwind-compatible browser baseline rules before utilities. Set it to `false` only when the application deliberately owns a different global reset. |
|
|
83
83
|
|
|
84
84
|
The universal adapter validates options when it is created. `theme` and `themeFile` cannot be used together. Invalid CSS paths and layer names fail the build before CSS is emitted.
|
|
85
85
|
|
|
86
|
-
CSSX
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
CSSX emits the Tailwind-compatible browser baseline by default, so utility
|
|
87
|
+
migrations retain box sizing, inherited typography, link treatment, and native
|
|
88
|
+
form-control normalization. Set `preflight: false` only when an existing app
|
|
89
|
+
stylesheet deliberately owns different global element styles.
|
|
89
90
|
|
|
90
91
|
## Extracted CSS
|
|
91
92
|
|
|
@@ -1,9 +1,9 @@
|
|
|
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;-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=!
|
|
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
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
|
|
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-${
|
|
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(
|
|
6
|
-
${ot(s)}`:h,meta:{[A]:c},...
|
|
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
7
|
const key = "__cssxStylesheetHmr";
|
|
8
8
|
const state = globalThis[key] || (globalThis[key] = { revision: 0, staged: [], replacements: [] });
|
|
9
9
|
const stylesheetLink = [...document.querySelectorAll('link[rel="stylesheet"]')].find((link) =>
|
package/dist/esbuild.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
"use strict";var ge=Object.create;var L=Object.defineProperty;var ye=Object.getOwnPropertyDescriptor;var he=Object.getOwnPropertyNames;var Ce=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty;var be=(e,t)=>{for(var s in t)L(e,s,{get:t[s],enumerable:!0})},Q=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of he(t))!xe.call(e,n)&&n!==s&&L(e,n,{get:()=>t[n],enumerable:!(r=ye(t,n))||r.enumerable});return e};var Se=(e,t,s)=>(s=e!=null?ge(Ce(e)):{},Q(t||!e||!e.__esModule?L(s,"default",{value:e,enumerable:!0}):s,e)),we=e=>Q(L({},"__esModule",{value:!0}),e);var qe={};be(qe,{default:()=>
|
|
2
|
-
/*# sourceMappingURL=${(0,te.basename)(t)}.map */`:e.css}function
|
|
3
|
-
`);return{line:e.line+s.length-1,column:s.at(-1).length+e.column*+(s.length===1)}}function ve(e){let t=Array.from({length:Math.max(0,...e.map(o=>o.line))+1},()=>[]),s=0,r=0,n=0,a=0,m=0;for(let o of e)m*=+(o.line===a),a=o.line,t[o.line]?.push(`${B(o.column-m)}${B(o.source-s)}${B(o.originalLine-r)}${B(o.originalColumn-n)}`),m=o.column,s=o.source,r=o.originalLine,n=o.originalColumn;return t.map(o=>o.join(",")).join(";")}var Me="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function B(e){let t="",s=e<0?-e<<1|1:e<<1;do{let r=s&31;s>>>=5,s&&(r|=32),t+=Me[r]}while(s);return t}var se=require("fs/promises"),b=require("path");async function P(e){return e.themeFile===void 0?e.theme:(0,se.readFile)((0,b.resolve)(process.cwd(),e.themeFile),"utf8")}function T(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.');W(e.cssFileName??"cssx.css")}function X(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 R(e,t){return W(e).replaceAll("[hash]",X(t))}function U(e,t){return`${e&&e!=="/"?`/${e.replace(/^\/+|\/+$/g,"")}`:""}/${W(t).replaceAll(b.sep,"/")}`}function H(e,t,s){return t.outdir?(0,b.resolve)(e,t.outdir,s):t.outfile?(0,b.resolve)((0,b.dirname)((0,b.resolve)(e,t.outfile)),s):(0,b.resolve)(e,s)}function k(e){return e.split("?",1).join("")}function W(e){if(!e||(0,b.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let t=(0,b.normalize)(e);if(t===".."||t.startsWith(`..${b.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!t.endsWith(".css"))throw new Error("cssFileName must end in .css.");return t}function ne(e,t,s){let r=e.getNativeBuildContext?.();if(!r||r.framework!=="webpack"&&r.framework!=="rspack")return;let n=r.loaderContext?._module;if(!n)return;let a=n.buildInfo??(n.buildInfo={});a[s]=t}function z(e,t,s,r,n,a,m,o,g=!
|
|
4
|
-
const style = ${y.code};`,`${t}.ts`,{...s,classNameAllocator:n}),l=Ie(x.code);u=`${u.slice(0,y.start)}${l}${u.slice(y.end)}`,Object.assign(m,x.candidates),Object.assign(o,x.composites),g.push(...x.rules)}return{code:u,rules:g,candidates:m,composites:o,atomicClasses:[],origins:{},cssOnlySignature:u}}function Pe(e){let t=[],s=/\bsx\s*\(/g;for(let r of e.matchAll(s)){let n=r.index,a=e.indexOf("(",n),m=0,o="";for(let g=a;g<e.length;g+=1){let u=e[g];if(o){u==="\\"?g+=1:u===o&&(o="");continue}if(u==='"'||u==="'"||u==="`")o=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 Ie(e){let t="const style = ",s=e.indexOf(t)+t.length,r=e.indexOf(";",s);return e.slice(s,r)}function ae(e,t){if(!e||typeof e!="object")return;let s=e.getCombinedSourcemap;if(typeof s!="function")return;let r=s.call(e);if(!r||typeof r!="object")return;let n=r;if(!(n.version!==3||!Array.isArray(n.sources)||typeof n.mappings!="string"))return{version:n.version,sources:[...n.sources],names:[...n.names??[]],mappings:n.mappings,file:n.file??t.split("?",1).join(""),...n.sourceRoot?{sourceRoot:n.sourceRoot}:{},...n.sourcesContent?{sourcesContent:[...n.sourcesContent]}:{}}}function Fe(e){return{className:`cssx-${X(e)}`,css:e}}function je(e,t){return e&&t?`@layer ${t}{${e}}`:e}var
|
|
5
|
-
${Xe(s)}`:h,meta:{[
|
|
1
|
+
"use strict";var ge=Object.create;var L=Object.defineProperty;var ye=Object.getOwnPropertyDescriptor;var he=Object.getOwnPropertyNames;var Ce=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty;var be=(e,t)=>{for(var s in t)L(e,s,{get:t[s],enumerable:!0})},Q=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of he(t))!xe.call(e,n)&&n!==s&&L(e,n,{get:()=>t[n],enumerable:!(r=ye(t,n))||r.enumerable});return e};var Se=(e,t,s)=>(s=e!=null?ge(Ce(e)):{},Q(t||!e||!e.__esModule?L(s,"default",{value:e,enumerable:!0}):s,e)),we=e=>Q(L({},"__esModule",{value:!0}),e);var qe={};be(qe,{default:()=>fe});module.exports=we(qe);var Z=require("buffer"),w=require("fs/promises"),N=require("path"),me=require("@cssxio/compiler");var K=require("@cssxio/compiler"),de=require("unplugin"),ce=require("buffer"),j=require("fs/promises"),S=require("path");var D=require("@cssxio/compiler"),te=require("path");var Y='*,::before,::after,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}button,select{text-transform:none}button,input:where([type="button"],[type="reset"],[type="submit"]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit}textarea{resize:vertical}::placeholder{opacity:1}button,[role="button"]{cursor:pointer}:disabled{cursor:default}[hidden]:where(:not([hidden="until-found"])){display:none!important}';async function v(e,t,s,r=!0,n,a=!0){let m=Object.create(null),o=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 O=c.origins?.[d];y.set(d,{id:c.id,line:O?.line??0,column:O?.column??0})}for(let[d,h]of Object.entries(c.composites??{})){let O=o[d];if(O&&O.join(" ")!==h.join(" "))throw new Error(`CSSX composite class collision for "${d}".`);o[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?Y:"";if(x.length===0)return{css:l&&s?`@layer ${s}{${l}}`:l};let i=await(0,D.compileUtilities)(x,c=>m[c],t,(0,D.createSelectorAliases)(o),u?g:void 0,{darkMode:n}),f=s?`@layer ${s}{`:"",C=`${f}${l}${i.css}${f?"}":""}`,p=r?ke(`${f}${l}${i.prefixCss}`,i.entries,y):void 0;return{css:C,...p?{map:p}:{}}}function A(e,t){return e.map?`${e.css}
|
|
2
|
+
/*# sourceMappingURL=${(0,te.basename)(t)}.map */`:e.css}function E(e,t){return JSON.stringify({...e,file:t})}function ke(e,t,s){let r=[...new Set(t.map(o=>s.get(o.candidate)?.id).filter(o=>!!o))].sort();if(r.length===0)return;let n=new Map(r.map((o,g)=>[o,g])),a=[],m=ee({line:0,column:0},e);for(let o of t){let g=s.get(o.candidate);g&&a.push({...m,source:n.get(g.id),originalLine:g.line,originalColumn:g.column}),m=ee(m,o.css)}return{version:3,sources:r,names:[],mappings:ve(a)}}function ee(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 ve(e){let t=Array.from({length:Math.max(0,...e.map(o=>o.line))+1},()=>[]),s=0,r=0,n=0,a=0,m=0;for(let o of e)m*=+(o.line===a),a=o.line,t[o.line]?.push(`${B(o.column-m)}${B(o.source-s)}${B(o.originalLine-r)}${B(o.originalColumn-n)}`),m=o.column,s=o.source,r=o.originalLine,n=o.originalColumn;return t.map(o=>o.join(",")).join(";")}var Me="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function B(e){let t="",s=e<0?-e<<1|1:e<<1;do{let r=s&31;s>>>=5,s&&(r|=32),t+=Me[r]}while(s);return t}var se=require("fs/promises"),b=require("path");async function P(e){return e.themeFile===void 0?e.theme:(0,se.readFile)((0,b.resolve)(process.cwd(),e.themeFile),"utf8")}function T(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.');W(e.cssFileName??"cssx.css")}function X(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 R(e,t){return W(e).replaceAll("[hash]",X(t))}function U(e,t){return`${e&&e!=="/"?`/${e.replace(/^\/+|\/+$/g,"")}`:""}/${W(t).replaceAll(b.sep,"/")}`}function H(e,t,s){return t.outdir?(0,b.resolve)(e,t.outdir,s):t.outfile?(0,b.resolve)((0,b.dirname)((0,b.resolve)(e,t.outfile)),s):(0,b.resolve)(e,s)}function k(e){return e.split("?",1).join("")}function W(e){if(!e||(0,b.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let t=(0,b.normalize)(e);if(t===".."||t.startsWith(`..${b.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!t.endsWith(".css"))throw new Error("cssFileName must end in .css.");return t}function ne(e,t,s){let r=e.getNativeBuildContext?.();if(!r||r.framework!=="webpack"&&r.framework!=="rspack")return;let n=r.loaderContext?._module;if(!n)return;let a=n.buildInfo??(n.buildInfo={});a[s]=t}function z(e,t,s,r,n,a,m,o,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():Ne([...x.modules].map(C=>Oe(C,a)).filter(C=>C!==void 0),m?.values()??[]),i=await v(l,await s(),r,n,o,g);if(!i.css)return;let f=R(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(A(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(E(i.map,f)))}})})}function Ne(e,t){let s=new Map,r=[];for(let n of t)n.id?s.set(n.id,n):r.push(n);for(let n of e)n.id?s.set(n.id,n):r.push(n);return[...s.values(),...r]}function Oe(e,t){let s=e.buildInfo?.[t];if(!s||typeof s!="object")return;let{id:r,candidates:n,composites:a,atomicClasses:m,origins:o}=s;return{id:typeof r=="string"?r:"",candidates:n&&typeof n=="object"?n:{},composites:a&&typeof a=="object"?a:{},...Array.isArray(m)?{atomicClasses:m}:{},origins:o&&typeof o=="object"?o:{}}}var _=require("fs/promises"),F=require("path"),ie=require("@cssxio/compiler");var re=require("@babel/core"),oe=Se(require("@cssxio/babel-plugin"),1),I=require("@cssxio/compiler");var Re=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]);async function M(e,t,s={},r){T(s);let n=s.importSource??"@cssxio/cssx",a=t.split("?",1).join("");if(!Re.has(a.slice(a.lastIndexOf(".")))||!e.includes(n))return null;if(a.endsWith(".astro"))return Ae(e,t,s);let m=await P(s),o=await(0,re.transformAsync)(e,{babelrc:!1,configFile:!1,filename:a,parserOpts:{plugins:["jsx","typescript"]},plugins:[[oe.default,{importSource:n,classNameAllocator:s.classNameAllocator,theme:m,reusabilityBudget:s.reusabilityBudget,stableClassNames:s.stableClassNames,stableClassNameFileName:s.stableClassNameFileName,darkMode:s.darkMode}]],sourceMaps:!0,...r?{inputSourceMap:r}:{}}),g=o.metadata,{candidates:u,origins:y,composites:x,atomicClasses:l,cssOnlySignature:i}=g.cssx,f=Object.keys(u),C=f.length===0?"":(await(0,I.compileUtilities)(f,p=>u[p],m,(0,I.createSelectorAliases)(x),new Set(l),{darkMode:s.darkMode})).css;return{code:o.code,rules:C?[Fe(je(C,s.layer))]:[],candidates:u,composites:x,atomicClasses:l,origins:y,cssOnlySignature:i,map:o.map}}async function Ae(e,t,s){let r=Pe(e);if(r.length===0)return null;let n=s.classNameAllocator??(0,I.createClassNameAllocator)(),a=s.importSource??"@cssxio/cssx",m={},o={},g=[],u=e;for(let y of[...r].reverse()){let x=await M(`import { sx } from ${JSON.stringify(a)};
|
|
4
|
+
const style = ${y.code};`,`${t}.ts`,{...s,classNameAllocator:n}),l=Ie(x.code);u=`${u.slice(0,y.start)}${l}${u.slice(y.end)}`,Object.assign(m,x.candidates),Object.assign(o,x.composites),g.push(...x.rules)}return{code:u,rules:g,candidates:m,composites:o,atomicClasses:[],origins:{},cssOnlySignature:u}}function Pe(e){let t=[],s=/\bsx\s*\(/g;for(let r of e.matchAll(s)){let n=r.index,a=e.indexOf("(",n),m=0,o="";for(let g=a;g<e.length;g+=1){let u=e[g];if(o){u==="\\"?g+=1:u===o&&(o="");continue}if(u==='"'||u==="'"||u==="`")o=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 Ie(e){let t="const style = ",s=e.indexOf(t)+t.length,r=e.indexOf(";",s);return e.slice(s,r)}function ae(e,t){if(!e||typeof e!="object")return;let s=e.getCombinedSourcemap;if(typeof s!="function")return;let r=s.call(e);if(!r||typeof r!="object")return;let n=r;if(!(n.version!==3||!Array.isArray(n.sources)||typeof n.mappings!="string"))return{version:n.version,sources:[...n.sources],names:[...n.names??[]],mappings:n.mappings,file:n.file??t.split("?",1).join(""),...n.sourceRoot?{sourceRoot:n.sourceRoot}:{},...n.sourcesContent?{sourcesContent:[...n.sourcesContent]}:{}}}function Fe(e){return{className:`cssx-${X(e)}`,css:e}}function je(e,t){return e&&t?`@layer ${t}{${e}}`:e}var Ee=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]),$e=new Set([".git",".next",".turbo","node_modules"]);async function G(e,t){let s=await Le(e),r=(0,ie.createClassNameAllocator)(t.className),n=[];for(let a of s){let m=await(0,_.readFile)(a,"utf8"),o=await M(m,a,{...t,classNameAllocator:r,stableClassNames:!0,stableClassNameFileName:(0,F.relative)(e,a).replaceAll(F.sep,"/")});o&&n.push({id:a,candidates:o.candidates,composites:o.composites,atomicClasses:o.atomicClasses,origins:o.origins})}return n}async function Le(e){let t=[],s=[e];for(;s.length>0;){let r=s.pop();for(let n of await(0,_.readdir)(r,{withFileTypes:!0})){let a=(0,F.join)(r,n.name);if(n.isDirectory()){$e.has(n.name)||s.push(a);continue}n.isFile()&&Ee.has(a.slice(a.lastIndexOf(".")))&&t.push(a)}}return t.sort()}function q(e,t,s=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:t,acceptedPath:t,timestamp:s}]})}var $="@cssxio/unplugin/rules",Be=/\.(?:[cm]?[jt]sx?|astro)(?:\?.*)?$/,le=new Map;function De(e,t){return`${e}\0${JSON.stringify(t)}`}function J(e,t){let s=De(e,t),r=le.get(s);return r||(r={classNameAllocator:(0,K.createClassNameAllocator)(),transformedDataById:new Map},le.set(s,r)),r}function Te(e){let t=e.getNativeBuildContext?.();return t&&(t.framework==="webpack"||t.framework==="rspack")?t.loaderContext?.rootContext??process.cwd():void 0}function Ue(e,t,s){let r=new Set;for(let n of t)e.moduleGraph?.invalidateModule(n,r,s,!0);for(let n of r){if(!n.id)continue;let a=e.runner?.evaluatedModules?.getModuleById(n.id);a&&e.runner?.evaluatedModules?.invalidateModule(a)}}function He(e){return!e||typeof e!="object"?{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""}:_e(e[$])}function _e(e){if(!e||typeof e!="object")return{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""};let{id:t,rules:s,candidates:r,composites:n,atomicClasses:a,origins:m,cssOnlySignature:o}=e;return{id:typeof t=="string"?t:"",rules:Array.isArray(s)?s:[],candidates:r&&typeof r=="object"?r:{},composites:n&&typeof n=="object"?n:{},...Array.isArray(a)?{atomicClasses:a}:{},origins:m&&typeof m=="object"?m:{},cssOnlySignature:typeof o=="string"?o:""}}var Ve=(e={},t)=>{T(e);let s=e.cssFileName??"cssx.css",r=e.sourceMap??!0,n=new Map,a=(0,K.createClassNameAllocator)(),m=new Map,o,g=process.cwd(),u,y=()=>P(e),x=async function(l,i){let f=new Set(Object.values(i).flatMap(d=>d.type==="chunk"?Object.keys(d.modules??{}):[]).map(k));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=He(this.getModuleInfo(d)?.meta);return Object.keys(h.candidates).length>0?h:n.get(d)??h}),p=await v(C,await y(),e.layer,r,e.darkMode,e.preflight);if(!p.css)return;let c=R(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:A(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:E(p.map,c)})}};return{name:"@cssxio/unplugin",enforce:"pre",transform:{filter:{id:Be},async handler(l,i){e.themeFile&&this.addWatchFile?.((0,S.resolve)(process.cwd(),e.themeFile));let f=Te(this),C=f?J(f,e):void 0,p=await M(l,i,{...e,classNameAllocator:C?.classNameAllocator??a,...e.stableClassNames?{stableClassNameFileName:(0,S.relative)(f??process.cwd(),k(i)).replaceAll(S.sep,"/")}:{}},ae(this,i)),c={id:k(i),rules:p?.rules??[],candidates:p?.candidates??{},composites:p?.composites??{},atomicClasses:p?.atomicClasses??[],origins:p?.origins??{},cssOnlySignature:p?.cssOnlySignature??""};ne(this,c,$);let d=k(i);(p||d===i)&&(n.set(d,c),m.set((0,S.resolve)(g,d),c),C?.transformedDataById.set(d,c)),t.framework==="vite"&&u&&q(u,U("/",s));let h=p?.code??l;return{code:(t.framework==="webpack"||t.framework==="rspack")&&p?`${h}
|
|
5
|
+
${Xe(s)}`:h,meta:{[$]:c},...p?.map?{map:p.map}:{}}}},watchChange(l,i){i.event==="delete"&&n.delete(k(l))},rollup:{generateBundle:x},vite:{generateBundle:x,configureServer(l){u=l;let i=U(l.config.base,s),f=U("/",s);l.watcher?.on("unlink",C=>{n.delete(k(C)),q(l,f)}),l.middlewares.use((C,p,c)=>{let d=C.url?.split("?",1)[0];if(d!==i&&(d!==`${i}.map`||!r))return c();y().then(h=>v([...n.values()],h,e.layer,r,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?E(h.map,s):"");return}p.setHeader("Content-Type","text/css; charset=utf-8"),p.setHeader("Cache-Control","no-store"),p.end(A(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(k(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(k(c.id)).cssOnlySignature]));for(let c of f)c.url&&await i.transformRequest(c.url);if(f.every(c=>{let d=n.get(k(c.id));return!!(d&&d.atomicClasses.length===0&&d.cssOnlySignature===C.get(c))}))return Ue(i,f,l.timestamp),l.modules.filter(c=>!f.includes(c))}}},...t.framework==="webpack"?{webpack(l){let i=J(l.context,e);z(l,s,y,e.layer,r,$,i.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>G(l.context,e):void 0)}}:{},...t.framework==="rspack"?{rspack(l){let i=J(l.context,e);z(l,s,y,e.layer,r,$,i.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>G(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=>(0,S.resolve)(i,h)));for(let h of m.keys())C.has(h)||m.delete(h);let p=await v([...m.values()],await y(),e.layer,r,e.darkMode,e.preflight),c=H(i,l.initialOptions,R(s,p.css));if(!p.css){o&&await(0,j.unlink)(o).catch(()=>{}),o=void 0;return}let d=A(p,(0,S.basename)(c));if(l.initialOptions.write===!1){let h=f.outputFiles;if(!h)return;let O={path:c,contents:ce.Buffer.from(d),hash:"",text:d};if(h.findIndex(pe=>pe.path===c)!==-1)throw new Error(`CSSX CSS asset collision at "${c}".`);h.push(O);return}await(0,j.mkdir)((0,S.dirname)(c),{recursive:!0}),await(0,j.writeFile)(c,d),o=c})}}}:{}}},V=(0,de.createUnplugin)(Ve);function Xe(e){return`if (typeof document !== "undefined" && typeof module !== "undefined" && module.hot) {
|
|
6
6
|
const key = "__cssxStylesheetHmr";
|
|
7
7
|
const state = globalThis[key] || (globalThis[key] = { revision: 0, staged: [], replacements: [] });
|
|
8
8
|
const stylesheetLink = [...document.querySelectorAll('link[rel="stylesheet"]')].find((link) =>
|
|
@@ -89,5 +89,5 @@ ${Xe(s)}`:h,meta:{[E]:c},...f?.map?{map:f.map}:{}}}},watchChange(l,i){i.event===
|
|
|
89
89
|
state.poll = setInterval(() => void refresh(), 500);
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
|
-
}`}var gt=V.vite,yt=V.rollup,ht=V.webpack,Ct=V.rspack;var We=/\.[cm]?[jt]sx?$/;function
|
|
93
|
-
/*# sourceMappingURL=${(0,N.basename)(y)}.map */`:u.css,l=`${y}.map`,i=u.map?JSON.stringify({...u.map,file:(0,N.basename)(y)}):void 0;if(a.initialOptions.write===!1){if(!o.outputFiles)return;if(o.outputFiles.some(
|
|
92
|
+
}`}var gt=V.vite,yt=V.rollup,ht=V.webpack,Ct=V.rspack;var We=/\.[cm]?[jt]sx?$/;function fe(e={}){let t=new Map,s=(0,me.createClassNameAllocator)(),r,n;return{name:"@cssxio/unplugin",setup(a){let m=a.initialOptions.absWorkingDir??process.cwd();a.initialOptions.metafile=!0,a.onLoad({filter:We},async({path:o})=>{let g=await(0,w.readFile)(o,"utf8"),u=await M(g,o,{...e,classNameAllocator:s});if(!u)return;let y=await ue(o);return t.set(y,{id:y,candidates:u.candidates,composites:u.composites,atomicClasses:u.atomicClasses,origins:u.origins}),{contents:u.code,loader:Ge(o)}}),a.onEnd(async o=>{if(!o.metafile)return;let g=new Set(await Promise.all(Object.keys(o.metafile.inputs).map(f=>ue((0,N.resolve)(m,f)))));for(let f of t.keys())g.has(f)||t.delete(f);let u=await ze([...t],e),y=H(m,a.initialOptions,R(e.cssFileName??"cssx.css",u.css));if(!u.css){r&&await(0,w.unlink)(r).catch(()=>{}),n&&await(0,w.unlink)(n).catch(()=>{}),r=void 0,n=void 0;return}let x=u.map?`${u.css}
|
|
93
|
+
/*# sourceMappingURL=${(0,N.basename)(y)}.map */`:u.css,l=`${y}.map`,i=u.map?JSON.stringify({...u.map,file:(0,N.basename)(y)}):void 0;if(a.initialOptions.write===!1){if(!o.outputFiles)return;if(o.outputFiles.some(f=>f.path===y))throw new Error(`CSSX CSS asset collision at "${y}".`);o.outputFiles.push({path:y,contents:Z.Buffer.from(x),hash:"",text:x}),i&&o.outputFiles.push({path:l,contents:Z.Buffer.from(i),hash:"",text:i});return}await(0,w.mkdir)((0,N.dirname)(y),{recursive:!0}),await(0,w.writeFile)(y,x),i&&await(0,w.writeFile)(l,i),r=y,n=i?l:void 0})}}}async function ze(e,t){let s=await P(t);return v(e.map(([,r])=>r),s,t.layer,t.sourceMap??!0,t.darkMode,t.preflight)}function Ge(e){return/\.tsx?$/.test(e)?"ts":"js"}async function ue(e){return(0,w.realpath)(e).catch(()=>(0,N.resolve)(e))}
|
package/dist/esbuild.d.cts
CHANGED
package/dist/esbuild.d.ts
CHANGED
package/dist/esbuild.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as a}from"./chunk-
|
|
1
|
+
import{j as a}from"./chunk-KCX3ORPX.js";export{a as default};
|
package/dist/index.cjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
"use strict";var ye=Object.create;var B=Object.defineProperty;var he=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var xe=Object.getPrototypeOf,be=Object.prototype.hasOwnProperty;var Se=(e,t)=>{for(var s in t)B(e,s,{get:t[s],enumerable:!0})},Y=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ce(t))!be.call(e,n)&&n!==s&&B(e,n,{get:()=>t[n],enumerable:!(r=he(t,n))||r.enumerable});return e};var we=(e,t,s)=>(s=e!=null?ye(xe(e)):{},Y(t||!e||!e.__esModule?B(s,"default",{value:e,enumerable:!0}):s,e)),ke=e=>Y(B({},"__esModule",{value:!0}),e);var Ye={};Se(Ye,{compileCssxStylesheet:()=>k,default:()=>Qe,esbuild:()=>K,rollup:()=>Je,rspack:()=>Ze,transformCssxModule:()=>M,unplugin:()
|
|
2
|
-
/*# sourceMappingURL=${(0,se.basename)(t)}.map */`:e.css}function
|
|
3
|
-
`);return{line:e.line+s.length-1,column:s.at(-1).length+e.column*+(s.length===1)}}function Me(e){let t=Array.from({length:Math.max(0,...e.map(o=>o.line))+1},()=>[]),s=0,r=0,n=0,a=0,m=0;for(let o of e)m*=+(o.line===a),a=o.line,t[o.line]?.push(`${D(o.column-m)}${D(o.source-s)}${D(o.originalLine-r)}${D(o.originalColumn-n)}`),m=o.column,s=o.source,r=o.originalLine,n=o.originalColumn;return t.map(o=>o.join(",")).join(";")}var Ne="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function D(e){let t="",s=e<0?-e<<1|1:e<<1;do{let r=s&31;s>>>=5,s&&(r|=32),t+=Ne[r]}while(s);return t}var ne=require("fs/promises"),b=require("path");async function P(e){return e.themeFile===void 0?e.theme:(0,ne.readFile)((0,b.resolve)(process.cwd(),e.themeFile),"utf8")}function U(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.');W(e.cssFileName??"cssx.css")}function X(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 R(e,t){return W(e).replaceAll("[hash]",X(t))}function H(e,t){return`${e&&e!=="/"?`/${e.replace(/^\/+|\/+$/g,"")}`:""}/${W(t).replaceAll(b.sep,"/")}`}function _(e,t,s){return t.outdir?(0,b.resolve)(e,t.outdir,s):t.outfile?(0,b.resolve)((0,b.dirname)((0,b.resolve)(e,t.outfile)),s):(0,b.resolve)(e,s)}function v(e){return e.split("?",1).join("")}function W(e){if(!e||(0,b.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let t=(0,b.normalize)(e);if(t===".."||t.startsWith(`..${b.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!t.endsWith(".css"))throw new Error("cssFileName must end in .css.");return t}function re(e,t,s){let r=e.getNativeBuildContext?.();if(!r||r.framework!=="webpack"&&r.framework!=="rspack")return;let n=r.loaderContext?._module;if(!n)return;let a=n.buildInfo??(n.buildInfo={});a[s]=t}function z(e,t,s,r,n,a,m,o,g=!
|
|
4
|
-
const style = ${y.code};`,`${t}.ts`,{...s,classNameAllocator:n}),l=Fe(x.code);u=`${u.slice(0,y.start)}${l}${u.slice(y.end)}`,Object.assign(m,x.candidates),Object.assign(o,x.composites),g.push(...x.rules)}return{code:u,rules:g,candidates:m,composites:o,atomicClasses:[],origins:{},cssOnlySignature:u}}function Ie(e){let t=[],s=/\bsx\s*\(/g;for(let r of e.matchAll(s)){let n=r.index,a=e.indexOf("(",n),m=0,o="";for(let g=a;g<e.length;g+=1){let u=e[g];if(o){u==="\\"?g+=1:u===o&&(o="");continue}if(u==='"'||u==="'"||u==="`")o=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 Fe(e){let t="const style = ",s=e.indexOf(t)+t.length,r=e.indexOf(";",s);return e.slice(s,r)}function ie(e,t){if(!e||typeof e!="object")return;let s=e.getCombinedSourcemap;if(typeof s!="function")return;let r=s.call(e);if(!r||typeof r!="object")return;let n=r;if(!(n.version!==3||!Array.isArray(n.sources)||typeof n.mappings!="string"))return{version:n.version,sources:[...n.sources],names:[...n.names??[]],mappings:n.mappings,file:n.file??t.split("?",1).join(""),...n.sourceRoot?{sourceRoot:n.sourceRoot}:{},...n.sourcesContent?{sourcesContent:[...n.sourcesContent]}:{}}}function je(e){return{className:`cssx-${X(e)}`,css:e}}function
|
|
5
|
-
/*# sourceMappingURL=${(0,N.basename)(y)}.map */`:u.css,l=`${y}.map`,i=u.map?JSON.stringify({...u.map,file:(0,N.basename)(y)}):void 0;if(a.initialOptions.write===!1){if(!o.outputFiles)return;if(o.outputFiles.some(
|
|
6
|
-
${Ge(s)}`:h,meta:{[L]:c},...
|
|
1
|
+
"use strict";var ye=Object.create;var B=Object.defineProperty;var he=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var xe=Object.getPrototypeOf,be=Object.prototype.hasOwnProperty;var Se=(e,t)=>{for(var s in t)B(e,s,{get:t[s],enumerable:!0})},Y=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ce(t))!be.call(e,n)&&n!==s&&B(e,n,{get:()=>t[n],enumerable:!(r=he(t,n))||r.enumerable});return e};var we=(e,t,s)=>(s=e!=null?ye(xe(e)):{},Y(t||!e||!e.__esModule?B(s,"default",{value:e,enumerable:!0}):s,e)),ke=e=>Y(B({},"__esModule",{value:!0}),e);var Ye={};Se(Ye,{compileCssxStylesheet:()=>k,default:()=>Qe,esbuild:()=>K,rollup:()=>Je,rspack:()=>Ze,transformCssxModule:()=>M,unplugin:()=>E,unpluginFactory:()=>pe,vite:()=>qe,webpack:()=>Ke});module.exports=ke(Ye);var Q=require("@cssxio/compiler"),me=require("unplugin"),fe=require("buffer"),j=require("fs/promises"),w=require("path");var T=require("@cssxio/compiler"),se=require("path");var ee='*,::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 k(e,t,s,r=!0,n,a=!0){let m=Object.create(null),o=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 O=c.origins?.[d];y.set(d,{id:c.id,line:O?.line??0,column:O?.column??0})}for(let[d,h]of Object.entries(c.composites??{})){let O=o[d];if(O&&O.join(" ")!==h.join(" "))throw new Error(`CSSX composite class collision for "${d}".`);o[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?ee:"";if(x.length===0)return{css:l&&s?`@layer ${s}{${l}}`:l};let i=await(0,T.compileUtilities)(x,c=>m[c],t,(0,T.createSelectorAliases)(o),u?g:void 0,{darkMode:n}),f=s?`@layer ${s}{`:"",C=`${f}${l}${i.css}${f?"}":""}`,p=r?ve(`${f}${l}${i.prefixCss}`,i.entries,y):void 0;return{css:C,...p?{map:p}:{}}}function A(e,t){return e.map?`${e.css}
|
|
2
|
+
/*# sourceMappingURL=${(0,se.basename)(t)}.map */`:e.css}function $(e,t){return JSON.stringify({...e,file:t})}function ve(e,t,s){let r=[...new Set(t.map(o=>s.get(o.candidate)?.id).filter(o=>!!o))].sort();if(r.length===0)return;let n=new Map(r.map((o,g)=>[o,g])),a=[],m=te({line:0,column:0},e);for(let o of t){let g=s.get(o.candidate);g&&a.push({...m,source:n.get(g.id),originalLine:g.line,originalColumn:g.column}),m=te(m,o.css)}return{version:3,sources:r,names:[],mappings:Me(a)}}function te(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 Me(e){let t=Array.from({length:Math.max(0,...e.map(o=>o.line))+1},()=>[]),s=0,r=0,n=0,a=0,m=0;for(let o of e)m*=+(o.line===a),a=o.line,t[o.line]?.push(`${D(o.column-m)}${D(o.source-s)}${D(o.originalLine-r)}${D(o.originalColumn-n)}`),m=o.column,s=o.source,r=o.originalLine,n=o.originalColumn;return t.map(o=>o.join(",")).join(";")}var Ne="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function D(e){let t="",s=e<0?-e<<1|1:e<<1;do{let r=s&31;s>>>=5,s&&(r|=32),t+=Ne[r]}while(s);return t}var ne=require("fs/promises"),b=require("path");async function P(e){return e.themeFile===void 0?e.theme:(0,ne.readFile)((0,b.resolve)(process.cwd(),e.themeFile),"utf8")}function U(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.');W(e.cssFileName??"cssx.css")}function X(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 R(e,t){return W(e).replaceAll("[hash]",X(t))}function H(e,t){return`${e&&e!=="/"?`/${e.replace(/^\/+|\/+$/g,"")}`:""}/${W(t).replaceAll(b.sep,"/")}`}function _(e,t,s){return t.outdir?(0,b.resolve)(e,t.outdir,s):t.outfile?(0,b.resolve)((0,b.dirname)((0,b.resolve)(e,t.outfile)),s):(0,b.resolve)(e,s)}function v(e){return e.split("?",1).join("")}function W(e){if(!e||(0,b.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let t=(0,b.normalize)(e);if(t===".."||t.startsWith(`..${b.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!t.endsWith(".css"))throw new Error("cssFileName must end in .css.");return t}function re(e,t,s){let r=e.getNativeBuildContext?.();if(!r||r.framework!=="webpack"&&r.framework!=="rspack")return;let n=r.loaderContext?._module;if(!n)return;let a=n.buildInfo??(n.buildInfo={});a[s]=t}function z(e,t,s,r,n,a,m,o,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():Oe([...x.modules].map(C=>Re(C,a)).filter(C=>C!==void 0),m?.values()??[]),i=await k(l,await s(),r,n,o,g);if(!i.css)return;let f=R(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(A(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($(i.map,f)))}})})}function Oe(e,t){let s=new Map,r=[];for(let n of t)n.id?s.set(n.id,n):r.push(n);for(let n of e)n.id?s.set(n.id,n):r.push(n);return[...s.values(),...r]}function Re(e,t){let s=e.buildInfo?.[t];if(!s||typeof s!="object")return;let{id:r,candidates:n,composites:a,atomicClasses:m,origins:o}=s;return{id:typeof r=="string"?r:"",candidates:n&&typeof n=="object"?n:{},composites:a&&typeof a=="object"?a:{},...Array.isArray(m)?{atomicClasses:m}:{},origins:o&&typeof o=="object"?o:{}}}var V=require("fs/promises"),F=require("path"),le=require("@cssxio/compiler");var oe=require("@babel/core"),ae=we(require("@cssxio/babel-plugin"),1),I=require("@cssxio/compiler");var Ae=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]);async function M(e,t,s={},r){U(s);let n=s.importSource??"@cssxio/cssx",a=t.split("?",1).join("");if(!Ae.has(a.slice(a.lastIndexOf(".")))||!e.includes(n))return null;if(a.endsWith(".astro"))return Pe(e,t,s);let m=await P(s),o=await(0,oe.transformAsync)(e,{babelrc:!1,configFile:!1,filename:a,parserOpts:{plugins:["jsx","typescript"]},plugins:[[ae.default,{importSource:n,classNameAllocator:s.classNameAllocator,theme:m,reusabilityBudget:s.reusabilityBudget,stableClassNames:s.stableClassNames,stableClassNameFileName:s.stableClassNameFileName,darkMode:s.darkMode}]],sourceMaps:!0,...r?{inputSourceMap:r}:{}}),g=o.metadata,{candidates:u,origins:y,composites:x,atomicClasses:l,cssOnlySignature:i}=g.cssx,f=Object.keys(u),C=f.length===0?"":(await(0,I.compileUtilities)(f,p=>u[p],m,(0,I.createSelectorAliases)(x),new Set(l),{darkMode:s.darkMode})).css;return{code:o.code,rules:C?[je(Ee(C,s.layer))]:[],candidates:u,composites:x,atomicClasses:l,origins:y,cssOnlySignature:i,map:o.map}}async function Pe(e,t,s){let r=Ie(e);if(r.length===0)return null;let n=s.classNameAllocator??(0,I.createClassNameAllocator)(),a=s.importSource??"@cssxio/cssx",m={},o={},g=[],u=e;for(let y of[...r].reverse()){let x=await M(`import { sx } from ${JSON.stringify(a)};
|
|
4
|
+
const style = ${y.code};`,`${t}.ts`,{...s,classNameAllocator:n}),l=Fe(x.code);u=`${u.slice(0,y.start)}${l}${u.slice(y.end)}`,Object.assign(m,x.candidates),Object.assign(o,x.composites),g.push(...x.rules)}return{code:u,rules:g,candidates:m,composites:o,atomicClasses:[],origins:{},cssOnlySignature:u}}function Ie(e){let t=[],s=/\bsx\s*\(/g;for(let r of e.matchAll(s)){let n=r.index,a=e.indexOf("(",n),m=0,o="";for(let g=a;g<e.length;g+=1){let u=e[g];if(o){u==="\\"?g+=1:u===o&&(o="");continue}if(u==='"'||u==="'"||u==="`")o=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 Fe(e){let t="const style = ",s=e.indexOf(t)+t.length,r=e.indexOf(";",s);return e.slice(s,r)}function ie(e,t){if(!e||typeof e!="object")return;let s=e.getCombinedSourcemap;if(typeof s!="function")return;let r=s.call(e);if(!r||typeof r!="object")return;let n=r;if(!(n.version!==3||!Array.isArray(n.sources)||typeof n.mappings!="string"))return{version:n.version,sources:[...n.sources],names:[...n.names??[]],mappings:n.mappings,file:n.file??t.split("?",1).join(""),...n.sourceRoot?{sourceRoot:n.sourceRoot}:{},...n.sourcesContent?{sourcesContent:[...n.sourcesContent]}:{}}}function je(e){return{className:`cssx-${X(e)}`,css:e}}function Ee(e,t){return e&&t?`@layer ${t}{${e}}`:e}var $e=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]),Le=new Set([".git",".next",".turbo","node_modules"]);async function G(e,t){let s=await Be(e),r=(0,le.createClassNameAllocator)(t.className),n=[];for(let a of s){let m=await(0,V.readFile)(a,"utf8"),o=await M(m,a,{...t,classNameAllocator:r,stableClassNames:!0,stableClassNameFileName:(0,F.relative)(e,a).replaceAll(F.sep,"/")});o&&n.push({id:a,candidates:o.candidates,composites:o.composites,atomicClasses:o.atomicClasses,origins:o.origins})}return n}async function Be(e){let t=[],s=[e];for(;s.length>0;){let r=s.pop();for(let n of await(0,V.readdir)(r,{withFileTypes:!0})){let a=(0,F.join)(r,n.name);if(n.isDirectory()){Le.has(n.name)||s.push(a);continue}n.isFile()&&$e.has(a.slice(a.lastIndexOf(".")))&&t.push(a)}}return t.sort()}function q(e,t,s=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:t,acceptedPath:t,timestamp:s}]})}var J=require("buffer"),S=require("fs/promises"),N=require("path"),ce=require("@cssxio/compiler");var De=/\.[cm]?[jt]sx?$/;function K(e={}){let t=new Map,s=(0,ce.createClassNameAllocator)(),r,n;return{name:"@cssxio/unplugin",setup(a){let m=a.initialOptions.absWorkingDir??process.cwd();a.initialOptions.metafile=!0,a.onLoad({filter:De},async({path:o})=>{let g=await(0,S.readFile)(o,"utf8"),u=await M(g,o,{...e,classNameAllocator:s});if(!u)return;let y=await de(o);return t.set(y,{id:y,candidates:u.candidates,composites:u.composites,atomicClasses:u.atomicClasses,origins:u.origins}),{contents:u.code,loader:Ue(o)}}),a.onEnd(async o=>{if(!o.metafile)return;let g=new Set(await Promise.all(Object.keys(o.metafile.inputs).map(f=>de((0,N.resolve)(m,f)))));for(let f of t.keys())g.has(f)||t.delete(f);let u=await Te([...t],e),y=_(m,a.initialOptions,R(e.cssFileName??"cssx.css",u.css));if(!u.css){r&&await(0,S.unlink)(r).catch(()=>{}),n&&await(0,S.unlink)(n).catch(()=>{}),r=void 0,n=void 0;return}let x=u.map?`${u.css}
|
|
5
|
+
/*# sourceMappingURL=${(0,N.basename)(y)}.map */`:u.css,l=`${y}.map`,i=u.map?JSON.stringify({...u.map,file:(0,N.basename)(y)}):void 0;if(a.initialOptions.write===!1){if(!o.outputFiles)return;if(o.outputFiles.some(f=>f.path===y))throw new Error(`CSSX CSS asset collision at "${y}".`);o.outputFiles.push({path:y,contents:J.Buffer.from(x),hash:"",text:x}),i&&o.outputFiles.push({path:l,contents:J.Buffer.from(i),hash:"",text:i});return}await(0,S.mkdir)((0,N.dirname)(y),{recursive:!0}),await(0,S.writeFile)(y,x),i&&await(0,S.writeFile)(l,i),r=y,n=i?l:void 0})}}}async function Te(e,t){let s=await P(t);return k(e.map(([,r])=>r),s,t.layer,t.sourceMap??!0,t.darkMode,t.preflight)}function Ue(e){return/\.tsx?$/.test(e)?"ts":"js"}async function de(e){return(0,S.realpath)(e).catch(()=>(0,N.resolve)(e))}var L="@cssxio/unplugin/rules",He=/\.(?:[cm]?[jt]sx?|astro)(?:\?.*)?$/,ue=new Map;function _e(e,t){return`${e}\0${JSON.stringify(t)}`}function Z(e,t){let s=_e(e,t),r=ue.get(s);return r||(r={classNameAllocator:(0,Q.createClassNameAllocator)(),transformedDataById:new Map},ue.set(s,r)),r}function Ve(e){let t=e.getNativeBuildContext?.();return t&&(t.framework==="webpack"||t.framework==="rspack")?t.loaderContext?.rootContext??process.cwd():void 0}function Xe(e,t,s){let r=new Set;for(let n of t)e.moduleGraph?.invalidateModule(n,r,s,!0);for(let n of r){if(!n.id)continue;let a=e.runner?.evaluatedModules?.getModuleById(n.id);a&&e.runner?.evaluatedModules?.invalidateModule(a)}}function We(e){return!e||typeof e!="object"?{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""}:ze(e[L])}function ze(e){if(!e||typeof e!="object")return{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""};let{id:t,rules:s,candidates:r,composites:n,atomicClasses:a,origins:m,cssOnlySignature:o}=e;return{id:typeof t=="string"?t:"",rules:Array.isArray(s)?s:[],candidates:r&&typeof r=="object"?r:{},composites:n&&typeof n=="object"?n:{},...Array.isArray(a)?{atomicClasses:a}:{},origins:m&&typeof m=="object"?m:{},cssOnlySignature:typeof o=="string"?o:""}}var pe=(e={},t)=>{U(e);let s=e.cssFileName??"cssx.css",r=e.sourceMap??!0,n=new Map,a=(0,Q.createClassNameAllocator)(),m=new Map,o,g=process.cwd(),u,y=()=>P(e),x=async function(l,i){let f=new Set(Object.values(i).flatMap(d=>d.type==="chunk"?Object.keys(d.modules??{}):[]).map(v));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=We(this.getModuleInfo(d)?.meta);return Object.keys(h.candidates).length>0?h:n.get(d)??h}),p=await k(C,await y(),e.layer,r,e.darkMode,e.preflight);if(!p.css)return;let c=R(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:A(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:$(p.map,c)})}};return{name:"@cssxio/unplugin",enforce:"pre",transform:{filter:{id:He},async handler(l,i){e.themeFile&&this.addWatchFile?.((0,w.resolve)(process.cwd(),e.themeFile));let f=Ve(this),C=f?Z(f,e):void 0,p=await M(l,i,{...e,classNameAllocator:C?.classNameAllocator??a,...e.stableClassNames?{stableClassNameFileName:(0,w.relative)(f??process.cwd(),v(i)).replaceAll(w.sep,"/")}:{}},ie(this,i)),c={id:v(i),rules:p?.rules??[],candidates:p?.candidates??{},composites:p?.composites??{},atomicClasses:p?.atomicClasses??[],origins:p?.origins??{},cssOnlySignature:p?.cssOnlySignature??""};re(this,c,L);let d=v(i);(p||d===i)&&(n.set(d,c),m.set((0,w.resolve)(g,d),c),C?.transformedDataById.set(d,c)),t.framework==="vite"&&u&&q(u,H("/",s));let h=p?.code??l;return{code:(t.framework==="webpack"||t.framework==="rspack")&&p?`${h}
|
|
6
|
+
${Ge(s)}`:h,meta:{[L]:c},...p?.map?{map:p.map}:{}}}},watchChange(l,i){i.event==="delete"&&n.delete(v(l))},rollup:{generateBundle:x},vite:{generateBundle:x,configureServer(l){u=l;let i=H(l.config.base,s),f=H("/",s);l.watcher?.on("unlink",C=>{n.delete(v(C)),q(l,f)}),l.middlewares.use((C,p,c)=>{let d=C.url?.split("?",1)[0];if(d!==i&&(d!==`${i}.map`||!r))return c();y().then(h=>k([...n.values()],h,e.layer,r,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?$(h.map,s):"");return}p.setHeader("Content-Type","text/css; charset=utf-8"),p.setHeader("Cache-Control","no-store"),p.end(A(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(v(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(v(c.id)).cssOnlySignature]));for(let c of f)c.url&&await i.transformRequest(c.url);if(f.every(c=>{let d=n.get(v(c.id));return!!(d&&d.atomicClasses.length===0&&d.cssOnlySignature===C.get(c))}))return Xe(i,f,l.timestamp),l.modules.filter(c=>!f.includes(c))}}},...t.framework==="webpack"?{webpack(l){let i=Z(l.context,e);z(l,s,y,e.layer,r,L,i.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>G(l.context,e):void 0)}}:{},...t.framework==="rspack"?{rspack(l){let i=Z(l.context,e);z(l,s,y,e.layer,r,L,i.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>G(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=>(0,w.resolve)(i,h)));for(let h of m.keys())C.has(h)||m.delete(h);let p=await k([...m.values()],await y(),e.layer,r,e.darkMode,e.preflight),c=_(i,l.initialOptions,R(s,p.css));if(!p.css){o&&await(0,j.unlink)(o).catch(()=>{}),o=void 0;return}let d=A(p,(0,w.basename)(c));if(l.initialOptions.write===!1){let h=f.outputFiles;if(!h)return;let O={path:c,contents:fe.Buffer.from(d),hash:"",text:d};if(h.findIndex(ge=>ge.path===c)!==-1)throw new Error(`CSSX CSS asset collision at "${c}".`);h.push(O);return}await(0,j.mkdir)((0,w.dirname)(c),{recursive:!0}),await(0,j.writeFile)(c,d),o=c})}}}:{}}},E=(0,me.createUnplugin)(pe);function Ge(e){return`if (typeof document !== "undefined" && typeof module !== "undefined" && module.hot) {
|
|
7
7
|
const key = "__cssxStylesheetHmr";
|
|
8
8
|
const state = globalThis[key] || (globalThis[key] = { revision: 0, staged: [], replacements: [] });
|
|
9
9
|
const stylesheetLink = [...document.querySelectorAll('link[rel="stylesheet"]')].find((link) =>
|
|
@@ -90,4 +90,4 @@ ${Ge(s)}`:h,meta:{[L]:c},...f?.map?{map:f.map}:{}}}},watchChange(l,i){i.event===
|
|
|
90
90
|
state.poll = setInterval(() => void refresh(), 500);
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
|
-
}`}var qe
|
|
93
|
+
}`}var qe=E.vite,Je=E.rollup,Ke=E.webpack,Ze=E.rspack,Qe=E;0&&(module.exports={compileCssxStylesheet,esbuild,rollup,rspack,transformCssxModule,unplugin,unpluginFactory,vite,webpack});
|
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
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-kIzRyZSc.cjs';
|
|
5
5
|
import { DarkMode, CssxRule, ClassNameAllocator } from '@cssxio/compiler';
|
|
6
6
|
import { transformAsync } from '@babel/core';
|
|
7
7
|
export { default as esbuild } from './esbuild.cjs';
|
|
@@ -53,7 +53,7 @@ interface CssxStylesheet {
|
|
|
53
53
|
* @param layer Optional CSS layer for the output.
|
|
54
54
|
* @param sourceMap Whether to generate a CSS source map.
|
|
55
55
|
* @param darkMode Controls how the `dark` variant is activated.
|
|
56
|
-
* @param preflight Whether to add the
|
|
56
|
+
* @param preflight Whether to add the Tailwind-compatible browser baseline before utility rules.
|
|
57
57
|
* @returns The generated CSS and its source map when source locations exist.
|
|
58
58
|
*/
|
|
59
59
|
declare function compileCssxStylesheet(data: readonly CssxSourceModule[], theme?: string, layer?: string, sourceMap?: boolean, darkMode?: DarkMode, preflight?: boolean): Promise<CssxStylesheet>;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
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-kIzRyZSc.js';
|
|
5
5
|
import { DarkMode, CssxRule, ClassNameAllocator } from '@cssxio/compiler';
|
|
6
6
|
import { transformAsync } from '@babel/core';
|
|
7
7
|
export { default as esbuild } from './esbuild.js';
|
|
@@ -53,7 +53,7 @@ interface CssxStylesheet {
|
|
|
53
53
|
* @param layer Optional CSS layer for the output.
|
|
54
54
|
* @param sourceMap Whether to generate a CSS source map.
|
|
55
55
|
* @param darkMode Controls how the `dark` variant is activated.
|
|
56
|
-
* @param preflight Whether to add the
|
|
56
|
+
* @param preflight Whether to add the Tailwind-compatible browser baseline before utility rules.
|
|
57
57
|
* @returns The generated CSS and its source map when source locations exist.
|
|
58
58
|
*/
|
|
59
59
|
declare function compileCssxStylesheet(data: readonly CssxSourceModule[], theme?: string, layer?: string, sourceMap?: boolean, darkMode?: DarkMode, preflight?: boolean): Promise<CssxStylesheet>;
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b,c,d,e,f,g,h,i,j}from"./chunk-
|
|
1
|
+
import{a,b,c,d,e,f,g,h,i,j}from"./chunk-KCX3ORPX.js";export{a as compileCssxStylesheet,i as default,j as esbuild,f as rollup,h as rspack,b as transformCssxModule,d as unplugin,c as unpluginFactory,e as vite,g as webpack};
|
|
@@ -22,7 +22,7 @@ interface CssxPluginOptions {
|
|
|
22
22
|
readonly stableClassNames?: boolean;
|
|
23
23
|
/** Activates `dark` variants with a media query, `[data-theme=dark]`, or a `.dark` class. */
|
|
24
24
|
readonly darkMode?: DarkMode;
|
|
25
|
-
/** Adds
|
|
25
|
+
/** Adds Tailwind-compatible browser baseline rules before generated utilities. Defaults to `true`. */
|
|
26
26
|
readonly preflight?: boolean;
|
|
27
27
|
}
|
|
28
28
|
|
|
@@ -22,7 +22,7 @@ interface CssxPluginOptions {
|
|
|
22
22
|
readonly stableClassNames?: boolean;
|
|
23
23
|
/** Activates `dark` variants with a media query, `[data-theme=dark]`, or a `.dark` class. */
|
|
24
24
|
readonly darkMode?: DarkMode;
|
|
25
|
-
/** Adds
|
|
25
|
+
/** Adds Tailwind-compatible browser baseline rules before generated utilities. Defaults to `true`. */
|
|
26
26
|
readonly preflight?: boolean;
|
|
27
27
|
}
|
|
28
28
|
|
package/dist/rollup.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";var ce=Object.create;var
|
|
1
|
+
"use strict";var ce=Object.create;var E=Object.defineProperty;var ue=Object.getOwnPropertyDescriptor;var me=Object.getOwnPropertyNames;var pe=Object.getPrototypeOf,fe=Object.prototype.hasOwnProperty;var ge=(e,t)=>{for(var s in t)E(e,s,{get:t[s],enumerable:!0})},q=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of me(t))!fe.call(e,n)&&n!==s&&E(e,n,{get:()=>t[n],enumerable:!(r=ue(t,n))||r.enumerable});return e};var ye=(e,t,s)=>(s=e!=null?ce(pe(e)):{},q(t||!e||!e.__esModule?E(s,"default",{value:e,enumerable:!0}):s,e)),he=e=>q(E({},"__esModule",{value:!0}),e);var _e={};ge(_e,{default:()=>He});module.exports=he(_e);var G=require("@cssxio/compiler"),ae=require("unplugin"),ie=require("buffer"),O=require("fs/promises"),S=require("path");var L=require("@cssxio/compiler"),Z=require("path");var J='*,::before,::after,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}button,select{text-transform:none}button,input:where([type="button"],[type="reset"],[type="submit"]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit}textarea{resize:vertical}::placeholder{opacity:1}button,[role="button"]{cursor:pointer}:disabled{cursor:default}[hidden]:where(:not([hidden="until-found"])){display:none!important}';async function v(e,t,s,r=!0,n,d=!0){let u=Object.create(null),o=Object.create(null),y=new Set,g=!0,x=new Map;for(let i of[...e].sort((a,f)=>a.id.localeCompare(f.id))){for(let[a,f]of Object.entries(i.candidates))if(a in u||(u[a]=f),i.id&&!x.has(a)){let k=i.origins?.[a];x.set(a,{id:i.id,line:k?.line??0,column:k?.column??0})}for(let[a,f]of Object.entries(i.composites??{})){let k=o[a];if(k&&k.join(" ")!==f.join(" "))throw new Error(`CSSX composite class collision for "${a}".`);o[a]=f}i.atomicClasses===void 0&&(g=!1);for(let a of i.atomicClasses??[])y.add(a)}let C=Object.keys(u).sort(),l=d?J:"";if(C.length===0)return{css:l&&s?`@layer ${s}{${l}}`:l};let c=await(0,L.compileUtilities)(C,i=>u[i],t,(0,L.createSelectorAliases)(o),g?y:void 0,{darkMode:n}),p=s?`@layer ${s}{`:"",h=`${p}${l}${c.css}${p?"}":""}`,m=r?Ce(`${p}${l}${c.prefixCss}`,c.entries,x):void 0;return{css:h,...m?{map:m}:{}}}function M(e,t){return e.map?`${e.css}
|
|
2
2
|
/*# sourceMappingURL=${(0,Z.basename)(t)}.map */`:e.css}function A(e,t){return JSON.stringify({...e,file:t})}function Ce(e,t,s){let r=[...new Set(t.map(o=>s.get(o.candidate)?.id).filter(o=>!!o))].sort();if(r.length===0)return;let n=new Map(r.map((o,y)=>[o,y])),d=[],u=K({line:0,column:0},e);for(let o of t){let y=s.get(o.candidate);y&&d.push({...u,source:n.get(y.id),originalLine:y.line,originalColumn:y.column}),u=K(u,o.css)}return{version:3,sources:r,names:[],mappings:xe(d)}}function K(e,t){let s=t.split(`
|
|
3
|
-
`);return{line:e.line+s.length-1,column:s.at(-1).length+e.column*+(s.length===1)}}function xe(e){let t=Array.from({length:Math.max(0,...e.map(o=>o.line))+1},()=>[]),s=0,r=0,n=0,d=0,u=0;for(let o of e)u*=+(o.line===d),d=o.line,t[o.line]?.push(`${
|
|
4
|
-
const style = ${x.code};`,`${t}.ts`,{...s,classNameAllocator:n}),l=Ne(C.code);g=`${g.slice(0,x.start)}${l}${g.slice(x.end)}`,Object.assign(u,C.candidates),Object.assign(o,C.composites),y.push(...C.rules)}return{code:g,rules:y,candidates:u,composites:o,atomicClasses:[],origins:{},cssOnlySignature:g}}function Me(e){let t=[],s=/\bsx\s*\(/g;for(let r of e.matchAll(s)){let n=r.index,d=e.indexOf("(",n),u=0,o="";for(let y=d;y<e.length;y+=1){let g=e[y];if(o){g==="\\"?y+=1:g===o&&(o="");continue}if(g==='"'||g==="'"||g==="`")o=g;else if(g==="(")u+=1;else if(g===")"&&--u===0){t.push({start:n,end:y+1,code:e.slice(n,y+1)}),s.lastIndex=y+1;break}}}return t}function Ne(e){let t="const style = ",s=e.indexOf(t)+t.length,r=e.indexOf(";",s);return e.slice(s,r)}function ne(e,t){if(!e||typeof e!="object")return;let s=e.getCombinedSourcemap;if(typeof s!="function")return;let r=s.call(e);if(!r||typeof r!="object")return;let n=r;if(!(n.version!==3||!Array.isArray(n.sources)||typeof n.mappings!="string"))return{version:n.version,sources:[...n.sources],names:[...n.names??[]],mappings:n.mappings,file:n.file??t.split("?",1).join(""),...n.sourceRoot?{sourceRoot:n.sourceRoot}:{},...n.sourcesContent?{sourcesContent:[...n.sourcesContent]}:{}}}function Re(e){return{className:`cssx-${H(e)}`,css:e}}function Oe(e,t){return e&&t?`@layer ${t}{${e}}`:e}var Ae=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]),Pe=new Set([".git",".next",".turbo","node_modules"]);async function X(e,t){let s=await Ie(e),r=(0,re.createClassNameAllocator)(t.className),n=[];for(let d of s){let u=await(0,T.readFile)(d,"utf8"),o=await I(u,d,{...t,classNameAllocator:r,stableClassNames:!0,stableClassNameFileName:(0,R.relative)(e,d).replaceAll(R.sep,"/")});o&&n.push({id:d,candidates:o.candidates,composites:o.composites,atomicClasses:o.atomicClasses,origins:o.origins})}return n}async function Ie(e){let t=[],s=[e];for(;s.length>0;){let r=s.pop();for(let n of await(0,T.readdir)(r,{withFileTypes:!0})){let d=(0,R.join)(r,n.name);if(n.isDirectory()){Pe.has(n.name)||s.push(d);continue}n.isFile()&&Ae.has(d.slice(d.lastIndexOf(".")))&&t.push(d)}}return t.sort()}function z(e,t,s=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:t,acceptedPath:t,timestamp:s}]})}var j="@cssxio/unplugin/rules",je=/\.(?:[cm]?[jt]sx?|astro)(?:\?.*)?$/,oe=new Map;function
|
|
3
|
+
`);return{line:e.line+s.length-1,column:s.at(-1).length+e.column*+(s.length===1)}}function xe(e){let t=Array.from({length:Math.max(0,...e.map(o=>o.line))+1},()=>[]),s=0,r=0,n=0,d=0,u=0;for(let o of e)u*=+(o.line===d),d=o.line,t[o.line]?.push(`${F(o.column-u)}${F(o.source-s)}${F(o.originalLine-r)}${F(o.originalColumn-n)}`),u=o.column,s=o.source,r=o.originalLine,n=o.originalColumn;return t.map(o=>o.join(",")).join(";")}var be="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function F(e){let t="",s=e<0?-e<<1|1:e<<1;do{let r=s&31;s>>>=5,s&&(r|=32),t+=be[r]}while(s);return t}var Q=require("fs/promises"),b=require("path");async function $(e){return e.themeFile===void 0?e.theme:(0,Q.readFile)((0,b.resolve)(process.cwd(),e.themeFile),"utf8")}function B(e){if(e.theme!==void 0&&e.themeFile!==void 0)throw new Error("CSSX accepts either theme or themeFile, not both.");if(e.layer!==void 0&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(e.layer))throw new Error("CSSX layer must be a valid CSS layer identifier.");if(e.sourceMap!==void 0&&typeof e.sourceMap!="boolean")throw new Error("CSSX sourceMap must be a boolean.");if(e.darkMode!==void 0&&e.darkMode!=="media"&&e.darkMode!=="selector"&&e.darkMode!=="class")throw new Error('CSSX darkMode must be "media", "selector", or "class".');if(e.preflight!==void 0&&typeof e.preflight!="boolean")throw new Error("CSSX preflight must be a boolean.");if(e.reusabilityBudget!==void 0&&e.reusabilityBudget!=="auto"&&(!Number.isFinite(e.reusabilityBudget)||e.reusabilityBudget<0||e.reusabilityBudget>100))throw new Error('CSSX reusabilityBudget must be "auto" or a number from 0 through 100.');_(e.cssFileName??"cssx.css")}function H(e){let t=2166136261;for(let s=0;s<e.length;s++)t^=e.charCodeAt(s),t=Math.imul(t,16777619);return(t>>>0).toString(36)}function P(e,t){return _(e).replaceAll("[hash]",H(t))}function D(e,t){return`${e&&e!=="/"?`/${e.replace(/^\/+|\/+$/g,"")}`:""}/${_(t).replaceAll(b.sep,"/")}`}function Y(e,t,s){return t.outdir?(0,b.resolve)(e,t.outdir,s):t.outfile?(0,b.resolve)((0,b.dirname)((0,b.resolve)(e,t.outfile)),s):(0,b.resolve)(e,s)}function w(e){return e.split("?",1).join("")}function _(e){if(!e||(0,b.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let t=(0,b.normalize)(e);if(t===".."||t.startsWith(`..${b.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!t.endsWith(".css"))throw new Error("cssFileName must end in .css.");return t}function ee(e,t,s){let r=e.getNativeBuildContext?.();if(!r||r.framework!=="webpack"&&r.framework!=="rspack")return;let n=r.loaderContext?._module;if(!n)return;let d=n.buildInfo??(n.buildInfo={});d[s]=t}function V(e,t,s,r,n,d,u,o,y=!0,g){let x=e.name??e.options?.name;x==="server"||x==="edge-server"||e.hooks.thisCompilation.tap("@cssxio/unplugin",C=>{C.hooks.processAssets.tapPromise({name:"@cssxio/unplugin",stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},async()=>{let l=g?await g():Se([...C.modules].map(h=>we(h,d)).filter(h=>h!==void 0),u?.values()??[]),c=await v(l,await s(),r,n,o,y);if(!c.css)return;let p=P(t,c.css);if(C.getAsset?.(p))throw new Error(`CSSX CSS asset collision at "${p}".`);if(C.emitAsset(p,new e.webpack.sources.RawSource(M(c,p))),c.map){let h=`${p}.map`;if(C.getAsset?.(h))throw new Error(`CSSX CSS map asset collision at "${h}".`);C.emitAsset(h,new e.webpack.sources.RawSource(A(c.map,p)))}})})}function Se(e,t){let s=new Map,r=[];for(let n of t)n.id?s.set(n.id,n):r.push(n);for(let n of e)n.id?s.set(n.id,n):r.push(n);return[...s.values(),...r]}function we(e,t){let s=e.buildInfo?.[t];if(!s||typeof s!="object")return;let{id:r,candidates:n,composites:d,atomicClasses:u,origins:o}=s;return{id:typeof r=="string"?r:"",candidates:n&&typeof n=="object"?n:{},composites:d&&typeof d=="object"?d:{},...Array.isArray(u)?{atomicClasses:u}:{},origins:o&&typeof o=="object"?o:{}}}var T=require("fs/promises"),R=require("path"),re=require("@cssxio/compiler");var te=require("@babel/core"),se=ye(require("@cssxio/babel-plugin"),1),N=require("@cssxio/compiler");var ke=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]);async function I(e,t,s={},r){B(s);let n=s.importSource??"@cssxio/cssx",d=t.split("?",1).join("");if(!ke.has(d.slice(d.lastIndexOf(".")))||!e.includes(n))return null;if(d.endsWith(".astro"))return ve(e,t,s);let u=await $(s),o=await(0,te.transformAsync)(e,{babelrc:!1,configFile:!1,filename:d,parserOpts:{plugins:["jsx","typescript"]},plugins:[[se.default,{importSource:n,classNameAllocator:s.classNameAllocator,theme:u,reusabilityBudget:s.reusabilityBudget,stableClassNames:s.stableClassNames,stableClassNameFileName:s.stableClassNameFileName,darkMode:s.darkMode}]],sourceMaps:!0,...r?{inputSourceMap:r}:{}}),y=o.metadata,{candidates:g,origins:x,composites:C,atomicClasses:l,cssOnlySignature:c}=y.cssx,p=Object.keys(g),h=p.length===0?"":(await(0,N.compileUtilities)(p,m=>g[m],u,(0,N.createSelectorAliases)(C),new Set(l),{darkMode:s.darkMode})).css;return{code:o.code,rules:h?[Re(Oe(h,s.layer))]:[],candidates:g,composites:C,atomicClasses:l,origins:x,cssOnlySignature:c,map:o.map}}async function ve(e,t,s){let r=Me(e);if(r.length===0)return null;let n=s.classNameAllocator??(0,N.createClassNameAllocator)(),d=s.importSource??"@cssxio/cssx",u={},o={},y=[],g=e;for(let x of[...r].reverse()){let C=await I(`import { sx } from ${JSON.stringify(d)};
|
|
4
|
+
const style = ${x.code};`,`${t}.ts`,{...s,classNameAllocator:n}),l=Ne(C.code);g=`${g.slice(0,x.start)}${l}${g.slice(x.end)}`,Object.assign(u,C.candidates),Object.assign(o,C.composites),y.push(...C.rules)}return{code:g,rules:y,candidates:u,composites:o,atomicClasses:[],origins:{},cssOnlySignature:g}}function Me(e){let t=[],s=/\bsx\s*\(/g;for(let r of e.matchAll(s)){let n=r.index,d=e.indexOf("(",n),u=0,o="";for(let y=d;y<e.length;y+=1){let g=e[y];if(o){g==="\\"?y+=1:g===o&&(o="");continue}if(g==='"'||g==="'"||g==="`")o=g;else if(g==="(")u+=1;else if(g===")"&&--u===0){t.push({start:n,end:y+1,code:e.slice(n,y+1)}),s.lastIndex=y+1;break}}}return t}function Ne(e){let t="const style = ",s=e.indexOf(t)+t.length,r=e.indexOf(";",s);return e.slice(s,r)}function ne(e,t){if(!e||typeof e!="object")return;let s=e.getCombinedSourcemap;if(typeof s!="function")return;let r=s.call(e);if(!r||typeof r!="object")return;let n=r;if(!(n.version!==3||!Array.isArray(n.sources)||typeof n.mappings!="string"))return{version:n.version,sources:[...n.sources],names:[...n.names??[]],mappings:n.mappings,file:n.file??t.split("?",1).join(""),...n.sourceRoot?{sourceRoot:n.sourceRoot}:{},...n.sourcesContent?{sourcesContent:[...n.sourcesContent]}:{}}}function Re(e){return{className:`cssx-${H(e)}`,css:e}}function Oe(e,t){return e&&t?`@layer ${t}{${e}}`:e}var Ae=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]),Pe=new Set([".git",".next",".turbo","node_modules"]);async function X(e,t){let s=await Ie(e),r=(0,re.createClassNameAllocator)(t.className),n=[];for(let d of s){let u=await(0,T.readFile)(d,"utf8"),o=await I(u,d,{...t,classNameAllocator:r,stableClassNames:!0,stableClassNameFileName:(0,R.relative)(e,d).replaceAll(R.sep,"/")});o&&n.push({id:d,candidates:o.candidates,composites:o.composites,atomicClasses:o.atomicClasses,origins:o.origins})}return n}async function Ie(e){let t=[],s=[e];for(;s.length>0;){let r=s.pop();for(let n of await(0,T.readdir)(r,{withFileTypes:!0})){let d=(0,R.join)(r,n.name);if(n.isDirectory()){Pe.has(n.name)||s.push(d);continue}n.isFile()&&Ae.has(d.slice(d.lastIndexOf(".")))&&t.push(d)}}return t.sort()}function z(e,t,s=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:t,acceptedPath:t,timestamp:s}]})}var j="@cssxio/unplugin/rules",je=/\.(?:[cm]?[jt]sx?|astro)(?:\?.*)?$/,oe=new Map;function Ee(e,t){return`${e}\0${JSON.stringify(t)}`}function W(e,t){let s=Ee(e,t),r=oe.get(s);return r||(r={classNameAllocator:(0,G.createClassNameAllocator)(),transformedDataById:new Map},oe.set(s,r)),r}function Fe(e){let t=e.getNativeBuildContext?.();return t&&(t.framework==="webpack"||t.framework==="rspack")?t.loaderContext?.rootContext??process.cwd():void 0}function Le(e,t,s){let r=new Set;for(let n of t)e.moduleGraph?.invalidateModule(n,r,s,!0);for(let n of r){if(!n.id)continue;let d=e.runner?.evaluatedModules?.getModuleById(n.id);d&&e.runner?.evaluatedModules?.invalidateModule(d)}}function $e(e){return!e||typeof e!="object"?{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""}:Be(e[j])}function Be(e){if(!e||typeof e!="object")return{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""};let{id:t,rules:s,candidates:r,composites:n,atomicClasses:d,origins:u,cssOnlySignature:o}=e;return{id:typeof t=="string"?t:"",rules:Array.isArray(s)?s:[],candidates:r&&typeof r=="object"?r:{},composites:n&&typeof n=="object"?n:{},...Array.isArray(d)?{atomicClasses:d}:{},origins:u&&typeof u=="object"?u:{},cssOnlySignature:typeof o=="string"?o:""}}var De=(e={},t)=>{B(e);let s=e.cssFileName??"cssx.css",r=e.sourceMap??!0,n=new Map,d=(0,G.createClassNameAllocator)(),u=new Map,o,y=process.cwd(),g,x=()=>$(e),C=async function(l,c){let p=new Set(Object.values(c).flatMap(a=>a.type==="chunk"?Object.keys(a.modules??{}):[]).map(w));if(t.framework!=="vite")for(let a of n.keys())p.has(a)||n.delete(a);let h=t.framework==="vite"?[...n.values()]:[...p].map(a=>{let f=$e(this.getModuleInfo(a)?.meta);return Object.keys(f.candidates).length>0?f:n.get(a)??f}),m=await v(h,await x(),e.layer,r,e.darkMode,e.preflight);if(!m.css)return;let i=P(s,m.css);if(Object.hasOwn(c,i))throw new Error(`CSSX CSS asset collision at "${i}".`);if(this.emitFile({type:"asset",fileName:i,source:M(m,i)}),m.map){let a=`${i}.map`;if(Object.hasOwn(c,a))throw new Error(`CSSX CSS map asset collision at "${a}".`);this.emitFile({type:"asset",fileName:a,source:A(m.map,i)})}};return{name:"@cssxio/unplugin",enforce:"pre",transform:{filter:{id:je},async handler(l,c){e.themeFile&&this.addWatchFile?.((0,S.resolve)(process.cwd(),e.themeFile));let p=Fe(this),h=p?W(p,e):void 0,m=await I(l,c,{...e,classNameAllocator:h?.classNameAllocator??d,...e.stableClassNames?{stableClassNameFileName:(0,S.relative)(p??process.cwd(),w(c)).replaceAll(S.sep,"/")}:{}},ne(this,c)),i={id:w(c),rules:m?.rules??[],candidates:m?.candidates??{},composites:m?.composites??{},atomicClasses:m?.atomicClasses??[],origins:m?.origins??{},cssOnlySignature:m?.cssOnlySignature??""};ee(this,i,j);let a=w(c);(m||a===c)&&(n.set(a,i),u.set((0,S.resolve)(y,a),i),h?.transformedDataById.set(a,i)),t.framework==="vite"&&g&&z(g,D("/",s));let f=m?.code??l;return{code:(t.framework==="webpack"||t.framework==="rspack")&&m?`${f}
|
|
5
5
|
${Te(s)}`:f,meta:{[j]:i},...m?.map?{map:m.map}:{}}}},watchChange(l,c){c.event==="delete"&&n.delete(w(l))},rollup:{generateBundle:C},vite:{generateBundle:C,configureServer(l){g=l;let c=D(l.config.base,s),p=D("/",s);l.watcher?.on("unlink",h=>{n.delete(w(h)),z(l,p)}),l.middlewares.use((h,m,i)=>{let a=h.url?.split("?",1)[0];if(a!==c&&(a!==`${c}.map`||!r))return i();x().then(f=>v([...n.values()],f,e.layer,r,e.darkMode,e.preflight)).then(f=>{if(a===`${c}.map`){m.setHeader("Content-Type","application/json; charset=utf-8"),m.setHeader("Cache-Control","no-store"),m.end(f.map?A(f.map,s):"");return}m.setHeader("Content-Type","text/css; charset=utf-8"),m.setHeader("Cache-Control","no-store"),m.end(M(f,s))}).catch(f=>{m.setHeader("Content-Type","text/plain; charset=utf-8"),m.end(f instanceof Error?f.message:"Unable to compile CSSX development stylesheet.")})})},hotUpdate:{order:"pre",async handler(l){let c=this.environment;if(!c||c.name==="client")return;let p=l.modules.filter(i=>{let a=n.get(w(i.id??""));return!!(a&&a.cssOnlySignature&&a.atomicClasses?.length===0)});if(p.length===0)return;let h=new Map(p.map(i=>[i,n.get(w(i.id)).cssOnlySignature]));for(let i of p)i.url&&await c.transformRequest(i.url);if(p.every(i=>{let a=n.get(w(i.id));return!!(a&&a.atomicClasses.length===0&&a.cssOnlySignature===h.get(i))}))return Le(c,p,l.timestamp),l.modules.filter(i=>!p.includes(i))}}},...t.framework==="webpack"?{webpack(l){let c=W(l.context,e);V(l,s,x,e.layer,r,j,c.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>X(l.context,e):void 0)}}:{},...t.framework==="rspack"?{rspack(l){let c=W(l.context,e);V(l,s,x,e.layer,r,j,c.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>X(l.context,e):void 0)}}:{},...t.framework==="esbuild"?{esbuild:{config(l){l.metafile=!0},setup(l){let c=l.initialOptions.absWorkingDir??process.cwd();y=c,l.onEnd(async p=>{if(!p.metafile)return;let h=new Set(Object.keys(p.metafile.inputs).map(f=>(0,S.resolve)(c,f)));for(let f of u.keys())h.has(f)||u.delete(f);let m=await v([...u.values()],await x(),e.layer,r,e.darkMode,e.preflight),i=Y(c,l.initialOptions,P(s,m.css));if(!m.css){o&&await(0,O.unlink)(o).catch(()=>{}),o=void 0;return}let a=M(m,(0,S.basename)(i));if(l.initialOptions.write===!1){let f=p.outputFiles;if(!f)return;let k={path:i,contents:ie.Buffer.from(a),hash:"",text:a};if(f.findIndex(de=>de.path===i)!==-1)throw new Error(`CSSX CSS asset collision at "${i}".`);f.push(k);return}await(0,O.mkdir)((0,S.dirname)(i),{recursive:!0}),await(0,O.writeFile)(i,a),o=i})}}}:{}}},U=(0,ae.createUnplugin)(De);function Te(e){return`if (typeof document !== "undefined" && typeof module !== "undefined" && module.hot) {
|
|
6
6
|
const key = "__cssxStylesheetHmr";
|
|
7
7
|
const state = globalThis[key] || (globalThis[key] = { revision: 0, staged: [], replacements: [] });
|
package/dist/rollup.d.cts
CHANGED
package/dist/rollup.d.ts
CHANGED
package/dist/rollup.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as o}from"./chunk-
|
|
1
|
+
import{f as o}from"./chunk-KCX3ORPX.js";var l=o,r=l;export{r as default};
|
package/dist/rspack.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";var ce=Object.create;var
|
|
1
|
+
"use strict";var ce=Object.create;var E=Object.defineProperty;var ue=Object.getOwnPropertyDescriptor;var me=Object.getOwnPropertyNames;var pe=Object.getPrototypeOf,fe=Object.prototype.hasOwnProperty;var ge=(e,t)=>{for(var s in t)E(e,s,{get:t[s],enumerable:!0})},q=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of me(t))!fe.call(e,n)&&n!==s&&E(e,n,{get:()=>t[n],enumerable:!(r=ue(t,n))||r.enumerable});return e};var ye=(e,t,s)=>(s=e!=null?ce(pe(e)):{},q(t||!e||!e.__esModule?E(s,"default",{value:e,enumerable:!0}):s,e)),he=e=>q(E({},"__esModule",{value:!0}),e);var _e={};ge(_e,{default:()=>He});module.exports=he(_e);var G=require("@cssxio/compiler"),ae=require("unplugin"),ie=require("buffer"),O=require("fs/promises"),S=require("path");var L=require("@cssxio/compiler"),Z=require("path");var J='*,::before,::after,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}button,select{text-transform:none}button,input:where([type="button"],[type="reset"],[type="submit"]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit}textarea{resize:vertical}::placeholder{opacity:1}button,[role="button"]{cursor:pointer}:disabled{cursor:default}[hidden]:where(:not([hidden="until-found"])){display:none!important}';async function v(e,t,s,r=!0,n,d=!0){let u=Object.create(null),o=Object.create(null),y=new Set,g=!0,x=new Map;for(let i of[...e].sort((a,f)=>a.id.localeCompare(f.id))){for(let[a,f]of Object.entries(i.candidates))if(a in u||(u[a]=f),i.id&&!x.has(a)){let k=i.origins?.[a];x.set(a,{id:i.id,line:k?.line??0,column:k?.column??0})}for(let[a,f]of Object.entries(i.composites??{})){let k=o[a];if(k&&k.join(" ")!==f.join(" "))throw new Error(`CSSX composite class collision for "${a}".`);o[a]=f}i.atomicClasses===void 0&&(g=!1);for(let a of i.atomicClasses??[])y.add(a)}let C=Object.keys(u).sort(),l=d?J:"";if(C.length===0)return{css:l&&s?`@layer ${s}{${l}}`:l};let c=await(0,L.compileUtilities)(C,i=>u[i],t,(0,L.createSelectorAliases)(o),g?y:void 0,{darkMode:n}),p=s?`@layer ${s}{`:"",h=`${p}${l}${c.css}${p?"}":""}`,m=r?Ce(`${p}${l}${c.prefixCss}`,c.entries,x):void 0;return{css:h,...m?{map:m}:{}}}function M(e,t){return e.map?`${e.css}
|
|
2
2
|
/*# sourceMappingURL=${(0,Z.basename)(t)}.map */`:e.css}function A(e,t){return JSON.stringify({...e,file:t})}function Ce(e,t,s){let r=[...new Set(t.map(o=>s.get(o.candidate)?.id).filter(o=>!!o))].sort();if(r.length===0)return;let n=new Map(r.map((o,y)=>[o,y])),d=[],u=K({line:0,column:0},e);for(let o of t){let y=s.get(o.candidate);y&&d.push({...u,source:n.get(y.id),originalLine:y.line,originalColumn:y.column}),u=K(u,o.css)}return{version:3,sources:r,names:[],mappings:xe(d)}}function K(e,t){let s=t.split(`
|
|
3
|
-
`);return{line:e.line+s.length-1,column:s.at(-1).length+e.column*+(s.length===1)}}function xe(e){let t=Array.from({length:Math.max(0,...e.map(o=>o.line))+1},()=>[]),s=0,r=0,n=0,d=0,u=0;for(let o of e)u*=+(o.line===d),d=o.line,t[o.line]?.push(`${
|
|
4
|
-
const style = ${x.code};`,`${t}.ts`,{...s,classNameAllocator:n}),l=Ne(C.code);g=`${g.slice(0,x.start)}${l}${g.slice(x.end)}`,Object.assign(u,C.candidates),Object.assign(o,C.composites),y.push(...C.rules)}return{code:g,rules:y,candidates:u,composites:o,atomicClasses:[],origins:{},cssOnlySignature:g}}function Me(e){let t=[],s=/\bsx\s*\(/g;for(let r of e.matchAll(s)){let n=r.index,d=e.indexOf("(",n),u=0,o="";for(let y=d;y<e.length;y+=1){let g=e[y];if(o){g==="\\"?y+=1:g===o&&(o="");continue}if(g==='"'||g==="'"||g==="`")o=g;else if(g==="(")u+=1;else if(g===")"&&--u===0){t.push({start:n,end:y+1,code:e.slice(n,y+1)}),s.lastIndex=y+1;break}}}return t}function Ne(e){let t="const style = ",s=e.indexOf(t)+t.length,r=e.indexOf(";",s);return e.slice(s,r)}function ne(e,t){if(!e||typeof e!="object")return;let s=e.getCombinedSourcemap;if(typeof s!="function")return;let r=s.call(e);if(!r||typeof r!="object")return;let n=r;if(!(n.version!==3||!Array.isArray(n.sources)||typeof n.mappings!="string"))return{version:n.version,sources:[...n.sources],names:[...n.names??[]],mappings:n.mappings,file:n.file??t.split("?",1).join(""),...n.sourceRoot?{sourceRoot:n.sourceRoot}:{},...n.sourcesContent?{sourcesContent:[...n.sourcesContent]}:{}}}function Re(e){return{className:`cssx-${H(e)}`,css:e}}function Oe(e,t){return e&&t?`@layer ${t}{${e}}`:e}var Ae=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]),Pe=new Set([".git",".next",".turbo","node_modules"]);async function X(e,t){let s=await Ie(e),r=(0,re.createClassNameAllocator)(t.className),n=[];for(let d of s){let u=await(0,T.readFile)(d,"utf8"),o=await I(u,d,{...t,classNameAllocator:r,stableClassNames:!0,stableClassNameFileName:(0,R.relative)(e,d).replaceAll(R.sep,"/")});o&&n.push({id:d,candidates:o.candidates,composites:o.composites,atomicClasses:o.atomicClasses,origins:o.origins})}return n}async function Ie(e){let t=[],s=[e];for(;s.length>0;){let r=s.pop();for(let n of await(0,T.readdir)(r,{withFileTypes:!0})){let d=(0,R.join)(r,n.name);if(n.isDirectory()){Pe.has(n.name)||s.push(d);continue}n.isFile()&&Ae.has(d.slice(d.lastIndexOf(".")))&&t.push(d)}}return t.sort()}function z(e,t,s=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:t,acceptedPath:t,timestamp:s}]})}var j="@cssxio/unplugin/rules",je=/\.(?:[cm]?[jt]sx?|astro)(?:\?.*)?$/,oe=new Map;function
|
|
3
|
+
`);return{line:e.line+s.length-1,column:s.at(-1).length+e.column*+(s.length===1)}}function xe(e){let t=Array.from({length:Math.max(0,...e.map(o=>o.line))+1},()=>[]),s=0,r=0,n=0,d=0,u=0;for(let o of e)u*=+(o.line===d),d=o.line,t[o.line]?.push(`${F(o.column-u)}${F(o.source-s)}${F(o.originalLine-r)}${F(o.originalColumn-n)}`),u=o.column,s=o.source,r=o.originalLine,n=o.originalColumn;return t.map(o=>o.join(",")).join(";")}var be="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function F(e){let t="",s=e<0?-e<<1|1:e<<1;do{let r=s&31;s>>>=5,s&&(r|=32),t+=be[r]}while(s);return t}var Q=require("fs/promises"),b=require("path");async function $(e){return e.themeFile===void 0?e.theme:(0,Q.readFile)((0,b.resolve)(process.cwd(),e.themeFile),"utf8")}function B(e){if(e.theme!==void 0&&e.themeFile!==void 0)throw new Error("CSSX accepts either theme or themeFile, not both.");if(e.layer!==void 0&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(e.layer))throw new Error("CSSX layer must be a valid CSS layer identifier.");if(e.sourceMap!==void 0&&typeof e.sourceMap!="boolean")throw new Error("CSSX sourceMap must be a boolean.");if(e.darkMode!==void 0&&e.darkMode!=="media"&&e.darkMode!=="selector"&&e.darkMode!=="class")throw new Error('CSSX darkMode must be "media", "selector", or "class".');if(e.preflight!==void 0&&typeof e.preflight!="boolean")throw new Error("CSSX preflight must be a boolean.");if(e.reusabilityBudget!==void 0&&e.reusabilityBudget!=="auto"&&(!Number.isFinite(e.reusabilityBudget)||e.reusabilityBudget<0||e.reusabilityBudget>100))throw new Error('CSSX reusabilityBudget must be "auto" or a number from 0 through 100.');_(e.cssFileName??"cssx.css")}function H(e){let t=2166136261;for(let s=0;s<e.length;s++)t^=e.charCodeAt(s),t=Math.imul(t,16777619);return(t>>>0).toString(36)}function P(e,t){return _(e).replaceAll("[hash]",H(t))}function D(e,t){return`${e&&e!=="/"?`/${e.replace(/^\/+|\/+$/g,"")}`:""}/${_(t).replaceAll(b.sep,"/")}`}function Y(e,t,s){return t.outdir?(0,b.resolve)(e,t.outdir,s):t.outfile?(0,b.resolve)((0,b.dirname)((0,b.resolve)(e,t.outfile)),s):(0,b.resolve)(e,s)}function w(e){return e.split("?",1).join("")}function _(e){if(!e||(0,b.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let t=(0,b.normalize)(e);if(t===".."||t.startsWith(`..${b.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!t.endsWith(".css"))throw new Error("cssFileName must end in .css.");return t}function ee(e,t,s){let r=e.getNativeBuildContext?.();if(!r||r.framework!=="webpack"&&r.framework!=="rspack")return;let n=r.loaderContext?._module;if(!n)return;let d=n.buildInfo??(n.buildInfo={});d[s]=t}function V(e,t,s,r,n,d,u,o,y=!0,g){let x=e.name??e.options?.name;x==="server"||x==="edge-server"||e.hooks.thisCompilation.tap("@cssxio/unplugin",C=>{C.hooks.processAssets.tapPromise({name:"@cssxio/unplugin",stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},async()=>{let l=g?await g():Se([...C.modules].map(h=>we(h,d)).filter(h=>h!==void 0),u?.values()??[]),c=await v(l,await s(),r,n,o,y);if(!c.css)return;let p=P(t,c.css);if(C.getAsset?.(p))throw new Error(`CSSX CSS asset collision at "${p}".`);if(C.emitAsset(p,new e.webpack.sources.RawSource(M(c,p))),c.map){let h=`${p}.map`;if(C.getAsset?.(h))throw new Error(`CSSX CSS map asset collision at "${h}".`);C.emitAsset(h,new e.webpack.sources.RawSource(A(c.map,p)))}})})}function Se(e,t){let s=new Map,r=[];for(let n of t)n.id?s.set(n.id,n):r.push(n);for(let n of e)n.id?s.set(n.id,n):r.push(n);return[...s.values(),...r]}function we(e,t){let s=e.buildInfo?.[t];if(!s||typeof s!="object")return;let{id:r,candidates:n,composites:d,atomicClasses:u,origins:o}=s;return{id:typeof r=="string"?r:"",candidates:n&&typeof n=="object"?n:{},composites:d&&typeof d=="object"?d:{},...Array.isArray(u)?{atomicClasses:u}:{},origins:o&&typeof o=="object"?o:{}}}var T=require("fs/promises"),R=require("path"),re=require("@cssxio/compiler");var te=require("@babel/core"),se=ye(require("@cssxio/babel-plugin"),1),N=require("@cssxio/compiler");var ke=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]);async function I(e,t,s={},r){B(s);let n=s.importSource??"@cssxio/cssx",d=t.split("?",1).join("");if(!ke.has(d.slice(d.lastIndexOf(".")))||!e.includes(n))return null;if(d.endsWith(".astro"))return ve(e,t,s);let u=await $(s),o=await(0,te.transformAsync)(e,{babelrc:!1,configFile:!1,filename:d,parserOpts:{plugins:["jsx","typescript"]},plugins:[[se.default,{importSource:n,classNameAllocator:s.classNameAllocator,theme:u,reusabilityBudget:s.reusabilityBudget,stableClassNames:s.stableClassNames,stableClassNameFileName:s.stableClassNameFileName,darkMode:s.darkMode}]],sourceMaps:!0,...r?{inputSourceMap:r}:{}}),y=o.metadata,{candidates:g,origins:x,composites:C,atomicClasses:l,cssOnlySignature:c}=y.cssx,p=Object.keys(g),h=p.length===0?"":(await(0,N.compileUtilities)(p,m=>g[m],u,(0,N.createSelectorAliases)(C),new Set(l),{darkMode:s.darkMode})).css;return{code:o.code,rules:h?[Re(Oe(h,s.layer))]:[],candidates:g,composites:C,atomicClasses:l,origins:x,cssOnlySignature:c,map:o.map}}async function ve(e,t,s){let r=Me(e);if(r.length===0)return null;let n=s.classNameAllocator??(0,N.createClassNameAllocator)(),d=s.importSource??"@cssxio/cssx",u={},o={},y=[],g=e;for(let x of[...r].reverse()){let C=await I(`import { sx } from ${JSON.stringify(d)};
|
|
4
|
+
const style = ${x.code};`,`${t}.ts`,{...s,classNameAllocator:n}),l=Ne(C.code);g=`${g.slice(0,x.start)}${l}${g.slice(x.end)}`,Object.assign(u,C.candidates),Object.assign(o,C.composites),y.push(...C.rules)}return{code:g,rules:y,candidates:u,composites:o,atomicClasses:[],origins:{},cssOnlySignature:g}}function Me(e){let t=[],s=/\bsx\s*\(/g;for(let r of e.matchAll(s)){let n=r.index,d=e.indexOf("(",n),u=0,o="";for(let y=d;y<e.length;y+=1){let g=e[y];if(o){g==="\\"?y+=1:g===o&&(o="");continue}if(g==='"'||g==="'"||g==="`")o=g;else if(g==="(")u+=1;else if(g===")"&&--u===0){t.push({start:n,end:y+1,code:e.slice(n,y+1)}),s.lastIndex=y+1;break}}}return t}function Ne(e){let t="const style = ",s=e.indexOf(t)+t.length,r=e.indexOf(";",s);return e.slice(s,r)}function ne(e,t){if(!e||typeof e!="object")return;let s=e.getCombinedSourcemap;if(typeof s!="function")return;let r=s.call(e);if(!r||typeof r!="object")return;let n=r;if(!(n.version!==3||!Array.isArray(n.sources)||typeof n.mappings!="string"))return{version:n.version,sources:[...n.sources],names:[...n.names??[]],mappings:n.mappings,file:n.file??t.split("?",1).join(""),...n.sourceRoot?{sourceRoot:n.sourceRoot}:{},...n.sourcesContent?{sourcesContent:[...n.sourcesContent]}:{}}}function Re(e){return{className:`cssx-${H(e)}`,css:e}}function Oe(e,t){return e&&t?`@layer ${t}{${e}}`:e}var Ae=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]),Pe=new Set([".git",".next",".turbo","node_modules"]);async function X(e,t){let s=await Ie(e),r=(0,re.createClassNameAllocator)(t.className),n=[];for(let d of s){let u=await(0,T.readFile)(d,"utf8"),o=await I(u,d,{...t,classNameAllocator:r,stableClassNames:!0,stableClassNameFileName:(0,R.relative)(e,d).replaceAll(R.sep,"/")});o&&n.push({id:d,candidates:o.candidates,composites:o.composites,atomicClasses:o.atomicClasses,origins:o.origins})}return n}async function Ie(e){let t=[],s=[e];for(;s.length>0;){let r=s.pop();for(let n of await(0,T.readdir)(r,{withFileTypes:!0})){let d=(0,R.join)(r,n.name);if(n.isDirectory()){Pe.has(n.name)||s.push(d);continue}n.isFile()&&Ae.has(d.slice(d.lastIndexOf(".")))&&t.push(d)}}return t.sort()}function z(e,t,s=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:t,acceptedPath:t,timestamp:s}]})}var j="@cssxio/unplugin/rules",je=/\.(?:[cm]?[jt]sx?|astro)(?:\?.*)?$/,oe=new Map;function Ee(e,t){return`${e}\0${JSON.stringify(t)}`}function W(e,t){let s=Ee(e,t),r=oe.get(s);return r||(r={classNameAllocator:(0,G.createClassNameAllocator)(),transformedDataById:new Map},oe.set(s,r)),r}function Fe(e){let t=e.getNativeBuildContext?.();return t&&(t.framework==="webpack"||t.framework==="rspack")?t.loaderContext?.rootContext??process.cwd():void 0}function Le(e,t,s){let r=new Set;for(let n of t)e.moduleGraph?.invalidateModule(n,r,s,!0);for(let n of r){if(!n.id)continue;let d=e.runner?.evaluatedModules?.getModuleById(n.id);d&&e.runner?.evaluatedModules?.invalidateModule(d)}}function $e(e){return!e||typeof e!="object"?{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""}:Be(e[j])}function Be(e){if(!e||typeof e!="object")return{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""};let{id:t,rules:s,candidates:r,composites:n,atomicClasses:d,origins:u,cssOnlySignature:o}=e;return{id:typeof t=="string"?t:"",rules:Array.isArray(s)?s:[],candidates:r&&typeof r=="object"?r:{},composites:n&&typeof n=="object"?n:{},...Array.isArray(d)?{atomicClasses:d}:{},origins:u&&typeof u=="object"?u:{},cssOnlySignature:typeof o=="string"?o:""}}var De=(e={},t)=>{B(e);let s=e.cssFileName??"cssx.css",r=e.sourceMap??!0,n=new Map,d=(0,G.createClassNameAllocator)(),u=new Map,o,y=process.cwd(),g,x=()=>$(e),C=async function(l,c){let p=new Set(Object.values(c).flatMap(a=>a.type==="chunk"?Object.keys(a.modules??{}):[]).map(w));if(t.framework!=="vite")for(let a of n.keys())p.has(a)||n.delete(a);let h=t.framework==="vite"?[...n.values()]:[...p].map(a=>{let f=$e(this.getModuleInfo(a)?.meta);return Object.keys(f.candidates).length>0?f:n.get(a)??f}),m=await v(h,await x(),e.layer,r,e.darkMode,e.preflight);if(!m.css)return;let i=P(s,m.css);if(Object.hasOwn(c,i))throw new Error(`CSSX CSS asset collision at "${i}".`);if(this.emitFile({type:"asset",fileName:i,source:M(m,i)}),m.map){let a=`${i}.map`;if(Object.hasOwn(c,a))throw new Error(`CSSX CSS map asset collision at "${a}".`);this.emitFile({type:"asset",fileName:a,source:A(m.map,i)})}};return{name:"@cssxio/unplugin",enforce:"pre",transform:{filter:{id:je},async handler(l,c){e.themeFile&&this.addWatchFile?.((0,S.resolve)(process.cwd(),e.themeFile));let p=Fe(this),h=p?W(p,e):void 0,m=await I(l,c,{...e,classNameAllocator:h?.classNameAllocator??d,...e.stableClassNames?{stableClassNameFileName:(0,S.relative)(p??process.cwd(),w(c)).replaceAll(S.sep,"/")}:{}},ne(this,c)),i={id:w(c),rules:m?.rules??[],candidates:m?.candidates??{},composites:m?.composites??{},atomicClasses:m?.atomicClasses??[],origins:m?.origins??{},cssOnlySignature:m?.cssOnlySignature??""};ee(this,i,j);let a=w(c);(m||a===c)&&(n.set(a,i),u.set((0,S.resolve)(y,a),i),h?.transformedDataById.set(a,i)),t.framework==="vite"&&g&&z(g,D("/",s));let f=m?.code??l;return{code:(t.framework==="webpack"||t.framework==="rspack")&&m?`${f}
|
|
5
5
|
${Te(s)}`:f,meta:{[j]:i},...m?.map?{map:m.map}:{}}}},watchChange(l,c){c.event==="delete"&&n.delete(w(l))},rollup:{generateBundle:C},vite:{generateBundle:C,configureServer(l){g=l;let c=D(l.config.base,s),p=D("/",s);l.watcher?.on("unlink",h=>{n.delete(w(h)),z(l,p)}),l.middlewares.use((h,m,i)=>{let a=h.url?.split("?",1)[0];if(a!==c&&(a!==`${c}.map`||!r))return i();x().then(f=>v([...n.values()],f,e.layer,r,e.darkMode,e.preflight)).then(f=>{if(a===`${c}.map`){m.setHeader("Content-Type","application/json; charset=utf-8"),m.setHeader("Cache-Control","no-store"),m.end(f.map?A(f.map,s):"");return}m.setHeader("Content-Type","text/css; charset=utf-8"),m.setHeader("Cache-Control","no-store"),m.end(M(f,s))}).catch(f=>{m.setHeader("Content-Type","text/plain; charset=utf-8"),m.end(f instanceof Error?f.message:"Unable to compile CSSX development stylesheet.")})})},hotUpdate:{order:"pre",async handler(l){let c=this.environment;if(!c||c.name==="client")return;let p=l.modules.filter(i=>{let a=n.get(w(i.id??""));return!!(a&&a.cssOnlySignature&&a.atomicClasses?.length===0)});if(p.length===0)return;let h=new Map(p.map(i=>[i,n.get(w(i.id)).cssOnlySignature]));for(let i of p)i.url&&await c.transformRequest(i.url);if(p.every(i=>{let a=n.get(w(i.id));return!!(a&&a.atomicClasses.length===0&&a.cssOnlySignature===h.get(i))}))return Le(c,p,l.timestamp),l.modules.filter(i=>!p.includes(i))}}},...t.framework==="webpack"?{webpack(l){let c=W(l.context,e);V(l,s,x,e.layer,r,j,c.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>X(l.context,e):void 0)}}:{},...t.framework==="rspack"?{rspack(l){let c=W(l.context,e);V(l,s,x,e.layer,r,j,c.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>X(l.context,e):void 0)}}:{},...t.framework==="esbuild"?{esbuild:{config(l){l.metafile=!0},setup(l){let c=l.initialOptions.absWorkingDir??process.cwd();y=c,l.onEnd(async p=>{if(!p.metafile)return;let h=new Set(Object.keys(p.metafile.inputs).map(f=>(0,S.resolve)(c,f)));for(let f of u.keys())h.has(f)||u.delete(f);let m=await v([...u.values()],await x(),e.layer,r,e.darkMode,e.preflight),i=Y(c,l.initialOptions,P(s,m.css));if(!m.css){o&&await(0,O.unlink)(o).catch(()=>{}),o=void 0;return}let a=M(m,(0,S.basename)(i));if(l.initialOptions.write===!1){let f=p.outputFiles;if(!f)return;let k={path:i,contents:ie.Buffer.from(a),hash:"",text:a};if(f.findIndex(de=>de.path===i)!==-1)throw new Error(`CSSX CSS asset collision at "${i}".`);f.push(k);return}await(0,O.mkdir)((0,S.dirname)(i),{recursive:!0}),await(0,O.writeFile)(i,a),o=i})}}}:{}}},U=(0,ae.createUnplugin)(De);function Te(e){return`if (typeof document !== "undefined" && typeof module !== "undefined" && module.hot) {
|
|
6
6
|
const key = "__cssxStylesheetHmr";
|
|
7
7
|
const state = globalThis[key] || (globalThis[key] = { revision: 0, staged: [], replacements: [] });
|
package/dist/rspack.d.cts
CHANGED
package/dist/rspack.d.ts
CHANGED
package/dist/rspack.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as s}from"./chunk-
|
|
1
|
+
import{h as s}from"./chunk-KCX3ORPX.js";var c=s,p=c;export{p as default};
|
package/dist/vite.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";var ce=Object.create;var
|
|
1
|
+
"use strict";var ce=Object.create;var E=Object.defineProperty;var ue=Object.getOwnPropertyDescriptor;var me=Object.getOwnPropertyNames;var pe=Object.getPrototypeOf,fe=Object.prototype.hasOwnProperty;var ge=(e,t)=>{for(var s in t)E(e,s,{get:t[s],enumerable:!0})},q=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of me(t))!fe.call(e,n)&&n!==s&&E(e,n,{get:()=>t[n],enumerable:!(r=ue(t,n))||r.enumerable});return e};var ye=(e,t,s)=>(s=e!=null?ce(pe(e)):{},q(t||!e||!e.__esModule?E(s,"default",{value:e,enumerable:!0}):s,e)),he=e=>q(E({},"__esModule",{value:!0}),e);var _e={};ge(_e,{default:()=>He});module.exports=he(_e);var G=require("@cssxio/compiler"),ae=require("unplugin"),ie=require("buffer"),O=require("fs/promises"),S=require("path");var L=require("@cssxio/compiler"),Z=require("path");var J='*,::before,::after,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}button,select{text-transform:none}button,input:where([type="button"],[type="reset"],[type="submit"]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit}textarea{resize:vertical}::placeholder{opacity:1}button,[role="button"]{cursor:pointer}:disabled{cursor:default}[hidden]:where(:not([hidden="until-found"])){display:none!important}';async function v(e,t,s,r=!0,n,d=!0){let u=Object.create(null),o=Object.create(null),y=new Set,g=!0,x=new Map;for(let i of[...e].sort((a,f)=>a.id.localeCompare(f.id))){for(let[a,f]of Object.entries(i.candidates))if(a in u||(u[a]=f),i.id&&!x.has(a)){let k=i.origins?.[a];x.set(a,{id:i.id,line:k?.line??0,column:k?.column??0})}for(let[a,f]of Object.entries(i.composites??{})){let k=o[a];if(k&&k.join(" ")!==f.join(" "))throw new Error(`CSSX composite class collision for "${a}".`);o[a]=f}i.atomicClasses===void 0&&(g=!1);for(let a of i.atomicClasses??[])y.add(a)}let C=Object.keys(u).sort(),l=d?J:"";if(C.length===0)return{css:l&&s?`@layer ${s}{${l}}`:l};let c=await(0,L.compileUtilities)(C,i=>u[i],t,(0,L.createSelectorAliases)(o),g?y:void 0,{darkMode:n}),p=s?`@layer ${s}{`:"",h=`${p}${l}${c.css}${p?"}":""}`,m=r?Ce(`${p}${l}${c.prefixCss}`,c.entries,x):void 0;return{css:h,...m?{map:m}:{}}}function M(e,t){return e.map?`${e.css}
|
|
2
2
|
/*# sourceMappingURL=${(0,Z.basename)(t)}.map */`:e.css}function A(e,t){return JSON.stringify({...e,file:t})}function Ce(e,t,s){let r=[...new Set(t.map(o=>s.get(o.candidate)?.id).filter(o=>!!o))].sort();if(r.length===0)return;let n=new Map(r.map((o,y)=>[o,y])),d=[],u=K({line:0,column:0},e);for(let o of t){let y=s.get(o.candidate);y&&d.push({...u,source:n.get(y.id),originalLine:y.line,originalColumn:y.column}),u=K(u,o.css)}return{version:3,sources:r,names:[],mappings:xe(d)}}function K(e,t){let s=t.split(`
|
|
3
|
-
`);return{line:e.line+s.length-1,column:s.at(-1).length+e.column*+(s.length===1)}}function xe(e){let t=Array.from({length:Math.max(0,...e.map(o=>o.line))+1},()=>[]),s=0,r=0,n=0,d=0,u=0;for(let o of e)u*=+(o.line===d),d=o.line,t[o.line]?.push(`${
|
|
4
|
-
const style = ${x.code};`,`${t}.ts`,{...s,classNameAllocator:n}),l=Ne(C.code);g=`${g.slice(0,x.start)}${l}${g.slice(x.end)}`,Object.assign(u,C.candidates),Object.assign(o,C.composites),y.push(...C.rules)}return{code:g,rules:y,candidates:u,composites:o,atomicClasses:[],origins:{},cssOnlySignature:g}}function Me(e){let t=[],s=/\bsx\s*\(/g;for(let r of e.matchAll(s)){let n=r.index,d=e.indexOf("(",n),u=0,o="";for(let y=d;y<e.length;y+=1){let g=e[y];if(o){g==="\\"?y+=1:g===o&&(o="");continue}if(g==='"'||g==="'"||g==="`")o=g;else if(g==="(")u+=1;else if(g===")"&&--u===0){t.push({start:n,end:y+1,code:e.slice(n,y+1)}),s.lastIndex=y+1;break}}}return t}function Ne(e){let t="const style = ",s=e.indexOf(t)+t.length,r=e.indexOf(";",s);return e.slice(s,r)}function ne(e,t){if(!e||typeof e!="object")return;let s=e.getCombinedSourcemap;if(typeof s!="function")return;let r=s.call(e);if(!r||typeof r!="object")return;let n=r;if(!(n.version!==3||!Array.isArray(n.sources)||typeof n.mappings!="string"))return{version:n.version,sources:[...n.sources],names:[...n.names??[]],mappings:n.mappings,file:n.file??t.split("?",1).join(""),...n.sourceRoot?{sourceRoot:n.sourceRoot}:{},...n.sourcesContent?{sourcesContent:[...n.sourcesContent]}:{}}}function Re(e){return{className:`cssx-${H(e)}`,css:e}}function Oe(e,t){return e&&t?`@layer ${t}{${e}}`:e}var Ae=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]),Pe=new Set([".git",".next",".turbo","node_modules"]);async function X(e,t){let s=await Ie(e),r=(0,re.createClassNameAllocator)(t.className),n=[];for(let d of s){let u=await(0,T.readFile)(d,"utf8"),o=await I(u,d,{...t,classNameAllocator:r,stableClassNames:!0,stableClassNameFileName:(0,R.relative)(e,d).replaceAll(R.sep,"/")});o&&n.push({id:d,candidates:o.candidates,composites:o.composites,atomicClasses:o.atomicClasses,origins:o.origins})}return n}async function Ie(e){let t=[],s=[e];for(;s.length>0;){let r=s.pop();for(let n of await(0,T.readdir)(r,{withFileTypes:!0})){let d=(0,R.join)(r,n.name);if(n.isDirectory()){Pe.has(n.name)||s.push(d);continue}n.isFile()&&Ae.has(d.slice(d.lastIndexOf(".")))&&t.push(d)}}return t.sort()}function z(e,t,s=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:t,acceptedPath:t,timestamp:s}]})}var j="@cssxio/unplugin/rules",je=/\.(?:[cm]?[jt]sx?|astro)(?:\?.*)?$/,oe=new Map;function
|
|
3
|
+
`);return{line:e.line+s.length-1,column:s.at(-1).length+e.column*+(s.length===1)}}function xe(e){let t=Array.from({length:Math.max(0,...e.map(o=>o.line))+1},()=>[]),s=0,r=0,n=0,d=0,u=0;for(let o of e)u*=+(o.line===d),d=o.line,t[o.line]?.push(`${F(o.column-u)}${F(o.source-s)}${F(o.originalLine-r)}${F(o.originalColumn-n)}`),u=o.column,s=o.source,r=o.originalLine,n=o.originalColumn;return t.map(o=>o.join(",")).join(";")}var be="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function F(e){let t="",s=e<0?-e<<1|1:e<<1;do{let r=s&31;s>>>=5,s&&(r|=32),t+=be[r]}while(s);return t}var Q=require("fs/promises"),b=require("path");async function $(e){return e.themeFile===void 0?e.theme:(0,Q.readFile)((0,b.resolve)(process.cwd(),e.themeFile),"utf8")}function B(e){if(e.theme!==void 0&&e.themeFile!==void 0)throw new Error("CSSX accepts either theme or themeFile, not both.");if(e.layer!==void 0&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(e.layer))throw new Error("CSSX layer must be a valid CSS layer identifier.");if(e.sourceMap!==void 0&&typeof e.sourceMap!="boolean")throw new Error("CSSX sourceMap must be a boolean.");if(e.darkMode!==void 0&&e.darkMode!=="media"&&e.darkMode!=="selector"&&e.darkMode!=="class")throw new Error('CSSX darkMode must be "media", "selector", or "class".');if(e.preflight!==void 0&&typeof e.preflight!="boolean")throw new Error("CSSX preflight must be a boolean.");if(e.reusabilityBudget!==void 0&&e.reusabilityBudget!=="auto"&&(!Number.isFinite(e.reusabilityBudget)||e.reusabilityBudget<0||e.reusabilityBudget>100))throw new Error('CSSX reusabilityBudget must be "auto" or a number from 0 through 100.');_(e.cssFileName??"cssx.css")}function H(e){let t=2166136261;for(let s=0;s<e.length;s++)t^=e.charCodeAt(s),t=Math.imul(t,16777619);return(t>>>0).toString(36)}function P(e,t){return _(e).replaceAll("[hash]",H(t))}function D(e,t){return`${e&&e!=="/"?`/${e.replace(/^\/+|\/+$/g,"")}`:""}/${_(t).replaceAll(b.sep,"/")}`}function Y(e,t,s){return t.outdir?(0,b.resolve)(e,t.outdir,s):t.outfile?(0,b.resolve)((0,b.dirname)((0,b.resolve)(e,t.outfile)),s):(0,b.resolve)(e,s)}function w(e){return e.split("?",1).join("")}function _(e){if(!e||(0,b.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let t=(0,b.normalize)(e);if(t===".."||t.startsWith(`..${b.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!t.endsWith(".css"))throw new Error("cssFileName must end in .css.");return t}function ee(e,t,s){let r=e.getNativeBuildContext?.();if(!r||r.framework!=="webpack"&&r.framework!=="rspack")return;let n=r.loaderContext?._module;if(!n)return;let d=n.buildInfo??(n.buildInfo={});d[s]=t}function V(e,t,s,r,n,d,u,o,y=!0,g){let x=e.name??e.options?.name;x==="server"||x==="edge-server"||e.hooks.thisCompilation.tap("@cssxio/unplugin",C=>{C.hooks.processAssets.tapPromise({name:"@cssxio/unplugin",stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},async()=>{let l=g?await g():Se([...C.modules].map(h=>we(h,d)).filter(h=>h!==void 0),u?.values()??[]),c=await v(l,await s(),r,n,o,y);if(!c.css)return;let p=P(t,c.css);if(C.getAsset?.(p))throw new Error(`CSSX CSS asset collision at "${p}".`);if(C.emitAsset(p,new e.webpack.sources.RawSource(M(c,p))),c.map){let h=`${p}.map`;if(C.getAsset?.(h))throw new Error(`CSSX CSS map asset collision at "${h}".`);C.emitAsset(h,new e.webpack.sources.RawSource(A(c.map,p)))}})})}function Se(e,t){let s=new Map,r=[];for(let n of t)n.id?s.set(n.id,n):r.push(n);for(let n of e)n.id?s.set(n.id,n):r.push(n);return[...s.values(),...r]}function we(e,t){let s=e.buildInfo?.[t];if(!s||typeof s!="object")return;let{id:r,candidates:n,composites:d,atomicClasses:u,origins:o}=s;return{id:typeof r=="string"?r:"",candidates:n&&typeof n=="object"?n:{},composites:d&&typeof d=="object"?d:{},...Array.isArray(u)?{atomicClasses:u}:{},origins:o&&typeof o=="object"?o:{}}}var T=require("fs/promises"),R=require("path"),re=require("@cssxio/compiler");var te=require("@babel/core"),se=ye(require("@cssxio/babel-plugin"),1),N=require("@cssxio/compiler");var ke=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]);async function I(e,t,s={},r){B(s);let n=s.importSource??"@cssxio/cssx",d=t.split("?",1).join("");if(!ke.has(d.slice(d.lastIndexOf(".")))||!e.includes(n))return null;if(d.endsWith(".astro"))return ve(e,t,s);let u=await $(s),o=await(0,te.transformAsync)(e,{babelrc:!1,configFile:!1,filename:d,parserOpts:{plugins:["jsx","typescript"]},plugins:[[se.default,{importSource:n,classNameAllocator:s.classNameAllocator,theme:u,reusabilityBudget:s.reusabilityBudget,stableClassNames:s.stableClassNames,stableClassNameFileName:s.stableClassNameFileName,darkMode:s.darkMode}]],sourceMaps:!0,...r?{inputSourceMap:r}:{}}),y=o.metadata,{candidates:g,origins:x,composites:C,atomicClasses:l,cssOnlySignature:c}=y.cssx,p=Object.keys(g),h=p.length===0?"":(await(0,N.compileUtilities)(p,m=>g[m],u,(0,N.createSelectorAliases)(C),new Set(l),{darkMode:s.darkMode})).css;return{code:o.code,rules:h?[Re(Oe(h,s.layer))]:[],candidates:g,composites:C,atomicClasses:l,origins:x,cssOnlySignature:c,map:o.map}}async function ve(e,t,s){let r=Me(e);if(r.length===0)return null;let n=s.classNameAllocator??(0,N.createClassNameAllocator)(),d=s.importSource??"@cssxio/cssx",u={},o={},y=[],g=e;for(let x of[...r].reverse()){let C=await I(`import { sx } from ${JSON.stringify(d)};
|
|
4
|
+
const style = ${x.code};`,`${t}.ts`,{...s,classNameAllocator:n}),l=Ne(C.code);g=`${g.slice(0,x.start)}${l}${g.slice(x.end)}`,Object.assign(u,C.candidates),Object.assign(o,C.composites),y.push(...C.rules)}return{code:g,rules:y,candidates:u,composites:o,atomicClasses:[],origins:{},cssOnlySignature:g}}function Me(e){let t=[],s=/\bsx\s*\(/g;for(let r of e.matchAll(s)){let n=r.index,d=e.indexOf("(",n),u=0,o="";for(let y=d;y<e.length;y+=1){let g=e[y];if(o){g==="\\"?y+=1:g===o&&(o="");continue}if(g==='"'||g==="'"||g==="`")o=g;else if(g==="(")u+=1;else if(g===")"&&--u===0){t.push({start:n,end:y+1,code:e.slice(n,y+1)}),s.lastIndex=y+1;break}}}return t}function Ne(e){let t="const style = ",s=e.indexOf(t)+t.length,r=e.indexOf(";",s);return e.slice(s,r)}function ne(e,t){if(!e||typeof e!="object")return;let s=e.getCombinedSourcemap;if(typeof s!="function")return;let r=s.call(e);if(!r||typeof r!="object")return;let n=r;if(!(n.version!==3||!Array.isArray(n.sources)||typeof n.mappings!="string"))return{version:n.version,sources:[...n.sources],names:[...n.names??[]],mappings:n.mappings,file:n.file??t.split("?",1).join(""),...n.sourceRoot?{sourceRoot:n.sourceRoot}:{},...n.sourcesContent?{sourcesContent:[...n.sourcesContent]}:{}}}function Re(e){return{className:`cssx-${H(e)}`,css:e}}function Oe(e,t){return e&&t?`@layer ${t}{${e}}`:e}var Ae=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]),Pe=new Set([".git",".next",".turbo","node_modules"]);async function X(e,t){let s=await Ie(e),r=(0,re.createClassNameAllocator)(t.className),n=[];for(let d of s){let u=await(0,T.readFile)(d,"utf8"),o=await I(u,d,{...t,classNameAllocator:r,stableClassNames:!0,stableClassNameFileName:(0,R.relative)(e,d).replaceAll(R.sep,"/")});o&&n.push({id:d,candidates:o.candidates,composites:o.composites,atomicClasses:o.atomicClasses,origins:o.origins})}return n}async function Ie(e){let t=[],s=[e];for(;s.length>0;){let r=s.pop();for(let n of await(0,T.readdir)(r,{withFileTypes:!0})){let d=(0,R.join)(r,n.name);if(n.isDirectory()){Pe.has(n.name)||s.push(d);continue}n.isFile()&&Ae.has(d.slice(d.lastIndexOf(".")))&&t.push(d)}}return t.sort()}function z(e,t,s=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:t,acceptedPath:t,timestamp:s}]})}var j="@cssxio/unplugin/rules",je=/\.(?:[cm]?[jt]sx?|astro)(?:\?.*)?$/,oe=new Map;function Ee(e,t){return`${e}\0${JSON.stringify(t)}`}function W(e,t){let s=Ee(e,t),r=oe.get(s);return r||(r={classNameAllocator:(0,G.createClassNameAllocator)(),transformedDataById:new Map},oe.set(s,r)),r}function Fe(e){let t=e.getNativeBuildContext?.();return t&&(t.framework==="webpack"||t.framework==="rspack")?t.loaderContext?.rootContext??process.cwd():void 0}function Le(e,t,s){let r=new Set;for(let n of t)e.moduleGraph?.invalidateModule(n,r,s,!0);for(let n of r){if(!n.id)continue;let d=e.runner?.evaluatedModules?.getModuleById(n.id);d&&e.runner?.evaluatedModules?.invalidateModule(d)}}function $e(e){return!e||typeof e!="object"?{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""}:Be(e[j])}function Be(e){if(!e||typeof e!="object")return{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""};let{id:t,rules:s,candidates:r,composites:n,atomicClasses:d,origins:u,cssOnlySignature:o}=e;return{id:typeof t=="string"?t:"",rules:Array.isArray(s)?s:[],candidates:r&&typeof r=="object"?r:{},composites:n&&typeof n=="object"?n:{},...Array.isArray(d)?{atomicClasses:d}:{},origins:u&&typeof u=="object"?u:{},cssOnlySignature:typeof o=="string"?o:""}}var De=(e={},t)=>{B(e);let s=e.cssFileName??"cssx.css",r=e.sourceMap??!0,n=new Map,d=(0,G.createClassNameAllocator)(),u=new Map,o,y=process.cwd(),g,x=()=>$(e),C=async function(l,c){let p=new Set(Object.values(c).flatMap(a=>a.type==="chunk"?Object.keys(a.modules??{}):[]).map(w));if(t.framework!=="vite")for(let a of n.keys())p.has(a)||n.delete(a);let h=t.framework==="vite"?[...n.values()]:[...p].map(a=>{let f=$e(this.getModuleInfo(a)?.meta);return Object.keys(f.candidates).length>0?f:n.get(a)??f}),m=await v(h,await x(),e.layer,r,e.darkMode,e.preflight);if(!m.css)return;let i=P(s,m.css);if(Object.hasOwn(c,i))throw new Error(`CSSX CSS asset collision at "${i}".`);if(this.emitFile({type:"asset",fileName:i,source:M(m,i)}),m.map){let a=`${i}.map`;if(Object.hasOwn(c,a))throw new Error(`CSSX CSS map asset collision at "${a}".`);this.emitFile({type:"asset",fileName:a,source:A(m.map,i)})}};return{name:"@cssxio/unplugin",enforce:"pre",transform:{filter:{id:je},async handler(l,c){e.themeFile&&this.addWatchFile?.((0,S.resolve)(process.cwd(),e.themeFile));let p=Fe(this),h=p?W(p,e):void 0,m=await I(l,c,{...e,classNameAllocator:h?.classNameAllocator??d,...e.stableClassNames?{stableClassNameFileName:(0,S.relative)(p??process.cwd(),w(c)).replaceAll(S.sep,"/")}:{}},ne(this,c)),i={id:w(c),rules:m?.rules??[],candidates:m?.candidates??{},composites:m?.composites??{},atomicClasses:m?.atomicClasses??[],origins:m?.origins??{},cssOnlySignature:m?.cssOnlySignature??""};ee(this,i,j);let a=w(c);(m||a===c)&&(n.set(a,i),u.set((0,S.resolve)(y,a),i),h?.transformedDataById.set(a,i)),t.framework==="vite"&&g&&z(g,D("/",s));let f=m?.code??l;return{code:(t.framework==="webpack"||t.framework==="rspack")&&m?`${f}
|
|
5
5
|
${Te(s)}`:f,meta:{[j]:i},...m?.map?{map:m.map}:{}}}},watchChange(l,c){c.event==="delete"&&n.delete(w(l))},rollup:{generateBundle:C},vite:{generateBundle:C,configureServer(l){g=l;let c=D(l.config.base,s),p=D("/",s);l.watcher?.on("unlink",h=>{n.delete(w(h)),z(l,p)}),l.middlewares.use((h,m,i)=>{let a=h.url?.split("?",1)[0];if(a!==c&&(a!==`${c}.map`||!r))return i();x().then(f=>v([...n.values()],f,e.layer,r,e.darkMode,e.preflight)).then(f=>{if(a===`${c}.map`){m.setHeader("Content-Type","application/json; charset=utf-8"),m.setHeader("Cache-Control","no-store"),m.end(f.map?A(f.map,s):"");return}m.setHeader("Content-Type","text/css; charset=utf-8"),m.setHeader("Cache-Control","no-store"),m.end(M(f,s))}).catch(f=>{m.setHeader("Content-Type","text/plain; charset=utf-8"),m.end(f instanceof Error?f.message:"Unable to compile CSSX development stylesheet.")})})},hotUpdate:{order:"pre",async handler(l){let c=this.environment;if(!c||c.name==="client")return;let p=l.modules.filter(i=>{let a=n.get(w(i.id??""));return!!(a&&a.cssOnlySignature&&a.atomicClasses?.length===0)});if(p.length===0)return;let h=new Map(p.map(i=>[i,n.get(w(i.id)).cssOnlySignature]));for(let i of p)i.url&&await c.transformRequest(i.url);if(p.every(i=>{let a=n.get(w(i.id));return!!(a&&a.atomicClasses.length===0&&a.cssOnlySignature===h.get(i))}))return Le(c,p,l.timestamp),l.modules.filter(i=>!p.includes(i))}}},...t.framework==="webpack"?{webpack(l){let c=W(l.context,e);V(l,s,x,e.layer,r,j,c.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>X(l.context,e):void 0)}}:{},...t.framework==="rspack"?{rspack(l){let c=W(l.context,e);V(l,s,x,e.layer,r,j,c.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>X(l.context,e):void 0)}}:{},...t.framework==="esbuild"?{esbuild:{config(l){l.metafile=!0},setup(l){let c=l.initialOptions.absWorkingDir??process.cwd();y=c,l.onEnd(async p=>{if(!p.metafile)return;let h=new Set(Object.keys(p.metafile.inputs).map(f=>(0,S.resolve)(c,f)));for(let f of u.keys())h.has(f)||u.delete(f);let m=await v([...u.values()],await x(),e.layer,r,e.darkMode,e.preflight),i=Y(c,l.initialOptions,P(s,m.css));if(!m.css){o&&await(0,O.unlink)(o).catch(()=>{}),o=void 0;return}let a=M(m,(0,S.basename)(i));if(l.initialOptions.write===!1){let f=p.outputFiles;if(!f)return;let k={path:i,contents:ie.Buffer.from(a),hash:"",text:a};if(f.findIndex(de=>de.path===i)!==-1)throw new Error(`CSSX CSS asset collision at "${i}".`);f.push(k);return}await(0,O.mkdir)((0,S.dirname)(i),{recursive:!0}),await(0,O.writeFile)(i,a),o=i})}}}:{}}},U=(0,ae.createUnplugin)(De);function Te(e){return`if (typeof document !== "undefined" && typeof module !== "undefined" && module.hot) {
|
|
6
6
|
const key = "__cssxStylesheetHmr";
|
|
7
7
|
const state = globalThis[key] || (globalThis[key] = { revision: 0, staged: [], replacements: [] });
|
package/dist/vite.d.cts
CHANGED
package/dist/vite.d.ts
CHANGED
package/dist/vite.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as t}from"./chunk-
|
|
1
|
+
import{e as t}from"./chunk-KCX3ORPX.js";var e=t,i=e;export{i as default};
|
package/dist/webpack.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";var ce=Object.create;var
|
|
1
|
+
"use strict";var ce=Object.create;var E=Object.defineProperty;var ue=Object.getOwnPropertyDescriptor;var me=Object.getOwnPropertyNames;var pe=Object.getPrototypeOf,fe=Object.prototype.hasOwnProperty;var ge=(e,t)=>{for(var s in t)E(e,s,{get:t[s],enumerable:!0})},q=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of me(t))!fe.call(e,n)&&n!==s&&E(e,n,{get:()=>t[n],enumerable:!(r=ue(t,n))||r.enumerable});return e};var ye=(e,t,s)=>(s=e!=null?ce(pe(e)):{},q(t||!e||!e.__esModule?E(s,"default",{value:e,enumerable:!0}):s,e)),he=e=>q(E({},"__esModule",{value:!0}),e);var _e={};ge(_e,{default:()=>He});module.exports=he(_e);var G=require("@cssxio/compiler"),ae=require("unplugin"),ie=require("buffer"),O=require("fs/promises"),S=require("path");var L=require("@cssxio/compiler"),Z=require("path");var J='*,::before,::after,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}button,select{text-transform:none}button,input:where([type="button"],[type="reset"],[type="submit"]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit}textarea{resize:vertical}::placeholder{opacity:1}button,[role="button"]{cursor:pointer}:disabled{cursor:default}[hidden]:where(:not([hidden="until-found"])){display:none!important}';async function v(e,t,s,r=!0,n,d=!0){let u=Object.create(null),o=Object.create(null),y=new Set,g=!0,x=new Map;for(let i of[...e].sort((a,f)=>a.id.localeCompare(f.id))){for(let[a,f]of Object.entries(i.candidates))if(a in u||(u[a]=f),i.id&&!x.has(a)){let k=i.origins?.[a];x.set(a,{id:i.id,line:k?.line??0,column:k?.column??0})}for(let[a,f]of Object.entries(i.composites??{})){let k=o[a];if(k&&k.join(" ")!==f.join(" "))throw new Error(`CSSX composite class collision for "${a}".`);o[a]=f}i.atomicClasses===void 0&&(g=!1);for(let a of i.atomicClasses??[])y.add(a)}let C=Object.keys(u).sort(),l=d?J:"";if(C.length===0)return{css:l&&s?`@layer ${s}{${l}}`:l};let c=await(0,L.compileUtilities)(C,i=>u[i],t,(0,L.createSelectorAliases)(o),g?y:void 0,{darkMode:n}),p=s?`@layer ${s}{`:"",h=`${p}${l}${c.css}${p?"}":""}`,m=r?Ce(`${p}${l}${c.prefixCss}`,c.entries,x):void 0;return{css:h,...m?{map:m}:{}}}function M(e,t){return e.map?`${e.css}
|
|
2
2
|
/*# sourceMappingURL=${(0,Z.basename)(t)}.map */`:e.css}function A(e,t){return JSON.stringify({...e,file:t})}function Ce(e,t,s){let r=[...new Set(t.map(o=>s.get(o.candidate)?.id).filter(o=>!!o))].sort();if(r.length===0)return;let n=new Map(r.map((o,y)=>[o,y])),d=[],u=K({line:0,column:0},e);for(let o of t){let y=s.get(o.candidate);y&&d.push({...u,source:n.get(y.id),originalLine:y.line,originalColumn:y.column}),u=K(u,o.css)}return{version:3,sources:r,names:[],mappings:xe(d)}}function K(e,t){let s=t.split(`
|
|
3
|
-
`);return{line:e.line+s.length-1,column:s.at(-1).length+e.column*+(s.length===1)}}function xe(e){let t=Array.from({length:Math.max(0,...e.map(o=>o.line))+1},()=>[]),s=0,r=0,n=0,d=0,u=0;for(let o of e)u*=+(o.line===d),d=o.line,t[o.line]?.push(`${
|
|
4
|
-
const style = ${x.code};`,`${t}.ts`,{...s,classNameAllocator:n}),l=Ne(C.code);g=`${g.slice(0,x.start)}${l}${g.slice(x.end)}`,Object.assign(u,C.candidates),Object.assign(o,C.composites),y.push(...C.rules)}return{code:g,rules:y,candidates:u,composites:o,atomicClasses:[],origins:{},cssOnlySignature:g}}function Me(e){let t=[],s=/\bsx\s*\(/g;for(let r of e.matchAll(s)){let n=r.index,d=e.indexOf("(",n),u=0,o="";for(let y=d;y<e.length;y+=1){let g=e[y];if(o){g==="\\"?y+=1:g===o&&(o="");continue}if(g==='"'||g==="'"||g==="`")o=g;else if(g==="(")u+=1;else if(g===")"&&--u===0){t.push({start:n,end:y+1,code:e.slice(n,y+1)}),s.lastIndex=y+1;break}}}return t}function Ne(e){let t="const style = ",s=e.indexOf(t)+t.length,r=e.indexOf(";",s);return e.slice(s,r)}function ne(e,t){if(!e||typeof e!="object")return;let s=e.getCombinedSourcemap;if(typeof s!="function")return;let r=s.call(e);if(!r||typeof r!="object")return;let n=r;if(!(n.version!==3||!Array.isArray(n.sources)||typeof n.mappings!="string"))return{version:n.version,sources:[...n.sources],names:[...n.names??[]],mappings:n.mappings,file:n.file??t.split("?",1).join(""),...n.sourceRoot?{sourceRoot:n.sourceRoot}:{},...n.sourcesContent?{sourcesContent:[...n.sourcesContent]}:{}}}function Re(e){return{className:`cssx-${H(e)}`,css:e}}function Oe(e,t){return e&&t?`@layer ${t}{${e}}`:e}var Ae=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]),Pe=new Set([".git",".next",".turbo","node_modules"]);async function W(e,t){let s=await Ie(e),r=(0,re.createClassNameAllocator)(t.className),n=[];for(let d of s){let u=await(0,T.readFile)(d,"utf8"),o=await I(u,d,{...t,classNameAllocator:r,stableClassNames:!0,stableClassNameFileName:(0,R.relative)(e,d).replaceAll(R.sep,"/")});o&&n.push({id:d,candidates:o.candidates,composites:o.composites,atomicClasses:o.atomicClasses,origins:o.origins})}return n}async function Ie(e){let t=[],s=[e];for(;s.length>0;){let r=s.pop();for(let n of await(0,T.readdir)(r,{withFileTypes:!0})){let d=(0,R.join)(r,n.name);if(n.isDirectory()){Pe.has(n.name)||s.push(d);continue}n.isFile()&&Ae.has(d.slice(d.lastIndexOf(".")))&&t.push(d)}}return t.sort()}function X(e,t,s=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:t,acceptedPath:t,timestamp:s}]})}var j="@cssxio/unplugin/rules",je=/\.(?:[cm]?[jt]sx?|astro)(?:\?.*)?$/,oe=new Map;function
|
|
3
|
+
`);return{line:e.line+s.length-1,column:s.at(-1).length+e.column*+(s.length===1)}}function xe(e){let t=Array.from({length:Math.max(0,...e.map(o=>o.line))+1},()=>[]),s=0,r=0,n=0,d=0,u=0;for(let o of e)u*=+(o.line===d),d=o.line,t[o.line]?.push(`${F(o.column-u)}${F(o.source-s)}${F(o.originalLine-r)}${F(o.originalColumn-n)}`),u=o.column,s=o.source,r=o.originalLine,n=o.originalColumn;return t.map(o=>o.join(",")).join(";")}var be="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function F(e){let t="",s=e<0?-e<<1|1:e<<1;do{let r=s&31;s>>>=5,s&&(r|=32),t+=be[r]}while(s);return t}var Q=require("fs/promises"),b=require("path");async function $(e){return e.themeFile===void 0?e.theme:(0,Q.readFile)((0,b.resolve)(process.cwd(),e.themeFile),"utf8")}function B(e){if(e.theme!==void 0&&e.themeFile!==void 0)throw new Error("CSSX accepts either theme or themeFile, not both.");if(e.layer!==void 0&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(e.layer))throw new Error("CSSX layer must be a valid CSS layer identifier.");if(e.sourceMap!==void 0&&typeof e.sourceMap!="boolean")throw new Error("CSSX sourceMap must be a boolean.");if(e.darkMode!==void 0&&e.darkMode!=="media"&&e.darkMode!=="selector"&&e.darkMode!=="class")throw new Error('CSSX darkMode must be "media", "selector", or "class".');if(e.preflight!==void 0&&typeof e.preflight!="boolean")throw new Error("CSSX preflight must be a boolean.");if(e.reusabilityBudget!==void 0&&e.reusabilityBudget!=="auto"&&(!Number.isFinite(e.reusabilityBudget)||e.reusabilityBudget<0||e.reusabilityBudget>100))throw new Error('CSSX reusabilityBudget must be "auto" or a number from 0 through 100.');_(e.cssFileName??"cssx.css")}function H(e){let t=2166136261;for(let s=0;s<e.length;s++)t^=e.charCodeAt(s),t=Math.imul(t,16777619);return(t>>>0).toString(36)}function P(e,t){return _(e).replaceAll("[hash]",H(t))}function D(e,t){return`${e&&e!=="/"?`/${e.replace(/^\/+|\/+$/g,"")}`:""}/${_(t).replaceAll(b.sep,"/")}`}function Y(e,t,s){return t.outdir?(0,b.resolve)(e,t.outdir,s):t.outfile?(0,b.resolve)((0,b.dirname)((0,b.resolve)(e,t.outfile)),s):(0,b.resolve)(e,s)}function w(e){return e.split("?",1).join("")}function _(e){if(!e||(0,b.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let t=(0,b.normalize)(e);if(t===".."||t.startsWith(`..${b.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!t.endsWith(".css"))throw new Error("cssFileName must end in .css.");return t}function ee(e,t,s){let r=e.getNativeBuildContext?.();if(!r||r.framework!=="webpack"&&r.framework!=="rspack")return;let n=r.loaderContext?._module;if(!n)return;let d=n.buildInfo??(n.buildInfo={});d[s]=t}function V(e,t,s,r,n,d,u,o,y=!0,g){let x=e.name??e.options?.name;x==="server"||x==="edge-server"||e.hooks.thisCompilation.tap("@cssxio/unplugin",C=>{C.hooks.processAssets.tapPromise({name:"@cssxio/unplugin",stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},async()=>{let l=g?await g():Se([...C.modules].map(h=>we(h,d)).filter(h=>h!==void 0),u?.values()??[]),c=await v(l,await s(),r,n,o,y);if(!c.css)return;let p=P(t,c.css);if(C.getAsset?.(p))throw new Error(`CSSX CSS asset collision at "${p}".`);if(C.emitAsset(p,new e.webpack.sources.RawSource(M(c,p))),c.map){let h=`${p}.map`;if(C.getAsset?.(h))throw new Error(`CSSX CSS map asset collision at "${h}".`);C.emitAsset(h,new e.webpack.sources.RawSource(A(c.map,p)))}})})}function Se(e,t){let s=new Map,r=[];for(let n of t)n.id?s.set(n.id,n):r.push(n);for(let n of e)n.id?s.set(n.id,n):r.push(n);return[...s.values(),...r]}function we(e,t){let s=e.buildInfo?.[t];if(!s||typeof s!="object")return;let{id:r,candidates:n,composites:d,atomicClasses:u,origins:o}=s;return{id:typeof r=="string"?r:"",candidates:n&&typeof n=="object"?n:{},composites:d&&typeof d=="object"?d:{},...Array.isArray(u)?{atomicClasses:u}:{},origins:o&&typeof o=="object"?o:{}}}var T=require("fs/promises"),R=require("path"),re=require("@cssxio/compiler");var te=require("@babel/core"),se=ye(require("@cssxio/babel-plugin"),1),N=require("@cssxio/compiler");var ke=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]);async function I(e,t,s={},r){B(s);let n=s.importSource??"@cssxio/cssx",d=t.split("?",1).join("");if(!ke.has(d.slice(d.lastIndexOf(".")))||!e.includes(n))return null;if(d.endsWith(".astro"))return ve(e,t,s);let u=await $(s),o=await(0,te.transformAsync)(e,{babelrc:!1,configFile:!1,filename:d,parserOpts:{plugins:["jsx","typescript"]},plugins:[[se.default,{importSource:n,classNameAllocator:s.classNameAllocator,theme:u,reusabilityBudget:s.reusabilityBudget,stableClassNames:s.stableClassNames,stableClassNameFileName:s.stableClassNameFileName,darkMode:s.darkMode}]],sourceMaps:!0,...r?{inputSourceMap:r}:{}}),y=o.metadata,{candidates:g,origins:x,composites:C,atomicClasses:l,cssOnlySignature:c}=y.cssx,p=Object.keys(g),h=p.length===0?"":(await(0,N.compileUtilities)(p,m=>g[m],u,(0,N.createSelectorAliases)(C),new Set(l),{darkMode:s.darkMode})).css;return{code:o.code,rules:h?[Re(Oe(h,s.layer))]:[],candidates:g,composites:C,atomicClasses:l,origins:x,cssOnlySignature:c,map:o.map}}async function ve(e,t,s){let r=Me(e);if(r.length===0)return null;let n=s.classNameAllocator??(0,N.createClassNameAllocator)(),d=s.importSource??"@cssxio/cssx",u={},o={},y=[],g=e;for(let x of[...r].reverse()){let C=await I(`import { sx } from ${JSON.stringify(d)};
|
|
4
|
+
const style = ${x.code};`,`${t}.ts`,{...s,classNameAllocator:n}),l=Ne(C.code);g=`${g.slice(0,x.start)}${l}${g.slice(x.end)}`,Object.assign(u,C.candidates),Object.assign(o,C.composites),y.push(...C.rules)}return{code:g,rules:y,candidates:u,composites:o,atomicClasses:[],origins:{},cssOnlySignature:g}}function Me(e){let t=[],s=/\bsx\s*\(/g;for(let r of e.matchAll(s)){let n=r.index,d=e.indexOf("(",n),u=0,o="";for(let y=d;y<e.length;y+=1){let g=e[y];if(o){g==="\\"?y+=1:g===o&&(o="");continue}if(g==='"'||g==="'"||g==="`")o=g;else if(g==="(")u+=1;else if(g===")"&&--u===0){t.push({start:n,end:y+1,code:e.slice(n,y+1)}),s.lastIndex=y+1;break}}}return t}function Ne(e){let t="const style = ",s=e.indexOf(t)+t.length,r=e.indexOf(";",s);return e.slice(s,r)}function ne(e,t){if(!e||typeof e!="object")return;let s=e.getCombinedSourcemap;if(typeof s!="function")return;let r=s.call(e);if(!r||typeof r!="object")return;let n=r;if(!(n.version!==3||!Array.isArray(n.sources)||typeof n.mappings!="string"))return{version:n.version,sources:[...n.sources],names:[...n.names??[]],mappings:n.mappings,file:n.file??t.split("?",1).join(""),...n.sourceRoot?{sourceRoot:n.sourceRoot}:{},...n.sourcesContent?{sourcesContent:[...n.sourcesContent]}:{}}}function Re(e){return{className:`cssx-${H(e)}`,css:e}}function Oe(e,t){return e&&t?`@layer ${t}{${e}}`:e}var Ae=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]),Pe=new Set([".git",".next",".turbo","node_modules"]);async function W(e,t){let s=await Ie(e),r=(0,re.createClassNameAllocator)(t.className),n=[];for(let d of s){let u=await(0,T.readFile)(d,"utf8"),o=await I(u,d,{...t,classNameAllocator:r,stableClassNames:!0,stableClassNameFileName:(0,R.relative)(e,d).replaceAll(R.sep,"/")});o&&n.push({id:d,candidates:o.candidates,composites:o.composites,atomicClasses:o.atomicClasses,origins:o.origins})}return n}async function Ie(e){let t=[],s=[e];for(;s.length>0;){let r=s.pop();for(let n of await(0,T.readdir)(r,{withFileTypes:!0})){let d=(0,R.join)(r,n.name);if(n.isDirectory()){Pe.has(n.name)||s.push(d);continue}n.isFile()&&Ae.has(d.slice(d.lastIndexOf(".")))&&t.push(d)}}return t.sort()}function X(e,t,s=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:t,acceptedPath:t,timestamp:s}]})}var j="@cssxio/unplugin/rules",je=/\.(?:[cm]?[jt]sx?|astro)(?:\?.*)?$/,oe=new Map;function Ee(e,t){return`${e}\0${JSON.stringify(t)}`}function z(e,t){let s=Ee(e,t),r=oe.get(s);return r||(r={classNameAllocator:(0,G.createClassNameAllocator)(),transformedDataById:new Map},oe.set(s,r)),r}function Fe(e){let t=e.getNativeBuildContext?.();return t&&(t.framework==="webpack"||t.framework==="rspack")?t.loaderContext?.rootContext??process.cwd():void 0}function Le(e,t,s){let r=new Set;for(let n of t)e.moduleGraph?.invalidateModule(n,r,s,!0);for(let n of r){if(!n.id)continue;let d=e.runner?.evaluatedModules?.getModuleById(n.id);d&&e.runner?.evaluatedModules?.invalidateModule(d)}}function $e(e){return!e||typeof e!="object"?{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""}:Be(e[j])}function Be(e){if(!e||typeof e!="object")return{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""};let{id:t,rules:s,candidates:r,composites:n,atomicClasses:d,origins:u,cssOnlySignature:o}=e;return{id:typeof t=="string"?t:"",rules:Array.isArray(s)?s:[],candidates:r&&typeof r=="object"?r:{},composites:n&&typeof n=="object"?n:{},...Array.isArray(d)?{atomicClasses:d}:{},origins:u&&typeof u=="object"?u:{},cssOnlySignature:typeof o=="string"?o:""}}var De=(e={},t)=>{B(e);let s=e.cssFileName??"cssx.css",r=e.sourceMap??!0,n=new Map,d=(0,G.createClassNameAllocator)(),u=new Map,o,y=process.cwd(),g,x=()=>$(e),C=async function(l,c){let p=new Set(Object.values(c).flatMap(a=>a.type==="chunk"?Object.keys(a.modules??{}):[]).map(w));if(t.framework!=="vite")for(let a of n.keys())p.has(a)||n.delete(a);let h=t.framework==="vite"?[...n.values()]:[...p].map(a=>{let f=$e(this.getModuleInfo(a)?.meta);return Object.keys(f.candidates).length>0?f:n.get(a)??f}),m=await v(h,await x(),e.layer,r,e.darkMode,e.preflight);if(!m.css)return;let i=P(s,m.css);if(Object.hasOwn(c,i))throw new Error(`CSSX CSS asset collision at "${i}".`);if(this.emitFile({type:"asset",fileName:i,source:M(m,i)}),m.map){let a=`${i}.map`;if(Object.hasOwn(c,a))throw new Error(`CSSX CSS map asset collision at "${a}".`);this.emitFile({type:"asset",fileName:a,source:A(m.map,i)})}};return{name:"@cssxio/unplugin",enforce:"pre",transform:{filter:{id:je},async handler(l,c){e.themeFile&&this.addWatchFile?.((0,S.resolve)(process.cwd(),e.themeFile));let p=Fe(this),h=p?z(p,e):void 0,m=await I(l,c,{...e,classNameAllocator:h?.classNameAllocator??d,...e.stableClassNames?{stableClassNameFileName:(0,S.relative)(p??process.cwd(),w(c)).replaceAll(S.sep,"/")}:{}},ne(this,c)),i={id:w(c),rules:m?.rules??[],candidates:m?.candidates??{},composites:m?.composites??{},atomicClasses:m?.atomicClasses??[],origins:m?.origins??{},cssOnlySignature:m?.cssOnlySignature??""};ee(this,i,j);let a=w(c);(m||a===c)&&(n.set(a,i),u.set((0,S.resolve)(y,a),i),h?.transformedDataById.set(a,i)),t.framework==="vite"&&g&&X(g,D("/",s));let f=m?.code??l;return{code:(t.framework==="webpack"||t.framework==="rspack")&&m?`${f}
|
|
5
5
|
${Te(s)}`:f,meta:{[j]:i},...m?.map?{map:m.map}:{}}}},watchChange(l,c){c.event==="delete"&&n.delete(w(l))},rollup:{generateBundle:C},vite:{generateBundle:C,configureServer(l){g=l;let c=D(l.config.base,s),p=D("/",s);l.watcher?.on("unlink",h=>{n.delete(w(h)),X(l,p)}),l.middlewares.use((h,m,i)=>{let a=h.url?.split("?",1)[0];if(a!==c&&(a!==`${c}.map`||!r))return i();x().then(f=>v([...n.values()],f,e.layer,r,e.darkMode,e.preflight)).then(f=>{if(a===`${c}.map`){m.setHeader("Content-Type","application/json; charset=utf-8"),m.setHeader("Cache-Control","no-store"),m.end(f.map?A(f.map,s):"");return}m.setHeader("Content-Type","text/css; charset=utf-8"),m.setHeader("Cache-Control","no-store"),m.end(M(f,s))}).catch(f=>{m.setHeader("Content-Type","text/plain; charset=utf-8"),m.end(f instanceof Error?f.message:"Unable to compile CSSX development stylesheet.")})})},hotUpdate:{order:"pre",async handler(l){let c=this.environment;if(!c||c.name==="client")return;let p=l.modules.filter(i=>{let a=n.get(w(i.id??""));return!!(a&&a.cssOnlySignature&&a.atomicClasses?.length===0)});if(p.length===0)return;let h=new Map(p.map(i=>[i,n.get(w(i.id)).cssOnlySignature]));for(let i of p)i.url&&await c.transformRequest(i.url);if(p.every(i=>{let a=n.get(w(i.id));return!!(a&&a.atomicClasses.length===0&&a.cssOnlySignature===h.get(i))}))return Le(c,p,l.timestamp),l.modules.filter(i=>!p.includes(i))}}},...t.framework==="webpack"?{webpack(l){let c=z(l.context,e);V(l,s,x,e.layer,r,j,c.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>W(l.context,e):void 0)}}:{},...t.framework==="rspack"?{rspack(l){let c=z(l.context,e);V(l,s,x,e.layer,r,j,c.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>W(l.context,e):void 0)}}:{},...t.framework==="esbuild"?{esbuild:{config(l){l.metafile=!0},setup(l){let c=l.initialOptions.absWorkingDir??process.cwd();y=c,l.onEnd(async p=>{if(!p.metafile)return;let h=new Set(Object.keys(p.metafile.inputs).map(f=>(0,S.resolve)(c,f)));for(let f of u.keys())h.has(f)||u.delete(f);let m=await v([...u.values()],await x(),e.layer,r,e.darkMode,e.preflight),i=Y(c,l.initialOptions,P(s,m.css));if(!m.css){o&&await(0,O.unlink)(o).catch(()=>{}),o=void 0;return}let a=M(m,(0,S.basename)(i));if(l.initialOptions.write===!1){let f=p.outputFiles;if(!f)return;let k={path:i,contents:ie.Buffer.from(a),hash:"",text:a};if(f.findIndex(de=>de.path===i)!==-1)throw new Error(`CSSX CSS asset collision at "${i}".`);f.push(k);return}await(0,O.mkdir)((0,S.dirname)(i),{recursive:!0}),await(0,O.writeFile)(i,a),o=i})}}}:{}}},U=(0,ae.createUnplugin)(De);function Te(e){return`if (typeof document !== "undefined" && typeof module !== "undefined" && module.hot) {
|
|
6
6
|
const key = "__cssxStylesheetHmr";
|
|
7
7
|
const state = globalThis[key] || (globalThis[key] = { revision: 0, staged: [], replacements: [] });
|
package/dist/webpack.d.cts
CHANGED
package/dist/webpack.d.ts
CHANGED
package/dist/webpack.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as c}from"./chunk-
|
|
1
|
+
import{g as c}from"./chunk-KCX3ORPX.js";var e=c,p=e;export{p as default};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cssxio/unplugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Universal bundler plugin for CSSX.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"@babel/core": "^7.29.7",
|
|
53
53
|
"@cssxio/babel-plugin": "^0.4.3",
|
|
54
|
-
"@cssxio/compiler": "^0.
|
|
54
|
+
"@cssxio/compiler": "^0.5.0",
|
|
55
55
|
"unplugin": "^3.3.0"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|