shadcn 4.8.1 → 4.8.3

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.
@@ -1,9 +1,9 @@
1
- import {m,l,f,d as d$1,c as c$1,e,n,u,p,b as b$1,q as q$1,r,s,t,y,A,w,o,g as g$1}from'./chunk-3ORLOMOE.js';import {a,d,c,b,g,f as f$1}from'./chunk-WLJDV6SE.js';import*as E from'path';import E__default,{join,basename,normalize,delimiter,resolve,dirname}from'path';import {z as z$1}from'zod';import dn,{promises,existsSync,statSync}from'fs';import {green,cyan,yellow,red}from'kleur/colors';import U from'fs-extra';import yt from'fast-glob';import {loadConfig,createMatchPath}from'tsconfig-paths';import {cosmiconfig}from'cosmiconfig';import Kl,{tmpdir,homedir}from'os';import Po from'ora';import {Project,SyntaxKind,ScriptKind,QuoteKind}from'ts-morph';import {transformFromAstSync}from'@babel/core';import {parse}from'@babel/parser';import Lo from'@babel/plugin-transform-typescript';import*as bt from'recast';import Zo from'prompts';import Pe from'deepmerge';import {HttpsProxyAgent}from'https-proxy-agent';import Pa,{Headers}from'node-fetch';import {createHash}from'crypto';import _a from'stringify-object';import J,{cwd}from'process';import Ol from'readline';import zl from'events';import*as fi from'fs/promises';import fi__default from'fs/promises';import {createRequire}from'module';import {spawn}from'child_process';import {PassThrough}from'stream';import Ul from'tty';import Gc from'fuzzysort';var fe=process.env.REGISTRY_URL??"https://ui.shadcn.com/r",L=fe.replace(/\/r\/?$/,""),nt="new-york-v4",xs=[{name:"neutral",label:"Neutral"},{name:"zinc",label:"Zinc"},{name:"stone",label:"Stone"},{name:"mauve",label:"Mauve"},{name:"olive",label:"Olive"},{name:"mist",label:"Mist"},{name:"taupe",label:"Taupe"}],z={"@shadcn":`${fe}/styles/{style}/{name}.json`};var du=[{name:"toast",deprecatedBy:"sonner",message:"The toast component is deprecated. Use the sonner component instead."},{name:"toaster",deprecatedBy:"sonner",message:"The toaster component is deprecated. Use the sonner component instead."}];function Oe(e){return e.replace(/\${(\w+)}/g,(t,r)=>process.env[r]||"")}function je(e){let t=[],r=/\${(\w+)}/g,s;for(;(s=r.exec(e))!==null;)t.push(s[1]);return t}var _={NETWORK_ERROR:"NETWORK_ERROR",NOT_FOUND:"NOT_FOUND",GONE:"GONE",UNAUTHORIZED:"UNAUTHORIZED",FORBIDDEN:"FORBIDDEN",FETCH_ERROR:"FETCH_ERROR",NOT_CONFIGURED:"NOT_CONFIGURED",INVALID_CONFIG:"INVALID_CONFIG",MISSING_ENV_VARS:"MISSING_ENV_VARS",LOCAL_FILE_ERROR:"LOCAL_FILE_ERROR",PARSE_ERROR:"PARSE_ERROR",VALIDATION_ERROR:"VALIDATION_ERROR",UNKNOWN_ERROR:"UNKNOWN_ERROR"},j=class extends Error{code;statusCode;context;suggestion;timestamp;cause;constructor(t,r={}){super(t),this.name="RegistryError",this.code=r.code||_.UNKNOWN_ERROR,this.statusCode=r.statusCode,this.cause=r.cause,this.context=r.context,this.suggestion=r.suggestion,this.timestamp=new Date,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor);}toJSON(){return {name:this.name,message:this.message,code:this.code,statusCode:this.statusCode,context:this.context,suggestion:this.suggestion,timestamp:this.timestamp,stack:this.stack}}},me=class extends j{constructor(r,s){let i=`The item at ${r} was not found. It may not exist at the registry.`;super(i,{code:_.NOT_FOUND,statusCode:404,cause:s,context:{url:r},suggestion:"Check if the item name is correct and the registry URL is accessible."});this.url=r;this.name="RegistryNotFoundError";}},ot=class extends j{constructor(r,s){let i=`The item at ${r} is no longer available. It may have been removed or expired.`;super(i,{code:_.GONE,statusCode:410,cause:s,context:{url:r},suggestion:"This resource was previously available but has been permanently removed. Check if a newer version exists or contact the registry maintainer."});this.url=r;this.name="RegistryGoneError";}},_e=class extends j{constructor(r,s){let i=`You are not authorized to access the item at ${r}. If this is a remote registry, you may need to authenticate.`;super(i,{code:_.UNAUTHORIZED,statusCode:401,cause:s,context:{url:r},suggestion:"Check your authentication credentials and environment variables."});this.url=r;this.name="RegistryUnauthorizedError";}},Me=class extends j{constructor(r,s){let i=`You are not authorized to access the item at ${r}. If this is a remote registry, you may need to authenticate.`;super(i,{code:_.FORBIDDEN,statusCode:403,cause:s,context:{url:r},suggestion:"Check your authentication credentials and environment variables."});this.url=r;this.name="RegistryForbiddenError";}},Ne=class extends j{constructor(r,s,i,n){let o=s?`Failed to fetch from registry (${s}): ${r}`:`Failed to fetch from registry: ${r}`,a=typeof n=="string"&&n?`${o} - ${n}`:o,l="Check your network connection and try again.";s===404?l="The requested resource was not found. Check the URL or item name.":s===500?l="The registry server encountered an error. Try again later.":s&&s>=400&&s<500&&(l="There was a client error. Check your request parameters.");super(a,{code:_.FETCH_ERROR,statusCode:s,cause:n,context:{url:r,responseBody:i},suggestion:l});this.url=r;this.responseBody=i;this.name="RegistryFetchError";}},ie=class extends j{constructor(r){let s=r?`Unknown registry "${r}". Make sure it is defined in components.json as follows:
1
+ import {m,l,f,d as d$1,c as c$1,e,n,u,p,b as b$1,q as q$1,r,s,t,y,A,w,o,g as g$1}from'./chunk-3ORLOMOE.js';import {a,d,c,b,g,f as f$1}from'./chunk-7SBJAAAY.js';import*as E from'path';import E__default,{join,basename,normalize,delimiter,resolve,dirname}from'path';import {z as z$1}from'zod';import dn,{promises,existsSync,statSync}from'fs';import {green,cyan,yellow,red}from'kleur/colors';import U from'fs-extra';import yt from'fast-glob';import {loadConfig,createMatchPath}from'tsconfig-paths';import {cosmiconfig}from'cosmiconfig';import Ul,{tmpdir,homedir}from'os';import $o from'ora';import {Project,SyntaxKind,ScriptKind,QuoteKind}from'ts-morph';import {transformFromAstSync}from'@babel/core';import {parse}from'@babel/parser';import Fo from'@babel/plugin-transform-typescript';import*as bt from'recast';import Qo from'prompts';import Pe from'deepmerge';import {HttpsProxyAgent}from'https-proxy-agent';import $a,{Headers}from'node-fetch';import {createHash}from'crypto';import Ma from'stringify-object';import J,{cwd}from'process';import jl from'readline';import Kl from'events';import*as fi from'fs/promises';import fi__default from'fs/promises';import {createRequire}from'module';import {spawn}from'child_process';import {PassThrough}from'stream';import ql from'tty';import Jc from'fuzzysort';var fe=process.env.REGISTRY_URL??"https://ui.shadcn.com/r",L=fe.replace(/\/r\/?$/,""),nt="new-york-v4",xs=[{name:"neutral",label:"Neutral"},{name:"zinc",label:"Zinc"},{name:"stone",label:"Stone"},{name:"mauve",label:"Mauve"},{name:"olive",label:"Olive"},{name:"mist",label:"Mist"},{name:"taupe",label:"Taupe"}],z={"@shadcn":`${fe}/styles/{style}/{name}.json`};var pu=[{name:"toast",deprecatedBy:"sonner",message:"The toast component is deprecated. Use the sonner component instead."},{name:"toaster",deprecatedBy:"sonner",message:"The toaster component is deprecated. Use the sonner component instead."}];function Oe(e){return e.replace(/\${(\w+)}/g,(t,r)=>process.env[r]||"")}function je(e){let t=[],r=/\${(\w+)}/g,s;for(;(s=r.exec(e))!==null;)t.push(s[1]);return t}var _={NETWORK_ERROR:"NETWORK_ERROR",NOT_FOUND:"NOT_FOUND",GONE:"GONE",UNAUTHORIZED:"UNAUTHORIZED",FORBIDDEN:"FORBIDDEN",FETCH_ERROR:"FETCH_ERROR",NOT_CONFIGURED:"NOT_CONFIGURED",INVALID_CONFIG:"INVALID_CONFIG",MISSING_ENV_VARS:"MISSING_ENV_VARS",LOCAL_FILE_ERROR:"LOCAL_FILE_ERROR",PARSE_ERROR:"PARSE_ERROR",VALIDATION_ERROR:"VALIDATION_ERROR",UNKNOWN_ERROR:"UNKNOWN_ERROR"},j=class extends Error{code;statusCode;context;suggestion;timestamp;cause;constructor(t,r={}){super(t),this.name="RegistryError",this.code=r.code||_.UNKNOWN_ERROR,this.statusCode=r.statusCode,this.cause=r.cause,this.context=r.context,this.suggestion=r.suggestion,this.timestamp=new Date,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor);}toJSON(){return {name:this.name,message:this.message,code:this.code,statusCode:this.statusCode,context:this.context,suggestion:this.suggestion,timestamp:this.timestamp,stack:this.stack}}},me=class extends j{constructor(r,s){let i=`The item at ${r} was not found. It may not exist at the registry.`;super(i,{code:_.NOT_FOUND,statusCode:404,cause:s,context:{url:r},suggestion:"Check if the item name is correct and the registry URL is accessible."});this.url=r;this.name="RegistryNotFoundError";}},ot=class extends j{constructor(r,s){let i=`The item at ${r} is no longer available. It may have been removed or expired.`;super(i,{code:_.GONE,statusCode:410,cause:s,context:{url:r},suggestion:"This resource was previously available but has been permanently removed. Check if a newer version exists or contact the registry maintainer."});this.url=r;this.name="RegistryGoneError";}},_e=class extends j{constructor(r,s){let i=`You are not authorized to access the item at ${r}. If this is a remote registry, you may need to authenticate.`;super(i,{code:_.UNAUTHORIZED,statusCode:401,cause:s,context:{url:r},suggestion:"Check your authentication credentials and environment variables."});this.url=r;this.name="RegistryUnauthorizedError";}},Me=class extends j{constructor(r,s){let i=`You are not authorized to access the item at ${r}. If this is a remote registry, you may need to authenticate.`;super(i,{code:_.FORBIDDEN,statusCode:403,cause:s,context:{url:r},suggestion:"Check your authentication credentials and environment variables."});this.url=r;this.name="RegistryForbiddenError";}},Ne=class extends j{constructor(r,s,i,n){let o=s?`Failed to fetch from registry (${s}): ${r}`:`Failed to fetch from registry: ${r}`,a=typeof n=="string"&&n?`${o} - ${n}`:o,l="Check your network connection and try again.";s===404?l="The requested resource was not found. Check the URL or item name.":s===500?l="The registry server encountered an error. Try again later.":s&&s>=400&&s<500&&(l="There was a client error. Check your request parameters.");super(a,{code:_.FETCH_ERROR,statusCode:s,cause:n,context:{url:r,responseBody:i},suggestion:l});this.url=r;this.responseBody=i;this.name="RegistryFetchError";}},ie=class extends j{constructor(r){let s=r?`Unknown registry "${r}". Make sure it is defined in components.json as follows:
2
2
  {
3
3
  "registries": {
4
4
  "${r}": "[URL_TO_REGISTRY]"
5
5
  }
6
- }`:'Unknown registry. Make sure it is defined in components.json under "registries".';super(s,{code:_.NOT_CONFIGURED,context:{registryName:r},suggestion:"Add the registry configuration to your components.json file. Consult the registry documentation for the correct format."});this.registryName=r;this.name="RegistryNotConfiguredError";}},Z=class extends j{constructor(r,s,i={}){super(i.message??`Failed to read local registry file: ${r}`,{code:_.LOCAL_FILE_ERROR,cause:s,context:{filePath:r,...i.context},suggestion:i.suggestion??"Check if the file exists and you have read permissions."});this.filePath=r;this.name="RegistryLocalFileError";}},F=class extends j{constructor(r,s,i={}){let n=i.subject??"registry item",o=`Failed to parse ${n}: ${r}`;s instanceof z$1.ZodError&&(o=`Failed to parse ${n}: ${r}
6
+ }`:'Unknown registry. Make sure it is defined in components.json under "registries".';super(s,{code:_.NOT_CONFIGURED,context:{registryName:r},suggestion:"Add the registry configuration to your components.json file. Consult the registry documentation for the correct format."});this.registryName=r;this.name="RegistryNotConfiguredError";}},X=class extends j{constructor(r,s,i={}){super(i.message??`Failed to read local registry file: ${r}`,{code:_.LOCAL_FILE_ERROR,cause:s,context:{filePath:r,...i.context},suggestion:i.suggestion??"Check if the file exists and you have read permissions."});this.filePath=r;this.name="RegistryLocalFileError";}},F=class extends j{constructor(r,s,i={}){let n=i.subject??"registry item",o=`Failed to parse ${n}: ${r}`;s instanceof z$1.ZodError&&(o=`Failed to parse ${n}: ${r}
7
7
  ${s.errors.map(a=>` - ${a.path.join(".")}: ${a.message}`).join(`
8
8
  `)}`);super(o,{code:_.PARSE_ERROR,cause:s,context:{item:r,...i.context},suggestion:i.suggestion??`The registry item may be corrupted or have an invalid format. Please make sure it returns a valid JSON object. See ${L}/schema/registry-item.json.`});this.item=r;this.parseError=s,this.name="RegistryParseError";}parseError},$=class extends j{constructor(t,r={}){super(t,{code:_.VALIDATION_ERROR,cause:r.cause,context:{...r.registryFile?{registryFile:r.registryFile}:{},...r.context},suggestion:r.suggestion??"Update the registry.json file and try running the command again."}),this.name="RegistryValidationError";}},Le=class extends j{constructor(r){super(`Registry item "${r}" was not found.`,{code:_.NOT_FOUND,statusCode:404,context:{itemName:r},suggestion:"Check that the item name exists in the resolved registry catalog."});this.itemName=r;this.name="RegistryItemNotFoundError";}},Fe=class extends j{constructor(r,s){let i=`Registry "${r}" requires the following environment variables:
9
9
 
@@ -14,13 +14,14 @@ ${s.errors.map(n=>` - ${n.path.join(".")}: ${n.message}`).join(`
14
14
  ${t.errors.map(i=>` - ${i.path.join(".")}: ${i.message}`).join(`
15
15
  `)}`:r=`Failed to parse registries index:
16
16
  ${t.errors.map(i=>` - ${i.path.join(".")}: ${i.message}`).join(`
17
- `)}`;}super(r,{code:_.PARSE_ERROR,cause:t,context:{parseError:t},suggestion:"The registries index may be corrupted or have invalid registry namespace format. Registry names must start with @ (e.g., @shadcn, @example)."}),this.parseError=t,this.name="RegistriesIndexParseError";}};var Mn=/^(@[a-zA-Z0-9](?:[a-zA-Z0-9-_]*[a-zA-Z0-9])?)\/(.+)$/;function Ee(e){if(!e.startsWith("@"))return {registry:null,item:e};let t=e.match(Mn);return t?{registry:t[1],item:t[2]}:{registry:null,item:e}}var D={"next-app":{name:"next-app",label:"Next.js",links:{installation:`${L}/docs/installation/next`,tailwind:"https://tailwindcss.com/docs/guides/nextjs"}},"next-pages":{name:"next-pages",label:"Next.js",links:{installation:`${L}/docs/installation/next`,tailwind:"https://tailwindcss.com/docs/guides/nextjs"}},remix:{name:"remix",label:"Remix",links:{installation:`${L}/docs/installation/remix`,tailwind:"https://tailwindcss.com/docs/guides/remix"}},"react-router":{name:"react-router",label:"React Router",links:{installation:`${L}/docs/installation/react-router`,tailwind:"https://tailwindcss.com/docs/installation/framework-guides/react-router"}},vite:{name:"vite",label:"Vite",links:{installation:`${L}/docs/installation/vite`,tailwind:"https://tailwindcss.com/docs/guides/vite"}},astro:{name:"astro",label:"Astro",links:{installation:`${L}/docs/installation/astro`,tailwind:"https://tailwindcss.com/docs/guides/astro"}},laravel:{name:"laravel",label:"Laravel",links:{installation:`${L}/docs/installation/laravel`,tailwind:"https://tailwindcss.com/docs/guides/laravel"}},"tanstack-start":{name:"tanstack-start",label:"TanStack Start",links:{installation:`${L}/docs/installation/tanstack`,tailwind:"https://tailwindcss.com/docs/installation/using-postcss"}},gatsby:{name:"gatsby",label:"Gatsby",links:{installation:`${L}/docs/installation/gatsby`,tailwind:"https://tailwindcss.com/docs/guides/gatsby"}},expo:{name:"expo",label:"Expo",links:{installation:`${L}/docs/installation/expo`,tailwind:"https://www.nativewind.dev/docs/getting-started/installation"}},manual:{name:"manual",label:"Manual",links:{installation:`${L}/docs/installation/manual`,tailwind:"https://tailwindcss.com/docs/installation"}}};var P={error:red,warn:yellow,info:cyan,success:green};function lt(e){let t=[e];for(;t.length;){let r=t.shift();if(typeof r=="string"){if(r.startsWith("./"))return r;continue}if(Array.isArray(r)){t.unshift(...r);continue}r&&typeof r=="object"&&t.unshift(...Object.values(r));}return null}function ct(e){if(!e.includes("*"))return "strip_extension";let t=e.slice(e.indexOf("*")+1);return t&&/^\.[^/]+$/.test(t)?"strip_extension":"preserve_extension"}function ut(e,t){let r=t.find(i=>!i.hasWildcard&&i.key===e);if(r)return {path:E__default.resolve(r.rootDir,r.target),matchedAlias:r.key,matchedTarget:r.target,emitMode:r.emitMode};let s=t.filter(i=>i.hasWildcard).sort((i,n)=>n.key.length-i.key.length);for(let i of s){let n=Lt(e,i.key,{allowBareAliasBase:true});if(n!==null)return {path:E__default.resolve(i.rootDir,Wn(i.target,n)),matchedAlias:i.key,matchedTarget:i.target,emitMode:i.emitMode}}return null}function Lt(e,t,r={}){if(!t.includes("*"))return e===t?"":null;let[s,i=""]=t.split("*");return e.startsWith(s)&&e.endsWith(i)?i?e.slice(s.length,-i.length):e.slice(s.length):r.allowBareAliasBase&&i===""&&s.endsWith("/")&&e===s.slice(0,-1)?"":null}function Wn(e,t){if(!e.includes("*"))return e;let[r,s=""]=e.split("*");return t?`${r}${t}${s}`:r.replace(/\/$/,"")}function ne(e="",t=true){let r=E__default.join(e,"package.json");return U.readJSONSync(r,{throws:t})}var Ft=new Map;function Dt(e){let t=E__default.resolve(e),r=Ft.get(t);if(r)return r;let i=ne(e,false)?.imports;if(!i||typeof i!="object"||Array.isArray(i))return Ft.set(t,[]),[];let n=[];for(let[o,a]of Object.entries(i)){if(!o.startsWith("#"))continue;let l=lt(a);l&&n.push({key:o,aliasBase:o==="#*"?"#":o.endsWith("/*")?o.slice(0,-2):o,target:l,emitMode:ct(l),hasWildcard:o.includes("*"),rootDir:t});}return Ft.set(t,n),n}function bs(e){let t=Dt(e).map(r=>r.aliasBase);return t.length?Bn(t):null}function ze(e,t){return ut(e,Dt(t))}function Es(e){let t=Dt(e),r=t.some(s=>s.key==="#*")?{components:"#components",ui:"#components/ui",lib:"#lib",hooks:"#hooks",utils:"#lib/utils"}:null;return {components:Ve(t,"components")??r?.components,ui:Ve(t,"ui")??r?.ui,lib:Ve(t,"lib")??r?.lib,hooks:Ve(t,"hooks")??r?.hooks,utils:Ve(t,"utils")??r?.utils}}function Ve(e,t){return e.map(s=>({entry:s,score:Un(s,t)})).filter(s=>s.score>0).sort((s,i)=>i.score-s.score||i.entry.aliasBase.length-s.entry.aliasBase.length)[0]?.entry.aliasBase}function Un(e,t){let r=e.aliasBase.toLowerCase(),s=qn(e.target).toLowerCase();switch(t){case "components":return r.endsWith("/ui")||s.includes("/components/ui")?0:ht(r,"components")?4:ht(s,"components")?3:0;case "ui":return r.endsWith("/ui")||r==="#ui"?5:s.includes("/components/ui")?4:s.endsWith("/ui")?3:0;case "lib":return r==="#lib"||r.endsWith("/lib")?5:s.endsWith("/lib")?4:ht(s,"lib")?3:0;case "hooks":return r==="#hooks"||r.endsWith("/hooks")?5:s.endsWith("/hooks")?4:ht(s,"hooks")?3:0;case "utils":return r==="#utils"||r.endsWith("/utils")?5:s.endsWith("/lib/utils")?4:s.endsWith("/utils")?3:0}}function qn(e){return e.replace(/\/\*$/,"").replace(/\*$/,"").replace(/\/index\.[^/]+$/,"")}function ht(e,t){return e===t||e.includes(`/${t}`)||e.includes(`${t}/`)}function Bn(e){let t=e.map(r=>r.slice(1).split("/").filter(Boolean)).reduce((r,s,i)=>i?r.filter((n,o)=>s[o]===n):s,[]);return t.length?`#${t.join("/")}`:"#"}var S={error(...e){console.log(P.error(e.join(" ")));},warn(...e){console.log(P.warn(e.join(" ")));},info(...e){console.log(P.info(e.join(" ")));},success(...e){console.log(P.success(e.join(" ")));},log(...e){console.log(e.join(" "));},break(){console.log("");}};var Hn=["next.config.*","vite.config.*","astro.config.*","remix.config.*","nuxt.config.*","svelte.config.*","gatsby-config.*","angular.json"];async function Du(e){if(U.existsSync(E__default.resolve(e,"pnpm-workspace.yaml")))return true;let t=E__default.resolve(e,"package.json");if(U.existsSync(t))try{if((await U.readJson(t)).workspaces)return !0}catch{}return !!(U.existsSync(E__default.resolve(e,"lerna.json"))||U.existsSync(E__default.resolve(e,"nx.json")))}async function Wu(e){let t=await dt(e);if(!t.length)return [];let r=await yt(t,{cwd:e,onlyDirectories:true,ignore:["**/node_modules/**"]}),s=[];for(let i of r){let n=E__default.resolve(e,i);if(!U.existsSync(E__default.resolve(n,"package.json")))continue;let o=U.existsSync(E__default.resolve(n,"components.json")),a=Hn.some(l=>yt.sync(l,{cwd:n,dot:true}).length>0);(o||a)&&s.push({name:i,hasConfig:o});}return s}function Vu(e,t,r){let s=r?.cwdFlag??"-c";S.break(),S.log(`It looks like you are running ${P.info(e)} from a monorepo root.`),S.log(`To use shadcn in a specific workspace, use the ${P.info(s)} flag:`),S.break();for(let i of t)S.log(` shadcn ${e} ${s} ${i.name}`);S.break();}async function dt(e){let t=[],r=E__default.resolve(e,"pnpm-workspace.yaml");if(U.existsSync(r)){let i=await U.readFile(r,"utf8"),n=Array.from(i.matchAll(/^\s*-\s*["']?([^"'\n#]+)["']?\s*$/gm));for(let o of n)t.push(o[1].trim());}let s=E__default.resolve(e,"package.json");if(U.existsSync(s))try{let i=await U.readJson(s),n=Array.isArray(i.workspaces)?i.workspaces:i.workspaces?.packages;Array.isArray(n)&&t.push(...n.filter(o=>!o.startsWith("!")));}catch{}return Array.from(new Set(t))}var Is=new Map,Wt=new Map,pt=new Map;async function Ss(e,t){let r=to(e);if(!r)return null;let s=await Xn(t,r.packageName);return s?ut(e,Yn(s)):null}function Yn(e){let t=`${e.packageRoot}:${e.packageName}`,r=Wt.get(t);if(r)return r;let i=ne(e.packageRoot,false)?.exports;if(!i||typeof i!="object"||Array.isArray(i))return Wt.set(t,[]),[];let n=[];for(let[o,a]of Object.entries(i)){if(o!=="."&&!o.startsWith("./"))continue;let l=lt(a);if(!l)continue;let h=ro(e.packageName,o);n.push({key:o.includes("*")?`${h}/*`:h,aliasBase:h,target:l,emitMode:ct(l),hasWildcard:o.includes("*"),rootDir:e.packageRoot});}return Wt.set(t,n),n}async function Xn(e,t){let r=await Qn(e);if(!r)return null;let s=Is.get(r);if(s?.has(t))return s.get(t)??null;let i=await Zn(r);return Is.set(r,i),i.get(t)??null}async function Zn(e){let t=await dt(e),r=new Map;if(!t.length)return r;let s=await yt(t.map(i=>E__default.posix.join(i.split(E__default.sep).join("/"),"package.json")),{cwd:e,ignore:["**/node_modules/**"]});for(let i of s){let n=E__default.resolve(e,E__default.dirname(i)),a=ne(n,false)?.name;a&&r.set(a,{packageName:a,packageRoot:n});}return r}async function Qn(e){let t=E__default.resolve(e),r=pt.get(t);if(r!==void 0)return r;let s=t,i=await eo(t);for(;;){if((await dt(s)).length)return pt.set(t,s),s;if(i&&s===i)return pt.set(t,null),null;let o=E__default.dirname(s);if(o===s)return pt.set(t,null),null;s=o;}}async function eo(e){let t=E__default.resolve(e);for(;;){if(U.existsSync(E__default.resolve(t,".git")))return t;let r=E__default.dirname(t);if(r===t)return null;t=r;}}function to(e){if(e.startsWith("#")||e.startsWith(".")||E__default.isAbsolute(e))return null;let t=e.split("/");return e.startsWith("@")?t.length<2?null:{packageName:`${t[0]}/${t[1]}`}:{packageName:t[0]}}function ro(e,t){if(t===".")return e;let r=t.slice(2).replace(/\/\*$/,"");return r?`${e}/${r}`:e}async function Ke(e,t){let r=t.cwd??t.absoluteBaseUrl;if(e.startsWith("#")){let i=ze(e,r);if(i)return {path:i.path,source:"package_imports",matchedAlias:i.matchedAlias,matchedTarget:i.matchedTarget,emitMode:i.emitMode}}let s=await Ss(e,r);return s?{path:s.path,source:"workspace_package_exports",matchedAlias:s.matchedAlias,matchedTarget:s.matchedTarget,emitMode:s.emitMode}:no(e,t)}function Vt(e,t){return e.startsWith("#")?true:t?e.startsWith(`${t}/`):false}function io(e){return /^@[^/]+\/[^/]+(?:\/.*)?$/.test(e)}function no(e,t){let r=createMatchPath(t.absoluteBaseUrl,t.paths)(e,void 0,()=>true,[".ts",".tsx",".jsx",".js",".css"]);if(!r)return null;let s=oo(e,t.paths);return !s&&io(e)?null:{path:r,source:"tsconfig_paths",matchedAlias:s?.key??e,matchedTarget:s?.target??r,emitMode:"strip_extension"}}function oo(e,t){for(let[r,s]of Object.entries(t)){let i=Array.isArray(s)?s:[s],n=Lt(e,r);if(n!==null)return {key:r,target:i[0]?.includes("*")&&n!==null?i[0].replace(/\*/g,n):i[0]}}return null}var uh="@/components",hh="@/lib/utils",dh="app/globals.css",ph="tailwind.config.js";var ft=cosmiconfig("components",{searchPlaces:["components.json"]});async function qe(e){let t=await ho(e);return t?(t.iconLibrary||(t.iconLibrary=t.style==="new-york"?"radix":"lucide"),await mt(e,t)):null}async function mt(e,t){t.registries={...z,...t.registries||{}};let r=await loadConfig(e);if(r.resultType==="failed")throw new Error(`Failed to load ${t.tsx?"tsconfig":"jsconfig"}.json. ${r.message??""}`.trim());let s=await Ue("utils",t.aliases.utils,e,r),i=await Ue("components",t.aliases.components,e,r),n=t.aliases.ui?await Ue("ui",t.aliases.ui,e,r):E__default.resolve(i??e,"ui"),o=t.aliases.lib?await Ue("lib",t.aliases.lib,e,r):E__default.resolve(s??e,".."),a=t.aliases.hooks?await Ue("hooks",t.aliases.hooks,e,r):E__default.resolve(i??e,"..","hooks");return uo(e,{components:i,utils:s,ui:n,lib:o,hooks:a}),d$1.parse({...t,resolvedPaths:{cwd:e,tailwindConfig:t.tailwind.config?E__default.resolve(e,t.tailwind.config):"",tailwindCss:E__default.resolve(e,t.tailwind.css),utils:s,components:i,ui:n,lib:o,hooks:a}})}async function Ue(e,t,r,s){let i=await Ke(t,{...s,cwd:r});if(!i?.path||t.startsWith("#")&&i.path===E__default.resolve(r,t))return null;if(e!=="utils"&&(i.source==="package_imports"||i.source==="workspace_package_exports")){if(!i.matchedAlias.includes("*")&&/\/index\.[^/]+$/.test(i.path))return E__default.dirname(i.path);if(i.matchedAlias.includes("*")&&/\.[^/]+$/.test(i.path))return i.path.replace(/\.[^/]+$/,"")}return i.path}function uo(e,t){let r=["components","ui","lib","hooks","utils"].filter(s=>!t[s]);if(r.length)throw new Error([`Could not resolve the following aliases in ${P.info(e)}: ${P.info(r.join(", "))}.`,`Configure path aliases in ${P.info("tsconfig.json")} or imports in ${P.info("package.json")} for this workspace and try again.`].join(`
18
- `))}async function ho(e){try{let t=await ft.search(e);if(!t)return null;let r=c$1.parse(t.config);if(r.registries){for(let s of Object.keys(r.registries))if(s in z)throw new Error(`"${s}" is a built-in registry and cannot be overridden.`)}return r}catch(t){let r=`${e}/components.json`;throw t instanceof Error&&t.message.includes("reserved registry")?t:new Error(`Invalid configuration found in ${P.info(r)}.`)}}async function fh(e$1){let t={};for(let s of Object.keys(e$1.aliases)){if(!fo(s,e$1))continue;let i=e$1.resolvedPaths[s],n=await po(e$1.resolvedPaths.cwd,i);if(!n){t[s]=e$1;continue}let o=await qe(n);if(!o)throw new Error([`Could not load the workspace config in ${P.info(n)}.`,`Add ${P.info("components.json")} to this workspace and configure its path aliases or package imports, then try again.`].join(`
19
- `));t[s]=o;}let r=e.safeParse(t);return r.success?r.data:null}async function po(e,t){let r=mo(e,t),s=E__default.relative(r,t),n=(await yt.glob("**/package.json",{cwd:r,deep:3,ignore:["**/node_modules/**","**/dist/**","**/build/**","**/public/**"]})).map(o=>E__default.dirname(o)).find(o=>s.startsWith(o));return n?E__default.join(r,n):null}function fo(e,t){return Object.keys(t.resolvedPaths).filter(r=>r!=="utils").includes(e)}function mo(e,t){let r=e.split(E__default.sep),s=t.split(E__default.sep),i=[];for(let n=0;n<Math.min(r.length,s.length)&&r[n]===s[n];n++)i.push(r[n]);return i.join(E__default.sep)}async function Cs(e,t){return (await ee(e))?.tailwindVersion==="v4"?"new-york-v4":t}function mh(e){return e?.startsWith("base-")?"base":"radix"}function ks(e){let t={resolvedPaths:{cwd:process.cwd(),tailwindConfig:"",tailwindCss:"",utils:"",components:"",ui:"",lib:"",hooks:""},style:"",tailwind:{config:"",css:"",baseColor:"",cssVariables:false},rsc:false,tsx:true,aliases:{components:"",utils:""},registries:{...z}};return e?{...t,...e,resolvedPaths:{...t.resolvedPaths,...e.resolvedPaths||{}},tailwind:{...t.tailwind,...e.tailwind||{}},aliases:{...t.aliases,...e.aliases||{}},registries:{...t.registries,...e.registries||{}}}:t}var wt=["**/node_modules/**",".next","public","dist","build"],wo=z$1.object({compilerOptions:z$1.object({paths:z$1.record(z$1.string().or(z$1.array(z$1.string())))})});async function ee(e,t){let[r,s,i,n,o,a,l,h]=await Promise.all([yt.glob("**/{next,vite,astro,app}.config.*|gatsby-config.*|composer.json|react-router.config.*",{cwd:e,deep:3,ignore:wt}),U.pathExists(E__default.resolve(e,"src")),Ro(e),bo(e),vo(e,t?.configCssFile),Ts(e),Ps(e),ne(e,false)]),u=await U.pathExists(E__default.resolve(e,`${s?"src/":""}app`)),c={framework:D.manual,isSrcDir:s,isRSC:false,isTsx:i,tailwindConfigFile:n,tailwindCssFile:o,tailwindVersion:a,frameworkVersion:null,aliasPrefix:l.prefix};if(r.find(d=>d.startsWith("next.config."))?.length)return c.framework=u?D["next-app"]:D["next-pages"],c.isRSC=u,c.frameworkVersion=await xo(c.framework,h),c;if(r.find(d=>d.startsWith("astro.config."))?.length)return c.framework=D.astro,c;if(r.find(d=>d.startsWith("gatsby-config."))?.length)return c.framework=D.gatsby,c;if(r.find(d=>d.startsWith("composer.json"))?.length)return c.framework=D.laravel,c;if(Object.keys(h?.dependencies??{}).find(d=>d.startsWith("@remix-run/")))return c.framework=D.remix,c;if([...Object.keys(h?.dependencies??{}),...Object.keys(h?.devDependencies??{})].find(d=>d.startsWith("@tanstack/react-start")))return c.framework=D["tanstack-start"],c;if(r.find(d=>d.startsWith("react-router.config."))?.length)return c.framework=D["react-router"],c;if(r.find(d=>d.startsWith("vite.config."))?.length)return c.framework=D.vite,c;let p=r.find(d=>d.startsWith("app.config"));return p?.length&&(await U.readFile(E__default.resolve(e,p),"utf8")).includes("defineConfig")?(c.framework=D.vite,c):(h?.dependencies?.expo&&(c.framework=D.expo),c)}async function xo(e,t){if(!t||!["next-app","next-pages"].includes(e.name))return null;let r=t.dependencies?.next||t.devDependencies?.next;if(!r)return null;let s=r.match(/^[\^~]?(\d+\.\d+\.\d+)/);if(s)return s[1];let i=r.match(/(\d+\.\d+\.\d+)/);return i?i[1]:r}async function Ts(e){let[t,r]=await Promise.all([ne(e,false),qe(e)]);return r?.tailwind?.config===""?"v4":!t?.dependencies?.tailwindcss&&!t?.devDependencies?.tailwindcss?null:/^(?:\^|~)?3(?:\.\d+)*(?:-.*)?$/.test(t?.dependencies?.tailwindcss||t?.devDependencies?.tailwindcss||"")?"v3":"v4"}async function vo(e,t){if(t){let n=E__default.resolve(e,t);if(await U.pathExists(n))return t}let[r,s]=await Promise.all([yt.glob(["**/*.css","**/*.scss"],{cwd:e,deep:5,ignore:wt}),Ts(e)]);if(!r.length)return null;for(let n of r){let o=await U.readFile(E__default.resolve(e,n),"utf8");if(o.includes('@import "tailwindcss"')||o.includes("@import 'tailwindcss'")||o.includes("@tailwind base"))return n}return null}async function bo(e){let t=await yt.glob("tailwind.config.*",{cwd:e,deep:3,ignore:wt});return t.length?t[0]:null}async function Eo(e){let t=await loadConfig(e),r=t?.resultType==="success"&&Object.entries(t.paths).length?t.paths:(await Io(e))?.compilerOptions.paths;if(!r||!Object.entries(r).length)return null;for(let[s,i]of Object.entries(r)){let n=Array.isArray(i)?i:[i];if(n.includes("./*")||n.includes("./src/*")||n.includes("./app/*")||n.includes("./resources/js/*"))return s.replace(/\/\*$/,"")??null}return Object.keys(r)?.[0].replace(/\/\*$/,"")??null}async function Ps(e){let t=await Eo(e),r=bs(e);return r&&t?.startsWith("#")?{prefix:r,source:"package_imports"}:t?{prefix:t,source:"tsconfig_paths"}:r?{prefix:r,source:"package_imports"}:{prefix:null,source:null}}async function Ro(e){return (await yt.glob("tsconfig.*",{cwd:e,deep:1,ignore:wt})).length>0}async function Io(e){for(let t of ["tsconfig.json","tsconfig.web.json","tsconfig.app.json"]){let r=E__default.resolve(e,t);if(!await U.pathExists(r))continue;let s=await U.readFile(r,"utf8"),i;try{i=JSON.parse(So(s));}catch{continue}let n=wo.safeParse(i);if(!n.error)return n.data}return null}function So(e){let t="",r=false,s=false;for(let i=0;i<e.length;i++){let n=e[i],o=e[i+1];if(r){if(t+=n,s){s=false;continue}if(n==="\\"){s=true;continue}n==='"'&&(r=false);continue}if(n==='"'){r=true,t+=n;continue}if(n==="/"&&o==="/"){for(;i<e.length&&e[i]!==`
17
+ `)}`;}super(r,{code:_.PARSE_ERROR,cause:t,context:{parseError:t},suggestion:"The registries index may be corrupted or have invalid registry namespace format. Registry names must start with @ (e.g., @shadcn, @example)."}),this.parseError=t,this.name="RegistriesIndexParseError";}};var Mn=/^(@[a-zA-Z0-9](?:[a-zA-Z0-9-_]*[a-zA-Z0-9])?)\/(.+)$/;function Ee(e){if(!e.startsWith("@"))return {registry:null,item:e};let t=e.match(Mn);return t?{registry:t[1],item:t[2]}:{registry:null,item:e}}var D={"next-app":{name:"next-app",label:"Next.js",links:{installation:`${L}/docs/installation/next`,tailwind:"https://tailwindcss.com/docs/guides/nextjs"}},"next-pages":{name:"next-pages",label:"Next.js",links:{installation:`${L}/docs/installation/next`,tailwind:"https://tailwindcss.com/docs/guides/nextjs"}},remix:{name:"remix",label:"Remix",links:{installation:`${L}/docs/installation/remix`,tailwind:"https://tailwindcss.com/docs/guides/remix"}},"react-router":{name:"react-router",label:"React Router",links:{installation:`${L}/docs/installation/react-router`,tailwind:"https://tailwindcss.com/docs/installation/framework-guides/react-router"}},vite:{name:"vite",label:"Vite",links:{installation:`${L}/docs/installation/vite`,tailwind:"https://tailwindcss.com/docs/guides/vite"}},astro:{name:"astro",label:"Astro",links:{installation:`${L}/docs/installation/astro`,tailwind:"https://tailwindcss.com/docs/guides/astro"}},laravel:{name:"laravel",label:"Laravel",links:{installation:`${L}/docs/installation/laravel`,tailwind:"https://tailwindcss.com/docs/guides/laravel"}},"tanstack-start":{name:"tanstack-start",label:"TanStack Start",links:{installation:`${L}/docs/installation/tanstack`,tailwind:"https://tailwindcss.com/docs/installation/using-postcss"}},gatsby:{name:"gatsby",label:"Gatsby",links:{installation:`${L}/docs/installation/gatsby`,tailwind:"https://tailwindcss.com/docs/guides/gatsby"}},expo:{name:"expo",label:"Expo",links:{installation:`${L}/docs/installation/expo`,tailwind:"https://www.nativewind.dev/docs/getting-started/installation"}},manual:{name:"manual",label:"Manual",links:{installation:`${L}/docs/installation/manual`,tailwind:"https://tailwindcss.com/docs/installation"}}};var P={error:red,warn:yellow,info:cyan,success:green};function lt(e){let t=[e];for(;t.length;){let r=t.shift();if(typeof r=="string"){if(r.startsWith("./"))return r;continue}if(Array.isArray(r)){t.unshift(...r);continue}r&&typeof r=="object"&&t.unshift(...Object.values(r));}return null}function ct(e){if(!e.includes("*"))return "strip_extension";let t=e.slice(e.indexOf("*")+1);return t&&/^\.[^/]+$/.test(t)?"strip_extension":"preserve_extension"}function ut(e,t){let r=t.find(i=>!i.hasWildcard&&i.key===e);if(r)return {path:E__default.resolve(r.rootDir,r.target),matchedAlias:r.key,matchedTarget:r.target,emitMode:r.emitMode};let s=t.filter(i=>i.hasWildcard).sort((i,n)=>n.key.length-i.key.length);for(let i of s){let n=Lt(e,i.key,{allowBareAliasBase:true});if(n!==null)return {path:E__default.resolve(i.rootDir,Wn(i.target,n)),matchedAlias:i.key,matchedTarget:i.target,emitMode:i.emitMode}}return null}function Lt(e,t,r={}){if(!t.includes("*"))return e===t?"":null;let[s,i=""]=t.split("*");return e.startsWith(s)&&e.endsWith(i)?i?e.slice(s.length,-i.length):e.slice(s.length):r.allowBareAliasBase&&i===""&&s.endsWith("/")&&e===s.slice(0,-1)?"":null}function Wn(e,t){if(!e.includes("*"))return e;let[r,s=""]=e.split("*");return t?`${r}${t}${s}`:r.replace(/\/$/,"")}function ne(e="",t=true){let r=E__default.join(e,"package.json");return U.readJSONSync(r,{throws:t})}var Ft=new Map;function Dt(e){let t=E__default.resolve(e),r=Ft.get(t);if(r)return r;let i=ne(e,false)?.imports;if(!i||typeof i!="object"||Array.isArray(i))return Ft.set(t,[]),[];let n=[];for(let[o,a]of Object.entries(i)){if(!o.startsWith("#"))continue;let l=lt(a);l&&n.push({key:o,aliasBase:o==="#*"?"#":o.endsWith("/*")?o.slice(0,-2):o,target:l,emitMode:ct(l),hasWildcard:o.includes("*"),rootDir:t});}return Ft.set(t,n),n}function bs(e){let t=Dt(e).map(r=>r.aliasBase);return t.length?Bn(t):null}function ze(e,t){return ut(e,Dt(t))}function Es(e){let t=Dt(e),r=t.some(s=>s.key==="#*")?{components:"#components",ui:"#components/ui",lib:"#lib",hooks:"#hooks",utils:"#lib/utils"}:null;return {components:Ve(t,"components")??r?.components,ui:Ve(t,"ui")??r?.ui,lib:Ve(t,"lib")??r?.lib,hooks:Ve(t,"hooks")??r?.hooks,utils:Ve(t,"utils")??r?.utils}}function Ve(e,t){return e.map(s=>({entry:s,score:Un(s,t)})).filter(s=>s.score>0).sort((s,i)=>i.score-s.score||i.entry.aliasBase.length-s.entry.aliasBase.length)[0]?.entry.aliasBase}function Un(e,t){let r=e.aliasBase.toLowerCase(),s=qn(e.target).toLowerCase();switch(t){case "components":return r.endsWith("/ui")||s.includes("/components/ui")?0:ht(r,"components")?4:ht(s,"components")?3:0;case "ui":return r.endsWith("/ui")||r==="#ui"?5:s.includes("/components/ui")?4:s.endsWith("/ui")?3:0;case "lib":return r==="#lib"||r.endsWith("/lib")?5:s.endsWith("/lib")?4:ht(s,"lib")?3:0;case "hooks":return r==="#hooks"||r.endsWith("/hooks")?5:s.endsWith("/hooks")?4:ht(s,"hooks")?3:0;case "utils":return r==="#utils"||r.endsWith("/utils")?5:s.endsWith("/lib/utils")?4:s.endsWith("/utils")?3:0}}function qn(e){return e.replace(/\/\*$/,"").replace(/\*$/,"").replace(/\/index\.[^/]+$/,"")}function ht(e,t){return e===t||e.includes(`/${t}`)||e.includes(`${t}/`)}function Bn(e){let t=e.map(r=>r.slice(1).split("/").filter(Boolean)).reduce((r,s,i)=>i?r.filter((n,o)=>s[o]===n):s,[]);return t.length?`#${t.join("/")}`:"#"}var S={error(...e){console.log(P.error(e.join(" ")));},warn(...e){console.log(P.warn(e.join(" ")));},info(...e){console.log(P.info(e.join(" ")));},success(...e){console.log(P.success(e.join(" ")));},log(...e){console.log(e.join(" "));},break(){console.log("");}};var Hn=["next.config.*","vite.config.*","astro.config.*","remix.config.*","nuxt.config.*","svelte.config.*","gatsby-config.*","angular.json"];async function Wu(e){if(U.existsSync(E__default.resolve(e,"pnpm-workspace.yaml")))return true;let t=E__default.resolve(e,"package.json");if(U.existsSync(t))try{if((await U.readJson(t)).workspaces)return !0}catch{}return !!(U.existsSync(E__default.resolve(e,"lerna.json"))||U.existsSync(E__default.resolve(e,"nx.json")))}async function Vu(e){let t=await dt(e);if(!t.length)return [];let r=await yt(t,{cwd:e,onlyDirectories:true,ignore:["**/node_modules/**"]}),s=[];for(let i of r){let n=E__default.resolve(e,i);if(!U.existsSync(E__default.resolve(n,"package.json")))continue;let o=U.existsSync(E__default.resolve(n,"components.json")),a=Hn.some(l=>yt.sync(l,{cwd:n,dot:true}).length>0);(o||a)&&s.push({name:i,hasConfig:o});}return s}function zu(e,t,r){let s=r?.cwdFlag??"-c";S.break(),S.log(`It looks like you are running ${P.info(e)} from a monorepo root.`),S.log(`To use shadcn in a specific workspace, use the ${P.info(s)} flag:`),S.break();for(let i of t)S.log(` shadcn ${e} ${s} ${i.name}`);S.break();}async function dt(e){let t=[],r=E__default.resolve(e,"pnpm-workspace.yaml");if(U.existsSync(r)){let i=await U.readFile(r,"utf8");t.push(...Gn(i));}let s=E__default.resolve(e,"package.json");if(U.existsSync(s))try{let i=await U.readJson(s),n=Array.isArray(i.workspaces)?i.workspaces:i.workspaces?.packages;Array.isArray(n)&&t.push(...n.filter(o=>!o.startsWith("!")));}catch{}return Array.from(new Set(t))}function Gn(e){let t=[],r=false,s=0;for(let i of e.split(`
18
+ `)){let n=i.trim();if(!n||n.startsWith("#"))continue;let o=i.match(/^(\s*)([A-Za-z0-9_-]+)\s*:/);if(o){s=o[1].length,r=o[2]==="packages";continue}if(!r)continue;let a=i.match(/^(\s*)-\s*(.+?)\s*(?:#.*)?$/);!a||a[1].length<=s||t.push(a[2].trim().replace(/^["']|["']$/g,""));}return t}var Is=new Map,Wt=new Map,pt=new Map;async function Ss(e,t){let r=ro(e);if(!r)return null;let s=await Xn(t,r.packageName);return s?ut(e,Zn(s)):null}function Zn(e){let t=`${e.packageRoot}:${e.packageName}`,r=Wt.get(t);if(r)return r;let i=ne(e.packageRoot,false)?.exports;if(!i||typeof i!="object"||Array.isArray(i))return Wt.set(t,[]),[];let n=[];for(let[o,a]of Object.entries(i)){if(o!=="."&&!o.startsWith("./"))continue;let l=lt(a);if(!l)continue;let h=so(e.packageName,o);n.push({key:o.includes("*")?`${h}/*`:h,aliasBase:h,target:l,emitMode:ct(l),hasWildcard:o.includes("*"),rootDir:e.packageRoot});}return Wt.set(t,n),n}async function Xn(e,t){let r=await eo(e);if(!r)return null;let s=Is.get(r);if(s?.has(t))return s.get(t)??null;let i=await Qn(r);return Is.set(r,i),i.get(t)??null}async function Qn(e){let t=await dt(e),r=new Map;if(!t.length)return r;let s=await yt(t.map(i=>E__default.posix.join(i.split(E__default.sep).join("/"),"package.json")),{cwd:e,ignore:["**/node_modules/**"]});for(let i of s){let n=E__default.resolve(e,E__default.dirname(i)),a=ne(n,false)?.name;a&&r.set(a,{packageName:a,packageRoot:n});}return r}async function eo(e){let t=E__default.resolve(e),r=pt.get(t);if(r!==void 0)return r;let s=t,i=await to(t);for(;;){if((await dt(s)).length)return pt.set(t,s),s;if(i&&s===i)return pt.set(t,null),null;let o=E__default.dirname(s);if(o===s)return pt.set(t,null),null;s=o;}}async function to(e){let t=E__default.resolve(e);for(;;){if(U.existsSync(E__default.resolve(t,".git")))return t;let r=E__default.dirname(t);if(r===t)return null;t=r;}}function ro(e){if(e.startsWith("#")||e.startsWith(".")||E__default.isAbsolute(e))return null;let t=e.split("/");return e.startsWith("@")?t.length<2?null:{packageName:`${t[0]}/${t[1]}`}:{packageName:t[0]}}function so(e,t){if(t===".")return e;let r=t.slice(2).replace(/\/\*$/,"");return r?`${e}/${r}`:e}async function Ke(e,t){let r=t.cwd??t.absoluteBaseUrl;if(e.startsWith("#")){let i=ze(e,r);if(i)return {path:i.path,source:"package_imports",matchedAlias:i.matchedAlias,matchedTarget:i.matchedTarget,emitMode:i.emitMode}}let s=await Ss(e,r);return s?{path:s.path,source:"workspace_package_exports",matchedAlias:s.matchedAlias,matchedTarget:s.matchedTarget,emitMode:s.emitMode}:oo(e,t)}function Vt(e,t){return e.startsWith("#")?true:t?e.startsWith(`${t}/`):false}function no(e){return /^@[^/]+\/[^/]+(?:\/.*)?$/.test(e)}function oo(e,t){let r=createMatchPath(t.absoluteBaseUrl,t.paths)(e,void 0,()=>true,[".ts",".tsx",".jsx",".js",".css"]);if(!r)return null;let s=ao(e,t.paths);return !s&&no(e)?null:{path:r,source:"tsconfig_paths",matchedAlias:s?.key??e,matchedTarget:s?.target??r,emitMode:"strip_extension"}}function ao(e,t){for(let[r,s]of Object.entries(t)){let i=Array.isArray(s)?s:[s],n=Lt(e,r);if(n!==null)return {key:r,target:i[0]?.includes("*")&&n!==null?i[0].replace(/\*/g,n):i[0]}}return null}var hh="@/components",dh="@/lib/utils",ph="app/globals.css",fh="tailwind.config.js";var ft=cosmiconfig("components",{searchPlaces:["components.json"]});async function qe(e){let t=await po(e);return t?(t.iconLibrary||(t.iconLibrary=t.style==="new-york"?"radix":"lucide"),await mt(e,t)):null}async function mt(e,t){t.registries={...z,...t.registries||{}};let r=await loadConfig(e);if(r.resultType==="failed")throw new Error(`Failed to load ${t.tsx?"tsconfig":"jsconfig"}.json. ${r.message??""}`.trim());let s=await Ue("utils",t.aliases.utils,e,r),i=await Ue("components",t.aliases.components,e,r),n=t.aliases.ui?await Ue("ui",t.aliases.ui,e,r):E__default.resolve(i??e,"ui"),o=t.aliases.lib?await Ue("lib",t.aliases.lib,e,r):E__default.resolve(s??e,".."),a=t.aliases.hooks?await Ue("hooks",t.aliases.hooks,e,r):E__default.resolve(i??e,"..","hooks");return ho(e,{components:i,utils:s,ui:n,lib:o,hooks:a}),d$1.parse({...t,resolvedPaths:{cwd:e,tailwindConfig:t.tailwind.config?E__default.resolve(e,t.tailwind.config):"",tailwindCss:E__default.resolve(e,t.tailwind.css),utils:s,components:i,ui:n,lib:o,hooks:a}})}async function Ue(e,t,r,s){let i=await Ke(t,{...s,cwd:r});if(!i?.path||t.startsWith("#")&&i.path===E__default.resolve(r,t))return null;if(e!=="utils"&&(i.source==="package_imports"||i.source==="workspace_package_exports")){if(!i.matchedAlias.includes("*")&&/\/index\.[^/]+$/.test(i.path))return E__default.dirname(i.path);if(i.matchedAlias.includes("*")&&/\.[^/]+$/.test(i.path))return i.path.replace(/\.[^/]+$/,"")}return i.path}function ho(e,t){let r=["components","ui","lib","hooks","utils"].filter(s=>!t[s]);if(r.length)throw new Error([`Could not resolve the following aliases in ${P.info(e)}: ${P.info(r.join(", "))}.`,`Configure path aliases in ${P.info("tsconfig.json")} or imports in ${P.info("package.json")} for this workspace and try again.`].join(`
19
+ `))}async function po(e){try{let t=await ft.search(e);if(!t)return null;let r=c$1.parse(t.config);if(r.registries){for(let s of Object.keys(r.registries))if(s in z)throw new Error(`"${s}" is a built-in registry and cannot be overridden.`)}return r}catch(t){let r=`${e}/components.json`;throw t instanceof Error&&t.message.includes("reserved registry")?t:new Error(`Invalid configuration found in ${P.info(r)}.`)}}async function mh(e$1){let t={};for(let s of Object.keys(e$1.aliases)){if(!mo(s,e$1))continue;let i=e$1.resolvedPaths[s],n=await fo(e$1.resolvedPaths.cwd,i);if(!n){t[s]=e$1;continue}let o=await qe(n);if(!o)throw new Error([`Could not load the workspace config in ${P.info(n)}.`,`Add ${P.info("components.json")} to this workspace and configure its path aliases or package imports, then try again.`].join(`
20
+ `));t[s]=o;}let r=e.safeParse(t);return r.success?r.data:null}async function fo(e,t){let r=go(e,t),s=E__default.relative(r,t),n=(await yt.glob("**/package.json",{cwd:r,deep:3,ignore:["**/node_modules/**","**/dist/**","**/build/**","**/public/**"]})).map(o=>E__default.dirname(o)).find(o=>s.startsWith(o));return n?E__default.join(r,n):null}function mo(e,t){return Object.keys(t.resolvedPaths).filter(r=>r!=="utils").includes(e)}function go(e,t){let r=e.split(E__default.sep),s=t.split(E__default.sep),i=[];for(let n=0;n<Math.min(r.length,s.length)&&r[n]===s[n];n++)i.push(r[n]);return i.join(E__default.sep)}async function Cs(e,t){return (await ee(e))?.tailwindVersion==="v4"?"new-york-v4":t}function gh(e){return e?.startsWith("base-")?"base":"radix"}function ks(e){let t={resolvedPaths:{cwd:process.cwd(),tailwindConfig:"",tailwindCss:"",utils:"",components:"",ui:"",lib:"",hooks:""},style:"",tailwind:{config:"",css:"",baseColor:"",cssVariables:false},rsc:false,tsx:true,aliases:{components:"",utils:""},registries:{...z}};return e?{...t,...e,resolvedPaths:{...t.resolvedPaths,...e.resolvedPaths||{}},tailwind:{...t.tailwind,...e.tailwind||{}},aliases:{...t.aliases,...e.aliases||{}},registries:{...t.registries,...e.registries||{}}}:t}var wt=["**/node_modules/**",".next","public","dist","build"],xo=z$1.object({compilerOptions:z$1.object({paths:z$1.record(z$1.string().or(z$1.array(z$1.string())))})});async function ee(e,t){let[r,s,i,n,o,a,l,h]=await Promise.all([yt.glob("**/{next,vite,astro,app}.config.*|gatsby-config.*|composer.json|react-router.config.*",{cwd:e,deep:3,ignore:wt}),U.pathExists(E__default.resolve(e,"src")),Io(e),Eo(e),bo(e,t?.configCssFile),Ts(e),Ps(e),ne(e,false)]),u=await U.pathExists(E__default.resolve(e,`${s?"src/":""}app`)),c={framework:D.manual,isSrcDir:s,isRSC:false,isTsx:i,tailwindConfigFile:n,tailwindCssFile:o,tailwindVersion:a,frameworkVersion:null,aliasPrefix:l.prefix};if(r.find(d=>d.startsWith("next.config."))?.length)return c.framework=u?D["next-app"]:D["next-pages"],c.isRSC=u,c.frameworkVersion=await vo(c.framework,h),c;if(r.find(d=>d.startsWith("astro.config."))?.length)return c.framework=D.astro,c;if(r.find(d=>d.startsWith("gatsby-config."))?.length)return c.framework=D.gatsby,c;if(r.find(d=>d.startsWith("composer.json"))?.length)return c.framework=D.laravel,c;if(Object.keys(h?.dependencies??{}).find(d=>d.startsWith("@remix-run/")))return c.framework=D.remix,c;if([...Object.keys(h?.dependencies??{}),...Object.keys(h?.devDependencies??{})].find(d=>d.startsWith("@tanstack/react-start")))return c.framework=D["tanstack-start"],c;if(r.find(d=>d.startsWith("react-router.config."))?.length)return c.framework=D["react-router"],c;if(r.find(d=>d.startsWith("vite.config."))?.length)return c.framework=D.vite,c;let p=r.find(d=>d.startsWith("app.config"));return p?.length&&(await U.readFile(E__default.resolve(e,p),"utf8")).includes("defineConfig")?(c.framework=D.vite,c):(h?.dependencies?.expo&&(c.framework=D.expo),c)}async function vo(e,t){if(!t||!["next-app","next-pages"].includes(e.name))return null;let r=t.dependencies?.next||t.devDependencies?.next;if(!r)return null;let s=r.match(/^[\^~]?(\d+\.\d+\.\d+)/);if(s)return s[1];let i=r.match(/(\d+\.\d+\.\d+)/);return i?i[1]:r}async function Ts(e){let[t,r]=await Promise.all([ne(e,false),qe(e)]);return r?.tailwind?.config===""?"v4":!t?.dependencies?.tailwindcss&&!t?.devDependencies?.tailwindcss?null:/^(?:\^|~)?3(?:\.\d+)*(?:-.*)?$/.test(t?.dependencies?.tailwindcss||t?.devDependencies?.tailwindcss||"")?"v3":"v4"}async function bo(e,t){if(t){let n=E__default.resolve(e,t);if(await U.pathExists(n))return t}let[r,s]=await Promise.all([yt.glob(["**/*.css","**/*.scss"],{cwd:e,deep:5,ignore:wt}),Ts(e)]);if(!r.length)return null;for(let n of r){let o=await U.readFile(E__default.resolve(e,n),"utf8");if(o.includes('@import "tailwindcss"')||o.includes("@import 'tailwindcss'")||o.includes("@tailwind base"))return n}return null}async function Eo(e){let t=await yt.glob("tailwind.config.*",{cwd:e,deep:3,ignore:wt});return t.length?t[0]:null}async function Ro(e){let t=await loadConfig(e),r=t?.resultType==="success"&&Object.entries(t.paths).length?t.paths:(await So(e))?.compilerOptions.paths;if(!r||!Object.entries(r).length)return null;for(let[s,i]of Object.entries(r)){let n=Array.isArray(i)?i:[i];if(n.includes("./*")||n.includes("./src/*")||n.includes("./app/*")||n.includes("./resources/js/*"))return s.replace(/\/\*$/,"")??null}return Object.keys(r)?.[0].replace(/\/\*$/,"")??null}async function Ps(e){let t=await Ro(e),r=bs(e);return r&&t?.startsWith("#")?{prefix:r,source:"package_imports"}:t?{prefix:t,source:"tsconfig_paths"}:r?{prefix:r,source:"package_imports"}:{prefix:null,source:null}}async function Io(e){return (await yt.glob("tsconfig.*",{cwd:e,deep:1,ignore:wt})).length>0}async function So(e){for(let t of ["tsconfig.json","tsconfig.web.json","tsconfig.app.json"]){let r=E__default.resolve(e,t);if(!await U.pathExists(r))continue;let s=await U.readFile(r,"utf8"),i;try{i=JSON.parse(Co(s));}catch{continue}let n=xo.safeParse(i);if(!n.error)return n.data}return null}function Co(e){let t="",r=false,s=false;for(let i=0;i<e.length;i++){let n=e[i],o=e[i+1];if(r){if(t+=n,s){s=false;continue}if(n==="\\"){s=true;continue}n==='"'&&(r=false);continue}if(n==='"'){r=true,t+=n;continue}if(n==="/"&&o==="/"){for(;i<e.length&&e[i]!==`
20
21
  `;)i++;i<e.length&&(t+=e[i]);continue}if(n==="/"&&o==="*"){for(i+=2;i<e.length;){if(e[i]==="*"&&e[i+1]==="/"){i++;break}e[i]===`
21
22
  `&&(t+=`
22
23
  `),i++;}continue}if(n===","){let a=i+1;for(;a<e.length;){for(;/\s/.test(e[a]??"");)a++;if(e[a]==="/"&&e[a+1]==="/"){for(a+=2;a<e.length&&e[a]!==`
23
- `&&e[a]!=="\r";)a++;continue}if(e[a]==="/"&&e[a+1]==="*"){for(a+=2;a<e.length&&!(e[a]==="*"&&e[a+1]==="/");)a++;a+=2;continue}break}if(e[a]==="}"||e[a]==="]")continue}t+=n;}return t}async function $h(e,t=null){let[r,s,i]=await Promise.all([qe(e),t?Promise.resolve(t):ee(e),Ps(e)]);if(r)return r;if(!s||!s.tailwindCssFile||s.tailwindVersion==="v3"&&!s.tailwindConfigFile)return null;let n=i.source==="package_imports"?Es(e):null;if(!s.aliasPrefix)return null;let o=Co(s.aliasPrefix,i.source==="package_imports"),a=i.source==="package_imports"&&n?ko({...o,components:n.components??o.components,ui:n.ui??o.ui,hooks:n.hooks??o.hooks,lib:n.lib??o.lib,utils:n.utils??o.utils}):o;if(!a.components||!a.utils)return null;let l={$schema:"https://ui.shadcn.com/schema.json",rsc:s.isRSC,tsx:s.isTsx,style:"new-york",tailwind:{config:s.tailwindConfigFile??"",baseColor:"zinc",css:s.tailwindCssFile,cssVariables:true,prefix:""},iconLibrary:"lucide",aliases:a};return await mt(e,l)}function Co(e,t=false){return t&&e==="#"?{components:"",ui:void 0,hooks:void 0,lib:void 0,utils:""}:{components:`${e}/components`,ui:`${e}/components/ui`,hooks:`${e}/hooks`,lib:`${e}/lib`,utils:`${e}/lib/utils`}}function ko(e){let t={...e};return !t.ui&&t.components&&(t.ui=`${t.components}/ui`),!t.lib&&t.utils.endsWith("/utils")&&(t.lib=t.utils.slice(0,-6)),!t.utils&&t.lib&&(t.utils=`${t.lib}/utils`),t}async function xt(e){if(!e.resolvedPaths?.cwd)return "v3";let t=await ee(e.resolvedPaths.cwd);return t?.tailwindVersion?t.tailwindVersion:null}async function Ah(e){let t=await qe(e);if(!t)return [];let s=(await mt(e,t)).resolvedPaths.ui;if(!U.existsSync(s))return [];let i=await gt(),n=new Set(i?.map(a=>a.name)??[]);return (await promises.readdir(s)).filter(a=>/\.(tsx|jsx)$/.test(a)).map(a=>E__default.basename(a,E__default.extname(a))).filter(a=>n.has(a))}function $s(e,t,r={}){let{ignoreImports:s=false}=r,i=e.replace(/\r\n/g,`
24
+ `&&e[a]!=="\r";)a++;continue}if(e[a]==="/"&&e[a+1]==="*"){for(a+=2;a<e.length&&!(e[a]==="*"&&e[a+1]==="/");)a++;a+=2;continue}break}if(e[a]==="}"||e[a]==="]")continue}t+=n;}return t}async function Ah(e,t=null){let[r,s,i]=await Promise.all([qe(e),t?Promise.resolve(t):ee(e),Ps(e)]);if(r)return r;if(!s||!s.tailwindCssFile||s.tailwindVersion==="v3"&&!s.tailwindConfigFile)return null;let n=i.source==="package_imports"?Es(e):null;if(!s.aliasPrefix)return null;let o=ko(s.aliasPrefix,i.source==="package_imports"),a=i.source==="package_imports"&&n?To({...o,components:n.components??o.components,ui:n.ui??o.ui,hooks:n.hooks??o.hooks,lib:n.lib??o.lib,utils:n.utils??o.utils}):o;if(!a.components||!a.utils)return null;let l={$schema:"https://ui.shadcn.com/schema.json",rsc:s.isRSC,tsx:s.isTsx,style:"new-york",tailwind:{config:s.tailwindConfigFile??"",baseColor:"zinc",css:s.tailwindCssFile,cssVariables:true,prefix:""},iconLibrary:"lucide",aliases:a};return await mt(e,l)}function ko(e,t=false){return t&&e==="#"?{components:"",ui:void 0,hooks:void 0,lib:void 0,utils:""}:{components:`${e}/components`,ui:`${e}/components/ui`,hooks:`${e}/hooks`,lib:`${e}/lib`,utils:`${e}/lib/utils`}}function To(e){let t={...e};return !t.ui&&t.components&&(t.ui=`${t.components}/ui`),!t.lib&&t.utils.endsWith("/utils")&&(t.lib=t.utils.slice(0,-6)),!t.utils&&t.lib&&(t.utils=`${t.lib}/utils`),t}async function xt(e){if(!e.resolvedPaths?.cwd)return "v3";let t=await ee(e.resolvedPaths.cwd);return t?.tailwindVersion?t.tailwindVersion:null}async function Oh(e){let t=await qe(e);if(!t)return [];let s=(await mt(e,t)).resolvedPaths.ui;if(!U.existsSync(s))return [];let i=await gt(),n=new Set(i?.map(a=>a.name)??[]);return (await promises.readdir(s)).filter(a=>/\.(tsx|jsx)$/.test(a)).map(a=>E__default.basename(a,E__default.extname(a))).filter(a=>n.has(a))}function $s(e,t,r={}){let{ignoreImports:s=false}=r,i=e.replace(/\r\n/g,`
24
25
  `).trim(),n=t.replace(/\r\n/g,`
25
26
  `).trim();if(i===n)return true;if(!s)return false;let o=/^(import\s+(?:type\s+)?(?:\*\s+as\s+\w+|\{[^}]*\}|\w+)?(?:\s*,\s*(?:\{[^}]*\}|\w+))?\s+from\s+["'])([^"']+)(["'])/gm,a=u=>u.replace(o,(c,p,d,f)=>{if(d.startsWith("."))return `${p}${d}${f}`;let m=d.split("/"),g=m[m.length-1];return `${p}@normalized/${g}${f}`}),l=a(i),h=a(n);return l===h}function ge(e){let t=E__default.basename(e);return /^\.env(\.|$)/.test(t)}function Os(e){let t=[".env.local",".env",".env.development.local",".env.development"];for(let r of t){let s=E__default.join(e,r);if(existsSync(s))return s}return null}function Ie(e){let t=e.split(`
26
27
  `),r={};for(let s of t){let i=s.trim();if(!i||i.startsWith("#"))continue;let n=i.indexOf("=");if(n===-1)continue;let o=i.substring(0,n).trim(),a=i.substring(n+1).trim();o&&(r[o]=a.replace(/^["']|["']$/g,""));}return r}function js(e,t){let r=Ie(e),s=Ie(t),i=[];for(let n of Object.keys(s))n in r||i.push(n);return i}function _s(e,t){let r=Ie(e),s=Ie(t),i=e.trimEnd();i&&!i.endsWith(`
@@ -30,25 +31,25 @@ ${t.errors.map(i=>` - ${i.path.join(".")}: ${i.message}`).join(`
30
31
  `),i+`
31
32
  `):i&&!i.endsWith(`
32
33
  `)?i+`
33
- `:i}function ye(e,t){return Po({text:e,isSilent:t?.silent})}var vt=async({sourceFile:e,config:t,isRemote:r})=>{let s=t.aliases?.utils,i=typeof s=="string"?Oo(s):"@",n=i?`${i}/lib/utils`:"@/lib/utils";if(![".tsx",".ts",".jsx",".js"].includes(e.getExtension()))return e;for(let o of e.getImportStringLiterals()){let a=Ao(o.getLiteralValue(),t,r);if(o.setLiteralValue(a),n===a||a==="@/lib/utils"){if(!o.getFirstAncestorByKind(SyntaxKind.ImportDeclaration)?.getNamedImports().some(u=>u.getName()==="cn")||!t.aliases.utils)continue;o.setLiteralValue(n===a?a.replace(n,t.aliases.utils):t.aliases.utils);}}return e};function Ao(e,t,r=false){if(e=jo(e,t),!e.startsWith("@/")&&!r)return e;if(r&&e.startsWith("@/")&&(e=e.replace(/^@\//,"@/registry/new-york/")),e==="@/registry")return t.aliases.components;if(!e.startsWith("@/registry/")){if(e==="@/lib/utils"&&t.aliases.utils)return t.aliases.utils;if(t.aliases.ui&&e.match(/^@\/components\/ui(?=\/|$)/))return e.replace(/^@\/components\/ui/,t.aliases.ui);if(t.aliases.components&&e.match(/^@\/components(?=\/|$)/))return e.replace(/^@\/components/,t.aliases.components);if(t.aliases.hooks&&e.match(/^@\/hooks(?=\/|$)/))return e.replace(/^@\/hooks/,t.aliases.hooks);if(t.aliases.lib&&e.match(/^@\/lib(?=\/|$)/))return e.replace(/^@\/lib/,t.aliases.lib);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.utils&&e.match(/^@\/registry\/(.+)\/lib\/utils$/)?t.aliases.utils: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)}function Oo(e){if(e.startsWith("#"))return "";if(e.endsWith("/lib/utils"))return e.slice(0,-10);if(e.startsWith("@")){let[r,s]=e.split("/");return r&&s?`${r}/${s}`:e}let t=e.indexOf("/");return t===-1?e:e.slice(0,t)}function jo(e,t){if(e==="#registry")return "@/registry";if(e.startsWith("#/"))return e.replace(/^#\//,"@/");if(e.startsWith("#registry/"))return e.replace(/^#registry\//,"@/registry/");for(let{alias:r,normalized:s}of _o(t)){if(e===r)return s;if(e.startsWith(`${r}/`))return `${s}${e.slice(r.length)}`}return e}function _o(e){return e.aliases?[{alias:e.aliases.ui,normalized:"@/components/ui"},{alias:e.aliases.components,normalized:"@/components"},{alias:e.aliases.hooks,normalized:"@/hooks"},{alias:e.aliases.lib,normalized:"@/lib"},{alias:e.aliases.utils,normalized:"@/lib/utils"}].filter(t=>typeof t.alias=="string"&&t.alias.startsWith("#")).sort((t,r)=>r.alias.length-t.alias.length):[]}var Fo={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"]},Ms=async({sourceFile:e,config:t})=>{let r=e.getFullText();if(t.tsx)return r;let s=bt.parse(r,{parser:{parse:n=>parse(n,Fo)}}),i=transformFromAstSync(s,r,{cloneInputAst:false,code:false,ast:true,plugins:[Lo],configFile:false});if(!i||!i.ast)throw new Error("Failed to transform JSX");return bt.print(i.ast).code};var Wo=/^["']use client["']$/g,Et=async({sourceFile:e,config:t})=>{if(t.rsc)return e;let r=e.getFirstChildByKind(SyntaxKind.ExpressionStatement);return r&&Wo.test(r.getText())&&r.remove(),e};var Vo=new Set(["cn-font-heading"]),zo=/\bcn-[a-z-]+\b/;function Ns(e){return zo.test(e)&&!Vo.has(e)}function Ls(e){return e.split(/\s+/).filter(t=>t.length>0&&!Ns(t)).join(" ")}function Fs(e){return e.split(/\s+/).some(Ns)}function Rt(e){let t=e.getLiteralValue();if(!Fs(t))return;let r=Ls(t);r!==t&&e.setLiteralValue(r);}function zt(e){for(let t of e.getDescendantsOfKind(SyntaxKind.StringLiteral))Rt(t);for(let t of e.getDescendantsOfKind(SyntaxKind.NoSubstitutionTemplateLiteral))Rt(t);}function Ko(e){let t=[];for(let r of e.getDescendantsOfKind(SyntaxKind.JsxAttribute)){let s=r.getNameNode().getText();if(s!=="className"&&s!=="classNames")continue;let i=r.getInitializer();if(i?.isKind(SyntaxKind.StringLiteral)){let n=i.getLiteralValue();if(Fs(n)){let o=Ls(n);o===""?t.push(r):o!==n&&i.setLiteralValue(o);}}i?.isKind(SyntaxKind.JsxExpression)&&zt(i);}for(let r of t)r.remove();for(let r of e.getDescendantsOfKind(SyntaxKind.CallExpression))if(r.getExpression().getText()==="cva")for(let s of r.getArguments()){if(s.isKind(SyntaxKind.StringLiteral)){Rt(s);continue}if(s.isKind(SyntaxKind.NoSubstitutionTemplateLiteral)){Rt(s);continue}zt(s);}for(let r of e.getDescendantsOfKind(SyntaxKind.CallExpression))r.getExpression().getText()==="mergeProps"&&zt(r);}var It=async({sourceFile:e})=>(Ko(e),e);var St=async({sourceFile:e,config:t})=>{if(!t.tailwind?.prefix)return e;let r=await xt(t);return e.getDescendantsOfKind(SyntaxKind.CallExpression).filter(s=>s.getExpression().getText()==="cva").forEach(s=>{if(s.getArguments()[0]?.isKind(SyntaxKind.StringLiteral)){let i=s.getArguments()[0];i&&i.replaceWithText(`"${le(i.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}s.getArguments()[1]?.isKind(SyntaxKind.ObjectLiteralExpression)&&s.getArguments()[1]?.getDescendantsOfKind(SyntaxKind.PropertyAssignment).find(i=>i.getName()==="variants")?.getDescendantsOfKind(SyntaxKind.PropertyAssignment).forEach(i=>{i.getDescendantsOfKind(SyntaxKind.PropertyAssignment).forEach(n=>{let o=n.getInitializerIfKind(SyntaxKind.StringLiteral);o&&o?.replaceWithText(`"${le(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 i=s.getInitializer();i&&i.replaceWithText(`"${le(i.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}if(s.getInitializer()?.isKind(SyntaxKind.JsxExpression)){let i=s.getInitializer()?.getDescendantsOfKind(SyntaxKind.CallExpression).find(n=>n.getExpression().getText()==="cn");i&&i.getArguments().forEach(n=>{(n.isKind(SyntaxKind.ConditionalExpression)||n.isKind(SyntaxKind.BinaryExpression))&&n.getChildrenOfKind(SyntaxKind.StringLiteral).forEach(o=>{o.replaceWithText(`"${le(o.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}),n.isKind(SyntaxKind.StringLiteral)&&n.replaceWithText(`"${le(n.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);});}}s.getNameNode().getText()==="classNames"&&s.getInitializer()?.isKind(SyntaxKind.JsxExpression)&&s.getDescendantsOfKind(SyntaxKind.PropertyAssignment).forEach(i=>{if(i.getInitializer()?.isKind(SyntaxKind.CallExpression)){let n=i.getInitializerIfKind(SyntaxKind.CallExpression);n&&n.getArguments().forEach(o=>{o.isKind(SyntaxKind.ConditionalExpression)&&o.getChildrenOfKind(SyntaxKind.StringLiteral).forEach(a=>{a.replaceWithText(`"${le(a.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}),o.isKind(SyntaxKind.StringLiteral)&&o.replaceWithText(`"${le(o.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);});}if(i.getInitializer()?.isKind(SyntaxKind.StringLiteral)&&i.getNameNode().getText()!=="variant"){let n=i.getInitializer();n&&n.replaceWithText(`"${le(n.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}});}),e};function le(e,t="",r){return r==="v3"?e.split(" ").map(s=>{let[i,n,o]=b(s);return i?o?`${i}:${t}${n}/${o}`:`${i}:${t}${n}`:o?`${t}${n}/${o}`:`${t}${n}`}).join(" "):e.split(" ").map(s=>s.indexOf(`${t}:`)===0?s:`${t}:${s.trim()}`).join(" ")}var Go=new Project({compilerOptions:{}});async function Jo(e){let t=await promises.mkdtemp(E__default.join(tmpdir(),"shadcn-"));return E__default.join(t,e)}async function Ws(e,t=[vt,Et,a,St,d,c,It]){let r=await Jo(e.filename),s=Go.createSourceFile(r,e.raw,{scriptKind:ScriptKind.TSX});for(let i of t)await i({sourceFile:s,...e});return e.transformJsx?await Ms({sourceFile:s,...e}):s.getText()}var Yo=["a","span","div","Link","label","Label"],Vs=async({sourceFile:e,config:t})=>{if(!t.style?.startsWith("base-"))return e;let r=10;for(let s=0;s<r;s++){let n=e.getDescendantsOfKind(SyntaxKind.JsxElement).filter(l=>l.getOpeningElement().getAttribute("asChild"));if(n.length===0)break;let o=n.filter(l=>!l.getDescendantsOfKind(SyntaxKind.JsxElement).some(u=>u.getOpeningElement().getAttribute("asChild"))),a=[];for(let l of o){let h=l.getOpeningElement(),u=h.getAttribute("asChild");if(!u)continue;let c=h.getTagNameNode().getText(),d=l.getJsxChildren().find(y=>y.getKind()===SyntaxKind.JsxElement||y.getKind()===SyntaxKind.JsxSelfClosingElement);if(!d){u.remove();continue}let f,m,g;if(d.getKind()===SyntaxKind.JsxSelfClosingElement){let y=d.asKindOrThrow(SyntaxKind.JsxSelfClosingElement);f=y.getTagNameNode().getText(),m=y.getAttributes().map(w=>w.getText()).join(" "),g="";}else {let y=d.asKindOrThrow(SyntaxKind.JsxElement),w=y.getOpeningElement();f=w.getTagNameNode().getText(),m=w.getAttributes().map(v=>v.getText()).join(" "),g=y.getJsxChildren().map(v=>v.getText()).join("");}let x=c==="Button"&&Yo.includes(f);a.push({parentElement:l,parentTagName:c,childTagName:f,childProps:m,childChildren:g,needsNativeButton:x});}for(let l of a.reverse()){let u=l.parentElement.getOpeningElement().getAttributes().filter(m=>m.getKind()===SyntaxKind.JsxAttribute?m.asKindOrThrow(SyntaxKind.JsxAttribute).getNameNode().getText()!=="asChild":true).map(m=>m.getText()).join(" "),c=l.childProps?`{<${l.childTagName} ${l.childProps} />}`:`{<${l.childTagName} />}`,p=u?`${u} `:"";p+=`render=${c}`,l.needsNativeButton&&(p+=" nativeButton={false}");let d=l.childChildren.trim()?`${l.childChildren}`:"",f=`<${l.parentTagName} ${p}>${d}</${l.parentTagName}>`;l.parentElement.replaceWithText(f);}}return e};var zs=async({sourceFile:e})=>(e.getFunctions().forEach(t=>{t.getName()==="middleware"&&t.rename("proxy");}),e.getVariableDeclarations().forEach(t=>{t.getName()==="middleware"&&t.rename("proxy");}),e.getExportDeclarations().forEach(t=>{t.getNamedExports().forEach(s=>{s.getName()==="middleware"&&s.setName("proxy"),s.getAliasNode()?.getText()==="middleware"&&s.setAlias("proxy");});}),e);var Ut=[".ts",".tsx",".js",".jsx"],Qo=new Set(["tailwindConfig","tailwindCss"]),ea=["components","ui","lib","hooks"];async function Zd(e,t,r){if(!e?.length)return {filesCreated:[],filesUpdated:[],filesSkipped:[]};r={overwrite:false,force:false,silent:false,isRemote:false,isWorkspace:false,...r};let s=ye("Updating files.",{silent:r.silent})?.start(),[i,n]=await Promise.all([ee(t.resolvedPaths.cwd),t.tailwind.baseColor?Tt(t.tailwind.baseColor):Promise.resolve(void 0)]),o=loadConfig(t.resolvedPaths.cwd),a$1=aa(r.plannedFiles??e,t,{isSrcDir:i?.isSrcDir,framework:i?.framework.name,path:r.path}),l=new Project({compilerOptions:{}}),h=[],u=[],c$1=[],p=[],d$1=null;for(let x=0;x<e.length;x++){let y=e[x];if(!y.content)continue;let w=Ct(y,t,{isSrcDir:i?.isSrcDir,framework:i?.framework.name,commonRoot:kt(e.map(C=>C.path),y.path),path:r.path,fileIndex:x});if(!w)continue;let v=basename(y.path),b=E__default.dirname(w);if(t.tsx||(w=w.replace(/\.tsx?$/,C=>C===".tsx"?".jsx":".js")),ge(w)&&!existsSync(w)){let C=Os(b);C&&(w=C);}let R=existsSync(w);if(y.type==="registry:lib"&&basename(y.path)==="utils.ts"&&i?.framework.name==="laravel"&&R){c$1.push(E__default.relative(t.resolvedPaths.cwd,w));continue}if(R&&statSync(w).isDirectory())throw new Error(`Cannot write to ${w}: path exists and is a directory. Please provide a file path instead.`);let T=y.type==="registry:file"||y.type==="registry:item",k=ge(w)||T?y.content:await Ws({filename:y.path,raw:y.content,config:t,baseColor:n,transformJsx:!t.tsx,isRemote:r.isRemote,supportedFontMarkers:r.supportedFontMarkers},[vt,Et,a,St,c,g,Vs,d,...Ks(w,i,t)?[zs]:[],f$1,It]);if(R&&!ge(w)){let C=await Gs({config:t,content:k,filePaths:a$1,project:l,projectInfo:i,resolvedPath:w,tsConfig:o}),X=await promises.readFile(w,"utf-8");if($s(X,C,{ignoreImports:r.isWorkspace})){c$1.push(E__default.relative(t.resolvedPaths.cwd,w));continue}}if(R&&!r.overwrite&&!ge(w)){s.stop(),r.rootSpinner&&r.rootSpinner.stop();let{overwrite:C}=await Zo({type:"confirm",name:"overwrite",message:`The file ${P.info(v)} already exists. Would you like to overwrite?`,initial:false});if(!C){c$1.push(E__default.relative(t.resolvedPaths.cwd,w)),r.rootSpinner&&r.rootSpinner.start();continue}s?.start(),r.rootSpinner&&r.rootSpinner.start();}if(Ks(w,i,t)&&(w=w.replace(/middleware\.(ts|js)$/,"proxy.$1")),existsSync(b)||await promises.mkdir(b,{recursive:true}),ge(w)&&R){let C=await promises.readFile(w,"utf-8"),X=_s(C,k);if(p=js(C,k),d$1=E__default.relative(t.resolvedPaths.cwd,w),!p.length){c$1.push(E__default.relative(t.resolvedPaths.cwd,w));continue}await promises.writeFile(w,X,"utf-8"),u.push(E__default.relative(t.resolvedPaths.cwd,w));continue}await promises.writeFile(w,k,"utf-8"),R?u.push(E__default.relative(t.resolvedPaths.cwd,w)):(h.push(E__default.relative(t.resolvedPaths.cwd,w)),ge(w)&&(p=Object.keys(Ie(k)),d$1=E__default.relative(t.resolvedPaths.cwd,w)));}let f=[...h,...u,...c$1],m=await oa(f,t,a$1);if(u.push(...m),h=Array.from(new Set(h)),u=Array.from(new Set(u.filter(x=>!h.includes(x)))),c$1=Array.from(new Set(c$1)),!(h.length||u.length)&&!c$1.length&&s?.info("No files updated."),h.length){if(s?.succeed(`Created ${h.length} ${h.length===1?"file":"files"}:`),!r.silent)for(let x of h)S.log(` - ${x}`);}else s?.stop();if(u.length&&(ye(`Updated ${u.length} ${u.length===1?"file":"files"}:`,{silent:r.silent})?.info(),!r.silent))for(let x of u)S.log(` - ${x}`);if(c$1.length&&(ye(`Skipped ${c$1.length} ${c$1.length===1?"file":"files"}: (files might be identical, use --overwrite to overwrite)`,{silent:r.silent})?.info(),!r.silent))for(let x of c$1)S.log(` - ${x}`);if(p.length&&d$1&&(ye(`Added the following variables to ${P.info(d$1)}:`)?.info(),!r.silent))for(let x of p)S.log(` ${P.success("+")} ${x}`);return {filesCreated:h,filesUpdated:u,filesSkipped:c$1}}function Ct(e,t,r){if(r.path){let n=E__default.isAbsolute(r.path)?r.path:E__default.join(t.resolvedPaths.cwd,r.path);if(/\.[^/\\]+$/.test(n)){if(r.fileIndex===0)return n}else {let a=E__default.basename(e.path);return E__default.join(n,a)}}if(e.target){if(e.target.startsWith("~/"))return E__default.join(t.resolvedPaths.cwd,e.target.replace("~/",""));let n=e.target,o=ta(n,t);return o?.resolvedPath?o.resolvedPath:(o?.target&&(n=o.target),e.type==="registry:page"&&(n=na(n,r.framework),!n)?"":r.isSrcDir?E__default.join(t.resolvedPaths.cwd,"src",n.replace("src/","")):E__default.join(t.resolvedPaths.cwd,n.replace("src/","")))}let s=sa(e,t),i=ia(e.path,s);return E__default.join(s,i)}function ta(e,t){let r=e.match(/^@([^/]+)\/(.+)$/);if(!r)return null;let[,s,i]=r;if(!ra(s))return {target:`${s}/${i}`};let n=E__default.resolve(t.resolvedPaths[s]),o=E__default.resolve(n,i);if(o!==n&&!o.startsWith(`${n}${E__default.sep}`))throw new Error(`Invalid target path "${e}". Target paths using @${s}/ must stay within the ${s} alias root.`);return {resolvedPath:o}}function ra(e){return ea.includes(e)}function sa(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 kt(e,t){let r=e.map(o=>o.replace(/^\//,"")),s=t.replace(/^\//,""),i=s.split("/").slice(0,-1).join("/");if(!i)return "";let n=i.split("/");for(let o=n.length;o>0;o--){let a=n.slice(0,o).join("/");if(r.some(h=>h!==s&&h.startsWith(a+"/")))return "/"+a}return "/"+i}function ia(e,t){let r=e.replace(/^\/|\/$/g,""),s=t.replace(/^\/|\/$/g,""),i=r.split("/"),n=s.split("/"),o=n[n.length-1],a=i.findIndex(l=>l===o);return a===-1?i[i.length-1]:i.slice(a+1).join("/")}function na(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 oa(e,t,r=e){let s=new Project({compilerOptions:{}}),i=await ee(t.resolvedPaths.cwd),n=loadConfig(t.resolvedPaths.cwd),o=[];if(!i||n.resultType==="failed")return [];for(let a of e){let l=E__default.resolve(t.resolvedPaths.cwd,a);if(!existsSync(l))continue;let h=await promises.readFile(l,"utf-8"),u=await promises.mkdtemp(E__default.join(tmpdir(),"shadcn-")),c=s.createSourceFile(E__default.join(u,basename(l)),h,{scriptKind:ScriptKind.TSX});if(![".tsx",".ts",".jsx",".js"].includes(c.getExtension()))continue;let p=await Gs({config:t,content:h,filePaths:r,project:s,projectInfo:i,resolvedPath:l,sourceFile:c,tsConfig:n});p!==h&&(await promises.writeFile(l,p,"utf-8"),o.push(a));}return o}function aa(e,t,r){return (e??[])?.filter(s=>!!s?.content).map((s,i)=>{let n=Ct(s,t,{isSrcDir:r.isSrcDir,framework:r.framework,commonRoot:kt((e??[]).map(o=>o.path),s.path),path:r.path,fileIndex:i});return n?(t.tsx||(n=n.replace(/\.tsx?$/,o=>o===".tsx"?".jsx":".js")),E__default.relative(t.resolvedPaths.cwd,n)):null}).filter(s=>!!s)}async function Gs({content:e,resolvedPath:t,filePaths:r,config:s,projectInfo:i,tsConfig:n,project:o,sourceFile:a}){if(!i||n.resultType==="failed")return e;let l=E__default.extname(t);if(![".tsx",".ts",".jsx",".js"].includes(l))return e;let h=a===void 0?o.createSourceFile(E__default.join(tmpdir(),`shadcn-${Math.random().toString(36).slice(2)}${l||".tsx"}`),e,{scriptKind:ScriptKind.TSX,overwrite:true}):null,u=a??h;try{let c=!1;for(let p of u.getImportDeclarations()){let d=p.getModuleSpecifierValue();if(!Vt(d,i.aliasPrefix??null))continue;let f=await la(d,r,s,n);if(!f)continue;let m=ua(f,s,i,t);!m||m===d||(p.setModuleSpecifier(m),c=!0);}return c?u.getFullText():e}finally{h&&o.removeSourceFile(h);}}async function la(e,t,r,s){let i=(await Ke(e,{...s,cwd:r.resolvedPaths.cwd}))?.path,n=!i&&!e.startsWith(".")?da(e,r):null;return !i&&!n?null:ca(i??n,t,r)}function ca(e,t,r,s=[".tsx",".ts",".js",".jsx",".css"]){let i=E__default.normalize(r.resolvedPaths.cwd),n=t.map(g=>g.split(E__default.sep).join(E__default.posix.sep)),o=new Set(n),a=E__default.extname(e),l=a!=="",h=l?e.slice(0,-a.length):e,c=E__default.relative(i,h).split(E__default.sep).join(E__default.posix.sep),p=l?[a]:s,d=new Set;for(let g of p){let x=h+g,y=E__default.posix.normalize(E__default.relative(i,x));(o.has(y)||existsSync(x))&&d.add(y);let w=E__default.join(h,`index${g}`),v=E__default.posix.normalize(E__default.relative(i,w));(o.has(v)||existsSync(w))&&d.add(v);}let f=E__default.basename(h);for(let g of n)p.some(x=>g.endsWith(`/${f}${x}`))&&d.add(g);return d.size===0?null:Array.from(d).sort((g,x)=>{let y=E__default.posix.extname(g),w=E__default.posix.extname(x),v=p.indexOf(y)-p.indexOf(w);if(v!==0)return v;let b=c&&g.startsWith(c)?-1:1,R=c&&x.startsWith(c)?-1:1;return b-R})[0]}function ua(e,t,r,s){let i=E__default.normalize(E__default.join(t.resolvedPaths.cwd,e)),n=Object.entries(t.resolvedPaths).filter(([f,m])=>{if(!m||Qo.has(f))return false;let g=E__default.normalize(m);if(i===g){let x=t.aliases[f];if(typeof x!="string"||!x.startsWith("#"))return true;let y=ze(x,t.resolvedPaths.cwd);return y!==null&&!y.matchedAlias.includes("*")}return i.startsWith(E__default.normalize(m+E__default.sep))}).sort((f,m)=>m[1].length-f[1].length);if(n.length===0)return null;let[o,a]=n[0],l=E__default.relative(a,i);l=l.split(E__default.sep).join("/");let h=o==="cwd"?r.aliasPrefix:t.aliases[o];if(!h)return null;if(h.startsWith("#")){let f=ze(h,t.resolvedPaths.cwd);if(f)return ha(h,l,f)??(s?fa(s,i):null)}let u=E__default.posix.extname(l),c=Ut.includes(u)?"":u,p=l.slice(0,l.length-u.length);p.endsWith("/index")&&(p=p.slice(0,-6));let d=p===""?"":`/${p}`;return d=d.replace("/src",""),`${h}${d}${c}`}function ha(e,t,r){let s=E__default.posix.extname(t),i=Ut.includes(s)&&r.emitMode==="strip_extension"?"":s,n=t?t.slice(0,t.length-s.length)+i:"";return r.matchedAlias.includes("*")?n?`${e}/${n}`:e:n===""||n==="index"?e:null}function da(e,t){let r=pa(t);for(let s of r){if(e===s.alias||e===s.canonical)return s.rootPath;if(e.startsWith(`${s.alias}/`))return E__default.join(s.rootPath,e.slice(s.alias.length+1));if(e.startsWith(`${s.canonical}/`))return E__default.join(s.rootPath,e.slice(s.canonical.length+1))}return null}function pa(e){return [{alias:e.aliases.ui,canonical:"@/components/ui",rootPath:e.resolvedPaths.ui},{alias:e.aliases.components,canonical:"@/components",rootPath:e.resolvedPaths.components},{alias:e.aliases.hooks,canonical:"@/hooks",rootPath:e.resolvedPaths.hooks},{alias:e.aliases.lib,canonical:"@/lib",rootPath:e.resolvedPaths.lib},{alias:e.aliases.utils,canonical:"@/lib/utils",rootPath:e.resolvedPaths.utils}].filter(t=>typeof t.alias=="string"&&typeof t.rootPath=="string").sort((t,r)=>r.alias.length-t.alias.length||r.canonical.length-t.canonical.length)}function fa(e,t){let r=E__default.relative(E__default.dirname(e),t);r=r.split(E__default.sep).join("/");let s=E__default.posix.extname(r),i=Ut.includes(s)?"":s,n=r.slice(0,r.length-s.length);return n.endsWith("/index")&&(n=n.slice(0,-6)),n.startsWith(".")||(n=`./${n}`),`${n}${i}`}function Ks(e,t,r){let s=e===E__default.join(r.resolvedPaths.cwd,"middleware.ts")||e===E__default.join(r.resolvedPaths.cwd,"middleware.js"),i=t?.framework.name==="next-app"||t?.framework.name==="next-pages";if(!s||!i||!t?.frameworkVersion)return false;let n=parseInt(t.frameworkVersion.split(".")[0]);return !isNaN(n)&&n>=16}new Project({compilerOptions:{}});function M(e){try{return new URL(e),!0}catch{return false}}function Ce(e){return e.endsWith(".json")&&!M(e)}function pp(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 Ys(e,t){if(!ga(t))return z$1.array(g$1).parse(e.flat().filter(Boolean));let r=await ee(t.resolvedPaths.cwd),s=new Map,i=z$1.array(g$1).parse(e.flat().filter(Boolean));return i.forEach(n=>{let o=Ct(n,t,{isSrcDir:r?.isSrcDir,framework:r?.framework.name,commonRoot:kt(i.map(a=>a.path),n.path)});o&&s.set(o,n);}),Array.from(s.values())}function ga(e){return !!(e?.resolvedPaths?.cwd&&(e?.resolvedPaths?.ui||e?.resolvedPaths?.lib||e?.resolvedPaths?.components||e?.resolvedPaths?.hooks))}function wa(e){return e.style?e.style==="new-york"&&e.tailwind?.config===""?nt:e.style:nt}function ke(e){let t=ks({style:nt,registries:z});return e?d$1.parse(Pe(t,{...e,style:wa(e),registries:{...z,...e.registries}})):t}var Pt={headers:{}};function Be(e){Pt.headers={...Pt.headers,...e};}function Xs(e){return Pt.headers[e]||{}}function He(){Pt.headers={};}function xa(e){let t=new Set;return typeof e=="string"?je(e).forEach(r=>t.add(r)):(je(e.url).forEach(r=>t.add(r)),e.params&&Object.values(e.params).forEach(r=>{je(r).forEach(s=>t.add(s));}),e.headers&&Object.values(e.headers).forEach(r=>{je(r).forEach(s=>t.add(s));})),Array.from(t)}function Zs(e,t){let s=xa(t).filter(i=>!process.env[i]);if(s.length>0)throw new Fe(e,s)}function Tp(e,t){for(let r of e)Te(r,ke(t));He();}var Qs="{name}",$t="{style}",ei=/\${(\w+)}/g,ti="?",va="&";function ba(e){return e.startsWith("./")||e.startsWith("/")}function Te(e,t){let{registry:r,item:s}=Ee(e);if(!r){if(M(e)||Ce(e)||ba(e))return null;r="@shadcn";}let n={...z,...t?.registries}[r];if(!n)throw new ie(r);return Zs(r,n),{url:Ea(s,n,t),headers:Ra(n)}}function Ea(e,t,r){if(typeof t=="string"){let i=t.replace(Qs,e);return r?.style&&i.includes($t)&&(i=i.replace($t,r.style)),Oe(i)}let s=t.url.replace(Qs,e);return r?.style&&s.includes($t)&&(s=s.replace($t,r.style)),s=Oe(s),t.params?Ia(s,t.params):s}function Ra(e){if(typeof e=="string"||!e.headers)return {};let t={};for(let[r,s]of Object.entries(e.headers)){let i=Oe(s);Sa(s,i)&&(t[r]=i);}return t}function Ia(e,t){let r=new URLSearchParams;for(let[n,o]of Object.entries(t)){let a=Oe(o);a&&r.append(n,a);}let s=r.toString();if(!s)return e;let i=e.includes(ti)?va:ti;return `${e}${i}${s}`}function Sa(e,t){let r=t.trim();if(!r)return false;if(e.includes("${")&&e.match(ei)){let i=e.replace(ei,"").trim();return r!==i}return true}function At(e){if(M(e)){let t=new URL(e);return t.pathname.match(/\/chat\/b\//)&&!t.pathname.endsWith("/json")&&(t.pathname=`${t.pathname}/json`),t.toString()}return `${fe}/${e}`}var Aa=process.env.https_proxy?new HttpsProxyAgent(process.env.https_proxy):void 0,qt=new Map;async function N(e,t={}){t={useCache:true,...t};try{return await Promise.all(e.map(async s=>{let i=At(s);if(t.useCache&&qt.has(i))return qt.get(i);let n=(async()=>{let o=Xs(i),a=new Headers({Accept:"application/vnd.shadcn.v1+json, application/json;q=0.9","User-Agent":"shadcn"});for(let[h,u]of Object.entries(o))a.set(h,u);let l=await Pa(i,{agent:Aa,headers:a});if(!l.ok){let h;if(l.headers.get("content-type")?.includes("application/json")){let u=await l.json(),c=z$1.object({detail:z$1.string().optional(),title:z$1.string().optional(),message:z$1.string().optional(),error:z$1.string().optional()}).safeParse(u);c.success&&(h=c.data.detail||c.data.message,c.data.error&&(h=`[${c.data.error}] ${h}`));}throw l.status===401?new _e(i,h):l.status===404?new me(i,h):l.status===410?new ot(i,h):l.status===403?new Me(i,h):new Ne(i,l.status,h)}return l.json()})();return t.useCache&&qt.set(i,n),n}))}catch(r){throw r}}async function si(e){try{let t=e;e.startsWith("~/")&&(t=E__default.join(homedir(),e.slice(2)));let r=E__default.resolve(t),s=await promises.readFile(r,"utf8"),i=JSON.parse(s);try{return n.parse(i)}catch(n){throw new F(e,n)}}catch(t){throw t instanceof Error&&(t.message.includes("ENOENT")||t.message.includes("no such file"))?new Z(e,t):t instanceof F?t:new Z(e,t)}}async function af(e,t,r){if(!e||(r={silent:false,tailwindVersion:"v3",...r},r.tailwindVersion==="v4"))return;let s=E__default.relative(t.resolvedPaths.cwd,t.resolvedPaths.tailwindConfig),i=ye(`Updating ${P.info(s)}`,{silent:r.silent}).start(),n=await promises.readFile(t.resolvedPaths.tailwindConfig,"utf8"),o=await La(n,e,t);await promises.writeFile(t.resolvedPaths.tailwindConfig,o,"utf8"),i?.succeed();}async function La(e,t,r){let s=await ni(e,r),i=s.getDescendantsOfKind(SyntaxKind.ObjectLiteralExpression).find(o=>o.getProperties().some(a=>a.isKind(SyntaxKind.PropertyAssignment)&&a.getName()==="content"));if(!i)return e;let n=Va(i);return Fa(i,{name:"darkMode",value:"class"},{quoteChar:n}),t.plugins?.forEach(o=>{Wa(i,o);}),t.theme&&await Da(i,t.theme),s.getFullText()}function Fa(e,t,{quoteChar:r}){let s=e.getProperty("darkMode");if(!s){let i={name:t.name,initializer:`[${r}${t.value}${r}]`};return t.name==="darkMode"?(e.insertPropertyAssignment(0,i),e):(e.addPropertyAssignment(i),e)}if(s.isKind(SyntaxKind.PropertyAssignment)){let i=s.getInitializer(),n=`${r}${t.value}${r}`;if(i?.isKind(SyntaxKind.StringLiteral)){let o=i.getText();return i.replaceWithText(`[${o}, ${n}]`),e}if(i?.isKind(SyntaxKind.ArrayLiteralExpression)){if(i.getElements().map(o=>o.getText()).includes(n))return e;i.addElement(n);}return e}return e}async function Da(e,t){e.getProperty("theme")||e.addPropertyAssignment({name:"theme",initializer:"{}"}),Ht(e);let s=(e.getPropertyOrThrow("theme")?.asKindOrThrow(SyntaxKind.PropertyAssignment)).getInitializer();if(s?.isKind(SyntaxKind.ObjectLiteralExpression)){let i=s.getText(),n=await za(i),o=Pe(n,t,{arrayMerge:(l,h)=>h}),a=_a(o).replace(/\'\.\.\.(.*)\'/g,"...$1").replace(/\'\"/g,"'").replace(/\"\'/g,"'").replace(/\'\[/g,"[").replace(/\]\'/g,"]").replace(/\'\\\'/g,"'").replace(/\\\'/g,"'").replace(/\\\'\'/g,"'").replace(/\'\'/g,"'");s.replaceWithText(a);}Gt(e);}function Wa(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(i=>i.getText().replace(/["']/g,"")).includes(t.replace(/["']/g,"")))return e;s.addElement(t);}return e}return e}async function ni(e,t){let r=await promises.mkdtemp(E__default.join(tmpdir(),"shadcn-")),s=t?.resolvedPaths?.tailwindConfig||"tailwind.config.ts",i=E__default.join(r,`shadcn-${E__default.basename(s)}`);return new Project({compilerOptions:{}}).createSourceFile(i,e,{scriptKind:E__default.extname(s)===".ts"?ScriptKind.TS:ScriptKind.JS})}function Va(e){return e.getFirstDescendantByKind(SyntaxKind.StringLiteral)?.getQuoteKind()===QuoteKind.Single?"'":'"'}function Ht(e){let t=e.getProperties();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.SpreadAssignment)){let i=s.asKindOrThrow(SyntaxKind.SpreadAssignment),n=i.getExpression().getText();e.insertPropertyAssignment(r,{name:`"___${n.replace(/^\.\.\./,"")}"`,initializer:`"...${n.replace(/^\.\.\./,"")}"`}),i.remove();}else if(s.isKind(SyntaxKind.PropertyAssignment)){let n=s.asKindOrThrow(SyntaxKind.PropertyAssignment).getInitializer();n&&n.isKind(SyntaxKind.ObjectLiteralExpression)?Ht(n.asKindOrThrow(SyntaxKind.ObjectLiteralExpression)):n&&n.isKind(SyntaxKind.ArrayLiteralExpression)&&oi(n.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));}}}function oi(e){let t=e.getElements();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.ObjectLiteralExpression))Ht(s.asKindOrThrow(SyntaxKind.ObjectLiteralExpression));else if(s.isKind(SyntaxKind.ArrayLiteralExpression))oi(s.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));else if(s.isKind(SyntaxKind.SpreadElement)){let i=s.getText();e.removeElement(r),e.insertElement(r,`"${i}"`);}}}function Gt(e){let t=e.getProperties();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.PropertyAssignment)){let i=s,n=i.getInitializer();if(n&&n.isKind(SyntaxKind.StringLiteral)){let o=n.asKindOrThrow(SyntaxKind.StringLiteral).getLiteralValue();o.startsWith("...")&&(e.insertSpreadAssignment(r,{expression:o.slice(3)}),i.remove());}else n?.isKind(SyntaxKind.ObjectLiteralExpression)?Gt(n):n&&n.isKind(SyntaxKind.ArrayLiteralExpression)&&ai(n.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));}}}function ai(e){let t=e.getElements();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.ObjectLiteralExpression))Gt(s.asKindOrThrow(SyntaxKind.ObjectLiteralExpression));else if(s.isKind(SyntaxKind.ArrayLiteralExpression))ai(s.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));else if(s.isKind(SyntaxKind.StringLiteral)){let i=s.getText(),n=/(?:^['"])(\.\.\..*)(?:['"]$)/g;n.test(i)&&(e.removeElement(r),e.insertElement(r,i.replace(n,"$1")));}}}async function za(e){let r=(await ni(`const theme = ${e}`,null)).getStatements()[0];if(r?.getKind()===SyntaxKind.VariableStatement){let i=(r.getDeclarationList()?.getDeclarations()[0]).getInitializer();if(i?.isKind(SyntaxKind.ObjectLiteralExpression))return await Ot(i)}throw new Error("Invalid input: not an object literal")}function Ot(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]=Ot(r.getInitializer()):r.getInitializer()?.isKind(SyntaxKind.ArrayLiteralExpression)?t[s]=li(r.getInitializer()):t[s]=Jt(r.getInitializer());}return t}function li(e){let t=[];for(let r of e.getElements())r.isKind(SyntaxKind.ObjectLiteralExpression)?t.push(Ot(r.asKindOrThrow(SyntaxKind.ObjectLiteralExpression))):r.isKind(SyntaxKind.ArrayLiteralExpression)?t.push(li(r.asKindOrThrow(SyntaxKind.ArrayLiteralExpression))):t.push(Jt(r));return t}function Jt(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(Jt);case SyntaxKind.ObjectLiteralExpression:return Ot(e);default:return e.getText()}}function ci(e){let t={};for(let r of Object.keys(e)){let s=r.split("-"),i=s[0],n=s.slice(1).join("-");n===""?typeof t[i]=="object"?t[i].DEFAULT=`hsl(var(--${r}))`:t[i]=`hsl(var(--${r}))`:(typeof t[i]!="object"&&(t[i]={DEFAULT:`hsl(var(--${i}))`}),t[i][n]=`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 Ye(e,t){let r={},s=[...e];if(!t?.registries)return Be({}),s;for(let i=0;i<s.length;i++){let n=Te(s[i],t);n&&(s[i]=n.url,Object.keys(n.headers).length>0&&(r[n.url]=n.headers));}return Be(r),s}async function we(e,t,r={}){return await Promise.all(e.map(async i=>{if(Ce(i))return si(i);if(M(i)){let[a]=await N([i],r);try{return n.parse(a)}catch(l){throw new F(i,l)}}if(i.startsWith("@")&&t?.registries){let a=Ye([i],t),[l]=await N(a,r);try{return n.parse(l)}catch(h){throw new F(i,h)}}let n$1=`styles/${t?.style??"new-york-v4"}/${i}.json`,[o]=await N([n$1],r);try{return n.parse(o)}catch(a){throw new F(i,a)}}))}m.extend({type:f,_source:z$1.string().optional(),font:l.optional(),config:z$1.any().optional()}).passthrough();async function hi(e,t,r={}){r={useCache:true,...r};let s=[],i=[],n$1=[],o=Array.from(new Set(e)),a=await we(o,t,r),l=new Map;for(let y=0;y<a.length;y++)a[y]&&l.set(o[y],a[y]);for(let[y,w]of Array.from(l.entries())){let v={...w,_source:y};if(s.push(v),w.registryDependencies){let b=w.registryDependencies;if(t?.registries)b=Ye(w.registryDependencies,t);else {let k=w.registryDependencies.filter(C=>C.startsWith("@"));if(k.length>0){let{registry:C}=Ee(k[0]);throw new ie(C)}}let{items:R,registryNames:T}=await Xe(b,t,r,new Set(o));i.push(...R),n$1.push(...T);}}if(s.push(...i),n$1.length>0){let y=Array.from(new Set(n$1)),w=y.filter(b=>!b.startsWith("@")),v=y.filter(b=>b.startsWith("@"));if(v.length>0){let b=await we(v,t,r);for(let R=0;R<b.length;R++){let k={...b[R],_source:v[R]};s.push(k);}}if(w.length>0){let b=await gt();if(!b&&s.length===0)return null;if(b){w.includes("index")&&w.unshift("index");let R=[];for(let X of w){let _n=await Ua(X,t,r);R.push(..._n);}let T=Array.from(new Set(R)),k=await N(T,r),C=z$1.array(n).parse(k);s.push(...C);}}}if(!s.length)return null;if((o.includes("index")||n$1.includes("index"))&&t.tailwind.baseColor){let y=await qa(t.tailwind.baseColor,t);y&&s.unshift(y);}let h=new Map;s.forEach(y=>{let w=y._source||y.name;h.set(y,w);}),s=Ha(s,h),s.sort((y,w)=>y.type==="registry:theme"&&w.type!=="registry:theme"?-1:y.type!=="registry:theme"&&w.type==="registry:theme"?1:0);let u$1={};s.forEach(y=>{u$1=Pe(u$1,y.tailwind??{});});let c={};s.forEach(y=>{c=Pe(c,y.cssVars??{});});let p={};s.forEach(y=>{p=Pe(p,y.css??{});});let d="";s.forEach(y=>{y.docs&&(d+=`${y.docs}
34
- `);});let f={};s.forEach(y=>{f=Pe(f,y.envVars??{});});let m=await Ys(s.map(y=>y.files??[]),t),g=s.filter(y=>y.type==="registry:font"&&y.font).map(y=>({...y,type:"registry:font",font:y.font})),x=u.parse({dependencies:Pe.all(s.map(y=>y.dependencies??[])),devDependencies:Pe.all(s.map(y=>y.devDependencies??[])),files:m,tailwind:u$1,cssVars:c,css:p,docs:d,fonts:g.length>0?g:void 0});return Object.keys(f).length>0&&(x.envVars=f),x}async function Xe(e,t,r={},s=new Set){let i=[],n=[];for(let o of e)if(!s.has(o)){if(s.add(o),M(o)||Ce(o)){let[a]=await we([o],t,r);if(a&&(i.push(a),a.registryDependencies)){let l=t?.registries?Ye(a.registryDependencies,t):a.registryDependencies,h=await Xe(l,t,r,s);i.push(...h.items),n.push(...h.registryNames);}}else if(o.startsWith("@")&&t?.registries){let{registry:a}=Ee(o);if(a&&!(a in t.registries))throw new ie(a);let[l]=await we([o],t,r);if(l&&(i.push(l),l.registryDependencies)){let h=t?.registries?Ye(l.registryDependencies,t):l.registryDependencies,u=await Xe(h,t,r,s);i.push(...u.items),n.push(...u.registryNames);}}else if(n.push(o),t)try{let[a]=await we([o],t,r);if(a&&a.registryDependencies){let l=t?.registries?Ye(a.registryDependencies,t):a.registryDependencies,h=await Xe(l,t,r,s);i.push(...h.items),n.push(...h.registryNames);}}catch{}}return {items:i,registryNames:n}}async function Ua(e,t,r={}){if(M(e))return [e];let{registryNames:s}=await Xe([e],t,r,new Set),i=t.resolvedPaths?.cwd?await Cs(t.resolvedPaths.cwd,t.style):t.style,n=s.map(o=>At(M(o)?o:`styles/${i}/${o}.json`));return Array.from(new Set(n))}async function qa(e,t){let[r,s]=await Promise.all([Tt(e),xt(t)]);if(!r)return null;let i={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&&(i.tailwind.config.theme.extend.colors={...i.tailwind.config.theme.extend.colors,...ci(r.cssVars.dark??{})},i.cssVars={theme:{...r.cssVars.theme,...i.cssVars.theme},light:{...r.cssVars.light,...i.cssVars.light},dark:{...r.cssVars.dark,...i.cssVars.dark}},s==="v4"&&r.cssVarsV4&&(i.cssVars={theme:{...r.cssVarsV4.theme,...i.cssVars.theme},light:{radius:"0.625rem",...r.cssVarsV4.light},dark:{...r.cssVarsV4.dark}})),i}function ue(e,t){let r=t||e.name,s=createHash("sha256").update(r).digest("hex").substring(0,8);return `${e.name}::${s}`}function Ba(e){if(M(e)){let s=new URL(e).pathname,i=s.match(/\/([^/]+)\.json$/),n=i?i[1]:E__default.basename(s,".json");return {name:n,hash:ue({name:n},e)}}if(Ce(e)){let r=e.match(/\/([^/]+)\.json$/),s=r?r[1]:E__default.basename(e,".json");return {name:s,hash:ue({name:s},e)}}let{item:t}=Ee(e);return {name:t,hash:ue({name:t},e)}}function Ha(e,t){let r=new Map,s=new Map,i=new Map,n=new Map;e.forEach(h=>{let u=t.get(h)||h.name,c=ue(h,u);r.set(c,h),s.set(c,h),i.set(c,0),n.set(c,[]);});let o=new Map;e.forEach(h=>{let u=t.get(h)||h.name,c=ue(h,u);o.has(h.name)||o.set(h.name,[]),o.get(h.name).push(c),u!==h.name&&(o.has(u)||o.set(u,[]),o.get(u).push(c));}),e.forEach(h=>{let u=t.get(h)||h.name,c=ue(h,u);h.registryDependencies&&h.registryDependencies.forEach(p=>{let d,f=o.get(p)||[];if(f.length===1)d=f[0];else if(f.length>1)d=f[0];else {let{name:m}=Ba(p),g=o.get(m)||[];g.length>0&&(d=g[0]);}d&&r.has(d)&&(n.get(d).push(c),i.set(c,i.get(c)+1));});});let a=[],l=[];for(i.forEach((h,u)=>{h===0&&a.push(u);});a.length>0;){let h=a.shift(),u=r.get(h);l.push(u),n.get(h).forEach(c=>{let p=i.get(c)-1;i.set(c,p),p===0&&a.push(c);});}if(l.length!==e.length){let h=new Set(l.map(u=>{let c=t.get(u)||u.name;return ue(u,c)}));e.forEach(u=>{let c=t.get(u)||u.name,p=ue(u,c);h.has(p)||l.push(u);});}return l}var Xt=["npm","yarn","yarn@berry","pnpm","pnpm@6","bun","deno"],Zt={"bun.lock":"bun","bun.lockb":"bun","deno.lock":"deno","pnpm-lock.yaml":"pnpm","pnpm-workspace.yaml":"pnpm","yarn.lock":"yarn","package-lock.json":"npm","npm-shrinkwrap.json":"npm"},Qt={"node_modules/.deno/":"deno","node_modules/.pnpm/":"pnpm","node_modules/.yarn-state.yml":"yarn","node_modules/.yarn_integrity":"yarn","node_modules/.package-lock.json":"npm",".pnp.cjs":"yarn",".pnp.js":"yarn","bun.lock":"bun","bun.lockb":"bun"},di={bun:"https://bun.sh",deno:"https://deno.com",pnpm:"https://pnpm.io/installation","pnpm@6":"https://pnpm.io/6.x/installation",yarn:"https://classic.yarnpkg.com/en/docs/install","yarn@berry":"https://yarnpkg.com/getting-started/install",npm:"https://docs.npmjs.com/cli/configuring-npm/install"};async function er(e,t){try{let r=await fi__default.stat(e);return t==="file"?r.isFile():r.isDirectory()}catch{return false}}function*Ja(e=J.cwd()){let t=E__default.resolve(e),{root:r}=E__default.parse(t);for(;t&&t!==r;)yield t,t=E__default.dirname(t);}async function pi(e,t){return !e||!er(e,"file")?null:await Xa(e,t)}async function tr(e={}){let{cwd:t,strategies:r=["lockfile","packageManager-field","devEngines-field"],onUnknown:s}=e,i;if(typeof e.stopDir=="string"){let n=E__default.resolve(e.stopDir);i=o=>o===n;}else i=e.stopDir;for(let n of Ja(t)){for(let o of r)switch(o){case "lockfile":{for(let a of Object.keys(Zt))if(await er(E__default.join(n,a),"file")){let l=Zt[a],h=await pi(E__default.join(n,"package.json"),s);return h||{name:l,agent:l}}break}case "packageManager-field":case "devEngines-field":{let a=await pi(E__default.join(n,"package.json"),s);if(a)return a;break}case "install-metadata":{for(let a of Object.keys(Qt)){let l=a.endsWith("/")?"dir":"file";if(await er(E__default.join(n,a),l)){let h=Qt[a],u=h==="yarn"?Za(a)?"yarn":"yarn@berry":h;return {name:h,agent:u}}}break}}if(i?.(n))break}return null}function Ya(e){let t=r=>r?.match(/\d+(\.\d+){0,2}/)?.[0]??r;if(typeof e.packageManager=="string"){let[r,s]=e.packageManager.replace(/^\^/,"").split("@");return {name:r,ver:t(s)}}if(typeof e.devEngines?.packageManager?.name=="string")return {name:e.devEngines.packageManager.name,ver:t(e.devEngines.packageManager.version)}}async function Xa(e,t){try{let r=JSON.parse(await fi__default.readFile(e,"utf8")),s,i=Ya(r);if(i){let n=i.name,o=i.ver,a=o;return n==="yarn"&&o&&Number.parseInt(o)>1?(s="yarn@berry",a="berry",{name:n,agent:s,version:a}):n==="pnpm"&&o&&Number.parseInt(o)<7?(s="pnpm@6",{name:n,agent:s,version:a}):Xt.includes(n)?(s=n,{name:n,agent:s,version:a}):t?.(r.packageManager)??null}}catch{}return null}function Za(e){return e.endsWith(".yarn_integrity")}var $e=createRequire(import.meta.url),el=Object.create,wi=Object.defineProperty,tl=Object.getOwnPropertyDescriptor,rl=Object.getOwnPropertyNames,sl=Object.getPrototypeOf,il=Object.prototype.hasOwnProperty,de=(e=>typeof $e<"u"?$e:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof $e<"u"?$e:t)[r]}):e)(function(e){if(typeof $e<"u")return $e.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),V=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),nl=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of rl(t))!il.call(e,i)&&i!==r&&wi(e,i,{get:()=>t[i],enumerable:!(s=tl(t,i))||s.enumerable});return e},ol=(e,t,r)=>(r=e!=null?el(sl(e)):{},nl(wi(r,"default",{value:e,enumerable:true}),e)),al=V((e,t)=>{t.exports=n,n.sync=o;var r=de("fs");function s(a,l){var h=l.pathExt!==void 0?l.pathExt:process.env.PATHEXT;if(!h||(h=h.split(";"),h.indexOf("")!==-1))return true;for(var u=0;u<h.length;u++){var c=h[u].toLowerCase();if(c&&a.substr(-c.length).toLowerCase()===c)return true}return false}function i(a,l,h){return !a.isSymbolicLink()&&!a.isFile()?false:s(l,h)}function n(a,l,h){r.stat(a,function(u,c){h(u,u?false:i(c,a,l));});}function o(a,l){return i(r.statSync(a),a,l)}}),ll=V((e,t)=>{t.exports=s,s.sync=i;var r=de("fs");function s(a,l,h){r.stat(a,function(u,c){h(u,u?false:n(c,l));});}function i(a,l){return n(r.statSync(a),l)}function n(a,l){return a.isFile()&&o(a,l)}function o(a,l){var h=a.mode,u=a.uid,c=a.gid,p=l.uid!==void 0?l.uid:process.getuid&&process.getuid(),d=l.gid!==void 0?l.gid:process.getgid&&process.getgid(),f=parseInt("100",8),m=parseInt("010",8),g=parseInt("001",8),x=f|m,y=h&g||h&m&&c===d||h&f&&u===p||h&x&&p===0;return y}}),cl=V((e,t)=>{de("fs");var s;process.platform==="win32"||global.TESTING_WINDOWS?s=al():s=ll(),t.exports=i,i.sync=n;function i(o,a,l){if(typeof a=="function"&&(l=a,a={}),!l){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(h,u){i(o,a||{},function(c,p){c?u(c):h(p);});})}s(o,a||{},function(h,u){h&&(h.code==="EACCES"||a&&a.ignoreErrors)&&(h=null,u=false),l(h,u);});}function n(o,a){try{return s.sync(o,a||{})}catch(l){if(a&&a.ignoreErrors||l.code==="EACCES")return false;throw l}}}),ul=V((e,t)=>{var r=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",s=de("path"),i=r?";":":",n=cl(),o=u=>Object.assign(new Error(`not found: ${u}`),{code:"ENOENT"}),a=(u,c)=>{let p=c.colon||i,d=u.match(/\//)||r&&u.match(/\\/)?[""]:[...r?[process.cwd()]:[],...(c.path||process.env.PATH||"").split(p)],f=r?c.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",m=r?f.split(p):[""];return r&&u.indexOf(".")!==-1&&m[0]!==""&&m.unshift(""),{pathEnv:d,pathExt:m,pathExtExe:f}},l=(u,c,p)=>{typeof c=="function"&&(p=c,c={}),c||(c={});let{pathEnv:d,pathExt:f,pathExtExe:m}=a(u,c),g=[],x=w=>new Promise((v,b)=>{if(w===d.length)return c.all&&g.length?v(g):b(o(u));let R=d[w],T=/^".*"$/.test(R)?R.slice(1,-1):R,k=s.join(T,u),C=!T&&/^\.[\\\/]/.test(u)?u.slice(0,2)+k:k;v(y(C,w,0));}),y=(w,v,b)=>new Promise((R,T)=>{if(b===f.length)return R(x(v+1));let k=f[b];n(w+k,{pathExt:m},(C,X)=>{if(!C&&X)if(c.all)g.push(w+k);else return R(w+k);return R(y(w,v,b+1))});});return p?x(0).then(w=>p(null,w),p):x(0)},h=(u,c)=>{c=c||{};let{pathEnv:p,pathExt:d,pathExtExe:f}=a(u,c),m=[];for(let g=0;g<p.length;g++){let x=p[g],y=/^".*"$/.test(x)?x.slice(1,-1):x,w=s.join(y,u),v=!y&&/^\.[\\\/]/.test(u)?u.slice(0,2)+w:w;for(let b=0;b<d.length;b++){let R=v+d[b];try{if(n.sync(R,{pathExt:f}))if(c.all)m.push(R);else return R}catch{}}}if(c.all&&m.length)return m;if(c.nothrow)return null;throw o(u)};t.exports=l,l.sync=h;}),hl=V((e,t)=>{var r=(s={})=>{let i=s.env||process.env;return (s.platform||process.platform)!=="win32"?"PATH":Object.keys(i).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"};t.exports=r,t.exports.default=r;}),dl=V((e,t)=>{var r=de("path"),s=ul(),i=hl();function n(a,l){let h=a.options.env||process.env,u=process.cwd(),c=a.options.cwd!=null,p=c&&process.chdir!==void 0&&!process.chdir.disabled;if(p)try{process.chdir(a.options.cwd);}catch{}let d;try{d=s.sync(a.command,{path:h[i({env:h})],pathExt:l?r.delimiter:void 0});}catch{}finally{p&&process.chdir(u);}return d&&(d=r.resolve(c?a.options.cwd:"",d)),d}function o(a){return n(a)||n(a,true)}t.exports=o;}),pl=V((e,t)=>{var r=/([()\][%!^"`<>&|;, *?])/g;function s(n){return n=n.replace(r,"^$1"),n}function i(n,o){return n=`${n}`,n=n.replace(/(\\*)"/g,'$1$1\\"'),n=n.replace(/(\\*)$/,"$1$1"),n=`"${n}"`,n=n.replace(r,"^$1"),o&&(n=n.replace(r,"^$1")),n}t.exports.command=s,t.exports.argument=i;}),fl=V((e,t)=>{t.exports=/^#!(.*)/;}),ml=V((e,t)=>{var r=fl();t.exports=(s="")=>{let i=s.match(r);if(!i)return null;let[n,o]=i[0].replace(/#! ?/,"").split(" "),a=n.split("/").pop();return a==="env"?o:o?`${a} ${o}`:a};}),gl=V((e,t)=>{var r=de("fs"),s=ml();function i(n){let o=Buffer.alloc(150),a;try{a=r.openSync(n,"r"),r.readSync(a,o,0,150,0),r.closeSync(a);}catch{}return s(o.toString())}t.exports=i;}),yl=V((e,t)=>{var r=de("path"),s=dl(),i=pl(),n=gl(),o=process.platform==="win32",a=/\.(?:com|exe)$/i,l=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function h(p){p.file=s(p);let d=p.file&&n(p.file);return d?(p.args.unshift(p.file),p.command=d,s(p)):p.file}function u(p){if(!o)return p;let d=h(p),f=!a.test(d);if(p.options.forceShell||f){let m=l.test(d);p.command=r.normalize(p.command),p.command=i.command(p.command),p.args=p.args.map(x=>i.argument(x,m));let g=[p.command].concat(p.args).join(" ");p.args=["/d","/s","/c",`"${g}"`],p.command=process.env.comspec||"cmd.exe",p.options.windowsVerbatimArguments=true;}return p}function c(p,d,f){d&&!Array.isArray(d)&&(f=d,d=null),d=d?d.slice(0):[],f=Object.assign({},f);let m={command:p,args:d,options:f,file:void 0,original:{command:p,args:d}};return f.shell?m:u(m)}t.exports=c;}),wl=V((e,t)=>{var r=process.platform==="win32";function s(a,l){return Object.assign(new Error(`${l} ${a.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${l} ${a.command}`,path:a.command,spawnargs:a.args})}function i(a,l){if(!r)return;let h=a.emit;a.emit=function(u,c){if(u==="exit"){let p=n(c,l);if(p)return h.call(a,"error",p)}return h.apply(a,arguments)};}function n(a,l){return r&&a===1&&!l.file?s(l.original,"spawn"):null}function o(a,l){return r&&a===1&&!l.file?s(l.original,"spawnSync"):null}t.exports={hookChildProcess:i,verifyENOENT:n,verifyENOENTSync:o,notFoundError:s};}),xl=V((e,t)=>{var r=de("child_process"),s=yl(),i=wl();function n(a,l,h){let u=s(a,l,h),c=r.spawn(u.command,u.args,u.options);return i.hookChildProcess(c,u),c}function o(a,l,h){let u=s(a,l,h),c=r.spawnSync(u.command,u.args,u.options);return c.error=c.error||i.verifyENOENTSync(c.status,u),c}t.exports=n,t.exports.spawn=n,t.exports.sync=o,t.exports._parse=s,t.exports._enoent=i;}),Sl=/^path$/i,gi={key:"PATH",value:""};function Cl(e){for(let t in e){if(!Object.prototype.hasOwnProperty.call(e,t)||!Sl.test(t))continue;let r=e[t];return r?{key:t,value:r}:gi}return gi}function kl(e,t){let r=t.value.split(delimiter),s=e,i;do r.push(resolve(s,"node_modules",".bin")),i=s,s=dirname(s);while(s!==i);return {key:t.key,value:r.join(delimiter)}}function Tl(e,t){let r={...process.env,...t},s=kl(e,Cl(r));return r[s.key]=s.value,r}var $l=e=>{let t=e.length,r=new PassThrough,s=()=>{--t===0&&r.emit("end");};for(let i of e)i.pipe(r,{end:false}),i.on("end",s);return r},Al=ol(xl()),yi=class extends Error{result;output;get exitCode(){if(this.result.exitCode!==null)return this.result.exitCode}constructor(e,t){super(`Process exited with non-zero status (${e.exitCode})`),this.result=e,this.output=t;}},jl={timeout:void 0,persist:false},_l={windowsHide:true};function Ml(e,t){return {command:normalize(e),args:t??[]}}function Nl(e){let t=new AbortController;for(let r of e){if(r.aborted)return t.abort(),r;let s=()=>{t.abort(r.reason);};r.addEventListener("abort",s,{signal:t.signal});}return t.signal}var Ll=class{_process;_aborted=false;_options;_command;_args;_resolveClose;_processClosed;_thrownError;get process(){return this._process}get pid(){return this._process?.pid}get exitCode(){if(this._process&&this._process.exitCode!==null)return this._process.exitCode}constructor(e,t,r){this._options={...jl,...r},this._command=e,this._args=t??[],this._processClosed=new Promise(s=>{this._resolveClose=s;});}kill(e){return this._process?.kill(e)===true}get aborted(){return this._aborted}get killed(){return this._process?.killed===true}pipe(e,t,r){return Fl(e,t,{...r,stdin:this})}async*[Symbol.asyncIterator](){let e=this._process;if(!e)return;let t=[];this._streamErr&&t.push(this._streamErr),this._streamOut&&t.push(this._streamOut);let r=$l(t),s=Ol.createInterface({input:r});for await(let i of s)yield i.toString();if(await this._processClosed,e.removeAllListeners(),this._thrownError)throw this._thrownError;if(this._options?.throwOnError&&this.exitCode!==0&&this.exitCode!==void 0)throw new yi(this)}async _waitForOutput(){let e=this._process;if(!e)throw new Error("No process was started");let t="",r="";if(this._streamOut)for await(let i of this._streamOut)r+=i.toString();if(this._streamErr)for await(let i of this._streamErr)t+=i.toString();if(await this._processClosed,this._options?.stdin&&await this._options.stdin,e.removeAllListeners(),this._thrownError)throw this._thrownError;let s={stderr:t,stdout:r,exitCode:this.exitCode};if(this._options.throwOnError&&this.exitCode!==0&&this.exitCode!==void 0)throw new yi(this,s);return s}then(e,t){return this._waitForOutput().then(e,t)}_streamOut;_streamErr;spawn(){let e=cwd(),t=this._options,r={..._l,...t.nodeOptions},s=[];this._resetState(),t.timeout!==void 0&&s.push(AbortSignal.timeout(t.timeout)),t.signal!==void 0&&s.push(t.signal),t.persist===true&&(r.detached=true),s.length>0&&(r.signal=Nl(s)),r.env=Tl(e,r.env);let{command:i,args:n}=Ml(this._command,this._args),o=(0, Al._parse)(i,n,r),a=spawn(o.command,o.args,o.options);if(a.stderr&&(this._streamErr=a.stderr),a.stdout&&(this._streamOut=a.stdout),this._process=a,a.once("error",this._onError),a.once("close",this._onClose),t.stdin!==void 0&&a.stdin&&t.stdin.process){let{stdout:l}=t.stdin.process;l&&l.pipe(a.stdin);}}_resetState(){this._aborted=false,this._processClosed=new Promise(e=>{this._resolveClose=e;}),this._thrownError=void 0;}_onError=e=>{if(e.name==="AbortError"&&(!(e.cause instanceof Error)||e.cause.name!=="TimeoutError")){this._aborted=true;return}this._thrownError=e;};_onClose=()=>{this._resolveClose&&this._resolveClose();}},rr=(e,t,r)=>{let s=new Ll(e,t,r);return s.spawn(),s},Fl=rr;function Ur(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ir={},nr,vi;function B(){if(vi)return nr;vi=1;let e,t,r,s,i=true;typeof process<"u"&&({FORCE_COLOR:e,NODE_DISABLE_COLORS:t,NO_COLOR:r,TERM:s}=process.env||{},i=process.stdout&&process.stdout.isTTY);let n={enabled:!t&&r==null&&s!=="dumb"&&(e!=null&&e!=="0"||i),reset:l(0,0),bold:l(1,22),dim:l(2,22),italic:l(3,23),underline:l(4,24),inverse:l(7,27),hidden:l(8,28),strikethrough:l(9,29),black:l(30,39),red:l(31,39),green:l(32,39),yellow:l(33,39),blue:l(34,39),magenta:l(35,39),cyan:l(36,39),white:l(37,39),gray:l(90,39),grey:l(90,39),bgBlack:l(40,49),bgRed:l(41,49),bgGreen:l(42,49),bgYellow:l(43,49),bgBlue:l(44,49),bgMagenta:l(45,49),bgCyan:l(46,49),bgWhite:l(47,49)};function o(h,u){let c=0,p,d="",f="";for(;c<h.length;c++)p=h[c],d+=p.open,f+=p.close,~u.indexOf(p.close)&&(u=u.replace(p.rgx,p.close+p.open));return d+u+f}function a(h,u){let c={has:h,keys:u};return c.reset=n.reset.bind(c),c.bold=n.bold.bind(c),c.dim=n.dim.bind(c),c.italic=n.italic.bind(c),c.underline=n.underline.bind(c),c.inverse=n.inverse.bind(c),c.hidden=n.hidden.bind(c),c.strikethrough=n.strikethrough.bind(c),c.black=n.black.bind(c),c.red=n.red.bind(c),c.green=n.green.bind(c),c.yellow=n.yellow.bind(c),c.blue=n.blue.bind(c),c.magenta=n.magenta.bind(c),c.cyan=n.cyan.bind(c),c.white=n.white.bind(c),c.gray=n.gray.bind(c),c.grey=n.grey.bind(c),c.bgBlack=n.bgBlack.bind(c),c.bgRed=n.bgRed.bind(c),c.bgGreen=n.bgGreen.bind(c),c.bgYellow=n.bgYellow.bind(c),c.bgBlue=n.bgBlue.bind(c),c.bgMagenta=n.bgMagenta.bind(c),c.bgCyan=n.bgCyan.bind(c),c.bgWhite=n.bgWhite.bind(c),c}function l(h,u){let c={open:`\x1B[${h}m`,close:`\x1B[${u}m`,rgx:new RegExp(`\\x1b\\[${u}m`,"g")};return function(p){return this!==void 0&&this.has!==void 0?(~this.has.indexOf(h)||(this.has.push(h),this.keys.push(c)),p===void 0?this:n.enabled?o(this.keys,p+""):p+""):p===void 0?a([h],[c]):n.enabled?o([c],p+""):p+""}}return nr=n,nr}var or,bi;function Gl(){return bi||(bi=1,or=(e,t)=>{if(!(e.meta&&e.name!=="escape")){if(e.ctrl)return e.name==="a"?"first":e.name==="c"||e.name==="d"?"abort":e.name==="e"?"last":e.name==="g"?"reset":e.name==="n"?"down":e.name==="p"?"up":void 0;if(t){if(e.name==="j")return "down";if(e.name==="k")return "up"}return e.name==="return"||e.name==="enter"?"submit":e.name==="backspace"?"delete":e.name==="delete"?"deleteForward":e.name==="abort"?"abort":e.name==="escape"?"exit":e.name==="tab"?"next":e.name==="pagedown"?"nextPage":e.name==="pageup"?"prevPage":e.name==="home"?"home":e.name==="end"?"end":e.name==="up"?"up":e.name==="down"?"down":e.name==="right"?"right":e.name==="left"?"left":false}}),or}var ar,Ei;function qr(){return Ei||(Ei=1,ar=e=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|"),r=new RegExp(t,"g");return typeof e=="string"?e.replace(r,""):e}),ar}var lr,Ri;function H(){if(Ri)return lr;Ri=1;let e="\x1B",t=`${e}[`,r="\x07",s={to(o,a){return a?`${t}${a+1};${o+1}H`:`${t}${o+1}G`},move(o,a){let l="";return o<0?l+=`${t}${-o}D`:o>0&&(l+=`${t}${o}C`),a<0?l+=`${t}${-a}A`:a>0&&(l+=`${t}${a}B`),l},up:(o=1)=>`${t}${o}A`,down:(o=1)=>`${t}${o}B`,forward:(o=1)=>`${t}${o}C`,backward:(o=1)=>`${t}${o}D`,nextLine:(o=1)=>`${t}E`.repeat(o),prevLine:(o=1)=>`${t}F`.repeat(o),left:`${t}G`,hide:`${t}?25l`,show:`${t}?25h`,save:`${e}7`,restore:`${e}8`},i={up:(o=1)=>`${t}S`.repeat(o),down:(o=1)=>`${t}T`.repeat(o)},n={screen:`${t}2J`,up:(o=1)=>`${t}1J`.repeat(o),down:(o=1)=>`${t}J`.repeat(o),line:`${t}2K`,lineEnd:`${t}K`,lineStart:`${t}1K`,lines(o){let a="";for(let l=0;l<o;l++)a+=this.line+(l<o-1?s.up():"");return o&&(a+=s.left),a}};return lr={cursor:s,scroll:i,erase:n,beep:r},lr}var cr,Ii;function Jl(){if(Ii)return cr;Ii=1;let e=qr(),{erase:t,cursor:r}=H(),s=i=>[...e(i)].length;return cr=function(i,n){if(!n)return t.line+r.to(0);let o=0,a=i.split(/\r?\n/);for(let l of a)o+=1+Math.floor(Math.max(s(l)-1,0)/n);return t.lines(o)},cr}var ur,Si;function fn(){if(Si)return ur;Si=1;let e={arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",radioOn:"\u25C9",radioOff:"\u25EF",tick:"\u2714",cross:"\u2716",ellipsis:"\u2026",pointerSmall:"\u203A",line:"\u2500",pointer:"\u276F"},t={arrowUp:e.arrowUp,arrowDown:e.arrowDown,arrowLeft:e.arrowLeft,arrowRight:e.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"\u221A",cross:"\xD7",ellipsis:"...",pointerSmall:"\xBB",line:"\u2500",pointer:">"};return ur=process.platform==="win32"?t:e,ur}var hr,Ci;function Yl(){if(Ci)return hr;Ci=1;let e=B(),t=fn(),r=Object.freeze({password:{scale:1,render:l=>"*".repeat(l.length)},emoji:{scale:2,render:l=>"\u{1F603}".repeat(l.length)},invisible:{scale:0,render:l=>""},default:{scale:1,render:l=>`${l}`}}),s=l=>r[l]||r.default,i=Object.freeze({aborted:e.red(t.cross),done:e.green(t.tick),exited:e.yellow(t.cross),default:e.cyan("?")});return hr={styles:r,render:s,symbols:i,symbol:(l,h,u)=>h?i.aborted:u?i.exited:l?i.done:i.default,delimiter:l=>e.gray(l?t.ellipsis:t.pointerSmall),item:(l,h)=>e.gray(l?h?t.pointerSmall:"+":t.line)},hr}var dr,ki;function Xl(){if(ki)return dr;ki=1;let e=qr();return dr=function(t,r){let s=String(e(t)||"").split(/\r?\n/);return r?s.map(i=>Math.ceil(i.length/r)).reduce((i,n)=>i+n):s.length},dr}var pr,Ti;function Zl(){return Ti||(Ti=1,pr=(e,t={})=>{let r=Number.isSafeInteger(parseInt(t.margin))?new Array(parseInt(t.margin)).fill(" ").join(""):t.margin||"",s=t.width;return (e||"").split(/\r?\n/g).map(i=>i.split(/\s+/g).reduce((n,o)=>(o.length+r.length>=s||n[n.length-1].length+o.length+1<s?n[n.length-1]+=` ${o}`:n.push(`${r}${o}`),n),[r]).join(`
34
+ `:i}function ye(e,t){return $o({text:e,isSilent:t?.silent})}var vt=async({sourceFile:e,config:t,isRemote:r})=>{let s=t.aliases?.utils,i=typeof s=="string"?jo(s):"@",n=i?`${i}/lib/utils`:"@/lib/utils";if(![".tsx",".ts",".jsx",".js"].includes(e.getExtension()))return e;for(let o of e.getImportStringLiterals()){let a=Oo(o.getLiteralValue(),t,r);if(o.setLiteralValue(a),n===a||a==="@/lib/utils"){if(!o.getFirstAncestorByKind(SyntaxKind.ImportDeclaration)?.getNamedImports().some(u=>u.getName()==="cn")||!t.aliases.utils)continue;o.setLiteralValue(n===a?a.replace(n,t.aliases.utils):t.aliases.utils);}}return e};function Oo(e,t,r=false){if(e=_o(e,t),!e.startsWith("@/")&&!r)return e;if(r&&e.startsWith("@/")&&(e=e.replace(/^@\//,"@/registry/new-york/")),e==="@/registry")return t.aliases.components;if(!e.startsWith("@/registry/")){if(e==="@/lib/utils"&&t.aliases.utils)return t.aliases.utils;if(t.aliases.ui&&e.match(/^@\/components\/ui(?=\/|$)/))return e.replace(/^@\/components\/ui/,t.aliases.ui);if(t.aliases.components&&e.match(/^@\/components(?=\/|$)/))return e.replace(/^@\/components/,t.aliases.components);if(t.aliases.hooks&&e.match(/^@\/hooks(?=\/|$)/))return e.replace(/^@\/hooks/,t.aliases.hooks);if(t.aliases.lib&&e.match(/^@\/lib(?=\/|$)/))return e.replace(/^@\/lib/,t.aliases.lib);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.utils&&e.match(/^@\/registry\/(.+)\/lib\/utils$/)?t.aliases.utils: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)}function jo(e){if(e.startsWith("#"))return "";if(e.endsWith("/lib/utils"))return e.slice(0,-10);if(e.startsWith("@")){let[r,s]=e.split("/");return r&&s?`${r}/${s}`:e}let t=e.indexOf("/");return t===-1?e:e.slice(0,t)}function _o(e,t){if(e==="#registry")return "@/registry";if(e.startsWith("#/"))return e.replace(/^#\//,"@/");if(e.startsWith("#registry/"))return e.replace(/^#registry\//,"@/registry/");for(let{alias:r,normalized:s}of Mo(t)){if(e===r)return s;if(e.startsWith(`${r}/`))return `${s}${e.slice(r.length)}`}return e}function Mo(e){return e.aliases?[{alias:e.aliases.ui,normalized:"@/components/ui"},{alias:e.aliases.components,normalized:"@/components"},{alias:e.aliases.hooks,normalized:"@/hooks"},{alias:e.aliases.lib,normalized:"@/lib"},{alias:e.aliases.utils,normalized:"@/lib/utils"}].filter(t=>typeof t.alias=="string"&&t.alias.startsWith("#")).sort((t,r)=>r.alias.length-t.alias.length):[]}var Do={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"]},Ms=async({sourceFile:e,config:t})=>{let r=e.getFullText();if(t.tsx)return r;let s=bt.parse(r,{parser:{parse:n=>parse(n,Do)}}),i=transformFromAstSync(s,r,{cloneInputAst:false,code:false,ast:true,plugins:[Fo],configFile:false});if(!i||!i.ast)throw new Error("Failed to transform JSX");return bt.print(i.ast).code};var Vo=/^["']use client["']$/g,Et=async({sourceFile:e,config:t})=>{if(t.rsc)return e;let r=e.getFirstChildByKind(SyntaxKind.ExpressionStatement);return r&&Vo.test(r.getText())&&r.remove(),e};var zo=new Set(["cn-font-heading"]),Ko=/\bcn-[a-z-]+\b/;function Ns(e){return Ko.test(e)&&!zo.has(e)}function Ls(e){return e.split(/\s+/).filter(t=>t.length>0&&!Ns(t)).join(" ")}function Fs(e){return e.split(/\s+/).some(Ns)}function Rt(e){let t=e.getLiteralValue();if(!Fs(t))return;let r=Ls(t);r!==t&&e.setLiteralValue(r);}function zt(e){for(let t of e.getDescendantsOfKind(SyntaxKind.StringLiteral))Rt(t);for(let t of e.getDescendantsOfKind(SyntaxKind.NoSubstitutionTemplateLiteral))Rt(t);}function Uo(e){let t=[];for(let r of e.getDescendantsOfKind(SyntaxKind.JsxAttribute)){let s=r.getNameNode().getText();if(s!=="className"&&s!=="classNames")continue;let i=r.getInitializer();if(i?.isKind(SyntaxKind.StringLiteral)){let n=i.getLiteralValue();if(Fs(n)){let o=Ls(n);o===""?t.push(r):o!==n&&i.setLiteralValue(o);}}i?.isKind(SyntaxKind.JsxExpression)&&zt(i);}for(let r of t)r.remove();for(let r of e.getDescendantsOfKind(SyntaxKind.CallExpression))if(r.getExpression().getText()==="cva")for(let s of r.getArguments()){if(s.isKind(SyntaxKind.StringLiteral)){Rt(s);continue}if(s.isKind(SyntaxKind.NoSubstitutionTemplateLiteral)){Rt(s);continue}zt(s);}for(let r of e.getDescendantsOfKind(SyntaxKind.CallExpression))r.getExpression().getText()==="mergeProps"&&zt(r);}var It=async({sourceFile:e})=>(Uo(e),e);var St=async({sourceFile:e,config:t})=>{if(!t.tailwind?.prefix)return e;let r=await xt(t);return e.getDescendantsOfKind(SyntaxKind.CallExpression).filter(s=>s.getExpression().getText()==="cva").forEach(s=>{if(s.getArguments()[0]?.isKind(SyntaxKind.StringLiteral)){let i=s.getArguments()[0];i&&i.replaceWithText(`"${le(i.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}s.getArguments()[1]?.isKind(SyntaxKind.ObjectLiteralExpression)&&s.getArguments()[1]?.getDescendantsOfKind(SyntaxKind.PropertyAssignment).find(i=>i.getName()==="variants")?.getDescendantsOfKind(SyntaxKind.PropertyAssignment).forEach(i=>{i.getDescendantsOfKind(SyntaxKind.PropertyAssignment).forEach(n=>{let o=n.getInitializerIfKind(SyntaxKind.StringLiteral);o&&o?.replaceWithText(`"${le(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 i=s.getInitializer();i&&i.replaceWithText(`"${le(i.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}if(s.getInitializer()?.isKind(SyntaxKind.JsxExpression)){let i=s.getInitializer()?.getDescendantsOfKind(SyntaxKind.CallExpression).find(n=>n.getExpression().getText()==="cn");i&&i.getArguments().forEach(n=>{(n.isKind(SyntaxKind.ConditionalExpression)||n.isKind(SyntaxKind.BinaryExpression))&&n.getChildrenOfKind(SyntaxKind.StringLiteral).forEach(o=>{o.replaceWithText(`"${le(o.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}),n.isKind(SyntaxKind.StringLiteral)&&n.replaceWithText(`"${le(n.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);});}}s.getNameNode().getText()==="classNames"&&s.getInitializer()?.isKind(SyntaxKind.JsxExpression)&&s.getDescendantsOfKind(SyntaxKind.PropertyAssignment).forEach(i=>{if(i.getInitializer()?.isKind(SyntaxKind.CallExpression)){let n=i.getInitializerIfKind(SyntaxKind.CallExpression);n&&n.getArguments().forEach(o=>{o.isKind(SyntaxKind.ConditionalExpression)&&o.getChildrenOfKind(SyntaxKind.StringLiteral).forEach(a=>{a.replaceWithText(`"${le(a.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}),o.isKind(SyntaxKind.StringLiteral)&&o.replaceWithText(`"${le(o.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);});}if(i.getInitializer()?.isKind(SyntaxKind.StringLiteral)&&i.getNameNode().getText()!=="variant"){let n=i.getInitializer();n&&n.replaceWithText(`"${le(n.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}});}),e};function le(e,t="",r){return r==="v3"?e.split(" ").map(s=>{let[i,n,o]=b(s);return i?o?`${i}:${t}${n}/${o}`:`${i}:${t}${n}`:o?`${t}${n}/${o}`:`${t}${n}`}).join(" "):e.split(" ").map(s=>s.indexOf(`${t}:`)===0?s:`${t}:${s.trim()}`).join(" ")}var Jo=new Project({compilerOptions:{}});async function Yo(e){let t=await promises.mkdtemp(E__default.join(tmpdir(),"shadcn-"));return E__default.join(t,e)}async function Ws(e,t=[vt,Et,a,St,d,c,It]){let r=await Yo(e.filename),s=Jo.createSourceFile(r,e.raw,{scriptKind:ScriptKind.TSX});for(let i of t)await i({sourceFile:s,...e});return e.transformJsx?await Ms({sourceFile:s,...e}):s.getText()}var Zo=["a","span","div","Link","label","Label"],Vs=async({sourceFile:e,config:t})=>{if(!t.style?.startsWith("base-"))return e;let r=10;for(let s=0;s<r;s++){let n=e.getDescendantsOfKind(SyntaxKind.JsxElement).filter(l=>l.getOpeningElement().getAttribute("asChild"));if(n.length===0)break;let o=n.filter(l=>!l.getDescendantsOfKind(SyntaxKind.JsxElement).some(u=>u.getOpeningElement().getAttribute("asChild"))),a=[];for(let l of o){let h=l.getOpeningElement(),u=h.getAttribute("asChild");if(!u)continue;let c=h.getTagNameNode().getText(),d=l.getJsxChildren().find(y=>y.getKind()===SyntaxKind.JsxElement||y.getKind()===SyntaxKind.JsxSelfClosingElement);if(!d){u.remove();continue}let f,m,g;if(d.getKind()===SyntaxKind.JsxSelfClosingElement){let y=d.asKindOrThrow(SyntaxKind.JsxSelfClosingElement);f=y.getTagNameNode().getText(),m=y.getAttributes().map(w=>w.getText()).join(" "),g="";}else {let y=d.asKindOrThrow(SyntaxKind.JsxElement),w=y.getOpeningElement();f=w.getTagNameNode().getText(),m=w.getAttributes().map(v=>v.getText()).join(" "),g=y.getJsxChildren().map(v=>v.getText()).join("");}let x=c==="Button"&&Zo.includes(f);a.push({parentElement:l,parentTagName:c,childTagName:f,childProps:m,childChildren:g,needsNativeButton:x});}for(let l of a.reverse()){let u=l.parentElement.getOpeningElement().getAttributes().filter(m=>m.getKind()===SyntaxKind.JsxAttribute?m.asKindOrThrow(SyntaxKind.JsxAttribute).getNameNode().getText()!=="asChild":true).map(m=>m.getText()).join(" "),c=l.childProps?`{<${l.childTagName} ${l.childProps} />}`:`{<${l.childTagName} />}`,p=u?`${u} `:"";p+=`render=${c}`,l.needsNativeButton&&(p+=" nativeButton={false}");let d=l.childChildren.trim()?`${l.childChildren}`:"",f=`<${l.parentTagName} ${p}>${d}</${l.parentTagName}>`;l.parentElement.replaceWithText(f);}}return e};var zs=async({sourceFile:e})=>(e.getFunctions().forEach(t=>{t.getName()==="middleware"&&t.rename("proxy");}),e.getVariableDeclarations().forEach(t=>{t.getName()==="middleware"&&t.rename("proxy");}),e.getExportDeclarations().forEach(t=>{t.getNamedExports().forEach(s=>{s.getName()==="middleware"&&s.setName("proxy"),s.getAliasNode()?.getText()==="middleware"&&s.setAlias("proxy");});}),e);var Ut=[".ts",".tsx",".js",".jsx"],ea=new Set(["tailwindConfig","tailwindCss"]),ta=["components","ui","lib","hooks"];async function Qd(e,t,r){if(!e?.length)return {filesCreated:[],filesUpdated:[],filesSkipped:[]};r={overwrite:false,force:false,silent:false,isRemote:false,isWorkspace:false,...r};let s=ye("Updating files.",{silent:r.silent})?.start(),[i,n]=await Promise.all([ee(t.resolvedPaths.cwd),t.tailwind.baseColor?Tt(t.tailwind.baseColor):Promise.resolve(void 0)]),o=loadConfig(t.resolvedPaths.cwd),a$1=la(r.plannedFiles??e,t,{isSrcDir:i?.isSrcDir,framework:i?.framework.name,path:r.path}),l=new Project({compilerOptions:{}}),h=[],u=[],c$1=[],p=[],d$1=null;for(let x=0;x<e.length;x++){let y=e[x];if(!y.content)continue;let w=Ct(y,t,{isSrcDir:i?.isSrcDir,framework:i?.framework.name,commonRoot:kt(e.map(C=>C.path),y.path),path:r.path,fileIndex:x});if(!w)continue;let v=basename(y.path),b=E__default.dirname(w);if(t.tsx||(w=w.replace(/\.tsx?$/,C=>C===".tsx"?".jsx":".js")),ge(w)&&!existsSync(w)){let C=Os(b);C&&(w=C);}let R=existsSync(w);if(y.type==="registry:lib"&&basename(y.path)==="utils.ts"&&i?.framework.name==="laravel"&&R){c$1.push(E__default.relative(t.resolvedPaths.cwd,w));continue}if(R&&statSync(w).isDirectory())throw new Error(`Cannot write to ${w}: path exists and is a directory. Please provide a file path instead.`);let T=y.type==="registry:file"||y.type==="registry:item",k=ge(w)||T?y.content:await Ws({filename:y.path,raw:y.content,config:t,baseColor:n,transformJsx:!t.tsx,isRemote:r.isRemote,supportedFontMarkers:r.supportedFontMarkers},[vt,Et,a,St,c,g,Vs,d,...Ks(w,i,t)?[zs]:[],f$1,It]);if(R&&!ge(w)){let C=await Gs({config:t,content:k,filePaths:a$1,project:l,projectInfo:i,resolvedPath:w,tsConfig:o}),Z=await promises.readFile(w,"utf-8");if($s(Z,C,{ignoreImports:r.isWorkspace})){c$1.push(E__default.relative(t.resolvedPaths.cwd,w));continue}}if(R&&!r.overwrite&&!ge(w)){s.stop(),r.rootSpinner&&r.rootSpinner.stop();let{overwrite:C}=await Qo({type:"confirm",name:"overwrite",message:`The file ${P.info(v)} already exists. Would you like to overwrite?`,initial:false});if(!C){c$1.push(E__default.relative(t.resolvedPaths.cwd,w)),r.rootSpinner&&r.rootSpinner.start();continue}s?.start(),r.rootSpinner&&r.rootSpinner.start();}if(Ks(w,i,t)&&(w=w.replace(/middleware\.(ts|js)$/,"proxy.$1")),existsSync(b)||await promises.mkdir(b,{recursive:true}),ge(w)&&R){let C=await promises.readFile(w,"utf-8"),Z=_s(C,k);if(p=js(C,k),d$1=E__default.relative(t.resolvedPaths.cwd,w),!p.length){c$1.push(E__default.relative(t.resolvedPaths.cwd,w));continue}await promises.writeFile(w,Z,"utf-8"),u.push(E__default.relative(t.resolvedPaths.cwd,w));continue}await promises.writeFile(w,k,"utf-8"),R?u.push(E__default.relative(t.resolvedPaths.cwd,w)):(h.push(E__default.relative(t.resolvedPaths.cwd,w)),ge(w)&&(p=Object.keys(Ie(k)),d$1=E__default.relative(t.resolvedPaths.cwd,w)));}let f=[...h,...u,...c$1],m=await aa(f,t,a$1);if(u.push(...m),h=Array.from(new Set(h)),u=Array.from(new Set(u.filter(x=>!h.includes(x)))),c$1=Array.from(new Set(c$1)),!(h.length||u.length)&&!c$1.length&&s?.info("No files updated."),h.length){if(s?.succeed(`Created ${h.length} ${h.length===1?"file":"files"}:`),!r.silent)for(let x of h)S.log(` - ${x}`);}else s?.stop();if(u.length&&(ye(`Updated ${u.length} ${u.length===1?"file":"files"}:`,{silent:r.silent})?.info(),!r.silent))for(let x of u)S.log(` - ${x}`);if(c$1.length&&(ye(`Skipped ${c$1.length} ${c$1.length===1?"file":"files"}: (files might be identical, use --overwrite to overwrite)`,{silent:r.silent})?.info(),!r.silent))for(let x of c$1)S.log(` - ${x}`);if(p.length&&d$1&&(ye(`Added the following variables to ${P.info(d$1)}:`)?.info(),!r.silent))for(let x of p)S.log(` ${P.success("+")} ${x}`);return {filesCreated:h,filesUpdated:u,filesSkipped:c$1}}function Ct(e,t,r){if(r.path){let n=E__default.isAbsolute(r.path)?r.path:E__default.join(t.resolvedPaths.cwd,r.path);if(/\.[^/\\]+$/.test(n)){if(r.fileIndex===0)return n}else {let a=E__default.basename(e.path);return E__default.join(n,a)}}if(e.target){if(e.target.startsWith("~/"))return E__default.join(t.resolvedPaths.cwd,e.target.replace("~/",""));let n=e.target,o=ra(n,t);return o?.resolvedPath?o.resolvedPath:(o?.target&&(n=o.target),e.type==="registry:page"&&(n=oa(n,r.framework),!n)?"":r.isSrcDir?E__default.join(t.resolvedPaths.cwd,"src",n.replace("src/","")):E__default.join(t.resolvedPaths.cwd,n.replace("src/","")))}let s=ia(e,t),i=na(e.path,s);return E__default.join(s,i)}function ra(e,t){let r=e.match(/^@([^/]+)\/(.+)$/);if(!r)return null;let[,s,i]=r;if(!sa(s))return {target:`${s}/${i}`};let n=E__default.resolve(t.resolvedPaths[s]),o=E__default.resolve(n,i);if(o!==n&&!o.startsWith(`${n}${E__default.sep}`))throw new Error(`Invalid target path "${e}". Target paths using @${s}/ must stay within the ${s} alias root.`);return {resolvedPath:o}}function sa(e){return ta.includes(e)}function ia(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 kt(e,t){let r=e.map(o=>o.replace(/^\//,"")),s=t.replace(/^\//,""),i=s.split("/").slice(0,-1).join("/");if(!i)return "";let n=i.split("/");for(let o=n.length;o>0;o--){let a=n.slice(0,o).join("/");if(r.some(h=>h!==s&&h.startsWith(a+"/")))return "/"+a}return "/"+i}function na(e,t){let r=e.replace(/^\/|\/$/g,""),s=t.replace(/^\/|\/$/g,""),i=r.split("/"),n=s.split("/"),o=n[n.length-1],a=i.findIndex(l=>l===o);return a===-1?i[i.length-1]:i.slice(a+1).join("/")}function oa(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 aa(e,t,r=e){let s=new Project({compilerOptions:{}}),i=await ee(t.resolvedPaths.cwd),n=loadConfig(t.resolvedPaths.cwd),o=[];if(!i||n.resultType==="failed")return [];for(let a of e){let l=E__default.resolve(t.resolvedPaths.cwd,a);if(!existsSync(l))continue;let h=await promises.readFile(l,"utf-8"),u=await promises.mkdtemp(E__default.join(tmpdir(),"shadcn-")),c=s.createSourceFile(E__default.join(u,basename(l)),h,{scriptKind:ScriptKind.TSX});if(![".tsx",".ts",".jsx",".js"].includes(c.getExtension()))continue;let p=await Gs({config:t,content:h,filePaths:r,project:s,projectInfo:i,resolvedPath:l,sourceFile:c,tsConfig:n});p!==h&&(await promises.writeFile(l,p,"utf-8"),o.push(a));}return o}function la(e,t,r){return (e??[])?.filter(s=>!!s?.content).map((s,i)=>{let n=Ct(s,t,{isSrcDir:r.isSrcDir,framework:r.framework,commonRoot:kt((e??[]).map(o=>o.path),s.path),path:r.path,fileIndex:i});return n?(t.tsx||(n=n.replace(/\.tsx?$/,o=>o===".tsx"?".jsx":".js")),E__default.relative(t.resolvedPaths.cwd,n)):null}).filter(s=>!!s)}async function Gs({content:e,resolvedPath:t,filePaths:r,config:s,projectInfo:i,tsConfig:n,project:o,sourceFile:a}){if(!i||n.resultType==="failed")return e;let l=E__default.extname(t);if(![".tsx",".ts",".jsx",".js"].includes(l))return e;let h=a===void 0?o.createSourceFile(E__default.join(tmpdir(),`shadcn-${Math.random().toString(36).slice(2)}${l||".tsx"}`),e,{scriptKind:ScriptKind.TSX,overwrite:true}):null,u=a??h;try{let c=!1;for(let p of u.getImportDeclarations()){let d=p.getModuleSpecifierValue();if(!Vt(d,i.aliasPrefix??null))continue;let f=await ca(d,r,s,n);if(!f)continue;let m=ha(f,s,i,t);!m||m===d||(p.setModuleSpecifier(m),c=!0);}return c?u.getFullText():e}finally{h&&o.removeSourceFile(h);}}async function ca(e,t,r,s){let i=(await Ke(e,{...s,cwd:r.resolvedPaths.cwd}))?.path,n=!i&&!e.startsWith(".")?pa(e,r):null;return !i&&!n?null:ua(i??n,t,r)}function ua(e,t,r,s=[".tsx",".ts",".js",".jsx",".css"]){let i=E__default.normalize(r.resolvedPaths.cwd),n=t.map(g=>g.split(E__default.sep).join(E__default.posix.sep)),o=new Set(n),a=E__default.extname(e),l=a!=="",h=l?e.slice(0,-a.length):e,c=E__default.relative(i,h).split(E__default.sep).join(E__default.posix.sep),p=l?[a]:s,d=new Set;for(let g of p){let x=h+g,y=E__default.posix.normalize(E__default.relative(i,x));(o.has(y)||existsSync(x))&&d.add(y);let w=E__default.join(h,`index${g}`),v=E__default.posix.normalize(E__default.relative(i,w));(o.has(v)||existsSync(w))&&d.add(v);}let f=E__default.basename(h);for(let g of n)p.some(x=>g.endsWith(`/${f}${x}`))&&d.add(g);return d.size===0?null:Array.from(d).sort((g,x)=>{let y=E__default.posix.extname(g),w=E__default.posix.extname(x),v=p.indexOf(y)-p.indexOf(w);if(v!==0)return v;let b=c&&g.startsWith(c)?-1:1,R=c&&x.startsWith(c)?-1:1;return b-R})[0]}function ha(e,t,r,s){let i=E__default.normalize(E__default.join(t.resolvedPaths.cwd,e)),n=Object.entries(t.resolvedPaths).filter(([f,m])=>{if(!m||ea.has(f))return false;let g=E__default.normalize(m);if(i===g){let x=t.aliases[f];if(typeof x!="string"||!x.startsWith("#"))return true;let y=ze(x,t.resolvedPaths.cwd);return y!==null&&!y.matchedAlias.includes("*")}return i.startsWith(E__default.normalize(m+E__default.sep))}).sort((f,m)=>m[1].length-f[1].length);if(n.length===0)return null;let[o,a]=n[0],l=E__default.relative(a,i);l=l.split(E__default.sep).join("/");let h=o==="cwd"?r.aliasPrefix:t.aliases[o];if(!h)return null;if(h.startsWith("#")){let f=ze(h,t.resolvedPaths.cwd);if(f)return da(h,l,f)??(s?ma(s,i):null)}let u=E__default.posix.extname(l),c=Ut.includes(u)?"":u,p=l.slice(0,l.length-u.length);p.endsWith("/index")&&(p=p.slice(0,-6));let d=p===""?"":`/${p}`;return d=d.replace("/src",""),`${h}${d}${c}`}function da(e,t,r){let s=E__default.posix.extname(t),i=Ut.includes(s)&&r.emitMode==="strip_extension"?"":s,n=t?t.slice(0,t.length-s.length)+i:"";return r.matchedAlias.includes("*")?n?`${e}/${n}`:e:n===""||n==="index"?e:null}function pa(e,t){let r=fa(t);for(let s of r){if(e===s.alias||e===s.canonical)return s.rootPath;if(e.startsWith(`${s.alias}/`))return E__default.join(s.rootPath,e.slice(s.alias.length+1));if(e.startsWith(`${s.canonical}/`))return E__default.join(s.rootPath,e.slice(s.canonical.length+1))}return null}function fa(e){return [{alias:e.aliases.ui,canonical:"@/components/ui",rootPath:e.resolvedPaths.ui},{alias:e.aliases.components,canonical:"@/components",rootPath:e.resolvedPaths.components},{alias:e.aliases.hooks,canonical:"@/hooks",rootPath:e.resolvedPaths.hooks},{alias:e.aliases.lib,canonical:"@/lib",rootPath:e.resolvedPaths.lib},{alias:e.aliases.utils,canonical:"@/lib/utils",rootPath:e.resolvedPaths.utils}].filter(t=>typeof t.alias=="string"&&typeof t.rootPath=="string").sort((t,r)=>r.alias.length-t.alias.length||r.canonical.length-t.canonical.length)}function ma(e,t){let r=E__default.relative(E__default.dirname(e),t);r=r.split(E__default.sep).join("/");let s=E__default.posix.extname(r),i=Ut.includes(s)?"":s,n=r.slice(0,r.length-s.length);return n.endsWith("/index")&&(n=n.slice(0,-6)),n.startsWith(".")||(n=`./${n}`),`${n}${i}`}function Ks(e,t,r){let s=e===E__default.join(r.resolvedPaths.cwd,"middleware.ts")||e===E__default.join(r.resolvedPaths.cwd,"middleware.js"),i=t?.framework.name==="next-app"||t?.framework.name==="next-pages";if(!s||!i||!t?.frameworkVersion)return false;let n=parseInt(t.frameworkVersion.split(".")[0]);return !isNaN(n)&&n>=16}new Project({compilerOptions:{}});function M(e){try{return new URL(e),!0}catch{return false}}function Ce(e){return e.endsWith(".json")&&!M(e)}function fp(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 Ys(e,t){if(!ya(t))return z$1.array(g$1).parse(e.flat().filter(Boolean));let r=await ee(t.resolvedPaths.cwd),s=new Map,i=z$1.array(g$1).parse(e.flat().filter(Boolean));return i.forEach(n=>{let o=Ct(n,t,{isSrcDir:r?.isSrcDir,framework:r?.framework.name,commonRoot:kt(i.map(a=>a.path),n.path)});o&&s.set(o,n);}),Array.from(s.values())}function ya(e){return !!(e?.resolvedPaths?.cwd&&(e?.resolvedPaths?.ui||e?.resolvedPaths?.lib||e?.resolvedPaths?.components||e?.resolvedPaths?.hooks))}function xa(e){return e.style?e.style==="new-york"&&e.tailwind?.config===""?nt:e.style:nt}function ke(e){let t=ks({style:nt,registries:z});return e?d$1.parse(Pe(t,{...e,style:xa(e),registries:{...z,...e.registries}})):t}var Pt={headers:{}};function Be(e){Pt.headers={...Pt.headers,...e};}function Zs(e){return Pt.headers[e]||{}}function He(){Pt.headers={};}function va(e){let t=new Set;return typeof e=="string"?je(e).forEach(r=>t.add(r)):(je(e.url).forEach(r=>t.add(r)),e.params&&Object.values(e.params).forEach(r=>{je(r).forEach(s=>t.add(s));}),e.headers&&Object.values(e.headers).forEach(r=>{je(r).forEach(s=>t.add(s));})),Array.from(t)}function Xs(e,t){let s=va(t).filter(i=>!process.env[i]);if(s.length>0)throw new Fe(e,s)}function Pp(e,t){for(let r of e)Te(r,ke(t));He();}var Qs="{name}",$t="{style}",ei=/\${(\w+)}/g,ti="?",ba="&";function Ea(e){return e.startsWith("./")||e.startsWith("/")}function Te(e,t){let{registry:r,item:s}=Ee(e);if(!r){if(M(e)||Ce(e)||Ea(e))return null;r="@shadcn";}let n={...z,...t?.registries}[r];if(!n)throw new ie(r);return Xs(r,n),{url:Ra(s,n,t),headers:Ia(n)}}function Ra(e,t,r){if(typeof t=="string"){let i=t.replace(Qs,e);return r?.style&&i.includes($t)&&(i=i.replace($t,r.style)),Oe(i)}let s=t.url.replace(Qs,e);return r?.style&&s.includes($t)&&(s=s.replace($t,r.style)),s=Oe(s),t.params?Sa(s,t.params):s}function Ia(e){if(typeof e=="string"||!e.headers)return {};let t={};for(let[r,s]of Object.entries(e.headers)){let i=Oe(s);Ca(s,i)&&(t[r]=i);}return t}function Sa(e,t){let r=new URLSearchParams;for(let[n,o]of Object.entries(t)){let a=Oe(o);a&&r.append(n,a);}let s=r.toString();if(!s)return e;let i=e.includes(ti)?ba:ti;return `${e}${i}${s}`}function Ca(e,t){let r=t.trim();if(!r)return false;if(e.includes("${")&&e.match(ei)){let i=e.replace(ei,"").trim();return r!==i}return true}function At(e){if(M(e)){let t=new URL(e);return t.pathname.match(/\/chat\/b\//)&&!t.pathname.endsWith("/json")&&(t.pathname=`${t.pathname}/json`),t.toString()}return `${fe}/${e}`}var Oa=process.env.https_proxy?new HttpsProxyAgent(process.env.https_proxy):void 0,qt=new Map;async function N(e,t={}){t={useCache:true,...t};try{return await Promise.all(e.map(async s=>{let i=At(s);if(t.useCache&&qt.has(i))return qt.get(i);let n=(async()=>{let o=Zs(i),a=new Headers({Accept:"application/vnd.shadcn.v1+json, application/json;q=0.9","User-Agent":"shadcn"});for(let[h,u]of Object.entries(o))a.set(h,u);let l=await $a(i,{agent:Oa,headers:a});if(!l.ok){let h;if(l.headers.get("content-type")?.includes("application/json")){let u=await l.json(),c=z$1.object({detail:z$1.string().optional(),title:z$1.string().optional(),message:z$1.string().optional(),error:z$1.string().optional()}).safeParse(u);c.success&&(h=c.data.detail||c.data.message,c.data.error&&(h=`[${c.data.error}] ${h}`));}throw l.status===401?new _e(i,h):l.status===404?new me(i,h):l.status===410?new ot(i,h):l.status===403?new Me(i,h):new Ne(i,l.status,h)}return l.json()})();return t.useCache&&qt.set(i,n),n}))}catch(r){throw r}}async function si(e){try{let t=e;e.startsWith("~/")&&(t=E__default.join(homedir(),e.slice(2)));let r=E__default.resolve(t),s=await promises.readFile(r,"utf8"),i=JSON.parse(s);try{return n.parse(i)}catch(n){throw new F(e,n)}}catch(t){throw t instanceof Error&&(t.message.includes("ENOENT")||t.message.includes("no such file"))?new X(e,t):t instanceof F?t:new X(e,t)}}async function lf(e,t,r){if(!e||(r={silent:false,tailwindVersion:"v3",...r},r.tailwindVersion==="v4"))return;let s=E__default.relative(t.resolvedPaths.cwd,t.resolvedPaths.tailwindConfig),i=ye(`Updating ${P.info(s)}`,{silent:r.silent}).start(),n=await promises.readFile(t.resolvedPaths.tailwindConfig,"utf8"),o=await Fa(n,e,t);await promises.writeFile(t.resolvedPaths.tailwindConfig,o,"utf8"),i?.succeed();}async function Fa(e,t,r){let s=await ni(e,r),i=s.getDescendantsOfKind(SyntaxKind.ObjectLiteralExpression).find(o=>o.getProperties().some(a=>a.isKind(SyntaxKind.PropertyAssignment)&&a.getName()==="content"));if(!i)return e;let n=za(i);return Da(i,{name:"darkMode",value:"class"},{quoteChar:n}),t.plugins?.forEach(o=>{Va(i,o);}),t.theme&&await Wa(i,t.theme),s.getFullText()}function Da(e,t,{quoteChar:r}){let s=e.getProperty("darkMode");if(!s){let i={name:t.name,initializer:`[${r}${t.value}${r}]`};return t.name==="darkMode"?(e.insertPropertyAssignment(0,i),e):(e.addPropertyAssignment(i),e)}if(s.isKind(SyntaxKind.PropertyAssignment)){let i=s.getInitializer(),n=`${r}${t.value}${r}`;if(i?.isKind(SyntaxKind.StringLiteral)){let o=i.getText();return i.replaceWithText(`[${o}, ${n}]`),e}if(i?.isKind(SyntaxKind.ArrayLiteralExpression)){if(i.getElements().map(o=>o.getText()).includes(n))return e;i.addElement(n);}return e}return e}async function Wa(e,t){e.getProperty("theme")||e.addPropertyAssignment({name:"theme",initializer:"{}"}),Ht(e);let s=(e.getPropertyOrThrow("theme")?.asKindOrThrow(SyntaxKind.PropertyAssignment)).getInitializer();if(s?.isKind(SyntaxKind.ObjectLiteralExpression)){let i=s.getText(),n=await Ka(i),o=Pe(n,t,{arrayMerge:(l,h)=>h}),a=Ma(o).replace(/\'\.\.\.(.*)\'/g,"...$1").replace(/\'\"/g,"'").replace(/\"\'/g,"'").replace(/\'\[/g,"[").replace(/\]\'/g,"]").replace(/\'\\\'/g,"'").replace(/\\\'/g,"'").replace(/\\\'\'/g,"'").replace(/\'\'/g,"'");s.replaceWithText(a);}Gt(e);}function Va(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(i=>i.getText().replace(/["']/g,"")).includes(t.replace(/["']/g,"")))return e;s.addElement(t);}return e}return e}async function ni(e,t){let r=await promises.mkdtemp(E__default.join(tmpdir(),"shadcn-")),s=t?.resolvedPaths?.tailwindConfig||"tailwind.config.ts",i=E__default.join(r,`shadcn-${E__default.basename(s)}`);return new Project({compilerOptions:{}}).createSourceFile(i,e,{scriptKind:E__default.extname(s)===".ts"?ScriptKind.TS:ScriptKind.JS})}function za(e){return e.getFirstDescendantByKind(SyntaxKind.StringLiteral)?.getQuoteKind()===QuoteKind.Single?"'":'"'}function Ht(e){let t=e.getProperties();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.SpreadAssignment)){let i=s.asKindOrThrow(SyntaxKind.SpreadAssignment),n=i.getExpression().getText();e.insertPropertyAssignment(r,{name:`"___${n.replace(/^\.\.\./,"")}"`,initializer:`"...${n.replace(/^\.\.\./,"")}"`}),i.remove();}else if(s.isKind(SyntaxKind.PropertyAssignment)){let n=s.asKindOrThrow(SyntaxKind.PropertyAssignment).getInitializer();n&&n.isKind(SyntaxKind.ObjectLiteralExpression)?Ht(n.asKindOrThrow(SyntaxKind.ObjectLiteralExpression)):n&&n.isKind(SyntaxKind.ArrayLiteralExpression)&&oi(n.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));}}}function oi(e){let t=e.getElements();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.ObjectLiteralExpression))Ht(s.asKindOrThrow(SyntaxKind.ObjectLiteralExpression));else if(s.isKind(SyntaxKind.ArrayLiteralExpression))oi(s.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));else if(s.isKind(SyntaxKind.SpreadElement)){let i=s.getText();e.removeElement(r),e.insertElement(r,`"${i}"`);}}}function Gt(e){let t=e.getProperties();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.PropertyAssignment)){let i=s,n=i.getInitializer();if(n&&n.isKind(SyntaxKind.StringLiteral)){let o=n.asKindOrThrow(SyntaxKind.StringLiteral).getLiteralValue();o.startsWith("...")&&(e.insertSpreadAssignment(r,{expression:o.slice(3)}),i.remove());}else n?.isKind(SyntaxKind.ObjectLiteralExpression)?Gt(n):n&&n.isKind(SyntaxKind.ArrayLiteralExpression)&&ai(n.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));}}}function ai(e){let t=e.getElements();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.ObjectLiteralExpression))Gt(s.asKindOrThrow(SyntaxKind.ObjectLiteralExpression));else if(s.isKind(SyntaxKind.ArrayLiteralExpression))ai(s.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));else if(s.isKind(SyntaxKind.StringLiteral)){let i=s.getText(),n=/(?:^['"])(\.\.\..*)(?:['"]$)/g;n.test(i)&&(e.removeElement(r),e.insertElement(r,i.replace(n,"$1")));}}}async function Ka(e){let r=(await ni(`const theme = ${e}`,null)).getStatements()[0];if(r?.getKind()===SyntaxKind.VariableStatement){let i=(r.getDeclarationList()?.getDeclarations()[0]).getInitializer();if(i?.isKind(SyntaxKind.ObjectLiteralExpression))return await Ot(i)}throw new Error("Invalid input: not an object literal")}function Ot(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]=Ot(r.getInitializer()):r.getInitializer()?.isKind(SyntaxKind.ArrayLiteralExpression)?t[s]=li(r.getInitializer()):t[s]=Jt(r.getInitializer());}return t}function li(e){let t=[];for(let r of e.getElements())r.isKind(SyntaxKind.ObjectLiteralExpression)?t.push(Ot(r.asKindOrThrow(SyntaxKind.ObjectLiteralExpression))):r.isKind(SyntaxKind.ArrayLiteralExpression)?t.push(li(r.asKindOrThrow(SyntaxKind.ArrayLiteralExpression))):t.push(Jt(r));return t}function Jt(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(Jt);case SyntaxKind.ObjectLiteralExpression:return Ot(e);default:return e.getText()}}function ci(e){let t={};for(let r of Object.keys(e)){let s=r.split("-"),i=s[0],n=s.slice(1).join("-");n===""?typeof t[i]=="object"?t[i].DEFAULT=`hsl(var(--${r}))`:t[i]=`hsl(var(--${r}))`:(typeof t[i]!="object"&&(t[i]={DEFAULT:`hsl(var(--${i}))`}),t[i][n]=`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 Ye(e,t){let r={},s=[...e];if(!t?.registries)return Be({}),s;for(let i=0;i<s.length;i++){let n=Te(s[i],t);n&&(s[i]=n.url,Object.keys(n.headers).length>0&&(r[n.url]=n.headers));}return Be(r),s}async function we(e,t,r={}){return await Promise.all(e.map(async i=>{if(Ce(i))return si(i);if(M(i)){let[a]=await N([i],r);try{return n.parse(a)}catch(l){throw new F(i,l)}}if(i.startsWith("@")&&t?.registries){let a=Ye([i],t),[l]=await N(a,r);try{return n.parse(l)}catch(h){throw new F(i,h)}}let n$1=`styles/${t?.style??"new-york-v4"}/${i}.json`,[o]=await N([n$1],r);try{return n.parse(o)}catch(a){throw new F(i,a)}}))}m.extend({type:f,_source:z$1.string().optional(),font:l.optional(),config:z$1.any().optional()}).passthrough();async function hi(e,t,r={}){r={useCache:true,...r};let s=[],i=[],n$1=[],o=Array.from(new Set(e)),a=await we(o,t,r),l=new Map;for(let y=0;y<a.length;y++)a[y]&&l.set(o[y],a[y]);for(let[y,w]of Array.from(l.entries())){let v={...w,_source:y};if(s.push(v),w.registryDependencies){let b=w.registryDependencies;if(t?.registries)b=Ye(w.registryDependencies,t);else {let k=w.registryDependencies.filter(C=>C.startsWith("@"));if(k.length>0){let{registry:C}=Ee(k[0]);throw new ie(C)}}let{items:R,registryNames:T}=await Ze(b,t,r,new Set(o));i.push(...R),n$1.push(...T);}}if(s.push(...i),n$1.length>0){let y=Array.from(new Set(n$1)),w=y.filter(b=>!b.startsWith("@")),v=y.filter(b=>b.startsWith("@"));if(v.length>0){let b=await we(v,t,r);for(let R=0;R<b.length;R++){let k={...b[R],_source:v[R]};s.push(k);}}if(w.length>0){let b=await gt();if(!b&&s.length===0)return null;if(b){w.includes("index")&&w.unshift("index");let R=[];for(let Z of w){let _n=await qa(Z,t,r);R.push(..._n);}let T=Array.from(new Set(R)),k=await N(T,r),C=z$1.array(n).parse(k);s.push(...C);}}}if(!s.length)return null;if((o.includes("index")||n$1.includes("index"))&&t.tailwind.baseColor){let y=await Ba(t.tailwind.baseColor,t);y&&s.unshift(y);}let h=new Map;s.forEach(y=>{let w=y._source||y.name;h.set(y,w);}),s=Ga(s,h),s.sort((y,w)=>y.type==="registry:theme"&&w.type!=="registry:theme"?-1:y.type!=="registry:theme"&&w.type==="registry:theme"?1:0);let u$1={};s.forEach(y=>{u$1=Pe(u$1,y.tailwind??{});});let c={};s.forEach(y=>{c=Pe(c,y.cssVars??{});});let p={};s.forEach(y=>{p=Pe(p,y.css??{});});let d="";s.forEach(y=>{y.docs&&(d+=`${y.docs}
35
+ `);});let f={};s.forEach(y=>{f=Pe(f,y.envVars??{});});let m=await Ys(s.map(y=>y.files??[]),t),g=s.filter(y=>y.type==="registry:font"&&y.font).map(y=>({...y,type:"registry:font",font:y.font})),x=u.parse({dependencies:Pe.all(s.map(y=>y.dependencies??[])),devDependencies:Pe.all(s.map(y=>y.devDependencies??[])),files:m,tailwind:u$1,cssVars:c,css:p,docs:d,fonts:g.length>0?g:void 0});return Object.keys(f).length>0&&(x.envVars=f),x}async function Ze(e,t,r={},s=new Set){let i=[],n=[];for(let o of e)if(!s.has(o)){if(s.add(o),M(o)||Ce(o)){let[a]=await we([o],t,r);if(a&&(i.push(a),a.registryDependencies)){let l=t?.registries?Ye(a.registryDependencies,t):a.registryDependencies,h=await Ze(l,t,r,s);i.push(...h.items),n.push(...h.registryNames);}}else if(o.startsWith("@")&&t?.registries){let{registry:a}=Ee(o);if(a&&!(a in t.registries))throw new ie(a);let[l]=await we([o],t,r);if(l&&(i.push(l),l.registryDependencies)){let h=t?.registries?Ye(l.registryDependencies,t):l.registryDependencies,u=await Ze(h,t,r,s);i.push(...u.items),n.push(...u.registryNames);}}else if(n.push(o),t)try{let[a]=await we([o],t,r);if(a&&a.registryDependencies){let l=t?.registries?Ye(a.registryDependencies,t):a.registryDependencies,h=await Ze(l,t,r,s);i.push(...h.items),n.push(...h.registryNames);}}catch{}}return {items:i,registryNames:n}}async function qa(e,t,r={}){if(M(e))return [e];let{registryNames:s}=await Ze([e],t,r,new Set),i=t.resolvedPaths?.cwd?await Cs(t.resolvedPaths.cwd,t.style):t.style,n=s.map(o=>At(M(o)?o:`styles/${i}/${o}.json`));return Array.from(new Set(n))}async function Ba(e,t){let[r,s]=await Promise.all([Tt(e),xt(t)]);if(!r)return null;let i={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&&(i.tailwind.config.theme.extend.colors={...i.tailwind.config.theme.extend.colors,...ci(r.cssVars.dark??{})},i.cssVars={theme:{...r.cssVars.theme,...i.cssVars.theme},light:{...r.cssVars.light,...i.cssVars.light},dark:{...r.cssVars.dark,...i.cssVars.dark}},s==="v4"&&r.cssVarsV4&&(i.cssVars={theme:{...r.cssVarsV4.theme,...i.cssVars.theme},light:{radius:"0.625rem",...r.cssVarsV4.light},dark:{...r.cssVarsV4.dark}})),i}function ue(e,t){let r=t||e.name,s=createHash("sha256").update(r).digest("hex").substring(0,8);return `${e.name}::${s}`}function Ha(e){if(M(e)){let s=new URL(e).pathname,i=s.match(/\/([^/]+)\.json$/),n=i?i[1]:E__default.basename(s,".json");return {name:n,hash:ue({name:n},e)}}if(Ce(e)){let r=e.match(/\/([^/]+)\.json$/),s=r?r[1]:E__default.basename(e,".json");return {name:s,hash:ue({name:s},e)}}let{item:t}=Ee(e);return {name:t,hash:ue({name:t},e)}}function Ga(e,t){let r=new Map,s=new Map,i=new Map,n=new Map;e.forEach(h=>{let u=t.get(h)||h.name,c=ue(h,u);r.set(c,h),s.set(c,h),i.set(c,0),n.set(c,[]);});let o=new Map;e.forEach(h=>{let u=t.get(h)||h.name,c=ue(h,u);o.has(h.name)||o.set(h.name,[]),o.get(h.name).push(c),u!==h.name&&(o.has(u)||o.set(u,[]),o.get(u).push(c));}),e.forEach(h=>{let u=t.get(h)||h.name,c=ue(h,u);h.registryDependencies&&h.registryDependencies.forEach(p=>{let d,f=o.get(p)||[];if(f.length===1)d=f[0];else if(f.length>1)d=f[0];else {let{name:m}=Ha(p),g=o.get(m)||[];g.length>0&&(d=g[0]);}d&&r.has(d)&&(n.get(d).push(c),i.set(c,i.get(c)+1));});});let a=[],l=[];for(i.forEach((h,u)=>{h===0&&a.push(u);});a.length>0;){let h=a.shift(),u=r.get(h);l.push(u),n.get(h).forEach(c=>{let p=i.get(c)-1;i.set(c,p),p===0&&a.push(c);});}if(l.length!==e.length){let h=new Set(l.map(u=>{let c=t.get(u)||u.name;return ue(u,c)}));e.forEach(u=>{let c=t.get(u)||u.name,p=ue(u,c);h.has(p)||l.push(u);});}return l}var Zt=["npm","yarn","yarn@berry","pnpm","pnpm@6","bun","deno"],Xt={"bun.lock":"bun","bun.lockb":"bun","deno.lock":"deno","pnpm-lock.yaml":"pnpm","pnpm-workspace.yaml":"pnpm","yarn.lock":"yarn","package-lock.json":"npm","npm-shrinkwrap.json":"npm"},Qt={"node_modules/.deno/":"deno","node_modules/.pnpm/":"pnpm","node_modules/.yarn-state.yml":"yarn","node_modules/.yarn_integrity":"yarn","node_modules/.package-lock.json":"npm",".pnp.cjs":"yarn",".pnp.js":"yarn","bun.lock":"bun","bun.lockb":"bun"},di={bun:"https://bun.sh",deno:"https://deno.com",pnpm:"https://pnpm.io/installation","pnpm@6":"https://pnpm.io/6.x/installation",yarn:"https://classic.yarnpkg.com/en/docs/install","yarn@berry":"https://yarnpkg.com/getting-started/install",npm:"https://docs.npmjs.com/cli/configuring-npm/install"};async function er(e,t){try{let r=await fi__default.stat(e);return t==="file"?r.isFile():r.isDirectory()}catch{return false}}function*Ya(e=J.cwd()){let t=E__default.resolve(e),{root:r}=E__default.parse(t);for(;t&&t!==r;)yield t,t=E__default.dirname(t);}async function pi(e,t){return !e||!er(e,"file")?null:await Xa(e,t)}async function tr(e={}){let{cwd:t,strategies:r=["lockfile","packageManager-field","devEngines-field"],onUnknown:s}=e,i;if(typeof e.stopDir=="string"){let n=E__default.resolve(e.stopDir);i=o=>o===n;}else i=e.stopDir;for(let n of Ya(t)){for(let o of r)switch(o){case "lockfile":{for(let a of Object.keys(Xt))if(await er(E__default.join(n,a),"file")){let l=Xt[a],h=await pi(E__default.join(n,"package.json"),s);return h||{name:l,agent:l}}break}case "packageManager-field":case "devEngines-field":{let a=await pi(E__default.join(n,"package.json"),s);if(a)return a;break}case "install-metadata":{for(let a of Object.keys(Qt)){let l=a.endsWith("/")?"dir":"file";if(await er(E__default.join(n,a),l)){let h=Qt[a],u=h==="yarn"?Qa(a)?"yarn":"yarn@berry":h;return {name:h,agent:u}}}break}}if(i?.(n))break}return null}function Za(e){let t=r=>r?.match(/\d+(\.\d+){0,2}/)?.[0]??r;if(typeof e.packageManager=="string"){let[r,s]=e.packageManager.replace(/^\^/,"").split("@");return {name:r,ver:t(s)}}if(typeof e.devEngines?.packageManager?.name=="string")return {name:e.devEngines.packageManager.name,ver:t(e.devEngines.packageManager.version)}}async function Xa(e,t){try{let r=JSON.parse(await fi__default.readFile(e,"utf8")),s,i=Za(r);if(i){let n=i.name,o=i.ver,a=o;return n==="yarn"&&o&&Number.parseInt(o)>1?(s="yarn@berry",a="berry",{name:n,agent:s,version:a}):n==="pnpm"&&o&&Number.parseInt(o)<7?(s="pnpm@6",{name:n,agent:s,version:a}):Zt.includes(n)?(s=n,{name:n,agent:s,version:a}):t?.(r.packageManager)??null}}catch{}return null}function Qa(e){return e.endsWith(".yarn_integrity")}var $e=createRequire(import.meta.url),tl=Object.create,wi=Object.defineProperty,rl=Object.getOwnPropertyDescriptor,sl=Object.getOwnPropertyNames,il=Object.getPrototypeOf,nl=Object.prototype.hasOwnProperty,de=(e=>typeof $e<"u"?$e:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof $e<"u"?$e:t)[r]}):e)(function(e){if(typeof $e<"u")return $e.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),V=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ol=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of sl(t))!nl.call(e,i)&&i!==r&&wi(e,i,{get:()=>t[i],enumerable:!(s=rl(t,i))||s.enumerable});return e},al=(e,t,r)=>(r=e!=null?tl(il(e)):{},ol(wi(r,"default",{value:e,enumerable:true}),e)),ll=V((e,t)=>{t.exports=n,n.sync=o;var r=de("fs");function s(a,l){var h=l.pathExt!==void 0?l.pathExt:process.env.PATHEXT;if(!h||(h=h.split(";"),h.indexOf("")!==-1))return true;for(var u=0;u<h.length;u++){var c=h[u].toLowerCase();if(c&&a.substr(-c.length).toLowerCase()===c)return true}return false}function i(a,l,h){return !a.isSymbolicLink()&&!a.isFile()?false:s(l,h)}function n(a,l,h){r.stat(a,function(u,c){h(u,u?false:i(c,a,l));});}function o(a,l){return i(r.statSync(a),a,l)}}),cl=V((e,t)=>{t.exports=s,s.sync=i;var r=de("fs");function s(a,l,h){r.stat(a,function(u,c){h(u,u?false:n(c,l));});}function i(a,l){return n(r.statSync(a),l)}function n(a,l){return a.isFile()&&o(a,l)}function o(a,l){var h=a.mode,u=a.uid,c=a.gid,p=l.uid!==void 0?l.uid:process.getuid&&process.getuid(),d=l.gid!==void 0?l.gid:process.getgid&&process.getgid(),f=parseInt("100",8),m=parseInt("010",8),g=parseInt("001",8),x=f|m,y=h&g||h&m&&c===d||h&f&&u===p||h&x&&p===0;return y}}),ul=V((e,t)=>{de("fs");var s;process.platform==="win32"||global.TESTING_WINDOWS?s=ll():s=cl(),t.exports=i,i.sync=n;function i(o,a,l){if(typeof a=="function"&&(l=a,a={}),!l){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(h,u){i(o,a||{},function(c,p){c?u(c):h(p);});})}s(o,a||{},function(h,u){h&&(h.code==="EACCES"||a&&a.ignoreErrors)&&(h=null,u=false),l(h,u);});}function n(o,a){try{return s.sync(o,a||{})}catch(l){if(a&&a.ignoreErrors||l.code==="EACCES")return false;throw l}}}),hl=V((e,t)=>{var r=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",s=de("path"),i=r?";":":",n=ul(),o=u=>Object.assign(new Error(`not found: ${u}`),{code:"ENOENT"}),a=(u,c)=>{let p=c.colon||i,d=u.match(/\//)||r&&u.match(/\\/)?[""]:[...r?[process.cwd()]:[],...(c.path||process.env.PATH||"").split(p)],f=r?c.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",m=r?f.split(p):[""];return r&&u.indexOf(".")!==-1&&m[0]!==""&&m.unshift(""),{pathEnv:d,pathExt:m,pathExtExe:f}},l=(u,c,p)=>{typeof c=="function"&&(p=c,c={}),c||(c={});let{pathEnv:d,pathExt:f,pathExtExe:m}=a(u,c),g=[],x=w=>new Promise((v,b)=>{if(w===d.length)return c.all&&g.length?v(g):b(o(u));let R=d[w],T=/^".*"$/.test(R)?R.slice(1,-1):R,k=s.join(T,u),C=!T&&/^\.[\\\/]/.test(u)?u.slice(0,2)+k:k;v(y(C,w,0));}),y=(w,v,b)=>new Promise((R,T)=>{if(b===f.length)return R(x(v+1));let k=f[b];n(w+k,{pathExt:m},(C,Z)=>{if(!C&&Z)if(c.all)g.push(w+k);else return R(w+k);return R(y(w,v,b+1))});});return p?x(0).then(w=>p(null,w),p):x(0)},h=(u,c)=>{c=c||{};let{pathEnv:p,pathExt:d,pathExtExe:f}=a(u,c),m=[];for(let g=0;g<p.length;g++){let x=p[g],y=/^".*"$/.test(x)?x.slice(1,-1):x,w=s.join(y,u),v=!y&&/^\.[\\\/]/.test(u)?u.slice(0,2)+w:w;for(let b=0;b<d.length;b++){let R=v+d[b];try{if(n.sync(R,{pathExt:f}))if(c.all)m.push(R);else return R}catch{}}}if(c.all&&m.length)return m;if(c.nothrow)return null;throw o(u)};t.exports=l,l.sync=h;}),dl=V((e,t)=>{var r=(s={})=>{let i=s.env||process.env;return (s.platform||process.platform)!=="win32"?"PATH":Object.keys(i).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"};t.exports=r,t.exports.default=r;}),pl=V((e,t)=>{var r=de("path"),s=hl(),i=dl();function n(a,l){let h=a.options.env||process.env,u=process.cwd(),c=a.options.cwd!=null,p=c&&process.chdir!==void 0&&!process.chdir.disabled;if(p)try{process.chdir(a.options.cwd);}catch{}let d;try{d=s.sync(a.command,{path:h[i({env:h})],pathExt:l?r.delimiter:void 0});}catch{}finally{p&&process.chdir(u);}return d&&(d=r.resolve(c?a.options.cwd:"",d)),d}function o(a){return n(a)||n(a,true)}t.exports=o;}),fl=V((e,t)=>{var r=/([()\][%!^"`<>&|;, *?])/g;function s(n){return n=n.replace(r,"^$1"),n}function i(n,o){return n=`${n}`,n=n.replace(/(\\*)"/g,'$1$1\\"'),n=n.replace(/(\\*)$/,"$1$1"),n=`"${n}"`,n=n.replace(r,"^$1"),o&&(n=n.replace(r,"^$1")),n}t.exports.command=s,t.exports.argument=i;}),ml=V((e,t)=>{t.exports=/^#!(.*)/;}),gl=V((e,t)=>{var r=ml();t.exports=(s="")=>{let i=s.match(r);if(!i)return null;let[n,o]=i[0].replace(/#! ?/,"").split(" "),a=n.split("/").pop();return a==="env"?o:o?`${a} ${o}`:a};}),yl=V((e,t)=>{var r=de("fs"),s=gl();function i(n){let o=Buffer.alloc(150),a;try{a=r.openSync(n,"r"),r.readSync(a,o,0,150,0),r.closeSync(a);}catch{}return s(o.toString())}t.exports=i;}),wl=V((e,t)=>{var r=de("path"),s=pl(),i=fl(),n=yl(),o=process.platform==="win32",a=/\.(?:com|exe)$/i,l=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function h(p){p.file=s(p);let d=p.file&&n(p.file);return d?(p.args.unshift(p.file),p.command=d,s(p)):p.file}function u(p){if(!o)return p;let d=h(p),f=!a.test(d);if(p.options.forceShell||f){let m=l.test(d);p.command=r.normalize(p.command),p.command=i.command(p.command),p.args=p.args.map(x=>i.argument(x,m));let g=[p.command].concat(p.args).join(" ");p.args=["/d","/s","/c",`"${g}"`],p.command=process.env.comspec||"cmd.exe",p.options.windowsVerbatimArguments=true;}return p}function c(p,d,f){d&&!Array.isArray(d)&&(f=d,d=null),d=d?d.slice(0):[],f=Object.assign({},f);let m={command:p,args:d,options:f,file:void 0,original:{command:p,args:d}};return f.shell?m:u(m)}t.exports=c;}),xl=V((e,t)=>{var r=process.platform==="win32";function s(a,l){return Object.assign(new Error(`${l} ${a.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${l} ${a.command}`,path:a.command,spawnargs:a.args})}function i(a,l){if(!r)return;let h=a.emit;a.emit=function(u,c){if(u==="exit"){let p=n(c,l);if(p)return h.call(a,"error",p)}return h.apply(a,arguments)};}function n(a,l){return r&&a===1&&!l.file?s(l.original,"spawn"):null}function o(a,l){return r&&a===1&&!l.file?s(l.original,"spawnSync"):null}t.exports={hookChildProcess:i,verifyENOENT:n,verifyENOENTSync:o,notFoundError:s};}),vl=V((e,t)=>{var r=de("child_process"),s=wl(),i=xl();function n(a,l,h){let u=s(a,l,h),c=r.spawn(u.command,u.args,u.options);return i.hookChildProcess(c,u),c}function o(a,l,h){let u=s(a,l,h),c=r.spawnSync(u.command,u.args,u.options);return c.error=c.error||i.verifyENOENTSync(c.status,u),c}t.exports=n,t.exports.spawn=n,t.exports.sync=o,t.exports._parse=s,t.exports._enoent=i;}),Cl=/^path$/i,gi={key:"PATH",value:""};function kl(e){for(let t in e){if(!Object.prototype.hasOwnProperty.call(e,t)||!Cl.test(t))continue;let r=e[t];return r?{key:t,value:r}:gi}return gi}function Tl(e,t){let r=t.value.split(delimiter),s=e,i;do r.push(resolve(s,"node_modules",".bin")),i=s,s=dirname(s);while(s!==i);return {key:t.key,value:r.join(delimiter)}}function Pl(e,t){let r={...process.env,...t},s=Tl(e,kl(r));return r[s.key]=s.value,r}var Al=e=>{let t=e.length,r=new PassThrough,s=()=>{--t===0&&r.emit("end");};for(let i of e)i.pipe(r,{end:false}),i.on("end",s);return r},Ol=al(vl()),yi=class extends Error{result;output;get exitCode(){if(this.result.exitCode!==null)return this.result.exitCode}constructor(e,t){super(`Process exited with non-zero status (${e.exitCode})`),this.result=e,this.output=t;}},_l={timeout:void 0,persist:false},Ml={windowsHide:true};function Nl(e,t){return {command:normalize(e),args:t??[]}}function Ll(e){let t=new AbortController;for(let r of e){if(r.aborted)return t.abort(),r;let s=()=>{t.abort(r.reason);};r.addEventListener("abort",s,{signal:t.signal});}return t.signal}var Fl=class{_process;_aborted=false;_options;_command;_args;_resolveClose;_processClosed;_thrownError;get process(){return this._process}get pid(){return this._process?.pid}get exitCode(){if(this._process&&this._process.exitCode!==null)return this._process.exitCode}constructor(e,t,r){this._options={..._l,...r},this._command=e,this._args=t??[],this._processClosed=new Promise(s=>{this._resolveClose=s;});}kill(e){return this._process?.kill(e)===true}get aborted(){return this._aborted}get killed(){return this._process?.killed===true}pipe(e,t,r){return Dl(e,t,{...r,stdin:this})}async*[Symbol.asyncIterator](){let e=this._process;if(!e)return;let t=[];this._streamErr&&t.push(this._streamErr),this._streamOut&&t.push(this._streamOut);let r=Al(t),s=jl.createInterface({input:r});for await(let i of s)yield i.toString();if(await this._processClosed,e.removeAllListeners(),this._thrownError)throw this._thrownError;if(this._options?.throwOnError&&this.exitCode!==0&&this.exitCode!==void 0)throw new yi(this)}async _waitForOutput(){let e=this._process;if(!e)throw new Error("No process was started");let t="",r="";if(this._streamOut)for await(let i of this._streamOut)r+=i.toString();if(this._streamErr)for await(let i of this._streamErr)t+=i.toString();if(await this._processClosed,this._options?.stdin&&await this._options.stdin,e.removeAllListeners(),this._thrownError)throw this._thrownError;let s={stderr:t,stdout:r,exitCode:this.exitCode};if(this._options.throwOnError&&this.exitCode!==0&&this.exitCode!==void 0)throw new yi(this,s);return s}then(e,t){return this._waitForOutput().then(e,t)}_streamOut;_streamErr;spawn(){let e=cwd(),t=this._options,r={...Ml,...t.nodeOptions},s=[];this._resetState(),t.timeout!==void 0&&s.push(AbortSignal.timeout(t.timeout)),t.signal!==void 0&&s.push(t.signal),t.persist===true&&(r.detached=true),s.length>0&&(r.signal=Ll(s)),r.env=Pl(e,r.env);let{command:i,args:n}=Nl(this._command,this._args),o=(0, Ol._parse)(i,n,r),a=spawn(o.command,o.args,o.options);if(a.stderr&&(this._streamErr=a.stderr),a.stdout&&(this._streamOut=a.stdout),this._process=a,a.once("error",this._onError),a.once("close",this._onClose),t.stdin!==void 0&&a.stdin&&t.stdin.process){let{stdout:l}=t.stdin.process;l&&l.pipe(a.stdin);}}_resetState(){this._aborted=false,this._processClosed=new Promise(e=>{this._resolveClose=e;}),this._thrownError=void 0;}_onError=e=>{if(e.name==="AbortError"&&(!(e.cause instanceof Error)||e.cause.name!=="TimeoutError")){this._aborted=true;return}this._thrownError=e;};_onClose=()=>{this._resolveClose&&this._resolveClose();}},rr=(e,t,r)=>{let s=new Fl(e,t,r);return s.spawn(),s},Dl=rr;function Ur(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ir={},nr,vi;function B(){if(vi)return nr;vi=1;let e,t,r,s,i=true;typeof process<"u"&&({FORCE_COLOR:e,NODE_DISABLE_COLORS:t,NO_COLOR:r,TERM:s}=process.env||{},i=process.stdout&&process.stdout.isTTY);let n={enabled:!t&&r==null&&s!=="dumb"&&(e!=null&&e!=="0"||i),reset:l(0,0),bold:l(1,22),dim:l(2,22),italic:l(3,23),underline:l(4,24),inverse:l(7,27),hidden:l(8,28),strikethrough:l(9,29),black:l(30,39),red:l(31,39),green:l(32,39),yellow:l(33,39),blue:l(34,39),magenta:l(35,39),cyan:l(36,39),white:l(37,39),gray:l(90,39),grey:l(90,39),bgBlack:l(40,49),bgRed:l(41,49),bgGreen:l(42,49),bgYellow:l(43,49),bgBlue:l(44,49),bgMagenta:l(45,49),bgCyan:l(46,49),bgWhite:l(47,49)};function o(h,u){let c=0,p,d="",f="";for(;c<h.length;c++)p=h[c],d+=p.open,f+=p.close,~u.indexOf(p.close)&&(u=u.replace(p.rgx,p.close+p.open));return d+u+f}function a(h,u){let c={has:h,keys:u};return c.reset=n.reset.bind(c),c.bold=n.bold.bind(c),c.dim=n.dim.bind(c),c.italic=n.italic.bind(c),c.underline=n.underline.bind(c),c.inverse=n.inverse.bind(c),c.hidden=n.hidden.bind(c),c.strikethrough=n.strikethrough.bind(c),c.black=n.black.bind(c),c.red=n.red.bind(c),c.green=n.green.bind(c),c.yellow=n.yellow.bind(c),c.blue=n.blue.bind(c),c.magenta=n.magenta.bind(c),c.cyan=n.cyan.bind(c),c.white=n.white.bind(c),c.gray=n.gray.bind(c),c.grey=n.grey.bind(c),c.bgBlack=n.bgBlack.bind(c),c.bgRed=n.bgRed.bind(c),c.bgGreen=n.bgGreen.bind(c),c.bgYellow=n.bgYellow.bind(c),c.bgBlue=n.bgBlue.bind(c),c.bgMagenta=n.bgMagenta.bind(c),c.bgCyan=n.bgCyan.bind(c),c.bgWhite=n.bgWhite.bind(c),c}function l(h,u){let c={open:`\x1B[${h}m`,close:`\x1B[${u}m`,rgx:new RegExp(`\\x1b\\[${u}m`,"g")};return function(p){return this!==void 0&&this.has!==void 0?(~this.has.indexOf(h)||(this.has.push(h),this.keys.push(c)),p===void 0?this:n.enabled?o(this.keys,p+""):p+""):p===void 0?a([h],[c]):n.enabled?o([c],p+""):p+""}}return nr=n,nr}var or,bi;function Jl(){return bi||(bi=1,or=(e,t)=>{if(!(e.meta&&e.name!=="escape")){if(e.ctrl)return e.name==="a"?"first":e.name==="c"||e.name==="d"?"abort":e.name==="e"?"last":e.name==="g"?"reset":e.name==="n"?"down":e.name==="p"?"up":void 0;if(t){if(e.name==="j")return "down";if(e.name==="k")return "up"}return e.name==="return"||e.name==="enter"?"submit":e.name==="backspace"?"delete":e.name==="delete"?"deleteForward":e.name==="abort"?"abort":e.name==="escape"?"exit":e.name==="tab"?"next":e.name==="pagedown"?"nextPage":e.name==="pageup"?"prevPage":e.name==="home"?"home":e.name==="end"?"end":e.name==="up"?"up":e.name==="down"?"down":e.name==="right"?"right":e.name==="left"?"left":false}}),or}var ar,Ei;function qr(){return Ei||(Ei=1,ar=e=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|"),r=new RegExp(t,"g");return typeof e=="string"?e.replace(r,""):e}),ar}var lr,Ri;function H(){if(Ri)return lr;Ri=1;let e="\x1B",t=`${e}[`,r="\x07",s={to(o,a){return a?`${t}${a+1};${o+1}H`:`${t}${o+1}G`},move(o,a){let l="";return o<0?l+=`${t}${-o}D`:o>0&&(l+=`${t}${o}C`),a<0?l+=`${t}${-a}A`:a>0&&(l+=`${t}${a}B`),l},up:(o=1)=>`${t}${o}A`,down:(o=1)=>`${t}${o}B`,forward:(o=1)=>`${t}${o}C`,backward:(o=1)=>`${t}${o}D`,nextLine:(o=1)=>`${t}E`.repeat(o),prevLine:(o=1)=>`${t}F`.repeat(o),left:`${t}G`,hide:`${t}?25l`,show:`${t}?25h`,save:`${e}7`,restore:`${e}8`},i={up:(o=1)=>`${t}S`.repeat(o),down:(o=1)=>`${t}T`.repeat(o)},n={screen:`${t}2J`,up:(o=1)=>`${t}1J`.repeat(o),down:(o=1)=>`${t}J`.repeat(o),line:`${t}2K`,lineEnd:`${t}K`,lineStart:`${t}1K`,lines(o){let a="";for(let l=0;l<o;l++)a+=this.line+(l<o-1?s.up():"");return o&&(a+=s.left),a}};return lr={cursor:s,scroll:i,erase:n,beep:r},lr}var cr,Ii;function Yl(){if(Ii)return cr;Ii=1;let e=qr(),{erase:t,cursor:r}=H(),s=i=>[...e(i)].length;return cr=function(i,n){if(!n)return t.line+r.to(0);let o=0,a=i.split(/\r?\n/);for(let l of a)o+=1+Math.floor(Math.max(s(l)-1,0)/n);return t.lines(o)},cr}var ur,Si;function fn(){if(Si)return ur;Si=1;let e={arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",radioOn:"\u25C9",radioOff:"\u25EF",tick:"\u2714",cross:"\u2716",ellipsis:"\u2026",pointerSmall:"\u203A",line:"\u2500",pointer:"\u276F"},t={arrowUp:e.arrowUp,arrowDown:e.arrowDown,arrowLeft:e.arrowLeft,arrowRight:e.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"\u221A",cross:"\xD7",ellipsis:"...",pointerSmall:"\xBB",line:"\u2500",pointer:">"};return ur=process.platform==="win32"?t:e,ur}var hr,Ci;function Zl(){if(Ci)return hr;Ci=1;let e=B(),t=fn(),r=Object.freeze({password:{scale:1,render:l=>"*".repeat(l.length)},emoji:{scale:2,render:l=>"\u{1F603}".repeat(l.length)},invisible:{scale:0,render:l=>""},default:{scale:1,render:l=>`${l}`}}),s=l=>r[l]||r.default,i=Object.freeze({aborted:e.red(t.cross),done:e.green(t.tick),exited:e.yellow(t.cross),default:e.cyan("?")});return hr={styles:r,render:s,symbols:i,symbol:(l,h,u)=>h?i.aborted:u?i.exited:l?i.done:i.default,delimiter:l=>e.gray(l?t.ellipsis:t.pointerSmall),item:(l,h)=>e.gray(l?h?t.pointerSmall:"+":t.line)},hr}var dr,ki;function Xl(){if(ki)return dr;ki=1;let e=qr();return dr=function(t,r){let s=String(e(t)||"").split(/\r?\n/);return r?s.map(i=>Math.ceil(i.length/r)).reduce((i,n)=>i+n):s.length},dr}var pr,Ti;function Ql(){return Ti||(Ti=1,pr=(e,t={})=>{let r=Number.isSafeInteger(parseInt(t.margin))?new Array(parseInt(t.margin)).fill(" ").join(""):t.margin||"",s=t.width;return (e||"").split(/\r?\n/g).map(i=>i.split(/\s+/g).reduce((n,o)=>(o.length+r.length>=s||n[n.length-1].length+o.length+1<s?n[n.length-1]+=` ${o}`:n.push(`${r}${o}`),n),[r]).join(`
35
36
  `)).join(`
36
- `)}),pr}var fr,Pi;function Ql(){return Pi||(Pi=1,fr=(e,t,r)=>{r=r||t;let s=Math.min(t-r,e-Math.floor(r/2));s<0&&(s=0);let i=Math.min(s+r,t);return {startIndex:s,endIndex:i}}),fr}var mr,$i;function Y(){return $i||($i=1,mr={action:Gl(),clear:Jl(),style:Yl(),strip:qr(),figures:fn(),lines:Xl(),wrap:Zl(),entriesToDisplay:Ql()}),mr}var gr,Ai;function pe(){if(Ai)return gr;Ai=1;let e=Ol,{action:t}=Y(),r=zl,{beep:s,cursor:i}=H(),n=B();class o extends r{constructor(l={}){super(),this.firstRender=true,this.in=l.stdin||process.stdin,this.out=l.stdout||process.stdout,this.onRender=(l.onRender||(()=>{})).bind(this);let h=e.createInterface({input:this.in,escapeCodeTimeout:50});e.emitKeypressEvents(this.in,h),this.in.isTTY&&this.in.setRawMode(true);let u=["SelectPrompt","MultiselectPrompt"].indexOf(this.constructor.name)>-1,c=(p,d)=>{let f=t(d,u);f===false?this._&&this._(p,d):typeof this[f]=="function"?this[f](d):this.bell();};this.close=()=>{this.out.write(i.show),this.in.removeListener("keypress",c),this.in.isTTY&&this.in.setRawMode(false),h.close(),this.emit(this.aborted?"abort":this.exited?"exit":"submit",this.value),this.closed=true;},this.in.on("keypress",c);}fire(){this.emit("state",{value:this.value,aborted:!!this.aborted,exited:!!this.exited});}bell(){this.out.write(s);}render(){this.onRender(n),this.firstRender&&(this.firstRender=false);}}return gr=o,gr}var yr,Oi;function ec(){if(Oi)return yr;Oi=1;let e=B(),t=pe(),{erase:r,cursor:s}=H(),{style:i,clear:n,lines:o,figures:a}=Y();class l extends t{constructor(u={}){super(u),this.transform=i.render(u.style),this.scale=this.transform.scale,this.msg=u.message,this.initial=u.initial||"",this.validator=u.validate||(()=>true),this.value="",this.errorMsg=u.error||"Please Enter A Valid Value",this.cursor=+!!this.initial,this.cursorOffset=0,this.clear=n("",this.out.columns),this.render();}set value(u){!u&&this.initial?(this.placeholder=true,this.rendered=e.gray(this.transform.render(this.initial))):(this.placeholder=false,this.rendered=this.transform.render(u)),this._value=u,this.fire();}get value(){return this._value}reset(){this.value="",this.cursor=+!!this.initial,this.cursorOffset=0,this.fire(),this.render();}exit(){this.abort();}abort(){this.value=this.value||this.initial,this.done=this.aborted=true,this.error=false,this.red=false,this.fire(),this.render(),this.out.write(`
37
+ `)}),pr}var fr,Pi;function ec(){return Pi||(Pi=1,fr=(e,t,r)=>{r=r||t;let s=Math.min(t-r,e-Math.floor(r/2));s<0&&(s=0);let i=Math.min(s+r,t);return {startIndex:s,endIndex:i}}),fr}var mr,$i;function Y(){return $i||($i=1,mr={action:Jl(),clear:Yl(),style:Zl(),strip:qr(),figures:fn(),lines:Xl(),wrap:Ql(),entriesToDisplay:ec()}),mr}var gr,Ai;function pe(){if(Ai)return gr;Ai=1;let e=jl,{action:t}=Y(),r=Kl,{beep:s,cursor:i}=H(),n=B();class o extends r{constructor(l={}){super(),this.firstRender=true,this.in=l.stdin||process.stdin,this.out=l.stdout||process.stdout,this.onRender=(l.onRender||(()=>{})).bind(this);let h=e.createInterface({input:this.in,escapeCodeTimeout:50});e.emitKeypressEvents(this.in,h),this.in.isTTY&&this.in.setRawMode(true);let u=["SelectPrompt","MultiselectPrompt"].indexOf(this.constructor.name)>-1,c=(p,d)=>{let f=t(d,u);f===false?this._&&this._(p,d):typeof this[f]=="function"?this[f](d):this.bell();};this.close=()=>{this.out.write(i.show),this.in.removeListener("keypress",c),this.in.isTTY&&this.in.setRawMode(false),h.close(),this.emit(this.aborted?"abort":this.exited?"exit":"submit",this.value),this.closed=true;},this.in.on("keypress",c);}fire(){this.emit("state",{value:this.value,aborted:!!this.aborted,exited:!!this.exited});}bell(){this.out.write(s);}render(){this.onRender(n),this.firstRender&&(this.firstRender=false);}}return gr=o,gr}var yr,Oi;function tc(){if(Oi)return yr;Oi=1;let e=B(),t=pe(),{erase:r,cursor:s}=H(),{style:i,clear:n,lines:o,figures:a}=Y();class l extends t{constructor(u={}){super(u),this.transform=i.render(u.style),this.scale=this.transform.scale,this.msg=u.message,this.initial=u.initial||"",this.validator=u.validate||(()=>true),this.value="",this.errorMsg=u.error||"Please Enter A Valid Value",this.cursor=+!!this.initial,this.cursorOffset=0,this.clear=n("",this.out.columns),this.render();}set value(u){!u&&this.initial?(this.placeholder=true,this.rendered=e.gray(this.transform.render(this.initial))):(this.placeholder=false,this.rendered=this.transform.render(u)),this._value=u,this.fire();}get value(){return this._value}reset(){this.value="",this.cursor=+!!this.initial,this.cursorOffset=0,this.fire(),this.render();}exit(){this.abort();}abort(){this.value=this.value||this.initial,this.done=this.aborted=true,this.error=false,this.red=false,this.fire(),this.render(),this.out.write(`
37
38
  `),this.close();}async validate(){let u=await this.validator(this.value);typeof u=="string"&&(this.errorMsg=u,u=false),this.error=!u;}async submit(){if(this.value=this.value||this.initial,this.cursorOffset=0,this.cursor=this.rendered.length,await this.validate(),this.error){this.red=true,this.fire(),this.render();return}this.done=true,this.aborted=false,this.fire(),this.render(),this.out.write(`
38
39
  `),this.close();}next(){if(!this.placeholder)return this.bell();this.value=this.initial,this.cursor=this.rendered.length,this.fire(),this.render();}moveCursor(u){this.placeholder||(this.cursor=this.cursor+u,this.cursorOffset+=u);}_(u,c){let p=this.value.slice(0,this.cursor),d=this.value.slice(this.cursor);this.value=`${p}${u}${d}`,this.red=false,this.cursor=this.placeholder?0:p.length+1,this.render();}delete(){if(this.isCursorAtStart())return this.bell();let u=this.value.slice(0,this.cursor-1),c=this.value.slice(this.cursor);this.value=`${u}${c}`,this.red=false,this.isCursorAtStart()?this.cursorOffset=0:(this.cursorOffset++,this.moveCursor(-1)),this.render();}deleteForward(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();let u=this.value.slice(0,this.cursor),c=this.value.slice(this.cursor+1);this.value=`${u}${c}`,this.red=false,this.isCursorAtEnd()?this.cursorOffset=0:this.cursorOffset++,this.render();}first(){this.cursor=0,this.render();}last(){this.cursor=this.value.length,this.render();}left(){if(this.cursor<=0||this.placeholder)return this.bell();this.moveCursor(-1),this.render();}right(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.moveCursor(1),this.render();}isCursorAtStart(){return this.cursor===0||this.placeholder&&this.cursor===1}isCursorAtEnd(){return this.cursor===this.rendered.length||this.placeholder&&this.cursor===this.rendered.length+1}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(s.down(o(this.outputError,this.out.columns)-1)+n(this.outputError,this.out.columns)),this.out.write(n(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[i.symbol(this.done,this.aborted),e.bold(this.msg),i.delimiter(this.done),this.red?e.red(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
39
40
  `).reduce((u,c,p)=>u+`
40
- ${p?" ":a.pointerSmall} ${e.red().italic(c)}`,"")),this.out.write(r.line+s.to(0)+this.outputText+s.save+this.outputError+s.restore+s.move(this.cursorOffset,0)));}}return yr=l,yr}var wr,ji;function tc(){if(ji)return wr;ji=1;let e=B(),t=pe(),{style:r,clear:s,figures:i,wrap:n,entriesToDisplay:o}=Y(),{cursor:a}=H();class l extends t{constructor(u={}){super(u),this.msg=u.message,this.hint=u.hint||"- Use arrow-keys. Return to submit.",this.warn=u.warn||"- This option is disabled",this.cursor=u.initial||0,this.choices=u.choices.map((c,p)=>(typeof c=="string"&&(c={title:c,value:p}),{title:c&&(c.title||c.value||c),value:c&&(c.value===void 0?p:c.value),description:c&&c.description,selected:c&&c.selected,disabled:c&&c.disabled})),this.optionsPerPage=u.optionsPerPage||10,this.value=(this.choices[this.cursor]||{}).value,this.clear=s("",this.out.columns),this.render();}moveCursor(u){this.cursor=u,this.value=this.choices[u].value,this.fire();}reset(){this.moveCursor(0),this.fire(),this.render();}exit(){this.abort();}abort(){this.done=this.aborted=true,this.fire(),this.render(),this.out.write(`
41
+ ${p?" ":a.pointerSmall} ${e.red().italic(c)}`,"")),this.out.write(r.line+s.to(0)+this.outputText+s.save+this.outputError+s.restore+s.move(this.cursorOffset,0)));}}return yr=l,yr}var wr,ji;function rc(){if(ji)return wr;ji=1;let e=B(),t=pe(),{style:r,clear:s,figures:i,wrap:n,entriesToDisplay:o}=Y(),{cursor:a}=H();class l extends t{constructor(u={}){super(u),this.msg=u.message,this.hint=u.hint||"- Use arrow-keys. Return to submit.",this.warn=u.warn||"- This option is disabled",this.cursor=u.initial||0,this.choices=u.choices.map((c,p)=>(typeof c=="string"&&(c={title:c,value:p}),{title:c&&(c.title||c.value||c),value:c&&(c.value===void 0?p:c.value),description:c&&c.description,selected:c&&c.selected,disabled:c&&c.disabled})),this.optionsPerPage=u.optionsPerPage||10,this.value=(this.choices[this.cursor]||{}).value,this.clear=s("",this.out.columns),this.render();}moveCursor(u){this.cursor=u,this.value=this.choices[u].value,this.fire();}reset(){this.moveCursor(0),this.fire(),this.render();}exit(){this.abort();}abort(){this.done=this.aborted=true,this.fire(),this.render(),this.out.write(`
41
42
  `),this.close();}submit(){this.selection.disabled?this.bell():(this.done=true,this.aborted=false,this.fire(),this.render(),this.out.write(`
42
43
  `),this.close());}first(){this.moveCursor(0),this.render();}last(){this.moveCursor(this.choices.length-1),this.render();}up(){this.cursor===0?this.moveCursor(this.choices.length-1):this.moveCursor(this.cursor-1),this.render();}down(){this.cursor===this.choices.length-1?this.moveCursor(0):this.moveCursor(this.cursor+1),this.render();}next(){this.moveCursor((this.cursor+1)%this.choices.length),this.render();}_(u,c){if(u===" ")return this.submit()}get selection(){return this.choices[this.cursor]}render(){if(this.closed)return;this.firstRender?this.out.write(a.hide):this.out.write(s(this.outputText,this.out.columns)),super.render();let{startIndex:u,endIndex:c}=o(this.cursor,this.choices.length,this.optionsPerPage);if(this.outputText=[r.symbol(this.done,this.aborted),e.bold(this.msg),r.delimiter(false),this.done?this.selection.title:this.selection.disabled?e.yellow(this.warn):e.gray(this.hint)].join(" "),!this.done){this.outputText+=`
43
44
  `;for(let p=u;p<c;p++){let d,f,m="",g=this.choices[p];p===u&&u>0?f=i.arrowUp:p===c-1&&c<this.choices.length?f=i.arrowDown:f=" ",g.disabled?(d=this.cursor===p?e.gray().underline(g.title):e.strikethrough().gray(g.title),f=(this.cursor===p?e.bold().gray(i.pointer)+" ":" ")+f):(d=this.cursor===p?e.cyan().underline(g.title):g.title,f=(this.cursor===p?e.cyan(i.pointer)+" ":" ")+f,g.description&&this.cursor===p&&(m=` - ${g.description}`,(f.length+d.length+m.length>=this.out.columns||g.description.split(/\r?\n/).length>1)&&(m=`
44
45
  `+n(g.description,{margin:3,width:this.out.columns})))),this.outputText+=`${f} ${d}${e.gray(m)}
45
- `;}}this.out.write(this.outputText);}}return wr=l,wr}var xr,_i;function rc(){if(_i)return xr;_i=1;let e=B(),t=pe(),{style:r,clear:s}=Y(),{cursor:i,erase:n}=H();class o extends t{constructor(l={}){super(l),this.msg=l.message,this.value=!!l.initial,this.active=l.active||"on",this.inactive=l.inactive||"off",this.initialValue=this.value,this.render();}reset(){this.value=this.initialValue,this.fire(),this.render();}exit(){this.abort();}abort(){this.done=this.aborted=true,this.fire(),this.render(),this.out.write(`
46
+ `;}}this.out.write(this.outputText);}}return wr=l,wr}var xr,_i;function sc(){if(_i)return xr;_i=1;let e=B(),t=pe(),{style:r,clear:s}=Y(),{cursor:i,erase:n}=H();class o extends t{constructor(l={}){super(l),this.msg=l.message,this.value=!!l.initial,this.active=l.active||"on",this.inactive=l.inactive||"off",this.initialValue=this.value,this.render();}reset(){this.value=this.initialValue,this.fire(),this.render();}exit(){this.abort();}abort(){this.done=this.aborted=true,this.fire(),this.render(),this.out.write(`
46
47
  `),this.close();}submit(){this.done=true,this.aborted=false,this.fire(),this.render(),this.out.write(`
47
- `),this.close();}deactivate(){if(this.value===false)return this.bell();this.value=false,this.render();}activate(){if(this.value===true)return this.bell();this.value=true,this.render();}delete(){this.deactivate();}left(){this.deactivate();}right(){this.activate();}down(){this.deactivate();}up(){this.activate();}next(){this.value=!this.value,this.fire(),this.render();}_(l,h){if(l===" ")this.value=!this.value;else if(l==="1")this.value=true;else if(l==="0")this.value=false;else return this.bell();this.render();}render(){this.closed||(this.firstRender?this.out.write(i.hide):this.out.write(s(this.outputText,this.out.columns)),super.render(),this.outputText=[r.symbol(this.done,this.aborted),e.bold(this.msg),r.delimiter(this.done),this.value?this.inactive:e.cyan().underline(this.inactive),e.gray("/"),this.value?e.cyan().underline(this.active):this.active].join(" "),this.out.write(n.line+i.to(0)+this.outputText));}}return xr=o,xr}var vr,Mi;function se(){if(Mi)return vr;Mi=1;class e{constructor({token:r,date:s,parts:i,locales:n}){this.token=r,this.date=s||new Date,this.parts=i||[this],this.locales=n||{};}up(){}down(){}next(){let r=this.parts.indexOf(this);return this.parts.find((s,i)=>i>r&&s instanceof e)}setTo(r){}prev(){let r=[].concat(this.parts).reverse(),s=r.indexOf(this);return r.find((i,n)=>n>s&&i instanceof e)}toString(){return String(this.date)}}return vr=e,vr}var br,Ni;function sc(){if(Ni)return br;Ni=1;let e=se();class t extends e{constructor(s={}){super(s);}up(){this.date.setHours((this.date.getHours()+12)%24);}down(){this.up();}toString(){let s=this.date.getHours()>12?"pm":"am";return /\A/.test(this.token)?s.toUpperCase():s}}return br=t,br}var Er,Li;function ic(){if(Li)return Er;Li=1;let e=se(),t=s=>(s=s%10,s===1?"st":s===2?"nd":s===3?"rd":"th");class r extends e{constructor(i={}){super(i);}up(){this.date.setDate(this.date.getDate()+1);}down(){this.date.setDate(this.date.getDate()-1);}setTo(i){this.date.setDate(parseInt(i.substr(-2)));}toString(){let i=this.date.getDate(),n=this.date.getDay();return this.token==="DD"?String(i).padStart(2,"0"):this.token==="Do"?i+t(i):this.token==="d"?n+1:this.token==="ddd"?this.locales.weekdaysShort[n]:this.token==="dddd"?this.locales.weekdays[n]:i}}return Er=r,Er}var Rr,Fi;function nc(){if(Fi)return Rr;Fi=1;let e=se();class t extends e{constructor(s={}){super(s);}up(){this.date.setHours(this.date.getHours()+1);}down(){this.date.setHours(this.date.getHours()-1);}setTo(s){this.date.setHours(parseInt(s.substr(-2)));}toString(){let s=this.date.getHours();return /h/.test(this.token)&&(s=s%12||12),this.token.length>1?String(s).padStart(2,"0"):s}}return Rr=t,Rr}var Ir,Di;function oc(){if(Di)return Ir;Di=1;let e=se();class t extends e{constructor(s={}){super(s);}up(){this.date.setMilliseconds(this.date.getMilliseconds()+1);}down(){this.date.setMilliseconds(this.date.getMilliseconds()-1);}setTo(s){this.date.setMilliseconds(parseInt(s.substr(-this.token.length)));}toString(){return String(this.date.getMilliseconds()).padStart(4,"0").substr(0,this.token.length)}}return Ir=t,Ir}var Sr,Wi;function ac(){if(Wi)return Sr;Wi=1;let e=se();class t extends e{constructor(s={}){super(s);}up(){this.date.setMinutes(this.date.getMinutes()+1);}down(){this.date.setMinutes(this.date.getMinutes()-1);}setTo(s){this.date.setMinutes(parseInt(s.substr(-2)));}toString(){let s=this.date.getMinutes();return this.token.length>1?String(s).padStart(2,"0"):s}}return Sr=t,Sr}var Cr,Vi;function lc(){if(Vi)return Cr;Vi=1;let e=se();class t extends e{constructor(s={}){super(s);}up(){this.date.setMonth(this.date.getMonth()+1);}down(){this.date.setMonth(this.date.getMonth()-1);}setTo(s){s=parseInt(s.substr(-2))-1,this.date.setMonth(s<0?0:s);}toString(){let s=this.date.getMonth(),i=this.token.length;return i===2?String(s+1).padStart(2,"0"):i===3?this.locales.monthsShort[s]:i===4?this.locales.months[s]:String(s+1)}}return Cr=t,Cr}var kr,zi;function cc(){if(zi)return kr;zi=1;let e=se();class t extends e{constructor(s={}){super(s);}up(){this.date.setSeconds(this.date.getSeconds()+1);}down(){this.date.setSeconds(this.date.getSeconds()-1);}setTo(s){this.date.setSeconds(parseInt(s.substr(-2)));}toString(){let s=this.date.getSeconds();return this.token.length>1?String(s).padStart(2,"0"):s}}return kr=t,kr}var Tr,Ki;function uc(){if(Ki)return Tr;Ki=1;let e=se();class t extends e{constructor(s={}){super(s);}up(){this.date.setFullYear(this.date.getFullYear()+1);}down(){this.date.setFullYear(this.date.getFullYear()-1);}setTo(s){this.date.setFullYear(s.substr(-4));}toString(){let s=String(this.date.getFullYear()).padStart(4,"0");return this.token.length===2?s.substr(-2):s}}return Tr=t,Tr}var Pr,Ui;function hc(){return Ui||(Ui=1,Pr={DatePart:se(),Meridiem:sc(),Day:ic(),Hours:nc(),Milliseconds:oc(),Minutes:ac(),Month:lc(),Seconds:cc(),Year:uc()}),Pr}var $r,qi;function dc(){if(qi)return $r;qi=1;let e=B(),t=pe(),{style:r,clear:s,figures:i}=Y(),{erase:n,cursor:o}=H(),{DatePart:a,Meridiem:l,Day:h,Hours:u,Milliseconds:c,Minutes:p,Month:d,Seconds:f,Year:m}=hc(),g=/\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g,x={1:({token:v})=>v.replace(/\\(.)/g,"$1"),2:v=>new h(v),3:v=>new d(v),4:v=>new m(v),5:v=>new l(v),6:v=>new u(v),7:v=>new p(v),8:v=>new f(v),9:v=>new c(v)},y={months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),monthsShort:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),weekdaysShort:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")};class w extends t{constructor(b={}){super(b),this.msg=b.message,this.cursor=0,this.typed="",this.locales=Object.assign(y,b.locales),this._date=b.initial||new Date,this.errorMsg=b.error||"Please Enter A Valid Value",this.validator=b.validate||(()=>true),this.mask=b.mask||"YYYY-MM-DD HH:mm:ss",this.clear=s("",this.out.columns),this.render();}get value(){return this.date}get date(){return this._date}set date(b){b&&this._date.setTime(b.getTime());}set mask(b){let R;for(this.parts=[];R=g.exec(b);){let k=R.shift(),C=R.findIndex(X=>X!=null);this.parts.push(C in x?x[C]({token:R[C]||k,date:this.date,parts:this.parts,locales:this.locales}):R[C]||k);}let T=this.parts.reduce((k,C)=>(typeof C=="string"&&typeof k[k.length-1]=="string"?k[k.length-1]+=C:k.push(C),k),[]);this.parts.splice(0),this.parts.push(...T),this.reset();}moveCursor(b){this.typed="",this.cursor=b,this.fire();}reset(){this.moveCursor(this.parts.findIndex(b=>b instanceof a)),this.fire(),this.render();}exit(){this.abort();}abort(){this.done=this.aborted=true,this.error=false,this.fire(),this.render(),this.out.write(`
48
+ `),this.close();}deactivate(){if(this.value===false)return this.bell();this.value=false,this.render();}activate(){if(this.value===true)return this.bell();this.value=true,this.render();}delete(){this.deactivate();}left(){this.deactivate();}right(){this.activate();}down(){this.deactivate();}up(){this.activate();}next(){this.value=!this.value,this.fire(),this.render();}_(l,h){if(l===" ")this.value=!this.value;else if(l==="1")this.value=true;else if(l==="0")this.value=false;else return this.bell();this.render();}render(){this.closed||(this.firstRender?this.out.write(i.hide):this.out.write(s(this.outputText,this.out.columns)),super.render(),this.outputText=[r.symbol(this.done,this.aborted),e.bold(this.msg),r.delimiter(this.done),this.value?this.inactive:e.cyan().underline(this.inactive),e.gray("/"),this.value?e.cyan().underline(this.active):this.active].join(" "),this.out.write(n.line+i.to(0)+this.outputText));}}return xr=o,xr}var vr,Mi;function se(){if(Mi)return vr;Mi=1;class e{constructor({token:r,date:s,parts:i,locales:n}){this.token=r,this.date=s||new Date,this.parts=i||[this],this.locales=n||{};}up(){}down(){}next(){let r=this.parts.indexOf(this);return this.parts.find((s,i)=>i>r&&s instanceof e)}setTo(r){}prev(){let r=[].concat(this.parts).reverse(),s=r.indexOf(this);return r.find((i,n)=>n>s&&i instanceof e)}toString(){return String(this.date)}}return vr=e,vr}var br,Ni;function ic(){if(Ni)return br;Ni=1;let e=se();class t extends e{constructor(s={}){super(s);}up(){this.date.setHours((this.date.getHours()+12)%24);}down(){this.up();}toString(){let s=this.date.getHours()>12?"pm":"am";return /\A/.test(this.token)?s.toUpperCase():s}}return br=t,br}var Er,Li;function nc(){if(Li)return Er;Li=1;let e=se(),t=s=>(s=s%10,s===1?"st":s===2?"nd":s===3?"rd":"th");class r extends e{constructor(i={}){super(i);}up(){this.date.setDate(this.date.getDate()+1);}down(){this.date.setDate(this.date.getDate()-1);}setTo(i){this.date.setDate(parseInt(i.substr(-2)));}toString(){let i=this.date.getDate(),n=this.date.getDay();return this.token==="DD"?String(i).padStart(2,"0"):this.token==="Do"?i+t(i):this.token==="d"?n+1:this.token==="ddd"?this.locales.weekdaysShort[n]:this.token==="dddd"?this.locales.weekdays[n]:i}}return Er=r,Er}var Rr,Fi;function oc(){if(Fi)return Rr;Fi=1;let e=se();class t extends e{constructor(s={}){super(s);}up(){this.date.setHours(this.date.getHours()+1);}down(){this.date.setHours(this.date.getHours()-1);}setTo(s){this.date.setHours(parseInt(s.substr(-2)));}toString(){let s=this.date.getHours();return /h/.test(this.token)&&(s=s%12||12),this.token.length>1?String(s).padStart(2,"0"):s}}return Rr=t,Rr}var Ir,Di;function ac(){if(Di)return Ir;Di=1;let e=se();class t extends e{constructor(s={}){super(s);}up(){this.date.setMilliseconds(this.date.getMilliseconds()+1);}down(){this.date.setMilliseconds(this.date.getMilliseconds()-1);}setTo(s){this.date.setMilliseconds(parseInt(s.substr(-this.token.length)));}toString(){return String(this.date.getMilliseconds()).padStart(4,"0").substr(0,this.token.length)}}return Ir=t,Ir}var Sr,Wi;function lc(){if(Wi)return Sr;Wi=1;let e=se();class t extends e{constructor(s={}){super(s);}up(){this.date.setMinutes(this.date.getMinutes()+1);}down(){this.date.setMinutes(this.date.getMinutes()-1);}setTo(s){this.date.setMinutes(parseInt(s.substr(-2)));}toString(){let s=this.date.getMinutes();return this.token.length>1?String(s).padStart(2,"0"):s}}return Sr=t,Sr}var Cr,Vi;function cc(){if(Vi)return Cr;Vi=1;let e=se();class t extends e{constructor(s={}){super(s);}up(){this.date.setMonth(this.date.getMonth()+1);}down(){this.date.setMonth(this.date.getMonth()-1);}setTo(s){s=parseInt(s.substr(-2))-1,this.date.setMonth(s<0?0:s);}toString(){let s=this.date.getMonth(),i=this.token.length;return i===2?String(s+1).padStart(2,"0"):i===3?this.locales.monthsShort[s]:i===4?this.locales.months[s]:String(s+1)}}return Cr=t,Cr}var kr,zi;function uc(){if(zi)return kr;zi=1;let e=se();class t extends e{constructor(s={}){super(s);}up(){this.date.setSeconds(this.date.getSeconds()+1);}down(){this.date.setSeconds(this.date.getSeconds()-1);}setTo(s){this.date.setSeconds(parseInt(s.substr(-2)));}toString(){let s=this.date.getSeconds();return this.token.length>1?String(s).padStart(2,"0"):s}}return kr=t,kr}var Tr,Ki;function hc(){if(Ki)return Tr;Ki=1;let e=se();class t extends e{constructor(s={}){super(s);}up(){this.date.setFullYear(this.date.getFullYear()+1);}down(){this.date.setFullYear(this.date.getFullYear()-1);}setTo(s){this.date.setFullYear(s.substr(-4));}toString(){let s=String(this.date.getFullYear()).padStart(4,"0");return this.token.length===2?s.substr(-2):s}}return Tr=t,Tr}var Pr,Ui;function dc(){return Ui||(Ui=1,Pr={DatePart:se(),Meridiem:ic(),Day:nc(),Hours:oc(),Milliseconds:ac(),Minutes:lc(),Month:cc(),Seconds:uc(),Year:hc()}),Pr}var $r,qi;function pc(){if(qi)return $r;qi=1;let e=B(),t=pe(),{style:r,clear:s,figures:i}=Y(),{erase:n,cursor:o}=H(),{DatePart:a,Meridiem:l,Day:h,Hours:u,Milliseconds:c,Minutes:p,Month:d,Seconds:f,Year:m}=dc(),g=/\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g,x={1:({token:v})=>v.replace(/\\(.)/g,"$1"),2:v=>new h(v),3:v=>new d(v),4:v=>new m(v),5:v=>new l(v),6:v=>new u(v),7:v=>new p(v),8:v=>new f(v),9:v=>new c(v)},y={months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),monthsShort:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),weekdaysShort:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")};class w extends t{constructor(b={}){super(b),this.msg=b.message,this.cursor=0,this.typed="",this.locales=Object.assign(y,b.locales),this._date=b.initial||new Date,this.errorMsg=b.error||"Please Enter A Valid Value",this.validator=b.validate||(()=>true),this.mask=b.mask||"YYYY-MM-DD HH:mm:ss",this.clear=s("",this.out.columns),this.render();}get value(){return this.date}get date(){return this._date}set date(b){b&&this._date.setTime(b.getTime());}set mask(b){let R;for(this.parts=[];R=g.exec(b);){let k=R.shift(),C=R.findIndex(Z=>Z!=null);this.parts.push(C in x?x[C]({token:R[C]||k,date:this.date,parts:this.parts,locales:this.locales}):R[C]||k);}let T=this.parts.reduce((k,C)=>(typeof C=="string"&&typeof k[k.length-1]=="string"?k[k.length-1]+=C:k.push(C),k),[]);this.parts.splice(0),this.parts.push(...T),this.reset();}moveCursor(b){this.typed="",this.cursor=b,this.fire();}reset(){this.moveCursor(this.parts.findIndex(b=>b instanceof a)),this.fire(),this.render();}exit(){this.abort();}abort(){this.done=this.aborted=true,this.error=false,this.fire(),this.render(),this.out.write(`
48
49
  `),this.close();}async validate(){let b=await this.validator(this.value);typeof b=="string"&&(this.errorMsg=b,b=false),this.error=!b;}async submit(){if(await this.validate(),this.error){this.color="red",this.fire(),this.render();return}this.done=true,this.aborted=false,this.fire(),this.render(),this.out.write(`
49
50
  `),this.close();}up(){this.typed="",this.parts[this.cursor].up(),this.render();}down(){this.typed="",this.parts[this.cursor].down(),this.render();}left(){let b=this.parts[this.cursor].prev();if(b==null)return this.bell();this.moveCursor(this.parts.indexOf(b)),this.render();}right(){let b=this.parts[this.cursor].next();if(b==null)return this.bell();this.moveCursor(this.parts.indexOf(b)),this.render();}next(){let b=this.parts[this.cursor].next();this.moveCursor(b?this.parts.indexOf(b):this.parts.findIndex(R=>R instanceof a)),this.render();}_(b){/\d/.test(b)&&(this.typed+=b,this.parts[this.cursor].setTo(this.typed),this.render());}render(){this.closed||(this.firstRender?this.out.write(o.hide):this.out.write(s(this.outputText,this.out.columns)),super.render(),this.outputText=[r.symbol(this.done,this.aborted),e.bold(this.msg),r.delimiter(false),this.parts.reduce((b,R,T)=>b.concat(T===this.cursor&&!this.done?e.cyan().underline(R.toString()):R),[]).join("")].join(" "),this.error&&(this.outputText+=this.errorMsg.split(`
50
51
  `).reduce((b,R,T)=>b+`
51
- ${T?" ":i.pointerSmall} ${e.red().italic(R)}`,"")),this.out.write(n.line+o.to(0)+this.outputText));}}return $r=w,$r}var Ar,Bi;function pc(){if(Bi)return Ar;Bi=1;let e=B(),t=pe(),{cursor:r,erase:s}=H(),{style:i,figures:n,clear:o,lines:a}=Y(),l=/[0-9]/,h=p=>p!==void 0,u=(p,d)=>{let f=Math.pow(10,d);return Math.round(p*f)/f};class c extends t{constructor(d={}){super(d),this.transform=i.render(d.style),this.msg=d.message,this.initial=h(d.initial)?d.initial:"",this.float=!!d.float,this.round=d.round||2,this.inc=d.increment||1,this.min=h(d.min)?d.min:-1/0,this.max=h(d.max)?d.max:1/0,this.errorMsg=d.error||"Please Enter A Valid Value",this.validator=d.validate||(()=>true),this.color="cyan",this.value="",this.typed="",this.lastHit=0,this.render();}set value(d){!d&&d!==0?(this.placeholder=true,this.rendered=e.gray(this.transform.render(`${this.initial}`)),this._value=""):(this.placeholder=false,this.rendered=this.transform.render(`${u(d,this.round)}`),this._value=u(d,this.round)),this.fire();}get value(){return this._value}parse(d){return this.float?parseFloat(d):parseInt(d)}valid(d){return d==="-"||d==="."&&this.float||l.test(d)}reset(){this.typed="",this.value="",this.fire(),this.render();}exit(){this.abort();}abort(){let d=this.value;this.value=d!==""?d:this.initial,this.done=this.aborted=true,this.error=false,this.fire(),this.render(),this.out.write(`
52
+ ${T?" ":i.pointerSmall} ${e.red().italic(R)}`,"")),this.out.write(n.line+o.to(0)+this.outputText));}}return $r=w,$r}var Ar,Bi;function fc(){if(Bi)return Ar;Bi=1;let e=B(),t=pe(),{cursor:r,erase:s}=H(),{style:i,figures:n,clear:o,lines:a}=Y(),l=/[0-9]/,h=p=>p!==void 0,u=(p,d)=>{let f=Math.pow(10,d);return Math.round(p*f)/f};class c extends t{constructor(d={}){super(d),this.transform=i.render(d.style),this.msg=d.message,this.initial=h(d.initial)?d.initial:"",this.float=!!d.float,this.round=d.round||2,this.inc=d.increment||1,this.min=h(d.min)?d.min:-1/0,this.max=h(d.max)?d.max:1/0,this.errorMsg=d.error||"Please Enter A Valid Value",this.validator=d.validate||(()=>true),this.color="cyan",this.value="",this.typed="",this.lastHit=0,this.render();}set value(d){!d&&d!==0?(this.placeholder=true,this.rendered=e.gray(this.transform.render(`${this.initial}`)),this._value=""):(this.placeholder=false,this.rendered=this.transform.render(`${u(d,this.round)}`),this._value=u(d,this.round)),this.fire();}get value(){return this._value}parse(d){return this.float?parseFloat(d):parseInt(d)}valid(d){return d==="-"||d==="."&&this.float||l.test(d)}reset(){this.typed="",this.value="",this.fire(),this.render();}exit(){this.abort();}abort(){let d=this.value;this.value=d!==""?d:this.initial,this.done=this.aborted=true,this.error=false,this.fire(),this.render(),this.out.write(`
52
53
  `),this.close();}async validate(){let d=await this.validator(this.value);typeof d=="string"&&(this.errorMsg=d,d=false),this.error=!d;}async submit(){if(await this.validate(),this.error){this.color="red",this.fire(),this.render();return}let d=this.value;this.value=d!==""?d:this.initial,this.done=true,this.aborted=false,this.error=false,this.fire(),this.render(),this.out.write(`
53
54
  `),this.close();}up(){if(this.typed="",this.value===""&&(this.value=this.min-this.inc),this.value>=this.max)return this.bell();this.value+=this.inc,this.color="cyan",this.fire(),this.render();}down(){if(this.typed="",this.value===""&&(this.value=this.min+this.inc),this.value<=this.min)return this.bell();this.value-=this.inc,this.color="cyan",this.fire(),this.render();}delete(){let d=this.value.toString();if(d.length===0)return this.bell();this.value=this.parse(d=d.slice(0,-1))||"",this.value!==""&&this.value<this.min&&(this.value=this.min),this.color="cyan",this.fire(),this.render();}next(){this.value=this.initial,this.fire(),this.render();}_(d,f){if(!this.valid(d))return this.bell();let m=Date.now();if(m-this.lastHit>1e3&&(this.typed=""),this.typed+=d,this.lastHit=m,this.color="cyan",d===".")return this.fire();this.value=Math.min(this.parse(this.typed),this.max),this.value>this.max&&(this.value=this.max),this.value<this.min&&(this.value=this.min),this.fire(),this.render();}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(r.down(a(this.outputError,this.out.columns)-1)+o(this.outputError,this.out.columns)),this.out.write(o(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[i.symbol(this.done,this.aborted),e.bold(this.msg),i.delimiter(this.done),!this.done||!this.done&&!this.placeholder?e[this.color]().underline(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
54
55
  `).reduce((d,f,m)=>d+`
@@ -62,13 +63,13 @@ Instructions:
62
63
  `:"")+" enter/return: Complete answer":""}renderOption(u,c,p,d){let f=(c.selected?e.green(i.radioOn):i.radioOff)+" "+d+" ",m,g;return c.disabled?m=u===p?e.gray().underline(c.title):e.strikethrough().gray(c.title):(m=u===p?e.cyan().underline(c.title):c.title,u===p&&c.description&&(g=` - ${c.description}`,(f.length+m.length+g.length>=this.out.columns||c.description.split(/\r?\n/).length>1)&&(g=`
63
64
  `+o(c.description,{margin:f.length,width:this.out.columns})))),f+m+e.gray(g||"")}paginateOptions(u){if(u.length===0)return e.red("No matches for this query.");let{startIndex:c,endIndex:p}=a(this.cursor,u.length,this.optionsPerPage),d,f=[];for(let m=c;m<p;m++)m===c&&c>0?d=i.arrowUp:m===p-1&&p<u.length?d=i.arrowDown:d=" ",f.push(this.renderOption(this.cursor,u[m],m,d));return `
64
65
  `+f.join(`
65
- `)}renderOptions(u){return this.done?"":this.paginateOptions(u)}renderDoneOrInstructions(){if(this.done)return this.value.filter(c=>c.selected).map(c=>c.title).join(", ");let u=[e.gray(this.hint),this.renderInstructions()];return this.value[this.cursor].disabled&&u.push(e.yellow(this.warn)),u.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(t.hide),super.render();let u=[n.symbol(this.done,this.aborted),e.bold(this.msg),n.delimiter(false),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(u+=e.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=false),u+=this.renderOptions(this.value),this.out.write(this.clear+u),this.clear=s(u,this.out.columns);}}return Or=l,Or}var jr,Gi;function fc(){if(Gi)return jr;Gi=1;let e=B(),t=pe(),{erase:r,cursor:s}=H(),{style:i,clear:n,figures:o,wrap:a,entriesToDisplay:l}=Y(),h=(d,f)=>d[f]&&(d[f].value||d[f].title||d[f]),u=(d,f)=>d[f]&&(d[f].title||d[f].value||d[f]),c=(d,f)=>{let m=d.findIndex(g=>g.value===f||g.title===f);return m>-1?m:void 0};class p extends t{constructor(f={}){super(f),this.msg=f.message,this.suggest=f.suggest,this.choices=f.choices,this.initial=typeof f.initial=="number"?f.initial:c(f.choices,f.initial),this.select=this.initial||f.cursor||0,this.i18n={noMatches:f.noMatches||"no matches found"},this.fallback=f.fallback||this.initial,this.clearFirst=f.clearFirst||false,this.suggestions=[],this.input="",this.limit=f.limit||10,this.cursor=0,this.transform=i.render(f.style),this.scale=this.transform.scale,this.render=this.render.bind(this),this.complete=this.complete.bind(this),this.clear=n("",this.out.columns),this.complete(this.render),this.render();}set fallback(f){this._fb=Number.isSafeInteger(parseInt(f))?parseInt(f):f;}get fallback(){let f;return typeof this._fb=="number"?f=this.choices[this._fb]:typeof this._fb=="string"&&(f={title:this._fb}),f||this._fb||{title:this.i18n.noMatches}}moveSelect(f){this.select=f,this.suggestions.length>0?this.value=h(this.suggestions,f):this.value=this.fallback.value,this.fire();}async complete(f){let m=this.completing=this.suggest(this.input,this.choices),g=await m;if(this.completing!==m)return;this.suggestions=g.map((y,w,v)=>({title:u(v,w),value:h(v,w),description:y.description})),this.completing=false;let x=Math.max(g.length-1,0);this.moveSelect(Math.min(x,this.select)),f&&f();}reset(){this.input="",this.complete(()=>{this.moveSelect(this.initial!==void 0?this.initial:0),this.render();}),this.render();}exit(){this.clearFirst&&this.input.length>0?this.reset():(this.done=this.exited=true,this.aborted=false,this.fire(),this.render(),this.out.write(`
66
+ `)}renderOptions(u){return this.done?"":this.paginateOptions(u)}renderDoneOrInstructions(){if(this.done)return this.value.filter(c=>c.selected).map(c=>c.title).join(", ");let u=[e.gray(this.hint),this.renderInstructions()];return this.value[this.cursor].disabled&&u.push(e.yellow(this.warn)),u.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(t.hide),super.render();let u=[n.symbol(this.done,this.aborted),e.bold(this.msg),n.delimiter(false),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(u+=e.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=false),u+=this.renderOptions(this.value),this.out.write(this.clear+u),this.clear=s(u,this.out.columns);}}return Or=l,Or}var jr,Gi;function mc(){if(Gi)return jr;Gi=1;let e=B(),t=pe(),{erase:r,cursor:s}=H(),{style:i,clear:n,figures:o,wrap:a,entriesToDisplay:l}=Y(),h=(d,f)=>d[f]&&(d[f].value||d[f].title||d[f]),u=(d,f)=>d[f]&&(d[f].title||d[f].value||d[f]),c=(d,f)=>{let m=d.findIndex(g=>g.value===f||g.title===f);return m>-1?m:void 0};class p extends t{constructor(f={}){super(f),this.msg=f.message,this.suggest=f.suggest,this.choices=f.choices,this.initial=typeof f.initial=="number"?f.initial:c(f.choices,f.initial),this.select=this.initial||f.cursor||0,this.i18n={noMatches:f.noMatches||"no matches found"},this.fallback=f.fallback||this.initial,this.clearFirst=f.clearFirst||false,this.suggestions=[],this.input="",this.limit=f.limit||10,this.cursor=0,this.transform=i.render(f.style),this.scale=this.transform.scale,this.render=this.render.bind(this),this.complete=this.complete.bind(this),this.clear=n("",this.out.columns),this.complete(this.render),this.render();}set fallback(f){this._fb=Number.isSafeInteger(parseInt(f))?parseInt(f):f;}get fallback(){let f;return typeof this._fb=="number"?f=this.choices[this._fb]:typeof this._fb=="string"&&(f={title:this._fb}),f||this._fb||{title:this.i18n.noMatches}}moveSelect(f){this.select=f,this.suggestions.length>0?this.value=h(this.suggestions,f):this.value=this.fallback.value,this.fire();}async complete(f){let m=this.completing=this.suggest(this.input,this.choices),g=await m;if(this.completing!==m)return;this.suggestions=g.map((y,w,v)=>({title:u(v,w),value:h(v,w),description:y.description})),this.completing=false;let x=Math.max(g.length-1,0);this.moveSelect(Math.min(x,this.select)),f&&f();}reset(){this.input="",this.complete(()=>{this.moveSelect(this.initial!==void 0?this.initial:0),this.render();}),this.render();}exit(){this.clearFirst&&this.input.length>0?this.reset():(this.done=this.exited=true,this.aborted=false,this.fire(),this.render(),this.out.write(`
66
67
  `),this.close());}abort(){this.done=this.aborted=true,this.exited=false,this.fire(),this.render(),this.out.write(`
67
68
  `),this.close();}submit(){this.done=true,this.aborted=this.exited=false,this.fire(),this.render(),this.out.write(`
68
69
  `),this.close();}_(f,m){let g=this.input.slice(0,this.cursor),x=this.input.slice(this.cursor);this.input=`${g}${f}${x}`,this.cursor=g.length+1,this.complete(this.render),this.render();}delete(){if(this.cursor===0)return this.bell();let f=this.input.slice(0,this.cursor-1),m=this.input.slice(this.cursor);this.input=`${f}${m}`,this.complete(this.render),this.cursor=this.cursor-1,this.render();}deleteForward(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();let f=this.input.slice(0,this.cursor),m=this.input.slice(this.cursor+1);this.input=`${f}${m}`,this.complete(this.render),this.render();}first(){this.moveSelect(0),this.render();}last(){this.moveSelect(this.suggestions.length-1),this.render();}up(){this.select===0?this.moveSelect(this.suggestions.length-1):this.moveSelect(this.select-1),this.render();}down(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render();}next(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render();}nextPage(){this.moveSelect(Math.min(this.select+this.limit,this.suggestions.length-1)),this.render();}prevPage(){this.moveSelect(Math.max(this.select-this.limit,0)),this.render();}left(){if(this.cursor<=0)return this.bell();this.cursor=this.cursor-1,this.render();}right(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();this.cursor=this.cursor+1,this.render();}renderOption(f,m,g,x){let y,w=g?o.arrowUp:x?o.arrowDown:" ",v=m?e.cyan().underline(f.title):f.title;return w=(m?e.cyan(o.pointer)+" ":" ")+w,f.description&&(y=` - ${f.description}`,(w.length+v.length+y.length>=this.out.columns||f.description.split(/\r?\n/).length>1)&&(y=`
69
70
  `+a(f.description,{margin:3,width:this.out.columns}))),w+" "+v+e.gray(y||"")}render(){if(this.closed)return;this.firstRender?this.out.write(s.hide):this.out.write(n(this.outputText,this.out.columns)),super.render();let{startIndex:f,endIndex:m}=l(this.select,this.choices.length,this.limit);if(this.outputText=[i.symbol(this.done,this.aborted,this.exited),e.bold(this.msg),i.delimiter(this.completing),this.done&&this.suggestions[this.select]?this.suggestions[this.select].title:this.rendered=this.transform.render(this.input)].join(" "),!this.done){let g=this.suggestions.slice(f,m).map((x,y)=>this.renderOption(x,this.select===y+f,y===0&&f>0,y+f===m-1&&m<this.choices.length)).join(`
70
71
  `);this.outputText+=`
71
- `+(g||e.gray(this.fallback.title));}this.out.write(r.line+s.to(0)+this.outputText);}}return jr=p,jr}var _r,Ji;function mc(){if(Ji)return _r;Ji=1;let e=B(),{cursor:t}=H(),r=mn(),{clear:s,style:i,figures:n}=Y();class o extends r{constructor(l={}){l.overrideRender=true,super(l),this.inputValue="",this.clear=s("",this.out.columns),this.filteredOptions=this.value,this.render();}last(){this.cursor=this.filteredOptions.length-1,this.render();}next(){this.cursor=(this.cursor+1)%this.filteredOptions.length,this.render();}up(){this.cursor===0?this.cursor=this.filteredOptions.length-1:this.cursor--,this.render();}down(){this.cursor===this.filteredOptions.length-1?this.cursor=0:this.cursor++,this.render();}left(){this.filteredOptions[this.cursor].selected=false,this.render();}right(){if(this.value.filter(l=>l.selected).length>=this.maxChoices)return this.bell();this.filteredOptions[this.cursor].selected=true,this.render();}delete(){this.inputValue.length&&(this.inputValue=this.inputValue.substr(0,this.inputValue.length-1),this.updateFilteredOptions());}updateFilteredOptions(){let l=this.filteredOptions[this.cursor];this.filteredOptions=this.value.filter(u=>this.inputValue?!!(typeof u.title=="string"&&u.title.toLowerCase().includes(this.inputValue.toLowerCase())||typeof u.value=="string"&&u.value.toLowerCase().includes(this.inputValue.toLowerCase())):true);let h=this.filteredOptions.findIndex(u=>u===l);this.cursor=h<0?0:h,this.render();}handleSpaceToggle(){let l=this.filteredOptions[this.cursor];if(l.selected)l.selected=false,this.render();else {if(l.disabled||this.value.filter(h=>h.selected).length>=this.maxChoices)return this.bell();l.selected=true,this.render();}}handleInputChange(l){this.inputValue=this.inputValue+l,this.updateFilteredOptions();}_(l,h){l===" "?this.handleSpaceToggle():this.handleInputChange(l);}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
72
+ `+(g||e.gray(this.fallback.title));}this.out.write(r.line+s.to(0)+this.outputText);}}return jr=p,jr}var _r,Ji;function gc(){if(Ji)return _r;Ji=1;let e=B(),{cursor:t}=H(),r=mn(),{clear:s,style:i,figures:n}=Y();class o extends r{constructor(l={}){l.overrideRender=true,super(l),this.inputValue="",this.clear=s("",this.out.columns),this.filteredOptions=this.value,this.render();}last(){this.cursor=this.filteredOptions.length-1,this.render();}next(){this.cursor=(this.cursor+1)%this.filteredOptions.length,this.render();}up(){this.cursor===0?this.cursor=this.filteredOptions.length-1:this.cursor--,this.render();}down(){this.cursor===this.filteredOptions.length-1?this.cursor=0:this.cursor++,this.render();}left(){this.filteredOptions[this.cursor].selected=false,this.render();}right(){if(this.value.filter(l=>l.selected).length>=this.maxChoices)return this.bell();this.filteredOptions[this.cursor].selected=true,this.render();}delete(){this.inputValue.length&&(this.inputValue=this.inputValue.substr(0,this.inputValue.length-1),this.updateFilteredOptions());}updateFilteredOptions(){let l=this.filteredOptions[this.cursor];this.filteredOptions=this.value.filter(u=>this.inputValue?!!(typeof u.title=="string"&&u.title.toLowerCase().includes(this.inputValue.toLowerCase())||typeof u.value=="string"&&u.value.toLowerCase().includes(this.inputValue.toLowerCase())):true);let h=this.filteredOptions.findIndex(u=>u===l);this.cursor=h<0?0:h,this.render();}handleSpaceToggle(){let l=this.filteredOptions[this.cursor];if(l.selected)l.selected=false,this.render();else {if(l.disabled||this.value.filter(h=>h.selected).length>=this.maxChoices)return this.bell();l.selected=true,this.render();}}handleInputChange(l){this.inputValue=this.inputValue+l,this.updateFilteredOptions();}_(l,h){l===" "?this.handleSpaceToggle():this.handleInputChange(l);}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
72
73
  Instructions:
73
74
  ${n.arrowUp}/${n.arrowDown}: Highlight option
74
75
  ${n.arrowLeft}/${n.arrowRight}/[space]: Toggle selection
@@ -76,21 +77,21 @@ Instructions:
76
77
  enter/return: Complete answer
77
78
  `:""}renderCurrentInput(){return `
78
79
  Filtered results for: ${this.inputValue?this.inputValue:e.gray("Enter something to filter")}
79
- `}renderOption(l,h,u,c){let p=(h.selected?e.green(n.radioOn):n.radioOff)+" "+c+" ",d;return h.disabled?d=l===u?e.gray().underline(h.title):e.strikethrough().gray(h.title):d=l===u?e.cyan().underline(h.title):h.title,p+d}renderDoneOrInstructions(){if(this.done)return this.value.filter(h=>h.selected).map(h=>h.title).join(", ");let l=[e.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];return this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled&&l.push(e.yellow(this.warn)),l.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(t.hide),super.render();let l=[i.symbol(this.done,this.aborted),e.bold(this.msg),i.delimiter(false),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(l+=e.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=false),l+=this.renderOptions(this.filteredOptions),this.out.write(this.clear+l),this.clear=s(l,this.out.columns);}}return _r=o,_r}var Mr,Yi;function gc(){if(Yi)return Mr;Yi=1;let e=B(),t=pe(),{style:r,clear:s}=Y(),{erase:i,cursor:n}=H();class o extends t{constructor(l={}){super(l),this.msg=l.message,this.value=l.initial,this.initialValue=!!l.initial,this.yesMsg=l.yes||"yes",this.yesOption=l.yesOption||"(Y/n)",this.noMsg=l.no||"no",this.noOption=l.noOption||"(y/N)",this.render();}reset(){this.value=this.initialValue,this.fire(),this.render();}exit(){this.abort();}abort(){this.done=this.aborted=true,this.fire(),this.render(),this.out.write(`
80
+ `}renderOption(l,h,u,c){let p=(h.selected?e.green(n.radioOn):n.radioOff)+" "+c+" ",d;return h.disabled?d=l===u?e.gray().underline(h.title):e.strikethrough().gray(h.title):d=l===u?e.cyan().underline(h.title):h.title,p+d}renderDoneOrInstructions(){if(this.done)return this.value.filter(h=>h.selected).map(h=>h.title).join(", ");let l=[e.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];return this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled&&l.push(e.yellow(this.warn)),l.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(t.hide),super.render();let l=[i.symbol(this.done,this.aborted),e.bold(this.msg),i.delimiter(false),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(l+=e.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=false),l+=this.renderOptions(this.filteredOptions),this.out.write(this.clear+l),this.clear=s(l,this.out.columns);}}return _r=o,_r}var Mr,Yi;function yc(){if(Yi)return Mr;Yi=1;let e=B(),t=pe(),{style:r,clear:s}=Y(),{erase:i,cursor:n}=H();class o extends t{constructor(l={}){super(l),this.msg=l.message,this.value=l.initial,this.initialValue=!!l.initial,this.yesMsg=l.yes||"yes",this.yesOption=l.yesOption||"(Y/n)",this.noMsg=l.no||"no",this.noOption=l.noOption||"(y/N)",this.render();}reset(){this.value=this.initialValue,this.fire(),this.render();}exit(){this.abort();}abort(){this.done=this.aborted=true,this.fire(),this.render(),this.out.write(`
80
81
  `),this.close();}submit(){this.value=this.value||false,this.done=true,this.aborted=false,this.fire(),this.render(),this.out.write(`
81
- `),this.close();}_(l,h){return l.toLowerCase()==="y"?(this.value=true,this.submit()):l.toLowerCase()==="n"?(this.value=false,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(n.hide):this.out.write(s(this.outputText,this.out.columns)),super.render(),this.outputText=[r.symbol(this.done,this.aborted),e.bold(this.msg),r.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:e.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(i.line+n.to(0)+this.outputText));}}return Mr=o,Mr}var Nr,Xi;function yc(){return Xi||(Xi=1,Nr={TextPrompt:ec(),SelectPrompt:tc(),TogglePrompt:rc(),DatePrompt:dc(),NumberPrompt:pc(),MultiselectPrompt:mn(),AutocompletePrompt:fc(),AutocompleteMultiselectPrompt:mc(),ConfirmPrompt:gc()}),Nr}var Zi;function wc(){return Zi||(Zi=1,function(e){let t=e,r=yc(),s=o=>o;function i(o,a,l={}){return new Promise((h,u)=>{let c=new r[o](a),p=l.onAbort||s,d=l.onSubmit||s,f=l.onExit||s;c.on("state",a.onState||s),c.on("submit",m=>h(d(m))),c.on("exit",m=>h(f(m))),c.on("abort",m=>u(p(m)));})}t.text=o=>i("TextPrompt",o),t.password=o=>(o.style="password",t.text(o)),t.invisible=o=>(o.style="invisible",t.text(o)),t.number=o=>i("NumberPrompt",o),t.date=o=>i("DatePrompt",o),t.confirm=o=>i("ConfirmPrompt",o),t.list=o=>{let a=o.separator||",";return i("TextPrompt",o,{onSubmit:l=>l.split(a).map(h=>h.trim())})},t.toggle=o=>i("TogglePrompt",o),t.select=o=>i("SelectPrompt",o),t.multiselect=o=>{o.choices=[].concat(o.choices||[]);let a=l=>l.filter(h=>h.selected).map(h=>h.value);return i("MultiselectPrompt",o,{onAbort:a,onSubmit:a})},t.autocompleteMultiselect=o=>{o.choices=[].concat(o.choices||[]);let a=l=>l.filter(h=>h.selected).map(h=>h.value);return i("AutocompleteMultiselectPrompt",o,{onAbort:a,onSubmit:a})};let n=(o,a)=>Promise.resolve(a.filter(l=>l.title.slice(0,o.length).toLowerCase()===o.toLowerCase()));t.autocomplete=o=>(o.suggest=o.suggest||n,o.choices=[].concat(o.choices||[]),i("AutocompletePrompt",o));}(ir)),ir}var Lr,Qi;function xc(){if(Qi)return Lr;Qi=1;let e=wc(),t=["suggest","format","onState","validate","onRender","type"],r=()=>{};async function s(a=[],{onSubmit:l=r,onCancel:h=r}={}){let u={},c=s._override||{};a=[].concat(a);let p,d,f,m,g,x,y=async(w,v,b=false)=>{if(!(!b&&w.validate&&w.validate(v)!==true))return w.format?await w.format(v,u):v};for(d of a)if({name:m,type:g}=d,typeof g=="function"&&(g=await g(p,{...u},d),d.type=g),!!g){for(let w in d){if(t.includes(w))continue;let v=d[w];d[w]=typeof v=="function"?await v(p,{...u},x):v;}if(x=d,typeof d.message!="string")throw new Error("prompt message is required");if({name:m,type:g}=d,e[g]===void 0)throw new Error(`prompt type (${g}) is not defined`);if(c[d.name]!==void 0&&(p=await y(d,c[d.name]),p!==void 0)){u[m]=p;continue}try{p=s._injected?i(s._injected,d.initial):await e[g](d),u[m]=p=await y(d,p,!0),f=await l(d,p,u);}catch{f=!await h(d,u);}if(f)return u}return u}function i(a,l){let h=a.shift();if(h instanceof Error)throw h;return h===void 0?l:h}function n(a){s._injected=(s._injected||[]).concat(a);}function o(a){s._override=Object.assign({},a);}return Lr=Object.assign(s,{prompt:s,prompts:e,inject:n,override:o}),Lr}var Fr,en;function vc(){return en||(en=1,Fr=xc()),Fr}var bc=vc(),Ec=Ur(bc),Br=globalThis.window?.document!==void 0;globalThis.process?.versions?.node;globalThis.process?.versions?.bun;globalThis.Deno?.version?.deno;globalThis.process?.versions?.electron;globalThis.navigator?.userAgent?.includes("jsdom");typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;typeof DedicatedWorkerGlobalScope<"u"&&globalThis instanceof DedicatedWorkerGlobalScope;typeof SharedWorkerGlobalScope<"u"&&globalThis instanceof SharedWorkerGlobalScope;typeof ServiceWorkerGlobalScope<"u"&&globalThis instanceof ServiceWorkerGlobalScope;var _t=globalThis.navigator?.userAgentData?.platform;_t==="macOS"||globalThis.navigator?.platform==="MacIntel"||globalThis.navigator?.userAgent?.includes(" Mac ")===true||globalThis.process?.platform;_t==="Windows"||globalThis.navigator?.platform==="Win32"||globalThis.process?.platform;_t==="Linux"||globalThis.navigator?.platform?.startsWith("Linux")===true||globalThis.navigator?.userAgent?.includes(" Linux ")===true||globalThis.process?.platform;_t==="Android"||globalThis.navigator?.platform==="Android"||globalThis.navigator?.userAgent?.includes(" Android ")===true||globalThis.process?.platform;var tn="\x1B]",rn="\x07",jt=";";!Br&&J.env.TERM_PROGRAM;!Br&&J.platform;Br||J.cwd;var Rc=(e,t)=>[tn,"8",jt,jt,t,rn,e,tn,"8",jt,jt,rn].join(""),Dr,sn;function gn(){return sn||(sn=1,Dr=(e,t=process.argv)=>{let r=e.startsWith("-")?"":e.length===1?"-":"--",s=t.indexOf(r+e),i=t.indexOf("--");return s!==-1&&(i===-1||s<i)}),Dr}var Wr,nn;function Ic(){if(nn)return Wr;nn=1;let e=Kl,t=Ul,r=gn(),{env:s}=process,i;r("no-color")||r("no-colors")||r("color=false")||r("color=never")?i=0:(r("color")||r("colors")||r("color=true")||r("color=always"))&&(i=1),"FORCE_COLOR"in s&&(s.FORCE_COLOR==="true"?i=1:s.FORCE_COLOR==="false"?i=0:i=s.FORCE_COLOR.length===0?1:Math.min(parseInt(s.FORCE_COLOR,10),3));function n(l){return l===0?false:{level:l,hasBasic:true,has256:l>=2,has16m:l>=3}}function o(l,h){if(i===0)return 0;if(r("color=16m")||r("color=full")||r("color=truecolor"))return 3;if(r("color=256"))return 2;if(l&&!h&&i===void 0)return 0;let u=i||0;if(s.TERM==="dumb")return u;if(process.platform==="win32"){let c=e.release().split(".");return Number(c[0])>=10&&Number(c[2])>=10586?Number(c[2])>=14931?3:2:1}if("CI"in s)return ["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(c=>c in s)||s.CI_NAME==="codeship"?1:u;if("TEAMCITY_VERSION"in s)return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(s.TEAMCITY_VERSION)?1:0;if(s.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in s){let c=parseInt((s.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(s.TERM_PROGRAM){case "iTerm.app":return c>=3?3:2;case "Apple_Terminal":return 2}}return /-256(color)?$/i.test(s.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(s.TERM)||"COLORTERM"in s?1:u}function a(l){let h=o(l,l&&l.isTTY);return n(h)}return Wr={supportsColor:a,stdout:n(o(true,t.isatty(1))),stderr:n(o(true,t.isatty(2)))},Wr}var Vr,on;function Sc(){if(on)return Vr;on=1;let e=Ic(),t=gn();function r(i){if(/^\d{3,4}$/.test(i)){let o=/(\d{1,2})(\d{2})/.exec(i)||[];return {major:0,minor:parseInt(o[1],10),patch:parseInt(o[2],10)}}let n=(i||"").split(".").map(o=>parseInt(o,10));return {major:n[0],minor:n[1],patch:n[2]}}function s(i){let{CI:n,FORCE_HYPERLINK:o,NETLIFY:a,TEAMCITY_VERSION:l,TERM_PROGRAM:h,TERM_PROGRAM_VERSION:u,VTE_VERSION:c,TERM:p}=process.env;if(o)return !(o.length>0&&parseInt(o,10)===0);if(t("no-hyperlink")||t("no-hyperlinks")||t("hyperlink=false")||t("hyperlink=never"))return false;if(t("hyperlink=true")||t("hyperlink=always")||a)return true;if(!e.supportsColor(i)||i&&!i.isTTY)return false;if("WT_SESSION"in process.env)return true;if(process.platform==="win32"||n||l)return false;if(h){let d=r(u||"");switch(h){case "iTerm.app":return d.major===3?d.minor>=1:d.major>3;case "WezTerm":return d.major>=20200620;case "vscode":return d.major>1||d.major===1&&d.minor>=72;case "ghostty":return true}}if(c){if(c==="0.50.0")return false;let d=r(c);return d.major>0||d.minor>=50}switch(p){case "alacritty":return true}return false}return Vr={supportsHyperlink:s,stdout:s(process.stdout),stderr:s(process.stderr)},Vr}var Cc=Sc(),Hr=Ur(Cc);function Ze(e,t,{target:r="stdout",...s}={}){return Hr[r]?Rc(e,t):s.fallback===false?e:typeof s.fallback=="function"?s.fallback(e,t):`${e} (\u200B${t}\u200B)`}Ze.isSupported=Hr.stdout;Ze.stderr=(e,t,r={})=>Ze(e,t,{target:"stderr",...r});Ze.stderr.isSupported=Hr.stderr;var q={},xe={},an;function kc(){if(an)return xe;an=1,Object.defineProperty(xe,"__esModule",{value:true}),xe.sync=xe.isexe=void 0;let e=dn,t=fi__default,r=async(o,a={})=>{let{ignoreErrors:l=false}=a;try{return i(await(0,t.stat)(o),a)}catch(h){let u=h;if(l||u.code==="EACCES")return false;throw u}};xe.isexe=r;let s=(o,a={})=>{let{ignoreErrors:l=false}=a;try{return i((0,e.statSync)(o),a)}catch(h){let u=h;if(l||u.code==="EACCES")return false;throw u}};xe.sync=s;let i=(o,a)=>o.isFile()&&n(o,a),n=(o,a)=>{let l=a.uid??process.getuid?.(),h=a.groups??process.getgroups?.()??[],u=a.gid??process.getgid?.()??h[0];if(l===void 0||u===void 0)throw new Error("cannot get uid or gid");let c=new Set([u,...h]),p=o.mode,d=o.uid,f=o.gid,m=parseInt("100",8),g=parseInt("010",8),x=parseInt("001",8),y=m|g;return !!(p&x||p&g&&c.has(f)||p&m&&d===l||p&y&&l===0)};return xe}var ve={},ln;function Tc(){if(ln)return ve;ln=1,Object.defineProperty(ve,"__esModule",{value:true}),ve.sync=ve.isexe=void 0;let e=dn,t=fi__default,r=async(o,a={})=>{let{ignoreErrors:l=false}=a;try{return n(await(0,t.stat)(o),o,a)}catch(h){let u=h;if(l||u.code==="EACCES")return false;throw u}};ve.isexe=r;let s=(o,a={})=>{let{ignoreErrors:l=false}=a;try{return n((0,e.statSync)(o),o,a)}catch(h){let u=h;if(l||u.code==="EACCES")return false;throw u}};ve.sync=s;let i=(o,a)=>{let{pathExt:l=process.env.PATHEXT||""}=a,h=l.split(";");if(h.indexOf("")!==-1)return true;for(let u=0;u<h.length;u++){let c=h[u].toLowerCase(),p=o.substring(o.length-c.length).toLowerCase();if(c&&p===c)return true}return false},n=(o,a,l)=>o.isFile()&&i(a,l);return ve}var zr={},cn;function Pc(){return cn||(cn=1,Object.defineProperty(zr,"__esModule",{value:true})),zr}var un;function $c(){return un||(un=1,function(e){var t=q&&q.__createBinding||(Object.create?function(h,u,c,p){p===void 0&&(p=c);var d=Object.getOwnPropertyDescriptor(u,c);(!d||("get"in d?!u.__esModule:d.writable||d.configurable))&&(d={enumerable:true,get:function(){return u[c]}}),Object.defineProperty(h,p,d);}:function(h,u,c,p){p===void 0&&(p=c),h[p]=u[c];}),r=q&&q.__setModuleDefault||(Object.create?function(h,u){Object.defineProperty(h,"default",{enumerable:true,value:u});}:function(h,u){h.default=u;}),s=q&&q.__importStar||function(h){if(h&&h.__esModule)return h;var u={};if(h!=null)for(var c in h)c!=="default"&&Object.prototype.hasOwnProperty.call(h,c)&&t(u,h,c);return r(u,h),u},i=q&&q.__exportStar||function(h,u){for(var c in h)c!=="default"&&!Object.prototype.hasOwnProperty.call(u,c)&&t(u,h,c);};Object.defineProperty(e,"__esModule",{value:true}),e.sync=e.isexe=e.posix=e.win32=void 0;let n=s(kc());e.posix=n;let o=s(Tc());e.win32=o,i(Pc(),e);let l=(process.env._ISEXE_TEST_PLATFORM_||process.platform)==="win32"?o:n;e.isexe=l.isexe,e.sync=l.sync;}(q)),q}var Kr,hn;function Ac(){if(hn)return Kr;hn=1;let{isexe:e,sync:t}=$c(),{join:r,delimiter:s,sep:i,posix:n}=E__default,o=process.platform==="win32",a=new RegExp(`[${n.sep}${i===n.sep?"":i}]`.replace(/(\\)/g,"\\$1")),l=new RegExp(`^\\.${a.source}`),h=f=>Object.assign(new Error(`not found: ${f}`),{code:"ENOENT"}),u=(f,{path:m=process.env.PATH,pathExt:g=process.env.PATHEXT,delimiter:x=s})=>{let y=f.match(a)?[""]:[...o?[process.cwd()]:[],...(m||"").split(x)];if(o){let w=g||[".EXE",".CMD",".BAT",".COM"].join(x),v=w.split(x).flatMap(b=>[b,b.toLowerCase()]);return f.includes(".")&&v[0]!==""&&v.unshift(""),{pathEnv:y,pathExt:v,pathExtExe:w}}return {pathEnv:y,pathExt:[""]}},c=(f,m)=>{let g=/^".*"$/.test(f)?f.slice(1,-1):f;return (!g&&l.test(m)?m.slice(0,2):"")+r(g,m)},p=async(f,m={})=>{let{pathEnv:g,pathExt:x,pathExtExe:y}=u(f,m),w=[];for(let v of g){let b=c(v,f);for(let R of x){let T=b+R;if(await e(T,{pathExt:y,ignoreErrors:true})){if(!m.all)return T;w.push(T);}}}if(m.all&&w.length)return w;if(m.nothrow)return null;throw h(f)},d=(f,m={})=>{let{pathEnv:g,pathExt:x,pathExtExe:y}=u(f,m),w=[];for(let v of g){let b=c(v,f);for(let R of x){let T=b+R;if(t(T,{pathExt:y,ignoreErrors:true})){if(!m.all)return T;w.push(T);}}}if(m.all&&w.length)return w;if(m.nothrow)return null;throw h(f)};return Kr=p,p.sync=d,Kr}var Oc=Ac(),jc=Ur(Oc);join(Kl.tmpdir(),"antfu-ni");function yn(e){return jc.sync(e,{nothrow:true})!==null}async function Gr({autoInstall:e,programmatic:t,cwd:r}={}){let{name:s,agent:i,version:n}=await tr({cwd:r,onUnknown:o=>{t||console.warn("[ni] Unknown packageManager:",o);}})||{};if(s&&!yn(s)&&!t){if(!e){console.warn(`[ni] Detected ${s} but it doesn't seem to be installed.
82
- `),J.env.CI&&J.exit(1);let o=Ze(s,di[s]),{tryInstall:a}=await Ec({name:"tryInstall",type:"confirm",message:`Would you like to globally install ${o}?`});a||J.exit(1);}await rr("npm",["i","-g",`${s}${n?`@${n}`:""}`],{nodeOptions:{stdio:"inherit",cwd:r},throwOnError:true});}return i}J.env.NI_CONFIG_FILE;var Mc=J.platform==="win32"?J.env.USERPROFILE:J.env.HOME;E__default.join(Mc||"~/",".nirc");async function Nc(e,{withFallback:t}={withFallback:false}){let r=await Gr({programmatic:true,cwd:e});return r==="yarn@berry"?"yarn":r==="pnpm@6"?"pnpm":r==="bun"?"bun":r==="deno"?"deno":t?Jr()??"npm":r??"npm"}function Jr(e=process.env.npm_config_user_agent||""){return e.startsWith("yarn")?"yarn":e.startsWith("pnpm")?"pnpm":e.startsWith("bun")?"bun":e.startsWith("deno")?"deno":e.startsWith("npm")?"npm":null}function Yr(e){return e==="pnpm"?"pnpm dlx":e==="bun"?"bunx":"npx"}async function Jm(e){let t=await Nc(e);return Yr(t)}var wn={name:"shadcn",version:"4.8.1",description:"Add components to your apps.",publishConfig:{access:"public"},license:"MIT",author:{name:"shadcn",url:"https://twitter.com/shadcn"},repository:{type:"git",url:"https://github.com/shadcn-ui/ui.git",directory:"packages/shadcn"},files:["dist"],keywords:["components","ui","tailwind","radix-ui","base-ui","shadcn"],type:"module",exports:{".":{types:"./dist/index.d.ts",default:"./dist/index.js"},"./registry":{types:"./dist/registry/index.d.ts",default:"./dist/registry/index.js"},"./schema":{types:"./dist/schema/index.d.ts",default:"./dist/schema/index.js"},"./mcp":{types:"./dist/mcp/index.d.ts",default:"./dist/mcp/index.js"},"./utils":{types:"./dist/utils/index.d.ts",default:"./dist/utils/index.js"},"./icons":{types:"./dist/icons/index.d.ts",default:"./dist/icons/index.js"},"./preset":{types:"./dist/preset/index.d.ts",default:"./dist/preset/index.js"},"./tailwind.css":{style:"./dist/tailwind.css"}},bin:"./dist/index.js",scripts:{dev:"tsup --watch",build:"tsup",typecheck:"tsc --noEmit",clean:"rimraf dist && rimraf components","start:dev":"cross-env REGISTRY_URL=http://localhost:4000/r SHADCN_TEMPLATE_DIR=../../templates node dist/index.js","start:prod":"cross-env REGISTRY_URL=https://ui.shadcn.com/r node dist/index.js",start:"node dist/index.js","format:write":'prettier --write "**/*.{ts,tsx,mdx}" --cache',"format:check":'prettier --check "**/*.{ts,tsx,mdx}" --cache',release:"changeset version","pub:beta":"pnpm build && pnpm publish --no-git-checks --access public --tag beta","pub:next":"pnpm build && pnpm publish --no-git-checks --access public --tag next","pub:release":"pnpm build && pnpm publish --access public",test:"vitest run","test:dev":"REGISTRY_URL=http://localhost:4000/r SHADCN_TEMPLATE_DIR=../../templates vitest run","mcp:inspect":"pnpm dlx @modelcontextprotocol/inspector node dist/index.js mcp"},dependencies:{"@babel/core":"^7.28.0","@babel/parser":"^7.28.0","@babel/plugin-transform-typescript":"^7.28.0","@babel/preset-typescript":"^7.27.1","@dotenvx/dotenvx":"^1.48.4","@modelcontextprotocol/sdk":"^1.26.0","@types/validate-npm-package-name":"^4.0.2",browserslist:"^4.26.2",commander:"^14.0.0",cosmiconfig:"^9.0.0",dedent:"^1.6.0",deepmerge:"^4.3.1",diff:"^8.0.2",execa:"^9.6.0","fast-glob":"^3.3.3","fs-extra":"^11.3.1",fuzzysort:"^3.1.0","https-proxy-agent":"^7.0.6",kleur:"^4.1.5",msw:"^2.10.4","node-fetch":"^3.3.2",open:"^11.0.0",ora:"^8.2.0",postcss:"^8.5.6","postcss-selector-parser":"^7.1.0",prompts:"^2.4.2",recast:"^0.23.11","stringify-object":"^5.0.0","tailwind-merge":"^3.0.1","ts-morph":"^26.0.0","tsconfig-paths":"^4.2.0","validate-npm-package-name":"^7.0.1",zod:"^3.24.1","zod-to-json-schema":"^3.24.6"},devDependencies:{"@antfu/ni":"^25.0.0","@types/babel__core":"^7.20.5","@types/fs-extra":"^11.0.4","@types/prompts":"^2.4.9","@types/stringify-object":"^4.0.5",rimraf:"^6.0.1",tsup:"^8.5.0","type-fest":"^4.41.0",typescript:"^5.9.2"}};function Ae(e){if(S.break(),S.error("Something went wrong. Please check the error below for more details."),S.error("If the problem persists, please open an issue on GitHub."),S.error(""),typeof e=="string"&&(S.error(e),Qe()),e instanceof j&&(e.message&&(S.error(e.cause?"Error:":"Message:"),S.error(e.message)),e.cause&&(S.error(`
82
+ `),this.close();}_(l,h){return l.toLowerCase()==="y"?(this.value=true,this.submit()):l.toLowerCase()==="n"?(this.value=false,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(n.hide):this.out.write(s(this.outputText,this.out.columns)),super.render(),this.outputText=[r.symbol(this.done,this.aborted),e.bold(this.msg),r.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:e.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(i.line+n.to(0)+this.outputText));}}return Mr=o,Mr}var Nr,Zi;function wc(){return Zi||(Zi=1,Nr={TextPrompt:tc(),SelectPrompt:rc(),TogglePrompt:sc(),DatePrompt:pc(),NumberPrompt:fc(),MultiselectPrompt:mn(),AutocompletePrompt:mc(),AutocompleteMultiselectPrompt:gc(),ConfirmPrompt:yc()}),Nr}var Xi;function xc(){return Xi||(Xi=1,function(e){let t=e,r=wc(),s=o=>o;function i(o,a,l={}){return new Promise((h,u)=>{let c=new r[o](a),p=l.onAbort||s,d=l.onSubmit||s,f=l.onExit||s;c.on("state",a.onState||s),c.on("submit",m=>h(d(m))),c.on("exit",m=>h(f(m))),c.on("abort",m=>u(p(m)));})}t.text=o=>i("TextPrompt",o),t.password=o=>(o.style="password",t.text(o)),t.invisible=o=>(o.style="invisible",t.text(o)),t.number=o=>i("NumberPrompt",o),t.date=o=>i("DatePrompt",o),t.confirm=o=>i("ConfirmPrompt",o),t.list=o=>{let a=o.separator||",";return i("TextPrompt",o,{onSubmit:l=>l.split(a).map(h=>h.trim())})},t.toggle=o=>i("TogglePrompt",o),t.select=o=>i("SelectPrompt",o),t.multiselect=o=>{o.choices=[].concat(o.choices||[]);let a=l=>l.filter(h=>h.selected).map(h=>h.value);return i("MultiselectPrompt",o,{onAbort:a,onSubmit:a})},t.autocompleteMultiselect=o=>{o.choices=[].concat(o.choices||[]);let a=l=>l.filter(h=>h.selected).map(h=>h.value);return i("AutocompleteMultiselectPrompt",o,{onAbort:a,onSubmit:a})};let n=(o,a)=>Promise.resolve(a.filter(l=>l.title.slice(0,o.length).toLowerCase()===o.toLowerCase()));t.autocomplete=o=>(o.suggest=o.suggest||n,o.choices=[].concat(o.choices||[]),i("AutocompletePrompt",o));}(ir)),ir}var Lr,Qi;function vc(){if(Qi)return Lr;Qi=1;let e=xc(),t=["suggest","format","onState","validate","onRender","type"],r=()=>{};async function s(a=[],{onSubmit:l=r,onCancel:h=r}={}){let u={},c=s._override||{};a=[].concat(a);let p,d,f,m,g,x,y=async(w,v,b=false)=>{if(!(!b&&w.validate&&w.validate(v)!==true))return w.format?await w.format(v,u):v};for(d of a)if({name:m,type:g}=d,typeof g=="function"&&(g=await g(p,{...u},d),d.type=g),!!g){for(let w in d){if(t.includes(w))continue;let v=d[w];d[w]=typeof v=="function"?await v(p,{...u},x):v;}if(x=d,typeof d.message!="string")throw new Error("prompt message is required");if({name:m,type:g}=d,e[g]===void 0)throw new Error(`prompt type (${g}) is not defined`);if(c[d.name]!==void 0&&(p=await y(d,c[d.name]),p!==void 0)){u[m]=p;continue}try{p=s._injected?i(s._injected,d.initial):await e[g](d),u[m]=p=await y(d,p,!0),f=await l(d,p,u);}catch{f=!await h(d,u);}if(f)return u}return u}function i(a,l){let h=a.shift();if(h instanceof Error)throw h;return h===void 0?l:h}function n(a){s._injected=(s._injected||[]).concat(a);}function o(a){s._override=Object.assign({},a);}return Lr=Object.assign(s,{prompt:s,prompts:e,inject:n,override:o}),Lr}var Fr,en;function bc(){return en||(en=1,Fr=vc()),Fr}var Ec=bc(),Rc=Ur(Ec),Br=globalThis.window?.document!==void 0;globalThis.process?.versions?.node;globalThis.process?.versions?.bun;globalThis.Deno?.version?.deno;globalThis.process?.versions?.electron;globalThis.navigator?.userAgent?.includes("jsdom");typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;typeof DedicatedWorkerGlobalScope<"u"&&globalThis instanceof DedicatedWorkerGlobalScope;typeof SharedWorkerGlobalScope<"u"&&globalThis instanceof SharedWorkerGlobalScope;typeof ServiceWorkerGlobalScope<"u"&&globalThis instanceof ServiceWorkerGlobalScope;var _t=globalThis.navigator?.userAgentData?.platform;_t==="macOS"||globalThis.navigator?.platform==="MacIntel"||globalThis.navigator?.userAgent?.includes(" Mac ")===true||globalThis.process?.platform;_t==="Windows"||globalThis.navigator?.platform==="Win32"||globalThis.process?.platform;_t==="Linux"||globalThis.navigator?.platform?.startsWith("Linux")===true||globalThis.navigator?.userAgent?.includes(" Linux ")===true||globalThis.process?.platform;_t==="Android"||globalThis.navigator?.platform==="Android"||globalThis.navigator?.userAgent?.includes(" Android ")===true||globalThis.process?.platform;var tn="\x1B]",rn="\x07",jt=";";!Br&&J.env.TERM_PROGRAM;!Br&&J.platform;Br||J.cwd;var Ic=(e,t)=>[tn,"8",jt,jt,t,rn,e,tn,"8",jt,jt,rn].join(""),Dr,sn;function gn(){return sn||(sn=1,Dr=(e,t=process.argv)=>{let r=e.startsWith("-")?"":e.length===1?"-":"--",s=t.indexOf(r+e),i=t.indexOf("--");return s!==-1&&(i===-1||s<i)}),Dr}var Wr,nn;function Sc(){if(nn)return Wr;nn=1;let e=Ul,t=ql,r=gn(),{env:s}=process,i;r("no-color")||r("no-colors")||r("color=false")||r("color=never")?i=0:(r("color")||r("colors")||r("color=true")||r("color=always"))&&(i=1),"FORCE_COLOR"in s&&(s.FORCE_COLOR==="true"?i=1:s.FORCE_COLOR==="false"?i=0:i=s.FORCE_COLOR.length===0?1:Math.min(parseInt(s.FORCE_COLOR,10),3));function n(l){return l===0?false:{level:l,hasBasic:true,has256:l>=2,has16m:l>=3}}function o(l,h){if(i===0)return 0;if(r("color=16m")||r("color=full")||r("color=truecolor"))return 3;if(r("color=256"))return 2;if(l&&!h&&i===void 0)return 0;let u=i||0;if(s.TERM==="dumb")return u;if(process.platform==="win32"){let c=e.release().split(".");return Number(c[0])>=10&&Number(c[2])>=10586?Number(c[2])>=14931?3:2:1}if("CI"in s)return ["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(c=>c in s)||s.CI_NAME==="codeship"?1:u;if("TEAMCITY_VERSION"in s)return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(s.TEAMCITY_VERSION)?1:0;if(s.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in s){let c=parseInt((s.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(s.TERM_PROGRAM){case "iTerm.app":return c>=3?3:2;case "Apple_Terminal":return 2}}return /-256(color)?$/i.test(s.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(s.TERM)||"COLORTERM"in s?1:u}function a(l){let h=o(l,l&&l.isTTY);return n(h)}return Wr={supportsColor:a,stdout:n(o(true,t.isatty(1))),stderr:n(o(true,t.isatty(2)))},Wr}var Vr,on;function Cc(){if(on)return Vr;on=1;let e=Sc(),t=gn();function r(i){if(/^\d{3,4}$/.test(i)){let o=/(\d{1,2})(\d{2})/.exec(i)||[];return {major:0,minor:parseInt(o[1],10),patch:parseInt(o[2],10)}}let n=(i||"").split(".").map(o=>parseInt(o,10));return {major:n[0],minor:n[1],patch:n[2]}}function s(i){let{CI:n,FORCE_HYPERLINK:o,NETLIFY:a,TEAMCITY_VERSION:l,TERM_PROGRAM:h,TERM_PROGRAM_VERSION:u,VTE_VERSION:c,TERM:p}=process.env;if(o)return !(o.length>0&&parseInt(o,10)===0);if(t("no-hyperlink")||t("no-hyperlinks")||t("hyperlink=false")||t("hyperlink=never"))return false;if(t("hyperlink=true")||t("hyperlink=always")||a)return true;if(!e.supportsColor(i)||i&&!i.isTTY)return false;if("WT_SESSION"in process.env)return true;if(process.platform==="win32"||n||l)return false;if(h){let d=r(u||"");switch(h){case "iTerm.app":return d.major===3?d.minor>=1:d.major>3;case "WezTerm":return d.major>=20200620;case "vscode":return d.major>1||d.major===1&&d.minor>=72;case "ghostty":return true}}if(c){if(c==="0.50.0")return false;let d=r(c);return d.major>0||d.minor>=50}switch(p){case "alacritty":return true}return false}return Vr={supportsHyperlink:s,stdout:s(process.stdout),stderr:s(process.stderr)},Vr}var kc=Cc(),Hr=Ur(kc);function Xe(e,t,{target:r="stdout",...s}={}){return Hr[r]?Ic(e,t):s.fallback===false?e:typeof s.fallback=="function"?s.fallback(e,t):`${e} (\u200B${t}\u200B)`}Xe.isSupported=Hr.stdout;Xe.stderr=(e,t,r={})=>Xe(e,t,{target:"stderr",...r});Xe.stderr.isSupported=Hr.stderr;var q={},xe={},an;function Tc(){if(an)return xe;an=1,Object.defineProperty(xe,"__esModule",{value:true}),xe.sync=xe.isexe=void 0;let e=dn,t=fi__default,r=async(o,a={})=>{let{ignoreErrors:l=false}=a;try{return i(await(0,t.stat)(o),a)}catch(h){let u=h;if(l||u.code==="EACCES")return false;throw u}};xe.isexe=r;let s=(o,a={})=>{let{ignoreErrors:l=false}=a;try{return i((0,e.statSync)(o),a)}catch(h){let u=h;if(l||u.code==="EACCES")return false;throw u}};xe.sync=s;let i=(o,a)=>o.isFile()&&n(o,a),n=(o,a)=>{let l=a.uid??process.getuid?.(),h=a.groups??process.getgroups?.()??[],u=a.gid??process.getgid?.()??h[0];if(l===void 0||u===void 0)throw new Error("cannot get uid or gid");let c=new Set([u,...h]),p=o.mode,d=o.uid,f=o.gid,m=parseInt("100",8),g=parseInt("010",8),x=parseInt("001",8),y=m|g;return !!(p&x||p&g&&c.has(f)||p&m&&d===l||p&y&&l===0)};return xe}var ve={},ln;function Pc(){if(ln)return ve;ln=1,Object.defineProperty(ve,"__esModule",{value:true}),ve.sync=ve.isexe=void 0;let e=dn,t=fi__default,r=async(o,a={})=>{let{ignoreErrors:l=false}=a;try{return n(await(0,t.stat)(o),o,a)}catch(h){let u=h;if(l||u.code==="EACCES")return false;throw u}};ve.isexe=r;let s=(o,a={})=>{let{ignoreErrors:l=false}=a;try{return n((0,e.statSync)(o),o,a)}catch(h){let u=h;if(l||u.code==="EACCES")return false;throw u}};ve.sync=s;let i=(o,a)=>{let{pathExt:l=process.env.PATHEXT||""}=a,h=l.split(";");if(h.indexOf("")!==-1)return true;for(let u=0;u<h.length;u++){let c=h[u].toLowerCase(),p=o.substring(o.length-c.length).toLowerCase();if(c&&p===c)return true}return false},n=(o,a,l)=>o.isFile()&&i(a,l);return ve}var zr={},cn;function $c(){return cn||(cn=1,Object.defineProperty(zr,"__esModule",{value:true})),zr}var un;function Ac(){return un||(un=1,function(e){var t=q&&q.__createBinding||(Object.create?function(h,u,c,p){p===void 0&&(p=c);var d=Object.getOwnPropertyDescriptor(u,c);(!d||("get"in d?!u.__esModule:d.writable||d.configurable))&&(d={enumerable:true,get:function(){return u[c]}}),Object.defineProperty(h,p,d);}:function(h,u,c,p){p===void 0&&(p=c),h[p]=u[c];}),r=q&&q.__setModuleDefault||(Object.create?function(h,u){Object.defineProperty(h,"default",{enumerable:true,value:u});}:function(h,u){h.default=u;}),s=q&&q.__importStar||function(h){if(h&&h.__esModule)return h;var u={};if(h!=null)for(var c in h)c!=="default"&&Object.prototype.hasOwnProperty.call(h,c)&&t(u,h,c);return r(u,h),u},i=q&&q.__exportStar||function(h,u){for(var c in h)c!=="default"&&!Object.prototype.hasOwnProperty.call(u,c)&&t(u,h,c);};Object.defineProperty(e,"__esModule",{value:true}),e.sync=e.isexe=e.posix=e.win32=void 0;let n=s(Tc());e.posix=n;let o=s(Pc());e.win32=o,i($c(),e);let l=(process.env._ISEXE_TEST_PLATFORM_||process.platform)==="win32"?o:n;e.isexe=l.isexe,e.sync=l.sync;}(q)),q}var Kr,hn;function Oc(){if(hn)return Kr;hn=1;let{isexe:e,sync:t}=Ac(),{join:r,delimiter:s,sep:i,posix:n}=E__default,o=process.platform==="win32",a=new RegExp(`[${n.sep}${i===n.sep?"":i}]`.replace(/(\\)/g,"\\$1")),l=new RegExp(`^\\.${a.source}`),h=f=>Object.assign(new Error(`not found: ${f}`),{code:"ENOENT"}),u=(f,{path:m=process.env.PATH,pathExt:g=process.env.PATHEXT,delimiter:x=s})=>{let y=f.match(a)?[""]:[...o?[process.cwd()]:[],...(m||"").split(x)];if(o){let w=g||[".EXE",".CMD",".BAT",".COM"].join(x),v=w.split(x).flatMap(b=>[b,b.toLowerCase()]);return f.includes(".")&&v[0]!==""&&v.unshift(""),{pathEnv:y,pathExt:v,pathExtExe:w}}return {pathEnv:y,pathExt:[""]}},c=(f,m)=>{let g=/^".*"$/.test(f)?f.slice(1,-1):f;return (!g&&l.test(m)?m.slice(0,2):"")+r(g,m)},p=async(f,m={})=>{let{pathEnv:g,pathExt:x,pathExtExe:y}=u(f,m),w=[];for(let v of g){let b=c(v,f);for(let R of x){let T=b+R;if(await e(T,{pathExt:y,ignoreErrors:true})){if(!m.all)return T;w.push(T);}}}if(m.all&&w.length)return w;if(m.nothrow)return null;throw h(f)},d=(f,m={})=>{let{pathEnv:g,pathExt:x,pathExtExe:y}=u(f,m),w=[];for(let v of g){let b=c(v,f);for(let R of x){let T=b+R;if(t(T,{pathExt:y,ignoreErrors:true})){if(!m.all)return T;w.push(T);}}}if(m.all&&w.length)return w;if(m.nothrow)return null;throw h(f)};return Kr=p,p.sync=d,Kr}var jc=Oc(),_c=Ur(jc);join(Ul.tmpdir(),"antfu-ni");function yn(e){return _c.sync(e,{nothrow:true})!==null}async function Gr({autoInstall:e,programmatic:t,cwd:r}={}){let{name:s,agent:i,version:n}=await tr({cwd:r,onUnknown:o=>{t||console.warn("[ni] Unknown packageManager:",o);}})||{};if(s&&!yn(s)&&!t){if(!e){console.warn(`[ni] Detected ${s} but it doesn't seem to be installed.
83
+ `),J.env.CI&&J.exit(1);let o=Xe(s,di[s]),{tryInstall:a}=await Rc({name:"tryInstall",type:"confirm",message:`Would you like to globally install ${o}?`});a||J.exit(1);}await rr("npm",["i","-g",`${s}${n?`@${n}`:""}`],{nodeOptions:{stdio:"inherit",cwd:r},throwOnError:true});}return i}J.env.NI_CONFIG_FILE;var Nc=J.platform==="win32"?J.env.USERPROFILE:J.env.HOME;E__default.join(Nc||"~/",".nirc");async function Lc(e,{withFallback:t}={withFallback:false}){let r=await Gr({programmatic:true,cwd:e});return r==="yarn@berry"?"yarn":r==="pnpm@6"?"pnpm":r==="bun"?"bun":r==="deno"?"deno":t?Jr()??"npm":r??"npm"}function Jr(e=process.env.npm_config_user_agent||""){return e.startsWith("yarn")?"yarn":e.startsWith("pnpm")?"pnpm":e.startsWith("bun")?"bun":e.startsWith("deno")?"deno":e.startsWith("npm")?"npm":null}function Yr(e){return e==="pnpm"?"pnpm dlx":e==="bun"?"bunx":"npx"}async function Ym(e){let t=await Lc(e);return Yr(t)}var wn={name:"shadcn",version:"4.8.3",description:"Add components to your apps.",publishConfig:{access:"public"},license:"MIT",author:{name:"shadcn",url:"https://twitter.com/shadcn"},repository:{type:"git",url:"https://github.com/shadcn-ui/ui.git",directory:"packages/shadcn"},files:["dist"],keywords:["components","ui","tailwind","radix-ui","base-ui","shadcn"],type:"module",exports:{".":{types:"./dist/index.d.ts",default:"./dist/index.js"},"./registry":{types:"./dist/registry/index.d.ts",default:"./dist/registry/index.js"},"./schema":{types:"./dist/schema/index.d.ts",default:"./dist/schema/index.js"},"./mcp":{types:"./dist/mcp/index.d.ts",default:"./dist/mcp/index.js"},"./utils":{types:"./dist/utils/index.d.ts",default:"./dist/utils/index.js"},"./icons":{types:"./dist/icons/index.d.ts",default:"./dist/icons/index.js"},"./preset":{types:"./dist/preset/index.d.ts",default:"./dist/preset/index.js"},"./tailwind.css":{style:"./dist/tailwind.css"}},bin:"./dist/index.js",scripts:{dev:"tsup --watch",build:"tsup",typecheck:"tsc --noEmit",clean:"rimraf dist && rimraf components","start:dev":"cross-env REGISTRY_URL=http://localhost:4000/r SHADCN_TEMPLATE_DIR=../../templates node dist/index.js","start:prod":"cross-env REGISTRY_URL=https://ui.shadcn.com/r node dist/index.js",start:"node dist/index.js","format:write":'prettier --write "**/*.{ts,tsx,mdx}" --cache',"format:check":'prettier --check "**/*.{ts,tsx,mdx}" --cache',release:"changeset version","pub:beta":"pnpm build && pnpm publish --no-git-checks --access public --tag beta","pub:next":"pnpm build && pnpm publish --no-git-checks --access public --tag next","pub:release":"pnpm build && pnpm publish --access public",test:"vitest run","test:dev":"REGISTRY_URL=http://localhost:4000/r SHADCN_TEMPLATE_DIR=../../templates vitest run","mcp:inspect":"pnpm dlx @modelcontextprotocol/inspector node dist/index.js mcp"},dependencies:{"@babel/core":"^7.28.0","@babel/parser":"^7.28.0","@babel/plugin-transform-typescript":"^7.28.0","@babel/preset-typescript":"^7.27.1","@dotenvx/dotenvx":"^1.48.4","@modelcontextprotocol/sdk":"^1.26.0","@types/validate-npm-package-name":"^4.0.2",browserslist:"^4.26.2",commander:"^14.0.0",cosmiconfig:"^9.0.0",dedent:"^1.6.0",deepmerge:"^4.3.1",diff:"^8.0.2",execa:"^9.6.0","fast-glob":"^3.3.3","fs-extra":"^11.3.1",fuzzysort:"^3.1.0","https-proxy-agent":"^7.0.6",kleur:"^4.1.5",msw:"^2.10.4","node-fetch":"^3.3.2",open:"^11.0.0",ora:"^8.2.0",postcss:"^8.5.6","postcss-selector-parser":"^7.1.0",prompts:"^2.4.2",recast:"^0.23.11","stringify-object":"^5.0.0","tailwind-merge":"^3.0.1","ts-morph":"^26.0.0","tsconfig-paths":"^4.2.0","validate-npm-package-name":"^7.0.1",zod:"^3.24.1","zod-to-json-schema":"^3.24.6"},devDependencies:{"@antfu/ni":"^25.0.0","@types/babel__core":"^7.20.5","@types/fs-extra":"^11.0.4","@types/prompts":"^2.4.9","@types/stringify-object":"^4.0.5",rimraf:"^6.0.1",tsup:"^8.5.0","type-fest":"^4.41.0",typescript:"^5.9.2"}};function Ae(e){if(S.break(),S.error("Something went wrong. Please check the error below for more details."),S.error("If the problem persists, please open an issue on GitHub."),S.error(""),typeof e=="string"&&(S.error(e),Qe()),e instanceof j&&(e.message&&(S.error(e.cause?"Error:":"Message:"),S.error(e.message)),e.cause&&(S.error(`
83
84
  Message:`),S.error(e.cause)),e.suggestion&&(S.error(`
84
- Suggestion:`),S.error(e.suggestion)),Qe()),e instanceof z$1.ZodError){S.error("Validation failed:");for(let[t,r]of Object.entries(e.flatten().fieldErrors))S.error(`- ${P.info(t)}: ${r}`);Qe();}e instanceof Error&&(S.error(e.message),Qe()),Qe();}function Dc(e){let t=e.match(/^(\d+)\.(\d+)\.\d+/);if(!t)return null;let r=Number.parseInt(t[1],10),s=Number.parseInt(t[2],10);return s===0?null:`${r}.${s-1}.0`}function Wc(e=wn.version,t=process.argv.slice(2)){let r=Dc(e);return r?[...Yr(Jr()).split(" "),`shadcn@${r}`,...t].map(Vc).join(" "):null}function Qe(){let e=Wc();e&&(S.error(""),S.error("You can also try a previous version to see if that works:"),S.error(e)),S.break(),process.exit(1);}function Vc(e){return /^[a-zA-Z0-9_./:@%+=,-]+$/.test(e)?e:`'${e.replace(/'/g,"'\\''")}'`}async function Xr(e,t){let{config:r,useCache:s}=t||{};if(M(e)){let[a]=await N([e],{useCache:s});return xn(e,a)}if(!e.startsWith("@"))throw new De(e);let i=e;i.endsWith("/registry")||(i=`${i}/registry`);let n=Te(i,ke(r));if(!n?.url)throw new me(i);n.headers&&Object.keys(n.headers).length>0&&Be({[n.url]:n.headers});let[o]=await N([n.url],{useCache:s});return xn(i,o)}function xn(e,t){try{let r=p.parse(t);if(r.include?.length)throw new $(`Registry catalog "${e}" uses "include", but consumer registry endpoints must serve a resolved registry catalog. Run "npx shadcn build" and serve the built registry.json, or use loadRegistry() in a dynamic route.`,{context:{registry:e,include:r.include},suggestion:"Serve a flattened registry.json for CLI consumers. Source registry.json files with include are supported by shadcn build and loadRegistry()."});return r}catch(r){throw r instanceof $?r:new F(e,r,{subject:"registry catalog",suggestion:"The registry catalog may be corrupted or have an invalid format. Please make sure it returns a valid registry.json object. See https://ui.shadcn.com/schema/registry.json."})}}async function Kc(e,t){let{config:r,useCache:s=false}=t||{};return He(),we(e,ke(r),{useCache:s})}async function Uc(e,t){let{config:r,useCache:s=false}=t||{};return He(),hi(e,ke(r),{useCache:s})}async function bg(e,t){let{useCache:r=true}=t||{};r||ft.clearCaches();let s=await ft.search(e);if(!s)return {registries:z};let i=z$1.object({registries:b$1.optional()}).safeParse(s.config);if(!i.success)throw new at(e,i.error);return {registries:{...z,...i.data.registries||{}}}}async function gt(){try{let[e]=await N(["index.json"]);return q$1.parse(e)}catch(e){S.error(`
85
- `),Ae(e);}}async function Eg(){try{let[e]=await N(["styles/index.json"]);return r.parse(e)}catch(e){return S.error(`
86
- `),Ae(e),[]}}async function Rg(){try{let[e]=await N(["icons/index.json"]);return s.parse(e)}catch(e){return Ae(e),{}}}async function Ig(){return xs}async function Tt(e){try{let[t$1]=await N([`colors/${e}.json`]);return t.parse(t$1)}catch(t){Ae(t);}}async function qc(e,t){let r=[];for(let s of t){let i=e.find(n=>n.name===s);if(i&&(r.push(i),i.registryDependencies)){let n=await qc(e,i.registryDependencies);r.push(...n);}}return r.filter((s,i,n)=>n.findIndex(o=>o.name===s.name)===i)}async function Sg(e,t){try{let r=t.map(i=>`styles/${e}/${i.name}.json`);return (await N(r)).map(i=>n.parse(i))}catch(r){return Ae(r),[]}}async function Cg(e,t,r){if(r)return r;if(t.type==="registry:ui")return e.resolvedPaths.ui??e.resolvedPaths.components;let[s,i]=t.type?.split(":")??[];return s in e.resolvedPaths?E__default.join(e.resolvedPaths[s],i):null}async function bn(e){e={useCache:true,...e};let t=`${fe}/registries.json`,[r]=await N([t],{useCache:e.useCache});try{return y.parse(r)}catch(s){throw s instanceof z$1.ZodError?new We(s):s}}async function Bc(e){let t=await bn(e);return t?Object.fromEntries(t.map(r=>[r.name,r.url])):null}async function Hc(e){e={useCache:true,...e};let t=`${fe}/config.json`,[r]=await N([t],{useCache:e.useCache});return A.parse(r).presets}async function kg(e,t){return (await Hc(t)).find(s=>s.name.toLowerCase()===e.toLowerCase())??null}async function Jc(e,t){let{query:r,limit:s,offset:i,config:n,useCache:o}=t||{},a=[];for(let p of e){let f=((await Xr(p,{config:n,useCache:o})).items||[]).map(m=>({name:m.name,type:m.type,description:m.description,registry:p,addCommandArgument:Qc(m.name,p)}));a=a.concat(f);}r&&(a=Xc(a,{query:r,limit:a.length,keys:["name","description"]}));let l=i||0,h=s||a.length,u=a.length,c={pagination:{total:u,offset:l,limit:h,hasMore:l+h<u},items:a.slice(l,l+h)};return w.parse(c)}var Yc=z$1.object({name:z$1.string(),type:z$1.string().optional(),description:z$1.string().optional(),registry:z$1.string().optional(),addCommandArgument:z$1.string().optional()}).passthrough();function Xc(e,t){t={limit:100,threshold:-1e4,...t};let s=Gc.go(t.query,e,{keys:t.keys,threshold:t.threshold,limit:t.limit}).map(i=>i.obj);return z$1.array(Yc).parse(s)}function Zc(e){try{return new URL(e),!0}catch{return false}}function Qc(e,t){if(!Zc(t))return `${t}/${e}`;let r=t.indexOf("://")+3,s=t.indexOf("/",r);if(s===-1){let p=t.indexOf("?",r);if(p!==-1){let d=t.substring(0,p),m=t.substring(p).replace(/\bregistry\b/g,e);return d+m}return t}let i=t.substring(0,s),n=t.substring(s),o=n.indexOf("?")!==-1?n.indexOf("?"):n.length,a=n.substring(0,o),l=n.substring(o),h=a.lastIndexOf("registry"),u=a;h!==-1&&(u=a.substring(0,h)+e+a.substring(h+8));let c=l.replace(/\bregistry\b/g,e);return i+u+c}var Zr=32;async function eu(e){let{cwd:t,registryFile:r}=$n(e),s=await Rn(r,{cwd:t}),i=An(s,t,r);return ru(s,i,t)}async function tu(e,t){let{cwd:r,registryFile:s}=$n(t),i=await Rn(s,{cwd:r}),n=i.registry.items.find(a=>a.name===e);if(!n)throw new Le(e);let o=An(i,r,s);return su(n,i,o,r)}async function Rn(e,t){let r=E.resolve(t.cwd,e),s=await kn(r),i=Tn(s,r);En(i,r);let n={cwd:E.resolve(t.cwd),itemSources:new Map,itemSourcesByItem:new Map,firstIncludedFrom:new Map},o=!!i.include?.length;if(!o)return i.items.forEach((u,c)=>{let p={registryFile:r,registryDir:n.cwd,itemIndex:c};n.itemSources.set(u.name,p),n.itemSourcesByItem.set(u,p);}),{registry:i,itemSources:n.itemSources,itemSourcesByItem:n.itemSourcesByItem,usesInclude:o};if(E.basename(r)!=="registry.json")throw new $(`Invalid registry file at ${r}: registries that use include must be named registry.json.`,{registryFile:r});let a=await Cn(r,i,n,[]);cu(a.items,n.itemSourcesByItem);let{include:l,...h}=a;return En(h,r),{registry:h,itemSources:n.itemSources,itemSourcesByItem:n.itemSourcesByItem,usesInclude:o}}function ru(e,t,r){return {...e.registry,items:e.registry.items.map(s=>nu(In(s,e.itemSourcesByItem,t,r)))}}async function su(e,t,r,s){let i={...In(e,t.itemSourcesByItem,r,s),$schema:"https://ui.shadcn.com/schema/registry-item.json"};for(let n=0;n<(e.files?.length??0);n++){let o=e.files?.[n],a=i.files?.[n];if(!a||!o)continue;let l=t.itemSourcesByItem.get(e),h=Sn(e,o.path,t.itemSourcesByItem,s);a.content=await iu(e.name,o.path,h,l);}return n.parse(i)}async function iu(e,t,r,s){try{return await fi.readFile(r,"utf-8")}catch(i){throw new Z(r,i,{message:`Failed to read file "${t}" for registry item "${e}" (${et(s)}). Expected file at ${r}.`,context:{itemName:e,itemFilePath:t,sourcePath:r},suggestion:"Make sure the file path is relative to the registry.json file that declares the item."})}}function In(e,t,r,s){return {...e,files:e.files?.map(i=>({...i,path:ou(e,i.path,t,r,s)}))}}function nu(e){return {...e,files:e.files?.map(({content:t,...r})=>r)}}function Sn(e,t,r,s){let i=r.get(e);return E.resolve(i?.registryDir??s,t)}function ou(e,t,r,s,i){let n=Sn(e,t,r,i);return E.relative(s,n).split(E.sep).join("/")}async function Cn(e,t,r,s){if(Pn(e,r.cwd),s.length>=Zr)throw new $(`Registry include tree is too deep at ${e}. The maximum include depth is ${Zr}.`,{registryFile:e,context:{maxDepth:Zr},suggestion:"Flatten part of the registry include tree or reduce nested include depth."});if(s.includes(e))throw new $(uu([...s,e]),{registryFile:e});let i=s.at(-1)??e,n=r.firstIncludedFrom.get(e);if(n)throw new $(`Registry file included more than once: ${e}.
85
+ Suggestion:`),S.error(e.suggestion)),Qe()),e instanceof z$1.ZodError){S.error("Validation failed:");for(let[t,r]of Object.entries(e.flatten().fieldErrors))S.error(`- ${P.info(t)}: ${r}`);Qe();}e instanceof Error&&(S.error(e.message),Qe()),Qe();}function Wc(e){let t=e.match(/^(\d+)\.(\d+)\.\d+/);if(!t)return null;let r=Number.parseInt(t[1],10),s=Number.parseInt(t[2],10);return s===0?null:`${r}.${s-1}.0`}function Vc(e=wn.version,t=process.argv.slice(2)){let r=Wc(e);return r?[...Yr(Jr()).split(" "),`shadcn@${r}`,...t].map(zc).join(" "):null}function Qe(){let e=Vc();e&&(S.error(""),S.error("You can also try a previous version to see if that works:"),S.error(e)),S.break(),process.exit(1);}function zc(e){return /^[a-zA-Z0-9_./:@%+=,-]+$/.test(e)?e:`'${e.replace(/'/g,"'\\''")}'`}async function Zr(e,t){let{config:r,useCache:s}=t||{};if(M(e)){let[a]=await N([e],{useCache:s});return xn(e,a)}if(!e.startsWith("@"))throw new De(e);let i=e;i.endsWith("/registry")||(i=`${i}/registry`);let n=Te(i,ke(r));if(!n?.url)throw new me(i);n.headers&&Object.keys(n.headers).length>0&&Be({[n.url]:n.headers});let[o]=await N([n.url],{useCache:s});return xn(i,o)}function xn(e,t){try{let r=p.parse(t);if(r.include?.length)throw new $(`Registry catalog "${e}" uses "include", but consumer registry endpoints must serve a resolved registry catalog. Run "npx shadcn build" and serve the built registry.json, or use loadRegistry() in a dynamic route.`,{context:{registry:e,include:r.include},suggestion:"Serve a flattened registry.json for CLI consumers. Source registry.json files with include are supported by shadcn build and loadRegistry()."});return r}catch(r){throw r instanceof $?r:new F(e,r,{subject:"registry catalog",suggestion:"The registry catalog may be corrupted or have an invalid format. Please make sure it returns a valid registry.json object. See https://ui.shadcn.com/schema/registry.json."})}}async function Uc(e,t){let{config:r,useCache:s=false}=t||{};return He(),we(e,ke(r),{useCache:s})}async function qc(e,t){let{config:r,useCache:s=false}=t||{};return He(),hi(e,ke(r),{useCache:s})}async function Eg(e,t){let{useCache:r=true}=t||{};r||ft.clearCaches();let s=await ft.search(e);if(!s)return {registries:z};let i=z$1.object({registries:b$1.optional()}).safeParse(s.config);if(!i.success)throw new at(e,i.error);return {registries:{...z,...i.data.registries||{}}}}async function gt(){try{let[e]=await N(["index.json"]);return q$1.parse(e)}catch(e){S.error(`
86
+ `),Ae(e);}}async function Rg(){try{let[e]=await N(["styles/index.json"]);return r.parse(e)}catch(e){return S.error(`
87
+ `),Ae(e),[]}}async function Ig(){try{let[e]=await N(["icons/index.json"]);return s.parse(e)}catch(e){return Ae(e),{}}}async function Sg(){return xs}async function Tt(e){try{let[t$1]=await N([`colors/${e}.json`]);return t.parse(t$1)}catch(t){Ae(t);}}async function Bc(e,t){let r=[];for(let s of t){let i=e.find(n=>n.name===s);if(i&&(r.push(i),i.registryDependencies)){let n=await Bc(e,i.registryDependencies);r.push(...n);}}return r.filter((s,i,n)=>n.findIndex(o=>o.name===s.name)===i)}async function Cg(e,t){try{let r=t.map(i=>`styles/${e}/${i.name}.json`);return (await N(r)).map(i=>n.parse(i))}catch(r){return Ae(r),[]}}async function kg(e,t,r){if(r)return r;if(t.type==="registry:ui")return e.resolvedPaths.ui??e.resolvedPaths.components;let[s,i]=t.type?.split(":")??[];return s in e.resolvedPaths?E__default.join(e.resolvedPaths[s],i):null}async function bn(e){e={useCache:true,...e};let t=`${fe}/registries.json`,[r]=await N([t],{useCache:e.useCache});try{return y.parse(r)}catch(s){throw s instanceof z$1.ZodError?new We(s):s}}async function Hc(e){let t=await bn(e);return t?Object.fromEntries(t.map(r=>[r.name,r.url])):null}async function Gc(e){e={useCache:true,...e};let t=`${fe}/config.json`,[r]=await N([t],{useCache:e.useCache});return A.parse(r).presets}async function Tg(e,t){return (await Gc(t)).find(s=>s.name.toLowerCase()===e.toLowerCase())??null}async function Yc(e,t){let{query:r,limit:s,offset:i,config:n,useCache:o}=t||{},a=[];for(let p of e){let f=((await Zr(p,{config:n,useCache:o})).items||[]).map(m=>({name:m.name,type:m.type,description:m.description,registry:p,addCommandArgument:eu(m.name,p)}));a=a.concat(f);}r&&(a=Xc(a,{query:r,limit:a.length,keys:["name","description"]}));let l=i||0,h=s||a.length,u=a.length,c={pagination:{total:u,offset:l,limit:h,hasMore:l+h<u},items:a.slice(l,l+h)};return w.parse(c)}var Zc=z$1.object({name:z$1.string(),type:z$1.string().optional(),description:z$1.string().optional(),registry:z$1.string().optional(),addCommandArgument:z$1.string().optional()}).passthrough();function Xc(e,t){t={limit:100,threshold:-1e4,...t};let s=Jc.go(t.query,e,{keys:t.keys,threshold:t.threshold,limit:t.limit}).map(i=>i.obj);return z$1.array(Zc).parse(s)}function Qc(e){try{return new URL(e),!0}catch{return false}}function eu(e,t){if(!Qc(t))return `${t}/${e}`;let r=t.indexOf("://")+3,s=t.indexOf("/",r);if(s===-1){let p=t.indexOf("?",r);if(p!==-1){let d=t.substring(0,p),m=t.substring(p).replace(/\bregistry\b/g,e);return d+m}return t}let i=t.substring(0,s),n=t.substring(s),o=n.indexOf("?")!==-1?n.indexOf("?"):n.length,a=n.substring(0,o),l=n.substring(o),h=a.lastIndexOf("registry"),u=a;h!==-1&&(u=a.substring(0,h)+e+a.substring(h+8));let c=l.replace(/\bregistry\b/g,e);return i+u+c}var Xr=32;async function tu(e){let{cwd:t,registryFile:r}=$n(e),s=await Rn(r,{cwd:t}),i=An(s,t,r);return su(s,i,t)}async function ru(e,t){let{cwd:r,registryFile:s}=$n(t),i=await Rn(s,{cwd:r}),n=i.registry.items.find(a=>a.name===e);if(!n)throw new Le(e);let o=An(i,r,s);return iu(n,i,o,r)}async function Rn(e,t){let r=E.resolve(t.cwd,e),s=await kn(r),i=Tn(s,r);En(i,r);let n={cwd:E.resolve(t.cwd),itemSources:new Map,itemSourcesByItem:new Map,firstIncludedFrom:new Map},o=!!i.include?.length;if(!o)return i.items.forEach((u,c)=>{let p={registryFile:r,registryDir:n.cwd,itemIndex:c};n.itemSources.set(u.name,p),n.itemSourcesByItem.set(u,p);}),{registry:i,itemSources:n.itemSources,itemSourcesByItem:n.itemSourcesByItem,usesInclude:o};if(E.basename(r)!=="registry.json")throw new $(`Invalid registry file at ${r}: registries that use include must be named registry.json.`,{registryFile:r});let a=await Cn(r,i,n,[]);uu(a.items,n.itemSourcesByItem);let{include:l,...h}=a;return En(h,r),{registry:h,itemSources:n.itemSources,itemSourcesByItem:n.itemSourcesByItem,usesInclude:o}}function su(e,t,r){return {...e.registry,items:e.registry.items.map(s=>ou(In(s,e.itemSourcesByItem,t,r)))}}async function iu(e,t,r,s){let i={...In(e,t.itemSourcesByItem,r,s),$schema:"https://ui.shadcn.com/schema/registry-item.json"};for(let n=0;n<(e.files?.length??0);n++){let o=e.files?.[n],a=i.files?.[n];if(!a||!o)continue;let l=t.itemSourcesByItem.get(e),h=Sn(e,o.path,t.itemSourcesByItem,s);a.content=await nu(e.name,o.path,h,l);}return n.parse(i)}async function nu(e,t,r,s){try{return await fi.readFile(r,"utf-8")}catch(i){throw new X(r,i,{message:`Failed to read file "${t}" for registry item "${e}" (${et(s)}). Expected file at ${r}.`,context:{itemName:e,itemFilePath:t,sourcePath:r},suggestion:"Make sure the file path is relative to the registry.json file that declares the item."})}}function In(e,t,r,s){return {...e,files:e.files?.map(i=>({...i,path:au(e,i.path,t,r,s)}))}}function ou(e){return {...e,files:e.files?.map(({content:t,...r})=>r)}}function Sn(e,t,r,s){let i=r.get(e);return E.resolve(i?.registryDir??s,t)}function au(e,t,r,s,i){let n=Sn(e,t,r,i);return E.relative(s,n).split(E.sep).join("/")}async function Cn(e,t,r,s){if(Pn(e,r.cwd),s.length>=Xr)throw new $(`Registry include tree is too deep at ${e}. The maximum include depth is ${Xr}.`,{registryFile:e,context:{maxDepth:Xr},suggestion:"Flatten part of the registry include tree or reduce nested include depth."});if(s.includes(e))throw new $(hu([...s,e]),{registryFile:e});let i=s.at(-1)??e,n=r.firstIncludedFrom.get(e);if(n)throw new $(`Registry file included more than once: ${e}.
87
88
  - first included from ${n}
88
89
  - included again from ${i}
89
- Each registry.json file can only appear once in the resolved include tree. Remove one include or move shared items into a single included registry.json.`,{registryFile:e,context:{firstSource:n,secondSource:i}});r.firstIncludedFrom.set(e,i);let o=[...s,e],a=E.dirname(e),l=[];for(let h of t.include??[]){let u=au(h,a,r.cwd,e),c=await kn(u),p=Tn(c,u),d=await Cn(u,p,r,o);l.push(...d.items);}return t.items.forEach((h,u)=>{lu(h,e,a),r.itemSources.set(h.name,{registryFile:e,registryDir:a,itemIndex:u}),r.itemSourcesByItem.set(h,{registryFile:e,registryDir:a,itemIndex:u});}),{...t,items:[...l,...t.items]}}async function kn(e){try{return await fi.readFile(e,"utf-8")}catch(t){throw new Z(e,t,{message:`Failed to read registry file at ${e}.`,context:{registryFile:e},suggestion:"Check that the registry.json file exists and that the path is correct."})}}function Tn(e,t){let r;try{r=JSON.parse(e);}catch(i){throw new F(t,i,{subject:"registry file",context:{registryFile:t},suggestion:"Fix the JSON syntax in the registry.json file and try again."})}let s=o.safeParse(r);if(!s.success)throw new $(`Invalid registry file at ${t}:
90
- ${hu(s.error)}`,{registryFile:t,cause:s.error,suggestion:"Update the registry.json file so it matches the registry schema."});return s.data}function En(e,t){let r=[];if(e.name||r.push("name"),e.homepage||r.push("homepage"),r.length)throw new $(`Invalid root registry file at ${t}: root registry.json must define ${r.map(s=>`"${s}"`).join(" and ")}. Included registry.json files may omit these fields.`,{registryFile:t})}function au(e,t,r,s){if(M(e))throw new $(`Invalid include "${e}" in ${s}: remote includes are not supported by shadcn build. Use a relative path to a registry.json file in the same repository.`,{registryFile:s,context:{includePath:e}});if(E.isAbsolute(e))throw new $(`Invalid include "${e}" in ${s}: include paths must be relative. Use a path like "./registry/ui/registry.json".`,{registryFile:s,context:{includePath:e}});if(On(e))throw new $(`Invalid include "${e}" in ${s}: include paths cannot use parent-directory traversal. Keep included registry.json files inside the registry root.`,{registryFile:s,context:{includePath:e}});if(E.basename(e)!=="registry.json")throw new $(`Invalid include "${e}" in ${s}: include paths must explicitly reference a registry.json file. Use a path like "./registry/ui/registry.json".`,{registryFile:s,context:{includePath:e}});let i=E.resolve(t,e);return Pn(i,r),i}function Pn(e,t){if(!jn(e,t))throw new $(`Invalid registry file at ${e}: registry includes must stay inside ${t}.`,{registryFile:e,context:{cwd:t}})}function $n(e){return {cwd:E.resolve(e?.cwd??process.cwd()),registryFile:e?.registryFile??"registry.json"}}function An(e,t,r){return e.usesInclude?E.dirname(E.resolve(t,r)):t}function lu(e,t,r){for(let s of e.files??[]){if(M(s.path))throw new $(`Invalid file path "${s.path}" for item "${e.name}" in ${t}: remote file paths are not supported by shadcn build.`,{registryFile:t,context:{itemName:e.name,filePath:s.path}});if(E.isAbsolute(s.path))throw new $(`Invalid file path "${s.path}" for item "${e.name}" in ${t}: file paths must be relative.`,{registryFile:t,context:{itemName:e.name,filePath:s.path}});if(On(s.path))throw new $(`Invalid file path "${s.path}" for item "${e.name}" in ${t}: file paths cannot use parent-directory traversal.`,{registryFile:t,context:{itemName:e.name,filePath:s.path}});let i=E.resolve(r,s.path);if(!jn(i,r))throw new $(`Invalid file path "${s.path}" for item "${e.name}" in ${t}: file paths must stay inside the registry chunk directory.`,{registryFile:t,context:{itemName:e.name,filePath:s.path}})}}function cu(e,t){let r=new Map;for(let s of e){let i=r.get(s.name);if(!i){r.set(s.name,s);continue}let n=t.get(i),o=t.get(s);throw new $(`Duplicate registry item name "${s.name}". Registry item names must be unique.
90
+ Each registry.json file can only appear once in the resolved include tree. Remove one include or move shared items into a single included registry.json.`,{registryFile:e,context:{firstSource:n,secondSource:i}});r.firstIncludedFrom.set(e,i);let o=[...s,e],a=E.dirname(e),l=[];for(let h of t.include??[]){let u=lu(h,a,r.cwd,e),c=await kn(u),p=Tn(c,u),d=await Cn(u,p,r,o);l.push(...d.items);}return t.items.forEach((h,u)=>{cu(h,e,a),r.itemSources.set(h.name,{registryFile:e,registryDir:a,itemIndex:u}),r.itemSourcesByItem.set(h,{registryFile:e,registryDir:a,itemIndex:u});}),{...t,items:[...l,...t.items]}}async function kn(e){try{return await fi.readFile(e,"utf-8")}catch(t){throw new X(e,t,{message:`Failed to read registry file at ${e}.`,context:{registryFile:e},suggestion:"Check that the registry.json file exists and that the path is correct."})}}function Tn(e,t){let r;try{r=JSON.parse(e);}catch(i){throw new F(t,i,{subject:"registry file",context:{registryFile:t},suggestion:"Fix the JSON syntax in the registry.json file and try again."})}let s=o.safeParse(r);if(!s.success)throw new $(`Invalid registry file at ${t}:
91
+ ${du(s.error)}`,{registryFile:t,cause:s.error,suggestion:"Update the registry.json file so it matches the registry schema."});return s.data}function En(e,t){let r=[];if(e.name||r.push("name"),e.homepage||r.push("homepage"),r.length)throw new $(`Invalid root registry file at ${t}: root registry.json must define ${r.map(s=>`"${s}"`).join(" and ")}. Included registry.json files may omit these fields.`,{registryFile:t})}function lu(e,t,r,s){if(M(e))throw new $(`Invalid include "${e}" in ${s}: remote includes are not supported by shadcn build. Use a relative path to a registry.json file in the same repository.`,{registryFile:s,context:{includePath:e}});if(E.isAbsolute(e))throw new $(`Invalid include "${e}" in ${s}: include paths must be relative. Use a path like "./registry/ui/registry.json".`,{registryFile:s,context:{includePath:e}});if(On(e))throw new $(`Invalid include "${e}" in ${s}: include paths cannot use parent-directory traversal. Keep included registry.json files inside the registry root.`,{registryFile:s,context:{includePath:e}});if(E.basename(e)!=="registry.json")throw new $(`Invalid include "${e}" in ${s}: include paths must explicitly reference a registry.json file. Use a path like "./registry/ui/registry.json".`,{registryFile:s,context:{includePath:e}});let i=E.resolve(t,e);return Pn(i,r),i}function Pn(e,t){if(!jn(e,t))throw new $(`Invalid registry file at ${e}: registry includes must stay inside ${t}.`,{registryFile:e,context:{cwd:t}})}function $n(e){return {cwd:E.resolve(e?.cwd??process.cwd()),registryFile:e?.registryFile??"registry.json"}}function An(e,t,r){return e.usesInclude?E.dirname(E.resolve(t,r)):t}function cu(e,t,r){for(let s of e.files??[]){if(M(s.path))throw new $(`Invalid file path "${s.path}" for item "${e.name}" in ${t}: remote file paths are not supported by shadcn build.`,{registryFile:t,context:{itemName:e.name,filePath:s.path}});if(E.isAbsolute(s.path))throw new $(`Invalid file path "${s.path}" for item "${e.name}" in ${t}: file paths must be relative.`,{registryFile:t,context:{itemName:e.name,filePath:s.path}});if(On(s.path))throw new $(`Invalid file path "${s.path}" for item "${e.name}" in ${t}: file paths cannot use parent-directory traversal.`,{registryFile:t,context:{itemName:e.name,filePath:s.path}});let i=E.resolve(r,s.path);if(!jn(i,r))throw new $(`Invalid file path "${s.path}" for item "${e.name}" in ${t}: file paths must stay inside the registry chunk directory.`,{registryFile:t,context:{itemName:e.name,filePath:s.path}})}}function uu(e,t){let r=new Map;for(let s of e){let i=r.get(s.name);if(!i){r.set(s.name,s);continue}let n=t.get(i),o=t.get(s);throw new $(`Duplicate registry item name "${s.name}". Registry item names must be unique.
91
92
  - ${et(n)}
92
93
  - ${et(o)}
93
- Rename one of these items so each name is unique across the resolved registry.`,{context:{itemName:s.name,firstSource:et(n),secondSource:et(o)}})}}function On(e){return e.split(/[\\/]+/).includes("..")}function jn(e,t){let r=E.relative(t,e);return !!r&&!r.startsWith("..")&&!E.isAbsolute(r)}function uu(e){return `Registry include cycle detected:
94
+ Rename one of these items so each name is unique across the resolved registry.`,{context:{itemName:s.name,firstSource:et(n),secondSource:et(o)}})}}function On(e){return e.split(/[\\/]+/).includes("..")}function jn(e,t){let r=E.relative(t,e);return !!r&&!r.startsWith("..")&&!E.isAbsolute(r)}function hu(e){return `Registry include cycle detected:
94
95
  ${e.map(t=>` - ${t}`).join(`
95
- `)}`}function et(e){return e?`${e.registryFile} items[${e.itemIndex}]`:"unknown source"}function hu(e){return e.errors.map(t=>` - ${t.path.length?t.path.join("."):"(root)"}: ${t.message}`).join(`
96
- `)}export{mh as $,Os as A,Hc as Aa,js as B,kg as Ba,_s as C,ee as Ca,ye as D,$h as Da,vt as E,xt as Ea,Et as F,Ah as Fa,It as G,eu as Ga,St as H,tu as Ha,Ws as I,Rn as Ia,Vs as J,ru as Ja,Zd as K,su as Ka,Ct as L,Jc as La,kt as M,aa as N,Gs as O,M as P,pp as Q,uh as R,hh as S,dh as T,ph as U,ft as V,qe as W,mt as X,fh as Y,po as Z,mo as _,L as a,ks as aa,z as b,ke as ba,du as c,He as ca,P as d,Tp as da,S as e,Te as ea,Du as f,af as fa,Wu as g,we as ga,Vu as h,hi as ha,_ as i,Nc as ia,j,Jm as ja,me as k,wn as ka,_e as l,Ae as la,Me as m,Xr as ma,Ne as n,Kc as na,ie as o,Uc as oa,Z as p,bg as pa,F as q,gt as qa,$ as r,Eg as ra,Le as s,Rg as sa,Fe as t,Ig as ta,De as u,Tt as ua,We as v,qc as va,Ee as w,Sg as wa,ne as x,Cg as xa,$s as y,bn as ya,ge as z,Bc as za};
96
+ `)}`}function et(e){return e?`${e.registryFile} items[${e.itemIndex}]`:"unknown source"}function du(e){return e.errors.map(t=>` - ${t.path.length?t.path.join("."):"(root)"}: ${t.message}`).join(`
97
+ `)}export{go as $,ge as A,Hc as Aa,Os as B,Gc as Ba,js as C,Tg as Ca,_s as D,ee as Da,ye as E,Ah as Ea,vt as F,xt as Fa,Et as G,Oh as Ga,It as H,tu as Ha,St as I,ru as Ia,Ws as J,Rn as Ja,Vs as K,su as Ka,Qd as L,iu as La,Ct as M,Yc as Ma,kt as N,la as O,Gs as P,M as Q,fp as R,hh as S,dh as T,ph as U,fh as V,ft as W,qe as X,mt as Y,mh as Z,fo as _,L as a,gh as aa,z as b,ks as ba,pu as c,ke as ca,P as d,He as da,S as e,Pp as ea,Wu as f,Te as fa,Vu as g,lf as ga,zu as h,we as ha,Gn as i,hi as ia,_ as j,Lc as ja,j as k,Ym as ka,me as l,wn as la,_e as m,Ae as ma,Me as n,Zr as na,Ne as o,Uc as oa,ie as p,qc as pa,X as q,Eg as qa,F as r,gt as ra,$ as s,Rg as sa,Le as t,Ig as ta,Fe as u,Sg as ua,De as v,Tt as va,We as w,Bc as wa,Ee as x,Cg as xa,ne as y,kg as ya,$s as z,bn as za};