blade-code 0.4.2 → 0.4.4

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.
Files changed (48) hide show
  1. package/dist/blade.js +2 -2
  2. package/dist/{chunk-ena4sxgr.js → chunk-094ekgv6.js} +1 -1
  3. package/dist/{chunk-vd38synx.js → chunk-420vamtq.js} +1 -1
  4. package/dist/{chunk-zxf08z5f.js → chunk-4jh0h16z.js} +1 -1
  5. package/dist/{chunk-4nsh53k6.js → chunk-5xc0kzdt.js} +1 -1
  6. package/dist/{chunk-vfdhz37s.js → chunk-5zkcs06z.js} +1 -1
  7. package/dist/{chunk-zyc1whnr.js → chunk-7637p6w5.js} +1 -1
  8. package/dist/{chunk-m99qhdkf.js → chunk-76emdpxa.js} +1 -1
  9. package/dist/{chunk-3wnjpk9b.js → chunk-7snnj126.js} +1 -1
  10. package/dist/{chunk-2tpgtpcp.js → chunk-8jwqy5d0.js} +1 -1
  11. package/dist/{chunk-z6tkw0b6.js → chunk-8pn5m426.js} +1 -1
  12. package/dist/chunk-92kjp66d.js +1 -0
  13. package/dist/chunk-9mrna4y3.js +2 -0
  14. package/dist/chunk-a5b9fkp3.js +157 -0
  15. package/dist/{chunk-j25kww7j.js → chunk-ehcjnwnr.js} +1 -1
  16. package/dist/chunk-h3ccyfqj.js +1 -0
  17. package/dist/{chunk-j79jvd54.js → chunk-jvbx3h56.js} +2 -2
  18. package/dist/{chunk-1en8fh5f.js → chunk-jz59sjzb.js} +1 -1
  19. package/dist/chunk-kd1t45br.js +2 -0
  20. package/dist/{chunk-n6e89s1v.js → chunk-mvyxksrz.js} +1 -1
  21. package/dist/{chunk-d7zcd9xp.js → chunk-n8na8c5h.js} +1 -1
  22. package/dist/{chunk-wxp0yadf.js → chunk-q4hrt6r4.js} +1 -1
  23. package/dist/{chunk-t3zaj1t7.js → chunk-tf0m57f5.js} +1 -1
  24. package/dist/{chunk-akr185xe.js → chunk-tph4ngbj.js} +1 -1
  25. package/dist/{chunk-nx2zqct5.js → chunk-vs2x9sxb.js} +1 -1
  26. package/dist/chunk-y5g06jmk.js +24 -0
  27. package/dist/{chunk-w7h3v075.js → chunk-z1qz8p1j.js} +1 -1
  28. package/dist/{chunk-tmjmp9gq.js → chunk-zs7xeymy.js} +1 -1
  29. package/dist/web/assets/{FilePreview-BLcxez_T.js → FilePreview-R1mRzyRz.js} +1 -1
  30. package/dist/web/assets/{MarkdownRenderer-BkQt-J8a.js → MarkdownRenderer-B46lJYAn.js} +1 -1
  31. package/dist/web/assets/{McpModal-B4ReoSE5.js → McpModal-QRv5Ij61.js} +1 -1
  32. package/dist/web/assets/{SettingsModal-QzwdsQwR.js → SettingsModal-D-mi6mUR.js} +1 -1
  33. package/dist/web/assets/{SettingsStore-E-aIqvyl.js → SettingsStore-Dmo3sZ_R.js} +1 -1
  34. package/dist/web/assets/{SkillsModal-CzE0m00G.js → SkillsModal-DNXjbjEs.js} +1 -1
  35. package/dist/web/assets/{TerminalPanel-DXA1C6Cg.js → TerminalPanel-DG_Q4UKr.js} +1 -1
  36. package/dist/web/assets/{dialog-CSpPttY0.js → dialog-CsiChiYt.js} +1 -1
  37. package/dist/web/assets/{index-DehGtSvJ.js → index-BeYCsOvo.js} +3 -3
  38. package/dist/web/assets/{useRequest-P_-JRihD.js → useRequest-BJp539HQ.js} +1 -1
  39. package/dist/web/assets/vendor-radix-CfxBc_4-.js +45 -0
  40. package/dist/web/index.html +1 -1
  41. package/package.json +4 -1
  42. package/dist/chunk-3xqfqpa7.js +0 -2
  43. package/dist/chunk-93b0x9b4.js +0 -157
  44. package/dist/chunk-dq65yfh6.js +0 -1
  45. package/dist/chunk-e2vtbvda.js +0 -24
  46. package/dist/chunk-q52j8tp4.js +0 -1
  47. package/dist/chunk-wr7w4af5.js +0 -2
  48. package/dist/web/assets/vendor-radix-CKNFO4jS.js +0 -45
