[Back] var z=(r,s)=>(s=Symbol[r])?s:Symbol.for("Symbol."+r),O=r=>{throw TypeError(r)};var w=(r,s,e)=>{if(s!=null){typeof s!="object"&&typeof s!="function"&&O("Object expected");var t,d;e&&(t=s[z("asyncDispose")]),t===void 0&&(t=s[z("dispose")],e&&(d=t)),typeof t!="function"&&O("Object not disposable"),d&&(t=function(){try{d.call(this)}catch(f){return Promise.reject(f)}}),r.push([e,t,s])}else e&&r.push([e]);return s},P=(r,s,e)=>{var t=typeof SuppressedError=="function"?SuppressedError:function(u,g,n,l){return l=Error(n),l.name="SuppressedError",l.error=u,l.suppressed=g,l},d=u=>s=e?new t(u,s,"An error was suppressed during disposal"):(e=!0,u),f=u=>{for(;u=r.pop();)try{var g=u[1]&&u[1].call(u[2]);if(u[0])return Promise.resolve(g).then(f,n=>(d(n),f()))}catch(n){d(n)}if(e)throw s};return f()};import{compile as J,env as $,Features as b,Instrumentation as _,normalizePath as U,optimize as j,toSourceMap as A}from"@tailwindcss/node";import{clearRequireCache as K}from"@tailwindcss/node/require-cache";import{Scanner as T}from"@tailwindcss/oxide";import C from"fs/promises";import h from"path";import*as D from"vite";var c=$.DEBUG,x=/[?&](?:worker|sharedworker|raw|url)\b/,M=/\?commonjs-proxy/,B=/[?&]index\=\d+\.css$/;function q(r={}){let s=[],e=null,t=new E(n=>new Map),d=!1,f=!0,u=!0;function g(n,l){let i,a;if(n){let o=D.createIdResolver(n.config,{...n.config.resolve,extensions:[".css"],mainFields:["style"],conditions:["style","development|production"],tryIndex:!1,preferRelative:!0}),p=D.createIdResolver(n.config,n.config.resolve);i=(m,v)=>o(n,m,v,!0),a=(m,v)=>p(n,m,v,!0)}else{let o=e.createResolver({...e.resolve,extensions:[".css"],mainFields:["style"],conditions:["style","development|production"],tryIndex:!1,preferRelative:!0}),p=e.createResolver(e.resolve);i=(m,v)=>o(m,v,!0,d),a=(m,v)=>p(m,v,!0,d)}return new F(l,e.root,e?.css.devSourcemap??!1,i,a)}return[{name:"@tailwindcss/vite:scan",enforce:"pre",configureServer(n){s.push(n)},async configResolved(n){e=n,d=e.build.ssr!==!1&&e.build.ssr!==void 0,r.optimize!==void 0&&(f=r.optimize!==!1),u=f&&e.build.cssMinify!==!1,typeof r.optimize=="object"&&(u=r.optimize.minify!==!1)}},{name:"@tailwindcss/vite:generate:serve",apply:"serve",enforce:"pre",transform:{filter:{id:{exclude:[/\/\.vite\//,x,M],include:[/\.css(?:\?.*)?$/,/&lang\.css/,B]}},async handler(n,l){var m=[];try{if(!V(l))return;let i=w(m,new _);c&&i.start("[@tailwindcss/vite] Generate CSS (serve)");let a=t.get(this.environment?.name??"default");let o=a.get(l);o||(o??=g(this.environment??null,l),a.set(l,o));let p=await o.generate(n,R=>this.addWatchFile(R),i);if(!p)return a.delete(l),n;c&&i.end("[@tailwindcss/vite] Generate CSS (serve)");return p}catch(v){var S=v,y=!0}finally{P(m,S,y)}}}},{name:"@tailwindcss/vite:generate:build",apply:"build",enforce:"pre",transform:{filter:{id:{exclude:[/\/\.vite\//,x,M],include:[/\.css(?:\?.*)?$/,/&lang\.css/,B]}},async handler(n,l){var m=[];try{if(!V(l))return;let i=w(m,new _);c&&i.start("[@tailwindcss/vite] Generate CSS (build)");let a=t.get(this.environment?.name??"default");let o=a.get(l);o||(o??=g(this.environment??null,l),a.set(l,o));let p=await o.generate(n,R=>this.addWatchFile(R),i);if(!p)return a.delete(l),n;c&&i.end("[@tailwindcss/vite] Generate CSS (build)");f&&(c&&i.start("[@tailwindcss/vite] Optimize CSS"),p=j(p.code,{minify:u,map:p.map}),c&&i.end("[@tailwindcss/vite] Optimize CSS"));return p}catch(v){var S=v,y=!0}finally{P(m,S,y)}}}}]}function k(r){let[s]=r.split("?",2);return h.extname(s).slice(1)}function V(r){return r.includes("/.vite/")||x.test(r)||M.test(r)?!1:k(r)==="css"||r.includes("&lang.css")||r.match(B)}function G(r){return h.resolve(r.replace(/\?.*$/,""))}var E=class extends Map{constructor(e){super();this.factory=e}get(e){let t=super.get(e);return t===void 0&&(t=this.factory(e,this),this.set(e,t)),t}},F=class{constructor(s,e,t,d,f){this.id=s;this.base=e;this.enableSourceMaps=t;this.customCssResolver=d;this.customJsResolver=f}compiler;scanner;candidates=new Set;buildDependencies=new Map;async generate(s,e,t){let d=G(this.id);function f(i){i!==d&&(/[\#\?].*\.svg$/.test(i)||e(i))}let u=this.requiresBuild(),g=h.dirname(h.resolve(d));if(!this.compiler||!this.scanner||await u){K(Array.from(this.buildDependencies.keys())),this.buildDependencies.clear(),this.addBuildDependency(G(d)),c&&t.start("Setup compiler");let i=[];this.compiler=await J(s,{from:this.enableSourceMaps?this.id:void 0,base:g,shouldRewriteUrls:!0,onDependency:o=>{f(o),i.push(this.addBuildDependency(o))},customCssResolver:this.customCssResolver,customJsResolver:this.customJsResolver}),await Promise.all(i),c&&t.end("Setup compiler"),c&&t.start("Setup scanner");let a=(this.compiler.root==="none"?[]:this.compiler.root===null?[{base:this.base,pattern:"**/*",negated:!1}]:[{...this.compiler.root,negated:!1}]).concat(this.compiler.sources);this.scanner=new T({sources:a}),c&&t.end("Setup scanner")}else for(let i of this.buildDependencies.keys())f(i);if(!(this.compiler.features&(b.AtApply|b.JsPluginCompat|b.ThemeFunction|b.Utilities)))return!1;if(this.compiler.features&b.Utilities){c&&t.start("Scan for candidates");for(let i of this.scanner.scan())this.candidates.add(i);c&&t.end("Scan for candidates")}if(this.compiler.features&b.Utilities){for(let i of this.scanner.files)f(i);for(let i of this.scanner.globs){if(i.pattern[0]==="!")continue;let a=h.relative(this.base,i.base);a[0]!=="."&&(a="./"+a),a=U(a),f(h.posix.join(a,i.pattern));let o=this.compiler.root;if(o!=="none"&&o!==null){let p=U(h.resolve(o.base,o.pattern));if(!await C.stat(p).then(v=>v.isDirectory(),()=>!1))throw new Error(`The path given to \`source(\u2026)\` must be a directory but got \`source(${p})\` instead.`)}}}c&&t.start("Build CSS");let n=this.compiler.build([...this.candidates]);c&&t.end("Build CSS"),c&&t.start("Build Source Map");let l=this.enableSourceMaps?A(this.compiler.buildSourceMap()).raw:void 0;return c&&t.end("Build Source Map"),{code:n,map:l}}async addBuildDependency(s){let e=null;try{e=(await C.stat(s)).mtimeMs}catch{}this.buildDependencies.set(s,e)}async requiresBuild(){for(let[s,e]of this.buildDependencies){if(e===null)return!0;try{if((await C.stat(s)).mtimeMs>e)return!0}catch{return!0}}return!1}};export{q as default};