@cssxio/unplugin 0.10.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/README.md +32 -20
  2. package/dist/chunk-3C3MRH6A.js +1 -0
  3. package/dist/chunk-62JIYM5O.js +3 -0
  4. package/dist/chunk-6TMSHR6Z.js +1 -0
  5. package/dist/chunk-6WHEMH4N.js +1 -0
  6. package/dist/chunk-CUKIYXQD.js +1 -0
  7. package/dist/chunk-ERSPVOTN.js +1 -0
  8. package/dist/chunk-EWDPJYCI.js +1 -0
  9. package/dist/chunk-FBSYCQYI.js +1 -0
  10. package/dist/chunk-FNYQGV2A.js +1 -0
  11. package/dist/chunk-JFKLWSSR.js +5 -0
  12. package/dist/chunk-KLVVGFBR.js +2 -0
  13. package/dist/chunk-KR26IZKN.js +1 -0
  14. package/dist/chunk-M2QORA5D.js +5 -0
  15. package/dist/chunk-N3X67A2E.js +1 -0
  16. package/dist/chunk-P7NG4XOZ.js +0 -0
  17. package/dist/chunk-RMB4J65B.js +0 -0
  18. package/dist/chunk-SV3MUUMI.js +1 -0
  19. package/dist/chunk-VSO4AWLZ.js +1 -0
  20. package/dist/chunk-WIZLK3SX.js +1 -0
  21. package/dist/chunk-XCE7ZTGW.js +3 -0
  22. package/dist/chunk-YYF5QU33.js +1 -0
  23. package/dist/chunk-YZ7P3BSQ.js +1 -0
  24. package/dist/chunk-ZCSG362J.js +1 -0
  25. package/dist/chunk-ZDJ2ZX5V.js +1 -0
  26. package/dist/compile-cssx-stylesheet-BC4-zPLW.d.cts +17 -0
  27. package/dist/compile-cssx-stylesheet-CyrCVIOq.d.ts +17 -0
  28. package/dist/create-universal-esbuild-hooks-OCPLHVMY.js +1 -0
  29. package/dist/development-coordinator-6IH5C7KS.js +1 -0
  30. package/dist/development-runtime.cjs +212 -0
  31. package/dist/development-runtime.d.cts +181 -0
  32. package/dist/development-runtime.d.ts +181 -0
  33. package/dist/development-runtime.js +196 -0
  34. package/dist/esbuild.cjs +14 -102
  35. package/dist/esbuild.d.cts +1 -1
  36. package/dist/esbuild.d.ts +1 -1
  37. package/dist/esbuild.js +1 -1
  38. package/dist/index.cjs +19 -102
  39. package/dist/index.d.cts +8 -134
  40. package/dist/index.d.ts +8 -134
  41. package/dist/index.js +1 -1
  42. package/dist/module-cssx-data-C58vi376.d.cts +12 -0
  43. package/dist/module-cssx-data-CeyCcQqm.d.ts +12 -0
  44. package/dist/next-development-server-CBPFB9EC.d.cts +17 -0
  45. package/dist/next-development-server-CBPFB9EC.d.ts +17 -0
  46. package/dist/next-development-server-I7PSPICB.js +1 -0
  47. package/dist/next-loader.cjs +16 -15
  48. package/dist/next-loader.d.cts +3 -1
  49. package/dist/next-loader.d.ts +3 -1
  50. package/dist/next-loader.js +5 -4
  51. package/dist/next.cjs +1 -1
  52. package/dist/next.d.cts +1 -1
  53. package/dist/next.d.ts +1 -1
  54. package/dist/next.js +1 -1
  55. package/dist/{options-DkqShf7w.d.ts → options-BbhZj-Sb.d.cts} +4 -0
  56. package/dist/{options-DkqShf7w.d.cts → options-BbhZj-Sb.d.ts} +4 -0
  57. package/dist/project-scan-EIM7BVPC.js +1 -0
  58. package/dist/rollup.cjs +17 -101
  59. package/dist/rollup.d.cts +1 -1
  60. package/dist/rollup.d.ts +1 -1
  61. package/dist/rollup.js +1 -1
  62. package/dist/rspack.cjs +17 -101
  63. package/dist/rspack.d.cts +1 -1
  64. package/dist/rspack.d.ts +1 -1
  65. package/dist/rspack.js +1 -1
  66. package/dist/stylesheet-types-DF-aQ6hZ.d.cts +42 -0
  67. package/dist/stylesheet-types-DF-aQ6hZ.d.ts +42 -0
  68. package/dist/transform-astro-sx-HBUDGJ5K.js +2 -0
  69. package/dist/transform-babel-cssx-module-U4DGJILK.js +1 -0
  70. package/dist/transform-runtime.cjs +12 -0
  71. package/dist/transform-runtime.d.cts +114 -0
  72. package/dist/transform-runtime.d.ts +114 -0
  73. package/dist/transform-runtime.js +2 -0
  74. package/dist/transform-vue-sfc-ACOOMWIS.js +6 -0
  75. package/dist/try-transform-native-static-create-345K2PAR.js +1 -0
  76. package/dist/try-transform-native-static-sx-MGM7DLG4.js +1 -0
  77. package/dist/unplugin-factory-runtime.cjs +18 -0
  78. package/dist/unplugin-factory-runtime.d.cts +48 -0
  79. package/dist/unplugin-factory-runtime.d.ts +48 -0
  80. package/dist/unplugin-factory-runtime.js +1 -0
  81. package/dist/vite.cjs +17 -101
  82. package/dist/vite.d.cts +1 -1
  83. package/dist/vite.d.ts +1 -1
  84. package/dist/vite.js +1 -1
  85. package/dist/webpack.cjs +17 -101
  86. package/dist/webpack.d.cts +1 -1
  87. package/dist/webpack.d.ts +1 -1
  88. package/dist/webpack.js +1 -1
  89. package/dist/with-class-name-manifest-455KRGHY.js +1 -0
  90. package/package.json +18 -4
  91. package/dist/chunk-5R7RC6XB.js +0 -13
  92. package/dist/chunk-KEHM5MVZ.js +0 -91
  93. package/dist/chunk-OHZUHF4D.js +0 -1
package/dist/index.d.ts CHANGED
@@ -1,136 +1,10 @@
1
- import * as _webpack from 'webpack';
2
- import * as _unplugin from 'unplugin';
3
- import { UnpluginFactory } from 'unplugin';
4
- import { C as CssxPluginOptions } from './options-DkqShf7w.js';
1
+ export { default, rollup, rspack, default as unplugin, unpluginFactory, vite, webpack } from './unplugin-factory-runtime.js';
2
+ export { IncomingSourceMap, TransformResult, transformCssxModule } from '@cssxio/unplugin/internal/transform-runtime';
5
3
  export { default as esbuild } from './esbuild.js';
6
- import { I as IncomingSourceMap } from './source-map-from-context-B4SX_KAW.js';
7
- import { transformAsync } from '@babel/core';
8
- import { DarkMode, CssxRule, ClassNameAllocator } from '@cssxio/compiler';
4
+ export { C as CssxCandidateOrigin, a as CssxSourceMap, b as CssxSourceModule, c as CssxStylesheet } from './stylesheet-types-DF-aQ6hZ.js';
5
+ export { C as CssxPluginOptions } from './options-BbhZj-Sb.js';
6
+ export { c as compileCssxStylesheet } from './compile-cssx-stylesheet-CyrCVIOq.js';
7
+ import 'webpack';
8
+ import 'unplugin';
9
9
  import 'esbuild';
