velloo 0.8.0 → 0.10.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.
- package/BUN-LICENSE.md +4 -3
- package/README.md +112 -128
- package/THIRD-PARTY-NOTICES.md +61 -61
- package/canvas/assets/InitWizard-C1CkcS7C.js +3 -0
- package/canvas/assets/index-CZPX0col.css +2 -0
- package/canvas/assets/index-D7gy-ZUv.js +49 -0
- package/canvas/assets/lucide-all-B49qZ9YE.js +1 -0
- package/canvas/assets/radix-CuVEihKE.js +41 -0
- package/canvas/assets/react-C1iE8mnY.js +9 -0
- package/canvas/assets/rolldown-runtime-XKyaHtl9.js +1 -0
- package/canvas/assets/vendor-DXkvBgGY.js +58 -0
- package/canvas/assets/wand-sparkles-BxGgFkAt.js +1 -0
- package/canvas/index.html +6 -6
- package/{chunk-32cq4wpr.js → chunk-0rvdh1j3.js} +1 -1
- package/chunk-12pgt83m.js +8 -0
- package/chunk-12vc3f1h.js +3 -0
- package/{chunk-majd3gx9.js → chunk-28mhcvw2.js} +1 -1
- package/{chunk-ez720ked.js → chunk-3zm7ydna.js} +1 -1
- package/chunk-457fm9yy.js +7 -0
- package/chunk-46jg9aqy.js +40 -0
- package/chunk-5gwh0zpn.js +3 -0
- package/{chunk-q7wwqn03.js → chunk-5hb1e233.js} +1 -1
- package/{chunk-w30zfv3m.js → chunk-5ts4fvd9.js} +1 -1
- package/{chunk-rg86bhtb.js → chunk-62amy8bj.js} +1 -1
- package/{chunk-nrxqr4v5.js → chunk-6p8zwxxx.js} +1 -1
- package/{chunk-45wv1fs5.js → chunk-75gfv9g4.js} +11 -12
- package/chunk-84qjmqmz.js +2 -0
- package/{chunk-esg0x95a.js → chunk-85m9p67t.js} +2 -2
- package/chunk-91qesxwh.js +2 -0
- package/{chunk-hsk91jms.js → chunk-976rm76x.js} +1 -1
- package/chunk-99ccjbaa.js +4 -0
- package/{chunk-asqpx5v7.js → chunk-9hc7m55p.js} +3 -4
- package/{chunk-h3ser37q.js → chunk-a7xka0bj.js} +1 -1
- package/chunk-ak57bgnh.js +2 -0
- package/chunk-bf5808x5.js +2 -0
- package/{chunk-mqtnj8ws.js → chunk-bj47gjs9.js} +1 -1
- package/chunk-d0m56cjx.js +2 -0
- package/chunk-d6a6198y.js +3 -0
- package/{chunk-aefn23tr.js → chunk-etv7qsw7.js} +1 -1
- package/chunk-f2793pj6.js +85 -0
- package/{chunk-3612470d.js → chunk-fnv123mm.js} +1 -1
- package/{chunk-pjtg3wnm.js → chunk-fzevxpdz.js} +1 -1
- package/chunk-ghwy99py.js +68 -0
- package/chunk-gtt1qww8.js +2 -0
- package/chunk-hhkjqvww.js +1501 -0
- package/{chunk-d19ttv1a.js → chunk-hrvqwp8z.js} +1 -1
- package/{chunk-v6ks5v53.js → chunk-hxk0wkt3.js} +1 -1
- package/{chunk-qgbat4fv.js → chunk-jc95phff.js} +2 -2
- package/chunk-kwym0g80.js +11 -0
- package/chunk-kxcjme3n.js +6 -0
- package/{chunk-dy7qwj3t.js → chunk-mkctjrrz.js} +2 -2
- package/{chunk-z6r6wxm6.js → chunk-mknhfnkn.js} +1 -1
- package/chunk-mseawt58.js +849 -0
- package/{chunk-cg0sjdqt.js → chunk-nccfyeyy.js} +1 -1
- package/{chunk-c4164x55.js → chunk-npnxs0fy.js} +1 -1
- package/{chunk-ffm2jpxp.js → chunk-p9p2vbat.js} +2 -2
- package/chunk-pqc7dbhc.js +2 -0
- package/{chunk-g3k8k6fq.js → chunk-qc7c328q.js} +1 -1
- package/chunk-qe6pp4p6.js +72 -0
- package/{chunk-zgwvkgsz.js → chunk-qwy0jba8.js} +1 -1
- package/{chunk-mqx96m2g.js → chunk-s26bgjqz.js} +1 -1
- package/{chunk-8n07n0cr.js → chunk-s8pqbr4n.js} +2 -2
- package/{chunk-p93x4pn2.js → chunk-tjy12q19.js} +1 -1
- package/{chunk-cq2q36d1.js → chunk-v1by80c5.js} +1 -1
- package/chunk-vdy4ave9.js +2 -0
- package/chunk-vwhee991.js +3 -0
- package/chunk-wf7r45wh.js +12 -0
- package/chunk-x4jsr5et.js +17 -0
- package/{chunk-8qf0ne1p.js → chunk-x9gk2n9v.js} +1 -1
- package/chunk-xxjevh62.js +2 -0
- package/{chunk-s1cwck4c.js → chunk-y2y1b3zm.js} +1 -1
- package/chunk-y6jq6y8t.js +2 -0
- package/cli.js +1 -1
- package/package.json +11 -11
- package/pkgs/helpers/src/icon-data.ts +868 -172
- package/pkgs/schema/src/index.ts +1 -0
- package/pkgs/schema/src/snippet-resolve.ts +43 -0
- package/pkgs/shadcn-snapshot/dist/manifest.json +348 -0
- package/pkgs/shadcn-snapshot/src/components/canvas-portal.tsx +3 -3
- package/plugins/claude/velloo/.claude-plugin/plugin.json +5 -2
- package/plugins/gemini/gemini-extension.json +7 -2
- package/canvas/assets/index-CcPwhD7W.js +0 -31
- package/canvas/assets/index-CkVteRZ9.css +0 -2
- package/canvas/assets/lucide-all-Cezxn40A.js +0 -1
- package/canvas/assets/radix-gmpYzWRH.js +0 -41
- package/canvas/assets/react-D0Ec-185.js +0 -9
- package/canvas/assets/rolldown-runtime-hePW80VL.js +0 -1
- package/canvas/assets/vendor-CKmQ-Zst.js +0 -53
- package/chunk-07fxzrx2.js +0 -40
- package/chunk-4g4c9h7k.js +0 -2
- package/chunk-6w42sr61.js +0 -6
- package/chunk-80fjfyha.js +0 -86
- package/chunk-8ztgcajz.js +0 -8
- package/chunk-9g45c5md.js +0 -815
- package/chunk-b4hny6hw.js +0 -3
- package/chunk-bntsn3wj.js +0 -2
- package/chunk-djwvt6jx.js +0 -2
- package/chunk-dqqpbmxt.js +0 -22
- package/chunk-ejpccmcj.js +0 -18
- package/chunk-emty5315.js +0 -2
- package/chunk-jxgwdz2r.js +0 -5
- package/chunk-kvq7pcph.js +0 -2
- package/chunk-m0v3d581.js +0 -2
- package/chunk-nx0ex7qw.js +0 -2
- package/chunk-qqagacne.js +0 -4
- package/chunk-qx83fdv2.js +0 -85
- package/chunk-r5y1sh4f.js +0 -12
- package/chunk-rhfzy9c0.js +0 -2
- package/chunk-rrrn1mkq.js +0 -3
- package/chunk-sjxp2bx3.js +0 -2
- package/chunk-t08391mh.js +0 -3
- package/chunk-t61vyqpd.js +0 -2
- package/chunk-vbk1qhdz.js +0 -3
- package/chunk-x84qrz4q.js +0 -6
- package/chunk-xg49s85z.js +0 -1491
- package/chunk-xxw67jpk.js +0 -63
- package/chunk-yjwtdm71.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{withMcpSessionUrl,MCP_SURFACE_MODES,parseMcpSurfaceSelection,withMcpSurfaceUrl,runStdioFormatGate,runStdioMcpProxy}from"./chunk-mseawt58.js";import"./chunk-ghwy99py.js";import"./chunk-hhkjqvww.js";import"./chunk-ak57bgnh.js";import"./chunk-d6a6198y.js";import{assertLoopbackHost,daemonRoot,DesignFolderFormatError,ensureDaemon,stopDaemon}from"./chunk-jc95phff.js";import{DESIGN_ARG_DESCRIPTION,resolveDesignForSession}from"./chunk-qe6pp4p6.js";import"./chunk-s23gtejf.js";import{upgradeFolder}from"./chunk-3zm7ydna.js";import"./chunk-5ts4fvd9.js";import{traceEnabled}from"./chunk-6tx68d90.js";import{defineCommand}from"./chunk-2smsg2ct.js";import{join}from"path";async function serveFormatGate(err){console.error(`velloo mcp: ${err.message.slice(8)}`),console.error("velloo mcp: serving the upgrade gate over MCP instead of the design tools.");let closing=!1,shutdown=async(close)=>{if(closing)return;closing=!0,await close?.(),process.exit(0)},gate=await runStdioFormatGate({root:err.root,found:err.found,current:err.current,upgrade:err.found<err.current?async()=>(await stopDaemon(daemonRoot(err.root)),upgradeFolder(err.root)):void 0,onExit:()=>void shutdown()});return process.on("SIGINT",()=>void shutdown(gate.close)),process.on("SIGTERM",()=>void shutdown(gate.close)),process.stdin.on("end",()=>void shutdown(gate.close)),process.stdin.on("close",()=>void shutdown(gate.close)),await new Promise(()=>{})}var mcp_default=defineCommand({meta:{name:"mcp",description:"Connect this agent to the folder's canvas over MCP (stdio by default). Usually spawned by your agent."},args:{design:{type:"positional",required:!1,description:DESIGN_ARG_DESCRIPTION},http:{type:"boolean",default:!1,description:"Print the daemon's HTTP MCP URL instead of bridging over stdio"},port:{type:"string",description:"Preferred canvas port when starting the daemon fresh (default 7300)"},host:{type:"string",description:"Loopback bind hostname: 127.0.0.1 (default), localhost or ::1"},surface:{type:"string",description:`Tool surface: ${MCP_SURFACE_MODES.join(", ")} (default guided; env VELLOO_MCP_SURFACE)`},"in-canvas":{type:"boolean",default:!1,description:"Set by the canvas's Agent tab: the agent runs inside the canvas"}},async run({args}){assertLoopbackHost(args.host??"127.0.0.1");let{folder,pick}=await resolveDesignForSession(args.design,"mcp"),preferredPort=args.port?Number(args.port):void 0,parsedSurface=parseMcpSurfaceSelection(args.surface??process.env.VELLOO_MCP_SURFACE);if(!parsedSurface.ok)throw Error(`velloo mcp: ${parsedSurface.error}`);let surface=parsedSurface.selection,spawned=!1,rec;try{rec=await ensureDaemon(folder,{preferredPort,host:args.host,onSpawn:()=>{spawned=!0}})}catch(err){if(err instanceof DesignFolderFormatError&&!args.http)await serveFormatGate(err);throw err}if(traceEnabled())console.error(spawned?`velloo: \u29BF trace recording ON \u2014 tapes \u2192 ${join(folder,".velloo","trace")} (view with \`velloo trace\`)`:"velloo: VELLOO_TRACE is set, but attached to an already-running canvas \u2014 recording is only active if that daemon was started trace-enabled (`velloo stop` then reconnect to force a fresh one).");if(args.http){let selectedUrl=withMcpSessionUrl(withMcpSurfaceUrl(rec.mcpUrl,surface),{pick});console.log(`velloo: canvas at ${rec.canvasUrl}`),console.log(`velloo: MCP server at ${selectedUrl} (point your AI agent here)`),console.log("velloo: it keeps running in the background \u2014 `velloo stop` to stop it.");return}console.error(`velloo: bridging MCP to the canvas at ${rec.canvasUrl}`);let closing=!1,shutdown=async(close)=>{if(closing)return;closing=!0,await close?.(),process.exit(0)},current=folder,portFor=(root)=>root===folder?preferredPort:void 0,sessionUrl=(mcpUrl,opened)=>withMcpSessionUrl(withMcpSurfaceUrl(mcpUrl,surface),{switchable:!0,pick:opened,inCanvas:args["in-canvas"]}),proxy=await runStdioMcpProxy(sessionUrl(rec.mcpUrl,pick),{onExit:()=>void shutdown(),rediscover:async()=>{try{let fresh=await ensureDaemon(current,{preferredPort:portFor(current),host:args.host});return sessionUrl(fresh.mcpUrl,void 0)}catch{return null}},switchTo:async(root)=>{try{let next=await ensureDaemon(root,{preferredPort:portFor(root),host:args.host});return current=root,{url:sessionUrl(next.mcpUrl,void 0)}}catch(err){let message=err instanceof Error?err.message:String(err);return{error:message.startsWith("velloo: ")?message.slice(8):message}}}});process.on("SIGINT",()=>void shutdown(proxy.close)),process.on("SIGTERM",()=>void shutdown(proxy.close)),process.stdin.on("end",()=>void shutdown(proxy.close)),process.stdin.on("close",()=>void shutdown(proxy.close)),await new Promise(()=>{})}});export{mcp_default as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{sanitizeCssTokenValue,resolveColors,TYPESET_DEFAULT,DEFAULT_TYPESET_NAME,typesetScale}from"./chunk-
|
|
2
|
+
import{sanitizeCssTokenValue,resolveColors,TYPESET_DEFAULT,DEFAULT_TYPESET_NAME,typesetScale}from"./chunk-ghwy99py.js";import{helpersRegistry,parse_default,formatRgb}from"./chunk-mseawt58.js";import{STYLE_PROP,catalogFromManifest,identifierRef,require_react_development,require_react_dom}from"./chunk-hhkjqvww.js";import{__toESM,__commonJS}from"./chunk-2smsg2ct.js";import{ANTD_VERSION}from"./chunk-0t68szgr.js";import{_objectWithoutPropertiesLoose,_extends,_assertThisInitialized,_setPrototypeOf}from"./chunk-h6gchare.js";import{resolveProviderSrcDir}from"./chunk-v6c3h9ft.js";var require_classnames=__commonJS(function(exports,module){/*!
|
|
3
3
|
Copyright (c) 2018 Jed Watson.
|
|
4
4
|
Licensed under the MIT License (MIT), see
|
|
5
5
|
http://jedwatson.github.io/classnames
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{BoardSchema,isArchived,designNameIssue,toDesignName,ConfigSchema,ScreenSchema}from"./chunk-ghwy99py.js";import{writeJsonAtomic,listLocalDesigns,writeLocalDesign,readRepoManifestAt,findOwningManifest,recordedDesignName,findDesigns2,pickDesign}from"./chunk-mseawt58.js";import{fail}from"./chunk-s23gtejf.js";import{__toESM,__commonJS}from"./chunk-2smsg2ct.js";var require_src=__commonJS(function(exports,module){var cursor={to(x,y){if(!y)return`\x1B[${x+1}G`;return`\x1B[${y+1};${x+1}H`},move(x,y){let ret="";if(x<0)ret+=`\x1B[${-x}D`;else if(x>0)ret+=`\x1B[${x}C`;if(y<0)ret+=`\x1B[${-y}A`;else if(y>0)ret+=`\x1B[${y}B`;return ret},up:(count=1)=>`\x1B[${count}A`,down:(count=1)=>`\x1B[${count}B`,forward:(count=1)=>`\x1B[${count}C`,backward:(count=1)=>`\x1B[${count}D`,nextLine:(count=1)=>"\x1B[E".repeat(count),prevLine:(count=1)=>"\x1B[F".repeat(count),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},scroll={up:(count=1)=>"\x1B[S".repeat(count),down:(count=1)=>"\x1B[T".repeat(count)},erase={screen:"\x1B[2J",up:(count=1)=>"\x1B[1J".repeat(count),down:(count=1)=>"\x1B[J".repeat(count),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(count){let clear="";for(let i=0;i<count;i++)clear+=this.line+(i<count-1?cursor.up():"");if(count)clear+=cursor.left;return clear}};module.exports={cursor,scroll,erase,beep:"\x07"}});import{styleText}from"util";import{stdout,stdin}from"process";import*as l from"readline";import l__default from"readline";var getCodePointsLength=(()=>{let SURROGATE_PAIR_RE=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return(input)=>{let surrogatePairsNr=0;SURROGATE_PAIR_RE.lastIndex=0;while(SURROGATE_PAIR_RE.test(input))surrogatePairsNr+=1;return input.length-surrogatePairsNr}})(),isFullWidth=(x)=>x===12288||x>=65281&&x<=65376||x>=65504&&x<=65510,isWideNotCJKTNotEmoji=(x)=>x===8987||x===9001||x>=12272&&x<=12287||x>=12289&&x<=12350||x>=12441&&x<=12543||x>=12549&&x<=12591||x>=12593&&x<=12686||x>=12688&&x<=12771||x>=12783&&x<=12830||x>=12832&&x<=12871||x>=12880&&x<=19903||x>=65040&&x<=65049||x>=65072&&x<=65106||x>=65108&&x<=65126||x>=65128&&x<=65131||x>=127488&&x<=127490||x>=127504&&x<=127547||x>=127552&&x<=127560||x>=131072&&x<=196605||x>=196608&&x<=262141;var ANSI_RE=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,CONTROL_RE=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,CJKT_WIDE_RE=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/yu,TAB_RE=/\t{1,1000}/y,EMOJI_RE=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu,LATIN_RE=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,MODIFIER_RE=/\p{M}+/gu,NO_TRUNCATION={limit:1/0,ellipsis:""},getStringTruncatedWidth=(input,truncationOptions={},widthOptions={})=>{let LIMIT=truncationOptions.limit??1/0,ELLIPSIS=truncationOptions.ellipsis??"",ELLIPSIS_WIDTH=truncationOptions?.ellipsisWidth??(ELLIPSIS?getStringTruncatedWidth(ELLIPSIS,NO_TRUNCATION,widthOptions).width:0),ANSI_WIDTH=0,CONTROL_WIDTH=widthOptions.controlWidth??0,TAB_WIDTH=widthOptions.tabWidth??8,EMOJI_WIDTH=widthOptions.emojiWidth??2,FULL_WIDTH_WIDTH=2,REGULAR_WIDTH=widthOptions.regularWidth??1,WIDE_WIDTH=widthOptions.wideWidth??2,PARSE_BLOCKS=[[LATIN_RE,REGULAR_WIDTH],[ANSI_RE,0],[CONTROL_RE,CONTROL_WIDTH],[TAB_RE,TAB_WIDTH],[EMOJI_RE,EMOJI_WIDTH],[CJKT_WIDE_RE,WIDE_WIDTH]],indexPrev=0,index=0,length=input.length,lengthExtra=0,truncationEnabled=!1,truncationIndex=length,truncationLimit=Math.max(0,LIMIT-ELLIPSIS_WIDTH),unmatchedStart=0,unmatchedEnd=0,width=0,widthExtra=0;outer:while(!0){if(unmatchedEnd>unmatchedStart||index>=length&&index>indexPrev){let unmatched=input.slice(unmatchedStart,unmatchedEnd)||input.slice(indexPrev,index);lengthExtra=0;for(let char of unmatched.replaceAll(MODIFIER_RE,"")){let codePoint=char.codePointAt(0)||0;if(isFullWidth(codePoint))widthExtra=2;else if(isWideNotCJKTNotEmoji(codePoint))widthExtra=WIDE_WIDTH;else widthExtra=REGULAR_WIDTH;if(width+widthExtra>truncationLimit)truncationIndex=Math.min(truncationIndex,Math.max(unmatchedStart,indexPrev)+lengthExtra);if(width+widthExtra>LIMIT){truncationEnabled=!0;break outer}lengthExtra+=char.length,width+=widthExtra}unmatchedStart=unmatchedEnd=0}if(index>=length)break outer;for(let i=0,l=PARSE_BLOCKS.length;i<l;i++){let[BLOCK_RE,BLOCK_WIDTH]=PARSE_BLOCKS[i];if(BLOCK_RE.lastIndex=index,BLOCK_RE.test(input)){if(lengthExtra=BLOCK_RE===CJKT_WIDE_RE?getCodePointsLength(input.slice(index,BLOCK_RE.lastIndex)):BLOCK_RE===EMOJI_RE?1:BLOCK_RE.lastIndex-index,widthExtra=lengthExtra*BLOCK_WIDTH,width+widthExtra>truncationLimit)truncationIndex=Math.min(truncationIndex,index+Math.floor((truncationLimit-width)/BLOCK_WIDTH));if(width+widthExtra>LIMIT){truncationEnabled=!0;break outer}width+=widthExtra,unmatchedStart=indexPrev,unmatchedEnd=index,index=indexPrev=BLOCK_RE.lastIndex;continue outer}}index+=1}return{width:truncationEnabled?truncationLimit:width,index:truncationEnabled?truncationIndex:length,truncated:truncationEnabled,ellipsed:truncationEnabled&&LIMIT>=ELLIPSIS_WIDTH}},dist_default=getStringTruncatedWidth;var NO_TRUNCATION2={limit:1/0,ellipsis:"",ellipsisWidth:0},fastStringWidth=(input,options={})=>dist_default(input,NO_TRUNCATION2,options).width,dist_default2=fastStringWidth;var ESC="\x1B",CSI="\x9B",END_CODE=39,ANSI_ESCAPE_BELL="\x07",ANSI_CSI="[",ANSI_OSC="]",ANSI_SGR_TERMINATOR="m",ANSI_ESCAPE_LINK=`${ANSI_OSC}8;;`,GROUP_REGEX=new RegExp(`(?:\\${ANSI_CSI}(?<code>\\d+)m|\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`,"y"),getClosingCode=(openingCode)=>{if(openingCode>=30&&openingCode<=37)return 39;if(openingCode>=90&&openingCode<=97)return 39;if(openingCode>=40&&openingCode<=47)return 49;if(openingCode>=100&&openingCode<=107)return 49;if(openingCode===1||openingCode===2)return 22;if(openingCode===3)return 23;if(openingCode===4)return 24;if(openingCode===7)return 27;if(openingCode===8)return 28;if(openingCode===9)return 29;if(openingCode===0)return 0;return},wrapAnsiCode=(code)=>`${ESC}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`,wrapAnsiHyperlink=(url)=>`${ESC}${ANSI_ESCAPE_LINK}${url}${ANSI_ESCAPE_BELL}`,wrapWord=(rows,word,columns)=>{let characters=word[Symbol.iterator](),isInsideEscape=!1,isInsideLinkEscape=!1,lastRow=rows.at(-1),visible=lastRow===void 0?0:dist_default2(lastRow),currentCharacter=characters.next(),nextCharacter=characters.next(),rawCharacterIndex=0;while(!currentCharacter.done){let character=currentCharacter.value,characterLength=dist_default2(character);if(visible+characterLength<=columns)rows[rows.length-1]+=character;else rows.push(character),visible=0;if(character===ESC||character===CSI)isInsideEscape=!0,isInsideLinkEscape=word.startsWith(ANSI_ESCAPE_LINK,rawCharacterIndex+1);if(isInsideEscape){if(isInsideLinkEscape){if(character===ANSI_ESCAPE_BELL)isInsideEscape=!1,isInsideLinkEscape=!1}else if(character===ANSI_SGR_TERMINATOR)isInsideEscape=!1}else if(visible+=characterLength,visible===columns&&!nextCharacter.done)rows.push(""),visible=0;currentCharacter=nextCharacter,nextCharacter=characters.next(),rawCharacterIndex+=character.length}if(lastRow=rows.at(-1),!visible&&lastRow!==void 0&&lastRow.length&&rows.length>1)rows[rows.length-2]+=rows.pop()},stringVisibleTrimSpacesRight=(string)=>{let words=string.split(" "),last=words.length;while(last){if(dist_default2(words[last-1]))break;last--}if(last===words.length)return string;return words.slice(0,last).join(" ")+words.slice(last).join("")},exec=(string,columns,options={})=>{if(options.trim!==!1&&string.trim()==="")return"";let returnValue="",escapeCode,escapeUrl,words=string.split(" "),rows=[""],rowLength=0;for(let index=0;index<words.length;index++){let word=words[index];if(options.trim!==!1){let row=rows.at(-1)??"",trimmed=row.trimStart();if(row.length!==trimmed.length)rows[rows.length-1]=trimmed,rowLength=dist_default2(trimmed)}if(index!==0){if(rowLength>=columns&&(options.wordWrap===!1||options.trim===!1))rows.push(""),rowLength=0;if(rowLength||options.trim===!1)rows[rows.length-1]+=" ",rowLength++}let wordLength=dist_default2(word);if(options.hard&&wordLength>columns){let remainingColumns=columns-rowLength,breaksStartingThisLine=1+Math.floor((wordLength-remainingColumns-1)/columns);if(Math.floor((wordLength-1)/columns)<breaksStartingThisLine)rows.push("");wrapWord(rows,word,columns),rowLength=dist_default2(rows.at(-1)??"");continue}if(rowLength+wordLength>columns&&rowLength&&wordLength){if(options.wordWrap===!1&&rowLength<columns){wrapWord(rows,word,columns),rowLength=dist_default2(rows.at(-1)??"");continue}rows.push(""),rowLength=0}if(rowLength+wordLength>columns&&options.wordWrap===!1){wrapWord(rows,word,columns),rowLength=dist_default2(rows.at(-1)??"");continue}rows[rows.length-1]+=word,rowLength+=wordLength}if(options.trim!==!1)rows=rows.map((row)=>stringVisibleTrimSpacesRight(row));let preString=rows.join(`
|
|
3
|
+
`),inSurrogate=!1;for(let i=0;i<preString.length;i++){let character=preString[i];if(returnValue+=character,!inSurrogate){if(inSurrogate=character>="\uD800"&&character<="\uDBFF",inSurrogate)continue}else inSurrogate=!1;if(character===ESC||character===CSI){GROUP_REGEX.lastIndex=i+1;let groups=GROUP_REGEX.exec(preString)?.groups;if(groups?.code!==void 0){let code=Number.parseFloat(groups.code);escapeCode=code===END_CODE?void 0:code}else if(groups?.uri!==void 0)escapeUrl=groups.uri.length===0?void 0:groups.uri}if(preString[i+1]===`
|
|
4
|
+
`){if(escapeUrl)returnValue+=wrapAnsiHyperlink("");let closingCode=escapeCode?getClosingCode(escapeCode):void 0;if(escapeCode&&closingCode)returnValue+=wrapAnsiCode(closingCode)}else if(character===`
|
|
5
|
+
`){if(escapeCode&&getClosingCode(escapeCode))returnValue+=wrapAnsiCode(escapeCode);if(escapeUrl)returnValue+=wrapAnsiHyperlink(escapeUrl)}}return returnValue},CRLF_OR_LF=/\r?\n/;function wrapAnsi(string,columns,options){return String(string).normalize().split(CRLF_OR_LF).map((line)=>exec(line,columns,options)).join(`
|
|
6
|
+
`)}var import_sisteransi=__toESM(require_src(),1);import{ReadStream}from"tty";function findCursor(s,o,l){if(!l.some((r)=>!r.disabled))return s;let t=s+o,n=Math.max(l.length-1,0),e=t<0?n:t>n?0:t;return l[e]?.disabled?findCursor(e,o<0?-1:1,l):e}var a$1=["up","down","left","right","space","enter","cancel"],t=["January","February","March","April","May","June","July","August","September","October","November","December"],settings={actions:new Set(a$1),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]]),messages:{cancel:"Canceled",error:"Something went wrong"},withGuide:!0,accessible:void 0,date:{monthNames:[...t],messages:{required:"Please enter a valid date",invalidMonth:"There are only 12 months in a year",invalidDay:(n,e)=>`There are only ${n} days in ${e}`,afterMin:(n)=>`Date must be on or after ${n.toISOString().slice(0,10)}`,beforeMax:(n)=>`Date must be on or before ${n.toISOString().slice(0,10)}`}}};function isAccessible(n){if(n!==void 0)return n;if(settings.accessible!==void 0)return settings.accessible;let e=process.env.ACCESSIBLE;return e!==void 0&&e!==""&&e!=="0"&&e!=="false"}function isActionKey(n,e){if(typeof n=="string")return settings.aliases.get(n)===e;for(let s of n)if(s!==void 0&&isActionKey(s,e))return!0;return!1}function diffLines(i,s){if(i===s)return;let e=i.split(`
|
|
7
|
+
`),t=s.split(`
|
|
8
|
+
`),r=Math.max(e.length,t.length),f=[];for(let n=0;n<r;n++)e[n]!==t[n]&&f.push(n);return{lines:f,numLinesBefore:e.length,numLinesAfter:t.length,numLines:r}}var R=globalThis.process.platform.startsWith("win"),CANCEL_SYMBOL=Symbol("clack:cancel");function isCancel(e){return e===CANCEL_SYMBOL}function setRawMode(e,r){let o=e;o.isTTY&&o.setRawMode(r)}function block({input:e=stdin,output:r=stdout,overwrite:o=!0,hideCursor:n=!0}={}){let s=l.createInterface({input:e,output:r,prompt:"",tabSize:1});l.emitKeypressEvents(e,s),e instanceof ReadStream&&e.isTTY&&e.setRawMode(!0);let t=(f,{name:a,sequence:w})=>{let c=String(f);if(isActionKey([c,a,w],"cancel")){n&&r.write(import_sisteransi.cursor.show),process.exit(0);return}if(!o)return;l.moveCursor(r,a==="return"?0:-1,a==="return"?-1:0,()=>{l.clearLine(r,1,()=>{e.once("keypress",t)})})};return n&&r.write(import_sisteransi.cursor.hide),e.once("keypress",t),()=>{e.off("keypress",t),n&&r.write(import_sisteransi.cursor.show),e instanceof ReadStream&&e.isTTY&&!R&&e.setRawMode(!1),s.terminal=!1,s.close()}}var getColumns=(e)=>("columns"in e)&&typeof e.columns=="number"?e.columns:80,getRows=(e)=>("rows"in e)&&typeof e.rows=="number"?e.rows:20;function wrapTextWithPrefix(e,r,o,n=o,s=o,t){let f=getColumns(e??stdout);return wrapAnsi(r,f-o.length,{hard:!0,trim:!1}).split(`
|
|
9
|
+
`).map((c,i,m)=>{let d=t?t(c,i):c;return i===0?`${n}${d}`:i===m.length-1?`${s}${d}`:`${o}${d}`}).join(`
|
|
10
|
+
`)}function runValidation(e,a){if("~standard"in e){let n=e["~standard"].validate(a);return n instanceof Promise?n.then((r)=>r.issues?.at(0)?.message):n.issues?.at(0)?.message}return e(a)}class y{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame="";_subscribers=new Map;_cursor=0;state="initial";error="";value;userInput="";get accessible(){return isAccessible(this.opts.accessible)}constructor(t,e=!0){let{input:i=stdin,output:s=stdout,render:r,signal:n,...o}=t;this.opts=o,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=r.bind(this),this._track=e,this._abortSignal=n,this.input=i,this.output=s}unsubscribe(){this._subscribers.clear()}setSubscriber(t,e){let i=this._subscribers.get(t)??[];i.push(e),this._subscribers.set(t,i)}on(t,e){this.setSubscriber(t,{cb:e})}once(t,e){this.setSubscriber(t,{cb:e,once:!0})}emit(t,...e){let i=this._subscribers.get(t)??[],s=[];for(let r of i)r.cb(...e),r.once&&s.push(()=>i.splice(i.indexOf(r),1));for(let r of s)r()}prompt(){return new Promise((t)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),t(CANCEL_SYMBOL);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}this.rl=l__default.createInterface({input:this.input,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),this.rl.prompt(),this.opts.initialUserInput!==void 0&&this._setUserInput(this.opts.initialUserInput,!0),this.input.on("keypress",this.onKeypress),setRawMode(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(import_sisteransi.cursor.show),this.output.off("resize",this.render),setRawMode(this.input,!1),t(this.value)}),this.once("cancel",()=>{this.output.write(import_sisteransi.cursor.show),this.output.off("resize",this.render),setRawMode(this.input,!1),t(CANCEL_SYMBOL)})})}_isActionKey(t,e){return t==="\t"}_shouldSubmit(t,e){return!0}_setValue(t){this.value=t,this.emit("value",this.value)}_setUserInput(t,e){this.userInput=t??"",this.emit("userInput",this.userInput),e&&this._track&&this.rl&&(this.rl.write(this.userInput),this._cursor=this.rl.cursor)}_clearUserInput(){this.rl?.write(null,{ctrl:!0,name:"u"}),this._setUserInput("")}async onKeypress(t,e){if(this.state!=="validating"){if(this._track&&e.name!=="return"&&(e.name&&this._isActionKey(t,e)&&this.rl?.write(null,{ctrl:!0,name:"h"}),this._cursor=this.rl?.cursor??0,this._setUserInput(this.rl?.line)),this.state==="error"&&(this.state="active"),e?.name&&(!this._track&&settings.aliases.has(e.name)&&this.emit("cursor",settings.aliases.get(e.name)),settings.actions.has(e.name)&&this.emit("cursor",e.name)),t&&(t.toLowerCase()==="y"||t.toLowerCase()==="n")&&this.emit("confirm",t.toLowerCase()==="y"),this.emit("key",t,e),e?.name==="return"&&this._shouldSubmit(t,e)){if(this.opts.validate){let i=runValidation(this.opts.validate,this.value),s;i instanceof Promise?(this.state="validating",this.render(),s=await i):s=i,s&&(this.error=s instanceof Error?s.message:s,this.state="error",this.rl?.write(this.userInput))}this.state!=="error"&&(this.state="submit")}isActionKey([t,e?.name,e?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
|
|
11
|
+
`),setRawMode(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let t=wrapAnsi(this._prevFrame,process.stdout.columns,{hard:!0,trim:!1}).split(`
|
|
12
|
+
`).length-1;this.output.write(import_sisteransi.cursor.move(-999,t*-1))}render(){let t=wrapAnsi(this._render(this)??"",process.stdout.columns,{hard:!0,trim:!1});if(t!==this._prevFrame){if(this.state==="initial")this.output.write(import_sisteransi.cursor.hide);else{let e=diffLines(this._prevFrame,t),i=getRows(this.output);if(this.restoreCursor(),e){let s=Math.max(0,e.numLinesAfter-i),r=Math.max(0,e.numLinesBefore-i),n=e.lines.find((o)=>o>=s);if(n===void 0){this._prevFrame=t;return}if(e.lines.length===1){this.output.write(import_sisteransi.cursor.move(0,n-r)),this.output.write(import_sisteransi.erase.lines(1));let o=t.split(`
|
|
13
|
+
`);this.output.write(o[n]),this._prevFrame=t,this.output.write(import_sisteransi.cursor.move(0,o.length-n-1));return}else if(e.lines.length>1){if(s<r)n=s;else{let h=n-r;h>0&&this.output.write(import_sisteransi.cursor.move(0,h))}this.output.write(import_sisteransi.erase.down());let f=t.split(`
|
|
14
|
+
`).slice(n);this.output.write(f.join(`
|
|
15
|
+
`)),this._prevFrame=t;return}}this.output.write(import_sisteransi.erase.down())}this.output.write(t),this.state==="initial"&&(this.state="active"),this._prevFrame=t}}}class r extends y{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(t){super(t,!1),this.value=!!t.initialValue,this.on("userInput",()=>{this.value=this._value}),this.on("confirm",(i)=>{this.output.write(import_sisteransi.cursor.move(0,-1)),this.value=i,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}class a extends y{options;cursor=0;get _value(){return this.options[this.cursor]?.value}get _enabledOptions(){return this.options.filter((e)=>e.disabled!==!0)}toggleAll(){let e=this._enabledOptions,i=this.value!==void 0&&this.value.length===e.length;this.value=i?[]:e.map((t)=>t.value)}toggleInvert(){let e=this.value;if(!e)return;let i=this._enabledOptions.filter((t)=>!e.includes(t.value));this.value=i.map((t)=>t.value)}toggleValue(){this.value===void 0&&(this.value=[]);let e=this.value.includes(this._value);this.value=e?this.value.filter((i)=>i!==this._value):[...this.value,this._value]}constructor(e){super(e,!1),this.options=e.options,this.value=[...e.initialValues??[]];let i=Math.max(this.options.findIndex(({value:t})=>t===e.cursorAt),0);this.cursor=this.options[i]?.disabled?findCursor(i,1,this.options):i,this.on("key",(t,l)=>{l.name==="a"&&this.toggleAll(),l.name==="i"&&this.toggleInvert()}),this.on("cursor",(t)=>{switch(t){case"left":case"up":this.cursor=findCursor(this.cursor,-1,this.options);break;case"down":case"right":this.cursor=findCursor(this.cursor,1,this.options);break;case"space":this.toggleValue();break}})}}var u$1=class extends y{_mask="\u2022";get cursor(){return this._cursor}get masked(){return this.userInput.replaceAll(/./g,this._mask)}get userInputWithCursor(){if(this.state==="submit"||this.state==="cancel")return this.masked;let t=this.userInput;if(this.cursor>=t.length)return`${this.masked}${styleText(["inverse","hidden"],"_")}`;let s=this.masked,r=s.slice(0,this.cursor),i=s.slice(this.cursor,this.cursor+1),o=s.slice(this.cursor+1);return`${r}${styleText("inverse",i)}${o}`}clear(){this._clearUserInput()}constructor({mask:t,...s}){super(s),this._mask=t??"\u2022",this.on("userInput",(r)=>{this._setValue(r)}),this.on("finalize",()=>{this.value===void 0&&(this.value="")})}},n$1=class extends y{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){let e=this._selectedValue;this.value=e===void 0?void 0:e.value}constructor(e){super(e,!1),this.options=e.options;let o=this.options.findIndex(({value:s})=>s===e.initialValue),t=o===-1?0:o;this.cursor=this.options[t]?.disabled?findCursor(t,1,this.options):t,this.changeValue(),this.on("cursor",(s)=>{switch(s){case"left":case"up":this.cursor=findCursor(this.cursor,-1,this.options);break;case"down":case"right":this.cursor=findCursor(this.cursor,1,this.options);break}this.changeValue()})}};import{styleText as styleText2,stripVTControlCharacters}from"util";import process$1 from"process";var import_sisteransi2=__toESM(require_src(),1);function isUnicodeSupported(){if(process$1.platform!=="win32")return process$1.env.TERM!=="linux";return Boolean(process$1.env.CI)||Boolean(process$1.env.WT_SESSION)||Boolean(process$1.env.TERMINUS_SUBLIME)||process$1.env.ConEmuTask==="{cmd::Cmder}"||process$1.env.TERM_PROGRAM==="Terminus-Sublime"||process$1.env.TERM_PROGRAM==="vscode"||process$1.env.TERM==="xterm-256color"||process$1.env.TERM==="alacritty"||process$1.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var unicode=isUnicodeSupported(),isCI=()=>process.env.CI==="true";var unicodeOr=(o,e)=>unicode?o:e,S_STEP_ACTIVE=unicodeOr("\u25C6","*"),S_STEP_CANCEL=unicodeOr("\u25A0","x"),S_STEP_ERROR=unicodeOr("\u25B2","x"),S_STEP_SUBMIT=unicodeOr("\u25C7","o"),S_BAR_START=unicodeOr("\u250C","T"),S_BAR=unicodeOr("\u2502","|"),S_BAR_END=unicodeOr("\u2514","\u2014"),S_BAR_START_RIGHT=unicodeOr("\u2510","T"),S_BAR_END_RIGHT=unicodeOr("\u2518","\u2014"),S_RADIO_ACTIVE=unicodeOr("\u25CF",">"),S_RADIO_INACTIVE=unicodeOr("\u25CB"," "),S_CHECKBOX_ACTIVE=unicodeOr("\u25FB","[\u2022]"),S_CHECKBOX_SELECTED=unicodeOr("\u25FC","[+]"),S_CHECKBOX_INACTIVE=unicodeOr("\u25FB","[ ]"),S_PASSWORD_MASK=unicodeOr("\u25AA","\u2022"),S_BAR_H=unicodeOr("\u2500","-"),S_CORNER_TOP_RIGHT=unicodeOr("\u256E","+"),S_CONNECT_LEFT=unicodeOr("\u251C","+"),S_CORNER_BOTTOM_RIGHT=unicodeOr("\u256F","+"),S_CORNER_BOTTOM_LEFT=unicodeOr("\u2570","+"),S_CORNER_TOP_LEFT=unicodeOr("\u256D","+"),S_INFO=unicodeOr("\u25CF","\u2022"),S_SUCCESS=unicodeOr("\u25C6","*"),S_WARN=unicodeOr("\u25B2","!"),S_ERROR=unicodeOr("\u25A0","x"),symbol=(o)=>{switch(o){case"initial":case"active":return styleText2("cyan",S_STEP_ACTIVE);case"cancel":return styleText2("red",S_STEP_CANCEL);case"error":return styleText2("yellow",S_STEP_ERROR);case"submit":return styleText2("green",S_STEP_SUBMIT);case"validating":return styleText2("dim",S_STEP_ACTIVE)}},symbolBar=(o)=>{switch(o){case"initial":case"active":return styleText2("cyan",S_BAR);case"cancel":return styleText2("red",S_BAR);case"error":return styleText2("yellow",S_BAR);case"submit":return styleText2("green",S_BAR)}};function formatInstructionFooter(o,e){let r=[`${e?`${styleText2("cyan",S_BAR)} `:""}${o.join(" \u2022 ")}`];return e&&r.push(styleText2("cyan",S_BAR_END)),r}var I=(l,e,w,p,b,C=!1)=>{let r=e,O=0;if(C)for(let i=p-1;i>=w;i--){let m=l[i];if(m&&(r-=m.length),O++,r<=b)break}else for(let i=w;i<p;i++){let m=l[i];if(m&&(r-=m.length),O++,r<=b)break}return{lineCount:r,removals:O}},limitOptions=({cursor:l,options:e,style:w,output:p=process.stdout,maxItems:b=Number.POSITIVE_INFINITY,columnPadding:C=0,rowPadding:r=4})=>{let i=getColumns(p)-C,m=getRows(p),M=styleText2("dim","..."),v=Math.max(m-r,0),a=Math.max(Math.min(b,v),5),f=0;l>=a-3&&(f=Math.max(Math.min(l-a+3,e.length-a),0));let d=a<e.length&&f>0,c=a<e.length&&f+a<e.length,W=Math.min(f+a,e.length),s=[],g=0;d&&g++,c&&g++;let T=f+(d?1:0),y=W-(c?1:0);for(let t=T;t<y;t++){let n=e[t],o=n?w(n,t===l):"",h=wrapAnsi(o,i,{hard:!0,trim:!1}).split(`
|
|
16
|
+
`);s.push(h),g+=h.length}if(g>v){let t=0,n=0,o=g,h=l-T,u=v,L=()=>I(s,o,0,h,u),E=()=>I(s,o,h+1,s.length,u,!0);d?({lineCount:o,removals:t}=L(),o>u&&(c||(u-=1),{lineCount:o,removals:n}=E())):(c||(u-=1),{lineCount:o,removals:n}=E(),o>u&&(u-=1,{lineCount:o,removals:t}=L())),t>0&&(d=!0,s.splice(0,t)),n>0&&(c=!0,s.splice(s.length-n,n))}let x=[];d&&x.push(M);for(let t of s)for(let n of t)x.push(n);return c&&x.push(M),x};var confirm=(e)=>{let a=e.active??"Yes",o=e.inactive??"No";return new r({active:a,inactive:o,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue??!0,render(){let i=e.withGuide??settings.withGuide,u=`${symbol(this.state)} `,l=i?`${styleText2("gray",S_BAR)} `:"",f=wrapTextWithPrefix(e.output,e.message,l,u),s=`${i?`${styleText2("gray",S_BAR)}
|
|
17
|
+
`:""}${f}
|
|
18
|
+
`,c=this.value?a:o;switch(this.state){case"submit":{let r=i?`${styleText2("gray",S_BAR)} `:"";return`${s}${r}${styleText2("dim",c)}`}case"cancel":{let r=i?`${styleText2("gray",S_BAR)} `:"";return`${s}${r}${styleText2(["strikethrough","dim"],c)}${i?`
|
|
19
|
+
${styleText2("gray",S_BAR)}`:""}`}default:{let r=i?`${styleText2("cyan",S_BAR)} `:"",g=i?styleText2("cyan",S_BAR_END):"";return`${s}${r}${this.value?`${styleText2("green",S_RADIO_ACTIVE)} ${a}`:`${styleText2("dim",S_RADIO_INACTIVE)} ${styleText2("dim",a)}`}${e.vertical?i?`
|
|
20
|
+
${styleText2("cyan",S_BAR)} `:`
|
|
21
|
+
`:` ${styleText2("dim","/")} `}${this.value?`${styleText2("dim",S_RADIO_INACTIVE)} ${styleText2("dim",o)}`:`${styleText2("green",S_RADIO_ACTIVE)} ${o}`}
|
|
22
|
+
${g}
|
|
23
|
+
`}}}}).prompt()};var MULTISELECT_INSTRUCTIONS=[`${styleText2("dim","\u2191/\u2193")} to navigate`,`${styleText2("dim","Space:")} select`,`${styleText2("dim","Enter:")} confirm`],m=(i,u)=>i.split(`
|
|
24
|
+
`).map((d)=>u(d)).join(`
|
|
25
|
+
`),multiselect=(i)=>{let u=(t,a)=>{let r=t.label??String(t.value);return a==="disabled"?`${styleText2("gray",S_CHECKBOX_INACTIVE)} ${m(r,(o)=>styleText2(["strikethrough","gray"],o))}${t.hint?` ${styleText2("dim",`(${t.hint??"disabled"})`)}`:""}`:a==="active"?`${styleText2("cyan",S_CHECKBOX_ACTIVE)} ${r}${t.hint?` ${styleText2("dim",`(${t.hint})`)}`:""}`:a==="selected"?`${styleText2("green",S_CHECKBOX_SELECTED)} ${m(r,(o)=>styleText2("dim",o))}${t.hint?` ${styleText2("dim",`(${t.hint})`)}`:""}`:a==="cancelled"?`${m(r,(o)=>styleText2(["strikethrough","dim"],o))}`:a==="active-selected"?`${styleText2("green",S_CHECKBOX_SELECTED)} ${r}${t.hint?` ${styleText2("dim",`(${t.hint})`)}`:""}`:a==="submitted"?`${m(r,(o)=>styleText2("dim",o))}`:`${styleText2("dim",S_CHECKBOX_INACTIVE)} ${m(r,(o)=>styleText2("dim",o))}`},d=i.required??!0,x=i.showInstructions??!0;return new a({options:i.options,signal:i.signal,input:i.input,output:i.output,initialValues:i.initialValues,required:d,cursorAt:i.cursorAt,validate(t){if(d&&(t===void 0||t.length===0))return`Please select at least one option.
|
|
26
|
+
${styleText2("reset",styleText2("dim",`Press ${styleText2(["gray","bgWhite","inverse"]," space ")} to select, ${styleText2("gray",styleText2("bgWhite",styleText2("inverse"," enter ")))} to submit`))}`},render(){let t=i.withGuide??settings.withGuide,a=wrapTextWithPrefix(i.output,i.message,t?`${symbolBar(this.state)} `:"",`${symbol(this.state)} `),r=`${t?`${styleText2("gray",S_BAR)}
|
|
27
|
+
`:""}${a}
|
|
28
|
+
`,o=this.value??[],g=(n,l)=>{if(n.disabled)return u(n,"disabled");let s=o.includes(n.value);return l&&s?u(n,"active-selected"):s?u(n,"selected"):u(n,l?"active":"inactive")};switch(this.state){case"submit":{let n=this.options.filter(({value:s})=>o.includes(s)).map((s)=>u(s,"submitted")).join(styleText2("dim",", "))||styleText2("dim","none"),l=wrapTextWithPrefix(i.output,n,t?`${styleText2("gray",S_BAR)} `:"");return`${r}${l}`}case"cancel":{let n=this.options.filter(({value:s})=>o.includes(s)).map((s)=>u(s,"cancelled")).join(styleText2("dim",", "));if(n.trim()==="")return`${r}${styleText2("gray",S_BAR)}`;let l=wrapTextWithPrefix(i.output,n,t?`${styleText2("gray",S_BAR)} `:"");return`${r}${l}${t?`
|
|
29
|
+
${styleText2("gray",S_BAR)}`:""}`}case"error":{let n=t?`${styleText2("yellow",S_BAR)} `:"",l=this.error.split(`
|
|
30
|
+
`).map(($,v)=>v===0?`${t?`${styleText2("yellow",S_BAR_END)} `:""}${styleText2("yellow",$)}`:` ${$}`).join(`
|
|
31
|
+
`),s=r.split(`
|
|
32
|
+
`).length,h=l.split(`
|
|
33
|
+
`).length+1;return`${r}${n}${limitOptions({output:i.output,options:this.options,cursor:this.cursor,maxItems:i.maxItems,columnPadding:n.length,rowPadding:s+h,style:g}).join(`
|
|
34
|
+
${n}`)}
|
|
35
|
+
${l}
|
|
36
|
+
`}default:{let n=t?`${styleText2("cyan",S_BAR)} `:"",l=r.split(`
|
|
37
|
+
`).length,s=x?formatInstructionFooter(MULTISELECT_INSTRUCTIONS,t):t?[styleText2("cyan",S_BAR_END)]:[],h=s.join(`
|
|
38
|
+
`),$=s.length+1;return`${r}${n}${limitOptions({output:i.output,options:this.options,cursor:this.cursor,maxItems:i.maxItems,columnPadding:n.length,rowPadding:l+$,style:g}).join(`
|
|
39
|
+
${n}`)}
|
|
40
|
+
${h}
|
|
41
|
+
`}}}}).prompt()};var log={message:(s=[],{symbol:e=styleText2("gray",S_BAR),secondarySymbol:r=styleText2("gray",S_BAR),output:m=process.stdout,spacing:l=1,withGuide:c}={})=>{let t=[],o=c??settings.withGuide,f=o?r:"",O=o?`${e} `:"",u=o?`${r} `:"";for(let i=0;i<l;i++)t.push(f);let g=Array.isArray(s)?s:s.split(`
|
|
42
|
+
`);if(g.length>0){let[i,...y]=g;i.length>0?t.push(`${O}${i}`):t.push(o?e:"");for(let p of y)p.length>0?t.push(`${u}${p}`):t.push(o?r:"")}m.write(`${t.join(`
|
|
43
|
+
`)}
|
|
44
|
+
`)},info:(s,e)=>{log.message(s,{...e,symbol:styleText2("blue",S_INFO)})},success:(s,e)=>{log.message(s,{...e,symbol:styleText2("green",S_SUCCESS)})},step:(s,e)=>{log.message(s,{...e,symbol:styleText2("green",S_STEP_SUBMIT)})},warn:(s,e)=>{log.message(s,{...e,symbol:styleText2("yellow",S_WARN)})},warning:(s,e)=>{log.warn(s,e)},error:(s,e)=>{log.message(s,{...e,symbol:styleText2("red",S_ERROR)})}};var password=(e)=>new u$1({validate:e.validate,mask:e.mask??S_PASSWORD_MASK,signal:e.signal,input:e.input,output:e.output,render(){let r=e.withGuide??settings.withGuide,o=`${r?`${styleText2("gray",S_BAR)}
|
|
45
|
+
`:""}${symbol(this.state)} ${e.message}
|
|
46
|
+
`,m=this.userInputWithCursor,i=this.masked;switch(this.state){case"error":{let s=r?`${styleText2("yellow",S_BAR)} `:"",n=r?`${styleText2("yellow",S_BAR_END)} `:"",d=i??"";return e.clearOnError&&this.clear(),`${o.trim()}
|
|
47
|
+
${s}${d}
|
|
48
|
+
${n}${styleText2("yellow",this.error)}
|
|
49
|
+
`}case"submit":{let s=r?`${styleText2("gray",S_BAR)} `:"",n=i?styleText2("dim",i):"";return`${o}${s}${n}`}case"cancel":{let s=r?`${styleText2("gray",S_BAR)} `:"",n=i?styleText2(["strikethrough","dim"],i):"";return`${o}${s}${n}${i&&r?`
|
|
50
|
+
${styleText2("gray",S_BAR)}`:""}`}default:{let s=r?`${styleText2("cyan",S_BAR)} `:"",n=r?styleText2("cyan",S_BAR_END):"";return`${o}${s}${m}
|
|
51
|
+
${n}
|
|
52
|
+
`}}}}).prompt();var W=(l)=>styleText2("magenta",l),spinner=({indicator:l="dots",onCancel:h,output:n=process.stdout,cancelMessage:G,errorMessage:O,frames:E=unicode?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],delay:F=unicode?80:120,signal:m,...I}={})=>{let u=isCI(),M,T,d=!1,S=!1,s="",p,w=performance.now(),x=getColumns(n),k=I?.styleFrame??W,g=(e)=>{let r=e>1?O??settings.messages.error:G??settings.messages.cancel;S=e===1,d&&(a(r,e),S&&typeof h=="function"&&h())},f=()=>g(2),i=()=>g(1),A=()=>{process.on("uncaughtExceptionMonitor",f),process.on("unhandledRejection",f),process.on("SIGINT",i),process.on("SIGTERM",i),process.on("exit",g),m&&m.addEventListener("abort",i)},H=()=>{process.removeListener("uncaughtExceptionMonitor",f),process.removeListener("unhandledRejection",f),process.removeListener("SIGINT",i),process.removeListener("SIGTERM",i),process.removeListener("exit",g),m&&m.removeEventListener("abort",i)},y=()=>{if(p===void 0)return;u&&n.write(`
|
|
53
|
+
`);let r=wrapAnsi(p,x,{hard:!0,trim:!1}).split(`
|
|
54
|
+
`);r.length>1&&n.write(import_sisteransi2.cursor.up(r.length-1)),n.write(import_sisteransi2.cursor.to(0)),n.write(import_sisteransi2.erase.down())},C=(e)=>e.replace(/\.+$/,""),_=(e)=>{let r=(performance.now()-e)/1000,t=Math.floor(r/60),o=Math.floor(r%60);return t>0?`[${t}m ${o}s]`:`[${o}s]`},N=I.withGuide??settings.withGuide,P=(e="")=>{d=!0,M=block({output:n}),s=C(e),w=performance.now(),N&&n.write(`${styleText2("gray",S_BAR)}
|
|
55
|
+
`);let r=0,t=0;A(),T=setInterval(()=>{if(u&&s===p)return;y(),p=s;let o=k(E[r]),v;if(u)v=`${o} ${s}...`;else if(l==="timer")v=`${o} ${s} ${_(w)}`;else{let B=".".repeat(Math.floor(t)).slice(0,3);v=`${o} ${s}${B}`}let j=wrapAnsi(v,x,{hard:!0,trim:!1});n.write(j),r=r+1<E.length?r+1:0,t=t<4?t+0.125:0},F)},a=(e="",r=0,t=!1)=>{if(!d)return;d=!1,clearInterval(T),y();let o=r===0?styleText2("green",S_STEP_SUBMIT):r===1?styleText2("red",S_STEP_CANCEL):styleText2("red",S_STEP_ERROR);s=e??s,t||(l==="timer"?n.write(`${o} ${s} ${_(w)}
|
|
56
|
+
`):n.write(`${o} ${s}
|
|
57
|
+
`)),H(),M()};return{start:P,stop:(e="")=>a(e,0),message:(e="")=>{s=C(e??s)},cancel:(e="")=>a(e,1),error:(e="")=>a(e,2),clear:()=>a("",0,!0),get isCancelled(){return S}}},u2={light:unicodeOr("\u2500","-"),heavy:unicodeOr("\u2501","="),block:unicodeOr("\u2588","#")};var SELECT_INSTRUCTIONS=[`${styleText2("dim","\u2191/\u2193")} to navigate`,`${styleText2("dim","Enter:")} confirm`],c=(t,o)=>t.includes(`
|
|
58
|
+
`)?t.split(`
|
|
59
|
+
`).map((d)=>o(d)).join(`
|
|
60
|
+
`):o(t),select=(t)=>{let o=(n,m)=>{if(n===void 0)return"";let s=n.label??String(n.value);switch(m){case"disabled":return`${styleText2("gray",S_RADIO_INACTIVE)} ${c(s,(i)=>styleText2("gray",i))}${n.hint?` ${styleText2("dim",`(${n.hint??"disabled"})`)}`:""}`;case"selected":return`${c(s,(i)=>styleText2("dim",i))}`;case"active":return`${styleText2("green",S_RADIO_ACTIVE)} ${s}${n.hint?` ${styleText2("dim",`(${n.hint})`)}`:""}`;case"cancelled":return`${c(s,(i)=>styleText2(["strikethrough","dim"],i))}`;default:return`${styleText2("dim",S_RADIO_INACTIVE)} ${c(s,(i)=>styleText2("dim",i))}`}},d=t.showInstructions??!0;return new n$1({options:t.options,signal:t.signal,input:t.input,output:t.output,initialValue:t.initialValue,render(){let n=t.withGuide??settings.withGuide,m=`${symbol(this.state)} `,s=`${symbolBar(this.state)} `,i=wrapTextWithPrefix(t.output,t.message,s,m),u=`${n?`${styleText2("gray",S_BAR)}
|
|
61
|
+
`:""}${i}
|
|
62
|
+
`;switch(this.state){case"submit":{let r=n?`${styleText2("gray",S_BAR)} `:"",a=wrapTextWithPrefix(t.output,o(this.options[this.cursor],"selected"),r);return`${u}${a}`}case"cancel":{let r=n?`${styleText2("gray",S_BAR)} `:"",a=wrapTextWithPrefix(t.output,o(this.options[this.cursor],"cancelled"),r);return`${u}${a}${n?`
|
|
63
|
+
${styleText2("gray",S_BAR)}`:""}`}default:{let r=n?`${styleText2("cyan",S_BAR)} `:"",a=u.split(`
|
|
64
|
+
`).length,p=d?formatInstructionFooter(SELECT_INSTRUCTIONS,n):n?[styleText2("cyan",S_BAR_END)]:[],f=p.join(`
|
|
65
|
+
`),b=p.length+1;return`${u}${r}${limitOptions({output:t.output,cursor:this.cursor,options:this.options,maxItems:t.maxItems,columnPadding:r.length,rowPadding:a+b,style:(g,x)=>o(g,g.disabled?"disabled":x?"active":"inactive")}).join(`
|
|
66
|
+
${r}`)}
|
|
67
|
+
${f}
|
|
68
|
+
`}}}}).prompt()};var i=`${styleText2("gray",S_BAR)} `;import{existsSync,realpathSync}from"fs";import{readdir,readFile,rm,stat}from"fs/promises";import{homedir}from"os";import{basename,dirname,isAbsolute,join,relative,resolve,sep}from"path";var MANIFEST_FILE="velloo.json",DEFAULT_FOLDER_NAME="velloo";function findManifest(dir){return readRepoManifestAt(dir,{strict:!0})}function manifestListing(folder){return findOwningManifest(folder,{strict:!0})}function findDesigns(cwd){return findDesigns2(cwd,{strict:!0})}function sameFolder(a,b){return a===b||existsSync(a)&&existsSync(b)&&realpathSync(a)===realpathSync(b)}function assertCurrent(found){if(found.legacy)throw Error(`${found.path} is in the pre-designs format (\`projects\`) \u2014 run \`velloo upgrade\` to migrate it first.`)}async function unregisterDesign(folder,projectDir){let abs=resolve(folder),here=projectDir?await findManifest(projectDir):null,found=here?.folders.some((path)=>sameFolder(path,abs))?here:await manifestListing(abs);if(!found)return{name:null,path:null,removedManifest:!1};let index=found.folders.findIndex((path)=>sameFolder(path,abs));if(index===-1)return{name:null,path:found.path,removedManifest:!1};assertCurrent(found);let name=recordedDesignName(abs)??basename(abs),manifest=withoutDesign(found.manifest,index,name);if(manifest===null)return await rm(found.path,{force:!0}),{name,path:found.path,removedManifest:!0};return await writeJsonAtomic(found.path,manifest),{name,path:found.path,removedManifest:!1}}function withoutDesign(manifest,index,name){let designs=manifest.designs.filter((_,i)=>i!==index),{defaultDesign,...rest}=manifest;if(designs.length===0&&!rest.feedback)return null;return{...rest,designs,...defaultDesign&&defaultDesign!==name?{defaultDesign}:{}}}function isWithin(parent,child){let rel=relative(parent,child);return rel===""||!rel.startsWith("..")&&!isAbsolute(rel)}async function findGitRoot(start){let home=homedir(),dir=resolve(start);while(dir!==home){try{return await stat(join(dir,".git")),dir}catch{}let parent=dirname(dir);if(parent===dir)return null;dir=parent}return null}var SCAN_SKIP=new Set(["node_modules",".git","dist","build",".next",".turbo","coverage",".velloo"]);async function discoverDesignFolders(root,maxDepth=3){let out=[],walk=async(dir,depth)=>{let entries;try{entries=await readdir(dir,{withFileTypes:!0})}catch{return}for(let entry of entries){if(!entry.isDirectory()||entry.name.startsWith(".")||SCAN_SKIP.has(entry.name))continue;let child=join(dir,entry.name);try{await stat(join(child,".design","config.json")),out.push(child);continue}catch{}if(depth<maxDepth)await walk(child,depth+1)}};return await walk(resolve(root),1),out.sort()}async function appName(appRoot){try{let raw=JSON.parse(await readFile(join(appRoot,"package.json"),"utf8"));if(raw&&typeof raw==="object"&&"name"in raw&&typeof raw.name==="string"){let name=toDesignName(raw.name.replace(/^@[^/]+\//,""));if(name)return name}}catch{}return toDesignName(basename(appRoot))}async function chooseDesignName(request){let folder=resolve(request.folder),issue=request.requested===void 0?null:designNameIssue(request.requested);if(issue)throw Error(`invalid --name ${JSON.stringify(request.requested)} \u2014 ${issue}`);let taken=await takenNames(request,folder);if(request.requested){let holder=taken.get(request.requested);if(holder)throw Error(`a design named "${request.requested}" already exists at ${holder} \u2014 pick another --name.`);return request.requested}let generic=request.storage==="managed"||basename(folder)===DEFAULT_FOLDER_NAME,base;if(!generic)base=toDesignName(basename(folder))??"app";else{let parent=dirname(folder),nested=request.storage==="repository"&&parent!==resolve(request.checkout)&&parent!==resolve(request.appRoot);base=await appName(nested?parent:resolve(request.appRoot))??"app"}let name=base;for(let n=2;taken.has(name);n++)name=`${base}-${n}`;return name}async function takenNames(request,folder){let from=request.checkout,taken=new Map,set=await findDesigns(from).catch(()=>null);for(let design of set?.designs??[])if(!sameFolder(design.root,folder))taken.set(design.name,design.root);if(!set?.repo)for(let sibling of await discoverDesignFolders(request.checkout,1)){let name=recordedDesignName(sibling);if(name&&!sameFolder(sibling,folder))taken.set(name,sibling)}return taken}async function writeDesignName(folder,name){let path=join(folder,".design","config.json"),config=ConfigSchema.parse(JSON.parse(await readFile(path,"utf8")));await writeJsonAtomic(path,{...config,name})}async function registerDesign(folder,projectDir){let abs=resolve(folder),name=recordedDesignName(abs);if(!name)throw Error(`${abs} has no design name \u2014 run \`velloo design upgrade ${abs}\` first.`);let dir=resolve(projectDir),found=await findManifest(dir),path=found?found.path:join(dir,MANIFEST_FILE);if(found?.folders.some((target)=>sameFolder(target,abs)))return{name,path,created:!1};if(found)assertCurrent(found);let clash=(await findDesigns(dir))?.designs.find((d)=>d.name===name&&!sameFolder(d.root,abs));if(clash)throw Error(`a design named "${name}" already exists at ${clash.root} \u2014 rename one with \`velloo design rename\`.`);let designs=[...found?.manifest.designs??[]],rel=(target)=>relative(dir,target).split("\\").join("/")||".",defaultDesign=found?.manifest.defaultDesign;if(!found)for(let sibling of await discoverDesignFolders(dir,1)){if(sibling===abs)continue;if(designs.push(rel(sibling)),sibling===join(dir,DEFAULT_FOLDER_NAME))defaultDesign=recordedDesignName(sibling)??void 0}designs.push(rel(abs));let manifest={...found?.manifest??{},designs,...defaultDesign?{defaultDesign}:{}};return await writeJsonAtomic(path,manifest),{name,path,created:!0}}async function registerLocalDesign(opts){await writeLocalDesign(opts.id,{root:opts.root,appRoot:opts.appRoot,...opts.designPath?{designPath:opts.designPath}:{}})}import{existsSync as existsSync2,readdirSync}from"fs";import{readdir as readdir2,readFile as readFile2}from"fs/promises";import{homedir as homedir2}from"os";import{basename as basename2,dirname as dirname2,join as join2,relative as relative2,resolve as resolve2,sep as sep2}from"path";var DEFAULT_FOLDER="velloo",DESIGN_ARG_DESCRIPTION="A design name from ./velloo.json, a design folder, or a velloo.json file or its directory (default: the design folder you're in, else this directory's velloo.json: its only design or defaultDesign)";function isDesignFolderSync(dir){return existsSync2(join2(dir,".design","config.json"))}function isEmptyOrMissingSync(dir){try{return readdirSync(dir).length===0}catch(err){if(err.code==="ENOENT")return!0;throw err}}async function hasDesignConfig(dir){try{return await readFile2(join2(dir,".design","config.json"),"utf8"),!0}catch{return!1}}var DESIGN_ID_ARG={type:"string",description:"The design's number in `velloo design list`, instead of its name or path"};async function designFolder(set,design,abort){let repo=set.repo;if(repo&&design.outsideRepo){let entry=relative2(repo.dir,design.root);abort(`design ${JSON.stringify(design.name)} in ${repo.path} points outside the repository (${entry}), which velloo.json cannot authorize. Pass the design path explicitly, or run \`velloo design bind ${design.root}\` here to keep it as a local design on this machine.`)}if(!design.exists)abort(`design ${JSON.stringify(design.name)} ${design.local?"(a local design)":`in ${repo?.path}`} points at ${design.root}, which is not a velloo design folder (no .design/config.json).`);return design.root}function quoteArg(value){return/^[\w@%+=:,./-]+$/.test(value)?value:`'${value.replace(/'/g,"'\\''")}'`}function designsLabel(set){return set.repo?.path??"this checkout's local designs"}function byName(set,name,abort){let shared=set.conflicts.get(name);if(shared)abort(`${shared.length} designs are named ${JSON.stringify(name)}: ${shared.map((d)=>d.root).join(", ")}. Pass a path, and rename one with \`velloo design rename <path> <new-name>\`.`);return set.byName.get(name)}async function resolveDesign(arg,cmd,opts={}){let abort=opts.onFail??((m)=>fail(cmd,m)),cwd=resolve2(opts.cwd??"."),set=null;try{set=await findDesigns(cwd)}catch(err){abort(err.message)}if(opts.id!==void 0){if(arg)abort("pass a design or --id, not both.");let n=Number(opts.id);if(!Number.isInteger(n)||n<1)abort("--id takes a design's number from `velloo design list`.");if(!set||set.designs.length===0){if(n===1)return resolveDesign(void 0,cmd,{...opts,id:void 0});abort(`there is no design #${n} here \u2014 \`velloo design list\` numbers them.`)}let entry=set.designs[n-1];if(!entry)abort(`there is no design #${n} \u2014 ${designsLabel(set)} has ${set.designs.length}. \`velloo design list\` numbers them.`);return designFolder(set,entry,abort)}if(arg){let named=set&&!arg.includes(sep2)?byName(set,arg,abort):void 0;if(set&&named)return designFolder(set,named,abort);let explicit=resolve2(cwd,arg);if(await hasDesignConfig(explicit))return explicit;let project=basename2(explicit)==="velloo.json"&&existsSync2(explicit)?dirname2(explicit):explicit;if((await findDesigns(project).catch((err)=>abort(err.message)))?.designs.length)return resolveDesign(void 0,cmd,{...opts,cwd:project});let nested=join2(explicit,DEFAULT_FOLDER);if(await hasDesignConfig(nested))return nested;if(!set&&!arg.includes(sep2)){let above=await enclosingProject(cwd),match=above?.designs.find((d)=>d.name===arg);if(above&&match)abort(`design ${JSON.stringify(arg)} is listed in \`${shortPath(cwd,above.label)}\`, and commands only read the directory they run in. Run from \`${shortPath(cwd,above.dir)}\`, or pass its folder (\`${quoteArg(shortPath(cwd,match.root))}\`) instead of its name.`)}if(set&&!arg.includes(sep2))abort(`unknown design ${JSON.stringify(arg)} \u2014 ${designsLabel(set)} lists: ${set.designs.map((d)=>d.name).join(", ")}. Pass a design name or a folder path.`);if(opts.requireConfig)abort(`${explicit} is not a velloo design folder (no .design/config.json).`);return explicit}if(set&&set.designs.length>0){if(await hasDesignConfig(cwd))return cwd;let picked=pickDesign(set,cwd);if(picked&&picked.reason!=="arbitrary")return designFolder(set,picked.design,abort);let names=set.designs.map((d)=>d.name);if(opts.interactive&&process.stdin.isTTY){let chosen=await select({message:"Which design?",options:set.designs.map((d)=>({value:d.root,label:d.name,hint:relative2(cwd,d.root)}))});if(isCancel(chosen))abort("cancelled.");let design=set.designs.find((d)=>d.root===chosen);return designFolder(set,design,abort)}let example=cmd.startsWith("design ")?`velloo ${cmd} --id 1\` for ${quoteArg(names[0]??"")}, as numbered by \`velloo design list`:`velloo ${cmd} ${designExample(opts,names[0]??"")}`;abort(`${designsLabel(set)} lists several designs: ${names.join(", ")}. Pass one (e.g. \`${example}\`)${set.repo?' or set "defaultDesign"':""}.`)}if(await hasDesignConfig(cwd))return cwd;let here=join2(cwd,DEFAULT_FOLDER);if(await hasDesignConfig(here))return here;let takesDesign=opts.takesDesign!==!1,above=await enclosingProject(cwd);if(above){let nearest=[...above.designs].sort((a,b)=>relative2(cwd,a.root).length-relative2(cwd,b.root).length)[0],example=takesDesign&&nearest?`, or pass a design folder (e.g. \`velloo ${cmd} ${designExample(opts,relative2(cwd,nearest.root).split(sep2).join("/"))}\`)`:"";abort(`no velloo.json or design folder here. \`${shortPath(cwd,above.label)}\` lists ${above.designs.map((d)=>JSON.stringify(d.name)).join(", ")}, and commands only read the directory they run in: run from \`${shortPath(cwd,above.dir)}\`${example}.`)}let example=takesDesign?`, pass a design folder or a velloo.json path (e.g. \`velloo ${cmd} ${designExample(opts,"apps/web")}\`)`:"";abort(`no velloo.json or design folder in ${cwd}. Run from the directory that has your velloo.json${example}, or \`velloo init\` here.${movedCheckoutHint(cwd)}`)}function shortPath(cwd,path){let rel=relative2(cwd,path);return rel!==""&&rel.length<path.length?rel.split(sep2).join("/"):path}function designExample(opts,design){return opts.designFlag?`${opts.designFlag}=${quoteArg(design)}`:quoteArg(design)}async function enclosingProject(cwd){let here=resolve2(cwd);for(let dir=dirname2(here);dir!==here;){let set=await findDesigns(dir).catch(()=>null),designs=set?.designs.filter((d)=>d.exists&&!d.outsideRepo)??[];if(set&&designs.length>0)return{dir,label:set.repo?.path??`${dir} (local designs)`,designs};let parent=dirname2(dir);if(parent===dir)return null;dir=parent}return null}async function checkoutDesigns(cwd){let set=await findDesigns(cwd).catch(()=>null);if(set&&set.designs.length>0)return set.designs.filter((d)=>d.exists&&!d.outsideRepo).map((d)=>d.root);try{return[await resolveDesign(void 0,"upgrade",{requireConfig:!0,cwd,onFail:()=>{throw Error("no design here")}})]}catch{return[]}}async function resolveDesignForSession(arg,cmd,cwd=resolve2(".")){if(!arg&&!await hasDesignConfig(cwd)){let set=await findDesigns(cwd).catch(()=>null),picked=set?pickDesign(set,cwd):null;if(set&&picked?.reason==="arbitrary")return{folder:await designFolder(set,picked.design,(m)=>fail(cmd,m)),pick:"arbitrary"}}return{folder:await resolveDesign(arg,cmd,{cwd}),pick:void 0}}function movedCheckoutHint(cwd){if(!insideProject(cwd))return"";let orphans=listLocalDesigns().filter((design)=>!existsSync2(design.root)&&existsSync2(design.designRoot));if(orphans.length===0)return"";return`
|
|
69
|
+
This machine has designs for checkouts that no longer exist at their old paths:${orphans.map((design)=>`
|
|
70
|
+
"${recordedDesignName(design.designRoot)??design.legacyName??design.id}" at ${design.designRoot}, made for ${design.root}`).join("")}
|
|
71
|
+
If this is one of those checkouts, moved, attach its design with \`velloo design bind <design folder>\`. Otherwise forget it with \`velloo design remove <design folder>\`.`}function insideProject(cwd){let home=homedir2();for(let dir=cwd;dir!==home&&dirname2(dir)!==dir;dir=dirname2(dir))if(existsSync2(join2(dir,".git"))||existsSync2(join2(dir,"package.json")))return!0;return!1}async function listScreens(folder){let files;try{files=(await readdir2(join2(folder,"screens"))).filter((f)=>f.endsWith(".json"))}catch{return[]}let out=[];for(let f of files.sort()){let path=join2(folder,"screens",f);try{let s=ScreenSchema.parse(JSON.parse(await readFile2(path,"utf8")));out.push({id:s.id,name:s.name||s.id,path})}catch{}}return out}async function listBoards(folder){let files;try{files=(await readdir2(join2(folder,"boards"))).filter((f)=>f.endsWith(".json"))}catch{return[]}let out=[];for(let f of files.sort())try{let b=BoardSchema.parse(JSON.parse(await readFile2(join2(folder,"boards",f),"utf8")));out.push({id:b.id,name:b.name||b.id,screens:b.frames.map((fr)=>fr.screen),archived:isArchived(b)})}catch{}return out}function boardsByScreen(boards){let map=new Map;for(let b of boards)for(let sid of b.screens){let names=map.get(sid)??[];names.push(b.name),map.set(sid,names)}return map}async function pickBoards(folder,arg,interactive,cmd){let all=await listBoards(folder);if(all.length===0)return[];if(arg){let ids=new Set(arg.split(",").map((s)=>s.trim()).filter(Boolean)),chosen=all.filter((b)=>ids.has(b.id));if(chosen.length===0)fail(cmd,`no boards matched "${arg}". Available: ${all.map((b)=>b.id).join(", ")}`);return chosen}let boards=all.filter((b)=>!b.archived);if(boards.length===0)return[];if(!interactive)return boards;let chosen=await multiselect(boardSelectionPrompt(boards));if(isCancel(chosen))fail(cmd,"cancelled.");return resolveBoardSelection(boards,chosen)}function boardSelectionPrompt(boards){return{message:"Which boards to publish? (a: select all / clear all)",options:boards.map((board)=>({value:board.id,label:board.name,hint:`${board.screens.length} screen${board.screens.length===1?"":"s"}`})),initialValues:[],required:!1}}function resolveBoardSelection(boards,selectedIds){let selected=new Set(selectedIds),chosen=boards.filter((board)=>selected.has(board.id));return chosen.length>0?chosen:null}async function pickScreen(folder,arg,interactive,cmd){let screens=await listScreens(folder);if(arg){let byId=screens.find((s)=>s.id===arg);if(byId)return byId;return{id:arg,name:arg,path:resolve2(arg)}}if(screens.length===0)fail(cmd,`no screens found in ${folder}/screens.`);if(screens.length===1)return screens[0];if(!interactive)fail(cmd,`pick a screen: ${screens.map((s)=>s.id).join(", ")}`);let onBoard=boardsByScreen(await listBoards(folder)),chosen=await select({message:"Which screen?",options:screens.map((s)=>({value:s.id,label:s.name,hint:onBoard.get(s.id)?.join(", ")??`${s.id}.json`}))});if(isCancel(chosen))fail(cmd,"cancelled.");return screens.find((s)=>s.id===chosen)}
|
|
72
|
+
export{isCancel,confirm,multiselect,log,password,spinner,select,findManifest,manifestListing,findDesigns,unregisterDesign,withoutDesign,isWithin,findGitRoot,chooseDesignName,writeDesignName,registerDesign,registerLocalDesign,DESIGN_ARG_DESCRIPTION,isDesignFolderSync,isEmptyOrMissingSync,hasDesignConfig,DESIGN_ID_ARG,resolveDesign,checkoutDesigns,resolveDesignForSession,pickBoards,pickScreen};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import"./chunk-
|
|
2
|
+
import"./chunk-ak57bgnh.js";import"./chunk-ghwy99py.js";import{normalizeCloudUrl,loadCredential,listCredentials,deleteCredential,clearCredentials,revokeCredential}from"./chunk-62amy8bj.js";import{defaultCloudUrl}from"./chunk-5ts4fvd9.js";import{defineCommand}from"./chunk-2smsg2ct.js";var logout_default=defineCommand({meta:{name:"logout",description:"Log out of velloo-cloud (signs the CLI token out and removes it)"},args:{url:{type:"string",description:"velloo-cloud base URL (default: $VELLOO_CLOUD_URL or the built-in default)"},all:{type:"boolean",default:!1,description:"Remove saved credentials for every cloud"}},async run({args}){if(args.all){await Promise.all(Object.entries(await listCredentials()).map(([cloudUrl,credential])=>revokeCredential(cloudUrl,credential.token)));let count=await clearCredentials();console.log(count>0?`velloo logout: removed credentials for ${count} cloud${count===1?"":"s"}`:"velloo logout: no saved credentials");return}let cloudUrl=args.url?normalizeCloudUrl(args.url):defaultCloudUrl(),existing=await loadCredential(cloudUrl);if(existing)await revokeCredential(cloudUrl,existing.token);if(await deleteCredential(cloudUrl))console.log(`velloo logout: logged out of ${cloudUrl}${existing?.email?` (${existing.email})`:""}`);else console.log(`velloo logout: not logged in to ${cloudUrl}`)}});export{logout_default as default};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{localDesignOf,recordedDesignName}from"./chunk-mseawt58.js";import{CURRENT_SCHEMA_VERSION}from"./chunk-ghwy99py.js";import{AGENTS,designArgumentFor,agentRootCandidates,writeAgentConfig,refreshAgentArtifacts}from"./chunk-46jg9aqy.js";import{DESIGN_ARG_DESCRIPTION,resolveDesign,checkoutDesigns}from"./chunk-qe6pp4p6.js";import{daemonRoot,readLock,isLive,stopDaemon}from"./chunk-jc95phff.js";import{fail}from"./chunk-s23gtejf.js";import{installedVellooBin,upgradeInstalledVelloo}from"./chunk-hrvqwp8z.js";import{createProgress}from"./chunk-fzevxpdz.js";import{upgradeFolder}from"./chunk-3zm7ydna.js";import{require_picocolors}from"./chunk-jrsknzjt.js";import{__toESM,defineCommand}from"./chunk-2smsg2ct.js";import{readFile}from"fs/promises";import{homedir}from"os";var isStrings=(value)=>Array.isArray(value)&&value.every((item)=>typeof item==="string");function asEntry(value){if(value===null||typeof value!=="object")return null;let{command,args}=value;return typeof command==="string"&&isStrings(args)?{command,args}:null}function readStdioEntry(content,format){try{switch(format){case"json":return asEntry(JSON.parse(content).mcpServers?.velloo);case"vscode-json":return asEntry(JSON.parse(content).servers?.velloo);case"opencode-json":{let command=JSON.parse(content).mcp?.velloo?.command;return isStrings(command)&&command[0]?{command:command[0],args:command.slice(1)}:null}case"codex-toml":return asEntry(Bun.TOML.parse(content).mcp_servers?.velloo);case"continue-block":return asEntry(Bun.YAML.parse(content).mcpServers?.[0]);case"continue-config":return null}}catch{return null}}async function repinAgentConfigs(opts){if(localDesignOf(opts.designFolder))return[];let homeDir=opts.homeDir??homedir(),names=new Set(opts.names),rewritten=[];for(let projectRoot of opts.projectRoots){let designArg=await designArgumentFor(projectRoot,opts.designFolder),desired=designArg?["mcp",designArg]:["mcp"];for(let agent of Object.values(AGENTS)){if(agent.scope!=="project"||agent.gui)continue;let path=agent.path(projectRoot,homeDir),content;try{content=await readFile(path,"utf8")}catch{continue}let entry=readStdioEntry(content,agent.format),pinned=entry?.args.length===2&&entry.args[0]==="mcp"?entry.args[1]:void 0;if(!entry||pinned===void 0||!names.has(pinned)||pinned===desired[1])continue;await writeAgentConfig(projectRoot,agent,{transport:"stdio",command:entry.command,args:desired},homeDir),rewritten.push(path)}}return rewritten}import{resolve}from"path";var import_picocolors=__toESM(require_picocolors(),1);async function targetFolders(arg){if(arg)return[await resolveDesign(arg,"upgrade",{requireConfig:!0})];return checkoutDesigns(resolve("."))}var upgrade_default=defineCommand({meta:{name:"upgrade",description:"Upgrade Velloo and migrate designs to the current format \u2014 every design in this checkout, or the one named"},args:{design:{type:"positional",required:!1,description:DESIGN_ARG_DESCRIPTION},"dry-run":{type:"boolean",default:!1,description:"Show what would change without writing"},check:{type:"boolean",default:!1,description:"Check for a Velloo update without installing it"},"binary-only":{type:"boolean",default:!1,description:"Upgrade the Velloo installation and leave the designs alone"},"design-only":{type:"boolean",default:!1,description:"Migrate the designs with this Velloo, without self-upgrading first (same as `velloo design upgrade`)"},skills:{type:"boolean",default:!0,description:"Also refresh the installed agent skills / plugin / rules to this velloo's versions"}},async run({args}){let dryRun=args["dry-run"]||args.check,folders=args["binary-only"]?[]:await targetFolders(args.design),outcome=null;if(!(args["design-only"]||args["folder-only"]===!0))try{outcome=await upgradeInstalledVelloo({checkOnly:dryRun})}catch(error){let message=error instanceof Error?error.message:String(error);if(folders.length===0)fail("upgrade",message);console.log(import_picocolors.default.dim(`velloo: skipping the self-upgrade \u2014 ${message}`))}if(folders.length===0)return;if(outcome?.upgraded){let bin=installedVellooBin();if(bin){for(let folder of folders){let argv=[bin,"upgrade",folder,"--design-only",...args.skills?[]:["--no-skills"]];if(await Bun.spawn(argv,{stdin:"inherit",stdout:"inherit",stderr:"inherit",env:{...process.env,VELLOO_DISABLE_UPDATE_CHECK:"1"}}).exited!==0)fail("upgrade",`the upgraded velloo could not migrate ${folder}`)}return}console.log(import_picocolors.default.dim(`velloo: could not locate the upgraded velloo \u2014 run \`velloo upgrade\` again to migrate ${folders.length===1?"the design":"the designs"}.`));return}for(let folder of folders)await migrateFolder2(folder,{dryRun,skills:args.skills})}});async function migrateFolder2(folder,opts){let{dryRun}=opts,progress=createProgress();progress.start(dryRun?"checking upgrade":"preparing upgrade");let stopped=!1,result;try{if(!dryRun){let root=daemonRoot(folder),running=await readLock(root);if(running&&await isLive(running))progress.step("stopping running canvas");stopped=await stopDaemon(root)}progress.step(dryRun?"checking design folder":"upgrading design folder"),result=await upgradeFolder(folder,{dryRun})}catch(err){progress.fail("upgrade failed"),fail("upgrade",err instanceof Error?err.message:String(err))}let refreshed=[],repinned=[];try{let name=recordedDesignName(folder);if(!dryRun&&name)repinned=await repinAgentConfigs({projectRoots:await agentRootCandidates(folder),designFolder:folder,names:[name]});if(opts.skills&&!dryRun){progress.step("refreshing agent guidance");let projectRoots=await agentRootCandidates(folder);({refreshed}=await refreshAgentArtifacts({projectRoots,designFolder:folder}))}progress.succeed(dryRun?"upgrade check complete":"upgrade complete")}catch(error){throw progress.fail("upgrade failed"),error}if(stopped)console.log("velloo: stopped the running canvas for this folder.");if(result.applied.length===0){console.log(`velloo: ${folder} is already at schema version ${CURRENT_SCHEMA_VERSION}.`);for(let file of result.changedFiles)console.log(` ${dryRun?"~":"\u2713"} ${file} (designs list format)`)}else{console.log(`velloo: ${dryRun?"would migrate":"migrated"} ${folder} from schema version ${result.from} to ${result.to}:`);for(let step of result.applied)console.log(` - ${step}`);for(let file of result.changedFiles)console.log(` ${dryRun?"~":"\u2713"} ${file}`);if(!dryRun)console.log("velloo: folder validated against the current schemas.")}if(repinned.length>0){console.log(""),console.log(import_picocolors.default.green("\u2713 Agent MCP configs now find the design without naming it:"));for(let path of repinned)console.log(` ${import_picocolors.default.cyan(path)}`)}if(refreshed.length>0){console.log(""),console.log(import_picocolors.default.green("\u2713 Refreshed agent guidance to this velloo:"));for(let line of refreshed)console.log(` ${import_picocolors.default.cyan(line)}`)}}
|
|
3
3
|
export{repinAgentConfigs,upgrade_default,migrateFolder2};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{helpersRegistry,parse_default,formatRgb,helperSourcePath}from"./chunk-9g45c5md.js";import{sanitizeCssTokenValue,resolveColors,DEFAULT_TYPESET_NAME,typesetScale}from"./chunk-xxw67jpk.js";import{require_react_is_development,require_object_assign,require_emotion_serialize_development_cjs,$_default,import_emotion_react_development_cjs,$_default2,$_default3}from"./chunk-ejpccmcj.js";import{SX_PROP,catalogFromManifest,require_react_development,require_react_dom}from"./chunk-xg49s85z.js";import{__toESM,__commonJS}from"./chunk-2smsg2ct.js";import{MUI_VERSION}from"./chunk-mzhdrawd.js";import{_objectWithoutPropertiesLoose,_extends,_assertThisInitialized,_setPrototypeOf}from"./chunk-h6gchare.js";import{resolveProviderSrcDir}from"./chunk-v6c3h9ft.js";import{require_react_jsx_runtime_development}from"./chunk-8ztgcajz.js";var require_ReactPropTypesSecret=__commonJS(function(exports,module){var ReactPropTypesSecret="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";module.exports=ReactPropTypesSecret});var require_has=__commonJS(function(exports,module){module.exports=Function.call.bind(Object.prototype.hasOwnProperty)});var require_checkPropTypes=__commonJS(function(exports,module){var printWarning=function(){};ReactPropTypesSecret=require_ReactPropTypesSecret(),loggedTypeFailures={},has=require_has(),printWarning=function(text){var message="Warning: "+text;if(typeof console<"u")console.error(message);try{throw Error(message)}catch(x){}};var ReactPropTypesSecret,loggedTypeFailures,has;function checkPropTypes(typeSpecs,values,location,componentName,getStack){for(var typeSpecName in typeSpecs)if(has(typeSpecs,typeSpecName)){var error;try{if(typeof typeSpecs[typeSpecName]!=="function"){var err=Error((componentName||"React class")+": "+location+" type `"+typeSpecName+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof typeSpecs[typeSpecName]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw err.name="Invariant Violation",err}error=typeSpecs[typeSpecName](values,typeSpecName,componentName,location,null,ReactPropTypesSecret)}catch(ex){error=ex}if(error&&!(error instanceof Error))printWarning((componentName||"React class")+": type specification of "+location+" `"+typeSpecName+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof error+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).");if(error instanceof Error&&!(error.message in loggedTypeFailures)){loggedTypeFailures[error.message]=!0;var stack=getStack?getStack():"";printWarning("Failed "+location+" type: "+error.message+(stack!=null?stack:""))}}}checkPropTypes.resetWarningCache=function(){loggedTypeFailures={}};module.exports=checkPropTypes});var require_factoryWithTypeCheckers=__commonJS(function(exports,module){var ReactIs=__toESM(require_react_is_development()),assign=require_object_assign(),ReactPropTypesSecret=require_ReactPropTypesSecret(),has=require_has(),checkPropTypes=require_checkPropTypes(),printWarning=function(){};printWarning=function(text){var message="Warning: "+text;if(typeof console<"u")console.error(message);try{throw Error(message)}catch(x){}};function emptyFunctionThatReturnsNull(){return null}module.exports=function(isValidElement,throwOnDirectAccess){var ITERATOR_SYMBOL=typeof Symbol==="function"&&Symbol.iterator,FAUX_ITERATOR_SYMBOL="@@iterator";function getIteratorFn(maybeIterable){var iteratorFn=maybeIterable&&(ITERATOR_SYMBOL&&maybeIterable[ITERATOR_SYMBOL]||maybeIterable[FAUX_ITERATOR_SYMBOL]);if(typeof iteratorFn==="function")return iteratorFn}var ANONYMOUS="<<anonymous>>",ReactPropTypes={array:createPrimitiveTypeChecker("array"),bigint:createPrimitiveTypeChecker("bigint"),bool:createPrimitiveTypeChecker("boolean"),func:createPrimitiveTypeChecker("function"),number:createPrimitiveTypeChecker("number"),object:createPrimitiveTypeChecker("object"),string:createPrimitiveTypeChecker("string"),symbol:createPrimitiveTypeChecker("symbol"),any:createAnyTypeChecker(),arrayOf:createArrayOfTypeChecker,element:createElementTypeChecker(),elementType:createElementTypeTypeChecker(),instanceOf:createInstanceTypeChecker,node:createNodeChecker(),objectOf:createObjectOfTypeChecker,oneOf:createEnumTypeChecker,oneOfType:createUnionTypeChecker,shape:createShapeTypeChecker,exact:createStrictShapeTypeChecker};function is(x,y){if(x===y)return x!==0||1/x===1/y;else return x!==x&&y!==y}function PropTypeError(message,data){this.message=message,this.data=data&&typeof data==="object"?data:{},this.stack=""}PropTypeError.prototype=Error.prototype;function createChainableTypeChecker(validate){var manualPropTypeCallCache={},manualPropTypeWarningCount=0;function checkType(isRequired,props,propName,componentName,location,propFullName,secret){if(componentName=componentName||ANONYMOUS,propFullName=propFullName||propName,secret!==ReactPropTypesSecret){if(throwOnDirectAccess){var err=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw err.name="Invariant Violation",err}else if(typeof console<"u"){var cacheKey=componentName+":"+propName;if(!manualPropTypeCallCache[cacheKey]&&manualPropTypeWarningCount<3)printWarning("You are manually calling a React.PropTypes validation function for the `"+propFullName+"` prop on `"+componentName+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),manualPropTypeCallCache[cacheKey]=!0,manualPropTypeWarningCount++}}if(props[propName]==null){if(isRequired){if(props[propName]===null)return new PropTypeError("The "+location+" `"+propFullName+"` is marked as required "+("in `"+componentName+"`, but its value is `null`."));return new PropTypeError("The "+location+" `"+propFullName+"` is marked as required in "+("`"+componentName+"`, but its value is `undefined`."))}return null}else return validate(props,propName,componentName,location,propFullName)}var chainedCheckType=checkType.bind(null,!1);return chainedCheckType.isRequired=checkType.bind(null,!0),chainedCheckType}function createPrimitiveTypeChecker(expectedType){function validate(props,propName,componentName,location,propFullName,secret){var propValue=props[propName],propType=getPropType(propValue);if(propType!==expectedType){var preciseType=getPreciseType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+preciseType+"` supplied to `"+componentName+"`, expected ")+("`"+expectedType+"`."),{expectedType})}return null}return createChainableTypeChecker(validate)}function createAnyTypeChecker(){return createChainableTypeChecker(emptyFunctionThatReturnsNull)}function createArrayOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if(typeof typeChecker!=="function")return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside arrayOf.");var propValue=props[propName];if(!Array.isArray(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected an array."))}for(var i=0;i<propValue.length;i++){var error=typeChecker(propValue,i,componentName,location,propFullName+"["+i+"]",ReactPropTypesSecret);if(error instanceof Error)return error}return null}return createChainableTypeChecker(validate)}function createElementTypeChecker(){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];if(!isValidElement(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected a single ReactElement."))}return null}return createChainableTypeChecker(validate)}function createElementTypeTypeChecker(){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];if(!ReactIs.isValidElementType(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected a single ReactElement type."))}return null}return createChainableTypeChecker(validate)}function createInstanceTypeChecker(expectedClass){function validate(props,propName,componentName,location,propFullName){if(!(props[propName]instanceof expectedClass)){var expectedClassName=expectedClass.name||ANONYMOUS,actualClassName=getClassName(props[propName]);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+actualClassName+"` supplied to `"+componentName+"`, expected ")+("instance of `"+expectedClassName+"`."))}return null}return createChainableTypeChecker(validate)}function createEnumTypeChecker(expectedValues){if(!Array.isArray(expectedValues)){if(arguments.length>1)printWarning("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).");else printWarning("Invalid argument supplied to oneOf, expected an array.");return emptyFunctionThatReturnsNull}function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];for(var i=0;i<expectedValues.length;i++)if(is(propValue,expectedValues[i]))return null;var valuesString=JSON.stringify(expectedValues,function(key,value){var type=getPreciseType(value);if(type==="symbol")return String(value);return value});return new PropTypeError("Invalid "+location+" `"+propFullName+"` of value `"+String(propValue)+"` "+("supplied to `"+componentName+"`, expected one of "+valuesString+"."))}return createChainableTypeChecker(validate)}function createObjectOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if(typeof typeChecker!=="function")return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside objectOf.");var propValue=props[propName],propType=getPropType(propValue);if(propType!=="object")return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected an object."));for(var key in propValue)if(has(propValue,key)){var error=typeChecker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error instanceof Error)return error}return null}return createChainableTypeChecker(validate)}function createUnionTypeChecker(arrayOfTypeCheckers){if(!Array.isArray(arrayOfTypeCheckers))return printWarning("Invalid argument supplied to oneOfType, expected an instance of array."),emptyFunctionThatReturnsNull;for(var i=0;i<arrayOfTypeCheckers.length;i++){var checker=arrayOfTypeCheckers[i];if(typeof checker!=="function")return printWarning("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+getPostfixForTypeWarning(checker)+" at index "+i+"."),emptyFunctionThatReturnsNull}function validate(props,propName,componentName,location,propFullName){var expectedTypes=[];for(var i=0;i<arrayOfTypeCheckers.length;i++){var checker=arrayOfTypeCheckers[i],checkerResult=checker(props,propName,componentName,location,propFullName,ReactPropTypesSecret);if(checkerResult==null)return null;if(checkerResult.data&&has(checkerResult.data,"expectedType"))expectedTypes.push(checkerResult.data.expectedType)}var expectedTypesMessage=expectedTypes.length>0?", expected one of type ["+expectedTypes.join(", ")+"]":"";return new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to "+("`"+componentName+"`"+expectedTypesMessage+"."))}return createChainableTypeChecker(validate)}function createNodeChecker(){function validate(props,propName,componentName,location,propFullName){if(!isNode(props[propName]))return new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to "+("`"+componentName+"`, expected a ReactNode."));return null}return createChainableTypeChecker(validate)}function invalidValidatorError(componentName,location,propFullName,key,type){return new PropTypeError((componentName||"React class")+": "+location+" type `"+propFullName+"."+key+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+type+"`.")}function createShapeTypeChecker(shapeTypes){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName],propType=getPropType(propValue);if(propType!=="object")return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` "+("supplied to `"+componentName+"`, expected `object`."));for(var key in shapeTypes){var checker=shapeTypes[key];if(typeof checker!=="function")return invalidValidatorError(componentName,location,propFullName,key,getPreciseType(checker));var error=checker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error)return error}return null}return createChainableTypeChecker(validate)}function createStrictShapeTypeChecker(shapeTypes){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName],propType=getPropType(propValue);if(propType!=="object")return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` "+("supplied to `"+componentName+"`, expected `object`."));var allKeys=assign({},props[propName],shapeTypes);for(var key in allKeys){var checker=shapeTypes[key];if(has(shapeTypes,key)&&typeof checker!=="function")return invalidValidatorError(componentName,location,propFullName,key,getPreciseType(checker));if(!checker)return new PropTypeError("Invalid "+location+" `"+propFullName+"` key `"+key+"` supplied to `"+componentName+"`.\nBad object: "+JSON.stringify(props[propName],null," ")+`
|
|
2
|
+
import{helpersRegistry,parse_default,formatRgb,helperSourcePath}from"./chunk-mseawt58.js";import{sanitizeCssTokenValue,resolveColors,DEFAULT_TYPESET_NAME,typesetScale}from"./chunk-ghwy99py.js";import{require_react_is_development,require_object_assign,require_emotion_serialize_development_cjs,$_default,import_emotion_react_development_cjs,$_default2,$_default3}from"./chunk-x4jsr5et.js";import{SX_PROP,catalogFromManifest,require_react_development,require_react_dom}from"./chunk-hhkjqvww.js";import{__toESM,__commonJS}from"./chunk-2smsg2ct.js";import{MUI_VERSION}from"./chunk-mzhdrawd.js";import{_objectWithoutPropertiesLoose,_extends,_assertThisInitialized,_setPrototypeOf}from"./chunk-h6gchare.js";import{resolveProviderSrcDir}from"./chunk-v6c3h9ft.js";import{require_react_jsx_runtime_development}from"./chunk-12pgt83m.js";var require_ReactPropTypesSecret=__commonJS(function(exports,module){var ReactPropTypesSecret="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";module.exports=ReactPropTypesSecret});var require_has=__commonJS(function(exports,module){module.exports=Function.call.bind(Object.prototype.hasOwnProperty)});var require_checkPropTypes=__commonJS(function(exports,module){var printWarning=function(){};ReactPropTypesSecret=require_ReactPropTypesSecret(),loggedTypeFailures={},has=require_has(),printWarning=function(text){var message="Warning: "+text;if(typeof console<"u")console.error(message);try{throw Error(message)}catch(x){}};var ReactPropTypesSecret,loggedTypeFailures,has;function checkPropTypes(typeSpecs,values,location,componentName,getStack){for(var typeSpecName in typeSpecs)if(has(typeSpecs,typeSpecName)){var error;try{if(typeof typeSpecs[typeSpecName]!=="function"){var err=Error((componentName||"React class")+": "+location+" type `"+typeSpecName+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof typeSpecs[typeSpecName]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw err.name="Invariant Violation",err}error=typeSpecs[typeSpecName](values,typeSpecName,componentName,location,null,ReactPropTypesSecret)}catch(ex){error=ex}if(error&&!(error instanceof Error))printWarning((componentName||"React class")+": type specification of "+location+" `"+typeSpecName+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof error+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).");if(error instanceof Error&&!(error.message in loggedTypeFailures)){loggedTypeFailures[error.message]=!0;var stack=getStack?getStack():"";printWarning("Failed "+location+" type: "+error.message+(stack!=null?stack:""))}}}checkPropTypes.resetWarningCache=function(){loggedTypeFailures={}};module.exports=checkPropTypes});var require_factoryWithTypeCheckers=__commonJS(function(exports,module){var ReactIs=__toESM(require_react_is_development()),assign=require_object_assign(),ReactPropTypesSecret=require_ReactPropTypesSecret(),has=require_has(),checkPropTypes=require_checkPropTypes(),printWarning=function(){};printWarning=function(text){var message="Warning: "+text;if(typeof console<"u")console.error(message);try{throw Error(message)}catch(x){}};function emptyFunctionThatReturnsNull(){return null}module.exports=function(isValidElement,throwOnDirectAccess){var ITERATOR_SYMBOL=typeof Symbol==="function"&&Symbol.iterator,FAUX_ITERATOR_SYMBOL="@@iterator";function getIteratorFn(maybeIterable){var iteratorFn=maybeIterable&&(ITERATOR_SYMBOL&&maybeIterable[ITERATOR_SYMBOL]||maybeIterable[FAUX_ITERATOR_SYMBOL]);if(typeof iteratorFn==="function")return iteratorFn}var ANONYMOUS="<<anonymous>>",ReactPropTypes={array:createPrimitiveTypeChecker("array"),bigint:createPrimitiveTypeChecker("bigint"),bool:createPrimitiveTypeChecker("boolean"),func:createPrimitiveTypeChecker("function"),number:createPrimitiveTypeChecker("number"),object:createPrimitiveTypeChecker("object"),string:createPrimitiveTypeChecker("string"),symbol:createPrimitiveTypeChecker("symbol"),any:createAnyTypeChecker(),arrayOf:createArrayOfTypeChecker,element:createElementTypeChecker(),elementType:createElementTypeTypeChecker(),instanceOf:createInstanceTypeChecker,node:createNodeChecker(),objectOf:createObjectOfTypeChecker,oneOf:createEnumTypeChecker,oneOfType:createUnionTypeChecker,shape:createShapeTypeChecker,exact:createStrictShapeTypeChecker};function is(x,y){if(x===y)return x!==0||1/x===1/y;else return x!==x&&y!==y}function PropTypeError(message,data){this.message=message,this.data=data&&typeof data==="object"?data:{},this.stack=""}PropTypeError.prototype=Error.prototype;function createChainableTypeChecker(validate){var manualPropTypeCallCache={},manualPropTypeWarningCount=0;function checkType(isRequired,props,propName,componentName,location,propFullName,secret){if(componentName=componentName||ANONYMOUS,propFullName=propFullName||propName,secret!==ReactPropTypesSecret){if(throwOnDirectAccess){var err=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw err.name="Invariant Violation",err}else if(typeof console<"u"){var cacheKey=componentName+":"+propName;if(!manualPropTypeCallCache[cacheKey]&&manualPropTypeWarningCount<3)printWarning("You are manually calling a React.PropTypes validation function for the `"+propFullName+"` prop on `"+componentName+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),manualPropTypeCallCache[cacheKey]=!0,manualPropTypeWarningCount++}}if(props[propName]==null){if(isRequired){if(props[propName]===null)return new PropTypeError("The "+location+" `"+propFullName+"` is marked as required "+("in `"+componentName+"`, but its value is `null`."));return new PropTypeError("The "+location+" `"+propFullName+"` is marked as required in "+("`"+componentName+"`, but its value is `undefined`."))}return null}else return validate(props,propName,componentName,location,propFullName)}var chainedCheckType=checkType.bind(null,!1);return chainedCheckType.isRequired=checkType.bind(null,!0),chainedCheckType}function createPrimitiveTypeChecker(expectedType){function validate(props,propName,componentName,location,propFullName,secret){var propValue=props[propName],propType=getPropType(propValue);if(propType!==expectedType){var preciseType=getPreciseType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+preciseType+"` supplied to `"+componentName+"`, expected ")+("`"+expectedType+"`."),{expectedType})}return null}return createChainableTypeChecker(validate)}function createAnyTypeChecker(){return createChainableTypeChecker(emptyFunctionThatReturnsNull)}function createArrayOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if(typeof typeChecker!=="function")return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside arrayOf.");var propValue=props[propName];if(!Array.isArray(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected an array."))}for(var i=0;i<propValue.length;i++){var error=typeChecker(propValue,i,componentName,location,propFullName+"["+i+"]",ReactPropTypesSecret);if(error instanceof Error)return error}return null}return createChainableTypeChecker(validate)}function createElementTypeChecker(){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];if(!isValidElement(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected a single ReactElement."))}return null}return createChainableTypeChecker(validate)}function createElementTypeTypeChecker(){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];if(!ReactIs.isValidElementType(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected a single ReactElement type."))}return null}return createChainableTypeChecker(validate)}function createInstanceTypeChecker(expectedClass){function validate(props,propName,componentName,location,propFullName){if(!(props[propName]instanceof expectedClass)){var expectedClassName=expectedClass.name||ANONYMOUS,actualClassName=getClassName(props[propName]);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+actualClassName+"` supplied to `"+componentName+"`, expected ")+("instance of `"+expectedClassName+"`."))}return null}return createChainableTypeChecker(validate)}function createEnumTypeChecker(expectedValues){if(!Array.isArray(expectedValues)){if(arguments.length>1)printWarning("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).");else printWarning("Invalid argument supplied to oneOf, expected an array.");return emptyFunctionThatReturnsNull}function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];for(var i=0;i<expectedValues.length;i++)if(is(propValue,expectedValues[i]))return null;var valuesString=JSON.stringify(expectedValues,function(key,value){var type=getPreciseType(value);if(type==="symbol")return String(value);return value});return new PropTypeError("Invalid "+location+" `"+propFullName+"` of value `"+String(propValue)+"` "+("supplied to `"+componentName+"`, expected one of "+valuesString+"."))}return createChainableTypeChecker(validate)}function createObjectOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if(typeof typeChecker!=="function")return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside objectOf.");var propValue=props[propName],propType=getPropType(propValue);if(propType!=="object")return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected an object."));for(var key in propValue)if(has(propValue,key)){var error=typeChecker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error instanceof Error)return error}return null}return createChainableTypeChecker(validate)}function createUnionTypeChecker(arrayOfTypeCheckers){if(!Array.isArray(arrayOfTypeCheckers))return printWarning("Invalid argument supplied to oneOfType, expected an instance of array."),emptyFunctionThatReturnsNull;for(var i=0;i<arrayOfTypeCheckers.length;i++){var checker=arrayOfTypeCheckers[i];if(typeof checker!=="function")return printWarning("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+getPostfixForTypeWarning(checker)+" at index "+i+"."),emptyFunctionThatReturnsNull}function validate(props,propName,componentName,location,propFullName){var expectedTypes=[];for(var i=0;i<arrayOfTypeCheckers.length;i++){var checker=arrayOfTypeCheckers[i],checkerResult=checker(props,propName,componentName,location,propFullName,ReactPropTypesSecret);if(checkerResult==null)return null;if(checkerResult.data&&has(checkerResult.data,"expectedType"))expectedTypes.push(checkerResult.data.expectedType)}var expectedTypesMessage=expectedTypes.length>0?", expected one of type ["+expectedTypes.join(", ")+"]":"";return new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to "+("`"+componentName+"`"+expectedTypesMessage+"."))}return createChainableTypeChecker(validate)}function createNodeChecker(){function validate(props,propName,componentName,location,propFullName){if(!isNode(props[propName]))return new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to "+("`"+componentName+"`, expected a ReactNode."));return null}return createChainableTypeChecker(validate)}function invalidValidatorError(componentName,location,propFullName,key,type){return new PropTypeError((componentName||"React class")+": "+location+" type `"+propFullName+"."+key+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+type+"`.")}function createShapeTypeChecker(shapeTypes){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName],propType=getPropType(propValue);if(propType!=="object")return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` "+("supplied to `"+componentName+"`, expected `object`."));for(var key in shapeTypes){var checker=shapeTypes[key];if(typeof checker!=="function")return invalidValidatorError(componentName,location,propFullName,key,getPreciseType(checker));var error=checker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error)return error}return null}return createChainableTypeChecker(validate)}function createStrictShapeTypeChecker(shapeTypes){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName],propType=getPropType(propValue);if(propType!=="object")return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` "+("supplied to `"+componentName+"`, expected `object`."));var allKeys=assign({},props[propName],shapeTypes);for(var key in allKeys){var checker=shapeTypes[key];if(has(shapeTypes,key)&&typeof checker!=="function")return invalidValidatorError(componentName,location,propFullName,key,getPreciseType(checker));if(!checker)return new PropTypeError("Invalid "+location+" `"+propFullName+"` key `"+key+"` supplied to `"+componentName+"`.\nBad object: "+JSON.stringify(props[propName],null," ")+`
|
|
3
3
|
Valid keys: `+JSON.stringify(Object.keys(shapeTypes),null," "));var error=checker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error)return error}return null}return createChainableTypeChecker(validate)}function isNode(propValue){switch(typeof propValue){case"number":case"string":case"undefined":return!0;case"boolean":return!propValue;case"object":if(Array.isArray(propValue))return propValue.every(isNode);if(propValue===null||isValidElement(propValue))return!0;var iteratorFn=getIteratorFn(propValue);if(iteratorFn){var iterator=iteratorFn.call(propValue),step;if(iteratorFn!==propValue.entries){while(!(step=iterator.next()).done)if(!isNode(step.value))return!1}else while(!(step=iterator.next()).done){var entry=step.value;if(entry){if(!isNode(entry[1]))return!1}}}else return!1;return!0;default:return!1}}function isSymbol(propType,propValue){if(propType==="symbol")return!0;if(!propValue)return!1;if(propValue["@@toStringTag"]==="Symbol")return!0;if(typeof Symbol==="function"&&propValue instanceof Symbol)return!0;return!1}function getPropType(propValue){var propType=typeof propValue;if(Array.isArray(propValue))return"array";if(propValue instanceof RegExp)return"object";if(isSymbol(propType,propValue))return"symbol";return propType}function getPreciseType(propValue){if(typeof propValue>"u"||propValue===null)return""+propValue;var propType=getPropType(propValue);if(propType==="object"){if(propValue instanceof Date)return"date";else if(propValue instanceof RegExp)return"regexp"}return propType}function getPostfixForTypeWarning(value){var type=getPreciseType(value);switch(type){case"array":case"object":return"an "+type;case"boolean":case"date":case"regexp":return"a "+type;default:return type}}function getClassName(propValue){if(!propValue.constructor||!propValue.constructor.name)return ANONYMOUS;return propValue.constructor.name}return ReactPropTypes.checkPropTypes=checkPropTypes,ReactPropTypes.resetWarningCache=checkPropTypes.resetWarningCache,ReactPropTypes.PropTypes=ReactPropTypes,ReactPropTypes}});var require_prop_types=__commonJS(function(exports,module){var ReactIs=__toESM(require_react_is_development());throwOnDirectAccess=!0,module.exports=require_factoryWithTypeCheckers()(ReactIs.isElement,throwOnDirectAccess);var throwOnDirectAccess});var require_react_is_development2=__commonJS(function(exports){(function(){function typeOf(object){if(typeof object==="object"&&object!==null){var $$typeof=object.$$typeof;switch($$typeof){case REACT_ELEMENT_TYPE:switch(object=object.type,object){case REACT_FRAGMENT_TYPE:case REACT_PROFILER_TYPE:case REACT_STRICT_MODE_TYPE:case REACT_SUSPENSE_TYPE:case REACT_SUSPENSE_LIST_TYPE:case REACT_VIEW_TRANSITION_TYPE:return object;default:switch(object=object&&object.$$typeof,object){case REACT_CONTEXT_TYPE:case REACT_FORWARD_REF_TYPE:case REACT_LAZY_TYPE:case REACT_MEMO_TYPE:return object;case REACT_CONSUMER_TYPE:return object;default:return $$typeof}}case REACT_PORTAL_TYPE:return $$typeof}}}var REACT_ELEMENT_TYPE=Symbol.for("react.transitional.element"),REACT_PORTAL_TYPE=Symbol.for("react.portal"),REACT_FRAGMENT_TYPE=Symbol.for("react.fragment"),REACT_STRICT_MODE_TYPE=Symbol.for("react.strict_mode"),REACT_PROFILER_TYPE=Symbol.for("react.profiler"),REACT_CONSUMER_TYPE=Symbol.for("react.consumer"),REACT_CONTEXT_TYPE=Symbol.for("react.context"),REACT_FORWARD_REF_TYPE=Symbol.for("react.forward_ref"),REACT_SUSPENSE_TYPE=Symbol.for("react.suspense"),REACT_SUSPENSE_LIST_TYPE=Symbol.for("react.suspense_list"),REACT_MEMO_TYPE=Symbol.for("react.memo"),REACT_LAZY_TYPE=Symbol.for("react.lazy"),REACT_VIEW_TRANSITION_TYPE=Symbol.for("react.view_transition"),REACT_CLIENT_REFERENCE=Symbol.for("react.client.reference");exports.ContextConsumer=REACT_CONSUMER_TYPE,exports.ContextProvider=REACT_CONTEXT_TYPE,exports.Element=REACT_ELEMENT_TYPE,exports.ForwardRef=REACT_FORWARD_REF_TYPE,exports.Fragment=REACT_FRAGMENT_TYPE,exports.Lazy=REACT_LAZY_TYPE,exports.Memo=REACT_MEMO_TYPE,exports.Portal=REACT_PORTAL_TYPE,exports.Profiler=REACT_PROFILER_TYPE,exports.StrictMode=REACT_STRICT_MODE_TYPE,exports.Suspense=REACT_SUSPENSE_TYPE,exports.SuspenseList=REACT_SUSPENSE_LIST_TYPE,exports.isContextConsumer=function(object){return typeOf(object)===REACT_CONSUMER_TYPE},exports.isContextProvider=function(object){return typeOf(object)===REACT_CONTEXT_TYPE},exports.isElement=function(object){return typeof object==="object"&&object!==null&&object.$$typeof===REACT_ELEMENT_TYPE},exports.isForwardRef=function(object){return typeOf(object)===REACT_FORWARD_REF_TYPE},exports.isFragment=function(object){return typeOf(object)===REACT_FRAGMENT_TYPE},exports.isLazy=function(object){return typeOf(object)===REACT_LAZY_TYPE},exports.isMemo=function(object){return typeOf(object)===REACT_MEMO_TYPE},exports.isPortal=function(object){return typeOf(object)===REACT_PORTAL_TYPE},exports.isProfiler=function(object){return typeOf(object)===REACT_PROFILER_TYPE},exports.isStrictMode=function(object){return typeOf(object)===REACT_STRICT_MODE_TYPE},exports.isSuspense=function(object){return typeOf(object)===REACT_SUSPENSE_TYPE},exports.isSuspenseList=function(object){return typeOf(object)===REACT_SUSPENSE_LIST_TYPE},exports.isValidElementType=function(type){return typeof type==="string"||typeof type==="function"||type===REACT_FRAGMENT_TYPE||type===REACT_PROFILER_TYPE||type===REACT_STRICT_MODE_TYPE||type===REACT_SUSPENSE_TYPE||type===REACT_SUSPENSE_LIST_TYPE||typeof type==="object"&&type!==null&&(type.$$typeof===REACT_LAZY_TYPE||type.$$typeof===REACT_MEMO_TYPE||type.$$typeof===REACT_CONTEXT_TYPE||type.$$typeof===REACT_CONSUMER_TYPE||type.$$typeof===REACT_FORWARD_REF_TYPE||type.$$typeof===REACT_CLIENT_REFERENCE||type.getModuleId!==void 0)?!0:!1},exports.typeOf=typeOf})()});import{dirname,join}from"path";import{fileURLToPath}from"url";var MUI_INTRO=["**This folder targets Material UI.** Components are real MUI: `Box`/`Stack`/`Container`/`Paper` for layout, `Card`/`CardContent`/`CardHeader`/`CardActions`, `Typography` (ALL text \u2014 pick `variant` for the type scale), `Button`/`IconButton`, `TextField`, `Chip`, `Divider`, `Avatar`, `List`/`ListItem`, `Table*`, `Tabs`/`Tab`, `Alert`, `Tooltip`, and the overlay surface `Dialog`/`Menu`/`Popover`/`Drawer`/`Snackbar` (rendered open + inline in design mode). Call `list_components` for the full set and per-component `example` props.","",'**Style through `sx`.** `update_props { style: { display: "flex", alignItems: "center", gap: 2, p: 3, color: "primary.main" } }` \u2014 an object of MUI system props, where spacing is theme units (`p: 2` = 16px). It merges shallowly; an inner `null` drops a key, `style: null` clears. `emit_code` emits `<Component sx={{\u2026}} />` importing from `@mui/material`; `emit_theme` emits a `createTheme(...)` module. Tailwind utility diagnostics do not apply here \u2014 style via `sx` plus the shared theme tokens from `get_theme`, which project onto MUI.',""];var sx={name:"sx",type:"SxProps | undefined",optional:!0,control:"string"},children={name:"children",type:"ReactNode",optional:!0,control:"string"},enumProp=(name,values,defaultValue)=>({name,type:values.map((v)=>`"${v}"`).join(" | "),optional:!0,control:"enum",enumValues:values,defaultValue});function ui(id,props,notes,example){return{id,category:"ui",source:"mui",props:[...props,sx],designModeNotes:notes,example}}var className={name:"className",type:"string | undefined",optional:!0,control:"string"};function helper(id,props,notes,example){return{id,category:"ui",source:"velloo",props:[...props,className],designModeNotes:notes,example}}var MUI_MANIFEST=[ui("Box",[children,{name:"as",type:"string",optional:!0,control:"string",nativeName:"component"}],'Generic layout primitive; style via sx. `as` renders another HTML tag ("span", "section") and emits as MUI\'s `component`.'),ui("Stack",[children,enumProp("direction",["row","column"],"column")],"Flex layout; set spacing via sx or the spacing prop."),ui("Container",[children,enumProp("maxWidth",["xs","sm","md","lg","xl"],"lg")],"Centers + max-widths content."),ui("Paper",[children,enumProp("variant",["elevation","outlined"],"elevation")]),ui("Card",[children,enumProp("variant",["elevation","outlined"],"elevation")]),ui("CardContent",[children]),ui("CardHeader",[{name:"title",type:"ReactNode",optional:!0,control:"string"},{name:"subheader",type:"ReactNode",optional:!0,control:"string"}]),ui("CardActions",[children]),ui("Button",[children,enumProp("variant",["text","outlined","contained"],"text"),enumProp("color",["primary","secondary","success","error","inherit"],"primary"),enumProp("size",["small","medium","large"],"medium")],"Action button.",{variant:"contained",color:"primary",children:"Submit"}),ui("Typography",[children,enumProp("variant",["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","caption","overline"],"body1"),enumProp("color",["text.primary","text.secondary","primary","error"])],"All text. Pick variant for the type scale; this is MUI's Heading + Text.",{variant:"h4",children:"Team analytics"}),ui("TextField",[enumProp("variant",["outlined","filled","standard"],"outlined"),{name:"label",type:"string",optional:!0,control:"string"},{name:"placeholder",type:"string",optional:!0,control:"string"}]),ui("Chip",[{name:"label",type:"ReactNode",optional:!0,control:"string"},enumProp("variant",["filled","outlined"],"filled"),enumProp("color",["default","primary","success","warning","error"],"default"),enumProp("size",["small","medium"],"medium")]),ui("Divider",[]),ui("Avatar",[children,{name:"src",type:"string",optional:!0,control:"string"}]),ui("LinearProgress",[{name:"value",type:"number",optional:!0,control:"number"},enumProp("variant",["determinate","indeterminate"],"indeterminate")]),ui("AppBar",[children,enumProp("position",["fixed","static","sticky"],"fixed"),enumProp("color",["primary","default","transparent","inherit"],"primary")]),ui("Toolbar",[children]),ui("IconButton",[children,enumProp("size",["small","medium","large"],"medium")]),ui("Link",[children,{name:"href",type:"string",optional:!0,control:"string"}]),ui("List",[children]),ui("ListItem",[children]),ui("ListItemText",[{name:"primary",type:"ReactNode",optional:!0,control:"string"},{name:"secondary",type:"ReactNode",optional:!0,control:"string"}]),ui("Table",[children]),ui("TableHead",[children]),ui("TableBody",[children]),ui("TableRow",[children]),ui("TableCell",[children,enumProp("align",["left","center","right"],"left")]),ui("Tabs",[children,{name:"value",type:"number | string",optional:!0,control:"string"}]),ui("Tab",[{name:"label",type:"ReactNode",optional:!0,control:"string"}]),ui("Badge",[children,{name:"badgeContent",type:"ReactNode",optional:!0,control:"string"}]),ui("Checkbox",[{name:"checked",type:"boolean",optional:!0,control:"boolean"}]),ui("Switch",[{name:"checked",type:"boolean",optional:!0,control:"boolean"}]),ui("Select",[children,enumProp("variant",["outlined","filled","standard"],"outlined")]),ui("MenuItem",[children,{name:"value",type:"string | number",optional:!0,control:"string"}]),ui("Tooltip",[children,{name:"title",type:"ReactNode",optional:!0,control:"string"}]),ui("Alert",[children,enumProp("severity",["success","info","warning","error"],"success")]),ui("Dialog",[children,enumProp("maxWidth",["xs","sm","md","lg","xl"],"sm")],"Modal dialog surface \u2014 renders open + inline in design mode. Fill it with DialogTitle / DialogContent / DialogActions.",{maxWidth:"sm"}),ui("DialogTitle",[children],"The dialog's heading row."),ui("DialogContent",[children],"The dialog's body."),ui("DialogContentText",[children],"Secondary text inside DialogContent."),ui("DialogActions",[children],"The dialog's button row (right-aligned)."),ui("Menu",[children],"A menu surface holding MenuItems \u2014 renders open + inline in design mode."),ui("Popover",[children],"A popover surface \u2014 renders open + inline in design mode."),ui("Drawer",[children],"A side panel \u2014 renders inline as a fixed-width column in design mode."),ui("Snackbar",[children,{name:"message",type:"ReactNode",optional:!0,control:"string"}],"A toast \u2014 renders inline as a dark pill in design mode. Use `message` or children.",{message:"Saved"}),helper("Icon",[{name:"name",type:"string",optional:!1,control:"icon"},{name:"size",type:"number",optional:!0,control:"number"}],"A lucide icon \u2014 MUI has no bundled icon set. Set the pixel `size` prop (not Tailwind). `name` is a lucide id (PascalCase or kebab). Emits a `lucide-react` import.",{name:"ArrowRight",size:20}),helper("Image",[{name:"src",type:"string",optional:!1,control:"string"},{name:"alt",type:"string",optional:!1,control:"string"}],"An image. Use velloo assets (`/assets/\u2026`) or a URL."),helper("Placeholder",[{name:"label",type:"string",optional:!0,control:"string"}],"A labeled placeholder box for imagery you haven't authored yet (avatars, hero shots)."),helper("SVG",[{name:"content",type:"string",optional:!1,control:"string"},{name:"viewBox",type:"string",optional:!1,control:"string"},{name:"preserveAspectRatio",type:"string",optional:!0,control:"string"}],"Raw inline SVG markup."),helper("Layer",[children],"An absolutely-positioned overlay layer for stacked composition."),helper("Gradient",[{name:"from",type:"string",optional:!0,control:"color"}],"A gradient fill block."),helper("Prose",[children,{name:"preset",type:"string",optional:!0,control:"string"},{name:"as",type:"string",optional:!0,control:"string"}],"A long-form content region. Everything inside \u2014 Typography, headings, lists, quotes, code, tables \u2014 picks up the theme typeset's proportions and vertical rhythm automatically. `preset` selects a named typeset (see set_typeset). Reach for this for articles, docs, and marketing copy instead of setting sizes block by block.",{as:"article"})];var React49=__toESM(require_react_development()),import_prop_types26=__toESM(require_prop_types());import clsx13 from"clsx";function composeClasses(slots,getUtilityClass,classes=void 0){let output={};for(let slotName in slots){let slot=slots[slotName],buffer="",start=!0;for(let i=0;i<slot.length;i+=1){let value=slot[i];if(value){if(buffer+=(start===!0?"":" ")+getUtilityClass(value),start=!1,classes&&classes[value])buffer+=" "+classes[value]}}output[slotName]=buffer}return output}function clamp(val,min=Number.MIN_SAFE_INTEGER,max=Number.MAX_SAFE_INTEGER){return Math.max(min,Math.min(val,max))}var clamp_default=clamp;function clampWrapper(value,min=0,max=1){if(value<min||value>max)console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);return clamp_default(value,min,max)}function hexToRgb(color){color=color.slice(1);let re=new RegExp(`.{1,${color.length>=6?2:1}}`,"g"),colors=color.match(re);if(colors&&colors[0].length===1)colors=colors.map((n)=>n+n);if(color.length!==color.trim().length)console.error(`MUI: The color: "${color}" is invalid. Make sure the color input doesn't contain leading/trailing space.`);return colors?`rgb${colors.length===4?"a":""}(${colors.map((n,index)=>index<3?parseInt(n,16):Math.round(parseInt(n,16)/255*1000)/1000).join(", ")})`:""}function decomposeColor(color){if(color.type)return color;if(color.charAt(0)==="#")return decomposeColor(hexToRgb(color));let marker=color.indexOf("("),type=color.substring(0,marker);if(!["rgb","rgba","hsl","hsla","color"].includes(type))throw Error(`MUI: Unsupported \`${color}\` color.
|
|
4
4
|
The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().`);let values=color.substring(marker+1,color.length-1),colorSpace;if(type==="color"){if(values=values.split(" "),colorSpace=values.shift(),values.length===4&&values[3].charAt(0)==="/")values[3]=values[3].slice(1);if(!["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].includes(colorSpace))throw Error(`MUI: unsupported \`${colorSpace}\` color space.
|
|
5
5
|
The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.`)}else values=values.split(",");return values=values.map((value)=>parseFloat(value)),{type,values,colorSpace}}var colorChannel=(color)=>{let decomposedColor=decomposeColor(color);return decomposedColor.values.slice(0,3).map((val,idx)=>decomposedColor.type.includes("hsl")&&idx!==0?`${val}%`:val).join(" ")},private_safeColorChannel=(color,warning)=>{try{return colorChannel(color)}catch(error){if(warning)console.warn(warning);return color}};function recomposeColor(color){let{type,colorSpace}=color,{values}=color;if(type.includes("rgb"))values=values.map((n,i)=>i<3?parseInt(n,10):n);else if(type.includes("hsl"))values[1]=`${values[1]}%`,values[2]=`${values[2]}%`;if(type.includes("color"))values=`${colorSpace} ${values.join(" ")}`;else values=`${values.join(", ")}`;return`${type}(${values})`}function hslToRgb(color){color=decomposeColor(color);let{values}=color,h=values[0],s=values[1]/100,l=values[2]/100,a=s*Math.min(l,1-l),f=(n,k=(n+h/30)%12)=>l-a*Math.max(Math.min(k-3,9-k,1),-1),type="rgb",rgb=[Math.round(f(0)*255),Math.round(f(8)*255),Math.round(f(4)*255)];if(color.type==="hsla")type+="a",rgb.push(values[3]);return recomposeColor({type,values:rgb})}function getLuminance(color){color=decomposeColor(color);let rgb=color.type==="hsl"||color.type==="hsla"?decomposeColor(hslToRgb(color)).values:color.values;return rgb=rgb.map((val)=>{if(color.type!=="color")val/=255;return val<=0.03928?val/12.92:((val+0.055)/1.055)**2.4}),Number((0.2126*rgb[0]+0.7152*rgb[1]+0.0722*rgb[2]).toFixed(3))}function getContrastRatio(foreground,background){let lumA=getLuminance(foreground),lumB=getLuminance(background);return(Math.max(lumA,lumB)+0.05)/(Math.min(lumA,lumB)+0.05)}function alpha(color,value){if(color=decomposeColor(color),value=clampWrapper(value),color.type==="rgb"||color.type==="hsl")color.type+="a";if(color.type==="color")color.values[3]=`/${value}`;else color.values[3]=value;return recomposeColor(color)}function private_safeAlpha(color,value,warning){try{return alpha(color,value)}catch(error){if(warning)console.warn(warning);return color}}function darken(color,coefficient){if(color=decomposeColor(color),coefficient=clampWrapper(coefficient),color.type.includes("hsl"))color.values[2]*=1-coefficient;else if(color.type.includes("rgb")||color.type.includes("color"))for(let i=0;i<3;i+=1)color.values[i]*=1-coefficient;return recomposeColor(color)}function private_safeDarken(color,coefficient,warning){try{return darken(color,coefficient)}catch(error){if(warning)console.warn(warning);return color}}function lighten(color,coefficient){if(color=decomposeColor(color),coefficient=clampWrapper(coefficient),color.type.includes("hsl"))color.values[2]+=(100-color.values[2])*coefficient;else if(color.type.includes("rgb"))for(let i=0;i<3;i+=1)color.values[i]+=(255-color.values[i])*coefficient;else if(color.type.includes("color"))for(let i=0;i<3;i+=1)color.values[i]+=(1-color.values[i])*coefficient;return recomposeColor(color)}function private_safeLighten(color,coefficient,warning){try{return lighten(color,coefficient)}catch(error){if(warning)console.warn(warning);return color}}function emphasize(color,coefficient=0.15){return getLuminance(color)>0.5?darken(color,coefficient):lighten(color,coefficient)}function private_safeEmphasize(color,coefficient,warning){try{return emphasize(color,coefficient)}catch(error){if(warning)console.warn(warning);return color}}var React27=__toESM(require_react_development());function capitalize(string){if(typeof string!=="string")throw Error("MUI: `capitalize(string)` expects a string argument.");return string.charAt(0).toUpperCase()+string.slice(1)}var React=__toESM(require_react_development()),import_react_is=__toESM(require_react_is_development2());function isPlainObject(item){if(typeof item!=="object"||item===null)return!1;let prototype=Object.getPrototypeOf(item);return(prototype===null||prototype===Object.prototype||Object.getPrototypeOf(prototype)===null)&&!(Symbol.toStringTag in item)&&!(Symbol.iterator in item)}function deepClone(source){if(React.isValidElement(source)||import_react_is.isValidElementType(source)||!isPlainObject(source))return source;let output={};return Object.keys(source).forEach((key)=>{output[key]=deepClone(source[key])}),output}function deepmerge(target,source,options={clone:!0}){let output=options.clone?{...target}:target;if(isPlainObject(target)&&isPlainObject(source))Object.keys(source).forEach((key)=>{if(React.isValidElement(source[key])||import_react_is.isValidElementType(source[key]))output[key]=source[key];else if(isPlainObject(source[key])&&Object.prototype.hasOwnProperty.call(target,key)&&isPlainObject(target[key]))output[key]=deepmerge(target[key],source[key],options);else if(options.clone)output[key]=isPlainObject(source[key])?deepClone(source[key]):source[key];else output[key]=source[key]});return output}function merge(acc,item){if(!item)return acc;return deepmerge(acc,item,{clone:!1})}var merge_default=merge;var import_prop_types=__toESM(require_prop_types()),responsivePropType=import_prop_types.default.oneOfType([import_prop_types.default.number,import_prop_types.default.string,import_prop_types.default.object,import_prop_types.default.array]),responsivePropType_default=responsivePropType;function sortContainerQueries(theme,css){if(!theme.containerQueries)return css;let sorted=Object.keys(css).filter((key)=>key.startsWith("@container")).sort((a,b)=>{let regex=/min-width:\s*([0-9.]+)/;return+(a.match(regex)?.[1]||0)-+(b.match(regex)?.[1]||0)});if(!sorted.length)return css;return sorted.reduce((acc,key)=>{let value=css[key];return delete acc[key],acc[key]=value,acc},{...css})}function isCqShorthand(breakpointKeys,value){return value==="@"||value.startsWith("@")&&(breakpointKeys.some((key)=>value.startsWith(`@${key}`))||!!value.match(/^@\d/))}function getContainerQuery(theme,shorthand){let matches=shorthand.match(/^@([^/]+)?\/?(.+)?$/);if(!matches)throw Error(`MUI: The provided shorthand ${`(${shorthand})`} is invalid. The format should be \`@<breakpoint | number>\` or \`@<breakpoint | number>/<container>\`.
|
|
@@ -7,7 +7,7 @@ For example, \`@sm\` or \`@600\` or \`@40rem/sidebar\`.`);let[,containerQuery,co
|
|
|
7
7
|
`));else if(abs>themeSpacing.length-1)console.error([`MUI: The value provided (${abs}) overflows.`,`The supported values are: ${JSON.stringify(themeSpacing)}.`,`${abs} > ${themeSpacing.length-1}, you need to add the missing values.`].join(`
|
|
8
8
|
`));let transformed=themeSpacing[abs];if(val>=0)return transformed;if(typeof transformed==="number")return-transformed;return`-${transformed}`};if(typeof themeSpacing==="function")return themeSpacing;return console.error([`MUI: The \`theme.${themeKey}\` value (${themeSpacing}) is invalid.`,"It should be a number, an array or a function."].join(`
|
|
9
9
|
`)),()=>{return}}function createUnarySpacing(theme){return createUnaryUnit(theme,"spacing",8,"spacing")}function getValue(transformer,propValue){if(typeof propValue==="string"||propValue==null)return propValue;return transformer(propValue)}function getStyleFromPropValue(cssProperties,transformer){return(propValue)=>cssProperties.reduce((acc,cssProperty)=>(acc[cssProperty]=getValue(transformer,propValue),acc),{})}function resolveCssProperty(props,keys,prop,transformer){if(!keys.includes(prop))return null;let cssProperties=getCssProperties(prop),styleFromPropValue=getStyleFromPropValue(cssProperties,transformer),propValue=props[prop];return handleBreakpoints(props,propValue,styleFromPropValue)}function style3(props,keys){let transformer=createUnarySpacing(props.theme);return Object.keys(props).map((prop)=>resolveCssProperty(props,keys,prop,transformer)).reduce(merge_default,{})}function margin(props){return style3(props,marginKeys)}margin.propTypes=marginKeys.reduce((obj,key)=>(obj[key]=responsivePropType_default,obj),{});margin.filterProps=marginKeys;function padding(props){return style3(props,paddingKeys)}padding.propTypes=paddingKeys.reduce((obj,key)=>(obj[key]=responsivePropType_default,obj),{});padding.filterProps=paddingKeys;function spacing(props){return style3(props,spacingKeys)}spacing.propTypes=spacingKeys.reduce((obj,key)=>(obj[key]=responsivePropType_default,obj),{});spacing.filterProps=spacingKeys;function compose(...styles){let handlers=styles.reduce((acc,style)=>(style.filterProps.forEach((prop)=>{acc[prop]=style}),acc),{}),fn=(props)=>Object.keys(props).reduce((acc,prop)=>{if(handlers[prop])return merge_default(acc,handlers[prop](props));return acc},{});return fn.propTypes=styles.reduce((acc,style)=>Object.assign(acc,style.propTypes),{}),fn.filterProps=styles.reduce((acc,style)=>acc.concat(style.filterProps),[]),fn}var compose_default=compose;function borderTransform(value){if(typeof value!=="number")return value;return`${value}px solid`}function createBorderStyle(prop,transform){return style_default({prop,themeKey:"borders",transform})}var border=createBorderStyle("border",borderTransform),borderTop=createBorderStyle("borderTop",borderTransform),borderRight=createBorderStyle("borderRight",borderTransform),borderBottom=createBorderStyle("borderBottom",borderTransform),borderLeft=createBorderStyle("borderLeft",borderTransform),borderColor=createBorderStyle("borderColor"),borderTopColor=createBorderStyle("borderTopColor"),borderRightColor=createBorderStyle("borderRightColor"),borderBottomColor=createBorderStyle("borderBottomColor"),borderLeftColor=createBorderStyle("borderLeftColor"),outline=createBorderStyle("outline",borderTransform),outlineColor=createBorderStyle("outlineColor"),borderRadius=(props)=>{if(props.borderRadius!==void 0&&props.borderRadius!==null){let transformer=createUnaryUnit(props.theme,"shape.borderRadius",4,"borderRadius"),styleFromPropValue=(propValue)=>({borderRadius:getValue(transformer,propValue)});return handleBreakpoints(props,props.borderRadius,styleFromPropValue)}return null};borderRadius.propTypes={borderRadius:responsivePropType_default};borderRadius.filterProps=["borderRadius"];var borders=compose_default(border,borderTop,borderRight,borderBottom,borderLeft,borderColor,borderTopColor,borderRightColor,borderBottomColor,borderLeftColor,borderRadius,outline,outlineColor);var gap=(props)=>{if(props.gap!==void 0&&props.gap!==null){let transformer=createUnaryUnit(props.theme,"spacing",8,"gap"),styleFromPropValue=(propValue)=>({gap:getValue(transformer,propValue)});return handleBreakpoints(props,props.gap,styleFromPropValue)}return null};gap.propTypes={gap:responsivePropType_default};gap.filterProps=["gap"];var columnGap=(props)=>{if(props.columnGap!==void 0&&props.columnGap!==null){let transformer=createUnaryUnit(props.theme,"spacing",8,"columnGap"),styleFromPropValue=(propValue)=>({columnGap:getValue(transformer,propValue)});return handleBreakpoints(props,props.columnGap,styleFromPropValue)}return null};columnGap.propTypes={columnGap:responsivePropType_default};columnGap.filterProps=["columnGap"];var rowGap=(props)=>{if(props.rowGap!==void 0&&props.rowGap!==null){let transformer=createUnaryUnit(props.theme,"spacing",8,"rowGap"),styleFromPropValue=(propValue)=>({rowGap:getValue(transformer,propValue)});return handleBreakpoints(props,props.rowGap,styleFromPropValue)}return null};rowGap.propTypes={rowGap:responsivePropType_default};rowGap.filterProps=["rowGap"];var gridColumn=style_default({prop:"gridColumn"}),gridRow=style_default({prop:"gridRow"}),gridAutoFlow=style_default({prop:"gridAutoFlow"}),gridAutoColumns=style_default({prop:"gridAutoColumns"}),gridAutoRows=style_default({prop:"gridAutoRows"}),gridTemplateColumns=style_default({prop:"gridTemplateColumns"}),gridTemplateRows=style_default({prop:"gridTemplateRows"}),gridTemplateAreas=style_default({prop:"gridTemplateAreas"}),gridArea=style_default({prop:"gridArea"}),grid=compose_default(gap,columnGap,rowGap,gridColumn,gridRow,gridAutoFlow,gridAutoColumns,gridAutoRows,gridTemplateColumns,gridTemplateRows,gridTemplateAreas,gridArea);function paletteTransform(value,userValue){if(userValue==="grey")return userValue;return value}var color=style_default({prop:"color",themeKey:"palette",transform:paletteTransform}),bgcolor=style_default({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:paletteTransform}),backgroundColor=style_default({prop:"backgroundColor",themeKey:"palette",transform:paletteTransform}),palette=compose_default(color,bgcolor,backgroundColor);function sizingTransform(value){return value<=1&&value!==0?`${value*100}%`:value}var width=style_default({prop:"width",transform:sizingTransform}),maxWidth=(props)=>{if(props.maxWidth!==void 0&&props.maxWidth!==null){let styleFromPropValue=(propValue)=>{let breakpoint=props.theme?.breakpoints?.values?.[propValue]||values[propValue];if(!breakpoint)return{maxWidth:sizingTransform(propValue)};if(props.theme?.breakpoints?.unit!=="px")return{maxWidth:`${breakpoint}${props.theme.breakpoints.unit}`};return{maxWidth:breakpoint}};return handleBreakpoints(props,props.maxWidth,styleFromPropValue)}return null};maxWidth.filterProps=["maxWidth"];var minWidth=style_default({prop:"minWidth",transform:sizingTransform}),height=style_default({prop:"height",transform:sizingTransform}),maxHeight=style_default({prop:"maxHeight",transform:sizingTransform}),minHeight=style_default({prop:"minHeight",transform:sizingTransform}),sizeWidth=style_default({prop:"size",cssProperty:"width",transform:sizingTransform}),sizeHeight=style_default({prop:"size",cssProperty:"height",transform:sizingTransform}),boxSizing=style_default({prop:"boxSizing"}),sizing=compose_default(width,maxWidth,minWidth,height,maxHeight,minHeight,boxSizing);var defaultSxConfig={border:{themeKey:"borders",transform:borderTransform},borderTop:{themeKey:"borders",transform:borderTransform},borderRight:{themeKey:"borders",transform:borderTransform},borderBottom:{themeKey:"borders",transform:borderTransform},borderLeft:{themeKey:"borders",transform:borderTransform},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:borderTransform},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:borderRadius},color:{themeKey:"palette",transform:paletteTransform},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:paletteTransform},backgroundColor:{themeKey:"palette",transform:paletteTransform},p:{style:padding},pt:{style:padding},pr:{style:padding},pb:{style:padding},pl:{style:padding},px:{style:padding},py:{style:padding},padding:{style:padding},paddingTop:{style:padding},paddingRight:{style:padding},paddingBottom:{style:padding},paddingLeft:{style:padding},paddingX:{style:padding},paddingY:{style:padding},paddingInline:{style:padding},paddingInlineStart:{style:padding},paddingInlineEnd:{style:padding},paddingBlock:{style:padding},paddingBlockStart:{style:padding},paddingBlockEnd:{style:padding},m:{style:margin},mt:{style:margin},mr:{style:margin},mb:{style:margin},ml:{style:margin},mx:{style:margin},my:{style:margin},margin:{style:margin},marginTop:{style:margin},marginRight:{style:margin},marginBottom:{style:margin},marginLeft:{style:margin},marginX:{style:margin},marginY:{style:margin},marginInline:{style:margin},marginInlineStart:{style:margin},marginInlineEnd:{style:margin},marginBlock:{style:margin},marginBlockStart:{style:margin},marginBlockEnd:{style:margin},displayPrint:{cssProperty:!1,transform:(value)=>({"@media print":{display:value}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:gap},rowGap:{style:rowGap},columnGap:{style:columnGap},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:sizingTransform},maxWidth:{style:maxWidth},minWidth:{transform:sizingTransform},height:{transform:sizingTransform},maxHeight:{transform:sizingTransform},minHeight:{transform:sizingTransform},boxSizing:{},font:{themeKey:"font"},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}},defaultSxConfig_default=defaultSxConfig;function objectsHaveSameKeys(...objects){let allKeys=objects.reduce((keys,object)=>keys.concat(Object.keys(object)),[]),union=new Set(allKeys);return objects.every((object)=>union.size===Object.keys(object).length)}function callIfFn(maybeFn,arg){return typeof maybeFn==="function"?maybeFn(arg):maybeFn}function unstable_createStyleFunctionSx(){function getThemeValue(prop,val,theme,config){let props={[prop]:val,theme},options=config[prop];if(!options)return{[prop]:val};let{cssProperty=prop,themeKey,transform,style}=options;if(val==null)return null;if(themeKey==="typography"&&val==="inherit")return{[prop]:val};let themeMapping=getPath(theme,themeKey)||{};if(style)return style(props);return handleBreakpoints(props,val,(propValueFinal)=>{let value=getStyleValue(themeMapping,transform,propValueFinal);if(propValueFinal===value&&typeof propValueFinal==="string")value=getStyleValue(themeMapping,transform,`${prop}${propValueFinal==="default"?"":capitalize(propValueFinal)}`,propValueFinal);if(cssProperty===!1)return value;return{[cssProperty]:value}})}function styleFunctionSx(props){let{sx,theme={},nested}=props||{};if(!sx)return null;let config=theme.unstable_sxConfig??defaultSxConfig_default;function traverse(sxInput){let sxObject=sxInput;if(typeof sxInput==="function")sxObject=sxInput(theme);else if(typeof sxInput!=="object")return sxInput;if(!sxObject)return null;let emptyBreakpoints=createEmptyBreakpointObject(theme.breakpoints),breakpointsKeys=Object.keys(emptyBreakpoints),css=emptyBreakpoints;if(Object.keys(sxObject).forEach((styleKey)=>{let value=callIfFn(sxObject[styleKey],theme);if(value!==null&&value!==void 0)if(typeof value==="object")if(config[styleKey])css=merge_default(css,getThemeValue(styleKey,value,theme,config));else{let breakpointsValues=handleBreakpoints({theme},value,(x)=>({[styleKey]:x}));if(objectsHaveSameKeys(breakpointsValues,value))css[styleKey]=styleFunctionSx({sx:value,theme,nested:!0});else css=merge_default(css,breakpointsValues)}else css=merge_default(css,getThemeValue(styleKey,value,theme,config))}),!nested&&theme.modularCssLayers)return{"@layer sx":sortContainerQueries(theme,removeUnusedBreakpoints(breakpointsKeys,css))};return sortContainerQueries(theme,removeUnusedBreakpoints(breakpointsKeys,css))}return Array.isArray(sx)?sx.map(traverse):traverse(sx)}return styleFunctionSx}var styleFunctionSx=unstable_createStyleFunctionSx();styleFunctionSx.filterProps=["sx"];var styleFunctionSx_default=styleFunctionSx;var splitProps=(props)=>{let result={systemProps:{},otherProps:{}},config=props?.theme?.unstable_sxConfig??defaultSxConfig_default;return Object.keys(props).forEach((prop)=>{if(config[prop])result.systemProps[prop]=props[prop];else result.otherProps[prop]=props[prop]}),result};function extendSxProp(props){let{sx:inSx,...other}=props,{systemProps,otherProps}=splitProps(other),finalSx;if(Array.isArray(inSx))finalSx=[systemProps,...inSx];else if(typeof inSx==="function")finalSx=(...args)=>{let result=inSx(...args);if(!isPlainObject(result))return systemProps;return{...systemProps,...result}};else finalSx={...systemProps,...inSx};return{...otherProps,sx:finalSx}}var React25=__toESM(require_react_development());var import_emotion_serialize_development_cjs=__toESM(require_emotion_serialize_development_cjs(),1);var React2=__toESM(require_react_development()),import_prop_types2=__toESM(require_prop_types());var import_jsx_runtime=__toESM(require_react_jsx_runtime_development());function isEmpty(obj){return obj===void 0||obj===null||Object.keys(obj).length===0}function GlobalStyles(props){let{styles,defaultTheme={}}=props;return import_jsx_runtime.jsx(import_emotion_react_development_cjs.Global,{styles:typeof styles==="function"?(themeInput)=>styles(isEmpty(themeInput)?defaultTheme:themeInput):styles})}GlobalStyles.propTypes={defaultTheme:import_prop_types2.default.object,styles:import_prop_types2.default.oneOfType([import_prop_types2.default.array,import_prop_types2.default.string,import_prop_types2.default.object,import_prop_types2.default.func])};function styled(tag,options){let stylesFactory=$_default(tag,options);return(...styles)=>{let component=typeof tag==="string"?`"${tag}"`:"component";if(styles.length===0)console.error([`MUI: Seems like you called \`styled(${component})()\` without a \`style\` argument.`,'You must provide a `styles` argument: `styled("div")(styleYouForgotToPass)`.'].join(`
|
|
10
|
-
`));else if(styles.some((style)=>style===void 0))console.error(`MUI: the styled(${component})(...args) API requires all its args to be defined.`);return stylesFactory(...styles)}}function internal_mutateStyles(tag,processor){if(Array.isArray(tag.__emotion_styles))tag.__emotion_styles=processor(tag.__emotion_styles)}var wrapper=[];function internal_serializeStyles(styles){return wrapper[0]=styles,import_emotion_serialize_development_cjs.serializeStyles(wrapper)}var React4=__toESM(require_react_development()),import_prop_types3=__toESM(require_prop_types());var sortBreakpointsValues=(values)=>{let breakpointsAsArray=Object.keys(values).map((key)=>({key,val:values[key]}))||[];return breakpointsAsArray.sort((breakpoint1,breakpoint2)=>breakpoint1.val-breakpoint2.val),breakpointsAsArray.reduce((acc,obj)=>({...acc,[obj.key]:obj.val}),{})};function createBreakpoints(breakpoints){let{values={xs:0,sm:600,md:900,lg:1200,xl:1536},unit="px",step=5,...other}=breakpoints,sortedValues=sortBreakpointsValues(values),keys=Object.keys(sortedValues);function up(key){return`@media (min-width:${typeof values[key]==="number"?values[key]:key}${unit})`}function down(key){return`@media (max-width:${(typeof values[key]==="number"?values[key]:key)-step/100}${unit})`}function between(start,end){let endIndex=keys.indexOf(end);return`@media (min-width:${typeof values[start]==="number"?values[start]:start}${unit}) and (max-width:${(endIndex!==-1&&typeof values[keys[endIndex]]==="number"?values[keys[endIndex]]:end)-step/100}${unit})`}function only(key){if(keys.indexOf(key)+1<keys.length)return between(key,keys[keys.indexOf(key)+1]);return up(key)}function not(key){let keyIndex=keys.indexOf(key);if(keyIndex===0)return up(keys[1]);if(keyIndex===keys.length-1)return down(keys[keyIndex]);return between(key,keys[keys.indexOf(key)+1]).replace("@media","@media not all and")}return{keys,values:sortedValues,up,down,between,only,not,unit,...other}}var shape={borderRadius:4},shape_default=shape;function createSpacing(spacingInput=8,transform=createUnarySpacing({spacing:spacingInput})){if(spacingInput.mui)return spacingInput;let spacing=(...argsInput)=>{if(!(argsInput.length<=4))console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${argsInput.length}`);return(argsInput.length===0?[1]:argsInput).map((argument)=>{let output=transform(argument);return typeof output==="number"?`${output}px`:output}).join(" ")};return spacing.mui=!0,spacing}function applyStyles(key,styles){let theme=this;if(theme.vars){if(!theme.colorSchemes?.[key]||typeof theme.getColorSchemeSelector!=="function")return{};let selector=theme.getColorSchemeSelector(key);if(selector==="&")return styles;if(selector.includes("data-")||selector.includes("."))selector=`*:where(${selector.replace(/\s*&$/,"")}) &`;return{[selector]:styles}}if(theme.palette.mode===key)return styles;return{}}function createTheme(options={},...args){let{breakpoints:breakpointsInput={},palette:paletteInput={},spacing:spacingInput,shape:shapeInput={},...other}=options,breakpoints=createBreakpoints(breakpointsInput),spacing=createSpacing(spacingInput),muiTheme=deepmerge({breakpoints,direction:"ltr",components:{},palette:{mode:"light",...paletteInput},spacing,shape:{...shape_default,...shapeInput}},other);return muiTheme=cssContainerQueries(muiTheme),muiTheme.applyStyles=applyStyles,muiTheme=args.reduce((acc,argument)=>deepmerge(acc,argument),muiTheme),muiTheme.unstable_sxConfig={...defaultSxConfig_default,...other?.unstable_sxConfig},muiTheme.unstable_sx=function(props){return styleFunctionSx_default({sx:props,theme:this})},muiTheme}var createTheme_default=createTheme;var React3=__toESM(require_react_development());function isObjectEmpty(obj){return Object.keys(obj).length===0}function useTheme(defaultTheme=null){let contextTheme=React3.useContext(import_emotion_react_development_cjs.ThemeContext);return!contextTheme||isObjectEmpty(contextTheme)?defaultTheme:contextTheme}var useThemeWithoutDefault_default=useTheme;var systemDefaultTheme=createTheme_default();function useTheme2(defaultTheme=systemDefaultTheme){return useThemeWithoutDefault_default(defaultTheme)}var useTheme_default=useTheme2;var import_jsx_runtime2=__toESM(require_react_jsx_runtime_development());function wrapGlobalLayer(styles){let serialized=internal_serializeStyles(styles);if(styles!==serialized&&serialized.styles){if(!serialized.styles.match(/^@layer\s+[^{]*$/))serialized.styles=`@layer global{${serialized.styles}}`;return serialized}return styles}function GlobalStyles2({styles,themeId,defaultTheme={}}){let upperTheme=useTheme_default(defaultTheme),resolvedTheme=themeId?upperTheme[themeId]||upperTheme:upperTheme,globalStyles=typeof styles==="function"?styles(resolvedTheme):styles;if(resolvedTheme.modularCssLayers)if(Array.isArray(globalStyles))globalStyles=globalStyles.map((styleArg)=>{if(typeof styleArg==="function")return wrapGlobalLayer(styleArg(resolvedTheme));return wrapGlobalLayer(styleArg)});else globalStyles=wrapGlobalLayer(globalStyles);return import_jsx_runtime2.jsx(GlobalStyles,{styles:globalStyles})}GlobalStyles2.propTypes={defaultTheme:import_prop_types3.default.object,styles:import_prop_types3.default.oneOfType([import_prop_types3.default.array,import_prop_types3.default.func,import_prop_types3.default.number,import_prop_types3.default.object,import_prop_types3.default.string,import_prop_types3.default.bool]),themeId:import_prop_types3.default.string};var GlobalStyles_default=GlobalStyles2;var defaultGenerator=(componentName)=>componentName,createClassNameGenerator=()=>{let generate=defaultGenerator;return{configure(generator){generate=generator},generate(componentName){return generate(componentName)},reset(){generate=defaultGenerator}}},ClassNameGenerator=createClassNameGenerator(),ClassNameGenerator_default=ClassNameGenerator;var React5=__toESM(require_react_development());import clsx from"clsx";var import_jsx_runtime3=__toESM(require_react_jsx_runtime_development());function createBox(options={}){let{themeId,defaultTheme,defaultClassName="MuiBox-root",generateClassName}=options,BoxRoot=styled("div",{shouldForwardProp:(prop)=>prop!=="theme"&&prop!=="sx"&&prop!=="as"})(styleFunctionSx_default);return React5.forwardRef(function(inProps,ref){let theme=useTheme_default(defaultTheme),{className,component="div",...other}=extendSxProp(inProps);return import_jsx_runtime3.jsx(BoxRoot,{as:component,ref,className:clsx(className,generateClassName?generateClassName(defaultClassName):defaultClassName),theme:themeId?theme[themeId]||theme:theme,...other})})}var globalStateClasses={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function generateUtilityClass(componentName,slot,globalStatePrefix="Mui"){let globalStateClass=globalStateClasses[slot];return globalStateClass?`${globalStatePrefix}-${globalStateClass}`:`${ClassNameGenerator_default.generate(componentName)}-${slot}`}function generateUtilityClasses(componentName,slots,globalStatePrefix="Mui"){let result={};return slots.forEach((slot)=>{result[slot]=generateUtilityClass(componentName,slot,globalStatePrefix)}),result}var import_react_is2=__toESM(require_react_is_development2());function getFunctionComponentName(Component,fallback=""){return Component.displayName||Component.name||fallback}function getWrappedName(outerType,innerType,wrapperName){let functionName=getFunctionComponentName(innerType);return outerType.displayName||(functionName!==""?`${wrapperName}(${functionName})`:wrapperName)}function getDisplayName(Component){if(Component==null)return;if(typeof Component==="string")return Component;if(typeof Component==="function")return getFunctionComponentName(Component,"Component");if(typeof Component==="object")switch(Component.$$typeof){case import_react_is2.ForwardRef:return getWrappedName(Component,Component.render,"ForwardRef");case import_react_is2.Memo:return getWrappedName(Component,Component.type,"memo");default:return}return}function preprocessStyles(input){let{variants,...style}=input,result={variants,style:internal_serializeStyles(style),isProcessed:!0};if(result.style===style)return result;if(variants)variants.forEach((variant)=>{if(typeof variant.style!=="function")variant.style=internal_serializeStyles(variant.style)});return result}var systemDefaultTheme2=createTheme_default();function shouldForwardProp(prop){return prop!=="ownerState"&&prop!=="theme"&&prop!=="sx"&&prop!=="as"}function shallowLayer(serialized,layerName){if(layerName&&serialized&&typeof serialized==="object"&&serialized.styles&&!serialized.styles.startsWith("@layer"))serialized.styles=`@layer ${layerName}{${String(serialized.styles)}}`;return serialized}function defaultOverridesResolver(slot){if(!slot)return null;return(_props,styles)=>styles[slot]}function attachTheme(props,themeId,defaultTheme){props.theme=isObjectEmpty2(props.theme)?defaultTheme:props.theme[themeId]||props.theme}function processStyle(props,style,layerName){let resolvedStyle=typeof style==="function"?style(props):style;if(Array.isArray(resolvedStyle))return resolvedStyle.flatMap((subStyle)=>processStyle(props,subStyle,layerName));if(Array.isArray(resolvedStyle?.variants)){let rootStyle;if(resolvedStyle.isProcessed)rootStyle=layerName?shallowLayer(resolvedStyle.style,layerName):resolvedStyle.style;else{let{variants,...otherStyles}=resolvedStyle;rootStyle=layerName?shallowLayer(internal_serializeStyles(otherStyles),layerName):otherStyles}return processStyleVariants(props,resolvedStyle.variants,[rootStyle],layerName)}if(resolvedStyle?.isProcessed)return layerName?shallowLayer(internal_serializeStyles(resolvedStyle.style),layerName):resolvedStyle.style;return layerName?shallowLayer(internal_serializeStyles(resolvedStyle),layerName):resolvedStyle}function processStyleVariants(props,variants,results=[],layerName=void 0){let mergedState;variantLoop:for(let i=0;i<variants.length;i+=1){let variant=variants[i];if(typeof variant.props==="function"){if(mergedState??={...props,...props.ownerState,ownerState:props.ownerState},!variant.props(mergedState))continue}else for(let key in variant.props)if(props[key]!==variant.props[key]&&props.ownerState?.[key]!==variant.props[key])continue variantLoop;if(typeof variant.style==="function")mergedState??={...props,...props.ownerState,ownerState:props.ownerState},results.push(layerName?shallowLayer(internal_serializeStyles(variant.style(mergedState)),layerName):variant.style(mergedState));else results.push(layerName?shallowLayer(internal_serializeStyles(variant.style),layerName):variant.style)}return results}function createStyled(input={}){let{themeId,defaultTheme=systemDefaultTheme2,rootShouldForwardProp=shouldForwardProp,slotShouldForwardProp=shouldForwardProp}=input;function styleAttachTheme(props){attachTheme(props,themeId,defaultTheme)}return(tag,inputOptions={})=>{internal_mutateStyles(tag,(styles)=>styles.filter((style)=>style!==styleFunctionSx_default));let{name:componentName,slot:componentSlot,skipVariantsResolver:inputSkipVariantsResolver,skipSx:inputSkipSx,overridesResolver=defaultOverridesResolver(lowercaseFirstLetter(componentSlot)),...options}=inputOptions,layerName=componentName&&componentName.startsWith("Mui")||!!componentSlot?"components":"custom",skipVariantsResolver=inputSkipVariantsResolver!==void 0?inputSkipVariantsResolver:componentSlot&&componentSlot!=="Root"&&componentSlot!=="root"||!1,skipSx=inputSkipSx||!1,shouldForwardPropOption=shouldForwardProp;if(componentSlot==="Root"||componentSlot==="root")shouldForwardPropOption=rootShouldForwardProp;else if(componentSlot)shouldForwardPropOption=slotShouldForwardProp;else if(isStringTag(tag))shouldForwardPropOption=void 0;let defaultStyledResolver=styled(tag,{shouldForwardProp:shouldForwardPropOption,label:generateStyledLabel(componentName,componentSlot),...options}),transformStyle=(style)=>{if(style.__emotion_real===style)return style;if(typeof style==="function")return function(props){return processStyle(props,style,props.theme.modularCssLayers?layerName:void 0)};if(isPlainObject(style)){let serialized=preprocessStyles(style);return function(props){if(!serialized.variants)return props.theme.modularCssLayers?shallowLayer(serialized.style,layerName):serialized.style;return processStyle(props,serialized,props.theme.modularCssLayers?layerName:void 0)}}return style},muiStyledResolver=(...expressionsInput)=>{let expressionsHead=[],expressionsBody=expressionsInput.map(transformStyle),expressionsTail=[];if(expressionsHead.push(styleAttachTheme),componentName&&overridesResolver)expressionsTail.push(function(props){let styleOverrides=props.theme.components?.[componentName]?.styleOverrides;if(!styleOverrides)return null;let resolvedStyleOverrides={};for(let slotKey in styleOverrides)resolvedStyleOverrides[slotKey]=processStyle(props,styleOverrides[slotKey],props.theme.modularCssLayers?"theme":void 0);return overridesResolver(props,resolvedStyleOverrides)});if(componentName&&!skipVariantsResolver)expressionsTail.push(function(props){let themeVariants=props.theme?.components?.[componentName]?.variants;if(!themeVariants)return null;return processStyleVariants(props,themeVariants,[],props.theme.modularCssLayers?"theme":void 0)});if(!skipSx)expressionsTail.push(styleFunctionSx_default);if(Array.isArray(expressionsBody[0])){let inputStrings=expressionsBody.shift(),placeholdersHead=Array(expressionsHead.length).fill(""),placeholdersTail=Array(expressionsTail.length).fill(""),outputStrings;outputStrings=[...placeholdersHead,...inputStrings,...placeholdersTail],outputStrings.raw=[...placeholdersHead,...inputStrings.raw,...placeholdersTail],expressionsHead.unshift(outputStrings)}let expressions=[...expressionsHead,...expressionsBody,...expressionsTail],Component=defaultStyledResolver(...expressions);if(tag.muiName)Component.muiName=tag.muiName;return Component.displayName=generateDisplayName(componentName,componentSlot,tag),Component};if(defaultStyledResolver.withConfig)muiStyledResolver.withConfig=defaultStyledResolver.withConfig;return muiStyledResolver}}function generateDisplayName(componentName,componentSlot,tag){if(componentName)return`${componentName}${capitalize(componentSlot||"")}`;return`Styled(${getDisplayName(tag)})`}function generateStyledLabel(componentName,componentSlot){let label;if(componentName)label=`${componentName}-${lowercaseFirstLetter(componentSlot||"Root")}`;return label}function isObjectEmpty2(object){for(let _ in object)return!1;return!0}function isStringTag(tag){return typeof tag==="string"&&tag.charCodeAt(0)>96}function lowercaseFirstLetter(string){if(!string)return string;return string.charAt(0).toLowerCase()+string.slice(1)}var styled2=createStyled(),styled_default=styled2;function resolveProps(defaultProps,props){let output={...props};for(let key in defaultProps)if(Object.prototype.hasOwnProperty.call(defaultProps,key)){let propName=key;if(propName==="components"||propName==="slots")output[propName]={...defaultProps[propName],...output[propName]};else if(propName==="componentsProps"||propName==="slotProps"){let defaultSlotProps=defaultProps[propName],slotProps=props[propName];if(!slotProps)output[propName]=defaultSlotProps||{};else if(!defaultSlotProps)output[propName]=slotProps;else{output[propName]={...slotProps};for(let slotKey in defaultSlotProps)if(Object.prototype.hasOwnProperty.call(defaultSlotProps,slotKey)){let slotPropName=slotKey;output[propName][slotPropName]=resolveProps(defaultSlotProps[slotPropName],slotProps[slotPropName])}}}else if(output[propName]===void 0)output[propName]=defaultProps[propName]}return output}function getThemeProps(params){let{theme,name,props}=params;if(!theme||!theme.components||!theme.components[name]||!theme.components[name].defaultProps)return props;return resolveProps(theme.components[name].defaultProps,props)}function useThemeProps({props,name,defaultTheme,themeId}){let theme=useTheme_default(defaultTheme);if(themeId)theme=theme[themeId]||theme;return getThemeProps({theme,name,props})}var React6=__toESM(require_react_development()),useEnhancedEffect=typeof window<"u"?React6.useLayoutEffect:React6.useEffect,useEnhancedEffect_default=useEnhancedEffect;var React18=__toESM(require_react_development()),import_prop_types9=__toESM(require_prop_types());var React13=__toESM(require_react_development()),import_prop_types6=__toESM(require_prop_types());function chainPropTypes(propType1,propType2){return function(...args){return propType1(...args)||propType2(...args)}}var import_prop_types4=__toESM(require_prop_types());function isClassComponent(elementType){let{prototype={}}=elementType;return Boolean(prototype.isReactComponent)}function acceptingRef(props,propName,componentName,location,propFullName){let element=props[propName],safePropName=propFullName||propName;if(element==null||typeof window>"u")return null;let warningHint,elementType=element.type;if(typeof elementType==="function"&&!isClassComponent(elementType))warningHint="Did you accidentally use a plain function component for an element instead?";if(warningHint!==void 0)return Error(`Invalid ${location} \`${safePropName}\` supplied to \`${componentName}\`. Expected an element that can hold a ref. ${warningHint} For more information see https://mui.com/r/caveat-with-refs-guide`);return null}var elementAcceptingRef=chainPropTypes(import_prop_types4.default.element,acceptingRef);elementAcceptingRef.isRequired=chainPropTypes(import_prop_types4.default.element.isRequired,acceptingRef);var elementAcceptingRef_default=elementAcceptingRef;function exactProp(propTypes){return{...propTypes,["exact-prop: \u200B"]:(props)=>{let unsupportedProps=Object.keys(props).filter((prop)=>!propTypes.hasOwnProperty(prop));if(unsupportedProps.length>0)return Error(`The following props are not supported: ${unsupportedProps.map((prop)=>`\`${prop}\``).join(", ")}. Please remove them.`);return null}}}function HTMLElementType(props,propName,componentName,location,propFullName){let propValue=props[propName],safePropName=propFullName||propName;if(propValue==null)return null;if(propValue&&propValue.nodeType!==1)return Error(`Invalid ${location} \`${safePropName}\` supplied to \`${componentName}\`. Expected an HTMLElement.`);return null}var import_prop_types5=__toESM(require_prop_types()),refType=import_prop_types5.default.oneOfType([import_prop_types5.default.func,import_prop_types5.default.object]),refType_default=refType;function createChainedFunction(...funcs){return funcs.reduce((acc,func)=>{if(func==null)return acc;return function(...args){acc.apply(this,args),func.apply(this,args)}},()=>{})}function debounce(func,wait=166){let timeout;function debounced(...args){let later=()=>{func.apply(this,args)};clearTimeout(timeout),timeout=setTimeout(later,wait)}return debounced.clear=()=>{clearTimeout(timeout)},debounced}function ownerDocument(node){return node&&node.ownerDocument||document}function ownerWindow(node){return ownerDocument(node).defaultView||window}function setRef(ref,value){if(typeof ref==="function")ref(value);else if(ref)ref.current=value}var React7=__toESM(require_react_development());function useEventCallback(fn){let ref=React7.useRef(fn);return useEnhancedEffect_default(()=>{ref.current=fn}),React7.useRef((...args)=>(0,ref.current)(...args)).current}var useEventCallback_default=useEventCallback;var React8=__toESM(require_react_development());function useForkRef(...refs){let cleanupRef=React8.useRef(void 0),refEffect=React8.useCallback((instance)=>{let cleanups=refs.map((ref)=>{if(ref==null)return null;if(typeof ref==="function"){let refCallback=ref,refCleanup=refCallback(instance);return typeof refCleanup==="function"?refCleanup:()=>{refCallback(null)}}return ref.current=instance,()=>{ref.current=null}});return()=>{cleanups.forEach((refCleanup)=>refCleanup?.())}},refs);return React8.useMemo(()=>{if(refs.every((ref)=>ref==null))return null;return(value)=>{if(cleanupRef.current)cleanupRef.current(),cleanupRef.current=void 0;if(value!=null)cleanupRef.current=refEffect(value)}},refs)}function getScrollbarSize(win=window){let documentWidth=win.document.documentElement.clientWidth;return win.innerWidth-documentWidth}var React9=__toESM(require_react_development()),usePreviousProps=(value)=>{let ref=React9.useRef({});return React9.useEffect(()=>{ref.current=value}),ref.current},usePreviousProps_default=usePreviousProps;var React10=__toESM(require_react_development());function getReactElementRef(element){if(parseInt(React10.version,10)>=19)return element?.props?.ref||null;return element?.ref||null}var React11=__toESM(require_react_development()),ThemeContext2=React11.createContext(null);ThemeContext2.displayName="ThemeContext";var ThemeContext_default=ThemeContext2;var React12=__toESM(require_react_development());function useTheme4(){let theme=React12.useContext(ThemeContext_default);return React12.useDebugValue(theme),theme}var hasSymbol=typeof Symbol==="function"&&Symbol.for,nested_default=hasSymbol?Symbol.for("mui.nested"):"__THEME_NESTED__";var import_jsx_runtime4=__toESM(require_react_jsx_runtime_development());function mergeOuterLocalTheme(outerTheme,localTheme){if(typeof localTheme==="function"){let mergedTheme=localTheme(outerTheme);if(!mergedTheme)console.error(["MUI: You should return an object from your theme function, i.e.","<ThemeProvider theme={() => ({})} />"].join(`
|
|
10
|
+
`));else if(styles.some((style)=>style===void 0))console.error(`MUI: the styled(${component})(...args) API requires all its args to be defined.`);return stylesFactory(...styles)}}function internal_mutateStyles(tag,processor){if(Array.isArray(tag.__emotion_styles))tag.__emotion_styles=processor(tag.__emotion_styles)}var wrapper=[];function internal_serializeStyles(styles){return wrapper[0]=styles,import_emotion_serialize_development_cjs.serializeStyles(wrapper)}var React4=__toESM(require_react_development()),import_prop_types3=__toESM(require_prop_types());var sortBreakpointsValues=(values)=>{let breakpointsAsArray=Object.keys(values).map((key)=>({key,val:values[key]}))||[];return breakpointsAsArray.sort((breakpoint1,breakpoint2)=>breakpoint1.val-breakpoint2.val),breakpointsAsArray.reduce((acc,obj)=>({...acc,[obj.key]:obj.val}),{})};function createBreakpoints(breakpoints){let{values={xs:0,sm:600,md:900,lg:1200,xl:1536},unit="px",step=5,...other}=breakpoints,sortedValues=sortBreakpointsValues(values),keys=Object.keys(sortedValues);function up(key){return`@media (min-width:${typeof values[key]==="number"?values[key]:key}${unit})`}function down(key){return`@media (max-width:${(typeof values[key]==="number"?values[key]:key)-step/100}${unit})`}function between(start,end){let endIndex=keys.indexOf(end);return`@media (min-width:${typeof values[start]==="number"?values[start]:start}${unit}) and (max-width:${(endIndex!==-1&&typeof values[keys[endIndex]]==="number"?values[keys[endIndex]]:end)-step/100}${unit})`}function only(key){if(keys.indexOf(key)+1<keys.length)return between(key,keys[keys.indexOf(key)+1]);return up(key)}function not(key){let keyIndex=keys.indexOf(key);if(keyIndex===0)return up(keys[1]);if(keyIndex===keys.length-1)return down(keys[keyIndex]);return between(key,keys[keys.indexOf(key)+1]).replace("@media","@media not all and")}return{keys,values:sortedValues,up,down,between,only,not,unit,...other}}var shape={borderRadius:4},shape_default=shape;function createSpacing(spacingInput=8,transform=createUnarySpacing({spacing:spacingInput})){if(spacingInput.mui)return spacingInput;let spacing=(...argsInput)=>{if(!(argsInput.length<=4))console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${argsInput.length}`);return(argsInput.length===0?[1]:argsInput).map((argument)=>{let output=transform(argument);return typeof output==="number"?`${output}px`:output}).join(" ")};return spacing.mui=!0,spacing}function applyStyles(key,styles){let theme=this;if(theme.vars){if(!theme.colorSchemes?.[key]||typeof theme.getColorSchemeSelector!=="function")return{};let selector=theme.getColorSchemeSelector(key);if(selector==="&")return styles;if(selector.includes("data-")||selector.includes("."))selector=`*:where(${selector.replace(/\s*&$/,"")}) &`;return{[selector]:styles}}if(theme.palette.mode===key)return styles;return{}}function createTheme(options={},...args){let{breakpoints:breakpointsInput={},palette:paletteInput={},spacing:spacingInput,shape:shapeInput={},...other}=options,breakpoints=createBreakpoints(breakpointsInput),spacing=createSpacing(spacingInput),muiTheme=deepmerge({breakpoints,direction:"ltr",components:{},palette:{mode:"light",...paletteInput},spacing,shape:{...shape_default,...shapeInput}},other);return muiTheme=cssContainerQueries(muiTheme),muiTheme.applyStyles=applyStyles,muiTheme=args.reduce((acc,argument)=>deepmerge(acc,argument),muiTheme),muiTheme.unstable_sxConfig={...defaultSxConfig_default,...other?.unstable_sxConfig},muiTheme.unstable_sx=function(props){return styleFunctionSx_default({sx:props,theme:this})},muiTheme}var createTheme_default=createTheme;var React3=__toESM(require_react_development());function isObjectEmpty(obj){return Object.keys(obj).length===0}function useTheme(defaultTheme=null){let contextTheme=React3.useContext(import_emotion_react_development_cjs.ThemeContext);return!contextTheme||isObjectEmpty(contextTheme)?defaultTheme:contextTheme}var useThemeWithoutDefault_default=useTheme;var systemDefaultTheme=createTheme_default();function useTheme2(defaultTheme=systemDefaultTheme){return useThemeWithoutDefault_default(defaultTheme)}var useTheme_default=useTheme2;var import_jsx_runtime2=__toESM(require_react_jsx_runtime_development());function wrapGlobalLayer(styles){let serialized=internal_serializeStyles(styles);if(styles!==serialized&&serialized.styles){if(!serialized.styles.match(/^@layer\s+[^{]*$/))serialized.styles=`@layer global{${serialized.styles}}`;return serialized}return styles}function GlobalStyles2({styles,themeId,defaultTheme={}}){let upperTheme=useTheme_default(defaultTheme),resolvedTheme=themeId?upperTheme[themeId]||upperTheme:upperTheme,globalStyles=typeof styles==="function"?styles(resolvedTheme):styles;if(resolvedTheme.modularCssLayers)if(Array.isArray(globalStyles))globalStyles=globalStyles.map((styleArg)=>{if(typeof styleArg==="function")return wrapGlobalLayer(styleArg(resolvedTheme));return wrapGlobalLayer(styleArg)});else globalStyles=wrapGlobalLayer(globalStyles);return import_jsx_runtime2.jsx(GlobalStyles,{styles:globalStyles})}GlobalStyles2.propTypes={defaultTheme:import_prop_types3.default.object,styles:import_prop_types3.default.oneOfType([import_prop_types3.default.array,import_prop_types3.default.func,import_prop_types3.default.number,import_prop_types3.default.object,import_prop_types3.default.string,import_prop_types3.default.bool]),themeId:import_prop_types3.default.string};var GlobalStyles_default=GlobalStyles2;var defaultGenerator=(componentName)=>componentName,createClassNameGenerator=()=>{let generate=defaultGenerator;return{configure(generator){generate=generator},generate(componentName){return generate(componentName)},reset(){generate=defaultGenerator}}},ClassNameGenerator=createClassNameGenerator(),ClassNameGenerator_default=ClassNameGenerator;var React5=__toESM(require_react_development());import clsx from"clsx";var import_jsx_runtime3=__toESM(require_react_jsx_runtime_development());function createBox(options={}){let{themeId,defaultTheme,defaultClassName="MuiBox-root",generateClassName}=options,BoxRoot=styled("div",{shouldForwardProp:(prop)=>prop!=="theme"&&prop!=="sx"&&prop!=="as"})(styleFunctionSx_default);return React5.forwardRef(function(inProps,ref){let theme=useTheme_default(defaultTheme),{className,component="div",...other}=extendSxProp(inProps);return import_jsx_runtime3.jsx(BoxRoot,{as:component,ref,className:clsx(className,generateClassName?generateClassName(defaultClassName):defaultClassName),theme:themeId?theme[themeId]||theme:theme,...other})})}var globalStateClasses={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function generateUtilityClass(componentName,slot,globalStatePrefix="Mui"){let globalStateClass=globalStateClasses[slot];return globalStateClass?`${globalStatePrefix}-${globalStateClass}`:`${ClassNameGenerator_default.generate(componentName)}-${slot}`}function generateUtilityClasses(componentName,slots,globalStatePrefix="Mui"){let result={};return slots.forEach((slot)=>{result[slot]=generateUtilityClass(componentName,slot,globalStatePrefix)}),result}var import_react_is2=__toESM(require_react_is_development2());function getFunctionComponentName(Component,fallback=""){return Component.displayName||Component.name||fallback}function getWrappedName(outerType,innerType,wrapperName){let functionName=getFunctionComponentName(innerType);return outerType.displayName||(functionName!==""?`${wrapperName}(${functionName})`:wrapperName)}function getDisplayName(Component){if(Component==null)return;if(typeof Component==="string")return Component;if(typeof Component==="function")return getFunctionComponentName(Component,"Component");if(typeof Component==="object")switch(Component.$$typeof){case import_react_is2.ForwardRef:return getWrappedName(Component,Component.render,"ForwardRef");case import_react_is2.Memo:return getWrappedName(Component,Component.type,"memo");default:return}return}function preprocessStyles(input){let{variants,...style}=input,result={variants,style:internal_serializeStyles(style),isProcessed:!0};if(result.style===style)return result;if(variants)variants.forEach((variant)=>{if(typeof variant.style!=="function")variant.style=internal_serializeStyles(variant.style)});return result}var systemDefaultTheme2=createTheme_default();function shouldForwardProp(prop){return prop!=="ownerState"&&prop!=="theme"&&prop!=="sx"&&prop!=="as"}function shallowLayer(serialized,layerName){if(layerName&&serialized&&typeof serialized==="object"&&serialized.styles&&!serialized.styles.startsWith("@layer"))serialized.styles=`@layer ${layerName}{${String(serialized.styles)}}`;return serialized}function defaultOverridesResolver(slot){if(!slot)return null;return(_props,styles)=>styles[slot]}function attachTheme(props,themeId,defaultTheme){props.theme=isObjectEmpty2(props.theme)?defaultTheme:props.theme[themeId]||props.theme}function processStyle(props,style,layerName){let resolvedStyle=typeof style==="function"?style(props):style;if(Array.isArray(resolvedStyle))return resolvedStyle.flatMap((subStyle)=>processStyle(props,subStyle,layerName));if(Array.isArray(resolvedStyle?.variants)){let rootStyle;if(resolvedStyle.isProcessed)rootStyle=layerName?shallowLayer(resolvedStyle.style,layerName):resolvedStyle.style;else{let{variants,...otherStyles}=resolvedStyle;rootStyle=layerName?shallowLayer(internal_serializeStyles(otherStyles),layerName):otherStyles}return processStyleVariants(props,resolvedStyle.variants,[rootStyle],layerName)}if(resolvedStyle?.isProcessed)return layerName?shallowLayer(internal_serializeStyles(resolvedStyle.style),layerName):resolvedStyle.style;return layerName?shallowLayer(internal_serializeStyles(resolvedStyle),layerName):resolvedStyle}function processStyleVariants(props,variants,results=[],layerName=void 0){let mergedState;variantLoop:for(let i=0;i<variants.length;i+=1){let variant=variants[i];if(typeof variant.props==="function"){if(mergedState??={...props,...props.ownerState,ownerState:props.ownerState},!variant.props(mergedState))continue}else for(let key in variant.props)if(props[key]!==variant.props[key]&&props.ownerState?.[key]!==variant.props[key])continue variantLoop;if(typeof variant.style==="function")mergedState??={...props,...props.ownerState,ownerState:props.ownerState},results.push(layerName?shallowLayer(internal_serializeStyles(variant.style(mergedState)),layerName):variant.style(mergedState));else results.push(layerName?shallowLayer(internal_serializeStyles(variant.style),layerName):variant.style)}return results}function createStyled(input={}){let{themeId,defaultTheme=systemDefaultTheme2,rootShouldForwardProp=shouldForwardProp,slotShouldForwardProp=shouldForwardProp}=input;function styleAttachTheme(props){attachTheme(props,themeId,defaultTheme)}return(tag,inputOptions={})=>{internal_mutateStyles(tag,(styles)=>styles.filter((style)=>style!==styleFunctionSx_default));let{name:componentName,slot:componentSlot,skipVariantsResolver:inputSkipVariantsResolver,skipSx:inputSkipSx,overridesResolver=defaultOverridesResolver(lowercaseFirstLetter(componentSlot)),...options}=inputOptions,layerName=componentName&&componentName.startsWith("Mui")||!!componentSlot?"components":"custom",skipVariantsResolver=inputSkipVariantsResolver!==void 0?inputSkipVariantsResolver:componentSlot&&componentSlot!=="Root"&&componentSlot!=="root"||!1,skipSx=inputSkipSx||!1,shouldForwardPropOption=shouldForwardProp;if(componentSlot==="Root"||componentSlot==="root")shouldForwardPropOption=rootShouldForwardProp;else if(componentSlot)shouldForwardPropOption=slotShouldForwardProp;else if(isStringTag(tag))shouldForwardPropOption=void 0;let defaultStyledResolver=styled(tag,{shouldForwardProp:shouldForwardPropOption,label:generateStyledLabel(componentName,componentSlot),...options}),transformStyle=(style)=>{if(style.__emotion_real===style)return style;if(typeof style==="function")return function(props){return processStyle(props,style,props.theme.modularCssLayers?layerName:void 0)};if(isPlainObject(style)){let serialized=preprocessStyles(style);return function(props){if(!serialized.variants)return props.theme.modularCssLayers?shallowLayer(serialized.style,layerName):serialized.style;return processStyle(props,serialized,props.theme.modularCssLayers?layerName:void 0)}}return style},muiStyledResolver=(...expressionsInput)=>{let expressionsHead=[],expressionsBody=expressionsInput.map(transformStyle),expressionsTail=[];if(expressionsHead.push(styleAttachTheme),componentName&&overridesResolver)expressionsTail.push(function(props){let styleOverrides=props.theme.components?.[componentName]?.styleOverrides;if(!styleOverrides)return null;let resolvedStyleOverrides={};for(let slotKey in styleOverrides)resolvedStyleOverrides[slotKey]=processStyle(props,styleOverrides[slotKey],props.theme.modularCssLayers?"theme":void 0);return overridesResolver(props,resolvedStyleOverrides)});if(componentName&&!skipVariantsResolver)expressionsTail.push(function(props){let themeVariants=props.theme?.components?.[componentName]?.variants;if(!themeVariants)return null;return processStyleVariants(props,themeVariants,[],props.theme.modularCssLayers?"theme":void 0)});if(!skipSx)expressionsTail.push(styleFunctionSx_default);if(Array.isArray(expressionsBody[0])){let inputStrings=expressionsBody.shift(),placeholdersHead=Array(expressionsHead.length).fill(""),placeholdersTail=Array(expressionsTail.length).fill(""),outputStrings;outputStrings=[...placeholdersHead,...inputStrings,...placeholdersTail],outputStrings.raw=[...placeholdersHead,...inputStrings.raw,...placeholdersTail],expressionsHead.unshift(outputStrings)}let expressions=[...expressionsHead,...expressionsBody,...expressionsTail],Component=defaultStyledResolver(...expressions);if(tag.muiName)Component.muiName=tag.muiName;return Component.displayName=generateDisplayName(componentName,componentSlot,tag),Component};if(defaultStyledResolver.withConfig)muiStyledResolver.withConfig=defaultStyledResolver.withConfig;return muiStyledResolver}}function generateDisplayName(componentName,componentSlot,tag){if(componentName)return`${componentName}${capitalize(componentSlot||"")}`;return`Styled(${getDisplayName(tag)})`}function generateStyledLabel(componentName,componentSlot){let label;if(componentName)label=`${componentName}-${lowercaseFirstLetter(componentSlot||"Root")}`;return label}function isObjectEmpty2(object){for(let _ in object)return!1;return!0}function isStringTag(tag){return typeof tag==="string"&&tag.charCodeAt(0)>96}function lowercaseFirstLetter(string){if(!string)return string;return string.charAt(0).toLowerCase()+string.slice(1)}var styled2=createStyled(),styled_default=styled2;function resolveProps(defaultProps,props){let output={...props};for(let key in defaultProps)if(Object.prototype.hasOwnProperty.call(defaultProps,key)){let propName=key;if(propName==="components"||propName==="slots")output[propName]={...defaultProps[propName],...output[propName]};else if(propName==="componentsProps"||propName==="slotProps"){let defaultSlotProps=defaultProps[propName],slotProps=props[propName];if(!slotProps)output[propName]=defaultSlotProps||{};else if(!defaultSlotProps)output[propName]=slotProps;else{output[propName]={...slotProps};for(let slotKey in defaultSlotProps)if(Object.prototype.hasOwnProperty.call(defaultSlotProps,slotKey)){let slotPropName=slotKey;output[propName][slotPropName]=resolveProps(defaultSlotProps[slotPropName],slotProps[slotPropName])}}}else if(output[propName]===void 0)output[propName]=defaultProps[propName]}return output}function getThemeProps(params){let{theme,name,props}=params;if(!theme||!theme.components||!theme.components[name]||!theme.components[name].defaultProps)return props;return resolveProps(theme.components[name].defaultProps,props)}function useThemeProps({props,name,defaultTheme,themeId}){let theme=useTheme_default(defaultTheme);if(themeId)theme=theme[themeId]||theme;return getThemeProps({theme,name,props})}var React6=__toESM(require_react_development()),useEnhancedEffect=typeof window<"u"?React6.useLayoutEffect:React6.useEffect,useEnhancedEffect_default=useEnhancedEffect;var React18=__toESM(require_react_development()),import_prop_types9=__toESM(require_prop_types());var React13=__toESM(require_react_development()),import_prop_types6=__toESM(require_prop_types());function chainPropTypes(propType1,propType2){return function(...args){return propType1(...args)||propType2(...args)}}var import_prop_types4=__toESM(require_prop_types());function isClassComponent(elementType){let{prototype={}}=elementType;return Boolean(prototype.isReactComponent)}function acceptingRef(props,propName,componentName,location,propFullName){let element=props[propName],safePropName=propFullName||propName;if(element==null||typeof window>"u")return null;let warningHint,elementType=element.type;if(typeof elementType==="function"&&!isClassComponent(elementType))warningHint="Did you accidentally use a plain function component for an element instead?";if(warningHint!==void 0)return Error(`Invalid ${location} \`${safePropName}\` supplied to \`${componentName}\`. Expected an element that can hold a ref. ${warningHint} For more information see https://mui.com/r/caveat-with-refs-guide`);return null}var elementAcceptingRef=chainPropTypes(import_prop_types4.default.element,acceptingRef);elementAcceptingRef.isRequired=chainPropTypes(import_prop_types4.default.element.isRequired,acceptingRef);var elementAcceptingRef_default=elementAcceptingRef;function exactProp(propTypes){return{...propTypes,["exact-prop: \u200B"]:(props)=>{let unsupportedProps=Object.keys(props).filter((prop)=>!propTypes.hasOwnProperty(prop));if(unsupportedProps.length>0)return Error(`The following props are not supported: ${unsupportedProps.map((prop)=>`\`${prop}\``).join(", ")}. Please remove them.`);return null}}}function HTMLElementType(props,propName,componentName,location,propFullName){let propValue=props[propName],safePropName=propFullName||propName;if(propValue==null)return null;if(propValue&&propValue.nodeType!==1)return Error(`Invalid ${location} \`${safePropName}\` supplied to \`${componentName}\`. Expected an HTMLElement.`);return null}var import_prop_types5=__toESM(require_prop_types()),refType=import_prop_types5.default.oneOfType([import_prop_types5.default.func,import_prop_types5.default.object]),refType_default=refType;function createChainedFunction(...funcs){return funcs.reduce((acc,func)=>{if(func==null)return acc;return function(...args){acc.apply(this,args),func.apply(this,args)}},()=>{})}function debounce(func,wait=166){let timeout;function debounced(...args){let later=()=>{func.apply(this,args)};clearTimeout(timeout),timeout=setTimeout(later,wait)}return debounced.clear=()=>{clearTimeout(timeout)},debounced}function ownerDocument(node){return node&&node.ownerDocument||document}function ownerWindow(node){return ownerDocument(node).defaultView||window}function setRef(ref,value){if(typeof ref==="function")ref(value);else if(ref)ref.current=value}var React7=__toESM(require_react_development());function useEventCallback(fn){let ref=React7.useRef(fn);return useEnhancedEffect_default(()=>{ref.current=fn}),React7.useRef((...args)=>(0,ref.current)(...args)).current}var useEventCallback_default=useEventCallback;var React8=__toESM(require_react_development());function useForkRef(...refs){let cleanupRef=React8.useRef(void 0),refEffect=React8.useCallback((instance)=>{let cleanups=refs.map((ref)=>{if(ref==null)return null;if(typeof ref==="function"){let refCallback=ref,refCleanup=refCallback(instance);return typeof refCleanup==="function"?refCleanup:()=>{refCallback(null)}}return ref.current=instance,()=>{ref.current=null}});return()=>{cleanups.forEach((refCleanup)=>refCleanup?.())}},refs);return React8.useMemo(()=>{if(refs.every((ref)=>ref==null))return null;return(value)=>{if(cleanupRef.current)cleanupRef.current(),cleanupRef.current=void 0;if(value!=null)cleanupRef.current=refEffect(value)}},refs)}function getScrollbarSize(win=window){let documentWidth=win.document.documentElement.clientWidth;return win.innerWidth-documentWidth}var React9=__toESM(require_react_development()),usePreviousProps=(value)=>{let ref=React9.useRef({});return React9.useEffect(()=>{ref.current=value}),ref.current},usePreviousProps_default=usePreviousProps;var React10=__toESM(require_react_development());function getReactElementRef(element){if(parseInt(React10.version,10)>=19)return element?.props?.ref||null;return element?.ref||null}var React11=__toESM(require_react_development()),ThemeContext=React11.createContext(null);ThemeContext.displayName="ThemeContext";var ThemeContext_default=ThemeContext;var React12=__toESM(require_react_development());function useTheme4(){let theme=React12.useContext(ThemeContext_default);return React12.useDebugValue(theme),theme}var hasSymbol=typeof Symbol==="function"&&Symbol.for,nested_default=hasSymbol?Symbol.for("mui.nested"):"__THEME_NESTED__";var import_jsx_runtime4=__toESM(require_react_jsx_runtime_development());function mergeOuterLocalTheme(outerTheme,localTheme){if(typeof localTheme==="function"){let mergedTheme=localTheme(outerTheme);if(!mergedTheme)console.error(["MUI: You should return an object from your theme function, i.e.","<ThemeProvider theme={() => ({})} />"].join(`
|
|
11
11
|
`));return mergedTheme}return{...outerTheme,...localTheme}}function ThemeProvider(props){let{children,theme:localTheme}=props,outerTheme=useTheme4();if(outerTheme===null&&typeof localTheme==="function")console.error(["MUI: You are providing a theme function prop to the ThemeProvider component:","<ThemeProvider theme={outerTheme => outerTheme} />","","However, no outer theme is present.","Make sure a theme is already injected higher in the React tree or provide a theme object."].join(`
|
|
12
12
|
`));let theme=React13.useMemo(()=>{let output=outerTheme===null?{...localTheme}:mergeOuterLocalTheme(outerTheme,localTheme);if(output!=null)output[nested_default]=outerTheme!==null;return output},[localTheme,outerTheme]);return import_jsx_runtime4.jsx(ThemeContext_default.Provider,{value:theme,children})}ThemeProvider.propTypes={children:import_prop_types6.default.node,theme:import_prop_types6.default.oneOfType([import_prop_types6.default.object,import_prop_types6.default.func]).isRequired};ThemeProvider.propTypes=exactProp(ThemeProvider.propTypes);var ThemeProvider_default=ThemeProvider;var React14=__toESM(require_react_development()),import_prop_types7=__toESM(require_prop_types()),import_jsx_runtime5=__toESM(require_react_jsx_runtime_development()),RtlContext=React14.createContext();function RtlProvider({value,...props}){return import_jsx_runtime5.jsx(RtlContext.Provider,{value:value??!0,...props})}RtlProvider.propTypes={children:import_prop_types7.default.node,value:import_prop_types7.default.bool};var useRtl=()=>React14.useContext(RtlContext)??!1,RtlProvider_default=RtlProvider;var React15=__toESM(require_react_development()),import_prop_types8=__toESM(require_prop_types());var import_jsx_runtime6=__toESM(require_react_jsx_runtime_development()),PropsContext=React15.createContext(void 0);function DefaultPropsProvider({value,children}){return import_jsx_runtime6.jsx(PropsContext.Provider,{value,children})}DefaultPropsProvider.propTypes={children:import_prop_types8.default.node,value:import_prop_types8.default.object};function getThemeProps2(params){let{theme,name,props}=params;if(!theme||!theme.components||!theme.components[name])return props;let config=theme.components[name];if(config.defaultProps)return resolveProps(config.defaultProps,props);if(!config.styleOverrides&&!config.variants)return resolveProps(config,props);return props}function useDefaultProps({props,name}){let ctx=React15.useContext(PropsContext);return getThemeProps2({props,name,theme:{components:ctx}})}var DefaultPropsProvider_default=DefaultPropsProvider;var React17=__toESM(require_react_development());var React16=__toESM(require_react_development()),globalId=0;function useGlobalId(idOverride){let[defaultId,setDefaultId]=React16.useState(idOverride),id=idOverride||defaultId;return React16.useEffect(()=>{if(defaultId==null)globalId+=1,setDefaultId(`mui-${globalId}`)},[defaultId]),id}var safeReact={...React16},maybeReactUseId=safeReact.useId;function useId(idOverride){if(maybeReactUseId!==void 0){let reactId=maybeReactUseId();return idOverride??reactId}return useGlobalId(idOverride)}var import_jsx_runtime7=__toESM(require_react_jsx_runtime_development());function useLayerOrder(theme){let upperTheme=useThemeWithoutDefault_default(),id=useId()||"",{modularCssLayers}=theme,layerOrder="mui.global, mui.components, mui.theme, mui.custom, mui.sx";if(!modularCssLayers||upperTheme!==null)layerOrder="";else if(typeof modularCssLayers==="string")layerOrder=modularCssLayers.replace(/mui(?!\.)/g,layerOrder);else layerOrder=`@layer ${layerOrder};`;if(useEnhancedEffect_default(()=>{let head=document.querySelector("head");if(!head)return;let firstChild=head.firstChild;if(layerOrder){if(firstChild&&firstChild.hasAttribute?.("data-mui-layer-order")&&firstChild.getAttribute("data-mui-layer-order")===id)return;let styleElement=document.createElement("style");styleElement.setAttribute("data-mui-layer-order",id),styleElement.textContent=layerOrder,head.prepend(styleElement)}else head.querySelector(`style[data-mui-layer-order="${id}"]`)?.remove()},[layerOrder,id]),!layerOrder)return null;return import_jsx_runtime7.jsx(GlobalStyles_default,{styles:layerOrder})}var import_jsx_runtime8=__toESM(require_react_jsx_runtime_development()),EMPTY_THEME={};function useThemeScoping(themeId,upperTheme,localTheme,isPrivate=!1){return React18.useMemo(()=>{let resolvedTheme=themeId?upperTheme[themeId]||upperTheme:upperTheme;if(typeof localTheme==="function"){let mergedTheme=localTheme(resolvedTheme),result=themeId?{...upperTheme,[themeId]:mergedTheme}:mergedTheme;if(isPrivate)return()=>result;return result}return themeId?{...upperTheme,[themeId]:localTheme}:{...upperTheme,...localTheme}},[themeId,upperTheme,localTheme,isPrivate])}function ThemeProvider3(props){let{children,theme:localTheme,themeId}=props,upperTheme=useThemeWithoutDefault_default(EMPTY_THEME),upperPrivateTheme=useTheme4()||EMPTY_THEME;if(upperTheme===null&&typeof localTheme==="function"||themeId&&upperTheme&&!upperTheme[themeId]&&typeof localTheme==="function")console.error(["MUI: You are providing a theme function prop to the ThemeProvider component:","<ThemeProvider theme={outerTheme => outerTheme} />","","However, no outer theme is present.","Make sure a theme is already injected higher in the React tree or provide a theme object."].join(`
|
|
13
13
|
`));let engineTheme=useThemeScoping(themeId,upperTheme,localTheme),privateTheme=useThemeScoping(themeId,upperPrivateTheme,localTheme,!0),rtlValue=(themeId?engineTheme[themeId]:engineTheme).direction==="rtl",layerOrder=useLayerOrder(engineTheme);return import_jsx_runtime8.jsx(ThemeProvider_default,{theme:privateTheme,children:import_jsx_runtime8.jsx(import_emotion_react_development_cjs.ThemeContext.Provider,{value:engineTheme,children:import_jsx_runtime8.jsx(RtlProvider_default,{value:rtlValue,children:import_jsx_runtime8.jsxs(DefaultPropsProvider_default,{value:themeId?engineTheme[themeId].components:engineTheme.components,children:[layerOrder,children]})})})})}ThemeProvider3.propTypes={children:import_prop_types9.default.node,theme:import_prop_types9.default.oneOfType([import_prop_types9.default.func,import_prop_types9.default.object]).isRequired,themeId:import_prop_types9.default.string};ThemeProvider3.propTypes=exactProp(ThemeProvider3.propTypes);var ThemeProvider_default2=ThemeProvider3;var arg={theme:void 0};function unstable_memoTheme(styleFn){let lastValue,lastTheme;return function(props){let value=lastValue;if(value===void 0||props.theme!==lastTheme)arg.theme=props.theme,value=preprocessStyles(styleFn(arg)),lastValue=value,lastTheme=props.theme;return value}}var React21=__toESM(require_react_development()),import_prop_types10=__toESM(require_prop_types());var React19=__toESM(require_react_development()),import_jsx_runtime9=__toESM(require_react_jsx_runtime_development()),DEFAULT_MODE_STORAGE_KEY="mode",DEFAULT_COLOR_SCHEME_STORAGE_KEY="color-scheme",DEFAULT_ATTRIBUTE="data-color-scheme";function InitColorSchemeScript(options){let{defaultMode="system",defaultLightColorScheme="light",defaultDarkColorScheme="dark",modeStorageKey=DEFAULT_MODE_STORAGE_KEY,colorSchemeStorageKey=DEFAULT_COLOR_SCHEME_STORAGE_KEY,attribute:initialAttribute=DEFAULT_ATTRIBUTE,colorSchemeNode="document.documentElement",nonce}=options||{},setter="",attribute=initialAttribute;if(initialAttribute==="class")attribute=".%s";if(initialAttribute==="data")attribute="[data-%s]";if(attribute.startsWith(".")){let selector=attribute.substring(1);setter+=`${colorSchemeNode}.classList.remove('${selector}'.replace('%s', light), '${selector}'.replace('%s', dark));
|