profclaw 2.0.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (477) hide show
  1. package/.env.example +14 -2
  2. package/CHANGELOG.md +37 -0
  3. package/CONTRIBUTING.md +20 -0
  4. package/Dockerfile +39 -23
  5. package/README.md +174 -40
  6. package/dist/agents/agent-summary.d.ts +44 -0
  7. package/dist/agents/agent-summary.js +176 -0
  8. package/dist/agents/auto-memory.d.ts +59 -0
  9. package/dist/agents/auto-memory.js +310 -0
  10. package/dist/agents/checkpoint-manager.d.ts +76 -0
  11. package/dist/agents/checkpoint-manager.js +156 -0
  12. package/dist/agents/circuit-breaker.d.ts +54 -0
  13. package/dist/agents/circuit-breaker.js +153 -0
  14. package/dist/agents/context-compactor.d.ts +70 -0
  15. package/dist/agents/context-compactor.js +361 -0
  16. package/dist/agents/conversation-branch.d.ts +55 -0
  17. package/dist/agents/conversation-branch.js +115 -0
  18. package/dist/agents/error-recovery.d.ts +44 -0
  19. package/dist/agents/error-recovery.js +197 -0
  20. package/dist/agents/events.d.ts +76 -0
  21. package/dist/agents/events.js +8 -0
  22. package/dist/agents/executor.d.ts +35 -1
  23. package/dist/agents/executor.js +573 -124
  24. package/dist/agents/file-snapshots.d.ts +72 -0
  25. package/dist/agents/file-snapshots.js +182 -0
  26. package/dist/agents/index.d.ts +2 -0
  27. package/dist/agents/orchestrator.d.ts +183 -0
  28. package/dist/agents/orchestrator.js +495 -0
  29. package/dist/agents/permissions.d.ts +63 -0
  30. package/dist/agents/permissions.js +138 -0
  31. package/dist/agents/plan-mode.d.ts +71 -0
  32. package/dist/agents/plan-mode.js +186 -0
  33. package/dist/agents/prompt-suggestions.d.ts +33 -0
  34. package/dist/agents/prompt-suggestions.js +208 -0
  35. package/dist/agents/rate-limit-monitor.d.ts +56 -0
  36. package/dist/agents/rate-limit-monitor.js +224 -0
  37. package/dist/agents/result-store.d.ts +37 -0
  38. package/dist/agents/result-store.js +104 -0
  39. package/dist/agents/session-diff.d.ts +43 -0
  40. package/dist/agents/session-diff.js +258 -0
  41. package/dist/agents/tool-loader.d.ts +65 -0
  42. package/dist/agents/tool-loader.js +273 -0
  43. package/dist/agents/transcript.d.ts +96 -0
  44. package/dist/agents/transcript.js +267 -0
  45. package/dist/agents/worktree-manager.d.ts +80 -0
  46. package/dist/agents/worktree-manager.js +203 -0
  47. package/dist/auth/middleware.js +14 -0
  48. package/dist/chat/agentic-executor.d.ts +7 -0
  49. package/dist/chat/agentic-executor.js +253 -30
  50. package/dist/chat/conversations.d.ts +2 -0
  51. package/dist/chat/conversations.js +8 -0
  52. package/dist/chat/execution/executor.d.ts +8 -0
  53. package/dist/chat/execution/executor.js +157 -103
  54. package/dist/chat/execution/index.js +5 -1
  55. package/dist/chat/execution/tool-router.js +40 -14
  56. package/dist/chat/execution/tools/canvas.d.ts +2 -2
  57. package/dist/chat/execution/tools/code-tools.d.ts +66 -0
  58. package/dist/chat/execution/tools/code-tools.js +353 -0
  59. package/dist/chat/execution/tools/complete-task.d.ts +2 -2
  60. package/dist/chat/execution/tools/cron-tool.d.ts +26 -10
  61. package/dist/chat/execution/tools/cron-tool.js +48 -3
  62. package/dist/chat/execution/tools/decompose-task.d.ts +58 -0
  63. package/dist/chat/execution/tools/decompose-task.js +166 -0
  64. package/dist/chat/execution/tools/exec.d.ts +5 -2
  65. package/dist/chat/execution/tools/exec.js +294 -155
  66. package/dist/chat/execution/tools/feed-tools.d.ts +77 -0
  67. package/dist/chat/execution/tools/feed-tools.js +142 -0
  68. package/dist/chat/execution/tools/file-ops.d.ts +1 -1
  69. package/dist/chat/execution/tools/github.d.ts +2 -2
  70. package/dist/chat/execution/tools/index.d.ts +14 -2
  71. package/dist/chat/execution/tools/index.js +86 -12
  72. package/dist/chat/execution/tools/integrations.d.ts +8 -8
  73. package/dist/chat/execution/tools/multi-patch.d.ts +53 -0
  74. package/dist/chat/execution/tools/multi-patch.js +373 -0
  75. package/dist/chat/execution/tools/openai-image-gen.d.ts +2 -2
  76. package/dist/chat/execution/tools/plan-tools.d.ts +80 -0
  77. package/dist/chat/execution/tools/plan-tools.js +134 -0
  78. package/dist/chat/execution/tools/profclaw-ops.d.ts +6 -6
  79. package/dist/chat/execution/tools/repl-tool.d.ts +46 -0
  80. package/dist/chat/execution/tools/repl-tool.js +207 -0
  81. package/dist/chat/execution/tools/sessions-send.d.ts +2 -2
  82. package/dist/chat/execution/tools/slack-actions.d.ts +2 -2
  83. package/dist/chat/execution/tools/system.d.ts +4 -4
  84. package/dist/chat/execution/tools/todo-tool.d.ts +72 -0
  85. package/dist/chat/execution/tools/todo-tool.js +152 -0
  86. package/dist/chat/execution/tools/tool-search.d.ts +50 -0
  87. package/dist/chat/execution/tools/tool-search.js +155 -0
  88. package/dist/chat/execution/types.d.ts +21 -14
  89. package/dist/chat/execution/workflows/executor.d.ts +11 -0
  90. package/dist/chat/execution/workflows/executor.js +99 -1
  91. package/dist/chat/execution/workflows/types.d.ts +35 -2
  92. package/dist/chat/format/index.d.ts +1 -0
  93. package/dist/chat/format/index.js +1 -0
  94. package/dist/chat/format/markdown-convert.d.ts +23 -0
  95. package/dist/chat/format/markdown-convert.js +149 -0
  96. package/dist/chat/index.d.ts +1 -1
  97. package/dist/chat/index.js +1 -1
  98. package/dist/chat/message-handler.js +58 -6
  99. package/dist/chat/proactive/index.d.ts +62 -0
  100. package/dist/chat/proactive/index.js +147 -0
  101. package/dist/chat/prompt-adapter.js +2 -0
  102. package/dist/chat/providers/irc/index.d.ts +2 -2
  103. package/dist/chat/providers/telegram/index.d.ts +2 -0
  104. package/dist/chat/providers/telegram/index.js +21 -2
  105. package/dist/chat/system-prompts.d.ts +3 -3
  106. package/dist/chat/system-prompts.js +116 -61
  107. package/dist/chat/tools.d.ts +6 -6
  108. package/dist/cli/commands/auth.js +64 -1
  109. package/dist/cli/commands/chat.js +1327 -138
  110. package/dist/cli/commands/doctor.js +222 -16
  111. package/dist/cli/commands/history.d.ts +3 -0
  112. package/dist/cli/commands/history.js +138 -0
  113. package/dist/cli/commands/import.d.ts +44 -0
  114. package/dist/cli/commands/import.js +526 -0
  115. package/dist/cli/commands/init.d.ts +13 -0
  116. package/dist/cli/commands/init.js +381 -0
  117. package/dist/cli/commands/onboard.js +210 -30
  118. package/dist/cli/commands/plan.d.ts +13 -0
  119. package/dist/cli/commands/plan.js +184 -0
  120. package/dist/cli/commands/serve.d.ts +7 -0
  121. package/dist/cli/commands/serve.js +77 -18
  122. package/dist/cli/commands/setup.js +84 -3
  123. package/dist/cli/commands/status.js +54 -0
  124. package/dist/cli/commands/tools.js +13 -13
  125. package/dist/cli/commands/tui.js +26 -1
  126. package/dist/cli/index.js +19 -0
  127. package/dist/cli/ink/App.d.ts +13 -0
  128. package/dist/cli/ink/App.js +6 -0
  129. package/dist/cli/ink/ChatApp.d.ts +60 -0
  130. package/dist/cli/ink/ChatApp.js +325 -0
  131. package/dist/cli/ink/DashboardApp.d.ts +3 -0
  132. package/dist/cli/ink/DashboardApp.js +143 -0
  133. package/dist/cli/ink/components/AgentStatus.d.ts +17 -0
  134. package/dist/cli/ink/components/AgentStatus.js +33 -0
  135. package/dist/cli/ink/components/ChannelList.d.ts +17 -0
  136. package/dist/cli/ink/components/ChannelList.js +33 -0
  137. package/dist/cli/ink/components/ConnectionStatus.d.ts +19 -0
  138. package/dist/cli/ink/components/ConnectionStatus.js +50 -0
  139. package/dist/cli/ink/components/CostBar.d.ts +19 -0
  140. package/dist/cli/ink/components/CostBar.js +35 -0
  141. package/dist/cli/ink/components/HookStatus.d.ts +15 -0
  142. package/dist/cli/ink/components/HookStatus.js +7 -0
  143. package/dist/cli/ink/components/PermissionPrompt.d.ts +21 -0
  144. package/dist/cli/ink/components/PermissionPrompt.js +51 -0
  145. package/dist/cli/ink/components/PlanView.d.ts +23 -0
  146. package/dist/cli/ink/components/PlanView.js +26 -0
  147. package/dist/cli/ink/components/ProviderList.d.ts +16 -0
  148. package/dist/cli/ink/components/ProviderList.js +16 -0
  149. package/dist/cli/ink/components/SessionHeader.d.ts +15 -0
  150. package/dist/cli/ink/components/SessionHeader.js +15 -0
  151. package/dist/cli/ink/components/StreamingMessage.d.ts +20 -0
  152. package/dist/cli/ink/components/StreamingMessage.js +27 -0
  153. package/dist/cli/ink/components/SuggestionBar.d.ts +15 -0
  154. package/dist/cli/ink/components/SuggestionBar.js +28 -0
  155. package/dist/cli/ink/components/SystemHealth.d.ts +20 -0
  156. package/dist/cli/ink/components/SystemHealth.js +39 -0
  157. package/dist/cli/ink/components/TaskList.d.ts +17 -0
  158. package/dist/cli/ink/components/TaskList.js +59 -0
  159. package/dist/cli/ink/components/ToolCall.d.ts +17 -0
  160. package/dist/cli/ink/components/ToolCall.js +43 -0
  161. package/dist/cli/ink/index.d.ts +23 -0
  162. package/dist/cli/ink/index.js +15 -0
  163. package/dist/cli/ink/keybindings.d.ts +35 -0
  164. package/dist/cli/ink/keybindings.js +105 -0
  165. package/dist/cli/ink/markdown-renderer.d.ts +47 -0
  166. package/dist/cli/ink/markdown-renderer.js +380 -0
  167. package/dist/cli/ink/output-styles.d.ts +39 -0
  168. package/dist/cli/ink/output-styles.js +119 -0
  169. package/dist/cli/interactive/auto-serve.d.ts +38 -0
  170. package/dist/cli/interactive/auto-serve.js +209 -0
  171. package/dist/cli/interactive/index.d.ts +25 -0
  172. package/dist/cli/interactive/index.js +23 -0
  173. package/dist/cli/interactive/picker.d.ts +28 -0
  174. package/dist/cli/interactive/picker.js +153 -0
  175. package/dist/cli/interactive/renderer.d.ts +26 -0
  176. package/dist/cli/interactive/renderer.js +555 -0
  177. package/dist/cli/interactive/repl.d.ts +14 -0
  178. package/dist/cli/interactive/repl.js +1516 -0
  179. package/dist/cli/interactive/stream-client.d.ts +59 -0
  180. package/dist/cli/interactive/stream-client.js +506 -0
  181. package/dist/cli/interactive/types.d.ts +121 -0
  182. package/dist/cli/interactive/types.js +10 -0
  183. package/dist/cli/utils/api.d.ts +9 -0
  184. package/dist/cli/utils/api.js +58 -2
  185. package/dist/cron/natural-language.d.ts +54 -0
  186. package/dist/cron/natural-language.js +569 -0
  187. package/dist/cron/scheduler.d.ts +34 -4
  188. package/dist/cron/scheduler.js +141 -9
  189. package/dist/cron/templates.d.ts +1 -1
  190. package/dist/cron/templates.js +219 -0
  191. package/dist/feeds/feed-engine.d.ts +149 -0
  192. package/dist/feeds/feed-engine.js +600 -0
  193. package/dist/feeds/index.d.ts +9 -0
  194. package/dist/feeds/index.js +8 -0
  195. package/dist/gateway/router.js +6 -1
  196. package/dist/hooks/built-in/audit-log.d.ts +11 -0
  197. package/dist/hooks/built-in/audit-log.js +84 -0
  198. package/dist/hooks/built-in/cost-warning.d.ts +10 -0
  199. package/dist/hooks/built-in/cost-warning.js +59 -0
  200. package/dist/hooks/built-in/dangerous-tool.d.ts +32 -0
  201. package/dist/hooks/built-in/dangerous-tool.js +80 -0
  202. package/dist/hooks/built-in/index.d.ts +14 -0
  203. package/dist/hooks/built-in/index.js +20 -0
  204. package/dist/hooks/index.d.ts +3 -0
  205. package/dist/hooks/index.js +6 -0
  206. package/dist/hooks/loader.d.ts +17 -0
  207. package/dist/hooks/loader.js +142 -0
  208. package/dist/hooks/registry.d.ts +62 -0
  209. package/dist/hooks/registry.js +127 -0
  210. package/dist/integrations/web-search.js +6 -3
  211. package/dist/memory/index.d.ts +1 -0
  212. package/dist/memory/index.js +2 -0
  213. package/dist/memory/memory-service.js +14 -13
  214. package/dist/memory/observational.d.ts +62 -0
  215. package/dist/memory/observational.js +396 -0
  216. package/dist/middleware/content-filter.d.ts +22 -0
  217. package/dist/middleware/content-filter.js +69 -0
  218. package/dist/middleware/request-validator.d.ts +159 -0
  219. package/dist/middleware/request-validator.js +93 -0
  220. package/dist/plugins/sdk.d.ts +22 -0
  221. package/dist/plugins/sdk.js +17 -1
  222. package/dist/projects/types.d.ts +10 -10
  223. package/dist/providers/ai-sdk.d.ts +11 -0
  224. package/dist/providers/ai-sdk.js +78 -19
  225. package/dist/providers/core/models.js +67 -1
  226. package/dist/providers/core/types.d.ts +3 -0
  227. package/dist/providers/index.d.ts +1 -0
  228. package/dist/providers/index.js +1 -0
  229. package/dist/providers/smart-router.d.ts +118 -0
  230. package/dist/providers/smart-router.js +685 -0
  231. package/dist/providers/types.d.ts +16 -16
  232. package/dist/routes/agents.js +50 -0
  233. package/dist/routes/auth.js +8 -1
  234. package/dist/routes/chat.js +259 -14
  235. package/dist/routes/costs.js +32 -0
  236. package/dist/routes/cron.js +80 -5
  237. package/dist/routes/feeds.d.ts +10 -0
  238. package/dist/routes/feeds.js +168 -0
  239. package/dist/routes/mcp.js +21 -0
  240. package/dist/routes/memory.js +130 -0
  241. package/dist/routes/skills.js +129 -0
  242. package/dist/routes/teams.d.ts +9 -0
  243. package/dist/routes/teams.js +210 -0
  244. package/dist/routes/tools.js +14 -0
  245. package/dist/routes/users.js +2 -0
  246. package/dist/server/route-loader.js +3 -1
  247. package/dist/server/stream-bridge.d.ts +19 -0
  248. package/dist/server/stream-bridge.js +38 -0
  249. package/dist/server.js +310 -36
  250. package/dist/skills/marketplace.d.ts +87 -0
  251. package/dist/skills/marketplace.js +268 -0
  252. package/dist/storage/index.d.ts +14 -0
  253. package/dist/storage/index.js +64 -3
  254. package/dist/storage/schema.d.ts +4 -4
  255. package/dist/storage/schema.js +1 -1
  256. package/dist/teams/index.d.ts +110 -0
  257. package/dist/teams/index.js +365 -0
  258. package/dist/tickets/types.d.ts +39 -39
  259. package/dist/types/summary.d.ts +5 -5
  260. package/dist/utils/auto-update.d.ts +23 -0
  261. package/dist/utils/auto-update.js +157 -0
  262. package/dist/utils/offline-detect.d.ts +55 -0
  263. package/dist/utils/offline-detect.js +121 -0
  264. package/dist/utils/pid-file.d.ts +36 -0
  265. package/dist/utils/pid-file.js +125 -0
  266. package/dist/utils/prevent-sleep.d.ts +27 -0
  267. package/dist/utils/prevent-sleep.js +95 -0
  268. package/dist/utils/sanitizer.d.ts +57 -0
  269. package/dist/utils/sanitizer.js +174 -0
  270. package/docker-compose.yml +13 -137
  271. package/package.json +31 -6
  272. package/skills/deploy-cloudflare/SKILL.md +62 -0
  273. package/skills/deploy-vercel/SKILL.md +67 -0
  274. package/skills/docker-deploy/SKILL.md +158 -0
  275. package/skills/full-stack-builder/SKILL.md +92 -0
  276. package/skills/humanizer/SKILL.md +488 -0
  277. package/skills/profclaw-assistant/SKILL.md +85 -56
  278. package/ui/dist/assets/ActivityView-Da6HQ8ws.js +1 -0
  279. package/ui/dist/assets/AgentList-H58R0kX3.js +1 -0
  280. package/ui/dist/assets/AnalyticsDashboard-B28AeRsc.js +1 -0
  281. package/ui/dist/assets/AreaChart-DwLzeAQ8.js +1 -0
  282. package/ui/dist/assets/CartesianChart-piKQsTAR.js +36 -0
  283. package/ui/dist/assets/ChatView-Dbj8rxU5.js +10 -0
  284. package/ui/dist/assets/CostsDashboard-C6F5df0F.js +1 -0
  285. package/ui/dist/assets/EstimateSelect-wga0rUKX.js +1 -0
  286. package/ui/dist/assets/FeedDashboard-Ef6FEzEf.js +1 -0
  287. package/ui/dist/assets/FloatingChatbot-0yhkUeCq.js +2 -0
  288. package/ui/dist/assets/InviteCodeManagement-tUXfx4Bc.js +2 -0
  289. package/ui/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  290. package/ui/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  291. package/ui/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  292. package/ui/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  293. package/ui/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  294. package/ui/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  295. package/ui/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  296. package/ui/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  297. package/ui/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  298. package/ui/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  299. package/ui/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  300. package/ui/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  301. package/ui/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  302. package/ui/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  303. package/ui/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  304. package/ui/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  305. package/ui/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  306. package/ui/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  307. package/ui/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  308. package/ui/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  309. package/ui/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  310. package/ui/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  311. package/ui/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  312. package/ui/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  313. package/ui/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  314. package/ui/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  315. package/ui/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  316. package/ui/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  317. package/ui/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  318. package/ui/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  319. package/ui/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  320. package/ui/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  321. package/ui/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  322. package/ui/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  323. package/ui/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  324. package/ui/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  325. package/ui/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  326. package/ui/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  327. package/ui/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  328. package/ui/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  329. package/ui/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  330. package/ui/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  331. package/ui/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  332. package/ui/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  333. package/ui/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  334. package/ui/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  335. package/ui/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  336. package/ui/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  337. package/ui/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  338. package/ui/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  339. package/ui/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  340. package/ui/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  341. package/ui/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  342. package/ui/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  343. package/ui/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  344. package/ui/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  345. package/ui/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  346. package/ui/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  347. package/ui/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  348. package/ui/dist/assets/MarketplacePage-DGrLtolR.js +1 -0
  349. package/ui/dist/assets/{ProjectDetail--gPfvATB.js → ProjectDetail-BgWvA6UP.js} +2 -2
  350. package/ui/dist/assets/ProjectIcon-TDuliqwg.js +1 -0
  351. package/ui/dist/assets/ProjectList-DXgM4187.js +1 -0
  352. package/ui/dist/assets/{Settings-1kaf7VHE.js → Settings-xA8Zhi3p.js} +3 -3
  353. package/ui/dist/assets/StatusIndicator-B8vfFAxg.js +1 -0
  354. package/ui/dist/assets/{SummaryDetail-DV3AmONk.js → SummaryDetail-eedRfTtF.js} +2 -2
  355. package/ui/dist/assets/SummaryList-CLNX2P84.js +1 -0
  356. package/ui/dist/assets/TaskDetail-BtWclNiR.js +1 -0
  357. package/ui/dist/assets/TaskList-JjODAgSc.js +1 -0
  358. package/ui/dist/assets/TeamsPage-CBK5iAyx.js +1 -0
  359. package/ui/dist/assets/TicketBoard-C9aJNNYp.js +1 -0
  360. package/ui/dist/assets/TicketDetail-CV5JmL31.js +1 -0
  361. package/ui/dist/assets/TicketList-68V4lzUz.js +1 -0
  362. package/ui/dist/assets/UserManagement-DKTb6UpE.js +2 -0
  363. package/ui/dist/assets/ViewSwitcher-BvdQht2Y.js +1 -0
  364. package/ui/dist/assets/alert-dialog-O6qBOv_f.js +1 -0
  365. package/ui/dist/assets/{archive-BsLa7brF.js → archive-CX7UvZpf.js} +1 -1
  366. package/ui/dist/assets/badge-BbfnwDJP.js +1 -0
  367. package/ui/dist/assets/{bug-CmZI7jqM.js → bug-3WX0394-.js} +1 -1
  368. package/ui/dist/assets/{calendar-Bf0t2B82.js → calendar-buq77TaS.js} +1 -1
  369. package/ui/dist/assets/{chevron-up-CoUsOvZj.js → chevron-up-4ymsBJRo.js} +1 -1
  370. package/ui/dist/assets/{circle-x-Dgw11LgT.js → circle-x-ByXtwR6Y.js} +1 -1
  371. package/ui/dist/assets/constants-CVdDh7p0.js +1 -0
  372. package/ui/dist/assets/{cpu-DiPMQICV.js → cpu-CiuoCeDY.js} +1 -1
  373. package/ui/dist/assets/{database-BwTfupDi.js → database-BWXSBg5a.js} +1 -1
  374. package/ui/dist/assets/dialog-lDg4NvMV.js +1 -0
  375. package/ui/dist/assets/dollar-sign-Dmijd6DP.js +1 -0
  376. package/ui/dist/assets/{ellipsis-UJx4Xnf6.js → ellipsis-vT-5SVIp.js} +1 -1
  377. package/ui/dist/assets/{ellipsis-vertical-DoULYEKn.js → ellipsis-vertical-B4tAX_bL.js} +1 -1
  378. package/ui/dist/assets/feature-markdown-DBo5Q7uq.js +289 -0
  379. package/ui/dist/assets/{file-code-B2UrJLwi.js → file-code-ChOWdKXf.js} +1 -1
  380. package/ui/dist/assets/{folder-open-BJi577JH.js → folder-open-CkOUbIiP.js} +1 -1
  381. package/ui/dist/assets/{funnel-PkaD_HSR.js → funnel-uZkoSPP-.js} +1 -1
  382. package/ui/dist/assets/{git-branch-C_K30am0.js → git-branch-CwvUxj7C.js} +1 -1
  383. package/ui/dist/assets/{git-commit-horizontal-IT6ecxWQ.js → git-commit-horizontal-lxPzCvhD.js} +1 -1
  384. package/ui/dist/assets/{globe-f-jjCa_g.js → globe-D_WpJdsj.js} +1 -1
  385. package/ui/dist/assets/{hash-DNEv8Elo.js → hash-CA0hJ7vh.js} +1 -1
  386. package/ui/dist/assets/{history-BQSBo_1Q.js → history-CEWMLELs.js} +1 -1
  387. package/ui/dist/assets/inbox-ehtOptTV.js +1 -0
  388. package/ui/dist/assets/{index-nS3EErDg.js → index-C1rhbml4.js} +3 -3
  389. package/ui/dist/assets/index-CR8gfCHv.js +1 -0
  390. package/ui/dist/assets/index-DVXMpWai.js +1 -0
  391. package/ui/dist/assets/index-DaDJMM2v.js +1 -0
  392. package/ui/dist/assets/index-Djdq_0xu.js +1 -0
  393. package/ui/dist/assets/index-M46Gcb8K.css +1 -0
  394. package/ui/dist/assets/index-sEBN7w8J.js +109 -0
  395. package/ui/dist/assets/layers-C6Mhf8Nk.js +1 -0
  396. package/ui/dist/assets/{layout-dashboard-CcKt1hXw.js → layout-dashboard-BRUM0kpT.js} +1 -1
  397. package/ui/dist/assets/{lightbulb-Jhp7FvbU.js → lightbulb-CN2q1O5l.js} +1 -1
  398. package/ui/dist/assets/{link-2-DdO7ostF.js → link-2-CC4E28yJ.js} +1 -1
  399. package/ui/dist/assets/markdown-renderer-C6ENbB0u.js +10 -0
  400. package/ui/dist/assets/markdown-renderer-CfVKi3_s.css +1 -0
  401. package/ui/dist/assets/{message-square-CBgH65X7.js → message-square-Bbb241am.js} +1 -1
  402. package/ui/dist/assets/package-CwT3IzFx.js +1 -0
  403. package/ui/dist/assets/{pencil-CYXCEPQh.js → pencil-CDmiHzoj.js} +1 -1
  404. package/ui/dist/assets/{play-d1ONaH0-.js → play-tjy5jMQX.js} +1 -1
  405. package/ui/dist/assets/popover-CFHZf3pE.js +1 -0
  406. package/ui/dist/assets/progress-BboUHuLf.js +1 -0
  407. package/ui/dist/assets/{rocket-DhvUetsk.js → rocket--8ZHgdXJ.js} +1 -1
  408. package/ui/dist/assets/select-n108rXny.js +1 -0
  409. package/ui/dist/assets/{send-P0r5D7td.js → send-Cu7MR2Qh.js} +1 -1
  410. package/ui/dist/assets/server-DmodxZp-.js +1 -0
  411. package/ui/dist/assets/{settings-2-ocj5uHGx.js → settings-2-CkRNqkxj.js} +1 -1
  412. package/ui/dist/assets/sheet-7aUJkyzU.js +1 -0
  413. package/ui/dist/assets/{shield-check-DfVdE34l.js → shield-check-ViI3nMKE.js} +1 -1
  414. package/ui/dist/assets/{shield-off-8l0J6R-8.js → shield-off-DN3tagkn.js} +1 -1
  415. package/ui/dist/assets/skeleton-C0E1Nfro.js +1 -0
  416. package/ui/dist/assets/{smartphone-77_g3SQn.js → smartphone-5FghiXpA.js} +1 -1
  417. package/ui/dist/assets/{square-Ckzsr3Rn.js → square-DiNSx8K7.js} +1 -1
  418. package/ui/dist/assets/star-DhdFVidS.js +1 -0
  419. package/ui/dist/assets/switch-CIgVbZqQ.js +1 -0
  420. package/ui/dist/assets/table-BC56FVMV.js +1 -0
  421. package/ui/dist/assets/{tag-C35mgoEv.js → tag-CH_vQliw.js} +1 -1
  422. package/ui/dist/assets/textarea-CxDiKFXZ.js +1 -0
  423. package/ui/dist/assets/{timer-DHJBS2w1.js → timer-CdGVTb60.js} +1 -1
  424. package/ui/dist/assets/tooltip-BuW9A5UO.js +1 -0
  425. package/ui/dist/assets/{trash-2-keO5tKPE.js → trash-2-CucZJL0N.js} +1 -1
  426. package/ui/dist/assets/trending-down-BCezC1z2.js +1 -0
  427. package/ui/dist/assets/{trending-up-BBv8KbrY.js → trending-up-C5OYX2k2.js} +1 -1
  428. package/ui/dist/assets/vendor-query-C0p7b53x.js +4 -0
  429. package/ui/dist/assets/vendor-react-Mc5_kfYG.js +12 -0
  430. package/ui/dist/assets/vendor-ui-CXPAUBFv.js +51 -0
  431. package/ui/dist/assets/{wand-sparkles-BusQ52ZK.js → wand-sparkles-BaH6pJnc.js} +1 -1
  432. package/ui/dist/assets/{wrench-02YaOSiK.js → wrench-CjxjP6ok.js} +1 -1
  433. package/ui/dist/index.html +5 -2
  434. package/ui/dist/assets/ActivityView-BeshZXmE.js +0 -1
  435. package/ui/dist/assets/AgentList-QVHeldPi.js +0 -1
  436. package/ui/dist/assets/AnalyticsDashboard-C9R97dXE.js +0 -1
  437. package/ui/dist/assets/AreaChart-B73gaiVQ.js +0 -1
  438. package/ui/dist/assets/CartesianChart-CXYL2R-A.js +0 -36
  439. package/ui/dist/assets/ChatView-qjZErlrp.js +0 -10
  440. package/ui/dist/assets/CostsDashboard-O4DCLy1i.js +0 -1
  441. package/ui/dist/assets/EstimateSelect-1hQf4Osk.js +0 -1
  442. package/ui/dist/assets/FloatingChatbot-BZBzrJxd.js +0 -2
  443. package/ui/dist/assets/InviteCodeManagement-LEoGqYeA.js +0 -2
  444. package/ui/dist/assets/ProjectIcon-Chd_ofsw.js +0 -1
  445. package/ui/dist/assets/ProjectList-BvUfVB6c.js +0 -4
  446. package/ui/dist/assets/StatusIndicator-pRfkNcdV.js +0 -1
  447. package/ui/dist/assets/SummaryList-B6kXiTxL.js +0 -1
  448. package/ui/dist/assets/TaskDetail-CV6CzbOS.js +0 -1
  449. package/ui/dist/assets/TaskList-DL7brQKd.js +0 -1
  450. package/ui/dist/assets/TicketBoard-CrkkFj7C.js +0 -1
  451. package/ui/dist/assets/TicketDetail-hnnYclpD.js +0 -1
  452. package/ui/dist/assets/TicketList-CsDAyQCL.js +0 -1
  453. package/ui/dist/assets/UserManagement-BGFQyTSr.js +0 -2
  454. package/ui/dist/assets/ViewSwitcher-CnL0OqA8.js +0 -1
  455. package/ui/dist/assets/alert-dialog-SKM6Gjz4.js +0 -7
  456. package/ui/dist/assets/badge-CVHH1a-v.js +0 -1
  457. package/ui/dist/assets/brain-6o_RHVpe.js +0 -1
  458. package/ui/dist/assets/constants-Q5Zivl-a.js +0 -1
  459. package/ui/dist/assets/dialog-BUqN9Psj.js +0 -1
  460. package/ui/dist/assets/index-BUmnwPQr.js +0 -1
  461. package/ui/dist/assets/index-BfF5G4Cw.js +0 -1
  462. package/ui/dist/assets/index-C8N375c2.js +0 -1
  463. package/ui/dist/assets/index-CuxnqVVz.css +0 -1
  464. package/ui/dist/assets/index-CzMM3QOk.js +0 -1
  465. package/ui/dist/assets/index-lJlNPFVJ.js +0 -67
  466. package/ui/dist/assets/layers-jFqVrWMD.js +0 -1
  467. package/ui/dist/assets/markdown-renderer-n1ToC4XQ.js +0 -36
  468. package/ui/dist/assets/popover-CrmZgoWu.js +0 -1
  469. package/ui/dist/assets/progress-uv4SPkL5.js +0 -1
  470. package/ui/dist/assets/select-CeQ8AHGy.js +0 -1
  471. package/ui/dist/assets/server-CVHTZB72.js +0 -1
  472. package/ui/dist/assets/sheet-DuQExSho.js +0 -1
  473. package/ui/dist/assets/skeleton-TFiFJ3nB.js +0 -1
  474. package/ui/dist/assets/switch-CAePkd6k.js +0 -1
  475. package/ui/dist/assets/table-ZjAZ7hkt.js +0 -1
  476. package/ui/dist/assets/textarea-DsVPnSgR.js +0 -1
  477. package/ui/dist/assets/tooltip-BYmQ331W.js +0 -1