10
-
11
- /** The source location of one utility string. */
12
- interface CssxCandidateOrigin {
13
- /** Zero-based line number in the source module. */
14
- readonly line: number;
15
- /** Zero-based column number in the source module. */
16
- readonly column: number;
17
- }
18
- /** CSSX data collected from one source module. */
19
- interface CssxSourceModule {
20
- /** Stable source module ID. */
21
- readonly id: string;
22
- /** Maps utility strings to generated class names. */
23
- readonly candidates: Readonly<Record<string, string>>;
24
- /** Maps composite classes to their winning atomic classes. */
25
- readonly composites?: Readonly<Record<string, readonly string[]>>;
26
- /** Atomic classes required by compiled styles that survive to runtime. */
27
- readonly atomicClasses?: readonly string[];
28
- /** Maps utility strings to source locations when they are available. */
29
- readonly origins?: Readonly<Record<string, CssxCandidateOrigin>>;
30
- }
31
- /** A source map for generated CSS. */
32
- interface CssxSourceMap {
33
- /** Source map format version. */
34
- readonly version: 3;
35
- /** Source module IDs referenced by the map. */
36
- readonly sources: readonly string[];
37
- /** CSSX does not emit named source map entries. */
38
- readonly names: readonly [];
39
- /** Encoded source map segments for generated rules. */
40
- readonly mappings: string;
41
- }
42
- /** A generated stylesheet and its optional source map. */
43
- interface CssxStylesheet {
44
- /** Generated, deduplicated CSS. */
45
- readonly css: string;
46
- /** Source map for generated CSS when source locations are available. */
47
- readonly map?: CssxSourceMap;
48
- }
49
-
50
- /**
51
- * Builds one stylesheet from source module data.
52
- *
53
- * @param data CSSX data from source modules.
54
- * @param theme Optional CSS theme input.
55
- * @param layer Optional CSS layer for the output.
56
- * @param sourceMap Whether to generate a CSS source map.
57
- * @param darkMode Controls how the `dark` variant is activated.
58
- * @param preflight Whether to add the browser baseline before utility rules.
59
- * @returns The generated CSS and its source map when source locations exist.
60
- */
61
- declare function compileCssxStylesheet(data: readonly CssxSourceModule[], theme?: string, layer?: string, sourceMap?: boolean, darkMode?: DarkMode, preflight?: boolean): Promise<CssxStylesheet>;
62
-
63
- /** The result of transforming one source module. */
64
- interface TransformResult {
65
- /** JavaScript source after the CSSX transform. */
66
- readonly code: string;
67
- /** Compiled utility rules collected from this module. */
68
- readonly rules: readonly CssxRule[];
69
- /** Maps utility strings to generated class names. */
70
- readonly candidates: Readonly<Record<string, string>>;
71
- /** Maps composite classes to their winning atomic classes. */
72
- readonly composites: Readonly<Record<string, readonly string[]>>;
73
- /** Atomic classes required by compiled styles that survive to runtime. */
74
- readonly atomicClasses: readonly string[];
75
- /** Maps utility strings to their locations in the source module. */
76
- readonly origins: Readonly<Record<string, CssxCandidateOrigin>>;
77
- /** Source with CSSX utility literals removed, used to identify CSS-only edits. */
78
- readonly cssOnlySignature: string;
79
- /** Source map that continues a map supplied by an earlier transform. */
80
- readonly map?: NonNullable<Awaited<ReturnType<typeof transformAsync>>>['map'];
81
- }
82
- /**
83
- * Transforms one source module that imports CSSX.
84
- *
85
- * @param code Source code to transform.
86
- * @param id The source module ID.
87
- * @param options Adapter options.
88
- * @param inputSourceMap An optional source map from an earlier transform.
89
- * @returns The transformed module, or null when the module does not use CSSX.
90
- */
91
- declare function transformCssxModule(code: string, id: string, options?: CssxPluginOptions & {
92
- readonly classNameAllocator?: ClassNameAllocator;
93
- readonly stableClassNames?: boolean;
94
- readonly stableClassNameFileName?: string;
95
- }, inputSourceMap?: IncomingSourceMap): Promise<TransformResult | null>;
96
-
97
- /**
98
- * Creates the CSSX adapter hooks consumed by Unplugin for one build tool.
99
- *
100
- * @param options CSSX adapter options.
101
- * @param meta Unplugin metadata that identifies the active build tool.
102
- * @returns The hooks and lifecycle handlers for that build tool.
103
- */
104
- declare const unpluginFactory: UnpluginFactory<CssxPluginOptions | undefined>;
105
- /** Universal adapter instance that exposes factories for every supported build tool. */
106
- declare const unplugin: _unplugin.UnpluginInstance<CssxPluginOptions | undefined, boolean>;
107
- /**
108
- * Callable factory that creates the CSSX adapter for Vite.
109
- *
110
- * @param options CSSX adapter options.
111
- * @returns The Vite plugin.
112
- */
113
- declare const vite: (options?: CssxPluginOptions | undefined) => _unplugin.VitePlugin<any> | _unplugin.VitePlugin<any>[];
114
- /**
115
- * Callable factory that creates the CSSX adapter for Rollup.
116
- *
117
- * @param options CSSX adapter options.
118
- * @returns The Rollup plugin.
119
- */
120
- declare const rollup: (options?: CssxPluginOptions | undefined) => _unplugin.RollupPlugin<any> | _unplugin.RollupPlugin<any>[];
121
- /**
122
- * Callable factory that creates the CSSX adapter for webpack.
123
- *
124
- * @param options CSSX adapter options.
125
- * @returns The webpack plugin.
126
- */
127
- declare const webpack: (options?: CssxPluginOptions | undefined) => _webpack.WebpackPluginInstance;
128
- /**
129
- * Callable factory that creates the CSSX adapter for Rspack.
130
- *
131
- * @param options CSSX adapter options.
132
- * @returns The Rspack plugin.
133
- */
134
- declare const rspack: (options?: CssxPluginOptions | undefined) => _unplugin.RspackPluginInstance;
135
-
136
- export { type CssxCandidateOrigin, CssxPluginOptions, type CssxSourceMap, type CssxSourceModule, type CssxStylesheet, IncomingSourceMap, type TransformResult, compileCssxStylesheet, unplugin as default, rollup, rspack, transformCssxModule, unplugin, unpluginFactory, vite, webpack };
10
+ import '@cssxio/compiler';
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{a as c,b as d,c as e,d as f,e as g,f as h,g as i,h as j}from"./chunk-KEHM5MVZ.js";import{g as a,m as b}from"./chunk-5R7RC6XB.js";import"./chunk-OHZUHF4D.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"./chunk-RMB4J65B.js";import{a as o}from"./chunk-XCE7ZTGW.js";import"./chunk-VSO4AWLZ.js";import"./chunk-YZ7P3BSQ.js";import"./chunk-JFKLWSSR.js";import"./chunk-CUKIYXQD.js";import"./chunk-ZDJ2ZX5V.js";import{a as t,b as f,c as m,d as p,e as s,f as a,g as r}from"./chunk-KLVVGFBR.js";import"./chunk-P7NG4XOZ.js";import"./chunk-WIZLK3SX.js";import{a as e}from"./chunk-62JIYM5O.js";import"./chunk-6TMSHR6Z.js";import"./chunk-ERSPVOTN.js";import"./chunk-EWDPJYCI.js";import"./chunk-KR26IZKN.js";import"./chunk-YYF5QU33.js";import"./chunk-ZCSG362J.js";import"./chunk-3C3MRH6A.js";import"./chunk-SV3MUUMI.js";import{transformCssxModule as y}from"@cssxio/unplugin/internal/transform-runtime";export{e as compileCssxStylesheet,r as default,o as esbuild,p as rollup,a as rspack,y as transformCssxModule,f as unplugin,t as unpluginFactory,m as vite,s as webpack};
@@ -0,0 +1,12 @@
1
+ import { CssxRule } from '@cssxio/compiler';
2
+ import { b as CssxSourceModule } from './stylesheet-types-DF-aQ6hZ.cjs';
3
+
4
+ /** CSSX data collected for one transformed module. */
5
+ interface ModuleCssxData extends CssxSourceModule {
6
+ /** Compiled CSS rules from the source module. */
7
+ readonly rules: readonly CssxRule[];
8
+ /** Signature used to distinguish declaration-only development changes. */
9
+ readonly cssOnlySignature: string;
10
+ }
11
+
12
+ export type { ModuleCssxData as M };
@@ -0,0 +1,12 @@
1
+ import { CssxRule } from '@cssxio/compiler';
2
+ import { b as CssxSourceModule } from './stylesheet-types-DF-aQ6hZ.js';
3
+
4
+ /** CSSX data collected for one transformed module. */
5
+ interface ModuleCssxData extends CssxSourceModule {
6
+ /** Compiled CSS rules from the source module. */
7
+ readonly rules: readonly CssxRule[];
8
+ /** Signature used to distinguish declaration-only development changes. */
9
+ readonly cssOnlySignature: string;
10
+ }
11
+
12
+ export type { ModuleCssxData as M };
@@ -0,0 +1,17 @@
1
+ /** Browser connection settings for the local Next.js development stylesheet transport. */
2
+ interface NextDevelopmentHmrConnection {
3
+ /** Loopback port used by the development-only stylesheet endpoint. */
4
+ readonly port: number;
5
+ /** Project-specific endpoint segment. */
6
+ readonly token: string;
7
+ }
8
+ /** Starts a loopback-only event stream and stylesheet endpoint for one Next.js app. */
9
+ declare function startNextDevelopmentServer(root: string, styleSheetFile: string): NextDevelopmentHmrConnection;
10
+ /** Stops one project transport. Used by tests and development config reloads. */
11
+ declare function stopNextDevelopmentServer(root: string): void;
12
+ /** Pushes a revision after the loader atomically replaces the generated sheet. */
13
+ declare function publishNextDevelopmentStylesheet(connection: NextDevelopmentHmrConnection, css?: string): Promise<void>;
14
+ /** Waits until the coordinator has completed its initial stylesheet write. */
15
+ declare function waitForNextDevelopmentStylesheet(connection: NextDevelopmentHmrConnection): Promise<void>;
16
+
17
+ export { type NextDevelopmentHmrConnection as N, stopNextDevelopmentServer as a, publishNextDevelopmentStylesheet as p, startNextDevelopmentServer as s, waitForNextDevelopmentStylesheet as w };
@@ -0,0 +1,17 @@
1
+ /** Browser connection settings for the local Next.js development stylesheet transport. */
2
+ interface NextDevelopmentHmrConnection {
3
+ /** Loopback port used by the development-only stylesheet endpoint. */
4
+ readonly port: number;
5
+ /** Project-specific endpoint segment. */
6
+ readonly token: string;
7
+ }
8
+ /** Starts a loopback-only event stream and stylesheet endpoint for one Next.js app. */
9
+ declare function startNextDevelopmentServer(root: string, styleSheetFile: string): NextDevelopmentHmrConnection;
10
+ /** Stops one project transport. Used by tests and development config reloads. */
11
+ declare function stopNextDevelopmentServer(root: string): void;
12
+ /** Pushes a revision after the loader atomically replaces the generated sheet. */
13
+ declare function publishNextDevelopmentStylesheet(connection: NextDevelopmentHmrConnection, css?: string): Promise<void>;
14
+ /** Waits until the coordinator has completed its initial stylesheet write. */
15
+ declare function waitForNextDevelopmentStylesheet(connection: NextDevelopmentHmrConnection): Promise<void>;
16
+
17
+ export { type NextDevelopmentHmrConnection as N, stopNextDevelopmentServer as a, publishNextDevelopmentStylesheet as p, startNextDevelopmentServer as s, waitForNextDevelopmentStylesheet as w };
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e}from"./chunk-M2QORA5D.js";import"./chunk-6WHEMH4N.js";import"./chunk-SV3MUUMI.js";export{c as publishNextDevelopmentStylesheet,a as startNextDevelopmentServer,b as stopNextDevelopmentServer,d as waitForNextDevelopmentStylesheet,e as writeNextDevelopmentEvent};
@@ -1,16 +1,17 @@
1
- "use strict";var Fe=Object.create;var T=Object.defineProperty;var je=Object.getOwnPropertyDescriptor;var ke=Object.getOwnPropertyNames;var Ie=Object.getPrototypeOf,Le=Object.prototype.hasOwnProperty;var Xe=(e,s)=>{for(var t in s)T(e,t,{get:s[t],enumerable:!0})},Z=(e,s,t,r)=>{if(s&&typeof s=="object"||typeof s=="function")for(let o of ke(s))!Le.call(e,o)&&o!==t&&T(e,o,{get:()=>s[o],enumerable:!(r=je(s,o))||r.enumerable});return e};var De=(e,s,t)=>(t=e!=null?Fe(Ie(e)):{},Z(s||!e||!e.__esModule?T(t,"default",{value:e,enumerable:!0}):t,e)),Je=e=>Z(T({},"__esModule",{value:!0}),e);var He={};Xe(He,{default:()=>H});module.exports=Je(He);var N=require("fs/promises"),x=require("path");function K(e,s,t){let r=t.naming??(t.stableClassNames?"source":t.className?.variant==="random"?"hash":t.className?.variant??"serial"),o=t.stableClassNames?"stableClassNames compatibility option selects source-addressed composites":t.naming?"explicit naming option":t.className?.variant?"className.variant option":"default serial naming",n=new Map,m=new Map;for(let a of[...e].sort((d,c)=>d.id.localeCompare(c.id))){let d=new Map;for(let[c,u]of Object.entries(a.candidates)){let f=m.get(c)??new Set;f.add(u),m.set(c,f);let h=n.get(u)??{module:a.id,utilities:new Set,line:a.origins?.[c]?.line??0,column:a.origins?.[c]?.column??0};h.utilities.add(c),n.set(u,h);let g=d.get(u)??[];g.push(c),d.set(u,g)}for(let[c,u]of Object.entries(a.composites??{})){let f=u.flatMap(S=>d.get(S)??[]),h=f[0],g=n.get(c)??{module:a.id,utilities:new Set,line:h?a.origins?.[h]?.line??0:0,column:h?a.origins?.[h]?.column??0:0};for(let S of f)g.utilities.add(S);n.set(c,g)}for(let c of a.atomicClasses??[])n.has(c)||n.set(c,{module:a.id,utilities:new Set,line:0,column:0})}let i=[...n].sort(([a],[d])=>a.localeCompare(d)).map(([a,d])=>({className:a,module:d.module,utilities:[...d.utilities].sort(),line:d.line+1,column:d.column+1,selectorFound:new RegExp(`\\.${Ve(a)}(?:[^A-Za-z0-9_-]|$)`).test(s)})),l=[...m].filter(([,a])=>a.size>1).map(([a])=>a).sort();return{version:1,naming:{mode:r,reason:o},coordination:{mode:t.coordination??"memory",...t.coordination==="manifest"&&t.manifestPath?{manifestPath:t.manifestPath}:{}},classes:i,serverClientMappings:{status:l.length>0?"mismatch":t.coordination==="manifest"?"manifest-shared":"consistent-in-process",conflicts:l}}}function Ve(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var P=require("path");function Y(e){if(!e||(0,P.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let s=(0,P.normalize)(e);if(s===".."||s.startsWith(`..${P.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 z(e){if(e.sourceRoots&&e.sourceRoots.some(t=>typeof t!="string"||!t.trim()))throw new Error("CSSX sourceRoots must contain non-empty file-system paths.");let s=e.debug;if(s===null||s!==void 0&&typeof s!="boolean"&&(typeof s!="object"||typeof s.reportFile!="string"||!s.reportFile))throw new Error("CSSX debug must be a boolean or an object with a reportFile path.");if(e.naming!==void 0&&!["serial","hash","source"].includes(e.naming))throw new Error('CSSX naming must be "serial", "hash", or "source".');if(e.coordination!==void 0&&!["memory","manifest"].includes(e.coordination))throw new Error('CSSX coordination must be "memory" or "manifest".');if(e.stableClassNames&&e.naming&&e.naming!=="source")throw new Error('CSSX stableClassNames selects source naming and conflicts with naming. Use naming: "source".');if(e.stableClassNames&&e.coordination==="manifest")throw new Error("CSSX stableClassNames already selects source naming; remove it to use manifest coordination.");if(e.naming==="hash"&&e.className?.variant==="serial")throw new Error('CSSX naming: "hash" conflicts with className.variant: "serial".');if(e.naming==="serial"&&e.className?.variant==="random")throw new Error('CSSX naming: "serial" conflicts with className.variant: "random".');if(e.coordination==="manifest"&&!e.manifestPath)throw new Error('CSSX coordination: "manifest" requires manifestPath.');if(e.manifestPath&&e.coordination!=="manifest")throw new Error('CSSX manifestPath requires coordination: "manifest".');if(e.coordination==="manifest"&&e.classNameAllocator)throw new Error("CSSX manifest coordination cannot use a custom classNameAllocator.");if(e.theme!==void 0&&e.themeFile!==void 0)throw new Error("CSSX accepts either theme or themeFile, not both.");if(e.layer!==void 0&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(e.layer))throw new Error("CSSX layer must be a valid CSS layer identifier.");if(e.sourceMap!==void 0&&typeof e.sourceMap!="boolean")throw new Error("CSSX sourceMap must be a boolean.");if(e.darkMode!==void 0&&e.darkMode!=="media"&&e.darkMode!=="selector"&&e.darkMode!=="class")throw new Error('CSSX darkMode must be "media", "selector", or "class".');if(e.preflight!==void 0&&typeof e.preflight!="boolean")throw new Error("CSSX preflight must be a boolean.");if(e.reusabilityBudget!==void 0&&e.reusabilityBudget!=="auto"&&(!Number.isFinite(e.reusabilityBudget)||e.reusabilityBudget<0||e.reusabilityBudget>100))throw new Error('CSSX reusabilityBudget must be "auto" or a number from 0 through 100.');Y(e.cssFileName??"cssx.css")}var ee=require("fs/promises"),te=require("path");async function _(e){return e.themeFile===void 0?e.theme:(0,ee.readFile)((0,te.resolve)(process.cwd(),e.themeFile),"utf8")}function q(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 E(e){let s=e.naming==="hash"?"random":e.naming==="serial"?"serial":void 0;if(s&&e.className?.variant&&e.className.variant!==s)throw new Error(`CSSX naming: "${e.naming}" conflicts with className.variant: "${e.className.variant}".`);return{...e.className,...s?{variant:s}:{}}}var O=require("@cssxio/compiler"),y=require("fs/promises"),$=require("path"),se=20,re=5*6e4;async function F(e,s,t){let r=(0,$.resolve)(e),o=`${r}.lock`,n=Date.now(),m,i=0;for(;!m;){await(0,y.mkdir)((0,$.dirname)(r),{recursive:!0});let l;try{l=await(0,y.open)(o,"wx")}catch(a){let d=a.code;if(d!=="EEXIST"){if(d!=="EACCES"&&d!=="EPERM")throw a;try{await(0,y.stat)(o)}catch(c){if(c.code==="ENOENT"){if(i+=1,i>1)throw a;await new Promise(u=>setTimeout(u,se));continue}throw c}}if(i=0,await Be(o))continue;if(Date.now()-n>=re)throw new Error(`Timed out waiting for CSSX class-name manifest lock: ${o}`);await new Promise(c=>setTimeout(c,se));continue}try{await l.writeFile(`${process.pid}
1
+ "use strict";var is=Object.create;var me=Object.defineProperty;var ls=Object.getOwnPropertyDescriptor;var cs=Object.getOwnPropertyNames;var ms=Object.getPrototypeOf,ds=Object.prototype.hasOwnProperty;var M=(e,s,t)=>()=>{if(t)throw t[0];try{return e&&(s=e(e=0)),s}catch(r){throw t=[r],r}};var G=(e,s)=>{for(var t in s)me(e,t,{get:s[t],enumerable:!0})},Ke=(e,s,t,r)=>{if(s&&typeof s=="object"||typeof s=="function")for(let n of cs(s))!ds.call(e,n)&&n!==t&&me(e,n,{get:()=>s[n],enumerable:!(r=ls(s,n))||r.enumerable});return e};var H=(e,s,t)=>(t=e!=null?is(ms(e)):{},Ke(s||!e||!e.__esModule?me(t,"default",{value:e,enumerable:!0}):t,e)),us=e=>Ke(me({},"__esModule",{value:!0}),e);var fs,x,u=M(()=>{"use strict";fs=()=>typeof document>"u"?new URL(`file:${__filename}`).href:document.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?document.currentScript.src:new URL("main.js",document.baseURI).href,x=fs()});function et(e){if(!e||(0,Q.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let s=(0,Q.normalize)(e);if(s===".."||s.startsWith(`..${Q.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}var Q,tt=M(()=>{"use strict";u();Q=require("path")});function Re(e){if(e.mode!==void 0&&e.mode!=="development"&&e.mode!=="production")throw new Error('CSSX mode must be "development" or "production".');if(e.stableClassNameStrategy!==void 0&&e.stableClassNameStrategy!=="source-location"&&e.stableClassNameStrategy!=="module-order")throw new Error('CSSX stableClassNameStrategy must be "source-location" or "module-order".');if(e.sourceRoots&&e.sourceRoots.some(t=>typeof t!="string"||!t.trim()))throw new Error("CSSX sourceRoots must contain non-empty file-system paths.");let s=e.debug;if(s===null||s!==void 0&&typeof s!="boolean"&&(typeof s!="object"||typeof s.reportFile!="string"||!s.reportFile))throw new Error("CSSX debug must be a boolean or an object with a reportFile path.");if(e.naming!==void 0&&!["serial","hash","source"].includes(e.naming))throw new Error('CSSX naming must be "serial", "hash", or "source".');if(e.coordination!==void 0&&!["memory","manifest"].includes(e.coordination))throw new Error('CSSX coordination must be "memory" or "manifest".');if(e.stableClassNames&&e.naming&&e.naming!=="source")throw new Error('CSSX stableClassNames selects source naming and conflicts with naming. Use naming: "source".');if(e.stableClassNames&&e.coordination==="manifest")throw new Error("CSSX stableClassNames already selects source naming; remove it to use manifest coordination.");if(e.naming==="hash"&&e.className?.variant==="serial")throw new Error('CSSX naming: "hash" conflicts with className.variant: "serial".');if(e.naming==="serial"&&e.className?.variant==="random")throw new Error('CSSX naming: "serial" conflicts with className.variant: "random".');if(e.coordination==="manifest"&&!e.manifestPath)throw new Error('CSSX coordination: "manifest" requires manifestPath.');if(e.manifestPath&&e.coordination!=="manifest")throw new Error('CSSX manifestPath requires coordination: "manifest".');if(e.coordination==="manifest"&&e.classNameAllocator)throw new Error("CSSX manifest coordination cannot use a custom classNameAllocator.");if(e.theme!==void 0&&e.themeFile!==void 0)throw new Error("CSSX accepts either theme or themeFile, not both.");if(e.layer!==void 0&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(e.layer))throw new Error("CSSX layer must be a valid CSS layer identifier.");if(e.sourceMap!==void 0&&typeof e.sourceMap!="boolean")throw new Error("CSSX sourceMap must be a boolean.");if(e.darkMode!==void 0&&e.darkMode!=="media"&&e.darkMode!=="selector"&&e.darkMode!=="class")throw new Error('CSSX darkMode must be "media", "selector", or "class".');if(e.preflight!==void 0&&typeof e.preflight!="boolean")throw new Error("CSSX preflight must be a boolean.");if(e.reusabilityBudget!==void 0&&e.reusabilityBudget!=="auto"&&(!Number.isFinite(e.reusabilityBudget)||e.reusabilityBudget<0||e.reusabilityBudget>100))throw new Error('CSSX reusabilityBudget must be "auto" or a number from 0 through 100.');et(e.cssFileName??"cssx.css")}var st=M(()=>{"use strict";u();tt()});async function D(e,s=process.cwd()){if(e.themeFile===void 0)return e.theme;let t=(0,nt.resolve)(s,e.themeFile),r=await(0,de.stat)(t,{bigint:!0}),n=`${r.dev}:${r.ino}:${r.size}:${r.mtimeNs}:${r.ctimeNs}`,l=rt.get(t);if(l?.signature===n)return l.source;let a=await(0,de.readFile)(t,"utf8");return rt.set(t,{signature:n,source:a}),a}var de,nt,rt,ue=M(()=>{"use strict";u();de=require("fs/promises"),nt=require("path"),rt=new Map});function Ae(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)}var ot=M(()=>{"use strict";u()});function K(e){let s=e.naming==="hash"?"random":e.naming==="serial"?"serial":void 0;if(s&&e.className?.variant&&e.className.variant!==s)throw new Error(`CSSX naming: "${e.naming}" conflicts with className.variant: "${e.className.variant}".`);return{...e.className,...s?{variant:s}:{}}}function at(e){let s=K(e);return e.className!==void 0||e.naming!==void 0||e.coordination==="manifest"||e.stableClassNames===!0?s:{...s,suffix:""}}function it(e){return{...e,mode:"development",sourceMap:e.sourceMap??!1,naming:"source",stableClassNames:!0,stableClassNameStrategy:"module-order",reusabilityBudget:0,className:{...e.className,variant:"random"},classNameAllocator:void 0,coordination:"memory",manifestPath:void 0}}var Y=M(()=>{"use strict";u();st();ue();ot()});function ee(e,s=process.dlopen,t){if(process.env.CSSX_DISABLE_NATIVE_COMPILER==="1")return V=null,Ie();if(V!==void 0)return V||Ie();let r=process.env.CSSX_NATIVE_COMPILER_PATH;if(r)try{let o={exports:{}};return s(o,r),V=o.exports,o.exports}catch{}let n=[e??(0,Fe.createRequire)((0,L.resolve)(process.cwd(),"package.json")),t??(0,Fe.createRequire)(x)];for(let o of n)try{let c=o("@cssxio/compiler-native");if(hs(c))return V=c,c}catch{}let l=(0,L.resolve)(process.cwd(),"packages/compiler/native/target"),a=[(0,L.resolve)(l,"release/libcssx_compiler_node.dylib"),(0,L.resolve)(l,"debug/libcssx_compiler_node.dylib"),(0,L.resolve)(l,"release/libcssx_compiler_node.so"),(0,L.resolve)(l,"debug/libcssx_compiler_node.so"),(0,L.resolve)(l,"release/cssx_compiler_node.dll"),(0,L.resolve)(l,"debug/cssx_compiler_node.dll")].filter(o=>!!o);for(let o of a)try{let c={exports:{}};return s(c,o),V=c.exports,c.exports}catch{}return V=null,Ie()}function Ie(){if(process.env.CSSX_REQUIRE_NATIVE_COMPILER==="1")throw new Error("CSSX_REQUIRE_NATIVE_COMPILER=1, but no compatible native compiler addon could be loaded.")}function hs(e){return typeof e=="object"&&e!==null&&"findCssxCalls"in e&&typeof e.findCssxCalls=="function"}var Fe,L,V,ge=M(()=>{"use strict";u();Fe=require("module"),L=require("path")});function ye(e,s,t){let r=new Nt.default(e);for(let l of[...t].sort((a,o)=>a.start-o.start))r.overwrite(l.start,l.end,l.content);let n=JSON.parse(r.generateMap({hires:!0,includeContent:!0,source:s}).toString());return{code:r.toString(),map:n}}var Nt,_e=M(()=>{"use strict";u();Nt=H(require("magic-string"),1)});async function le(e,s,t,r,n,l,a){if(r.mode!=="development"||r.stableClassNames!==!0||r.stableClassNameStrategy!=="module-order"||!e.includes(r.importSource??"@cssxio/cssx"))return{handled:!1};let o=a===void 0?ee():a??void 0;if(!o)return{handled:!1};let c;try{c=o.findCssxCalls(e,s,r.importSource??"@cssxio/cssx")}catch{return{handled:!1}}if(c.some(N=>N.entryPoint!=="sx"||!N.staticSx))return{handled:!1};if(c.length===0)return{handled:!0};let m=await D(r,t),f=vs(c,l,m,n);if(!f)return{handled:!1};let i={handled:!0,module:{id:s,...f}},d=[],p=[];for(let N=0;N<c.length;N++){let b=c[N],O=b.utilities.filter(P=>P.trim().length>0).join(" ");if(b.startUtf16===void 0||b.endUtf16===void 0)return i;if(p.push({start:b.startUtf16,end:b.endUtf16}),!O)d.push({start:b.startUtf16,end:b.endUtf16,content:JSON.stringify("")});else{if(bt(O))continue;d.push({start:b.startUtf16,end:b.endUtf16,content:JSON.stringify((0,ie.stableCompositeName)(l,void 0,`sx:${N}:segment:0`))})}}let y=ye(e,s,d),{cssOnlySignature:v}=await import("@cssxio/babel-plugin");return{...i,transformedCode:y.code,map:y.map,cssOnlySignature:v(e,p)}}function vs(e,s,t,r){let n=Object.create(null),l=Object.create(null),a=Object.create(null);for(let o=0;o<e.length;o++){let c=e[o],m=c.utilities.filter(p=>p.trim().length>0).join(" ");if(!m||bt(m))continue;let f;try{f=(0,ie.compileStyleRecords)({inline:m},{theme:t,classNameAllocator:r,reusabilityBudget:0})}catch{return}for(let[p,y]of Object.entries(f.classes))n[p]??=y,a[p]??={line:c.line-1,column:c.column};let i=[...new Set(f.styles.inline._.map(p=>p[0]).filter(p=>!!p))];if(i.length===0)return;let d=(0,ie.stableCompositeName)(s,void 0,`sx:${o}:segment:0`);l[d]=i}return{candidates:n,composites:l,atomicClasses:[],origins:a}}function bt(e){return/^(?:s[0-9A-Za-z]+x|d[0-9a-z]+x)(?:\s+(?:s[0-9A-Za-z]+x|d[0-9a-z]+x))*$/.test(e)}var ie,Xe=M(()=>{"use strict";u();ie=require("@cssxio/compiler");ue();_e();ge()});function xe(e){let s=[],t=/\bsx\s*\(/g;for(let r of e.matchAll(t)){let n=r.index,l=e.indexOf("(",n),a=0,o="";for(let c=l;c<e.length;c+=1){let m=e[c];if(o){m==="\\"?c+=1:m===o&&(o="");continue}if(m==='"'||m==="'"||m==="`")o=m;else if(m==="(")a+=1;else if(m===")"&&--a===0){s.push({start:n,end:c+1,code:e.slice(n,c+1)}),t.lastIndex=c+1;break}}}return s}var De=M(()=>{"use strict";u()});function te(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}}var Ce=M(()=>{"use strict";u()});function he(e){let s="const style = ",t=e.indexOf(s)+s.length,r=e.indexOf(";",t);return e.slice(t,r)}var Le=M(()=>{"use strict";u()});var vt={};G(vt,{transformAstroSxModule:()=>Os});async function Os(e,s,t,r,n={}){let l=xe(e);if(l.length===0)return null;let a=t.classNameAllocator??(0,wt.createClassNameAllocator)(),o=t.importSource??"@cssxio/cssx",c=[],m=e;for(let f of[...l].reverse()){let i=await r(`import { sx } from ${JSON.stringify(o)};
2
+ const style = ${f.code};`,`${s}.ts`,{...t,classNameAllocator:a},void 0,n),d=he(i.code);m=`${m.slice(0,f.start)}${d}${m.slice(f.end)}`,c.push({...i,atomicClasses:[],origins:{}})}return te(m,c)}var wt,Ot=M(()=>{"use strict";u();wt=require("@cssxio/compiler");De();Ce();Le()});function Se(e,s){let t=e.split(`
3
+ `).slice(0,s.line).reduce((r,n)=>r+n.length+1,0);return Math.min(e.length,t+s.column)}var Ue=M(()=>{"use strict";u()});function Ne(e,s){let t=Math.min(e.length,s),r=e.slice(0,t).split(`
4
+ `).length-1,n=e.lastIndexOf(`
5
+ `,t-1)+1;return{line:r,column:t-n}}var Be=M(()=>{"use strict";u()});function Je(e,s,t){let r={},n=e.slice(s);for(let[l,a]of Object.entries(t))r[l]=Ne(e,s+Se(n,a));return r}var Mt=M(()=>{"use strict";u();Ue();Be()});function Pt(e,s,t,r,n){let l={};for(let[a,o]of Object.entries(n)){let c=Se(t,o);l[a]=Ne(e,s+Math.max(0,c-r))}return l}var Et=M(()=>{"use strict";u();Ue();Be()});function Rt(e){return e.slice(1,-1).replace(/\\(['"\\bnfrtv])/g,(s,t)=>({b:"\b",n:`
6
+ `,f:"\f",r:"\r",t:" ",v:"\v"})[t]??t)}var At=M(()=>{"use strict";u()});function Tt(e,s){if(!s)return e;let t=s==='"'?"'":'"';return e.replace(/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'/g,r=>{let n=r[0]==='"'?JSON.parse(r):Rt(r),l=JSON.stringify(n);return t==='"'?l:`'${l.slice(1,-1).replaceAll("'","\\'")}'`})}var $t=M(()=>{"use strict";u();At()});function jt(e,s){let t=-1,r;for(let n=0;n<s;n++){let l=e[n];if(r){l===r&&(r=void 0);continue}if(l==="<"&&/[A-Za-z]/.test(e[n+1])){t=n;continue}t!==-1&&(l===">"?t=-1:(l==='"'||l==="'")&&(r=l))}return r}var It=M(()=>{"use strict";u()});async function Ft(e,s,t,r,n,l={}){let a=xe(e);if(a.length===0)return null;let o=t.importSource??"@cssxio/cssx",c=[],m=e;for(let f of[...a].reverse()){let i=`import { sx } from ${JSON.stringify(o)};
7
+ const style = `,d=`${i}${f.code};`,p=await n(d,`${s}.cssx-vue-template.ts`,{...t,classNameAllocator:r},void 0,l),y=Tt(he(p.code),jt(e,f.start));m=`${m.slice(0,f.start)}${y}${m.slice(f.end)}`,c.push({...p,origins:Pt(e,f.start,d,i.length,p.origins)})}return te(m,c)}var kt=M(()=>{"use strict";u();Et();De();Ce();$t();It();Le()});var Xt={};G(Xt,{transformVueSfcModule:()=>Ms});async function Ms(e,s,t,r,n={}){let l=s.split("?",1).join(""),a=(0,_t.parse)(e,{filename:l});if(a.errors.length>0)throw new Error(a.errors[0].message);let o=t.classNameAllocator??(0,zt.createClassNameAllocator)(),c=[],m=[];for(let d of[a.descriptor.script,a.descriptor.scriptSetup]){if(!d?.content.includes(t.importSource??"@cssxio/cssx"))continue;let p=d.lang==="js"||d.lang==="jsx"||d.lang==="tsx"?d.lang:"ts",y=await r(d.content,`${l}.cssx-vue-script.${p}`,{...t,classNameAllocator:o},void 0,n);c.push({start:d.loc.start.offset,end:d.loc.end.offset,code:y.code}),m.push({...y,origins:Je(e,d.loc.start.offset,y.origins)})}let f=a.descriptor.template;if(f?.content.includes("sx")){let d=await Ft(f.content,l,t,o,r,n);d&&(c.push({start:f.loc.start.offset,end:f.loc.end.offset,code:d.code}),m.push({...d,origins:Je(e,f.loc.start.offset,d.origins)}))}if(c.length===0)return null;let i=e;for(let d of c.sort((p,y)=>y.start-p.start))i=`${i.slice(0,d.start)}${d.code}${i.slice(d.end)}`;return te(i,m)}var zt,_t,Dt=M(()=>{"use strict";u();zt=require("@cssxio/compiler"),_t=require("@vue/compiler-sfc");Mt();Ce();kt()});function we(e={}){let s=e.variant??"serial",t=e.prefix??"s",r=e.suffix??"x",n=e.length;if(s!=="random"&&s!=="serial")throw new Error('CSSX className.variant must be "random" or "serial".');if(t&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(t))throw new Error("CSSX className.prefix must be a safe CSS identifier prefix.");if(!/^[A-Za-z0-9_-]*$/.test(r))throw new Error("CSSX className.suffix must contain only letters, digits, hyphens, or underscores.");if(n!==void 0&&(!Number.isSafeInteger(n)||n<1||n>64))throw new Error("CSSX className.length must be an integer from 1 through 64.");if(s==="serial"&&n!==void 0)throw new Error("CSSX className.length is only supported by the random naming variant.");let l=new Map,a=new Set,o=0;return{allocate(c){let m=!0;for(let i=1;i<c.length;i++)if(c[i-1]>=c[i]){m=!1;break}let f=m?c.filter(i=>!l.has(i)):[...new Set(c)].filter(i=>!l.has(i)).sort();if(s==="random"&&n!==void 0&&BigInt(f.length+a.size)>36n**BigInt(n))throw new Error(`CSSX className.length ${n} cannot name every generated class without a collision.`);for(let i of f){let d=0,p;do{let y=s==="serial"?t||r?Es(o++):String(o++):Ps(i,n,d);p=`${t}${y}${r}`,d++}while(a.has(p));a.add(p),l.set(i,p)}return new Map(c.map(i=>[i,l.get(i)]))},reserve(c){for(let m of c)a.add(m)}}}function Ps(e,s,t){if(s===void 0)return t===0?be(e):`${be(e)}-${be(`${e}\0${t}`)}`;let r="";for(let n=0;r.length<s;n++)r+=be(`${e}\0${t}\0${n}`).padStart(13,"0");return r.slice(0,s)}function be(e){let s=0xcbf29ce484222325n;for(let t=0;t<e.length;t++)s^=BigInt(e.charCodeAt(t)),s=BigInt.asUintN(64,s*0x100000001b3n);return s.toString(36)}function Es(e){let s=e,t="";do t=`${Ve[s%Ve.length]}${t}`,s=Math.floor(s/Ve.length);while(s>0);return t}var Ve,We=M(()=>{"use strict";u();Ve="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Lt={};G(Lt,{tryTransformNativeStaticSxModule:()=>Rs});async function Rs(e,s,t,r,n,l){if(r.mode!=="development"||r.stableClassNames!==!0||r.stableClassNameStrategy!=="module-order"||n!==void 0||l.compileCss!==!1)return null;let a=await le(e,t,process.cwd(),r,r.classNameAllocator??we(r.className),r.stableClassNameFileName??t);if(!a.handled||!a.module||a.transformedCode===void 0)return null;let o=a.module;return{code:a.transformedCode,rules:[],candidates:o.candidates??{},composites:o.composites??{},atomicClasses:o.atomicClasses??[],origins:o.origins??{},cssOnlySignature:a.cssOnlySignature??"",...a.map?{map:a.map}:{}}}var Ut=M(()=>{"use strict";u();We();Xe()});function se(e){return{className:`cssx-${Ae(e)}`,css:e}}var qe=M(()=>{"use strict";u();Y()});function re(e,s){return e&&s?`@layer ${s}{${e}}`:e}var He=M(()=>{"use strict";u()});async function Jt(e,s,t,r,n,l){let a,o;try{if(l.analyzeCssxModule){if(o=l.analyzeCssxModule(e,s,r.importSource??"@cssxio/cssx"),a=o.getCalls(),o.fastStaticCreate&&!r.themeFile){let g=a.find(F=>F.entryPoint==="create"),R=a.filter(F=>F.entryPoint==="props");if(g){let F=Bt(e,s,g,o.styles,R,new Set(o.usedStyleNames),r,n,g,o.removableImports,E=>o.replaceCalls([...E].map(([_,ce])=>({name:_,replacement:JSON.stringify({className:ce})}))));if(F)return F}}}else a=l.findCssxCalls(e,s,r.importSource??"@cssxio/cssx")}catch{return null}let c=a.filter(g=>g.entryPoint==="create"),m=a.filter(g=>g.entryPoint==="props");if(a.length===0||c.length!==1||m.length===0||a.length!==c.length+m.length||a.some(g=>!g.fastTransformSafe)||!c[0]?.staticCreate)return null;let f=c[0],i=f.styles;if(!i?.length||a.some(g=>g.entryPoint==="props"&&!g.staticProps))return null;let d=new Set(i.map(({name:g})=>g));if(a.some(g=>g.startUtf16===void 0||g.endUtf16===void 0||g.startUtf16<0||g.endUtf16<g.startUtf16||g.endUtf16>e.length)||m.some(g=>(g.styleNames??[]).some(R=>!d.has(R))))return null;let p=new Set;for(let g of m)for(let R of g.styleNames??[])p.add(R);if(!r.themeFile){let g=Bt(e,s,f,i,m,p,r,n,f,o?.removableImports);if(g)return g}let y=Object.fromEntries(i.map(({name:g,utilities:R})=>[g,R])),v=await D(r,t),N=await import("@cssxio/compiler"),b=await As(e,s,f,i,m,p,r,n,v,N,o?.removableImports);if(b)return b;let O=N.compileStyleRecords(y,{theme:v,classNameAllocator:n,reusabilityBudget:r.reusabilityBudget}),P=Object.create(null),j=Object.create(null);for(let g of p){let R=O.candidates[g],F=O.styles[g];if(!R||!F)throw new Error(`CSSX native transform could not find compiled style "${g}".`);for(let E of R){let _=O.classes[E];if(!_)throw new Error(`CSSX native transform could not find a class name for "${E}".`);P[E]??=_,j[E]??={line:f.line-1,column:f.column}}}let h=Object.create(null),C=new Set,w=new Map;for(let g of m){let R=[];for(let E of g.styleNames??[]){let _=O.styles[E];if(!_)throw new Error(`CSSX native transform could not find compiled style "${E}".`);R.push(_)}let F;if(R.length===1)F=R[0].c;else{let E=N.composeCompiledStyles(R,n);F=E.className,F&&(h[F]=E.atomicClasses)}w.set(g,F);for(let E of F.split(/\s+/).filter(Boolean)){let _=O.composites[E];_?h[E]=_:h[E]||C.add(E)}}let A=Object.keys(P),T=A.length?(await N.compileUtilities(A,g=>P[g],v,N.createSelectorAliases(h),C,{darkMode:r.darkMode})).css:"",S=Ze(e,s,f,m,w,o?.removableImports);return{code:S.code,map:S.map,rules:T?[se(re(T,r.layer))]:[],candidates:P,composites:h,atomicClasses:[...C].sort(),origins:j,cssOnlySignature:""}}async function As(e,s,t,r,n,l,a,o,c,m,f=[]){if(n.some(C=>(C.styleNames?.length??0)>1))return null;let i=new Map(r.map(({name:C,utilities:w})=>[C,m.splitCandidateList(w)])),d=new Map,p=new Set;for(let C of l){let w=i.get(C),A=new Map;for(let T of w){let S=d.get(T);if(S===void 0&&(S=m.classifyUtility(T),d.set(T,S)),!S)return null;let g=A.get(S.scope)??[];if(g.some(R=>S.conflicts.includes(R.group)||R.conflicts.includes(S.group)))return null;g.push({group:S.group,conflicts:S.conflicts}),A.set(S.scope,g),p.add(T)}}let y=[...p],v=o.allocate(y),N=Object.create(null),b=Object.create(null),O=new Set;for(let C of y){let w=v.get(C);N[C]=w,b[C]={line:t.line-1,column:t.column},O.add(w)}let P=new Map;for(let C of n){let w=C.styleNames?.[0],A=w===void 0?[]:i.get(w);P.set(C,A.map(T=>v.get(T)).join(" "))}let j=y.length?(await m.compileUtilities(y,C=>v.get(C),c,{},O,{darkMode:a.darkMode})).css:"",h=Ze(e,s,t,n,P,f);return{code:h.code,map:h.map,rules:j?[se(re(j,a.layer))]:[],candidates:N,composites:{},atomicClasses:[...O].sort(),origins:b,cssOnlySignature:""}}function Bt(e,s,t,r,n,l,a,o,c,m=[],f){if(n.some(S=>(S.styleNames?.length??0)>1)||r.some(({utilities:S})=>/\bvar\s*\(/i.test(S)))return null;let i=new Map(r.map(S=>[S.name,S.utilities]));if([...l].some(S=>!i.has(S)))return null;let d=new Map,p=new Map,y=new Map,v=new Set;for(let[S,g]of i){let R=Ts(g,y);if(!R)return null;if(d.set(S,R.map(({candidate:E})=>E)),!l.has(S))continue;let F=new Map;for(let E of R){let _=E.property.toLowerCase(),ce=F.get(_);if(ce!==void 0&&ce!==E.value)return null;F.set(_,E.value),v.add(E.candidate),p.set(E.candidate,E)}}let N=[...v].sort(),b=o.allocate(N),O=Object.create(null),P=Object.create(null),j=new Set,h=[];for(let S of N){let g=b.get(S),R=p.get(S);O[S]=g,P[S]={line:t.line-1,column:t.column},j.add(g),h.push(`.${g}{${R.property}:${R.value}}`)}let C=new Map;for(let S of l)C.set(S,d.get(S).map(g=>b.get(g)).join(" "));let w=new Map(n.map(S=>{let g=S.styleNames?.[0];return[S,g===void 0?"":C.get(g)]})),A=h.join(""),T=Ze(e,s,c,n,w,m);return{code:f?f(C):T.code,map:T.map,rules:A?[se(re(A,a.layer))]:[],candidates:O,composites:{},atomicClasses:[...j].sort(),origins:P,cssOnlySignature:"",precompiledCss:A}}function Ts(e,s){let t=[],r=0,n=0;for(let a=0;a<=e.length;a++){let o=e[a];if(o==="["){if(n!==0)return null;n=1}else if(o==="]"){if(n!==1)return null;n=0}(o===void 0||$s(o))&&n===0&&(a>r&&t.push(e.slice(r,a)),r=a+1)}if(n!==0)return null;let l=[];for(let a of t){let o=s.get(a);if(o!==void 0){l.push(o);continue}if(a.length>500||!a.startsWith("[")||!a.endsWith("]"))return null;let c=a.slice(1,-1),m=c.indexOf(":");if(m<1)return null;let f=c.slice(0,m).trim(),i=c.slice(m+1).trim();if(!/^(?:--[a-z0-9-]+|[a-z-]+)$/i.test(f)||!/^[A-Za-z0-9#().,% /+:-]+$/.test(i)||!i||!js(i))return null;let d={candidate:a,property:f,value:i};s.set(a,d),l.push(d)}return l}function $s(e){let s=e.charCodeAt(0);return s>=9&&s<=13||s===32||s===160||s===5760||s>=8192&&s<=8202||s===8232||s===8233||s===8239||s===8287||s===12288||s===65279}function js(e){let s=0;for(let t of e)if(t==="(")s++;else if(t===")"&&(s--,s<0))return!1;return s===0}function Ze(e,s,t,r,n,l=[]){return ye(e,s,[{start:t.startUtf16,end:t.endUtf16,content:"{}"},...l.map(({start:a,end:o})=>({start:a,end:o,content:""})),...r.map(a=>({start:a.startUtf16,end:a.endUtf16,content:JSON.stringify({className:n.get(a)})}))])}var Vt=M(()=>{"use strict";u();qe();ue();He();_e()});var Wt={};G(Wt,{tryTransformNativeStaticCreateModule:()=>Is});async function Is(e,s,t,r,n,l,a){if(t.includes(".vue.cssx-vue-")||r.mode==="development"||r.mode===void 0&&l.compileCss===!1||r.stableClassNames===!0||n!==void 0||l.compileCss===!1||!e.includes(r.importSource??"@cssxio/cssx"))return null;let o=a===void 0?ee():a??void 0;return o?Jt(e,t,process.cwd(),r,r.classNameAllocator??we(r.className),o):null}var qt=M(()=>{"use strict";u();We();ge();Vt()});var Gt={};G(Gt,{transformBabelCssxModule:()=>Fs});async function Fs(e,s,t,r,n={}){let l=t.importSource??"@cssxio/cssx",a=await D(t),o=await(0,Ht.transformAsync)(e,{babelrc:!1,configFile:!1,filename:s,parserOpts:{plugins:["jsx","typescript"]},plugins:[[Zt.default,{importSource:l,classNameAllocator:t.classNameAllocator,theme:a,reusabilityBudget:t.reusabilityBudget,stableClassNames:t.stableClassNames,stableClassNameStrategy:t.stableClassNameStrategy,stableClassNameFileName:t.stableClassNameFileName,darkMode:t.darkMode}]],sourceMaps:!0,...r?{inputSourceMap:r}:{}}),c=o.metadata,{candidates:m,origins:f,composites:i,atomicClasses:d,cssOnlySignature:p}=c.cssx,y=Object.keys(m),v=n.compileCss===!1||y.length===0?"":(await(0,ve.compileUtilities)(y,N=>m[N],a,(0,ve.createSelectorAliases)(i),new Set(d),{darkMode:t.darkMode})).css;return{code:o.code,rules:v?[se(re(v,t.layer))]:[],candidates:m,composites:i,atomicClasses:d,origins:f,cssOnlySignature:p,map:o.map}}var Ht,Zt,ve,Qt=M(()=>{"use strict";u();Ht=require("@babel/core"),Zt=H(require("@cssxio/babel-plugin"),1),ve=require("@cssxio/compiler");qe();Y();He()});var Js={};G(Js,{default:()=>Qe});module.exports=us(Js);u();u();var as=require("crypto"),k=require("fs/promises"),$=require("path");u();function Ye(e,s,t){let r=t.naming??(t.stableClassNames?"source":t.className?.variant==="random"?"hash":t.className?.variant??"serial"),n=t.stableClassNames?"stableClassNames compatibility option selects source-addressed composites":t.naming?"explicit naming option":t.className?.variant?"className.variant option":"default serial naming",l=new Map,a=new Map;for(let m of[...e].sort((f,i)=>f.id.localeCompare(i.id))){let f=new Map;for(let[i,d]of Object.entries(m.candidates)){let p=a.get(i)??new Set;p.add(d),a.set(i,p);let y=l.get(d)??{module:m.id,utilities:new Set,line:m.origins?.[i]?.line??0,column:m.origins?.[i]?.column??0};y.utilities.add(i),l.set(d,y);let v=f.get(d)??[];v.push(i),f.set(d,v)}for(let[i,d]of Object.entries(m.composites??{})){let p=d.flatMap(N=>f.get(N)??[]),y=p[0],v=l.get(i)??{module:m.id,utilities:new Set,line:y?m.origins?.[y]?.line??0:0,column:y?m.origins?.[y]?.column??0:0};for(let N of p)v.utilities.add(N);l.set(i,v)}for(let i of m.atomicClasses??[])l.has(i)||l.set(i,{module:m.id,utilities:new Set,line:0,column:0})}let o=[...l].sort(([m],[f])=>m.localeCompare(f)).map(([m,f])=>({className:m,module:f.module,utilities:[...f.utilities].sort(),line:f.line+1,column:f.column+1,selectorFound:new RegExp(`\\.${ps(m)}(?:[^A-Za-z0-9_-]|$)`).test(s)})),c=[...a].filter(([,m])=>m.size>1).map(([m])=>m).sort();return{version:1,naming:{mode:r,reason:n},coordination:{mode:t.coordination??"memory",...t.coordination==="manifest"&&t.manifestPath?{manifestPath:t.manifestPath}:{}},classes:o,serverClientMappings:{status:c.length>0?"mismatch":t.coordination==="manifest"?"manifest-shared":"consistent-in-process",conflicts:c}}}function ps(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Y();u();var Z=require("path");u();var Te=require("fs"),gs=require("fs/promises"),X=require("path");function B(e){let s=(0,X.resolve)(e);try{return Te.realpathSync.native(s)}catch{let t=(0,X.dirname)(s),r=(0,X.basename)(s);for(;;)try{return(0,X.resolve)(Te.realpathSync.native(t),r)}catch{let n=(0,X.dirname)(t);if(n===t)return s;r=(0,X.join)((0,X.basename)(t),r),t=n}}}function ne(e,s,t){let r=t?B(e):(0,Z.resolve)(e),n=t?B(s):(0,Z.resolve)(s);return(0,Z.relative)(r,n).replaceAll(Z.sep,"/")}u();var J=require("@cssxio/compiler"),I=require("fs/promises"),fe=require("path"),lt=20,ct=5*6e4;async function pe(e,s,t){let r=(0,fe.resolve)(e),n=`${r}.lock`,l=Date.now(),a,o=0;for(;!a;){await(0,I.mkdir)((0,fe.dirname)(r),{recursive:!0});let c;try{c=await(0,I.open)(n,"wx")}catch(m){let f=m.code;if(f!=="EEXIST"){if(f!=="EACCES"&&f!=="EPERM")throw m;try{await(0,I.stat)(n)}catch(i){if(i.code==="ENOENT"){if(o+=1,o>1)throw m;await new Promise(d=>setTimeout(d,lt));continue}throw i}}if(o=0,await ys(n))continue;if(Date.now()-l>=ct)throw new Error(`Timed out waiting for CSSX class-name manifest lock: ${n}`);await new Promise(i=>setTimeout(i,lt));continue}try{await c.writeFile(`${process.pid}
2
8
  ${Date.now()}
3
- `)}catch(a){throw await l.close().catch(()=>{}),await(0,y.rm)(o,{force:!0}).catch(()=>{}),a}m=l}try{let l=await ze(r,s),a=await t(l),d=(0,O.snapshotClassNameAllocator)(l),c=`${r}.${process.pid}.${Date.now()}.tmp`;try{await(0,y.writeFile)(c,`${JSON.stringify(d,null,2)}
4
- `,"utf8"),await(0,y.rename)(c,r)}catch(u){throw await(0,y.rm)(c,{force:!0}).catch(()=>{}),u}return a}finally{await m.close(),await(0,y.rm)(o,{force:!0})}}async function Be(e){try{let s=await(0,y.stat)(e),t;try{t=await(0,y.readFile)(e,"utf8")}catch(n){let m=n.code;if(m==="EACCES"||m==="EPERM")return!1;throw n}let[r]=t.split(`
5
- `),o=Number(r);if(Number.isSafeInteger(o)&&o>0)try{return process.kill(o,0),!1}catch(n){return n.code!=="ESRCH"?!1:(await(0,y.rm)(e,{force:!0}),!0)}return Date.now()-s.mtimeMs<re?!1:(await(0,y.rm)(e,{force:!0}),!0)}catch(s){if(s.code==="ENOENT")return!1;throw s}}async function ze(e,s){try{let t=JSON.parse(await(0,y.readFile)(e,"utf8")),r=(0,O.snapshotClassNameAllocator)((0,O.createClassNameAllocator)(s)).options;if(JSON.stringify(t.options)!==JSON.stringify(r))throw new Error("CSSX class-name manifest options do not match the active compiler options.");return(0,O.restoreClassNameAllocator)(t)}catch(t){if(t.code==="ENOENT")return(0,O.createClassNameAllocator)(s);throw t}}function oe(e,s){return JSON.stringify({...e,file:s})}var ne=require("path");function ie(e,s){return e.map?`${e.css}
6
- /*# sourceMappingURL=${(0,ne.basename)(s)}.map */`:e.css}var j=require("@cssxio/compiler");var ae='*,::before,::after,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}button,select{text-transform:none}button,input:where([type="button"],[type="reset"],[type="submit"]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit}textarea{resize:vertical}::placeholder{opacity:1}button,[role="button"]{cursor:pointer}:disabled{cursor:default}[hidden]:where(:not([hidden="until-found"])){display:none!important}';function U(e,s){let t=s.split(`
7
- `);return{line:e.line+t.length-1,column:t.at(-1).length+e.column*+(t.length===1)}}var _e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function A(e){let s="",t=e<0?-e<<1|1:e<<1;do{let r=t&31;t>>>=5,t&&(r|=32),s+=_e[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,m=0;for(let i of e)m*=+(i.line===n),n=i.line,s[i.line]?.push(`${A(i.column-m)}${A(i.source-t)}${A(i.originalLine-r)}${A(i.originalColumn-o)}`),m=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,l)=>[i,l])),n=[],m=U({line:0,column:0},e);for(let i of s){let l=t.get(i.candidate);l&&n.push({...m,source:o.get(l.id),originalLine:l.line,originalColumn:l.column}),m=U(m,i.css)}return{version:3,sources:r,names:[],mappings:le(n)}}async function me(e,s,t,r=!0,o,n=!0){let m=Object.create(null),i=Object.create(null),l=new Set,a=!0,d=new Map;for(let p of[...e].sort((C,b)=>C.id.localeCompare(b.id))){for(let[C,b]of Object.entries(p.candidates))if(C in m||(m[C]=b),p.id&&!d.has(C)){let w=p.origins?.[C];d.set(C,{id:p.id,line:w?.line??0,column:w?.column??0})}for(let[C,b]of Object.entries(p.composites??{})){let w=i[C];if(w&&w.join(" ")!==b.join(" "))throw new Error(`CSSX composite class collision for "${C}".`);i[C]=b}p.atomicClasses===void 0&&(a=!1);for(let C of p.atomicClasses??[])l.add(C)}let c=Object.keys(m).sort(),u=n?ae:"";if(c.length===0)return{css:u&&t?`@layer ${t}{${u}}`:u};let f=await(0,j.compileUtilities)(c,p=>m[p],s,(0,j.createSelectorAliases)(i),a?l:void 0,{darkMode:o}),h=t?`@layer ${t}{`:"",g=`${h}${u}${f.css}${h?"}":""}`,S=r?ce(`${h}${u}${f.prefixCss}`,f.entries,d):void 0;return{css:g,...S?{map:S}:{}}}var de=require("fs/promises"),k=require("path"),qe=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro",".mdx",".md"]),Ue=new Set([".git",".next",".turbo","node_modules"]);async function I(e,s=[]){let t=[],r=[e,...s],o=new Set;for(;r.length>0;){let n=r.pop(),m=(0,k.resolve)(n);if(!o.has(m)){o.add(m);for(let i of await(0,de.readdir)(n,{withFileTypes:!0})){let l=(0,k.join)(n,i.name);if(i.isDirectory()){Ue.has(i.name)||r.push(l);continue}i.isFile()&&qe.has(l.slice(l.lastIndexOf(".")))&&t.push(l)}}}return t.sort()}var Ee=require("@cssxio/compiler"),Ae=require("fs/promises"),R=require("path");var ue=require("module"),fe=require("path"),W=require("url");async function L(e,s,t={}){let r=(0,ue.createRequire)((0,fe.resolve)(s,"package.json")),o;try{o=r.resolve("@mdx-js/mdx")}catch{throw new Error("CSSX Next MDX support requires @mdx-js/mdx to be installed in the Next.js project.")}let n=await import((0,W.pathToFileURL)(o).href),m=async i=>Promise.all((i??[]).map(async l=>{let[a,d]=typeof l=="string"?[l,void 0]:l,c=r.resolve(a),u=await import((0,W.pathToFileURL)(c).href),f=u.default??u;return d===void 0?f:[f,d]}));return String(await n.compile(e,{outputFormat:"program",development:t.development??!1,remarkPlugins:await m(t.remarkPlugins),rehypePlugins:await m(t.rehypePlugins),recmaPlugins:await m(t.recmaPlugins)}))}var pe=require("@cssxio/compiler");function X(e){let s=[],t=/\bsx\s*\(/g;for(let r of e.matchAll(t)){let o=r.index,n=e.indexOf("(",o),m=0,i="";for(let l=n;l<e.length;l+=1){let a=e[l];if(i){a==="\\"?l+=1:a===i&&(i="");continue}if(a==='"'||a==="'"||a==="`")i=a;else if(a==="(")m+=1;else if(a===")"&&--m===0){s.push({start:o,end:l+1,code:e.slice(o,l+1)}),t.lastIndex=l+1;break}}}return s}function v(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 D(e){let s="const style = ",t=e.indexOf(s)+s.length,r=e.indexOf(";",t);return e.slice(t,r)}async function ge(e,s,t,r){let o=X(e);if(o.length===0)return null;let n=t.classNameAllocator??(0,pe.createClassNameAllocator)(),m=t.importSource??"@cssxio/cssx",i=[],l=e;for(let a of[...o].reverse()){let d=await r(`import { sx } from ${JSON.stringify(m)};
8
- const style = ${a.code};`,`${s}.ts`,{...t,classNameAllocator:n}),c=D(d.code);l=`${l.slice(0,a.start)}${c}${l.slice(a.end)}`,i.push({...d,atomicClasses:[],origins:{}})}return v(l,i)}var Se=require("@cssxio/compiler"),we=require("@vue/compiler-sfc");function J(e,s){let t=e.split(`
9
- `).slice(0,s.line).reduce((r,o)=>r+o.length+1,0);return Math.min(e.length,t+s.column)}function V(e,s){let t=Math.min(e.length,s),r=e.slice(0,t).split(`
10
- `).length-1,o=e.lastIndexOf(`
11
- `,t-1)+1;return{line:r,column:t-o}}function G(e,s,t){let r={},o=e.slice(s);for(let[n,m]of Object.entries(t))r[n]=V(e,s+J(o,m));return r}function xe(e,s,t,r,o){let n={};for(let[m,i]of Object.entries(o)){let l=J(t,i);n[m]=V(e,s+Math.max(0,l-r))}return n}function ye(e){return e.slice(1,-1).replace(/\\(['"\\bnfrtv])/g,(s,t)=>({b:"\b",n:`
12
- `,f:"\f",r:"\r",t:" ",v:"\v"})[t]??t)}function he(e,s){if(!s)return e;let t=s==='"'?"'":'"';return e.replace(/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'/g,r=>{let o=r[0]==='"'?JSON.parse(r):ye(r),n=JSON.stringify(o);return t==='"'?n:`'${n.slice(1,-1).replaceAll("'","\\'")}'`})}function Ce(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 be(e,s,t,r,o){let n=X(e);if(n.length===0)return null;let m=t.importSource??"@cssxio/cssx",i=[],l=e;for(let a of[...n].reverse()){let d=`import { sx } from ${JSON.stringify(m)};
13
- const style = `,c=`${d}${a.code};`,u=await o(c,`${s}.cssx-vue-template.ts`,{...t,classNameAllocator:r}),f=he(D(u.code),Ce(e,a.start));l=`${l.slice(0,a.start)}${f}${l.slice(a.end)}`,i.push({...u,origins:xe(e,a.start,c,d.length,u.origins)})}return v(l,i)}async function Ne(e,s,t,r){let o=s.split("?",1).join(""),n=(0,we.parse)(e,{filename:o});if(n.errors.length>0)throw new Error(n.errors[0].message);let m=t.classNameAllocator??(0,Se.createClassNameAllocator)(),i=[],l=[];for(let c of[n.descriptor.script,n.descriptor.scriptSetup]){if(!c?.content.includes(t.importSource??"@cssxio/cssx"))continue;let u=c.lang==="js"||c.lang==="jsx"||c.lang==="tsx"?c.lang:"ts",f=await r(c.content,`${o}.cssx-vue-script.${u}`,{...t,classNameAllocator:m});i.push({start:c.loc.start.offset,end:c.loc.end.offset,code:f.code}),l.push({...f,origins:G(e,c.loc.start.offset,f.origins)})}let a=n.descriptor.template;if(a?.content.includes("sx")){let c=await be(a.content,o,t,m,r);c&&(i.push({start:a.loc.start.offset,end:a.loc.end.offset,code:c.code}),l.push({...c,origins:G(e,a.loc.start.offset,c.origins)}))}if(i.length===0)return null;let d=e;for(let c of i.sort((u,f)=>f.start-u.start))d=`${d.slice(0,c.start)}${c.code}${d.slice(c.end)}`;return v(d,l)}var Pe=require("@babel/core"),ve=De(require("@cssxio/babel-plugin"),1),B=require("@cssxio/compiler");function Oe(e){return{className:`cssx-${q(e)}`,css:e}}function Me(e,s){return e&&s?`@layer ${s}{${e}}`:e}async function Re(e,s,t,r){let o=t.importSource??"@cssxio/cssx",n=await _(t),m=await(0,Pe.transformAsync)(e,{babelrc:!1,configFile:!1,filename:s,parserOpts:{plugins:["jsx","typescript"]},plugins:[[ve.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=m.metadata,{candidates:l,origins:a,composites:d,atomicClasses:c,cssOnlySignature:u}=i.cssx,f=Object.keys(l),h=f.length===0?"":(await(0,B.compileUtilities)(f,g=>l[g],n,(0,B.createSelectorAliases)(d),new Set(c),{darkMode:t.darkMode})).css;return{code:m.code,rules:h?[Oe(Me(h,t.layer))]:[],candidates:l,composites:d,atomicClasses:c,origins:a,cssOnlySignature:u,map:m.map}}var We=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro",".vue"]);async function M(e,s,t={},r){z(t);let o=t.importSource??"@cssxio/cssx",n=s.split("?",1).join("");return!We.has(n.slice(n.lastIndexOf(".")))||!e.includes(o)?null:n.endsWith(".astro")?ge(e,s,t,M):n.endsWith(".vue")?Ne(e,s,t,M):Re(e,n,t,r)}async function Te(e,s){let t=await I(e,s.sourceRoots?.map(n=>(0,R.resolve)(e,n))),r={...s};delete r.coordination,delete r.manifestPath,delete r.classNameAllocator;let o=async n=>{let m=[];for(let i of t){let l=await(0,Ae.readFile)(i,"utf8"),a=/\.(?:md|mdx)$/i.test(i);if(a&&!l.includes(s.importSource??"@cssxio/cssx"))continue;let d=a?await L(l,e,s.mdx):l,c=s.stableClassNames||s.naming==="source",u=await M(d,a?`${i}.tsx`:i,{...r,classNameAllocator:n,stableClassNames:c,...c?{stableClassNameFileName:(0,R.relative)(e,i).replaceAll(R.sep,"/")}:{}});u&&m.push({id:i,candidates:u.candidates,composites:u.composites,atomicClasses:u.atomicClasses,origins:u.origins})}return m};return s.coordination==="manifest"?F(s.manifestPath,E(s),o):o(s.classNameAllocator??(0,Ee.createClassNameAllocator)(E(s)))}var $e=new Set([".md",".mdx"]);function H(e,s){let t=this.async();Ge(this,e,s).then(({code:r,map:o})=>t(null,r,o),r=>t(r instanceof Error?r:new Error(String(r))))}async function Ge(e,s,t){let r=e.getOptions(),o=(0,x.resolve)(r.projectRoot||e.rootContext||process.cwd()),n=(0,x.resolve)(e.resourcePath),m=n.slice(n.lastIndexOf(".")).toLowerCase(),i=s;$e.has(m)&&(i=await L(s,o,r.mdx));let l=(0,x.relative)(o,n).replaceAll(x.sep,"/"),a=r.cssx.naming==="source"||r.cssx.stableClassNames===!0,d={...r.cssx,className:E(r.cssx),stableClassNames:a,...a?{stableClassNameFileName:l}:{}},c=await F(r.manifestPath,d.className,async g=>{let S=$e.has(m)?`${n}.tsx`:n;return M(i,S,{...d,classNameAllocator:g},t)}),u=c?.code??i,f=c?.map??t,h=Qe(l);if(h){let g=r.cssx.sourceRoots?.map(p=>(0,x.resolve)(o,p))??[],S=await I(o,g);for(let p of S)e.addDependency(p);for(let p of[(0,x.resolve)(o,"app"),(0,x.resolve)(o,"src"),(0,x.resolve)(o,"pages"),(0,x.resolve)(o,"components"),...g])try{(await(0,N.stat)(p)).isDirectory()&&e.addContextDependency(p)}catch(C){if(C.code!=="ENOENT")throw C}}if(h){let g=await Te(o,{...r.cssx,coordination:"manifest",manifestPath:r.manifestPath}),S=r.cssx.themeFile?await(0,N.readFile)((0,x.resolve)(o,r.cssx.themeFile),"utf8"):r.cssx.theme;r.cssx.themeFile&&e.addDependency((0,x.resolve)(o,r.cssx.themeFile));let p=await me(g,S,r.cssx.layer,r.cssx.sourceMap,r.cssx.darkMode,r.cssx.preflight);if(r.cssx.debug){let b=K(g,p.css,{...r.cssx,coordination:"manifest",manifestPath:r.manifestPath});if(r.cssx.debug===!0)console.info(`CSSX: ${b.naming.mode} naming; ${b.classes.filter(w=>w.selectorFound).length}/${b.classes.length} generated classes have selectors; compiler mappings ${b.serverClientMappings.status}${b.serverClientMappings.conflicts.length?` (${b.serverClientMappings.conflicts.length} utility conflicts)`:""}.`);else{let w=(0,x.resolve)(o,r.cssx.debug.reportFile);await(0,N.mkdir)((0,x.dirname)(w),{recursive:!0}),await Q(w,`${JSON.stringify(b,null,2)}
14
- `)}}await(0,N.mkdir)((0,x.dirname)(r.styleSheetFile),{recursive:!0});let C=ie(p,"generated.css");await Q(r.styleSheetFile,C),p.map&&await Q(`${r.styleSheetFile}.map`,oe(p.map,"generated.css"))}if(h){let g=(0,x.relative)((0,x.dirname)(n),r.styleSheetFile).replaceAll(x.sep,"/");u+=`
15
- import '${g.startsWith(".")?g:`./${g}`}';
16
- `,f=void 0}return{code:u,...f?{map:f}:{}}}function Qe(e){return/^(?:src\/)?app\/layout\.[cm]?[jt]sx?$/.test(e)}async function Q(e,s){try{if(await(0,N.readFile)(e,"utf8")===s)return}catch(t){if(t.code!=="ENOENT")throw t}await(0,N.writeFile)(e,s,"utf8")}
9
+ `)}catch(m){throw await c.close().catch(()=>{}),await(0,I.rm)(n,{force:!0}).catch(()=>{}),m}a=c}try{let c=await xs(r,s),m=await t(c),f=(0,J.snapshotClassNameAllocator)(c),i=`${r}.${process.pid}.${Date.now()}.tmp`;try{await(0,I.writeFile)(i,`${JSON.stringify(f,null,2)}
10
+ `,"utf8"),await(0,I.rename)(i,r)}catch(d){throw await(0,I.rm)(i,{force:!0}).catch(()=>{}),d}return m}finally{await a.close(),await(0,I.rm)(n,{force:!0})}}async function ys(e){try{let s=await(0,I.stat)(e),t;try{t=await(0,I.readFile)(e,"utf8")}catch(l){let a=l.code;if(a==="EACCES"||a==="EPERM")return!1;throw l}let[r]=t.split(`
11
+ `),n=Number(r);if(Number.isSafeInteger(n)&&n>0)try{return process.kill(n,0),!1}catch(l){return l.code!=="ESRCH"?!1:(await(0,I.rm)(e,{force:!0}),!0)}return Date.now()-s.mtimeMs<ct?!1:(await(0,I.rm)(e,{force:!0}),!0)}catch(s){if(s.code==="ENOENT")return!1;throw s}}async function xs(e,s){try{let t=JSON.parse(await(0,I.readFile)(e,"utf8")),r=(0,J.snapshotClassNameAllocator)((0,J.createClassNameAllocator)(s)).options;if(JSON.stringify(t.options)!==JSON.stringify(r))throw new Error("CSSX class-name manifest options do not match the active compiler options.");return(0,J.restoreClassNameAllocator)(t)}catch(t){if(t.code==="ENOENT")return(0,J.createClassNameAllocator)(s);throw t}}u();function mt(e,s){return JSON.stringify({...e,file:s})}u();var dt=require("path");function ut(e,s){return e.map?`${e.css}
12
+ /*# sourceMappingURL=${(0,dt.basename)(s)}.map */`:e.css}u();u();var $e='*,::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}';u();u();function je(e,s){let t=s.split(`
13
+ `);return{line:e.line+t.length-1,column:t.at(-1).length+e.column*+(t.length===1)}}u();u();var Cs="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function oe(e){let s="",t=e<0?-e<<1|1:e<<1;do{let r=t&31;t>>>=5,t&&(r|=32),s+=Cs[r]}while(t);return s}function ft(e){let s=Array.from({length:Math.max(0,...e.map(o=>o.line))+1},()=>[]),t=0,r=0,n=0,l=0,a=0;for(let o of e)a*=+(o.line===l),l=o.line,s[o.line]?.push(`${oe(o.column-a)}${oe(o.source-t)}${oe(o.originalLine-r)}${oe(o.originalColumn-n)}`),a=o.column,t=o.source,r=o.originalLine,n=o.originalColumn;return s.map(o=>o.join(",")).join(";")}function pt(e,s,t){let r=[...new Set(s.map(o=>t.get(o.candidate)?.id).filter(o=>!!o))].sort();if(r.length===0)return;let n=new Map(r.map((o,c)=>[o,c])),l=[],a=je({line:0,column:0},e);for(let o of s){let c=t.get(o.candidate);c&&l.push({...a,source:n.get(c.id),originalLine:c.line,originalColumn:c.column}),a=je(a,o.css)}return{version:3,sources:r,names:[],mappings:ft(l)}}ge();async function gt(e,s,t,r=!0,n,l=!0){if(!r&&e.filter(Ns).length<=1&&e.every(Ss)){let C=[...new Set(e.map(S=>S.precompiledCss).filter(bs))].sort().join(""),A=`${l?$e:""}${C}`;if(!A)return{css:""};let T=t?`@layer ${t}{`:"";return{css:`${T}${A}${T?"}":""}`}}let o=Object.create(null),c=Object.create(null),m=new Set,f=!0,i=new Map;for(let C of[...e].sort((w,A)=>w.id.localeCompare(A.id))){for(let[w,A]of Object.entries(C.candidates))if(w in o||(o[w]=A),C.id&&!i.has(w)){let T=C.origins?.[w];i.set(w,{id:C.id,line:T?.line??0,column:T?.column??0})}for(let[w,A]of Object.entries(C.composites??{})){let T=c[w];if(T&&T.join(" ")!==A.join(" "))throw new Error(`CSSX composite class collision for "${w}".`);c[w]=A}C.atomicClasses===void 0&&(f=!1);for(let w of C.atomicClasses??[])m.add(w)}let d=Object.keys(o).sort(),p=l?$e:"";if(d.length===0)return{css:p&&t?`@layer ${t}{${p}}`:p};let{compileUtilities:y,createSelectorAliases:v,serializeCss:N}=await import("@cssxio/compiler"),b=await y(d,C=>o[C],s,v(c),f?m:void 0,{darkMode:n}),O=!r&&ee()?N([{className:"",css:b.css}]):b.css,P=t?`@layer ${t}{`:"",j=`${P}${p}${O}${P?"}":""}`,h=r?pt(`${P}${p}${b.prefixCss}`,b.entries,i):void 0;return{css:j,...h?{map:h}:{}}}function Ss(e){return typeof e.precompiledCss=="string"||Object.keys(e.candidates).length===0&&Object.keys(e.composites??{}).length===0}function Ns(e){return Object.keys(e.candidates).length>0||Object.keys(e.composites??{}).length>0}function bs(e){return e!==void 0}u();var yt=require("fs/promises"),z=require("path"),ws=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro",".mdx",".md"]),xt=new Set([".git",".next",".open-next",".output",".turbo",".vercel","build","coverage","dist","node_modules","out","storybook-static"]);function ke(e,s=[]){let t=(0,z.resolve)(e),r=s.map(l=>(0,z.resolve)(l)).find(l=>{let a=(0,z.relative)(l,t);return a===""||!a.startsWith(`..${z.sep}`)&&a!==".."&&!(0,z.isAbsolute)(a)});return(r?(0,z.relative)(r,t):t).split(z.sep).some(l=>xt.has(l))}async function Ct(e,s=[]){let t=[],r=[e,...s],n=new Set;for(;r.length>0;){let l=r.pop(),a=(0,z.resolve)(l);if(!n.has(a)){n.add(a);for(let o of await(0,yt.readdir)(l,{withFileTypes:!0})){let c=(0,z.join)(l,o.name);if(o.isDirectory()){xt.has(o.name)||r.push(c);continue}o.isFile()&&ws.has(c.slice(c.lastIndexOf(".")))&&t.push(c)}}}return t.sort()}u();var Yt=require("@cssxio/compiler"),zs=require("fs"),q=require("fs/promises"),Me=require("path");u();var ht=require("module"),St=require("path"),ze=require("url");async function ae(e,s,t={}){let r=(0,ht.createRequire)((0,St.resolve)(s,"package.json")),n;try{n=r.resolve("@mdx-js/mdx")}catch{throw new Error("CSSX Next MDX support requires @mdx-js/mdx to be installed in the Next.js project.")}let l=await import((0,ze.pathToFileURL)(n).href),a=async o=>Promise.all((o??[]).map(async c=>{let[m,f]=typeof c=="string"?[c,void 0]:c,i=r.resolve(m),d=await import((0,ze.pathToFileURL)(i).href),p=d.default??d;return f===void 0?p:[p,f]}));return String(await l.compile(e,{outputFormat:"program",development:t.development??!1,remarkPlugins:await a(t.remarkPlugins),rehypePlugins:await a(t.rehypePlugins),recmaPlugins:await a(t.recmaPlugins)}))}Y();Xe();u();u();Y();var ks=new Set([".js",".jsx",".ts",".tsx",".cjs",".cjsx",".cts",".ctsx",".mjs",".mjsx",".mts",".mtsx",".astro",".vue"]);async function W(e,s,t={},r,n={}){Re(t);let l=t.importSource??"@cssxio/cssx",a=s.split("?",1).join("");if(!ks.has(a.slice(a.lastIndexOf(".")))||!e.includes(l))return null;if(a.endsWith(".astro")){let{transformAstroSxModule:c}=await Promise.resolve().then(()=>(Ot(),vt));return c(e,s,t,W,n)}if(a.endsWith(".vue")){let{transformVueSfcModule:c}=await Promise.resolve().then(()=>(Dt(),Xt));return c(e,s,t,W,n)}if(t.mode==="development"&&t.stableClassNames===!0&&t.stableClassNameStrategy==="module-order"&&n.compileCss===!1){let{tryTransformNativeStaticSxModule:c}=await Promise.resolve().then(()=>(Ut(),Lt)),m=await c(e,s,a,t,r,n);if(m)return m}if(t.mode!=="development"&&n.compileCss!==!1){let{tryTransformNativeStaticCreateModule:c}=await Promise.resolve().then(()=>(qt(),Wt)),m=await c(e,s,a,t,r,n);if(m)return m}let{transformBabelCssxModule:o}=await Promise.resolve().then(()=>(Qt(),Gt));return o(e,a,t,r,n)}async function Pe(e,s){let t=B(e),r=await Ct(t,s.sourceRoots?.map(f=>B((0,Me.resolve)(t,f)))),n={...s};delete n.coordination,delete n.manifestPath,delete n.classNameAllocator;let l=async f=>{let i=[];for(let d of r){let p=await(0,q.readFile)(d,"utf8"),y=/\.(?:md|mdx)$/i.test(d);if(y&&!p.includes(s.importSource??"@cssxio/cssx"))continue;let v=y?await ae(p,t,s.mdx):p,N=s.stableClassNames||s.naming==="source",b=N?ne(t,d,s.mode==="development"):void 0;if(!y&&!/\.(?:astro|vue)$/i.test(d)){let P=await le(v,d,t,s,f,b??d);if(P.handled){P.module&&i.push(P.module);continue}}let O=await W(v,y?`${d}.tsx`:d,{...n,classNameAllocator:f,stableClassNames:N,...N?{stableClassNameFileName:b}:{}},void 0,{compileCss:!1});O&&i.push({id:d,candidates:O.candidates,composites:O.composites,atomicClasses:O.atomicClasses,origins:O.origins})}return i};if(s.coordination==="manifest")return pe(s.manifestPath,K(s),l);let a=Ee(t,s),o=ss(e,s),c=Oe.get(a);if(c)return await c,Pe(e,s);let m=(async()=>{let f=new Set;for(let i of r){let d;try{d=await(0,q.stat)(i,{bigint:!0})}catch(h){if(h.code!=="ENOENT")throw h;o.signatures.delete(i),o.modules.delete(i);continue}let p=`${d.dev}:${d.ino}:${d.size}:${d.mtimeNs}:${d.ctimeNs}`;if(o.signatures.get(i)===p){f.add(i);continue}let y;try{y=await(0,q.readFile)(i,"utf8")}catch(h){if(h.code!=="ENOENT")throw h;o.signatures.delete(i),o.modules.delete(i);continue}f.add(i);let v=/\.(?:md|mdx)$/i.test(i),N=y.includes(s.importSource??"@cssxio/cssx");if(v&&!N){o.modules.delete(i),o.signatures.set(i,p);continue}let b=v?await ae(y,t,s.mdx):y,O=s.stableClassNames||s.naming==="source",P=O?ne(t,i,s.mode==="development"):void 0;if(!v&&!/\.(?:astro|vue)$/i.test(i)){let h=await le(b,i,t,s,o.allocator,P??i);if(h.handled){h.module?o.modules.set(i,h.module):o.modules.delete(i),o.signatures.set(i,p);continue}}let j=await W(b,v?`${i}.tsx`:i,{...n,classNameAllocator:o.allocator,stableClassNames:O,...O?{stableClassNameFileName:P}:{}},void 0,{compileCss:!1});j?o.modules.set(i,{id:i,candidates:j.candidates,composites:j.composites,atomicClasses:j.atomicClasses,origins:j.origins}):o.modules.delete(i),o.signatures.set(i,p)}for(let i of o.signatures.keys())f.has(i)||(o.signatures.delete(i),o.modules.delete(i));return[...o.modules.values()].sort((i,d)=>i.id.localeCompare(d.id))})();Oe.set(a,m);try{return await m}finally{Oe.delete(a)}}function es(e,s){return ss(e,s).allocator}async function ts(e,s,t,r,n){if(t.coordination==="manifest")return!1;let l=Ee(e,t),a=Oe.get(l);a&&await a;let o=U.get(l);if(!o)return!1;let c=B(s),m;try{let i=await(0,q.stat)(c,{bigint:!0});if(n!==void 0&&await(0,q.readFile)(c,"utf8")!==n)return!1;m=`${i.dev}:${i.ino}:${i.size}:${i.mtimeNs}:${i.ctimeNs}`}catch(i){if(i.code==="ENOENT"){let d=U.get(l);return d?.signatures.delete(c),d?.modules.delete(c)??!1}throw i}let f=o.modules.has(c);return r?o.modules.set(c,{id:c,candidates:r.candidates,composites:r.composites,atomicClasses:r.atomicClasses,origins:r.origins}):o.modules.delete(c),o.signatures.set(c,m),f||r!==null}function Ge(e,s){let t=U.get(Ee(e,s));return t?[...t.modules.values()].sort((r,n)=>r.id.localeCompare(n.id)):void 0}function Ee(e,s){let t={...s};return delete t.coordination,delete t.manifestPath,delete t.classNameAllocator,`${B(e)}\0${JSON.stringify(t)}`}function ss(e,s){let t=Ee(e,s),r=U.get(t);return r||(r={allocator:s.classNameAllocator??(0,Yt.createClassNameAllocator)(K(s)),modules:new Map,signatures:new Map},U.set(t,r),_s(t)),r}function _s(e){if(!(U.size<=Kt))for(let s of U.keys()){if(U.size<=Kt)return;s!==e&&!Xs.has(s)&&!Ds.has(s)&&U.delete(s)}}var U=new Map,Oe=new Map,Xs=new Set,Kt=8;var Ds=new Map;var rs=new Set([".md",".mdx"]);function Qe(e,s){let t=this.async();Ls(this,e,s).then(({code:r,map:n})=>t(null,r,n),r=>t(r instanceof Error?r:new Error(String(r))))}async function Ls(e,s,t){let r=e.getOptions(),n=(0,$.resolve)(r.projectRoot||e.rootContext||process.cwd()),l=(0,$.resolve)(e.resourcePath),a=r.cssx.sourceRoots?.map(h=>(0,$.resolve)(n,h));if(ke(l,a))return{code:s,...t?{map:t}:{}};let o=l.slice(l.lastIndexOf(".")).toLowerCase(),c=s;rs.has(o)&&(c=await ae(s,n,r.mdx));let m=(0,$.relative)(n,l).replaceAll($.sep,"/"),f=Us(m),i,d=r.development?it(r.cssx):r.cssx,p=d.naming==="source"||d.stableClassNames===!0,y={...d,className:r.development?K(d):at(d),stableClassNames:p,...p?{stableClassNameFileName:ne(n,l,r.development)}:{}},v=rs.has(o)?`${l}.tsx`:l,N=h=>W(c,v,{...y,classNameAllocator:h},t,{compileCss:!1}),b=r.development?await N(es(n,d)):await pe(r.manifestPath,y.className,N);if(r.development&&!f&&!r.developmentHmr){let h=Ge(n,d);if(await ts(n,l,d,b,s)||!h){let w=Ge(n,d)??await Pe(n,d);await ns(n,r.styleSheetFile,d,d,w)}}let O=b?.code??c,P=b?.map??t,j=r.development&&r.developmentHmr!==void 0;if(f&&j&&(i=await import("@cssxio/unplugin/internal/development-runtime"),await i.waitForNextDevelopmentStylesheet(r.developmentHmr)),f&&!j){let h=r.cssx.sourceRoots?.map(C=>(0,$.resolve)(n,C))??[];for(let C of[(0,$.resolve)(n,"app"),(0,$.resolve)(n,"src"),(0,$.resolve)(n,"pages"),(0,$.resolve)(n,"components"),...h])try{(await(0,k.stat)(C)).isDirectory()&&e.addContextDependency(C)}catch(w){if(w.code!=="ENOENT")throw w}}if(f&&!j){let h={...d,...r.development?{}:{className:y.className},...r.development?{}:{coordination:"manifest",manifestPath:r.manifestPath}},C=await Pe(n,{...h});d.themeFile&&e.addDependency((0,$.resolve)(n,d.themeFile)),await ns(n,r.styleSheetFile,d,h,C)}if(f){let h=(0,$.relative)((0,$.dirname)(l),r.styleSheetFile).replaceAll($.sep,"/");O+=`
14
+ import '${h.startsWith(".")?h:`./${h}`}';
15
+ `,P=void 0}return r.development&&r.developmentHmr&&b&&(i??=await import("@cssxio/unplugin/internal/development-runtime"),O+=`
16
+ ${i.nextDevelopmentStylesheetHmr(r.developmentHmr,r.styleSheetFile)}`),{code:O,...P?{map:P}:{}}}async function ns(e,s,t,r,n){let l=await D(t,e),a=await gt(n,l,t.layer,t.sourceMap,t.darkMode,t.preflight);if(t.debug){let o=Ye(n,a.css,r);if(t.debug===!0)console.info(`CSSX: ${o.naming.mode} naming; ${o.classes.filter(c=>c.selectorFound).length}/${o.classes.length} generated classes have selectors; compiler mappings ${o.serverClientMappings.status}${o.serverClientMappings.conflicts.length?` (${o.serverClientMappings.conflicts.length} utility conflicts)`:""}.`);else{let c=(0,$.resolve)(e,t.debug.reportFile);await(0,k.mkdir)((0,$.dirname)(c),{recursive:!0}),await Bs(c,`${JSON.stringify(o,null,2)}
17
+ `)}}await(0,k.mkdir)((0,$.dirname)(s),{recursive:!0}),await os(s,ut(a,"generated.css")),a.map&&await os(`${s}.map`,mt(a.map,"generated.css"))}async function os(e,s){try{if(await(0,k.readFile)(e,"utf8")===s)return!1}catch(r){if(r.code!=="ENOENT")throw r}let t=`${e}.${process.pid}.${(0,as.randomUUID)()}.tmp`;try{return await(0,k.writeFile)(t,s),await(0,k.rename)(t,e),!0}catch(r){throw await(0,k.unlink)(t).catch(()=>{}),r}}function Us(e){return/^(?:src\/)?app\/layout\.[cm]?[jt]sx?$/.test(e)}async function Bs(e,s){try{if(await(0,k.readFile)(e,"utf8")===s)return}catch(t){if(t.code!=="ENOENT")throw t}await(0,k.writeFile)(e,s,"utf8")}
@@ -1,5 +1,6 @@
1
- import { C as CssxPluginOptions, a as CssxNextMdxOptions } from './options-DkqShf7w.cjs';
1
+ import { C as CssxPluginOptions, a as CssxNextMdxOptions } from './options-BbhZj-Sb.cjs';
2
2
  import { I as IncomingSourceMap } from './source-map-from-context-B4SX_KAW.cjs';
3
+ import { N as NextDevelopmentHmrConnection } from './next-development-server-CBPFB9EC.cjs';
3
4
  import '@cssxio/compiler';
4
5
 
5
6
  /** JSON-safe options passed by the Next.js config wrapper to this loader. */
@@ -9,6 +10,7 @@ interface CssxNextLoaderOptions {
9
10
  readonly importSource: string;
10
11
  readonly manifestPath: string;
11
12
  readonly development: boolean;
13
+ readonly developmentHmr?: NextDevelopmentHmrConnection;
12
14
  readonly cssx: Omit<CssxPluginOptions, 'classNameAllocator' | 'coordination' | 'manifestPath'>;
13
15
  readonly mdx?: CssxNextMdxOptions;
14
16
  }
@@ -1,5 +1,6 @@
1
- import { C as CssxPluginOptions, a as CssxNextMdxOptions } from './options-DkqShf7w.js';
1
+ import { C as CssxPluginOptions, a as CssxNextMdxOptions } from './options-BbhZj-Sb.js';
2
2
  import { I as IncomingSourceMap } from './source-map-from-context-B4SX_KAW.js';
3
+ import { N as NextDevelopmentHmrConnection } from './next-development-server-CBPFB9EC.js';
3
4
  import '@cssxio/compiler';
4
5
 
5
6
  /** JSON-safe options passed by the Next.js config wrapper to this loader. */
@@ -9,6 +10,7 @@ interface CssxNextLoaderOptions {
9
10
  readonly importSource: string;
10
11
  readonly manifestPath: string;
11
12
  readonly development: boolean;
13
+ readonly developmentHmr?: NextDevelopmentHmrConnection;
12
14
  readonly cssx: Omit<CssxPluginOptions, 'classNameAllocator' | 'coordination' | 'manifestPath'>;
13
15
  readonly mdx?: CssxNextMdxOptions;
14
16
  }
@@ -1,4 +1,5 @@
1
- import{f as v,g as O,h as P,i as F,j as b,k as E,l as I,m as $,o as L,p as D}from"./chunk-5R7RC6XB.js";import"./chunk-OHZUHF4D.js";import{mkdir as R,readFile as J,stat as X,writeFile as W}from"fs/promises";import{dirname as g,relative as j,resolve as n,sep as A}from"path";var k=new Set([".md",".mdx"]);function T(s,i){let a=this.async();_(this,s,i).then(({code:e,map:t})=>a(null,e,t),e=>a(e instanceof Error?e:new Error(String(e))))}async function _(s,i,a){let e=s.getOptions(),t=n(e.projectRoot||s.rootContext||process.cwd()),l=n(s.resourcePath),y=l.slice(l.lastIndexOf(".")).toLowerCase(),f=i;k.has(y)&&(f=await b(i,t,e.mdx));let C=j(t,l).replaceAll(A,"/"),N=e.cssx.naming==="source"||e.cssx.stableClassNames===!0,S={...e.cssx,className:v(e.cssx),stableClassNames:N,...N?{stableClassNameFileName:C}:{}},w=await E(e.manifestPath,S.className,async o=>{let m=k.has(y)?`${l}.tsx`:l;return $(f,m,{...S,classNameAllocator:o},a)}),M=w?.code??f,u=w?.map??a,x=q(C);if(x){let o=e.cssx.sourceRoots?.map(r=>n(t,r))??[],m=await I(t,o);for(let r of m)s.addDependency(r);for(let r of[n(t,"app"),n(t,"src"),n(t,"pages"),n(t,"components"),...o])try{(await X(r)).isDirectory()&&s.addContextDependency(r)}catch(p){if(p.code!=="ENOENT")throw p}}if(x){let o=await L(t,{...e.cssx,coordination:"manifest",manifestPath:e.manifestPath}),m=e.cssx.themeFile?await J(n(t,e.cssx.themeFile),"utf8"):e.cssx.theme;e.cssx.themeFile&&s.addDependency(n(t,e.cssx.themeFile));let r=await O(o,m,e.cssx.layer,e.cssx.sourceMap,e.cssx.darkMode,e.cssx.preflight);if(e.cssx.debug){let c=D(o,r.css,{...e.cssx,coordination:"manifest",manifestPath:e.manifestPath});if(e.cssx.debug===!0)console.info(`CSSX: ${c.naming.mode} naming; ${c.classes.filter(d=>d.selectorFound).length}/${c.classes.length} generated classes have selectors; compiler mappings ${c.serverClientMappings.status}${c.serverClientMappings.conflicts.length?` (${c.serverClientMappings.conflicts.length} utility conflicts)`:""}.`);else{let d=n(t,e.cssx.debug.reportFile);await R(g(d),{recursive:!0}),await h(d,`${JSON.stringify(c,null,2)}
2
- `)}}await R(g(e.styleSheetFile),{recursive:!0});let p=F(r,"generated.css");await h(e.styleSheetFile,p),r.map&&await h(`${e.styleSheetFile}.map`,P(r.map,"generated.css"))}if(x){let o=j(g(l),e.styleSheetFile).replaceAll(A,"/");M+=`
3
- import '${o.startsWith(".")?o:`./${o}`}';
4
- `,u=void 0}return{code:M,...u?{map:u}:{}}}function q(s){return/^(?:src\/)?app\/layout\.[cm]?[jt]sx?$/.test(s)}async function h(s,i){try{if(await J(s,"utf8")===i)return}catch(a){if(a.code!=="ENOENT")throw a}await W(s,i,"utf8")}export{T as default};
1
+ import{a as R,b as w,c as k,d as T,e as N}from"./chunk-YZ7P3BSQ.js";import{a as H}from"./chunk-JFKLWSSR.js";import"./chunk-CUKIYXQD.js";import"./chunk-ZDJ2ZX5V.js";import{a as J}from"./chunk-WIZLK3SX.js";import{a as I,b as D,c as F}from"./chunk-62JIYM5O.js";import"./chunk-6TMSHR6Z.js";import{c as L,d as j,f as A}from"./chunk-ERSPVOTN.js";import{g as E,h as b,i as $}from"./chunk-ZCSG362J.js";import{a as P}from"./chunk-3C3MRH6A.js";import"./chunk-SV3MUUMI.js";import{randomUUID as ee}from"crypto";import{mkdir as X,readFile as B,rename as te,stat as oe,unlink as se,writeFile as G}from"fs/promises";import{dirname as S,relative as U,resolve as l,sep as W}from"path";var _=new Set([".md",".mdx"]);function K(s,r){let t=this.async();re(this,s,r).then(({code:e,map:o})=>t(null,e,o),e=>t(e instanceof Error?e:new Error(String(e))))}async function re(s,r,t){let e=s.getOptions(),o=l(e.projectRoot||s.rootContext||process.cwd()),i=l(s.resourcePath),p=e.cssx.sourceRoots?.map(a=>l(o,a));if(j(i,p))return{code:r,...t?{map:t}:{}};let c=i.slice(i.lastIndexOf(".")).toLowerCase(),m=r;_.has(c)&&(m=await R(r,o,e.mdx));let Q=U(o,i).replaceAll(W,"/"),u=ne(Q),f,n=e.development?$(e.cssx):e.cssx,M=n.naming==="source"||n.stableClassNames===!0,y={...n,className:e.development?E(n):b(n),stableClassNames:M,...M?{stableClassNameFileName:L(o,i,e.development)}:{}},V=_.has(c)?`${i}.tsx`:i,O=a=>A(m,V,{...y,classNameAllocator:a},t,{compileCss:!1}),g=e.development?await O(k(o,n)):await H(e.manifestPath,y.className,O);if(e.development&&!u&&!e.developmentHmr){let a=N(o,n);if(await T(o,i,n,g,r)||!a){let x=N(o,n)??await w(o,n);await q(o,e.styleSheetFile,n,n,x)}}let h=g?.code??m,v=g?.map??t,C=e.development&&e.developmentHmr!==void 0;if(u&&C&&(f=await import("@cssxio/unplugin/internal/development-runtime"),await f.waitForNextDevelopmentStylesheet(e.developmentHmr)),u&&!C){let a=e.cssx.sourceRoots?.map(d=>l(o,d))??[];for(let d of[l(o,"app"),l(o,"src"),l(o,"pages"),l(o,"components"),...a])try{(await oe(d)).isDirectory()&&s.addContextDependency(d)}catch(x){if(x.code!=="ENOENT")throw x}}if(u&&!C){let a={...n,...e.development?{}:{className:y.className},...e.development?{}:{coordination:"manifest",manifestPath:e.manifestPath}},d=await w(o,{...a});n.themeFile&&s.addDependency(l(o,n.themeFile)),await q(o,e.styleSheetFile,n,a,d)}if(u){let a=U(S(i),e.styleSheetFile).replaceAll(W,"/");h+=`
2
+ import '${a.startsWith(".")?a:`./${a}`}';
3
+ `,v=void 0}return e.development&&e.developmentHmr&&g&&(f??=await import("@cssxio/unplugin/internal/development-runtime"),h+=`
4
+ ${f.nextDevelopmentStylesheetHmr(e.developmentHmr,e.styleSheetFile)}`),{code:h,...v?{map:v}:{}}}async function q(s,r,t,e,o){let i=await P(t,s),p=await I(o,i,t.layer,t.sourceMap,t.darkMode,t.preflight);if(t.debug){let c=J(o,p.css,e);if(t.debug===!0)console.info(`CSSX: ${c.naming.mode} naming; ${c.classes.filter(m=>m.selectorFound).length}/${c.classes.length} generated classes have selectors; compiler mappings ${c.serverClientMappings.status}${c.serverClientMappings.conflicts.length?` (${c.serverClientMappings.conflicts.length} utility conflicts)`:""}.`);else{let m=l(s,t.debug.reportFile);await X(S(m),{recursive:!0}),await ae(m,`${JSON.stringify(c,null,2)}
5
+ `)}}await X(S(r),{recursive:!0}),await z(r,F(p,"generated.css")),p.map&&await z(`${r}.map`,D(p.map,"generated.css"))}async function z(s,r){try{if(await B(s,"utf8")===r)return!1}catch(e){if(e.code!=="ENOENT")throw e}let t=`${s}.${process.pid}.${ee()}.tmp`;try{return await G(t,r),await te(t,s),!0}catch(e){throw await se(t).catch(()=>{}),e}}function ne(s){return/^(?:src\/)?app\/layout\.[cm]?[jt]sx?$/.test(s)}async function ae(s,r){try{if(await B(s,"utf8")===r)return}catch(t){if(t.code!=="ENOENT")throw t}await G(s,r,"utf8")}export{K as default};
package/dist/next.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var p=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var M=(e,r)=>{for(var t in r)p(e,t,{get:r[t],enumerable:!0})},$=(e,r,t,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of R(r))!A.call(e,o)&&o!==t&&p(e,o,{get:()=>r[o],enumerable:!(a=F(r,o))||a.enumerable});return e};var W=e=>$(p({},"__esModule",{value:!0}),e);var O={};M(O,{default:()=>j,withCSSX:()=>X});module.exports=W(O);var E=require("fs"),u=require("path");var l=require("path");function y(e){if(!e||(0,l.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let r=(0,l.normalize)(e);if(r===".."||r.startsWith(`..${l.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!r.endsWith(".css"))throw new Error("cssFileName must end in .css.");return r}function b(e){if(e.sourceRoots&&e.sourceRoots.some(t=>typeof t!="string"||!t.trim()))throw new Error("CSSX sourceRoots must contain non-empty file-system paths.");let r=e.debug;if(r===null||r!==void 0&&typeof r!="boolean"&&(typeof r!="object"||typeof r.reportFile!="string"||!r.reportFile))throw new Error("CSSX debug must be a boolean or an object with a reportFile path.");if(e.naming!==void 0&&!["serial","hash","source"].includes(e.naming))throw new Error('CSSX naming must be "serial", "hash", or "source".');if(e.coordination!==void 0&&!["memory","manifest"].includes(e.coordination))throw new Error('CSSX coordination must be "memory" or "manifest".');if(e.stableClassNames&&e.naming&&e.naming!=="source")throw new Error('CSSX stableClassNames selects source naming and conflicts with naming. Use naming: "source".');if(e.stableClassNames&&e.coordination==="manifest")throw new Error("CSSX stableClassNames already selects source naming; remove it to use manifest coordination.");if(e.naming==="hash"&&e.className?.variant==="serial")throw new Error('CSSX naming: "hash" conflicts with className.variant: "serial".');if(e.naming==="serial"&&e.className?.variant==="random")throw new Error('CSSX naming: "serial" conflicts with className.variant: "random".');if(e.coordination==="manifest"&&!e.manifestPath)throw new Error('CSSX coordination: "manifest" requires manifestPath.');if(e.manifestPath&&e.coordination!=="manifest")throw new Error('CSSX manifestPath requires coordination: "manifest".');if(e.coordination==="manifest"&&e.classNameAllocator)throw new Error("CSSX manifest coordination cannot use a custom classNameAllocator.");if(e.theme!==void 0&&e.themeFile!==void 0)throw new Error("CSSX accepts either theme or themeFile, not both.");if(e.layer!==void 0&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(e.layer))throw new Error("CSSX layer must be a valid CSS layer identifier.");if(e.sourceMap!==void 0&&typeof e.sourceMap!="boolean")throw new Error("CSSX sourceMap must be a boolean.");if(e.darkMode!==void 0&&e.darkMode!=="media"&&e.darkMode!=="selector"&&e.darkMode!=="class")throw new Error('CSSX darkMode must be "media", "selector", or "class".');if(e.preflight!==void 0&&typeof e.preflight!="boolean")throw new Error("CSSX preflight must be a boolean.");if(e.reusabilityBudget!==void 0&&e.reusabilityBudget!=="auto"&&(!Number.isFinite(e.reusabilityBudget)||e.reusabilityBudget<0||e.reusabilityBudget>100))throw new Error('CSSX reusabilityBudget must be "auto" or a number from 0 through 100.');y(e.cssFileName??"cssx.css")}var f=require("path"),N=require("url");function k(e,r){let t=r??(0,f.dirname)((0,N.fileURLToPath)(e)),a=r?".cjs":e.endsWith(".ts")?".ts":".js";return(0,f.resolve)(t,`next-loader${a}`)}var D={},_=z(),h=k(D.url,_);function X(e,r={}){if(r.classNameAllocator)throw new Error("withCSSX cannot serialize classNameAllocator across Next.js compiler workers.");let t=process.cwd();if(!B(t))throw new Error("withCSSX requires an App Router root layout at app/layout.{js,jsx,ts,tsx} or src/app/layout.{js,jsx,ts,tsx}.");let a=(0,u.resolve)(t,r.manifestPath??".cssx/classnames.json"),o={...r,naming:r.naming??(r.stableClassNames?"source":"serial"),coordination:r.coordination??(r.stableClassNames?"memory":"manifest"),...!r.stableClassNames||r.coordination==="manifest"?{manifestPath:a}:{}};b(o);let x=n=>{let w=(0,u.resolve)(t,".cssx/next.css"),m={...o};delete m.classNameAllocator,delete m.coordination,delete m.manifestPath;let d={projectRoot:t,styleSheetFile:w,importSource:o.importSource??"@cssxio/cssx",manifestPath:a,development:process.env.NODE_ENV!=="production",cssx:m,...o.mdx?{mdx:o.mdx}:{}},C=n.webpack;n.webpack=(s,v)=>{let i=C?C(s,v):s;if(typeof i.then=="function")throw new Error("withCSSX requires a synchronous Next.js webpack callback; Next.js does not await webpack hooks.");return i.module??={rules:[]},i.module.rules??=[],i.module.rules.push({test:/\.(?:[cm]?[jt]sx?)$/,include:[t,...(r.sourceRoots??[]).map(g=>(0,u.resolve)(t,g))],enforce:"pre",use:[{loader:h,options:d}]}),i.module.rules.push({test:/\.(?:md|mdx)$/,include:[t,...(r.sourceRoots??[]).map(g=>(0,u.resolve)(t,g))],type:"javascript/auto",use:[{loader:h,options:d}]}),i};let S=n.turbopack??{},c={...S.rules??{}};for(let s of["*.js","*.jsx","*.ts","*.tsx"]){if(c[s])throw new Error(`withCSSX owns turbopack.rules["${s}"]; merge the CSSX loader into that rule explicitly.`);c[s]={loaders:[{loader:h,options:d}]}}for(let s of["*.md","*.mdx"]){if(c[s])throw new Error(`withCSSX owns turbopack.rules["${s}"]; configure MDX through the CSSX mdx option.`);c[s]={loaders:[{loader:h,options:d}],as:"*.js"}}n.turbopack={...S,rules:c};let P=Array.isArray(n.pageExtensions)?n.pageExtensions:["js","jsx","ts","tsx"];return n.pageExtensions=[...new Set([...P,"md","mdx"])],n};return typeof e=="function"?async(n,w)=>x(await e(n,w)):x(e)}var j=X;function B(e){let r=["js","jsx","ts","tsx"];return["app","src/app"].some(t=>r.some(a=>(0,E.existsSync)((0,u.resolve)(e,t,`layout.${a}`))))}function z(){return typeof __dirname=="string"?__dirname:void 0}0&&(module.exports={withCSSX});
1
+ "use strict";var _=Object.create;var h=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var W=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var U=(e,r)=>{for(var t in r)h(e,t,{get:r[t],enumerable:!0})},v=(e,r,t,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of T(r))!L.call(e,n)&&n!==t&&h(e,n,{get:()=>r[n],enumerable:!(a=B(r,n))||a.enumerable});return e};var z=(e,r,t)=>(t=e!=null?_(W(e)):{},v(r||!e||!e.__esModule?h(t,"default",{value:e,enumerable:!0}):t,e)),H=e=>v(h({},"__esModule",{value:!0}),e);var K={};U(K,{default:()=>A,withCSSX:()=>F});module.exports=H(K);var I=()=>typeof document>"u"?new URL(`file:${__filename}`).href:document.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?document.currentScript.src:new URL("main.js",document.baseURI).href,i=I();var R=require("fs"),u=require("path");var d=require("path");function k(e){if(!e||(0,d.isAbsolute)(e))throw new Error("cssFileName must be a non-empty relative path.");let r=(0,d.normalize)(e);if(r===".."||r.startsWith(`..${d.sep}`))throw new Error("cssFileName must not escape the bundler output directory.");if(!r.endsWith(".css"))throw new Error("cssFileName must end in .css.");return r}function E(e){if(e.mode!==void 0&&e.mode!=="development"&&e.mode!=="production")throw new Error('CSSX mode must be "development" or "production".');if(e.stableClassNameStrategy!==void 0&&e.stableClassNameStrategy!=="source-location"&&e.stableClassNameStrategy!=="module-order")throw new Error('CSSX stableClassNameStrategy must be "source-location" or "module-order".');if(e.sourceRoots&&e.sourceRoots.some(t=>typeof t!="string"||!t.trim()))throw new Error("CSSX sourceRoots must contain non-empty file-system paths.");let r=e.debug;if(r===null||r!==void 0&&typeof r!="boolean"&&(typeof r!="object"||typeof r.reportFile!="string"||!r.reportFile))throw new Error("CSSX debug must be a boolean or an object with a reportFile path.");if(e.naming!==void 0&&!["serial","hash","source"].includes(e.naming))throw new Error('CSSX naming must be "serial", "hash", or "source".');if(e.coordination!==void 0&&!["memory","manifest"].includes(e.coordination))throw new Error('CSSX coordination must be "memory" or "manifest".');if(e.stableClassNames&&e.naming&&e.naming!=="source")throw new Error('CSSX stableClassNames selects source naming and conflicts with naming. Use naming: "source".');if(e.stableClassNames&&e.coordination==="manifest")throw new Error("CSSX stableClassNames already selects source naming; remove it to use manifest coordination.");if(e.naming==="hash"&&e.className?.variant==="serial")throw new Error('CSSX naming: "hash" conflicts with className.variant: "serial".');if(e.naming==="serial"&&e.className?.variant==="random")throw new Error('CSSX naming: "serial" conflicts with className.variant: "random".');if(e.coordination==="manifest"&&!e.manifestPath)throw new Error('CSSX coordination: "manifest" requires manifestPath.');if(e.manifestPath&&e.coordination!=="manifest")throw new Error('CSSX manifestPath requires coordination: "manifest".');if(e.coordination==="manifest"&&e.classNameAllocator)throw new Error("CSSX manifest coordination cannot use a custom classNameAllocator.");if(e.theme!==void 0&&e.themeFile!==void 0)throw new Error("CSSX accepts either theme or themeFile, not both.");if(e.layer!==void 0&&!/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(e.layer))throw new Error("CSSX layer must be a valid CSS layer identifier.");if(e.sourceMap!==void 0&&typeof e.sourceMap!="boolean")throw new Error("CSSX sourceMap must be a boolean.");if(e.darkMode!==void 0&&e.darkMode!=="media"&&e.darkMode!=="selector"&&e.darkMode!=="class")throw new Error('CSSX darkMode must be "media", "selector", or "class".');if(e.preflight!==void 0&&typeof e.preflight!="boolean")throw new Error("CSSX preflight must be a boolean.");if(e.reusabilityBudget!==void 0&&e.reusabilityBudget!=="auto"&&(!Number.isFinite(e.reusabilityBudget)||e.reusabilityBudget<0||e.reusabilityBudget>100))throw new Error('CSSX reusabilityBudget must be "auto" or a number from 0 through 100.');k(e.cssFileName??"cssx.css")}function P(e){return{...e,mode:"development",sourceMap:e.sourceMap??!1,naming:"source",stableClassNames:!0,stableClassNameStrategy:"module-order",reusabilityBudget:0,className:{...e.className,variant:"random"},classNameAllocator:void 0,coordination:"memory",manifestPath:void 0}}var X=require("path");function M(e,r){let t=(0,X.resolve)(e);return{port:q(t),token:V(`${t}:${r}`)}}function q(e){let r=2166136261;for(let t=0;t<e.length;t++)r^=e.charCodeAt(t),r=Math.imul(r,16777619);return 4e4+(r>>>0)%2e4}function V(e){let r=2166136261;for(let t=0;t<e.length;t++)r^=e.charCodeAt(t),r=Math.imul(r,16777619);return(r>>>0).toString(36)}var x=require("path"),j=require("url");function O(e,r){let t=r??(0,x.dirname)((0,j.fileURLToPath)(e)),a=r?".cjs":e.endsWith(".ts")?".ts":".js";return(0,x.resolve)(t,`next-loader${a}`)}var Z=G(),C=O(i,Z);function F(e,r={}){if(r.classNameAllocator)throw new Error("withCSSX cannot serialize classNameAllocator across Next.js compiler workers.");let t=process.cwd();if(!J(t))throw new Error("withCSSX requires an App Router root layout at app/layout.{js,jsx,ts,tsx} or src/app/layout.{js,jsx,ts,tsx}.");let a=(0,u.resolve)(t,r.manifestPath??".cssx/classnames.json"),n={...r,naming:r.naming??(r.stableClassNames?"source":"serial"),coordination:r.coordination??(r.stableClassNames?"memory":"manifest"),...!r.stableClassNames||r.coordination==="manifest"?{manifestPath:a}:{}};E(n);let w=s=>{let l=(0,u.resolve)(t,".cssx/next.css"),b=n.mode===void 0?process.env.NODE_ENV!=="production":n.mode==="development",f=b&&process.env.NODE_ENV!=="test"?M(t,l):void 0;f&&import("@cssxio/unplugin/internal/development-runtime").then(o=>(o.startNextDevelopmentServer(t,l),o.startDevelopmentCoordinator(t,l,P(n),f))).catch(o=>{console.warn(`CSSX: Next development coordinator could not start: ${String(o)}`)});let p={...n};delete p.classNameAllocator,delete p.coordination,delete p.manifestPath;let g={projectRoot:t,styleSheetFile:l,importSource:n.importSource??"@cssxio/cssx",manifestPath:a,development:b,cssx:p,...f?{developmentHmr:f}:{},...n.mdx?{mdx:n.mdx}:{}},S=s.webpack;s.webpack=(o,$)=>{let m=S?S(o,$):o;if(typeof m.then=="function")throw new Error("withCSSX requires a synchronous Next.js webpack callback; Next.js does not await webpack hooks.");return m.module??={rules:[]},m.module.rules??=[],m.module.rules.push({test:/\.(?:[cm]?[jt]sx?)$/,include:[t,...(r.sourceRoots??[]).map(y=>(0,u.resolve)(t,y))],enforce:"pre",use:[{loader:C,options:g}]}),m.module.rules.push({test:/\.(?:md|mdx)$/,include:[t,...(r.sourceRoots??[]).map(y=>(0,u.resolve)(t,y))],type:"javascript/auto",use:[{loader:C,options:g}]}),m};let N=s.turbopack??{},c={...N.rules??{}};for(let o of["*.js","*.jsx","*.ts","*.tsx"]){if(c[o])throw new Error(`withCSSX owns turbopack.rules["${o}"]; merge the CSSX loader into that rule explicitly.`);c[o]={loaders:[{loader:C,options:g}]}}for(let o of["*.md","*.mdx"]){if(c[o])throw new Error(`withCSSX owns turbopack.rules["${o}"]; configure MDX through the CSSX mdx option.`);c[o]={loaders:[{loader:C,options:g}],as:"*.js"}}s.turbopack={...N,rules:c};let D=Array.isArray(s.pageExtensions)?s.pageExtensions:["js","jsx","ts","tsx"];return s.pageExtensions=[...new Set([...D,"md","mdx"])],s};return typeof e=="function"?async(s,l)=>w(await e(s,l)):w(e)}var A=F;function J(e){let r=["js","jsx","ts","tsx"];return["app","src/app"].some(t=>r.some(a=>(0,R.existsSync)((0,u.resolve)(e,t,`layout.${a}`))))}function G(){return typeof __dirname=="string"?__dirname:void 0}0&&(module.exports={withCSSX});
package/dist/next.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { C as CssxPluginOptions } from './options-DkqShf7w.cjs';
1
+ import { C as CssxPluginOptions } from './options-BbhZj-Sb.cjs';
2
2
  import '@cssxio/compiler';
3
3
 
4
4
  /** Subset of Next's Webpack configuration accessed by this adapter. */
package/dist/next.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { C as CssxPluginOptions } from './options-DkqShf7w.js';
1
+ import { C as CssxPluginOptions } from './options-BbhZj-Sb.js';
2
2
  import '@cssxio/compiler';
3
3
 
4
4
  /** Subset of Next's Webpack configuration accessed by this adapter. */
package/dist/next.js CHANGED
@@ -1 +1 @@
1
- import{b as k}from"./chunk-OHZUHF4D.js";import{existsSync as b}from"fs";import{resolve as u}from"path";import{dirname as N,resolve as S}from"path";import{fileURLToPath as j}from"url";function h(s,t){let o=t??N(j(s)),r=t?".cjs":s.endsWith(".ts")?".ts":".js";return S(o,`next-loader${r}`)}var P=X(),m=h(import.meta.url,P);function E(s,t={}){if(t.classNameAllocator)throw new Error("withCSSX cannot serialize classNameAllocator across Next.js compiler workers.");let o=process.cwd();if(!v(o))throw new Error("withCSSX requires an App Router root layout at app/layout.{js,jsx,ts,tsx} or src/app/layout.{js,jsx,ts,tsx}.");let r=u(o,t.manifestPath??".cssx/classnames.json"),a={...t,naming:t.naming??(t.stableClassNames?"source":"serial"),coordination:t.coordination??(t.stableClassNames?"memory":"manifest"),...!t.stableClassNames||t.coordination==="manifest"?{manifestPath:r}:{}};k(a);let f=e=>{let x=u(o,".cssx/next.css"),l={...a};delete l.classNameAllocator,delete l.coordination,delete l.manifestPath;let p={projectRoot:o,styleSheetFile:x,importSource:a.importSource??"@cssxio/cssx",manifestPath:r,development:process.env.NODE_ENV!=="production",cssx:l,...a.mdx?{mdx:a.mdx}:{}},g=e.webpack;e.webpack=(n,y)=>{let i=g?g(n,y):n;if(typeof i.then=="function")throw new Error("withCSSX requires a synchronous Next.js webpack callback; Next.js does not await webpack hooks.");return i.module??={rules:[]},i.module.rules??=[],i.module.rules.push({test:/\.(?:[cm]?[jt]sx?)$/,include:[o,...(t.sourceRoots??[]).map(d=>u(o,d))],enforce:"pre",use:[{loader:m,options:p}]}),i.module.rules.push({test:/\.(?:md|mdx)$/,include:[o,...(t.sourceRoots??[]).map(d=>u(o,d))],type:"javascript/auto",use:[{loader:m,options:p}]}),i};let w=e.turbopack??{},c={...w.rules??{}};for(let n of["*.js","*.jsx","*.ts","*.tsx"]){if(c[n])throw new Error(`withCSSX owns turbopack.rules["${n}"]; merge the CSSX loader into that rule explicitly.`);c[n]={loaders:[{loader:m,options:p}]}}for(let n of["*.md","*.mdx"]){if(c[n])throw new Error(`withCSSX owns turbopack.rules["${n}"]; configure MDX through the CSSX mdx option.`);c[n]={loaders:[{loader:m,options:p}],as:"*.js"}}e.turbopack={...w,rules:c};let C=Array.isArray(e.pageExtensions)?e.pageExtensions:["js","jsx","ts","tsx"];return e.pageExtensions=[...new Set([...C,"md","mdx"])],e};return typeof s=="function"?async(e,x)=>f(await s(e,x)):f(s)}var R=E;function v(s){let t=["js","jsx","ts","tsx"];return["app","src/app"].some(o=>t.some(r=>b(u(s,o,`layout.${r}`))))}function X(){return typeof __dirname=="string"?__dirname:void 0}export{R as default,E as withCSSX};
1
+ import{a as S}from"./chunk-6WHEMH4N.js";import{a as y,i as N}from"./chunk-ZCSG362J.js";import"./chunk-3C3MRH6A.js";import{a as l}from"./chunk-SV3MUUMI.js";import{existsSync as D}from"fs";import{resolve as p}from"path";import{dirname as E,resolve as R}from"path";import{fileURLToPath as X}from"url";function j(r,e){let t=e??E(X(r)),i=e?".cjs":r.endsWith(".ts")?".ts":".js";return R(t,`next-loader${i}`)}var A=L(),f=j(import.meta.url,A);function $(r,e={}){if(e.classNameAllocator)throw new Error("withCSSX cannot serialize classNameAllocator across Next.js compiler workers.");let t=process.cwd();if(!W(t))throw new Error("withCSSX requires an App Router root layout at app/layout.{js,jsx,ts,tsx} or src/app/layout.{js,jsx,ts,tsx}.");let i=p(t,e.manifestPath??".cssx/classnames.json"),s={...e,naming:e.naming??(e.stableClassNames?"source":"serial"),coordination:e.coordination??(e.stableClassNames?"memory":"manifest"),...!e.stableClassNames||e.coordination==="manifest"?{manifestPath:i}:{}};y(s);let w=n=>{let a=p(t,".cssx/next.css"),C=s.mode===void 0?process.env.NODE_ENV!=="production":s.mode==="development",m=C&&process.env.NODE_ENV!=="test"?S(t,a):void 0;m&&import("@cssxio/unplugin/internal/development-runtime").then(o=>(o.startNextDevelopmentServer(t,a),o.startDevelopmentCoordinator(t,a,N(s),m))).catch(o=>{console.warn(`CSSX: Next development coordinator could not start: ${String(o)}`)});let d={...s};delete d.classNameAllocator,delete d.coordination,delete d.manifestPath;let x={projectRoot:t,styleSheetFile:a,importSource:s.importSource??"@cssxio/cssx",manifestPath:i,development:C,cssx:d,...m?{developmentHmr:m}:{},...s.mdx?{mdx:s.mdx}:{}},h=n.webpack;n.webpack=(o,P)=>{let c=h?h(o,P):o;if(typeof c.then=="function")throw new Error("withCSSX requires a synchronous Next.js webpack callback; Next.js does not await webpack hooks.");return c.module??={rules:[]},c.module.rules??=[],c.module.rules.push({test:/\.(?:[cm]?[jt]sx?)$/,include:[t,...(e.sourceRoots??[]).map(g=>p(t,g))],enforce:"pre",use:[{loader:f,options:x}]}),c.module.rules.push({test:/\.(?:md|mdx)$/,include:[t,...(e.sourceRoots??[]).map(g=>p(t,g))],type:"javascript/auto",use:[{loader:f,options:x}]}),c};let k=n.turbopack??{},u={...k.rules??{}};for(let o of["*.js","*.jsx","*.ts","*.tsx"]){if(u[o])throw new Error(`withCSSX owns turbopack.rules["${o}"]; merge the CSSX loader into that rule explicitly.`);u[o]={loaders:[{loader:f,options:x}]}}for(let o of["*.md","*.mdx"]){if(u[o])throw new Error(`withCSSX owns turbopack.rules["${o}"]; configure MDX through the CSSX mdx option.`);u[o]={loaders:[{loader:f,options:x}],as:"*.js"}}n.turbopack={...k,rules:u};let b=Array.isArray(n.pageExtensions)?n.pageExtensions:["js","jsx","ts","tsx"];return n.pageExtensions=[...new Set([...b,"md","mdx"])],n};return typeof r=="function"?async(n,a)=>w(await r(n,a)):w(r)}var F=$;function W(r){let e=["js","jsx","ts","tsx"];return["app","src/app"].some(t=>e.some(i=>D(p(r,t,`layout.${i}`))))}function L(){return typeof l=="string"?l:void 0}export{F as default,$ as withCSSX};
@@ -13,6 +13,8 @@ interface CssxNextMdxOptions {
13
13
 
14
14
  /** Options for a CSSX bundler adapter. */
15
15
  interface CssxPluginOptions {
16
+ /** Selects development HMR output or optimized production output explicitly. */
17
+ readonly mode?: 'development' | 'production';
16
18
  /** Module specifier that identifies source files using the CSSX runtime. */
17
19
  readonly importSource?: string;
18
20
  /** Relative output path for extracted CSS. The default is `cssx.css`. */
@@ -47,6 +49,8 @@ interface CssxPluginOptions {
47
49
  };
48
50
  /** Uses source-addressed composite class names across independent compiler processes. */
49
51
  readonly stableClassNames?: boolean;
52
+ /** Selects development composite identities independent of utility literal lengths. */
53
+ readonly stableClassNameStrategy?: 'source-location' | 'module-order';
50
54
  /** Activates `dark` variants with a media query, `[data-theme=dark]`, or a `.dark` class. */
51
55
  readonly darkMode?: DarkMode;
52
56
  /** Adds browser baseline rules before generated utilities. Defaults to `true`. */