shadcn 4.17.0 → 4.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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-7SBJAAAY.js';import fa,{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 qt from'fast-glob';import {loadConfig,createMatchPath}from'tsconfig-paths';import {cosmiconfig}from'cosmiconfig';import hp,{tmpdir,homedir}from'os';import zc from'ora';import {Project,SyntaxKind,ScriptKind,VariableDeclarationKind,QuoteKind}from'ts-morph';import {transformFromAstSync}from'@babel/core';import {parse}from'@babel/parser';import Qc from'@babel/plugin-transform-typescript';import*as tr from'recast';import hl from'prompts';import {AsyncLocalStorage}from'async_hooks';import Ze from'deepmerge';import {createHash}from'crypto';import {SocksClient}from'socks';import {EnvHttpProxyAgent,Agent}from'undici';import {execa}from'execa';import nf from'stringify-object';import ae,{cwd}from'process';import sp from'readline';import dp from'events';import*as ho from'fs/promises';import ho__default from'fs/promises';import {createRequire}from'module';import {spawn}from'child_process';import {PassThrough}from'stream';import mp from'tty';import O from'postcss';import Sd from'postcss/lib/at-rule';import {twMerge}from'tailwind-merge';import Ih from'fuzzysort';var je=process.env.REGISTRY_URL??"https://ui.shadcn.com/r",V=je.replace(/\/r\/?$/,""),Nt="new-york-v4",An=[{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"}],B={"@shadcn":`${je}/styles/{style}/{name}.json`};var Qh=[{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."}],em=[{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";}},Ft=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";}},me=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";}},le=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";}},L=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 We=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 Xa=/^(@[a-zA-Z0-9](?:[a-zA-Z0-9-_]*[a-zA-Z0-9])?)\/(.+)$/;function ge(e){if(!e.startsWith("@"))return {registry:null,item:e};let t=e.match(Xa);return t?{registry:t[1],item:t[2]}:{registry:null,item:e}}var q={"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 Mt(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 Dt(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=kr(e,n.key,{allowBareAliasBase:true});if(i!==null)return {path:S__default.resolve(n.rootDir,sc(n.target,i)),matchedAlias:n.key,matchedTarget:n.target,emitMode:n.emitMode}}return null}function kr(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 sc(e,t){if(!e.includes("*"))return e;let[r,s=""]=e.split("*");return t?`${r}${t}${s}`:r.replace(/\/$/,"")}function Z(e="",t=true){let r=S__default.join(e,"package.json");return te.readJSONSync(r,{throws:t})}var Tr=new Map;function $r(e){let t=S__default.resolve(e),r=Tr.get(t);if(r)return r;let n=Z(e,false)?.imports;if(!n||typeof n!="object"||Array.isArray(n))return Tr.set(t,[]),[];let i=[];for(let[o,a]of Object.entries(n)){if(!o.startsWith("#"))continue;let c=Mt(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 Tr.set(t,i),i}function jn(e){let t=$r(e).map(r=>r.aliasBase);return t.length?lc(t):null}function pt(e,t){return Dt(e,$r(t))}function _n(e){let t=$r(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:ac(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 ac(e,t){let r=e.aliasBase.toLowerCase(),s=cc(e.target).toLowerCase();switch(t){case "components":return r.endsWith("/ui")||s.includes("/components/ui")?0:Ht(r,"components")?4:Ht(s,"components")?3:0;case "ui":return r.endsWith("/ui")||r==="#ui"?5:s.includes("/components/ui")?4:s.endsWith("/ui")?3:0;case "lib":return r==="#lib"||r.endsWith("/lib")?5:s.endsWith("/lib")?4:Ht(s,"lib")?3:0;case "hooks":return r==="#hooks"||r.endsWith("/hooks")?5:s.endsWith("/hooks")?4:Ht(s,"hooks")?3:0;case "utils":return r==="#utils"||r.endsWith("/utils")?5:s.endsWith("/lib/utils")?4:s.endsWith("/utils")?3:0}}function cc(e){return e.replace(/\/\*$/,"").replace(/\*$/,"").replace(/\/index\.[^/]+$/,"")}function Ht(e,t){return e===t||e.includes(`/${t}`)||e.includes(`${t}/`)}function lc(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 uc=["next.config.*","vite.config.*","astro.config.*","remix.config.*","nuxt.config.*","svelte.config.*","gatsby-config.*","angular.json"];async function Cm(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 km(e){let t=await Gt(e);if(!t.length)return [];let r=await qt(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=uc.some(c=>qt.sync(c,{cwd:i,dot:true}).length>0);(o||a)&&s.push({name:n,hasConfig:o});}return s}function Tm(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 Gt(e){let t=[],r=S__default.resolve(e,"pnpm-workspace.yaml");if(te.existsSync(r)){let n=await te.readFile(r,"utf8");t.push(...fc(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 fc(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 Fn=new Map,Pr=new Map,Vt=new Map;async function Mn(e,t){let r=xc(e);if(!r)return null;let s=await mc(t,r.packageName);return s?Dt(e,hc(s)):null}function hc(e){let t=`${e.packageRoot}:${e.packageName}`,r=Pr.get(t);if(r)return r;let n=Z(e.packageRoot,false)?.exports;if(!n||typeof n!="object"||Array.isArray(n))return Pr.set(t,[]),[];let i=[];for(let[o,a]of Object.entries(n)){if(o!=="."&&!o.startsWith("./"))continue;let c=Mt(a);if(!c)continue;let f=bc(e.packageName,o);i.push({key:o.includes("*")?`${f}/*`:f,aliasBase:f,target:c,emitMode:Lt(c),hasWildcard:o.includes("*"),rootDir:e.packageRoot});}return Pr.set(t,i),i}async function mc(e,t){let r=await yc(e);if(!r)return null;let s=Fn.get(r);if(s?.has(t))return s.get(t)??null;let n=await gc(r);return Fn.set(r,n),n.get(t)??null}async function gc(e){let t=await Gt(e),r=new Map;if(!t.length)return r;let s=await qt(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=Z(i,false)?.name;a&&r.set(a,{packageName:a,packageRoot:i});}return r}async function yc(e){let t=S__default.resolve(e),r=Vt.get(t);if(r!==void 0)return r;let s=t,n=await wc(t);for(;;){if((await Gt(s)).length)return Vt.set(t,s),s;if(n&&s===n)return Vt.set(t,null),null;let o=S__default.dirname(s);if(o===s)return Vt.set(t,null),null;s=o;}}async function wc(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 xc(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 bc(e,t){if(t===".")return e;let r=t.slice(2).replace(/\/\*$/,"");return r?`${e}/${r}`:e}async function Wt(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 Mn(e,r);return s?{path:s.path,source:"workspace_package_exports",matchedAlias:s.matchedAlias,matchedTarget:s.matchedTarget,emitMode:s.emitMode}:Sc(e,t)}function Ln(e,t){return e.startsWith("#")?true:t?e.startsWith(`${t}/`):false}function Rc(e){return /^@[^/]+\/[^/]+(?:\/.*)?$/.test(e)}function Sc(e,t){let r=createMatchPath(t.absoluteBaseUrl,t.paths)(e,void 0,()=>true,[".ts",".tsx",".jsx",".js",".css"]);if(!r)return null;let s=Ec(e,t.paths);return !s&&Rc(e)?null:{path:r,source:"tsconfig_paths",matchedAlias:s?.key??e,matchedTarget:s?.target??r,emitMode:"strip_extension"}}function Ec(e,t){for(let[r,s]of Object.entries(t)){let n=Array.isArray(s)?s:[s],i=kr(e,r);if(i!==null)return {key:r,target:n[0]?.includes("*")&&i!==null?n[0].replace(/\*/g,i):n[0]}}return null}var Xm="@/components",Qm="@/lib/utils",eg="app/globals.css",tg="tailwind.config.js";var zt=cosmiconfig("components",{searchPlaces:["components.json"]});async function ht(e){let t=await $c(e);return t?(t.iconLibrary||(t.iconLibrary=t.style==="new-york"?"radix":"lucide"),await Ut(e,t)):null}async function Ut(e,t){t.registries={...B,...t.registries||{}};let r=await loadConfig(e);if(r.resultType==="failed")throw new Error(`Failed to load ${t.tsx?"tsconfig":"jsconfig"}.json. ${r.message??""}`.trim());let s=await 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 Tc(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 Wt(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 Tc(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 $c(e){try{let t=await zt.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 B)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 Dn(e$1){let t={};for(let s of Object.keys(e$1.aliases)){if(!Pc(s,e$1))continue;let n=e$1.resolvedPaths[s],i=await Ar(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 Ar(e,t){let r=Kt(e,t),s=S__default.relative(r,t),i=(await qt.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 Pc(e,t){return Object.keys(t.resolvedPaths).filter(r=>r!=="utils").includes(e)}function Kt(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 Hn(e,t){return (await X(e))?.tailwindVersion==="v4"?"new-york-v4":t}function rg(e){return e===void 0?"base":c$2(e).base??"radix"}function Gn(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:{...B}};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 Jt=["**/node_modules/**",".next","public","dist","build"],jc=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([qt.glob("**/{next,vite,astro,app}.config.*|gatsby-config.*|composer.json|react-router.config.*",{cwd:e,deep:3,ignore:Jt,suppressErrors:true}),te.pathExists(S__default.resolve(e,"src")),Lc(e),Fc(e),Nc(e,t?.configCssFile),Vn(e),Wn(e),Z(e,false)]),l=await te.pathExists(S__default.resolve(e,`${s?"src/":""}app`)),u={framework:q.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?q["next-app"]:q["next-pages"],u.isRSC=l,u.frameworkVersion=await _c(u.framework,f),u;if(r.find(p=>p.startsWith("astro.config."))?.length)return u.framework=q.astro,u;if(r.find(p=>p.startsWith("gatsby-config."))?.length)return u.framework=q.gatsby,u;if(r.find(p=>p.startsWith("composer.json"))?.length)return u.framework=q.laravel,u;if(Object.keys(f?.dependencies??{}).find(p=>p.startsWith("@remix-run/")))return u.framework=q.remix,u;if([...Object.keys(f?.dependencies??{}),...Object.keys(f?.devDependencies??{})].find(p=>p.startsWith("@tanstack/react-start")))return u.framework=q["tanstack-start"],u;if(r.find(p=>p.startsWith("react-router.config."))?.length)return u.framework=q["react-router"],u;if(r.find(p=>p.startsWith("vite.config."))?.length)return u.framework=q.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=q.vite,u):(f?.dependencies?.expo&&(u.framework=q.expo),u)}async function _c(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 Vn(e){let[t,r]=await Promise.all([Z(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 Nc(e,t){if(t){let i=S__default.resolve(e,t);if(await te.pathExists(i))return t}let[r,s]=await Promise.all([qt.glob(["**/*.css","**/*.scss"],{cwd:e,deep:5,ignore:Jt,suppressErrors:true}),Vn(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 Fc(e){let t=await qt.glob("tailwind.config.*",{cwd:e,deep:3,ignore:Jt});return t.length?t[0]:null}async function Mc(e){let t=await loadConfig(e),r=t?.resultType==="success"&&Object.entries(t.paths).length?t.paths:(await Dc(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 Wn(e){let t=await Mc(e),r=jn(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 Lc(e){return (await qt.glob("tsconfig.*",{cwd:e,deep:1,ignore:Jt})).length>0}async function Dc(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(Hc(s));}catch{continue}let i=jc.safeParse(n);if(!i.error)return i.data}return null}function Hc(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 yg(e,t=null){let[r,s,n]=await Promise.all([ht(e),t?Promise.resolve(t):X(e),Wn(e)]);if(r)return r;if(!s||!s.tailwindCssFile||s.tailwindVersion==="v3"&&!s.tailwindConfigFile)return null;let i=n.source==="package_imports"?_n(e):null;if(!s.aliasPrefix)return null;let o=Gc(s.aliasPrefix,n.source==="package_imports"),a=n.source==="package_imports"&&i?Vc({...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 Ut(e,c)}function Gc(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 Vc(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 wg(e){let t=await ht(e);if(!t)return [];let s=(await Ut(e,t)).resolvedPaths.ui;if(!te.existsSync(s))return [];let n=await Bt(),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 zn(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 Yt(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 Ue(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 Zt(e,t){let r=Ue(e),s=Ue(t),n=[];for(let i of Object.keys(s))i in r||n.push(i);return n}function Xt(e,t){let r=Ue(e),s=Ue(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 Kn=new Set;function j(e,t){let r=zc({text:e,isSilent:t?.silent});return Kn.add(r),r}function Bn(e){let t=process.stderr.isTTY?Array.from(Kn).filter(r=>r.isSpinning):[];for(let r of t)r.clear();E.log(e);for(let r of t)r.render();}var Uc=["components","ui","lib","hooks"];function Or(e){return Uc.includes(e)}function Qt(e){let t=e?.match(/^@([^/]+)\//);return t&&Or(t[1])?t[1]:null}var er=async({sourceFile:e,config:t,isRemote:r})=>{let s=t.aliases?.utils,n=typeof s=="string"?qc(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=Bc(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 Bc(e,t,r=false){if(e=Jc(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 qc(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 Jc(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 Yc(t)){if(e===r)return s;if(e.startsWith(`${r}/`))return `${s}${e.slice(r.length)}`}return e}function Yc(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 el={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"]},qn=async({sourceFile:e,config:t})=>{let r=e.getFullText();if(t.tsx)return r;let s=tr.parse(r,{parser:{parse:i=>parse(i,el)}}),n=transformFromAstSync(s,r,{cloneInputAst:false,code:false,ast:true,plugins:[Qc],configFile:false});if(!n||!n.ast)throw new Error("Failed to transform JSX");return tr.print(n.ast).code};var rl=/^["']use client["']$/g,rr=async({sourceFile:e,config:t})=>{if(t.rsc)return e;let r=e.getFirstChildByKind(SyntaxKind.ExpressionStatement);return r&&rl.test(r.getText())&&r.remove(),e};var sl=new Set(["cn-font-heading"]),nl=/\bcn-[a-z-]+\b/;function Jn(e){return nl.test(e)&&!sl.has(e)}function Yn(e){return e.split(/\s+/).filter(t=>t.length>0&&!Jn(t)).join(" ")}function Zn(e){return e.split(/\s+/).some(Jn)}function sr(e){let t=e.getLiteralValue();if(!Zn(t))return;let r=Yn(t);r!==t&&e.setLiteralValue(r);}function jr(e){for(let t of e.getDescendantsOfKind(SyntaxKind.StringLiteral))sr(t);for(let t of e.getDescendantsOfKind(SyntaxKind.NoSubstitutionTemplateLiteral))sr(t);}function il(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(Zn(i)){let o=Yn(i);o===""?t.push(r):o!==i&&n.setLiteralValue(o);}}n?.isKind(SyntaxKind.JsxExpression)&&jr(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)){sr(s);continue}if(s.isKind(SyntaxKind.NoSubstitutionTemplateLiteral)){sr(s);continue}jr(s);}for(let r of e.getDescendantsOfKind(SyntaxKind.CallExpression))r.getExpression().getText()==="mergeProps"&&jr(r);}var nr=async({sourceFile:e})=>(il(e),e);var ir=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(`"${xe(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(`"${xe(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(`"${xe(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(`"${xe(o.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}),i.isKind(SyntaxKind.StringLiteral)&&i.replaceWithText(`"${xe(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(`"${xe(a.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}),o.isKind(SyntaxKind.StringLiteral)&&o.replaceWithText(`"${xe(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(`"${xe(i.getText()?.replace(/"|'/g,""),t.tailwind.prefix,r)}"`);}});}),e};function xe(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 ul=new Project({compilerOptions:{}});async function fl(e){let t=await promises.mkdtemp(S__default.join(tmpdir(),"shadcn-"));return S__default.join(t,e)}async function Qn(e,t=[er,rr,a,ir,d,c,nr]){let r=await fl(e.filename),s=ul.createSourceFile(r,e.raw,{scriptKind:ScriptKind.TSX});for(let n of t)await n({sourceFile:s,...e});return e.transformJsx?await qn({sourceFile:s,...e}):s.getText()}var pl=["a","span","div","Link","label","Label"],ei=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"&&pl.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 ti=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 Nr=[".ts",".tsx",".js",".jsx"],ml=new Set(["tailwindConfig","tailwindCss"]);async function Fr(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?cr(t.tailwind.baseColor):Promise.resolve(void 0)]),o=loadConfig(t.resolvedPaths.cwd),a$1=vl(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=or(y,t,{isSrcDir:n?.isSrcDir,framework:n?.framework.name,commonRoot:ar(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=Yt(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 Qn({filename:y.path,raw:y.content,config:t,baseColor:i,transformJsx:!t.tsx,isRemote:r.isRemote,supportedFontMarkers:r.supportedFontMarkers},[er,rr,a,ir,c,g$1,ei,d,...ri(w,n,t)?[ti]:[],f$1,nr]);if(R&&!Me(w)){let T=await ai({config:t,content:k,filePaths:a$1,project:c$1,projectInfo:n,resolvedPath:w,tsConfig:o}),H=await promises.readFile(w,"utf-8");if(zn(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 hl({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(ri(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=Xt(T,k);if(d$1=Zt(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(Ue(k)),p=S__default.relative(t.resolvedPaths.cwd,w)));}let h=r.interactive?[...f,...l,...u]:[...f,...l],m=await bl(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 or(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=gl(i,t);return o?.resolvedPath?o.resolvedPath:(o?.target&&(i=o.target),e.type==="registry:page"&&(i=xl(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=yl(e,t),n=wl(e.path,s);return S__default.join(s,n)}function gl(e,t){let r=e.match(/^@([^/]+)\/(.+)$/);if(!r)return null;let[,s,n]=r;if(!Or(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 yl(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 ar(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 wl(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 xl(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 bl(e,t,r=e){let s=new Project({compilerOptions:{}}),n=await X(t.resolvedPaths.cwd),i=loadConfig(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 ai({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 vl(e,t,r){return (e??[])?.filter(s=>!!s?.content).map((s,n)=>{let i=or(s,t,{isSrcDir:r.isSrcDir,framework:r.framework,commonRoot:ar((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 ai({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(!Ln(p,n.aliasPrefix??null))continue;let h=await Rl(p,r,s,i);if(!h)continue;let m=El(h,s,n,t);!m||m===p||(d.setModuleSpecifier(m),u=!0);}return u?l.getFullText():e}finally{f&&o.removeSourceFile(f);}}async function Rl(e,t,r,s){let n=(await Wt(e,{...s,cwd:r.resolvedPaths.cwd}))?.path,i=!n&&!e.startsWith(".")?Cl(e,r):null;return !n&&!i?null:Sl(n??i,t,r)}function Sl(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 El(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||ml.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 Il(f,c,h)??(s?Tl(s,n):null)}let l=S__default.posix.extname(c),u=Nr.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 Il(e,t,r){let s=S__default.posix.extname(t),n=Nr.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 Cl(e,t){let r=kl(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 kl(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 Tl(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=Nr.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 ri(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 D(e){try{return new URL(e),!0}catch{return false}}function ve(e){return e.endsWith(".json")&&!D(e)}function li(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 ui(e,t){if(!Pl(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=or(i,t,{isSrcDir:r?.isSrcDir,framework:r?.framework.name,commonRoot:ar(n.map(a=>a.path),i.path)});o&&s.set(o,i);}),Array.from(s.values())}function Pl(e){return !!(e?.resolvedPaths?.cwd&&(e?.resolvedPaths?.ui||e?.resolvedPaths?.lib||e?.resolvedPaths?.components||e?.resolvedPaths?.hooks))}var Al=/^(?!.*--)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,37}[a-zA-Z0-9])?$/,Ol=/^[a-zA-Z0-9._-]+$/,jl=new Set([".",".."]),_l=/[\x00-\x1F\x7F]/,Nl=/\s/,Fl=/^-/;function mt(e){if(D(e))return {scheme:"url",url:e};if(ve(e))return {scheme:"file",path:e};let{registry:t,item:r}=ge(e);if(t)return {scheme:"namespace",namespace:t,item:r};let s=Ml(e);return s||{scheme:"shadcn",item:e}}function lr(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(!pi(i)||!di(o))return null;if(s!==void 0&&!hi(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 fi(e){return gt(e)!==null}function Ml(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(!pi(i)||!di(o))return null;let c=a.join("/");if(!c)return null;if(s!==void 0&&!hi(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 pi(e){return Al.test(e)}function di(e){return Ol.test(e)&&!jl.has(e)}function hi(e){return !!e&&!_l.test(e)&&!Nl.test(e)&&!Fl.test(e)}var Le=new AsyncLocalStorage,Mr={headers:{}};function Re(e,t={}){let r=Le.getStore();return Le.run({headers:{},env:t.env??r?.env,onGitHubAuthNotice:t.onGitHubAuthNotice??r?.onGitHubAuthNotice},e)}function yt(e){let t=Le.getStore()??Mr;t.headers={...t.headers,...e};}function mi(e){return (Le.getStore()??Mr).headers[e]||{}}function Be(e){let t=Le.getStore();return t?.env?t.env[e]:process.env[e]}function gi(){return Le.getStore()?.onGitHubAuthNotice}function yi(){let e=Le.getStore()??Mr;e.headers={};}function wt(e){return e.replace(/\${(\w+)}/g,(t,r)=>Be(r)||"")}function xt(e){let t=[],r=/\${(\w+)}/g,s;for(;(s=r.exec(e))!==null;)t.push(s[1]);return t}function Hl(e){return e.style?e.style==="new-york"&&e.tailwind?.config===""?Nt:e.style:Nt}function oe(e){let t=Gn({style:Nt,registries:B});return e?d$1.parse(Ze(t,{...e,style:Hl(e),registries:{...B,...e.registries}})):t}function Gl(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 wi(e,t){let s=Gl(t).filter(n=>!Be(n));if(s.length>0)throw new ct(e,s)}function Sw(e,t){for(let r of e)fi(r)||qe(r,oe(t));yi();}var xi="{name}",ur="{style}",bi=/\${(\w+)}/g,vi="?",Vl="&";function Wl(e){return e.startsWith("./")||e.startsWith("/")}function qe(e,t){let{registry:r,item:s}=ge(e);if(!r){if(D(e)||ve(e)||Wl(e)||lr(e))return null;r="@shadcn";}let i={...B,...t?.registries}[r];if(!i)throw new me(r);return wi(r,i),{url:zl(s,i,t),headers:Ul(i)}}function zl(e,t,r){if(typeof t=="string"){let n=t.replace(xi,e);return r?.style&&n.includes(ur)&&(n=n.replace(ur,r.style)),wt(n)}let s=t.url.replace(xi,e);return r?.style&&s.includes(ur)&&(s=s.replace(ur,r.style)),s=wt(s),t.params?Kl(s,t.params):s}function Ul(e){if(typeof e=="string"||!e.headers)return {};let t={};for(let[r,s]of Object.entries(e.headers)){let n=wt(s);Bl(s,n)&&(t[r]=n);}return t}function Kl(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(vi)?Vl:vi;return `${e}${n}${s}`}function Bl(e,t){let r=t.trim();if(!r)return false;if(e.includes("${")&&e.match(bi)){let n=e.replace(bi,"").trim();return r!==n}return true}function fr(e){if(D(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 Zl=["HTTPS_PROXY","https_proxy","HTTP_PROXY","http_proxy"],Xl=["ALL_PROXY","all_proxy"],Ql={"socks:":5,"socks4:":4,"socks4a:":4,"socks5:":5,"socks5h:":5};function eu(e){let t;try{t=new URL(e);}catch{return}let r=Ql[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 tu(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 ru(e=process.env){for(let r of Xl){let s=e[r];if(!s)continue;let n=eu(s);if(n)return tu(n)}return Zl.some(r=>e[r])?new EnvHttpProxyAgent:void 0}var su=ru(),nu=5,iu=new Set(["accept","user-agent"]);async function Je(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<=nu;o++){let a=await ou(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)=>{iu.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 ou(e,t,r){try{return await fetch(e,{...t,headers:r,redirect:"manual",dispatcher:su})}catch(s){let n=s instanceof TypeError?s.cause:void 0;if(n){let i=new Error(`Request to ${e} failed, reason: ${Ri(n)}`);throw i.cause=n,i}throw s}}function Ri(e){if(e instanceof Error&&"errors"in e){let t=e.errors;if(Array.isArray(t)&&t.length)return Ri(t[0])}return e instanceof Error?e.message||e.code||"unknown error":String(e)}var Lr=new Map;async function K(e,t={}){t={useCache:true,...t};try{return await Promise.all(e.map(async s=>{let n=fr(s),i=mi(n),o=uu(n,i);if(t.useCache&&Lr.has(o))return Lr.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 Je(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 Ft(n,l):f.status===403?new ot(n,l):new at(n,f.status,l)}return f.json()})();return t.useCache&&Lr.set(o,a),a}))}catch(r){throw r}}function uu(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 Ei(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 le(e,t):t instanceof W?t:new le(e,t)}}var pu="https://api.github.com",Ci="2022-11-28",ki="application/vnd.github.raw+json",Ti="application/vnd.github+json",du=/^[a-fA-F0-9]{40}$/,hu=["GH_TOKEN","GITHUB_TOKEN"],mu=/^[\x21-\x7E]+$/,gu=15e3,yu=8,wu=/\(HTTP (\d{3})\)/,xu=5,pr=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 hu){let t=Be(e)?.trim();if(t&&mu.test(t))return t}return null}function Ye(e){return e.split("/").map(t=>encodeURIComponent(t)).join("/")}function Hr(e){return typeof e=="string"&&du.test(e)}async function Gr(e,t=pr){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 $i(e,t,r){let s;try{s=await Je(`${pu}/${e}`,{headers:new Headers({Accept:r,Authorization:`Bearer ${t}`,"User-Agent":"shadcn","X-GitHub-Api-Version":Ci})});}catch{throw new A("network")}if(!s.ok)throw new A("http",{statusCode:s.status});return s}async function Pi(e,t,r,s){let n=await $i(ji(e,t,r),s,ki);return Gr(n)}var Dr=yu,Ii=[];async function bu(e){Dr>0?Dr-=1:await new Promise(t=>Ii.push(t));try{return await e()}finally{let t=Ii.shift();t?t():Dr+=1;}}function vu(){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 Ru(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(wu);if(s){let n=Number(s[1]);if(n>=100&&n<=599)return new A("http",{statusCode:n})}return new A("network")}async function Ai(e,t){return bu(async()=>{try{return (await execa("gh",["api","--hostname","github.com",e,"-H",`Accept: ${t}`,"-H",`X-GitHub-Api-Version: ${Ci}`],{env:vu(),extendEnv:!1,timeout:gu,maxBuffer:pr,stripFinalNewline:!1})).stdout}catch(r){throw Ru(r)}})}async function Oi(e,t,r){let s=await Ai(ji(e,t,r),ki);if(Buffer.byteLength(s,"utf8")>pr)throw new A("oversize");return s}function ji(e,t,r){if(!Hr(t))throw new A("invalid-response");return `repos/${e.owner}/${e.repo}/contents/${Ye(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 ${pr} 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 Su(e){return async t=>{let r=await $i(t,e,Ti);try{return await r.json()}catch{throw new A("invalid-response")}}}function Eu(){return async e=>{let t=await Ai(e,Ti);try{return JSON.parse(t)}catch{throw new A("invalid-response")}}}async function _i(e,t,r){let s=r==="token"?Rt():null;if(r==="token"&&!s)throw new A("unauthenticated");let n=r==="token"&&s?Su(s):Eu();if(t==="HEAD")return vt(e,n,"HEAD");if(t.startsWith("refs/heads/"))return vt(e,n,`heads/${Ye(t.slice(11))}`);if(t.startsWith("refs/tags/"))return vt(e,n,`tags/${Ye(t.slice(10))}`);if(t.startsWith("refs/"))return Iu(e,n,t);try{return await vt(e,n,`heads/${Ye(t)}`)}catch(i){if(i instanceof A&&i.kind==="http"&&i.statusCode===404)return vt(e,n,`tags/${Ye(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(!Hr(n))throw new A("invalid-response");return n.toLowerCase()}async function Iu(e,t,r){let s=Ye(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<xu;o++){if(!i||!Hr(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 Ni=new WeakMap,Fi=new Set;function dr(e,t){let r=Ni.get(e);r||(r=new Map,Ni.set(e,r));let s=$u(t),n=r.get(s);return n||(n={anonymousLock:false},r.set(s,n)),n}function hr(e,t,r){return e.decision||(e.originalError=r,e.decision=Tu().catch(s=>{throw e.decision=void 0,s})),e.decision}async function Tu(){let e=Rt()?"token":"gh";if(Fi.has(e))return e;let t=`Using ${e==="token"?"GH_TOKEN":"gh"} credentials.`,r=gi();return r?await r(t):Bn(`${green("\u2714")} ${gray(t)}`),Fi.add(e),e}function $u(e){return `${e.owner.toLowerCase()}/${e.repo.toLowerCase()}#${e.ref??"HEAD"}`}var Au="https://github.com",Mi=/^[a-fA-F0-9]{40}$/,Ou=15e3;async function Li(e,t={}){let r=e.ref??"HEAD";if(Mi.test(r))return r.toLowerCase();let s=`${e.owner}/${e.repo}#${r}`;if(t.cache?.has(s))return t.cache.get(s);let n=ju(e,r,t).catch(i=>{throw t.cache?.delete(s),i});return t.cache?.set(s,n),n}async function ju(e,t,r){let s=`${Au}/${e.owner}/${e.repo}.git`,n=_u(t),i;try{i=(await execa("git",["ls-remote","--symref","--",s,...n],{env:{GIT_TERMINAL_PROMPT:"0"},timeout:Ou})).stdout;}catch(a){let c=Mu(e,t,s,a);if(!r.authAnchor)throw c;return Fu(e,t,r.authAnchor,c)}let o=Nu(i);for(let a of Di(t)){let c=o.get(a);if(c)return c}throw new L("registry.json",void 0,{message:`Could not resolve GitHub ref "${t}" for ${e.owner}/${e.repo}.`,context:{reason:"github-ref-resolution",source:mr(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 _u(e){return Array.from(new Set(Di(e)))}function Di(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 Nu(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&&Mi.test(n)&&t.set(i,n.toLowerCase());}return t}async function Fu(e,t,r,s){let n=dr(r,e),i;try{i=await hr(n,e,s);}catch{throw s}try{return await _i(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 L("registry.json",void 0,{message:s.message,context:{reason:"github-ref-resolution",source:mr(e),ref:t},suggestion:a.suggestion}):new L("registry.json",void 0,{message:`Failed to resolve GitHub ref "${t}" for ${e.owner}/${e.repo}. ${a.detail}`,context:{reason:"github-ref-resolution",source:mr(e),ref:t},suggestion:a.suggestion})}}function Mu(e,t,r,s){return new L("registry.json",s,{message:`Failed to resolve GitHub ref "${t}" for ${e.owner}/${e.repo}.`,context:{reason:"github-ref-resolution",source:mr(e),ref:t,repoUrl:r},suggestion:Lu(s)})}function Lu(e){return Du(e)?"Install Git and try again. Git is required to resolve GitHub registry refs.":Hu(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 Du(e){return typeof e=="object"&&e!==null&&"code"in e&&e.code==="ENOENT"}function Hu(e){return typeof e=="object"&&e!==null&&"timedOut"in e&&e.timedOut===true}function mr(e){return `${e.owner}/${e.repo}#${e.ref??"HEAD"}`}async function Vr(e,t,r={}){let s=Zi(r.registryFile??"registry.json"),n=await Vi(s,t,{source:r.source}),i=n.registry.items.find(o=>o.name===e);if(!i)throw new Ne(e);return Gu(i,n,t)}async function Wr(e,t={}){let r=Zi(t.registryFile??"registry.json"),s=await Vi(r,e,{source:t.source});return Vu(s)}async function Vi(e,t,r={}){let s=await Ki(e,t,r),n=Bi(s,e);Hi(n,e);let i={itemSources:new Map,itemSourcesByItem:new Map,firstIncludedFrom:new Map},o=!!n.include?.length;if(!o){let l=Yi(e);return n.items.forEach((u,d)=>{Ji(u,e,l);let p={registryFile:e,registryDir:l,itemIndex:d};i.itemSources.set(u.name,p),i.itemSourcesByItem.set(u,p);}),Gi(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 Ui(e,n,t,i,[]);Gi(a.items,i.itemSourcesByItem);let{include:c,...f}=a;return Hi(f,e),{registry:f,itemSources:i.itemSources,itemSourcesByItem:i.itemSourcesByItem,usesInclude:o}}async function Gu(e,t,r){let s={...Wi(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=zi(e,n.path,t.itemSourcesByItem);o.content=await Wu(e.name,n.path,c,a,r);})),n.parse(s)}function Vu(e){return {...e.registry,items:e.registry.items.map(t=>zu(Wi(t,e.itemSourcesByItem)))}}async function Wu(e,t,r,s,n){try{return await n.readText(r)}catch(i){let o=i instanceof L&&i.context?.reason==="github-source-file";throw new L(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 Wi(e,t){return {...e,files:e.files?.map(r=>({...r,path:Uu(e,r.path,t)}))}}function zu(e){return {...e,files:e.files?.map(({content:t,...r})=>r)}}function zi(e,t,r){let s=r.get(e);return zr(s?.registryDir??".",t)}function Uu(e,t,r){let s=zi(e,t,r);return Bu(".",s)}async function Ui(e,t,r,s,n){if(qi(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 $(qu([...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=Yi(e),f=[];for(let l of t.include??[]){let u=Ku(l,c,e),d=await Ki(u,r),p=Bi(d,u),h=await Ui(u,p,r,s,a);f.push(...h.items);}return t.items?.forEach((l,u)=>{Ji(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 Ki(e,t,r={}){try{return await t.readText(e)}catch(s){throw s instanceof L&&(s.context?.reason==="github-ref-resolution"||s.context?.reason==="github-source-file")?s:new L(e,s,{message:`Failed to read source registry file at ${Ju(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 Bi(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
+ ${Yu(s.error)}`,{registryFile:t,cause:s.error,suggestion:"Update the registry.json file so it matches the registry schema."});return s.data}function Hi(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 Ku(e,t,r){if(D(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(Qi(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=zr(t,e);return qi(s),s}function qi(e){if(!Xi(e))throw new $(`Invalid registry file at ${e}: registry includes must stay inside the source registry root.`,{registryFile:e})}function Ji(e,t,r){for(let s of e.files??[]){if(D(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(Qi(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=zr(r,s.path);if(!Xi(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 Gi(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 Yi(e){let t=S__default.posix.dirname(e);return t==="."?".":t}function zr(...e){let t=S__default.posix.normalize(S__default.posix.join(...e));return t==="."?"":t}function Zi(e){let t=S__default.posix.normalize(e);return t.startsWith("./")?t.slice(2):t}function Bu(e,t){return S__default.posix.relative(e,t)||S__default.posix.basename(t)}function Xi(e,t="."){let r=S__default.posix.relative(t,e);return !!r&&!r.startsWith("..")&&!S__default.posix.isAbsolute(r)}function Qi(e){return e.split(/[\\/]+/).includes("..")}function qu(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 Ju(e,t){return t?`${t}/${e}`:e}function Yu(e){return e.errors.map(t=>` - ${t.path.length?t.path.join("."):"(root)"}: ${t.message}`).join(`
45
+ `)}var Zu="https://raw.githubusercontent.com",Xu=8;async function ro(e,t={}){t={...t,sourceCache:t.sourceCache??new Map};let r=Ur(e,t);return Vr(e.item,r,{source:z(e)})}async function so(e,t={}){t={...t,sourceCache:t.sourceCache??new Map};let r=Ur(e,t);return Wr(r,{source:z(e)})}async function xx(e,t={}){let r=z(e),s=`${r}/registry.json`,n=new Set,i=t.sourceCache??new Map,o={...t,sourceCache:i},a=Ur(e,o),c={async readText(f){return f.endsWith("registry.json")&&n.add(`${r}/${f}`),a.readText(f)}};try{let f=await Wr(c,{source:r}),u=(await tf(f.items,Xu,async(d,p)=>{try{return await Vr(d.name,c,{source:r}),null}catch(h){return to(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:[to(f,{defaultRegistryFile:s,sourceLabel:r})]}}}function Ur(e,t){let r=t.sourceCache??new Map,s=dr(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 Pi(e,a,c,u)}):i(l,()=>Oi(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 eo(d,e,a,u,s)}}let l=ef(e,c,a);try{let u=await i(`anonymous:${l}`,()=>Qu(l,a,e));return f&&(s.anonymousLock=!0),u}catch(u){let d=u instanceof L?u.context?.statusCode:void 0;if(!f||d!==404||s.anonymousLock)throw u;let p;try{p=await hr(s,e,u);}catch{throw u}try{return await o(c,a,p)}catch(h){throw eo(h,e,a,p,s)}}}}}function eo(e,t,r,s,n){if(!(e instanceof A))return e instanceof Error?e:new L(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 L(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 L(r,void 0,{message:n.originalError.message,context:{reason:"github-source-file",source:z(t),filePath:r},suggestion:i.suggestion}):new L(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 Qu(e,t,r){let s;try{s=await Je(e,{headers:new Headers({"Accept-Encoding":"identity","User-Agent":"shadcn"})});}catch(n){throw new L(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 L(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 Gr(s)}catch(n){if(n instanceof A&&n.kind==="oversize"){let i=St(n,"token");throw new L(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 ef(e,t,r){let s=r.split("/").map(n=>encodeURIComponent(n)).join("/");return `${Zu}/${e.owner}/${e.repo}/${t}/${s}`}async function tf(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 to(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 Br(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 cf(i,e,t);await promises.writeFile(t.resolvedPaths.tailwindConfig,o,"utf8"),n?.succeed();}async function cf(e,t,r){let s=await io(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=pf(n);return lf(n,{name:"darkMode",value:"class"},{quoteChar:i}),t.plugins?.forEach(o=>{ff(n,o);}),t.theme&&await uf(n,t.theme),s.getFullText()}function lf(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 uf(e,t){e.getProperty("theme")||e.addPropertyAssignment({name:"theme",initializer:"{}"}),qr(e);let s=(e.getPropertyOrThrow("theme")?.asKindOrThrow(SyntaxKind.PropertyAssignment)).getInitializer();if(s?.isKind(SyntaxKind.ObjectLiteralExpression)){let n=s.getText(),i=await df(n),o=Ze(i,t,{arrayMerge:(c,f)=>f}),a=nf(o).replace(/\'\.\.\.(.*)\'/g,"...$1").replace(/\'\"/g,"'").replace(/\"\'/g,"'").replace(/\'\[/g,"[").replace(/\]\'/g,"]").replace(/\'\\\'/g,"'").replace(/\\\'/g,"'").replace(/\\\'\'/g,"'").replace(/\'\'/g,"'");s.replaceWithText(a);}Jr(e);}function ff(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 io(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 pf(e){return e.getFirstDescendantByKind(SyntaxKind.StringLiteral)?.getQuoteKind()===QuoteKind.Single?"'":'"'}function qr(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)?qr(i.asKindOrThrow(SyntaxKind.ObjectLiteralExpression)):i&&i.isKind(SyntaxKind.ArrayLiteralExpression)&&oo(i.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));}}}function oo(e){let t=e.getElements();for(let r=0;r<t.length;r++){let s=t[r];if(s.isKind(SyntaxKind.ObjectLiteralExpression))qr(s.asKindOrThrow(SyntaxKind.ObjectLiteralExpression));else if(s.isKind(SyntaxKind.ArrayLiteralExpression))oo(s.asKindOrThrow(SyntaxKind.ArrayLiteralExpression));else if(s.isKind(SyntaxKind.SpreadElement)){let n=s.getText();e.removeElement(r),e.insertElement(r,`"${n}"`);}}}function Jr(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)?Jr(i):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))Jr(s.asKindOrThrow(SyntaxKind.ObjectLiteralExpression));else if(s.isKind(SyntaxKind.ArrayLiteralExpression))ao(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 df(e){let r=(await io(`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 gr(n)}throw new Error("Invalid input: not an object literal")}function gr(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]=gr(r.getInitializer()):r.getInitializer()?.isKind(SyntaxKind.ArrayLiteralExpression)?t[s]=co(r.getInitializer()):t[s]=Yr(r.getInitializer());}return t}function co(e){let t=[];for(let r of e.getElements())r.isKind(SyntaxKind.ObjectLiteralExpression)?t.push(gr(r.asKindOrThrow(SyntaxKind.ObjectLiteralExpression))):r.isKind(SyntaxKind.ArrayLiteralExpression)?t.push(co(r.asKindOrThrow(SyntaxKind.ArrayLiteralExpression))):t.push(Yr(r));return t}function Yr(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(Yr);case SyntaxKind.ObjectLiteralExpression:return gr(e);default:return e.getText()}}function lo(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 Xe(e,t){let r={},s=[...e];if(!t?.registries)return yt({}),s;for(let n=0;n<s.length;n++){if(lr(s[n]))continue;let i=qe(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 Se(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 ro(i,r);if(ve(n$1))return Ei(n$1);if(D(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=Xe([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 et(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 Se(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=Xe(w.registryDependencies,t);else {let k=w.registryDependencies.filter(T=>T.startsWith("@"));if(k.length>0){let{registry:T}=ge(k[0]);throw new me(T)}}let{items:R,registryNames:I}=await Qe(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 Se(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 Bt();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 mf(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=>li(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 gf(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=wf(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=Ze(l,y.tailwind??{});});let u={};s.forEach(y=>{u=Ze(u,y.cssVars??{});});let d={};s.forEach(y=>{d=Ze(d,y.css??{});});let p="";s.forEach(y=>{y.docs&&(p+=`${y.docs}
46
+ `);});let h={};s.forEach(y=>{h=Ze(h,y.envVars??{});});let m=await ui(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:Ze.all(s.map(y=>y.dependencies??[])),devDependencies:Ze.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 Qe(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 Se([o],t,r);if(c&&(n.push({...c,_source:o}),c.registryDependencies)){let f=t?.registries?Xe(c.registryDependencies,t):c.registryDependencies,l=await Qe(f,t,r,s);n.push(...l.items),i.push(...l.registryNames);}}else if(D(o)||ve(o)){let[c]=await Se([o],t,r);if(c&&(n.push({...c,_source:o}),c.registryDependencies)){let f=t?.registries?Xe(c.registryDependencies,t):c.registryDependencies,l=await Qe(f,t,r,s);n.push(...l.items),i.push(...l.registryNames);}}else if(o.startsWith("@")&&t?.registries){let{registry:c}=ge(o);if(c&&!(c in t.registries))throw new me(c);let[f]=await Se([o],t,r);if(f&&(n.push(f),f.registryDependencies)){let l=t?.registries?Xe(f.registryDependencies,t):f.registryDependencies,u=await Qe(l,t,r,s);n.push(...u.items),i.push(...u.registryNames);}}else if(i.push(o),t)try{let[c]=await Se([o],t,r);if(c&&c.registryDependencies){let f=t?.registries?Xe(c.registryDependencies,t):c.registryDependencies,l=await Qe(f,t,r,s);n.push(...l.items),i.push(...l.registryNames);}}catch{}}return {items:n,registryNames:i}}async function mf(e,t,r={}){if(D(e))return [e];let{registryNames:s}=await Qe([e],t,r,new Set),n=t.resolvedPaths?.cwd?await Hn(t.resolvedPaths.cwd,t.style):t.style,i=s.map(o=>fr(D(o)?o:`styles/${n}/${o}.json`));return Array.from(new Set(i))}async function gf(e,t){let[r,s]=await Promise.all([cr(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,...lo(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 de(e,t){let r=t||e.name,s=createHash("sha256").update(r).digest("hex").substring(0,8);return `${e.name}::${s}`}function yf(e){let t=mt(e);if(t.scheme==="github")return {name:t.item,hash:de({name:t.item},e)};if(D(e)){let n=new URL(e).pathname,i=n.match(/\/([^/]+)\.json$/),o=i?i[1]:S__default.basename(n,".json");return {name:o,hash:de({name:o},e)}}if(ve(e)){let s=e.match(/\/([^/]+)\.json$/),n=s?s[1]:S__default.basename(e,".json");return {name:n,hash:de({name:n},e)}}let{item:r}=ge(e);return {name:r,hash:de({name:r},e)}}function wf(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=de(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=de(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=de(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}=yf(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 de(l,u)}));e.forEach(l=>{let u=t.get(l)||l.name,d=de(l,u);f.has(d)||c.push(l);});}return c}var Xr=["npm","yarn","yarn@berry","pnpm","pnpm@6","bun","deno"],Qr={"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"},es={"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"},fo={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 ts(e,t){try{let r=await ho__default.stat(e);return t==="file"?r.isFile():r.isDirectory()}catch{return false}}function*bf(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 po(e,t){return !e||!ts(e,"file")?null:await Rf(e,t)}async function rs(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 bf(t)){for(let o of r)switch(o){case "lockfile":{for(let a of Object.keys(Qr))if(await ts(S__default.join(i,a),"file")){let c=Qr[a],f=await po(S__default.join(i,"package.json"),s);return f||{name:c,agent:c}}break}case "packageManager-field":case "devEngines-field":{let a=await po(S__default.join(i,"package.json"),s);if(a)return a;break}case "install-metadata":{for(let a of Object.keys(es)){let c=a.endsWith("/")?"dir":"file";if(await ts(S__default.join(i,a),c)){let f=es[a],l=f==="yarn"?Sf(a)?"yarn":"yarn@berry":f;return {name:f,agent:l}}}break}}if(n?.(i))break}return null}function vf(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 Rf(e,t){try{let r=JSON.parse(await ho__default.readFile(e,"utf8")),s,n=vf(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}):Xr.includes(i)?(s=i,{name:i,agent:s,version:a}):t?.(r.packageManager)??null}}catch{}return null}function Sf(e){return e.endsWith(".yarn_integrity")}var tt=createRequire(import.meta.url),If=Object.create,wo=Object.defineProperty,Cf=Object.getOwnPropertyDescriptor,kf=Object.getOwnPropertyNames,Tf=Object.getPrototypeOf,$f=Object.prototype.hasOwnProperty,Ie=(e=>typeof tt<"u"?tt:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof tt<"u"?tt:t)[r]}):e)(function(e){if(typeof tt<"u")return tt.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),Y=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Pf=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of kf(t))!$f.call(e,n)&&n!==r&&wo(e,n,{get:()=>t[n],enumerable:!(s=Cf(t,n))||s.enumerable});return e},Af=(e,t,r)=>(r=e!=null?If(Tf(e)):{},Pf(wo(r,"default",{value:e,enumerable:true}),e)),Of=Y((e,t)=>{t.exports=i,i.sync=o;var r=Ie("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)}}),jf=Y((e,t)=>{t.exports=s,s.sync=n;var r=Ie("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}}),_f=Y((e,t)=>{Ie("fs");var s;process.platform==="win32"||global.TESTING_WINDOWS?s=Of():s=jf(),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}}}),Nf=Y((e,t)=>{var r=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",s=Ie("path"),n=r?";":":",i=_f(),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;}),Ff=Y((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;}),Mf=Y((e,t)=>{var r=Ie("path"),s=Nf(),n=Ff();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;}),Lf=Y((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;}),Df=Y((e,t)=>{t.exports=/^#!(.*)/;}),Hf=Y((e,t)=>{var r=Df();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};}),Gf=Y((e,t)=>{var r=Ie("fs"),s=Hf();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;}),Vf=Y((e,t)=>{var r=Ie("path"),s=Mf(),n=Lf(),i=Gf(),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;}),Wf=Y((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};}),zf=Y((e,t)=>{var r=Ie("child_process"),s=Vf(),n=Wf();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;}),Yf=/^path$/i,go={key:"PATH",value:""};function Zf(e){for(let t in e){if(!Object.prototype.hasOwnProperty.call(e,t)||!Yf.test(t))continue;let r=e[t];return r?{key:t,value:r}:go}return go}function Xf(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 Qf(e,t){let r={...process.env,...t},s=Xf(e,Zf(r));return r[s.key]=s.value,r}var tp=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},rp=Af(zf()),yo=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;}},np={timeout:void 0,persist:false},ip={windowsHide:true};function op(e,t){return {command:normalize(e),args:t??[]}}function ap(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 cp=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={...np,...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 lp(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=tp(t),s=sp.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 yo(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 yo(this,s);return s}then(e,t){return this._waitForOutput().then(e,t)}_streamOut;_streamErr;spawn(){let e=cwd(),t=this._options,r={...ip,...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=ap(s)),r.env=Qf(e,r.env);let{command:n,args:i}=op(this._command,this._args),o=(0, rp._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();}},ss=(e,t,r)=>{let s=new cp(e,t,r);return s.spawn(),s},lp=ss;function Us(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var is={},os,bo;function se(){if(bo)return os;bo=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 os=i,os}var as,vo;function xp(){return vo||(vo=1,as=(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}}),as}var cs,Ro;function Ks(){return Ro||(Ro=1,cs=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}),cs}var ls,So;function ne(){if(So)return ls;So=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 ls={cursor:s,scroll:n,erase:i,beep:r},ls}var us,Eo;function bp(){if(Eo)return us;Eo=1;let e=Ks(),{erase:t,cursor:r}=ne(),s=n=>[...e(n)].length;return us=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)},us}var fs,Io;function da(){if(Io)return fs;Io=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 fs=process.platform==="win32"?t:e,fs}var ps,Co;function vp(){if(Co)return ps;Co=1;let e=se(),t=da(),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 ps={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)},ps}var ds,ko;function Rp(){if(ko)return ds;ko=1;let e=Ks();return ds=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},ds}var hs,To;function Sp(){return To||(To=1,hs=(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
+ `)}),hs}var ms,$o;function Ep(){return $o||($o=1,ms=(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}}),ms}var gs,Po;function ce(){return Po||(Po=1,gs={action:xp(),clear:bp(),style:vp(),strip:Ks(),figures:da(),lines:Rp(),wrap:Sp(),entriesToDisplay:Ep()}),gs}var ys,Ao;function Ce(){if(Ao)return ys;Ao=1;let e=sp,{action:t}=ce(),r=dp,{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 ys=o,ys}var ws,Oo;function Ip(){if(Oo)return ws;Oo=1;let e=se(),t=Ce(),{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 ws=c,ws}var xs,jo;function Cp(){if(jo)return xs;jo=1;let e=se(),t=Ce(),{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 xs=c,xs}var bs,_o;function kp(){if(_o)return bs;_o=1;let e=se(),t=Ce(),{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 bs=o,bs}var vs,No;function he(){if(No)return vs;No=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 vs=e,vs}var Rs,Fo;function Tp(){if(Fo)return Rs;Fo=1;let e=he();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 Rs=t,Rs}var Ss,Mo;function $p(){if(Mo)return Ss;Mo=1;let e=he(),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 Ss=r,Ss}var Es,Lo;function Pp(){if(Lo)return Es;Lo=1;let e=he();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 Es=t,Es}var Is,Do;function Ap(){if(Do)return Is;Do=1;let e=he();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 Is=t,Is}var Cs,Ho;function Op(){if(Ho)return Cs;Ho=1;let e=he();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 Cs=t,Cs}var ks,Go;function jp(){if(Go)return ks;Go=1;let e=he();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 ks=t,ks}var Ts,Vo;function _p(){if(Vo)return Ts;Vo=1;let e=he();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 Ts=t,Ts}var $s,Wo;function Np(){if(Wo)return $s;Wo=1;let e=he();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 $s=t,$s}var Ps,zo;function Fp(){return zo||(zo=1,Ps={DatePart:he(),Meridiem:Tp(),Day:$p(),Hours:Pp(),Milliseconds:Ap(),Minutes:Op(),Month:jp(),Seconds:_p(),Year:Np()}),Ps}var As,Uo;function Mp(){if(Uo)return As;Uo=1;let e=se(),t=Ce(),{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}=Fp(),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 As=w,As}var Os,Ko;function Lp(){if(Ko)return Os;Ko=1;let e=se(),t=Ce(),{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 Os=u,Os}var js,Bo;function ha(){if(Bo)return js;Bo=1;let e=se(),{cursor:t}=ne(),r=Ce(),{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 js=c,js}var _s,qo;function Dp(){if(qo)return _s;qo=1;let e=se(),t=Ce(),{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 _s=d,_s}var Ns,Jo;function Hp(){if(Jo)return Ns;Jo=1;let e=se(),{cursor:t}=ne(),r=ha(),{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 Ns=o,Ns}var Fs,Yo;function Gp(){if(Yo)return Fs;Yo=1;let e=se(),t=Ce(),{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 Fs=o,Fs}var Ms,Zo;function Vp(){return Zo||(Zo=1,Ms={TextPrompt:Ip(),SelectPrompt:Cp(),TogglePrompt:kp(),DatePrompt:Mp(),NumberPrompt:Lp(),MultiselectPrompt:ha(),AutocompletePrompt:Dp(),AutocompleteMultiselectPrompt:Hp(),ConfirmPrompt:Gp()}),Ms}var Xo;function Wp(){return Xo||(Xo=1,(function(e){let t=e,r=Vp(),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));})(is)),is}var Ls,Qo;function zp(){if(Qo)return Ls;Qo=1;let e=Wp(),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 Ls=Object.assign(s,{prompt:s,prompts:e,inject:i,override:o}),Ls}var Ds,ea;function Up(){return ea||(ea=1,Ds=zp()),Ds}var Kp=Up(),Bp=Us(Kp),Bs=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 wr=globalThis.navigator?.userAgentData?.platform;wr==="macOS"||globalThis.navigator?.platform==="MacIntel"||globalThis.navigator?.userAgent?.includes(" Mac ")===true||globalThis.process?.platform;wr==="Windows"||globalThis.navigator?.platform==="Win32"||globalThis.process?.platform;wr==="Linux"||globalThis.navigator?.platform?.startsWith("Linux")===true||globalThis.navigator?.userAgent?.includes(" Linux ")===true||globalThis.process?.platform;wr==="Android"||globalThis.navigator?.platform==="Android"||globalThis.navigator?.userAgent?.includes(" Android ")===true||globalThis.process?.platform;var ta="\x1B]",ra="\x07",yr=";";!Bs&&ae.env.TERM_PROGRAM;!Bs&&ae.platform;Bs||ae.cwd;var qp=(e,t)=>[ta,"8",yr,yr,t,ra,e,ta,"8",yr,yr,ra].join(""),Hs,sa;function ma(){return sa||(sa=1,Hs=(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)}),Hs}var Gs,na;function Jp(){if(na)return Gs;na=1;let e=hp,t=mp,r=ma(),{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 Gs={supportsColor:a,stdout:i(o(true,t.isatty(1))),stderr:i(o(true,t.isatty(2)))},Gs}var Vs,ia;function Yp(){if(ia)return Vs;ia=1;let e=Jp(),t=ma();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 Vs={supportsHyperlink:s,stdout:s(process.stdout),stderr:s(process.stderr)},Vs}var Zp=Yp(),qs=Us(Zp);function Ct(e,t,{target:r="stdout",...s}={}){return qs[r]?qp(e,t):s.fallback===false?e:typeof s.fallback=="function"?s.fallback(e,t):`${e} (\u200B${t}\u200B)`}Ct.isSupported=qs.stdout;Ct.stderr=(e,t,r={})=>Ct(e,t,{target:"stderr",...r});Ct.stderr.isSupported=qs.stderr;var re={},De={},oa;function Xp(){if(oa)return De;oa=1,Object.defineProperty(De,"__esModule",{value:true}),De.sync=De.isexe=void 0;let e=fa,t=ho__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}};De.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}};De.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 De}var He={},aa;function Qp(){if(aa)return He;aa=1,Object.defineProperty(He,"__esModule",{value:true}),He.sync=He.isexe=void 0;let e=fa,t=ho__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 Ws={},ca;function ed(){return ca||(ca=1,Object.defineProperty(Ws,"__esModule",{value:true})),Ws}var la;function td(){return la||(la=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(Xp());e.posix=i;let o=s(Qp());e.win32=o,n(ed(),e);let c=(process.env._ISEXE_TEST_PLATFORM_||process.platform)==="win32"?o:i;e.isexe=c.isexe,e.sync=c.sync;})(re)),re}var zs,ua;function rd(){if(ua)return zs;ua=1;let{isexe:e,sync:t}=td(),{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 zs=d,d.sync=p,zs}var sd=rd(),nd=Us(sd);join(hp.tmpdir(),"antfu-ni");function ga(e){return nd.sync(e,{nothrow:true})!==null}async function Js({autoInstall:e,programmatic:t,cwd:r}={}){let{name:s,agent:n,version:i}=await rs({cwd:r,onUnknown:o=>{t||console.warn("[ni] Unknown packageManager:",o);}})||{};if(s&&!ga(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,fo[s]),{tryInstall:a}=await Bp({name:"tryInstall",type:"confirm",message:`Would you like to globally install ${o}?`});a||ae.exit(1);}await ss("npm",["i","-g",`${s}${i?`@${i}`:""}`],{nodeOptions:{stdio:"inherit",cwd:r},throwOnError:true});}return n}ae.env.NI_CONFIG_FILE;var od=ae.platform==="win32"?ae.env.USERPROFILE:ae.env.HOME;S__default.join(od||"~/",".nirc");async function Ys(e,{withFallback:t}={withFallback:false}){let r=await Js({programmatic:true,cwd:e});return r==="yarn@berry"?"yarn":r==="pnpm@6"?"pnpm":r==="bun"?"bun":r==="deno"?"deno":t?Zs()??"npm":r??"npm"}function Zs(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 Xs(e){return e==="pnpm"?"pnpm dlx":e==="bun"?"bunx":"npx"}async function Rv(e){let t=await Ys(e);return Xs(t)}var ya={name:"shadcn",version:"4.19.0",description:"Add components to your apps.",publishConfig:{access:"public"},license:"MIT",author:{name:"shadcn",url:"https://twitter.com/shadcn"},repository:{type:"git",url:"https://github.com/shadcn-ui/ui.git",directory:"packages/shadcn"},files:["dist"],keywords:["components","ui","tailwind","radix-ui","base-ui","shadcn"],type:"module",exports:{".":{types:"./dist/index.d.ts",default:"./dist/index.js"},"./registry":{types:"./dist/registry/index.d.ts",default:"./dist/registry/index.js"},"./schema":{types:"./dist/schema/index.d.ts",default:"./dist/schema/index.js"},"./mcp":{types:"./dist/mcp/index.d.ts",default:"./dist/mcp/index.js"},"./utils":{types:"./dist/utils/index.d.ts",default:"./dist/utils/index.js"},"./icons":{types:"./dist/icons/index.d.ts",default:"./dist/icons/index.js"},"./preset":{types:"./dist/preset/index.d.ts",default:"./dist/preset/index.js"},"./tailwind.css":"./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",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","tailwind-merge":"^3.0.1","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 xr(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),kt()),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)),kt()),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}`);kt();}e instanceof Error&&(E.error(e.message),kt()),kt();}function ld(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 ud(e=ya.version,t=process.argv.slice(2)){let r=ld(e);return r?[...Xs(Zs()).split(" "),`shadcn@${r}`,...t].map(fd).join(" "):null}function kt(){let e=ud();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 fd(e){return /^[a-zA-Z0-9_./:@%+=,-]+$/.test(e)?e:`'${e.replace(/'/g,"'\\''")}'`}var Ra=cosmiconfig("registries",{packageProp:"registries",searchPlaces:["package.json"]}),dd=z$1.object({registries:b.optional()});function wa(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 en(e,t){return Re(()=>hd(e,t))}async function hd(e,t){let{config:r,useCache:s,searchParams:n}=t||{};if(D(e)){let l=wa(e,n),[u]=await K([l],{useCache:s});return xa(e,u)}let i=gt(e);if(i)return so(i,{useCache:s});if(!e.startsWith("@"))throw new lt(e);let o=e;o.endsWith("/registry")||(o=`${o}/registry`);let a=qe(o,oe(r));if(!a?.url)throw new _e(o);let c=wa(a.url,n);a.headers&&Object.keys(a.headers).length>0&&yt({[c]:a.headers});let[f]=await K([c],{useCache:s});return xa(o,f)}function xa(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 tn(e,t){let{config:r,useCache:s=false}=t||{};return Re(()=>Se(e,oe(r),{useCache:s}))}async function md(e,t){let{config:r,useCache:s=false}=t||{};return Re(()=>et(e,oe(r),{useCache:s}))}async function gd(e,t){let{useCache:r=true}=t||{};r||(zt.clearCaches(),Ra.clearCaches());let s=await yd(e),n=S__default.resolve(e,"components.json");if(existsSync(n)){let i=await zt.load(n),o=Sa(e,i?.config,"components.json");return {registries:{...B,...s,...o.registries}}}return {registries:s}}async function yd(e){let t=S__default.resolve(e,"package.json");if(!existsSync(t))return {};let r=await Ra.load(t);return Sa(e,{registries:r?.config},"package.json").registries}function Sa(e,t,r){let s=dd.safeParse(t);if(!s.success)throw new We(e,s.error,r);return {registries:s.data.registries||{}}}async function Bt(){let[e]=await K(["index.json"]);return r.parse(e)}async function Xv(){try{let[e]=await K(["styles/index.json"]);return s.parse(e)}catch(e){return E.error(`
97
+ `),xr(e),[]}}async function Qv(){try{let[e]=await K(["icons/index.json"]);return t.parse(e)}catch(e){return xr(e),{}}}async function eR(){return An}async function cr(e){let[t]=await K([`colors/${e}.json`]);return u.parse(t)}async function wd(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 wd(e,n.registryDependencies);r.push(...i);}}return r.filter((s,n,i)=>i.findIndex(o=>o.name===s.name)===n)}async function tR(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 xr(r),[]}}async function rR(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 Ea(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 xd(e){let t=await Ea(e);return t?Object.fromEntries(t.map(r=>[r.name,r.url])):null}async function bd(e){e={useCache:true,...e};let t=`${je}/config.json`,[r]=await K([t],{useCache:e.useCache});return C.parse(r).presets}async function sR(e,t){return (await bd(t)).find(s=>s.name.toLowerCase()===e.toLowerCase())??null}var Ia={"--font-heading":"cn-font-heading"};function vd(e){return e.startsWith("--")?e:`--${e}`}function rn(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=Ia[n];i&&t.add(i);}for(let s of Object.values(r.cssVars??{}))for(let n of Object.keys(s??{})){let i=Ia[vd(n)];i&&t.add(i);}}return Array.from(t)}function Ca(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 mR(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 sn(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 sn(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=[Ed(t)];s.cleanupDefaultNextStyles&&n.push($a()),s.tailwindVersion==="v4"&&(n=[],n.push(Td({params:"dark (&:is(.dark *))"})),s.cleanupDefaultNextStyles&&n.push($a()),n.push(Cd(t,{overwriteCssVars:s.overwriteCssVars})),n.push(kd(t)),s.tailwindConfig&&(n.push($d(s.tailwindConfig)),n.push(Ad(s.tailwindConfig)),n.push(Pd(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 Ed(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 Sd||(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}`;Id(r,i,n);});}}}function Ta(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 $a(){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()),Ta(e);let r=e.nodes.find(s=>s.type==="atrule"&&s.params==="(prefers-color-scheme: dark)");r&&(Ta(r),r.nodes.length===0&&r.remove());}}}function Id(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 Cd(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=br(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"),Pa(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 kd(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=br(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=Pa(o)||jd(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 br(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 Td({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 $d(e){return {postcssPlugin:"update-tailwind-config",Once(t){if(!e?.plugins)return;let s=Od(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 Pd(e){return {postcssPlugin:"update-tailwind-config-keyframes",Once(t){if(!e?.theme?.extend?.keyframes)return;let r=br(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 Ad(e){return {postcssPlugin:"update-tailwind-config-animation",Once(t){if(!e?.theme?.extend?.animation)return;let r=br(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 Od(e){return e.nodes[0].toString().includes("'")?"single":"double"}function Pa(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 jd(e){return e.startsWith("hsl")||e.startsWith("rgb")||e.startsWith("#")||e.startsWith("oklch")||e.includes("--color-")}async function nn(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 sn(c,r.cssVars,t,{cleanupDefaultNextStyles:r.cleanupDefaultNextStyles,tailwindVersion:r.tailwindVersion,tailwindConfig:r.tailwindConfig,overwriteCssVars:r.overwriteCssVars})),s&&(c=await Fd(c,e)),await promises.writeFile(i,c,"utf8"),a.succeed();}async function Fd(e,t){let r=[Md(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 Md(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):Oa(t,i,o,s);}else Ge(t,r,s);}}}function Oa(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;Oa(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 on(e,t,r,s){let n=Z(r.resolvedPaths.cwd,false),i=await Gd(r),o=i!=="expo";if(e=ja(e,n,{skipInstalled:o}),t=ja(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(Hd(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 hl([{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 Vd(i,e,t,r.resolvedPaths.cwd,c),a?.succeed();}function ja(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=Dd(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 Dd(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 Hd(e){let t=Z(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 Gd(e){return Z(e.resolvedPaths.cwd,false)?.dependencies?.expo?"expo":Ys(e.resolvedPaths.cwd)}function st(e){for(let t of e)if(t.trim().startsWith("-"))throw new Error(`Invalid dependency "${t}": dependency names cannot start with "-".`)}async function Vd(e,t,r,s,n){if(e==="npm")return Wd(t,r,s,n);if(e==="deno")return zd(t,r,s);if(e==="expo")return Ud(t,r,s);st(t),st(r),t?.length&&await execa(e,["add","--",...t],{cwd:s}),r?.length&&await execa(e,["add","-D","--",...r],{cwd:s});}async function Wd(e,t,r,s){st(e),st(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 zd(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 Ud(e,t,r){st(e),st(t),e.length&&await execa("npx",["expo","install","--",...e],{cwd:r}),t.length&&await execa("npx",["expo","install","-- -D","--",...t],{cwd:r});}async function cn(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=Yt(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=Xt(p,f);if(l=Zt(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 Xd=new Set(["--font-sans","--font-serif","--font-mono"]);async function ln(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??sh(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 un(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 Qd(e,t,s),n?.succeed("Updating fonts.");}catch(i){throw n?.fail("Failed to update fonts."),i}}async function Qd(e,t,r){let s=await eh(t,r);if(!s)return;let n=await promises.readFile(s,"utf-8"),i=await th(n,e,t);i!==n&&await promises.writeFile(s,i,"utf-8");}async function eh(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 th(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=ih(d,u.font.variable),g=rh(u),x=ch(n,u.font.variable),y=m;if(!(h&&!x&&Rr(u.font.variable)&&!lh(n,d))){if(x)x.setInitializer(`${d}(${g})`),x.getName()!==m&&x.rename(m),y=m;else {let w=uh(n);n.insertVariableStatement(w,{declarationKind:VariableDeclarationKind.Const,declarations:[{name:m,initializer:`${d}(${g})`}]}).appendWhitespace(`
134
+ `);}o.push(y),nh(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&&fh(n,o,l,r),n.getFullText()}function rh(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 Rr(e){return Xd.has(e)}function sh(e){return Rr(e)?"html":null}function nh(e){return !e.font.selector&&Rr(e.font.variable)}function ih(e,t){let r=oh(e);return Rr(t)?r:`${r}${ah(t.replace(/^--font-/,""))}`}function oh(e){return e.split("_").map((t,r)=>r===0?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join("")}function ah(e){return e.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join("")}function ch(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 lh(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 uh(e){let t=e.getImportDeclarations();return t.length>0?t[t.length-1].getChildIndex()+1:0}function fh(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){Tt(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);Tt(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=dh(m,c);w=hh(w);let b=mh(w,f);p.replaceWithText(`{${b}}`);}else if(/^\w+\.variable$/.test(m)){if(c.includes(m)&&r.length===0)continue;Tt(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=ph(m);Tt(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 Tt(e,s),p.replaceWithText(`{cn(${m}, ${f.join(", ")})}`);}}}function Tt(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 ph(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 dh(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 hh(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 mh(e,t){let r=t.join(", ");return e.replace(/\)$/,`, ${r})`)}async function Na(e,t,r){r={overwrite:false,silent:false,interactive:true,isNewProject:false,...r};let s=await Dn(t);return s&&s.ui&&s.ui.resolvedPaths.cwd!==t.resolvedPaths.cwd?await wh(e,t,s,{...r,isRemote:e?.length===1&&!!e[0].match(/\/chat\/b\//)}):await yh(e,t,{...r,skipFonts:r.skipFonts})}async function yh(e,t,r){if(!e.length)return;let s=await Fa(e,t,r),n=await Fe(t);r.skipFonts||(s=await ln(s,t));let i=rn([s]);await on(s.dependencies,s.devDependencies,t,{silent:r.silent,interactive:r.interactive}),await Br(s.tailwind?.config,t,{silent:r.silent,tailwindVersion:n}),await cn(s.envVars,t,{silent:r.silent}),r.skipFonts||await un(s.fonts,t,{silent:r.silent}),await Fr(s.files,t,{overwrite:r.overwrite,silent:r.silent,interactive:r.interactive,path:r.path,supportedFontMarkers:i});let o=await Ma(s,e,t,r.overwriteCssVars);await nn(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 wh(e,t,r,s){if(!e.length)return;let n=await Fa(e,t,s),i=[],o=[],a=[],c=j("Installing components.")?.start(),f=r.ui,l=await Fe(f),u=Kt(t.resolvedPaths.cwd,f.resolvedPaths.ui);n=await ln(n,t);let d=rn([n]);await on(n.dependencies,n.devDependencies,f,{silent:true,interactive:s.interactive}),n.tailwind?.config&&(await Br(n.tailwind?.config,f,{silent:true,tailwindVersion:l}),o.push(S__default.relative(u,f.resolvedPaths.tailwindConfig))),n.envVars&&await cn(n.envVars,f,{silent:true}),await un(n.fonts,t,{silent:true});let p=new Map,h={"registry:ui":"ui","registry:hook":"hooks","registry:lib":"lib"},m=R=>Qt(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=Kt(t.resolvedPaths.cwd,k.resolvedPaths.ui||k.resolvedPaths.cwd),ee=await Ar(H,k.resolvedPaths.cwd)??k.resolvedPaths.cwd,Sr=await Fr(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(...Sr.filesCreated.map(Oe=>S__default.relative(H,S__default.join(ee,Oe)))),o.push(...Sr.filesUpdated.map(Oe=>S__default.relative(H,S__default.join(ee,Oe)))),a.push(...Sr.filesSkipped.map(Oe=>S__default.relative(H,S__default.join(ee,Oe))));}let x=await Ma(n,e,t,s.overwriteCssVars);await nn(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 Fa(e,t,r){let s=j("Checking registry.",{silent:r.silent})?.start(),n=r.resolvedTree??await et(e,oe(t));if(!n)throw s?.fail(),new Error("Failed to fetch components from registry.");try{bh(n.files??[],t.resolvedPaths.cwd);}catch(i){throw s?.fail(),i}return s?.succeed(),n}async function Ma(e,t,r,s){if(!(!e.cssVars||Object.keys(e.cssVars).length===0))return s??xh(t,r)}async function xh(e,t){let r=await tn(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 bh(e,t){for(let r of e){let s=r?.target??r?.path;if(s&&!Ca(s,t))throw new Error(`We found an unsafe file path "${s}" in the registry item. Installation aborted.`)}}async function La(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 Sh(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 We(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 La(a,{processEnv:{...process.env}});return Re(async()=>{let l=await et(e,c,{useCache:true,requireUniversal:!i.success});if(!l)throw new Error("Failed to fetch components from registry.");if(!i.success&&!Eh(l,c))throw new Error("A full project config is required to resolve target aliases.");await Na(e,c,{...n,interactive:false,overwriteCssVars:t.overwriteCssVars??(i.success?void 0:false),resolvedTree:l});},{env:f})}function Eh(e,t){return (e.files??[]).every(r=>{let s=Qt(r.target);return !s||!!t.resolvedPaths[s]})}function WS(e,t){return e.length>0?e:Object.keys(t?.registries??{}).filter(r=>!(r in B))}var Ch=8;async function kh(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 Th(e,t){return Re(()=>$h(e,t))}async function $h(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=>Nh(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 kh(e,Ch,I=>en(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:jh(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=Ah(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 Ph=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 Ah(e,t){t={limit:100,threshold:-1e4,...t};let s=Ih.go(t.query,e,{keys:t.keys,threshold:t.threshold,limit:t.limit}).map(n=>n.obj);return z$1.array(Ph).parse(s)}function Oh(e){try{return new URL(e),!0}catch{return false}}function jh(e,t){let r=gt(t);if(r){let p=`${r.owner}/${r.repo}/${e}`;return r.ref?`${p}#${r.ref}`:p}if(!Oh(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 _h=80;function nt(e){return e?e.startsWith("registry:")?e.slice(9):e:""}function Nh(e){return e.startsWith("registry:")?e:`registry:${e}`}var Fh=["registry:example","registry:internal"],Mh=f.options.filter(e=>!Fh.includes(e)).map(e=>nt(e));function zS(e){let t=new Set(Mh.map(r=>r.toLowerCase()));return e.filter(r=>!t.has(nt(r).toLowerCase()))}function Lh(e,t=_h){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 Dh(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 ${Lh(e.description)}`:"";return `- ${P.info(r)}${n}${i}${o}`}function Da(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 US(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${Da(t)}.`);return}let o=`${r.total} item${r.total===1?"":"s"}`;E.info(`Found ${o}${Da(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=>Dh(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 pn=32;async function Hh(e){let{cwd:t,registryFile:r}=qa(e),s=await Ga(r,{cwd:t}),n=Ja(s,t,r);return Vh(s,n,t)}async function Gh(e,t){let{cwd:r,registryFile:s}=qa(t),n=await Ga(s,{cwd:r}),i=n.registry.items.find(a=>a.name===e);if(!i)throw new Ne(e);let o=Ja(n,r,s);return Wh(i,n,o,r)}async function Ga(e,t){let r=S.resolve(t.cwd,e),s=await Ua(r),n=Ka(s,r);Ha(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 za(r,n,i,[]);Jh(a.items,i.itemSourcesByItem);let{include:c,...f}=a;return Ha(f,r),{registry:f,itemSources:i.itemSources,itemSourcesByItem:i.itemSourcesByItem,usesInclude:o}}function Vh(e,t,r){return {...e.registry,items:e.registry.items.map(s=>Uh(Va(s,e.itemSourcesByItem,t,r)))}}async function Wh(e,t,r,s){let n$1={...Va(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=Wa(e,i.path,t.itemSourcesByItem,s);a.content=await zh(e.name,i.path,f,c);})),n.parse(n$1)}async function zh(e,t,r,s){try{return await ho.readFile(r,"utf-8")}catch(n){throw new le(r,n,{message:`Failed to read file "${t}" for registry item "${e}" (${$t(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 Va(e,t,r,s){return {...e,files:e.files?.map(n=>({...n,path:Kh(e,n.path,t,r,s)}))}}function Uh(e){return {...e,files:e.files?.map(({content:t,...r})=>r)}}function Wa(e,t,r,s){let n=r.get(e);return S.resolve(n?.registryDir??s,t)}function Kh(e,t,r,s,n){let i=Wa(e,t,r,n);return S.relative(s,i).split(S.sep).join("/")}async function za(e,t,r,s){if(Ba(e,r.cwd),s.length>=pn)throw new $(`Registry include tree is too deep at ${e}. The maximum include depth is ${pn}.`,{registryFile:e,context:{maxDepth:pn},suggestion:"Flatten part of the registry include tree or reduce nested include depth."});if(s.includes(e))throw new $(Yh([...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=Bh(f,a,r.cwd,e),u=await Ua(l),d=Ka(u,l),p=await za(l,d,r,o);c.push(...p.items);}return t.items.forEach((f,l)=>{qh(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 Ua(e){try{return await ho.readFile(e,"utf-8")}catch(t){throw new le(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 Ka(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
+ ${Zh(s.error)}`,{registryFile:t,cause:s.error,suggestion:"Update the registry.json file so it matches the registry schema."});return s.data}function Ha(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 Bh(e,t,r,s){if(D(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(Ya(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 Ba(n,r),n}function Ba(e,t){if(!Za(e,t))throw new $(`Invalid registry file at ${e}: registry includes must stay inside ${t}.`,{registryFile:e,context:{cwd:t}})}function qa(e){return {cwd:S.resolve(e?.cwd??process.cwd()),registryFile:e?.registryFile??"registry.json"}}function Ja(e,t,r){return e.usesInclude?S.dirname(S.resolve(t,r)):t}function qh(e,t,r){for(let s of e.files??[]){if(D(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(Ya(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(!Za(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 Jh(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
+ - ${$t(i)}
141
+ - ${$t(o)}
142
+ Rename one of these items so each name is unique across the resolved registry.`,{context:{itemName:s.name,firstSource:$t(i),secondSource:$t(o)}})}}function Ya(e){return e.split(/[\\/]+/).includes("..")}function Za(e,t){let r=S.relative(t,e);return !!r&&!r.startsWith("..")&&!S.isAbsolute(r)}function Yh(e){return `Registry include cycle detected:
143
+ ${e.map(t=>` - ${t}`).join(`
144
+ `)}`}function $t(e){return e?`${e.registryFile} items[${e.itemIndex}]`:"unknown source"}function Zh(e){return e.errors.map(t=>` - ${t.path.length?t.path.join("."):"(root)"}: ${t.message}`).join(`
145
+ `)}export{rg as $,US as $a,Z as A,bd as Aa,zn as B,sR as Ba,Me as C,X as Ca,j as D,yg as Da,er as E,Fe as Ea,rr as F,wg as Fa,nr as G,rn as Ga,ir as H,mR as Ha,Qn as I,sn as Ia,ei as J,Pa as Ja,or as K,nn as Ka,ar as L,Fd as La,vl as M,on as Ma,ai as N,ln as Na,D as O,un as Oa,li as P,Na as Pa,gt as Q,La as Qa,Re as R,Hh as Ra,yi as S,Gh as Sa,Xm as T,Ga as Ta,Qm as U,Vh as Ua,eg as V,Wh as Va,tg as W,Sh as Wa,zt as X,WS as Xa,ht as Y,Th as Ya,Ut as Z,Mh as Za,Dn as _,zS as _a,V as a,Gn as aa,An as b,oe as ba,B as c,Sw as ca,Qh as d,qe as da,em as e,xx as ea,P as f,Se as fa,E as g,et as ga,Cm as h,Ys as ha,km as i,Rv as ia,Tm as j,ya as ja,fc as k,xr as ka,G as l,en as la,F as m,tn as ma,_e as n,md as na,it as o,gd as oa,ot as p,yd as pa,at as q,Bt as qa,me as r,Xv as ra,le as s,Qv as sa,W as t,eR as ta,$ as u,cr as ua,Ne as v,wd as va,ct as w,tR as wa,lt as x,rR as xa,ut as y,Ea as ya,ge as z,xd as za};