shadcn 3.4.1 → 3.4.2

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.
@@ -24,11 +24,11 @@ ${t.errors.map(n=>` - ${n.path.join(".")}: ${n.message}`).join(`
24
24
  `),n+`
25
25
  `):n&&!n.endsWith(`
26
26
  `)?n+`
27
- `:n}var v={error(...e){console.log(k.error(e.join(" ")));},warn(...e){console.log(k.warn(e.join(" ")));},info(...e){console.log(k.info(e.join(" ")));},success(...e){console.log(k.success(e.join(" ")));},log(...e){console.log(e.join(" "));},break(){console.log("");}};function Y(e,t){return Sr({text:e,isSilent:t?.silent})}var Ne=async({sourceFile:e,config:t,baseColor:r})=>(t.tailwind?.cssVariables||!r?.inlineColors||e.getDescendantsOfKind(SyntaxKind.StringLiteral).forEach(s=>{let n=s.getLiteralText(),i=Tr(n,r.inlineColors).trim();i!==n&&s.setLiteralValue(i);}),e);function et(e){if(!e.includes("/")&&!e.includes(":"))return [null,e,null];let t=[],[r,s]=e.split("/");if(!r.includes(":"))return [null,r,s];let n=r.split(":"),i=n.pop(),o=n.join(":");return t.push(o??null,i??null,s??null),t}var Pr=["bg-","text-","border-","ring-offset-","ring-"];function Tr(e,t){e.includes(" border ")&&(e=e.replace(" border "," border border-border "));let r=e.split(" "),s=new Set,n=new Set;for(let i of r){let[o,a,c]=et(i),p=Pr.find(d=>a?.startsWith(d));if(!p){s.has(i)||s.add(i);continue}let l=a?.replace(p,"");if(l&&l in t.light){s.add([o,`${p}${t.light[l]}`].filter(Boolean).join(":")+(c?`/${c}`:"")),n.add(["dark",o,`${p}${t.dark[l]}`].filter(Boolean).join(":")+(c?`/${c}`:""));continue}s.has(i)||s.add(i);}return [...Array.from(s),...Array.from(n)].join(" ").trim()}var De={lucide:{name:"lucide-react",package:"lucide-react",import:"lucide-react"},radix:{name:"@radix-ui/react-icons",package:"@radix-ui/react-icons",import:"@radix-ui/react-icons"}};var kt="lucide",ze=async({sourceFile:e,config:t})=>{if(!t.iconLibrary||!(t.iconLibrary in De))return e;let r=await jt(),s=kt,n=t.iconLibrary;if(s===n)return e;let i=[];for(let o of e.getImportDeclarations()??[])if(o.getModuleSpecifier()?.getText()===`"${De[kt].import}"`){for(let a of o.getNamedImports()??[]){let c=a.getName(),p=r[c]?.[n];!p||i.includes(p)||(i.push(p),a.remove(),e.getDescendantsOfKind(SyntaxKind.JsxSelfClosingElement).filter(l=>l.getTagNameNode()?.getText()===c).forEach(l=>l.getTagNameNode()?.replaceWithText(p)));}o.getNamedImports()?.length===0&&o.remove();}if(i.length>0){let o=e.addImportDeclaration({moduleSpecifier:De[n]?.import,namedImports:i.map(a=>({name:a}))});jr(e)||o.replaceWithText(o.getText().replace(";",""));}return e};function jr(e){return e.getImportDeclarations()?.[0]?.getText().endsWith(";")??false}var _e=async({sourceFile:e,config:t,isRemote:r})=>{let n=`@${t.aliases?.utils?.split("/")[0]?.slice(1)}/lib/utils`;if(![".tsx",".ts",".jsx",".js"].includes(e.getExtension()))return e;for(let i of e.getImportStringLiterals()){let o=Or(i.getLiteralValue(),t,r);if(i.setLiteralValue(o),n===o||o==="@/lib/utils"){if(!i.getFirstAncestorByKind(SyntaxKind.ImportDeclaration)?.getNamedImports().some(p=>p.getName()==="cn"))continue;i.setLiteralValue(n===o?o.replace(n,t.aliases.utils):t.aliases.utils);}}return e};function Or(e,t,r=false){if(!e.startsWith("@/")&&!r)return e;if(r&&e.startsWith("@/")&&(e=e.replace(/^@\//,"@/registry/new-york/")),!e.startsWith("@/registry/")){let s=t.aliases.components.split("/")[0];return e.replace(/^@\//,`${s}/`)}return e.match(/^@\/registry\/(.+)\/ui/)?e.replace(/^@\/registry\/(.+)\/ui/,t.aliases.ui??`${t.aliases.components}/ui`):t.aliases.components&&e.match(/^@\/registry\/(.+)\/components/)?e.replace(/^@\/registry\/(.+)\/components/,t.aliases.components):t.aliases.lib&&e.match(/^@\/registry\/(.+)\/lib/)?e.replace(/^@\/registry\/(.+)\/lib/,t.aliases.lib):t.aliases.hooks&&e.match(/^@\/registry\/(.+)\/hooks/)?e.replace(/^@\/registry\/(.+)\/hooks/,t.aliases.hooks):e.replace(/^@\/registry\/[^/]+/,t.aliases.components)}var Nr={sourceType:"module",allowImportExportEverywhere:true,allowReturnOutsideFunction:true,startLine:1,tokens:true,plugins:["asyncGenerators","bigInt","classPrivateMethods","classPrivateProperties","classProperties","classStaticBlock","decimal","decorators-legacy","doExpressions","dynamicImport","exportDefaultFrom","exportNamespaceFrom","functionBind","functionSent","importAssertions","importMeta","nullishCoalescingOperator","numericSeparator","objectRestSpread","optionalCatchBinding","optionalChaining",["pipelineOperator",{proposal:"minimal"}],["recordAndTuple",{syntaxType:"hash"}],"throwExpressions","topLevelAwait","v8intrinsic","typescript","jsx"]},$t=async({sourceFile:e,config:t})=>{let r=e.getFullText();if(t.tsx)return r;let s=Ke.parse(r,{parser:{parse:i=>parse(i,Nr)}}),n=transformFromAstSync(s,r,{cloneInputAst:false,code:false,ast:true,plugins:[Lr],configFile:false});if(!n||!n.ast)throw new Error("Failed to transform JSX");return Ke.print(n.ast).code};var zr=/^["']use client["']$/g,Ve=async({sourceFile:e,config:t})=>{if(t.rsc)return e;let r=e.getFirstChildByKind(SyntaxKind.ExpressionStatement);return r&&zr.test(r.getText())&&r.remove(),e};var We=async({sourceFile:e,config:t})=>{if(!t.tailwind?.prefix)return e;let r=await Le(t);return e.getDescendantsOfKind(SyntaxKind.CallExpression).filter(s=>s.getExpression().getText()==="cva").forEach(s=>{if(s.getArguments()[0]?.isKind(SyntaxKind.StringLiteral)){let n=s.getArguments()[0];n&&n.replaceWithText(`"${U(n.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}s.getArguments()[1]?.isKind(SyntaxKind.ObjectLiteralExpression)&&s.getArguments()[1]?.getDescendantsOfKind(SyntaxKind.PropertyAssignment).find(n=>n.getName()==="variants")?.getDescendantsOfKind(SyntaxKind.PropertyAssignment).forEach(n=>{n.getDescendantsOfKind(SyntaxKind.PropertyAssignment).forEach(i=>{let o=i.getInitializerIfKind(SyntaxKind.StringLiteral);o&&o?.replaceWithText(`"${U(o.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);});});}),e.getDescendantsOfKind(SyntaxKind.JsxAttribute).forEach(s=>{if(s.getNameNode().getText()==="className"){if(s.getInitializer()?.isKind(SyntaxKind.StringLiteral)){let n=s.getInitializer();n&&n.replaceWithText(`"${U(n.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}if(s.getInitializer()?.isKind(SyntaxKind.JsxExpression)){let n=s.getInitializer()?.getDescendantsOfKind(SyntaxKind.CallExpression).find(i=>i.getExpression().getText()==="cn");n&&n.getArguments().forEach(i=>{(i.isKind(SyntaxKind.ConditionalExpression)||i.isKind(SyntaxKind.BinaryExpression))&&i.getChildrenOfKind(SyntaxKind.StringLiteral).forEach(o=>{o.replaceWithText(`"${U(o.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}),i.isKind(SyntaxKind.StringLiteral)&&i.replaceWithText(`"${U(i.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);});}}s.getNameNode().getText()==="classNames"&&s.getInitializer()?.isKind(SyntaxKind.JsxExpression)&&s.getDescendantsOfKind(SyntaxKind.PropertyAssignment).forEach(n=>{if(n.getInitializer()?.isKind(SyntaxKind.CallExpression)){let i=n.getInitializerIfKind(SyntaxKind.CallExpression);i&&i.getArguments().forEach(o=>{o.isKind(SyntaxKind.ConditionalExpression)&&o.getChildrenOfKind(SyntaxKind.StringLiteral).forEach(a=>{a.replaceWithText(`"${U(a.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}),o.isKind(SyntaxKind.StringLiteral)&&o.replaceWithText(`"${U(o.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);});}if(n.getInitializer()?.isKind(SyntaxKind.StringLiteral)&&n.getNameNode().getText()!=="variant"){let i=n.getInitializer();i&&i.replaceWithText(`"${U(i.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}});}),e};function U(e,t="",r){return r==="v3"?e.split(" ").map(s=>{let[n,i,o]=et(s);return n?o?`${n}:${t}${i}/${o}`:`${n}:${t}${i}`:o?`${t}${i}/${o}`:`${t}${i}`}).join(" "):e.split(" ").map(s=>s.indexOf(`${t}:`)===0?s:`${t}:${s.trim()}`).join(" ")}var Ur=new Project({compilerOptions:{}});async function Mr(e){let t=await promises.mkdtemp(y__default.join(tmpdir(),"shadcn-"));return y__default.join(t,e)}async function At(e,t=[_e,Ve,Ne,We,ze]){let r=await Mr(e.filename),s=Ur.createSourceFile(r,e.raw,{scriptKind:ScriptKind.TSX});for(let n of t)await n({sourceFile:s,...e});return e.transformJsx?await $t({sourceFile:s,...e}):s.getText()}async function Qi(e,t,r){if(!e?.length)return {filesCreated:[],filesUpdated:[],filesSkipped:[]};r={overwrite:false,force:false,silent:false,isRemote:false,isWorkspace:false,...r};let s=Y("Updating files.",{silent:r.silent})?.start(),[n,i]=await Promise.all([V(t.resolvedPaths.cwd),t.tailwind.baseColor?Ue(t.tailwind.baseColor):Promise.resolve(void 0)]),o=[],a=[],c=[],p=[],l=null;for(let h=0;h<e.length;h++){let w=e[h];if(!w.content)continue;let m=tt(w,t,{isSrcDir:n?.isSrcDir,framework:n?.framework.name,commonRoot:rt(e.map(C=>C.path),w.path),path:r.path,fileIndex:h});if(!m)continue;let u=basename(w.path),E=y__default.dirname(m);if(t.tsx||(m=m.replace(/\.tsx?$/,C=>C===".tsx"?".jsx":".js")),J(m)&&!existsSync(m)){let C=bt(E);C&&(m=C);}let I=existsSync(m);if(I&&statSync(m).isDirectory())throw new Error(`Cannot write to ${m}: path exists and is a directory. Please provide a file path instead.`);let R=J(m)?w.content:await At({filename:w.path,raw:w.content,config:t,baseColor:i,transformJsx:!t.tsx,isRemote:r.isRemote},[_e,Ve,Ne,We,ze]);if(I&&!J(m)){let C=await promises.readFile(m,"utf-8");if(It(C,R,{ignoreImports:r.isWorkspace})){c.push(y__default.relative(t.resolvedPaths.cwd,m));continue}}if(I&&!r.overwrite&&!J(m)){s.stop(),r.rootSpinner&&r.rootSpinner.stop();let{overwrite:C}=await Gr({type:"confirm",name:"overwrite",message:`The file ${k.info(u)} already exists. Would you like to overwrite?`,initial:false});if(!C){c.push(y__default.relative(t.resolvedPaths.cwd,m)),r.rootSpinner&&r.rootSpinner.start();continue}s?.start(),r.rootSpinner&&r.rootSpinner.start();}if(existsSync(E)||await promises.mkdir(E,{recursive:true}),J(m)&&I){let C=await promises.readFile(m,"utf-8"),T=Tt(C,R);if(p=Pt(C,R),l=y__default.relative(t.resolvedPaths.cwd,m),!p.length){c.push(y__default.relative(t.resolvedPaths.cwd,m));continue}await promises.writeFile(m,T,"utf-8"),a.push(y__default.relative(t.resolvedPaths.cwd,m));continue}await promises.writeFile(m,R,"utf-8"),I?a.push(y__default.relative(t.resolvedPaths.cwd,m)):(o.push(y__default.relative(t.resolvedPaths.cwd,m)),J(m)&&(p=Object.keys(re(R)),l=y__default.relative(t.resolvedPaths.cwd,m)));}let d=[...o,...a,...c],f=await es(d,t);if(a.push(...f),a=a.filter(h=>!o.includes(h)),!(o.length||a.length)&&!c.length&&s?.info("No files updated."),o=Array.from(new Set(o)),a=Array.from(new Set(a)),c=Array.from(new Set(c)),o.length){if(s?.succeed(`Created ${o.length} ${o.length===1?"file":"files"}:`),!r.silent)for(let h of o)v.log(` - ${h}`);}else s?.stop();if(a.length&&(Y(`Updated ${a.length} ${a.length===1?"file":"files"}:`,{silent:r.silent})?.info(),!r.silent))for(let h of a)v.log(` - ${h}`);if(c.length&&(Y(`Skipped ${c.length} ${a.length===1?"file":"files"}: (files might be identical, use --overwrite to overwrite)`,{silent:r.silent})?.info(),!r.silent))for(let h of c)v.log(` - ${h}`);if(p.length&&l&&(Y(`Added the following variables to ${k.info(l)}:`)?.info(),!r.silent))for(let h of p)v.log(` ${k.success("+")} ${h}`);return r.silent||v.break(),{filesCreated:o,filesUpdated:a,filesSkipped:c}}function tt(e,t,r){if(r.path){let i=y__default.isAbsolute(r.path)?r.path:y__default.join(t.resolvedPaths.cwd,r.path);if(/\.[^/\\]+$/.test(i)){if(r.fileIndex===0)return i}else {let a=y__default.basename(e.path);return y__default.join(i,a)}}if(e.target){if(e.target.startsWith("~/"))return y__default.join(t.resolvedPaths.cwd,e.target.replace("~/",""));let i=e.target;return e.type==="registry:page"&&(i=Xr(i,r.framework),!i)?"":r.isSrcDir?y__default.join(t.resolvedPaths.cwd,"src",i.replace("src/","")):y__default.join(t.resolvedPaths.cwd,i.replace("src/",""))}let s=Zr(e,t),n=Qr(e.path,s);return y__default.join(s,n)}function Zr(e,t){return e.type==="registry:ui"?t.resolvedPaths.ui:e.type==="registry:lib"?t.resolvedPaths.lib:e.type==="registry:block"||e.type==="registry:component"?t.resolvedPaths.components:e.type==="registry:hook"?t.resolvedPaths.hooks:t.resolvedPaths.components}function rt(e,t){let r=e.map(o=>o.replace(/^\//,"")),s=t.replace(/^\//,""),n=s.split("/").slice(0,-1).join("/");if(!n)return "";let i=n.split("/");for(let o=i.length;o>0;o--){let a=i.slice(0,o).join("/");if(r.some(p=>p!==s&&p.startsWith(a+"/")))return "/"+a}return "/"+n}function Qr(e,t){let r=e.replace(/^\/|\/$/g,""),s=t.replace(/^\/|\/$/g,""),n=r.split("/"),i=s.split("/"),o=i[i.length-1],a=n.findIndex(c=>c===o);return a===-1?n[n.length-1]:n.slice(a+1).join("/")}function Xr(e,t){if(!t)return "";if(t==="next-app")return e;if(t==="next-pages"){let r=e.replace(/^app\//,"pages/");return r=r.replace(/\/page(\.[jt]sx?)$/,"$1"),r}if(t==="react-router"){let r=e.replace(/^app\//,"app/routes/");return r=r.replace(/\/page(\.[jt]sx?)$/,"$1"),r}if(t==="laravel"){let r=e.replace(/^app\//,"resources/js/pages/");return r=r.replace(/\/page(\.[jt]sx?)$/,"$1"),r}return ""}async function es(e,t){let r=new Project({compilerOptions:{}}),s=await V(t.resolvedPaths.cwd),n=loadConfig(t.resolvedPaths.cwd),i=[];if(!s||n.resultType==="failed")return [];for(let o of e){let a=y__default.resolve(t.resolvedPaths.cwd,o);if(!existsSync(a))continue;let c=await promises.readFile(a,"utf-8"),p=await promises.mkdtemp(y__default.join(tmpdir(),"shadcn-")),l=r.createSourceFile(y__default.join(p,basename(a)),c,{scriptKind:ScriptKind.TSX});if(![".tsx",".ts",".jsx",".js"].includes(l.getExtension()))continue;let d=l.getImportDeclarations();for(let f of d){let x=f.getModuleSpecifierValue();if(s?.aliasPrefix&&!x.startsWith(`${s.aliasPrefix}/`))continue;let h=await A(x,n);if(!h)continue;let w=ts(h,e,t);if(!w)continue;let m=rs(w,t,s);!m||m===x||(f.setModuleSpecifier(m),await promises.writeFile(a,l.getFullText(),"utf-8"),i.push(o));}}return i}function ts(e,t,r,s=[".tsx",".ts",".js",".jsx",".css"]){let n=y__default.normalize(r.resolvedPaths.cwd),i=t.map(m=>m.split(y__default.sep).join(y__default.posix.sep)),o=new Set(i),a=y__default.extname(e),c=a!=="",p=c?e.slice(0,-a.length):e,d=y__default.relative(n,p).split(y__default.sep).join(y__default.posix.sep),f=c?[a]:s,x=new Set;for(let m of f){let u=p+m,E=y__default.posix.normalize(y__default.relative(n,u));(o.has(E)||existsSync(u))&&x.add(E);let I=y__default.join(p,`index${m}`),R=y__default.posix.normalize(y__default.relative(n,I));(o.has(R)||existsSync(I))&&x.add(R);}let h=y__default.basename(p);for(let m of i)f.some(u=>m.endsWith(`/${h}${u}`))&&x.add(m);return x.size===0?null:Array.from(x).sort((m,u)=>{let E=y__default.posix.extname(m),I=y__default.posix.extname(u),R=f.indexOf(E)-f.indexOf(I);if(R!==0)return R;let C=d&&m.startsWith(d)?-1:1,T=d&&u.startsWith(d)?-1:1;return C-T})[0]}function rs(e,t,r){let s=y__default.normalize(y__default.join(t.resolvedPaths.cwd,e)),n=Object.entries(t.resolvedPaths).filter(([,h])=>h&&s.startsWith(y__default.normalize(h+y__default.sep))).sort((h,w)=>w[1].length-h[1].length);if(n.length===0)return null;let[i,o]=n[0],a=y__default.relative(o,s);a=a.split(y__default.sep).join("/");let c=y__default.posix.extname(a),l=[".ts",".tsx",".js",".jsx"].includes(c)?"":c,d=a.slice(0,a.length-c.length);d.endsWith("/index")&&(d=d.slice(0,-6));let f=i==="cwd"?r.aliasPrefix:t.aliases[i];if(!f)return null;let x=d===""?"":`/${d}`;return x=x.replace("/src",""),`${f}${x}${l}`}var Nt=[".tsx",".ts",".jsx",".js",".css"],Dt=["lib/utils.ts"],as=[/^(react|react-dom|next)(\/.*)?$/,/^(node|jsr|npm):.*$/],ls=new Project({compilerOptions:{}});function cs(e){if(as.some(t=>t.test(e)))return null;if(!e.startsWith("@")&&e.includes("/")&&(e=e.split("/")[0]),e.startsWith("@")){let t=e.split("/");t.length>2&&(e=t.slice(0,2).join("/"));}return e}async function ps(e,t,r,s=new Set){let n=y.resolve(t.resolvedPaths.cwd,e),i=y.relative(t.resolvedPaths.cwd,n);if(Dt.includes(i))return {dependencies:[],files:[]};let o=y.extname(e);if(!Nt.includes(o))return {dependencies:[],files:[]};if(s.has(i))return {dependencies:[],files:[]};if(s.add(i),!(await B.stat(n)).isFile())return {dependencies:[],files:[]};let c=await B.readFile(n,"utf-8"),p=await fs(y.basename(n)),l=ls.createSourceFile(p,c,{scriptKind:ScriptKind.TSX}),d=await loadConfig(t.resolvedPaths.cwd);if(d.resultType==="failed")return {dependencies:[],files:[]};let f=[],x=new Set,h=zt(e),w={path:i,type:h,target:""};f.push(w);let m=l.getImportDeclarations();for(let E of m){let I=E.getModuleSpecifierValue(),R=I.startsWith(".");if(!I.startsWith(`${r.aliasPrefix}/`)&&!R){let z=cs(I);z&&x.add(z);continue}let T=await A(I,d);if(R&&(T=y.resolve(y.dirname(n),I)),!T)continue;if(!y.extname(T))for(let z of Nt){let ct=`${T}${z}`;try{await B.access(ct),T=ct;break}catch{continue}}let D=y.relative(t.resolvedPaths.cwd,T);if(s.has(D)||Dt.includes(D))continue;let le=zt(I),Ie={path:D,type:le,target:""};(le==="registry:page"||le==="registry:file")&&(Ie.target=I),f.push(Ie);let Se=await ps(D,t,r,s);if(Se.files)for(let z of Se.files)s.has(z.path)||(s.add(z.path),f.push(z));Se.dependencies&&Se.dependencies.forEach(z=>x.add(z));}let u=Array.from(new Map(f.map(E=>[E.path,E])).values());return {dependencies:Array.from(x),files:u}}async function fs(e){let t=await B.mkdtemp(y.join(tmpdir(),"shadcn-"));return y.join(t,e)}function zt(e){return e.includes("/ui/")?"registry:ui":e.includes("/lib/")?"registry:lib":e.includes("/hooks/")?"registry:hook":(e.includes("/components/"),"registry:component")}function N(e){try{return new URL(e),!0}catch{return false}}function Me(e){return e.endsWith(".json")&&!N(e)}function fo(e){return e?(e.files??[]).every(r=>!!r.target&&(r.type==="registry:file"||r.type==="registry:item")):false}async function _t(e,t){if(!ms(t))return z.array(b$1).parse(e.flat().filter(Boolean));let r=await V(t.resolvedPaths.cwd),s=new Map,n=z.array(b$1).parse(e.flat().filter(Boolean));return n.forEach(i=>{let o=tt(i,t,{isSrcDir:r?.isSrcDir,framework:r?.framework.name,commonRoot:rt(n.map(a=>a.path),i.path)});o&&s.set(o,i);}),Array.from(s.values())}function ms(e){return !!(e?.resolvedPaths?.cwd&&(e?.resolvedPaths?.ui||e?.resolvedPaths?.lib||e?.resolvedPaths?.components||e?.resolvedPaths?.hooks))}function gs(e){return e.style?e.style==="new-york"&&e.tailwind?.config===""?Pe:e.style:Pe}function ne(e){let t=Rt({style:Pe,registries:K});return e?q$1.parse(oe(t,{...e,style:gs(e),registries:{...K,...e.registries}})):t}var Be={headers:{}};function xe(e){Be.headers={...Be.headers,...e};}function Kt(e){return Be.headers[e]||{}}function we(){Be.headers={};}function us(e){let t=new Set;return typeof e=="string"?fe(e).forEach(r=>t.add(r)):(fe(e.url).forEach(r=>t.add(r)),e.params&&Object.values(e.params).forEach(r=>{fe(r).forEach(s=>t.add(s));}),e.headers&&Object.values(e.headers).forEach(r=>{fe(r).forEach(s=>t.add(s));})),Array.from(t)}function Vt(e,t){let s=us(t).filter(n=>!process.env[n]);if(s.length>0)throw new ue(e,s)}function bo(e,t){for(let r of e)ie(r,ne(t));we();}var Wt="{name}",He="{style}",Ut=/\${(\w+)}/g,Mt="?",hs="&";function ie(e,t){let{registry:r,item:s}=ee(e);if(!r)return null;let i=(t?.registries||{})[r];if(!i)throw new W(r);return Vt(r,i),{url:ys(s,i,t),headers:xs(i)}}function ys(e,t,r){if(typeof t=="string"){let n=t.replace(Wt,e);return r?.style&&n.includes(He)&&(n=n.replace(He,r.style)),pe(n)}let s=t.url.replace(Wt,e);return r?.style&&s.includes(He)&&(s=s.replace(He,r.style)),s=pe(s),t.params?ws(s,t.params):s}function xs(e){if(typeof e=="string"||!e.headers)return {};let t={};for(let[r,s]of Object.entries(e.headers)){let n=pe(s);Es(s,n)&&(t[r]=n);}return t}function ws(e,t){let r=new URLSearchParams;for(let[i,o]of Object.entries(t)){let a=pe(o);a&&r.append(i,a);}let s=r.toString();if(!s)return e;let n=e.includes(Mt)?hs:Mt;return `${e}${n}${s}`}function Es(e,t){let r=t.trim();if(!r)return false;if(e.includes("${")&&e.match(Ut)){let n=e.replace(Ut,"").trim();return r!==n}return true}function Ge(e){if(N(e)){let t=new URL(e);return t.pathname.match(/\/chat\/b\//)&&!t.pathname.endsWith("/json")&&(t.pathname=`${t.pathname}/json`),t.toString()}return `${ce}/${e}`}var Ss=process.env.https_proxy?new HttpsProxyAgent(process.env.https_proxy):void 0,st=new Map;async function j(e,t={}){t={useCache:true,...t};try{return await Promise.all(e.map(async s=>{let n=Ge(s);if(t.useCache&&st.has(n))return st.get(n);let i=(async()=>{let o=Kt(n),a=await Is(n,{agent:Ss,headers:{...o}});if(!a.ok){let c;if(a.headers.get("content-type")?.includes("application/json")){let p=await a.json(),l=z.object({detail:z.string().optional(),title:z.string().optional(),message:z.string().optional(),error:z.string().optional()}).safeParse(p);l.success&&(c=l.data.detail||l.data.message,l.data.error&&(c=`[${l.data.error}] ${c}`));}throw a.status===401?new me(n,c):a.status===404?new q(n,c):a.status===403?new de(n,c):new ge(n,a.status,c)}return a.json()})();return t.useCache&&st.set(n,i),i}))}catch(r){throw r}}async function Ht(e){try{let t=e;e.startsWith("~/")&&(t=y__default.join(homedir(),e.slice(2)));let r=y__default.resolve(t),s=await promises.readFile(r,"utf8"),n=JSON.parse(s);try{return g.parse(n)}catch(i){throw new $(e,i)}}catch(t){throw t instanceof Error&&(t.message.includes("ENOENT")||t.message.includes("no such file"))?new X(e,t):t instanceof $?t:new X(e,t)}}async function na(e,t,r){if(!e||(r={silent:false,tailwindVersion:"v3",...r},r.tailwindVersion==="v4"))return;let s=y__default.relative(t.resolvedPaths.cwd,t.resolvedPaths.tailwindConfig),n=Y(`Updating ${k.info(s)}`,{silent:r.silent}).start(),i=await promises.readFile(t.resolvedPaths.tailwindConfig,"utf8"),o=await $s(i,e,t);await promises.writeFile(t.resolvedPaths.tailwindConfig,o,"utf8"),n?.succeed();}async function $s(e,t,r){let s=await qt(e,r),n=s.getDescendantsOfKind(SyntaxKind.ObjectLiteralExpression).find(o=>o.getProperties().some(a=>a.isKind(SyntaxKind.PropertyAssignment)&&a.getName()==="content"));if(!n)return e;let i=Ls(n);return Os(n,{name:"darkMode",value:"class"},{quoteChar:i}),t.plugins?.forEach(o=>{Fs(n,o);}),t.theme&&await As(n,t.theme),s.getFullText()}function Os(e,t,{quoteChar:r}){let s=e.getProperty("darkMode");if(!s){let n={name:t.name,initializer:`[${r}${t.value}${r}]`};return t.name==="darkMode"?(e.insertPropertyAssignment(0,n),e):(e.addPropertyAssignment(n),e)}if(s.isKind(SyntaxKind.PropertyAssignment)){let n=s.getInitializer(),i=`${r}${t.value}${r}`;if(n?.isKind(SyntaxKind.StringLiteral)){let o=n.getText();return n.replaceWithText(`[${o}, ${i}]`),e}if(n?.isKind(SyntaxKind.ArrayLiteralExpression)){if(n.getElements().map(o=>o.getText()).includes(i))return e;n.addElement(i);}return e}return e}async function As(e,t){e.getProperty("theme")||e.addPropertyAssignment({name:"theme",initializer:"{}"}),it(e);let s=(e.getPropertyOrThrow("theme")?.asKindOrThrow(SyntaxKind.PropertyAssignment)).getInitializer();if(s?.isKind(SyntaxKind.ObjectLiteralExpression)){let n=s.getText(),i=await Ns(n),o=oe(i,t,{arrayMerge:(c,p)=>p}),a=Ts(o).replace(/\'\.\.\.(.*)\'/g,"...$1").replace(/\'\"/g,"'").replace(/\"\'/g,"'").replace(/\'\[/g,"[").replace(/\]\'/g,"]").replace(/\'\\\'/g,"'").replace(/\\\'/g,"'").replace(/\\\'\'/g,"'").replace(/\'\'/g,"'");s.replaceWithText(a);}ot(e);}function Fs(e,t){let r=e.getProperty("plugins");if(!r)return e.addPropertyAssignment({name:"plugins",initializer:`[${t}]`}),e;if(r.isKind(SyntaxKind.PropertyAssignment)){let s=r.getInitializer();if(s?.isKind(SyntaxKind.ArrayLiteralExpression)){if(s.getElements().map(n=>n.getText().replace(/["']/g,"")).includes(t.replace(/["']/g,"")))return e;s.addElement(t);}return e}return e}async function qt(e,t){let r=await promises.mkdtemp(y__default.join(tmpdir(),"shadcn-")),s=t?.resolvedPaths?.tailwindConfig||"tailwind.config.ts",n=y__default.join(r,`shadcn-${y__default.basename(s)}`);return new Project({compilerOptions:{}}).createSourceFile(n,e,{scriptKind:y__default.extname(s)===".ts"?ScriptKind.TS:ScriptKind.JS})}function Ls(e){return e.getFirstDescendantByKind(SyntaxKind.StringLiteral)?.getQuoteKind()===QuoteKind.Single?"'":'"'}function it(e){let t=e.getProperties();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.SpreadAssignment)){let n=s.asKindOrThrow(SyntaxKind.SpreadAssignment),i=n.getExpression().getText();e.insertPropertyAssignment(r,{name:`"___${i.replace(/^\.\.\./,"")}"`,initializer:`"...${i.replace(/^\.\.\./,"")}"`}),n.remove();}else if(s.isKind(SyntaxKind.PropertyAssignment)){let i=s.asKindOrThrow(SyntaxKind.PropertyAssignment).getInitializer();i&&i.isKind(SyntaxKind.ObjectLiteralExpression)?it(i.asKindOrThrow(SyntaxKind.ObjectLiteralExpression)):i&&i.isKind(SyntaxKind.ArrayLiteralExpression)&&Jt(i.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));}}}function Jt(e){let t=e.getElements();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.ObjectLiteralExpression))it(s.asKindOrThrow(SyntaxKind.ObjectLiteralExpression));else if(s.isKind(SyntaxKind.ArrayLiteralExpression))Jt(s.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));else if(s.isKind(SyntaxKind.SpreadElement)){let n=s.getText();e.removeElement(r),e.insertElement(r,`"${n}"`);}}}function ot(e){let t=e.getProperties();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.PropertyAssignment)){let n=s,i=n.getInitializer();if(i&&i.isKind(SyntaxKind.StringLiteral)){let o=i.asKindOrThrow(SyntaxKind.StringLiteral).getLiteralValue();o.startsWith("...")&&(e.insertSpreadAssignment(r,{expression:o.slice(3)}),n.remove());}else i?.isKind(SyntaxKind.ObjectLiteralExpression)?ot(i):i&&i.isKind(SyntaxKind.ArrayLiteralExpression)&&Yt(i.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));}}}function Yt(e){let t=e.getElements();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.ObjectLiteralExpression))ot(s.asKindOrThrow(SyntaxKind.ObjectLiteralExpression));else if(s.isKind(SyntaxKind.ArrayLiteralExpression))Yt(s.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));else if(s.isKind(SyntaxKind.StringLiteral)){let n=s.getText(),i=/(?:^['"])(\.\.\..*)(?:['"]$)/g;i.test(n)&&(e.removeElement(r),e.insertElement(r,n.replace(i,"$1")));}}}async function Ns(e){let r=(await qt(`const theme = ${e}`,null)).getStatements()[0];if(r?.getKind()===SyntaxKind.VariableStatement){let n=(r.getDeclarationList()?.getDeclarations()[0]).getInitializer();if(n?.isKind(SyntaxKind.ObjectLiteralExpression))return await qe(n)}throw new Error("Invalid input: not an object literal")}function qe(e){let t={};for(let r of e.getProperties())if(r.isKind(SyntaxKind.PropertyAssignment)){let s=r.getName().replace(/\'/g,"");r.getInitializer()?.isKind(SyntaxKind.ObjectLiteralExpression)?t[s]=qe(r.getInitializer()):r.getInitializer()?.isKind(SyntaxKind.ArrayLiteralExpression)?t[s]=Zt(r.getInitializer()):t[s]=at(r.getInitializer());}return t}function Zt(e){let t=[];for(let r of e.getElements())r.isKind(SyntaxKind.ObjectLiteralExpression)?t.push(qe(r.asKindOrThrow(SyntaxKind.ObjectLiteralExpression))):r.isKind(SyntaxKind.ArrayLiteralExpression)?t.push(Zt(r.asKindOrThrow(SyntaxKind.ArrayLiteralExpression))):t.push(at(r));return t}function at(e){switch(e.getKind()){case SyntaxKind.StringLiteral:return e.getText();case SyntaxKind.NumericLiteral:return Number(e.getText());case SyntaxKind.TrueKeyword:return true;case SyntaxKind.FalseKeyword:return false;case SyntaxKind.NullKeyword:return null;case SyntaxKind.ArrayLiteralExpression:return e.getElements().map(at);case SyntaxKind.ObjectLiteralExpression:return qe(e);default:return e.getText()}}function Qt(e){let t={};for(let r of Object.keys(e)){let s=r.split("-"),n=s[0],i=s.slice(1).join("-");i===""?typeof t[n]=="object"?t[n].DEFAULT=`hsl(var(--${r}))`:t[n]=`hsl(var(--${r}))`:(typeof t[n]!="object"&&(t[n]={DEFAULT:`hsl(var(--${n}))`}),t[n][i]=`hsl(var(--${r}))`);}for(let[r,s]of Object.entries(t))typeof s=="object"&&s.DEFAULT===`hsl(var(--${r}))`&&!(r in e)&&delete s.DEFAULT;return t}function Re(e,t){let r={},s=[...e];if(!t?.registries)return xe({}),s;for(let n=0;n<s.length;n++){let i=ie(s[n],t);i&&(s[n]=i.url,Object.keys(i.headers).length>0&&(r[i.url]=i.headers));}return xe(r),s}async function Z(e,t,r={}){return await Promise.all(e.map(async n=>{if(Me(n))return Ht(n);if(N(n)){let[a]=await j([n],r);try{return g.parse(a)}catch(c){throw new $(n,c)}}if(n.startsWith("@")&&t?.registries){let a=Re([n],t),[c]=await j(a,r);try{return g.parse(c)}catch(p){throw new $(n,p)}}let i=`styles/${t?.style??"new-york-v4"}/${n}.json`,[o]=await j([i],r);try{return g.parse(o)}catch(a){throw new $(n,a)}}))}g.extend({_source:z.string().optional()});async function tr(e,t,r={}){r={useCache:true,...r};let s=[],n=[],i=[],o=Array.from(new Set(e)),a=await Z(o,t,r),c=new Map;for(let u=0;u<a.length;u++)a[u]&&c.set(o[u],a[u]);for(let[u,E]of Array.from(c.entries())){let I={...E,_source:u};if(s.push(I),E.registryDependencies){let R=E.registryDependencies;if(t?.registries)R=Re(E.registryDependencies,t);else {let G=E.registryDependencies.filter(D=>D.startsWith("@"));if(G.length>0){let{registry:D}=ee(G[0]);throw new W(D)}}let{items:C,registryNames:T}=await Ce(R,t,r,new Set(o));n.push(...C),i.push(...T);}}if(s.push(...n),i.length>0){let u=Array.from(new Set(i)),E=u.filter(R=>!R.startsWith("@")),I=u.filter(R=>R.startsWith("@"));if(I.length>0){let R=await Z(I,t,r);for(let C=0;C<R.length;C++){let G={...R[C],_source:I[C]};s.push(G);}}if(E.length>0){let R=await rr();if(!R&&s.length===0)return null;if(R){E.includes("index")&&E.unshift("index");let C=[];for(let le of E){let Ie=await zs(le,t,r);C.push(...Ie);}let T=Array.from(new Set(C)),G=await j(T,r),D=z.array(g).parse(G);s.push(...D);}}}if(!s.length)return null;if((o.includes("index")||i.includes("index"))&&t.tailwind.baseColor){let u=await _s(t.tailwind.baseColor,t);u&&s.unshift(u);}let p=new Map;s.forEach(u=>{let E=u._source||u.name;p.set(u,E);}),s=Vs(s,p),s.sort((u,E)=>u.type==="registry:theme"&&E.type!=="registry:theme"?-1:u.type!=="registry:theme"&&E.type==="registry:theme"?1:0);let l={};s.forEach(u=>{l=oe(l,u.tailwind??{});});let d={};s.forEach(u=>{d=oe(d,u.cssVars??{});});let f={};s.forEach(u=>{f=oe(f,u.css??{});});let x="";s.forEach(u=>{u.docs&&(x+=`${u.docs}
27
+ `:n}var v={error(...e){console.log(k.error(e.join(" ")));},warn(...e){console.log(k.warn(e.join(" ")));},info(...e){console.log(k.info(e.join(" ")));},success(...e){console.log(k.success(e.join(" ")));},log(...e){console.log(e.join(" "));},break(){console.log("");}};function Y(e,t){return Sr({text:e,isSilent:t?.silent})}var Ne=async({sourceFile:e,config:t,baseColor:r})=>(t.tailwind?.cssVariables||!r?.inlineColors||e.getDescendantsOfKind(SyntaxKind.StringLiteral).forEach(s=>{let n=s.getLiteralText(),i=Tr(n,r.inlineColors).trim();i!==n&&s.setLiteralValue(i);}),e);function et(e){if(!e.includes("/")&&!e.includes(":"))return [null,e,null];let t=[],[r,s]=e.split("/");if(!r.includes(":"))return [null,r,s];let n=r.split(":"),i=n.pop(),o=n.join(":");return t.push(o??null,i??null,s??null),t}var Pr=["bg-","text-","border-","ring-offset-","ring-"];function Tr(e,t){e.includes(" border ")&&(e=e.replace(" border "," border border-border "));let r=e.split(" "),s=new Set,n=new Set;for(let i of r){let[o,a,c]=et(i),p=Pr.find(d=>a?.startsWith(d));if(!p){s.has(i)||s.add(i);continue}let l=a?.replace(p,"");if(l&&l in t.light){s.add([o,`${p}${t.light[l]}`].filter(Boolean).join(":")+(c?`/${c}`:"")),n.add(["dark",o,`${p}${t.dark[l]}`].filter(Boolean).join(":")+(c?`/${c}`:""));continue}s.has(i)||s.add(i);}return [...Array.from(s),...Array.from(n)].join(" ").trim()}var De={lucide:{name:"lucide-react",package:"lucide-react",import:"lucide-react"},radix:{name:"@radix-ui/react-icons",package:"@radix-ui/react-icons",import:"@radix-ui/react-icons"}};var kt="lucide",ze=async({sourceFile:e,config:t})=>{if(!t.iconLibrary||!(t.iconLibrary in De))return e;let r=await jt(),s=kt,n=t.iconLibrary;if(s===n)return e;let i=[];for(let o of e.getImportDeclarations()??[])if(o.getModuleSpecifier()?.getText()===`"${De[kt].import}"`){for(let a of o.getNamedImports()??[]){let c=a.getName(),p=r[c]?.[n];!p||i.includes(p)||(i.push(p),a.remove(),e.getDescendantsOfKind(SyntaxKind.JsxSelfClosingElement).filter(l=>l.getTagNameNode()?.getText()===c).forEach(l=>l.getTagNameNode()?.replaceWithText(p)));}o.getNamedImports()?.length===0&&o.remove();}if(i.length>0){let o=e.addImportDeclaration({moduleSpecifier:De[n]?.import,namedImports:i.map(a=>({name:a}))});jr(e)||o.replaceWithText(o.getText().replace(";",""));}return e};function jr(e){return e.getImportDeclarations()?.[0]?.getText().endsWith(";")??false}var _e=async({sourceFile:e,config:t,isRemote:r})=>{let n=`@${t.aliases?.utils?.split("/")[0]?.slice(1)}/lib/utils`;if(![".tsx",".ts",".jsx",".js"].includes(e.getExtension()))return e;for(let i of e.getImportStringLiterals()){let o=Or(i.getLiteralValue(),t,r);if(i.setLiteralValue(o),n===o||o==="@/lib/utils"){if(!i.getFirstAncestorByKind(SyntaxKind.ImportDeclaration)?.getNamedImports().some(p=>p.getName()==="cn"))continue;i.setLiteralValue(n===o?o.replace(n,t.aliases.utils):t.aliases.utils);}}return e};function Or(e,t,r=false){if(!e.startsWith("@/")&&!r)return e;if(r&&e.startsWith("@/")&&(e=e.replace(/^@\//,"@/registry/new-york/")),!e.startsWith("@/registry/")){let s=t.aliases.components.split("/")[0];return e.replace(/^@\//,`${s}/`)}return e.match(/^@\/registry\/(.+)\/ui/)?e.replace(/^@\/registry\/(.+)\/ui/,t.aliases.ui??`${t.aliases.components}/ui`):t.aliases.components&&e.match(/^@\/registry\/(.+)\/components/)?e.replace(/^@\/registry\/(.+)\/components/,t.aliases.components):t.aliases.lib&&e.match(/^@\/registry\/(.+)\/lib/)?e.replace(/^@\/registry\/(.+)\/lib/,t.aliases.lib):t.aliases.hooks&&e.match(/^@\/registry\/(.+)\/hooks/)?e.replace(/^@\/registry\/(.+)\/hooks/,t.aliases.hooks):e.replace(/^@\/registry\/[^/]+/,t.aliases.components)}var Nr={sourceType:"module",allowImportExportEverywhere:true,allowReturnOutsideFunction:true,startLine:1,tokens:true,plugins:["asyncGenerators","bigInt","classPrivateMethods","classPrivateProperties","classProperties","classStaticBlock","decimal","decorators-legacy","doExpressions","dynamicImport","exportDefaultFrom","exportNamespaceFrom","functionBind","functionSent","importAssertions","importMeta","nullishCoalescingOperator","numericSeparator","objectRestSpread","optionalCatchBinding","optionalChaining",["pipelineOperator",{proposal:"minimal"}],["recordAndTuple",{syntaxType:"hash"}],"throwExpressions","topLevelAwait","v8intrinsic","typescript","jsx"]},$t=async({sourceFile:e,config:t})=>{let r=e.getFullText();if(t.tsx)return r;let s=Ke.parse(r,{parser:{parse:i=>parse(i,Nr)}}),n=transformFromAstSync(s,r,{cloneInputAst:false,code:false,ast:true,plugins:[Lr],configFile:false});if(!n||!n.ast)throw new Error("Failed to transform JSX");return Ke.print(n.ast).code};var zr=/^["']use client["']$/g,Ve=async({sourceFile:e,config:t})=>{if(t.rsc)return e;let r=e.getFirstChildByKind(SyntaxKind.ExpressionStatement);return r&&zr.test(r.getText())&&r.remove(),e};var We=async({sourceFile:e,config:t})=>{if(!t.tailwind?.prefix)return e;let r=await Le(t);return e.getDescendantsOfKind(SyntaxKind.CallExpression).filter(s=>s.getExpression().getText()==="cva").forEach(s=>{if(s.getArguments()[0]?.isKind(SyntaxKind.StringLiteral)){let n=s.getArguments()[0];n&&n.replaceWithText(`"${U(n.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}s.getArguments()[1]?.isKind(SyntaxKind.ObjectLiteralExpression)&&s.getArguments()[1]?.getDescendantsOfKind(SyntaxKind.PropertyAssignment).find(n=>n.getName()==="variants")?.getDescendantsOfKind(SyntaxKind.PropertyAssignment).forEach(n=>{n.getDescendantsOfKind(SyntaxKind.PropertyAssignment).forEach(i=>{let o=i.getInitializerIfKind(SyntaxKind.StringLiteral);o&&o?.replaceWithText(`"${U(o.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);});});}),e.getDescendantsOfKind(SyntaxKind.JsxAttribute).forEach(s=>{if(s.getNameNode().getText()==="className"){if(s.getInitializer()?.isKind(SyntaxKind.StringLiteral)){let n=s.getInitializer();n&&n.replaceWithText(`"${U(n.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}if(s.getInitializer()?.isKind(SyntaxKind.JsxExpression)){let n=s.getInitializer()?.getDescendantsOfKind(SyntaxKind.CallExpression).find(i=>i.getExpression().getText()==="cn");n&&n.getArguments().forEach(i=>{(i.isKind(SyntaxKind.ConditionalExpression)||i.isKind(SyntaxKind.BinaryExpression))&&i.getChildrenOfKind(SyntaxKind.StringLiteral).forEach(o=>{o.replaceWithText(`"${U(o.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}),i.isKind(SyntaxKind.StringLiteral)&&i.replaceWithText(`"${U(i.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);});}}s.getNameNode().getText()==="classNames"&&s.getInitializer()?.isKind(SyntaxKind.JsxExpression)&&s.getDescendantsOfKind(SyntaxKind.PropertyAssignment).forEach(n=>{if(n.getInitializer()?.isKind(SyntaxKind.CallExpression)){let i=n.getInitializerIfKind(SyntaxKind.CallExpression);i&&i.getArguments().forEach(o=>{o.isKind(SyntaxKind.ConditionalExpression)&&o.getChildrenOfKind(SyntaxKind.StringLiteral).forEach(a=>{a.replaceWithText(`"${U(a.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}),o.isKind(SyntaxKind.StringLiteral)&&o.replaceWithText(`"${U(o.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);});}if(n.getInitializer()?.isKind(SyntaxKind.StringLiteral)&&n.getNameNode().getText()!=="variant"){let i=n.getInitializer();i&&i.replaceWithText(`"${U(i.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}});}),e};function U(e,t="",r){return r==="v3"?e.split(" ").map(s=>{let[n,i,o]=et(s);return n?o?`${n}:${t}${i}/${o}`:`${n}:${t}${i}`:o?`${t}${i}/${o}`:`${t}${i}`}).join(" "):e.split(" ").map(s=>s.indexOf(`${t}:`)===0?s:`${t}:${s.trim()}`).join(" ")}var Ur=new Project({compilerOptions:{}});async function Mr(e){let t=await promises.mkdtemp(y__default.join(tmpdir(),"shadcn-"));return y__default.join(t,e)}async function At(e,t=[_e,Ve,Ne,We,ze]){let r=await Mr(e.filename),s=Ur.createSourceFile(r,e.raw,{scriptKind:ScriptKind.TSX});for(let n of t)await n({sourceFile:s,...e});return e.transformJsx?await $t({sourceFile:s,...e}):s.getText()}async function Qi(e,t,r){if(!e?.length)return {filesCreated:[],filesUpdated:[],filesSkipped:[]};r={overwrite:false,force:false,silent:false,isRemote:false,isWorkspace:false,...r};let s=Y("Updating files.",{silent:r.silent})?.start(),[n,i]=await Promise.all([V(t.resolvedPaths.cwd),t.tailwind.baseColor?Ue(t.tailwind.baseColor):Promise.resolve(void 0)]),o=[],a=[],c=[],p=[],l=null;for(let h=0;h<e.length;h++){let w=e[h];if(!w.content)continue;let m=tt(w,t,{isSrcDir:n?.isSrcDir,framework:n?.framework.name,commonRoot:rt(e.map(C=>C.path),w.path),path:r.path,fileIndex:h});if(!m)continue;let u=basename(w.path),E=y__default.dirname(m);if(t.tsx||(m=m.replace(/\.tsx?$/,C=>C===".tsx"?".jsx":".js")),J(m)&&!existsSync(m)){let C=bt(E);C&&(m=C);}let I=existsSync(m);if(I&&statSync(m).isDirectory())throw new Error(`Cannot write to ${m}: path exists and is a directory. Please provide a file path instead.`);let R=J(m)?w.content:await At({filename:w.path,raw:w.content,config:t,baseColor:i,transformJsx:!t.tsx,isRemote:r.isRemote},[_e,Ve,Ne,We,ze]);if(I&&!J(m)){let C=await promises.readFile(m,"utf-8");if(It(C,R,{ignoreImports:r.isWorkspace})){c.push(y__default.relative(t.resolvedPaths.cwd,m));continue}}if(I&&!r.overwrite&&!J(m)){s.stop(),r.rootSpinner&&r.rootSpinner.stop();let{overwrite:C}=await Gr({type:"confirm",name:"overwrite",message:`The file ${k.info(u)} already exists. Would you like to overwrite?`,initial:false});if(!C){c.push(y__default.relative(t.resolvedPaths.cwd,m)),r.rootSpinner&&r.rootSpinner.start();continue}s?.start(),r.rootSpinner&&r.rootSpinner.start();}if(existsSync(E)||await promises.mkdir(E,{recursive:true}),J(m)&&I){let C=await promises.readFile(m,"utf-8"),T=Tt(C,R);if(p=Pt(C,R),l=y__default.relative(t.resolvedPaths.cwd,m),!p.length){c.push(y__default.relative(t.resolvedPaths.cwd,m));continue}await promises.writeFile(m,T,"utf-8"),a.push(y__default.relative(t.resolvedPaths.cwd,m));continue}await promises.writeFile(m,R,"utf-8"),I?a.push(y__default.relative(t.resolvedPaths.cwd,m)):(o.push(y__default.relative(t.resolvedPaths.cwd,m)),J(m)&&(p=Object.keys(re(R)),l=y__default.relative(t.resolvedPaths.cwd,m)));}let d=[...o,...a,...c],f=await es(d,t);if(a.push(...f),a=a.filter(h=>!o.includes(h)),!(o.length||a.length)&&!c.length&&s?.info("No files updated."),o=Array.from(new Set(o)),a=Array.from(new Set(a)),c=Array.from(new Set(c)),o.length){if(s?.succeed(`Created ${o.length} ${o.length===1?"file":"files"}:`),!r.silent)for(let h of o)v.log(` - ${h}`);}else s?.stop();if(a.length&&(Y(`Updated ${a.length} ${a.length===1?"file":"files"}:`,{silent:r.silent})?.info(),!r.silent))for(let h of a)v.log(` - ${h}`);if(c.length&&(Y(`Skipped ${c.length} ${a.length===1?"file":"files"}: (files might be identical, use --overwrite to overwrite)`,{silent:r.silent})?.info(),!r.silent))for(let h of c)v.log(` - ${h}`);if(p.length&&l&&(Y(`Added the following variables to ${k.info(l)}:`)?.info(),!r.silent))for(let h of p)v.log(` ${k.success("+")} ${h}`);return r.silent||v.break(),{filesCreated:o,filesUpdated:a,filesSkipped:c}}function tt(e,t,r){if(r.path){let i=y__default.isAbsolute(r.path)?r.path:y__default.join(t.resolvedPaths.cwd,r.path);if(/\.[^/\\]+$/.test(i)){if(r.fileIndex===0)return i}else {let a=y__default.basename(e.path);return y__default.join(i,a)}}if(e.target){if(e.target.startsWith("~/"))return y__default.join(t.resolvedPaths.cwd,e.target.replace("~/",""));let i=e.target;return e.type==="registry:page"&&(i=Xr(i,r.framework),!i)?"":r.isSrcDir?y__default.join(t.resolvedPaths.cwd,"src",i.replace("src/","")):y__default.join(t.resolvedPaths.cwd,i.replace("src/",""))}let s=Zr(e,t),n=Qr(e.path,s);return y__default.join(s,n)}function Zr(e,t){return e.type==="registry:ui"?t.resolvedPaths.ui:e.type==="registry:lib"?t.resolvedPaths.lib:e.type==="registry:block"||e.type==="registry:component"?t.resolvedPaths.components:e.type==="registry:hook"?t.resolvedPaths.hooks:t.resolvedPaths.components}function rt(e,t){let r=e.map(o=>o.replace(/^\//,"")),s=t.replace(/^\//,""),n=s.split("/").slice(0,-1).join("/");if(!n)return "";let i=n.split("/");for(let o=i.length;o>0;o--){let a=i.slice(0,o).join("/");if(r.some(p=>p!==s&&p.startsWith(a+"/")))return "/"+a}return "/"+n}function Qr(e,t){let r=e.replace(/^\/|\/$/g,""),s=t.replace(/^\/|\/$/g,""),n=r.split("/"),i=s.split("/"),o=i[i.length-1],a=n.findIndex(c=>c===o);return a===-1?n[n.length-1]:n.slice(a+1).join("/")}function Xr(e,t){if(!t)return "";if(t==="next-app")return e;if(t==="next-pages"){let r=e.replace(/^app\//,"pages/");return r=r.replace(/\/page(\.[jt]sx?)$/,"$1"),r}if(t==="react-router"){let r=e.replace(/^app\//,"app/routes/");return r=r.replace(/\/page(\.[jt]sx?)$/,"$1"),r}if(t==="laravel"){let r=e.replace(/^app\//,"resources/js/pages/");return r=r.replace(/\/page(\.[jt]sx?)$/,"$1"),r}return ""}async function es(e,t){let r=new Project({compilerOptions:{}}),s=await V(t.resolvedPaths.cwd),n=loadConfig(t.resolvedPaths.cwd),i=[];if(!s||n.resultType==="failed")return [];for(let o of e){let a=y__default.resolve(t.resolvedPaths.cwd,o);if(!existsSync(a))continue;let c=await promises.readFile(a,"utf-8"),p=await promises.mkdtemp(y__default.join(tmpdir(),"shadcn-")),l=r.createSourceFile(y__default.join(p,basename(a)),c,{scriptKind:ScriptKind.TSX});if(![".tsx",".ts",".jsx",".js"].includes(l.getExtension()))continue;let d=l.getImportDeclarations();for(let f of d){let x=f.getModuleSpecifierValue();if(s?.aliasPrefix&&!x.startsWith(`${s.aliasPrefix}/`))continue;let h=await A(x,n);if(!h)continue;let w=ts(h,e,t);if(!w)continue;let m=rs(w,t,s);!m||m===x||(f.setModuleSpecifier(m),await promises.writeFile(a,l.getFullText(),"utf-8"),i.push(o));}}return i}function ts(e,t,r,s=[".tsx",".ts",".js",".jsx",".css"]){let n=y__default.normalize(r.resolvedPaths.cwd),i=t.map(m=>m.split(y__default.sep).join(y__default.posix.sep)),o=new Set(i),a=y__default.extname(e),c=a!=="",p=c?e.slice(0,-a.length):e,d=y__default.relative(n,p).split(y__default.sep).join(y__default.posix.sep),f=c?[a]:s,x=new Set;for(let m of f){let u=p+m,E=y__default.posix.normalize(y__default.relative(n,u));(o.has(E)||existsSync(u))&&x.add(E);let I=y__default.join(p,`index${m}`),R=y__default.posix.normalize(y__default.relative(n,I));(o.has(R)||existsSync(I))&&x.add(R);}let h=y__default.basename(p);for(let m of i)f.some(u=>m.endsWith(`/${h}${u}`))&&x.add(m);return x.size===0?null:Array.from(x).sort((m,u)=>{let E=y__default.posix.extname(m),I=y__default.posix.extname(u),R=f.indexOf(E)-f.indexOf(I);if(R!==0)return R;let C=d&&m.startsWith(d)?-1:1,T=d&&u.startsWith(d)?-1:1;return C-T})[0]}function rs(e,t,r){let s=y__default.normalize(y__default.join(t.resolvedPaths.cwd,e)),n=Object.entries(t.resolvedPaths).filter(([,h])=>h&&s.startsWith(y__default.normalize(h+y__default.sep))).sort((h,w)=>w[1].length-h[1].length);if(n.length===0)return null;let[i,o]=n[0],a=y__default.relative(o,s);a=a.split(y__default.sep).join("/");let c=y__default.posix.extname(a),l=[".ts",".tsx",".js",".jsx"].includes(c)?"":c,d=a.slice(0,a.length-c.length);d.endsWith("/index")&&(d=d.slice(0,-6));let f=i==="cwd"?r.aliasPrefix:t.aliases[i];if(!f)return null;let x=d===""?"":`/${d}`;return x=x.replace("/src",""),`${f}${x}${l}`}var Nt=[".tsx",".ts",".jsx",".js",".css"],Dt=["lib/utils.ts"],as=[/^(react|react-dom|next)(\/.*)?$/,/^(node|jsr|npm):.*$/],ls=new Project({compilerOptions:{}});function cs(e){if(as.some(t=>t.test(e)))return null;if(!e.startsWith("@")&&e.includes("/")&&(e=e.split("/")[0]),e.startsWith("@")){let t=e.split("/");t.length>2&&(e=t.slice(0,2).join("/"));}return e}async function ps(e,t,r,s=new Set){let n=y.resolve(t.resolvedPaths.cwd,e),i=y.relative(t.resolvedPaths.cwd,n);if(Dt.includes(i))return {dependencies:[],files:[]};let o=y.extname(e);if(!Nt.includes(o))return {dependencies:[],files:[]};if(s.has(i))return {dependencies:[],files:[]};if(s.add(i),!(await B.stat(n)).isFile())return {dependencies:[],files:[]};let c=await B.readFile(n,"utf-8"),p=await fs(y.basename(n)),l=ls.createSourceFile(p,c,{scriptKind:ScriptKind.TSX}),d=await loadConfig(t.resolvedPaths.cwd);if(d.resultType==="failed")return {dependencies:[],files:[]};let f=[],x=new Set,h=zt(e),w={path:i,type:h,target:""};f.push(w);let m=l.getImportDeclarations();for(let E of m){let I=E.getModuleSpecifierValue(),R=I.startsWith(".");if(!I.startsWith(`${r.aliasPrefix}/`)&&!R){let z=cs(I);z&&x.add(z);continue}let T=await A(I,d);if(R&&(T=y.resolve(y.dirname(n),I)),!T)continue;if(!y.extname(T))for(let z of Nt){let ct=`${T}${z}`;try{await B.access(ct),T=ct;break}catch{continue}}let D=y.relative(t.resolvedPaths.cwd,T);if(s.has(D)||Dt.includes(D))continue;let le=zt(I),Ie={path:D,type:le,target:""};(le==="registry:page"||le==="registry:file")&&(Ie.target=I),f.push(Ie);let Se=await ps(D,t,r,s);if(Se.files)for(let z of Se.files)s.has(z.path)||(s.add(z.path),f.push(z));Se.dependencies&&Se.dependencies.forEach(z=>x.add(z));}let u=Array.from(new Map(f.map(E=>[E.path,E])).values());return {dependencies:Array.from(x),files:u}}async function fs(e){let t=await B.mkdtemp(y.join(tmpdir(),"shadcn-"));return y.join(t,e)}function zt(e){return e.includes("/ui/")?"registry:ui":e.includes("/lib/")?"registry:lib":e.includes("/hooks/")?"registry:hook":(e.includes("/components/"),"registry:component")}function N(e){try{return new URL(e),!0}catch{return false}}function Me(e){return e.endsWith(".json")&&!N(e)}function fo(e){return !e||e.type!=="registry:item"&&e.type!=="registry:file"?false:(e.files??[]).every(r=>!!r.target&&(r.type==="registry:file"||r.type==="registry:item"))}async function _t(e,t){if(!ms(t))return z.array(b$1).parse(e.flat().filter(Boolean));let r=await V(t.resolvedPaths.cwd),s=new Map,n=z.array(b$1).parse(e.flat().filter(Boolean));return n.forEach(i=>{let o=tt(i,t,{isSrcDir:r?.isSrcDir,framework:r?.framework.name,commonRoot:rt(n.map(a=>a.path),i.path)});o&&s.set(o,i);}),Array.from(s.values())}function ms(e){return !!(e?.resolvedPaths?.cwd&&(e?.resolvedPaths?.ui||e?.resolvedPaths?.lib||e?.resolvedPaths?.components||e?.resolvedPaths?.hooks))}function gs(e){return e.style?e.style==="new-york"&&e.tailwind?.config===""?Pe:e.style:Pe}function ne(e){let t=Rt({style:Pe,registries:K});return e?q$1.parse(oe(t,{...e,style:gs(e),registries:{...K,...e.registries}})):t}var Be={headers:{}};function xe(e){Be.headers={...Be.headers,...e};}function Kt(e){return Be.headers[e]||{}}function we(){Be.headers={};}function us(e){let t=new Set;return typeof e=="string"?fe(e).forEach(r=>t.add(r)):(fe(e.url).forEach(r=>t.add(r)),e.params&&Object.values(e.params).forEach(r=>{fe(r).forEach(s=>t.add(s));}),e.headers&&Object.values(e.headers).forEach(r=>{fe(r).forEach(s=>t.add(s));})),Array.from(t)}function Vt(e,t){let s=us(t).filter(n=>!process.env[n]);if(s.length>0)throw new ue(e,s)}function bo(e,t){for(let r of e)ie(r,ne(t));we();}var Wt="{name}",He="{style}",Ut=/\${(\w+)}/g,Mt="?",hs="&";function ie(e,t){let{registry:r,item:s}=ee(e);if(!r)return null;let i=(t?.registries||{})[r];if(!i)throw new W(r);return Vt(r,i),{url:ys(s,i,t),headers:xs(i)}}function ys(e,t,r){if(typeof t=="string"){let n=t.replace(Wt,e);return r?.style&&n.includes(He)&&(n=n.replace(He,r.style)),pe(n)}let s=t.url.replace(Wt,e);return r?.style&&s.includes(He)&&(s=s.replace(He,r.style)),s=pe(s),t.params?ws(s,t.params):s}function xs(e){if(typeof e=="string"||!e.headers)return {};let t={};for(let[r,s]of Object.entries(e.headers)){let n=pe(s);Es(s,n)&&(t[r]=n);}return t}function ws(e,t){let r=new URLSearchParams;for(let[i,o]of Object.entries(t)){let a=pe(o);a&&r.append(i,a);}let s=r.toString();if(!s)return e;let n=e.includes(Mt)?hs:Mt;return `${e}${n}${s}`}function Es(e,t){let r=t.trim();if(!r)return false;if(e.includes("${")&&e.match(Ut)){let n=e.replace(Ut,"").trim();return r!==n}return true}function Ge(e){if(N(e)){let t=new URL(e);return t.pathname.match(/\/chat\/b\//)&&!t.pathname.endsWith("/json")&&(t.pathname=`${t.pathname}/json`),t.toString()}return `${ce}/${e}`}var Ss=process.env.https_proxy?new HttpsProxyAgent(process.env.https_proxy):void 0,st=new Map;async function j(e,t={}){t={useCache:true,...t};try{return await Promise.all(e.map(async s=>{let n=Ge(s);if(t.useCache&&st.has(n))return st.get(n);let i=(async()=>{let o=Kt(n),a=await Is(n,{agent:Ss,headers:{...o}});if(!a.ok){let c;if(a.headers.get("content-type")?.includes("application/json")){let p=await a.json(),l=z.object({detail:z.string().optional(),title:z.string().optional(),message:z.string().optional(),error:z.string().optional()}).safeParse(p);l.success&&(c=l.data.detail||l.data.message,l.data.error&&(c=`[${l.data.error}] ${c}`));}throw a.status===401?new me(n,c):a.status===404?new q(n,c):a.status===403?new de(n,c):new ge(n,a.status,c)}return a.json()})();return t.useCache&&st.set(n,i),i}))}catch(r){throw r}}async function Ht(e){try{let t=e;e.startsWith("~/")&&(t=y__default.join(homedir(),e.slice(2)));let r=y__default.resolve(t),s=await promises.readFile(r,"utf8"),n=JSON.parse(s);try{return g.parse(n)}catch(i){throw new $(e,i)}}catch(t){throw t instanceof Error&&(t.message.includes("ENOENT")||t.message.includes("no such file"))?new X(e,t):t instanceof $?t:new X(e,t)}}async function na(e,t,r){if(!e||(r={silent:false,tailwindVersion:"v3",...r},r.tailwindVersion==="v4"))return;let s=y__default.relative(t.resolvedPaths.cwd,t.resolvedPaths.tailwindConfig),n=Y(`Updating ${k.info(s)}`,{silent:r.silent}).start(),i=await promises.readFile(t.resolvedPaths.tailwindConfig,"utf8"),o=await $s(i,e,t);await promises.writeFile(t.resolvedPaths.tailwindConfig,o,"utf8"),n?.succeed();}async function $s(e,t,r){let s=await qt(e,r),n=s.getDescendantsOfKind(SyntaxKind.ObjectLiteralExpression).find(o=>o.getProperties().some(a=>a.isKind(SyntaxKind.PropertyAssignment)&&a.getName()==="content"));if(!n)return e;let i=Ls(n);return Os(n,{name:"darkMode",value:"class"},{quoteChar:i}),t.plugins?.forEach(o=>{Fs(n,o);}),t.theme&&await As(n,t.theme),s.getFullText()}function Os(e,t,{quoteChar:r}){let s=e.getProperty("darkMode");if(!s){let n={name:t.name,initializer:`[${r}${t.value}${r}]`};return t.name==="darkMode"?(e.insertPropertyAssignment(0,n),e):(e.addPropertyAssignment(n),e)}if(s.isKind(SyntaxKind.PropertyAssignment)){let n=s.getInitializer(),i=`${r}${t.value}${r}`;if(n?.isKind(SyntaxKind.StringLiteral)){let o=n.getText();return n.replaceWithText(`[${o}, ${i}]`),e}if(n?.isKind(SyntaxKind.ArrayLiteralExpression)){if(n.getElements().map(o=>o.getText()).includes(i))return e;n.addElement(i);}return e}return e}async function As(e,t){e.getProperty("theme")||e.addPropertyAssignment({name:"theme",initializer:"{}"}),it(e);let s=(e.getPropertyOrThrow("theme")?.asKindOrThrow(SyntaxKind.PropertyAssignment)).getInitializer();if(s?.isKind(SyntaxKind.ObjectLiteralExpression)){let n=s.getText(),i=await Ns(n),o=oe(i,t,{arrayMerge:(c,p)=>p}),a=Ts(o).replace(/\'\.\.\.(.*)\'/g,"...$1").replace(/\'\"/g,"'").replace(/\"\'/g,"'").replace(/\'\[/g,"[").replace(/\]\'/g,"]").replace(/\'\\\'/g,"'").replace(/\\\'/g,"'").replace(/\\\'\'/g,"'").replace(/\'\'/g,"'");s.replaceWithText(a);}ot(e);}function Fs(e,t){let r=e.getProperty("plugins");if(!r)return e.addPropertyAssignment({name:"plugins",initializer:`[${t}]`}),e;if(r.isKind(SyntaxKind.PropertyAssignment)){let s=r.getInitializer();if(s?.isKind(SyntaxKind.ArrayLiteralExpression)){if(s.getElements().map(n=>n.getText().replace(/["']/g,"")).includes(t.replace(/["']/g,"")))return e;s.addElement(t);}return e}return e}async function qt(e,t){let r=await promises.mkdtemp(y__default.join(tmpdir(),"shadcn-")),s=t?.resolvedPaths?.tailwindConfig||"tailwind.config.ts",n=y__default.join(r,`shadcn-${y__default.basename(s)}`);return new Project({compilerOptions:{}}).createSourceFile(n,e,{scriptKind:y__default.extname(s)===".ts"?ScriptKind.TS:ScriptKind.JS})}function Ls(e){return e.getFirstDescendantByKind(SyntaxKind.StringLiteral)?.getQuoteKind()===QuoteKind.Single?"'":'"'}function it(e){let t=e.getProperties();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.SpreadAssignment)){let n=s.asKindOrThrow(SyntaxKind.SpreadAssignment),i=n.getExpression().getText();e.insertPropertyAssignment(r,{name:`"___${i.replace(/^\.\.\./,"")}"`,initializer:`"...${i.replace(/^\.\.\./,"")}"`}),n.remove();}else if(s.isKind(SyntaxKind.PropertyAssignment)){let i=s.asKindOrThrow(SyntaxKind.PropertyAssignment).getInitializer();i&&i.isKind(SyntaxKind.ObjectLiteralExpression)?it(i.asKindOrThrow(SyntaxKind.ObjectLiteralExpression)):i&&i.isKind(SyntaxKind.ArrayLiteralExpression)&&Jt(i.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));}}}function Jt(e){let t=e.getElements();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.ObjectLiteralExpression))it(s.asKindOrThrow(SyntaxKind.ObjectLiteralExpression));else if(s.isKind(SyntaxKind.ArrayLiteralExpression))Jt(s.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));else if(s.isKind(SyntaxKind.SpreadElement)){let n=s.getText();e.removeElement(r),e.insertElement(r,`"${n}"`);}}}function ot(e){let t=e.getProperties();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.PropertyAssignment)){let n=s,i=n.getInitializer();if(i&&i.isKind(SyntaxKind.StringLiteral)){let o=i.asKindOrThrow(SyntaxKind.StringLiteral).getLiteralValue();o.startsWith("...")&&(e.insertSpreadAssignment(r,{expression:o.slice(3)}),n.remove());}else i?.isKind(SyntaxKind.ObjectLiteralExpression)?ot(i):i&&i.isKind(SyntaxKind.ArrayLiteralExpression)&&Yt(i.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));}}}function Yt(e){let t=e.getElements();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.ObjectLiteralExpression))ot(s.asKindOrThrow(SyntaxKind.ObjectLiteralExpression));else if(s.isKind(SyntaxKind.ArrayLiteralExpression))Yt(s.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));else if(s.isKind(SyntaxKind.StringLiteral)){let n=s.getText(),i=/(?:^['"])(\.\.\..*)(?:['"]$)/g;i.test(n)&&(e.removeElement(r),e.insertElement(r,n.replace(i,"$1")));}}}async function Ns(e){let r=(await qt(`const theme = ${e}`,null)).getStatements()[0];if(r?.getKind()===SyntaxKind.VariableStatement){let n=(r.getDeclarationList()?.getDeclarations()[0]).getInitializer();if(n?.isKind(SyntaxKind.ObjectLiteralExpression))return await qe(n)}throw new Error("Invalid input: not an object literal")}function qe(e){let t={};for(let r of e.getProperties())if(r.isKind(SyntaxKind.PropertyAssignment)){let s=r.getName().replace(/\'/g,"");r.getInitializer()?.isKind(SyntaxKind.ObjectLiteralExpression)?t[s]=qe(r.getInitializer()):r.getInitializer()?.isKind(SyntaxKind.ArrayLiteralExpression)?t[s]=Zt(r.getInitializer()):t[s]=at(r.getInitializer());}return t}function Zt(e){let t=[];for(let r of e.getElements())r.isKind(SyntaxKind.ObjectLiteralExpression)?t.push(qe(r.asKindOrThrow(SyntaxKind.ObjectLiteralExpression))):r.isKind(SyntaxKind.ArrayLiteralExpression)?t.push(Zt(r.asKindOrThrow(SyntaxKind.ArrayLiteralExpression))):t.push(at(r));return t}function at(e){switch(e.getKind()){case SyntaxKind.StringLiteral:return e.getText();case SyntaxKind.NumericLiteral:return Number(e.getText());case SyntaxKind.TrueKeyword:return true;case SyntaxKind.FalseKeyword:return false;case SyntaxKind.NullKeyword:return null;case SyntaxKind.ArrayLiteralExpression:return e.getElements().map(at);case SyntaxKind.ObjectLiteralExpression:return qe(e);default:return e.getText()}}function Qt(e){let t={};for(let r of Object.keys(e)){let s=r.split("-"),n=s[0],i=s.slice(1).join("-");i===""?typeof t[n]=="object"?t[n].DEFAULT=`hsl(var(--${r}))`:t[n]=`hsl(var(--${r}))`:(typeof t[n]!="object"&&(t[n]={DEFAULT:`hsl(var(--${n}))`}),t[n][i]=`hsl(var(--${r}))`);}for(let[r,s]of Object.entries(t))typeof s=="object"&&s.DEFAULT===`hsl(var(--${r}))`&&!(r in e)&&delete s.DEFAULT;return t}function Re(e,t){let r={},s=[...e];if(!t?.registries)return xe({}),s;for(let n=0;n<s.length;n++){let i=ie(s[n],t);i&&(s[n]=i.url,Object.keys(i.headers).length>0&&(r[i.url]=i.headers));}return xe(r),s}async function Z(e,t,r={}){return await Promise.all(e.map(async n=>{if(Me(n))return Ht(n);if(N(n)){let[a]=await j([n],r);try{return g.parse(a)}catch(c){throw new $(n,c)}}if(n.startsWith("@")&&t?.registries){let a=Re([n],t),[c]=await j(a,r);try{return g.parse(c)}catch(p){throw new $(n,p)}}let i=`styles/${t?.style??"new-york-v4"}/${n}.json`,[o]=await j([i],r);try{return g.parse(o)}catch(a){throw new $(n,a)}}))}g.extend({_source:z.string().optional()});async function tr(e,t,r={}){r={useCache:true,...r};let s=[],n=[],i=[],o=Array.from(new Set(e)),a=await Z(o,t,r),c=new Map;for(let u=0;u<a.length;u++)a[u]&&c.set(o[u],a[u]);for(let[u,E]of Array.from(c.entries())){let I={...E,_source:u};if(s.push(I),E.registryDependencies){let R=E.registryDependencies;if(t?.registries)R=Re(E.registryDependencies,t);else {let G=E.registryDependencies.filter(D=>D.startsWith("@"));if(G.length>0){let{registry:D}=ee(G[0]);throw new W(D)}}let{items:C,registryNames:T}=await Ce(R,t,r,new Set(o));n.push(...C),i.push(...T);}}if(s.push(...n),i.length>0){let u=Array.from(new Set(i)),E=u.filter(R=>!R.startsWith("@")),I=u.filter(R=>R.startsWith("@"));if(I.length>0){let R=await Z(I,t,r);for(let C=0;C<R.length;C++){let G={...R[C],_source:I[C]};s.push(G);}}if(E.length>0){let R=await rr();if(!R&&s.length===0)return null;if(R){E.includes("index")&&E.unshift("index");let C=[];for(let le of E){let Ie=await zs(le,t,r);C.push(...Ie);}let T=Array.from(new Set(C)),G=await j(T,r),D=z.array(g).parse(G);s.push(...D);}}}if(!s.length)return null;if((o.includes("index")||i.includes("index"))&&t.tailwind.baseColor){let u=await _s(t.tailwind.baseColor,t);u&&s.unshift(u);}let p=new Map;s.forEach(u=>{let E=u._source||u.name;p.set(u,E);}),s=Vs(s,p),s.sort((u,E)=>u.type==="registry:theme"&&E.type!=="registry:theme"?-1:u.type!=="registry:theme"&&E.type==="registry:theme"?1:0);let l={};s.forEach(u=>{l=oe(l,u.tailwind??{});});let d={};s.forEach(u=>{d=oe(d,u.cssVars??{});});let f={};s.forEach(u=>{f=oe(f,u.css??{});});let x="";s.forEach(u=>{u.docs&&(x+=`${u.docs}
28
28
  `);});let h={};s.forEach(u=>{h=oe(h,u.envVars??{});});let w=await _t(s.map(u=>u.files??[]),t),m$1=m.parse({dependencies:oe.all(s.map(u=>u.dependencies??[])),devDependencies:oe.all(s.map(u=>u.devDependencies??[])),files:w,tailwind:l,cssVars:d,css:f,docs:x});return Object.keys(h).length>0&&(m$1.envVars=h),m$1}async function Ce(e,t,r={},s=new Set){let n=[],i=[];for(let o of e)if(!s.has(o)){if(s.add(o),N(o)||Me(o)){let[a]=await Z([o],t,r);if(a&&(n.push(a),a.registryDependencies)){let c=t?.registries?Re(a.registryDependencies,t):a.registryDependencies,p=await Ce(c,t,r,s);n.push(...p.items),i.push(...p.registryNames);}}else if(o.startsWith("@")&&t?.registries){let{registry:a}=ee(o);if(a&&!(a in t.registries))throw new W(a);let[c]=await Z([o],t,r);if(c&&(n.push(c),c.registryDependencies)){let p=t?.registries?Re(c.registryDependencies,t):c.registryDependencies,l=await Ce(p,t,r,s);n.push(...l.items),i.push(...l.registryNames);}}else if(i.push(o),t)try{let[a]=await Z([o],t,r);if(a&&a.registryDependencies){let c=t?.registries?Re(a.registryDependencies,t):a.registryDependencies,p=await Ce(c,t,r,s);n.push(...p.items),i.push(...p.registryNames);}}catch{}}return {items:n,registryNames:i}}async function zs(e,t,r={}){if(N(e))return [e];let{registryNames:s}=await Ce([e],t,r,new Set),n=t.resolvedPaths?.cwd?await vt(t.resolvedPaths.cwd,t.style):t.style,i=s.map(o=>Ge(N(o)?o:`styles/${n}/${o}.json`));return Array.from(new Set(i))}async function _s(e,t){let[r,s]=await Promise.all([Ue(e),Le(t)]);if(!r)return null;let n={name:e,type:"registry:theme",tailwind:{config:{theme:{extend:{borderRadius:{lg:"var(--radius)",md:"calc(var(--radius) - 2px)",sm:"calc(var(--radius) - 4px)"},colors:{}}}}},cssVars:{theme:{},light:{radius:"0.5rem"},dark:{}}};return t.tailwind.cssVariables&&(n.tailwind.config.theme.extend.colors={...n.tailwind.config.theme.extend.colors,...Qt(r.cssVars.dark??{})},n.cssVars={theme:{...r.cssVars.theme,...n.cssVars.theme},light:{...r.cssVars.light,...n.cssVars.light},dark:{...r.cssVars.dark,...n.cssVars.dark}},s==="v4"&&r.cssVarsV4&&(n.cssVars={theme:{...r.cssVarsV4.theme,...n.cssVars.theme},light:{radius:"0.625rem",...r.cssVarsV4.light},dark:{...r.cssVarsV4.dark}})),n}function H(e,t){let r=t||e.name,s=createHash("sha256").update(r).digest("hex").substring(0,8);return `${e.name}::${s}`}function Ks(e){if(N(e)){let s=new URL(e).pathname,n=s.match(/\/([^/]+)\.json$/),i=n?n[1]:y__default.basename(s,".json");return {name:i,hash:H({name:i},e)}}if(Me(e)){let r=e.match(/\/([^/]+)\.json$/),s=r?r[1]:y__default.basename(e,".json");return {name:s,hash:H({name:s},e)}}let{item:t}=ee(e);return {name:t,hash:H({name:t},e)}}function Vs(e,t){let r=new Map,s=new Map,n=new Map,i=new Map;e.forEach(p=>{let l=t.get(p)||p.name,d=H(p,l);r.set(d,p),s.set(d,p),n.set(d,0),i.set(d,[]);});let o=new Map;e.forEach(p=>{let l=t.get(p)||p.name,d=H(p,l);o.has(p.name)||o.set(p.name,[]),o.get(p.name).push(d),l!==p.name&&(o.has(l)||o.set(l,[]),o.get(l).push(d));}),e.forEach(p=>{let l=t.get(p)||p.name,d=H(p,l);p.registryDependencies&&p.registryDependencies.forEach(f=>{let x,h=o.get(f)||[];if(h.length===1)x=h[0];else if(h.length>1)x=h[0];else {let{name:w}=Ks(f),m=o.get(w)||[];m.length>0&&(x=m[0]);}x&&r.has(x)&&(i.get(x).push(d),n.set(d,n.get(d)+1));});});let a=[],c=[];for(n.forEach((p,l)=>{p===0&&a.push(l);});a.length>0;){let p=a.shift(),l=r.get(p);c.push(l),i.get(p).forEach(d=>{let f=n.get(d)-1;n.set(d,f),f===0&&a.push(d);});}if(c.length!==e.length){console.warn("Circular dependency detected in registry items");let p=new Set(c.map(l=>{let d=t.get(l)||l.name;return H(l,d)}));e.forEach(l=>{let d=t.get(l)||l.name,f=H(l,d);p.has(f)||c.push(l);});}return c}function ae(e){if(v.break(),v.error("Something went wrong. Please check the error below for more details."),v.error("If the problem persists, please open an issue on GitHub."),v.error(""),typeof e=="string"&&(v.error(e),v.break(),process.exit(1)),e instanceof b&&(e.message&&(v.error(e.cause?"Error:":"Message:"),v.error(e.message)),e.cause&&(v.error(`
29
29
  Message:`),v.error(e.cause)),e.suggestion&&(v.error(`
30
30
  Suggestion:`),v.error(e.suggestion)),v.break(),process.exit(1)),e instanceof z.ZodError){v.error("Validation failed:");for(let[t,r]of Object.entries(e.flatten().fieldErrors))v.error(`- ${k.info(t)}: ${r}`);v.break(),process.exit(1);}e instanceof Error&&(v.error(e.message),v.break(),process.exit(1)),v.break(),process.exit(1);}async function lt(e,t){let{config:r,useCache:s}=t||{};if(N(e)){let[a]=await j([e],{useCache:s});try{return h.parse(a)}catch(c){throw new $(e,c)}}if(!e.startsWith("@"))throw new he(e);let n=e;n.endsWith("/registry")||(n=`${n}/registry`);let i=ie(n,ne(r));if(!i?.url)throw new q(n);i.headers&&Object.keys(i.headers).length>0&&xe({[i.url]:i.headers});let[o]=await j([i.url],{useCache:s});try{return h.parse(o)}catch(a){throw new $(n,a)}}async function Ms(e,t){let{config:r,useCache:s=false}=t||{};return we(),Z(e,ne(r),{useCache:s})}async function Bs(e,t){let{config:r,useCache:s=false}=t||{};return we(),tr(e,ne(r),{useCache:s})}async function Ma(e,t){let{useCache:r=true}=t||{};r||ke.clearCaches();let s=await ke.search(e);if(!s)return {registries:K};let n=z.object({registries:o.optional()}).safeParse(s.config);if(!n.success)throw new Te(e,n.error);return {registries:{...K,...n.data.registries||{}}}}async function rr(){try{let[e]=await j(["index.json"]);return i.parse(e)}catch(e){v.error(`
31
31
  `),ae(e);}}async function Ba(){try{let[e]=await j(["styles/index.json"]);return j$1.parse(e)}catch(e){return v.error(`
32
32
  `),ae(e),[]}}async function jt(){try{let[e]=await j(["icons/index.json"]);return k$1.parse(e)}catch(e){return ae(e),{}}}async function Ha(){return Et}async function Ue(e){try{let[t]=await j([`colors/${e}.json`]);return l.parse(t)}catch(t){ae(t);}}async function Hs(e,t){let r=[];for(let s of t){let n=e.find(i=>i.name===s);if(n&&(r.push(n),n.registryDependencies)){let i=await Hs(e,n.registryDependencies);r.push(...i);}}return r.filter((s,n,i)=>i.findIndex(o=>o.name===s.name)===n)}async function Ga(e,t){try{let r=t.map(n=>`styles/${e}/${n.name}.json`);return (await j(r)).map(n=>g.parse(n))}catch(r){return ae(r),[]}}async function qa(e,t,r){if(r)return r;if(t.type==="registry:ui")return e.resolvedPaths.ui??e.resolvedPaths.components;let[s,n]=t.type?.split(":")??[];return s in e.resolvedPaths?y__default.join(e.resolvedPaths[s],n):null}async function Gs(e){e={useCache:true,...e};let t=`${ce}/registries.json`,[r]=await j([t],{useCache:e.useCache});try{return u.parse(r)}catch(s){throw s instanceof z.ZodError?new ye(s):s}}async function Js(e,t$1){let{query:r,limit:s,offset:n,config:i,useCache:o}=t$1||{},a=[];for(let f of e){let h=((await lt(f,{config:i,useCache:o})).items||[]).map(w=>({name:w.name,type:w.type,description:w.description,registry:f,addCommandArgument:Xs(w.name,f)}));a=a.concat(h);}r&&(a=Zs(a,{query:r,limit:a.length,keys:["name","description"]}));let c=n||0,p=s||a.length,l=a.length,d={pagination:{total:l,offset:c,limit:p,hasMore:c+p<l},items:a.slice(c,c+p)};return t.parse(d)}var Ys=z.object({name:z.string(),type:z.string().optional(),description:z.string().optional(),registry:z.string().optional(),addCommandArgument:z.string().optional()}).passthrough();function Zs(e,t){t={limit:100,threshold:-1e4,...t};let s=qs.go(t.query,e,{keys:t.keys,threshold:t.threshold,limit:t.limit}).map(n=>n.obj);return z.array(Ys).parse(s)}function Qs(e){try{return new URL(e),!0}catch{return false}}function Xs(e,t){if(!Qs(t))return `${t}/${e}`;let r=t.indexOf("://")+3,s=t.indexOf("/",r);if(s===-1){let f=t.indexOf("?",r);if(f!==-1){let x=t.substring(0,f),w=t.substring(f).replace(/\bregistry\b/g,e);return x+w}return t}let n=t.substring(0,s),i=t.substring(s),o=i.indexOf("?")!==-1?i.indexOf("?"):i.length,a=i.substring(0,o),c=i.substring(o),p=a.lastIndexOf("registry"),l=a;p!==-1&&(l=a.substring(0,p)+e+a.substring(p+8));let d=c.replace(/\bregistry\b/g,e);return n+l+d}
33
- export{Bs as $,X as A,$ as B,ue as C,he as D,ye as E,ee as F,bt as G,Pt as H,Tt as I,De as J,At as K,Qi as L,ps as M,fo as N,ne as O,we as P,bo as Q,ie as R,j as S,na as T,qt as U,Ls as V,Z as W,tr as X,ae as Y,lt as Z,Ms as _,Et as a,Ma as aa,K as b,rr as ba,en as c,Ba as ca,k as d,jt as da,vn as e,Ha as ea,Rn as f,Ue as fa,Cn as g,Hs as ga,In as h,Ga as ha,je as i,qa as ia,Qe as j,Gs as ja,Sn as k,Js as ka,gr as l,hr as m,Rt as n,Xe as o,V as p,Vn as q,Le as r,v as s,Y as t,b as u,q as v,me as w,de as x,ge as y,W as z};//# sourceMappingURL=chunk-H4LVOA2D.js.map
34
- //# sourceMappingURL=chunk-H4LVOA2D.js.map
33
+ export{Bs as $,X as A,$ as B,ue as C,he as D,ye as E,ee as F,bt as G,Pt as H,Tt as I,De as J,At as K,Qi as L,ps as M,fo as N,ne as O,we as P,bo as Q,ie as R,j as S,na as T,qt as U,Ls as V,Z as W,tr as X,ae as Y,lt as Z,Ms as _,Et as a,Ma as aa,K as b,rr as ba,en as c,Ba as ca,k as d,jt as da,vn as e,Ha as ea,Rn as f,Ue as fa,Cn as g,Hs as ga,In as h,Ga as ha,je as i,qa as ia,Qe as j,Gs as ja,Sn as k,Js as ka,gr as l,hr as m,Rt as n,Xe as o,V as p,Vn as q,Le as r,v as s,Y as t,b as u,q as v,me as w,de as x,ge as y,W as z};//# sourceMappingURL=chunk-2MOZ4PVI.js.map
34
+ //# sourceMappingURL=chunk-2MOZ4PVI.js.map