@cssxio/unplugin 0.5.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,10 +1,11 @@
1
1
  import * as _webpack from 'webpack';
2
+ import * as _rollup from 'rollup';
2
3
  import * as _unplugin from 'unplugin';
3
4
  import { UnpluginFactory } from 'unplugin';
4
- import { C as CssxPluginOptions } from './options-kIzRyZSc.cjs';
5
- import { DarkMode, CssxRule, ClassNameAllocator } from '@cssxio/compiler';
6
- import { transformAsync } from '@babel/core';
5
+ import { C as CssxPluginOptions } from './options-ByIyWTN0.cjs';
7
6
  export { default as esbuild } from './esbuild.cjs';
7
+ import { transformAsync } from '@babel/core';
8
+ import { DarkMode, CssxRule, ClassNameAllocator } from '@cssxio/compiler';
8
9
  import 'esbuild';
9
10
 
10
11
  /** The source location of one utility string. */
@@ -45,6 +46,7 @@ interface CssxStylesheet {
45
46
  /** Source map for generated CSS when source locations are available. */
46
47
  readonly map?: CssxSourceMap;
47
48
  }
49
+
48
50
  /**
49
51
  * Builds one stylesheet from source module data.
50
52
  *
@@ -53,11 +55,29 @@ interface CssxStylesheet {
53
55
  * @param layer Optional CSS layer for the output.
54
56
  * @param sourceMap Whether to generate a CSS source map.
55
57
  * @param darkMode Controls how the `dark` variant is activated.
56
- * @param preflight Whether to add the Tailwind-compatible browser baseline before utility rules.
58
+ * @param preflight Whether to add the browser baseline before utility rules.
57
59
  * @returns The generated CSS and its source map when source locations exist.
58
60
  */
59
61
  declare function compileCssxStylesheet(data: readonly CssxSourceModule[], theme?: string, layer?: string, sourceMap?: boolean, darkMode?: DarkMode, preflight?: boolean): Promise<CssxStylesheet>;
60
62
 
63
+ /** A source map accepted from a build tool. */
64
+ interface IncomingSourceMap {
65
+ /** Source map format version. CSSX accepts version 3. */
66
+ readonly version: number;
67
+ /** Source file names referenced by the map. */
68
+ readonly sources: string[];
69
+ /** Original identifier names referenced by the map. */
70
+ readonly names: string[];
71
+ /** Optional prefix for source file names. */
72
+ readonly sourceRoot?: string;
73
+ /** Optional source file contents. */
74
+ readonly sourcesContent?: string[];
75
+ /** Encoded source map segments. */
76
+ readonly mappings: string;
77
+ /** Name of the generated file. */
78
+ readonly file: string;
79
+ }
80
+
61
81
  /** The result of transforming one source module. */
