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