shadcn 4.7.0 → 4.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import {z as z$1}from'zod';var c=z$1.union([z$1.string().refine(e=>e.includes("{name}"),{message:"Registry URL must include {name} placeholder"}),z$1.object({url:z$1.string().refine(e=>e.includes("{name}"),{message:"Registry URL must include {name} placeholder"}),params:z$1.record(z$1.string(),z$1.string()).optional(),headers:z$1.record(z$1.string(),z$1.string()).optional()})]),l=z$1.record(z$1.string().refine(e=>e.startsWith("@"),{message:"Registry names must start with @ (e.g., @v0, @acme)"}),c),i=z$1.object({$schema:z$1.string().optional(),style:z$1.string(),rsc:z$1.coerce.boolean().default(false),tsx:z$1.coerce.boolean().default(true),tailwind:z$1.object({config:z$1.string().optional(),css:z$1.string(),baseColor:z$1.string(),cssVariables:z$1.boolean().default(true),prefix:z$1.string().default("").optional()}),iconLibrary:z$1.string().optional(),rtl:z$1.coerce.boolean().default(false).optional(),menuColor:z$1.enum(["default","inverted","default-translucent","inverted-translucent"]).default("default").optional(),menuAccent:z$1.enum(["subtle","bold"]).default("subtle").optional(),aliases:z$1.object({components:z$1.string(),utils:z$1.string(),ui:z$1.string().optional(),lib:z$1.string().optional(),hooks:z$1.string().optional()}),registries:l.optional()}).strict(),p=i.extend({resolvedPaths:z$1.object({cwd:z$1.string(),tailwindConfig:z$1.string(),tailwindCss:z$1.string(),utils:z$1.string(),components:z$1.string(),lib:z$1.string(),hooks:z$1.string(),ui:z$1.string()})}),x=z$1.record(p),s=z$1.enum(["registry:lib","registry:block","registry:component","registry:ui","registry:hook","registry:page","registry:file","registry:theme","registry:style","registry:item","registry:base","registry:font","registry:example","registry:internal"]),m=z$1.discriminatedUnion("type",[z$1.object({path:z$1.string(),content:z$1.string().optional(),type:z$1.enum(["registry:file","registry:page"]),target:z$1.string()}),z$1.object({path:z$1.string(),content:z$1.string().optional(),type:s.exclude(["registry:file","registry:page"]),target:z$1.string().optional()})]),y=z$1.object({config:z$1.object({content:z$1.array(z$1.string()).optional(),theme:z$1.record(z$1.string(),z$1.any()).optional(),plugins:z$1.array(z$1.string()).optional()}).optional()}),n=z$1.object({theme:z$1.record(z$1.string(),z$1.string()).optional(),light:z$1.record(z$1.string(),z$1.string()).optional(),dark:z$1.record(z$1.string(),z$1.string()).optional()}),o=z$1.lazy(()=>z$1.union([z$1.string(),z$1.array(z$1.union([z$1.string(),z$1.record(z$1.string(),z$1.string())])),z$1.record(z$1.string(),o)])),d=z$1.record(z$1.string(),o),u=z$1.record(z$1.string(),z$1.string()),a=z$1.object({family:z$1.string(),provider:z$1.literal("google"),import:z$1.string(),variable:z$1.string(),weight:z$1.array(z$1.string()).optional(),subsets:z$1.array(z$1.string()).optional(),selector:z$1.string().optional(),dependency:z$1.string().optional()}),r=z$1.object({$schema:z$1.string().optional(),extends:z$1.string().optional(),name:z$1.string(),title:z$1.string().optional(),author:z$1.string().min(2).optional(),description:z$1.string().optional(),dependencies:z$1.array(z$1.string()).optional(),devDependencies:z$1.array(z$1.string()).optional(),registryDependencies:z$1.array(z$1.string()).optional(),files:z$1.array(m).optional(),tailwind:y.optional(),cssVars:n.optional(),css:d.optional(),envVars:u.optional(),meta:z$1.record(z$1.string(),z$1.any()).optional(),docs:z$1.string().optional(),categories:z$1.array(z$1.string()).optional()}),g=z$1.discriminatedUnion("type",[r.extend({type:z$1.literal("registry:base"),config:i.deepPartial().optional()}),r.extend({type:z$1.literal("registry:font"),font:a}),r.extend({type:s.exclude(["registry:base","registry:font"])})]),S=z$1.object({name:z$1.string(),homepage:z$1.string(),items:z$1.array(g)}),j=z$1.array(g),I=z$1.array(z$1.object({name:z$1.string(),label:z$1.string()})),C=z$1.record(z$1.string(),z$1.record(z$1.string(),z$1.string())),v=z$1.object({inlineColors:z$1.object({light:z$1.record(z$1.string(),z$1.string()),dark:z$1.record(z$1.string(),z$1.string())}),cssVars:n,cssVarsV4:n.optional(),inlineColorsTemplate:z$1.string(),cssVarsTemplate:z$1.string()}),R=r.pick({dependencies:true,devDependencies:true,files:true,tailwind:true,cssVars:true,css:true,envVars:true,docs:true}).extend({fonts:z$1.array(r.extend({type:z$1.literal("registry:font"),font:a})).optional()}),f=z$1.object({name:z$1.string(),type:z$1.string().optional(),description:z$1.string().optional(),registry:z$1.string(),addCommandArgument:z$1.string()}),V=z$1.object({pagination:z$1.object({total:z$1.number(),offset:z$1.number(),limit:z$1.number(),hasMore:z$1.boolean()}),items:z$1.array(f)}),w=z$1.record(z$1.string().regex(/^@[a-zA-Z0-9][a-zA-Z0-9-_]*$/),z$1.string()),z=z$1.array(z$1.object({name:z$1.string(),homepage:z$1.string().optional(),url:z$1.string(),description:z$1.string().optional()})),h=z$1.object({name:z$1.string(),title:z$1.string(),description:z$1.string(),base:z$1.string(),style:z$1.string(),baseColor:z$1.string(),theme:z$1.string(),iconLibrary:z$1.string(),font:z$1.string(),rtl:z$1.coerce.boolean().default(false),menuAccent:z$1.enum(["subtle","bold"]),menuColor:z$1.enum(["default","inverted","default-translucent","inverted-translucent"]),radius:z$1.string()}),k=z$1.object({presets:z$1.array(h)});export{c as a,l as b,i as c,p as d,x as e,s as f,m as g,y as h,n as i,d as j,u as k,a as l,r as m,g as n,S as o,j as p,I as q,C as r,v as s,R as t,f as u,V as v,w,z as x,h as y,k as z};
1
+ import {z as z$1}from'zod';var c=z$1.union([z$1.string().refine(e=>e.includes("{name}"),{message:"Registry URL must include {name} placeholder"}),z$1.object({url:z$1.string().refine(e=>e.includes("{name}"),{message:"Registry URL must include {name} placeholder"}),params:z$1.record(z$1.string(),z$1.string()).optional(),headers:z$1.record(z$1.string(),z$1.string()).optional()})]),l=z$1.record(z$1.string().refine(e=>e.startsWith("@"),{message:"Registry names must start with @ (e.g., @v0, @acme)"}),c),s=z$1.object({$schema:z$1.string().optional(),style:z$1.string(),rsc:z$1.coerce.boolean().default(false),tsx:z$1.coerce.boolean().default(true),tailwind:z$1.object({config:z$1.string().optional(),css:z$1.string(),baseColor:z$1.string(),cssVariables:z$1.boolean().default(true),prefix:z$1.string().default("").optional()}),iconLibrary:z$1.string().optional(),rtl:z$1.coerce.boolean().default(false).optional(),menuColor:z$1.enum(["default","inverted","default-translucent","inverted-translucent"]).default("default").optional(),menuAccent:z$1.enum(["subtle","bold"]).default("subtle").optional(),aliases:z$1.object({components:z$1.string(),utils:z$1.string(),ui:z$1.string().optional(),lib:z$1.string().optional(),hooks:z$1.string().optional()}),registries:l.optional()}).strict(),p=s.extend({resolvedPaths:z$1.object({cwd:z$1.string(),tailwindConfig:z$1.string(),tailwindCss:z$1.string(),utils:z$1.string(),components:z$1.string(),lib:z$1.string(),hooks:z$1.string(),ui:z$1.string()})}),j=z$1.record(p),o=z$1.enum(["registry:lib","registry:block","registry:component","registry:ui","registry:hook","registry:page","registry:file","registry:theme","registry:style","registry:item","registry:base","registry:font","registry:example","registry:internal"]),m=z$1.discriminatedUnion("type",[z$1.object({path:z$1.string(),content:z$1.string().optional(),type:z$1.enum(["registry:file","registry:page"]),target:z$1.string()}),z$1.object({path:z$1.string(),content:z$1.string().optional(),type:o.exclude(["registry:file","registry:page"]),target:z$1.string().optional()})]),y=z$1.object({config:z$1.object({content:z$1.array(z$1.string()).optional(),theme:z$1.record(z$1.string(),z$1.any()).optional(),plugins:z$1.array(z$1.string()).optional()}).optional()}),n=z$1.object({theme:z$1.record(z$1.string(),z$1.string()).optional(),light:z$1.record(z$1.string(),z$1.string()).optional(),dark:z$1.record(z$1.string(),z$1.string()).optional()}),a=z$1.lazy(()=>z$1.union([z$1.string(),z$1.array(z$1.union([z$1.string(),z$1.record(z$1.string(),z$1.string())])),z$1.record(z$1.string(),a)])),d=z$1.record(z$1.string(),a),u=z$1.record(z$1.string(),z$1.string()),g=z$1.object({family:z$1.string(),provider:z$1.literal("google"),import:z$1.string(),variable:z$1.string(),weight:z$1.array(z$1.string()).optional(),subsets:z$1.array(z$1.string()).optional(),selector:z$1.string().optional(),dependency:z$1.string().optional()}),r=z$1.object({$schema:z$1.string().optional(),extends:z$1.string().optional(),name:z$1.string(),title:z$1.string().optional(),author:z$1.string().min(2).optional(),description:z$1.string().optional(),dependencies:z$1.array(z$1.string()).optional(),devDependencies:z$1.array(z$1.string()).optional(),registryDependencies:z$1.array(z$1.string()).optional(),files:z$1.array(m).optional(),tailwind:y.optional(),cssVars:n.optional(),css:d.optional(),envVars:u.optional(),meta:z$1.record(z$1.string(),z$1.any()).optional(),docs:z$1.string().optional(),categories:z$1.array(z$1.string()).optional()}),i=z$1.discriminatedUnion("type",[r.extend({type:z$1.literal("registry:base"),config:s.deepPartial().optional()}),r.extend({type:z$1.literal("registry:font"),font:g}),r.extend({type:o.exclude(["registry:base","registry:font"])})]),f=z$1.object({$schema:z$1.string().optional(),name:z$1.string().optional(),homepage:z$1.string().optional(),include:z$1.array(z$1.string()).optional(),items:z$1.array(i).optional()}).refine(e=>e.items!==void 0||e.include!==void 0,{message:"Registry must define at least one of `items` or `include`.",path:["items"]}),h=f.transform(e=>({...e,items:e.items??[]})),I=h.pipe(z$1.object({$schema:z$1.string().optional(),name:z$1.string(),homepage:z$1.string(),include:z$1.array(z$1.string()).optional(),items:z$1.array(i)})),C=z$1.array(i),R=z$1.array(z$1.object({name:z$1.string(),label:z$1.string()})),v=z$1.record(z$1.string(),z$1.record(z$1.string(),z$1.string())),V=z$1.object({inlineColors:z$1.object({light:z$1.record(z$1.string(),z$1.string()),dark:z$1.record(z$1.string(),z$1.string())}),cssVars:n,cssVarsV4:n.optional(),inlineColorsTemplate:z$1.string(),cssVarsTemplate:z$1.string()}),w=r.pick({dependencies:true,devDependencies:true,files:true,tailwind:true,cssVars:true,css:true,envVars:true,docs:true}).extend({fonts:z$1.array(r.extend({type:z$1.literal("registry:font"),font:g})).optional()}),b=z$1.object({name:z$1.string(),type:z$1.string().optional(),description:z$1.string().optional(),registry:z$1.string(),addCommandArgument:z$1.string()}),k=z$1.object({pagination:z$1.object({total:z$1.number(),offset:z$1.number(),limit:z$1.number(),hasMore:z$1.boolean()}),items:z$1.array(b)}),z=z$1.record(z$1.string().regex(/^@[a-zA-Z0-9][a-zA-Z0-9-_]*$/),z$1.string()),T=z$1.array(z$1.object({name:z$1.string(),homepage:z$1.string().optional(),url:z$1.string(),description:z$1.string().optional()})),x=z$1.object({name:z$1.string(),title:z$1.string(),description:z$1.string(),base:z$1.string(),style:z$1.string(),baseColor:z$1.string(),theme:z$1.string(),iconLibrary:z$1.string(),font:z$1.string(),rtl:z$1.coerce.boolean().default(false),menuAccent:z$1.enum(["subtle","bold"]),menuColor:z$1.enum(["default","inverted","default-translucent","inverted-translucent"]),radius:z$1.string()}),A=z$1.object({presets:z$1.array(x)});export{A,c as a,l as b,s as c,p as d,j as e,o as f,m as g,y as h,n as i,d as j,u as k,g as l,r as m,i as n,h as o,I as p,C as q,R as r,v as s,V as t,w as u,b as v,k as w,z as x,T as y,x as z};
@@ -0,0 +1,96 @@
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:
2
+ {
3
+ "registries": {
4
+ "${r}": "[URL_TO_REGISTRY]"
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}
7
+ ${s.errors.map(a=>` - ${a.path.join(".")}: ${a.message}`).join(`
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
+
10
+ `+s.map(n=>` \u2022 ${n}`).join(`
11
+ `);super(i,{code:_.MISSING_ENV_VARS,context:{registryName:r,missingVars:s},suggestion:"Set the required environment variables to your .env or .env.local file."});this.registryName=r;this.missingVars=s;this.name="RegistryMissingEnvironmentVariablesError";}},De=class extends j{constructor(r){let s=`Invalid registry namespace: "${r}". Registry names must start with @ (e.g., @shadcn, @v0).`;super(s,{code:_.VALIDATION_ERROR,context:{name:r},suggestion:"Use a valid registry name starting with @ or provide a direct URL to the registry."});this.name=r;this.name="RegistryInvalidNamespaceError";}};var at=class extends j{constructor(r,s){let i=`Invalid components.json configuration in ${r}.`;s instanceof z$1.ZodError&&(i=`Invalid components.json configuration in ${r}:
12
+ ${s.errors.map(n=>` - ${n.path.join(".")}: ${n.message}`).join(`
13
+ `)}`);super(i,{code:_.INVALID_CONFIG,cause:s,context:{cwd:r},suggestion:"Check your components.json file for syntax errors or invalid configuration. Run 'npx shadcn@latest init' to regenerate a valid configuration."});this.cwd=r;this.name="ConfigParseError";}},We=class extends j{parseError;constructor(t){let r="Failed to parse registries index";if(t instanceof z$1.ZodError){let s=t.errors.filter(i=>i.path.length>0).map(i=>`"${i.path[0]}"`).filter((i,n,o)=>o.indexOf(i)===n);s.length>0?r=`Failed to parse registries index. Invalid registry namespace(s): ${s.join(", ")}
14
+ ${t.errors.map(i=>` - ${i.path.join(".")}: ${i.message}`).join(`
15
+ `)}`:r=`Failed to parse registries index:
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]!==`
20
+ `;)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
+ `&&(t+=`
22
+ `),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
+ `).trim(),n=t.replace(/\r\n/g,`
25
+ `).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
+ `),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(`
27
+ `)&&(i+=`
28
+ `);let n=[];for(let[o,a]of Object.entries(s))o in r||n.push(`${o}=${a}`);return n.length>0?(i&&(i+=`
29
+ `),i+=n.join(`
30
+ `),i+`
31
+ `):i&&!i.endsWith(`
32
+ `)?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(`
35
+ `)).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
+ `),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
+ `),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
+ `).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
+ `),this.close();}submit(){this.selection.disabled?this.bell():(this.done=true,this.aborted=false,this.fire(),this.render(),this.out.write(`
42
+ `),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
+ `;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
+ `+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.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();}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
+ `),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
+ `).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
+ `),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
+ `),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
+ `).reduce((d,f,m)=>d+`
55
+ ${m?" ":n.pointerSmall} ${e.red().italic(f)}`,"")),this.out.write(s.line+r.to(0)+this.outputText+r.save+this.outputError+r.restore));}}return Ar=c,Ar}var Or,Hi;function mn(){if(Hi)return Or;Hi=1;let e=B(),{cursor:t}=H(),r=pe(),{clear:s,figures:i,style:n,wrap:o,entriesToDisplay:a}=Y();class l extends r{constructor(u={}){super(u),this.msg=u.message,this.cursor=u.cursor||0,this.scrollIndex=u.cursor||0,this.hint=u.hint||"",this.warn=u.warn||"- This option is disabled -",this.minSelected=u.min,this.showMinError=false,this.maxChoices=u.max,this.instructions=u.instructions,this.optionsPerPage=u.optionsPerPage||10,this.value=u.choices.map((c,p)=>(typeof c=="string"&&(c={title:c,value:p}),{title:c&&(c.title||c.value||c),description:c&&c.description,value:c&&(c.value===void 0?p:c.value),selected:c&&c.selected,disabled:c&&c.disabled})),this.clear=s("",this.out.columns),u.overrideRender||this.render();}reset(){this.value.map(u=>!u.selected),this.cursor=0,this.fire(),this.render();}selected(){return this.value.filter(u=>u.selected)}exit(){this.abort();}abort(){this.done=this.aborted=true,this.fire(),this.render(),this.out.write(`
56
+ `),this.close();}submit(){let u=this.value.filter(c=>c.selected);this.minSelected&&u.length<this.minSelected?(this.showMinError=true,this.render()):(this.done=true,this.aborted=false,this.fire(),this.render(),this.out.write(`
57
+ `),this.close());}first(){this.cursor=0,this.render();}last(){this.cursor=this.value.length-1,this.render();}next(){this.cursor=(this.cursor+1)%this.value.length,this.render();}up(){this.cursor===0?this.cursor=this.value.length-1:this.cursor--,this.render();}down(){this.cursor===this.value.length-1?this.cursor=0:this.cursor++,this.render();}left(){this.value[this.cursor].selected=false,this.render();}right(){if(this.value.filter(u=>u.selected).length>=this.maxChoices)return this.bell();this.value[this.cursor].selected=true,this.render();}handleSpaceToggle(){let u=this.value[this.cursor];if(u.selected)u.selected=false,this.render();else {if(u.disabled||this.value.filter(c=>c.selected).length>=this.maxChoices)return this.bell();u.selected=true,this.render();}}toggleAll(){if(this.maxChoices!==void 0||this.value[this.cursor].disabled)return this.bell();let u=!this.value[this.cursor].selected;this.value.filter(c=>!c.disabled).forEach(c=>c.selected=u),this.render();}_(u,c){if(u===" ")this.handleSpaceToggle();else if(u==="a")this.toggleAll();else return this.bell()}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
58
+ Instructions:
59
+ ${i.arrowUp}/${i.arrowDown}: Highlight option
60
+ ${i.arrowLeft}/${i.arrowRight}/[space]: Toggle selection
61
+ `+(this.maxChoices===void 0?` a: Toggle all
62
+ `:"")+" 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
+ `+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
+ `+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
+ `),this.close());}abort(){this.done=this.aborted=true,this.exited=false,this.fire(),this.render(),this.out.write(`
67
+ `),this.close();}submit(){this.done=true,this.aborted=this.exited=false,this.fire(),this.render(),this.out.write(`
68
+ `),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
+ `+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
+ `);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
+ Instructions:
73
+ ${n.arrowUp}/${n.arrowDown}: Highlight option
74
+ ${n.arrowLeft}/${n.arrowRight}/[space]: Toggle selection
75
+ [a,b,c]/delete: Filter choices
76
+ enter/return: Complete answer
77
+ `:""}renderCurrentInput(){return `
78
+ 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
+ `),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.0",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
+ 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}.
87
+ - first included from ${n}
88
+ - 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.
91
+ - ${et(n)}
92
+ - ${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
+ ${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};
@@ -1,4 +1,4 @@
1
- import {Da,ka,i,ga,ma}from'./chunk-SI5IQBLR.js';import {Server}from'@modelcontextprotocol/sdk/server/index.js';import {ListToolsRequestSchema,CallToolRequestSchema}from'@modelcontextprotocol/sdk/types.js';import a from'dedent';import {z}from'zod';import {zodToJsonSchema}from'zod-to-json-schema';var S="shadcn@latest";async function p(n){return `${await ga(process.cwd())} ${S} ${n}`}async function f(n=process.cwd()){return {registries:(await ma(n,{useCache:false})).registries}}function y(n,t){let{query:r,registries:i}=t||{},s=n.items.map(c=>{let u=[`- ${c.name}`];return c.type&&u.push(`(${c.type})`),c.description&&u.push(`- ${c.description}`),c.registry&&u.push(`[${c.registry}]`),u.push(`
1
+ import {La,na,j as j$1,ja,pa}from'./chunk-AIZFRNVF.js';import {Server}from'@modelcontextprotocol/sdk/server/index.js';import {ListToolsRequestSchema,CallToolRequestSchema}from'@modelcontextprotocol/sdk/types.js';import a from'dedent';import {z}from'zod';import {zodToJsonSchema}from'zod-to-json-schema';var S="shadcn@latest";async function p(n){return `${await ja(process.cwd())} ${S} ${n}`}async function f(n=process.cwd()){return {registries:(await pa(n,{useCache:false})).registries}}function y(n,t){let{query:r,registries:i}=t||{},s=n.items.map(c=>{let u=[`- ${c.name}`];return c.type&&u.push(`(${c.type})`),c.description&&u.push(`- ${c.description}`),c.registry&&u.push(`[${c.registry}]`),u.push(`
2
2
  Add command: \`${p(`add ${c.addCommandArgument}`)}\``),u.join(" ")}),o=`Found ${n.pagination.total} items`;r&&(o+=` matching "${r}"`),i&&i.length>0&&(o+=` in registries ${i.join(", ")}`),o+=":";let m=`Showing items ${n.pagination.offset+1}-${Math.min(n.pagination.offset+n.pagination.limit,n.pagination.total)} of ${n.pagination.total}:`,d=`${o}
3
3
 
4
4
  ${m}
@@ -34,7 +34,7 @@ Found ${n.length} example${n.length>1?"s":""} matching "${t}":
34
34
 
35
35
  To fix this:
36
36
  1. Use the \`init\` command to create a components.json file
37
- 2. Or manually create components.json with a registries section`}]}}case "search_items_in_registries":{let r=z.object({registries:z.array(z.string()),query:z.string(),limit:z.number().optional(),offset:z.number().optional()}).parse(n.params.arguments),i=await Da(r.registries,{query:r.query,limit:r.limit,offset:r.offset,config:await f(process.cwd()),useCache:!1});return i.items.length===0?{content:[{type:"text",text:a`No items found matching "${r.query}" in registries ${r.registries.join(", ")}, Try searching with a different query or registry.`}]}:{content:[{type:"text",text:y(i,{query:r.query,registries:r.registries})}]}}case "list_items_in_registries":{let r=z.object({registries:z.array(z.string()),limit:z.number().optional(),offset:z.number().optional(),cwd:z.string().optional()}).parse(n.params.arguments),i=await Da(r.registries,{limit:r.limit,offset:r.offset,config:await f(process.cwd()),useCache:!1});return i.items.length===0?{content:[{type:"text",text:a`No items found in registries ${r.registries.join(", ")}.`}]}:{content:[{type:"text",text:y(i,{registries:r.registries})}]}}case "view_items_in_registries":{let r=z.object({items:z.array(z.string())}).parse(n.params.arguments),i=await ka(r.items,{config:await f(process.cwd()),useCache:!1});if(i?.length===0)return {content:[{type:"text",text:a`No items found for: ${r.items.join(", ")}
37
+ 2. Or manually create components.json with a registries section`}]}}case "search_items_in_registries":{let r=z.object({registries:z.array(z.string()),query:z.string(),limit:z.number().optional(),offset:z.number().optional()}).parse(n.params.arguments),i=await La(r.registries,{query:r.query,limit:r.limit,offset:r.offset,config:await f(process.cwd()),useCache:!1});return i.items.length===0?{content:[{type:"text",text:a`No items found matching "${r.query}" in registries ${r.registries.join(", ")}, Try searching with a different query or registry.`}]}:{content:[{type:"text",text:y(i,{query:r.query,registries:r.registries})}]}}case "list_items_in_registries":{let r=z.object({registries:z.array(z.string()),limit:z.number().optional(),offset:z.number().optional(),cwd:z.string().optional()}).parse(n.params.arguments),i=await La(r.registries,{limit:r.limit,offset:r.offset,config:await f(process.cwd()),useCache:!1});return i.items.length===0?{content:[{type:"text",text:a`No items found in registries ${r.registries.join(", ")}.`}]}:{content:[{type:"text",text:y(i,{registries:r.registries})}]}}case "view_items_in_registries":{let r=z.object({items:z.array(z.string())}).parse(n.params.arguments),i=await na(r.items,{config:await f(process.cwd()),useCache:!1});if(i?.length===0)return {content:[{type:"text",text:a`No items found for: ${r.items.join(", ")}
38
38
 
39
39
  Make sure the item names are correct and include the registry prefix (e.g., @shadcn/button).`}]};let s=$(i);return {content:[{type:"text",text:a`Item Details:
40
40
 
@@ -42,7 +42,7 @@ Found ${n.length} example${n.length>1?"s":""} matching "${t}":
42
42
 
43
43
  ---
44
44
 
45
- `)}`}]}}case "get_item_examples_from_registries":{let r=z.object({query:z.string(),registries:z.array(z.string())}).parse(n.params.arguments),i=await f(),s=await Da(r.registries,{query:r.query,config:i,useCache:!1});if(s.items.length===0)return {content:[{type:"text",text:a`No examples found for query "${r.query}".
45
+ `)}`}]}}case "get_item_examples_from_registries":{let r=z.object({query:z.string(),registries:z.array(z.string())}).parse(n.params.arguments),i=await f(),s=await La(r.registries,{query:r.query,config:i,useCache:!1});if(s.items.length===0)return {content:[{type:"text",text:a`No examples found for query "${r.query}".
46
46
 
47
47
  Try searching with patterns like:
48
48
  - "accordion-demo" for accordion examples
@@ -51,7 +51,7 @@ Found ${n.length} example${n.length>1?"s":""} matching "${t}":
51
51
 
52
52
  You can also:
53
53
  1. Use search_items_in_registries to find all items matching your query
54
- 2. View the main component with view_items_in_registries for inline usage documentation`}]};let o=s.items.map(d=>d.addCommandArgument),m=await ka(o,{config:i,useCache:!1});return {content:[{type:"text",text:b(m,r.query)}]}}case "get_add_command_for_items":{let t=z.object({items:z.array(z.string())}).parse(n.params.arguments);return {content:[{type:"text",text:await p(`add ${t.items.join(" ")}`)}]}}case "get_audit_checklist":return {content:[{type:"text",text:a`## Component Audit Checklist
54
+ 2. View the main component with view_items_in_registries for inline usage documentation`}]};let o=s.items.map(d=>d.addCommandArgument),m=await na(o,{config:i,useCache:!1});return {content:[{type:"text",text:b(m,r.query)}]}}case "get_add_command_for_items":{let t=z.object({items:z.array(z.string())}).parse(n.params.arguments);return {content:[{type:"text",text:await p(`add ${t.items.join(" ")}`)}]}}case "get_audit_checklist":return {content:[{type:"text",text:a`## Component Audit Checklist
55
55
 
56
56
  After adding or generating components, check the following common issues:
57
57
 
@@ -64,7 +64,7 @@ Found ${n.length} example${n.length>1?"s":""} matching "${t}":
64
64
  `}]};default:throw new Error(`Tool ${n.params.name} not found`)}}catch(t){if(t instanceof z.ZodError)return {content:[{type:"text",text:a`Invalid input parameters:
65
65
  ${t.errors.map(i=>`- ${i.path.join(".")}: ${i.message}`).join(`
66
66
  `)}
67
- `}],isError:true};if(t instanceof i){let i=t.message;return t.suggestion&&(i+=`
67
+ `}],isError:true};if(t instanceof j$1){let i=t.message;return t.suggestion&&(i+=`
68
68
 
69
69
  \u{1F4A1} ${t.suggestion}`),t.context&&(i+=`
70
70
 
package/dist/index.d.ts CHANGED
@@ -166,6 +166,8 @@ declare function getRegistry(name: string, options?: {
166
166
  meta?: Record<string, any> | undefined;
167
167
  categories?: string[] | undefined;
168
168
  })[];
169
+ $schema?: string | undefined;
170
+ include?: string[] | undefined;
169
171
  }>;
170
172
  declare function getRegistryItems(items: string[], options?: {
171
173
  config?: Partial<Config>;