62
82
  interface TransformResult {
63
83
  /** JavaScript source after the CSSX transform. */
@@ -77,23 +97,6 @@ interface TransformResult {
77
97
  /** Source map that continues a map supplied by an earlier transform. */
78
98
  readonly map?: NonNullable<Awaited<ReturnType<typeof transformAsync>>>['map'];
79
99
  }
80
- /** A source map accepted from a build tool. */
81
- interface IncomingSourceMap {
82
- /** Source map format version. CSSX accepts version 3. */
83
- readonly version: number;
84
- /** Source file names referenced by the map. */
85
- readonly sources: string[];
86
- /** Original identifier names referenced by the map. */
87
- readonly names: string[];
88
- /** Optional prefix for source file names. */
89
- readonly sourceRoot?: string;
90
- /** Optional source file contents. */
91
- readonly sourcesContent?: string[];
92
- /** Encoded source map segments. */
93
- readonly mappings: string;
94
- /** Name of the generated file. */
95
- readonly file: string;
96
- }
97
100
  /**
98
101
  * Transforms one source module that imports CSSX.
99
102
  *
@@ -110,7 +113,7 @@ declare function transformCssxModule(code: string, id: string, options?: CssxPlu
110
113
  }, inputSourceMap?: IncomingSourceMap): Promise<TransformResult | null>;
111
114
 
112
115
  /**
113
- * Low-level factory used by Unplugin to create a CSSX adapter for one build tool.
116
+ * Creates the CSSX adapter hooks consumed by Unplugin for one build tool.
114
117
  *
115
118
  * @param options CSSX adapter options.
116
119
  * @param meta Unplugin metadata that identifies the active build tool.
@@ -132,7 +135,7 @@ declare const vite: (options?: CssxPluginOptions | undefined) => _unplugin.ViteP
132
135
  * @param options CSSX adapter options.
133
136
  * @returns The Rollup plugin.
134
137
  */
135
- declare const rollup: (options?: CssxPluginOptions | undefined) => _unplugin.RollupPlugin<any> | _unplugin.RollupPlugin<any>[];
138
+ declare const rollup: (options?: CssxPluginOptions | undefined) => _rollup.Plugin<any> | _rollup.Plugin<any>[];
136
139
  /**
137
140
  * Callable factory that creates the CSSX adapter for webpack.
138
141
  *
package/dist/index.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import * as _webpack from 'webpack';
2
+ import * as _rollup from 'rollup';
2
3
  import * as _unplugin from 'unplugin';
3
4
  import { UnpluginFactory } from 'unplugin';
4
- import { C as CssxPluginOptions } from './options-kIzRyZSc.js';
5
- import { DarkMode, CssxRule, ClassNameAllocator } from '@cssxio/compiler';
6
- import { transformAsync } from '@babel/core';
5
+ import { C as CssxPluginOptions } from './options-ByIyWTN0.js';
7
6
  export { default as esbuild } from './esbuild.js';
7
+ import { transformAsync } from '@babel/core';
8
+ import { DarkMode, CssxRule, ClassNameAllocator } from '@cssxio/compiler';
8
9
  import 'esbuild';
9
10
 
10
11
  /** The source location of one utility string. */
@@ -45,6 +46,7 @@ interface CssxStylesheet {
45
46
  /** Source map for generated CSS when source locations are available. */
46
47
  readonly map?: CssxSourceMap;
47
48
  }
49
+
48
50
  /**
49
51
  * Builds one stylesheet from source module data.
50
52
  *
@@ -53,11 +55,29 @@ interface CssxStylesheet {
53
55
  * @param layer Optional CSS layer for the output.
54
56
  * @param sourceMap Whether to generate a CSS source map.
55
57
  * @param darkMode Controls how the `dark` variant is activated.
56
- * @param preflight Whether to add the Tailwind-compatible browser baseline before utility rules.
58
+ * @param preflight Whether to add the browser baseline before utility rules.
57
59
  * @returns The generated CSS and its source map when source locations exist.
58
60
  */
59
61
  declare function compileCssxStylesheet(data: readonly CssxSourceModule[], theme?: string, layer?: string, sourceMap?: boolean, darkMode?: DarkMode, preflight?: boolean): Promise<CssxStylesheet>;
60
62
 
63
+ /** A source map accepted from a build tool. */
64
+ interface IncomingSourceMap {
65
+ /** Source map format version. CSSX accepts version 3. */
66
+ readonly version: number;
67
+ /** Source file names referenced by the map. */
68
+ readonly sources: string[];
69
+ /** Original identifier names referenced by the map. */
70
+ readonly names: string[];
71
+ /** Optional prefix for source file names. */
72
+ readonly sourceRoot?: string;
73
+ /** Optional source file contents. */
74
+ readonly sourcesContent?: string[];
75
+ /** Encoded source map segments. */
76
+ readonly mappings: string;
77
+ /** Name of the generated file. */
78
+ readonly file: string;
79
+ }
80
+
61
81
  /** The result of transforming one source module. */
62
82
  interface TransformResult {
63
83
  /** JavaScript source after the CSSX transform. */
@@ -77,23 +97,6 @@ interface TransformResult {
77
97
  /** Source map that continues a map supplied by an earlier transform. */
78
98
  readonly map?: NonNullable<Awaited<ReturnType<typeof transformAsync>>>['map'];
79
99
  }
80
- /** A source map accepted from a build tool. */
81
- interface IncomingSourceMap {
82
- /** Source map format version. CSSX accepts version 3. */
83
- readonly version: number;
84
- /** Source file names referenced by the map. */
85
- readonly sources: string[];
86
- /** Original identifier names referenced by the map. */
87
- readonly names: string[];
88
- /** Optional prefix for source file names. */
89
- readonly sourceRoot?: string;
90
- /** Optional source file contents. */
91
- readonly sourcesContent?: string[];
92
- /** Encoded source map segments. */
93
- readonly mappings: string;
94
- /** Name of the generated file. */
95
- readonly file: string;
96
- }
97
100
  /**
98
101
  * Transforms one source module that imports CSSX.
99
102
  *
@@ -110,7 +113,7 @@ declare function transformCssxModule(code: string, id: string, options?: CssxPlu
110
113
  }, inputSourceMap?: IncomingSourceMap): Promise<TransformResult | null>;
111
114
 
112
115
  /**
113
- * Low-level factory used by Unplugin to create a CSSX adapter for one build tool.
116
+ * Creates the CSSX adapter hooks consumed by Unplugin for one build tool.
114
117
  *
115
118
  * @param options CSSX adapter options.
116
119
  * @param meta Unplugin metadata that identifies the active build tool.
@@ -132,7 +135,7 @@ declare const vite: (options?: CssxPluginOptions | undefined) => _unplugin.ViteP
132
135
  * @param options CSSX adapter options.
133
136
  * @returns The Rollup plugin.
134
137
  */
135
- declare const rollup: (options?: CssxPluginOptions | undefined) => _unplugin.RollupPlugin<any> | _unplugin.RollupPlugin<any>[];
138
+ declare const rollup: (options?: CssxPluginOptions | undefined) => _rollup.Plugin<any> | _rollup.Plugin<any>[];
136
139
  /**
137
140
  * Callable factory that creates the CSSX adapter for webpack.
138
141
  *
package/dist/index.js CHANGED
@@ -1 +1 @@
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};
1
+ import{a,b,c,d,e,f,g,h,i,j}from"./chunk-SKXNEQ2Z.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 Tailwind-compatible browser baseline rules before generated utilities. Defaults to `true`. */
25
+ /** Adds 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 Tailwind-compatible browser baseline rules before generated utilities. Defaults to `true`. */
25
+ /** Adds browser baseline rules before generated utilities. Defaults to `true`. */
26
26
  readonly preflight?: boolean;
27
27
  }
28
28
 
package/dist/rollup.cjs CHANGED
@@ -1,8 +1,12 @@
1
- "use strict";var ce=Object.create;var E=Object.defineProperty;var ue=Object.getOwnPropertyDescriptor;var me=Object.getOwnPropertyNames;var pe=Object.getPrototypeOf,fe=Object.prototype.hasOwnProperty;var ge=(e,t)=>{for(var s in t)E(e,s,{get:t[s],enumerable:!0})},q=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of me(t))!fe.call(e,n)&&n!==s&&E(e,n,{get:()=>t[n],enumerable:!(r=ue(t,n))||r.enumerable});return e};var ye=(e,t,s)=>(s=e!=null?ce(pe(e)):{},q(t||!e||!e.__esModule?E(s,"default",{value:e,enumerable:!0}):s,e)),he=e=>q(E({},"__esModule",{value:!0}),e);var _e={};ge(_e,{default:()=>He});module.exports=he(_e);var G=require("@cssxio/compiler"),ae=require("unplugin"),ie=require("buffer"),O=require("fs/promises"),S=require("path");var L=require("@cssxio/compiler"),Z=require("path");var J='*,::before,::after,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}button,select{text-transform:none}button,input:where([type="button"],[type="reset"],[type="submit"]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit}textarea{resize:vertical}::placeholder{opacity:1}button,[role="button"]{cursor:pointer}:disabled{cursor:default}[hidden]:where(:not([hidden="until-found"])){display:none!important}';async function v(e,t,s,r=!0,n,d=!0){let u=Object.create(null),o=Object.create(null),y=new Set,g=!0,x=new Map;for(let i of[...e].sort((a,f)=>a.id.localeCompare(f.id))){for(let[a,f]of Object.entries(i.candidates))if(a in u||(u[a]=f),i.id&&!x.has(a)){let k=i.origins?.[a];x.set(a,{id:i.id,line:k?.line??0,column:k?.column??0})}for(let[a,f]of Object.entries(i.composites??{})){let k=o[a];if(k&&k.join(" ")!==f.join(" "))throw new Error(`CSSX composite class collision for "${a}".`);o[a]=f}i.atomicClasses===void 0&&(g=!1);for(let a of i.atomicClasses??[])y.add(a)}let C=Object.keys(u).sort(),l=d?J:"";if(C.length===0)return{css:l&&s?`@layer ${s}{${l}}`:l};let c=await(0,L.compileUtilities)(C,i=>u[i],t,(0,L.createSelectorAliases)(o),g?y:void 0,{darkMode:n}),p=s?`@layer ${s}{`:"",h=`${p}${l}${c.css}${p?"}":""}`,m=r?Ce(`${p}${l}${c.prefixCss}`,c.entries,x):void 0;return{css:h,...m?{map:m}:{}}}function M(e,t){return e.map?`${e.css}
2
- /*# sourceMappingURL=${(0,Z.basename)(t)}.map */`:e.css}function A(e,t){return JSON.stringify({...e,file:t})}function Ce(e,t,s){let r=[...new Set(t.map(o=>s.get(o.candidate)?.id).filter(o=>!!o))].sort();if(r.length===0)return;let n=new Map(r.map((o,y)=>[o,y])),d=[],u=K({line:0,column:0},e);for(let o of t){let y=s.get(o.candidate);y&&d.push({...u,source:n.get(y.id),originalLine:y.line,originalColumn:y.column}),u=K(u,o.css)}return{version:3,sources:r,names:[],mappings:xe(d)}}function K(e,t){let s=t.split(`
3
- `);return{line:e.line+s.length-1,column:s.at(-1).length+e.column*+(s.length===1)}}function xe(e){let t=Array.from({length:Math.max(0,...e.map(o=>o.line))+1},()=>[]),s=0,r=0,n=0,d=0,u=0;for(let o of e)u*=+(o.line===d),d=o.line,t[o.line]?.push(`${F(o.column-u)}${F(o.source-s)}${F(o.originalLine-r)}${F(o.originalColumn-n)}`),u=o.column,s=o.source,r=o.originalLine,n=o.originalColumn;return t.map(o=>o.join(",")).join(";")}var be="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function F(e){let t="",s=e<0?-e<<1|1:e<<1;do{let r=s&31;s>>>=5,s&&(r|=32),t+=be[r]}while(s);return t}var Q=require("fs/promises"),b=require("path");async function $(e){return e.themeFile===void 0?e.theme:(0,Q.readFile)((0,b.resolve)(process.cwd(),e.themeFile),"utf8")}function B(e){if(e.theme!==void 0&&e.themeFile!==void 0)throw new Error("CSSX accepts either theme or themeFile, not both.");if(e.layer!==void 0&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(e.layer))throw new Error("CSSX layer must be a valid CSS layer identifier.");if(e.sourceMap!==void 0&&typeof e.sourceMap!="boolean")throw new Error("CSSX sourceMap must be a boolean.");if(e.darkMode!==void 0&&e.darkMode!=="media"&&e.darkMode!=="selector"&&e.darkMode!=="class")throw new Error('CSSX darkMode must be "media", "selector", or "class".');if(e.preflight!==void 0&&typeof e.preflight!="boolean")throw new Error("CSSX preflight must be a boolean.");if(e.reusabilityBudget!==void 0&&e.reusabilityBudget!=="auto"&&(!Number.isFinite(e.reusabilityBudget)||e.reusabilityBudget<0||e.reusabilityBudget>100))throw new Error('CSSX reusabilityBudget must be "auto" or a number from 0 through 100.');_(e.cssFileName??"cssx.css")}function H(e){let t=2166136261;for(let s=0;s<e.length;s++)t^=e.charCodeAt(s),t=Math.imul(t,16777619);return(t>>>0).toString(36)}function P(e,t){return _(e).replaceAll("[hash]",H(t))}function D(e,t){return`${e&&e!=="/"?`/${e.replace(/^\/+|\/+$/g,"")}`:""}/${_(t).replaceAll(b.sep,"/")}`}function Y(e,t,s){return t.outdir?(0,b.resolve)(e,t.outdir,s):t.outfile?(0,b.resolve)((0,b.dirname)((0,b.resolve)(e,t.outfile)),s):(0,b.resolve)(e,s)}function w(e){return e.split("?",1).join("")}function _(e){if(!e||(0,b.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let t=(0,b.normalize)(e);if(t===".."||t.startsWith(`..${b.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!t.endsWith(".css"))throw new Error("cssFileName must end in .css.");return t}function ee(e,t,s){let r=e.getNativeBuildContext?.();if(!r||r.framework!=="webpack"&&r.framework!=="rspack")return;let n=r.loaderContext?._module;if(!n)return;let d=n.buildInfo??(n.buildInfo={});d[s]=t}function V(e,t,s,r,n,d,u,o,y=!0,g){let x=e.name??e.options?.name;x==="server"||x==="edge-server"||e.hooks.thisCompilation.tap("@cssxio/unplugin",C=>{C.hooks.processAssets.tapPromise({name:"@cssxio/unplugin",stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},async()=>{let l=g?await g():Se([...C.modules].map(h=>we(h,d)).filter(h=>h!==void 0),u?.values()??[]),c=await v(l,await s(),r,n,o,y);if(!c.css)return;let p=P(t,c.css);if(C.getAsset?.(p))throw new Error(`CSSX CSS asset collision at "${p}".`);if(C.emitAsset(p,new e.webpack.sources.RawSource(M(c,p))),c.map){let h=`${p}.map`;if(C.getAsset?.(h))throw new Error(`CSSX CSS map asset collision at "${h}".`);C.emitAsset(h,new e.webpack.sources.RawSource(A(c.map,p)))}})})}function Se(e,t){let s=new Map,r=[];for(let n of t)n.id?s.set(n.id,n):r.push(n);for(let n of e)n.id?s.set(n.id,n):r.push(n);return[...s.values(),...r]}function we(e,t){let s=e.buildInfo?.[t];if(!s||typeof s!="object")return;let{id:r,candidates:n,composites:d,atomicClasses:u,origins:o}=s;return{id:typeof r=="string"?r:"",candidates:n&&typeof n=="object"?n:{},composites:d&&typeof d=="object"?d:{},...Array.isArray(u)?{atomicClasses:u}:{},origins:o&&typeof o=="object"?o:{}}}var T=require("fs/promises"),R=require("path"),re=require("@cssxio/compiler");var te=require("@babel/core"),se=ye(require("@cssxio/babel-plugin"),1),N=require("@cssxio/compiler");var ke=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]);async function I(e,t,s={},r){B(s);let n=s.importSource??"@cssxio/cssx",d=t.split("?",1).join("");if(!ke.has(d.slice(d.lastIndexOf(".")))||!e.includes(n))return null;if(d.endsWith(".astro"))return ve(e,t,s);let u=await $(s),o=await(0,te.transformAsync)(e,{babelrc:!1,configFile:!1,filename:d,parserOpts:{plugins:["jsx","typescript"]},plugins:[[se.default,{importSource:n,classNameAllocator:s.classNameAllocator,theme:u,reusabilityBudget:s.reusabilityBudget,stableClassNames:s.stableClassNames,stableClassNameFileName:s.stableClassNameFileName,darkMode:s.darkMode}]],sourceMaps:!0,...r?{inputSourceMap:r}:{}}),y=o.metadata,{candidates:g,origins:x,composites:C,atomicClasses:l,cssOnlySignature:c}=y.cssx,p=Object.keys(g),h=p.length===0?"":(await(0,N.compileUtilities)(p,m=>g[m],u,(0,N.createSelectorAliases)(C),new Set(l),{darkMode:s.darkMode})).css;return{code:o.code,rules:h?[Re(Oe(h,s.layer))]:[],candidates:g,composites:C,atomicClasses:l,origins:x,cssOnlySignature:c,map:o.map}}async function ve(e,t,s){let r=Me(e);if(r.length===0)return null;let n=s.classNameAllocator??(0,N.createClassNameAllocator)(),d=s.importSource??"@cssxio/cssx",u={},o={},y=[],g=e;for(let x of[...r].reverse()){let C=await I(`import { sx } from ${JSON.stringify(d)};
4
- const style = ${x.code};`,`${t}.ts`,{...s,classNameAllocator:n}),l=Ne(C.code);g=`${g.slice(0,x.start)}${l}${g.slice(x.end)}`,Object.assign(u,C.candidates),Object.assign(o,C.composites),y.push(...C.rules)}return{code:g,rules:y,candidates:u,composites:o,atomicClasses:[],origins:{},cssOnlySignature:g}}function Me(e){let t=[],s=/\bsx\s*\(/g;for(let r of e.matchAll(s)){let n=r.index,d=e.indexOf("(",n),u=0,o="";for(let y=d;y<e.length;y+=1){let g=e[y];if(o){g==="\\"?y+=1:g===o&&(o="");continue}if(g==='"'||g==="'"||g==="`")o=g;else if(g==="(")u+=1;else if(g===")"&&--u===0){t.push({start:n,end:y+1,code:e.slice(n,y+1)}),s.lastIndex=y+1;break}}}return t}function Ne(e){let t="const style = ",s=e.indexOf(t)+t.length,r=e.indexOf(";",s);return e.slice(s,r)}function ne(e,t){if(!e||typeof e!="object")return;let s=e.getCombinedSourcemap;if(typeof s!="function")return;let r=s.call(e);if(!r||typeof r!="object")return;let n=r;if(!(n.version!==3||!Array.isArray(n.sources)||typeof n.mappings!="string"))return{version:n.version,sources:[...n.sources],names:[...n.names??[]],mappings:n.mappings,file:n.file??t.split("?",1).join(""),...n.sourceRoot?{sourceRoot:n.sourceRoot}:{},...n.sourcesContent?{sourcesContent:[...n.sourcesContent]}:{}}}function Re(e){return{className:`cssx-${H(e)}`,css:e}}function Oe(e,t){return e&&t?`@layer ${t}{${e}}`:e}var Ae=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]),Pe=new Set([".git",".next",".turbo","node_modules"]);async function X(e,t){let s=await Ie(e),r=(0,re.createClassNameAllocator)(t.className),n=[];for(let d of s){let u=await(0,T.readFile)(d,"utf8"),o=await I(u,d,{...t,classNameAllocator:r,stableClassNames:!0,stableClassNameFileName:(0,R.relative)(e,d).replaceAll(R.sep,"/")});o&&n.push({id:d,candidates:o.candidates,composites:o.composites,atomicClasses:o.atomicClasses,origins:o.origins})}return n}async function Ie(e){let t=[],s=[e];for(;s.length>0;){let r=s.pop();for(let n of await(0,T.readdir)(r,{withFileTypes:!0})){let d=(0,R.join)(r,n.name);if(n.isDirectory()){Pe.has(n.name)||s.push(d);continue}n.isFile()&&Ae.has(d.slice(d.lastIndexOf(".")))&&t.push(d)}}return t.sort()}function z(e,t,s=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:t,acceptedPath:t,timestamp:s}]})}var j="@cssxio/unplugin/rules",je=/\.(?:[cm]?[jt]sx?|astro)(?:\?.*)?$/,oe=new Map;function Ee(e,t){return`${e}\0${JSON.stringify(t)}`}function W(e,t){let s=Ee(e,t),r=oe.get(s);return r||(r={classNameAllocator:(0,G.createClassNameAllocator)(),transformedDataById:new Map},oe.set(s,r)),r}function Fe(e){let t=e.getNativeBuildContext?.();return t&&(t.framework==="webpack"||t.framework==="rspack")?t.loaderContext?.rootContext??process.cwd():void 0}function Le(e,t,s){let r=new Set;for(let n of t)e.moduleGraph?.invalidateModule(n,r,s,!0);for(let n of r){if(!n.id)continue;let d=e.runner?.evaluatedModules?.getModuleById(n.id);d&&e.runner?.evaluatedModules?.invalidateModule(d)}}function $e(e){return!e||typeof e!="object"?{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""}:Be(e[j])}function Be(e){if(!e||typeof e!="object")return{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""};let{id:t,rules:s,candidates:r,composites:n,atomicClasses:d,origins:u,cssOnlySignature:o}=e;return{id:typeof t=="string"?t:"",rules:Array.isArray(s)?s:[],candidates:r&&typeof r=="object"?r:{},composites:n&&typeof n=="object"?n:{},...Array.isArray(d)?{atomicClasses:d}:{},origins:u&&typeof u=="object"?u:{},cssOnlySignature:typeof o=="string"?o:""}}var De=(e={},t)=>{B(e);let s=e.cssFileName??"cssx.css",r=e.sourceMap??!0,n=new Map,d=(0,G.createClassNameAllocator)(),u=new Map,o,y=process.cwd(),g,x=()=>$(e),C=async function(l,c){let p=new Set(Object.values(c).flatMap(a=>a.type==="chunk"?Object.keys(a.modules??{}):[]).map(w));if(t.framework!=="vite")for(let a of n.keys())p.has(a)||n.delete(a);let h=t.framework==="vite"?[...n.values()]:[...p].map(a=>{let f=$e(this.getModuleInfo(a)?.meta);return Object.keys(f.candidates).length>0?f:n.get(a)??f}),m=await v(h,await x(),e.layer,r,e.darkMode,e.preflight);if(!m.css)return;let i=P(s,m.css);if(Object.hasOwn(c,i))throw new Error(`CSSX CSS asset collision at "${i}".`);if(this.emitFile({type:"asset",fileName:i,source:M(m,i)}),m.map){let a=`${i}.map`;if(Object.hasOwn(c,a))throw new Error(`CSSX CSS map asset collision at "${a}".`);this.emitFile({type:"asset",fileName:a,source:A(m.map,i)})}};return{name:"@cssxio/unplugin",enforce:"pre",transform:{filter:{id:je},async handler(l,c){e.themeFile&&this.addWatchFile?.((0,S.resolve)(process.cwd(),e.themeFile));let p=Fe(this),h=p?W(p,e):void 0,m=await I(l,c,{...e,classNameAllocator:h?.classNameAllocator??d,...e.stableClassNames?{stableClassNameFileName:(0,S.relative)(p??process.cwd(),w(c)).replaceAll(S.sep,"/")}:{}},ne(this,c)),i={id:w(c),rules:m?.rules??[],candidates:m?.candidates??{},composites:m?.composites??{},atomicClasses:m?.atomicClasses??[],origins:m?.origins??{},cssOnlySignature:m?.cssOnlySignature??""};ee(this,i,j);let a=w(c);(m||a===c)&&(n.set(a,i),u.set((0,S.resolve)(y,a),i),h?.transformedDataById.set(a,i)),t.framework==="vite"&&g&&z(g,D("/",s));let f=m?.code??l;return{code:(t.framework==="webpack"||t.framework==="rspack")&&m?`${f}
5
- ${Te(s)}`:f,meta:{[j]:i},...m?.map?{map:m.map}:{}}}},watchChange(l,c){c.event==="delete"&&n.delete(w(l))},rollup:{generateBundle:C},vite:{generateBundle:C,configureServer(l){g=l;let c=D(l.config.base,s),p=D("/",s);l.watcher?.on("unlink",h=>{n.delete(w(h)),z(l,p)}),l.middlewares.use((h,m,i)=>{let a=h.url?.split("?",1)[0];if(a!==c&&(a!==`${c}.map`||!r))return i();x().then(f=>v([...n.values()],f,e.layer,r,e.darkMode,e.preflight)).then(f=>{if(a===`${c}.map`){m.setHeader("Content-Type","application/json; charset=utf-8"),m.setHeader("Cache-Control","no-store"),m.end(f.map?A(f.map,s):"");return}m.setHeader("Content-Type","text/css; charset=utf-8"),m.setHeader("Cache-Control","no-store"),m.end(M(f,s))}).catch(f=>{m.setHeader("Content-Type","text/plain; charset=utf-8"),m.end(f instanceof Error?f.message:"Unable to compile CSSX development stylesheet.")})})},hotUpdate:{order:"pre",async handler(l){let c=this.environment;if(!c||c.name==="client")return;let p=l.modules.filter(i=>{let a=n.get(w(i.id??""));return!!(a&&a.cssOnlySignature&&a.atomicClasses?.length===0)});if(p.length===0)return;let h=new Map(p.map(i=>[i,n.get(w(i.id)).cssOnlySignature]));for(let i of p)i.url&&await c.transformRequest(i.url);if(p.every(i=>{let a=n.get(w(i.id));return!!(a&&a.atomicClasses.length===0&&a.cssOnlySignature===h.get(i))}))return Le(c,p,l.timestamp),l.modules.filter(i=>!p.includes(i))}}},...t.framework==="webpack"?{webpack(l){let c=W(l.context,e);V(l,s,x,e.layer,r,j,c.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>X(l.context,e):void 0)}}:{},...t.framework==="rspack"?{rspack(l){let c=W(l.context,e);V(l,s,x,e.layer,r,j,c.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>X(l.context,e):void 0)}}:{},...t.framework==="esbuild"?{esbuild:{config(l){l.metafile=!0},setup(l){let c=l.initialOptions.absWorkingDir??process.cwd();y=c,l.onEnd(async p=>{if(!p.metafile)return;let h=new Set(Object.keys(p.metafile.inputs).map(f=>(0,S.resolve)(c,f)));for(let f of u.keys())h.has(f)||u.delete(f);let m=await v([...u.values()],await x(),e.layer,r,e.darkMode,e.preflight),i=Y(c,l.initialOptions,P(s,m.css));if(!m.css){o&&await(0,O.unlink)(o).catch(()=>{}),o=void 0;return}let a=M(m,(0,S.basename)(i));if(l.initialOptions.write===!1){let f=p.outputFiles;if(!f)return;let k={path:i,contents:ie.Buffer.from(a),hash:"",text:a};if(f.findIndex(de=>de.path===i)!==-1)throw new Error(`CSSX CSS asset collision at "${i}".`);f.push(k);return}await(0,O.mkdir)((0,S.dirname)(i),{recursive:!0}),await(0,O.writeFile)(i,a),o=i})}}}:{}}},U=(0,ae.createUnplugin)(De);function Te(e){return`if (typeof document !== "undefined" && typeof module !== "undefined" && module.hot) {
1
+ "use strict";var Ze=Object.create;var V=Object.defineProperty;var et=Object.getOwnPropertyDescriptor;var tt=Object.getOwnPropertyNames;var st=Object.getPrototypeOf,ot=Object.prototype.hasOwnProperty;var rt=(e,s)=>{for(var t in s)V(e,t,{get:s[t],enumerable:!0})},se=(e,s,t,r)=>{if(s&&typeof s=="object"||typeof s=="function")for(let o of tt(s))!ot.call(e,o)&&o!==t&&V(e,o,{get:()=>s[o],enumerable:!(r=et(s,o))||r.enumerable});return e};var nt=(e,s,t)=>(t=e!=null?Ze(st(e)):{},se(s||!e||!e.__esModule?V(t,"default",{value:e,enumerable:!0}):t,e)),it=e=>se(V({},"__esModule",{value:!0}),e);var gt={};rt(gt,{default:()=>ft});module.exports=it(gt);var Ke=require("@cssxio/compiler"),Qe=require("unplugin");function oe(e,s){let t=new Map,r=[];for(let o of s)o.id?t.set(o.id,o):r.push(o);for(let o of e)o.id?t.set(o.id,o):r.push(o);return[...t.values(),...r]}var A=require("path");function P(e){if(!e||(0,A.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let s=(0,A.normalize)(e);if(s===".."||s.startsWith(`..${A.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!s.endsWith(".css"))throw new Error("cssFileName must end in .css.");return s}function B(e){if(e.theme!==void 0&&e.themeFile!==void 0)throw new Error("CSSX accepts either theme or themeFile, not both.");if(e.layer!==void 0&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(e.layer))throw new Error("CSSX layer must be a valid CSS layer identifier.");if(e.sourceMap!==void 0&&typeof e.sourceMap!="boolean")throw new Error("CSSX sourceMap must be a boolean.");if(e.darkMode!==void 0&&e.darkMode!=="media"&&e.darkMode!=="selector"&&e.darkMode!=="class")throw new Error('CSSX darkMode must be "media", "selector", or "class".');if(e.preflight!==void 0&&typeof e.preflight!="boolean")throw new Error("CSSX preflight must be a boolean.");if(e.reusabilityBudget!==void 0&&e.reusabilityBudget!=="auto"&&(!Number.isFinite(e.reusabilityBudget)||e.reusabilityBudget<0||e.reusabilityBudget>100))throw new Error('CSSX reusabilityBudget must be "auto" or a number from 0 through 100.');P(e.cssFileName??"cssx.css")}var re=require("fs/promises"),ne=require("path");async function j(e){return e.themeFile===void 0?e.theme:(0,re.readFile)((0,ne.resolve)(process.cwd(),e.themeFile),"utf8")}function y(e){return e.split("?",1).join("")}function $(e){let s=2166136261;for(let t=0;t<e.length;t++)s^=e.charCodeAt(t),s=Math.imul(s,16777619);return(s>>>0).toString(36)}function b(e,s){return P(e).replaceAll("[hash]",$(s))}var M=require("path");function Y(e,s,t){return s.outdir?(0,M.resolve)(e,s.outdir,t):s.outfile?(0,M.resolve)((0,M.dirname)((0,M.resolve)(e,s.outfile)),t):(0,M.resolve)(e,t)}var ie=require("path");function T(e,s){return`${e&&e!=="/"?`/${e.replace(/^\/+|\/+$/g,"")}`:""}/${P(s).replaceAll(ie.sep,"/")}`}function ae(e,s){let t=e.buildInfo?.[s];if(!t||typeof t!="object")return;let{id:r,candidates:o,composites:n,atomicClasses:d,origins:i}=t;return{id:typeof r=="string"?r:"",candidates:o&&typeof o=="object"?o:{},composites:n&&typeof n=="object"?n:{},...Array.isArray(d)?{atomicClasses:d}:{},origins:i&&typeof i=="object"?i:{}}}var H=require("@cssxio/compiler");function Z(e,s){let t=s.split(`
2
+ `);return{line:e.line+t.length-1,column:t.at(-1).length+e.column*+(t.length===1)}}var at="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function L(e){let s="",t=e<0?-e<<1|1:e<<1;do{let r=t&31;t>>>=5,t&&(r|=32),s+=at[r]}while(t);return s}function le(e){let s=Array.from({length:Math.max(0,...e.map(i=>i.line))+1},()=>[]),t=0,r=0,o=0,n=0,d=0;for(let i of e)d*=+(i.line===n),n=i.line,s[i.line]?.push(`${L(i.column-d)}${L(i.source-t)}${L(i.originalLine-r)}${L(i.originalColumn-o)}`),d=i.column,t=i.source,r=i.originalLine,o=i.originalColumn;return s.map(i=>i.join(",")).join(";")}function ce(e,s,t){let r=[...new Set(s.map(i=>t.get(i.candidate)?.id).filter(i=>!!i))].sort();if(r.length===0)return;let o=new Map(r.map((i,a)=>[i,a])),n=[],d=Z({line:0,column:0},e);for(let i of s){let a=t.get(i.candidate);a&&n.push({...d,source:o.get(a.id),originalLine:a.line,originalColumn:a.column}),d=Z(d,i.css)}return{version:3,sources:r,names:[],mappings:le(n)}}var de='*,::before,::after,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}button,select{text-transform:none}button,input:where([type="button"],[type="reset"],[type="submit"]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit}textarea{resize:vertical}::placeholder{opacity:1}button,[role="button"]{cursor:pointer}:disabled{cursor:default}[hidden]:where(:not([hidden="until-found"])){display:none!important}';async function h(e,s,t,r=!0,o,n=!0){let d=Object.create(null),i=Object.create(null),a=new Set,m=!0,p=new Map;for(let C of[...e].sort((x,R)=>x.id.localeCompare(R.id))){for(let[x,R]of Object.entries(C.candidates))if(x in d||(d[x]=R),C.id&&!p.has(x)){let D=C.origins?.[x];p.set(x,{id:C.id,line:D?.line??0,column:D?.column??0})}for(let[x,R]of Object.entries(C.composites??{})){let D=i[x];if(D&&D.join(" ")!==R.join(" "))throw new Error(`CSSX composite class collision for "${x}".`);i[x]=R}C.atomicClasses===void 0&&(m=!1);for(let x of C.atomicClasses??[])a.add(x)}let l=Object.keys(d).sort(),u=n?de:"";if(l.length===0)return{css:u&&t?`@layer ${t}{${u}}`:u};let c=await(0,H.compileUtilities)(l,C=>d[C],s,(0,H.createSelectorAliases)(i),m?a:void 0,{darkMode:o}),f=t?`@layer ${t}{`:"",g=`${f}${u}${c.css}${f?"}":""}`,N=r?ce(`${f}${u}${c.prefixCss}`,c.entries,p):void 0;return{css:g,...N?{map:N}:{}}}function v(e,s){return JSON.stringify({...e,file:s})}var me=require("path");function S(e,s){return e.map?`${e.css}
3
+ /*# sourceMappingURL=${(0,me.basename)(s)}.map */`:e.css}function ue(e,s,t,r,o,n,d,i,a=!0,m){let p=e.name??e.options?.name;p==="server"||p==="edge-server"||e.hooks.thisCompilation.tap("@cssxio/unplugin",l=>{l.hooks.processAssets.tapPromise({name:"@cssxio/unplugin",stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},async()=>{let u=m?await m():oe([...l.modules].map(g=>ae(g,n)).filter(g=>g!==void 0),d?.values()??[]),c=await h(u,await t(),r,o,i,a);if(!c.css)return;let f=b(s,c.css);if(l.getAsset?.(f))throw new Error(`CSSX CSS asset collision at "${f}".`);if(l.emitAsset(f,new e.webpack.sources.RawSource(S(c,f))),c.map){let g=`${f}.map`;if(l.getAsset?.(g))throw new Error(`CSSX CSS map asset collision at "${g}".`);l.emitAsset(g,new e.webpack.sources.RawSource(v(c.map,f)))}})})}var w="@cssxio/unplugin/rules";function U(){return{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""}}var ge=require("@cssxio/compiler");function pe(e,s){return`${e}\0${JSON.stringify(s)}`}var fe=new Map;function _(e,s){let t=pe(e,s),r=fe.get(t);return r||(r={classNameAllocator:(0,ge.createClassNameAllocator)(),transformedDataById:new Map},fe.set(t,r)),r}var De=require("@cssxio/compiler"),Be=require("fs/promises"),J=require("path");var ye=require("fs/promises"),xe=require("path"),lt=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]),ct=new Set([".git",".next",".turbo","node_modules"]);async function Ce(e){let s=[],t=[e];for(;t.length>0;){let r=t.pop();for(let o of await(0,ye.readdir)(r,{withFileTypes:!0})){let n=(0,xe.join)(r,o.name);if(o.isDirectory()){ct.has(o.name)||t.push(n);continue}o.isFile()&&lt.has(n.slice(n.lastIndexOf(".")))&&s.push(n)}}return s.sort()}var he=require("@cssxio/compiler");function W(e){let s=[],t=/\bsx\s*\(/g;for(let r of e.matchAll(t)){let o=r.index,n=e.indexOf("(",o),d=0,i="";for(let a=n;a<e.length;a+=1){let m=e[a];if(i){m==="\\"?a+=1:m===i&&(i="");continue}if(m==='"'||m==="'"||m==="`")i=m;else if(m==="(")d+=1;else if(m===")"&&--d===0){s.push({start:o,end:a+1,code:e.slice(o,a+1)}),t.lastIndex=a+1;break}}}return s}function I(e,s){return{code:e,rules:s.flatMap(t=>t.rules),candidates:Object.assign({},...s.map(t=>t.candidates)),composites:Object.assign({},...s.map(t=>t.composites)),atomicClasses:[...new Set(s.flatMap(t=>t.atomicClasses))],origins:Object.assign({},...s.map(t=>t.origins)),cssOnlySignature:e}}function z(e){let s="const style = ",t=e.indexOf(s)+s.length,r=e.indexOf(";",t);return e.slice(t,r)}async function Se(e,s,t,r){let o=W(e);if(o.length===0)return null;let n=t.classNameAllocator??(0,he.createClassNameAllocator)(),d=t.importSource??"@cssxio/cssx",i=[],a=e;for(let m of[...o].reverse()){let p=await r(`import { sx } from ${JSON.stringify(d)};
4
+ const style = ${m.code};`,`${s}.ts`,{...t,classNameAllocator:n}),l=z(p.code);a=`${a.slice(0,m.start)}${l}${a.slice(m.end)}`,i.push({...p,atomicClasses:[],origins:{}})}return I(a,i)}var ve=require("@babel/core"),we=nt(require("@cssxio/babel-plugin"),1),X=require("@cssxio/compiler");function be(e){return{className:`cssx-${$(e)}`,css:e}}function Me(e,s){return e&&s?`@layer ${s}{${e}}`:e}async function Oe(e,s,t,r){let o=t.importSource??"@cssxio/cssx",n=await j(t),d=await(0,ve.transformAsync)(e,{babelrc:!1,configFile:!1,filename:s,parserOpts:{plugins:["jsx","typescript"]},plugins:[[we.default,{importSource:o,classNameAllocator:t.classNameAllocator,theme:n,reusabilityBudget:t.reusabilityBudget,stableClassNames:t.stableClassNames,stableClassNameFileName:t.stableClassNameFileName,darkMode:t.darkMode}]],sourceMaps:!0,...r?{inputSourceMap:r}:{}}),i=d.metadata,{candidates:a,origins:m,composites:p,atomicClasses:l,cssOnlySignature:u}=i.cssx,c=Object.keys(a),f=c.length===0?"":(await(0,X.compileUtilities)(c,g=>a[g],n,(0,X.createSelectorAliases)(p),new Set(l),{darkMode:t.darkMode})).css;return{code:d.code,rules:f?[be(Me(f,t.layer))]:[],candidates:a,composites:p,atomicClasses:l,origins:m,cssOnlySignature:u,map:d.map}}var Te=require("@cssxio/compiler"),Ie=require("@vue/compiler-sfc");function G(e,s){let t=e.split(`
5
+ `).slice(0,s.line).reduce((r,o)=>r+o.length+1,0);return Math.min(e.length,t+s.column)}function q(e,s){let t=Math.min(e.length,s),r=e.slice(0,t).split(`
6
+ `).length-1,o=e.lastIndexOf(`
7
+ `,t-1)+1;return{line:r,column:t-o}}function ee(e,s,t){let r={},o=e.slice(s);for(let[n,d]of Object.entries(t))r[n]=q(e,s+G(o,d));return r}function ke(e){return e.slice(1,-1).replace(/\\(['"\\bnfrtv])/g,(s,t)=>({b:"\b",n:`
8
+ `,f:"\f",r:"\r",t:" ",v:"\v"})[t]??t)}function Ne(e,s){if(!s)return e;let t=s==='"'?"'":'"';return e.replace(/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'/g,r=>{let o=r[0]==='"'?JSON.parse(r):ke(r),n=JSON.stringify(o);return t==='"'?n:`'${n.slice(1,-1).replaceAll("'","\\'")}'`})}function Re(e,s,t,r,o){let n={};for(let[d,i]of Object.entries(o)){let a=G(t,i);n[d]=q(e,s+Math.max(0,a-r))}return n}function Ae(e,s){let t=-1,r;for(let o=0;o<s;o++){let n=e[o];if(r){n===r&&(r=void 0);continue}if(n==="<"&&/[A-Za-z]/.test(e[o+1])){t=o;continue}t!==-1&&(n===">"?t=-1:(n==='"'||n==="'")&&(r=n))}return r}async function Pe(e,s,t,r,o){let n=W(e);if(n.length===0)return null;let d=t.importSource??"@cssxio/cssx",i=[],a=e;for(let m of[...n].reverse()){let p=`import { sx } from ${JSON.stringify(d)};
9
+ const style = `,l=`${p}${m.code};`,u=await o(l,`${s}.cssx-vue-template.ts`,{...t,classNameAllocator:r}),c=Ne(z(u.code),Ae(e,m.start));a=`${a.slice(0,m.start)}${c}${a.slice(m.end)}`,i.push({...u,origins:Re(e,m.start,l,p.length,u.origins)})}return I(a,i)}async function Ee(e,s,t,r){let o=s.split("?",1).join(""),n=(0,Ie.parse)(e,{filename:o});if(n.errors.length>0)throw new Error(n.errors[0].message);let d=t.classNameAllocator??(0,Te.createClassNameAllocator)(),i=[],a=[];for(let l of[n.descriptor.script,n.descriptor.scriptSetup]){if(!l?.content.includes(t.importSource??"@cssxio/cssx"))continue;let u=l.lang==="js"||l.lang==="jsx"||l.lang==="tsx"?l.lang:"ts",c=await r(l.content,`${o}.cssx-vue-script.${u}`,{...t,classNameAllocator:d});i.push({start:l.loc.start.offset,end:l.loc.end.offset,code:c.code}),a.push({...c,origins:ee(e,l.loc.start.offset,c.origins)})}let m=n.descriptor.template;if(m?.content.includes("sx")){let l=await Pe(m.content,o,t,d,r);l&&(i.push({start:m.loc.start.offset,end:m.loc.end.offset,code:l.code}),a.push({...l,origins:ee(e,m.loc.start.offset,l.origins)}))}if(i.length===0)return null;let p=e;for(let l of i.sort((u,c)=>c.start-u.start))p=`${p.slice(0,l.start)}${l.code}${p.slice(l.end)}`;return I(p,a)}var dt=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro",".vue"]);async function O(e,s,t={},r){B(t);let o=t.importSource??"@cssxio/cssx",n=s.split("?",1).join("");return!dt.has(n.slice(n.lastIndexOf(".")))||!e.includes(o)?null:n.endsWith(".astro")?Se(e,s,t,O):n.endsWith(".vue")?Ee(e,s,t,O):Oe(e,n,t,r)}function Fe(e,s){if(!e||typeof e!="object")return;let t=e.getCombinedSourcemap;if(typeof t!="function")return;let r=t.call(e);if(!r||typeof r!="object")return;let o=r;if(!(o.version!==3||!Array.isArray(o.sources)||typeof o.mappings!="string"))return{version:o.version,sources:[...o.sources],names:[...o.names??[]],mappings:o.mappings,file:o.file??s.split("?",1).join(""),...o.sourceRoot?{sourceRoot:o.sourceRoot}:{},...o.sourcesContent?{sourcesContent:[...o.sourcesContent]}:{}}}async function je(e,s){let t=await Ce(e),r=(0,De.createClassNameAllocator)(s.className),o=[];for(let n of t){let d=await(0,Be.readFile)(n,"utf8"),i=await O(d,n,{...s,classNameAllocator:r,stableClassNames:!0,stableClassNameFileName:(0,J.relative)(e,n).replaceAll(J.sep,"/")});i&&o.push({id:n,candidates:i.candidates,composites:i.composites,atomicClasses:i.atomicClasses,origins:i.origins})}return o}function te({compiler:e,options:s,cssFileName:t,sourceMap:r,getTheme:o}){let n=_(e.context,s);ue(e,t,o,s.layer,r,w,n.transformedDataById,s.darkMode,s.preflight,s.stableClassNames?()=>je(e.context,s):void 0)}function K(e,s,t=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:s,acceptedPath:s,timestamp:t}]})}function $e(e,s){let{cssFileName:t,sourceMap:r,options:o,rollupDataById:n,getTheme:d}=s,i=T(e.config.base,t),a=T("/",t);e.watcher?.on("unlink",m=>{n.delete(y(m)),K(e,a)}),e.middlewares.use((m,p,l)=>{let u=m.url?.split("?",1)[0];if(u!==i&&(u!==`${i}.map`||!r))return l();d().then(c=>h([...n.values()],c,o.layer,r,o.darkMode,o.preflight)).then(c=>{if(u===`${i}.map`){p.setHeader("Content-Type","application/json; charset=utf-8"),p.setHeader("Cache-Control","no-store"),p.end(c.map?v(c.map,t):"");return}p.setHeader("Content-Type","text/css; charset=utf-8"),p.setHeader("Cache-Control","no-store"),p.end(S(c,t))}).catch(c=>{p.setHeader("Content-Type","text/plain; charset=utf-8"),p.end(c instanceof Error?c.message:"Unable to compile CSSX development stylesheet.")})})}function Le(e){if(!e||typeof e!="object")return U();let{id:s,rules:t,candidates:r,composites:o,atomicClasses:n,origins:d,cssOnlySignature:i}=e;return{id:typeof s=="string"?s:"",rules:Array.isArray(t)?t:[],candidates:r&&typeof r=="object"?r:{},composites:o&&typeof o=="object"?o:{},...Array.isArray(n)?{atomicClasses:n}:{},origins:d&&typeof d=="object"?d:{},cssOnlySignature:typeof i=="string"?i:""}}function Ve(e){return!e||typeof e!="object"?U():Le(e[w])}function He(e){return async function(s,t){let{framework:r,options:o,cssFileName:n,sourceMap:d,rollupDataById:i,getTheme:a}=e,m=new Set(Object.values(t).flatMap(c=>c.type==="chunk"?Object.keys(c.modules??{}):[]).map(y));if(r!=="vite")for(let c of i.keys())m.has(c)||i.delete(c);let p=r==="vite"?[...i.values()]:[...m].map(c=>{let f=Ve(this.getModuleInfo(c)?.meta);return Object.keys(f.candidates).length>0?f:i.get(c)??f}),l=await h(p,await a(),o.layer,d,o.darkMode,o.preflight);if(!l.css)return;let u=b(n,l.css);if(Object.hasOwn(t,u))throw new Error(`CSSX CSS asset collision at "${u}".`);if(this.emitFile({type:"asset",fileName:u,source:S(l,u)}),l.map){let c=`${u}.map`;if(Object.hasOwn(t,c))throw new Error(`CSSX CSS map asset collision at "${c}".`);this.emitFile({type:"asset",fileName:c,source:v(l.map,u)})}}}var k=require("path");function Ue(e){let s=e.getNativeBuildContext?.();return s&&(s.framework==="webpack"||s.framework==="rspack")?s.loaderContext?.rootContext??process.cwd():void 0}function _e(e){return`if (typeof document !== "undefined" && typeof module !== "undefined" && module.hot) {
6
10
  const key = "__cssxStylesheetHmr";
7
11
  const state = globalThis[key] || (globalThis[key] = { revision: 0, staged: [], replacements: [] });
8
12
  const stylesheetLink = [...document.querySelectorAll('link[rel="stylesheet"]')].find((link) =>
@@ -89,4 +93,5 @@ ${Te(s)}`:f,meta:{[j]:i},...m?.map?{map:m.map}:{}}}},watchChange(l,c){c.event===
89
93
  state.poll = setInterval(() => void refresh(), 500);
90
94
  }
91
95
  }
92
- }`}var dt=U.vite,le=U.rollup,ct=U.webpack,ut=U.rspack;var Ue=le,He=Ue;
96
+ }`}function We(e,s,t){let r=e.getNativeBuildContext?.();if(!r||r.framework!=="webpack"&&r.framework!=="rspack")return;let o=r.loaderContext?._module;if(!o)return;let n=o.buildInfo??(o.buildInfo={});n[t]=s}function ze(e){return async function(s,t){let{framework:r,options:o,classNameAllocator:n,rollupDataById:d,esbuildDataById:i,cssFileName:a,getEsbuildWorkingDirectory:m,notifyViteStyles:p}=e;o.themeFile&&this.addWatchFile?.((0,k.resolve)(o.themeFile));let l=Ue(this),u=l?_(l,o):void 0,c=await O(s,t,{...o,classNameAllocator:u?.classNameAllocator??n,...o.stableClassNames?{stableClassNameFileName:(0,k.relative)(l??process.cwd(),y(t)).replaceAll(k.sep,"/")}:{}},Fe(this,t)),f={id:y(t),rules:c?.rules??[],candidates:c?.candidates??{},composites:c?.composites??{},atomicClasses:c?.atomicClasses??[],origins:c?.origins??{},cssOnlySignature:c?.cssOnlySignature??""};We(this,f,w);let g=y(t);(c||g===t)&&(d.set(g,f),i.set((0,k.resolve)(m(),g),f),u?.transformedDataById.set(g,f)),r==="vite"&&p(T("/",a));let N=c?.code??s;return{code:(r==="webpack"||r==="rspack")&&c?`${N}
97
+ ${_e(a)}`:N,meta:{[w]:f},...c?.map?{map:c.map}:{}}}}var Xe=require("buffer"),E=require("fs/promises"),F=require("path");function Ge(e){let{options:s,cssFileName:t,sourceMap:r,dataById:o,getTheme:n}=e,d,i=process.cwd();return{config(a){a.metafile=!0},setup(a){i=a.initialOptions.absWorkingDir??process.cwd(),a.onEnd(async m=>{if(!m.metafile)return;let p=new Set(Object.keys(m.metafile.inputs).map(f=>(0,F.resolve)(i,f)));for(let f of o.keys())p.has(f)||o.delete(f);let l=await h([...o.values()],await n(),s.layer,r,s.darkMode,s.preflight),u=Y(i,a.initialOptions,b(t,l.css));if(!l.css){d&&await(0,E.unlink)(d).catch(()=>{}),d=void 0;return}let c=S(l,(0,F.basename)(u));if(a.initialOptions.write===!1){let f=m.outputFiles;if(!f)return;let g={path:u,contents:Xe.Buffer.from(c),hash:"",text:c};if(f.findIndex(C=>C.path===u)!==-1)throw new Error(`CSSX CSS asset collision at "${u}".`);f.push(g);return}await(0,E.mkdir)((0,F.dirname)(u),{recursive:!0}),await(0,E.writeFile)(u,c),d=u})},getWorkingDirectory:()=>i}}function qe(e,s,t){let r=new Set;for(let o of s)e.moduleGraph?.invalidateModule(o,r,t,!0);for(let o of r){if(!o.id)continue;let n=e.runner?.evaluatedModules?.getModuleById(o.id);n&&e.runner?.evaluatedModules?.invalidateModule(n)}}function Je(e){return async function(t){let r=this.environment;if(!r||r.name==="client")return;let o=t.modules,n=o.filter(a=>{let m=e.get(y(a.id??""));return!!(m&&m.cssOnlySignature&&m.atomicClasses?.length===0)});if(n.length===0)return;let d=new Map(n.map(a=>[a,e.get(y(a.id)).cssOnlySignature]));for(let a of n)a.url&&await r.transformRequest(a.url);if(n.every(a=>{let m=e.get(y(a.id));return!!(m&&m.atomicClasses.length===0&&m.cssOnlySignature===d.get(a))}))return qe(r,n,t.timestamp),o.filter(a=>!n.includes(a))}}var mt=/\.(?:[cm]?[jt]sx?|astro|vue)(?:\?.*)?$/,ut=(e={},s)=>{B(e);let t=e.cssFileName??"cssx.css",r=e.sourceMap??!0,o=new Map,n=(0,Ke.createClassNameAllocator)(),d=new Map,i,a=()=>j(e),m=Ge({options:e,cssFileName:t,sourceMap:r,dataById:d,getTheme:a}),p=He({framework:s.framework,options:e,cssFileName:t,sourceMap:r,rollupDataById:o,getTheme:a});return{name:"@cssxio/unplugin",enforce:"pre",transform:{filter:{id:mt},handler:ze({framework:s.framework,options:e,classNameAllocator:n,rollupDataById:o,esbuildDataById:d,cssFileName:t,getEsbuildWorkingDirectory:m.getWorkingDirectory,notifyViteStyles:l=>{i&&K(i,l)}})},watchChange(l,u){u.event==="delete"&&o.delete(y(l))},rollup:{generateBundle:p},vite:{generateBundle:p,configureServer(l){i=l,$e(l,{cssFileName:t,sourceMap:r,options:e,rollupDataById:o,getTheme:a})},hotUpdate:{order:"pre",handler:Je(o)}},...s.framework==="webpack"?{webpack(l){te({compiler:l,options:e,cssFileName:t,sourceMap:r,getTheme:a})}}:{},...s.framework==="rspack"?{rspack(l){te({compiler:l,options:e,cssFileName:t,sourceMap:r,getTheme:a})}}:{},...s.framework==="esbuild"?{esbuild:{config:m.config,setup:m.setup}}:{}}},Q=(0,Qe.createUnplugin)(ut),Zo=Q.vite,Ye=Q.rollup,er=Q.webpack,tr=Q.rspack;var pt=Ye,ft=pt;
package/dist/rollup.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import * as _unplugin from 'unplugin';
2
- import { C as CssxPluginOptions } from './options-kIzRyZSc.cjs';
1
+ import * as _rollup from 'rollup';
2
+ import { C as CssxPluginOptions } from './options-ByIyWTN0.cjs';
3
3
  import '@cssxio/compiler';
4
4
 
5
5
  /**
@@ -8,6 +8,6 @@ import '@cssxio/compiler';
8
8
  * @param options CSSX adapter options.
9
9
  * @returns The Rollup plugin.
10
10
  */
11
- declare const cssxRollup: (options?: CssxPluginOptions | undefined) => _unplugin.RollupPlugin<any> | _unplugin.RollupPlugin<any>[];
11
+ declare const cssxRollup: (options?: CssxPluginOptions | undefined) => _rollup.Plugin<any> | _rollup.Plugin<any>[];
12
12
 
13
13
  export { cssxRollup as default };
package/dist/rollup.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import * as _unplugin from 'unplugin';
2
- import { C as CssxPluginOptions } from './options-kIzRyZSc.js';
1
+ import * as _rollup from 'rollup';
2
+ import { C as CssxPluginOptions } from './options-ByIyWTN0.js';
3
3
  import '@cssxio/compiler';
4
4
 
5
5
  /**
@@ -8,6 +8,6 @@ import '@cssxio/compiler';
8
8
  * @param options CSSX adapter options.
9
9
  * @returns The Rollup plugin.
10
10
  */
11
- declare const cssxRollup: (options?: CssxPluginOptions | undefined) => _unplugin.RollupPlugin<any> | _unplugin.RollupPlugin<any>[];
11
+ declare const cssxRollup: (options?: CssxPluginOptions | undefined) => _rollup.Plugin<any> | _rollup.Plugin<any>[];
12
12
 
13
13
  export { cssxRollup as default };
package/dist/rollup.js CHANGED
@@ -1 +1 @@
1
- import{f as o}from"./chunk-KCX3ORPX.js";var l=o,r=l;export{r as default};
1
+ import{f as o}from"./chunk-SKXNEQ2Z.js";var l=o,r=l;export{r as default};
package/dist/rspack.cjs CHANGED
@@ -1,8 +1,12 @@
1
- "use strict";var ce=Object.create;var E=Object.defineProperty;var ue=Object.getOwnPropertyDescriptor;var me=Object.getOwnPropertyNames;var pe=Object.getPrototypeOf,fe=Object.prototype.hasOwnProperty;var ge=(e,t)=>{for(var s in t)E(e,s,{get:t[s],enumerable:!0})},q=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of me(t))!fe.call(e,n)&&n!==s&&E(e,n,{get:()=>t[n],enumerable:!(r=ue(t,n))||r.enumerable});return e};var ye=(e,t,s)=>(s=e!=null?ce(pe(e)):{},q(t||!e||!e.__esModule?E(s,"default",{value:e,enumerable:!0}):s,e)),he=e=>q(E({},"__esModule",{value:!0}),e);var _e={};ge(_e,{default:()=>He});module.exports=he(_e);var G=require("@cssxio/compiler"),ae=require("unplugin"),ie=require("buffer"),O=require("fs/promises"),S=require("path");var L=require("@cssxio/compiler"),Z=require("path");var J='*,::before,::after,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}button,select{text-transform:none}button,input:where([type="button"],[type="reset"],[type="submit"]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit}textarea{resize:vertical}::placeholder{opacity:1}button,[role="button"]{cursor:pointer}:disabled{cursor:default}[hidden]:where(:not([hidden="until-found"])){display:none!important}';async function v(e,t,s,r=!0,n,d=!0){let u=Object.create(null),o=Object.create(null),y=new Set,g=!0,x=new Map;for(let i of[...e].sort((a,f)=>a.id.localeCompare(f.id))){for(let[a,f]of Object.entries(i.candidates))if(a in u||(u[a]=f),i.id&&!x.has(a)){let k=i.origins?.[a];x.set(a,{id:i.id,line:k?.line??0,column:k?.column??0})}for(let[a,f]of Object.entries(i.composites??{})){let k=o[a];if(k&&k.join(" ")!==f.join(" "))throw new Error(`CSSX composite class collision for "${a}".`);o[a]=f}i.atomicClasses===void 0&&(g=!1);for(let a of i.atomicClasses??[])y.add(a)}let C=Object.keys(u).sort(),l=d?J:"";if(C.length===0)return{css:l&&s?`@layer ${s}{${l}}`:l};let c=await(0,L.compileUtilities)(C,i=>u[i],t,(0,L.createSelectorAliases)(o),g?y:void 0,{darkMode:n}),p=s?`@layer ${s}{`:"",h=`${p}${l}${c.css}${p?"}":""}`,m=r?Ce(`${p}${l}${c.prefixCss}`,c.entries,x):void 0;return{css:h,...m?{map:m}:{}}}function M(e,t){return e.map?`${e.css}
2
- /*# sourceMappingURL=${(0,Z.basename)(t)}.map */`:e.css}function A(e,t){return JSON.stringify({...e,file:t})}function Ce(e,t,s){let r=[...new Set(t.map(o=>s.get(o.candidate)?.id).filter(o=>!!o))].sort();if(r.length===0)return;let n=new Map(r.map((o,y)=>[o,y])),d=[],u=K({line:0,column:0},e);for(let o of t){let y=s.get(o.candidate);y&&d.push({...u,source:n.get(y.id),originalLine:y.line,originalColumn:y.column}),u=K(u,o.css)}return{version:3,sources:r,names:[],mappings:xe(d)}}function K(e,t){let s=t.split(`
3
- `);return{line:e.line+s.length-1,column:s.at(-1).length+e.column*+(s.length===1)}}function xe(e){let t=Array.from({length:Math.max(0,...e.map(o=>o.line))+1},()=>[]),s=0,r=0,n=0,d=0,u=0;for(let o of e)u*=+(o.line===d),d=o.line,t[o.line]?.push(`${F(o.column-u)}${F(o.source-s)}${F(o.originalLine-r)}${F(o.originalColumn-n)}`),u=o.column,s=o.source,r=o.originalLine,n=o.originalColumn;return t.map(o=>o.join(",")).join(";")}var be="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function F(e){let t="",s=e<0?-e<<1|1:e<<1;do{let r=s&31;s>>>=5,s&&(r|=32),t+=be[r]}while(s);return t}var Q=require("fs/promises"),b=require("path");async function $(e){return e.themeFile===void 0?e.theme:(0,Q.readFile)((0,b.resolve)(process.cwd(),e.themeFile),"utf8")}function B(e){if(e.theme!==void 0&&e.themeFile!==void 0)throw new Error("CSSX accepts either theme or themeFile, not both.");if(e.layer!==void 0&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(e.layer))throw new Error("CSSX layer must be a valid CSS layer identifier.");if(e.sourceMap!==void 0&&typeof e.sourceMap!="boolean")throw new Error("CSSX sourceMap must be a boolean.");if(e.darkMode!==void 0&&e.darkMode!=="media"&&e.darkMode!=="selector"&&e.darkMode!=="class")throw new Error('CSSX darkMode must be "media", "selector", or "class".');if(e.preflight!==void 0&&typeof e.preflight!="boolean")throw new Error("CSSX preflight must be a boolean.");if(e.reusabilityBudget!==void 0&&e.reusabilityBudget!=="auto"&&(!Number.isFinite(e.reusabilityBudget)||e.reusabilityBudget<0||e.reusabilityBudget>100))throw new Error('CSSX reusabilityBudget must be "auto" or a number from 0 through 100.');_(e.cssFileName??"cssx.css")}function H(e){let t=2166136261;for(let s=0;s<e.length;s++)t^=e.charCodeAt(s),t=Math.imul(t,16777619);return(t>>>0).toString(36)}function P(e,t){return _(e).replaceAll("[hash]",H(t))}function D(e,t){return`${e&&e!=="/"?`/${e.replace(/^\/+|\/+$/g,"")}`:""}/${_(t).replaceAll(b.sep,"/")}`}function Y(e,t,s){return t.outdir?(0,b.resolve)(e,t.outdir,s):t.outfile?(0,b.resolve)((0,b.dirname)((0,b.resolve)(e,t.outfile)),s):(0,b.resolve)(e,s)}function w(e){return e.split("?",1).join("")}function _(e){if(!e||(0,b.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let t=(0,b.normalize)(e);if(t===".."||t.startsWith(`..${b.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!t.endsWith(".css"))throw new Error("cssFileName must end in .css.");return t}function ee(e,t,s){let r=e.getNativeBuildContext?.();if(!r||r.framework!=="webpack"&&r.framework!=="rspack")return;let n=r.loaderContext?._module;if(!n)return;let d=n.buildInfo??(n.buildInfo={});d[s]=t}function V(e,t,s,r,n,d,u,o,y=!0,g){let x=e.name??e.options?.name;x==="server"||x==="edge-server"||e.hooks.thisCompilation.tap("@cssxio/unplugin",C=>{C.hooks.processAssets.tapPromise({name:"@cssxio/unplugin",stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},async()=>{let l=g?await g():Se([...C.modules].map(h=>we(h,d)).filter(h=>h!==void 0),u?.values()??[]),c=await v(l,await s(),r,n,o,y);if(!c.css)return;let p=P(t,c.css);if(C.getAsset?.(p))throw new Error(`CSSX CSS asset collision at "${p}".`);if(C.emitAsset(p,new e.webpack.sources.RawSource(M(c,p))),c.map){let h=`${p}.map`;if(C.getAsset?.(h))throw new Error(`CSSX CSS map asset collision at "${h}".`);C.emitAsset(h,new e.webpack.sources.RawSource(A(c.map,p)))}})})}function Se(e,t){let s=new Map,r=[];for(let n of t)n.id?s.set(n.id,n):r.push(n);for(let n of e)n.id?s.set(n.id,n):r.push(n);return[...s.values(),...r]}function we(e,t){let s=e.buildInfo?.[t];if(!s||typeof s!="object")return;let{id:r,candidates:n,composites:d,atomicClasses:u,origins:o}=s;return{id:typeof r=="string"?r:"",candidates:n&&typeof n=="object"?n:{},composites:d&&typeof d=="object"?d:{},...Array.isArray(u)?{atomicClasses:u}:{},origins:o&&typeof o=="object"?o:{}}}var T=require("fs/promises"),R=require("path"),re=require("@cssxio/compiler");var te=require("@babel/core"),se=ye(require("@cssxio/babel-plugin"),1),N=require("@cssxio/compiler");var ke=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]);async function I(e,t,s={},r){B(s);let n=s.importSource??"@cssxio/cssx",d=t.split("?",1).join("");if(!ke.has(d.slice(d.lastIndexOf(".")))||!e.includes(n))return null;if(d.endsWith(".astro"))return ve(e,t,s);let u=await $(s),o=await(0,te.transformAsync)(e,{babelrc:!1,configFile:!1,filename:d,parserOpts:{plugins:["jsx","typescript"]},plugins:[[se.default,{importSource:n,classNameAllocator:s.classNameAllocator,theme:u,reusabilityBudget:s.reusabilityBudget,stableClassNames:s.stableClassNames,stableClassNameFileName:s.stableClassNameFileName,darkMode:s.darkMode}]],sourceMaps:!0,...r?{inputSourceMap:r}:{}}),y=o.metadata,{candidates:g,origins:x,composites:C,atomicClasses:l,cssOnlySignature:c}=y.cssx,p=Object.keys(g),h=p.length===0?"":(await(0,N.compileUtilities)(p,m=>g[m],u,(0,N.createSelectorAliases)(C),new Set(l),{darkMode:s.darkMode})).css;return{code:o.code,rules:h?[Re(Oe(h,s.layer))]:[],candidates:g,composites:C,atomicClasses:l,origins:x,cssOnlySignature:c,map:o.map}}async function ve(e,t,s){let r=Me(e);if(r.length===0)return null;let n=s.classNameAllocator??(0,N.createClassNameAllocator)(),d=s.importSource??"@cssxio/cssx",u={},o={},y=[],g=e;for(let x of[...r].reverse()){let C=await I(`import { sx } from ${JSON.stringify(d)};
4
- const style = ${x.code};`,`${t}.ts`,{...s,classNameAllocator:n}),l=Ne(C.code);g=`${g.slice(0,x.start)}${l}${g.slice(x.end)}`,Object.assign(u,C.candidates),Object.assign(o,C.composites),y.push(...C.rules)}return{code:g,rules:y,candidates:u,composites:o,atomicClasses:[],origins:{},cssOnlySignature:g}}function Me(e){let t=[],s=/\bsx\s*\(/g;for(let r of e.matchAll(s)){let n=r.index,d=e.indexOf("(",n),u=0,o="";for(let y=d;y<e.length;y+=1){let g=e[y];if(o){g==="\\"?y+=1:g===o&&(o="");continue}if(g==='"'||g==="'"||g==="`")o=g;else if(g==="(")u+=1;else if(g===")"&&--u===0){t.push({start:n,end:y+1,code:e.slice(n,y+1)}),s.lastIndex=y+1;break}}}return t}function Ne(e){let t="const style = ",s=e.indexOf(t)+t.length,r=e.indexOf(";",s);return e.slice(s,r)}function ne(e,t){if(!e||typeof e!="object")return;let s=e.getCombinedSourcemap;if(typeof s!="function")return;let r=s.call(e);if(!r||typeof r!="object")return;let n=r;if(!(n.version!==3||!Array.isArray(n.sources)||typeof n.mappings!="string"))return{version:n.version,sources:[...n.sources],names:[...n.names??[]],mappings:n.mappings,file:n.file??t.split("?",1).join(""),...n.sourceRoot?{sourceRoot:n.sourceRoot}:{},...n.sourcesContent?{sourcesContent:[...n.sourcesContent]}:{}}}function Re(e){return{className:`cssx-${H(e)}`,css:e}}function Oe(e,t){return e&&t?`@layer ${t}{${e}}`:e}var Ae=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]),Pe=new Set([".git",".next",".turbo","node_modules"]);async function X(e,t){let s=await Ie(e),r=(0,re.createClassNameAllocator)(t.className),n=[];for(let d of s){let u=await(0,T.readFile)(d,"utf8"),o=await I(u,d,{...t,classNameAllocator:r,stableClassNames:!0,stableClassNameFileName:(0,R.relative)(e,d).replaceAll(R.sep,"/")});o&&n.push({id:d,candidates:o.candidates,composites:o.composites,atomicClasses:o.atomicClasses,origins:o.origins})}return n}async function Ie(e){let t=[],s=[e];for(;s.length>0;){let r=s.pop();for(let n of await(0,T.readdir)(r,{withFileTypes:!0})){let d=(0,R.join)(r,n.name);if(n.isDirectory()){Pe.has(n.name)||s.push(d);continue}n.isFile()&&Ae.has(d.slice(d.lastIndexOf(".")))&&t.push(d)}}return t.sort()}function z(e,t,s=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:t,acceptedPath:t,timestamp:s}]})}var j="@cssxio/unplugin/rules",je=/\.(?:[cm]?[jt]sx?|astro)(?:\?.*)?$/,oe=new Map;function Ee(e,t){return`${e}\0${JSON.stringify(t)}`}function W(e,t){let s=Ee(e,t),r=oe.get(s);return r||(r={classNameAllocator:(0,G.createClassNameAllocator)(),transformedDataById:new Map},oe.set(s,r)),r}function Fe(e){let t=e.getNativeBuildContext?.();return t&&(t.framework==="webpack"||t.framework==="rspack")?t.loaderContext?.rootContext??process.cwd():void 0}function Le(e,t,s){let r=new Set;for(let n of t)e.moduleGraph?.invalidateModule(n,r,s,!0);for(let n of r){if(!n.id)continue;let d=e.runner?.evaluatedModules?.getModuleById(n.id);d&&e.runner?.evaluatedModules?.invalidateModule(d)}}function $e(e){return!e||typeof e!="object"?{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""}:Be(e[j])}function Be(e){if(!e||typeof e!="object")return{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""};let{id:t,rules:s,candidates:r,composites:n,atomicClasses:d,origins:u,cssOnlySignature:o}=e;return{id:typeof t=="string"?t:"",rules:Array.isArray(s)?s:[],candidates:r&&typeof r=="object"?r:{},composites:n&&typeof n=="object"?n:{},...Array.isArray(d)?{atomicClasses:d}:{},origins:u&&typeof u=="object"?u:{},cssOnlySignature:typeof o=="string"?o:""}}var De=(e={},t)=>{B(e);let s=e.cssFileName??"cssx.css",r=e.sourceMap??!0,n=new Map,d=(0,G.createClassNameAllocator)(),u=new Map,o,y=process.cwd(),g,x=()=>$(e),C=async function(l,c){let p=new Set(Object.values(c).flatMap(a=>a.type==="chunk"?Object.keys(a.modules??{}):[]).map(w));if(t.framework!=="vite")for(let a of n.keys())p.has(a)||n.delete(a);let h=t.framework==="vite"?[...n.values()]:[...p].map(a=>{let f=$e(this.getModuleInfo(a)?.meta);return Object.keys(f.candidates).length>0?f:n.get(a)??f}),m=await v(h,await x(),e.layer,r,e.darkMode,e.preflight);if(!m.css)return;let i=P(s,m.css);if(Object.hasOwn(c,i))throw new Error(`CSSX CSS asset collision at "${i}".`);if(this.emitFile({type:"asset",fileName:i,source:M(m,i)}),m.map){let a=`${i}.map`;if(Object.hasOwn(c,a))throw new Error(`CSSX CSS map asset collision at "${a}".`);this.emitFile({type:"asset",fileName:a,source:A(m.map,i)})}};return{name:"@cssxio/unplugin",enforce:"pre",transform:{filter:{id:je},async handler(l,c){e.themeFile&&this.addWatchFile?.((0,S.resolve)(process.cwd(),e.themeFile));let p=Fe(this),h=p?W(p,e):void 0,m=await I(l,c,{...e,classNameAllocator:h?.classNameAllocator??d,...e.stableClassNames?{stableClassNameFileName:(0,S.relative)(p??process.cwd(),w(c)).replaceAll(S.sep,"/")}:{}},ne(this,c)),i={id:w(c),rules:m?.rules??[],candidates:m?.candidates??{},composites:m?.composites??{},atomicClasses:m?.atomicClasses??[],origins:m?.origins??{},cssOnlySignature:m?.cssOnlySignature??""};ee(this,i,j);let a=w(c);(m||a===c)&&(n.set(a,i),u.set((0,S.resolve)(y,a),i),h?.transformedDataById.set(a,i)),t.framework==="vite"&&g&&z(g,D("/",s));let f=m?.code??l;return{code:(t.framework==="webpack"||t.framework==="rspack")&&m?`${f}
5
- ${Te(s)}`:f,meta:{[j]:i},...m?.map?{map:m.map}:{}}}},watchChange(l,c){c.event==="delete"&&n.delete(w(l))},rollup:{generateBundle:C},vite:{generateBundle:C,configureServer(l){g=l;let c=D(l.config.base,s),p=D("/",s);l.watcher?.on("unlink",h=>{n.delete(w(h)),z(l,p)}),l.middlewares.use((h,m,i)=>{let a=h.url?.split("?",1)[0];if(a!==c&&(a!==`${c}.map`||!r))return i();x().then(f=>v([...n.values()],f,e.layer,r,e.darkMode,e.preflight)).then(f=>{if(a===`${c}.map`){m.setHeader("Content-Type","application/json; charset=utf-8"),m.setHeader("Cache-Control","no-store"),m.end(f.map?A(f.map,s):"");return}m.setHeader("Content-Type","text/css; charset=utf-8"),m.setHeader("Cache-Control","no-store"),m.end(M(f,s))}).catch(f=>{m.setHeader("Content-Type","text/plain; charset=utf-8"),m.end(f instanceof Error?f.message:"Unable to compile CSSX development stylesheet.")})})},hotUpdate:{order:"pre",async handler(l){let c=this.environment;if(!c||c.name==="client")return;let p=l.modules.filter(i=>{let a=n.get(w(i.id??""));return!!(a&&a.cssOnlySignature&&a.atomicClasses?.length===0)});if(p.length===0)return;let h=new Map(p.map(i=>[i,n.get(w(i.id)).cssOnlySignature]));for(let i of p)i.url&&await c.transformRequest(i.url);if(p.every(i=>{let a=n.get(w(i.id));return!!(a&&a.atomicClasses.length===0&&a.cssOnlySignature===h.get(i))}))return Le(c,p,l.timestamp),l.modules.filter(i=>!p.includes(i))}}},...t.framework==="webpack"?{webpack(l){let c=W(l.context,e);V(l,s,x,e.layer,r,j,c.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>X(l.context,e):void 0)}}:{},...t.framework==="rspack"?{rspack(l){let c=W(l.context,e);V(l,s,x,e.layer,r,j,c.transformedDataById,e.darkMode,e.preflight,e.stableClassNames?()=>X(l.context,e):void 0)}}:{},...t.framework==="esbuild"?{esbuild:{config(l){l.metafile=!0},setup(l){let c=l.initialOptions.absWorkingDir??process.cwd();y=c,l.onEnd(async p=>{if(!p.metafile)return;let h=new Set(Object.keys(p.metafile.inputs).map(f=>(0,S.resolve)(c,f)));for(let f of u.keys())h.has(f)||u.delete(f);let m=await v([...u.values()],await x(),e.layer,r,e.darkMode,e.preflight),i=Y(c,l.initialOptions,P(s,m.css));if(!m.css){o&&await(0,O.unlink)(o).catch(()=>{}),o=void 0;return}let a=M(m,(0,S.basename)(i));if(l.initialOptions.write===!1){let f=p.outputFiles;if(!f)return;let k={path:i,contents:ie.Buffer.from(a),hash:"",text:a};if(f.findIndex(de=>de.path===i)!==-1)throw new Error(`CSSX CSS asset collision at "${i}".`);f.push(k);return}await(0,O.mkdir)((0,S.dirname)(i),{recursive:!0}),await(0,O.writeFile)(i,a),o=i})}}}:{}}},U=(0,ae.createUnplugin)(De);function Te(e){return`if (typeof document !== "undefined" && typeof module !== "undefined" && module.hot) {
1
+ "use strict";var Ze=Object.create;var V=Object.defineProperty;var et=Object.getOwnPropertyDescriptor;var tt=Object.getOwnPropertyNames;var st=Object.getPrototypeOf,ot=Object.prototype.hasOwnProperty;var rt=(e,s)=>{for(var t in s)V(e,t,{get:s[t],enumerable:!0})},se=(e,s,t,r)=>{if(s&&typeof s=="object"||typeof s=="function")for(let o of tt(s))!ot.call(e,o)&&o!==t&&V(e,o,{get:()=>s[o],enumerable:!(r=et(s,o))||r.enumerable});return e};var nt=(e,s,t)=>(t=e!=null?Ze(st(e)):{},se(s||!e||!e.__esModule?V(t,"default",{value:e,enumerable:!0}):t,e)),it=e=>se(V({},"__esModule",{value:!0}),e);var gt={};rt(gt,{default:()=>ft});module.exports=it(gt);var Ke=require("@cssxio/compiler"),Qe=require("unplugin");function oe(e,s){let t=new Map,r=[];for(let o of s)o.id?t.set(o.id,o):r.push(o);for(let o of e)o.id?t.set(o.id,o):r.push(o);return[...t.values(),...r]}var A=require("path");function P(e){if(!e||(0,A.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let s=(0,A.normalize)(e);if(s===".."||s.startsWith(`..${A.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!s.endsWith(".css"))throw new Error("cssFileName must end in .css.");return s}function B(e){if(e.theme!==void 0&&e.themeFile!==void 0)throw new Error("CSSX accepts either theme or themeFile, not both.");if(e.layer!==void 0&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(e.layer))throw new Error("CSSX layer must be a valid CSS layer identifier.");if(e.sourceMap!==void 0&&typeof e.sourceMap!="boolean")throw new Error("CSSX sourceMap must be a boolean.");if(e.darkMode!==void 0&&e.darkMode!=="media"&&e.darkMode!=="selector"&&e.darkMode!=="class")throw new Error('CSSX darkMode must be "media", "selector", or "class".');if(e.preflight!==void 0&&typeof e.preflight!="boolean")throw new Error("CSSX preflight must be a boolean.");if(e.reusabilityBudget!==void 0&&e.reusabilityBudget!=="auto"&&(!Number.isFinite(e.reusabilityBudget)||e.reusabilityBudget<0||e.reusabilityBudget>100))throw new Error('CSSX reusabilityBudget must be "auto" or a number from 0 through 100.');P(e.cssFileName??"cssx.css")}var re=require("fs/promises"),ne=require("path");async function j(e){return e.themeFile===void 0?e.theme:(0,re.readFile)((0,ne.resolve)(process.cwd(),e.themeFile),"utf8")}function y(e){return e.split("?",1).join("")}function $(e){let s=2166136261;for(let t=0;t<e.length;t++)s^=e.charCodeAt(t),s=Math.imul(s,16777619);return(s>>>0).toString(36)}function b(e,s){return P(e).replaceAll("[hash]",$(s))}var M=require("path");function Y(e,s,t){return s.outdir?(0,M.resolve)(e,s.outdir,t):s.outfile?(0,M.resolve)((0,M.dirname)((0,M.resolve)(e,s.outfile)),t):(0,M.resolve)(e,t)}var ie=require("path");function T(e,s){return`${e&&e!=="/"?`/${e.replace(/^\/+|\/+$/g,"")}`:""}/${P(s).replaceAll(ie.sep,"/")}`}function ae(e,s){let t=e.buildInfo?.[s];if(!t||typeof t!="object")return;let{id:r,candidates:o,composites:n,atomicClasses:d,origins:i}=t;return{id:typeof r=="string"?r:"",candidates:o&&typeof o=="object"?o:{},composites:n&&typeof n=="object"?n:{},...Array.isArray(d)?{atomicClasses:d}:{},origins:i&&typeof i=="object"?i:{}}}var H=require("@cssxio/compiler");function Z(e,s){let t=s.split(`
2
+ `);return{line:e.line+t.length-1,column:t.at(-1).length+e.column*+(t.length===1)}}var at="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function L(e){let s="",t=e<0?-e<<1|1:e<<1;do{let r=t&31;t>>>=5,t&&(r|=32),s+=at[r]}while(t);return s}function le(e){let s=Array.from({length:Math.max(0,...e.map(i=>i.line))+1},()=>[]),t=0,r=0,o=0,n=0,d=0;for(let i of e)d*=+(i.line===n),n=i.line,s[i.line]?.push(`${L(i.column-d)}${L(i.source-t)}${L(i.originalLine-r)}${L(i.originalColumn-o)}`),d=i.column,t=i.source,r=i.originalLine,o=i.originalColumn;return s.map(i=>i.join(",")).join(";")}function ce(e,s,t){let r=[...new Set(s.map(i=>t.get(i.candidate)?.id).filter(i=>!!i))].sort();if(r.length===0)return;let o=new Map(r.map((i,a)=>[i,a])),n=[],d=Z({line:0,column:0},e);for(let i of s){let a=t.get(i.candidate);a&&n.push({...d,source:o.get(a.id),originalLine:a.line,originalColumn:a.column}),d=Z(d,i.css)}return{version:3,sources:r,names:[],mappings:le(n)}}var de='*,::before,::after,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}button,select{text-transform:none}button,input:where([type="button"],[type="reset"],[type="submit"]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit}textarea{resize:vertical}::placeholder{opacity:1}button,[role="button"]{cursor:pointer}:disabled{cursor:default}[hidden]:where(:not([hidden="until-found"])){display:none!important}';async function h(e,s,t,r=!0,o,n=!0){let d=Object.create(null),i=Object.create(null),a=new Set,m=!0,p=new Map;for(let C of[...e].sort((x,R)=>x.id.localeCompare(R.id))){for(let[x,R]of Object.entries(C.candidates))if(x in d||(d[x]=R),C.id&&!p.has(x)){let D=C.origins?.[x];p.set(x,{id:C.id,line:D?.line??0,column:D?.column??0})}for(let[x,R]of Object.entries(C.composites??{})){let D=i[x];if(D&&D.join(" ")!==R.join(" "))throw new Error(`CSSX composite class collision for "${x}".`);i[x]=R}C.atomicClasses===void 0&&(m=!1);for(let x of C.atomicClasses??[])a.add(x)}let l=Object.keys(d).sort(),u=n?de:"";if(l.length===0)return{css:u&&t?`@layer ${t}{${u}}`:u};let c=await(0,H.compileUtilities)(l,C=>d[C],s,(0,H.createSelectorAliases)(i),m?a:void 0,{darkMode:o}),f=t?`@layer ${t}{`:"",g=`${f}${u}${c.css}${f?"}":""}`,N=r?ce(`${f}${u}${c.prefixCss}`,c.entries,p):void 0;return{css:g,...N?{map:N}:{}}}function v(e,s){return JSON.stringify({...e,file:s})}var me=require("path");function S(e,s){return e.map?`${e.css}
3
+ /*# sourceMappingURL=${(0,me.basename)(s)}.map */`:e.css}function ue(e,s,t,r,o,n,d,i,a=!0,m){let p=e.name??e.options?.name;p==="server"||p==="edge-server"||e.hooks.thisCompilation.tap("@cssxio/unplugin",l=>{l.hooks.processAssets.tapPromise({name:"@cssxio/unplugin",stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},async()=>{let u=m?await m():oe([...l.modules].map(g=>ae(g,n)).filter(g=>g!==void 0),d?.values()??[]),c=await h(u,await t(),r,o,i,a);if(!c.css)return;let f=b(s,c.css);if(l.getAsset?.(f))throw new Error(`CSSX CSS asset collision at "${f}".`);if(l.emitAsset(f,new e.webpack.sources.RawSource(S(c,f))),c.map){let g=`${f}.map`;if(l.getAsset?.(g))throw new Error(`CSSX CSS map asset collision at "${g}".`);l.emitAsset(g,new e.webpack.sources.RawSource(v(c.map,f)))}})})}var w="@cssxio/unplugin/rules";function U(){return{id:"",rules:[],candidates:{},composites:{},origins:{},cssOnlySignature:""}}var ge=require("@cssxio/compiler");function pe(e,s){return`${e}\0${JSON.stringify(s)}`}var fe=new Map;function _(e,s){let t=pe(e,s),r=fe.get(t);return r||(r={classNameAllocator:(0,ge.createClassNameAllocator)(),transformedDataById:new Map},fe.set(t,r)),r}var De=require("@cssxio/compiler"),Be=require("fs/promises"),J=require("path");var ye=require("fs/promises"),xe=require("path"),lt=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro"]),ct=new Set([".git",".next",".turbo","node_modules"]);async function Ce(e){let s=[],t=[e];for(;t.length>0;){let r=t.pop();for(let o of await(0,ye.readdir)(r,{withFileTypes:!0})){let n=(0,xe.join)(r,o.name);if(o.isDirectory()){ct.has(o.name)||t.push(n);continue}o.isFile()&&lt.has(n.slice(n.lastIndexOf(".")))&&s.push(n)}}return s.sort()}var he=require("@cssxio/compiler");function W(e){let s=[],t=/\bsx\s*\(/g;for(let r of e.matchAll(t)){let o=r.index,n=e.indexOf("(",o),d=0,i="";for(let a=n;a<e.length;a+=1){let m=e[a];if(i){m==="\\"?a+=1:m===i&&(i="");continue}if(m==='"'||m==="'"||m==="`")i=m;else if(m==="(")d+=1;else if(m===")"&&--d===0){s.push({start:o,end:a+1,code:e.slice(o,a+1)}),t.lastIndex=a+1;break}}}return s}function I(e,s){return{code:e,rules:s.flatMap(t=>t.rules),candidates:Object.assign({},...s.map(t=>t.candidates)),composites:Object.assign({},...s.map(t=>t.composites)),atomicClasses:[...new Set(s.flatMap(t=>t.atomicClasses))],origins:Object.assign({},...s.map(t=>t.origins)),cssOnlySignature:e}}function z(e){let s="const style = ",t=e.indexOf(s)+s.length,r=e.indexOf(";",t);return e.slice(t,r)}async function Se(e,s,t,r){let o=W(e);if(o.length===0)return null;let n=t.classNameAllocator??(0,he.createClassNameAllocator)(),d=t.importSource??"@cssxio/cssx",i=[],a=e;for(let m of[...o].reverse()){let p=await r(`import { sx } from ${JSON.stringify(d)};
4
+ const style = ${m.code};`,`${s}.ts`,{...t,classNameAllocator:n}),l=z(p.code);a=`${a.slice(0,m.start)}${l}${a.slice(m.end)}`,i.push({...p,atomicClasses:[],origins:{}})}return I(a,i)}var ve=require("@babel/core"),we=nt(require("@cssxio/babel-plugin"),1),X=require("@cssxio/compiler");function be(e){return{className:`cssx-${$(e)}`,css:e}}function Me(e,s){return e&&s?`@layer ${s}{${e}}`:e}async function Oe(e,s,t,r){let o=t.importSource??"@cssxio/cssx",n=await j(t),d=await(0,ve.transformAsync)(e,{babelrc:!1,configFile:!1,filename:s,parserOpts:{plugins:["jsx","typescript"]},plugins:[[we.default,{importSource:o,classNameAllocator:t.classNameAllocator,theme:n,reusabilityBudget:t.reusabilityBudget,stableClassNames:t.stableClassNames,stableClassNameFileName:t.stableClassNameFileName,darkMode:t.darkMode}]],sourceMaps:!0,...r?{inputSourceMap:r}:{}}),i=d.metadata,{candidates:a,origins:m,composites:p,atomicClasses:l,cssOnlySignature:u}=i.cssx,c=Object.keys(a),f=c.length===0?"":(await(0,X.compileUtilities)(c,g=>a[g],n,(0,X.createSelectorAliases)(p),new Set(l),{darkMode:t.darkMode})).css;return{code:d.code,rules:f?[be(Me(f,t.layer))]:[],candidates:a,composites:p,atomicClasses:l,origins:m,cssOnlySignature:u,map:d.map}}var Te=require("@cssxio/compiler"),Ie=require("@vue/compiler-sfc");function G(e,s){let t=e.split(`
5
+ `).slice(0,s.line).reduce((r,o)=>r+o.length+1,0);return Math.min(e.length,t+s.column)}function q(e,s){let t=Math.min(e.length,s),r=e.slice(0,t).split(`
6
+ `).length-1,o=e.lastIndexOf(`
7
+ `,t-1)+1;return{line:r,column:t-o}}function ee(e,s,t){let r={},o=e.slice(s);for(let[n,d]of Object.entries(t))r[n]=q(e,s+G(o,d));return r}function ke(e){return e.slice(1,-1).replace(/\\(['"\\bnfrtv])/g,(s,t)=>({b:"\b",n:`
8
+ `,f:"\f",r:"\r",t:" ",v:"\v"})[t]??t)}function Ne(e,s){if(!s)return e;let t=s==='"'?"'":'"';return e.replace(/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'/g,r=>{let o=r[0]==='"'?JSON.parse(r):ke(r),n=JSON.stringify(o);return t==='"'?n:`'${n.slice(1,-1).replaceAll("'","\\'")}'`})}function Re(e,s,t,r,o){let n={};for(let[d,i]of Object.entries(o)){let a=G(t,i);n[d]=q(e,s+Math.max(0,a-r))}return n}function Ae(e,s){let t=-1,r;for(let o=0;o<s;o++){let n=e[o];if(r){n===r&&(r=void 0);continue}if(n==="<"&&/[A-Za-z]/.test(e[o+1])){t=o;continue}t!==-1&&(n===">"?t=-1:(n==='"'||n==="'")&&(r=n))}return r}async function Pe(e,s,t,r,o){let n=W(e);if(n.length===0)return null;let d=t.importSource??"@cssxio/cssx",i=[],a=e;for(let m of[...n].reverse()){let p=`import { sx } from ${JSON.stringify(d)};
9
+ const style = `,l=`${p}${m.code};`,u=await o(l,`${s}.cssx-vue-template.ts`,{...t,classNameAllocator:r}),c=Ne(z(u.code),Ae(e,m.start));a=`${a.slice(0,m.start)}${c}${a.slice(m.end)}`,i.push({...u,origins:Re(e,m.start,l,p.length,u.origins)})}return I(a,i)}async function Ee(e,s,t,r){let o=s.split("?",1).join(""),n=(0,Ie.parse)(e,{filename:o});if(n.errors.length>0)throw new Error(n.errors[0].message);let d=t.classNameAllocator??(0,Te.createClassNameAllocator)(),i=[],a=[];for(let l of[n.descriptor.script,n.descriptor.scriptSetup]){if(!l?.content.includes(t.importSource??"@cssxio/cssx"))continue;let u=l.lang==="js"||l.lang==="jsx"||l.lang==="tsx"?l.lang:"ts",c=await r(l.content,`${o}.cssx-vue-script.${u}`,{...t,classNameAllocator:d});i.push({start:l.loc.start.offset,end:l.loc.end.offset,code:c.code}),a.push({...c,origins:ee(e,l.loc.start.offset,c.origins)})}let m=n.descriptor.template;if(m?.content.includes("sx")){let l=await Pe(m.content,o,t,d,r);l&&(i.push({start:m.loc.start.offset,end:m.loc.end.offset,code:l.code}),a.push({...l,origins:ee(e,m.loc.start.offset,l.origins)}))}if(i.length===0)return null;let p=e;for(let l of i.sort((u,c)=>c.start-u.start))p=`${p.slice(0,l.start)}${l.code}${p.slice(l.end)}`;return I(p,a)}var dt=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro",".vue"]);async function O(e,s,t={},r){B(t);let o=t.importSource??"@cssxio/cssx",n=s.split("?",1).join("");return!dt.has(n.slice(n.lastIndexOf(".")))||!e.includes(o)?null:n.endsWith(".astro")?Se(e,s,t,O):n.endsWith(".vue")?Ee(e,s,t,O):Oe(e,n,t,r)}function Fe(e,s){if(!e||typeof e!="object")return;let t=e.getCombinedSourcemap;if(typeof t!="function")return;let r=t.call(e);if(!r||typeof r!="object")return;let o=r;if(!(o.version!==3||!Array.isArray(o.sources)||typeof o.mappings!="string"))return{version:o.version,sources:[...o.sources],names:[...o.names??[]],mappings:o.mappings,file:o.file??s.split("?",1).join(""),...o.sourceRoot?{sourceRoot:o.sourceRoot}:{},...o.sourcesContent?{sourcesContent:[...o.sourcesContent]}:{}}}async function je(e,s){let t=await Ce(e),r=(0,De.createClassNameAllocator)(s.className),o=[];for(let n of t){let d=await(0,Be.readFile)(n,"utf8"),i=await O(d,n,{...s,classNameAllocator:r,stableClassNames:!0,stableClassNameFileName:(0,J.relative)(e,n).replaceAll(J.sep,"/")});i&&o.push({id:n,candidates:i.candidates,composites:i.composites,atomicClasses:i.atomicClasses,origins:i.origins})}return o}function te({compiler:e,options:s,cssFileName:t,sourceMap:r,getTheme:o}){let n=_(e.context,s);ue(e,t,o,s.layer,r,w,n.transformedDataById,s.darkMode,s.preflight,s.stableClassNames?()=>je(e.context,s):void 0)}function K(e,s,t=Date.now()){e.ws.send({type:"update",updates:[{type:"css-update",path:s,acceptedPath:s,timestamp:t}]})}function $e(e,s){let{cssFileName:t,sourceMap:r,options:o,rollupDataById:n,getTheme:d}=s,i=T(e.config.base,t),a=T("/",t);e.watcher?.on("unlink",m=>{n.delete(y(m)),K(e,a)}),e.middlewares.use((m,p,l)=>{let u=m.url?.split("?",1)[0];if(u!==i&&(u!==`${i}.map`||!r))return l();d().then(c=>h([...n.values()],c,o.layer,r,o.darkMode,o.preflight)).then(c=>{if(u===`${i}.map`){p.setHeader("Content-Type","application/json; charset=utf-8"),p.setHeader("Cache-Control","no-store"),p.end(c.map?v(c.map,t):"");return}p.setHeader("Content-Type","text/css; charset=utf-8"),p.setHeader("Cache-Control","no-store"),p.end(S(c,t))}).catch(c=>{p.setHeader("Content-Type","text/plain; charset=utf-8"),p.end(c instanceof Error?c.message:"Unable to compile CSSX development stylesheet.")})})}function Le(e){if(!e||typeof e!="object")return U();let{id:s,rules:t,candidates:r,composites:o,atomicClasses:n,origins:d,cssOnlySignature:i}=e;return{id:typeof s=="string"?s:"",rules:Array.isArray(t)?t:[],candidates:r&&typeof r=="object"?r:{},composites:o&&typeof o=="object"?o:{},...Array.isArray(n)?{atomicClasses:n}:{},origins:d&&typeof d=="object"?d:{},cssOnlySignature:typeof i=="string"?i:""}}function Ve(e){return!e||typeof e!="object"?U():Le(e[w])}function He(e){return async function(s,t){let{framework:r,options:o,cssFileName:n,sourceMap:d,rollupDataById:i,getTheme:a}=e,m=new Set(Object.values(t).flatMap(c=>c.type==="chunk"?Object.keys(c.modules??{}):[]).map(y));if(r!=="vite")for(let c of i.keys())m.has(c)||i.delete(c);let p=r==="vite"?[...i.values()]:[...m].map(c=>{let f=Ve(this.getModuleInfo(c)?.meta);return Object.keys(f.candidates).length>0?f:i.get(c)??f}),l=await h(p,await a(),o.layer,d,o.darkMode,o.preflight);if(!l.css)return;let u=b(n,l.css);if(Object.hasOwn(t,u))throw new Error(`CSSX CSS asset collision at "${u}".`);if(this.emitFile({type:"asset",fileName:u,source:S(l,u)}),l.map){let c=`${u}.map`;if(Object.hasOwn(t,c))throw new Error(`CSSX CSS map asset collision at "${c}".`);this.emitFile({type:"asset",fileName:c,source:v(l.map,u)})}}}var k=require("path");function Ue(e){let s=e.getNativeBuildContext?.();return s&&(s.framework==="webpack"||s.framework==="rspack")?s.loaderContext?.rootContext??process.cwd():void 0}function _e(e){return`if (typeof document !== "undefined" && typeof module !== "undefined" && module.hot) {
6
10
  const key = "__cssxStylesheetHmr";
7
11
  const state = globalThis[key] || (globalThis[key] = { revision: 0, staged: [], replacements: [] });
8
12
  const stylesheetLink = [...document.querySelectorAll('link[rel="stylesheet"]')].find((link) =>
@@ -89,4 +93,5 @@ ${Te(s)}`:f,meta:{[j]:i},...m?.map?{map:m.map}:{}}}},watchChange(l,c){c.event===
89
93
  state.poll = setInterval(() => void refresh(), 500);
90
94
  }
91
95
  }
92
- }`}var dt=U.vite,ct=U.rollup,ut=U.webpack,le=U.rspack;var Ue=le,He=Ue;
96
+ }`}function We(e,s,t){let r=e.getNativeBuildContext?.();if(!r||r.framework!=="webpack"&&r.framework!=="rspack")return;let o=r.loaderContext?._module;if(!o)return;let n=o.buildInfo??(o.buildInfo={});n[t]=s}function ze(e){return async function(s,t){let{framework:r,options:o,classNameAllocator:n,rollupDataById:d,esbuildDataById:i,cssFileName:a,getEsbuildWorkingDirectory:m,notifyViteStyles:p}=e;o.themeFile&&this.addWatchFile?.((0,k.resolve)(o.themeFile));let l=Ue(this),u=l?_(l,o):void 0,c=await O(s,t,{...o,classNameAllocator:u?.classNameAllocator??n,...o.stableClassNames?{stableClassNameFileName:(0,k.relative)(l??process.cwd(),y(t)).replaceAll(k.sep,"/")}:{}},Fe(this,t)),f={id:y(t),rules:c?.rules??[],candidates:c?.candidates??{},composites:c?.composites??{},atomicClasses:c?.atomicClasses??[],origins:c?.origins??{},cssOnlySignature:c?.cssOnlySignature??""};We(this,f,w);let g=y(t);(c||g===t)&&(d.set(g,f),i.set((0,k.resolve)(m(),g),f),u?.transformedDataById.set(g,f)),r==="vite"&&p(T("/",a));let N=c?.code??s;return{code:(r==="webpack"||r==="rspack")&&c?`${N}
97
+ ${_e(a)}`:N,meta:{[w]:f},...c?.map?{map:c.map}:{}}}}var Xe=require("buffer"),E=require("fs/promises"),F=require("path");function Ge(e){let{options:s,cssFileName:t,sourceMap:r,dataById:o,getTheme:n}=e,d,i=process.cwd();return{config(a){a.metafile=!0},setup(a){i=a.initialOptions.absWorkingDir??process.cwd(),a.onEnd(async m=>{if(!m.metafile)return;let p=new Set(Object.keys(m.metafile.inputs).map(f=>(0,F.resolve)(i,f)));for(let f of o.keys())p.has(f)||o.delete(f);let l=await h([...o.values()],await n(),s.layer,r,s.darkMode,s.preflight),u=Y(i,a.initialOptions,b(t,l.css));if(!l.css){d&&await(0,E.unlink)(d).catch(()=>{}),d=void 0;return}let c=S(l,(0,F.basename)(u));if(a.initialOptions.write===!1){let f=m.outputFiles;if(!f)return;let g={path:u,contents:Xe.Buffer.from(c),hash:"",text:c};if(f.findIndex(C=>C.path===u)!==-1)throw new Error(`CSSX CSS asset collision at "${u}".`);f.push(g);return}await(0,E.mkdir)((0,F.dirname)(u),{recursive:!0}),await(0,E.writeFile)(u,c),d=u})},getWorkingDirectory:()=>i}}function qe(e,s,t){let r=new Set;for(let o of s)e.moduleGraph?.invalidateModule(o,r,t,!0);for(let o of r){if(!o.id)continue;let n=e.runner?.evaluatedModules?.getModuleById(o.id);n&&e.runner?.evaluatedModules?.invalidateModule(n)}}function Je(e){return async function(t){let r=this.environment;if(!r||r.name==="client")return;let o=t.modules,n=o.filter(a=>{let m=e.get(y(a.id??""));return!!(m&&m.cssOnlySignature&&m.atomicClasses?.length===0)});if(n.length===0)return;let d=new Map(n.map(a=>[a,e.get(y(a.id)).cssOnlySignature]));for(let a of n)a.url&&await r.transformRequest(a.url);if(n.every(a=>{let m=e.get(y(a.id));return!!(m&&m.atomicClasses.length===0&&m.cssOnlySignature===d.get(a))}))return qe(r,n,t.timestamp),o.filter(a=>!n.includes(a))}}var mt=/\.(?:[cm]?[jt]sx?|astro|vue)(?:\?.*)?$/,ut=(e={},s)=>{B(e);let t=e.cssFileName??"cssx.css",r=e.sourceMap??!0,o=new Map,n=(0,Ke.createClassNameAllocator)(),d=new Map,i,a=()=>j(e),m=Ge({options:e,cssFileName:t,sourceMap:r,dataById:d,getTheme:a}),p=He({framework:s.framework,options:e,cssFileName:t,sourceMap:r,rollupDataById:o,getTheme:a});return{name:"@cssxio/unplugin",enforce:"pre",transform:{filter:{id:mt},handler:ze({framework:s.framework,options:e,classNameAllocator:n,rollupDataById:o,esbuildDataById:d,cssFileName:t,getEsbuildWorkingDirectory:m.getWorkingDirectory,notifyViteStyles:l=>{i&&K(i,l)}})},watchChange(l,u){u.event==="delete"&&o.delete(y(l))},rollup:{generateBundle:p},vite:{generateBundle:p,configureServer(l){i=l,$e(l,{cssFileName:t,sourceMap:r,options:e,rollupDataById:o,getTheme:a})},hotUpdate:{order:"pre",handler:Je(o)}},...s.framework==="webpack"?{webpack(l){te({compiler:l,options:e,cssFileName:t,sourceMap:r,getTheme:a})}}:{},...s.framework==="rspack"?{rspack(l){te({compiler:l,options:e,cssFileName:t,sourceMap:r,getTheme:a})}}:{},...s.framework==="esbuild"?{esbuild:{config:m.config,setup:m.setup}}:{}}},Q=(0,Qe.createUnplugin)(ut),Zo=Q.vite,er=Q.rollup,tr=Q.webpack,Ye=Q.rspack;var pt=Ye,ft=pt;
package/dist/rspack.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _unplugin from 'unplugin';
2
- import { C as CssxPluginOptions } from './options-kIzRyZSc.cjs';
2
+ import { C as CssxPluginOptions } from './options-ByIyWTN0.cjs';
3
3
  import '@cssxio/compiler';
4
4
 
5
5
  /**
package/dist/rspack.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _unplugin from 'unplugin';
2
- import { C as CssxPluginOptions } from './options-kIzRyZSc.js';
2
+ import { C as CssxPluginOptions } from './options-ByIyWTN0.js';
3
3
  import '@cssxio/compiler';
4
4
 
5
5
  /**
package/dist/rspack.js CHANGED
@@ -1 +1 @@
1
- import{h as s}from"./chunk-KCX3ORPX.js";var c=s,p=c;export{p as default};
1
+ import{h as s}from"./chunk-SKXNEQ2Z.js";var c=s,p=c;export{p as default};