@ohos-ports/shadcn 4.21.0-beta.1

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.
@@ -0,0 +1,145 @@
1
+ import {c as c$2}from'./chunk-2XFBGS5K.js';import {m,f,l,b,d as d$1,c as c$1,e,n,v,q as q$1,r,s,t,u,A as A$1,C,y,p,g}from'./chunk-4WBGNKSZ.js';import {a,d,c,b as b$1,g as g$1,f as f$1}from'./chunk-G5AI2VJ6.js';import pa,{promises,existsSync,statSync}from'fs';import*as S from'path';import S__default,{join,basename,normalize,delimiter,resolve,dirname}from'path';import {z as z$1}from'zod';import {green,cyan,yellow,red,gray}from'kleur/colors';import te from'fs-extra';import Jt from'fast-glob';import {loadConfig,createMatchPath}from'tsconfig-paths';function loadConfigOhosSafe(e){try{return loadConfig(e)}catch(t){let r=t&&t.code;if(r==="EPERM"||r==="EACCES")return {resultType:"failed",message:"Couldn't find tsconfig.json"};throw t}}import {cosmiconfig}from'cosmiconfig';import gp,{tmpdir,homedir}from'os';import Kc from'ora';import {Project,SyntaxKind,ScriptKind,VariableDeclarationKind,QuoteKind}from'ts-morph';import {transformFromAstSync}from'@babel/core';import {parse}from'@babel/parser';import tl from'@babel/plugin-transform-typescript';import*as rr from'recast';import gl from'prompts';import {AsyncLocalStorage}from'async_hooks';import Xe from'deepmerge';import {createHash}from'crypto';import {SocksClient}from'socks';import {EnvHttpProxyAgent,Agent}from'undici';import {execa}from'execa';import af from'stringify-object';import ae,{cwd}from'process';import ip from'readline';import mp from'events';import*as mo from'fs/promises';import mo__default from'fs/promises';import {createRequire}from'module';import {spawn}from'child_process';import {PassThrough}from'stream';import yp from'tty';import O from'postcss';import Id from'postcss/lib/at-rule';import {twMerge}from'cn';import Th from'fuzzysort';var je=process.env.REGISTRY_URL??"https://ui.shadcn.com/r",V=je.replace(/\/r\/?$/,""),Ft="new-york-v4",jn=[{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"}],q={"@shadcn":`${je}/styles/{style}/{name}.json`};var rm=[{name:"toast",deprecatedBy:"sonner",message:"The toast component is only available for Base UI projects. Use the sonner component instead.",availableIn:["base"]},{name:"toaster",deprecatedBy:"sonner",message:"The toaster component is deprecated. Use the sonner component instead."}],sm=[{name:"sonner",hiddenIn:["base"]}];var G={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"},F=class extends Error{code;statusCode;context;suggestion;timestamp;cause;constructor(t,r={}){super(t),this.name="RegistryError",this.code=r.code||G.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}}},_e=class extends F{constructor(r,s){let n=`The item at ${r} was not found. It may not exist at the registry.`;super(n,{code:G.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";}},Mt=class extends F{constructor(r,s){let n=`The item at ${r} is no longer available. It may have been removed or expired.`;super(n,{code:G.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";}},it=class extends F{constructor(r,s){let n=`You are not authorized to access the item at ${r}. If this is a remote registry, you may need to authenticate.`;super(n,{code:G.UNAUTHORIZED,statusCode:401,cause:s,context:{url:r},suggestion:"Check your authentication credentials and environment variables."});this.url=r;this.name="RegistryUnauthorizedError";}},ot=class extends F{constructor(r,s){let n=`You are not authorized to access the item at ${r}. If this is a remote registry, you may need to authenticate.`;super(n,{code:G.FORBIDDEN,statusCode:403,cause:s,context:{url:r},suggestion:"Check your authentication credentials and environment variables."});this.url=r;this.name="RegistryForbiddenError";}},at=class extends F{constructor(r,s,n,i){let o=s?`Failed to fetch from registry (${s}): ${r}`:`Failed to fetch from registry: ${r}`,a=typeof i=="string"&&i?`${o} - ${i}`:o,c="Check your network connection and try again.";s===404?c="The requested resource was not found. Check the URL or item name.":s===500?c="The registry server encountered an error. Try again later.":s&&s>=400&&s<500&&(c="There was a client error. Check your request parameters.");super(a,{code:G.FETCH_ERROR,statusCode:s,cause:i,context:{url:r,responseBody:n},suggestion:c});this.url=r;this.responseBody=n;this.name="RegistryFetchError";}},ge=class extends F{constructor(r){let s=r?`Unknown registry "${r}". Make sure it is defined under "registries" in your components.json or package.json file:
2
+ {
3
+ "registries": {
4
+ "${r}": "[URL_TO_REGISTRY]"
5
+ }
6
+ }`:'Unknown registry. Make sure it is defined under "registries" in your components.json or package.json file.';super(s,{code:G.NOT_CONFIGURED,context:{registryName:r},suggestion:'Add the registry configuration under "registries" in your components.json or package.json file.'});this.registryName=r;this.name="RegistryNotConfiguredError";}},ue=class extends F{constructor(r,s,n={}){super(n.message??`Failed to read local registry file: ${r}`,{code:G.LOCAL_FILE_ERROR,cause:s,context:{filePath:r,...n.context},suggestion:n.suggestion??"Check if the file exists and you have read permissions."});this.filePath=r;this.name="RegistryLocalFileError";}},D=class extends F{constructor(r,s,n={}){super(n.message??`Failed to read registry source file: ${r}`,{code:G.FETCH_ERROR,cause:s,context:{filePath:r,...n.context},suggestion:n.suggestion??"Check if the source file exists and is accessible."});this.filePath=r;this.name="RegistrySourceFileError";}},W=class extends F{constructor(r,s,n={}){let i=n.subject??"registry item",o=`Failed to parse ${i}: ${r}`;s instanceof z$1.ZodError&&(o=`Failed to parse ${i}: ${r}
7
+ ${s.errors.map(a=>` - ${a.path.join(".")}: ${a.message}`).join(`
8
+ `)}`);super(o,{code:G.PARSE_ERROR,cause:s,context:{item:r,...n.context},suggestion:n.suggestion??`The registry item may be corrupted or have an invalid format. Please make sure it returns a valid JSON object. See ${V}/schema/registry-item.json.`});this.item=r;this.parseError=s,this.name="RegistryParseError";}parseError},$=class extends F{constructor(t,r={}){super(t,{code:G.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";}},Ne=class extends F{constructor(r){super(`Registry item "${r}" was not found.`,{code:G.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";}},ct=class extends F{constructor(r,s){let n=`Registry "${r}" requires the following environment variables:
9
+
10
+ `+s.map(i=>` \u2022 ${i}`).join(`
11
+ `);super(n,{code:G.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";}},lt=class extends F{constructor(r){let s=`Invalid registry namespace: "${r}". Registry names must start with @ (e.g., @shadcn, @v0).`;super(s,{code:G.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 ze=class extends F{constructor(r,s,n="components.json"){let i=n==="package.json"?'package.json "registries"':n==="config"?"provided config":"components.json",o=`Invalid ${i} configuration in ${r}.`;s instanceof z$1.ZodError&&(o=`Invalid ${i} configuration in ${r}:
12
+ ${s.errors.map(a=>` - ${a.path.join(".")}: ${a.message}`).join(`
13
+ `)}`);super(o,{code:G.INVALID_CONFIG,cause:s,context:{cwd:r,configFile:n},suggestion:n==="package.json"?'Check the "registries" field in your package.json file for invalid configuration.':n==="config"?"Pass a valid full project config, or omit resolvedPaths and provide only registry configuration.":"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.configFile=n;this.name="ConfigParseError";}},ut=class extends F{parseError;constructor(t){let r="Failed to parse registries index";if(t instanceof z$1.ZodError){let s=t.errors.filter(n=>n.path.length>0).map(n=>`"${n.path[0]}"`).filter((n,i,o)=>o.indexOf(n)===i);s.length>0?r=`Failed to parse registries index. Invalid registry namespace(s): ${s.join(", ")}
14
+ ${t.errors.map(n=>` - ${n.path.join(".")}: ${n.message}`).join(`
15
+ `)}`:r=`Failed to parse registries index:
16
+ ${t.errors.map(n=>` - ${n.path.join(".")}: ${n.message}`).join(`
17
+ `)}`;}super(r,{code:G.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 ec=/^(@[a-zA-Z0-9](?:[a-zA-Z0-9-_]*[a-zA-Z0-9])?)\/(.+)$/;function ye(e){if(!e.startsWith("@"))return {registry:null,item:e};let t=e.match(ec);return t?{registry:t[1],item:t[2]}:{registry:null,item:e}}var J={"next-app":{name:"next-app",label:"Next.js",links:{installation:`${V}/docs/installation/next`,tailwind:"https://tailwindcss.com/docs/guides/nextjs"}},"next-pages":{name:"next-pages",label:"Next.js",links:{installation:`${V}/docs/installation/next`,tailwind:"https://tailwindcss.com/docs/guides/nextjs"}},remix:{name:"remix",label:"Remix",links:{installation:`${V}/docs/installation/remix`,tailwind:"https://tailwindcss.com/docs/guides/remix"}},"react-router":{name:"react-router",label:"React Router",links:{installation:`${V}/docs/installation/react-router`,tailwind:"https://tailwindcss.com/docs/installation/framework-guides/react-router"}},vite:{name:"vite",label:"Vite",links:{installation:`${V}/docs/installation/vite`,tailwind:"https://tailwindcss.com/docs/guides/vite"}},astro:{name:"astro",label:"Astro",links:{installation:`${V}/docs/installation/astro`,tailwind:"https://tailwindcss.com/docs/guides/astro"}},laravel:{name:"laravel",label:"Laravel",links:{installation:`${V}/docs/installation/laravel`,tailwind:"https://tailwindcss.com/docs/guides/laravel"}},"tanstack-start":{name:"tanstack-start",label:"TanStack Start",links:{installation:`${V}/docs/installation/tanstack`,tailwind:"https://tailwindcss.com/docs/installation/using-postcss"}},gatsby:{name:"gatsby",label:"Gatsby",links:{installation:`${V}/docs/installation/gatsby`,tailwind:"https://tailwindcss.com/docs/guides/gatsby"}},expo:{name:"expo",label:"Expo",links:{installation:`${V}/docs/installation/expo`,tailwind:"https://www.nativewind.dev/docs/getting-started/installation"}},manual:{name:"manual",label:"Manual",links:{installation:`${V}/docs/installation/manual`,tailwind:"https://tailwindcss.com/docs/installation"}}};var P={error:red,warn:yellow,info:cyan,success:green};function Dt(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 Lt(e){if(!e.includes("*"))return "strip_extension";let t=e.slice(e.indexOf("*")+1);return t&&/^\.[^/]+$/.test(t)?"strip_extension":"preserve_extension"}function Ht(e,t){let r=t.find(n=>!n.hasWildcard&&n.key===e);if(r)return {path:S__default.resolve(r.rootDir,r.target),matchedAlias:r.key,matchedTarget:r.target,emitMode:r.emitMode};let s=t.filter(n=>n.hasWildcard).sort((n,i)=>i.key.length-n.key.length);for(let n of s){let i=$r(e,n.key,{allowBareAliasBase:true});if(i!==null)return {path:S__default.resolve(n.rootDir,ic(n.target,i)),matchedAlias:n.key,matchedTarget:n.target,emitMode:n.emitMode}}return null}function $r(e,t,r={}){if(!t.includes("*"))return e===t?"":null;let[s,n=""]=t.split("*");return e.startsWith(s)&&e.endsWith(n)?n?e.slice(s.length,-n.length):e.slice(s.length):r.allowBareAliasBase&&n===""&&s.endsWith("/")&&e===s.slice(0,-1)?"":null}function ic(e,t){if(!e.includes("*"))return e;let[r,s=""]=e.split("*");return t?`${r}${t}${s}`:r.replace(/\/$/,"")}function B(e="",t=true){let r=S__default.join(e,"package.json");return te.readJSONSync(r,{throws:t})}var Pr=new Map;function Ar(e){let t=S__default.resolve(e),r=Pr.get(t);if(r)return r;let n=B(e,false)?.imports;if(!n||typeof n!="object"||Array.isArray(n))return Pr.set(t,[]),[];let i=[];for(let[o,a]of Object.entries(n)){if(!o.startsWith("#"))continue;let c=Dt(a);c&&i.push({key:o,aliasBase:o==="#*"?"#":o.endsWith("/*")?o.slice(0,-2):o,target:c,emitMode:Lt(c),hasWildcard:o.includes("*"),rootDir:t});}return Pr.set(t,i),i}function Nn(e){let t=Ar(e).map(r=>r.aliasBase);return t.length?fc(t):null}function pt(e,t){return Ht(e,Ar(t))}function Fn(e){let t=Ar(e),r=t.some(s=>s.key==="#*")?{components:"#components",ui:"#components/ui",lib:"#lib",hooks:"#hooks",utils:"#lib/utils"}:null;return {components:ft(t,"components")??r?.components,ui:ft(t,"ui")??r?.ui,lib:ft(t,"lib")??r?.lib,hooks:ft(t,"hooks")??r?.hooks,utils:ft(t,"utils")??r?.utils}}function ft(e,t){return e.map(s=>({entry:s,score:lc(s,t)})).filter(s=>s.score>0).sort((s,n)=>n.score-s.score||n.entry.aliasBase.length-s.entry.aliasBase.length)[0]?.entry.aliasBase}function lc(e,t){let r=e.aliasBase.toLowerCase(),s=uc(e.target).toLowerCase();switch(t){case "components":return r.endsWith("/ui")||s.includes("/components/ui")?0:Gt(r,"components")?4:Gt(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:Gt(s,"lib")?3:0;case "hooks":return r==="#hooks"||r.endsWith("/hooks")?5:s.endsWith("/hooks")?4:Gt(s,"hooks")?3:0;case "utils":return r==="#utils"||r.endsWith("/utils")?5:s.endsWith("/lib/utils")?4:s.endsWith("/utils")?3:0}}function uc(e){return e.replace(/\/\*$/,"").replace(/\*$/,"").replace(/\/index\.[^/]+$/,"")}function Gt(e,t){return e===t||e.includes(`/${t}`)||e.includes(`${t}/`)}function fc(e){let t=e.map(r=>r.slice(1).split("/").filter(Boolean)).reduce((r,s,n)=>n?r.filter((i,o)=>s[o]===i):s,[]);return t.length?`#${t.join("/")}`:"#"}var E={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 pc=["next.config.*","vite.config.*","astro.config.*","remix.config.*","nuxt.config.*","svelte.config.*","gatsby-config.*","angular.json"];async function $m(e){if(te.existsSync(S__default.resolve(e,"pnpm-workspace.yaml")))return true;let t=S__default.resolve(e,"package.json");if(te.existsSync(t))try{if((await te.readJson(t)).workspaces)return !0}catch{}return !!(te.existsSync(S__default.resolve(e,"lerna.json"))||te.existsSync(S__default.resolve(e,"nx.json")))}async function Pm(e){let t=await Vt(e);if(!t.length)return [];let r=await Jt(t,{cwd:e,onlyDirectories:true,ignore:["**/node_modules/**"],suppressErrors:true}),s=[];for(let n of r){let i=S__default.resolve(e,n);if(!te.existsSync(S__default.resolve(i,"package.json")))continue;let o=te.existsSync(S__default.resolve(i,"components.json")),a=pc.some(c=>Jt.sync(c,{cwd:i,dot:true}).length>0);(o||a)&&s.push({name:n,hasConfig:o});}return s}function Am(e,t,r){let s=r?.cwdFlag??"-c";E.break(),E.log(`It looks like you are running ${P.info(e)} from a monorepo root.`),E.log(`To use shadcn in a specific workspace, use the ${P.info(s)} flag:`),E.break();for(let n of t)E.log(` shadcn ${e} ${s} ${n.name}`);E.break();}async function Vt(e){let t=[],r=S__default.resolve(e,"pnpm-workspace.yaml");if(te.existsSync(r)){let n=await te.readFile(r,"utf8");t.push(...dc(n));}let s=S__default.resolve(e,"package.json");if(te.existsSync(s))try{let n=await te.readJson(s),i=Array.isArray(n.workspaces)?n.workspaces:n.workspaces?.packages;Array.isArray(i)&&t.push(...i.filter(o=>!o.startsWith("!")));}catch{}return Array.from(new Set(t))}function dc(e){let t=[],r=false,s=0;for(let n of e.split(`
18
+ `)){let i=n.trim();if(!i||i.startsWith("#"))continue;let o=n.match(/^(\s*)([A-Za-z0-9_-]+)\s*:/);if(o){s=o[1].length,r=o[2]==="packages";continue}if(!r)continue;let a=n.match(/^(\s*)-\s*(.+?)\s*(?:#.*)?$/);!a||a[1].length<=s||t.push(a[2].trim().replace(/^["']|["']$/g,""));}return t}var Dn=new Map,Or=new Map,Wt=new Map;async function Ln(e,t){let r=vc(e);if(!r)return null;let s=await yc(t,r.packageName);return s?Ht(e,gc(s)):null}function gc(e){let t=`${e.packageRoot}:${e.packageName}`,r=Or.get(t);if(r)return r;let n=B(e.packageRoot,false)?.exports;if(!n||typeof n!="object"||Array.isArray(n))return Or.set(t,[]),[];let i=[];for(let[o,a]of Object.entries(n)){if(o!=="."&&!o.startsWith("./"))continue;let c=Dt(a);if(!c)continue;let f=Rc(e.packageName,o);i.push({key:o.includes("*")?`${f}/*`:f,aliasBase:f,target:c,emitMode:Lt(c),hasWildcard:o.includes("*"),rootDir:e.packageRoot});}return Or.set(t,i),i}async function yc(e,t){let r=await xc(e);if(!r)return null;let s=Dn.get(r);if(s?.has(t))return s.get(t)??null;let n=await wc(r);return Dn.set(r,n),n.get(t)??null}async function wc(e){let t=await Vt(e),r=new Map;if(!t.length)return r;let s=await Jt(t.map(n=>S__default.posix.join(n.split(S__default.sep).join("/"),"package.json")),{cwd:e,ignore:["**/node_modules/**"],suppressErrors:true});for(let n of s){let i=S__default.resolve(e,S__default.dirname(n)),a=B(i,false)?.name;a&&r.set(a,{packageName:a,packageRoot:i});}return r}async function xc(e){let t=S__default.resolve(e),r=Wt.get(t);if(r!==void 0)return r;let s=t,n=await bc(t);for(;;){if((await Vt(s)).length)return Wt.set(t,s),s;if(n&&s===n)return Wt.set(t,null),null;let o=S__default.dirname(s);if(o===s)return Wt.set(t,null),null;s=o;}}async function bc(e){let t=S__default.resolve(e);for(;;){if(te.existsSync(S__default.resolve(t,".git")))return t;let r=S__default.dirname(t);if(r===t)return null;t=r;}}function vc(e){if(e.startsWith("#")||e.startsWith(".")||S__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 Rc(e,t){if(t===".")return e;let r=t.slice(2).replace(/\/\*$/,"");return r?`${e}/${r}`:e}async function zt(e,t){let r=t.cwd??t.absoluteBaseUrl;if(e.startsWith("#")){let n=pt(e,r);if(n)return {path:n.path,source:"package_imports",matchedAlias:n.matchedAlias,matchedTarget:n.matchedTarget,emitMode:n.emitMode}}let s=await Ln(e,r);return s?{path:s.path,source:"workspace_package_exports",matchedAlias:s.matchedAlias,matchedTarget:s.matchedTarget,emitMode:s.emitMode}:Ic(e,t)}function Hn(e,t){return e.startsWith("#")?true:t?e.startsWith(`${t}/`):false}function Ec(e){return /^@[^/]+\/[^/]+(?:\/.*)?$/.test(e)}function Ic(e,t){let r=createMatchPath(t.absoluteBaseUrl,t.paths)(e,void 0,()=>true,[".ts",".tsx",".jsx",".js",".css"]);if(!r)return null;let s=Cc(e,t.paths);return !s&&Ec(e)?null:{path:r,source:"tsconfig_paths",matchedAlias:s?.key??e,matchedTarget:s?.target??r,emitMode:"strip_extension"}}function Cc(e,t){for(let[r,s]of Object.entries(t)){let n=Array.isArray(s)?s:[s],i=$r(e,r);if(i!==null)return {key:r,target:n[0]?.includes("*")&&i!==null?n[0].replace(/\*/g,i):n[0]}}return null}var tg="@/components",rg="@/lib/utils",sg="app/globals.css",ng="tailwind.config.js";var Ut=cosmiconfig("components",{searchPlaces:["components.json"]});async function ht(e){let t=await Ac(e);return t?(t.iconLibrary||(t.iconLibrary=t.style==="new-york"?"radix":"lucide"),await Kt(e,t)):null}async function Kt(e,t){t.registries={...q,...t.registries||{}};let r=await loadConfigOhosSafe(e);if(r.resultType==="failed")throw new Error(`Failed to load ${t.tsx?"tsconfig":"jsconfig"}.json. ${r.message??""}`.trim());let s=await dt("utils",t.aliases.utils,e,r),n=await dt("components",t.aliases.components,e,r),i=t.aliases.ui?await dt("ui",t.aliases.ui,e,r):S__default.resolve(n??e,"ui"),o=t.aliases.lib?await dt("lib",t.aliases.lib,e,r):S__default.resolve(s??e,".."),a=t.aliases.hooks?await dt("hooks",t.aliases.hooks,e,r):S__default.resolve(n??e,"..","hooks");return Pc(e,{components:n,utils:s,ui:i,lib:o,hooks:a}),d$1.parse({...t,resolvedPaths:{cwd:e,tailwindConfig:t.tailwind.config?S__default.resolve(e,t.tailwind.config):"",tailwindCss:S__default.resolve(e,t.tailwind.css),utils:s,components:n,ui:i,lib:o,hooks:a}})}async function dt(e,t,r,s){let n=await zt(t,{...s,cwd:r});if(!n?.path||t.startsWith("#")&&n.path===S__default.resolve(r,t))return null;if(e!=="utils"&&(n.source==="package_imports"||n.source==="workspace_package_exports")){if(!n.matchedAlias.includes("*")&&/\/index\.[^/]+$/.test(n.path))return S__default.dirname(n.path);if(n.matchedAlias.includes("*")&&/\.[^/]+$/.test(n.path))return n.path.replace(/\.[^/]+$/,"")}return n.path}function Pc(e,t){let r=["components","ui","lib","hooks","utils"].filter(s=>!t[s]);if(r.length)throw new Error([`Could not resolve the following aliases in ${P.info(e)}: ${P.info(r.join(", "))}.`,`Configure path aliases in ${P.info("tsconfig.json")} or imports in ${P.info("package.json")} for this workspace and try again.`].join(`
19
+ `))}async function Ac(e){try{let t=await Ut.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 q)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 Gn(e$1){let t={};for(let s of Object.keys(e$1.aliases)){if(!Oc(s,e$1))continue;let n=e$1.resolvedPaths[s],i=await jr(e$1.resolvedPaths.cwd,n);if(!i){t[s]=e$1;continue}let o=await ht(i);if(!o)throw new Error([`Could not load the workspace config in ${P.info(i)}.`,`Add ${P.info("components.json")} to this workspace and configure its path aliases or package imports, then try again.`].join(`
20
+ `));t[s]=o;}let r=e.safeParse(t);return r.success?r.data:null}async function jr(e,t){let r=Bt(e,t),s=S__default.relative(r,t),i=(await Jt.glob("**/package.json",{cwd:r,deep:3,ignore:["**/node_modules/**","**/dist/**","**/build/**","**/public/**"],suppressErrors:true})).map(o=>S__default.dirname(o)).find(o=>s.startsWith(o));return i?S__default.join(r,i):null}function Oc(e,t){return Object.keys(t.resolvedPaths).filter(r=>r!=="utils").includes(e)}function Bt(e,t){let r=e.split(S__default.sep),s=t.split(S__default.sep),n=[];for(let i=0;i<Math.min(r.length,s.length)&&r[i]===s[i];i++)n.push(r[i]);return n.join(S__default.sep)}async function Vn(e,t){return (await X(e))?.tailwindVersion==="v4"?"new-york-v4":t}function ig(e){return e===void 0?"base":c$2(e).base??"radix"}function Wn(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:{...q}};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 Yt=["**/node_modules/**",".next","public","dist","build"],Nc=z$1.object({compilerOptions:z$1.object({paths:z$1.record(z$1.string().or(z$1.array(z$1.string())))})});async function X(e,t){let[r,s,n,i,o,a,c,f]=await Promise.all([Jt.glob("**/{next,vite,astro,app}.config.*|gatsby-config.*|composer.json|react-router.config.*",{cwd:e,deep:3,ignore:Yt,suppressErrors:true}),te.pathExists(S__default.resolve(e,"src")),Hc(e),Dc(e),Mc(e,t?.configCssFile),zn(e),Un(e),B(e,false)]),l=await te.pathExists(S__default.resolve(e,`${s?"src/":""}app`)),u={framework:J.manual,isSrcDir:s,isRSC:false,isTsx:n,tailwindConfigFile:i,tailwindCssFile:o,tailwindVersion:a,frameworkVersion:null,aliasPrefix:c.prefix};if(r.find(p=>p.startsWith("next.config."))?.length)return u.framework=l?J["next-app"]:J["next-pages"],u.isRSC=l,u.frameworkVersion=await Fc(u.framework,f),u;if(r.find(p=>p.startsWith("astro.config."))?.length)return u.framework=J.astro,u;if(r.find(p=>p.startsWith("gatsby-config."))?.length)return u.framework=J.gatsby,u;if(r.find(p=>p.startsWith("composer.json"))?.length)return u.framework=J.laravel,u;if(Object.keys(f?.dependencies??{}).find(p=>p.startsWith("@remix-run/")))return u.framework=J.remix,u;if([...Object.keys(f?.dependencies??{}),...Object.keys(f?.devDependencies??{})].find(p=>p.startsWith("@tanstack/react-start")))return u.framework=J["tanstack-start"],u;if(r.find(p=>p.startsWith("react-router.config."))?.length)return u.framework=J["react-router"],u;if(r.find(p=>p.startsWith("vite.config."))?.length)return u.framework=J.vite,u;let d=r.find(p=>p.startsWith("app.config"));return d?.length&&(await te.readFile(S__default.resolve(e,d),"utf8")).includes("defineConfig")?(u.framework=J.vite,u):(f?.dependencies?.expo&&(u.framework=J.expo),u)}async function Fc(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 n=r.match(/(\d+\.\d+\.\d+)/);return n?n[1]:r}async function zn(e){let[t,r]=await Promise.all([B(e,false),ht(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 Mc(e,t){if(t){let i=S__default.resolve(e,t);if(await te.pathExists(i))return t}let[r,s]=await Promise.all([Jt.glob(["**/*.css","**/*.scss"],{cwd:e,deep:5,ignore:Yt,suppressErrors:true}),zn(e)]);if(!r.length)return null;for(let i of r){let o=await te.readFile(S__default.resolve(e,i),"utf8");if(o.includes('@import "tailwindcss"')||o.includes("@import 'tailwindcss'")||o.includes("@tailwind base"))return i}return null}async function Dc(e){let t=await Jt.glob("tailwind.config.*",{cwd:e,deep:3,ignore:Yt});return t.length?t[0]:null}async function Lc(e){let t=await loadConfigOhosSafe(e),r=t?.resultType==="success"&&Object.entries(t.paths).length?t.paths:(await Gc(e))?.compilerOptions.paths;if(!r||!Object.entries(r).length)return null;for(let[s,n]of Object.entries(r)){let i=Array.isArray(n)?n:[n];if(i.includes("./*")||i.includes("./src/*")||i.includes("./app/*")||i.includes("./resources/js/*"))return s.replace(/\/\*$/,"")??null}return Object.keys(r)?.[0].replace(/\/\*$/,"")??null}async function Un(e){let t=await Lc(e),r=Nn(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 Hc(e){return (await Jt.glob("tsconfig.*",{cwd:e,deep:1,ignore:Yt})).length>0}async function Gc(e){for(let t of ["tsconfig.json","tsconfig.web.json","tsconfig.app.json"]){let r=S__default.resolve(e,t);if(!await te.pathExists(r))continue;let s=await te.readFile(r,"utf8"),n;try{n=JSON.parse(Vc(s));}catch{continue}let i=Nc.safeParse(n);if(!i.error)return i.data}return null}function Vc(e){let t="",r=false,s=false;for(let n=0;n<e.length;n++){let i=e[n],o=e[n+1];if(r){if(t+=i,s){s=false;continue}if(i==="\\"){s=true;continue}i==='"'&&(r=false);continue}if(i==='"'){r=true,t+=i;continue}if(i==="/"&&o==="/"){for(;n<e.length&&e[n]!==`
21
+ `;)n++;n<e.length&&(t+=e[n]);continue}if(i==="/"&&o==="*"){for(n+=2;n<e.length;){if(e[n]==="*"&&e[n+1]==="/"){n++;break}e[n]===`
22
+ `&&(t+=`
23
+ `),n++;}continue}if(i===","){let a=n+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]!==`
24
+ `&&e[a]!=="\r";)a++;continue}if(e[a]==="/"&&e[a+1]==="*"){for(a+=2;a<e.length&&!(e[a]==="*"&&e[a+1]==="/");)a++;a+=2;continue}break}if(e[a]==="}"||e[a]==="]")continue}t+=i;}return t}async function bg(e,t=null){let[r,s,n]=await Promise.all([ht(e),t?Promise.resolve(t):X(e),Un(e)]);if(r)return r;if(!s||!s.tailwindCssFile||s.tailwindVersion==="v3"&&!s.tailwindConfigFile)return null;let i=n.source==="package_imports"?Fn(e):null;if(!s.aliasPrefix)return null;let o=Wc(s.aliasPrefix,n.source==="package_imports"),a=n.source==="package_imports"&&i?zc({...o,components:i.components??o.components,ui:i.ui??o.ui,hooks:i.hooks??o.hooks,lib:i.lib??o.lib,utils:i.utils??o.utils}):o;if(!a.components||!a.utils)return null;let c={$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 Kt(e,c)}function Wc(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 zc(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 Fe(e){if(!e.resolvedPaths?.cwd)return "v3";let t=await X(e.resolvedPaths.cwd);return t?.tailwindVersion?t.tailwindVersion:null}async function vg(e){let t=await ht(e);if(!t)return [];let s=(await Kt(e,t)).resolvedPaths.ui;if(!te.existsSync(s))return [];let n=await qt(),i=new Set(n?.map(a=>a.name)??[]);return (await promises.readdir(s)).filter(a=>/\.(tsx|jsx)$/.test(a)).map(a=>S__default.basename(a,S__default.extname(a))).filter(a=>i.has(a))}function Kn(e,t,r={}){let{ignoreImports:s=false}=r,n=e.replace(/\r\n/g,`
25
+ `).trim(),i=t.replace(/\r\n/g,`
26
+ `).trim();if(n===i)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=l=>l.replace(o,(u,d,p,h)=>{if(p.startsWith("."))return `${d}${p}${h}`;let m=p.split("/"),g=m[m.length-1];return `${d}@normalized/${g}${h}`}),c=a(n),f=a(i);return c===f}function Me(e){let t=S__default.basename(e);return /^\.env(\.|$)/.test(t)}function Zt(e){let t=[".env.local",".env",".env.development.local",".env.development"];for(let r of t){let s=S__default.join(e,r);if(existsSync(s))return s}return null}function Ke(e){let t=e.split(`
27
+ `),r={};for(let s of t){let n=s.trim();if(!n||n.startsWith("#"))continue;let i=n.indexOf("=");if(i===-1)continue;let o=n.substring(0,i).trim(),a=n.substring(i+1).trim();o&&(r[o]=a.replace(/^["']|["']$/g,""));}return r}function Xt(e,t){let r=Ke(e),s=Ke(t),n=[];for(let i of Object.keys(s))i in r||n.push(i);return n}function Qt(e,t){let r=Ke(e),s=Ke(t),n=e.trimEnd();n&&!n.endsWith(`
28
+ `)&&(n+=`
29
+ `);let i=[];for(let[o,a]of Object.entries(s))o in r||i.push(`${o}=${a}`);return i.length>0?(n&&(n+=`
30
+ `),n+=i.join(`
31
+ `),n+`
32
+ `):n&&!n.endsWith(`
33
+ `)?n+`
34
+ `:n}var _r=new Set;function j(e,t){let r=Kc({text:e,isSilent:t?.silent});_r.add(r);let s=r.stop.bind(r);return r.stop=()=>(_r.delete(r),s()),r}function qn(e){let t=process.stderr.isTTY?Array.from(_r).filter(r=>r.isSpinning):[];for(let r of t)r.clear();E.log(e);for(let r of t)r.render();}var Bc=["components","ui","lib","hooks"];function Nr(e){return Bc.includes(e)}function er(e){let t=e?.match(/^@([^/]+)\//);return t&&Nr(t[1])?t[1]:null}var tr=async({sourceFile:e,config:t,isRemote:r})=>{let s=t.aliases?.utils,n=typeof s=="string"?Yc(s):"@",i=n?`${n}/lib/utils`:"@/lib/utils";if(![".tsx",".ts",".jsx",".js"].includes(e.getExtension()))return e;for(let o of e.getImportStringLiterals()){let a=Jc(o.getLiteralValue(),t,r);if(o.setLiteralValue(a),i===a||a==="@/lib/utils"){if(!o.getFirstAncestorByKind(SyntaxKind.ImportDeclaration)?.getNamedImports().some(l=>l.getName()==="cn")||!t.aliases.utils)continue;o.setLiteralValue(i===a?a.replace(i,t.aliases.utils):t.aliases.utils);}}return e};function Jc(e,t,r=false){if(e=Zc(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 Yc(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 Zc(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 Xc(t)){if(e===r)return s;if(e.startsWith(`${r}/`))return `${s}${e.slice(r.length)}`}return e}function Xc(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 rl={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"]},Jn=async({sourceFile:e,config:t})=>{let r=e.getFullText();if(t.tsx)return r;let s=rr.parse(r,{parser:{parse:i=>parse(i,rl)}}),n=transformFromAstSync(s,r,{cloneInputAst:false,code:false,ast:true,plugins:[tl],configFile:false});if(!n||!n.ast)throw new Error("Failed to transform JSX");return rr.print(n.ast).code};var nl=/^["']use client["']$/g,sr=async({sourceFile:e,config:t})=>{if(t.rsc)return e;let r=e.getFirstChildByKind(SyntaxKind.ExpressionStatement);return r&&nl.test(r.getText())&&r.remove(),e};var il=new Set(["cn-font-heading"]),ol=/\bcn-[a-z-]+\b/;function Yn(e){return ol.test(e)&&!il.has(e)}function Zn(e){return e.split(/\s+/).filter(t=>t.length>0&&!Yn(t)).join(" ")}function Xn(e){return e.split(/\s+/).some(Yn)}function nr(e){let t=e.getLiteralValue();if(!Xn(t))return;let r=Zn(t);r!==t&&e.setLiteralValue(r);}function Fr(e){for(let t of e.getDescendantsOfKind(SyntaxKind.StringLiteral))nr(t);for(let t of e.getDescendantsOfKind(SyntaxKind.NoSubstitutionTemplateLiteral))nr(t);}function al(e){let t=[];for(let r of e.getDescendantsOfKind(SyntaxKind.JsxAttribute)){let s=r.getNameNode().getText();if(s!=="className"&&s!=="classNames")continue;let n=r.getInitializer();if(n?.isKind(SyntaxKind.StringLiteral)){let i=n.getLiteralValue();if(Xn(i)){let o=Zn(i);o===""?t.push(r):o!==i&&n.setLiteralValue(o);}}n?.isKind(SyntaxKind.JsxExpression)&&Fr(n);}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)){nr(s);continue}if(s.isKind(SyntaxKind.NoSubstitutionTemplateLiteral)){nr(s);continue}Fr(s);}for(let r of e.getDescendantsOfKind(SyntaxKind.CallExpression))r.getExpression().getText()==="mergeProps"&&Fr(r);}var ir=async({sourceFile:e})=>(al(e),e);var or=async({sourceFile:e,config:t})=>{if(!t.tailwind?.prefix)return e;let r=await Fe(t);return e.getDescendantsOfKind(SyntaxKind.CallExpression).filter(s=>s.getExpression().getText()==="cva").forEach(s=>{if(s.getArguments()[0]?.isKind(SyntaxKind.StringLiteral)){let n=s.getArguments()[0];n&&n.replaceWithText(`"${be(n.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}s.getArguments()[1]?.isKind(SyntaxKind.ObjectLiteralExpression)&&s.getArguments()[1]?.getDescendantsOfKind(SyntaxKind.PropertyAssignment).find(n=>n.getName()==="variants")?.getDescendantsOfKind(SyntaxKind.PropertyAssignment).forEach(n=>{n.getDescendantsOfKind(SyntaxKind.PropertyAssignment).forEach(i=>{let o=i.getInitializerIfKind(SyntaxKind.StringLiteral);o&&o?.replaceWithText(`"${be(o.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);});});}),e.getDescendantsOfKind(SyntaxKind.JsxAttribute).forEach(s=>{if(s.getNameNode().getText()==="className"){if(s.getInitializer()?.isKind(SyntaxKind.StringLiteral)){let n=s.getInitializer();n&&n.replaceWithText(`"${be(n.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}if(s.getInitializer()?.isKind(SyntaxKind.JsxExpression)){let n=s.getInitializer()?.getDescendantsOfKind(SyntaxKind.CallExpression).find(i=>i.getExpression().getText()==="cn");n&&n.getArguments().forEach(i=>{(i.isKind(SyntaxKind.ConditionalExpression)||i.isKind(SyntaxKind.BinaryExpression))&&i.getChildrenOfKind(SyntaxKind.StringLiteral).forEach(o=>{o.replaceWithText(`"${be(o.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}),i.isKind(SyntaxKind.StringLiteral)&&i.replaceWithText(`"${be(i.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);});}}s.getNameNode().getText()==="classNames"&&s.getInitializer()?.isKind(SyntaxKind.JsxExpression)&&s.getDescendantsOfKind(SyntaxKind.PropertyAssignment).forEach(n=>{if(n.getInitializer()?.isKind(SyntaxKind.CallExpression)){let i=n.getInitializerIfKind(SyntaxKind.CallExpression);i&&i.getArguments().forEach(o=>{o.isKind(SyntaxKind.ConditionalExpression)&&o.getChildrenOfKind(SyntaxKind.StringLiteral).forEach(a=>{a.replaceWithText(`"${be(a.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}),o.isKind(SyntaxKind.StringLiteral)&&o.replaceWithText(`"${be(o.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);});}if(n.getInitializer()?.isKind(SyntaxKind.StringLiteral)&&n.getNameNode().getText()!=="variant"){let i=n.getInitializer();i&&i.replaceWithText(`"${be(i.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}});}),e};function be(e,t="",r){return r==="v3"?e.split(" ").map(s=>{let[n,i,o]=b$1(s);return n?o?`${n}:${t}${i}/${o}`:`${n}:${t}${i}`:o?`${t}${i}/${o}`:`${t}${i}`}).join(" "):e.split(" ").map(s=>s.indexOf(`${t}:`)===0?s:`${t}:${s.trim()}`).join(" ")}var pl=new Project({compilerOptions:{}});async function dl(e){let t=await promises.mkdtemp(S__default.join(tmpdir(),"shadcn-"));return S__default.join(t,e)}async function ei(e,t=[tr,sr,a,or,d,c,ir]){let r=await dl(e.filename),s=pl.createSourceFile(r,e.raw,{scriptKind:ScriptKind.TSX});for(let n of t)await n({sourceFile:s,...e});return e.transformJsx?await Jn({sourceFile:s,...e}):s.getText()}var hl=["a","span","div","Link","label","Label"],ti=async({sourceFile:e,config:t})=>{if(!t.style?.startsWith("base-"))return e;let r=10;for(let s=0;s<r;s++){let i=e.getDescendantsOfKind(SyntaxKind.JsxElement).filter(c=>c.getOpeningElement().getAttribute("asChild"));if(i.length===0)break;let o=i.filter(c=>!c.getDescendantsOfKind(SyntaxKind.JsxElement).some(l=>l.getOpeningElement().getAttribute("asChild"))),a=[];for(let c of o){let f=c.getOpeningElement(),l=f.getAttribute("asChild");if(!l)continue;let u=f.getTagNameNode().getText(),p=c.getJsxChildren().find(y=>y.getKind()===SyntaxKind.JsxElement||y.getKind()===SyntaxKind.JsxSelfClosingElement);if(!p){l.remove();continue}let h,m,g;if(p.getKind()===SyntaxKind.JsxSelfClosingElement){let y=p.asKindOrThrow(SyntaxKind.JsxSelfClosingElement);h=y.getTagNameNode().getText(),m=y.getAttributes().map(w=>w.getText()).join(" "),g="";}else {let y=p.asKindOrThrow(SyntaxKind.JsxElement),w=y.getOpeningElement();h=w.getTagNameNode().getText(),m=w.getAttributes().map(b=>b.getText()).join(" "),g=y.getJsxChildren().map(b=>b.getText()).join("");}let x=u==="Button"&&hl.includes(h);a.push({parentElement:c,parentTagName:u,childTagName:h,childProps:m,childChildren:g,needsNativeButton:x});}for(let c of a.reverse()){let l=c.parentElement.getOpeningElement().getAttributes().filter(m=>m.getKind()===SyntaxKind.JsxAttribute?m.asKindOrThrow(SyntaxKind.JsxAttribute).getNameNode().getText()!=="asChild":true).map(m=>m.getText()).join(" "),u=c.childProps?`{<${c.childTagName} ${c.childProps} />}`:`{<${c.childTagName} />}`,d=l?`${l} `:"";d+=`render=${u}`,c.needsNativeButton&&(d+=" nativeButton={false}");let p=c.childChildren.trim()?`${c.childChildren}`:"",h=`<${c.parentTagName} ${d}>${p}</${c.parentTagName}>`;c.parentElement.replaceWithText(h);}}return e};var ri=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 Dr=[".ts",".tsx",".js",".jsx"],yl=new Set(["tailwindConfig","tailwindCss"]);async function Lr(e,t,r){if(!e?.length)return {filesCreated:[],filesUpdated:[],filesSkipped:[]};r={overwrite:false,force:false,silent:false,interactive:true,isRemote:false,isWorkspace:false,...r};let s=j("Updating files.",{silent:r.silent})?.start(),[n,i]=await Promise.all([X(t.resolvedPaths.cwd),t.tailwind.baseColor?lr(t.tailwind.baseColor):Promise.resolve(void 0)]),o=loadConfigOhosSafe(t.resolvedPaths.cwd),a$1=Sl(r.plannedFiles??e,t,{isSrcDir:n?.isSrcDir,framework:n?.framework.name,path:r.path}),c$1=new Project({compilerOptions:{}}),f=[],l=[],u=[],d$1=[],p=null;for(let x=0;x<e.length;x++){let y=e[x];if(!y.content)continue;let w=ar(y,t,{isSrcDir:n?.isSrcDir,framework:n?.framework.name,commonRoot:cr(e.map(T=>T.path),y.path),path:r.path,fileIndex:x});if(!w)continue;let b=basename(y.path),v=S__default.dirname(w);if(t.tsx||(w=w.replace(/\.tsx?$/,T=>T===".tsx"?".jsx":".js")),Me(w)&&!existsSync(w)){let T=Zt(v);T&&(w=T);}let R=existsSync(w);if(y.type==="registry:lib"&&basename(y.path)==="utils.ts"&&n?.framework.name==="laravel"&&R){u.push(S__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 I=y.type==="registry:file"||y.type==="registry:item",k=Me(w)||I?y.content:await ei({filename:y.path,raw:y.content,config:t,baseColor:i,transformJsx:!t.tsx,isRemote:r.isRemote,supportedFontMarkers:r.supportedFontMarkers},[tr,sr,a,or,c,g$1,ti,d,...si(w,n,t)?[ri]:[],f$1,ir]);if(R&&!Me(w)){let T=await ci({config:t,content:k,filePaths:a$1,project:c$1,projectInfo:n,resolvedPath:w,tsConfig:o}),H=await promises.readFile(w,"utf-8");if(Kn(H,T,{ignoreImports:r.isWorkspace})){u.push(S__default.relative(t.resolvedPaths.cwd,w));continue}}if(R&&!r.overwrite&&!Me(w)){if(!r.interactive){u.push(S__default.relative(t.resolvedPaths.cwd,w));continue}s.stop(),r.rootSpinner&&r.rootSpinner.stop();let{overwrite:T}=await gl({type:"confirm",name:"overwrite",message:`The file ${P.info(b)} already exists. Would you like to overwrite?`,initial:false});if(!T){u.push(S__default.relative(t.resolvedPaths.cwd,w)),r.rootSpinner&&r.rootSpinner.start();continue}s?.start(),r.rootSpinner&&r.rootSpinner.start();}if(si(w,n,t)&&(w=w.replace(/middleware\.(ts|js)$/,"proxy.$1")),existsSync(v)||await promises.mkdir(v,{recursive:true}),Me(w)&&R){let T=await promises.readFile(w,"utf-8"),H=Qt(T,k);if(d$1=Xt(T,k),p=S__default.relative(t.resolvedPaths.cwd,w),!d$1.length){u.push(S__default.relative(t.resolvedPaths.cwd,w));continue}await promises.writeFile(w,H,"utf-8"),l.push(S__default.relative(t.resolvedPaths.cwd,w));continue}await promises.writeFile(w,k,"utf-8"),R?l.push(S__default.relative(t.resolvedPaths.cwd,w)):(f.push(S__default.relative(t.resolvedPaths.cwd,w)),Me(w)&&(d$1=Object.keys(Ke(k)),p=S__default.relative(t.resolvedPaths.cwd,w)));}let h=r.interactive?[...f,...l,...u]:[...f,...l],m=await Rl(h,t,a$1);if(l.push(...m),f=Array.from(new Set(f)),l=Array.from(new Set(l.filter(x=>!f.includes(x)))),u=Array.from(new Set(u)),!(f.length||l.length)&&!u.length&&s?.info("No files updated."),f.length){if(s?.succeed(`Created ${f.length} ${f.length===1?"file":"files"}:`),!r.silent)for(let x of f)E.log(` - ${x}`);}else s?.stop();if(l.length&&(j(`Updated ${l.length} ${l.length===1?"file":"files"}:`,{silent:r.silent})?.info(),!r.silent))for(let x of l)E.log(` - ${x}`);if(u.length&&(j(`Skipped ${u.length} ${u.length===1?"file":"files"}: (files might be identical, use --overwrite to overwrite)`,{silent:r.silent})?.info(),!r.silent))for(let x of u)E.log(` - ${x}`);if(d$1.length&&p&&(j(`Added the following variables to ${P.info(p)}:`)?.info(),!r.silent))for(let x of d$1)E.log(` ${P.success("+")} ${x}`);return {filesCreated:f,filesUpdated:l,filesSkipped:u}}function ar(e,t,r){if(r.path){let i=S__default.isAbsolute(r.path)?r.path:S__default.join(t.resolvedPaths.cwd,r.path);if(/\.[^/\\]+$/.test(i)){if(r.fileIndex===0)return i}else {let a=S__default.basename(e.path);return S__default.join(i,a)}}if(e.target){if(e.target.startsWith("~/"))return S__default.join(t.resolvedPaths.cwd,e.target.replace("~/",""));let i=e.target,o=wl(i,t);return o?.resolvedPath?o.resolvedPath:(o?.target&&(i=o.target),e.type==="registry:page"&&(i=vl(i,r.framework),!i)?"":r.isSrcDir?S__default.join(t.resolvedPaths.cwd,"src",i.replace("src/","")):S__default.join(t.resolvedPaths.cwd,i.replace("src/","")))}let s=xl(e,t),n=bl(e.path,s);return S__default.join(s,n)}function wl(e,t){let r=e.match(/^@([^/]+)\/(.+)$/);if(!r)return null;let[,s,n]=r;if(!Nr(s))return {target:`${s}/${n}`};let i=S__default.resolve(t.resolvedPaths[s]),o=S__default.resolve(i,n);if(o!==i&&!o.startsWith(`${i}${S__default.sep}`))throw new Error(`Invalid target path "${e}". Target paths using @${s}/ must stay within the ${s} alias root.`);return {resolvedPath:o}}function xl(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 cr(e,t){let r=e.map(o=>o.replace(/^\//,"")),s=t.replace(/^\//,""),n=s.split("/").slice(0,-1).join("/");if(!n)return "";let i=n.split("/");for(let o=i.length;o>0;o--){let a=i.slice(0,o).join("/");if(r.some(f=>f!==s&&f.startsWith(a+"/")))return "/"+a}return "/"+n}function bl(e,t){let r=e.replace(/^\/|\/$/g,""),s=t.replace(/^\/|\/$/g,""),n=r.split("/"),i=s.split("/"),o=i[i.length-1],a=n.findIndex(c=>c===o);return a===-1?n[n.length-1]:n.slice(a+1).join("/")}function vl(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 Rl(e,t,r=e){let s=new Project({compilerOptions:{}}),n=await X(t.resolvedPaths.cwd),i=loadConfigOhosSafe(t.resolvedPaths.cwd),o=[];if(!n||i.resultType==="failed")return [];for(let a of e){let c=S__default.resolve(t.resolvedPaths.cwd,a);if(!existsSync(c))continue;let f=await promises.readFile(c,"utf-8"),l=await promises.mkdtemp(S__default.join(tmpdir(),"shadcn-")),u=s.createSourceFile(S__default.join(l,basename(c)),f,{scriptKind:ScriptKind.TSX});if(![".tsx",".ts",".jsx",".js"].includes(u.getExtension()))continue;let d=await ci({config:t,content:f,filePaths:r,project:s,projectInfo:n,resolvedPath:c,sourceFile:u,tsConfig:i});d!==f&&(await promises.writeFile(c,d,"utf-8"),o.push(a));}return o}function Sl(e,t,r){return (e??[])?.filter(s=>!!s?.content).map((s,n)=>{let i=ar(s,t,{isSrcDir:r.isSrcDir,framework:r.framework,commonRoot:cr((e??[]).map(o=>o.path),s.path),path:r.path,fileIndex:n});return i?(t.tsx||(i=i.replace(/\.tsx?$/,o=>o===".tsx"?".jsx":".js")),S__default.relative(t.resolvedPaths.cwd,i)):null}).filter(s=>!!s)}async function ci({content:e,resolvedPath:t,filePaths:r,config:s,projectInfo:n,tsConfig:i,project:o,sourceFile:a}){if(!n||i.resultType==="failed")return e;let c=S__default.extname(t);if(![".tsx",".ts",".jsx",".js"].includes(c))return e;let f=a===void 0?o.createSourceFile(S__default.join(tmpdir(),`shadcn-${Math.random().toString(36).slice(2)}${c||".tsx"}`),e,{scriptKind:ScriptKind.TSX,overwrite:true}):null,l=a??f;try{let u=!1;for(let d of l.getImportDeclarations()){let p=d.getModuleSpecifierValue();if(!Hn(p,n.aliasPrefix??null))continue;let h=await El(p,r,s,i);if(!h)continue;let m=Cl(h,s,n,t);!m||m===p||(d.setModuleSpecifier(m),u=!0);}return u?l.getFullText():e}finally{f&&o.removeSourceFile(f);}}async function El(e,t,r,s){let n=(await zt(e,{...s,cwd:r.resolvedPaths.cwd}))?.path,i=!n&&!e.startsWith(".")?Tl(e,r):null;return !n&&!i?null:Il(n??i,t,r)}function Il(e,t,r,s=[".tsx",".ts",".js",".jsx",".css"]){let n=S__default.normalize(r.resolvedPaths.cwd),i=t.map(g=>g.split(S__default.sep).join(S__default.posix.sep)),o=new Set(i),a=S__default.extname(e),c=a!=="",f=c?e.slice(0,-a.length):e,u=S__default.relative(n,f).split(S__default.sep).join(S__default.posix.sep),d=c?[a]:s,p=new Set;for(let g of d){let x=f+g,y=S__default.posix.normalize(S__default.relative(n,x));(o.has(y)||existsSync(x))&&p.add(y);let w=S__default.join(f,`index${g}`),b=S__default.posix.normalize(S__default.relative(n,w));(o.has(b)||existsSync(w))&&p.add(b);}let h=S__default.basename(f);for(let g of i)d.some(x=>g.endsWith(`/${h}${x}`))&&p.add(g);return p.size===0?null:Array.from(p).sort((g,x)=>{let y=S__default.posix.extname(g),w=S__default.posix.extname(x),b=d.indexOf(y)-d.indexOf(w);if(b!==0)return b;let v=u&&g.startsWith(u)?-1:1,R=u&&x.startsWith(u)?-1:1;return v-R})[0]}function Cl(e,t,r,s){let n=S__default.normalize(S__default.join(t.resolvedPaths.cwd,e)),i=Object.entries(t.resolvedPaths).filter(([h,m])=>{if(!m||yl.has(h))return false;let g=S__default.normalize(m);if(n===g){let x=t.aliases[h];if(typeof x!="string"||!x.startsWith("#"))return true;let y=pt(x,t.resolvedPaths.cwd);return y!==null&&!y.matchedAlias.includes("*")}return n.startsWith(S__default.normalize(m+S__default.sep))}).sort((h,m)=>m[1].length-h[1].length);if(i.length===0)return null;let[o,a]=i[0],c=S__default.relative(a,n);c=c.split(S__default.sep).join("/");let f=o==="cwd"?r.aliasPrefix:t.aliases[o];if(!f)return null;if(f.startsWith("#")){let h=pt(f,t.resolvedPaths.cwd);if(h)return kl(f,c,h)??(s?Pl(s,n):null)}let l=S__default.posix.extname(c),u=Dr.includes(l)?"":l,d=c.slice(0,c.length-l.length);d.endsWith("/index")&&(d=d.slice(0,-6));let p=d===""?"":`/${d}`;return p=p.replace("/src",""),`${f}${p}${u}`}function kl(e,t,r){let s=S__default.posix.extname(t),n=Dr.includes(s)&&r.emitMode==="strip_extension"?"":s,i=t?t.slice(0,t.length-s.length)+n:"";return r.matchedAlias.includes("*")?i?`${e}/${i}`:e:i===""||i==="index"?e:null}function Tl(e,t){let r=$l(t);for(let s of r){if(e===s.alias||e===s.canonical)return s.rootPath;if(e.startsWith(`${s.alias}/`))return S__default.join(s.rootPath,e.slice(s.alias.length+1));if(e.startsWith(`${s.canonical}/`))return S__default.join(s.rootPath,e.slice(s.canonical.length+1))}return null}function $l(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 Pl(e,t){let r=S__default.relative(S__default.dirname(e),t);r=r.split(S__default.sep).join("/");let s=S__default.posix.extname(r),n=Dr.includes(s)?"":s,i=r.slice(0,r.length-s.length);return i.endsWith("/index")&&(i=i.slice(0,-6)),i.startsWith(".")||(i=`./${i}`),`${i}${n}`}function si(e,t,r){let s=e===S__default.join(r.resolvedPaths.cwd,"middleware.ts")||e===S__default.join(r.resolvedPaths.cwd,"middleware.js"),n=t?.framework.name==="next-app"||t?.framework.name==="next-pages";if(!s||!n||!t?.frameworkVersion)return false;let i=parseInt(t.frameworkVersion.split(".")[0]);return !isNaN(i)&&i>=16}new Project({compilerOptions:{}});function L(e){try{return new URL(e),!0}catch{return false}}function Re(e){return e.endsWith(".json")&&!L(e)}function ui(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 fi(e,t){if(!Ol(t))return z$1.array(g).parse(e.flat().filter(Boolean));let r=await X(t.resolvedPaths.cwd),s=new Map,n=z$1.array(g).parse(e.flat().filter(Boolean));return n.forEach(i=>{let o=ar(i,t,{isSrcDir:r?.isSrcDir,framework:r?.framework.name,commonRoot:cr(n.map(a=>a.path),i.path)});o&&s.set(o,i);}),Array.from(s.values())}function Ol(e){return !!(e?.resolvedPaths?.cwd&&(e?.resolvedPaths?.ui||e?.resolvedPaths?.lib||e?.resolvedPaths?.components||e?.resolvedPaths?.hooks))}var jl=/^(?!.*--)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,37}[a-zA-Z0-9])?$/,_l=/^[a-zA-Z0-9._-]+$/,Nl=new Set([".",".."]),Fl=/[\x00-\x1F\x7F]/,Ml=/\s/,Dl=/^-/;function mt(e){if(L(e))return {scheme:"url",url:e};if(Re(e))return {scheme:"file",path:e};let{registry:t,item:r}=ye(e);if(t)return {scheme:"namespace",namespace:t,item:r};let s=Ll(e);return s||{scheme:"shadcn",item:e}}function ur(e){return mt(e).scheme==="github"}function gt(e){let t=e.indexOf("#"),r=t===-1?e:e.slice(0,t),s=t===-1?void 0:e.slice(t+1),n=r.split("/");if(n.length!==2)return null;let[i,o]=n;if(!di(i)||!hi(o))return null;if(s!==void 0&&!mi(s))throw new $(`Invalid GitHub ref in registry source "${e}".`,{context:{source:e,ref:s},suggestion:"Use a non-empty branch, tag, or commit SHA without whitespace, control characters or leading dashes."});return {owner:i,repo:o,ref:s}}function pi(e){return gt(e)!==null}function Ll(e){let t=e.indexOf("#"),r=t===-1?e:e.slice(0,t),s=t===-1?void 0:e.slice(t+1),n=r.split("/");if(n.length<3)return null;let[i,o,...a]=n;if(!di(i)||!hi(o))return null;let c=a.join("/");if(!c)return null;if(s!==void 0&&!mi(s))throw new $(`Invalid GitHub ref in item address "${e}".`,{context:{address:e,ref:s},suggestion:"Use a non-empty branch, tag, or commit SHA without whitespace, control characters or leading dashes."});return {scheme:"github",owner:i,repo:o,item:c,ref:s}}function di(e){return jl.test(e)}function hi(e){return _l.test(e)&&!Nl.has(e)}function mi(e){return !!e&&!Fl.test(e)&&!Ml.test(e)&&!Dl.test(e)}var De=new AsyncLocalStorage,Hr={headers:{}};function Se(e,t={}){let r=De.getStore();return De.run({headers:{},env:t.env??r?.env,onGitHubAuthNotice:t.onGitHubAuthNotice??r?.onGitHubAuthNotice},e)}function yt(e){let t=De.getStore()??Hr;t.headers={...t.headers,...e};}function gi(e){return (De.getStore()??Hr).headers[e]||{}}function qe(e){let t=De.getStore();return t?.env?t.env[e]:process.env[e]}function yi(){return De.getStore()?.onGitHubAuthNotice}function wi(){let e=De.getStore()??Hr;e.headers={};}function wt(e){return e.replace(/\${(\w+)}/g,(t,r)=>qe(r)||"")}function xt(e){let t=[],r=/\${(\w+)}/g,s;for(;(s=r.exec(e))!==null;)t.push(s[1]);return t}function Vl(e){return e.style?e.style==="new-york"&&e.tailwind?.config===""?Ft:e.style:Ft}function oe(e){let t=Wn({style:Ft,registries:q});return e?d$1.parse(Xe(t,{...e,style:Vl(e),registries:{...q,...e.registries}})):t}function Wl(e){let t=new Set;return typeof e=="string"?xt(e).forEach(r=>t.add(r)):(xt(e.url).forEach(r=>t.add(r)),e.params&&Object.values(e.params).forEach(r=>{xt(r).forEach(s=>t.add(s));}),e.headers&&Object.values(e.headers).forEach(r=>{xt(r).forEach(s=>t.add(s));})),Array.from(t)}function xi(e,t){let s=Wl(t).filter(n=>!qe(n));if(s.length>0)throw new ct(e,s)}function Cw(e,t){for(let r of e)pi(r)||Je(r,oe(t));wi();}var bi="{name}",fr="{style}",vi=/\${(\w+)}/g,Ri="?",zl="&";function Ul(e){return e.startsWith("./")||e.startsWith("/")}function Je(e,t){let{registry:r,item:s}=ye(e);if(!r){if(L(e)||Re(e)||Ul(e)||ur(e))return null;r="@shadcn";}let i={...q,...t?.registries}[r];if(!i)throw new ge(r);return xi(r,i),{url:Kl(s,i,t),headers:Bl(i)}}function Kl(e,t,r){if(typeof t=="string"){let n=t.replace(bi,e);return r?.style&&n.includes(fr)&&(n=n.replace(fr,r.style)),wt(n)}let s=t.url.replace(bi,e);return r?.style&&s.includes(fr)&&(s=s.replace(fr,r.style)),s=wt(s),t.params?ql(s,t.params):s}function Bl(e){if(typeof e=="string"||!e.headers)return {};let t={};for(let[r,s]of Object.entries(e.headers)){let n=wt(s);Jl(s,n)&&(t[r]=n);}return t}function ql(e,t){let r=new URLSearchParams;for(let[i,o]of Object.entries(t)){let a=wt(o);a&&r.append(i,a);}let s=r.toString();if(!s)return e;let n=e.includes(Ri)?zl:Ri;return `${e}${n}${s}`}function Jl(e,t){let r=t.trim();if(!r)return false;if(e.includes("${")&&e.match(vi)){let n=e.replace(vi,"").trim();return r!==n}return true}function pr(e){if(L(e)){let t=new URL(e);return t.pathname.match(/\/chat\/b\//)&&!t.pathname.endsWith("/json")&&(t.pathname=`${t.pathname}/json`),t.toString()}return `${je}/${e}`}var Ql=["HTTPS_PROXY","https_proxy","HTTP_PROXY","http_proxy"],eu=["ALL_PROXY","all_proxy"],tu={"socks:":5,"socks4:":4,"socks4a:":4,"socks5:":5,"socks5h:":5};function ru(e){let t;try{t=new URL(e);}catch{return}let r=tu[t.protocol];if(!r)return;let s=Number(t.port)||1080;return {host:t.hostname,port:s,type:r,...t.username?{userId:decodeURIComponent(t.username)}:void 0,...t.password?{password:decodeURIComponent(t.password)}:void 0}}function su(e){return new Agent({connect:(t,r)=>{SocksClient.createConnection({proxy:e,command:"connect",destination:{host:t.hostname??"",port:Number(t.port)}}).then(({socket:s})=>r(null,s)).catch(s=>r(s,null));}})}function nu(e=process.env){for(let r of eu){let s=e[r];if(!s)continue;let n=ru(s);if(n)return su(n)}return Ql.some(r=>e[r])?new EnvHttpProxyAgent:void 0}var iu=nu(),ou=5,au=new Set(["accept","user-agent"]);async function Ye(e,t){let r=new URL(e).origin,s=new Headers(t?.headers),n=new URL(e).toString(),i=s;for(let o=0;o<=ou;o++){let a=await cu(n,t,i);if(!(a.status>=300&&a.status<400&&a.headers.has("location")))return a;let f=a.headers.get("location"),l=new URL(f,n);if(l.origin!==r){let u=new Headers;s.forEach((d,p)=>{au.has(p.toLowerCase())&&u.set(p,d);}),i=u;}else i=s;n=l.toString();}throw new Error(`Too many redirects while fetching ${e}`)}async function cu(e,t,r){try{return await fetch(e,{...t,headers:r,redirect:"manual",dispatcher:iu})}catch(s){let n=s instanceof TypeError?s.cause:void 0;if(n){let i=new Error(`Request to ${e} failed, reason: ${Si(n)}`);throw i.cause=n,i}throw s}}function Si(e){if(e instanceof Error&&"errors"in e){let t=e.errors;if(Array.isArray(t)&&t.length)return Si(t[0])}return e instanceof Error?e.message||e.code||"unknown error":String(e)}var Gr=new Map;async function K(e,t={}){t={useCache:true,...t};try{return await Promise.all(e.map(async s=>{let n=pr(s),i=gi(n),o=pu(n,i);if(t.useCache&&Gr.has(o))return Gr.get(o);let a=(async()=>{let c=new Headers({Accept:"application/vnd.shadcn.v1+json, application/json;q=0.9","User-Agent":"shadcn"});for(let[l,u]of Object.entries(i))c.set(l,u);let f=await Ye(n,{headers:c});if(!f.ok){let l;if(f.headers.get("content-type")?.includes("application/json")){let u=await f.json(),d=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);d.success&&(l=d.data.detail||d.data.message,d.data.error&&(l=`[${d.data.error}] ${l}`));}throw f.status===401?new it(n,l):f.status===404?new _e(n,l):f.status===410?new Mt(n,l):f.status===403?new ot(n,l):new at(n,f.status,l)}return f.json()})();return t.useCache&&Gr.set(o,a),a}))}catch(r){throw r}}function pu(e,t){let r=Object.entries(t).map(([n,i])=>[n.toLowerCase(),i]).sort(([n],[i])=>n.localeCompare(i)),s=createHash("sha256").update(JSON.stringify(r)).digest("hex");return `${e}:${s}`}async function Ii(e){try{let t=e;e.startsWith("~/")&&(t=S__default.join(homedir(),e.slice(2)));let r=S__default.resolve(t),s=await promises.readFile(r,"utf8"),n$1=JSON.parse(s);try{return n.parse(n$1)}catch(i){throw new W(e,i)}}catch(t){throw t instanceof Error&&(t.message.includes("ENOENT")||t.message.includes("no such file"))?new ue(e,t):t instanceof W?t:new ue(e,t)}}var hu="https://api.github.com",ki="2022-11-28",Ti="application/vnd.github.raw+json",$i="application/vnd.github+json",mu=/^[a-fA-F0-9]{40}$/,gu=["GH_TOKEN","GITHUB_TOKEN"],yu=/^[\x21-\x7E]+$/,wu=15e3,xu=8,bu=/\(HTTP (\d{3})\)/,vu=5,dr=5*1024*1024,A=class extends Error{kind;statusCode;constructor(t,r={}){super(r.message??`GitHub request failed (${t}).`),this.name="GitHubTransportError",this.kind=t,this.statusCode=r.statusCode;}};function Rt(){for(let e of gu){let t=qe(e)?.trim();if(t&&yu.test(t))return t}return null}function Ze(e){return e.split("/").map(t=>encodeURIComponent(t)).join("/")}function Wr(e){return typeof e=="string"&&mu.test(e)}async function zr(e,t=dr){let r=Number(e.headers.get("content-length"));if(Number.isFinite(r)&&r>t)throw new A("oversize");if(!e.body){let o=await e.text();if(Buffer.byteLength(o,"utf8")>t)throw new A("oversize");return o}let s=e.body.getReader(),n=[],i=0;for(;;){let{done:o,value:a}=await s.read();if(o)break;if(i+=a.byteLength,i>t)throw await s.cancel(),new A("oversize");n.push(a);}return Buffer.concat(n).toString("utf8")}async function Pi(e,t,r){let s;try{s=await Ye(`${hu}/${e}`,{headers:new Headers({Accept:r,Authorization:`Bearer ${t}`,"User-Agent":"shadcn","X-GitHub-Api-Version":ki})});}catch{throw new A("network")}if(!s.ok)throw new A("http",{statusCode:s.status});return s}async function Ai(e,t,r,s){let n=await Pi(_i(e,t,r),s,Ti);return zr(n)}var Vr=xu,Ci=[];async function Ru(e){Vr>0?Vr-=1:await new Promise(t=>Ci.push(t));try{return await e()}finally{let t=Ci.shift();t?t():Vr+=1;}}function Su(){let e={...process.env};return delete e.GH_TOKEN,delete e.GITHUB_TOKEN,delete e.GH_ENTERPRISE_TOKEN,delete e.GITHUB_ENTERPRISE_TOKEN,delete e.GH_DEBUG,delete e.DEBUG,delete e.GH_FORCE_TTY,delete e.GH_TELEMETRY,e.GH_HOST="github.com",e.GH_PROMPT_DISABLED="1",e.GH_NO_UPDATE_NOTIFIER="1",e.GH_PAGER="cat",e.NO_COLOR="1",e}function Eu(e){if(typeof e!="object"||e===null)return new A("network");let t=e;if(t.code==="ENOENT")return new A("enoent");if(t.timedOut===true)return new A("timeout");let r=typeof t.stderr=="string"?t.stderr:"";if(/gh auth login|not logged in/i.test(r))return new A("unauthenticated");let s=r.match(bu);if(s){let n=Number(s[1]);if(n>=100&&n<=599)return new A("http",{statusCode:n})}return new A("network")}async function Oi(e,t){return Ru(async()=>{try{return (await execa("gh",["api","--hostname","github.com",e,"-H",`Accept: ${t}`,"-H",`X-GitHub-Api-Version: ${ki}`],{env:Su(),extendEnv:!1,timeout:wu,maxBuffer:dr,stripFinalNewline:!1})).stdout}catch(r){throw Eu(r)}})}async function ji(e,t,r){let s=await Oi(_i(e,t,r),Ti);if(Buffer.byteLength(s,"utf8")>dr)throw new A("oversize");return s}function _i(e,t,r){if(!Wr(t))throw new A("invalid-response");return `repos/${e.owner}/${e.repo}/contents/${Ze(r)}?ref=${t.toLowerCase()}`}function St(e,t){return e.kind==="enoent"?{detail:"The GitHub CLI (gh) is not installed.",suggestion:'Install the GitHub CLI and run "gh auth login", or set GH_TOKEN to a token with read access.'}:e.kind==="unauthenticated"?t==="token"?{detail:"The configured GitHub token was rejected.",suggestion:"Check that GH_TOKEN or GITHUB_TOKEN is valid and has read access to the repository."}:{detail:"The GitHub CLI is not authenticated.",suggestion:'Run "gh auth login --hostname github.com" and try again.'}:e.kind==="timeout"?{detail:"The GitHub request timed out.",suggestion:"Check your network connection and try again."}:e.kind==="oversize"?{detail:`The file exceeds the ${dr} byte registry source file limit.`,suggestion:"Registry source files must be smaller than 5 MiB. Reduce the file size or split the item."}:e.kind==="http"?e.statusCode===401?t==="token"?{detail:"GitHub rejected the configured token (401).",suggestion:"Check that GH_TOKEN or GITHUB_TOKEN is valid and has read access to the repository."}:{detail:"GitHub rejected the stored GitHub CLI credentials (401).",suggestion:'Run "gh auth login --hostname github.com" and try again.'}:e.statusCode===403?{detail:"GitHub denied access to the repository (403).",suggestion:"Check that your credentials have read access to the repository."}:e.statusCode===429?{detail:"GitHub rate limited the request (429).",suggestion:"Wait a few minutes and try again."}:e.statusCode&&e.statusCode>=500?{detail:`GitHub returned an upstream error (${e.statusCode}).`,suggestion:"GitHub may be having issues. Try again later."}:{detail:`GitHub returned an unexpected status${e.statusCode?` (${e.statusCode})`:""}.`,suggestion:"Check the repository and try again."}:e.kind==="invalid-response"?{detail:"GitHub returned an unexpected response.",suggestion:"Try again later."}:{detail:"The GitHub request failed.",suggestion:"Check your network connection and try again."}}function Iu(e){return async t=>{let r=await Pi(t,e,$i);try{return await r.json()}catch{throw new A("invalid-response")}}}function Cu(){return async e=>{let t=await Oi(e,$i);try{return JSON.parse(t)}catch{throw new A("invalid-response")}}}async function Ni(e,t,r){let s=r==="token"?Rt():null;if(r==="token"&&!s)throw new A("unauthenticated");let n=r==="token"&&s?Iu(s):Cu();if(t==="HEAD")return vt(e,n,"HEAD");if(t.startsWith("refs/heads/"))return vt(e,n,`heads/${Ze(t.slice(11))}`);if(t.startsWith("refs/tags/"))return vt(e,n,`tags/${Ze(t.slice(10))}`);if(t.startsWith("refs/"))return ku(e,n,t);try{return await vt(e,n,`heads/${Ze(t)}`)}catch(i){if(i instanceof A&&i.kind==="http"&&i.statusCode===404)return vt(e,n,`tags/${Ze(t)}`);throw i}}async function vt(e,t,r){let s=await t(`repos/${e.owner}/${e.repo}/commits/${r}`),n=typeof s=="object"&&s!==null?s.sha:void 0;if(!Wr(n))throw new A("invalid-response");return n.toLowerCase()}async function ku(e,t,r){let s=Ze(r.slice(5)),n=await t(`repos/${e.owner}/${e.repo}/git/ref/${s}`),i=typeof n=="object"&&n!==null?n.object:void 0;for(let o=0;o<vu;o++){if(!i||!Wr(i.sha))throw new A("invalid-response");if(i.type!=="tag")return i.sha.toLowerCase();let a=await t(`repos/${e.owner}/${e.repo}/git/tags/${i.sha.toLowerCase()}`);i=typeof a=="object"&&a!==null?a.object:void 0;}throw new A("invalid-response")}var Fi=new WeakMap,Mi=new Set;function hr(e,t){let r=Fi.get(e);r||(r=new Map,Fi.set(e,r));let s=Au(t),n=r.get(s);return n||(n={anonymousLock:false},r.set(s,n)),n}function mr(e,t,r){return e.decision||(e.originalError=r,e.decision=Pu().catch(s=>{throw e.decision=void 0,s})),e.decision}async function Pu(){let e=Rt()?"token":"gh";if(Mi.has(e))return e;let t=`Using ${e==="token"?"GH_TOKEN":"gh"} credentials.`,r=yi();return r?await r(t):qn(`${green("\u2714")} ${gray(t)}`),Mi.add(e),e}function Au(e){return `${e.owner.toLowerCase()}/${e.repo.toLowerCase()}#${e.ref??"HEAD"}`}var ju="https://github.com",Di=/^[a-fA-F0-9]{40}$/,_u=15e3;async function Li(e,t={}){let r=e.ref??"HEAD";if(Di.test(r))return r.toLowerCase();let s=`${e.owner}/${e.repo}#${r}`;if(t.cache?.has(s))return t.cache.get(s);let n=Nu(e,r,t).catch(i=>{throw t.cache?.delete(s),i});return t.cache?.set(s,n),n}async function Nu(e,t,r){let s=`${ju}/${e.owner}/${e.repo}.git`,n=Fu(t),i;try{i=(await execa("git",["ls-remote","--symref","--",s,...n],{env:{GIT_TERMINAL_PROMPT:"0"},timeout:_u})).stdout;}catch(a){let c=Lu(e,t,s,a);if(!r.authAnchor)throw c;return Du(e,t,r.authAnchor,c)}let o=Mu(i);for(let a of Hi(t)){let c=o.get(a);if(c)return c}throw new D("registry.json",void 0,{message:`Could not resolve GitHub ref "${t}" for ${e.owner}/${e.repo}.`,context:{reason:"github-ref-resolution",source:gr(e),ref:t,repoUrl:s},suggestion:'Use an existing branch, tag, or full commit SHA. For example: "owner/repo/item#main" or "owner/repo/item#v1.0.0".'})}function Fu(e){return Array.from(new Set(Hi(e)))}function Hi(e){return e==="HEAD"?["HEAD"]:e.startsWith("refs/tags/")?[`${e}^{}`,e]:e.startsWith("refs/")?[e]:[`refs/heads/${e}`,`refs/tags/${e}^{}`,`refs/tags/${e}`,e]}function Mu(e){let t=new Map;for(let r of e.split(`
35
+ `)){let s=r.trim();if(!s||s.startsWith("ref:"))continue;let[n,i]=s.split(/\s+/);n&&i&&Di.test(n)&&t.set(i,n.toLowerCase());}return t}async function Du(e,t,r,s){let n=hr(r,e),i;try{i=await mr(n,e,s);}catch{throw s}try{return await Ni(e,t,i)}catch(o){if(!(o instanceof A)||o.kind==="http"&&o.statusCode===404)throw s;let a=St(o,i);throw o.kind==="enoent"||o.kind==="unauthenticated"?new D("registry.json",void 0,{message:s.message,context:{reason:"github-ref-resolution",source:gr(e),ref:t},suggestion:a.suggestion}):new D("registry.json",void 0,{message:`Failed to resolve GitHub ref "${t}" for ${e.owner}/${e.repo}. ${a.detail}`,context:{reason:"github-ref-resolution",source:gr(e),ref:t},suggestion:a.suggestion})}}function Lu(e,t,r,s){return new D("registry.json",s,{message:`Failed to resolve GitHub ref "${t}" for ${e.owner}/${e.repo}.`,context:{reason:"github-ref-resolution",source:gr(e),ref:t,repoUrl:r},suggestion:Hu(s)})}function Hu(e){return Gu(e)?"Install Git and try again. Git is required to resolve GitHub registry refs.":Vu(e)?"GitHub ref resolution timed out. Check your network connection and try again.":"Check that the public GitHub repository exists and the ref is accessible."}function Gu(e){return typeof e=="object"&&e!==null&&"code"in e&&e.code==="ENOENT"}function Vu(e){return typeof e=="object"&&e!==null&&"timedOut"in e&&e.timedOut===true}function gr(e){return `${e.owner}/${e.repo}#${e.ref??"HEAD"}`}async function Ur(e,t,r={}){let s=Xi(r.registryFile??"registry.json"),n=await Wi(s,t,{source:r.source}),i=n.registry.items.find(o=>o.name===e);if(!i)throw new Ne(e);return Wu(i,n,t)}async function Kr(e,t={}){let r=Xi(t.registryFile??"registry.json"),s=await Wi(r,e,{source:t.source});return zu(s)}async function Wi(e,t,r={}){let s=await Bi(e,t,r),n=qi(s,e);Gi(n,e);let i={itemSources:new Map,itemSourcesByItem:new Map,firstIncludedFrom:new Map},o=!!n.include?.length;if(!o){let l=Zi(e);return n.items.forEach((u,d)=>{Yi(u,e,l);let p={registryFile:e,registryDir:l,itemIndex:d};i.itemSources.set(u.name,p),i.itemSourcesByItem.set(u,p);}),Vi(n.items,i.itemSourcesByItem),{registry:n,itemSources:i.itemSources,itemSourcesByItem:i.itemSourcesByItem,usesInclude:o}}if(S__default.posix.basename(e)!=="registry.json")throw new $(`Invalid source registry file at ${e}: registries that use include must be named registry.json.`,{registryFile:e});let a=await Ki(e,n,t,i,[]);Vi(a.items,i.itemSourcesByItem);let{include:c,...f}=a;return Gi(f,e),{registry:f,itemSources:i.itemSources,itemSourcesByItem:i.itemSourcesByItem,usesInclude:o}}async function Wu(e,t,r){let s={...zi(e,t.itemSourcesByItem),$schema:"https://ui.shadcn.com/schema/registry-item.json"};return await Promise.all((e.files??[]).map(async(n,i)=>{let o=s.files?.[i];if(!o)return;let a=t.itemSourcesByItem.get(e),c=Ui(e,n.path,t.itemSourcesByItem);o.content=await Uu(e.name,n.path,c,a,r);})),n.parse(s)}function zu(e){return {...e.registry,items:e.registry.items.map(t=>Ku(zi(t,e.itemSourcesByItem)))}}async function Uu(e,t,r,s,n){try{return await n.readText(r)}catch(i){let o=i instanceof D&&i.context?.reason==="github-source-file";throw new D(r,i,{message:`Failed to read file "${t}" for registry item "${e}" (${Et(s)}). Expected file at ${r}.`,context:{registryFile:s?.registryFile,itemIndex:s?.itemIndex,itemName:e,itemFilePath:t,sourcePath:r},suggestion:o&&i.suggestion?i.suggestion:"Make sure the file path is relative to the registry.json file that declares the item."})}}function zi(e,t){return {...e,files:e.files?.map(r=>({...r,path:Bu(e,r.path,t)}))}}function Ku(e){return {...e,files:e.files?.map(({content:t,...r})=>r)}}function Ui(e,t,r){let s=r.get(e);return Br(s?.registryDir??".",t)}function Bu(e,t,r){let s=Ui(e,t,r);return Ju(".",s)}async function Ki(e,t,r,s,n){if(Ji(e),n.length>=32)throw new $(`Registry include tree is too deep at ${e}. The maximum include depth is 32.`,{registryFile:e,context:{maxDepth:32},suggestion:"Flatten part of the registry include tree or reduce nested include depth."});if(n.includes(e))throw new $(Yu([...n,e]),{registryFile:e});let i=n.at(-1)??e,o=s.firstIncludedFrom.get(e);if(o)throw new $(`Registry file included more than once: ${e}.
36
+ - first included from ${o}
37
+ - included again from ${i}
38
+ 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:o,secondSource:i}});s.firstIncludedFrom.set(e,i);let a=[...n,e],c=Zi(e),f=[];for(let l of t.include??[]){let u=qu(l,c,e),d=await Bi(u,r),p=qi(d,u),h=await Ki(u,p,r,s,a);f.push(...h.items);}return t.items?.forEach((l,u)=>{Yi(l,e,c),s.itemSources.set(l.name,{registryFile:e,registryDir:c,itemIndex:u}),s.itemSourcesByItem.set(l,{registryFile:e,registryDir:c,itemIndex:u});}),{...t,items:[...f,...t.items??[]]}}async function Bi(e,t,r={}){try{return await t.readText(e)}catch(s){throw s instanceof D&&(s.context?.reason==="github-ref-resolution"||s.context?.reason==="github-source-file")?s:new D(e,s,{message:`Failed to read source registry file at ${Zu(e,r.source)}.`,context:{registryFile:e,source:r.source},suggestion:e==="registry.json"?"Check that the repository has a registry.json file at its root.":"Check that the included registry.json file exists and that the include path is correct."})}}function qi(e,t){let r;try{r=JSON.parse(e);}catch(n){throw new W(t,n,{subject:"registry file",context:{registryFile:t},suggestion:"Fix the JSON syntax in the registry.json file and try again."})}let s=p.safeParse(r);if(!s.success)throw new $(`Invalid registry file at ${t}:
39
+ ${Xu(s.error)}`,{registryFile:t,cause:s.error,suggestion:"Update the registry.json file so it matches the registry schema."});return s.data}function Gi(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 qu(e,t,r){if(L(e))throw new $(`Invalid include "${e}" in ${r}: remote includes are not supported by shadcn build. Use a relative path to a registry.json file in the same repository.`,{registryFile:r,context:{includePath:e}});if(S__default.posix.isAbsolute(e))throw new $(`Invalid include "${e}" in ${r}: include paths must be relative. Use a path like "./registry/ui/registry.json".`,{registryFile:r,context:{includePath:e}});if(eo(e))throw new $(`Invalid include "${e}" in ${r}: include paths cannot use parent-directory traversal. Keep included registry.json files inside the registry root.`,{registryFile:r,context:{includePath:e}});if(S__default.posix.basename(e)!=="registry.json")throw new $(`Invalid include "${e}" in ${r}: include paths must explicitly reference a registry.json file. Use a path like "./registry/ui/registry.json".`,{registryFile:r,context:{includePath:e}});let s=Br(t,e);return Ji(s),s}function Ji(e){if(!Qi(e))throw new $(`Invalid registry file at ${e}: registry includes must stay inside the source registry root.`,{registryFile:e})}function Yi(e,t,r){for(let s of e.files??[]){if(L(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(S__default.posix.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(eo(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 n=Br(r,s.path);if(!Qi(n,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 Vi(e,t){let r=new Map;for(let s of e){let n=r.get(s.name);if(!n){r.set(s.name,s);continue}let i=t.get(n),o=t.get(s);throw new $(`Duplicate registry item name "${s.name}". Registry item names must be unique.
40
+ - ${Et(i)}
41
+ - ${Et(o)}
42
+ Rename one of these items so each name is unique across the resolved registry.`,{context:{itemName:s.name,firstSource:Et(i),secondSource:Et(o)}})}}function Zi(e){let t=S__default.posix.dirname(e);return t==="."?".":t}function Br(...e){let t=S__default.posix.normalize(S__default.posix.join(...e));return t==="."?"":t}function Xi(e){let t=S__default.posix.normalize(e);return t.startsWith("./")?t.slice(2):t}function Ju(e,t){return S__default.posix.relative(e,t)||S__default.posix.basename(t)}function Qi(e,t="."){let r=S__default.posix.relative(t,e);return !!r&&!r.startsWith("..")&&!S__default.posix.isAbsolute(r)}function eo(e){return e.split(/[\\/]+/).includes("..")}function Yu(e){return `Registry include cycle detected:
43
+ ${e.map(t=>` - ${t}`).join(`
44
+ `)}`}function Et(e){return e?`${e.registryFile} items[${e.itemIndex}]`:"unknown source"}function Zu(e,t){return t?`${t}/${e}`:e}function Xu(e){return e.errors.map(t=>` - ${t.path.length?t.path.join("."):"(root)"}: ${t.message}`).join(`
45
+ `)}var Qu="https://raw.githubusercontent.com",ef=8;async function so(e,t={}){t={...t,sourceCache:t.sourceCache??new Map};let r=qr(e,t);return Ur(e.item,r,{source:z(e)})}async function no(e,t={}){t={...t,sourceCache:t.sourceCache??new Map};let r=qr(e,t);return Kr(r,{source:z(e)})}async function Rx(e,t={}){let r=z(e),s=`${r}/registry.json`,n=new Set,i=t.sourceCache??new Map,o={...t,sourceCache:i},a=qr(e,o),c={async readText(f){return f.endsWith("registry.json")&&n.add(`${r}/${f}`),a.readText(f)}};try{let f=await Kr(c,{source:r}),u=(await sf(f.items,ef,async(d,p)=>{try{return await Ur(d.name,c,{source:r}),null}catch(h){return ro(h,{defaultRegistryFile:s,itemName:d.name,itemIndex:p,sourceLabel:r})}})).filter(d=>d!==null);return {valid:u.length===0,cwd:r,registryFiles:n.size,registryFilePaths:Array.from(n),items:f.items.length,diagnostics:u}}catch(f){return {valid:false,cwd:r,registryFiles:n.size||1,registryFilePaths:n.size?Array.from(n):[s],items:0,diagnostics:[ro(f,{defaultRegistryFile:s,sourceLabel:r})]}}}function qr(e,t){let r=t.sourceCache??new Map,s=hr(r,e),n=Li(e,{cache:r,authAnchor:r}),i=(a,c)=>{if(t.useCache!==false&&r.has(a))return r.get(a);let f=c();return t.useCache!==false&&(r.set(a,f),f.catch(()=>{r.get(a)===f&&r.delete(a);})),f},o=(a,c,f)=>{let l=`${f}:${e.owner}/${e.repo}/${a}/${c}`;return f==="token"?i(l,async()=>{let u=Rt();if(!u)throw new A("unauthenticated");return Ai(e,a,c,u)}):i(l,()=>ji(e,a,c))};return {async readText(a){let c=await n,f=a==="registry.json";if(!s.anonymousLock&&s.decision){let u=await s.decision;try{return await o(c,a,u)}catch(d){throw to(d,e,a,u,s)}}let l=rf(e,c,a);try{let u=await i(`anonymous:${l}`,()=>tf(l,a,e));return f&&(s.anonymousLock=!0),u}catch(u){let d=u instanceof D?u.context?.statusCode:void 0;if(!f||d!==404||s.anonymousLock)throw u;let p;try{p=await mr(s,e,u);}catch{throw u}try{return await o(c,a,p)}catch(h){throw to(h,e,a,p,s)}}}}}function to(e,t,r,s,n){if(!(e instanceof A))return e instanceof Error?e:new D(r,void 0,{message:`Failed to read GitHub source file "${r}" from ${z(t)}.`,context:{reason:"github-source-file",source:z(t),filePath:r}});let i=St(e,s);return e.kind==="http"&&e.statusCode===404?r==="registry.json"&&n.originalError instanceof Error?n.originalError:new D(r,void 0,{message:`Failed to read GitHub source file "${r}" from ${z(t)}.`,context:{reason:"github-source-file",statusCode:404,source:z(t),filePath:r},suggestion:"Check that the file path exists in the GitHub repository."}):(e.kind==="enoent"||e.kind==="unauthenticated")&&r==="registry.json"&&n.originalError instanceof Error?new D(r,void 0,{message:n.originalError.message,context:{reason:"github-source-file",source:z(t),filePath:r},suggestion:i.suggestion}):new D(r,void 0,{message:`Failed to read GitHub source file "${r}" from ${z(t)}. ${i.detail}`,context:{reason:"github-source-file",...e.statusCode?{statusCode:e.statusCode}:{},source:z(t),filePath:r},suggestion:i.suggestion})}async function tf(e,t,r){let s;try{s=await Ye(e,{headers:new Headers({"Accept-Encoding":"identity","User-Agent":"shadcn"})});}catch(n){throw new D(t,n,{message:`Failed to read GitHub source file "${t}" from ${z(r)}.`,context:{reason:"github-source-file",url:e,source:z(r),filePath:t},suggestion:"GitHub ref resolution succeeded, but the CLI could not fetch from raw.githubusercontent.com. Check that raw.githubusercontent.com is accessible from this network."})}if(!s.ok)throw new D(t,void 0,{message:`Failed to read GitHub source file "${t}" from ${z(r)}.`,context:{reason:"github-source-file",url:e,statusCode:s.status,source:z(r),filePath:t},suggestion:t==="registry.json"?'The GitHub repository and ref were resolved, but raw.githubusercontent.com did not return a root registry.json file. Check that the public repository has registry.json at its root and that raw.githubusercontent.com is accessible from this network. If this is a private repository, run "gh auth login" or set GH_TOKEN to a token with read access.':"Check that the file path exists in the public GitHub repository."});try{return await zr(s)}catch(n){if(n instanceof A&&n.kind==="oversize"){let i=St(n,"token");throw new D(t,void 0,{message:`Failed to read GitHub source file "${t}" from ${z(r)}. ${i.detail}`,context:{reason:"github-source-file",source:z(r),filePath:t},suggestion:i.suggestion})}throw n}}function rf(e,t,r){let s=r.split("/").map(n=>encodeURIComponent(n)).join("/");return `${Qu}/${e.owner}/${e.repo}/${t}/${s}`}async function sf(e,t,r){let s=new Array(e.length),n=0,i=Math.min(t,e.length),o=Array.from({length:i},async()=>{for(;n<e.length;){let a=n++;s[a]=await r(e[a],a);}});return await Promise.all(o),s}function z(e){return `${e.owner}/${e.repo}#${e.ref??"HEAD"}`}function ro(e,t){return e instanceof F?{registryFile:typeof e.context?.registryFile=="string"?`${t.sourceLabel}/${e.context.registryFile}`:t.defaultRegistryFile,itemName:t.itemName,itemIndex:typeof e.context?.itemIndex=="number"?e.context.itemIndex:t.itemIndex,filePath:typeof e.context?.itemFilePath=="string"?e.context.itemFilePath:typeof e.context?.filePath=="string"?e.context.filePath:void 0,includePath:typeof e.context?.includePath=="string"?e.context.includePath:void 0,message:e.message,suggestion:e.suggestion}:{registryFile:t.defaultRegistryFile,itemName:t.itemName,itemIndex:t.itemIndex,message:e instanceof Error?e.message:"Unknown error."}}async function Yr(e,t,r){if(!e||(r={silent:false,tailwindVersion:"v3",...r},r.tailwindVersion==="v4"))return;let s=S__default.relative(t.resolvedPaths.cwd,t.resolvedPaths.tailwindConfig),n=j(`Updating ${P.info(s)}`,{silent:r.silent}).start(),i=await promises.readFile(t.resolvedPaths.tailwindConfig,"utf8"),o=await uf(i,e,t);await promises.writeFile(t.resolvedPaths.tailwindConfig,o,"utf8"),n?.succeed();}async function uf(e,t,r){let s=await oo(e,r),n=s.getDescendantsOfKind(SyntaxKind.ObjectLiteralExpression).find(o=>o.getProperties().some(a=>a.isKind(SyntaxKind.PropertyAssignment)&&a.getName()==="content"));if(!n)return e;let i=hf(n);return ff(n,{name:"darkMode",value:"class"},{quoteChar:i}),t.plugins?.forEach(o=>{df(n,o);}),t.theme&&await pf(n,t.theme),s.getFullText()}function ff(e,t,{quoteChar:r}){let s=e.getProperty("darkMode");if(!s){let n={name:t.name,initializer:`[${r}${t.value}${r}]`};return t.name==="darkMode"?(e.insertPropertyAssignment(0,n),e):(e.addPropertyAssignment(n),e)}if(s.isKind(SyntaxKind.PropertyAssignment)){let n=s.getInitializer(),i=`${r}${t.value}${r}`;if(n?.isKind(SyntaxKind.StringLiteral)){let o=n.getText();return n.replaceWithText(`[${o}, ${i}]`),e}if(n?.isKind(SyntaxKind.ArrayLiteralExpression)){if(n.getElements().map(o=>o.getText()).includes(i))return e;n.addElement(i);}return e}return e}async function pf(e,t){e.getProperty("theme")||e.addPropertyAssignment({name:"theme",initializer:"{}"}),Zr(e);let s=(e.getPropertyOrThrow("theme")?.asKindOrThrow(SyntaxKind.PropertyAssignment)).getInitializer();if(s?.isKind(SyntaxKind.ObjectLiteralExpression)){let n=s.getText(),i=await mf(n),o=Xe(i,t,{arrayMerge:(c,f)=>f}),a=af(o).replace(/\'\.\.\.(.*)\'/g,"...$1").replace(/\'\"/g,"'").replace(/\"\'/g,"'").replace(/\'\[/g,"[").replace(/\]\'/g,"]").replace(/\'\\\'/g,"'").replace(/\\\'/g,"'").replace(/\\\'\'/g,"'").replace(/\'\'/g,"'");s.replaceWithText(a);}Xr(e);}function df(e,t){let r=e.getProperty("plugins");if(!r)return e.addPropertyAssignment({name:"plugins",initializer:`[${t}]`}),e;if(r.isKind(SyntaxKind.PropertyAssignment)){let s=r.getInitializer();if(s?.isKind(SyntaxKind.ArrayLiteralExpression)){if(s.getElements().map(n=>n.getText().replace(/["']/g,"")).includes(t.replace(/["']/g,"")))return e;s.addElement(t);}return e}return e}async function oo(e,t){let r=await promises.mkdtemp(S__default.join(tmpdir(),"shadcn-")),s=t?.resolvedPaths?.tailwindConfig||"tailwind.config.ts",n=S__default.join(r,`shadcn-${S__default.basename(s)}`);return new Project({compilerOptions:{}}).createSourceFile(n,e,{scriptKind:S__default.extname(s)===".ts"?ScriptKind.TS:ScriptKind.JS})}function hf(e){return e.getFirstDescendantByKind(SyntaxKind.StringLiteral)?.getQuoteKind()===QuoteKind.Single?"'":'"'}function Zr(e){let t=e.getProperties();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.SpreadAssignment)){let n=s.asKindOrThrow(SyntaxKind.SpreadAssignment),i=n.getExpression().getText();e.insertPropertyAssignment(r,{name:`"___${i.replace(/^\.\.\./,"")}"`,initializer:`"...${i.replace(/^\.\.\./,"")}"`}),n.remove();}else if(s.isKind(SyntaxKind.PropertyAssignment)){let i=s.asKindOrThrow(SyntaxKind.PropertyAssignment).getInitializer();i&&i.isKind(SyntaxKind.ObjectLiteralExpression)?Zr(i.asKindOrThrow(SyntaxKind.ObjectLiteralExpression)):i&&i.isKind(SyntaxKind.ArrayLiteralExpression)&&ao(i.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));}}}function ao(e){let t=e.getElements();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.ObjectLiteralExpression))Zr(s.asKindOrThrow(SyntaxKind.ObjectLiteralExpression));else if(s.isKind(SyntaxKind.ArrayLiteralExpression))ao(s.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));else if(s.isKind(SyntaxKind.SpreadElement)){let n=s.getText();e.removeElement(r),e.insertElement(r,`"${n}"`);}}}function Xr(e){let t=e.getProperties();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.PropertyAssignment)){let n=s,i=n.getInitializer();if(i&&i.isKind(SyntaxKind.StringLiteral)){let o=i.asKindOrThrow(SyntaxKind.StringLiteral).getLiteralValue();o.startsWith("...")&&(e.insertSpreadAssignment(r,{expression:o.slice(3)}),n.remove());}else i?.isKind(SyntaxKind.ObjectLiteralExpression)?Xr(i):i&&i.isKind(SyntaxKind.ArrayLiteralExpression)&&co(i.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));}}}function co(e){let t=e.getElements();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.ObjectLiteralExpression))Xr(s.asKindOrThrow(SyntaxKind.ObjectLiteralExpression));else if(s.isKind(SyntaxKind.ArrayLiteralExpression))co(s.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));else if(s.isKind(SyntaxKind.StringLiteral)){let n=s.getText(),i=/(?:^['"])(\.\.\..*)(?:['"]$)/g;i.test(n)&&(e.removeElement(r),e.insertElement(r,n.replace(i,"$1")));}}}async function mf(e){let r=(await oo(`const theme = ${e}`,null)).getStatements()[0];if(r?.getKind()===SyntaxKind.VariableStatement){let n=(r.getDeclarationList()?.getDeclarations()[0]).getInitializer();if(n?.isKind(SyntaxKind.ObjectLiteralExpression))return await yr(n)}throw new Error("Invalid input: not an object literal")}function yr(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]=yr(r.getInitializer()):r.getInitializer()?.isKind(SyntaxKind.ArrayLiteralExpression)?t[s]=lo(r.getInitializer()):t[s]=Qr(r.getInitializer());}return t}function lo(e){let t=[];for(let r of e.getElements())r.isKind(SyntaxKind.ObjectLiteralExpression)?t.push(yr(r.asKindOrThrow(SyntaxKind.ObjectLiteralExpression))):r.isKind(SyntaxKind.ArrayLiteralExpression)?t.push(lo(r.asKindOrThrow(SyntaxKind.ArrayLiteralExpression))):t.push(Qr(r));return t}function Qr(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(Qr);case SyntaxKind.ObjectLiteralExpression:return yr(e);default:return e.getText()}}function uo(e){let t={};for(let r of Object.keys(e)){let s=r.split("-"),n=s[0],i=s.slice(1).join("-");i===""?typeof t[n]=="object"?t[n].DEFAULT=`hsl(var(--${r}))`:t[n]=`hsl(var(--${r}))`:(typeof t[n]!="object"&&(t[n]={DEFAULT:`hsl(var(--${n}))`}),t[n][i]=`hsl(var(--${r}))`);}for(let[r,s]of Object.entries(t))typeof s=="object"&&s.DEFAULT===`hsl(var(--${r}))`&&!(r in e)&&delete s.DEFAULT;return t}function Qe(e,t){let r={},s=[...e];if(!t?.registries)return yt({}),s;for(let n=0;n<s.length;n++){if(ur(s[n]))continue;let i=Je(s[n],t);i&&(s[n]=i.url,Object.keys(i.headers).length>0&&(r[i.url]=i.headers));}return yt(r),s}async function Ee(e,t,r={}){return r={...r,sourceCache:r.sourceCache??new Map},await Promise.all(e.map(async n$1=>{let i=mt(n$1);if(i.scheme==="github")return so(i,r);if(Re(n$1))return Ii(n$1);if(L(n$1)){let[c]=await K([n$1],r);try{return n.parse(c)}catch(f){throw new W(n$1,f)}}if(n$1.startsWith("@")&&t?.registries){let c=Qe([n$1],t),[f]=await K(c,r);try{return n.parse(f)}catch(l){throw new W(n$1,l)}}let o=`styles/${t?.style??"new-york-v4"}/${n$1}.json`,[a]=await K([o],r);try{return n.parse(a)}catch(c){throw new W(n$1,c)}}))}m.extend({type:f,_source:z$1.string().optional(),font:l.optional(),config:z$1.any().optional()}).passthrough();async function tt(e,t,r={}){r={useCache:true,...r,sourceCache:r.sourceCache??new Map};let s=[],n$1=[],i=[],o=Array.from(new Set(e)),a=await Ee(o,t,r),c=new Map;for(let y=0;y<a.length;y++)a[y]&&c.set(o[y],a[y]);for(let[y,w]of Array.from(c.entries())){let b={...w,_source:y};if(s.push(b),w.registryDependencies){let v=w.registryDependencies;if(t?.registries)v=Qe(w.registryDependencies,t);else {let k=w.registryDependencies.filter(T=>T.startsWith("@"));if(k.length>0){let{registry:T}=ye(k[0]);throw new ge(T)}}let{items:R,registryNames:I}=await et(v,t,r,new Set(o));n$1.push(...R),i.push(...I);}}if(s.push(...n$1),i.length>0){let y=Array.from(new Set(i)),w=y.filter(v=>!v.startsWith("@")),b=y.filter(v=>v.startsWith("@"));if(b.length>0){let v=await Ee(b,t,r);for(let R=0;R<v.length;R++){let k={...v[R],_source:b[R]};s.push(k);}}if(w.length>0){let v=await qt();if(!v&&s.length===0)return null;if(v){w.includes("index")&&w.unshift("index");let R=[];for(let H of w){let ee=await yf(H,t,r);R.push(...ee);}let I=Array.from(new Set(R)),k=await K(I,r),T=z$1.array(n).parse(k);s.push(...T);}}}if(!s.length)return null;if(r.requireUniversal&&!s.every(y=>ui(y)))throw new Error("A full project config is required to add non-universal registry items or dependencies.");if((o.includes("index")||i.includes("index"))&&t.tailwind.baseColor){let y=await wf(t.tailwind.baseColor,t);y&&s.unshift(y);}let f=new Map;s.forEach(y=>{let w=y._source||y.name;f.set(y,w);}),s=bf(s,f),s.sort((y,w)=>y.type==="registry:theme"&&w.type!=="registry:theme"?-1:y.type!=="registry:theme"&&w.type==="registry:theme"?1:0);let l={};s.forEach(y=>{l=Xe(l,y.tailwind??{});});let u={};s.forEach(y=>{u=Xe(u,y.cssVars??{});});let d={};s.forEach(y=>{d=Xe(d,y.css??{});});let p="";s.forEach(y=>{y.docs&&(p+=`${y.docs}
46
+ `);});let h={};s.forEach(y=>{h=Xe(h,y.envVars??{});});let m=await fi(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=v.parse({dependencies:Xe.all(s.map(y=>y.dependencies??[])),devDependencies:Xe.all(s.map(y=>y.devDependencies??[])),files:m,tailwind:l,cssVars:u,css:d,docs:p,fonts:g.length>0?g:void 0});return Object.keys(h).length>0&&(x.envVars=h),x}async function et(e,t,r={},s=new Set){let n=[],i=[];for(let o of e){if(s.has(o))continue;if(s.add(o),mt(o).scheme==="github"){let[c]=await Ee([o],t,r);if(c&&(n.push({...c,_source:o}),c.registryDependencies)){let f=t?.registries?Qe(c.registryDependencies,t):c.registryDependencies,l=await et(f,t,r,s);n.push(...l.items),i.push(...l.registryNames);}}else if(L(o)||Re(o)){let[c]=await Ee([o],t,r);if(c&&(n.push({...c,_source:o}),c.registryDependencies)){let f=t?.registries?Qe(c.registryDependencies,t):c.registryDependencies,l=await et(f,t,r,s);n.push(...l.items),i.push(...l.registryNames);}}else if(o.startsWith("@")&&t?.registries){let{registry:c}=ye(o);if(c&&!(c in t.registries))throw new ge(c);let[f]=await Ee([o],t,r);if(f&&(n.push(f),f.registryDependencies)){let l=t?.registries?Qe(f.registryDependencies,t):f.registryDependencies,u=await et(l,t,r,s);n.push(...u.items),i.push(...u.registryNames);}}else if(i.push(o),t)try{let[c]=await Ee([o],t,r);if(c&&c.registryDependencies){let f=t?.registries?Qe(c.registryDependencies,t):c.registryDependencies,l=await et(f,t,r,s);n.push(...l.items),i.push(...l.registryNames);}}catch{}}return {items:n,registryNames:i}}async function yf(e,t,r={}){if(L(e))return [e];let{registryNames:s}=await et([e],t,r,new Set),n=t.resolvedPaths?.cwd?await Vn(t.resolvedPaths.cwd,t.style):t.style,i=s.map(o=>pr(L(o)?o:`styles/${n}/${o}.json`));return Array.from(new Set(i))}async function wf(e,t){let[r,s]=await Promise.all([lr(e),Fe(t)]);if(!r)return null;let n={name:e,type:"registry:theme",tailwind:{config:{theme:{extend:{borderRadius:{lg:"var(--radius)",md:"calc(var(--radius) - 2px)",sm:"calc(var(--radius) - 4px)"},colors:{}}}}},cssVars:{theme:{},light:{radius:"0.5rem"},dark:{}}};return t.tailwind.cssVariables&&(n.tailwind.config.theme.extend.colors={...n.tailwind.config.theme.extend.colors,...uo(r.cssVars.dark??{})},n.cssVars={theme:{...r.cssVars.theme,...n.cssVars.theme},light:{...r.cssVars.light,...n.cssVars.light},dark:{...r.cssVars.dark,...n.cssVars.dark}},s==="v4"&&r.cssVarsV4&&(n.cssVars={theme:{...r.cssVarsV4.theme,...n.cssVars.theme},light:{radius:"0.625rem",...r.cssVarsV4.light},dark:{...r.cssVarsV4.dark}})),n}function he(e,t){let r=t||e.name,s=createHash("sha256").update(r).digest("hex").substring(0,8);return `${e.name}::${s}`}function xf(e){let t=mt(e);if(t.scheme==="github")return {name:t.item,hash:he({name:t.item},e)};if(L(e)){let n=new URL(e).pathname,i=n.match(/\/([^/]+)\.json$/),o=i?i[1]:S__default.basename(n,".json");return {name:o,hash:he({name:o},e)}}if(Re(e)){let s=e.match(/\/([^/]+)\.json$/),n=s?s[1]:S__default.basename(e,".json");return {name:n,hash:he({name:n},e)}}let{item:r}=ye(e);return {name:r,hash:he({name:r},e)}}function bf(e,t){let r=new Map,s=new Map,n=new Map,i=new Map;e.forEach(f=>{let l=t.get(f)||f.name,u=he(f,l);r.set(u,f),s.set(u,f),n.set(u,0),i.set(u,[]);});let o=new Map;e.forEach(f=>{let l=t.get(f)||f.name,u=he(f,l);o.has(f.name)||o.set(f.name,[]),o.get(f.name).push(u),l!==f.name&&(o.has(l)||o.set(l,[]),o.get(l).push(u));}),e.forEach(f=>{let l=t.get(f)||f.name,u=he(f,l);f.registryDependencies&&f.registryDependencies.forEach(d=>{let p,h=o.get(d)||[];if(h.length===1)p=h[0];else if(h.length>1)p=h[0];else {let{name:m}=xf(d),g=o.get(m)||[];g.length>0&&(p=g[0]);}p&&r.has(p)&&(i.get(p).push(u),n.set(u,n.get(u)+1));});});let a=[],c=[];for(n.forEach((f,l)=>{f===0&&a.push(l);});a.length>0;){let f=a.shift(),l=r.get(f);c.push(l),i.get(f).forEach(u=>{let d=n.get(u)-1;n.set(u,d),d===0&&a.push(u);});}if(c.length!==e.length){let f=new Set(c.map(l=>{let u=t.get(l)||l.name;return he(l,u)}));e.forEach(l=>{let u=t.get(l)||l.name,d=he(l,u);f.has(d)||c.push(l);});}return c}var ts=["npm","yarn","yarn@berry","pnpm","pnpm@6","bun","deno"],rs={"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"},ss={"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"},po={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 ns(e,t){try{let r=await mo__default.stat(e);return t==="file"?r.isFile():r.isDirectory()}catch{return false}}function*Rf(e=ae.cwd()){let t=S__default.resolve(e),{root:r}=S__default.parse(t);for(;t&&t!==r;)yield t,t=S__default.dirname(t);}async function ho(e,t){return !e||!ns(e,"file")?null:await Ef(e,t)}async function is(e={}){let{cwd:t,strategies:r=["lockfile","packageManager-field","devEngines-field"],onUnknown:s}=e,n;if(typeof e.stopDir=="string"){let i=S__default.resolve(e.stopDir);n=o=>o===i;}else n=e.stopDir;for(let i of Rf(t)){for(let o of r)switch(o){case "lockfile":{for(let a of Object.keys(rs))if(await ns(S__default.join(i,a),"file")){let c=rs[a],f=await ho(S__default.join(i,"package.json"),s);return f||{name:c,agent:c}}break}case "packageManager-field":case "devEngines-field":{let a=await ho(S__default.join(i,"package.json"),s);if(a)return a;break}case "install-metadata":{for(let a of Object.keys(ss)){let c=a.endsWith("/")?"dir":"file";if(await ns(S__default.join(i,a),c)){let f=ss[a],l=f==="yarn"?If(a)?"yarn":"yarn@berry":f;return {name:f,agent:l}}}break}}if(n?.(i))break}return null}function Sf(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 Ef(e,t){try{let r=JSON.parse(await mo__default.readFile(e,"utf8")),s,n=Sf(r);if(n){let i=n.name,o=n.ver,a=o;return i==="yarn"&&o&&Number.parseInt(o)>1?(s="yarn@berry",a="berry",{name:i,agent:s,version:a}):i==="pnpm"&&o&&Number.parseInt(o)<7?(s="pnpm@6",{name:i,agent:s,version:a}):ts.includes(i)?(s=i,{name:i,agent:s,version:a}):t?.(r.packageManager)??null}}catch{}return null}function If(e){return e.endsWith(".yarn_integrity")}var rt=createRequire(import.meta.url),kf=Object.create,xo=Object.defineProperty,Tf=Object.getOwnPropertyDescriptor,$f=Object.getOwnPropertyNames,Pf=Object.getPrototypeOf,Af=Object.prototype.hasOwnProperty,Ce=(e=>typeof rt<"u"?rt:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof rt<"u"?rt:t)[r]}):e)(function(e){if(typeof rt<"u")return rt.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),Z=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Of=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of $f(t))!Af.call(e,n)&&n!==r&&xo(e,n,{get:()=>t[n],enumerable:!(s=Tf(t,n))||s.enumerable});return e},jf=(e,t,r)=>(r=e!=null?kf(Pf(e)):{},Of(xo(r,"default",{value:e,enumerable:true}),e)),_f=Z((e,t)=>{t.exports=i,i.sync=o;var r=Ce("fs");function s(a,c){var f=c.pathExt!==void 0?c.pathExt:process.env.PATHEXT;if(!f||(f=f.split(";"),f.indexOf("")!==-1))return true;for(var l=0;l<f.length;l++){var u=f[l].toLowerCase();if(u&&a.substr(-u.length).toLowerCase()===u)return true}return false}function n(a,c,f){return !a.isSymbolicLink()&&!a.isFile()?false:s(c,f)}function i(a,c,f){r.stat(a,function(l,u){f(l,l?false:n(u,a,c));});}function o(a,c){return n(r.statSync(a),a,c)}}),Nf=Z((e,t)=>{t.exports=s,s.sync=n;var r=Ce("fs");function s(a,c,f){r.stat(a,function(l,u){f(l,l?false:i(u,c));});}function n(a,c){return i(r.statSync(a),c)}function i(a,c){return a.isFile()&&o(a,c)}function o(a,c){var f=a.mode,l=a.uid,u=a.gid,d=c.uid!==void 0?c.uid:process.getuid&&process.getuid(),p=c.gid!==void 0?c.gid:process.getgid&&process.getgid(),h=parseInt("100",8),m=parseInt("010",8),g=parseInt("001",8),x=h|m,y=f&g||f&m&&u===p||f&h&&l===d||f&x&&d===0;return y}}),Ff=Z((e,t)=>{Ce("fs");var s;process.platform==="win32"||global.TESTING_WINDOWS?s=_f():s=Nf(),t.exports=n,n.sync=i;function n(o,a,c){if(typeof a=="function"&&(c=a,a={}),!c){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(f,l){n(o,a||{},function(u,d){u?l(u):f(d);});})}s(o,a||{},function(f,l){f&&(f.code==="EACCES"||a&&a.ignoreErrors)&&(f=null,l=false),c(f,l);});}function i(o,a){try{return s.sync(o,a||{})}catch(c){if(a&&a.ignoreErrors||c.code==="EACCES")return false;throw c}}}),Mf=Z((e,t)=>{var r=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",s=Ce("path"),n=r?";":":",i=Ff(),o=l=>Object.assign(new Error(`not found: ${l}`),{code:"ENOENT"}),a=(l,u)=>{let d=u.colon||n,p=l.match(/\//)||r&&l.match(/\\/)?[""]:[...r?[process.cwd()]:[],...(u.path||process.env.PATH||"").split(d)],h=r?u.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",m=r?h.split(d):[""];return r&&l.indexOf(".")!==-1&&m[0]!==""&&m.unshift(""),{pathEnv:p,pathExt:m,pathExtExe:h}},c=(l,u,d)=>{typeof u=="function"&&(d=u,u={}),u||(u={});let{pathEnv:p,pathExt:h,pathExtExe:m}=a(l,u),g=[],x=w=>new Promise((b,v)=>{if(w===p.length)return u.all&&g.length?b(g):v(o(l));let R=p[w],I=/^".*"$/.test(R)?R.slice(1,-1):R,k=s.join(I,l),T=!I&&/^\.[\\\/]/.test(l)?l.slice(0,2)+k:k;b(y(T,w,0));}),y=(w,b,v)=>new Promise((R,I)=>{if(v===h.length)return R(x(b+1));let k=h[v];i(w+k,{pathExt:m},(T,H)=>{if(!T&&H)if(u.all)g.push(w+k);else return R(w+k);return R(y(w,b,v+1))});});return d?x(0).then(w=>d(null,w),d):x(0)},f=(l,u)=>{u=u||{};let{pathEnv:d,pathExt:p,pathExtExe:h}=a(l,u),m=[];for(let g=0;g<d.length;g++){let x=d[g],y=/^".*"$/.test(x)?x.slice(1,-1):x,w=s.join(y,l),b=!y&&/^\.[\\\/]/.test(l)?l.slice(0,2)+w:w;for(let v=0;v<p.length;v++){let R=b+p[v];try{if(i.sync(R,{pathExt:h}))if(u.all)m.push(R);else return R}catch{}}}if(u.all&&m.length)return m;if(u.nothrow)return null;throw o(l)};t.exports=c,c.sync=f;}),Df=Z((e,t)=>{var r=(s={})=>{let n=s.env||process.env;return (s.platform||process.platform)!=="win32"?"PATH":Object.keys(n).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};t.exports=r,t.exports.default=r;}),Lf=Z((e,t)=>{var r=Ce("path"),s=Mf(),n=Df();function i(a,c){let f=a.options.env||process.env,l=process.cwd(),u=a.options.cwd!=null,d=u&&process.chdir!==void 0&&!process.chdir.disabled;if(d)try{process.chdir(a.options.cwd);}catch{}let p;try{p=s.sync(a.command,{path:f[n({env:f})],pathExt:c?r.delimiter:void 0});}catch{}finally{d&&process.chdir(l);}return p&&(p=r.resolve(u?a.options.cwd:"",p)),p}function o(a){return i(a)||i(a,true)}t.exports=o;}),Hf=Z((e,t)=>{var r=/([()\][%!^"`<>&|;, *?])/g;function s(i){return i=i.replace(r,"^$1"),i}function n(i,o){return i=`${i}`,i=i.replace(/(\\*)"/g,'$1$1\\"'),i=i.replace(/(\\*)$/,"$1$1"),i=`"${i}"`,i=i.replace(r,"^$1"),o&&(i=i.replace(r,"^$1")),i}t.exports.command=s,t.exports.argument=n;}),Gf=Z((e,t)=>{t.exports=/^#!(.*)/;}),Vf=Z((e,t)=>{var r=Gf();t.exports=(s="")=>{let n=s.match(r);if(!n)return null;let[i,o]=n[0].replace(/#! ?/,"").split(" "),a=i.split("/").pop();return a==="env"?o:o?`${a} ${o}`:a};}),Wf=Z((e,t)=>{var r=Ce("fs"),s=Vf();function n(i){let o=Buffer.alloc(150),a;try{a=r.openSync(i,"r"),r.readSync(a,o,0,150,0),r.closeSync(a);}catch{}return s(o.toString())}t.exports=n;}),zf=Z((e,t)=>{var r=Ce("path"),s=Lf(),n=Hf(),i=Wf(),o=process.platform==="win32",a=/\.(?:com|exe)$/i,c=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function f(d){d.file=s(d);let p=d.file&&i(d.file);return p?(d.args.unshift(d.file),d.command=p,s(d)):d.file}function l(d){if(!o)return d;let p=f(d),h=!a.test(p);if(d.options.forceShell||h){let m=c.test(p);d.command=r.normalize(d.command),d.command=n.command(d.command),d.args=d.args.map(x=>n.argument(x,m));let g=[d.command].concat(d.args).join(" ");d.args=["/d","/s","/c",`"${g}"`],d.command=process.env.comspec||"cmd.exe",d.options.windowsVerbatimArguments=true;}return d}function u(d,p,h){p&&!Array.isArray(p)&&(h=p,p=null),p=p?p.slice(0):[],h=Object.assign({},h);let m={command:d,args:p,options:h,file:void 0,original:{command:d,args:p}};return h.shell?m:l(m)}t.exports=u;}),Uf=Z((e,t)=>{var r=process.platform==="win32";function s(a,c){return Object.assign(new Error(`${c} ${a.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${c} ${a.command}`,path:a.command,spawnargs:a.args})}function n(a,c){if(!r)return;let f=a.emit;a.emit=function(l,u){if(l==="exit"){let d=i(u,c);if(d)return f.call(a,"error",d)}return f.apply(a,arguments)};}function i(a,c){return r&&a===1&&!c.file?s(c.original,"spawn"):null}function o(a,c){return r&&a===1&&!c.file?s(c.original,"spawnSync"):null}t.exports={hookChildProcess:n,verifyENOENT:i,verifyENOENTSync:o,notFoundError:s};}),Kf=Z((e,t)=>{var r=Ce("child_process"),s=zf(),n=Uf();function i(a,c,f){let l=s(a,c,f),u=r.spawn(l.command,l.args,l.options);return n.hookChildProcess(u,l),u}function o(a,c,f){let l=s(a,c,f),u=r.spawnSync(l.command,l.args,l.options);return u.error=u.error||n.verifyENOENTSync(u.status,l),u}t.exports=i,t.exports.spawn=i,t.exports.sync=o,t.exports._parse=s,t.exports._enoent=n;}),Xf=/^path$/i,yo={key:"PATH",value:""};function Qf(e){for(let t in e){if(!Object.prototype.hasOwnProperty.call(e,t)||!Xf.test(t))continue;let r=e[t];return r?{key:t,value:r}:yo}return yo}function ep(e,t){let r=t.value.split(delimiter),s=e,n;do r.push(resolve(s,"node_modules",".bin")),n=s,s=dirname(s);while(s!==n);return {key:t.key,value:r.join(delimiter)}}function tp(e,t){let r={...process.env,...t},s=ep(e,Qf(r));return r[s.key]=s.value,r}var sp=e=>{let t=e.length,r=new PassThrough,s=()=>{--t===0&&r.emit("end");};for(let n of e)n.pipe(r,{end:false}),n.on("end",s);return r},np=jf(Kf()),wo=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;}},op={timeout:void 0,persist:false},ap={windowsHide:true};function cp(e,t){return {command:normalize(e),args:t??[]}}function lp(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 up=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={...op,...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 fp(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=sp(t),s=ip.createInterface({input:r});for await(let n of s)yield n.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 wo(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 n of this._streamOut)r+=n.toString();if(this._streamErr)for await(let n of this._streamErr)t+=n.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 wo(this,s);return s}then(e,t){return this._waitForOutput().then(e,t)}_streamOut;_streamErr;spawn(){let e=cwd(),t=this._options,r={...ap,...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=lp(s)),r.env=tp(e,r.env);let{command:n,args:i}=cp(this._command,this._args),o=(0, np._parse)(n,i,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:c}=t.stdin.process;c&&c.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();}},os=(e,t,r)=>{let s=new up(e,t,r);return s.spawn(),s},fp=os;function qs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var cs={},ls,vo;function se(){if(vo)return ls;vo=1;let e,t,r,s,n=true;typeof process<"u"&&({FORCE_COLOR:e,NODE_DISABLE_COLORS:t,NO_COLOR:r,TERM:s}=process.env||{},n=process.stdout&&process.stdout.isTTY);let i={enabled:!t&&r==null&&s!=="dumb"&&(e!=null&&e!=="0"||n),reset:c(0,0),bold:c(1,22),dim:c(2,22),italic:c(3,23),underline:c(4,24),inverse:c(7,27),hidden:c(8,28),strikethrough:c(9,29),black:c(30,39),red:c(31,39),green:c(32,39),yellow:c(33,39),blue:c(34,39),magenta:c(35,39),cyan:c(36,39),white:c(37,39),gray:c(90,39),grey:c(90,39),bgBlack:c(40,49),bgRed:c(41,49),bgGreen:c(42,49),bgYellow:c(43,49),bgBlue:c(44,49),bgMagenta:c(45,49),bgCyan:c(46,49),bgWhite:c(47,49)};function o(f,l){let u=0,d,p="",h="";for(;u<f.length;u++)d=f[u],p+=d.open,h+=d.close,~l.indexOf(d.close)&&(l=l.replace(d.rgx,d.close+d.open));return p+l+h}function a(f,l){let u={has:f,keys:l};return u.reset=i.reset.bind(u),u.bold=i.bold.bind(u),u.dim=i.dim.bind(u),u.italic=i.italic.bind(u),u.underline=i.underline.bind(u),u.inverse=i.inverse.bind(u),u.hidden=i.hidden.bind(u),u.strikethrough=i.strikethrough.bind(u),u.black=i.black.bind(u),u.red=i.red.bind(u),u.green=i.green.bind(u),u.yellow=i.yellow.bind(u),u.blue=i.blue.bind(u),u.magenta=i.magenta.bind(u),u.cyan=i.cyan.bind(u),u.white=i.white.bind(u),u.gray=i.gray.bind(u),u.grey=i.grey.bind(u),u.bgBlack=i.bgBlack.bind(u),u.bgRed=i.bgRed.bind(u),u.bgGreen=i.bgGreen.bind(u),u.bgYellow=i.bgYellow.bind(u),u.bgBlue=i.bgBlue.bind(u),u.bgMagenta=i.bgMagenta.bind(u),u.bgCyan=i.bgCyan.bind(u),u.bgWhite=i.bgWhite.bind(u),u}function c(f,l){let u={open:`\x1B[${f}m`,close:`\x1B[${l}m`,rgx:new RegExp(`\\x1b\\[${l}m`,"g")};return function(d){return this!==void 0&&this.has!==void 0?(~this.has.indexOf(f)||(this.has.push(f),this.keys.push(u)),d===void 0?this:i.enabled?o(this.keys,d+""):d+""):d===void 0?a([f],[u]):i.enabled?o([u],d+""):d+""}}return ls=i,ls}var us,Ro;function vp(){return Ro||(Ro=1,us=(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}}),us}var fs,So;function Js(){return So||(So=1,fs=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}),fs}var ps,Eo;function ne(){if(Eo)return ps;Eo=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 c="";return o<0?c+=`${t}${-o}D`:o>0&&(c+=`${t}${o}C`),a<0?c+=`${t}${-a}A`:a>0&&(c+=`${t}${a}B`),c},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`},n={up:(o=1)=>`${t}S`.repeat(o),down:(o=1)=>`${t}T`.repeat(o)},i={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 c=0;c<o;c++)a+=this.line+(c<o-1?s.up():"");return o&&(a+=s.left),a}};return ps={cursor:s,scroll:n,erase:i,beep:r},ps}var ds,Io;function Rp(){if(Io)return ds;Io=1;let e=Js(),{erase:t,cursor:r}=ne(),s=n=>[...e(n)].length;return ds=function(n,i){if(!i)return t.line+r.to(0);let o=0,a=n.split(/\r?\n/);for(let c of a)o+=1+Math.floor(Math.max(s(c)-1,0)/i);return t.lines(o)},ds}var hs,Co;function ha(){if(Co)return hs;Co=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 hs=process.platform==="win32"?t:e,hs}var ms,ko;function Sp(){if(ko)return ms;ko=1;let e=se(),t=ha(),r=Object.freeze({password:{scale:1,render:c=>"*".repeat(c.length)},emoji:{scale:2,render:c=>"\u{1F603}".repeat(c.length)},invisible:{scale:0,render:c=>""},default:{scale:1,render:c=>`${c}`}}),s=c=>r[c]||r.default,n=Object.freeze({aborted:e.red(t.cross),done:e.green(t.tick),exited:e.yellow(t.cross),default:e.cyan("?")});return ms={styles:r,render:s,symbols:n,symbol:(c,f,l)=>f?n.aborted:l?n.exited:c?n.done:n.default,delimiter:c=>e.gray(c?t.ellipsis:t.pointerSmall),item:(c,f)=>e.gray(c?f?t.pointerSmall:"+":t.line)},ms}var gs,To;function Ep(){if(To)return gs;To=1;let e=Js();return gs=function(t,r){let s=String(e(t)||"").split(/\r?\n/);return r?s.map(n=>Math.ceil(n.length/r)).reduce((n,i)=>n+i):s.length},gs}var ys,$o;function Ip(){return $o||($o=1,ys=(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(n=>n.split(/\s+/g).reduce((i,o)=>(o.length+r.length>=s||i[i.length-1].length+o.length+1<s?i[i.length-1]+=` ${o}`:i.push(`${r}${o}`),i),[r]).join(`
47
+ `)).join(`
48
+ `)}),ys}var ws,Po;function Cp(){return Po||(Po=1,ws=(e,t,r)=>{r=r||t;let s=Math.min(t-r,e-Math.floor(r/2));s<0&&(s=0);let n=Math.min(s+r,t);return {startIndex:s,endIndex:n}}),ws}var xs,Ao;function ce(){return Ao||(Ao=1,xs={action:vp(),clear:Rp(),style:Sp(),strip:Js(),figures:ha(),lines:Ep(),wrap:Ip(),entriesToDisplay:Cp()}),xs}var bs,Oo;function ke(){if(Oo)return bs;Oo=1;let e=ip,{action:t}=ce(),r=mp,{beep:s,cursor:n}=ne(),i=se();class o extends r{constructor(c={}){super(),this.firstRender=true,this.in=c.stdin||process.stdin,this.out=c.stdout||process.stdout,this.onRender=(c.onRender||(()=>{})).bind(this);let f=e.createInterface({input:this.in,escapeCodeTimeout:50});e.emitKeypressEvents(this.in,f),this.in.isTTY&&this.in.setRawMode(true);let l=["SelectPrompt","MultiselectPrompt"].indexOf(this.constructor.name)>-1,u=(d,p)=>{let h=t(p,l);h===false?this._&&this._(d,p):typeof this[h]=="function"?this[h](p):this.bell();};this.close=()=>{this.out.write(n.show),this.in.removeListener("keypress",u),this.in.isTTY&&this.in.setRawMode(false),f.close(),this.emit(this.aborted?"abort":this.exited?"exit":"submit",this.value),this.closed=true;},this.in.on("keypress",u);}fire(){this.emit("state",{value:this.value,aborted:!!this.aborted,exited:!!this.exited});}bell(){this.out.write(s);}render(){this.onRender(i),this.firstRender&&(this.firstRender=false);}}return bs=o,bs}var vs,jo;function kp(){if(jo)return vs;jo=1;let e=se(),t=ke(),{erase:r,cursor:s}=ne(),{style:n,clear:i,lines:o,figures:a}=ce();class c extends t{constructor(l={}){super(l),this.transform=n.render(l.style),this.scale=this.transform.scale,this.msg=l.message,this.initial=l.initial||"",this.validator=l.validate||(()=>true),this.value="",this.errorMsg=l.error||"Please Enter A Valid Value",this.cursor=+!!this.initial,this.cursorOffset=0,this.clear=i("",this.out.columns),this.render();}set value(l){!l&&this.initial?(this.placeholder=true,this.rendered=e.gray(this.transform.render(this.initial))):(this.placeholder=false,this.rendered=this.transform.render(l)),this._value=l,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(`
49
+ `),this.close();}async validate(){let l=await this.validator(this.value);typeof l=="string"&&(this.errorMsg=l,l=false),this.error=!l;}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(`
50
+ `),this.close();}next(){if(!this.placeholder)return this.bell();this.value=this.initial,this.cursor=this.rendered.length,this.fire(),this.render();}moveCursor(l){this.placeholder||(this.cursor=this.cursor+l,this.cursorOffset+=l);}_(l,u){let d=this.value.slice(0,this.cursor),p=this.value.slice(this.cursor);this.value=`${d}${l}${p}`,this.red=false,this.cursor=this.placeholder?0:d.length+1,this.render();}delete(){if(this.isCursorAtStart())return this.bell();let l=this.value.slice(0,this.cursor-1),u=this.value.slice(this.cursor);this.value=`${l}${u}`,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 l=this.value.slice(0,this.cursor),u=this.value.slice(this.cursor+1);this.value=`${l}${u}`,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)+i(this.outputError,this.out.columns)),this.out.write(i(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[n.symbol(this.done,this.aborted),e.bold(this.msg),n.delimiter(this.done),this.red?e.red(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
51
+ `).reduce((l,u,d)=>l+`
52
+ ${d?" ":a.pointerSmall} ${e.red().italic(u)}`,"")),this.out.write(r.line+s.to(0)+this.outputText+s.save+this.outputError+s.restore+s.move(this.cursorOffset,0)));}}return vs=c,vs}var Rs,_o;function Tp(){if(_o)return Rs;_o=1;let e=se(),t=ke(),{style:r,clear:s,figures:n,wrap:i,entriesToDisplay:o}=ce(),{cursor:a}=ne();class c extends t{constructor(l={}){super(l),this.msg=l.message,this.hint=l.hint||"- Use arrow-keys. Return to submit.",this.warn=l.warn||"- This option is disabled",this.cursor=l.initial||0,this.choices=l.choices.map((u,d)=>(typeof u=="string"&&(u={title:u,value:d}),{title:u&&(u.title||u.value||u),value:u&&(u.value===void 0?d:u.value),description:u&&u.description,selected:u&&u.selected,disabled:u&&u.disabled})),this.optionsPerPage=l.optionsPerPage||10,this.value=(this.choices[this.cursor]||{}).value,this.clear=s("",this.out.columns),this.render();}moveCursor(l){this.cursor=l,this.value=this.choices[l].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(`
53
+ `),this.close();}submit(){this.selection.disabled?this.bell():(this.done=true,this.aborted=false,this.fire(),this.render(),this.out.write(`
54
+ `),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();}_(l,u){if(l===" ")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:l,endIndex:u}=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+=`
55
+ `;for(let d=l;d<u;d++){let p,h,m="",g=this.choices[d];d===l&&l>0?h=n.arrowUp:d===u-1&&u<this.choices.length?h=n.arrowDown:h=" ",g.disabled?(p=this.cursor===d?e.gray().underline(g.title):e.strikethrough().gray(g.title),h=(this.cursor===d?e.bold().gray(n.pointer)+" ":" ")+h):(p=this.cursor===d?e.cyan().underline(g.title):g.title,h=(this.cursor===d?e.cyan(n.pointer)+" ":" ")+h,g.description&&this.cursor===d&&(m=` - ${g.description}`,(h.length+p.length+m.length>=this.out.columns||g.description.split(/\r?\n/).length>1)&&(m=`
56
+ `+i(g.description,{margin:3,width:this.out.columns})))),this.outputText+=`${h} ${p}${e.gray(m)}
57
+ `;}}this.out.write(this.outputText);}}return Rs=c,Rs}var Ss,No;function $p(){if(No)return Ss;No=1;let e=se(),t=ke(),{style:r,clear:s}=ce(),{cursor:n,erase:i}=ne();class o extends t{constructor(c={}){super(c),this.msg=c.message,this.value=!!c.initial,this.active=c.active||"on",this.inactive=c.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(`
58
+ `),this.close();}submit(){this.done=true,this.aborted=false,this.fire(),this.render(),this.out.write(`
59
+ `),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();}_(c,f){if(c===" ")this.value=!this.value;else if(c==="1")this.value=true;else if(c==="0")this.value=false;else return this.bell();this.render();}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.value?this.inactive:e.cyan().underline(this.inactive),e.gray("/"),this.value?e.cyan().underline(this.active):this.active].join(" "),this.out.write(i.line+n.to(0)+this.outputText));}}return Ss=o,Ss}var Es,Fo;function me(){if(Fo)return Es;Fo=1;class e{constructor({token:r,date:s,parts:n,locales:i}){this.token=r,this.date=s||new Date,this.parts=n||[this],this.locales=i||{};}up(){}down(){}next(){let r=this.parts.indexOf(this);return this.parts.find((s,n)=>n>r&&s instanceof e)}setTo(r){}prev(){let r=[].concat(this.parts).reverse(),s=r.indexOf(this);return r.find((n,i)=>i>s&&n instanceof e)}toString(){return String(this.date)}}return Es=e,Es}var Is,Mo;function Pp(){if(Mo)return Is;Mo=1;let e=me();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 Is=t,Is}var Cs,Do;function Ap(){if(Do)return Cs;Do=1;let e=me(),t=s=>(s=s%10,s===1?"st":s===2?"nd":s===3?"rd":"th");class r extends e{constructor(n={}){super(n);}up(){this.date.setDate(this.date.getDate()+1);}down(){this.date.setDate(this.date.getDate()-1);}setTo(n){this.date.setDate(parseInt(n.substr(-2)));}toString(){let n=this.date.getDate(),i=this.date.getDay();return this.token==="DD"?String(n).padStart(2,"0"):this.token==="Do"?n+t(n):this.token==="d"?i+1:this.token==="ddd"?this.locales.weekdaysShort[i]:this.token==="dddd"?this.locales.weekdays[i]:n}}return Cs=r,Cs}var ks,Lo;function Op(){if(Lo)return ks;Lo=1;let e=me();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 ks=t,ks}var Ts,Ho;function jp(){if(Ho)return Ts;Ho=1;let e=me();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 Ts=t,Ts}var $s,Go;function _p(){if(Go)return $s;Go=1;let e=me();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 $s=t,$s}var Ps,Vo;function Np(){if(Vo)return Ps;Vo=1;let e=me();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(),n=this.token.length;return n===2?String(s+1).padStart(2,"0"):n===3?this.locales.monthsShort[s]:n===4?this.locales.months[s]:String(s+1)}}return Ps=t,Ps}var As,Wo;function Fp(){if(Wo)return As;Wo=1;let e=me();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 As=t,As}var Os,zo;function Mp(){if(zo)return Os;zo=1;let e=me();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 Os=t,Os}var js,Uo;function Dp(){return Uo||(Uo=1,js={DatePart:me(),Meridiem:Pp(),Day:Ap(),Hours:Op(),Milliseconds:jp(),Minutes:_p(),Month:Np(),Seconds:Fp(),Year:Mp()}),js}var _s,Ko;function Lp(){if(Ko)return _s;Ko=1;let e=se(),t=ke(),{style:r,clear:s,figures:n}=ce(),{erase:i,cursor:o}=ne(),{DatePart:a,Meridiem:c,Day:f,Hours:l,Milliseconds:u,Minutes:d,Month:p,Seconds:h,Year:m}=Dp(),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:b})=>b.replace(/\\(.)/g,"$1"),2:b=>new f(b),3:b=>new p(b),4:b=>new m(b),5:b=>new c(b),6:b=>new l(b),7:b=>new d(b),8:b=>new h(b),9:b=>new u(b)},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(v={}){super(v),this.msg=v.message,this.cursor=0,this.typed="",this.locales=Object.assign(y,v.locales),this._date=v.initial||new Date,this.errorMsg=v.error||"Please Enter A Valid Value",this.validator=v.validate||(()=>true),this.mask=v.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(v){v&&this._date.setTime(v.getTime());}set mask(v){let R;for(this.parts=[];R=g.exec(v);){let k=R.shift(),T=R.findIndex(H=>H!=null);this.parts.push(T in x?x[T]({token:R[T]||k,date:this.date,parts:this.parts,locales:this.locales}):R[T]||k);}let I=this.parts.reduce((k,T)=>(typeof T=="string"&&typeof k[k.length-1]=="string"?k[k.length-1]+=T:k.push(T),k),[]);this.parts.splice(0),this.parts.push(...I),this.reset();}moveCursor(v){this.typed="",this.cursor=v,this.fire();}reset(){this.moveCursor(this.parts.findIndex(v=>v 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(`
60
+ `),this.close();}async validate(){let v=await this.validator(this.value);typeof v=="string"&&(this.errorMsg=v,v=false),this.error=!v;}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(`
61
+ `),this.close();}up(){this.typed="",this.parts[this.cursor].up(),this.render();}down(){this.typed="",this.parts[this.cursor].down(),this.render();}left(){let v=this.parts[this.cursor].prev();if(v==null)return this.bell();this.moveCursor(this.parts.indexOf(v)),this.render();}right(){let v=this.parts[this.cursor].next();if(v==null)return this.bell();this.moveCursor(this.parts.indexOf(v)),this.render();}next(){let v=this.parts[this.cursor].next();this.moveCursor(v?this.parts.indexOf(v):this.parts.findIndex(R=>R instanceof a)),this.render();}_(v){/\d/.test(v)&&(this.typed+=v,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((v,R,I)=>v.concat(I===this.cursor&&!this.done?e.cyan().underline(R.toString()):R),[]).join("")].join(" "),this.error&&(this.outputText+=this.errorMsg.split(`
62
+ `).reduce((v,R,I)=>v+`
63
+ ${I?" ":n.pointerSmall} ${e.red().italic(R)}`,"")),this.out.write(i.line+o.to(0)+this.outputText));}}return _s=w,_s}var Ns,Bo;function Hp(){if(Bo)return Ns;Bo=1;let e=se(),t=ke(),{cursor:r,erase:s}=ne(),{style:n,figures:i,clear:o,lines:a}=ce(),c=/[0-9]/,f=d=>d!==void 0,l=(d,p)=>{let h=Math.pow(10,p);return Math.round(d*h)/h};class u extends t{constructor(p={}){super(p),this.transform=n.render(p.style),this.msg=p.message,this.initial=f(p.initial)?p.initial:"",this.float=!!p.float,this.round=p.round||2,this.inc=p.increment||1,this.min=f(p.min)?p.min:-1/0,this.max=f(p.max)?p.max:1/0,this.errorMsg=p.error||"Please Enter A Valid Value",this.validator=p.validate||(()=>true),this.color="cyan",this.value="",this.typed="",this.lastHit=0,this.render();}set value(p){!p&&p!==0?(this.placeholder=true,this.rendered=e.gray(this.transform.render(`${this.initial}`)),this._value=""):(this.placeholder=false,this.rendered=this.transform.render(`${l(p,this.round)}`),this._value=l(p,this.round)),this.fire();}get value(){return this._value}parse(p){return this.float?parseFloat(p):parseInt(p)}valid(p){return p==="-"||p==="."&&this.float||c.test(p)}reset(){this.typed="",this.value="",this.fire(),this.render();}exit(){this.abort();}abort(){let p=this.value;this.value=p!==""?p:this.initial,this.done=this.aborted=true,this.error=false,this.fire(),this.render(),this.out.write(`
64
+ `),this.close();}async validate(){let p=await this.validator(this.value);typeof p=="string"&&(this.errorMsg=p,p=false),this.error=!p;}async submit(){if(await this.validate(),this.error){this.color="red",this.fire(),this.render();return}let p=this.value;this.value=p!==""?p:this.initial,this.done=true,this.aborted=false,this.error=false,this.fire(),this.render(),this.out.write(`
65
+ `),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 p=this.value.toString();if(p.length===0)return this.bell();this.value=this.parse(p=p.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();}_(p,h){if(!this.valid(p))return this.bell();let m=Date.now();if(m-this.lastHit>1e3&&(this.typed=""),this.typed+=p,this.lastHit=m,this.color="cyan",p===".")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=[n.symbol(this.done,this.aborted),e.bold(this.msg),n.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(`
66
+ `).reduce((p,h,m)=>p+`
67
+ ${m?" ":i.pointerSmall} ${e.red().italic(h)}`,"")),this.out.write(s.line+r.to(0)+this.outputText+r.save+this.outputError+r.restore));}}return Ns=u,Ns}var Fs,qo;function ma(){if(qo)return Fs;qo=1;let e=se(),{cursor:t}=ne(),r=ke(),{clear:s,figures:n,style:i,wrap:o,entriesToDisplay:a}=ce();class c extends r{constructor(l={}){super(l),this.msg=l.message,this.cursor=l.cursor||0,this.scrollIndex=l.cursor||0,this.hint=l.hint||"",this.warn=l.warn||"- This option is disabled -",this.minSelected=l.min,this.showMinError=false,this.maxChoices=l.max,this.instructions=l.instructions,this.optionsPerPage=l.optionsPerPage||10,this.value=l.choices.map((u,d)=>(typeof u=="string"&&(u={title:u,value:d}),{title:u&&(u.title||u.value||u),description:u&&u.description,value:u&&(u.value===void 0?d:u.value),selected:u&&u.selected,disabled:u&&u.disabled})),this.clear=s("",this.out.columns),l.overrideRender||this.render();}reset(){this.value.map(l=>!l.selected),this.cursor=0,this.fire(),this.render();}selected(){return this.value.filter(l=>l.selected)}exit(){this.abort();}abort(){this.done=this.aborted=true,this.fire(),this.render(),this.out.write(`
68
+ `),this.close();}submit(){let l=this.value.filter(u=>u.selected);this.minSelected&&l.length<this.minSelected?(this.showMinError=true,this.render()):(this.done=true,this.aborted=false,this.fire(),this.render(),this.out.write(`
69
+ `),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(l=>l.selected).length>=this.maxChoices)return this.bell();this.value[this.cursor].selected=true,this.render();}handleSpaceToggle(){let l=this.value[this.cursor];if(l.selected)l.selected=false,this.render();else {if(l.disabled||this.value.filter(u=>u.selected).length>=this.maxChoices)return this.bell();l.selected=true,this.render();}}toggleAll(){if(this.maxChoices!==void 0||this.value[this.cursor].disabled)return this.bell();let l=!this.value[this.cursor].selected;this.value.filter(u=>!u.disabled).forEach(u=>u.selected=l),this.render();}_(l,u){if(l===" ")this.handleSpaceToggle();else if(l==="a")this.toggleAll();else return this.bell()}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
70
+ Instructions:
71
+ ${n.arrowUp}/${n.arrowDown}: Highlight option
72
+ ${n.arrowLeft}/${n.arrowRight}/[space]: Toggle selection
73
+ `+(this.maxChoices===void 0?` a: Toggle all
74
+ `:"")+" enter/return: Complete answer":""}renderOption(l,u,d,p){let h=(u.selected?e.green(n.radioOn):n.radioOff)+" "+p+" ",m,g;return u.disabled?m=l===d?e.gray().underline(u.title):e.strikethrough().gray(u.title):(m=l===d?e.cyan().underline(u.title):u.title,l===d&&u.description&&(g=` - ${u.description}`,(h.length+m.length+g.length>=this.out.columns||u.description.split(/\r?\n/).length>1)&&(g=`
75
+ `+o(u.description,{margin:h.length,width:this.out.columns})))),h+m+e.gray(g||"")}paginateOptions(l){if(l.length===0)return e.red("No matches for this query.");let{startIndex:u,endIndex:d}=a(this.cursor,l.length,this.optionsPerPage),p,h=[];for(let m=u;m<d;m++)m===u&&u>0?p=n.arrowUp:m===d-1&&d<l.length?p=n.arrowDown:p=" ",h.push(this.renderOption(this.cursor,l[m],m,p));return `
76
+ `+h.join(`
77
+ `)}renderOptions(l){return this.done?"":this.paginateOptions(l)}renderDoneOrInstructions(){if(this.done)return this.value.filter(u=>u.selected).map(u=>u.title).join(", ");let l=[e.gray(this.hint),this.renderInstructions()];return this.value[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.value),this.out.write(this.clear+l),this.clear=s(l,this.out.columns);}}return Fs=c,Fs}var Ms,Jo;function Gp(){if(Jo)return Ms;Jo=1;let e=se(),t=ke(),{erase:r,cursor:s}=ne(),{style:n,clear:i,figures:o,wrap:a,entriesToDisplay:c}=ce(),f=(p,h)=>p[h]&&(p[h].value||p[h].title||p[h]),l=(p,h)=>p[h]&&(p[h].title||p[h].value||p[h]),u=(p,h)=>{let m=p.findIndex(g=>g.value===h||g.title===h);return m>-1?m:void 0};class d extends t{constructor(h={}){super(h),this.msg=h.message,this.suggest=h.suggest,this.choices=h.choices,this.initial=typeof h.initial=="number"?h.initial:u(h.choices,h.initial),this.select=this.initial||h.cursor||0,this.i18n={noMatches:h.noMatches||"no matches found"},this.fallback=h.fallback||this.initial,this.clearFirst=h.clearFirst||false,this.suggestions=[],this.input="",this.limit=h.limit||10,this.cursor=0,this.transform=n.render(h.style),this.scale=this.transform.scale,this.render=this.render.bind(this),this.complete=this.complete.bind(this),this.clear=i("",this.out.columns),this.complete(this.render),this.render();}set fallback(h){this._fb=Number.isSafeInteger(parseInt(h))?parseInt(h):h;}get fallback(){let h;return typeof this._fb=="number"?h=this.choices[this._fb]:typeof this._fb=="string"&&(h={title:this._fb}),h||this._fb||{title:this.i18n.noMatches}}moveSelect(h){this.select=h,this.suggestions.length>0?this.value=f(this.suggestions,h):this.value=this.fallback.value,this.fire();}async complete(h){let m=this.completing=this.suggest(this.input,this.choices),g=await m;if(this.completing!==m)return;this.suggestions=g.map((y,w,b)=>({title:l(b,w),value:f(b,w),description:y.description})),this.completing=false;let x=Math.max(g.length-1,0);this.moveSelect(Math.min(x,this.select)),h&&h();}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(`
78
+ `),this.close());}abort(){this.done=this.aborted=true,this.exited=false,this.fire(),this.render(),this.out.write(`
79
+ `),this.close();}submit(){this.done=true,this.aborted=this.exited=false,this.fire(),this.render(),this.out.write(`
80
+ `),this.close();}_(h,m){let g=this.input.slice(0,this.cursor),x=this.input.slice(this.cursor);this.input=`${g}${h}${x}`,this.cursor=g.length+1,this.complete(this.render),this.render();}delete(){if(this.cursor===0)return this.bell();let h=this.input.slice(0,this.cursor-1),m=this.input.slice(this.cursor);this.input=`${h}${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 h=this.input.slice(0,this.cursor),m=this.input.slice(this.cursor+1);this.input=`${h}${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(h,m,g,x){let y,w=g?o.arrowUp:x?o.arrowDown:" ",b=m?e.cyan().underline(h.title):h.title;return w=(m?e.cyan(o.pointer)+" ":" ")+w,h.description&&(y=` - ${h.description}`,(w.length+b.length+y.length>=this.out.columns||h.description.split(/\r?\n/).length>1)&&(y=`
81
+ `+a(h.description,{margin:3,width:this.out.columns}))),w+" "+b+e.gray(y||"")}render(){if(this.closed)return;this.firstRender?this.out.write(s.hide):this.out.write(i(this.outputText,this.out.columns)),super.render();let{startIndex:h,endIndex:m}=c(this.select,this.choices.length,this.limit);if(this.outputText=[n.symbol(this.done,this.aborted,this.exited),e.bold(this.msg),n.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(h,m).map((x,y)=>this.renderOption(x,this.select===y+h,y===0&&h>0,y+h===m-1&&m<this.choices.length)).join(`
82
+ `);this.outputText+=`
83
+ `+(g||e.gray(this.fallback.title));}this.out.write(r.line+s.to(0)+this.outputText);}}return Ms=d,Ms}var Ds,Yo;function Vp(){if(Yo)return Ds;Yo=1;let e=se(),{cursor:t}=ne(),r=ma(),{clear:s,style:n,figures:i}=ce();class o extends r{constructor(c={}){c.overrideRender=true,super(c),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(c=>c.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 c=this.filteredOptions[this.cursor];this.filteredOptions=this.value.filter(l=>this.inputValue?!!(typeof l.title=="string"&&l.title.toLowerCase().includes(this.inputValue.toLowerCase())||typeof l.value=="string"&&l.value.toLowerCase().includes(this.inputValue.toLowerCase())):true);let f=this.filteredOptions.findIndex(l=>l===c);this.cursor=f<0?0:f,this.render();}handleSpaceToggle(){let c=this.filteredOptions[this.cursor];if(c.selected)c.selected=false,this.render();else {if(c.disabled||this.value.filter(f=>f.selected).length>=this.maxChoices)return this.bell();c.selected=true,this.render();}}handleInputChange(c){this.inputValue=this.inputValue+c,this.updateFilteredOptions();}_(c,f){c===" "?this.handleSpaceToggle():this.handleInputChange(c);}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
84
+ Instructions:
85
+ ${i.arrowUp}/${i.arrowDown}: Highlight option
86
+ ${i.arrowLeft}/${i.arrowRight}/[space]: Toggle selection
87
+ [a,b,c]/delete: Filter choices
88
+ enter/return: Complete answer
89
+ `:""}renderCurrentInput(){return `
90
+ Filtered results for: ${this.inputValue?this.inputValue:e.gray("Enter something to filter")}
91
+ `}renderOption(c,f,l,u){let d=(f.selected?e.green(i.radioOn):i.radioOff)+" "+u+" ",p;return f.disabled?p=c===l?e.gray().underline(f.title):e.strikethrough().gray(f.title):p=c===l?e.cyan().underline(f.title):f.title,d+p}renderDoneOrInstructions(){if(this.done)return this.value.filter(f=>f.selected).map(f=>f.title).join(", ");let c=[e.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];return this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled&&c.push(e.yellow(this.warn)),c.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(t.hide),super.render();let c=[n.symbol(this.done,this.aborted),e.bold(this.msg),n.delimiter(false),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(c+=e.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=false),c+=this.renderOptions(this.filteredOptions),this.out.write(this.clear+c),this.clear=s(c,this.out.columns);}}return Ds=o,Ds}var Ls,Zo;function Wp(){if(Zo)return Ls;Zo=1;let e=se(),t=ke(),{style:r,clear:s}=ce(),{erase:n,cursor:i}=ne();class o extends t{constructor(c={}){super(c),this.msg=c.message,this.value=c.initial,this.initialValue=!!c.initial,this.yesMsg=c.yes||"yes",this.yesOption=c.yesOption||"(Y/n)",this.noMsg=c.no||"no",this.noOption=c.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(`
92
+ `),this.close();}submit(){this.value=this.value||false,this.done=true,this.aborted=false,this.fire(),this.render(),this.out.write(`
93
+ `),this.close();}_(c,f){return c.toLowerCase()==="y"?(this.value=true,this.submit()):c.toLowerCase()==="n"?(this.value=false,this.submit()):this.bell()}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.done?this.value?this.yesMsg:this.noMsg:e.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(n.line+i.to(0)+this.outputText));}}return Ls=o,Ls}var Hs,Xo;function zp(){return Xo||(Xo=1,Hs={TextPrompt:kp(),SelectPrompt:Tp(),TogglePrompt:$p(),DatePrompt:Lp(),NumberPrompt:Hp(),MultiselectPrompt:ma(),AutocompletePrompt:Gp(),AutocompleteMultiselectPrompt:Vp(),ConfirmPrompt:Wp()}),Hs}var Qo;function Up(){return Qo||(Qo=1,(function(e){let t=e,r=zp(),s=o=>o;function n(o,a,c={}){return new Promise((f,l)=>{let u=new r[o](a),d=c.onAbort||s,p=c.onSubmit||s,h=c.onExit||s;u.on("state",a.onState||s),u.on("submit",m=>f(p(m))),u.on("exit",m=>f(h(m))),u.on("abort",m=>l(d(m)));})}t.text=o=>n("TextPrompt",o),t.password=o=>(o.style="password",t.text(o)),t.invisible=o=>(o.style="invisible",t.text(o)),t.number=o=>n("NumberPrompt",o),t.date=o=>n("DatePrompt",o),t.confirm=o=>n("ConfirmPrompt",o),t.list=o=>{let a=o.separator||",";return n("TextPrompt",o,{onSubmit:c=>c.split(a).map(f=>f.trim())})},t.toggle=o=>n("TogglePrompt",o),t.select=o=>n("SelectPrompt",o),t.multiselect=o=>{o.choices=[].concat(o.choices||[]);let a=c=>c.filter(f=>f.selected).map(f=>f.value);return n("MultiselectPrompt",o,{onAbort:a,onSubmit:a})},t.autocompleteMultiselect=o=>{o.choices=[].concat(o.choices||[]);let a=c=>c.filter(f=>f.selected).map(f=>f.value);return n("AutocompleteMultiselectPrompt",o,{onAbort:a,onSubmit:a})};let i=(o,a)=>Promise.resolve(a.filter(c=>c.title.slice(0,o.length).toLowerCase()===o.toLowerCase()));t.autocomplete=o=>(o.suggest=o.suggest||i,o.choices=[].concat(o.choices||[]),n("AutocompletePrompt",o));})(cs)),cs}var Gs,ea;function Kp(){if(ea)return Gs;ea=1;let e=Up(),t=["suggest","format","onState","validate","onRender","type"],r=()=>{};async function s(a=[],{onSubmit:c=r,onCancel:f=r}={}){let l={},u=s._override||{};a=[].concat(a);let d,p,h,m,g,x,y=async(w,b,v=false)=>{if(!(!v&&w.validate&&w.validate(b)!==true))return w.format?await w.format(b,l):b};for(p of a)if({name:m,type:g}=p,typeof g=="function"&&(g=await g(d,{...l},p),p.type=g),!!g){for(let w in p){if(t.includes(w))continue;let b=p[w];p[w]=typeof b=="function"?await b(d,{...l},x):b;}if(x=p,typeof p.message!="string")throw new Error("prompt message is required");if({name:m,type:g}=p,e[g]===void 0)throw new Error(`prompt type (${g}) is not defined`);if(u[p.name]!==void 0&&(d=await y(p,u[p.name]),d!==void 0)){l[m]=d;continue}try{d=s._injected?n(s._injected,p.initial):await e[g](p),l[m]=d=await y(p,d,!0),h=await c(p,d,l);}catch{h=!await f(p,l);}if(h)return l}return l}function n(a,c){let f=a.shift();if(f instanceof Error)throw f;return f===void 0?c:f}function i(a){s._injected=(s._injected||[]).concat(a);}function o(a){s._override=Object.assign({},a);}return Gs=Object.assign(s,{prompt:s,prompts:e,inject:i,override:o}),Gs}var Vs,ta;function Bp(){return ta||(ta=1,Vs=Kp()),Vs}var qp=Bp(),Jp=qs(qp),Ys=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 xr=globalThis.navigator?.userAgentData?.platform;xr==="macOS"||globalThis.navigator?.platform==="MacIntel"||globalThis.navigator?.userAgent?.includes(" Mac ")===true||globalThis.process?.platform;xr==="Windows"||globalThis.navigator?.platform==="Win32"||globalThis.process?.platform;xr==="Linux"||globalThis.navigator?.platform?.startsWith("Linux")===true||globalThis.navigator?.userAgent?.includes(" Linux ")===true||globalThis.process?.platform;xr==="Android"||globalThis.navigator?.platform==="Android"||globalThis.navigator?.userAgent?.includes(" Android ")===true||globalThis.process?.platform;var ra="\x1B]",sa="\x07",wr=";";!Ys&&ae.env.TERM_PROGRAM;!Ys&&ae.platform;Ys||ae.cwd;var Yp=(e,t)=>[ra,"8",wr,wr,t,sa,e,ra,"8",wr,wr,sa].join(""),Ws,na;function ga(){return na||(na=1,Ws=(e,t=process.argv)=>{let r=e.startsWith("-")?"":e.length===1?"-":"--",s=t.indexOf(r+e),n=t.indexOf("--");return s!==-1&&(n===-1||s<n)}),Ws}var zs,ia;function Zp(){if(ia)return zs;ia=1;let e=gp,t=yp,r=ga(),{env:s}=process,n;r("no-color")||r("no-colors")||r("color=false")||r("color=never")?n=0:(r("color")||r("colors")||r("color=true")||r("color=always"))&&(n=1),"FORCE_COLOR"in s&&(s.FORCE_COLOR==="true"?n=1:s.FORCE_COLOR==="false"?n=0:n=s.FORCE_COLOR.length===0?1:Math.min(parseInt(s.FORCE_COLOR,10),3));function i(c){return c===0?false:{level:c,hasBasic:true,has256:c>=2,has16m:c>=3}}function o(c,f){if(n===0)return 0;if(r("color=16m")||r("color=full")||r("color=truecolor"))return 3;if(r("color=256"))return 2;if(c&&!f&&n===void 0)return 0;let l=n||0;if(s.TERM==="dumb")return l;if(process.platform==="win32"){let u=e.release().split(".");return Number(u[0])>=10&&Number(u[2])>=10586?Number(u[2])>=14931?3:2:1}if("CI"in s)return ["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(u=>u in s)||s.CI_NAME==="codeship"?1:l;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 u=parseInt((s.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(s.TERM_PROGRAM){case "iTerm.app":return u>=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:l}function a(c){let f=o(c,c&&c.isTTY);return i(f)}return zs={supportsColor:a,stdout:i(o(true,t.isatty(1))),stderr:i(o(true,t.isatty(2)))},zs}var Us,oa;function Xp(){if(oa)return Us;oa=1;let e=Zp(),t=ga();function r(n){if(/^\d{3,4}$/.test(n)){let o=/(\d{1,2})(\d{2})/.exec(n)||[];return {major:0,minor:parseInt(o[1],10),patch:parseInt(o[2],10)}}let i=(n||"").split(".").map(o=>parseInt(o,10));return {major:i[0],minor:i[1],patch:i[2]}}function s(n){let{CI:i,FORCE_HYPERLINK:o,NETLIFY:a,TEAMCITY_VERSION:c,TERM_PROGRAM:f,TERM_PROGRAM_VERSION:l,VTE_VERSION:u,TERM:d}=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(n)||n&&!n.isTTY)return false;if("WT_SESSION"in process.env)return true;if(process.platform==="win32"||i||c)return false;if(f){let p=r(l||"");switch(f){case "iTerm.app":return p.major===3?p.minor>=1:p.major>3;case "WezTerm":return p.major>=20200620;case "vscode":return p.major>1||p.major===1&&p.minor>=72;case "ghostty":return true}}if(u){if(u==="0.50.0")return false;let p=r(u);return p.major>0||p.minor>=50}switch(d){case "alacritty":return true}return false}return Us={supportsHyperlink:s,stdout:s(process.stdout),stderr:s(process.stderr)},Us}var Qp=Xp(),Zs=qs(Qp);function Ct(e,t,{target:r="stdout",...s}={}){return Zs[r]?Yp(e,t):s.fallback===false?e:typeof s.fallback=="function"?s.fallback(e,t):`${e} (\u200B${t}\u200B)`}Ct.isSupported=Zs.stdout;Ct.stderr=(e,t,r={})=>Ct(e,t,{target:"stderr",...r});Ct.stderr.isSupported=Zs.stderr;var re={},Le={},aa;function ed(){if(aa)return Le;aa=1,Object.defineProperty(Le,"__esModule",{value:true}),Le.sync=Le.isexe=void 0;let e=pa,t=mo__default,r=async(o,a={})=>{let{ignoreErrors:c=false}=a;try{return n(await(0,t.stat)(o),a)}catch(f){let l=f;if(c||l.code==="EACCES")return false;throw l}};Le.isexe=r;let s=(o,a={})=>{let{ignoreErrors:c=false}=a;try{return n((0,e.statSync)(o),a)}catch(f){let l=f;if(c||l.code==="EACCES")return false;throw l}};Le.sync=s;let n=(o,a)=>o.isFile()&&i(o,a),i=(o,a)=>{let c=a.uid??process.getuid?.(),f=a.groups??process.getgroups?.()??[],l=a.gid??process.getgid?.()??f[0];if(c===void 0||l===void 0)throw new Error("cannot get uid or gid");let u=new Set([l,...f]),d=o.mode,p=o.uid,h=o.gid,m=parseInt("100",8),g=parseInt("010",8),x=parseInt("001",8),y=m|g;return !!(d&x||d&g&&u.has(h)||d&m&&p===c||d&y&&c===0)};return Le}var He={},ca;function td(){if(ca)return He;ca=1,Object.defineProperty(He,"__esModule",{value:true}),He.sync=He.isexe=void 0;let e=pa,t=mo__default,r=async(o,a={})=>{let{ignoreErrors:c=false}=a;try{return i(await(0,t.stat)(o),o,a)}catch(f){let l=f;if(c||l.code==="EACCES")return false;throw l}};He.isexe=r;let s=(o,a={})=>{let{ignoreErrors:c=false}=a;try{return i((0,e.statSync)(o),o,a)}catch(f){let l=f;if(c||l.code==="EACCES")return false;throw l}};He.sync=s;let n=(o,a)=>{let{pathExt:c=process.env.PATHEXT||""}=a,f=c.split(";");if(f.indexOf("")!==-1)return true;for(let l=0;l<f.length;l++){let u=f[l].toLowerCase(),d=o.substring(o.length-u.length).toLowerCase();if(u&&d===u)return true}return false},i=(o,a,c)=>o.isFile()&&n(a,c);return He}var Ks={},la;function rd(){return la||(la=1,Object.defineProperty(Ks,"__esModule",{value:true})),Ks}var ua;function sd(){return ua||(ua=1,(function(e){var t=re&&re.__createBinding||(Object.create?(function(f,l,u,d){d===void 0&&(d=u);var p=Object.getOwnPropertyDescriptor(l,u);(!p||("get"in p?!l.__esModule:p.writable||p.configurable))&&(p={enumerable:true,get:function(){return l[u]}}),Object.defineProperty(f,d,p);}):(function(f,l,u,d){d===void 0&&(d=u),f[d]=l[u];})),r=re&&re.__setModuleDefault||(Object.create?(function(f,l){Object.defineProperty(f,"default",{enumerable:true,value:l});}):function(f,l){f.default=l;}),s=re&&re.__importStar||function(f){if(f&&f.__esModule)return f;var l={};if(f!=null)for(var u in f)u!=="default"&&Object.prototype.hasOwnProperty.call(f,u)&&t(l,f,u);return r(l,f),l},n=re&&re.__exportStar||function(f,l){for(var u in f)u!=="default"&&!Object.prototype.hasOwnProperty.call(l,u)&&t(l,f,u);};Object.defineProperty(e,"__esModule",{value:true}),e.sync=e.isexe=e.posix=e.win32=void 0;let i=s(ed());e.posix=i;let o=s(td());e.win32=o,n(rd(),e);let c=(process.env._ISEXE_TEST_PLATFORM_||process.platform)==="win32"?o:i;e.isexe=c.isexe,e.sync=c.sync;})(re)),re}var Bs,fa;function nd(){if(fa)return Bs;fa=1;let{isexe:e,sync:t}=sd(),{join:r,delimiter:s,sep:n,posix:i}=S__default,o=process.platform==="win32",a=new RegExp(`[${i.sep}${n===i.sep?"":n}]`.replace(/(\\)/g,"\\$1")),c=new RegExp(`^\\.${a.source}`),f=h=>Object.assign(new Error(`not found: ${h}`),{code:"ENOENT"}),l=(h,{path:m=process.env.PATH,pathExt:g=process.env.PATHEXT,delimiter:x=s})=>{let y=h.match(a)?[""]:[...o?[process.cwd()]:[],...(m||"").split(x)];if(o){let w=g||[".EXE",".CMD",".BAT",".COM"].join(x),b=w.split(x).flatMap(v=>[v,v.toLowerCase()]);return h.includes(".")&&b[0]!==""&&b.unshift(""),{pathEnv:y,pathExt:b,pathExtExe:w}}return {pathEnv:y,pathExt:[""]}},u=(h,m)=>{let g=/^".*"$/.test(h)?h.slice(1,-1):h;return (!g&&c.test(m)?m.slice(0,2):"")+r(g,m)},d=async(h,m={})=>{let{pathEnv:g,pathExt:x,pathExtExe:y}=l(h,m),w=[];for(let b of g){let v=u(b,h);for(let R of x){let I=v+R;if(await e(I,{pathExt:y,ignoreErrors:true})){if(!m.all)return I;w.push(I);}}}if(m.all&&w.length)return w;if(m.nothrow)return null;throw f(h)},p=(h,m={})=>{let{pathEnv:g,pathExt:x,pathExtExe:y}=l(h,m),w=[];for(let b of g){let v=u(b,h);for(let R of x){let I=v+R;if(t(I,{pathExt:y,ignoreErrors:true})){if(!m.all)return I;w.push(I);}}}if(m.all&&w.length)return w;if(m.nothrow)return null;throw f(h)};return Bs=d,d.sync=p,Bs}var id=nd(),od=qs(id);join(gp.tmpdir(),"antfu-ni");function ya(e){return od.sync(e,{nothrow:true})!==null}async function Xs({autoInstall:e,programmatic:t,cwd:r}={}){let{name:s,agent:n,version:i}=await is({cwd:r,onUnknown:o=>{t||console.warn("[ni] Unknown packageManager:",o);}})||{};if(s&&!ya(s)&&!t){if(!e){console.warn(`[ni] Detected ${s} but it doesn't seem to be installed.
94
+ `),ae.env.CI&&ae.exit(1);let o=Ct(s,po[s]),{tryInstall:a}=await Jp({name:"tryInstall",type:"confirm",message:`Would you like to globally install ${o}?`});a||ae.exit(1);}await os("npm",["i","-g",`${s}${i?`@${i}`:""}`],{nodeOptions:{stdio:"inherit",cwd:r},throwOnError:true});}return n}ae.env.NI_CONFIG_FILE;var cd=ae.platform==="win32"?ae.env.USERPROFILE:ae.env.HOME;S__default.join(cd||"~/",".nirc");async function kt(e,{withFallback:t}={withFallback:false}){let r=await Xs({programmatic:true,cwd:e});return r==="yarn@berry"?"yarn":r==="pnpm@6"?"pnpm":r==="bun"?"bun":r==="deno"?"deno":t?Qs()??"npm":r??"npm"}function Qs(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 en(e){return e==="pnpm"?"pnpm dlx":e==="bun"?"bunx":"npx"}async function Iv(e){let t=await kt(e);return en(t)}var wa={name:"shadcn",version:"4.21.0",description:"Add components to your apps.",homepage:"https://ui.shadcn.com",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":"./dist/tailwind.css"},sideEffects:["./dist/tailwind.css"],bin:"./dist/index.js",engines:{node:">=20.18.1"},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:rc":"pnpm build && pnpm publish --no-git-checks --access public --tag rc","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",cn:"^0.2.4",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",kleur:"^4.1.5",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",socks:"^2.8.8","stringify-object":"^5.0.0","ts-morph":"^26.0.0","tsconfig-paths":"^4.2.0",undici:"^7.27.2","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",msw:"^2.10.4",rimraf:"^6.0.1",tsup:"^8.5.0","type-fest":"^4.41.0",typescript:"^5.9.2"}};function br(e){if(E.break(),E.error("Something went wrong. Please check the error below for more details."),E.error("If the problem persists, please open an issue on GitHub."),E.error(""),typeof e=="string"&&(E.error(e),Tt()),e instanceof F&&(e.message&&(E.error(e.cause?"Error:":"Message:"),E.error(e.message)),e.cause&&(E.error(`
95
+ Message:`),E.error(e.cause)),e.suggestion&&(E.error(`
96
+ Suggestion:`),E.error(e.suggestion)),Tt()),e instanceof z$1.ZodError){E.error("Validation failed:");for(let[t,r]of Object.entries(e.flatten().fieldErrors))E.error(`- ${P.info(t)}: ${r}`);Tt();}e instanceof Error&&(E.error(e.message),Tt()),Tt();}function fd(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 pd(e=wa.version,t=process.argv.slice(2)){let r=fd(e);return r?[...en(Qs()).split(" "),`shadcn@${r}`,...t].map(dd).join(" "):null}function Tt(){let e=pd();e&&(E.error(""),E.error("You can also try a previous version to see if that works:"),E.error(e)),E.break(),process.exit(1);}function dd(e){return /^[a-zA-Z0-9_./:@%+=,-]+$/.test(e)?e:`'${e.replace(/'/g,"'\\''")}'`}var Sa=cosmiconfig("registries",{packageProp:"registries",searchPlaces:["package.json"]}),md=z$1.object({registries:b.optional()});function xa(e,t){if(!t)return e;let r=new URL(e);return t.query&&r.searchParams.set("q",t.query),t.types?.length&&r.searchParams.set("type",t.types.join(",")),t.limit!==void 0&&r.searchParams.set("limit",String(t.limit)),t.offset!==void 0&&r.searchParams.set("offset",String(t.offset)),r.toString()}async function rn(e,t){return Se(()=>gd(e,t))}async function gd(e,t){let{config:r,useCache:s,searchParams:n}=t||{};if(L(e)){let l=xa(e,n),[u]=await K([l],{useCache:s});return ba(e,u)}let i=gt(e);if(i)return no(i,{useCache:s});if(!e.startsWith("@"))throw new lt(e);let o=e;o.endsWith("/registry")||(o=`${o}/registry`);let a=Je(o,oe(r));if(!a?.url)throw new _e(o);let c=xa(a.url,n);a.headers&&Object.keys(a.headers).length>0&&yt({[c]:a.headers});let[f]=await K([c],{useCache:s});return ba(o,f)}function ba(e,t){try{let r=q$1.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 W(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 sn(e,t){let{config:r,useCache:s=false}=t||{};return Se(()=>Ee(e,oe(r),{useCache:s}))}async function yd(e,t){let{config:r,useCache:s=false}=t||{};return Se(()=>tt(e,oe(r),{useCache:s}))}async function wd(e,t){let{useCache:r=true}=t||{};r||(Ut.clearCaches(),Sa.clearCaches());let s=await xd(e),n=S__default.resolve(e,"components.json");if(existsSync(n)){let i=await Ut.load(n),o=Ea(e,i?.config,"components.json");return {registries:{...q,...s,...o.registries}}}return {registries:s}}async function xd(e){let t=S__default.resolve(e,"package.json");if(!existsSync(t))return {};let r=await Sa.load(t);return Ea(e,{registries:r?.config},"package.json").registries}function Ea(e,t,r){let s=md.safeParse(t);if(!s.success)throw new ze(e,s.error,r);return {registries:s.data.registries||{}}}async function qt(){let[e]=await K(["index.json"]);return r.parse(e)}async function tR(){try{let[e]=await K(["styles/index.json"]);return s.parse(e)}catch(e){return E.error(`
97
+ `),br(e),[]}}async function rR(){try{let[e]=await K(["icons/index.json"]);return t.parse(e)}catch(e){return br(e),{}}}async function sR(){return jn}async function lr(e){let[t]=await K([`colors/${e}.json`]);return u.parse(t)}async function bd(e,t){let r=[];for(let s of t){let n=e.find(i=>i.name===s);if(n&&(r.push(n),n.registryDependencies)){let i=await bd(e,n.registryDependencies);r.push(...i);}}return r.filter((s,n,i)=>i.findIndex(o=>o.name===s.name)===n)}async function nR(e,t){try{let r=t.map(n=>`styles/${e}/${n.name}.json`);return (await K(r)).map(n$1=>n.parse(n$1))}catch(r){return br(r),[]}}async function iR(e,t,r){if(r)return r;if(t.type==="registry:ui")return e.resolvedPaths.ui??e.resolvedPaths.components;let[s,n]=t.type?.split(":")??[];return s in e.resolvedPaths?S__default.join(e.resolvedPaths[s],n):null}async function Ia(e){e={useCache:true,...e};let t=`${je}/registries.json`,[r]=await K([t],{useCache:e.useCache});try{return A$1.parse(r)}catch(s){throw s instanceof z$1.ZodError?new ut(s):s}}async function vd(e){let t=await Ia(e);return t?Object.fromEntries(t.map(r=>[r.name,r.url])):null}async function Rd(e){e={useCache:true,...e};let t=`${je}/config.json`,[r]=await K([t],{useCache:e.useCache});return C.parse(r).presets}async function oR(e,t){return (await Rd(t)).find(s=>s.name.toLowerCase()===e.toLowerCase())??null}var Ca={"--font-heading":"cn-font-heading"};function Sd(e){return e.startsWith("--")?e:`--${e}`}function nn(e){let t=new Set;for(let r of e){for(let s of r.fonts??[]){let n=s.font?.variable;if(!n)continue;let i=Ca[n];i&&t.add(i);}for(let s of Object.values(r.cssVars??{}))for(let n of Object.keys(s??{})){let i=Ca[Sd(n)];i&&t.add(i);}}return Array.from(t)}function ka(e,t){if(e.includes("\0"))return false;let r;try{r=e;let d="";for(;r!==d&&r.includes("%");)d=r,r=decodeURIComponent(r);}catch{return false}let s=S__default.normalize(r.replace(/\\/g,"/")),n=S__default.normalize(t),i=d=>d.replace(/\[\.\.\..*?\]/g,"").includes("..");if(i(s)||i(r)||i(e))return false;let o=d=>d.replace(/\[\.\.\..*?\]/g,""),a=o(e),c=o(r);if([/\.\.[\/\\]/,/[\/\\]\.\./,/\.\./,/\.\.%/,/\x00/,/[\x01-\x1f]/].some(d=>d.test(a)||d.test(c))||(e.includes("~")||r.includes("~"))&&(e.includes("../")||r.includes("../")))return false;if(/^[a-zA-Z]:[\/\\]/.test(r))return process.platform==="win32"?r.toLowerCase().startsWith(t.toLowerCase()):false;if(S__default.isAbsolute(s))return s.startsWith(n+S__default.sep);let u=S__default.resolve(n,s);return u.startsWith(n+S__default.sep)||u===n}async function wR(e,t,r){if(!t.resolvedPaths.tailwindCss||!Object.keys(e??{}).length)return;r={cleanupDefaultNextStyles:false,silent:false,tailwindVersion:"v3",overwriteCssVars:false,...r};let s=t.resolvedPaths.tailwindCss,n=S__default.relative(t.resolvedPaths.cwd,s),i=j(`Updating CSS variables in ${P.info(n)}`,{silent:r.silent}).start(),o=await promises.readFile(s,"utf8"),a=await on(o,e??{},t,{cleanupDefaultNextStyles:r.cleanupDefaultNextStyles,tailwindVersion:r.tailwindVersion,tailwindConfig:r.tailwindConfig,overwriteCssVars:r.overwriteCssVars});await promises.writeFile(s,a,"utf8"),i.succeed();}async function on(e,t,r,s={cleanupDefaultNextStyles:false,tailwindVersion:"v3",tailwindConfig:void 0,overwriteCssVars:false}){s={cleanupDefaultNextStyles:false,tailwindVersion:"v3",tailwindConfig:void 0,overwriteCssVars:false,...s};let n=[Cd(t)];s.cleanupDefaultNextStyles&&n.push(Pa()),s.tailwindVersion==="v4"&&(n=[],n.push(Pd({params:"dark (&:is(.dark *))"})),s.cleanupDefaultNextStyles&&n.push(Pa()),n.push(Td(t,{overwriteCssVars:s.overwriteCssVars})),n.push($d(t)),s.tailwindConfig&&(n.push(Ad(s.tailwindConfig)),n.push(jd(s.tailwindConfig)),n.push(Od(s.tailwindConfig))));let o=(await O(n).process(e,{from:void 0})).css;return o=o.replace(/\/\* ---break--- \*\//g,""),s.tailwindVersion==="v4"&&(o=o.replace(/(\n\s*\n)+/g,`
98
+
99
+ `)),o}function Cd(e){return {postcssPlugin:"update-css-vars",Once(t){let r=t.nodes.find(s=>s.type==="atrule"&&s.name==="layer"&&s.params==="base");r instanceof Id||(r=O.atRule({name:"layer",params:"base",nodes:[],raws:{semicolon:true,before:`
100
+ `,between:" "}}),t.append(r),t.insertBefore(r,O.comment({text:"---break---"}))),r!==void 0&&Object.entries(e).forEach(([s,n])=>{let i=s==="light"?":root":`.${s}`;kd(r,i,n);});}}}function $a(e){let t=e.nodes.find(r=>r.type==="rule"&&r.selector===":root");if(t){let r=["--background","--foreground"];t.nodes.filter(s=>s.type==="decl"&&r.includes(s.prop)).forEach(s=>s.remove()),t.nodes.length===0&&t.remove();}}function Pa(){return {postcssPlugin:"cleanup-default-next-styles",Once(e){let t=e.nodes.find(s=>s.type==="rule"&&s.selector==="body");t&&(t.nodes.find(s=>s.type==="decl"&&s.prop==="color"&&["rgb(var(--foreground-rgb))","var(--foreground)"].includes(s.value))?.remove(),t.nodes.find(s=>s.type==="decl"&&s.prop==="background"&&(s.value.startsWith("linear-gradient")||s.value==="var(--background)"))?.remove(),t.nodes.find(s=>s.type==="decl"&&s.prop==="font-family"&&s.value==="Arial, Helvetica, sans-serif")?.remove(),t.nodes.length===0&&t.remove()),$a(e);let r=e.nodes.find(s=>s.type==="atrule"&&s.params==="(prefers-color-scheme: dark)");r&&($a(r),r.nodes.length===0&&r.remove());}}}function kd(e,t,r){let s=e.nodes?.find(n=>n.type==="rule"&&n.selector===t);s||Object.keys(r).length>0&&(s=O.rule({selector:t,raws:{between:" ",before:`
101
+ `}}),e.append(s)),Object.entries(r).forEach(([n,i])=>{let o=`--${n.replace(/^--/,"")}`,a=O.decl({prop:o,value:i,raws:{semicolon:true}}),c=s?.nodes.find(f=>f.type==="decl"&&f.prop===o);c?c.replaceWith(a):s?.append(a);});}function Td(e,t){return {postcssPlugin:"update-css-vars-v4",Once(r){Object.entries(e).forEach(([s,n])=>{let i=s==="light"?":root":`.${s}`;if(s==="theme"){i="@theme";let a=vr(r);Object.entries(n).forEach(([c,f])=>{let l=`--${c.replace(/^--/,"")}`,u=O.decl({prop:l,value:f,raws:{semicolon:true}}),d=a?.nodes?.find(p=>p.type==="decl"&&p.prop===l);t.overwriteCssVars?d?d.replaceWith(u):a?.append(u):d||a?.append(u);});return}let o=r.nodes?.find(a=>a.type==="rule"&&a.selector===i);!o&&Object.keys(n).length>0&&(o=O.rule({selector:i,nodes:[],raws:{semicolon:true,between:" ",before:`
102
+ `}}),r.append(o),r.insertBefore(o,O.comment({text:"---break---"}))),Object.entries(n).forEach(([a,c])=>{let f=`--${a.replace(/^--/,"")}`;f==="--sidebar-background"&&(f="--sidebar"),Aa(c)&&(c=`hsl(${c})`);let l=O.decl({prop:f,value:c,raws:{semicolon:true}}),u=o?.nodes.find(d=>d.type==="decl"&&d.prop===f);t.overwriteCssVars?u?u.replaceWith(l):o?.append(l):u||o?.append(l);});});}}}function $d(e){return {postcssPlugin:"update-theme",Once(t){let r=Array.from(new Set(Object.keys(e).flatMap(i=>Object.keys(e[i]||{}))));if(!r.length)return;let s=vr(t),n=s.nodes?.filter(i=>i.type==="decl"&&i.prop.startsWith("--"));for(let i of r){let o=Object.values(e).find(u=>u[i])?.[i];if(!o)continue;if(i==="radius"){let u={sm:"calc(var(--radius) * 0.6)",md:"calc(var(--radius) * 0.8)",lg:"var(--radius)",xl:"calc(var(--radius) * 1.4)","2xl":"calc(var(--radius) * 1.8)","3xl":"calc(var(--radius) * 2.2)","4xl":"calc(var(--radius) * 2.6)"};for(let[d,p]of Object.entries(u)){let h=O.decl({prop:`--radius-${d}`,value:p,raws:{semicolon:true}});s?.nodes?.find(m=>m.type==="decl"&&m.prop===h.prop)||s?.append(h);}continue}let a=Aa(o)||Nd(o)?`--color-${i.replace(/^--/,"")}`:`--${i.replace(/^--/,"")}`;a==="--color-sidebar-background"&&(a="--color-sidebar");let c=`var(--${i})`;a==="--color-sidebar"&&(c="var(--sidebar)");let f=O.decl({prop:a,value:c,raws:{semicolon:true}});s?.nodes?.find(u=>u.type==="decl"&&u.prop===f.prop)||(n?.length?s?.insertAfter(n[n.length-1],f):s?.append(f));}}}}function vr(e){let t=e.nodes.find(r=>r.type==="atrule"&&r.name==="theme"&&r.params==="inline");return t||(t=O.atRule({name:"theme",params:"inline",nodes:[],raws:{semicolon:true,between:" ",before:`
103
+ `}}),e.append(t),e.insertBefore(t,O.comment({text:"---break---"}))),t}function Pd({params:e}){return {postcssPlugin:"add-custom-variant",Once(t){if(!t.nodes.find(s=>s.type==="atrule"&&s.name==="custom-variant")){let s=t.nodes.filter(i=>i.type==="atrule"&&i.name==="import"),n=O.atRule({name:"custom-variant",params:e,raws:{semicolon:true,before:`
104
+ `}});if(s.length>0){let i=s[s.length-1];t.insertAfter(i,n);}else t.insertAfter(t.nodes[0],n);t.insertBefore(n,O.comment({text:"---break---"}));}}}}function Ad(e){return {postcssPlugin:"update-tailwind-config",Once(t){if(!e?.plugins)return;let s=_d(t)==="single"?"'":'"',n=t.nodes.filter(o=>o.type==="atrule"&&o.name==="plugin"),i=n[n.length-1]||t.nodes[0];for(let o of e.plugins){let a=o.replace(/^require\(["']|["']\)$/g,"");if(n.some(f=>f.params.replace(/["']/g,"")===a))continue;let c=O.atRule({name:"plugin",params:`${s}${a}${s}`,raws:{semicolon:true,before:`
105
+ `}});t.insertAfter(i,c),t.insertBefore(c,O.comment({text:"---break---"}));}}}}function Od(e){return {postcssPlugin:"update-tailwind-config-keyframes",Once(t){if(!e?.theme?.extend?.keyframes)return;let r=vr(t),s=r.nodes?.filter(i=>i.type==="atrule"&&i.name==="keyframes"),n=z$1.record(z$1.string(),z$1.record(z$1.string(),z$1.string()));for(let[i,o]of Object.entries(e.theme.extend.keyframes)){if(typeof i!="string")continue;let a=n.safeParse(o);if(!a.success||s?.find(f=>f.type==="atrule"&&f.name==="keyframes"&&f.params===i))continue;let c=O.atRule({name:"keyframes",params:i,nodes:[],raws:{semicolon:true,between:" ",before:`
106
+ `}});for(let[f,l]of Object.entries(a.data)){let u=O.rule({selector:f,nodes:Object.entries(l).map(([d,p])=>O.decl({prop:d,value:p,raws:{semicolon:true,before:`
107
+ `,between:": "}})),raws:{semicolon:true,between:" ",before:`
108
+ `}});c.append(u);}r.append(c),r.insertBefore(c,O.comment({text:"---break---"}));}}}}function jd(e){return {postcssPlugin:"update-tailwind-config-animation",Once(t){if(!e?.theme?.extend?.animation)return;let r=vr(t),s=r.nodes?.filter(i=>i.type==="decl"&&i.prop.startsWith("--animate-")),n=z$1.record(z$1.string(),z$1.string()).safeParse(e.theme.extend.animation);if(n.success)for(let[i,o]of Object.entries(n.data)){let a=`--animate-${i}`;if(s?.find(f=>f.prop===a))continue;let c=O.decl({prop:a,value:o,raws:{semicolon:true,between:": ",before:`
109
+ `}});r.append(c);}}}}function _d(e){return e.nodes[0].toString().includes("'")?"single":"double"}function Aa(e){if(e.startsWith("hsl")||e.startsWith("rgb")||e.startsWith("#")||e.startsWith("oklch"))return false;let t=e.split(" ");return t.length===3&&t.slice(1,3).every(r=>r.includes("%"))}function Nd(e){return e.startsWith("hsl")||e.startsWith("rgb")||e.startsWith("#")||e.startsWith("oklch")||e.includes("--color-")}async function an(e,t,r){let s=e&&Object.keys(e).length>0,n=Object.keys(r.cssVars??{}).length>0;if(!t.resolvedPaths.tailwindCss||!s&&!n)return;r={silent:false,...r};let i=t.resolvedPaths.tailwindCss,o=S__default.relative(t.resolvedPaths.cwd,i),a=j(`Updating ${P.info(o)}`,{silent:r.silent}).start(),c=await promises.readFile(i,"utf8");n&&(c=await on(c,r.cssVars,t,{cleanupDefaultNextStyles:r.cleanupDefaultNextStyles,tailwindVersion:r.tailwindVersion,tailwindConfig:r.tailwindConfig,overwriteCssVars:r.overwriteCssVars})),s&&(c=await Dd(c,e)),await promises.writeFile(i,c,"utf8"),a.succeed();}async function Dd(e,t){let r=[Ld(t)],s=await O(r).process(e,{from:void 0}),n=s.css,i=s.root;if(i.nodes&&i.nodes.length>0){let o=i.nodes[i.nodes.length-1];o.type==="atrule"&&!o.nodes&&!n.trimEnd().endsWith(";")&&(n=n.trimEnd()+";");}return n=n.replace(/\/\* ---break--- \*\//g,""),n=n.replace(/(\n\s*\n)+/g,`
110
+
111
+ `),n=n.trimEnd(),n}function Ld(e){return {postcssPlugin:"update-css",Once(t){for(let[r,s]of Object.entries(e))if(r.startsWith("@")){let n=r.match(/@([a-zA-Z-]+)\s*(.*)/);if(!n)continue;let[,i,o]=n;if(i==="import"){if(!t.nodes?.find(c=>c.type==="atrule"&&c.name==="import"&&c.params===o)){let c=O.atRule({name:"import",params:o,raws:{semicolon:true}}),f=t.nodes?.filter(l=>l.type==="atrule"&&l.name==="import");if(f&&f.length>0){let l=f[f.length-1];c.raws.before=`
112
+ `,t.insertAfter(l,c);}else !t.nodes||t.nodes.length,c.raws.before="",t.prepend(c);}}else if(i==="plugin"){let a=o;o&&!o.startsWith('"')&&!o.startsWith("'")&&(a=`"${o}"`);let c=l=>l.startsWith('"')&&l.endsWith('"')||l.startsWith("'")&&l.endsWith("'")?l.slice(1,-1):l;if(!t.nodes?.find(l=>l.type!=="atrule"||l.name!=="plugin"?false:c(l.params)===c(o))){let l=O.atRule({name:"plugin",params:a,raws:{semicolon:true,before:`
113
+ `}}),u=t.nodes?.filter(p=>p.type==="atrule"&&p.name==="import"),d=t.nodes?.filter(p=>p.type==="atrule"&&p.name==="plugin");if(d&&d.length>0){let p=d[d.length-1];t.insertAfter(p,l);}else if(u&&u.length>0){let p=u[u.length-1];t.insertAfter(p,l),t.insertBefore(l,O.comment({text:"---break---"})),t.insertAfter(l,O.comment({text:"---break---"}));}else t.prepend(l),t.insertBefore(l,O.comment({text:"---break---"})),t.insertAfter(l,O.comment({text:"---break---"}));}}else if(typeof s=="object"&&Object.keys(s).length===0){if(!t.nodes?.find(c=>c.type==="atrule"&&c.name===i&&c.params===o)){let c=O.atRule({name:i,params:o,raws:{semicolon:true}});t.append(c),t.insertBefore(c,O.comment({text:"---break---"}));}}else if(i==="keyframes"){let a=t.nodes?.find(l=>l.type==="atrule"&&l.name==="theme"&&l.params==="inline");a||(a=O.atRule({name:"theme",params:"inline",raws:{semicolon:true,between:" ",before:`
114
+ `}}),t.append(a),t.insertBefore(a,O.comment({text:"---break---"})));let c=a.nodes?.find(l=>l.type==="atrule"&&l.name==="keyframes"&&l.params===o),f;if(c?(f=O.atRule({name:"keyframes",params:o,raws:{semicolon:true,between:" ",before:`
115
+ `}}),c.replaceWith(f)):(f=O.atRule({name:"keyframes",params:o,raws:{semicolon:true,between:" ",before:`
116
+ `}}),a.append(f)),typeof s=="object")for(let[l,u]of Object.entries(s))Ge(f,l,u);}else if(i==="utility"){let a=t.nodes?.find(c=>c.type==="atrule"&&c.name===i&&c.params===o);if(a){if(typeof s=="object")for(let[c,f]of Object.entries(s))if(typeof f=="string"){let l=a.nodes?.find(d=>d.type==="decl"&&d.prop===c),u=O.decl({prop:c,value:f,raws:{semicolon:true,before:`
117
+ `}});l?l.replaceWith(u):a.append(u);}else if(c.startsWith("@")&&typeof f=="object"&&f!==null&&Object.keys(f).length===0){let l=c.match(/@([a-zA-Z-]+)\s*(.*)/);if(l){let[,u,d]=l;if(!a.nodes?.find(h=>h.type==="atrule"&&h.name===u&&h.params===d)){let h=O.atRule({name:u,params:d,raws:{semicolon:true,before:`
118
+ `}});a.append(h);}}}else typeof f=="object"&&Ge(a,c,f);}else {let c=O.atRule({name:i,params:o,raws:{semicolon:true,between:" ",before:`
119
+ `}});if(t.append(c),t.insertBefore(c,O.comment({text:"---break---"})),typeof s=="object")for(let[f,l]of Object.entries(s))if(typeof l=="string"){let u=O.decl({prop:f,value:l,raws:{semicolon:true,before:`
120
+ `}});c.append(u);}else if(f.startsWith("@")&&typeof l=="object"&&l!==null&&Object.keys(l).length===0){let u=f.match(/@([a-zA-Z-]+)\s*(.*)/);if(u){let[,d,p]=u;if(!c.nodes?.find(m=>m.type==="atrule"&&m.name===d&&m.params===p)){let m=O.atRule({name:d,params:p,raws:{semicolon:true,before:`
121
+ `}});c.append(m);}}}else typeof l=="object"&&Ge(c,f,l);}}else i==="property"?Ge(t,r,s):ja(t,i,o,s);}else Ge(t,r,s);}}}function ja(e,t,r,s){let n=e.nodes?.find(i=>i.type==="atrule"&&i.name===t&&i.params===r);if(n||(n=O.atRule({name:t,params:r,raws:{semicolon:true,between:" ",before:`
122
+ `}}),e.append(n),e.insertBefore(n,O.comment({text:"---break---"}))),typeof s=="object")for(let[i,o]of Object.entries(s))if(i.startsWith("@")){let a=i.match(/@([a-zA-Z-]+)\s*(.*)/);if(a){let[,c,f]=a;ja(n,c,f,o);}}else Ge(n,i,o);else if(typeof s=="string")try{let o=O.parse(`.temp{${s}}`).first;if(o&&o.nodes){let a=O.rule({selector:"temp",raws:{semicolon:!0,between:" ",before:`
123
+ `}});o.nodes.forEach(c=>{if(c.type==="decl"){let f=c.clone();f.raws.before=`
124
+ `,a.append(f);}}),a.nodes?.length&&n.append(a);}}catch(i){throw console.error("Error parsing at-rule content:",s,i),i}}function Ge(e,t,r){let s=e.nodes?.find(n=>n.type==="rule"&&n.selector===t);if(s||(s=O.rule({selector:t,raws:{semicolon:true,between:" ",before:`
125
+ `}}),e.append(s)),typeof r=="object"){for(let[n,i]of Object.entries(r))if(n.startsWith("@")&&typeof i=="object"&&i!==null&&Object.keys(i).length===0){let o=n.match(/@([a-zA-Z-]+)\s*(.*)/);if(o){let[,a,c]=o;if(!s.nodes?.find(l=>l.type==="atrule"&&l.name===a&&l.params===c)){if(a==="apply"){let u=s.nodes?.find(d=>d.type==="atrule"&&d.name==="apply");if(u){u.params=twMerge(u.params,c);continue}}let l=O.atRule({name:a,params:c,raws:{semicolon:true,before:`
126
+ `}});s.append(l);}}}else if(typeof i=="string"){let o=O.decl({prop:n,value:i,raws:{semicolon:true,before:`
127
+ `}}),a=s.nodes?.find(c=>c.type==="decl"&&c.prop===n);a?a.replaceWith(o):s.append(o);}else if(typeof i=="object"){let o=n.startsWith("&")?t.replace(/^([^:]+)/,`$1${n.substring(1)}`):n;Ge(e,o,i);}}else if(typeof r=="string")try{let i=O.parse(`.temp{${r}}`).first;i&&i.nodes&&i.nodes.forEach(o=>{if(o.type==="decl"){let a=o.clone();a.raws.before=`
128
+ `,s?.append(a);}});}catch(n){throw console.error("Error parsing rule content:",t,r,n),n}}async function cn(e,t,r,s){let n=B(r.resolvedPaths.cwd,false),i=await Ud(r),o=i!=="expo";if(e=Rr(e,n,{skipInstalled:o}),t=Rr(t,n,{skipInstalled:o}),!e?.length&&!t?.length)return;s={silent:false,interactive:true,...s};let a=j("Installing dependencies.",{silent:s.silent})?.start(),c="";if(zd(r)&&i==="npm")if(s.silent||!s.interactive)c="force";else {a.stopAndPersist(),E.warn(`
129
+ It looks like you are using React 19.
130
+ Some packages may fail to install due to peer dependency issues in npm (see ${V}/react-19).
131
+ `);let f=await gl([{type:"select",name:"flag",message:"How would you like to proceed?",choices:[{title:"Use --force",value:"force"},{title:"Use --legacy-peer-deps",value:"legacy-peer-deps"}]}]);f&&(c=f.flag);}a?.start(),await Na(i,e,t,r.resolvedPaths.cwd,c),a?.succeed();}async function MR(e,t,r=[]){let s=B(e,false);t=Rr(t,s),r=Rr(r,s),!(!t.length&&!r.length)&&await Na(await kt(e),t,r,e);}async function DR(e,t){Ve(t);let r=B(e,false);if(t=t.filter(n=>Wd(r,n)),!t.length)return;let s=await kt(e);if(s==="npm"){await execa("npm",["uninstall","--",...t],{cwd:e});return}if(s==="deno"){let n=S__default.resolve(e,"package.json"),i=await te.readJson(n);for(let o of ["dependencies","devDependencies","optionalDependencies","peerDependencies"])for(let a of t)delete i[o]?.[a];await te.writeJson(n,i,{spaces:2});return}await execa(s,["remove","--",...t],{cwd:e});}function Rr(e=[],t,{skipInstalled:r=true}={}){let s=new Set([...Object.keys(t?.dependencies??{}),...Object.keys(t?.devDependencies??{}),...Object.keys(t?.optionalDependencies??{}),...Object.keys(t?.peerDependencies??{})]),n=new Map;for(let i of e){let o=Vd(i);if(!o){n.set(i,{dependency:i,hasSpecifier:true});continue}if(r&&!o.hasSpecifier&&s.has(o.name))continue;let a=n.get(o.name);(!a||!a.hasSpecifier&&o.hasSpecifier)&&n.set(o.name,{dependency:i,hasSpecifier:o.hasSpecifier});}return Array.from(n.values()).map(({dependency:i})=>i)}function Vd(e){if(/^[a-z][a-z0-9+.-]*:/i.test(e))return null;let t=e.startsWith("@")?e.match(/^(@[^/]+\/[^@/]+)(@.+)?$/):e.match(/^([^@/]+)(@.+)?$/);return t?{name:t[1],hasSpecifier:!!t[2]}:null}function Wd(e,t){return !!(e?.dependencies?.[t]??e?.devDependencies?.[t]??e?.optionalDependencies?.[t]??e?.peerDependencies?.[t])}function zd(e){let t=B(e.resolvedPaths.cwd,false);if(!t?.dependencies?.react)return false;let r=/^(?:\^|~)?19(?:\.\d+)*(?:-.*)?$/.test(t.dependencies.react),s=t.dependencies["react-day-picker"]?.startsWith("8");return r&&s}async function Ud(e){return B(e.resolvedPaths.cwd,false)?.dependencies?.expo?"expo":kt(e.resolvedPaths.cwd)}function Ve(e){for(let t of e)if(t.trim().startsWith("-"))throw new Error(`Invalid dependency "${t}": dependency names cannot start with "-".`)}async function Na(e,t,r,s,n){if(e==="npm")return Kd(t,r,s,n);if(e==="deno")return Bd(t,r,s);if(e==="expo")return qd(t,r,s);Ve(t),Ve(r),t?.length&&await execa(e,["add","--",...t],{cwd:s}),r?.length&&await execa(e,["add","-D","--",...r],{cwd:s});}async function Kd(e,t,r,s){Ve(e),Ve(t),e.length&&await execa("npm",["install",...s?[`--${s}`]:[],"--",...e],{cwd:r}),t.length&&await execa("npm",["install",...s?[`--${s}`]:[],"-D","--",...t],{cwd:r});}async function Bd(e,t,r){e?.length&&await execa("deno",["add",...e.map(s=>`npm:${s}`)],{cwd:r}),t?.length&&await execa("deno",["add","-D",...t.map(s=>`npm:${s}`)],{cwd:r});}async function qd(e,t,r){Ve(e),Ve(t),e.length&&await execa("npx",["expo","install","--",...e],{cwd:r}),t.length&&await execa("npx",["expo","install","-- -D","--",...t],{cwd:r});}async function un(e,t,r){if(!e||Object.keys(e).length===0)return {envVarsAdded:[],envFileUpdated:null,envFileCreated:null};r={silent:false,...r};let s=j("Adding environment variables.",{silent:r.silent})?.start(),n=t.resolvedPaths.cwd,i=S__default.join(n,".env.local"),o=Zt(n);o&&(i=o);let a=existsSync(i),c=S__default.basename(i),f=Object.entries(e).map(([p,h])=>`${p}=${h}`).join(`
132
+ `),l=[],u=null,d=null;if(a){let p=await promises.readFile(i,"utf-8"),h=Qt(p,f);if(l=Xt(p,f),l.length>0){if(await promises.writeFile(i,h,"utf-8"),u=S__default.relative(n,i),s?.succeed(`Added the following variables to ${P.info(c)}:`),!r.silent)for(let m of l)E.log(` ${P.success("+")} ${m}`);}else s?.stop();}else if(await promises.writeFile(i,f+`
133
+ `,"utf-8"),d=S__default.relative(n,i),l=Object.keys(e),s?.succeed(`Added the following variables to ${P.info(c)}:`),!r.silent)for(let p of l)E.log(` ${P.success("+")} ${p}`);return !r.silent&&l.length>0&&E.break(),{envVarsAdded:l,envFileUpdated:u,envFileCreated:d}}var th=new Set(["--font-sans","--font-serif","--font-mono"]);async function fn(e,t){if(!e.fonts?.length)return e;let r=await X(t.resolvedPaths.cwd);if(!r)return e;e.cssVars??={},e.cssVars.theme??={};let s=r.framework.name==="next-app"||r.framework.name==="next-pages";for(let n of e.fonts)if(s)e.cssVars.theme[n.font.variable]=`var(${n.font.variable})`;else {let i=n.name.replace("font-",""),o=n.font.dependency??`@fontsource-variable/${i}`;e.dependencies??=[],e.dependencies.push(o),e.css??={},e.css[`@import "${o}"`]={},e.cssVars.theme[n.font.variable]=n.font.family;}if(e.fonts.length>0){let n=new Map;for(let i of e.fonts){let o=i.font.selector??oh(i.font.variable);if(!o)continue;let a=i.font.variable.replace("--","");n.has(o)||n.set(o,[]),n.get(o).push(a);}e.css??={},e.css["@layer base"]??={};for(let[i,o]of Array.from(n.entries())){let a=o.join(" ");e.css["@layer base"][i]??={};let c=Object.keys(e.css["@layer base"][i]).find(f=>f.startsWith("@apply "));c?(delete e.css["@layer base"][i][c],e.css["@layer base"][i][`${c} ${a}`]={}):e.css["@layer base"][i][`@apply ${a}`]={};}}return e}async function pn(e,t,r){if(!e?.length)return;let s=await X(t.resolvedPaths.cwd);if(!s||s.framework.name!=="next-app"&&s.framework.name!=="next-pages")return;let n=j("Updating fonts.",{silent:r.silent})?.start();try{await rh(e,t,s),n?.succeed("Updating fonts.");}catch(i){throw n?.fail("Failed to update fonts."),i}}async function rh(e,t,r){let s=await sh(t,r);if(!s)return;let n=await promises.readFile(s,"utf-8"),i=await nh(n,e,t);i!==n&&await promises.writeFile(s,i,"utf-8");}async function sh(e,t){let r=e.resolvedPaths.cwd,s=t.isSrcDir,i=t.isTsx?"tsx":"jsx",o=s?[`src/app/layout.${i}`,`app/layout.${i}`]:[`app/layout.${i}`];for(let a of o){let c=S__default.join(r,a);if(existsSync(c))return c}return null}async function nh(e,t,r){let n=new Project({compilerOptions:{}}).createSourceFile("layout.tsx",e,{scriptKind:ScriptKind.TSX}),i=t.filter(u=>u.font.provider==="google"),o=[],a=[];for(let u of i){let d=u.font.import;if(!d)continue;let p=n.getImportDeclaration(w=>w.getModuleSpecifierValue()==="next/font/google"),h=false;p?(h=p.getNamedImports().some(b=>b.getName()===d),h||p.addNamedImport(d)):n.addImportDeclaration({moduleSpecifier:"next/font/google",namedImports:[d]});let m=ch(d,u.font.variable),g=ih(u),x=fh(n,u.font.variable),y=m;if(!(h&&!x&&Er(u.font.variable)&&!ph(n,d))){if(x)x.setInitializer(`${d}(${g})`),x.getName()!==m&&x.rename(m),y=m;else {let w=dh(n);n.insertVariableStatement(w,{declarationKind:VariableDeclarationKind.Const,declarations:[{name:m,initializer:`${d}(${g})`}]}).appendWhitespace(`
134
+ `);}o.push(y),ah(u)&&a.push(u.font.variable.replace("--",""));}}let c=new Set(["font-sans","font-serif","font-mono"]),f=[...a].reverse().find(u=>c.has(u)),l=a.filter(u=>!c.has(u));return f&&l.unshift(f),o.length>0&&hh(n,o,l,r),n.getFullText()}function ih(e){let t={};return e.font.subsets?.length&&(t.subsets=e.font.subsets),e.font.weight?.length&&(t.weight=e.font.weight),t.variable=e.font.variable,JSON.stringify(t).replace(/"([^"]+)":/g,"$1:").replace(/"/g,"'")}function Er(e){return th.has(e)}function oh(e){return Er(e)?"html":null}function ah(e){return !e.font.selector&&Er(e.font.variable)}function ch(e,t){let r=lh(e);return Er(t)?r:`${r}${uh(t.replace(/^--font-/,""))}`}function lh(e){return e.split("_").map((t,r)=>r===0?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join("")}function uh(e){return e.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join("")}function fh(e,t){let r=e.getVariableStatements();for(let s of r)for(let n of s.getDeclarations()){let i=n.getInitializer();if(!i||i.getKind()!==SyntaxKind.CallExpression)continue;let a=i.getArguments();if(a.length===0)continue;let c=a[0].getText();if(c.includes("variable:")&&c.includes(t))return n}return null}function ph(e,t){let r=e.getVariableStatements();for(let s of r)for(let n of s.getDeclarations()){let i=n.getInitializer();if(!i||i.getKind()!==SyntaxKind.CallExpression)continue;let o=i;if(o.getExpression().getText()!==t)continue;let a=o.getArguments();if(!a.length)continue;let c=a[0].getText();if(c.includes("variable:")&&c.includes("--font-heading"))return true}return false}function dh(e){let t=e.getImportDeclarations();return t.length>0?t[t.length-1].getChildIndex()+1:0}function hh(e,t,r,s){let n=e.getDescendantsOfKind(SyntaxKind.JsxOpeningElement);for(let i of n){if(i.getTagNameNode().getText()!=="html")continue;let a=r.map(p=>`"${p}"`),c=t.map(p=>`${p}.variable`),f=[...a,...c],l=i.getAttribute("className");if(!l){$t(e,s),i.addAttribute({name:"className",initializer:`{cn(${f.join(", ")})}`});return}if(l.getKind()!==SyntaxKind.JsxAttribute)return;let u=l.asKindOrThrow(SyntaxKind.JsxAttribute),d=u.getInitializer();if(!d)return;if(d.getKind()===SyntaxKind.StringLiteral){let p=d.getText().slice(1,-1);$t(e,s),u.setInitializer(`{cn("${p}", ${f.join(", ")})}`);}else if(d.getKind()===SyntaxKind.JsxExpression){let p=d.asKindOrThrow(SyntaxKind.JsxExpression),h=p.getExpression();if(!h)return;let m=h.getText();if(m.startsWith("cn(")){let g=c.every(v=>m.includes(v)),x=r.every(v=>m.includes(`"${v}"`)),y=["font-sans","font-serif","font-mono"].filter(v=>!r.includes(v)).some(v=>m.includes(`"${v}"`));if(g&&x&&!y)continue;let w=gh(m,c);w=yh(w);let b=wh(w,f);p.replaceWithText(`{${b}}`);}else if(/^\w+\.variable$/.test(m)){if(c.includes(m)&&r.length===0)continue;$t(e,s);let x=(m.split(".")[0]??"").toLowerCase().includes("heading")||r.length===0;p.replaceWithText(x?`{cn(${m}, ${f.join(", ")})}`:`{cn(${f.join(", ")})}`);}else if(m.startsWith("`")&&m.endsWith("`")){let g=mh(m);$t(e,s);let x=new Set(f),y=new Set(["font-sans","font-serif","font-mono"].map(b=>`"${b}"`)),w=g.filter(b=>!x.has(b)&&!y.has(b));p.replaceWithText(`{cn(${[...w,...f].join(", ")})}`);}else $t(e,s),p.replaceWithText(`{cn(${m}, ${f.join(", ")})}`);}}}function $t(e,t){if(!e.getImportDeclaration(s=>s.getNamedImports().some(i=>i.getName()==="cn"))){let s=e.getImportDeclaration(n=>n.getModuleSpecifierValue().includes("/lib/utils"));s?s.getNamedImports().some(i=>i.getName()==="cn")||s.addNamedImport("cn"):e.addImportDeclaration({moduleSpecifier:t.aliases.utils,namedImports:["cn"]});}}function mh(e){let t=[],r=[],n=e.slice(1,-1).split(/(\$\{[^}]+\})/);for(let i of n)if(i)if(i.startsWith("${")&&i.endsWith("}")){let o=i.slice(2,-1).trim();o&&r.push(o);}else {let o=i.trim().split(/\s+/).filter(Boolean);for(let a of o)t.push(`"${a}"`);}return [...t,...r]}function gh(e,t){let r=e;for(let s of t)r=r.replace(new RegExp(`,?\\s*${s.replace(".","\\.")}`,"g"),"").replace(/cn\(\s*,/,"cn(");return r}function yh(e){let t=e;for(let r of ["font-sans","font-serif","font-mono"])t=t.replace(new RegExp(`,?\\s*"${r}"`,"g"),"").replace(/cn\(\s*,/,"cn(");return t}function wh(e,t){let r=t.join(", ");return e.replace(/\)$/,`, ${r})`)}async function Ma(e,t,r){r={overwrite:false,silent:false,interactive:true,isNewProject:false,...r};let s=await Gn(t);return s&&s.ui&&s.ui.resolvedPaths.cwd!==t.resolvedPaths.cwd?await vh(e,t,s,{...r,isRemote:e?.length===1&&!!e[0].match(/\/chat\/b\//)}):await bh(e,t,{...r,skipFonts:r.skipFonts})}async function bh(e,t,r){if(!e.length)return;let s=await Da(e,t,r),n=await Fe(t);r.skipFonts||(s=await fn(s,t));let i=nn([s]);await cn(s.dependencies,s.devDependencies,t,{silent:r.silent,interactive:r.interactive}),await Yr(s.tailwind?.config,t,{silent:r.silent,tailwindVersion:n}),await un(s.envVars,t,{silent:r.silent}),r.skipFonts||await pn(s.fonts,t,{silent:r.silent}),await Lr(s.files,t,{overwrite:r.overwrite,silent:r.silent,interactive:r.interactive,path:r.path,supportedFontMarkers:i});let o=await La(s,e,t,r.overwriteCssVars);await an(s.css,t,{silent:r.silent,cssVars:s.cssVars,cleanupDefaultNextStyles:r.isNewProject,overwriteCssVars:o,tailwindVersion:n,tailwindConfig:s.tailwind?.config}),s.docs&&E.info(s.docs);}async function vh(e,t,r,s){if(!e.length)return;let n=await Da(e,t,s),i=[],o=[],a=[],c=j("Installing components.")?.start(),f=r.ui,l=await Fe(f),u=Bt(t.resolvedPaths.cwd,f.resolvedPaths.ui);n=await fn(n,t);let d=nn([n]);await cn(n.dependencies,n.devDependencies,f,{silent:true,interactive:s.interactive}),n.tailwind?.config&&(await Yr(n.tailwind?.config,f,{silent:true,tailwindVersion:l}),o.push(S__default.relative(u,f.resolvedPaths.tailwindConfig))),n.envVars&&await un(n.envVars,f,{silent:true}),await pn(n.fonts,t,{silent:true});let p=new Map,h={"registry:ui":"ui","registry:hook":"hooks","registry:lib":"lib"},m=R=>er(R.target)??h[R.type||"registry:ui"]??"components",g=R=>R&&r[R]?r[R]:t;for(let R of n.files??[]){let I=m(R);p.has(I)||p.set(I,[]),p.get(I).push(R);}for(let R of Array.from(p.keys())){let I=p.get(R),k=g(R),T=(n.files??[]).filter(Oe=>g(m(Oe)).resolvedPaths.cwd===k.resolvedPaths.cwd),H=Bt(t.resolvedPaths.cwd,k.resolvedPaths.ui||k.resolvedPaths.cwd),ee=await jr(H,k.resolvedPaths.cwd)??k.resolvedPaths.cwd,Ir=await Lr(I,k,{overwrite:s.overwrite,silent:true,interactive:s.interactive,rootSpinner:c,isRemote:s.isRemote,isWorkspace:true,path:s.path,plannedFiles:T,supportedFontMarkers:d});i.push(...Ir.filesCreated.map(Oe=>S__default.relative(H,S__default.join(ee,Oe)))),o.push(...Ir.filesUpdated.map(Oe=>S__default.relative(H,S__default.join(ee,Oe)))),a.push(...Ir.filesSkipped.map(Oe=>S__default.relative(H,S__default.join(ee,Oe))));}let x=await La(n,e,t,s.overwriteCssVars);await an(n.css,f,{silent:true,cssVars:n.cssVars,overwriteCssVars:x,tailwindVersion:l,tailwindConfig:n.tailwind?.config}),(n.cssVars||n.css)&&o.push(S__default.relative(u,f.resolvedPaths.tailwindCss)),c?.succeed();let y=Array.from(new Set(i)).sort(),w=Array.from(new Set(o.filter(R=>!i.includes(R)))).sort(),b=Array.from(new Set(a)).sort();if(!(y.length||w.length)&&!b.length&&j("No files updated.",{silent:s.silent})?.info(),y.length){j(`Created ${y.length} ${y.length===1?"file":"files"}:`,{silent:s.silent})?.succeed();for(let R of y)E.log(` - ${R}`);}if(w.length){j(`Updated ${w.length} ${w.length===1?"file":"files"}:`,{silent:s.silent})?.info();for(let R of w)E.log(` - ${R}`);}if(b.length){j(`Skipped ${b.length} ${b.length===1?"file":"files"}: (use --overwrite to overwrite)`,{silent:s.silent})?.info();for(let R of b)E.log(` - ${R}`);}n.docs&&E.info(n.docs);}async function Da(e,t,r){let s=j("Checking registry.",{silent:r.silent})?.start(),n=r.resolvedTree??await tt(e,oe(t));if(!n)throw s?.fail(),new Error("Failed to fetch components from registry.");try{Sh(n.files??[],t.resolvedPaths.cwd);}catch(i){throw s?.fail(),i}return s?.succeed(),n}async function La(e,t,r,s){if(!(!e.cssVars||Object.keys(e.cssVars).length===0))return s??Rh(t,r)}async function Rh(e,t){let r=await sn(e,{config:t});return z$1.array(n).parse(r).some(n=>n.type==="registry:theme"||n.type==="registry:style"||n.type==="registry:font"||n.type==="registry:base")}function Sh(e,t){for(let r of e){let s=r?.target??r?.path;if(s&&!ka(s,t))throw new Error(`We found an unsafe file path "${s}" in the registry item. Installation aborted.`)}}async function Ha(e=process.cwd(),t={}){let r=t.processEnv??process.env;try{let{config:s}=await import('@dotenvx/dotenvx'),n=[".env.local",".env.development.local",".env.development",".env"];for(let i of n){let o=join(e,i);existsSync(o)&&s({path:o,overload:!1,quiet:!0,processEnv:r});}}catch(s){E.warn("Failed to load env files:",s);}return r}async function Ch(e,t={}){if(e.length===0)return;let{config:r,cwd:s,...n}=t,i=d$1.safeParse(r);if(!i.success&&r&&"resolvedPaths"in r){let l=typeof r.resolvedPaths?.cwd=="string"?r.resolvedPaths.cwd:void 0;throw new ze(S__default.resolve(s??l??process.cwd()),i.error,"config")}let o=i.success?i.data.resolvedPaths.cwd:void 0,a=S__default.resolve(s??o??process.cwd());if(s!==void 0&&o!==void 0&&a!==S__default.resolve(o))throw new Error("The provided cwd must match config.resolvedPaths.cwd.");let c=oe(i.success?i.data:{...r,resolvedPaths:{...r?.resolvedPaths,cwd:a}}),f=await Ha(a,{processEnv:{...process.env}});return Se(async()=>{let l=await tt(e,c,{useCache:true,requireUniversal:!i.success});if(!l)throw new Error("Failed to fetch components from registry.");if(!i.success&&!kh(l,c))throw new Error("A full project config is required to resolve target aliases.");await Ma(e,c,{...n,interactive:false,overwriteCssVars:t.overwriteCssVars??(i.success?void 0:false),resolvedTree:l});},{env:f})}function kh(e,t){return (e.files??[]).every(r=>{let s=er(r.target);return !s||!!t.resolvedPaths[s]})}function YS(e,t){return e.length>0?e:Object.keys(t?.registries??{}).filter(r=>!(r in q))}var $h=8;async function Ph(e,t,r){let s=new Array(e.length),n=0;async function i(){for(;n<e.length;){let a=n++;try{s[a]={status:"fulfilled",value:await r(e[a])};}catch(c){s[a]={status:"rejected",reason:c};}}}let o=Array.from({length:Math.min(t,e.length)},()=>i());return await Promise.all(o),s}async function Ah(e,t){return Se(()=>Oh(e,t))}async function Oh(e,t){let{query:r,types:s,limit:n,offset:i,config:o,useCache:a=false,continueOnError:c}=t||{},f=[],l=e.length===1,u=s?.map(I=>Dh(I)),d=l?{query:r,types:u,limit:n,offset:i}:{query:r,types:u,limit:n!==void 0?(i||0)+n:void 0,offset:void 0},p=await Ph(e,$h,I=>rn(I,{config:o,useCache:a,searchParams:d})),h=[],m=[];for(let I=0;I<e.length;I++){let k=e[I],T=p[I];if(T.status==="rejected"){if(!c)throw T.reason;f.push({registry:k,message:T.reason instanceof Error?T.reason.message:String(T.reason)});continue}let H=(T.value.items||[]).map(ee=>({name:ee.name,title:ee.title,type:ee.type,description:ee.description,registry:k,addCommandArgument:Fh(ee.name,k)}));if(T.value.pagination){m.push({items:H,pagination:T.value.pagination});continue}h=h.concat(H);}if(l&&m.length===1){let[I]=m;return y.parse({pagination:I.pagination,items:I.items})}if(s?.length){let I=new Set(s.map(k=>nt(k).toLowerCase()));h=h.filter(k=>k.type&&I.has(nt(k.type).toLowerCase()));}r&&(h=_h(h,{query:r,limit:h.length,keys:["name","title","description"]}));let g=m.flatMap(I=>I.items).concat(h),x=m.reduce((I,k)=>I+k.pagination.total,0),y$1=i||0,w=n||g.length,b=x+h.length,v=m.some(I=>I.pagination.hasMore&&d.limit!==void 0&&I.items.length>=d.limit),R={pagination:{total:b,offset:y$1,limit:w,hasMore:y$1+w<g.length||v},items:g.slice(y$1,y$1+w),...f.length>0?{errors:f}:{}};return y.parse(R)}var jh=z$1.object({name:z$1.string(),title:z$1.string().optional(),type:z$1.string().optional(),description:z$1.string().optional(),registry:z$1.string().optional(),addCommandArgument:z$1.string().optional()}).passthrough();function _h(e,t){t={limit:100,threshold:-1e4,...t};let s=Th.go(t.query,e,{keys:t.keys,threshold:t.threshold,limit:t.limit}).map(n=>n.obj);return z$1.array(jh).parse(s)}function Nh(e){try{return new URL(e),!0}catch{return false}}function Fh(e,t){let r=gt(t);if(r){let p=`${r.owner}/${r.repo}/${e}`;return r.ref?`${p}#${r.ref}`:p}if(!Nh(t))return `${t}/${e}`;let s=t.indexOf("://")+3,n=t.indexOf("/",s);if(n===-1){let p=t.indexOf("?",s);if(p!==-1){let h=t.substring(0,p),g=t.substring(p).replace(/\bregistry\b/g,e);return h+g}return t}let i=t.substring(0,n),o=t.substring(n),a=o.indexOf("?")!==-1?o.indexOf("?"):o.length,c=o.substring(0,a),f=o.substring(a),l=c.lastIndexOf("registry"),u=c;l!==-1&&(u=c.substring(0,l)+e+c.substring(l+8));let d=f.replace(/\bregistry\b/g,e);return i+u+d}var Mh=80;function nt(e){return e?e.startsWith("registry:")?e.slice(9):e:""}function Dh(e){return e.startsWith("registry:")?e:`registry:${e}`}var Lh=["registry:example","registry:internal"],Hh=f.options.filter(e=>!Lh.includes(e)).map(e=>nt(e));function ZS(e){let t=new Set(Hh.map(r=>r.toLowerCase()));return e.filter(r=>!t.has(nt(r).toLowerCase()))}function Gh(e,t=Mh){let r=e.trim().replace(/\s+/g," ");if(r.length<=t)return r;let s=r.slice(0,t-3).trimEnd(),n=s.lastIndexOf(" ");return `${(n>t*.6?s.slice(0,n):s).trimEnd()}...`}function Vh(e,t){let r=e.addCommandArgument??e.name,s=nt(e.type),n=s?` (${s})`:"",i=t.showRegistry&&e.registry?` \xB7 ${e.registry}`:"",o=e.description?` \u2014 ${Gh(e.description)}`:"";return `- ${P.info(r)}${n}${i}${o}`}function Ga(e){let{query:t,types:r,registries:s}=e,n="";return r?.length&&(n+=` of type ${r.map(i=>nt(i)).join(", ")}`),t&&(n+=` matching ${P.info(`"${t}"`)}`),s.length>0&&(n+=` in ${s.join(", ")}`),n}function XS(e,t){let{pagination:r,items:s,errors:n}=e,i=t.registries.length>1;if(n?.length){for(let{registry:f,message:l}of n)E.warn(`Skipped ${f}: ${l}`);E.break();}if(s.length===0){E.warn(`No items found${Ga(t)}.`);return}let o=`${r.total} item${r.total===1?"":"s"}`;E.info(`Found ${o}${Ga(t)}`);let a=r.offset+1,c=Math.min(r.offset+r.limit,r.total);E.log(`Showing ${a}-${c} of ${r.total}`),E.break(),E.log(s.map(f=>Vh(f,{showRegistry:i})).join(`
135
+ `)),r.hasMore&&(E.break(),E.log(`More items available. Use ${P.info(`--offset ${r.offset+r.limit}`)} to see the next page.`));}var hn=32;async function Wh(e){let{cwd:t,registryFile:r}=Ya(e),s=await Wa(r,{cwd:t}),n=Za(s,t,r);return Uh(s,n,t)}async function zh(e,t){let{cwd:r,registryFile:s}=Ya(t),n=await Wa(s,{cwd:r}),i=n.registry.items.find(a=>a.name===e);if(!i)throw new Ne(e);let o=Za(n,r,s);return Kh(i,n,o,r)}async function Wa(e,t){let r=S.resolve(t.cwd,e),s=await Ba(r),n=qa(s,r);Va(n,r);let i={cwd:S.resolve(t.cwd),itemSources:new Map,itemSourcesByItem:new Map,firstIncludedFrom:new Map},o=!!n.include?.length;if(!o)return n.items.forEach((l,u)=>{let d={registryFile:r,registryDir:i.cwd,itemIndex:u};i.itemSources.set(l.name,d),i.itemSourcesByItem.set(l,d);}),{registry:n,itemSources:i.itemSources,itemSourcesByItem:i.itemSourcesByItem,usesInclude:o};if(S.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 Ka(r,n,i,[]);Xh(a.items,i.itemSourcesByItem);let{include:c,...f}=a;return Va(f,r),{registry:f,itemSources:i.itemSources,itemSourcesByItem:i.itemSourcesByItem,usesInclude:o}}function Uh(e,t,r){return {...e.registry,items:e.registry.items.map(s=>qh(za(s,e.itemSourcesByItem,t,r)))}}async function Kh(e,t,r,s){let n$1={...za(e,t.itemSourcesByItem,r,s),$schema:"https://ui.shadcn.com/schema/registry-item.json"};return await Promise.all((e.files??[]).map(async(i,o)=>{let a=n$1.files?.[o];if(!a)return;let c=t.itemSourcesByItem.get(e),f=Ua(e,i.path,t.itemSourcesByItem,s);a.content=await Bh(e.name,i.path,f,c);})),n.parse(n$1)}async function Bh(e,t,r,s){try{return await mo.readFile(r,"utf-8")}catch(n){throw new ue(r,n,{message:`Failed to read file "${t}" for registry item "${e}" (${Pt(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 za(e,t,r,s){return {...e,files:e.files?.map(n=>({...n,path:Jh(e,n.path,t,r,s)}))}}function qh(e){return {...e,files:e.files?.map(({content:t,...r})=>r)}}function Ua(e,t,r,s){let n=r.get(e);return S.resolve(n?.registryDir??s,t)}function Jh(e,t,r,s,n){let i=Ua(e,t,r,n);return S.relative(s,i).split(S.sep).join("/")}async function Ka(e,t,r,s){if(Ja(e,r.cwd),s.length>=hn)throw new $(`Registry include tree is too deep at ${e}. The maximum include depth is ${hn}.`,{registryFile:e,context:{maxDepth:hn},suggestion:"Flatten part of the registry include tree or reduce nested include depth."});if(s.includes(e))throw new $(Qh([...s,e]),{registryFile:e});let n=s.at(-1)??e,i=r.firstIncludedFrom.get(e);if(i)throw new $(`Registry file included more than once: ${e}.
136
+ - first included from ${i}
137
+ - included again from ${n}
138
+ 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:i,secondSource:n}});r.firstIncludedFrom.set(e,n);let o=[...s,e],a=S.dirname(e),c=[];for(let f of t.include??[]){let l=Yh(f,a,r.cwd,e),u=await Ba(l),d=qa(u,l),p=await Ka(l,d,r,o);c.push(...p.items);}return t.items.forEach((f,l)=>{Zh(f,e,a),r.itemSources.set(f.name,{registryFile:e,registryDir:a,itemIndex:l}),r.itemSourcesByItem.set(f,{registryFile:e,registryDir:a,itemIndex:l});}),{...t,items:[...c,...t.items]}}async function Ba(e){try{return await mo.readFile(e,"utf-8")}catch(t){throw new ue(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 qa(e,t){let r;try{r=JSON.parse(e);}catch(n){throw new W(t,n,{subject:"registry file",context:{registryFile:t},suggestion:"Fix the JSON syntax in the registry.json file and try again."})}let s=p.safeParse(r);if(!s.success)throw new $(`Invalid registry file at ${t}:
139
+ ${em(s.error)}`,{registryFile:t,cause:s.error,suggestion:"Update the registry.json file so it matches the registry schema."});return s.data}function Va(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 Yh(e,t,r,s){if(L(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(S.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(Xa(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(S.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 n=S.resolve(t,e);return Ja(n,r),n}function Ja(e,t){if(!Qa(e,t))throw new $(`Invalid registry file at ${e}: registry includes must stay inside ${t}.`,{registryFile:e,context:{cwd:t}})}function Ya(e){return {cwd:S.resolve(e?.cwd??process.cwd()),registryFile:e?.registryFile??"registry.json"}}function Za(e,t,r){return e.usesInclude?S.dirname(S.resolve(t,r)):t}function Zh(e,t,r){for(let s of e.files??[]){if(L(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(S.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(Xa(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 n=S.resolve(r,s.path);if(!Qa(n,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 Xh(e,t){let r=new Map;for(let s of e){let n=r.get(s.name);if(!n){r.set(s.name,s);continue}let i=t.get(n),o=t.get(s);throw new $(`Duplicate registry item name "${s.name}". Registry item names must be unique.
140
+ - ${Pt(i)}
141
+ - ${Pt(o)}
142
+ Rename one of these items so each name is unique across the resolved registry.`,{context:{itemName:s.name,firstSource:Pt(i),secondSource:Pt(o)}})}}function Xa(e){return e.split(/[\\/]+/).includes("..")}function Qa(e,t){let r=S.relative(t,e);return !!r&&!r.startsWith("..")&&!S.isAbsolute(r)}function Qh(e){return `Registry include cycle detected:
143
+ ${e.map(t=>` - ${t}`).join(`
144
+ `)}`}function Pt(e){return e?`${e.registryFile} items[${e.itemIndex}]`:"unknown source"}function em(e){return e.errors.map(t=>` - ${t.path.length?t.path.join("."):"(root)"}: ${t.message}`).join(`
145
+ `)}export{ig as $,Hh as $a,B as A,Rd as Aa,Kn as B,oR as Ba,Me as C,X as Ca,j as D,bg as Da,tr as E,Fe as Ea,sr as F,vg as Fa,ir as G,nn as Ga,or as H,wR as Ha,ei as I,on as Ia,ti as J,Aa as Ja,ar as K,an as Ka,cr as L,Dd as La,Sl as M,cn as Ma,ci as N,MR as Na,L as O,DR as Oa,ui as P,fn as Pa,gt as Q,pn as Qa,Se as R,Ma as Ra,wi as S,Ha as Sa,tg as T,Wh as Ta,rg as U,zh as Ua,sg as V,Wa as Va,ng as W,Uh as Wa,Ut as X,Kh as Xa,ht as Y,Ch as Ya,Kt as Z,YS as Za,Gn as _,Ah as _a,V as a,Wn as aa,ZS as ab,jn as b,oe as ba,XS as bb,q as c,Cw as ca,rm as d,Je as da,sm as e,Rx as ea,P as f,Ee as fa,E as g,tt as ga,$m as h,kt as ha,Pm as i,Iv as ia,Am as j,wa as ja,dc as k,br as ka,G as l,rn as la,F as m,sn as ma,_e as n,yd as na,it as o,wd as oa,ot as p,xd as pa,at as q,qt as qa,ge as r,tR as ra,ue as s,rR as sa,W as t,sR as ta,$ as u,lr as ua,Ne as v,bd as va,ct as w,nR as wa,lt as x,iR as xa,ut as y,Ia as ya,ye as z,vd as za};