@@ -1 +0,0 @@
1
- import{ga as a}from"./chunk-2tpgtpcp.js";import"./chunk-m99qhdkf.js";import"./chunk-e2vtbvda.js";import"./chunk-7ycmx7c2.js";import"./chunk-set7v1rf.js";import"./chunk-j2ag7hh6.js";export{a as SpecManager};
@@ -1,24 +0,0 @@
1
- import{xb as Y}from"./chunk-7ycmx7c2.js";import{Bb as M}from"./chunk-set7v1rf.js";var D={currentModelId:"",models:[],temperature:0,maxContextTokens:128000,maxOutputTokens:void 0,stream:!0,topP:0.9,topK:50,timeout:180000,theme:"dracula",uiTheme:"system",language:"zh-CN",fontSize:14,autoSaveSessions:!0,notifyBuild:!0,notifyErrors:!1,notifySounds:!1,privacyTelemetry:!1,privacyCrash:!0,debug:!1,mcpEnabled:!1,mcpServers:{},permissions:{allow:["Bash(pwd)","Bash(which *)","Bash(whoami)","Bash(hostname)","Bash(uname *)","Bash(date)","Bash(echo *)","Bash(ls *)","Bash(tree *)","Bash(git status)","Bash(git status -*)","Bash(git log *)","Bash(git diff *)","Bash(git show *)","Bash(git branch -* *)","Bash(git branch)","Bash(git tag -l *)","Bash(git tag --list *)","Bash(git stash list *)","Bash(git stash show *)","Bash(git rev-parse *)","Bash(git describe *)","Bash(git blame *)","Bash(git ls-files *)","Bash(git config --get *)","Bash(git config --list *)","Bash(git shortlog *)","Bash(git merge-base *)","Bash(git cat-file *)","Bash(git for-each-ref *)","Bash(git grep *)","Bash(git worktree list *)","Bash(git reflog show *)","Bash(git reflog)","Bash(git rev-list *)","Bash(git ls-remote *)","Bash(git remote -v)","Bash(git remote --verbose)","Bash(git remote)","Bash(gh pr view *)","Bash(gh pr list *)","Bash(gh pr diff *)","Bash(gh pr checks *)","Bash(gh pr status *)","Bash(gh issue view *)","Bash(gh issue list *)","Bash(gh issue status *)","Bash(gh run list *)","Bash(gh run view *)","Bash(gh repo view *)","Bash(gh auth status)","Bash(npm list *)","Bash(bun pm ls *)","Bash(npm view *)","Bash(npm outdated *)","Bash(pnpm list *)","Bash(yarn list *)","Bash(pip list *)","Bash(pip show *)"],ask:["Bash(curl *)","Bash(wget *)","Bash(aria2c *)","Bash(axel *)","Bash(rm -rf *)","Bash(rm -r *)","Bash(rm --recursive *)","Bash(nc *)","Bash(netcat *)","Bash(telnet *)","Bash(ncat *)"],deny:["Read(./.env)","Read(./.env.*)","Bash(rm -rf /)","Bash(rm -rf /*)","Bash(sudo *)","Bash(chmod 777 *)","Bash(bash *)","Bash(sh *)","Bash(zsh *)","Bash(fish *)","Bash(dash *)","Bash(eval *)","Bash(source *)","Bash(mkfs *)","Bash(fdisk *)","Bash(dd *)","Bash(format *)","Bash(parted *)","Bash(open http*)","Bash(open https*)","Bash(xdg-open http*)","Bash(xdg-open https*)"]},permissionMode:"default",hooks:{enabled:!1,defaultTimeout:60,timeoutBehavior:"ignore",failureBehavior:"ignore",maxConcurrentHooks:5,PreToolUse:[],PostToolUse:[],PostToolUseFailure:[],PermissionRequest:[],UserPromptSubmit:[],SessionStart:[],SessionEnd:[],Stop:[],SubagentStop:[],Notification:[],Compaction:[]},env:{},disableAllHooks:!1,maxTurns:-1};import{promises as F}from"fs";import{merge as N}from"lodash-es";import j from"os";import R from"path";class V{static instance=null;constructor(){}static getInstance(){if(!V.instance)V.instance=new V;return V.instance}static resetInstance(){V.instance=null}async initialize(){try{let H=await this.loadConfigFiles(),q=await this.loadSettingsFiles(),z={...D,...H,...q};if(this.resolveEnvInterpolation(z),z.debug)console.log("[ConfigManager] Configuration loaded successfully");return z}catch(H){return console.error("[ConfigManager] Failed to initialize:",H),D}}async loadConfigFiles(){let H=R.join(j.homedir(),".blade","config.json"),q=R.join(Y(),".blade","config.json"),z={},J=await this.loadJsonFile(H);if(J)z={...z,...J};let K=await this.loadJsonFile(q);if(K){let Q={...z.mcpServers||{},...K.mcpServers||{}};if(z={...z,...K},Object.keys(Q).length>0)z.mcpServers=Q}return z}async loadSettingsFiles(){let H=R.join(j.homedir(),".blade","settings.json"),q=R.join(Y(),".blade","settings.json"),z=R.join(Y(),".blade","settings.local.json"),J={},K=await this.loadJsonFile(H);if(K)J=this.mergeSettings(J,K);let Q=await this.loadJsonFile(q);if(Q)J=this.mergeSettings(J,Q);let W=await this.loadJsonFile(z);if(W)J=this.mergeSettings(J,W);return J}mergeSettings(H,q){let z=JSON.parse(JSON.stringify(H));if(q.permissions){if(!z.permissions)z.permissions={allow:[],ask:[],deny:[]};if(q.permissions.allow){let J=[...z.permissions.allow||[],...q.permissions.allow];z.permissions.allow=Array.from(new Set(J))}if(q.permissions.ask){let J=[...z.permissions.ask||[],...q.permissions.ask];z.permissions.ask=Array.from(new Set(J))}if(q.permissions.deny){let J=[...z.permissions.deny||[],...q.permissions.deny];z.permissions.deny=Array.from(new Set(J))}}if(q.hooks)z.hooks=N({},z.hooks,q.hooks);if(q.env)z.env=N({},z.env,q.env);if(q.mcpServers)z.mcpServers={...z.mcpServers||{},...q.mcpServers};if(q.disableAllHooks!==void 0)z.disableAllHooks=q.disableAllHooks;if(q.permissionMode!==void 0)z.permissionMode=q.permissionMode;if(q.maxTurns!==void 0)z.maxTurns=q.maxTurns;return z}resolveEnvInterpolation(H){let q=/\$\{?([A-Z_][A-Z0-9_]*)(:-([^}]+))?\}?/g,z=(J)=>{if(typeof J==="string")return J.replace(q,(K,Q,W,X)=>{return process.env[Q]||X||K});return J};for(let[J,K]of Object.entries(H))if(typeof K==="string")H[J]=z(K)}async loadJsonFile(H){try{if(await this.fileExists(H)){let q=await F.readFile(H,"utf-8");return JSON.parse(q)}}catch(q){console.warn(`[ConfigManager] Failed to load ${H}:`,q)}return null}async fileExists(H){try{return await F.access(H),!0}catch{return!1}}validateConfig(H){let q=[];if(!H.models||H.models.length===0)q.push("没有可用的模型配置");if(H.models&&H.models.length>0){if(!H.currentModelId)q.push("未设置当前模型 ID");else if(!H.models.find((J)=>J.id===H.currentModelId))q.push("当前模型 ID 无效")}if(q.length>0)throw Error(`配置验证失败:
2
- ${q.map((z)=>` - ${z}`).join(`
3
- `)}
4
-
5
- `+`请通过以下方式之一提供配置:
6
- `+` 1. 首次启动: 运行 blade,系统会自动引导配置
7
- `+` 2. 添加模型: blade 后输入 /model add
8
- `+` 3. 初始化向导: 输入 /init
9
-
10
- `+`配置文件示例 (~/.blade/config.json):
11
- `+`{
12
- "currentModelId": "model-id-123",
13
- "models": [
14
- {
15
- "id": "model-id-123",
16
- `+` "name": "默认模型",
17
- `+` "provider": "openai-compatible",
18
- "apiKey": "your-api-key",
19
- "baseUrl": "https://api.example.com/v1",
20
- "model": "model-name"
21
- }
22
- ]
23
- }
24
- `)}}function w(H,q={}){let z={...H};if(q.debug!==void 0)z.debug=q.debug===""?!0:q.debug;if(q.yolo===!0)z.permissionMode="yolo";else if(q.permissionMode!==void 0)z.permissionMode=q.permissionMode;if(q.maxTurns!==void 0)z.maxTurns=q.maxTurns;return z.systemPrompt=q.systemPrompt,z.appendSystemPrompt=q.appendSystemPrompt,z.resumeSessionId=q.sessionId,z.forkSession=q.forkSession,z.allowedTools=q.allowedTools,z.disallowedTools=q.disallowedTools,z.mcpConfigPaths=q.mcpConfig,z.strictMcpConfig=q.strictMcpConfig,z.addDirs=q.addDir,z.outputFormat=q.outputFormat,z.inputFormat=q.inputFormat,z.print=q.print,z.includePartialMessages=q.includePartialMessages,z.replayUserMessages=q.replayUserMessages,z.agentsConfig=q.agents,z.settingSources=q.settingSources,z}import{Mutex as U}from"async-mutex";import{merge as T}from"lodash-es";import{promises as G}from"node:fs";import _ from"node:os";import $ from"node:path";import E from"write-file-atomic";var I=M("Service"),B={models:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!0},currentModelId:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!0},temperature:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!0},maxContextTokens:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!0},maxOutputTokens:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!0},timeout:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!0},theme:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!0},uiTheme:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!0},language:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!0},debug:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!0},fontSize:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!0},autoSaveSessions:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!0},notifyBuild:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!0},notifyErrors:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!0},notifySounds:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!0},privacyTelemetry:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!0},privacyCrash:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!0},permissionMode:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!1},permissions:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!0},hooks:{target:"settings",defaultScope:"local",mergeStrategy:"deep-merge",persistable:!0},env:{target:"settings",defaultScope:"local",mergeStrategy:"deep-merge",persistable:!0},disableAllHooks:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!0},maxTurns:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!0},mcpServers:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!0},stream:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!1},topP:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!1},topK:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!1},mcpEnabled:{target:"config",defaultScope:"global",mergeStrategy:"replace",persistable:!1},systemPrompt:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!1},appendSystemPrompt:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!1},initialMessage:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!1},resumeSessionId:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!1},forkSession:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!1},allowedTools:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!1},disallowedTools:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!1},mcpConfigPaths:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!1},strictMcpConfig:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!1},addDirs:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!1},outputFormat:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!1},inputFormat:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!1},print:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!1},includePartialMessages:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!1},replayUserMessages:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!1},agentsConfig:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!1},settingSources:{target:"settings",defaultScope:"local",mergeStrategy:"replace",persistable:!1}},t=new Set(Object.entries(B).filter(([H,q])=>q.persistable).map(([H])=>H)),i=new Set(Object.entries(B).filter(([H,q])=>!q.persistable).map(([H])=>H));class Z{static instance=null;pendingUpdates=new Map;timers=new Map;fileLocks=new Map;lastSaveError=null;debounceDelay=300;constructor(){}static getInstance(){if(!Z.instance)Z.instance=new Z;return Z.instance}static resetInstance(){if(Z.instance)for(let H of Z.instance.timers.values())clearTimeout(H);Z.instance=null}async save(H,q={}){this.validatePersistableFields(H);let z=this.groupUpdatesByTarget(H,q.scope);if(q.immediate)await Promise.all(Array.from(z.entries()).map(([J,K])=>this.flushTarget(J,K)));else for(let[J,K]of z)this.scheduleSave(J,K)}async flush(){for(let q of this.timers.values())clearTimeout(q);this.timers.clear();let H=Array.from(this.pendingUpdates.entries()).map(([q,z])=>this.flushTarget(q,z));this.pendingUpdates.clear(),await Promise.all(H)}getLastSaveError(){return this.lastSaveError}clearLastSaveError(){this.lastSaveError=null}async appendPermissionRule(H,q={}){let z=q.scope??"local",J=this.resolveFilePath("settings",z);await this.flushTargetWithModifier(J,(K)=>{let Q=K.permissions??{allow:[],ask:[],deny:[]},W={allow:this.dedupeArray([...Q.allow||[],H]),ask:Q.ask||[],deny:Q.deny||[]};return{...K,permissions:W}})}async appendLocalPermissionRule(H,q={}){await this.appendPermissionRule(H,{...q,scope:"local"})}validatePersistableFields(H){for(let q of Object.keys(H)){let z=B[q];if(!z)throw Error(`Unknown config field: ${q}`);if(!z.persistable)throw Error(`Field "${q}" is non-persistable and cannot be saved to config files. Non-persistable fields are runtime-only and only valid for the current session.`)}}groupUpdatesByTarget(H,q){let z=new Map;for(let[J,K]of Object.entries(H)){let Q=B[J];if(!Q)continue;let W=q??Q.defaultScope,X=this.resolveFilePath(Q.target,W);if(!z.has(X))z.set(X,{});z.get(X)[J]=K}return z}resolveFilePath(H,q){if(H==="config")return q==="global"?$.join(_.homedir(),".blade","config.json"):$.join(Y(),".blade","config.json");switch(q){case"local":return $.join(Y(),".blade","settings.local.json");case"project":return $.join(Y(),".blade","settings.json");case"global":return $.join(_.homedir(),".blade","settings.json");default:return $.join(Y(),".blade","settings.local.json")}}scheduleSave(H,q){let z=this.pendingUpdates.get(H)??{},J=this.mergePendingUpdates(z,q);this.pendingUpdates.set(H,J);let K=this.timers.get(H);if(K)clearTimeout(K);let Q=setTimeout(async()=>{let W=this.pendingUpdates.get(H);if(W){this.pendingUpdates.delete(H),this.timers.delete(H);try{await this.flushTarget(H,W),this.lastSaveError=null}catch(X){let b=X instanceof Error?X:Error(String(X));this.lastSaveError=b,I.error(`Failed to save config to ${H}:`,b.message),I.error("Stack trace:",b.stack)}}},this.debounceDelay);this.timers.set(H,Q)}mergePendingUpdates(H,q){let z={...H};for(let[J,K]of Object.entries(q)){let Q=B[J];if(!Q){z[J]=K;continue}switch(Q.mergeStrategy){case"replace":z[J]=K;break;case"append-dedupe":this.applyAppendDedupe(z,J,K);break;case"deep-merge":this.applyDeepMerge(z,J,K);break}}return z}async flushTarget(H,q){let z=this.fileLocks.get(H);if(!z)z=new U,this.fileLocks.set(H,z);await z.runExclusive(async()=>{await this.performWrite(H,q)})}async flushTargetWithModifier(H,q){let z=this.fileLocks.get(H);if(!z)z=new U,this.fileLocks.set(H,z);await z.runExclusive(async()=>{await G.mkdir($.dirname(H),{recursive:!0,mode:493});let J={};try{let Q=await G.readFile(H,"utf-8");J=JSON.parse(Q)}catch{J={}}let K=q(J);await this.atomicWrite(H,K)})}async performWrite(H,q){await G.mkdir($.dirname(H),{recursive:!0,mode:493});let z={};try{let K=await G.readFile(H,"utf-8");z=JSON.parse(K)}catch{z={}}let J={...z};for(let[K,Q]of Object.entries(q)){let W=B[K];if(!W){J[K]=Q;continue}switch(W.mergeStrategy){case"replace":J[K]=Q;break;case"append-dedupe":this.applyAppendDedupe(J,K,Q);break;case"deep-merge":this.applyDeepMerge(J,K,Q);break}}await this.atomicWrite(H,J)}applyAppendDedupe(H,q,z){if(q==="permissions"&&typeof z==="object"&&z!==null){let J=H[q]??{allow:[],ask:[],deny:[]},K=z;H[q]={allow:this.dedupeArray([...J.allow||[],...K.allow||[]]),ask:this.dedupeArray([...J.ask||[],...K.ask||[]]),deny:this.dedupeArray([...J.deny||[],...K.deny||[]])}}else if(Array.isArray(z)){let J=Array.isArray(H[q])?H[q]:[];H[q]=this.dedupeArray([...J,...z])}else H[q]=z}applyDeepMerge(H,q,z){if(typeof z==="object"&&z!==null&&!Array.isArray(z)){let J=typeof H[q]==="object"&&H[q]!==null?H[q]:{};H[q]=T({},J,z)}else H[q]=z}dedupeArray(H){return Array.from(new Set(H))}async atomicWrite(H,q){await E(H,JSON.stringify(q,null,2),{mode:384,encoding:"utf-8"})}}function L(){return Z.getInstance()}export{D as Ha,V as Ia,w as Ja,L as Ka};
@@ -1 +0,0 @@
1
- import{t as a,u as b}from"./chunk-wr7w4af5.js";import"./chunk-3xqfqpa7.js";import"./chunk-j2ag7hh6.js";export{a as globalOptions,b as cliConfig};
@@ -1,2 +0,0 @@
1
- import{ba as d,da as h}from"./chunk-3xqfqpa7.js";var q={debug:{alias:"d",type:"string",describe:'Enable debug mode with optional category filtering (e.g., "agent,ui" or "!chat,!loop")',group:"Debug Options:"},print:{alias:"p",type:"boolean",describe:"Print response and exit (useful for pipes)",group:"Output Options:"},headless:{type:"boolean",describe:"Run full agent loop without Ink UI and print all events to the terminal",group:"Output Options:"},"output-format":{alias:["outputFormat"],type:"string",choices:["text","json","stream-json","jsonl"],default:"text",describe:"Output format: --print supports text|json|stream-json; --headless supports text|jsonl",group:"Output Options:"},"include-partial-messages":{alias:["includePartialMessages"],type:"boolean",describe:"Include partial message chunks as they arrive",group:"Output Options:"},"input-format":{alias:["inputFormat"],type:"string",choices:["text","stream-json"],default:"text",describe:"Input format",group:"Input Options:"},"replay-user-messages":{alias:["replayUserMessages"],type:"boolean",describe:"Re-emit user messages from stdin",group:"Input Options:"},"allowed-tools":{alias:["allowedTools"],type:"array",string:!0,describe:"Comma or space-separated list of tool names to allow",group:"Security Options:"},"disallowed-tools":{alias:["disallowedTools"],type:"array",string:!0,describe:"Comma or space-separated list of tool names to deny",group:"Security Options:"},"mcp-config":{alias:["mcpConfig"],type:"array",string:!0,describe:"Load MCP servers from JSON files or strings",group:"MCP Options:"},"system-prompt":{alias:["systemPrompt"],type:"string",describe:"System prompt to use for the session (replaces default)",group:"AI Options:"},"append-system-prompt":{alias:["appendSystemPrompt"],type:"string",describe:"Append a system prompt to the default system prompt",group:"AI Options:"},"max-turns":{alias:["maxTurns"],type:"number",describe:"Maximum conversation turns (-1: unlimited, 0: disable chat, N>0: limit to N turns)",group:"AI Options:",default:void 0},"permission-mode":{alias:["permissionMode"],type:"string",choices:["default","autoEdit","yolo","plan"],describe:"Permission mode (default: ask for non-read tools, autoEdit: auto-approve edits, yolo: auto-approve all, plan: reserved)",group:"Security Options:"},yolo:{type:"boolean",describe:"Auto-approve all tools (shortcut for --permission-mode=yolo)",group:"Security Options:"},continue:{alias:"c",type:"boolean",describe:"Continue the most recent conversation",group:"Session Options:"},resume:{alias:"r",describe:"Resume a conversation - provide a session ID or interactively select a conversation to resume",group:"Session Options:",coerce:(b)=>{if(b===void 0||b===!0||b==="")return"true";return String(b)}},"fork-session":{alias:["forkSession"],type:"boolean",describe:"Create a new session ID when resuming",group:"Session Options:"},settings:{type:"string",describe:"Path to a settings JSON file or JSON string",group:"Configuration:"},"add-dir":{alias:["addDir"],type:"array",string:!0,describe:"Additional directories to allow tool access to",group:"Security Options:"},ide:{type:"boolean",describe:"Automatically connect to IDE on startup",group:"Integration:"},acp:{type:"boolean",describe:"Run in ACP (Agent Client Protocol) mode for IDE integration",group:"Integration:"},"strict-mcp-config":{alias:["strictMcpConfig"],type:"boolean",describe:"Only use MCP servers from --mcp-config",group:"MCP Options:"},"session-id":{alias:["sessionId"],type:"string",describe:"Use a specific session ID for the conversation",group:"Session Options:"},agents:{type:"string",describe:"JSON object defining custom agents",group:"AI Options:"},"setting-sources":{alias:["settingSources"],type:"string",describe:"Comma-separated list of setting sources to load",group:"Configuration:"},"plugin-dir":{alias:["pluginDir"],type:"array",string:!0,describe:"Load plugins from specified directories",group:"Plugin Options:"}},w={scriptName:"blade",usage:"$0 [command] [options]",description:h(),version:d(),locale:"en",showHelpOnFail:!0,demandCommand:!1,recommendCommands:!0,strict:!1};
2
- export{q as t,w as u};
@@ -1,45 +0,0 @@
1
- import{r as s,a as Xe,j as v,b as Rn,u as Tn,o as An,s as _n,f as On,c as Nn,d as Dn,h as In,l as Mn,e as Ln,g as jn,R as z}from"./vendor-react-Dm1xU4bP.js";function Ct(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ke(...e){return t=>{let r=!1;const n=e.map(o=>{const a=Ct(o,t);return!r&&typeof a=="function"&&(r=!0),a});if(r)return()=>{for(let o=0;o<n.length;o++){const a=n[o];typeof a=="function"?a():Ct(e[o],null)}}}}function N(...e){return s.useCallback(Ke(...e),e)}var Fn=Symbol.for("react.lazy"),we=Xe[" use ".trim().toString()];function kn(e){return typeof e=="object"&&e!==null&&"then"in e}function Lt(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Fn&&"_payload"in e&&kn(e._payload)}function Wn(e){const t=$n(e),r=s.forwardRef((n,o)=>{let{children:a,...i}=n;Lt(a)&&typeof we=="function"&&(a=we(a._payload));const c=s.Children.toArray(a),u=c.find(Bn);if(u){const l=u.props.children,d=c.map(f=>f===u?s.Children.count(l)>1?s.Children.only(null):s.isValidElement(l)?l.props.children:null:f);return v.jsx(t,{...i,ref:o,children:s.isValidElement(l)?s.cloneElement(l,void 0,d):null})}return v.jsx(t,{...i,ref:o,children:a})});return r.displayName=`${e}.Slot`,r}var Ls=Wn("Slot");function $n(e){const t=s.forwardRef((r,n)=>{let{children:o,...a}=r;if(Lt(o)&&typeof we=="function"&&(o=we(o._payload)),s.isValidElement(o)){const i=Vn(o),c=Un(a,o.props);return o.type!==s.Fragment&&(c.ref=n?Ke(n,i):i),s.cloneElement(o,c)}return s.Children.count(o)>1?s.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Hn=Symbol("radix.slottable");function Bn(e){return s.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Hn}function Un(e,t){const r={...t};for(const n in t){const o=e[n],a=t[n];/^on[A-Z]/.test(n)?o&&a?r[n]=(...c)=>{const u=a(...c);return o(...c),u}:o&&(r[n]=o):n==="style"?r[n]={...o,...a}:n==="className"&&(r[n]=[o,a].filter(Boolean).join(" "))}return{...e,...r}}function Vn(e){var n,o;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function oe(e){const t=zn(e),r=s.forwardRef((n,o)=>{const{children:a,...i}=n,c=s.Children.toArray(a),u=c.find(Gn);if(u){const l=u.props.children,d=c.map(f=>f===u?s.Children.count(l)>1?s.Children.only(null):s.isValidElement(l)?l.props.children:null:f);return v.jsx(t,{...i,ref:o,children:s.isValidElement(l)?s.cloneElement(l,void 0,d):null})}return v.jsx(t,{...i,ref:o,children:a})});return r.displayName=`${e}.Slot`,r}function zn(e){const t=s.forwardRef((r,n)=>{const{children:o,...a}=r;if(s.isValidElement(o)){const i=Kn(o),c=Xn(a,o.props);return o.type!==s.Fragment&&(c.ref=n?Ke(n,i):i),s.cloneElement(o,c)}return s.Children.count(o)>1?s.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var jt=Symbol("radix.slottable");function Yn(e){const t=({children:r})=>v.jsx(v.Fragment,{children:r});return t.displayName=`${e}.Slottable`,t.__radixId=jt,t}function Gn(e){return s.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===jt}function Xn(e,t){const r={...t};for(const n in t){const o=e[n],a=t[n];/^on[A-Z]/.test(n)?o&&a?r[n]=(...c)=>{const u=a(...c);return o(...c),u}:o&&(r[n]=o):n==="style"?r[n]={...o,...a}:n==="className"&&(r[n]=[o,a].filter(Boolean).join(" "))}return{...e,...r}}function Kn(e){var n,o;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var Zn=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],_=Zn.reduce((e,t)=>{const r=oe(`Primitive.${t}`),n=s.forwardRef((o,a)=>{const{asChild:i,...c}=o,u=i?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),v.jsx(u,{...c,ref:a})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function qn(e,t){e&&Rn.flushSync(()=>e.dispatchEvent(t))}var $=globalThis!=null&&globalThis.document?s.useLayoutEffect:()=>{};function Qn(e,t){return s.useReducer((r,n)=>t[r][n]??r,e)}var M=e=>{const{present:t,children:r}=e,n=Jn(t),o=typeof r=="function"?r({present:n.isPresent}):s.Children.only(r),a=N(n.ref,eo(o));return typeof r=="function"||n.isPresent?s.cloneElement(o,{ref:a}):null};M.displayName="Presence";function Jn(e){const[t,r]=s.useState(),n=s.useRef(null),o=s.useRef(e),a=s.useRef("none"),i=e?"mounted":"unmounted",[c,u]=Qn(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return s.useEffect(()=>{const l=pe(n.current);a.current=c==="mounted"?l:"none"},[c]),$(()=>{const l=n.current,d=o.current;if(d!==e){const p=a.current,m=pe(l);e?u("MOUNT"):m==="none"||(l==null?void 0:l.display)==="none"?u("UNMOUNT"):u(d&&p!==m?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,u]),$(()=>{if(t){let l;const d=t.ownerDocument.defaultView??window,f=m=>{const h=pe(n.current).includes(CSS.escape(m.animationName));if(m.target===t&&h&&(u("ANIMATION_END"),!o.current)){const g=t.style.animationFillMode;t.style.animationFillMode="forwards",l=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=g)})}},p=m=>{m.target===t&&(a.current=pe(n.current))};return t.addEventListener("animationstart",p),t.addEventListener("animationcancel",f),t.addEventListener("animationend",f),()=>{d.clearTimeout(l),t.removeEventListener("animationstart",p),t.removeEventListener("animationcancel",f),t.removeEventListener("animationend",f)}}else u("ANIMATION_END")},[t,u]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:s.useCallback(l=>{n.current=l?getComputedStyle(l):null,r(l)},[])}}function pe(e){return(e==null?void 0:e.animationName)||"none"}function eo(e){var n,o;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function to(e,t){const r=s.createContext(t),n=a=>{const{children:i,...c}=a,u=s.useMemo(()=>c,Object.values(c));return v.jsx(r.Provider,{value:u,children:i})};n.displayName=e+"Provider";function o(a){const i=s.useContext(r);if(i)return i;if(t!==void 0)return t;throw new Error(`\`${a}\` must be used within \`${e}\``)}return[n,o]}function B(e,t=[]){let r=[];function n(a,i){const c=s.createContext(i),u=r.length;r=[...r,i];const l=f=>{var b;const{scope:p,children:m,...y}=f,h=((b=p==null?void 0:p[e])==null?void 0:b[u])||c,g=s.useMemo(()=>y,Object.values(y));return v.jsx(h.Provider,{value:g,children:m})};l.displayName=a+"Provider";function d(f,p){var h;const m=((h=p==null?void 0:p[e])==null?void 0:h[u])||c,y=s.useContext(m);if(y)return y;if(i!==void 0)return i;throw new Error(`\`${f}\` must be used within \`${a}\``)}return[l,d]}const o=()=>{const a=r.map(i=>s.createContext(i));return function(c){const u=(c==null?void 0:c[e])||a;return s.useMemo(()=>({[`__scope${e}`]:{...c,[e]:u}}),[c,u])}};return o.scopeName=e,[n,ro(o,...t)]}function ro(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(a){const i=n.reduce((c,{useScope:u,scopeName:l})=>{const f=u(a)[`__scope${l}`];return{...c,...f}},{});return s.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return r.scopeName=t.scopeName,r}function I(e){const t=s.useRef(e);return s.useEffect(()=>{t.current=e}),s.useMemo(()=>(...r)=>{var n;return(n=t.current)==null?void 0:n.call(t,...r)},[])}var no=s.createContext(void 0);function Ze(e){const t=s.useContext(no);return e||t||"ltr"}function oo(e,[t,r]){return Math.min(r,Math.max(t,e))}function P(e,t,{checkForDefaultPrevented:r=!0}={}){return function(o){if(e==null||e(o),r===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function ao(e,t){return s.useReducer((r,n)=>t[r][n]??r,e)}var qe="ScrollArea",[Ft]=B(qe),[so,L]=Ft(qe),kt=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,type:n="hover",dir:o,scrollHideDelay:a=600,...i}=e,[c,u]=s.useState(null),[l,d]=s.useState(null),[f,p]=s.useState(null),[m,y]=s.useState(null),[h,g]=s.useState(null),[b,w]=s.useState(0),[C,E]=s.useState(0),[x,R]=s.useState(!1),[S,T]=s.useState(!1),A=N(t,D=>u(D)),O=Ze(o);return v.jsx(so,{scope:r,type:n,dir:O,scrollHideDelay:a,scrollArea:c,viewport:l,onViewportChange:d,content:f,onContentChange:p,scrollbarX:m,onScrollbarXChange:y,scrollbarXEnabled:x,onScrollbarXEnabledChange:R,scrollbarY:h,onScrollbarYChange:g,scrollbarYEnabled:S,onScrollbarYEnabledChange:T,onCornerWidthChange:w,onCornerHeightChange:E,children:v.jsx(_.div,{dir:O,...i,ref:A,style:{position:"relative","--radix-scroll-area-corner-width":b+"px","--radix-scroll-area-corner-height":C+"px",...e.style}})})});kt.displayName=qe;var Wt="ScrollAreaViewport",$t=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,children:n,nonce:o,...a}=e,i=L(Wt,r),c=s.useRef(null),u=N(t,c,i.onViewportChange);return v.jsxs(v.Fragment,{children:[v.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),v.jsx(_.div,{"data-radix-scroll-area-viewport":"",...a,ref:u,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...e.style},children:v.jsx("div",{ref:i.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});$t.displayName=Wt;var k="ScrollAreaScrollbar",io=s.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=L(k,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:i}=o,c=e.orientation==="horizontal";return s.useEffect(()=>(c?a(!0):i(!0),()=>{c?a(!1):i(!1)}),[c,a,i]),o.type==="hover"?v.jsx(co,{...n,ref:t,forceMount:r}):o.type==="scroll"?v.jsx(lo,{...n,ref:t,forceMount:r}):o.type==="auto"?v.jsx(Ht,{...n,ref:t,forceMount:r}):o.type==="always"?v.jsx(Qe,{...n,ref:t}):null});io.displayName=k;var co=s.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=L(k,e.__scopeScrollArea),[a,i]=s.useState(!1);return s.useEffect(()=>{const c=o.scrollArea;let u=0;if(c){const l=()=>{window.clearTimeout(u),i(!0)},d=()=>{u=window.setTimeout(()=>i(!1),o.scrollHideDelay)};return c.addEventListener("pointerenter",l),c.addEventListener("pointerleave",d),()=>{window.clearTimeout(u),c.removeEventListener("pointerenter",l),c.removeEventListener("pointerleave",d)}}},[o.scrollArea,o.scrollHideDelay]),v.jsx(M,{present:r||a,children:v.jsx(Ht,{"data-state":a?"visible":"hidden",...n,ref:t})})}),lo=s.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=L(k,e.__scopeScrollArea),a=e.orientation==="horizontal",i=Pe(()=>u("SCROLL_END"),100),[c,u]=ao("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return s.useEffect(()=>{if(c==="idle"){const l=window.setTimeout(()=>u("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(l)}},[c,o.scrollHideDelay,u]),s.useEffect(()=>{const l=o.viewport,d=a?"scrollLeft":"scrollTop";if(l){let f=l[d];const p=()=>{const m=l[d];f!==m&&(u("SCROLL"),i()),f=m};return l.addEventListener("scroll",p),()=>l.removeEventListener("scroll",p)}},[o.viewport,a,u,i]),v.jsx(M,{present:r||c!=="hidden",children:v.jsx(Qe,{"data-state":c==="hidden"?"hidden":"visible",...n,ref:t,onPointerEnter:P(e.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:P(e.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),Ht=s.forwardRef((e,t)=>{const r=L(k,e.__scopeScrollArea),{forceMount:n,...o}=e,[a,i]=s.useState(!1),c=e.orientation==="horizontal",u=Pe(()=>{if(r.viewport){const l=r.viewport.offsetWidth<r.viewport.scrollWidth,d=r.viewport.offsetHeight<r.viewport.scrollHeight;i(c?l:d)}},10);return ee(r.viewport,u),ee(r.content,u),v.jsx(M,{present:n||a,children:v.jsx(Qe,{"data-state":a?"visible":"hidden",...o,ref:t})})}),Qe=s.forwardRef((e,t)=>{const{orientation:r="vertical",...n}=e,o=L(k,e.__scopeScrollArea),a=s.useRef(null),i=s.useRef(0),[c,u]=s.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=zt(c.viewport,c.content),d={...n,sizes:c,onSizesChange:u,hasThumb:l>0&&l<1,onThumbChange:p=>a.current=p,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:p=>i.current=p};function f(p,m){return go(p,i.current,c,m)}return r==="horizontal"?v.jsx(uo,{...d,ref:t,onThumbPositionChange:()=>{if(o.viewport&&a.current){const p=o.viewport.scrollLeft,m=Et(p,c,o.dir);a.current.style.transform=`translate3d(${m}px, 0, 0)`}},onWheelScroll:p=>{o.viewport&&(o.viewport.scrollLeft=p)},onDragScroll:p=>{o.viewport&&(o.viewport.scrollLeft=f(p,o.dir))}}):r==="vertical"?v.jsx(fo,{...d,ref:t,onThumbPositionChange:()=>{if(o.viewport&&a.current){const p=o.viewport.scrollTop,m=Et(p,c);a.current.style.transform=`translate3d(0, ${m}px, 0)`}},onWheelScroll:p=>{o.viewport&&(o.viewport.scrollTop=p)},onDragScroll:p=>{o.viewport&&(o.viewport.scrollTop=f(p))}}):null}),uo=s.forwardRef((e,t)=>{const{sizes:r,onSizesChange:n,...o}=e,a=L(k,e.__scopeScrollArea),[i,c]=s.useState(),u=s.useRef(null),l=N(t,u,a.onScrollbarXChange);return s.useEffect(()=>{u.current&&c(getComputedStyle(u.current))},[u]),v.jsx(Ut,{"data-orientation":"horizontal",...o,ref:l,sizes:r,style:{bottom:0,left:a.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:a.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":xe(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.x),onDragScroll:d=>e.onDragScroll(d.x),onWheelScroll:(d,f)=>{if(a.viewport){const p=a.viewport.scrollLeft+d.deltaX;e.onWheelScroll(p),Gt(p,f)&&d.preventDefault()}},onResize:()=>{u.current&&a.viewport&&i&&n({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:Ee(i.paddingLeft),paddingEnd:Ee(i.paddingRight)}})}})}),fo=s.forwardRef((e,t)=>{const{sizes:r,onSizesChange:n,...o}=e,a=L(k,e.__scopeScrollArea),[i,c]=s.useState(),u=s.useRef(null),l=N(t,u,a.onScrollbarYChange);return s.useEffect(()=>{u.current&&c(getComputedStyle(u.current))},[u]),v.jsx(Ut,{"data-orientation":"vertical",...o,ref:l,sizes:r,style:{top:0,right:a.dir==="ltr"?0:void 0,left:a.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":xe(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.y),onDragScroll:d=>e.onDragScroll(d.y),onWheelScroll:(d,f)=>{if(a.viewport){const p=a.viewport.scrollTop+d.deltaY;e.onWheelScroll(p),Gt(p,f)&&d.preventDefault()}},onResize:()=>{u.current&&a.viewport&&i&&n({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:Ee(i.paddingTop),paddingEnd:Ee(i.paddingBottom)}})}})}),[po,Bt]=Ft(k),Ut=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,sizes:n,hasThumb:o,onThumbChange:a,onThumbPointerUp:i,onThumbPointerDown:c,onThumbPositionChange:u,onDragScroll:l,onWheelScroll:d,onResize:f,...p}=e,m=L(k,r),[y,h]=s.useState(null),g=N(t,A=>h(A)),b=s.useRef(null),w=s.useRef(""),C=m.viewport,E=n.content-n.viewport,x=I(d),R=I(u),S=Pe(f,10);function T(A){if(b.current){const O=A.clientX-b.current.left,D=A.clientY-b.current.top;l({x:O,y:D})}}return s.useEffect(()=>{const A=O=>{const D=O.target;(y==null?void 0:y.contains(D))&&x(O,E)};return document.addEventListener("wheel",A,{passive:!1}),()=>document.removeEventListener("wheel",A,{passive:!1})},[C,y,E,x]),s.useEffect(R,[n,R]),ee(y,S),ee(m.content,S),v.jsx(po,{scope:r,scrollbar:y,hasThumb:o,onThumbChange:I(a),onThumbPointerUp:I(i),onThumbPositionChange:R,onThumbPointerDown:I(c),children:v.jsx(_.div,{...p,ref:g,style:{position:"absolute",...p.style},onPointerDown:P(e.onPointerDown,A=>{A.button===0&&(A.target.setPointerCapture(A.pointerId),b.current=y.getBoundingClientRect(),w.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",m.viewport&&(m.viewport.style.scrollBehavior="auto"),T(A))}),onPointerMove:P(e.onPointerMove,T),onPointerUp:P(e.onPointerUp,A=>{const O=A.target;O.hasPointerCapture(A.pointerId)&&O.releasePointerCapture(A.pointerId),document.body.style.webkitUserSelect=w.current,m.viewport&&(m.viewport.style.scrollBehavior=""),b.current=null})})})}),Ce="ScrollAreaThumb",vo=s.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=Bt(Ce,e.__scopeScrollArea);return v.jsx(M,{present:r||o.hasThumb,children:v.jsx(ho,{ref:t,...n})})}),ho=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,style:n,...o}=e,a=L(Ce,r),i=Bt(Ce,r),{onThumbPositionChange:c}=i,u=N(t,f=>i.onThumbChange(f)),l=s.useRef(void 0),d=Pe(()=>{l.current&&(l.current(),l.current=void 0)},100);return s.useEffect(()=>{const f=a.viewport;if(f){const p=()=>{if(d(),!l.current){const m=bo(f,c);l.current=m,c()}};return c(),f.addEventListener("scroll",p),()=>f.removeEventListener("scroll",p)}},[a.viewport,d,c]),v.jsx(_.div,{"data-state":i.hasThumb?"visible":"hidden",...o,ref:u,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:P(e.onPointerDownCapture,f=>{const m=f.target.getBoundingClientRect(),y=f.clientX-m.left,h=f.clientY-m.top;i.onThumbPointerDown({x:y,y:h})}),onPointerUp:P(e.onPointerUp,i.onThumbPointerUp)})});vo.displayName=Ce;var Je="ScrollAreaCorner",Vt=s.forwardRef((e,t)=>{const r=L(Je,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?v.jsx(mo,{...e,ref:t}):null});Vt.displayName=Je;var mo=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,...n}=e,o=L(Je,r),[a,i]=s.useState(0),[c,u]=s.useState(0),l=!!(a&&c);return ee(o.scrollbarX,()=>{var f;const d=((f=o.scrollbarX)==null?void 0:f.offsetHeight)||0;o.onCornerHeightChange(d),u(d)}),ee(o.scrollbarY,()=>{var f;const d=((f=o.scrollbarY)==null?void 0:f.offsetWidth)||0;o.onCornerWidthChange(d),i(d)}),l?v.jsx(_.div,{...n,ref:t,style:{width:a,height:c,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function Ee(e){return e?parseInt(e,10):0}function zt(e,t){const r=e/t;return isNaN(r)?0:r}function xe(e){const t=zt(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,n=(e.scrollbar.size-r)*t;return Math.max(n,18)}function go(e,t,r,n="ltr"){const o=xe(r),a=o/2,i=t||a,c=o-i,u=r.scrollbar.paddingStart+i,l=r.scrollbar.size-r.scrollbar.paddingEnd-c,d=r.content-r.viewport,f=n==="ltr"?[0,d]:[d*-1,0];return Yt([u,l],f)(e)}function Et(e,t,r="ltr"){const n=xe(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-o,i=t.content-t.viewport,c=a-n,u=r==="ltr"?[0,i]:[i*-1,0],l=oo(e,u);return Yt([0,i],[0,c])(l)}function Yt(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}function Gt(e,t){return e>0&&e<t}var bo=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return function o(){const a={left:e.scrollLeft,top:e.scrollTop},i=r.left!==a.left,c=r.top!==a.top;(i||c)&&t(),r=a,n=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(n)};function Pe(e,t){const r=I(e),n=s.useRef(0);return s.useEffect(()=>()=>window.clearTimeout(n.current),[]),s.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function ee(e,t){const r=I(t);$(()=>{let n=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return o.observe(e),()=>{window.cancelAnimationFrame(n),o.unobserve(e)}}},[e,r])}var js=kt,Fs=$t,ks=Vt;function yo(e,t=globalThis==null?void 0:globalThis.document){const r=I(e);s.useEffect(()=>{const n=o=>{o.key==="Escape"&&r(o)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var wo="DismissableLayer",Ue="dismissableLayer.update",Co="dismissableLayer.pointerDownOutside",Eo="dismissableLayer.focusOutside",St,Xt=s.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Re=s.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:n,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:i,onDismiss:c,...u}=e,l=s.useContext(Xt),[d,f]=s.useState(null),p=(d==null?void 0:d.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,m]=s.useState({}),y=N(t,S=>f(S)),h=Array.from(l.layers),[g]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),b=h.indexOf(g),w=d?h.indexOf(d):-1,C=l.layersWithOutsidePointerEventsDisabled.size>0,E=w>=b,x=Po(S=>{const T=S.target,A=[...l.branches].some(O=>O.contains(T));!E||A||(o==null||o(S),i==null||i(S),S.defaultPrevented||c==null||c())},p),R=Ro(S=>{const T=S.target;[...l.branches].some(O=>O.contains(T))||(a==null||a(S),i==null||i(S),S.defaultPrevented||c==null||c())},p);return yo(S=>{w===l.layers.size-1&&(n==null||n(S),!S.defaultPrevented&&c&&(S.preventDefault(),c()))},p),s.useEffect(()=>{if(d)return r&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(St=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(d)),l.layers.add(d),xt(),()=>{r&&l.layersWithOutsidePointerEventsDisabled.size===1&&(p.body.style.pointerEvents=St)}},[d,p,r,l]),s.useEffect(()=>()=>{d&&(l.layers.delete(d),l.layersWithOutsidePointerEventsDisabled.delete(d),xt())},[d,l]),s.useEffect(()=>{const S=()=>m({});return document.addEventListener(Ue,S),()=>document.removeEventListener(Ue,S)},[]),v.jsx(_.div,{...u,ref:y,style:{pointerEvents:C?E?"auto":"none":void 0,...e.style},onFocusCapture:P(e.onFocusCapture,R.onFocusCapture),onBlurCapture:P(e.onBlurCapture,R.onBlurCapture),onPointerDownCapture:P(e.onPointerDownCapture,x.onPointerDownCapture)})});Re.displayName=wo;var So="DismissableLayerBranch",xo=s.forwardRef((e,t)=>{const r=s.useContext(Xt),n=s.useRef(null),o=N(t,n);return s.useEffect(()=>{const a=n.current;if(a)return r.branches.add(a),()=>{r.branches.delete(a)}},[r.branches]),v.jsx(_.div,{...e,ref:o})});xo.displayName=So;function Po(e,t=globalThis==null?void 0:globalThis.document){const r=I(e),n=s.useRef(!1),o=s.useRef(()=>{});return s.useEffect(()=>{const a=c=>{if(c.target&&!n.current){let u=function(){Kt(Co,r,l,{discrete:!0})};const l={originalEvent:c};c.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=u,t.addEventListener("click",o.current,{once:!0})):u()}else t.removeEventListener("click",o.current);n.current=!1},i=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(i),t.removeEventListener("pointerdown",a),t.removeEventListener("click",o.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}function Ro(e,t=globalThis==null?void 0:globalThis.document){const r=I(e),n=s.useRef(!1);return s.useEffect(()=>{const o=a=>{a.target&&!n.current&&Kt(Eo,r,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function xt(){const e=new CustomEvent(Ue);document.dispatchEvent(e)}function Kt(e,t,r,{discrete:n}){const o=r.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&o.addEventListener(e,t,{once:!0}),n?qn(o,a):o.dispatchEvent(a)}var Le=0;function Zt(){s.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??Pt()),document.body.insertAdjacentElement("beforeend",e[1]??Pt()),Le++,()=>{Le===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),Le--}},[])}function Pt(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var je="focusScope.autoFocusOnMount",Fe="focusScope.autoFocusOnUnmount",Rt={bubbles:!1,cancelable:!0},To="FocusScope",et=s.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:o,onUnmountAutoFocus:a,...i}=e,[c,u]=s.useState(null),l=I(o),d=I(a),f=s.useRef(null),p=N(t,h=>u(h)),m=s.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;s.useEffect(()=>{if(n){let h=function(C){if(m.paused||!c)return;const E=C.target;c.contains(E)?f.current=E:H(f.current,{select:!0})},g=function(C){if(m.paused||!c)return;const E=C.relatedTarget;E!==null&&(c.contains(E)||H(f.current,{select:!0}))},b=function(C){if(document.activeElement===document.body)for(const x of C)x.removedNodes.length>0&&H(c)};document.addEventListener("focusin",h),document.addEventListener("focusout",g);const w=new MutationObserver(b);return c&&w.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",h),document.removeEventListener("focusout",g),w.disconnect()}}},[n,c,m.paused]),s.useEffect(()=>{if(c){At.add(m);const h=document.activeElement;if(!c.contains(h)){const b=new CustomEvent(je,Rt);c.addEventListener(je,l),c.dispatchEvent(b),b.defaultPrevented||(Ao(Io(qt(c)),{select:!0}),document.activeElement===h&&H(c))}return()=>{c.removeEventListener(je,l),setTimeout(()=>{const b=new CustomEvent(Fe,Rt);c.addEventListener(Fe,d),c.dispatchEvent(b),b.defaultPrevented||H(h??document.body,{select:!0}),c.removeEventListener(Fe,d),At.remove(m)},0)}}},[c,l,d,m]);const y=s.useCallback(h=>{if(!r&&!n||m.paused)return;const g=h.key==="Tab"&&!h.altKey&&!h.ctrlKey&&!h.metaKey,b=document.activeElement;if(g&&b){const w=h.currentTarget,[C,E]=_o(w);C&&E?!h.shiftKey&&b===E?(h.preventDefault(),r&&H(C,{select:!0})):h.shiftKey&&b===C&&(h.preventDefault(),r&&H(E,{select:!0})):b===w&&h.preventDefault()}},[r,n,m.paused]);return v.jsx(_.div,{tabIndex:-1,...i,ref:p,onKeyDown:y})});et.displayName=To;function Ao(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(H(n,{select:t}),document.activeElement!==r)return}function _o(e){const t=qt(e),r=Tt(t,e),n=Tt(t.reverse(),e);return[r,n]}function qt(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const o=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||o?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function Tt(e,t){for(const r of e)if(!Oo(r,{upTo:t}))return r}function Oo(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function No(e){return e instanceof HTMLInputElement&&"select"in e}function H(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&No(e)&&t&&e.select()}}var At=Do();function Do(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=_t(e,t),e.unshift(t)},remove(t){var r;e=_t(e,t),(r=e[0])==null||r.resume()}}}function _t(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function Io(e){return e.filter(t=>t.tagName!=="A")}var Mo=Xe[" useId ".trim().toString()]||(()=>{}),Lo=0;function Y(e){const[t,r]=s.useState(Mo());return $(()=>{r(n=>n??String(Lo++))},[e]),e||(t?`radix-${t}`:"")}var jo="Arrow",Qt=s.forwardRef((e,t)=>{const{children:r,width:n=10,height:o=5,...a}=e;return v.jsx(_.svg,{...a,ref:t,width:n,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:v.jsx("polygon",{points:"0,0 30,0 15,10"})})});Qt.displayName=jo;var Fo=Qt;function ko(e){const[t,r]=s.useState(void 0);return $(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const n=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const a=o[0];let i,c;if("borderBoxSize"in a){const u=a.borderBoxSize,l=Array.isArray(u)?u[0]:u;i=l.inlineSize,c=l.blockSize}else i=e.offsetWidth,c=e.offsetHeight;r({width:i,height:c})});return n.observe(e,{box:"border-box"}),()=>n.unobserve(e)}else r(void 0)},[e]),t}var tt="Popper",[Jt,Te]=B(tt),[Wo,er]=Jt(tt),tr=e=>{const{__scopePopper:t,children:r}=e,[n,o]=s.useState(null);return v.jsx(Wo,{scope:t,anchor:n,onAnchorChange:o,children:r})};tr.displayName=tt;var rr="PopperAnchor",nr=s.forwardRef((e,t)=>{const{__scopePopper:r,virtualRef:n,...o}=e,a=er(rr,r),i=s.useRef(null),c=N(t,i),u=s.useRef(null);return s.useEffect(()=>{const l=u.current;u.current=(n==null?void 0:n.current)||i.current,l!==u.current&&a.onAnchorChange(u.current)}),n?null:v.jsx(_.div,{...o,ref:c})});nr.displayName=rr;var rt="PopperContent",[$o,Ho]=Jt(rt),or=s.forwardRef((e,t)=>{var vt,ht,mt,gt,bt,yt;const{__scopePopper:r,side:n="bottom",sideOffset:o=0,align:a="center",alignOffset:i=0,arrowPadding:c=0,avoidCollisions:u=!0,collisionBoundary:l=[],collisionPadding:d=0,sticky:f="partial",hideWhenDetached:p=!1,updatePositionStrategy:m="optimized",onPlaced:y,...h}=e,g=er(rt,r),[b,w]=s.useState(null),C=N(t,ne=>w(ne)),[E,x]=s.useState(null),R=ko(E),S=(R==null?void 0:R.width)??0,T=(R==null?void 0:R.height)??0,A=n+(a!=="center"?"-"+a:""),O=typeof d=="number"?d:{top:0,right:0,bottom:0,left:0,...d},D=Array.isArray(l)?l:[l],V=D.length>0,X={padding:O,boundary:D.filter(Uo),altBoundary:V},{refs:ft,floatingStyles:le,placement:W,isPositioned:ue,middlewareData:K}=Tn({strategy:"fixed",placement:A,whileElementsMounted:(...ne)=>Ln(...ne,{animationFrame:m==="always"}),elements:{reference:g.anchor},middleware:[An({mainAxis:o+T,alignmentAxis:i}),u&&_n({mainAxis:!0,crossAxis:!1,limiter:f==="partial"?Mn():void 0,...X}),u&&On({...X}),Nn({...X,apply:({elements:ne,rects:wt,availableWidth:En,availableHeight:Sn})=>{const{width:xn,height:Pn}=wt.reference,fe=ne.floating.style;fe.setProperty("--radix-popper-available-width",`${En}px`),fe.setProperty("--radix-popper-available-height",`${Sn}px`),fe.setProperty("--radix-popper-anchor-width",`${xn}px`),fe.setProperty("--radix-popper-anchor-height",`${Pn}px`)}}),E&&Dn({element:E,padding:c}),Vo({arrowWidth:S,arrowHeight:T}),p&&In({strategy:"referenceHidden",...X})]}),[pt,mn]=ir(W),de=I(y);$(()=>{ue&&(de==null||de())},[ue,de]);const gn=(vt=K.arrow)==null?void 0:vt.x,bn=(ht=K.arrow)==null?void 0:ht.y,yn=((mt=K.arrow)==null?void 0:mt.centerOffset)!==0,[wn,Cn]=s.useState();return $(()=>{b&&Cn(window.getComputedStyle(b).zIndex)},[b]),v.jsx("div",{ref:ft.setFloating,"data-radix-popper-content-wrapper":"",style:{...le,transform:ue?le.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:wn,"--radix-popper-transform-origin":[(gt=K.transformOrigin)==null?void 0:gt.x,(bt=K.transformOrigin)==null?void 0:bt.y].join(" "),...((yt=K.hide)==null?void 0:yt.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:v.jsx($o,{scope:r,placedSide:pt,onArrowChange:x,arrowX:gn,arrowY:bn,shouldHideArrow:yn,children:v.jsx(_.div,{"data-side":pt,"data-align":mn,...h,ref:C,style:{...h.style,animation:ue?void 0:"none"}})})})});or.displayName=rt;var ar="PopperArrow",Bo={top:"bottom",right:"left",bottom:"top",left:"right"},sr=s.forwardRef(function(t,r){const{__scopePopper:n,...o}=t,a=Ho(ar,n),i=Bo[a.placedSide];return v.jsx("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:v.jsx(Fo,{...o,ref:r,style:{...o.style,display:"block"}})})});sr.displayName=ar;function Uo(e){return e!==null}var Vo=e=>({name:"transformOrigin",options:e,fn(t){var g,b,w;const{placement:r,rects:n,middlewareData:o}=t,i=((g=o.arrow)==null?void 0:g.centerOffset)!==0,c=i?0:e.arrowWidth,u=i?0:e.arrowHeight,[l,d]=ir(r),f={start:"0%",center:"50%",end:"100%"}[d],p=(((b=o.arrow)==null?void 0:b.x)??0)+c/2,m=(((w=o.arrow)==null?void 0:w.y)??0)+u/2;let y="",h="";return l==="bottom"?(y=i?f:`${p}px`,h=`${-u}px`):l==="top"?(y=i?f:`${p}px`,h=`${n.floating.height+u}px`):l==="right"?(y=`${-u}px`,h=i?f:`${m}px`):l==="left"&&(y=`${n.floating.width+u}px`,h=i?f:`${m}px`),{data:{x:y,y:h}}}});function ir(e){const[t,r="center"]=e.split("-");return[t,r]}var cr=tr,nt=nr,lr=or,ur=sr,zo="Portal",ot=s.forwardRef((e,t)=>{var c;const{container:r,...n}=e,[o,a]=s.useState(!1);$(()=>a(!0),[]);const i=r||o&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return i?jn.createPortal(v.jsx(_.div,{...n,ref:t}),i):null});ot.displayName=zo;var Yo=Xe[" useInsertionEffect ".trim().toString()]||$;function se({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[o,a,i]=Go({defaultProp:t,onChange:r}),c=e!==void 0,u=c?e:o;{const d=s.useRef(e!==void 0);s.useEffect(()=>{const f=d.current;f!==c&&console.warn(`${n} is changing from ${f?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=c},[c,n])}const l=s.useCallback(d=>{var f;if(c){const p=Xo(d)?d(e):d;p!==e&&((f=i.current)==null||f.call(i,p))}else a(d)},[c,e,a,i]);return[u,l]}function Go({defaultProp:e,onChange:t}){const[r,n]=s.useState(e),o=s.useRef(r),a=s.useRef(t);return Yo(()=>{a.current=t},[t]),s.useEffect(()=>{var i;o.current!==r&&((i=a.current)==null||i.call(a,r),o.current=r)},[r,o]),[r,n,a]}function Xo(e){return typeof e=="function"}var Ko=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Z=new WeakMap,ve=new WeakMap,he={},ke=0,dr=function(e){return e&&(e.host||dr(e.parentNode))},Zo=function(e,t){return t.map(function(r){if(e.contains(r))return r;var n=dr(r);return n&&e.contains(n)?n:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},qo=function(e,t,r,n){var o=Zo(t,Array.isArray(e)?e:[e]);he[r]||(he[r]=new WeakMap);var a=he[r],i=[],c=new Set,u=new Set(o),l=function(f){!f||c.has(f)||(c.add(f),l(f.parentNode))};o.forEach(l);var d=function(f){!f||u.has(f)||Array.prototype.forEach.call(f.children,function(p){if(c.has(p))d(p);else try{var m=p.getAttribute(n),y=m!==null&&m!=="false",h=(Z.get(p)||0)+1,g=(a.get(p)||0)+1;Z.set(p,h),a.set(p,g),i.push(p),h===1&&y&&ve.set(p,!0),g===1&&p.setAttribute(r,"true"),y||p.setAttribute(n,"true")}catch(b){console.error("aria-hidden: cannot operate on ",p,b)}})};return d(t),c.clear(),ke++,function(){i.forEach(function(f){var p=Z.get(f)-1,m=a.get(f)-1;Z.set(f,p),a.set(f,m),p||(ve.has(f)||f.removeAttribute(n),ve.delete(f)),m||f.removeAttribute(r)}),ke--,ke||(Z=new WeakMap,Z=new WeakMap,ve=new WeakMap,he={})}},fr=function(e,t,r){r===void 0&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),o=Ko(e);return o?(n.push.apply(n,Array.from(o.querySelectorAll("[aria-live], script"))),qo(n,o,r,"aria-hidden")):function(){return null}},F=function(){return F=Object.assign||function(t){for(var r,n=1,o=arguments.length;n<o;n++){r=arguments[n];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(t[a]=r[a])}return t},F.apply(this,arguments)};function pr(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r}function Ws(e,t,r,n){function o(a){return a instanceof r?a:new r(function(i){i(a)})}return new(r||(r=Promise))(function(a,i){function c(d){try{l(n.next(d))}catch(f){i(f)}}function u(d){try{l(n.throw(d))}catch(f){i(f)}}function l(d){d.done?a(d.value):o(d.value).then(c,u)}l((n=n.apply(e,t||[])).next())})}function $s(e,t){var r={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,o,a,i=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return i.next=c(0),i.throw=c(1),i.return=c(2),typeof Symbol=="function"&&(i[Symbol.iterator]=function(){return this}),i;function c(l){return function(d){return u([l,d])}}function u(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(r=0)),r;)try{if(n=1,o&&(a=l[0]&2?o.return:l[0]?o.throw||((a=o.return)&&a.call(o),0):o.next)&&!(a=a.call(o,l[1])).done)return a;switch(o=0,a&&(l=[l[0]&2,a.value]),l[0]){case 0:case 1:a=l;break;case 4:return r.label++,{value:l[1],done:!1};case 5:r.label++,o=l[1],l=[0];continue;case 7:l=r.ops.pop(),r.trys.pop();continue;default:if(a=r.trys,!(a=a.length>0&&a[a.length-1])&&(l[0]===6||l[0]===2)){r=0;continue}if(l[0]===3&&(!a||l[1]>a[0]&&l[1]<a[3])){r.label=l[1];break}if(l[0]===6&&r.label<a[1]){r.label=a[1],a=l;break}if(a&&r.label<a[2]){r.label=a[2],r.ops.push(l);break}a[2]&&r.ops.pop(),r.trys.pop();continue}l=t.call(e,r)}catch(d){l=[6,d],o=0}finally{n=a=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}function Hs(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),o,a=[],i;try{for(;(t===void 0||t-- >0)&&!(o=n.next()).done;)a.push(o.value)}catch(c){i={error:c}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(i)throw i.error}}return a}function Qo(e,t,r){if(r||arguments.length===2)for(var n=0,o=t.length,a;n<o;n++)(a||!(n in t))&&(a||(a=Array.prototype.slice.call(t,0,n)),a[n]=t[n]);return e.concat(a||Array.prototype.slice.call(t))}var be="right-scroll-bar-position",ye="width-before-scroll-bar",Jo="with-scroll-bars-hidden",ea="--removed-body-scroll-bar-size";function We(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function ta(e,t){var r=s.useState(function(){return{value:e,callback:t,facade:{get current(){return r.value},set current(n){var o=r.value;o!==n&&(r.value=n,r.callback(n,o))}}}})[0];return r.callback=t,r.facade}var ra=typeof window<"u"?s.useLayoutEffect:s.useEffect,Ot=new WeakMap;function na(e,t){var r=ta(null,function(n){return e.forEach(function(o){return We(o,n)})});return ra(function(){var n=Ot.get(r);if(n){var o=new Set(n),a=new Set(e),i=r.current;o.forEach(function(c){a.has(c)||We(c,null)}),a.forEach(function(c){o.has(c)||We(c,i)})}Ot.set(r,e)},[e]),r}function oa(e){return e}function aa(e,t){t===void 0&&(t=oa);var r=[],n=!1,o={read:function(){if(n)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:e},useMedium:function(a){var i=t(a,n);return r.push(i),function(){r=r.filter(function(c){return c!==i})}},assignSyncMedium:function(a){for(n=!0;r.length;){var i=r;r=[],i.forEach(a)}r={push:function(c){return a(c)},filter:function(){return r}}},assignMedium:function(a){n=!0;var i=[];if(r.length){var c=r;r=[],c.forEach(a),i=r}var u=function(){var d=i;i=[],d.forEach(a)},l=function(){return Promise.resolve().then(u)};l(),r={push:function(d){i.push(d),l()},filter:function(d){return i=i.filter(d),r}}}};return o}function sa(e){e===void 0&&(e={});var t=aa(null);return t.options=F({async:!0,ssr:!1},e),t}var vr=function(e){var t=e.sideCar,r=pr(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var n=t.read();if(!n)throw new Error("Sidecar medium not found");return s.createElement(n,F({},r))};vr.isSideCarExport=!0;function ia(e,t){return e.useMedium(t),vr}var hr=sa(),$e=function(){},Ae=s.forwardRef(function(e,t){var r=s.useRef(null),n=s.useState({onScrollCapture:$e,onWheelCapture:$e,onTouchMoveCapture:$e}),o=n[0],a=n[1],i=e.forwardProps,c=e.children,u=e.className,l=e.removeScrollBar,d=e.enabled,f=e.shards,p=e.sideCar,m=e.noRelative,y=e.noIsolation,h=e.inert,g=e.allowPinchZoom,b=e.as,w=b===void 0?"div":b,C=e.gapMode,E=pr(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),x=p,R=na([r,t]),S=F(F({},E),o);return s.createElement(s.Fragment,null,d&&s.createElement(x,{sideCar:hr,removeScrollBar:l,shards:f,noRelative:m,noIsolation:y,inert:h,setCallbacks:a,allowPinchZoom:!!g,lockRef:r,gapMode:C}),i?s.cloneElement(s.Children.only(c),F(F({},S),{ref:R})):s.createElement(w,F({},S,{className:u,ref:R}),c))});Ae.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Ae.classNames={fullWidth:ye,zeroRight:be};var ca=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function la(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=ca();return t&&e.setAttribute("nonce",t),e}function ua(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function da(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var fa=function(){var e=0,t=null;return{add:function(r){e==0&&(t=la())&&(ua(t,r),da(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},pa=function(){var e=fa();return function(t,r){s.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])}},mr=function(){var e=pa(),t=function(r){var n=r.styles,o=r.dynamic;return e(n,o),null};return t},va={left:0,top:0,right:0,gap:0},He=function(e){return parseInt(e||"",10)||0},ha=function(e){var t=window.getComputedStyle(document.body),r=t[e==="padding"?"paddingLeft":"marginLeft"],n=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[He(r),He(n),He(o)]},ma=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return va;var t=ha(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},ga=mr(),J="data-scroll-locked",ba=function(e,t,r,n){var o=e.left,a=e.top,i=e.right,c=e.gap;return r===void 0&&(r="margin"),`
2
- .`.concat(Jo,` {
3
- overflow: hidden `).concat(n,`;
4
- padding-right: `).concat(c,"px ").concat(n,`;
5
- }
6
- body[`).concat(J,`] {
7
- overflow: hidden `).concat(n,`;
8
- overscroll-behavior: contain;
9
- `).concat([t&&"position: relative ".concat(n,";"),r==="margin"&&`
10
- padding-left: `.concat(o,`px;
11
- padding-top: `).concat(a,`px;
12
- padding-right: `).concat(i,`px;
13
- margin-left:0;
14
- margin-top:0;
15
- margin-right: `).concat(c,"px ").concat(n,`;
16
- `),r==="padding"&&"padding-right: ".concat(c,"px ").concat(n,";")].filter(Boolean).join(""),`
17
- }
18
-
19
- .`).concat(be,` {
20
- right: `).concat(c,"px ").concat(n,`;
21
- }
22
-
23
- .`).concat(ye,` {
24
- margin-right: `).concat(c,"px ").concat(n,`;
25
- }
26
-
27
- .`).concat(be," .").concat(be,` {
28
- right: 0 `).concat(n,`;
29
- }
30
-
31
- .`).concat(ye," .").concat(ye,` {
32
- margin-right: 0 `).concat(n,`;
33
- }
34
-
35
- body[`).concat(J,`] {
36
- `).concat(ea,": ").concat(c,`px;
37
- }
38
- `)},Nt=function(){var e=parseInt(document.body.getAttribute(J)||"0",10);return isFinite(e)?e:0},ya=function(){s.useEffect(function(){return document.body.setAttribute(J,(Nt()+1).toString()),function(){var e=Nt()-1;e<=0?document.body.removeAttribute(J):document.body.setAttribute(J,e.toString())}},[])},wa=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,o=n===void 0?"margin":n;ya();var a=s.useMemo(function(){return ma(o)},[o]);return s.createElement(ga,{styles:ba(a,!t,o,r?"":"!important")})},Ve=!1;if(typeof window<"u")try{var me=Object.defineProperty({},"passive",{get:function(){return Ve=!0,!0}});window.addEventListener("test",me,me),window.removeEventListener("test",me,me)}catch{Ve=!1}var q=Ve?{passive:!1}:!1,Ca=function(e){return e.tagName==="TEXTAREA"},gr=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[t]!=="hidden"&&!(r.overflowY===r.overflowX&&!Ca(e)&&r[t]==="visible")},Ea=function(e){return gr(e,"overflowY")},Sa=function(e){return gr(e,"overflowX")},Dt=function(e,t){var r=t.ownerDocument,n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var o=br(e,n);if(o){var a=yr(e,n),i=a[1],c=a[2];if(i>c)return!0}n=n.parentNode}while(n&&n!==r.body);return!1},xa=function(e){var t=e.scrollTop,r=e.scrollHeight,n=e.clientHeight;return[t,r,n]},Pa=function(e){var t=e.scrollLeft,r=e.scrollWidth,n=e.clientWidth;return[t,r,n]},br=function(e,t){return e==="v"?Ea(t):Sa(t)},yr=function(e,t){return e==="v"?xa(t):Pa(t)},Ra=function(e,t){return e==="h"&&t==="rtl"?-1:1},Ta=function(e,t,r,n,o){var a=Ra(e,window.getComputedStyle(t).direction),i=a*n,c=r.target,u=t.contains(c),l=!1,d=i>0,f=0,p=0;do{if(!c)break;var m=yr(e,c),y=m[0],h=m[1],g=m[2],b=h-g-a*y;(y||b)&&br(e,c)&&(f+=b,p+=y);var w=c.parentNode;c=w&&w.nodeType===Node.DOCUMENT_FRAGMENT_NODE?w.host:w}while(!u&&c!==document.body||u&&(t.contains(c)||t===c));return(d&&Math.abs(f)<1||!d&&Math.abs(p)<1)&&(l=!0),l},ge=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},It=function(e){return[e.deltaX,e.deltaY]},Mt=function(e){return e&&"current"in e?e.current:e},Aa=function(e,t){return e[0]===t[0]&&e[1]===t[1]},_a=function(e){return`
39
- .block-interactivity-`.concat(e,` {pointer-events: none;}
40
- .allow-interactivity-`).concat(e,` {pointer-events: all;}
41
- `)},Oa=0,Q=[];function Na(e){var t=s.useRef([]),r=s.useRef([0,0]),n=s.useRef(),o=s.useState(Oa++)[0],a=s.useState(mr)[0],i=s.useRef(e);s.useEffect(function(){i.current=e},[e]),s.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var h=Qo([e.lockRef.current],(e.shards||[]).map(Mt),!0).filter(Boolean);return h.forEach(function(g){return g.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),h.forEach(function(g){return g.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var c=s.useCallback(function(h,g){if("touches"in h&&h.touches.length===2||h.type==="wheel"&&h.ctrlKey)return!i.current.allowPinchZoom;var b=ge(h),w=r.current,C="deltaX"in h?h.deltaX:w[0]-b[0],E="deltaY"in h?h.deltaY:w[1]-b[1],x,R=h.target,S=Math.abs(C)>Math.abs(E)?"h":"v";if("touches"in h&&S==="h"&&R.type==="range")return!1;var T=window.getSelection(),A=T&&T.anchorNode,O=A?A===R||A.contains(R):!1;if(O)return!1;var D=Dt(S,R);if(!D)return!0;if(D?x=S:(x=S==="v"?"h":"v",D=Dt(S,R)),!D)return!1;if(!n.current&&"changedTouches"in h&&(C||E)&&(n.current=x),!x)return!0;var V=n.current||x;return Ta(V,g,h,V==="h"?C:E)},[]),u=s.useCallback(function(h){var g=h;if(!(!Q.length||Q[Q.length-1]!==a)){var b="deltaY"in g?It(g):ge(g),w=t.current.filter(function(x){return x.name===g.type&&(x.target===g.target||g.target===x.shadowParent)&&Aa(x.delta,b)})[0];if(w&&w.should){g.cancelable&&g.preventDefault();return}if(!w){var C=(i.current.shards||[]).map(Mt).filter(Boolean).filter(function(x){return x.contains(g.target)}),E=C.length>0?c(g,C[0]):!i.current.noIsolation;E&&g.cancelable&&g.preventDefault()}}},[]),l=s.useCallback(function(h,g,b,w){var C={name:h,delta:g,target:b,should:w,shadowParent:Da(b)};t.current.push(C),setTimeout(function(){t.current=t.current.filter(function(E){return E!==C})},1)},[]),d=s.useCallback(function(h){r.current=ge(h),n.current=void 0},[]),f=s.useCallback(function(h){l(h.type,It(h),h.target,c(h,e.lockRef.current))},[]),p=s.useCallback(function(h){l(h.type,ge(h),h.target,c(h,e.lockRef.current))},[]);s.useEffect(function(){return Q.push(a),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener("wheel",u,q),document.addEventListener("touchmove",u,q),document.addEventListener("touchstart",d,q),function(){Q=Q.filter(function(h){return h!==a}),document.removeEventListener("wheel",u,q),document.removeEventListener("touchmove",u,q),document.removeEventListener("touchstart",d,q)}},[]);var m=e.removeScrollBar,y=e.inert;return s.createElement(s.Fragment,null,y?s.createElement(a,{styles:_a(o)}):null,m?s.createElement(wa,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Da(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Ia=ia(hr,Na);var at=s.forwardRef(function(e,t){return s.createElement(Ae,F({},e,{ref:t,sideCar:Ia}))});at.classNames=Ae.classNames;var _e="Popover",[wr]=B(_e,[Te]),ie=Te(),[Ma,U]=wr(_e),Cr=e=>{const{__scopePopover:t,children:r,open:n,defaultOpen:o,onOpenChange:a,modal:i=!1}=e,c=ie(t),u=s.useRef(null),[l,d]=s.useState(!1),[f,p]=se({prop:n,defaultProp:o??!1,onChange:a,caller:_e});return v.jsx(cr,{...c,children:v.jsx(Ma,{scope:t,contentId:Y(),triggerRef:u,open:f,onOpenChange:p,onOpenToggle:s.useCallback(()=>p(m=>!m),[p]),hasCustomAnchor:l,onCustomAnchorAdd:s.useCallback(()=>d(!0),[]),onCustomAnchorRemove:s.useCallback(()=>d(!1),[]),modal:i,children:r})})};Cr.displayName=_e;var Er="PopoverAnchor",La=s.forwardRef((e,t)=>{const{__scopePopover:r,...n}=e,o=U(Er,r),a=ie(r),{onCustomAnchorAdd:i,onCustomAnchorRemove:c}=o;return s.useEffect(()=>(i(),()=>c()),[i,c]),v.jsx(nt,{...a,...n,ref:t})});La.displayName=Er;var Sr="PopoverTrigger",xr=s.forwardRef((e,t)=>{const{__scopePopover:r,...n}=e,o=U(Sr,r),a=ie(r),i=N(t,o.triggerRef),c=v.jsx(_.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":_r(o.open),...n,ref:i,onClick:P(e.onClick,o.onOpenToggle)});return o.hasCustomAnchor?c:v.jsx(nt,{asChild:!0,...a,children:c})});xr.displayName=Sr;var st="PopoverPortal",[ja,Fa]=wr(st,{forceMount:void 0}),Pr=e=>{const{__scopePopover:t,forceMount:r,children:n,container:o}=e,a=U(st,t);return v.jsx(ja,{scope:t,forceMount:r,children:v.jsx(M,{present:r||a.open,children:v.jsx(ot,{asChild:!0,container:o,children:n})})})};Pr.displayName=st;var te="PopoverContent",Rr=s.forwardRef((e,t)=>{const r=Fa(te,e.__scopePopover),{forceMount:n=r.forceMount,...o}=e,a=U(te,e.__scopePopover);return v.jsx(M,{present:n||a.open,children:a.modal?v.jsx(Wa,{...o,ref:t}):v.jsx($a,{...o,ref:t})})});Rr.displayName=te;var ka=oe("PopoverContent.RemoveScroll"),Wa=s.forwardRef((e,t)=>{const r=U(te,e.__scopePopover),n=s.useRef(null),o=N(t,n),a=s.useRef(!1);return s.useEffect(()=>{const i=n.current;if(i)return fr(i)},[]),v.jsx(at,{as:ka,allowPinchZoom:!0,children:v.jsx(Tr,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:P(e.onCloseAutoFocus,i=>{var c;i.preventDefault(),a.current||(c=r.triggerRef.current)==null||c.focus()}),onPointerDownOutside:P(e.onPointerDownOutside,i=>{const c=i.detail.originalEvent,u=c.button===0&&c.ctrlKey===!0,l=c.button===2||u;a.current=l},{checkForDefaultPrevented:!1}),onFocusOutside:P(e.onFocusOutside,i=>i.preventDefault(),{checkForDefaultPrevented:!1})})})}),$a=s.forwardRef((e,t)=>{const r=U(te,e.__scopePopover),n=s.useRef(!1),o=s.useRef(!1);return v.jsx(Tr,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{var i,c;(i=e.onCloseAutoFocus)==null||i.call(e,a),a.defaultPrevented||(n.current||(c=r.triggerRef.current)==null||c.focus(),a.preventDefault()),n.current=!1,o.current=!1},onInteractOutside:a=>{var u,l;(u=e.onInteractOutside)==null||u.call(e,a),a.defaultPrevented||(n.current=!0,a.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const i=a.target;((l=r.triggerRef.current)==null?void 0:l.contains(i))&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&o.current&&a.preventDefault()}})}),Tr=s.forwardRef((e,t)=>{const{__scopePopover:r,trapFocus:n,onOpenAutoFocus:o,onCloseAutoFocus:a,disableOutsidePointerEvents:i,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:l,onInteractOutside:d,...f}=e,p=U(te,r),m=ie(r);return Zt(),v.jsx(et,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:o,onUnmountAutoFocus:a,children:v.jsx(Re,{asChild:!0,disableOutsidePointerEvents:i,onInteractOutside:d,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:l,onDismiss:()=>p.onOpenChange(!1),children:v.jsx(lr,{"data-state":_r(p.open),role:"dialog",id:p.contentId,...m,...f,ref:t,style:{...f.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),Ar="PopoverClose",Ha=s.forwardRef((e,t)=>{const{__scopePopover:r,...n}=e,o=U(Ar,r);return v.jsx(_.button,{type:"button",...n,ref:t,onClick:P(e.onClick,()=>o.onOpenChange(!1))})});Ha.displayName=Ar;var Ba="PopoverArrow",Ua=s.forwardRef((e,t)=>{const{__scopePopover:r,...n}=e,o=ie(r);return v.jsx(ur,{...o,...n,ref:t})});Ua.displayName=Ba;function _r(e){return e?"open":"closed"}var Bs=Cr,Us=xr,Vs=Pr,zs=Rr,Va=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),za="VisuallyHidden",Or=s.forwardRef((e,t)=>v.jsx(_.span,{...e,ref:t,style:{...Va,...e.style}}));Or.displayName=za;var Ya=Or,[Oe]=B("Tooltip",[Te]),Ne=Te(),Nr="TooltipProvider",Ga=700,ze="tooltip.open",[Xa,it]=Oe(Nr),Dr=e=>{const{__scopeTooltip:t,delayDuration:r=Ga,skipDelayDuration:n=300,disableHoverableContent:o=!1,children:a}=e,i=s.useRef(!0),c=s.useRef(!1),u=s.useRef(0);return s.useEffect(()=>{const l=u.current;return()=>window.clearTimeout(l)},[]),v.jsx(Xa,{scope:t,isOpenDelayedRef:i,delayDuration:r,onOpen:s.useCallback(()=>{window.clearTimeout(u.current),i.current=!1},[]),onClose:s.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>i.current=!0,n)},[n]),isPointerInTransitRef:c,onPointerInTransitChange:s.useCallback(l=>{c.current=l},[]),disableHoverableContent:o,children:a})};Dr.displayName=Nr;var ae="Tooltip",[Ka,De]=Oe(ae),Ir=e=>{const{__scopeTooltip:t,children:r,open:n,defaultOpen:o,onOpenChange:a,disableHoverableContent:i,delayDuration:c}=e,u=it(ae,e.__scopeTooltip),l=Ne(t),[d,f]=s.useState(null),p=Y(),m=s.useRef(0),y=i??u.disableHoverableContent,h=c??u.delayDuration,g=s.useRef(!1),[b,w]=se({prop:n,defaultProp:o??!1,onChange:S=>{S?(u.onOpen(),document.dispatchEvent(new CustomEvent(ze))):u.onClose(),a==null||a(S)},caller:ae}),C=s.useMemo(()=>b?g.current?"delayed-open":"instant-open":"closed",[b]),E=s.useCallback(()=>{window.clearTimeout(m.current),m.current=0,g.current=!1,w(!0)},[w]),x=s.useCallback(()=>{window.clearTimeout(m.current),m.current=0,w(!1)},[w]),R=s.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>{g.current=!0,w(!0),m.current=0},h)},[h,w]);return s.useEffect(()=>()=>{m.current&&(window.clearTimeout(m.current),m.current=0)},[]),v.jsx(cr,{...l,children:v.jsx(Ka,{scope:t,contentId:p,open:b,stateAttribute:C,trigger:d,onTriggerChange:f,onTriggerEnter:s.useCallback(()=>{u.isOpenDelayedRef.current?R():E()},[u.isOpenDelayedRef,R,E]),onTriggerLeave:s.useCallback(()=>{y?x():(window.clearTimeout(m.current),m.current=0)},[x,y]),onOpen:E,onClose:x,disableHoverableContent:y,children:r})})};Ir.displayName=ae;var Ye="TooltipTrigger",Mr=s.forwardRef((e,t)=>{const{__scopeTooltip:r,...n}=e,o=De(Ye,r),a=it(Ye,r),i=Ne(r),c=s.useRef(null),u=N(t,c,o.onTriggerChange),l=s.useRef(!1),d=s.useRef(!1),f=s.useCallback(()=>l.current=!1,[]);return s.useEffect(()=>()=>document.removeEventListener("pointerup",f),[f]),v.jsx(nt,{asChild:!0,...i,children:v.jsx(_.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...n,ref:u,onPointerMove:P(e.onPointerMove,p=>{p.pointerType!=="touch"&&!d.current&&!a.isPointerInTransitRef.current&&(o.onTriggerEnter(),d.current=!0)}),onPointerLeave:P(e.onPointerLeave,()=>{o.onTriggerLeave(),d.current=!1}),onPointerDown:P(e.onPointerDown,()=>{o.open&&o.onClose(),l.current=!0,document.addEventListener("pointerup",f,{once:!0})}),onFocus:P(e.onFocus,()=>{l.current||o.onOpen()}),onBlur:P(e.onBlur,o.onClose),onClick:P(e.onClick,o.onClose)})})});Mr.displayName=Ye;var Za="TooltipPortal",[Ys,qa]=Oe(Za,{forceMount:void 0}),re="TooltipContent",Lr=s.forwardRef((e,t)=>{const r=qa(re,e.__scopeTooltip),{forceMount:n=r.forceMount,side:o="top",...a}=e,i=De(re,e.__scopeTooltip);return v.jsx(M,{present:n||i.open,children:i.disableHoverableContent?v.jsx(jr,{side:o,...a,ref:t}):v.jsx(Qa,{side:o,...a,ref:t})})}),Qa=s.forwardRef((e,t)=>{const r=De(re,e.__scopeTooltip),n=it(re,e.__scopeTooltip),o=s.useRef(null),a=N(t,o),[i,c]=s.useState(null),{trigger:u,onClose:l}=r,d=o.current,{onPointerInTransitChange:f}=n,p=s.useCallback(()=>{c(null),f(!1)},[f]),m=s.useCallback((y,h)=>{const g=y.currentTarget,b={x:y.clientX,y:y.clientY},w=ns(b,g.getBoundingClientRect()),C=os(b,w),E=as(h.getBoundingClientRect()),x=is([...C,...E]);c(x),f(!0)},[f]);return s.useEffect(()=>()=>p(),[p]),s.useEffect(()=>{if(u&&d){const y=g=>m(g,d),h=g=>m(g,u);return u.addEventListener("pointerleave",y),d.addEventListener("pointerleave",h),()=>{u.removeEventListener("pointerleave",y),d.removeEventListener("pointerleave",h)}}},[u,d,m,p]),s.useEffect(()=>{if(i){const y=h=>{const g=h.target,b={x:h.clientX,y:h.clientY},w=(u==null?void 0:u.contains(g))||(d==null?void 0:d.contains(g)),C=!ss(b,i);w?p():C&&(p(),l())};return document.addEventListener("pointermove",y),()=>document.removeEventListener("pointermove",y)}},[u,d,i,l,p]),v.jsx(jr,{...e,ref:a})}),[Ja,es]=Oe(ae,{isInside:!1}),ts=Yn("TooltipContent"),jr=s.forwardRef((e,t)=>{const{__scopeTooltip:r,children:n,"aria-label":o,onEscapeKeyDown:a,onPointerDownOutside:i,...c}=e,u=De(re,r),l=Ne(r),{onClose:d}=u;return s.useEffect(()=>(document.addEventListener(ze,d),()=>document.removeEventListener(ze,d)),[d]),s.useEffect(()=>{if(u.trigger){const f=p=>{const m=p.target;m!=null&&m.contains(u.trigger)&&d()};return window.addEventListener("scroll",f,{capture:!0}),()=>window.removeEventListener("scroll",f,{capture:!0})}},[u.trigger,d]),v.jsx(Re,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:i,onFocusOutside:f=>f.preventDefault(),onDismiss:d,children:v.jsxs(lr,{"data-state":u.stateAttribute,...l,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[v.jsx(ts,{children:n}),v.jsx(Ja,{scope:r,isInside:!0,children:v.jsx(Ya,{id:u.contentId,role:"tooltip",children:o||n})})]})})});Lr.displayName=re;var Fr="TooltipArrow",rs=s.forwardRef((e,t)=>{const{__scopeTooltip:r,...n}=e,o=Ne(r);return es(Fr,r).isInside?null:v.jsx(ur,{...o,...n,ref:t})});rs.displayName=Fr;function ns(e,t){const r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(r,n,o,a)){case a:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw new Error("unreachable")}}function os(e,t,r=5){const n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return n}function as(e){const{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}function ss(e,t){const{x:r,y:n}=e;let o=!1;for(let a=0,i=t.length-1;a<t.length;i=a++){const c=t[a],u=t[i],l=c.x,d=c.y,f=u.x,p=u.y;d>n!=p>n&&r<(f-l)*(n-d)/(p-d)+l&&(o=!o)}return o}function is(e){const t=e.slice();return t.sort((r,n)=>r.x<n.x?-1:r.x>n.x?1:r.y<n.y?-1:r.y>n.y?1:0),cs(t)}function cs(e){if(e.length<=1)return e.slice();const t=[];for(let n=0;n<e.length;n++){const o=e[n];for(;t.length>=2;){const a=t[t.length-1],i=t[t.length-2];if((a.x-i.x)*(o.y-i.y)>=(a.y-i.y)*(o.x-i.x))t.pop();else break}t.push(o)}t.pop();const r=[];for(let n=e.length-1;n>=0;n--){const o=e[n];for(;r.length>=2;){const a=r[r.length-1],i=r[r.length-2];if((a.x-i.x)*(o.y-i.y)>=(a.y-i.y)*(o.x-i.x))r.pop();else break}r.push(o)}return r.pop(),t.length===1&&r.length===1&&t[0].x===r[0].x&&t[0].y===r[0].y?t:t.concat(r)}var Gs=Dr,Xs=Ir,Ks=Mr,Zs=Lr,Ie="Dialog",[kr]=B(Ie),[ls,j]=kr(Ie),Wr=e=>{const{__scopeDialog:t,children:r,open:n,defaultOpen:o,onOpenChange:a,modal:i=!0}=e,c=s.useRef(null),u=s.useRef(null),[l,d]=se({prop:n,defaultProp:o??!1,onChange:a,caller:Ie});return v.jsx(ls,{scope:t,triggerRef:c,contentRef:u,contentId:Y(),titleId:Y(),descriptionId:Y(),open:l,onOpenChange:d,onOpenToggle:s.useCallback(()=>d(f=>!f),[d]),modal:i,children:r})};Wr.displayName=Ie;var $r="DialogTrigger",us=s.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=j($r,r),a=N(t,o.triggerRef);return v.jsx(_.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":ut(o.open),...n,ref:a,onClick:P(e.onClick,o.onOpenToggle)})});us.displayName=$r;var ct="DialogPortal",[ds,Hr]=kr(ct,{forceMount:void 0}),Br=e=>{const{__scopeDialog:t,forceMount:r,children:n,container:o}=e,a=j(ct,t);return v.jsx(ds,{scope:t,forceMount:r,children:s.Children.map(n,i=>v.jsx(M,{present:r||a.open,children:v.jsx(ot,{asChild:!0,container:o,children:i})}))})};Br.displayName=ct;var Se="DialogOverlay",Ur=s.forwardRef((e,t)=>{const r=Hr(Se,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,a=j(Se,e.__scopeDialog);return a.modal?v.jsx(M,{present:n||a.open,children:v.jsx(ps,{...o,ref:t})}):null});Ur.displayName=Se;var fs=oe("DialogOverlay.RemoveScroll"),ps=s.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=j(Se,r);return v.jsx(at,{as:fs,allowPinchZoom:!0,shards:[o.contentRef],children:v.jsx(_.div,{"data-state":ut(o.open),...n,ref:t,style:{pointerEvents:"auto",...n.style}})})}),G="DialogContent",Vr=s.forwardRef((e,t)=>{const r=Hr(G,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,a=j(G,e.__scopeDialog);return v.jsx(M,{present:n||a.open,children:a.modal?v.jsx(vs,{...o,ref:t}):v.jsx(hs,{...o,ref:t})})});Vr.displayName=G;var vs=s.forwardRef((e,t)=>{const r=j(G,e.__scopeDialog),n=s.useRef(null),o=N(t,r.contentRef,n);return s.useEffect(()=>{const a=n.current;if(a)return fr(a)},[]),v.jsx(zr,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:P(e.onCloseAutoFocus,a=>{var i;a.preventDefault(),(i=r.triggerRef.current)==null||i.focus()}),onPointerDownOutside:P(e.onPointerDownOutside,a=>{const i=a.detail.originalEvent,c=i.button===0&&i.ctrlKey===!0;(i.button===2||c)&&a.preventDefault()}),onFocusOutside:P(e.onFocusOutside,a=>a.preventDefault())})}),hs=s.forwardRef((e,t)=>{const r=j(G,e.__scopeDialog),n=s.useRef(!1),o=s.useRef(!1);return v.jsx(zr,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{var i,c;(i=e.onCloseAutoFocus)==null||i.call(e,a),a.defaultPrevented||(n.current||(c=r.triggerRef.current)==null||c.focus(),a.preventDefault()),n.current=!1,o.current=!1},onInteractOutside:a=>{var u,l;(u=e.onInteractOutside)==null||u.call(e,a),a.defaultPrevented||(n.current=!0,a.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const i=a.target;((l=r.triggerRef.current)==null?void 0:l.contains(i))&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&o.current&&a.preventDefault()}})}),zr=s.forwardRef((e,t)=>{const{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:o,onCloseAutoFocus:a,...i}=e,c=j(G,r),u=s.useRef(null),l=N(t,u);return Zt(),v.jsxs(v.Fragment,{children:[v.jsx(et,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:o,onUnmountAutoFocus:a,children:v.jsx(Re,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":ut(c.open),...i,ref:l,onDismiss:()=>c.onOpenChange(!1)})}),v.jsxs(v.Fragment,{children:[v.jsx(ms,{titleId:c.titleId}),v.jsx(bs,{contentRef:u,descriptionId:c.descriptionId})]})]})}),lt="DialogTitle",Yr=s.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=j(lt,r);return v.jsx(_.h2,{id:o.titleId,...n,ref:t})});Yr.displayName=lt;var Gr="DialogDescription",Xr=s.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=j(Gr,r);return v.jsx(_.p,{id:o.descriptionId,...n,ref:t})});Xr.displayName=Gr;var Kr="DialogClose",Zr=s.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=j(Kr,r);return v.jsx(_.button,{type:"button",...n,ref:t,onClick:P(e.onClick,()=>o.onOpenChange(!1))})});Zr.displayName=Kr;function ut(e){return e?"open":"closed"}var qr="DialogTitleWarning",[qs,Qr]=to(qr,{contentName:G,titleName:lt,docsSlug:"dialog"}),ms=({titleId:e})=>{const t=Qr(qr),r=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
42
-
43
- If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
44
-
45
- For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return s.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},gs="DialogDescriptionWarning",bs=({contentRef:e,descriptionId:t})=>{const n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Qr(gs).contentName}}.`;return s.useEffect(()=>{var a;const o=(a=e.current)==null?void 0:a.getAttribute("aria-describedby");t&&o&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},Qs=Wr,Js=Br,ei=Ur,ti=Vr,ri=Yr,ni=Xr,oi=Zr;function ys(e){const t=e+"CollectionProvider",[r,n]=B(t),[o,a]=r(t,{collectionRef:{current:null},itemMap:new Map}),i=h=>{const{scope:g,children:b}=h,w=z.useRef(null),C=z.useRef(new Map).current;return v.jsx(o,{scope:g,itemMap:C,collectionRef:w,children:b})};i.displayName=t;const c=e+"CollectionSlot",u=oe(c),l=z.forwardRef((h,g)=>{const{scope:b,children:w}=h,C=a(c,b),E=N(g,C.collectionRef);return v.jsx(u,{ref:E,children:w})});l.displayName=c;const d=e+"CollectionItemSlot",f="data-radix-collection-item",p=oe(d),m=z.forwardRef((h,g)=>{const{scope:b,children:w,...C}=h,E=z.useRef(null),x=N(g,E),R=a(d,b);return z.useEffect(()=>(R.itemMap.set(E,{ref:E,...C}),()=>void R.itemMap.delete(E))),v.jsx(p,{[f]:"",ref:x,children:w})});m.displayName=d;function y(h){const g=a(e+"CollectionConsumer",h);return z.useCallback(()=>{const w=g.collectionRef.current;if(!w)return[];const C=Array.from(w.querySelectorAll(`[${f}]`));return Array.from(g.itemMap.values()).sort((R,S)=>C.indexOf(R.ref.current)-C.indexOf(S.ref.current))},[g.collectionRef,g.itemMap])}return[{Provider:i,Slot:l,ItemSlot:m},y,n]}var Be="rovingFocusGroup.onEntryFocus",ws={bubbles:!1,cancelable:!0},ce="RovingFocusGroup",[Ge,Jr,Cs]=ys(ce),[Es,en]=B(ce,[Cs]),[Ss,xs]=Es(ce),tn=s.forwardRef((e,t)=>v.jsx(Ge.Provider,{scope:e.__scopeRovingFocusGroup,children:v.jsx(Ge.Slot,{scope:e.__scopeRovingFocusGroup,children:v.jsx(Ps,{...e,ref:t})})}));tn.displayName=ce;var Ps=s.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:r,orientation:n,loop:o=!1,dir:a,currentTabStopId:i,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:u,onEntryFocus:l,preventScrollOnEntryFocus:d=!1,...f}=e,p=s.useRef(null),m=N(t,p),y=Ze(a),[h,g]=se({prop:i,defaultProp:c??null,onChange:u,caller:ce}),[b,w]=s.useState(!1),C=I(l),E=Jr(r),x=s.useRef(!1),[R,S]=s.useState(0);return s.useEffect(()=>{const T=p.current;if(T)return T.addEventListener(Be,C),()=>T.removeEventListener(Be,C)},[C]),v.jsx(Ss,{scope:r,orientation:n,dir:y,loop:o,currentTabStopId:h,onItemFocus:s.useCallback(T=>g(T),[g]),onItemShiftTab:s.useCallback(()=>w(!0),[]),onFocusableItemAdd:s.useCallback(()=>S(T=>T+1),[]),onFocusableItemRemove:s.useCallback(()=>S(T=>T-1),[]),children:v.jsx(_.div,{tabIndex:b||R===0?-1:0,"data-orientation":n,...f,ref:m,style:{outline:"none",...e.style},onMouseDown:P(e.onMouseDown,()=>{x.current=!0}),onFocus:P(e.onFocus,T=>{const A=!x.current;if(T.target===T.currentTarget&&A&&!b){const O=new CustomEvent(Be,ws);if(T.currentTarget.dispatchEvent(O),!O.defaultPrevented){const D=E().filter(W=>W.focusable),V=D.find(W=>W.active),X=D.find(W=>W.id===h),le=[V,X,...D].filter(Boolean).map(W=>W.ref.current);on(le,d)}}x.current=!1}),onBlur:P(e.onBlur,()=>w(!1))})})}),rn="RovingFocusGroupItem",nn=s.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:r,focusable:n=!0,active:o=!1,tabStopId:a,children:i,...c}=e,u=Y(),l=a||u,d=xs(rn,r),f=d.currentTabStopId===l,p=Jr(r),{onFocusableItemAdd:m,onFocusableItemRemove:y,currentTabStopId:h}=d;return s.useEffect(()=>{if(n)return m(),()=>y()},[n,m,y]),v.jsx(Ge.ItemSlot,{scope:r,id:l,focusable:n,active:o,children:v.jsx(_.span,{tabIndex:f?0:-1,"data-orientation":d.orientation,...c,ref:t,onMouseDown:P(e.onMouseDown,g=>{n?d.onItemFocus(l):g.preventDefault()}),onFocus:P(e.onFocus,()=>d.onItemFocus(l)),onKeyDown:P(e.onKeyDown,g=>{if(g.key==="Tab"&&g.shiftKey){d.onItemShiftTab();return}if(g.target!==g.currentTarget)return;const b=As(g,d.orientation,d.dir);if(b!==void 0){if(g.metaKey||g.ctrlKey||g.altKey||g.shiftKey)return;g.preventDefault();let C=p().filter(E=>E.focusable).map(E=>E.ref.current);if(b==="last")C.reverse();else if(b==="prev"||b==="next"){b==="prev"&&C.reverse();const E=C.indexOf(g.currentTarget);C=d.loop?_s(C,E+1):C.slice(E+1)}setTimeout(()=>on(C))}}),children:typeof i=="function"?i({isCurrentTabStop:f,hasTabStop:h!=null}):i})})});nn.displayName=rn;var Rs={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Ts(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function As(e,t,r){const n=Ts(e.key,r);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(n))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(n)))return Rs[n]}function on(e,t=!1){const r=document.activeElement;for(const n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}function _s(e,t){return e.map((r,n)=>e[(t+n)%e.length])}var Os=tn,Ns=nn,Me="Tabs",[Ds]=B(Me,[en]),an=en(),[Is,dt]=Ds(Me),sn=s.forwardRef((e,t)=>{const{__scopeTabs:r,value:n,onValueChange:o,defaultValue:a,orientation:i="horizontal",dir:c,activationMode:u="automatic",...l}=e,d=Ze(c),[f,p]=se({prop:n,onChange:o,defaultProp:a??"",caller:Me});return v.jsx(Is,{scope:r,baseId:Y(),value:f,onValueChange:p,orientation:i,dir:d,activationMode:u,children:v.jsx(_.div,{dir:d,"data-orientation":i,...l,ref:t})})});sn.displayName=Me;var cn="TabsList",ln=s.forwardRef((e,t)=>{const{__scopeTabs:r,loop:n=!0,...o}=e,a=dt(cn,r),i=an(r);return v.jsx(Os,{asChild:!0,...i,orientation:a.orientation,dir:a.dir,loop:n,children:v.jsx(_.div,{role:"tablist","aria-orientation":a.orientation,...o,ref:t})})});ln.displayName=cn;var un="TabsTrigger",dn=s.forwardRef((e,t)=>{const{__scopeTabs:r,value:n,disabled:o=!1,...a}=e,i=dt(un,r),c=an(r),u=vn(i.baseId,n),l=hn(i.baseId,n),d=n===i.value;return v.jsx(Ns,{asChild:!0,...c,focusable:!o,active:d,children:v.jsx(_.button,{type:"button",role:"tab","aria-selected":d,"aria-controls":l,"data-state":d?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:u,...a,ref:t,onMouseDown:P(e.onMouseDown,f=>{!o&&f.button===0&&f.ctrlKey===!1?i.onValueChange(n):f.preventDefault()}),onKeyDown:P(e.onKeyDown,f=>{[" ","Enter"].includes(f.key)&&i.onValueChange(n)}),onFocus:P(e.onFocus,()=>{const f=i.activationMode!=="manual";!d&&!o&&f&&i.onValueChange(n)})})})});dn.displayName=un;var fn="TabsContent",pn=s.forwardRef((e,t)=>{const{__scopeTabs:r,value:n,forceMount:o,children:a,...i}=e,c=dt(fn,r),u=vn(c.baseId,n),l=hn(c.baseId,n),d=n===c.value,f=s.useRef(d);return s.useEffect(()=>{const p=requestAnimationFrame(()=>f.current=!1);return()=>cancelAnimationFrame(p)},[]),v.jsx(M,{present:o||d,children:({present:p})=>v.jsx(_.div,{"data-state":d?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":u,hidden:!p,id:l,tabIndex:0,...i,ref:t,style:{...e.style,animationDuration:f.current?"0s":void 0},children:p&&a})})});pn.displayName=fn;function vn(e,t){return`${e}-trigger-${t}`}function hn(e,t){return`${e}-content-${t}`}var ai=sn,si=ln,ii=dn,ci=pn;export{ks as C,ni as D,si as L,ei as O,Vs as P,js as R,Ls as S,Us as T,Fs as V,Qo as _,io as a,vo as b,zs as c,Bs as d,Zs as e,Gs as f,Xs as g,Ks as h,ai as i,ii as j,ci as k,Hs as l,Ws as m,$s as n,F as o,pr as p,Qs as q,Js as r,ti as s,oi as t,ri as u};