@@ -1 +0,0 @@
1
- import{r as c,ao as $,j as s,bf as L,aq as z,at as b,ap as A,ar as P,bg as O,bi as _,as as w,bh as G,av as H,bt as K,bu as q,bv as U,bw as V,bx as W,bj as Z,bk as B,bm as J,i as Q}from"./index-lJlNPFVJ.js";var x="Popover",[j]=H(x,[_]),g=_(),[X,l]=j(x),E=e=>{const{__scopePopover:n,children:t,open:a,defaultOpen:o,onOpenChange:r,modal:i=!1}=e,p=g(n),f=c.useRef(null),[v,h]=c.useState(!1),[C,u]=$({prop:a,defaultProp:o??!1,onChange:r,caller:x});return s.jsx(L,{...p,children:s.jsx(X,{scope:n,contentId:z(),triggerRef:f,open:C,onOpenChange:u,onOpenToggle:c.useCallback(()=>u(m=>!m),[u]),hasCustomAnchor:v,onCustomAnchorAdd:c.useCallback(()=>h(!0),[]),onCustomAnchorRemove:c.useCallback(()=>h(!1),[]),modal:i,children:t})})};E.displayName=x;var N="PopoverAnchor",Y=c.forwardRef((e,n)=>{const{__scopePopover:t,...a}=e,o=l(N,t),r=g(t),{onCustomAnchorAdd:i,onCustomAnchorRemove:p}=o;return c.useEffect(()=>(i(),()=>p()),[i,p]),s.jsx(O,{...r,...a,ref:n})});Y.displayName=N;var y="PopoverTrigger",F=c.forwardRef((e,n)=>{const{__scopePopover:t,...a}=e,o=l(y,t),r=g(t),i=b(n,o.triggerRef),p=s.jsx(A.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":T(o.open),...a,ref:i,onClick:P(e.onClick,o.onOpenToggle)});return o.hasCustomAnchor?p:s.jsx(O,{asChild:!0,...r,children:p})});F.displayName=y;var R="PopoverPortal",[ee,oe]=j(R,{forceMount:void 0}),S=e=>{const{__scopePopover:n,forceMount:t,children:a,container:o}=e,r=l(R,n);return s.jsx(ee,{scope:n,forceMount:t,children:s.jsx(w,{present:t||r.open,children:s.jsx(G,{asChild:!0,container:o,children:a})})})};S.displayName=R;var d="PopoverContent",D=c.forwardRef((e,n)=>{const t=oe(d,e.__scopePopover),{forceMount:a=t.forceMount,...o}=e,r=l(d,e.__scopePopover);return s.jsx(w,{present:a||r.open,children:r.modal?s.jsx(re,{...o,ref:n}):s.jsx(ne,{...o,ref:n})})});D.displayName=d;var te=U("PopoverContent.RemoveScroll"),re=c.forwardRef((e,n)=>{const t=l(d,e.__scopePopover),a=c.useRef(null),o=b(n,a),r=c.useRef(!1);return c.useEffect(()=>{const i=a.current;if(i)return K(i)},[]),s.jsx(q,{as:te,allowPinchZoom:!0,children:s.jsx(M,{...e,ref:o,trapFocus:t.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:P(e.onCloseAutoFocus,i=>{i.preventDefault(),r.current||t.triggerRef.current?.focus()}),onPointerDownOutside:P(e.onPointerDownOutside,i=>{const p=i.detail.originalEvent,f=p.button===0&&p.ctrlKey===!0,v=p.button===2||f;r.current=v},{checkForDefaultPrevented:!1}),onFocusOutside:P(e.onFocusOutside,i=>i.preventDefault(),{checkForDefaultPrevented:!1})})})}),ne=c.forwardRef((e,n)=>{const t=l(d,e.__scopePopover),a=c.useRef(!1),o=c.useRef(!1);return s.jsx(M,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:r=>{e.onCloseAutoFocus?.(r),r.defaultPrevented||(a.current||t.triggerRef.current?.focus(),r.preventDefault()),a.current=!1,o.current=!1},onInteractOutside:r=>{e.onInteractOutside?.(r),r.defaultPrevented||(a.current=!0,r.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const i=r.target;t.triggerRef.current?.contains(i)&&r.preventDefault(),r.detail.originalEvent.type==="focusin"&&o.current&&r.preventDefault()}})}),M=c.forwardRef((e,n)=>{const{__scopePopover:t,trapFocus:a,onOpenAutoFocus:o,onCloseAutoFocus:r,disableOutsidePointerEvents:i,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:v,onInteractOutside:h,...C}=e,u=l(d,t),m=g(t);return V(),s.jsx(W,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:o,onUnmountAutoFocus:r,children:s.jsx(Z,{asChild:!0,disableOutsidePointerEvents:i,onInteractOutside:h,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:v,onDismiss:()=>u.onOpenChange(!1),children:s.jsx(B,{"data-state":T(u.open),role:"dialog",id:u.contentId,...m,...C,ref:n,style:{...C.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)"}})})})}),k="PopoverClose",ae=c.forwardRef((e,n)=>{const{__scopePopover:t,...a}=e,o=l(k,t);return s.jsx(A.button,{type:"button",...a,ref:n,onClick:P(e.onClick,()=>o.onOpenChange(!1))})});ae.displayName=k;var se="PopoverArrow",ce=c.forwardRef((e,n)=>{const{__scopePopover:t,...a}=e,o=g(t);return s.jsx(J,{...o,...a,ref:n})});ce.displayName=se;function T(e){return e?"open":"closed"}var ie=E,pe=F,le=S,I=D;const fe=ie,ve=pe,ue=c.forwardRef(({className:e,align:n="center",sideOffset:t=4,...a},o)=>s.jsx(le,{children:s.jsx(I,{ref:o,align:n,sideOffset:t,className:Q("z-50 w-72 rounded-xl p-4 modal-glass outline-none","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2","data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2","data-[side=top]:slide-in-from-bottom-2",e),...a})}));ue.displayName=I.displayName;export{fe as P,ve as a,ue as b};
@@ -1 +0,0 @@
1
- import{j as e,i}from"./index-lJlNPFVJ.js";function u({className:s,value:a=0,max:r=100,indicatorClassName:t,...l}){const n=Math.min(100,Math.max(0,a/r*100));return e.jsx("div",{role:"progressbar","aria-valuemin":0,"aria-valuemax":r,"aria-valuenow":a,className:i("relative h-2 w-full overflow-hidden rounded-full bg-muted",s),...l,children:e.jsx("div",{className:i("h-full bg-primary transition-all duration-300 ease-out",t),style:{width:`${n}%`}})})}export{u as P};
@@ -1 +0,0 @@
1
- import{r as n,j as r,ap as _,ba as ht,ao as Te,bf as vt,aq as Ie,at as L,au as z,bi as Re,bG as gt,bg as xt,ar as N,bh as St,br as Pe,av as wt,bH as yt,bt as Ct,bw as It,bu as bt,bx as Tt,bj as Nt,bv as Rt,bk as Pt,bm as Et,a5 as Ee,i as G,O as _t}from"./index-lJlNPFVJ.js";import{C as jt}from"./chevron-up-CoUsOvZj.js";function Ne(t,[o,e]){return Math.min(e,Math.max(o,t))}function Mt(t){const o=n.useRef({value:t,previous:t});return n.useMemo(()=>(o.current.value!==t&&(o.current.previous=o.current.value,o.current.value=t),o.current.previous),[t])}var _e=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"}),At="VisuallyHidden",je=n.forwardRef((t,o)=>r.jsx(_.span,{...t,ref:o,style:{..._e,...t.style}}));je.displayName=At;var vo=je,Ot=[" ","Enter","ArrowUp","ArrowDown"],Dt=[" ","Enter"],Q="Select",[ie,de,Lt]=gt(Q),[oe]=wt(Q,[Lt,Re]),ue=Re(),[kt,Y]=oe(Q),[Bt,Vt]=oe(Q),Me=t=>{const{__scopeSelect:o,children:e,open:l,defaultOpen:a,onOpenChange:u,value:s,defaultValue:c,onValueChange:i,dir:f,name:g,autoComplete:w,disabled:R,required:b,form:C}=t,d=ue(o),[h,x]=n.useState(null),[m,v]=n.useState(null),[F,M]=n.useState(!1),ne=ht(f),[P,O]=Te({prop:l,defaultProp:a??!1,onChange:u,caller:Q}),[W,X]=Te({prop:s,defaultProp:c,onChange:i,caller:Q}),k=n.useRef(null),B=h?C||!!h.closest("form"):!0,[K,V]=n.useState(new Set),H=Array.from(K).map(E=>E.props.value).join(";");return r.jsx(vt,{...d,children:r.jsxs(kt,{required:b,scope:o,trigger:h,onTriggerChange:x,valueNode:m,onValueNodeChange:v,valueNodeHasChildren:F,onValueNodeHasChildrenChange:M,contentId:Ie(),value:W,onValueChange:X,open:P,onOpenChange:O,dir:ne,triggerPointerDownPosRef:k,disabled:R,children:[r.jsx(ie.Provider,{scope:o,children:r.jsx(Bt,{scope:t.__scopeSelect,onNativeOptionAdd:n.useCallback(E=>{V(D=>new Set(D).add(E))},[]),onNativeOptionRemove:n.useCallback(E=>{V(D=>{const U=new Set(D);return U.delete(E),U})},[]),children:e})}),B?r.jsxs(ot,{"aria-hidden":!0,required:b,tabIndex:-1,name:g,autoComplete:w,value:W,onChange:E=>X(E.target.value),disabled:R,form:C,children:[W===void 0?r.jsx("option",{value:""}):null,Array.from(K)]},H):null]})})};Me.displayName=Q;var Ae="SelectTrigger",Oe=n.forwardRef((t,o)=>{const{__scopeSelect:e,disabled:l=!1,...a}=t,u=ue(e),s=Y(Ae,e),c=s.disabled||l,i=L(o,s.onTriggerChange),f=de(e),g=n.useRef("touch"),[w,R,b]=rt(d=>{const h=f().filter(v=>!v.disabled),x=h.find(v=>v.value===s.value),m=st(h,d,x);m!==void 0&&s.onValueChange(m.value)}),C=d=>{c||(s.onOpenChange(!0),b()),d&&(s.triggerPointerDownPosRef.current={x:Math.round(d.pageX),y:Math.round(d.pageY)})};return r.jsx(xt,{asChild:!0,...u,children:r.jsx(_.button,{type:"button",role:"combobox","aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":"none",dir:s.dir,"data-state":s.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":nt(s.value)?"":void 0,...a,ref:i,onClick:N(a.onClick,d=>{d.currentTarget.focus(),g.current!=="mouse"&&C(d)}),onPointerDown:N(a.onPointerDown,d=>{g.current=d.pointerType;const h=d.target;h.hasPointerCapture(d.pointerId)&&h.releasePointerCapture(d.pointerId),d.button===0&&d.ctrlKey===!1&&d.pointerType==="mouse"&&(C(d),d.preventDefault())}),onKeyDown:N(a.onKeyDown,d=>{const h=w.current!=="";!(d.ctrlKey||d.altKey||d.metaKey)&&d.key.length===1&&R(d.key),!(h&&d.key===" ")&&Ot.includes(d.key)&&(C(),d.preventDefault())})})})});Oe.displayName=Ae;var De="SelectValue",Le=n.forwardRef((t,o)=>{const{__scopeSelect:e,className:l,style:a,children:u,placeholder:s="",...c}=t,i=Y(De,e),{onValueNodeHasChildrenChange:f}=i,g=u!==void 0,w=L(o,i.onValueNodeChange);return z(()=>{f(g)},[f,g]),r.jsx(_.span,{...c,ref:w,style:{pointerEvents:"none"},children:nt(i.value)?r.jsx(r.Fragment,{children:s}):u})});Le.displayName=De;var Ht="SelectIcon",ke=n.forwardRef((t,o)=>{const{__scopeSelect:e,children:l,...a}=t;return r.jsx(_.span,{"aria-hidden":!0,...a,ref:o,children:l||"▼"})});ke.displayName=Ht;var Ut="SelectPortal",Be=t=>r.jsx(St,{asChild:!0,...t});Be.displayName=Ut;var ee="SelectContent",Ve=n.forwardRef((t,o)=>{const e=Y(ee,t.__scopeSelect),[l,a]=n.useState();if(z(()=>{a(new DocumentFragment)},[]),!e.open){const u=l;return u?Pe.createPortal(r.jsx(He,{scope:t.__scopeSelect,children:r.jsx(ie.Slot,{scope:t.__scopeSelect,children:r.jsx("div",{children:t.children})})}),u):null}return r.jsx(Ue,{...t,ref:o})});Ve.displayName=ee;var A=10,[He,q]=oe(ee),Ft="SelectContentImpl",Wt=Rt("SelectContent.RemoveScroll"),Ue=n.forwardRef((t,o)=>{const{__scopeSelect:e,position:l="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:u,onPointerDownOutside:s,side:c,sideOffset:i,align:f,alignOffset:g,arrowPadding:w,collisionBoundary:R,collisionPadding:b,sticky:C,hideWhenDetached:d,avoidCollisions:h,...x}=t,m=Y(ee,e),[v,F]=n.useState(null),[M,ne]=n.useState(null),P=L(o,p=>F(p)),[O,W]=n.useState(null),[X,k]=n.useState(null),B=de(e),[K,V]=n.useState(!1),H=n.useRef(!1);n.useEffect(()=>{if(v)return Ct(v)},[v]),It();const E=n.useCallback(p=>{const[I,...j]=B().map(T=>T.ref.current),[S]=j.slice(-1),y=document.activeElement;for(const T of p)if(T===y||(T?.scrollIntoView({block:"nearest"}),T===I&&M&&(M.scrollTop=0),T===S&&M&&(M.scrollTop=M.scrollHeight),T?.focus(),document.activeElement!==y))return},[B,M]),D=n.useCallback(()=>E([O,v]),[E,O,v]);n.useEffect(()=>{K&&D()},[K,D]);const{onOpenChange:U,triggerPointerDownPosRef:$}=m;n.useEffect(()=>{if(v){let p={x:0,y:0};const I=S=>{p={x:Math.abs(Math.round(S.pageX)-($.current?.x??0)),y:Math.abs(Math.round(S.pageY)-($.current?.y??0))}},j=S=>{p.x<=10&&p.y<=10?S.preventDefault():v.contains(S.target)||U(!1),document.removeEventListener("pointermove",I),$.current=null};return $.current!==null&&(document.addEventListener("pointermove",I),document.addEventListener("pointerup",j,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",I),document.removeEventListener("pointerup",j,{capture:!0})}}},[v,U,$]),n.useEffect(()=>{const p=()=>U(!1);return window.addEventListener("blur",p),window.addEventListener("resize",p),()=>{window.removeEventListener("blur",p),window.removeEventListener("resize",p)}},[U]);const[pe,ae]=rt(p=>{const I=B().filter(y=>!y.disabled),j=I.find(y=>y.ref.current===document.activeElement),S=st(I,p,j);S&&setTimeout(()=>S.ref.current.focus())}),fe=n.useCallback((p,I,j)=>{const S=!H.current&&!j;(m.value!==void 0&&m.value===I||S)&&(W(p),S&&(H.current=!0))},[m.value]),me=n.useCallback(()=>v?.focus(),[v]),te=n.useCallback((p,I,j)=>{const S=!H.current&&!j;(m.value!==void 0&&m.value===I||S)&&k(p)},[m.value]),le=l==="popper"?xe:Fe,re=le===xe?{side:c,sideOffset:i,align:f,alignOffset:g,arrowPadding:w,collisionBoundary:R,collisionPadding:b,sticky:C,hideWhenDetached:d,avoidCollisions:h}:{};return r.jsx(He,{scope:e,content:v,viewport:M,onViewportChange:ne,itemRefCallback:fe,selectedItem:O,onItemLeave:me,itemTextRefCallback:te,focusSelectedItem:D,selectedItemText:X,position:l,isPositioned:K,searchRef:pe,children:r.jsx(bt,{as:Wt,allowPinchZoom:!0,children:r.jsx(Tt,{asChild:!0,trapped:m.open,onMountAutoFocus:p=>{p.preventDefault()},onUnmountAutoFocus:N(a,p=>{m.trigger?.focus({preventScroll:!0}),p.preventDefault()}),children:r.jsx(Nt,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:u,onPointerDownOutside:s,onFocusOutside:p=>p.preventDefault(),onDismiss:()=>m.onOpenChange(!1),children:r.jsx(le,{role:"listbox",id:m.contentId,"data-state":m.open?"open":"closed",dir:m.dir,onContextMenu:p=>p.preventDefault(),...x,...re,onPlaced:()=>V(!0),ref:P,style:{display:"flex",flexDirection:"column",outline:"none",...x.style},onKeyDown:N(x.onKeyDown,p=>{const I=p.ctrlKey||p.altKey||p.metaKey;if(p.key==="Tab"&&p.preventDefault(),!I&&p.key.length===1&&ae(p.key),["ArrowUp","ArrowDown","Home","End"].includes(p.key)){let S=B().filter(y=>!y.disabled).map(y=>y.ref.current);if(["ArrowUp","End"].includes(p.key)&&(S=S.slice().reverse()),["ArrowUp","ArrowDown"].includes(p.key)){const y=p.target,T=S.indexOf(y);S=S.slice(T+1)}setTimeout(()=>E(S)),p.preventDefault()}})})})})})})});Ue.displayName=Ft;var Kt="SelectItemAlignedPosition",Fe=n.forwardRef((t,o)=>{const{__scopeSelect:e,onPlaced:l,...a}=t,u=Y(ee,e),s=q(ee,e),[c,i]=n.useState(null),[f,g]=n.useState(null),w=L(o,P=>g(P)),R=de(e),b=n.useRef(!1),C=n.useRef(!0),{viewport:d,selectedItem:h,selectedItemText:x,focusSelectedItem:m}=s,v=n.useCallback(()=>{if(u.trigger&&u.valueNode&&c&&f&&d&&h&&x){const P=u.trigger.getBoundingClientRect(),O=f.getBoundingClientRect(),W=u.valueNode.getBoundingClientRect(),X=x.getBoundingClientRect();if(u.dir!=="rtl"){const y=X.left-O.left,T=W.left-y,Z=P.left-T,J=P.width+Z,he=Math.max(J,O.width),ve=window.innerWidth-A,ge=Ne(T,[A,Math.max(A,ve-he)]);c.style.minWidth=J+"px",c.style.left=ge+"px"}else{const y=O.right-X.right,T=window.innerWidth-W.right-y,Z=window.innerWidth-P.right-T,J=P.width+Z,he=Math.max(J,O.width),ve=window.innerWidth-A,ge=Ne(T,[A,Math.max(A,ve-he)]);c.style.minWidth=J+"px",c.style.right=ge+"px"}const k=R(),B=window.innerHeight-A*2,K=d.scrollHeight,V=window.getComputedStyle(f),H=parseInt(V.borderTopWidth,10),E=parseInt(V.paddingTop,10),D=parseInt(V.borderBottomWidth,10),U=parseInt(V.paddingBottom,10),$=H+E+K+U+D,pe=Math.min(h.offsetHeight*5,$),ae=window.getComputedStyle(d),fe=parseInt(ae.paddingTop,10),me=parseInt(ae.paddingBottom,10),te=P.top+P.height/2-A,le=B-te,re=h.offsetHeight/2,p=h.offsetTop+re,I=H+E+p,j=$-I;if(I<=te){const y=k.length>0&&h===k[k.length-1].ref.current;c.style.bottom="0px";const T=f.clientHeight-d.offsetTop-d.offsetHeight,Z=Math.max(le,re+(y?me:0)+T+D),J=I+Z;c.style.height=J+"px"}else{const y=k.length>0&&h===k[0].ref.current;c.style.top="0px";const Z=Math.max(te,H+d.offsetTop+(y?fe:0)+re)+j;c.style.height=Z+"px",d.scrollTop=I-te+d.offsetTop}c.style.margin=`${A}px 0`,c.style.minHeight=pe+"px",c.style.maxHeight=B+"px",l?.(),requestAnimationFrame(()=>b.current=!0)}},[R,u.trigger,u.valueNode,c,f,d,h,x,u.dir,l]);z(()=>v(),[v]);const[F,M]=n.useState();z(()=>{f&&M(window.getComputedStyle(f).zIndex)},[f]);const ne=n.useCallback(P=>{P&&C.current===!0&&(v(),m?.(),C.current=!1)},[v,m]);return r.jsx(zt,{scope:e,contentWrapper:c,shouldExpandOnScrollRef:b,onScrollButtonChange:ne,children:r.jsx("div",{ref:i,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:F},children:r.jsx(_.div,{...a,ref:w,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});Fe.displayName=Kt;var $t="SelectPopperPosition",xe=n.forwardRef((t,o)=>{const{__scopeSelect:e,align:l="start",collisionPadding:a=A,...u}=t,s=ue(e);return r.jsx(Pt,{...s,...u,ref:o,align:l,collisionPadding:a,style:{boxSizing:"border-box",...u.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});xe.displayName=$t;var[zt,be]=oe(ee,{}),Se="SelectViewport",We=n.forwardRef((t,o)=>{const{__scopeSelect:e,nonce:l,...a}=t,u=q(Se,e),s=be(Se,e),c=L(o,u.onViewportChange),i=n.useRef(0);return r.jsxs(r.Fragment,{children:[r.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:l}),r.jsx(ie.Slot,{scope:e,children:r.jsx(_.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:N(a.onScroll,f=>{const g=f.currentTarget,{contentWrapper:w,shouldExpandOnScrollRef:R}=s;if(R?.current&&w){const b=Math.abs(i.current-g.scrollTop);if(b>0){const C=window.innerHeight-A*2,d=parseFloat(w.style.minHeight),h=parseFloat(w.style.height),x=Math.max(d,h);if(x<C){const m=x+b,v=Math.min(C,m),F=m-v;w.style.height=v+"px",w.style.bottom==="0px"&&(g.scrollTop=F>0?F:0,w.style.justifyContent="flex-end")}}}i.current=g.scrollTop})})})]})});We.displayName=Se;var Ke="SelectGroup",[Gt,Yt]=oe(Ke),qt=n.forwardRef((t,o)=>{const{__scopeSelect:e,...l}=t,a=Ie();return r.jsx(Gt,{scope:e,id:a,children:r.jsx(_.div,{role:"group","aria-labelledby":a,...l,ref:o})})});qt.displayName=Ke;var $e="SelectLabel",ze=n.forwardRef((t,o)=>{const{__scopeSelect:e,...l}=t,a=Yt($e,e);return r.jsx(_.div,{id:a.id,...l,ref:o})});ze.displayName=$e;var ce="SelectItem",[Xt,Ge]=oe(ce),Ye=n.forwardRef((t,o)=>{const{__scopeSelect:e,value:l,disabled:a=!1,textValue:u,...s}=t,c=Y(ce,e),i=q(ce,e),f=c.value===l,[g,w]=n.useState(u??""),[R,b]=n.useState(!1),C=L(o,m=>i.itemRefCallback?.(m,l,a)),d=Ie(),h=n.useRef("touch"),x=()=>{a||(c.onValueChange(l),c.onOpenChange(!1))};if(l==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return r.jsx(Xt,{scope:e,value:l,disabled:a,textId:d,isSelected:f,onItemTextChange:n.useCallback(m=>{w(v=>v||(m?.textContent??"").trim())},[]),children:r.jsx(ie.ItemSlot,{scope:e,value:l,disabled:a,textValue:g,children:r.jsx(_.div,{role:"option","aria-labelledby":d,"data-highlighted":R?"":void 0,"aria-selected":f&&R,"data-state":f?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...s,ref:C,onFocus:N(s.onFocus,()=>b(!0)),onBlur:N(s.onBlur,()=>b(!1)),onClick:N(s.onClick,()=>{h.current!=="mouse"&&x()}),onPointerUp:N(s.onPointerUp,()=>{h.current==="mouse"&&x()}),onPointerDown:N(s.onPointerDown,m=>{h.current=m.pointerType}),onPointerMove:N(s.onPointerMove,m=>{h.current=m.pointerType,a?i.onItemLeave?.():h.current==="mouse"&&m.currentTarget.focus({preventScroll:!0})}),onPointerLeave:N(s.onPointerLeave,m=>{m.currentTarget===document.activeElement&&i.onItemLeave?.()}),onKeyDown:N(s.onKeyDown,m=>{i.searchRef?.current!==""&&m.key===" "||(Dt.includes(m.key)&&x(),m.key===" "&&m.preventDefault())})})})})});Ye.displayName=ce;var se="SelectItemText",qe=n.forwardRef((t,o)=>{const{__scopeSelect:e,className:l,style:a,...u}=t,s=Y(se,e),c=q(se,e),i=Ge(se,e),f=Vt(se,e),[g,w]=n.useState(null),R=L(o,x=>w(x),i.onItemTextChange,x=>c.itemTextRefCallback?.(x,i.value,i.disabled)),b=g?.textContent,C=n.useMemo(()=>r.jsx("option",{value:i.value,disabled:i.disabled,children:b},i.value),[i.disabled,i.value,b]),{onNativeOptionAdd:d,onNativeOptionRemove:h}=f;return z(()=>(d(C),()=>h(C)),[d,h,C]),r.jsxs(r.Fragment,{children:[r.jsx(_.span,{id:i.textId,...u,ref:R}),i.isSelected&&s.valueNode&&!s.valueNodeHasChildren?Pe.createPortal(u.children,s.valueNode):null]})});qe.displayName=se;var Xe="SelectItemIndicator",Ze=n.forwardRef((t,o)=>{const{__scopeSelect:e,...l}=t;return Ge(Xe,e).isSelected?r.jsx(_.span,{"aria-hidden":!0,...l,ref:o}):null});Ze.displayName=Xe;var we="SelectScrollUpButton",Je=n.forwardRef((t,o)=>{const e=q(we,t.__scopeSelect),l=be(we,t.__scopeSelect),[a,u]=n.useState(!1),s=L(o,l.onScrollButtonChange);return z(()=>{if(e.viewport&&e.isPositioned){let c=function(){const f=i.scrollTop>0;u(f)};const i=e.viewport;return c(),i.addEventListener("scroll",c),()=>i.removeEventListener("scroll",c)}},[e.viewport,e.isPositioned]),a?r.jsx(et,{...t,ref:s,onAutoScroll:()=>{const{viewport:c,selectedItem:i}=e;c&&i&&(c.scrollTop=c.scrollTop-i.offsetHeight)}}):null});Je.displayName=we;var ye="SelectScrollDownButton",Qe=n.forwardRef((t,o)=>{const e=q(ye,t.__scopeSelect),l=be(ye,t.__scopeSelect),[a,u]=n.useState(!1),s=L(o,l.onScrollButtonChange);return z(()=>{if(e.viewport&&e.isPositioned){let c=function(){const f=i.scrollHeight-i.clientHeight,g=Math.ceil(i.scrollTop)<f;u(g)};const i=e.viewport;return c(),i.addEventListener("scroll",c),()=>i.removeEventListener("scroll",c)}},[e.viewport,e.isPositioned]),a?r.jsx(et,{...t,ref:s,onAutoScroll:()=>{const{viewport:c,selectedItem:i}=e;c&&i&&(c.scrollTop=c.scrollTop+i.offsetHeight)}}):null});Qe.displayName=ye;var et=n.forwardRef((t,o)=>{const{__scopeSelect:e,onAutoScroll:l,...a}=t,u=q("SelectScrollButton",e),s=n.useRef(null),c=de(e),i=n.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return n.useEffect(()=>()=>i(),[i]),z(()=>{c().find(g=>g.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[c]),r.jsx(_.div,{"aria-hidden":!0,...a,ref:o,style:{flexShrink:0,...a.style},onPointerDown:N(a.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(l,50))}),onPointerMove:N(a.onPointerMove,()=>{u.onItemLeave?.(),s.current===null&&(s.current=window.setInterval(l,50))}),onPointerLeave:N(a.onPointerLeave,()=>{i()})})}),Zt="SelectSeparator",tt=n.forwardRef((t,o)=>{const{__scopeSelect:e,...l}=t;return r.jsx(_.div,{"aria-hidden":!0,...l,ref:o})});tt.displayName=Zt;var Ce="SelectArrow",Jt=n.forwardRef((t,o)=>{const{__scopeSelect:e,...l}=t,a=ue(e),u=Y(Ce,e),s=q(Ce,e);return u.open&&s.position==="popper"?r.jsx(Et,{...a,...l,ref:o}):null});Jt.displayName=Ce;var Qt="SelectBubbleInput",ot=n.forwardRef(({__scopeSelect:t,value:o,...e},l)=>{const a=n.useRef(null),u=L(l,a),s=Mt(o);return n.useEffect(()=>{const c=a.current;if(!c)return;const i=window.HTMLSelectElement.prototype,g=Object.getOwnPropertyDescriptor(i,"value").set;if(s!==o&&g){const w=new Event("change",{bubbles:!0});g.call(c,o),c.dispatchEvent(w)}},[s,o]),r.jsx(_.select,{...e,style:{..._e,...e.style},ref:u,defaultValue:o})});ot.displayName=Qt;function nt(t){return t===""||t===void 0}function rt(t){const o=yt(t),e=n.useRef(""),l=n.useRef(0),a=n.useCallback(s=>{const c=e.current+s;o(c),(function i(f){e.current=f,window.clearTimeout(l.current),f!==""&&(l.current=window.setTimeout(()=>i(""),1e3))})(c)},[o]),u=n.useCallback(()=>{e.current="",window.clearTimeout(l.current)},[]);return n.useEffect(()=>()=>window.clearTimeout(l.current),[]),[e,a,u]}function st(t,o,e){const a=o.length>1&&Array.from(o).every(f=>f===o[0])?o[0]:o,u=e?t.indexOf(e):-1;let s=eo(t,Math.max(u,0));a.length===1&&(s=s.filter(f=>f!==e));const i=s.find(f=>f.textValue.toLowerCase().startsWith(a.toLowerCase()));return i!==e?i:void 0}function eo(t,o){return t.map((e,l)=>t[(o+l)%t.length])}var to=Me,at=Oe,oo=Le,no=ke,ro=Be,lt=Ve,so=We,ct=ze,it=Ye,ao=qe,lo=Ze,dt=Je,ut=Qe,pt=tt;const go=to,xo=oo,co=n.forwardRef(({className:t,children:o,...e},l)=>r.jsxs(at,{ref:l,className:G("flex h-10 w-full items-center justify-between rounded-xl border-none field-recessed px-4 py-2 text-sm focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 transition-all",t),...e,children:[o,r.jsx(no,{asChild:!0,children:r.jsx(Ee,{className:"h-4 w-4 opacity-50"})})]}));co.displayName=at.displayName;const ft=n.forwardRef(({className:t,...o},e)=>r.jsx(dt,{ref:e,className:G("flex cursor-default items-center justify-center py-1",t),...o,children:r.jsx(jt,{className:"h-4 w-4"})}));ft.displayName=dt.displayName;const mt=n.forwardRef(({className:t,...o},e)=>r.jsx(ut,{ref:e,className:G("flex cursor-default items-center justify-center py-1",t),...o,children:r.jsx(Ee,{className:"h-4 w-4"})}));mt.displayName=ut.displayName;const io=n.forwardRef(({className:t,children:o,position:e="popper",...l},a)=>r.jsx(ro,{children:r.jsxs(lt,{ref:a,className:G("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-xl modal-glass data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:e,...l,children:[r.jsx(ft,{}),r.jsx(so,{className:G("p-1",e==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:o}),r.jsx(mt,{})]})}));io.displayName=lt.displayName;const uo=n.forwardRef(({className:t,...o},e)=>r.jsx(ct,{ref:e,className:G("py-1.5 pl-8 pr-2 text-sm font-semibold",t),...o}));uo.displayName=ct.displayName;const po=n.forwardRef(({className:t,children:o,...e},l)=>r.jsxs(it,{ref:l,className:G("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-[var(--accent)] focus:text-[var(--accent-foreground)] data-[disabled]:pointer-events-none data-[disabled]:opacity-50 transition-colors",t),...e,children:[r.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:r.jsx(lo,{children:r.jsx(_t,{className:"h-4 w-4"})})}),r.jsx(ao,{children:o})]}));po.displayName=it.displayName;const fo=n.forwardRef(({className:t,...o},e)=>r.jsx(pt,{ref:e,className:G("-mx-1 my-1 h-px bg-[var(--muted)]",t),...o}));fo.displayName=pt.displayName;export{vo as R,go as S,co as a,xo as b,io as c,po as d,Mt as u};
@@ -1 +0,0 @@
1
- import{c as e}from"./index-lJlNPFVJ.js";const r=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],i=e("server",r);export{i as S};
@@ -1 +0,0 @@
1
- import{c as d,j as e,by as l,bz as r,bA as c,X as u,i as s,bB as h,bC as f,bD as p,bE as x}from"./index-lJlNPFVJ.js";const m=[["path",{d:"M12 3v18",key:"108xh3"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}]],j=d("table",m);function v({...t}){return e.jsx(l,{"data-slot":"sheet",...t})}function b({...t}){return e.jsx(p,{"data-slot":"sheet-portal",...t})}function g({className:t,...a}){return e.jsx(x,{"data-slot":"sheet-overlay",className:s("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...a})}function N({className:t,children:a,side:o="right",showCloseButton:n=!0,...i}){return e.jsxs(b,{children:[e.jsx(g,{}),e.jsxs(r,{"data-slot":"sheet-content",className:s("data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-2xl transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 glass-heavy",o==="right"&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 sm:max-w-sm",o==="left"&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 sm:max-w-sm",o==="top"&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto",o==="bottom"&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto",t),...i,children:[a,n&&e.jsxs(c,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[e.jsx(u,{className:"size-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function S({className:t,...a}){return e.jsx("div",{"data-slot":"sheet-header",className:s("flex flex-col gap-1.5 p-4",t),...a})}function k({className:t,...a}){return e.jsx(h,{"data-slot":"sheet-title",className:s("text-foreground font-semibold",t),...a})}function w({className:t,...a}){return e.jsx(f,{"data-slot":"sheet-description",className:s("text-muted-foreground text-sm",t),...a})}export{v as S,j as T,N as a,S as b,k as c,w as d};
@@ -1 +0,0 @@
1
- import{j as e,i as o}from"./index-lJlNPFVJ.js";function i({className:s,...n}){return e.jsx("div",{className:o("skeleton-glass relative overflow-hidden rounded-xl",s),...n,children:e.jsx("div",{className:"absolute inset-0 skeleton-shimmer"})})}export{i as S};
@@ -1 +0,0 @@
1
- import{r as s,at as g,ao as B,j as a,ap as k,ar as T,b9 as I,av as M,i as H}from"./index-lJlNPFVJ.js";import{u as A}from"./select-CeQ8AHGy.js";var b="Switch",[U]=M(b),[X,q]=U(b),y=s.forwardRef((t,o)=>{const{__scopeSwitch:e,name:n,checked:r,defaultChecked:m,required:l,disabled:i,value:u="on",onCheckedChange:w,form:c,...v}=t,[d,p]=s.useState(null),S=g(o,h=>p(h)),x=s.useRef(!1),C=d?c||!!d.closest("form"):!0,[f,_]=B({prop:r,defaultProp:m??!1,onChange:w,caller:b});return a.jsxs(X,{scope:e,checked:f,disabled:i,children:[a.jsx(k.button,{type:"button",role:"switch","aria-checked":f,"aria-required":l,"data-state":j(f),"data-disabled":i?"":void 0,disabled:i,value:u,...v,ref:S,onClick:T(t.onClick,h=>{_(N=>!N),C&&(x.current=h.isPropagationStopped(),x.current||h.stopPropagation())})}),C&&a.jsx(R,{control:d,bubbles:!x.current,name:n,value:u,checked:f,required:l,disabled:i,form:c,style:{transform:"translateX(-100%)"}})]})});y.displayName=b;var P="SwitchThumb",E=s.forwardRef((t,o)=>{const{__scopeSwitch:e,...n}=t,r=q(P,e);return a.jsx(k.span,{"data-state":j(r.checked),"data-disabled":r.disabled?"":void 0,...n,ref:o})});E.displayName=P;var z="SwitchBubbleInput",R=s.forwardRef(({__scopeSwitch:t,control:o,checked:e,bubbles:n=!0,...r},m)=>{const l=s.useRef(null),i=g(l,m),u=A(e),w=I(o);return s.useEffect(()=>{const c=l.current;if(!c)return;const v=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(v,"checked").set;if(u!==e&&p){const S=new Event("click",{bubbles:n});p.call(c,e),c.dispatchEvent(S)}},[u,e,n]),a.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:e,...r,tabIndex:-1,ref:i,style:{...r.style,...w,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});R.displayName=z;function j(t){return t?"checked":"unchecked"}var L=y,O=E;function W({className:t,checked:o,...e}){return a.jsx(L,{"data-slot":"switch",checked:o,className:H("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full","border-2 border-transparent shadow-sm transition-colors duration-200","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50",t),style:{backgroundColor:o?"var(--primary)":"#a1a1aa"},...e,children:a.jsx(O,{"data-slot":"switch-thumb",className:"pointer-events-none block h-5 w-5 rounded-full bg-white shadow-lg ring-0 transition-transform duration-200",style:{transform:o?"translateX(20px)":"translateX(0px)"}})})}export{W as S};
@@ -1 +0,0 @@
1
- import{r as o,j as t,i as r}from"./index-lJlNPFVJ.js";const l=o.forwardRef(({className:a,...e},s)=>t.jsx("div",{className:"relative w-full overflow-auto",children:t.jsx("table",{ref:s,className:r("w-full caption-bottom text-sm",a),...e})}));l.displayName="Table";const d=o.forwardRef(({className:a,...e},s)=>t.jsx("thead",{ref:s,className:r("[&_tr]:border-b",a),...e}));d.displayName="TableHeader";const m=o.forwardRef(({className:a,...e},s)=>t.jsx("tbody",{ref:s,className:r("[&_tr:last-child]:border-0",a),...e}));m.displayName="TableBody";const b=o.forwardRef(({className:a,...e},s)=>t.jsx("tfoot",{ref:s,className:r("border-t bg-[var(--muted)]/50 font-medium [&>tr]:last:border-b-0",a),...e}));b.displayName="TableFooter";const c=o.forwardRef(({className:a,...e},s)=>t.jsx("tr",{ref:s,className:r("border-b transition-colors hover:bg-[var(--muted)]/50 data-[state=selected]:bg-[var(--muted)]",a),...e}));c.displayName="TableRow";const i=o.forwardRef(({className:a,...e},s)=>t.jsx("th",{ref:s,className:r("h-12 px-4 text-left align-middle font-medium text-[var(--muted-foreground)] [&:has([role=checkbox])]:pr-0",a),...e}));i.displayName="TableHead";const f=o.forwardRef(({className:a,...e},s)=>t.jsx("td",{ref:s,className:r("p-4 align-middle [&:has([role=checkbox])]:pr-0",a),...e}));f.displayName="TableCell";const n=o.forwardRef(({className:a,...e},s)=>t.jsx("caption",{ref:s,className:r("mt-4 text-sm text-[var(--muted-foreground)]",a),...e}));n.displayName="TableCaption";export{l as T,d as a,c as b,i as c,m as d,f as e};
@@ -1 +0,0 @@
1
- import{r as t,j as o,i as s}from"./index-lJlNPFVJ.js";const d=t.forwardRef(({className:e,...r},a)=>o.jsx("textarea",{className:s("flex min-h-[80px] w-full rounded-2xl border-none field-recessed px-4 py-3 text-sm transition-all duration-300 placeholder:text-[var(--muted-foreground)]/50 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 font-medium",e),ref:a,...r}));d.displayName="Textarea";export{d as T};
@@ -1 +0,0 @@
1
- import{r as s,aq as Y,ao as X,j as u,bf as K,at as N,bg as W,ap as J,ar as y,as as H,bh as Q,bi as S,bj as Z,bk as ee,av as te,bl as oe,bm as re,i as ne}from"./index-lJlNPFVJ.js";import{R as se}from"./select-CeQ8AHGy.js";var[_]=te("Tooltip",[S]),O=S(),G="TooltipProvider",ae=700,k="tooltip.open",[ie,L]=_(G),F=e=>{const{__scopeTooltip:o,delayDuration:t=ae,skipDelayDuration:r=300,disableHoverableContent:n=!1,children:l}=e,i=s.useRef(!0),v=s.useRef(!1),a=s.useRef(0);return s.useEffect(()=>{const p=a.current;return()=>window.clearTimeout(p)},[]),u.jsx(ie,{scope:o,isOpenDelayedRef:i,delayDuration:t,onOpen:s.useCallback(()=>{window.clearTimeout(a.current),i.current=!1},[]),onClose:s.useCallback(()=>{window.clearTimeout(a.current),a.current=window.setTimeout(()=>i.current=!0,r)},[r]),isPointerInTransitRef:v,onPointerInTransitChange:s.useCallback(p=>{v.current=p},[]),disableHoverableContent:n,children:l})};F.displayName=G;var R="Tooltip",[le,j]=_(R),$=e=>{const{__scopeTooltip:o,children:t,open:r,defaultOpen:n,onOpenChange:l,disableHoverableContent:i,delayDuration:v}=e,a=L(R,e.__scopeTooltip),p=O(o),[c,f]=s.useState(null),x=Y(),d=s.useRef(0),h=i??a.disableHoverableContent,T=v??a.delayDuration,g=s.useRef(!1),[b,m]=X({prop:r,defaultProp:n??!1,onChange:I=>{I?(a.onOpen(),document.dispatchEvent(new CustomEvent(k))):a.onClose(),l?.(I)},caller:R}),w=s.useMemo(()=>b?g.current?"delayed-open":"instant-open":"closed",[b]),P=s.useCallback(()=>{window.clearTimeout(d.current),d.current=0,g.current=!1,m(!0)},[m]),E=s.useCallback(()=>{window.clearTimeout(d.current),d.current=0,m(!1)},[m]),M=s.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>{g.current=!0,m(!0),d.current=0},T)},[T,m]);return s.useEffect(()=>()=>{d.current&&(window.clearTimeout(d.current),d.current=0)},[]),u.jsx(K,{...p,children:u.jsx(le,{scope:o,contentId:x,open:b,stateAttribute:w,trigger:c,onTriggerChange:f,onTriggerEnter:s.useCallback(()=>{a.isOpenDelayedRef.current?M():P()},[a.isOpenDelayedRef,M,P]),onTriggerLeave:s.useCallback(()=>{h?E():(window.clearTimeout(d.current),d.current=0)},[E,h]),onOpen:P,onClose:E,disableHoverableContent:h,children:t})})};$.displayName=R;var D="TooltipTrigger",B=s.forwardRef((e,o)=>{const{__scopeTooltip:t,...r}=e,n=j(D,t),l=L(D,t),i=O(t),v=s.useRef(null),a=N(o,v,n.onTriggerChange),p=s.useRef(!1),c=s.useRef(!1),f=s.useCallback(()=>p.current=!1,[]);return s.useEffect(()=>()=>document.removeEventListener("pointerup",f),[f]),u.jsx(W,{asChild:!0,...i,children:u.jsx(J.button,{"aria-describedby":n.open?n.contentId:void 0,"data-state":n.stateAttribute,...r,ref:a,onPointerMove:y(e.onPointerMove,x=>{x.pointerType!=="touch"&&!c.current&&!l.isPointerInTransitRef.current&&(n.onTriggerEnter(),c.current=!0)}),onPointerLeave:y(e.onPointerLeave,()=>{n.onTriggerLeave(),c.current=!1}),onPointerDown:y(e.onPointerDown,()=>{n.open&&n.onClose(),p.current=!0,document.addEventListener("pointerup",f,{once:!0})}),onFocus:y(e.onFocus,()=>{p.current||n.onOpen()}),onBlur:y(e.onBlur,n.onClose),onClick:y(e.onClick,n.onClose)})})});B.displayName=D;var A="TooltipPortal",[ce,ue]=_(A,{forceMount:void 0}),q=e=>{const{__scopeTooltip:o,forceMount:t,children:r,container:n}=e,l=j(A,o);return u.jsx(ce,{scope:o,forceMount:t,children:u.jsx(H,{present:t||l.open,children:u.jsx(Q,{asChild:!0,container:n,children:r})})})};q.displayName=A;var C="TooltipContent",z=s.forwardRef((e,o)=>{const t=ue(C,e.__scopeTooltip),{forceMount:r=t.forceMount,side:n="top",...l}=e,i=j(C,e.__scopeTooltip);return u.jsx(H,{present:r||i.open,children:i.disableHoverableContent?u.jsx(U,{side:n,...l,ref:o}):u.jsx(de,{side:n,...l,ref:o})})}),de=s.forwardRef((e,o)=>{const t=j(C,e.__scopeTooltip),r=L(C,e.__scopeTooltip),n=s.useRef(null),l=N(o,n),[i,v]=s.useState(null),{trigger:a,onClose:p}=t,c=n.current,{onPointerInTransitChange:f}=r,x=s.useCallback(()=>{v(null),f(!1)},[f]),d=s.useCallback((h,T)=>{const g=h.currentTarget,b={x:h.clientX,y:h.clientY},m=he(b,g.getBoundingClientRect()),w=ge(b,m),P=Te(T.getBoundingClientRect()),E=be([...w,...P]);v(E),f(!0)},[f]);return s.useEffect(()=>()=>x(),[x]),s.useEffect(()=>{if(a&&c){const h=g=>d(g,c),T=g=>d(g,a);return a.addEventListener("pointerleave",h),c.addEventListener("pointerleave",T),()=>{a.removeEventListener("pointerleave",h),c.removeEventListener("pointerleave",T)}}},[a,c,d,x]),s.useEffect(()=>{if(i){const h=T=>{const g=T.target,b={x:T.clientX,y:T.clientY},m=a?.contains(g)||c?.contains(g),w=!me(b,i);m?x():w&&(x(),p())};return document.addEventListener("pointermove",h),()=>document.removeEventListener("pointermove",h)}},[a,c,i,p,x]),u.jsx(U,{...e,ref:l})}),[pe,fe]=_(R,{isInside:!1}),ve=oe("TooltipContent"),U=s.forwardRef((e,o)=>{const{__scopeTooltip:t,children:r,"aria-label":n,onEscapeKeyDown:l,onPointerDownOutside:i,...v}=e,a=j(C,t),p=O(t),{onClose:c}=a;return s.useEffect(()=>(document.addEventListener(k,c),()=>document.removeEventListener(k,c)),[c]),s.useEffect(()=>{if(a.trigger){const f=x=>{x.target?.contains(a.trigger)&&c()};return window.addEventListener("scroll",f,{capture:!0}),()=>window.removeEventListener("scroll",f,{capture:!0})}},[a.trigger,c]),u.jsx(Z,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:i,onFocusOutside:f=>f.preventDefault(),onDismiss:c,children:u.jsxs(ee,{"data-state":a.stateAttribute,...p,...v,ref:o,style:{...v.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:[u.jsx(ve,{children:r}),u.jsx(pe,{scope:t,isInside:!0,children:u.jsx(se,{id:a.contentId,role:"tooltip",children:n||r})})]})})});z.displayName=C;var V="TooltipArrow",xe=s.forwardRef((e,o)=>{const{__scopeTooltip:t,...r}=e,n=O(t);return fe(V,t).isInside?null:u.jsx(re,{...n,...r,ref:o})});xe.displayName=V;function he(e,o){const t=Math.abs(o.top-e.y),r=Math.abs(o.bottom-e.y),n=Math.abs(o.right-e.x),l=Math.abs(o.left-e.x);switch(Math.min(t,r,n,l)){case l:return"left";case n:return"right";case t:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function ge(e,o,t=5){const r=[];switch(o){case"top":r.push({x:e.x-t,y:e.y+t},{x:e.x+t,y:e.y+t});break;case"bottom":r.push({x:e.x-t,y:e.y-t},{x:e.x+t,y:e.y-t});break;case"left":r.push({x:e.x+t,y:e.y-t},{x:e.x+t,y:e.y+t});break;case"right":r.push({x:e.x-t,y:e.y-t},{x:e.x-t,y:e.y+t});break}return r}function Te(e){const{top:o,right:t,bottom:r,left:n}=e;return[{x:n,y:o},{x:t,y:o},{x:t,y:r},{x:n,y:r}]}function me(e,o){const{x:t,y:r}=e;let n=!1;for(let l=0,i=o.length-1;l<o.length;i=l++){const v=o[l],a=o[i],p=v.x,c=v.y,f=a.x,x=a.y;c>r!=x>r&&t<(f-p)*(r-c)/(x-c)+p&&(n=!n)}return n}function be(e){const o=e.slice();return o.sort((t,r)=>t.x<r.x?-1:t.x>r.x?1:t.y<r.y?-1:t.y>r.y?1:0),ye(o)}function ye(e){if(e.length<=1)return e.slice();const o=[];for(let r=0;r<e.length;r++){const n=e[r];for(;o.length>=2;){const l=o[o.length-1],i=o[o.length-2];if((l.x-i.x)*(n.y-i.y)>=(l.y-i.y)*(n.x-i.x))o.pop();else break}o.push(n)}o.pop();const t=[];for(let r=e.length-1;r>=0;r--){const n=e[r];for(;t.length>=2;){const l=t[t.length-1],i=t[t.length-2];if((l.x-i.x)*(n.y-i.y)>=(l.y-i.y)*(n.x-i.x))t.pop();else break}t.push(n)}return t.pop(),o.length===1&&t.length===1&&o[0].x===t[0].x&&o[0].y===t[0].y?o:o.concat(t)}var Ce=F,we=$,Pe=B,Ee=q,Re=z;function je({delayDuration:e=200,...o}){return u.jsx(Ce,{"data-slot":"tooltip-provider",delayDuration:e,...o})}function ke({...e}){return u.jsx(je,{children:u.jsx(we,{"data-slot":"tooltip",...e})})}function De({...e}){return u.jsx(Pe,{"data-slot":"tooltip-trigger",...e})}function Le({className:e,sideOffset:o=6,children:t,...r}){return u.jsx(Ee,{children:u.jsx(Re,{"data-slot":"tooltip-content",sideOffset:o,className:ne("z-50 w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin)","rounded-2xl px-4 py-3 text-sm","bg-(--card)/80 backdrop-blur-xl backdrop-saturate-150","border border-white/10 shadow-lg shadow-black/10","text-(--foreground)","animate-in fade-in-0 zoom-in-95","data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r,children:t})})}export{ke as T,De as a,Le as b,je as c};