specrails-desktop 2.64.1 → 2.65.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 (1117) hide show
  1. package/README.md +1 -1
  2. package/cli/dist/status.js +3 -0
  3. package/client/dist/assets/ActivityFeedPage-ByVKYII-.js +1 -0
  4. package/client/dist/assets/AgentBrowserCapture-BGUTjhUr.js +1 -0
  5. package/client/dist/assets/AgentModeAnalyticsPane-CtOLDDjB.js +2 -0
  6. package/client/dist/assets/AgentModeCodePane-CDhUKarT.js +2 -0
  7. package/client/dist/assets/AgentModeJobsPane-BAa_oEHJ.js +1 -0
  8. package/client/dist/assets/AgentsPage-D32hG4Ve.js +120 -0
  9. package/client/dist/assets/AnalyticsPage-BU50zeG6.js +5 -0
  10. package/client/dist/assets/BudgetCard-DP_jxwaD.js +55 -0
  11. package/client/dist/assets/CodePage-jiYnKGpp.js +3 -0
  12. package/client/dist/assets/CostValue-Bvn8674q.js +1 -0
  13. package/client/dist/assets/DesktopAnalyticsPage-CF__H4e3.js +1 -0
  14. package/client/dist/assets/DocView-RrAp70zp.js +11 -0
  15. package/client/dist/assets/DocsDialog-DkqHU-JF.js +1 -0
  16. package/client/dist/assets/DocsPage-C6X089zC.js +1 -0
  17. package/client/dist/assets/ExportDropdown-C5-o8y3K.js +1 -0
  18. package/client/dist/assets/HelpHint-Crf9_uoR.js +1 -0
  19. package/client/dist/assets/IntegrationsPage-aflU3KHK.js +1 -0
  20. package/client/dist/assets/InteractiveJobComposer-CEMMhyyJ.js +19 -0
  21. package/client/dist/assets/JobDetailModal-BVJ6hyRs.js +1 -0
  22. package/client/dist/assets/JobDetailPage-DHzBUmox.js +1 -0
  23. package/client/dist/assets/JobsPage-o-LAqkwC.js +1 -0
  24. package/client/dist/assets/LoopBuilderPage-DbSVmXBM.js +1 -0
  25. package/client/dist/assets/LoopPreviewModal-DbJcVyN1.js +1 -0
  26. package/client/dist/assets/{LoopWindowSurface-DE0v2K1p.js → LoopWindowSurface-Co1ZK26V.js} +1 -1
  27. package/client/dist/assets/LoopsPage-C4lgkPXB.js +2 -0
  28. package/client/dist/assets/MinimizedChatsContext-742ypO8n.js +1 -0
  29. package/client/dist/assets/PluginsPage-Acks9ges.js +2 -0
  30. package/client/dist/assets/RailTrack-BfLmBzBh.js +1 -0
  31. package/client/dist/assets/{RepositoryScopeSelector-2eSqR9WK.js → RepositoryScopeSelector-DcxbKI9w.js} +1 -1
  32. package/client/dist/assets/ReviewPacketPage-CAVSIOAJ.js +7 -0
  33. package/client/dist/assets/TemplatePreviewModal-C23SYCTm.js +1 -0
  34. package/client/dist/assets/TicketDetailModalContext-B-Gtm6Ob.js +23 -0
  35. package/client/dist/assets/Trans-C6J0cLyh.js +1 -0
  36. package/client/dist/assets/a11y-prefs-BqoP5goK.js +1 -0
  37. package/client/dist/assets/activity-BBWfoUOG.js +1 -0
  38. package/client/dist/assets/activity-BM_skann.js +1 -0
  39. package/client/dist/assets/activity-Cevl82ke.js +1 -0
  40. package/client/dist/assets/activity-CmACk5W5.js +1 -0
  41. package/client/dist/assets/activity-D9LBw3PQ.js +1 -0
  42. package/client/dist/assets/activity-Dspbb9lz.js +1 -0
  43. package/client/dist/assets/activity-FPjYIjv9.js +1 -0
  44. package/client/dist/assets/activity-nLCKMUKt.js +1 -0
  45. package/client/dist/assets/addspec-BI4jDMhA.js +1 -0
  46. package/client/dist/assets/addspec-BldTv7Tl.js +1 -0
  47. package/client/dist/assets/addspec-Cdq-2EcC.js +1 -0
  48. package/client/dist/assets/addspec-DH5M16BQ.js +1 -0
  49. package/client/dist/assets/addspec-DOFo9pD5.js +1 -0
  50. package/client/dist/assets/addspec-DPkwhdmL.js +1 -0
  51. package/client/dist/assets/addspec-Dzy12Pv3.js +1 -0
  52. package/client/dist/assets/addspec-skTs6EEW.js +1 -0
  53. package/client/dist/assets/agent-B_UEUy7Y.js +1 -0
  54. package/client/dist/assets/agent-BarjlhTA.js +1 -0
  55. package/client/dist/assets/agent-BfqIITo5.js +1 -0
  56. package/client/dist/assets/agent-Bt9a7Kyj.js +1 -0
  57. package/client/dist/assets/agent-C3689RwP.js +1 -0
  58. package/client/dist/assets/agent-CrmboTAi.js +1 -0
  59. package/client/dist/assets/agent-DcsoTnuE.js +1 -0
  60. package/client/dist/assets/agent-GDZoYwd4.js +1 -0
  61. package/client/dist/assets/{agentRuntime-es2ymSl-.js → agentRuntime-BYH70bKY.js} +1 -1
  62. package/client/dist/assets/agentRuntime-BijLh8I9.js +1 -0
  63. package/client/dist/assets/{agentRuntime-BzuwQQgn.js → agentRuntime-BvyuETPe.js} +1 -1
  64. package/client/dist/assets/{agentRuntime-BDvbJMmS.js → agentRuntime-C2WI6HQh.js} +1 -1
  65. package/client/dist/assets/{agentRuntime-BKJfv5YD.js → agentRuntime-CZPIlQsr.js} +1 -1
  66. package/client/dist/assets/{agentRuntime-DiCldqGG.js → agentRuntime-D2dDvCyJ.js} +1 -1
  67. package/client/dist/assets/agentRuntime-DWZedEbn.js +1 -0
  68. package/client/dist/assets/agentRuntime-DkIruUNw.js +1 -0
  69. package/client/dist/assets/agents-35_PDKx9.js +1 -0
  70. package/client/dist/assets/agents-8fZnHhEQ.js +1 -0
  71. package/client/dist/assets/agents-Bgimtw8z.js +1 -0
  72. package/client/dist/assets/agents-C4P160Us.js +1 -0
  73. package/client/dist/assets/agents-Clg67zbp.js +1 -0
  74. package/client/dist/assets/agents-DJfF4o6G.js +1 -0
  75. package/client/dist/assets/agents-Dc9-Y5cw.js +1 -0
  76. package/client/dist/assets/agents-EN1Zl4YZ.js +1 -0
  77. package/client/dist/assets/agentstudio-Bm4-NYaG.js +1 -0
  78. package/client/dist/assets/agentstudio-CD1fuj2o.js +1 -0
  79. package/client/dist/assets/agentstudio-CQGWFSst.js +1 -0
  80. package/client/dist/assets/agentstudio-CqVSb65S.js +1 -0
  81. package/client/dist/assets/agentstudio-DIE_HjsX.js +1 -0
  82. package/client/dist/assets/agentstudio-D_OmQK-k.js +1 -0
  83. package/client/dist/assets/agentstudio-Djz9aUfb.js +1 -0
  84. package/client/dist/assets/agentstudio-Qa3v9o5J.js +1 -0
  85. package/client/dist/assets/{aiedit-DNXxq_Dr.js → aiedit-1VzLs37W.js} +1 -1
  86. package/client/dist/assets/{aiedit-DCjA7jLJ.js → aiedit-BNp6GSik.js} +1 -1
  87. package/client/dist/assets/{aiedit-BoG24nlg.js → aiedit-BOY5xRPi.js} +1 -1
  88. package/client/dist/assets/{aiedit-iIjz2_Qk.js → aiedit-BrqMZvbc.js} +1 -1
  89. package/client/dist/assets/{aiedit-CjlSRQVP.js → aiedit-CVgtl7hm.js} +1 -1
  90. package/client/dist/assets/{aiedit-DQ-0_pvE.js → aiedit-CrFW9Jd2.js} +1 -1
  91. package/client/dist/assets/{aiedit-olnv3QSt.js → aiedit-YE2lILp7.js} +1 -1
  92. package/client/dist/assets/{aiedit-B0KUbpB6.js → aiedit-iA_R1AVQ.js} +1 -1
  93. package/client/dist/assets/analytics-3w0t-4ic.js +1 -0
  94. package/client/dist/assets/analytics-BRi4KQD6.js +1 -0
  95. package/client/dist/assets/analytics-BtjAqzke.js +1 -0
  96. package/client/dist/assets/analytics-COSQ1h47.js +1 -0
  97. package/client/dist/assets/analytics-CP2HjESk.js +1 -0
  98. package/client/dist/assets/analytics-DY65TC62.js +1 -0
  99. package/client/dist/assets/analytics-Den_vvxn.js +1 -0
  100. package/client/dist/assets/analytics-LmBS96O8.js +1 -0
  101. package/client/dist/assets/api-DOGbyfTO.js +2 -0
  102. package/client/dist/assets/builder-BMVvSr4v.js +1 -0
  103. package/client/dist/assets/builder-BN-MuLZt.js +1 -0
  104. package/client/dist/assets/builder-BQOZi4CF.js +1 -0
  105. package/client/dist/assets/builder-BjUPjsyu.js +1 -0
  106. package/client/dist/assets/builder-BoBtN18T.js +1 -0
  107. package/client/dist/assets/builder-C5g5NhxL.js +1 -0
  108. package/client/dist/assets/builder-RUHXw3yx.js +1 -0
  109. package/client/dist/assets/builder-fyS_AiyC.js +1 -0
  110. package/client/dist/assets/button-CHPkroew.js +1 -0
  111. package/client/dist/assets/chat-C9L5T7KI.js +1 -0
  112. package/client/dist/assets/chevron-right-CwMAj0w_.js +1 -0
  113. package/client/dist/assets/chevron-up-BAMuP0XD.js +1 -0
  114. package/client/dist/assets/chunk-OB3PAWPO-BBaq6pUk.js +3 -0
  115. package/client/dist/assets/code-4le5IIbf.js +1 -0
  116. package/client/dist/assets/code-B-jCVIbm.js +1 -0
  117. package/client/dist/assets/code-BRfrn5ix.js +1 -0
  118. package/client/dist/assets/code-CC9NCrDM.js +1 -0
  119. package/client/dist/assets/code-CK6pm8wY.js +1 -0
  120. package/client/dist/assets/code-DDiOzd6c.js +1 -0
  121. package/client/dist/assets/code-tGifiyf5.js +1 -0
  122. package/client/dist/assets/code-xkn8kQTg.js +1 -0
  123. package/client/dist/assets/commands-Bv1QshHR.js +1 -0
  124. package/client/dist/assets/commands-BvxTxboW.js +1 -0
  125. package/client/dist/assets/commands-C5ORR0fO.js +1 -0
  126. package/client/dist/assets/commands-CBKMFSTV.js +1 -0
  127. package/client/dist/assets/commands-CFJIRsJv.js +1 -0
  128. package/client/dist/assets/commands-D9o3ZcXl.js +1 -0
  129. package/client/dist/assets/commands-DNox0Edk.js +1 -0
  130. package/client/dist/assets/commands-DmIUMLdV.js +1 -0
  131. package/client/dist/assets/common-5H4TkaoI.js +1 -0
  132. package/client/dist/assets/common-9S3OdPjx.js +1 -0
  133. package/client/dist/assets/common-BqnwIcjs.js +1 -0
  134. package/client/dist/assets/common-CQP3VafS.js +1 -0
  135. package/client/dist/assets/common-CZnAfkB2.js +1 -0
  136. package/client/dist/assets/common-D5sNttV4.js +1 -0
  137. package/client/dist/assets/common-k_qX9nlv.js +1 -0
  138. package/client/dist/assets/common-s4HIi9XI.js +1 -0
  139. package/client/dist/assets/compass-B7guwBlY.js +1 -0
  140. package/client/dist/assets/confirm-dialog-ChZdHL3Q.js +1 -0
  141. package/client/dist/assets/copy-DOPlLymH.js +1 -0
  142. package/client/dist/assets/core-BozBzB6Y.js +1 -0
  143. package/client/dist/assets/dashboard-6zGLGcEz.js +1 -0
  144. package/client/dist/assets/dashboard-8Gi0FBDq.js +1 -0
  145. package/client/dist/assets/dashboard-B7E5YrSy.js +1 -0
  146. package/client/dist/assets/dashboard-BhdKV8xK.js +1 -0
  147. package/client/dist/assets/dashboard-Bu3zzH_s.js +1 -0
  148. package/client/dist/assets/dashboard-Ce_6rELA.js +1 -0
  149. package/client/dist/assets/dashboard-DWY-oz8P.js +1 -0
  150. package/client/dist/assets/dashboard-gUzlWk0o.js +1 -0
  151. package/client/dist/assets/date-input-Cdlr8kHz.js +1 -0
  152. package/client/dist/assets/dialog-C23lB2iP.js +5 -0
  153. package/client/dist/assets/dist-Di-oOFkX.js +1 -0
  154. package/client/dist/assets/dist-js-CBmS6MsJ.js +1 -0
  155. package/client/dist/assets/{dist-js-Rlh4FLH5.js → dist-js-DaJmKapi.js} +1 -1
  156. package/client/dist/assets/dropdown-menu-Bfp2CK6H.js +1 -0
  157. package/client/dist/assets/empty-state-D5w9OWj-.js +1 -0
  158. package/client/dist/assets/es2015-DfnECntk.js +41 -0
  159. package/client/dist/assets/esm-BKF6CE7v.js +1 -0
  160. package/client/dist/assets/event-BEnMLqAi.js +1 -0
  161. package/client/dist/assets/explore--NOz9LCN.js +1 -0
  162. package/client/dist/assets/explore-B2ulH6dO.js +1 -0
  163. package/client/dist/assets/explore-BD-QiLdg.js +1 -0
  164. package/client/dist/assets/explore-BOqd4_1j.js +1 -0
  165. package/client/dist/assets/explore-Be_Zh5zu.js +1 -0
  166. package/client/dist/assets/explore-CLjzPSKo.js +1 -0
  167. package/client/dist/assets/explore-D_-vHm29.js +1 -0
  168. package/client/dist/assets/explore-yEQTF6ro.js +1 -0
  169. package/client/dist/assets/file-text-CNXzL3wj.js +1 -0
  170. package/client/dist/assets/format-BODoFIw6.js +1 -0
  171. package/client/dist/assets/formatDistanceToNow-DLMIOS0N.js +1 -0
  172. package/client/dist/assets/getTimezoneOffsetInMilliseconds-O61feXch.js +1 -0
  173. package/client/dist/assets/git-compare-arrows-Cu6tICCq.js +1 -0
  174. package/client/dist/assets/humanise-command-CB4ybLwq.js +1 -0
  175. package/client/dist/assets/inbox-BLZ8cm6_.js +1 -0
  176. package/client/dist/assets/inbox-BQ3VmNYY.js +1 -0
  177. package/client/dist/assets/inbox-BdcXWCuT.js +1 -0
  178. package/client/dist/assets/inbox-CF1PHjns.js +1 -0
  179. package/client/dist/assets/inbox-CFNPDhso.js +1 -0
  180. package/client/dist/assets/inbox-DIttK_NW.js +1 -0
  181. package/client/dist/assets/inbox-Dfdv1Ykl.js +1 -0
  182. package/client/dist/assets/inbox-JS1inmeO.js +1 -0
  183. package/client/dist/assets/index-4UWY7Xyz.css +2 -0
  184. package/client/dist/assets/index-DHzB0T26.js +120 -0
  185. package/client/dist/assets/integrations-BcKgzgPD.js +1 -0
  186. package/client/dist/assets/integrations-BmX_XyJq.js +1 -0
  187. package/client/dist/assets/integrations-CHpwMjlY.js +1 -0
  188. package/client/dist/assets/integrations-CT3kr8e-.js +1 -0
  189. package/client/dist/assets/integrations-C_5XAkgz.js +1 -0
  190. package/client/dist/assets/integrations-Ct9zLX7N.js +1 -0
  191. package/client/dist/assets/integrations-DEYemxUv.js +1 -0
  192. package/client/dist/assets/integrations-DWvsB_WB.js +1 -0
  193. package/client/dist/assets/{jira-Cq6yvN4q.js → jira-B_ERkFRv.js} +1 -1
  194. package/client/dist/assets/jira-Bn-A5lwD.js +1 -0
  195. package/client/dist/assets/jira-C71Ybnhp.js +1 -0
  196. package/client/dist/assets/jira-CkwjeJz6.js +1 -0
  197. package/client/dist/assets/jira-D9pSLXjI.js +1 -0
  198. package/client/dist/assets/jira-DBRS_lcp.js +1 -0
  199. package/client/dist/assets/jira-DHS6CsKh.js +1 -0
  200. package/client/dist/assets/jira-MInHRUb1.js +1 -0
  201. package/client/dist/assets/jira-api-DHme7Upx.js +1 -0
  202. package/client/dist/assets/jobs-BMLTDo63.js +1 -0
  203. package/client/dist/assets/jobs-BO8q4Mi1.js +1 -0
  204. package/client/dist/assets/jobs-Ck8uOWMM.js +1 -0
  205. package/client/dist/assets/jobs-CyFfPCpg.js +1 -0
  206. package/client/dist/assets/jobs-DT5s4fZ6.js +1 -0
  207. package/client/dist/assets/jobs-DZAgVPcD.js +1 -0
  208. package/client/dist/assets/jobs-b5gPYaKr.js +1 -0
  209. package/client/dist/assets/jobs-xsZK1440.js +1 -0
  210. package/client/dist/assets/launch-forecast-BTa-p3RP.js +1 -0
  211. package/client/dist/assets/{loop-layout-DtxX27Jz.css → loop-layout-DLioOiRN.css} +1 -1
  212. package/client/dist/assets/loop-layout-Sl9cfTvs.js +7 -0
  213. package/client/dist/assets/loops-BEEOVJDR.js +1 -0
  214. package/client/dist/assets/loops-BcrQ2vk7.js +1 -0
  215. package/client/dist/assets/loops-BjWxzJIZ.js +1 -0
  216. package/client/dist/assets/loops-BogV595N.js +1 -0
  217. package/client/dist/assets/loops-CU0BLZiz.js +1 -0
  218. package/client/dist/assets/loops-CrNBgi1G.js +1 -0
  219. package/client/dist/assets/loops-CwalwS_i.js +1 -0
  220. package/client/dist/assets/loops-_TDVN-fX.js +1 -0
  221. package/client/dist/assets/mcp-BNs8gxoL.js +1 -0
  222. package/client/dist/assets/mcp-BvRh_xO5.js +1 -0
  223. package/client/dist/assets/mcp-C2F1pghi.js +1 -0
  224. package/client/dist/assets/mcp-D9RLKAs2.js +1 -0
  225. package/client/dist/assets/mcp-DAghcsR0.js +1 -0
  226. package/client/dist/assets/mcp-DWWAPi1G.js +1 -0
  227. package/client/dist/assets/mcp-DbGSFC3f.js +1 -0
  228. package/client/dist/assets/mcp-FelCicrv.js +1 -0
  229. package/client/dist/assets/narration-C3NBkAR4.js +1 -0
  230. package/client/dist/assets/narration-CkoJq-Lf.js +1 -0
  231. package/client/dist/assets/narration-Cr0NeW9K.js +1 -0
  232. package/client/dist/assets/narration-DJUXOs-W.js +1 -0
  233. package/client/dist/assets/narration-DgL8TMvN.js +1 -0
  234. package/client/dist/assets/narration-DjBafgv0.js +1 -0
  235. package/client/dist/assets/narration-Dle6Iv0c.js +1 -0
  236. package/client/dist/assets/narration-MYlfktga.js +1 -0
  237. package/client/dist/assets/nav-BSQ8KW1c.js +1 -0
  238. package/client/dist/assets/nav-BauVof8Z.js +1 -0
  239. package/client/dist/assets/nav-BfOAH1se.js +1 -0
  240. package/client/dist/assets/nav-D3bOsipX.js +1 -0
  241. package/client/dist/assets/nav-DOMMhlLx.js +1 -0
  242. package/client/dist/assets/nav-DPzVlgZU.js +1 -0
  243. package/client/dist/assets/nav-DZJbFbah.js +1 -0
  244. package/client/dist/assets/nav-D_5aojd2.js +1 -0
  245. package/client/dist/assets/notify-error-BsWANx1T.js +1 -0
  246. package/client/dist/assets/onboarding-BdZQnNm3.js +1 -0
  247. package/client/dist/assets/onboarding-CJQEv1vp.js +1 -0
  248. package/client/dist/assets/onboarding-CWJGYUW3.js +1 -0
  249. package/client/dist/assets/onboarding-ChfYN7dA.js +1 -0
  250. package/client/dist/assets/onboarding-CjvDUR3V.js +1 -0
  251. package/client/dist/assets/onboarding-I6vS-zTB.js +1 -0
  252. package/client/dist/assets/onboarding-dgC_9dTB.js +1 -0
  253. package/client/dist/assets/onboarding-mlXSyKzX.js +1 -0
  254. package/client/dist/assets/origin-03nTuaOb.js +1 -0
  255. package/client/dist/assets/packet-BjpyRnZr.js +1 -0
  256. package/client/dist/assets/packet-BwgG5mBt.js +1 -0
  257. package/client/dist/assets/packet-C3eAUFkV.js +1 -0
  258. package/client/dist/assets/packet-C8wZuSld.js +1 -0
  259. package/client/dist/assets/packet-CNXEy_85.js +1 -0
  260. package/client/dist/assets/packet-DsV5Aa_8.js +1 -0
  261. package/client/dist/assets/packet-aasskOE7.js +1 -0
  262. package/client/dist/assets/packet-phxCc2gJ.js +1 -0
  263. package/client/dist/assets/page-header-BStSHkP8.js +1 -0
  264. package/client/dist/assets/project-repositories-DJPeAVBK.js +1 -0
  265. package/client/dist/assets/{provider-capabilities-lePfeT_Y.js → provider-capabilities-DtwcTme4.js} +1 -1
  266. package/client/dist/assets/recovery-BPDOsC92.js +1 -0
  267. package/client/dist/assets/recovery-BluNHoXM.js +1 -0
  268. package/client/dist/assets/recovery-CRvEmB0C.js +1 -0
  269. package/client/dist/assets/recovery-CeIoRnkR.js +1 -0
  270. package/client/dist/assets/recovery-DHCo8KGi.js +1 -0
  271. package/client/dist/assets/recovery-OxAIpbBF.js +1 -0
  272. package/client/dist/assets/recovery-XXexYGOJ.js +1 -0
  273. package/client/dist/assets/recovery-pITlc--v.js +1 -0
  274. package/client/dist/assets/refresh-cw-DfyTkbsf.js +1 -0
  275. package/client/dist/assets/select-xA3pSmqE.js +1 -0
  276. package/client/dist/assets/settings--yzDbX9r.js +1 -0
  277. package/client/dist/assets/settings-5_heTv8s.js +1 -0
  278. package/client/dist/assets/settings-BSf27MDg.js +1 -0
  279. package/client/dist/assets/settings-BSj6FakR.js +1 -0
  280. package/client/dist/assets/settings-BZDo_8Nn.js +1 -0
  281. package/client/dist/assets/settings-BdWgmNc0.js +1 -0
  282. package/client/dist/assets/settings-DRouxKqb.js +1 -0
  283. package/client/dist/assets/settings-DnWFoY-F.js +1 -0
  284. package/client/dist/assets/setup-BJWy62ri.js +1 -0
  285. package/client/dist/assets/setup-BgKOIuzc.js +1 -0
  286. package/client/dist/assets/setup-BvVIyUlz.js +1 -0
  287. package/client/dist/assets/setup-BxCk2pe1.js +1 -0
  288. package/client/dist/assets/setup-C-xQTL7R.js +1 -0
  289. package/client/dist/assets/setup-CbaVoiwV.js +1 -0
  290. package/client/dist/assets/setup-DxTBkX3P.js +1 -0
  291. package/client/dist/assets/setup-oGoVAzOD.js +1 -0
  292. package/client/dist/assets/specs-7tAb4IKr.js +1 -0
  293. package/client/dist/assets/specs-BUcY4s5v.js +1 -0
  294. package/client/dist/assets/specs-Bk5LeBAA.js +1 -0
  295. package/client/dist/assets/specs-CAA4Lrlg.js +1 -0
  296. package/client/dist/assets/specs-CS091AnA.js +1 -0
  297. package/client/dist/assets/specs-DJ6gmFcK.js +1 -0
  298. package/client/dist/assets/specs-GfCcrBSC.js +1 -0
  299. package/client/dist/assets/specs-xQgyc7WL.js +1 -0
  300. package/client/dist/assets/spending-CVH8VREb.js +1 -0
  301. package/client/dist/assets/square-Co6h5vZg.js +1 -0
  302. package/client/dist/assets/tauri-shell-43ixPGfa.js +2 -0
  303. package/client/dist/assets/terminal-0v9sBylD.js +1 -0
  304. package/client/dist/assets/terminal-AbUAmCxE.js +1 -0
  305. package/client/dist/assets/terminal-BJayIbIP.js +1 -0
  306. package/client/dist/assets/terminal-C2RUlXyi.js +1 -0
  307. package/client/dist/assets/terminal-CMmSb_Nj.js +1 -0
  308. package/client/dist/assets/terminal-DKWjj7HJ.js +1 -0
  309. package/client/dist/assets/terminal-KlFu7_pV.js +1 -0
  310. package/client/dist/assets/terminal-i99yqFvm.js +1 -0
  311. package/client/dist/assets/tickets-846Oq3i3.js +1 -0
  312. package/client/dist/assets/tickets-B5LJTe_b.js +1 -0
  313. package/client/dist/assets/tickets-Bfo2GGmH.js +1 -0
  314. package/client/dist/assets/tickets-BhdZ1yY2.js +1 -0
  315. package/client/dist/assets/tickets-CgjWJHAW.js +1 -0
  316. package/client/dist/assets/tickets-Ct9DbDUR.js +1 -0
  317. package/client/dist/assets/tickets-rptLEJB1.js +1 -0
  318. package/client/dist/assets/tickets-xQ6DpYdu.js +1 -0
  319. package/client/dist/assets/trending-up-BGvb4zZt.js +1 -0
  320. package/client/dist/assets/undo-6zuS4-sL.js +1 -0
  321. package/client/dist/assets/undo-BeM4gDOP.js +1 -0
  322. package/client/dist/assets/undo-BeppX8xS.js +1 -0
  323. package/client/dist/assets/undo-BqvNZ5MG.js +1 -0
  324. package/client/dist/assets/undo-BzwEPf_k.js +1 -0
  325. package/client/dist/assets/undo-CJ9Cu1NN.js +1 -0
  326. package/client/dist/assets/undo-ds8nMFbX.js +1 -0
  327. package/client/dist/assets/undo-x_gA-knG.js +1 -0
  328. package/client/dist/assets/useDesktop-BuOp2-MR.js +1 -0
  329. package/client/dist/assets/useRuntimeRuns-BRS6ncnO.js +1 -0
  330. package/client/dist/assets/utils-ELimjS2Y.js +1 -0
  331. package/client/dist/assets/wrench-Br2n1Lxd.js +1 -0
  332. package/client/dist/index.html +75 -60
  333. package/docs/ci-cd.md +29 -1
  334. package/docs/cli.md +10 -31
  335. package/docs/codex.md +1 -1
  336. package/docs/creating-specs.md +15 -12
  337. package/docs/customizing.md +16 -13
  338. package/docs/getting-started.md +12 -11
  339. package/docs/guide/de/agents/1-meet-the-agents.md +1 -1
  340. package/docs/guide/de/getting-started/2-installing-and-first-run.md +2 -0
  341. package/docs/guide/de/getting-started/3-try-the-sample-project.md +35 -0
  342. package/docs/guide/de/getting-started/{4-the-dashboard-tour.md → 5-the-dashboard-tour.md} +7 -3
  343. package/docs/guide/de/getting-started/6-universal-search.md +34 -0
  344. package/docs/guide/de/insights/1-analytics-and-cost-tracking.md +20 -6
  345. package/docs/guide/de/insights/2-the-integrated-terminal.md +1 -1
  346. package/docs/guide/de/insights/3-code-explorer.md +1 -1
  347. package/docs/guide/de/integrations/1-ai-providers.md +1 -1
  348. package/docs/guide/de/integrations/2-plugins.md +1 -1
  349. package/docs/guide/de/integrations/3-jira-integration.md +3 -3
  350. package/docs/guide/de/integrations/4-mobile-companion.md +1 -1
  351. package/docs/guide/de/integrations/5-mcp-server.md +1 -1
  352. package/docs/guide/de/integrations/6-agent-chat.md +12 -5
  353. package/docs/guide/de/integrations/8-flow-mode.md +69 -0
  354. package/docs/guide/de/pipeline/1-rails-and-jobs.md +21 -1
  355. package/docs/guide/de/pipeline/2-the-job-detail-view.md +12 -0
  356. package/docs/guide/de/pipeline/3-reviewing-a-delivery.md +43 -0
  357. package/docs/guide/de/pipeline/4-picking-an-engine-per-rail.md +2 -2
  358. package/docs/guide/de/pipeline/5-the-loop-builder.md +1 -1
  359. package/docs/guide/de/settings/1-themes.md +1 -1
  360. package/docs/guide/de/settings/3-pipeline-telemetry-and-diagnostics.md +2 -2
  361. package/docs/guide/de/settings/5-project-environment.md +1 -1
  362. package/docs/guide/de/settings/6-updates.md +24 -0
  363. package/docs/guide/de/settings/7-existing-projects.md +33 -0
  364. package/docs/guide/de/settings/8-accessibility.md +23 -0
  365. package/docs/guide/de/specs/1-specs-and-the-backlog.md +41 -3
  366. package/docs/guide/de/specs/2-add-spec-quick-mode.md +1 -1
  367. package/docs/guide/de/specs/3-add-spec-explore-mode.md +1 -1
  368. package/docs/guide/en/agents/1-meet-the-agents.md +1 -1
  369. package/docs/guide/en/getting-started/1-what-is-specrails.md +1 -1
  370. package/docs/guide/en/getting-started/2-installing-and-first-run.md +2 -0
  371. package/docs/guide/en/getting-started/3-try-the-sample-project.md +35 -0
  372. package/docs/guide/en/getting-started/5-the-dashboard-tour.md +52 -0
  373. package/docs/guide/en/getting-started/6-universal-search.md +34 -0
  374. package/docs/guide/en/insights/1-analytics-and-cost-tracking.md +24 -10
  375. package/docs/guide/en/insights/2-the-integrated-terminal.md +1 -1
  376. package/docs/guide/en/insights/3-code-explorer.md +5 -5
  377. package/docs/guide/en/integrations/1-ai-providers.md +1 -1
  378. package/docs/guide/en/integrations/2-plugins.md +1 -1
  379. package/docs/guide/en/integrations/3-jira-integration.md +4 -4
  380. package/docs/guide/en/integrations/4-mobile-companion.md +1 -1
  381. package/docs/guide/en/integrations/5-mcp-server.md +4 -4
  382. package/docs/guide/en/integrations/6-agent-chat.md +12 -5
  383. package/docs/guide/en/integrations/8-flow-mode.md +69 -0
  384. package/docs/guide/en/pipeline/1-rails-and-jobs.md +22 -3
  385. package/docs/guide/en/pipeline/2-the-job-detail-view.md +19 -7
  386. package/docs/guide/en/pipeline/3-reviewing-a-delivery.md +43 -0
  387. package/docs/guide/en/pipeline/4-picking-an-engine-per-rail.md +2 -2
  388. package/docs/guide/en/pipeline/5-the-loop-builder.md +2 -2
  389. package/docs/guide/en/settings/1-themes.md +1 -1
  390. package/docs/guide/en/settings/3-pipeline-telemetry-and-diagnostics.md +2 -2
  391. package/docs/guide/en/settings/5-project-environment.md +1 -1
  392. package/docs/guide/en/settings/6-updates.md +24 -0
  393. package/docs/guide/en/settings/7-existing-projects.md +33 -0
  394. package/docs/guide/en/settings/8-accessibility.md +23 -0
  395. package/docs/guide/en/specs/1-specs-and-the-backlog.md +42 -6
  396. package/docs/guide/en/specs/2-add-spec-quick-mode.md +1 -1
  397. package/docs/guide/en/specs/3-add-spec-explore-mode.md +2 -2
  398. package/docs/guide/es/agents/1-meet-the-agents.md +1 -1
  399. package/docs/guide/es/agents/2-profiles-and-the-balanced-default.md +1 -1
  400. package/docs/guide/es/agents/3-customizing-models-per-agent.md +2 -2
  401. package/docs/guide/es/agents/4-custom-agents-catalog.md +1 -1
  402. package/docs/guide/es/getting-started/1-what-is-specrails.md +3 -3
  403. package/docs/guide/es/getting-started/2-installing-and-first-run.md +2 -0
  404. package/docs/guide/es/getting-started/3-try-the-sample-project.md +35 -0
  405. package/docs/guide/es/getting-started/5-the-dashboard-tour.md +52 -0
  406. package/docs/guide/es/getting-started/6-universal-search.md +34 -0
  407. package/docs/guide/es/insights/1-analytics-and-cost-tracking.md +26 -12
  408. package/docs/guide/es/insights/2-the-integrated-terminal.md +1 -1
  409. package/docs/guide/es/insights/3-code-explorer.md +5 -5
  410. package/docs/guide/es/integrations/1-ai-providers.md +1 -1
  411. package/docs/guide/es/integrations/2-plugins.md +1 -1
  412. package/docs/guide/es/integrations/3-jira-integration.md +4 -4
  413. package/docs/guide/es/integrations/4-mobile-companion.md +1 -1
  414. package/docs/guide/es/integrations/5-mcp-server.md +4 -4
  415. package/docs/guide/es/integrations/6-agent-chat.md +14 -7
  416. package/docs/guide/es/integrations/7-local-engines.md +1 -1
  417. package/docs/guide/es/integrations/8-flow-mode.md +69 -0
  418. package/docs/guide/es/pipeline/1-rails-and-jobs.md +33 -13
  419. package/docs/guide/es/pipeline/2-the-job-detail-view.md +38 -26
  420. package/docs/guide/es/pipeline/3-reviewing-a-delivery.md +43 -0
  421. package/docs/guide/es/pipeline/4-picking-an-engine-per-rail.md +2 -2
  422. package/docs/guide/es/pipeline/5-the-loop-builder.md +4 -4
  423. package/docs/guide/es/settings/1-themes.md +1 -1
  424. package/docs/guide/es/settings/3-pipeline-telemetry-and-diagnostics.md +10 -10
  425. package/docs/guide/es/settings/5-project-environment.md +1 -1
  426. package/docs/guide/es/settings/6-updates.md +24 -0
  427. package/docs/guide/es/settings/7-existing-projects.md +33 -0
  428. package/docs/guide/es/settings/8-accessibility.md +23 -0
  429. package/docs/guide/es/specs/1-specs-and-the-backlog.md +43 -7
  430. package/docs/guide/es/specs/2-add-spec-quick-mode.md +1 -1
  431. package/docs/guide/es/specs/3-add-spec-explore-mode.md +3 -3
  432. package/docs/guide/fr/agents/1-meet-the-agents.md +1 -1
  433. package/docs/guide/fr/getting-started/2-installing-and-first-run.md +2 -0
  434. package/docs/guide/fr/getting-started/3-try-the-sample-project.md +35 -0
  435. package/docs/guide/fr/getting-started/{4-the-dashboard-tour.md → 5-the-dashboard-tour.md} +7 -3
  436. package/docs/guide/fr/getting-started/6-universal-search.md +34 -0
  437. package/docs/guide/fr/insights/1-analytics-and-cost-tracking.md +18 -4
  438. package/docs/guide/fr/insights/2-the-integrated-terminal.md +1 -1
  439. package/docs/guide/fr/insights/3-code-explorer.md +1 -1
  440. package/docs/guide/fr/integrations/1-ai-providers.md +1 -1
  441. package/docs/guide/fr/integrations/2-plugins.md +1 -1
  442. package/docs/guide/fr/integrations/3-jira-integration.md +3 -3
  443. package/docs/guide/fr/integrations/4-mobile-companion.md +1 -1
  444. package/docs/guide/fr/integrations/5-mcp-server.md +1 -1
  445. package/docs/guide/fr/integrations/6-agent-chat.md +11 -4
  446. package/docs/guide/fr/integrations/8-flow-mode.md +69 -0
  447. package/docs/guide/fr/pipeline/1-rails-and-jobs.md +21 -1
  448. package/docs/guide/fr/pipeline/2-the-job-detail-view.md +12 -0
  449. package/docs/guide/fr/pipeline/3-reviewing-a-delivery.md +43 -0
  450. package/docs/guide/fr/pipeline/4-picking-an-engine-per-rail.md +2 -2
  451. package/docs/guide/fr/pipeline/5-the-loop-builder.md +1 -1
  452. package/docs/guide/fr/settings/1-themes.md +1 -1
  453. package/docs/guide/fr/settings/3-pipeline-telemetry-and-diagnostics.md +2 -2
  454. package/docs/guide/fr/settings/5-project-environment.md +1 -1
  455. package/docs/guide/fr/settings/6-updates.md +24 -0
  456. package/docs/guide/fr/settings/7-existing-projects.md +33 -0
  457. package/docs/guide/fr/settings/8-accessibility.md +23 -0
  458. package/docs/guide/fr/specs/1-specs-and-the-backlog.md +41 -3
  459. package/docs/guide/fr/specs/2-add-spec-quick-mode.md +1 -1
  460. package/docs/guide/fr/specs/3-add-spec-explore-mode.md +1 -1
  461. package/docs/guide/it/agents/1-meet-the-agents.md +1 -1
  462. package/docs/guide/it/getting-started/2-installing-and-first-run.md +2 -0
  463. package/docs/guide/it/getting-started/3-try-the-sample-project.md +35 -0
  464. package/docs/guide/it/getting-started/{4-the-dashboard-tour.md → 5-the-dashboard-tour.md} +7 -3
  465. package/docs/guide/it/getting-started/6-universal-search.md +34 -0
  466. package/docs/guide/it/insights/1-analytics-and-cost-tracking.md +18 -4
  467. package/docs/guide/it/insights/2-the-integrated-terminal.md +1 -1
  468. package/docs/guide/it/insights/3-code-explorer.md +1 -1
  469. package/docs/guide/it/integrations/1-ai-providers.md +1 -1
  470. package/docs/guide/it/integrations/2-plugins.md +1 -1
  471. package/docs/guide/it/integrations/3-jira-integration.md +3 -3
  472. package/docs/guide/it/integrations/4-mobile-companion.md +1 -1
  473. package/docs/guide/it/integrations/5-mcp-server.md +1 -1
  474. package/docs/guide/it/integrations/6-agent-chat.md +11 -4
  475. package/docs/guide/it/integrations/8-flow-mode.md +69 -0
  476. package/docs/guide/it/pipeline/1-rails-and-jobs.md +21 -1
  477. package/docs/guide/it/pipeline/2-the-job-detail-view.md +12 -0
  478. package/docs/guide/it/pipeline/3-reviewing-a-delivery.md +43 -0
  479. package/docs/guide/it/pipeline/4-picking-an-engine-per-rail.md +2 -2
  480. package/docs/guide/it/pipeline/5-the-loop-builder.md +1 -1
  481. package/docs/guide/it/settings/1-themes.md +1 -1
  482. package/docs/guide/it/settings/3-pipeline-telemetry-and-diagnostics.md +2 -2
  483. package/docs/guide/it/settings/5-project-environment.md +1 -1
  484. package/docs/guide/it/settings/6-updates.md +24 -0
  485. package/docs/guide/it/settings/7-existing-projects.md +33 -0
  486. package/docs/guide/it/settings/8-accessibility.md +23 -0
  487. package/docs/guide/it/specs/1-specs-and-the-backlog.md +41 -3
  488. package/docs/guide/it/specs/2-add-spec-quick-mode.md +1 -1
  489. package/docs/guide/it/specs/3-add-spec-explore-mode.md +1 -1
  490. package/docs/guide/ja/agents/1-meet-the-agents.md +1 -1
  491. package/docs/guide/ja/getting-started/2-installing-and-first-run.md +2 -0
  492. package/docs/guide/ja/getting-started/3-try-the-sample-project.md +35 -0
  493. package/docs/guide/ja/getting-started/{4-the-dashboard-tour.md → 5-the-dashboard-tour.md} +7 -3
  494. package/docs/guide/ja/getting-started/6-universal-search.md +34 -0
  495. package/docs/guide/ja/insights/1-analytics-and-cost-tracking.md +18 -4
  496. package/docs/guide/ja/insights/2-the-integrated-terminal.md +1 -1
  497. package/docs/guide/ja/insights/3-code-explorer.md +1 -1
  498. package/docs/guide/ja/integrations/1-ai-providers.md +1 -1
  499. package/docs/guide/ja/integrations/2-plugins.md +1 -1
  500. package/docs/guide/ja/integrations/3-jira-integration.md +3 -3
  501. package/docs/guide/ja/integrations/4-mobile-companion.md +1 -1
  502. package/docs/guide/ja/integrations/5-mcp-server.md +1 -1
  503. package/docs/guide/ja/integrations/6-agent-chat.md +11 -4
  504. package/docs/guide/ja/integrations/8-flow-mode.md +69 -0
  505. package/docs/guide/ja/pipeline/1-rails-and-jobs.md +21 -1
  506. package/docs/guide/ja/pipeline/2-the-job-detail-view.md +12 -0
  507. package/docs/guide/ja/pipeline/3-reviewing-a-delivery.md +43 -0
  508. package/docs/guide/ja/pipeline/4-picking-an-engine-per-rail.md +2 -2
  509. package/docs/guide/ja/pipeline/5-the-loop-builder.md +1 -1
  510. package/docs/guide/ja/settings/1-themes.md +1 -1
  511. package/docs/guide/ja/settings/3-pipeline-telemetry-and-diagnostics.md +2 -2
  512. package/docs/guide/ja/settings/5-project-environment.md +1 -1
  513. package/docs/guide/ja/settings/6-updates.md +24 -0
  514. package/docs/guide/ja/settings/7-existing-projects.md +33 -0
  515. package/docs/guide/ja/settings/8-accessibility.md +23 -0
  516. package/docs/guide/ja/specs/1-specs-and-the-backlog.md +41 -3
  517. package/docs/guide/ja/specs/2-add-spec-quick-mode.md +1 -1
  518. package/docs/guide/ja/specs/3-add-spec-explore-mode.md +1 -1
  519. package/docs/guide/pt/agents/1-meet-the-agents.md +1 -1
  520. package/docs/guide/pt/getting-started/2-installing-and-first-run.md +2 -0
  521. package/docs/guide/pt/getting-started/3-try-the-sample-project.md +35 -0
  522. package/docs/guide/pt/getting-started/{4-the-dashboard-tour.md → 5-the-dashboard-tour.md} +7 -3
  523. package/docs/guide/pt/getting-started/6-universal-search.md +34 -0
  524. package/docs/guide/pt/insights/1-analytics-and-cost-tracking.md +18 -4
  525. package/docs/guide/pt/insights/2-the-integrated-terminal.md +1 -1
  526. package/docs/guide/pt/insights/3-code-explorer.md +1 -1
  527. package/docs/guide/pt/integrations/1-ai-providers.md +1 -1
  528. package/docs/guide/pt/integrations/2-plugins.md +1 -1
  529. package/docs/guide/pt/integrations/3-jira-integration.md +3 -3
  530. package/docs/guide/pt/integrations/4-mobile-companion.md +1 -1
  531. package/docs/guide/pt/integrations/5-mcp-server.md +1 -1
  532. package/docs/guide/pt/integrations/6-agent-chat.md +12 -5
  533. package/docs/guide/pt/integrations/8-flow-mode.md +69 -0
  534. package/docs/guide/pt/pipeline/1-rails-and-jobs.md +21 -1
  535. package/docs/guide/pt/pipeline/2-the-job-detail-view.md +12 -0
  536. package/docs/guide/pt/pipeline/3-reviewing-a-delivery.md +43 -0
  537. package/docs/guide/pt/pipeline/4-picking-an-engine-per-rail.md +2 -2
  538. package/docs/guide/pt/pipeline/5-the-loop-builder.md +1 -1
  539. package/docs/guide/pt/settings/1-themes.md +1 -1
  540. package/docs/guide/pt/settings/3-pipeline-telemetry-and-diagnostics.md +2 -2
  541. package/docs/guide/pt/settings/5-project-environment.md +1 -1
  542. package/docs/guide/pt/settings/6-updates.md +24 -0
  543. package/docs/guide/pt/settings/7-existing-projects.md +33 -0
  544. package/docs/guide/pt/settings/8-accessibility.md +23 -0
  545. package/docs/guide/pt/specs/1-specs-and-the-backlog.md +41 -3
  546. package/docs/guide/pt/specs/2-add-spec-quick-mode.md +1 -1
  547. package/docs/guide/pt/specs/3-add-spec-explore-mode.md +1 -1
  548. package/docs/guide/zh/agents/1-meet-the-agents.md +1 -1
  549. package/docs/guide/zh/getting-started/2-installing-and-first-run.md +2 -0
  550. package/docs/guide/zh/getting-started/3-try-the-sample-project.md +35 -0
  551. package/docs/guide/zh/getting-started/{4-the-dashboard-tour.md → 5-the-dashboard-tour.md} +7 -3
  552. package/docs/guide/zh/getting-started/6-universal-search.md +34 -0
  553. package/docs/guide/zh/insights/1-analytics-and-cost-tracking.md +18 -4
  554. package/docs/guide/zh/insights/2-the-integrated-terminal.md +1 -1
  555. package/docs/guide/zh/insights/3-code-explorer.md +1 -1
  556. package/docs/guide/zh/integrations/1-ai-providers.md +1 -1
  557. package/docs/guide/zh/integrations/2-plugins.md +1 -1
  558. package/docs/guide/zh/integrations/3-jira-integration.md +3 -3
  559. package/docs/guide/zh/integrations/4-mobile-companion.md +1 -1
  560. package/docs/guide/zh/integrations/5-mcp-server.md +1 -1
  561. package/docs/guide/zh/integrations/6-agent-chat.md +11 -4
  562. package/docs/guide/zh/integrations/8-flow-mode.md +69 -0
  563. package/docs/guide/zh/pipeline/1-rails-and-jobs.md +21 -1
  564. package/docs/guide/zh/pipeline/2-the-job-detail-view.md +12 -0
  565. package/docs/guide/zh/pipeline/3-reviewing-a-delivery.md +43 -0
  566. package/docs/guide/zh/pipeline/4-picking-an-engine-per-rail.md +2 -2
  567. package/docs/guide/zh/pipeline/5-the-loop-builder.md +1 -1
  568. package/docs/guide/zh/settings/1-themes.md +1 -1
  569. package/docs/guide/zh/settings/3-pipeline-telemetry-and-diagnostics.md +2 -2
  570. package/docs/guide/zh/settings/5-project-environment.md +1 -1
  571. package/docs/guide/zh/settings/6-updates.md +24 -0
  572. package/docs/guide/zh/settings/7-existing-projects.md +33 -0
  573. package/docs/guide/zh/settings/8-accessibility.md +23 -0
  574. package/docs/guide/zh/specs/1-specs-and-the-backlog.md +41 -3
  575. package/docs/guide/zh/specs/2-add-spec-quick-mode.md +1 -1
  576. package/docs/guide/zh/specs/3-add-spec-explore-mode.md +1 -1
  577. package/docs/internals/README.md +8 -0
  578. package/docs/internals/adding-a-provider.md +19 -2
  579. package/docs/internals/agent-actions-audit.md +101 -0
  580. package/docs/internals/agent-sessions.md +36 -1
  581. package/docs/internals/api-reference.md +190 -45
  582. package/docs/internals/architecture.md +53 -47
  583. package/docs/internals/companion-inbox-decisions.md +42 -0
  584. package/docs/internals/companion-rails-as-loops-contract.md +17 -6
  585. package/docs/internals/configuration.md +140 -9
  586. package/docs/internals/core-runtime-updates.md +4 -4
  587. package/docs/internals/existing-project-anchoring.md +168 -0
  588. package/docs/internals/flow-mode.md +668 -0
  589. package/docs/internals/legacy-implementation-notes.md +13 -0
  590. package/docs/internals/local-testing-feedback-2026-10.md +210 -0
  591. package/docs/internals/mcp-mission-audit.md +4 -0
  592. package/docs/internals/mission-rail-cards.md +10 -5
  593. package/docs/internals/mission-read-only-policy.md +152 -0
  594. package/docs/internals/modal-standard.md +181 -0
  595. package/docs/internals/openspec-workflow.md +32 -0
  596. package/docs/internals/operations-runbook.md +30 -0
  597. package/docs/internals/profiles.md +6 -3
  598. package/docs/internals/programmatic-agent-runtime.md +8 -0
  599. package/docs/internals/project-builder.md +1 -1
  600. package/docs/internals/review-packet.md +161 -9
  601. package/docs/internals/safe-pr-review-flow.md +135 -6
  602. package/docs/internals/source-map.md +413 -18
  603. package/docs/internals/spec-addenda.md +10 -0
  604. package/docs/internals/spec-triage.md +140 -0
  605. package/docs/internals/visual-design-audit.md +15 -2
  606. package/docs/local-providers.md +3 -0
  607. package/docs/mcp.md +21 -3
  608. package/docs/platforms/macos.md +1 -1
  609. package/docs/platforms/windows.md +2 -2
  610. package/docs/running-pipelines.md +22 -6
  611. package/docs/tracking-cost.md +54 -10
  612. package/local-runner/dist/specrails-local-runner.js +3851 -1178
  613. package/mcp-bridge/dist/specrails-mcp.js +3864 -1143
  614. package/package.json +10 -9
  615. package/server/dist/agent-mcp-config.js +37 -1
  616. package/server/dist/api-version.js +19 -0
  617. package/server/dist/command-resolver.js +4 -2
  618. package/server/dist/core-compat.js +1 -1
  619. package/server/dist/core-execution.js +2 -1
  620. package/server/dist/core-update-manager.js +71 -13
  621. package/server/dist/db/job-search.js +248 -0
  622. package/server/dist/db/jobs.js +6 -0
  623. package/server/dist/db/migrations.js +239 -0
  624. package/server/dist/db.js +9 -2
  625. package/server/dist/desktop-db.js +99 -5
  626. package/server/dist/desktop-router.js +126 -13
  627. package/server/dist/docs-router.js +67 -1
  628. package/server/dist/feature-flags.js +22 -0
  629. package/server/dist/index.js +30 -15
  630. package/server/dist/jira/jira-adf.js +13 -1
  631. package/server/dist/jira/jira-clarifications.js +146 -0
  632. package/server/dist/jira/jira-client.js +8 -1
  633. package/server/dist/jira/jira-db.js +41 -0
  634. package/server/dist/jira/jira-sync-manager.js +328 -25
  635. package/server/dist/mcp/guide.js +17 -7
  636. package/server/dist/mcp/tools/agents.js +1 -1
  637. package/server/dist/mcp/tools/analytics.js +15 -3
  638. package/server/dist/mcp/tools/app-settings.js +14 -1
  639. package/server/dist/mcp/tools/chat.js +1 -1
  640. package/server/dist/mcp/tools/env.js +4 -2
  641. package/server/dist/mcp/tools/jobs.js +96 -7
  642. package/server/dist/mcp/tools/loops.js +1 -1
  643. package/server/dist/mcp/tools/meta.js +10 -13
  644. package/server/dist/mcp/tools/rails.js +15 -1
  645. package/server/dist/mcp/tools/setup.js +1 -1
  646. package/server/dist/mcp/tools/specs.js +8 -5
  647. package/server/dist/mcp/tools/support.js +6 -3
  648. package/server/dist/mcp/tools/types.js +38 -1
  649. package/server/dist/mobile/mobile-admin-router.js +0 -16
  650. package/server/dist/mobile/mobile-gateway.js +0 -18
  651. package/server/dist/mobile/mobile-inbox.js +240 -0
  652. package/server/dist/mobile/mobile-missions.js +6 -8
  653. package/server/dist/mobile/mobile-router.js +9 -9
  654. package/server/dist/mobile/mobile-webrtc-peer.js +4 -54
  655. package/server/dist/mobile/mobile-ws.js +27 -4
  656. package/server/dist/modules/accounting/runtime/ai-invocations.js +4 -0
  657. package/server/dist/modules/accounting/runtime/decision-times.js +102 -0
  658. package/server/dist/modules/accounting/runtime/loop-economics.js +284 -0
  659. package/server/dist/modules/accounting/runtime/spending.js +7 -2
  660. package/server/dist/modules/accounting/runtime/what-if.js +87 -0
  661. package/server/dist/modules/agent-runtime/runtime/agent-runtime-bridge.js +86 -5
  662. package/server/dist/modules/agent-runtime/runtime/agent-runtime-controls.js +28 -2
  663. package/server/dist/modules/agent-runtime/runtime/agent-runtime-metrics.js +15 -2
  664. package/server/dist/modules/agent-runtime/runtime/agent-runtime-settings-router.js +21 -2
  665. package/server/dist/modules/agent-runtime/runtime/core-capabilities.js +55 -0
  666. package/server/dist/modules/agent-sessions/adapters/host-process.js +1 -1
  667. package/server/dist/modules/agent-sessions/domain/availability.js +16 -0
  668. package/server/dist/modules/agent-sessions/domain/protocol.js +8 -1
  669. package/server/dist/modules/agent-sessions/index.js +3 -1
  670. package/server/dist/modules/agent-sessions/runtime/core-sessions-availability.js +16 -0
  671. package/server/dist/modules/agents/runtime/agent-refine-manager.js +3 -1
  672. package/server/dist/modules/agents/runtime/agent-store.js +60 -73
  673. package/server/dist/modules/audit/adapters/http.js +66 -0
  674. package/server/dist/modules/audit/adapters/runtime.js +60 -0
  675. package/server/dist/modules/audit/adapters/sqlite.js +73 -0
  676. package/server/dist/modules/audit/application.js +190 -0
  677. package/server/dist/modules/audit/domain.js +434 -0
  678. package/server/dist/modules/audit/index.js +27 -0
  679. package/server/dist/modules/audit/ports.js +2 -0
  680. package/server/dist/modules/browser/runtime/browser-capture-manager.js +18 -141
  681. package/server/dist/modules/browser/runtime/browser-capture-types.js +1 -10
  682. package/server/dist/modules/browser/runtime/browser-playwright.js +0 -19
  683. package/server/dist/modules/code/runtime/file-provenance.js +23 -0
  684. package/server/dist/modules/conversations/runtime/chat-manager.js +5 -2
  685. package/server/dist/modules/delivery/adapters/decisions/chains.js +1 -0
  686. package/server/dist/modules/delivery/adapters/decisions/create.js +19 -1
  687. package/server/dist/modules/delivery/adapters/decisions/discard.js +2 -0
  688. package/server/dist/modules/delivery/adapters/decisions/local-changes.js +427 -0
  689. package/server/dist/modules/delivery/adapters/decisions/merge-local.js +80 -6
  690. package/server/dist/modules/delivery/adapters/decisions/observations.js +5 -0
  691. package/server/dist/modules/delivery/adapters/decisions/ownership.js +2 -1
  692. package/server/dist/modules/delivery/adapters/decisions/transitions.js +9 -0
  693. package/server/dist/modules/delivery/adapters/review-wip-store.js +37 -0
  694. package/server/dist/modules/delivery/domain/review-wip.js +71 -0
  695. package/server/dist/modules/delivery/index.js +9 -1
  696. package/server/dist/modules/delivery/runtime/delivery-changes.js +355 -0
  697. package/server/dist/modules/delivery/runtime/delivery-evidence.js +249 -8
  698. package/server/dist/modules/delivery/runtime/flow-review-legacy.js +99 -0
  699. package/server/dist/modules/delivery/runtime/flow-review-outcome.js +107 -0
  700. package/server/dist/modules/delivery/runtime/flow-worktree-handoff.js +32 -0
  701. package/server/dist/modules/delivery/runtime/flow-worktree-return.js +87 -0
  702. package/server/dist/modules/delivery/runtime/isolated-worktree.js +380 -0
  703. package/server/dist/modules/delivery/runtime/local-restore-branch.js +325 -0
  704. package/server/dist/modules/delivery/runtime/local-restore-resolver.js +48 -0
  705. package/server/dist/modules/delivery/runtime/local-stash.js +423 -0
  706. package/server/dist/modules/delivery/runtime/multi-repo-execution.js +27 -1
  707. package/server/dist/modules/delivery/runtime/phase3-harvest.js +40 -0
  708. package/server/dist/modules/delivery/runtime/pr-body.js +50 -0
  709. package/server/dist/modules/delivery/runtime/rail-isolated-launch.js +169 -166
  710. package/server/dist/modules/delivery/runtime/rail-launch-parser.js +5 -2
  711. package/server/dist/modules/delivery/runtime/rail-pr-decision.js +7 -1
  712. package/server/dist/modules/delivery/runtime/rail-pr-store.js +193 -12
  713. package/server/dist/modules/delivery/runtime/rails-router.js +267 -5
  714. package/server/dist/modules/delivery/runtime/review-brief.js +208 -0
  715. package/server/dist/modules/delivery/runtime/review-packet.js +41 -2
  716. package/server/dist/modules/delivery/runtime/review-wip-gate.js +67 -0
  717. package/server/dist/modules/delivery/runtime/run-records.js +267 -0
  718. package/server/dist/modules/delivery/runtime/run-review-diagnosis.js +102 -0
  719. package/server/dist/modules/execution/adapters/budget-storage.js +76 -0
  720. package/server/dist/modules/execution/application/enforce-budget.js +17 -2
  721. package/server/dist/modules/execution/domain/agent-env.js +98 -0
  722. package/server/dist/modules/execution/domain/daily-budget.js +36 -0
  723. package/server/dist/modules/execution/domain/spend-caps.js +166 -0
  724. package/server/dist/modules/execution/index.js +34 -1
  725. package/server/dist/modules/execution/runtime/budget-overview.js +76 -0
  726. package/server/dist/modules/execution/runtime/daily-budget-gate.js +86 -0
  727. package/server/dist/modules/execution/runtime/interactive-job-session.js +8 -0
  728. package/server/dist/modules/execution/runtime/launch-forecast.js +33 -0
  729. package/server/dist/modules/execution/runtime/queue-manager.js +54 -15
  730. package/server/dist/modules/execution/runtime/run-duration-stats.js +31 -13
  731. package/server/dist/modules/flow/adapters/bindings.js +1089 -0
  732. package/server/dist/modules/flow/adapters/http.js +147 -0
  733. package/server/dist/modules/flow/adapters/sqlite.js +121 -0
  734. package/server/dist/modules/flow/application.js +805 -0
  735. package/server/dist/modules/flow/domain.js +790 -0
  736. package/server/dist/modules/flow/index.js +34 -0
  737. package/server/dist/modules/flow/ports.js +2 -0
  738. package/server/dist/modules/inbox/adapters/http.js +21 -0
  739. package/server/dist/modules/inbox/adapters/project-source.js +233 -0
  740. package/server/dist/modules/inbox/application.js +28 -0
  741. package/server/dist/modules/inbox/domain.js +43 -0
  742. package/server/dist/modules/inbox/index.js +10 -0
  743. package/server/dist/modules/inbox/ports.js +2 -0
  744. package/server/dist/modules/loops/runtime/loop-definition-run.js +9 -0
  745. package/server/dist/modules/loops/runtime/loop-definition.js +5 -2
  746. package/server/dist/modules/loops/runtime/loop-executors.js +90 -9
  747. package/server/dist/modules/loops/runtime/loop-factory.js +30 -2
  748. package/server/dist/modules/loops/runtime/loop-flow-spec-recipe.js +166 -0
  749. package/server/dist/modules/loops/runtime/loop-graph.js +1 -1
  750. package/server/dist/modules/loops/runtime/loop-role-engines.js +4 -1
  751. package/server/dist/modules/loops/runtime/loop-run-manager.js +267 -10
  752. package/server/dist/modules/loops/runtime/loop-runs-store.js +21 -5
  753. package/server/dist/modules/loops/runtime/loop-templates.js +55 -12
  754. package/server/dist/modules/missions/runtime/agent-chat-manager.js +283 -20
  755. package/server/dist/modules/missions/runtime/agent-chat-router.js +96 -21
  756. package/server/dist/modules/missions/runtime/agent-failure-briefing.js +11 -3
  757. package/server/dist/modules/missions/runtime/agent-fence-promotion.js +9 -1
  758. package/server/dist/modules/missions/runtime/agent-flow-prompt.js +64 -0
  759. package/server/dist/modules/missions/runtime/agent-input-store.js +9 -4
  760. package/server/dist/modules/missions/runtime/agent-operator-prompt.js +100 -14
  761. package/server/dist/modules/missions/runtime/agent-session-store.js +88 -27
  762. package/server/dist/modules/missions/runtime/core-session-runner.js +89 -9
  763. package/server/dist/modules/missions/runtime/flow-turn-context.js +17 -0
  764. package/server/dist/modules/missions/runtime/mission-core-sessions.js +295 -55
  765. package/server/dist/modules/missions/runtime/mission-run-notify.js +2 -0
  766. package/server/dist/modules/missions/runtime/mission-session-projector.js +56 -19
  767. package/server/dist/modules/missions/runtime/mission-tool-policy.js +47 -0
  768. package/server/dist/modules/onboarding/adapters/http.js +78 -0
  769. package/server/dist/modules/onboarding/adapters/providers.js +41 -0
  770. package/server/dist/modules/onboarding/adapters/runtime.js +130 -0
  771. package/server/dist/modules/onboarding/application.js +133 -0
  772. package/server/dist/modules/onboarding/catalog.js +217 -0
  773. package/server/dist/modules/onboarding/domain.js +102 -0
  774. package/server/dist/modules/onboarding/index.js +20 -0
  775. package/server/dist/modules/onboarding/ports.js +2 -0
  776. package/server/dist/modules/project-rules/adapters/http.js +91 -0
  777. package/server/dist/modules/project-rules/domain.js +122 -0
  778. package/server/dist/modules/project-rules/runtime/rules-inventory-runs.js +97 -0
  779. package/server/dist/modules/project-rules/runtime/rules-store.js +109 -0
  780. package/server/dist/modules/project-settings/adapters/http.js +13 -0
  781. package/server/dist/modules/project-settings/adapters/sqlite.js +78 -8
  782. package/server/dist/modules/project-settings/domain.js +47 -1
  783. package/server/dist/modules/project-settings/index.js +7 -1
  784. package/server/dist/modules/recovery/adapters/sqlite.js +28 -0
  785. package/server/dist/modules/recovery/domain.js +162 -0
  786. package/server/dist/modules/recovery/index.js +16 -0
  787. package/server/dist/modules/specs/adapters/timeline-http.js +101 -0
  788. package/server/dist/modules/specs/domain/handoff-labels.js +371 -0
  789. package/server/dist/modules/specs/domain/handoff.js +260 -0
  790. package/server/dist/modules/specs/domain/non-goals.js +101 -0
  791. package/server/dist/modules/specs/domain/timeline.js +164 -0
  792. package/server/dist/modules/specs/domain/triage.js +320 -0
  793. package/server/dist/modules/specs/runtime/contract-refine-runner.js +3 -2
  794. package/server/dist/modules/specs/runtime/generated-spec-parser.js +75 -0
  795. package/server/dist/modules/specs/runtime/proposal-manager.js +4 -3
  796. package/server/dist/modules/specs/runtime/smash-runner.js +2 -1
  797. package/server/dist/modules/specs/runtime/spec-addenda.js +31 -0
  798. package/server/dist/modules/specs/runtime/spec-draft-parser.js +6 -1
  799. package/server/dist/modules/specs/runtime/spec-generation.js +431 -0
  800. package/server/dist/modules/specs/runtime/spec-handoff.js +103 -0
  801. package/server/dist/modules/specs/runtime/spec-history.js +376 -0
  802. package/server/dist/modules/specs/runtime/spec-launcher-manager.js +4 -3
  803. package/server/dist/modules/specs/runtime/spec-search.js +117 -0
  804. package/server/dist/modules/specs/runtime/ticket-store.js +47 -2
  805. package/server/dist/modules/specs/runtime/ticket-trash-service.js +62 -0
  806. package/server/dist/modules/specs/runtime/ticket-trash.js +193 -0
  807. package/server/dist/modules/specs/runtime/triage-runner.js +171 -0
  808. package/server/dist/modules/specs/runtime/triage.js +365 -0
  809. package/server/dist/modules/terminals/domain/app-urls.js +96 -0
  810. package/server/dist/modules/terminals/runtime/app-urls.js +77 -0
  811. package/server/dist/modules/terminals/runtime/background-process-service.js +25 -28
  812. package/server/dist/openspec-shim.js +1 -1
  813. package/server/dist/project-env.js +60 -0
  814. package/server/dist/project-git.js +65 -0
  815. package/server/dist/project-registry.js +264 -27
  816. package/server/dist/project-router-background-processes.js +27 -3
  817. package/server/dist/project-router-git.js +30 -0
  818. package/server/dist/project-router-helpers.js +5 -30
  819. package/server/dist/project-router-jobs.js +49 -1
  820. package/server/dist/project-router-loop-runs.js +72 -2
  821. package/server/dist/project-router-rules.js +54 -0
  822. package/server/dist/project-router-search.js +52 -0
  823. package/server/dist/project-router-settings.js +6 -0
  824. package/server/dist/project-router-setup.js +1 -1
  825. package/server/dist/project-router-spending.js +138 -0
  826. package/server/dist/project-router-tickets.js +246 -427
  827. package/server/dist/project-router.js +7 -0
  828. package/server/dist/providers/claude-adapter.js +25 -3
  829. package/server/dist/providers/codex-adapter.js +9 -1
  830. package/server/dist/providers/gemini-adapter.js +6 -1
  831. package/server/dist/providers/kimi-adapter.js +2 -0
  832. package/server/dist/providers/local-adapter.js +2 -0
  833. package/server/dist/providers/runtime.js +8 -0
  834. package/server/dist/schemas/agent-runtime.schema.json +3 -1
  835. package/server/dist/schemas/workflow-definition.schema.json +1 -0
  836. package/server/dist/setup-manager.js +19 -1
  837. package/server/dist/transient-children.js +25 -8
  838. package/server/dist/update-channel.js +21 -0
  839. package/server/dist/util/search-snippet.js +74 -0
  840. package/server/dist/worktree-manager.js +19 -8
  841. package/client/dist/assets/ActivityFeedPage-Dtp7EyHc.js +0 -1
  842. package/client/dist/assets/AgentBrowserCapture-CLqlEFw8.js +0 -1
  843. package/client/dist/assets/AgentModeAnalyticsPane-B8_hM3Tw.js +0 -2
  844. package/client/dist/assets/AgentModeCodePane-CNF8ZNjE.js +0 -2
  845. package/client/dist/assets/AgentModeJobsPane-CJpJbO9m.js +0 -1
  846. package/client/dist/assets/AgentsPage-BC8XSR79.js +0 -120
  847. package/client/dist/assets/AnalyticsPage-Cdv4jLtW.js +0 -1
  848. package/client/dist/assets/BarChart-BDMqVFJy.js +0 -55
  849. package/client/dist/assets/CodePage-DI1kegAr.js +0 -3
  850. package/client/dist/assets/DesktopAnalyticsPage-Bdp8E8U6.js +0 -1
  851. package/client/dist/assets/DocsDialog-Bm4RS7FX.js +0 -11
  852. package/client/dist/assets/DocsPage-DihYcU8r.js +0 -11
  853. package/client/dist/assets/ExportDropdown-Bb1lHx3r.js +0 -1
  854. package/client/dist/assets/IntegrationsPage-EAipiDWm.js +0 -1
  855. package/client/dist/assets/InteractiveJobComposer-BO6ASN-2.js +0 -19
  856. package/client/dist/assets/JobDetailModal-CuPYq7tP.js +0 -1
  857. package/client/dist/assets/JobDetailPage-BusMjJi9.js +0 -1
  858. package/client/dist/assets/JobsPage-C0QbsF2d.js +0 -1
  859. package/client/dist/assets/LoopBuilderPage-B7TlU4iS.js +0 -1
  860. package/client/dist/assets/LoopPreviewModal-BRWtXOD2.js +0 -1
  861. package/client/dist/assets/LoopsPage-C4q1DmCE.js +0 -2
  862. package/client/dist/assets/MinimizedChatsContext-DHfigjHS.js +0 -1
  863. package/client/dist/assets/PluginsPage-Z1JHSMdR.js +0 -2
  864. package/client/dist/assets/ProjectSettingsDialog-BUNj0tvN.js +0 -1
  865. package/client/dist/assets/RepositoryDeliveries-B4ybHOyB.js +0 -5
  866. package/client/dist/assets/ReviewPacketPage-hwfPNjyy.js +0 -4
  867. package/client/dist/assets/TemplatePreviewModal-V7FpMWuw.js +0 -1
  868. package/client/dist/assets/TicketDetailModalContext-Dkwo2cDs.js +0 -16
  869. package/client/dist/assets/Trans-BbFxRFtR.js +0 -1
  870. package/client/dist/assets/activity-B-rp4h_v.js +0 -1
  871. package/client/dist/assets/activity-C6kJpm9q.js +0 -1
  872. package/client/dist/assets/activity-CGx4kb_j.js +0 -1
  873. package/client/dist/assets/activity-CnoX2bH7.js +0 -1
  874. package/client/dist/assets/activity-DAyekdlt.js +0 -1
  875. package/client/dist/assets/activity-DCxtpT7j.js +0 -1
  876. package/client/dist/assets/activity-DiyjsgQV.js +0 -1
  877. package/client/dist/assets/activity-JzwRaWPD.js +0 -1
  878. package/client/dist/assets/addspec-BOvgmcgk.js +0 -1
  879. package/client/dist/assets/addspec-Clmyfn_R.js +0 -1
  880. package/client/dist/assets/addspec-CsNaBpHp.js +0 -1
  881. package/client/dist/assets/addspec-D2tvWmmV.js +0 -1
  882. package/client/dist/assets/addspec-D3nFwvD0.js +0 -1
  883. package/client/dist/assets/addspec-DVLEhK3w.js +0 -1
  884. package/client/dist/assets/addspec-DXbK-tb0.js +0 -1
  885. package/client/dist/assets/addspec-OHG8DFEn.js +0 -1
  886. package/client/dist/assets/agent-5bSixVzz.js +0 -1
  887. package/client/dist/assets/agent-BR4EHfhq.js +0 -1
  888. package/client/dist/assets/agent-C0IKkJP8.js +0 -1
  889. package/client/dist/assets/agent-C7li9ayC.js +0 -1
  890. package/client/dist/assets/agent-D0dRmEen.js +0 -1
  891. package/client/dist/assets/agent-DZVGHm7H.js +0 -1
  892. package/client/dist/assets/agent-Dip4h2YE.js +0 -1
  893. package/client/dist/assets/agent-Pp-P-n1p.js +0 -1
  894. package/client/dist/assets/agentRuntime-BxF81z52.js +0 -1
  895. package/client/dist/assets/agentRuntime-BxYS5V7u.js +0 -1
  896. package/client/dist/assets/agentRuntime-Dc9HG3BA.js +0 -1
  897. package/client/dist/assets/agents-B6ZsnARo.js +0 -1
  898. package/client/dist/assets/agents-BORdhe0K.js +0 -1
  899. package/client/dist/assets/agents-C6aq9Oqs.js +0 -1
  900. package/client/dist/assets/agents-Cbsc4bcX.js +0 -1
  901. package/client/dist/assets/agents-D0uYR6hq.js +0 -1
  902. package/client/dist/assets/agents-Doe1sHY5.js +0 -1
  903. package/client/dist/assets/agents-DyNi_I9m.js +0 -1
  904. package/client/dist/assets/agents-StKxiTg0.js +0 -1
  905. package/client/dist/assets/agentstudio-7cYCXn-L.js +0 -1
  906. package/client/dist/assets/agentstudio-BHWQh8G3.js +0 -1
  907. package/client/dist/assets/agentstudio-BjnWHyRs.js +0 -1
  908. package/client/dist/assets/agentstudio-BkV8vcK4.js +0 -1
  909. package/client/dist/assets/agentstudio-BzugqB_N.js +0 -1
  910. package/client/dist/assets/agentstudio-CWbp7KvH.js +0 -1
  911. package/client/dist/assets/agentstudio-DG6plf5o.js +0 -1
  912. package/client/dist/assets/agentstudio-DkZVF-Cc.js +0 -1
  913. package/client/dist/assets/analytics-B1DIQd4m.js +0 -1
  914. package/client/dist/assets/analytics-BAIZ9vE_.js +0 -1
  915. package/client/dist/assets/analytics-BTqgmgBd.js +0 -1
  916. package/client/dist/assets/analytics-BWynXPEm.js +0 -1
  917. package/client/dist/assets/analytics-DGcUsQ44.js +0 -1
  918. package/client/dist/assets/analytics-GnSnpJ4W.js +0 -1
  919. package/client/dist/assets/analytics-TWgYaoO0.js +0 -1
  920. package/client/dist/assets/analytics-kJy6Tuko.js +0 -1
  921. package/client/dist/assets/atom-one-dark-qiGhVQxg.js +0 -1
  922. package/client/dist/assets/builder-B9gorTnT.js +0 -1
  923. package/client/dist/assets/builder-Bvw5s3Mi.js +0 -1
  924. package/client/dist/assets/builder-CL5l4dU3.js +0 -1
  925. package/client/dist/assets/builder-CVDTVrQX.js +0 -1
  926. package/client/dist/assets/builder-CpS9liE9.js +0 -1
  927. package/client/dist/assets/builder-DNctIL9Q.js +0 -1
  928. package/client/dist/assets/builder-De2NxX6o.js +0 -1
  929. package/client/dist/assets/builder-DeYT7Y-m.js +0 -1
  930. package/client/dist/assets/button-4FS1ZDTp.js +0 -1
  931. package/client/dist/assets/chat-D_I7nU5K.js +0 -1
  932. package/client/dist/assets/chevron-up-6EFqEHBj.js +0 -1
  933. package/client/dist/assets/chunk-OB3PAWPO-B1EMk45A.js +0 -3
  934. package/client/dist/assets/clsx-CjueKrWZ.js +0 -1
  935. package/client/dist/assets/code-B37GRg9C.js +0 -1
  936. package/client/dist/assets/code-BBOEZbf9.js +0 -1
  937. package/client/dist/assets/code-BRm-jcyx.js +0 -1
  938. package/client/dist/assets/code-CF7w62CR.js +0 -1
  939. package/client/dist/assets/code-CLuvJt2r.js +0 -1
  940. package/client/dist/assets/code-D0RCm59f.js +0 -1
  941. package/client/dist/assets/code-DaZ-ZwCT.js +0 -1
  942. package/client/dist/assets/code-iIHkGaCL.js +0 -1
  943. package/client/dist/assets/commands-0XjAftla.js +0 -1
  944. package/client/dist/assets/commands-BAWSYHjQ.js +0 -1
  945. package/client/dist/assets/commands-BBwowgiE.js +0 -1
  946. package/client/dist/assets/commands-BacjIZLN.js +0 -1
  947. package/client/dist/assets/commands-Bs62IAZ3.js +0 -1
  948. package/client/dist/assets/commands-CLPdh-Hh.js +0 -1
  949. package/client/dist/assets/commands-DlbFzgrp.js +0 -1
  950. package/client/dist/assets/commands-LjPSsi5F.js +0 -1
  951. package/client/dist/assets/common-Bdi0qN4S.js +0 -1
  952. package/client/dist/assets/common-Bhb9zN1P.js +0 -1
  953. package/client/dist/assets/common-BykKlZg1.js +0 -1
  954. package/client/dist/assets/common-CvnNNSJA.js +0 -1
  955. package/client/dist/assets/common-D5zk_mqq.js +0 -1
  956. package/client/dist/assets/common-DQNO_al5.js +0 -1
  957. package/client/dist/assets/common-Dax30Vmp.js +0 -1
  958. package/client/dist/assets/common-DkllpVSb.js +0 -1
  959. package/client/dist/assets/core-B3mKBIh5.js +0 -1
  960. package/client/dist/assets/dashboard-B1ndRHuC.js +0 -1
  961. package/client/dist/assets/dashboard-BX7KXiqA.js +0 -1
  962. package/client/dist/assets/dashboard-B_BSNxcN.js +0 -1
  963. package/client/dist/assets/dashboard-CCeFN7-V.js +0 -1
  964. package/client/dist/assets/dashboard-CRl0WtFJ.js +0 -1
  965. package/client/dist/assets/dashboard-XGdQ5mjw.js +0 -1
  966. package/client/dist/assets/dashboard-_oltA6Jd.js +0 -1
  967. package/client/dist/assets/dashboard-bAuf5KVk.js +0 -1
  968. package/client/dist/assets/dialog-DtdR05v1.js +0 -45
  969. package/client/dist/assets/dist-js-CJ_2XX1Y.js +0 -1
  970. package/client/dist/assets/event-Bt7f3wXe.js +0 -1
  971. package/client/dist/assets/explore-BG99VGpL.js +0 -1
  972. package/client/dist/assets/explore-C0TjprJW.js +0 -1
  973. package/client/dist/assets/explore-C2dgEo7q.js +0 -1
  974. package/client/dist/assets/explore-C8NDHbob.js +0 -1
  975. package/client/dist/assets/explore-CWWgzQGR.js +0 -1
  976. package/client/dist/assets/explore-CcQXpdtS.js +0 -1
  977. package/client/dist/assets/explore-DgBACn39.js +0 -1
  978. package/client/dist/assets/explore-DsXAgnmJ.js +0 -1
  979. package/client/dist/assets/file-text-C0blZHLh.js +0 -1
  980. package/client/dist/assets/formatDistanceToNow-NjPHBLfB.js +0 -1
  981. package/client/dist/assets/getTimezoneOffsetInMilliseconds-vJ7qUoqN.js +0 -1
  982. package/client/dist/assets/git-branch-yf6LE1Bw.js +0 -1
  983. package/client/dist/assets/index-BgbCbIua.css +0 -2
  984. package/client/dist/assets/index-Ce4yZtKf.js +0 -83
  985. package/client/dist/assets/integrations-BkpRUbvp.js +0 -1
  986. package/client/dist/assets/integrations-Bo8qbJf4.js +0 -1
  987. package/client/dist/assets/integrations-CmSrKzZb.js +0 -1
  988. package/client/dist/assets/integrations-DGtq26Rr.js +0 -1
  989. package/client/dist/assets/integrations-De38GFnQ.js +0 -1
  990. package/client/dist/assets/integrations-Dw6zdtb-.js +0 -1
  991. package/client/dist/assets/integrations-Dwl9KQp0.js +0 -1
  992. package/client/dist/assets/integrations-Refg_d2I.js +0 -1
  993. package/client/dist/assets/jira-B6OYw4CJ.js +0 -1
  994. package/client/dist/assets/jira-BTF6RaOe.js +0 -1
  995. package/client/dist/assets/jira-CEetIB2q.js +0 -1
  996. package/client/dist/assets/jira-CIzsZLw5.js +0 -1
  997. package/client/dist/assets/jira-Daw9tmpI.js +0 -1
  998. package/client/dist/assets/jira-FXr7u2lh.js +0 -1
  999. package/client/dist/assets/jira-LaNQn7yl.js +0 -1
  1000. package/client/dist/assets/jira-api-Cabj-H0J.js +0 -1
  1001. package/client/dist/assets/job-time-BCL7wee9.js +0 -1
  1002. package/client/dist/assets/jobs-ARwD85B9.js +0 -1
  1003. package/client/dist/assets/jobs-BMF1w4WT.js +0 -1
  1004. package/client/dist/assets/jobs-CBfzGLwm.js +0 -1
  1005. package/client/dist/assets/jobs-CPjiluBY.js +0 -1
  1006. package/client/dist/assets/jobs-CQQd58pY.js +0 -1
  1007. package/client/dist/assets/jobs-De3EqaO0.js +0 -1
  1008. package/client/dist/assets/jobs-Du9-Ei9a.js +0 -1
  1009. package/client/dist/assets/jobs-qMHbnxwC.js +0 -1
  1010. package/client/dist/assets/layers-BCLTgHXO.js +0 -1
  1011. package/client/dist/assets/loader-circle-BqV9xYGf.js +0 -1
  1012. package/client/dist/assets/loop-layout-CyXj9223.js +0 -7
  1013. package/client/dist/assets/loops-B2PhQLKR.js +0 -1
  1014. package/client/dist/assets/loops-BqbF46st.js +0 -1
  1015. package/client/dist/assets/loops-CINnHbfI.js +0 -1
  1016. package/client/dist/assets/loops-D-3XhH04.js +0 -1
  1017. package/client/dist/assets/loops-DKkEEjZ_.js +0 -1
  1018. package/client/dist/assets/loops-DzWR5-v6.js +0 -1
  1019. package/client/dist/assets/loops-WyWDkhok.js +0 -1
  1020. package/client/dist/assets/loops-scD5fIBf.js +0 -1
  1021. package/client/dist/assets/mcp-6rMoZfEO.js +0 -1
  1022. package/client/dist/assets/mcp-BD8sL5mP.js +0 -1
  1023. package/client/dist/assets/mcp-BkcA3I5s.js +0 -1
  1024. package/client/dist/assets/mcp-CCpSelOh.js +0 -1
  1025. package/client/dist/assets/mcp-CUAN6ORK.js +0 -1
  1026. package/client/dist/assets/mcp-CqbRxRTE.js +0 -1
  1027. package/client/dist/assets/mcp-DP2YfVhO.js +0 -1
  1028. package/client/dist/assets/mcp-DUVQamDz.js +0 -1
  1029. package/client/dist/assets/narration-BEKMVxGm.js +0 -1
  1030. package/client/dist/assets/narration-CjLwGKap.js +0 -1
  1031. package/client/dist/assets/narration-DANWuGsW.js +0 -1
  1032. package/client/dist/assets/narration-DGeEDWiT.js +0 -1
  1033. package/client/dist/assets/narration-DJgpGwIP.js +0 -1
  1034. package/client/dist/assets/narration-DbHnz0qV.js +0 -1
  1035. package/client/dist/assets/narration-bZSsTZG8.js +0 -1
  1036. package/client/dist/assets/narration-i6aKJKEc.js +0 -1
  1037. package/client/dist/assets/nav--u7iPYlS.js +0 -1
  1038. package/client/dist/assets/nav-C5Jgfaby.js +0 -1
  1039. package/client/dist/assets/nav-CAna_Wpt.js +0 -1
  1040. package/client/dist/assets/nav-CCLqeyHo.js +0 -1
  1041. package/client/dist/assets/nav-Cf3c90Jk.js +0 -1
  1042. package/client/dist/assets/nav-DMYQaQjR.js +0 -1
  1043. package/client/dist/assets/nav-Df_PkZ9F.js +0 -1
  1044. package/client/dist/assets/nav-VyNGBJwj.js +0 -1
  1045. package/client/dist/assets/packet-8nn9RsU7.js +0 -1
  1046. package/client/dist/assets/packet-B0H15elv.js +0 -1
  1047. package/client/dist/assets/packet-BQvBgrwh.js +0 -1
  1048. package/client/dist/assets/packet-BR7mO0-a.js +0 -1
  1049. package/client/dist/assets/packet-BgcQ6q_K.js +0 -1
  1050. package/client/dist/assets/packet-D2s92Jnn.js +0 -1
  1051. package/client/dist/assets/packet-YbtcD1HS.js +0 -1
  1052. package/client/dist/assets/packet-c0Qj_9eX.js +0 -1
  1053. package/client/dist/assets/project-repositories-Cnnuj9Ia.js +0 -1
  1054. package/client/dist/assets/rotate-ccw-DalJAQQX.js +0 -1
  1055. package/client/dist/assets/settings-B1NV8Ow9.js +0 -1
  1056. package/client/dist/assets/settings-BQ8XFZeE.js +0 -1
  1057. package/client/dist/assets/settings-BRkxfBbO.js +0 -1
  1058. package/client/dist/assets/settings-C_CcU1dP.js +0 -1
  1059. package/client/dist/assets/settings-Cto9n0eL.js +0 -1
  1060. package/client/dist/assets/settings-Pyw8uYtL.js +0 -1
  1061. package/client/dist/assets/settings-b3HVCNNd.js +0 -1
  1062. package/client/dist/assets/settings-hdive4u6.js +0 -1
  1063. package/client/dist/assets/setup-Be485n2u.js +0 -1
  1064. package/client/dist/assets/setup-CKGUxKr-.js +0 -1
  1065. package/client/dist/assets/setup-Ck1Uwd7_.js +0 -1
  1066. package/client/dist/assets/setup-Cm774a6v.js +0 -1
  1067. package/client/dist/assets/setup-DIqMQpxt.js +0 -1
  1068. package/client/dist/assets/setup-DfCsoNFL.js +0 -1
  1069. package/client/dist/assets/setup-DkeE8mP0.js +0 -1
  1070. package/client/dist/assets/setup-xVntVaz1.js +0 -1
  1071. package/client/dist/assets/specs-Bqvtz2kz.js +0 -1
  1072. package/client/dist/assets/specs-CKes-kz6.js +0 -1
  1073. package/client/dist/assets/specs-CfXxPDNB.js +0 -1
  1074. package/client/dist/assets/specs-CyF9HuTI.js +0 -1
  1075. package/client/dist/assets/specs-DMj035Mt.js +0 -1
  1076. package/client/dist/assets/specs-DfIdoU5L.js +0 -1
  1077. package/client/dist/assets/specs-j5pGLQeU.js +0 -1
  1078. package/client/dist/assets/specs-xW5pkkB7.js +0 -1
  1079. package/client/dist/assets/spending-CQnrWiR3.js +0 -1
  1080. package/client/dist/assets/square-D0JTbRSR.js +0 -1
  1081. package/client/dist/assets/tauri-shell-DE6LfGPw.js +0 -2
  1082. package/client/dist/assets/terminal-BAzpHtpY.js +0 -1
  1083. package/client/dist/assets/terminal-C7dHeR3x.js +0 -1
  1084. package/client/dist/assets/terminal-CMla5Qsz.js +0 -1
  1085. package/client/dist/assets/terminal-CdNXH-n9.js +0 -1
  1086. package/client/dist/assets/terminal-Cw5bZsmV.js +0 -1
  1087. package/client/dist/assets/terminal-DFUP4eNv.js +0 -1
  1088. package/client/dist/assets/terminal-DGqljeK_.js +0 -1
  1089. package/client/dist/assets/terminal-cU70NodO.js +0 -1
  1090. package/client/dist/assets/tickets--tiSOCcn.js +0 -1
  1091. package/client/dist/assets/tickets-BUJ3DMWU.js +0 -1
  1092. package/client/dist/assets/tickets-C1WNPODq.js +0 -1
  1093. package/client/dist/assets/tickets-CDjhWmiE.js +0 -1
  1094. package/client/dist/assets/tickets-CLgPC3uO.js +0 -1
  1095. package/client/dist/assets/tickets-D41ZMQpf.js +0 -1
  1096. package/client/dist/assets/tickets-DEaQC06P.js +0 -1
  1097. package/client/dist/assets/tickets-kcMzbLCp.js +0 -1
  1098. package/client/dist/assets/trash-D8zYUmTg.js +0 -1
  1099. package/client/dist/assets/useDesktop-BjLT0_EE.js +0 -1
  1100. package/client/dist/assets/useRuntimeRuns-C97qEqMg.js +0 -1
  1101. package/client/dist/assets/useSharedWebSocket-Bj4LMp7b.js +0 -2
  1102. package/client/dist/assets/utils-BC4DHlz2.js +0 -1
  1103. package/docs/guide/en/getting-started/4-the-dashboard-tour.md +0 -48
  1104. package/docs/guide/es/getting-started/4-the-dashboard-tour.md +0 -48
  1105. package/server/dist/mobile/mobile-preview-channel.js +0 -179
  1106. package/server/dist/mobile/mobile-preview.js +0 -366
  1107. package/server/dist/modules/browser/domain/preview-origins.js +0 -117
  1108. package/server/dist/modules/browser/runtime/preview-targets.js +0 -80
  1109. /package/client/dist/assets/{atom-one-dark-B-oHczHB.css → DocView-B-oHczHB.css} +0 -0
  1110. /package/docs/guide/de/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1111. /package/docs/guide/en/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1112. /package/docs/guide/es/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1113. /package/docs/guide/fr/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1114. /package/docs/guide/it/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1115. /package/docs/guide/ja/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1116. /package/docs/guide/pt/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1117. /package/docs/guide/zh/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
@@ -0,0 +1,5 @@
1
+ import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{n as t,t as n}from"./jsx-runtime-BbYvbtY8.js";import{n as r}from"./createLucideIcon-DtODIU64.js";import{t as i}from"./x-Bu7X_eR2.js";import{t as a}from"./utils-ELimjS2Y.js";import{a as o,c as s,d as c,f as l,g as u,h as d,i as f,l as p,m,n as h,o as g,p as _,r as v,t as y,u as b}from"./es2015-DfnECntk.js";var x=e(t(),1),S=n(),ee=[`nw`,`n`,`ne`,`e`,`se`,`s`,`sw`,`w`],C={nw:{left:!0,top:!0},n:{top:!0},ne:{right:!0,top:!0},e:{right:!0},se:{right:!0,bottom:!0},s:{bottom:!0},sw:{left:!0,bottom:!0},w:{left:!0}};function te(e){return e===`n`||e===`s`?`horizontal`:`vertical`}function w(e,t,n){return Math.min(Math.max(e,t),Math.max(t,n))}function T(e,t,n,r){return{w:w(e,r.minWidth,n.width-16),h:w(t,r.minHeight,n.height-(n.topInset??0)-16)}}function E(e,t){if(t.topInset){let n=Math.min(e.w,Math.max(1,t.width-16)),r=Math.min(e.h,Math.max(1,t.height-t.topInset-16));return{w:n,h:r,x:w(e.x,16/2,Math.max(16/2,t.width-n-16/2)),y:w(e.y,t.topInset,Math.max(t.topInset,t.height-r-16))}}let n=w(e.x,120-e.w,t.width-e.w),r=w(e.y,0,Math.max(0,t.height-48));return{...e,x:n,y:r}}function ne(e,t,n,r){return E({...e,x:e.x+t,y:e.y+n},r)}function D(e,t,n,r,i,a){let o=C[t],s=e.x+e.w,c=e.y+e.h,l=e.w,u=e.h;o.right&&(l=e.w+n),o.left&&(l=e.w-n),o.bottom&&(u=e.h+r),o.top&&(u=e.h-r);let d=T(l,u,i,a),f=e.x,p=e.y;return o.left&&(f=s-d.w),o.top&&(p=c-d.h),E({x:f,y:p,w:d.w,h:d.h},i)}function re(e,t,n,r,i){let a=C[t],o=a.left||a.right,s=a.top||a.bottom,c=o?n===`min`?i.minWidth:r.width-16:e.w,l=s?n===`min`?i.minHeight:r.height-(r.topInset??0)-16:e.h,u=e.x+e.w,d=e.y+e.h,f=T(c,l,r,i);return E({x:a.left?u-f.w:e.x,y:a.top?d-f.h:e.y,w:f.w,h:f.h},r)}function O(e){return{x:e.left,y:e.top,w:e.width,h:e.height}}function ie(e,t){return{w:e.width,h:e.height,x:Math.round((t.width-e.width)/2),y:Math.max(t.topInset??0,Math.round(((t.topInset??0)+t.height-e.height)/2))}}function ae(e,t){let{x:n,y:r,w:i,h:a}=t,o=Math.max(0,i-24),s=Math.max(0,a-24);switch(e){case`nw`:return{left:n-14/2,top:r-14/2,width:14,height:14};case`ne`:return{left:n+i-14/2,top:r-14/2,width:14,height:14};case`se`:return{left:n+i-14/2,top:r+a-14/2,width:14,height:14};case`sw`:return{left:n-14/2,top:r+a-14/2,width:14,height:14};case`n`:return{left:n+12,top:r-8/2,width:o,height:8};case`s`:return{left:n+12,top:r+a-8/2,width:o,height:8};case`e`:return{left:n+i-8/2,top:r+12,width:8,height:s};case`w`:return{left:n-8/2,top:r+12,width:8,height:s}}}function oe(e,t,n){let r=C[e],i=r.left||r.right,a=r.top||r.bottom;switch(t){case`ArrowRight`:return i?{dx:n,dy:0}:null;case`ArrowLeft`:return i?{dx:-n,dy:0}:null;case`ArrowDown`:return a?{dx:0,dy:n}:null;case`ArrowUp`:return a?{dx:0,dy:-n}:null;default:return null}}function k(){return typeof window<`u`&&`__TAURI_INTERNALS__`in window?28:0}function A(){return{top:k()}}function j(e=85,t=32){let n=k();return{top:`calc(50% + ${n/2}px)`,maxHeight:`min(${e}dvh, calc(100dvh - ${n}px - ${t}px))`}}var se=64;function M(){if(typeof window>`u`)return{width:0,height:0};let e=k();return{width:window.innerWidth,height:window.innerHeight,topInset:e?e+16:0}}var ce=`button, input, textarea, select, a, [role="button"], [contenteditable="true"]`;function N(e={}){let{enabled:t=!0,allowMove:n=!0,minWidth:r=320,minHeight:i=200,anchorFromCurrentRect:a=!1,persistKey:o}=e,s=(0,x.useRef)(null),[c,l]=(0,x.useState)(null),u=(0,x.useCallback)(e=>{s.current=e,l(e)},[]),[d,f]=(0,x.useState)(()=>{if(!o||typeof window>`u`)return null;try{let e=window.localStorage.getItem(o);if(!e)return null;let t=JSON.parse(e);if([t?.x,t?.y,t?.w,t?.h].every(e=>typeof e==`number`&&Number.isFinite(e))&&t.w>0&&t.h>0)return E(t,M())}catch{}return null}),[p,m]=(0,x.useState)(null),[h,g]=(0,x.useState)(()=>typeof window>`u`||window.innerWidth>=900),_=(0,x.useRef)(null),v=(0,x.useRef)(null),y=(0,x.useRef)(!1),b=(0,x.useRef)(null),S=(0,x.useRef)(!1);v.current=d;let C={minWidth:r,minHeight:i},w=t&&h;(0,x.useEffect)(()=>{function e(){let e=window.innerWidth>=900;g(e),e||f(null)}return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),(0,x.useEffect)(()=>{t||f(null)},[t]),(0,x.useEffect)(()=>{if(!(!o||typeof window>`u`||!d))try{window.localStorage.setItem(o,JSON.stringify(d))}catch{}},[d,o]),(0,x.useEffect)(()=>{if(!w||d!==null){m(null);return}let e=s.current;if(!e)return;let t=()=>m(O(e.getBoundingClientRect()));t();let n;return typeof ResizeObserver<`u`&&(n=new ResizeObserver(t),n.observe(e)),window.addEventListener(`resize`,t),window.addEventListener(`scroll`,t,!0),()=>{n?.disconnect(),window.removeEventListener(`resize`,t),window.removeEventListener(`scroll`,t,!0)}},[w,d,c]);let T=(0,x.useCallback)(e=>{b.current=e,!y.current&&(y.current=!0,requestAnimationFrame(()=>{y.current=!1,b.current&&f(b.current)}))},[]),k=(0,x.useCallback)(e=>{let t=_.current;if(!t)return;let n=M(),r=e.clientX-t.startX,i=e.clientY-t.startY,a=t.mode===`move`?ne(t.startGeom,r,i,n):D(t.startGeom,t.position,r,i,n,C);T(a)},[T,C.minWidth,C.minHeight]),A=(0,x.useCallback)(()=>{let e=_.current;if(e){try{e.element.releasePointerCapture(e.pointerId)}catch{}_.current=null,S.current=!0,setTimeout(()=>{S.current=!1},0),b.current&&f(b.current),window.removeEventListener(`pointermove`,k),window.removeEventListener(`pointerup`,A),window.removeEventListener(`pointercancel`,A)}},[k]),j=(0,x.useCallback)((e,t)=>{if(!w||e.button!==0)return;let n=s.current;if(!n)return;let r=v.current;if(!r){let e=n.getBoundingClientRect();if(e.width<=0||e.height<=0)return;r=E(a?O(e):ie(e,M()),M())}v.current=r,b.current=r;let i=t(r);_.current=i;try{i.element.setPointerCapture(i.pointerId)}catch{}f(r),window.addEventListener(`pointermove`,k),window.addEventListener(`pointerup`,A),window.addEventListener(`pointercancel`,A)},[w,k,A,a]),N=(0,x.useCallback)(e=>{if(!n||e.target.closest(ce))return;let t=s.current;t&&e.clientY-t.getBoundingClientRect().top>se||j(e,t=>({mode:`move`,startX:e.clientX,startY:e.clientY,startGeom:t,pointerId:e.pointerId,element:e.currentTarget}))},[n,j]),le=(0,x.useCallback)(e=>t=>{t.stopPropagation(),j(t,n=>({mode:`resize`,position:e,startX:t.clientX,startY:t.clientY,startGeom:n,pointerId:t.pointerId,element:t.currentTarget}))},[j]),P=(0,x.useCallback)(()=>f(null),[]),F=(0,x.useCallback)(e=>(...t)=>{S.current||e(...t)},[]),ue=(0,x.useCallback)(e=>t=>{if(!w)return;if(t.key===`0`){t.preventDefault(),P();return}let n=s.current;if(!n)return;let r=M(),i=v.current??O(n.getBoundingClientRect());if(t.key===`Home`||t.key===`End`){t.preventDefault(),f(re(i,e,t.key===`Home`?`min`:`max`,r,C));return}let a=t.shiftKey?64:16,o=oe(e,t.key,a);o&&(t.preventDefault(),f(D(i,e,o.dx,o.dy,r,C)))},[w,P,C.minWidth,C.minHeight]);(0,x.useEffect)(()=>{if(!d||!h)return;function e(){let e=v.current;e&&f(E(e,M()))}return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[d,h]),(0,x.useEffect)(()=>()=>{window.removeEventListener(`pointermove`,k),window.removeEventListener(`pointerup`,A),window.removeEventListener(`pointercancel`,A);let e=_.current;if(e){try{e.element.releasePointerCapture(e.pointerId)}catch{}_.current=null}},[k,A]);let I=w&&d!==null,de=I&&d?{position:`fixed`,left:d.x,top:d.y,width:d.w,height:d.h,maxWidth:`none`,maxHeight:`none`,margin:0,transform:`none`,translate:`none`,scale:`none`,animation:`none`}:{},L=I?d:p,fe=w&&L?ee.map(e=>({position:e,role:`separator`,"aria-orientation":te(e),tabIndex:0,style:{position:`fixed`,...ae(e,L)},onPointerDown:le(e),onKeyDown:ue(e)})):[];return{panelRef:u,panelStyle:de,headerHandleProps:{onPointerDown:N},resizeHandles:fe,isFloating:I,enabled:w,reset:P,guardBackdrop:F}}var le={nw:`cursor-nwse-resize`,n:`cursor-ns-resize`,ne:`cursor-nesw-resize`,e:`cursor-ew-resize`,se:`cursor-nwse-resize`,s:`cursor-ns-resize`,sw:`cursor-nesw-resize`,w:`cursor-ew-resize`};function P(e){switch(e){case`nw`:return{position:`absolute`,left:0,top:0,width:14,height:14};case`ne`:return{position:`absolute`,right:0,top:0,width:14,height:14};case`se`:return{position:`absolute`,right:0,bottom:0,width:14,height:14};case`sw`:return{position:`absolute`,left:0,bottom:0,width:14,height:14};case`n`:return{position:`absolute`,left:12,right:12,top:0,height:8};case`s`:return{position:`absolute`,left:12,right:12,bottom:0,height:8};case`e`:return{position:`absolute`,right:0,top:12,bottom:12,width:8};case`w`:return{position:`absolute`,left:0,top:12,bottom:12,width:8}}}function F({handles:e,placement:t=`fixed`,className:n}){let{t:i}=r(`common`);return e.length===0?null:(0,S.jsx)(S.Fragment,{children:e.map(e=>(0,S.jsx)(`div`,{"data-testid":`modal-resize-${e.position}`,"data-resize-grip":``,role:e.role,"aria-orientation":e[`aria-orientation`],"aria-label":i(`modal.resize.${e.position}`),tabIndex:e.tabIndex,style:t===`inset`?P(e.position):e.style,onPointerDown:e.onPointerDown,onKeyDown:e.onKeyDown,className:a(t===`inset`?`z-30`:`z-[51]`,`rounded-full bg-transparent transition-colors duration-150`,`hover:bg-accent-primary/20 focus:outline-none focus-visible:bg-accent-primary/30`,le[e.position],n)},e.position))})}function ue(e,t){return x.useReducer((e,n)=>t[e][n]??e,e)}var I=e=>{let{present:t,children:n}=e,r=de(t),i=typeof n==`function`?n({present:r.isPresent}):x.Children.only(n),a=d(r.ref,fe(i));return typeof n==`function`||r.isPresent?x.cloneElement(i,{ref:a}):null};I.displayName=`Presence`;function de(e){let[t,n]=x.useState(),r=x.useRef(null),i=x.useRef(e),a=x.useRef(`none`),[o,s]=ue(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return x.useEffect(()=>{let e=L(r.current);a.current=o===`mounted`?e:`none`},[o]),c(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=L(t);e?s(`MOUNT`):o===`none`||t?.display===`none`?s(`UNMOUNT`):s(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,s]),c(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=L(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(s(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},c=e=>{e.target===t&&(a.current=L(r.current))};return t.addEventListener(`animationstart`,c),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,c),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else s(`ANIMATION_END`)},[t,s]),{isPresent:[`mounted`,`unmountSuspended`].includes(o),ref:x.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function L(e){return e?.animationName||`none`}function fe(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function pe(e){let t=me(e),n=x.forwardRef((e,n)=>{let{children:r,...i}=e,a=x.Children.toArray(r),o=a.find(ge);if(o){let e=o.props.children,r=a.map(t=>t===o?x.Children.count(e)>1?x.Children.only(null):x.isValidElement(e)?e.props.children:null:t);return(0,S.jsx)(t,{...i,ref:n,children:x.isValidElement(e)?x.cloneElement(e,void 0,r):null})}return(0,S.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function me(e){let t=x.forwardRef((e,t)=>{let{children:n,...r}=e;if(x.isValidElement(n)){let e=ve(n),i=_e(r,n.props);return n.type!==x.Fragment&&(i.ref=t?m(t,e):e),x.cloneElement(n,i)}return x.Children.count(n)>1?x.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var he=Symbol(`radix.slottable`);function ge(e){return x.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===he}function _e(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function ve(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var R=`Dialog`,[ye,be]=_(R),[xe,z]=ye(R),Se=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=x.useRef(null),c=x.useRef(null),[l,u]=p({prop:r,defaultProp:i??!1,onChange:a,caller:R});return(0,S.jsx)(xe,{scope:t,triggerRef:s,contentRef:c,contentId:b(),titleId:b(),descriptionId:b(),open:l,onOpenChange:u,onOpenToggle:x.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})};Se.displayName=R;var Ce=`DialogTrigger`,we=x.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=z(Ce,n),a=d(t,i.triggerRef);return(0,S.jsx)(s.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":W(i.open),...r,ref:a,onClick:u(e.onClick,i.onOpenToggle)})});we.displayName=Ce;var B=`DialogPortal`,[Te,Ee]=ye(B,{forceMount:void 0}),De=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=z(B,t);return(0,S.jsx)(Te,{scope:t,forceMount:n,children:x.Children.map(r,e=>(0,S.jsx)(I,{present:n||a.open,children:(0,S.jsx)(f,{asChild:!0,container:i,children:e})}))})};De.displayName=B;var V=`DialogOverlay`,Oe=x.forwardRef((e,t)=>{let n=Ee(V,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=z(V,e.__scopeDialog);return a.modal?(0,S.jsx)(I,{present:r||a.open,children:(0,S.jsx)(Ae,{...i,ref:t})}):null});Oe.displayName=V;var ke=pe(`DialogOverlay.RemoveScroll`),Ae=x.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=z(V,n);return(0,S.jsx)(h,{as:ke,allowPinchZoom:!0,shards:[i.contentRef],children:(0,S.jsx)(s.div,{"data-state":W(i.open),...r,ref:t,style:{pointerEvents:`auto`,...r.style}})})}),H=`DialogContent`,je=x.forwardRef((e,t)=>{let n=Ee(H,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=z(H,e.__scopeDialog);return(0,S.jsx)(I,{present:r||a.open,children:a.modal?(0,S.jsx)(Me,{...i,ref:t}):(0,S.jsx)(Ne,{...i,ref:t})})});je.displayName=H;var Me=x.forwardRef((e,t)=>{let n=z(H,e.__scopeDialog),r=x.useRef(null),i=d(t,n.contentRef,r);return x.useEffect(()=>{let e=r.current;if(e)return y(e)},[]),(0,S.jsx)(Pe,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:u(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:u(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:u(e.onFocusOutside,e=>e.preventDefault())})}),Ne=x.forwardRef((e,t)=>{let n=z(H,e.__scopeDialog),r=x.useRef(!1),i=x.useRef(!1);return(0,S.jsx)(Pe,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),Pe=x.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...s}=e,c=z(H,n),l=x.useRef(null),u=d(t,l);return v(),(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(o,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,S.jsx)(g,{role:`dialog`,id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":W(c.open),...s,ref:u,onDismiss:()=>c.onOpenChange(!1)})}),(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(Ue,{titleId:c.titleId}),(0,S.jsx)(Ge,{contentRef:l,descriptionId:c.descriptionId})]})]})}),U=`DialogTitle`,Fe=x.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=z(U,n);return(0,S.jsx)(s.h2,{id:i.titleId,...r,ref:t})});Fe.displayName=U;var Ie=`DialogDescription`,Le=x.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=z(Ie,n);return(0,S.jsx)(s.p,{id:i.descriptionId,...r,ref:t})});Le.displayName=Ie;var Re=`DialogClose`,ze=x.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=z(Re,n);return(0,S.jsx)(s.button,{type:`button`,...r,ref:t,onClick:u(e.onClick,()=>i.onOpenChange(!1))})});ze.displayName=Re;function W(e){return e?`open`:`closed`}var Be=`DialogTitleWarning`,[Ve,He]=l(Be,{contentName:H,titleName:U,docsSlug:`dialog`}),Ue=({titleId:e})=>{let t=He(Be),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
2
+
3
+ If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
4
+
5
+ For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return x.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},We=`DialogDescriptionWarning`,Ge=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${He(We).contentName}}.`;return x.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},Ke=Se,qe=we,Je=De,G=Oe,K=je,q=Fe,J=Le,Y=ze,X={baseModal:50,floatingChat:60,entityModal:65,stackedModal:70,dock:75,capture:80,media:100,popover:105,toast:110};X.baseModal,X.entityModal,X.stackedModal,X.capture,X.media;var Z={base:`z-50`,entity:`z-[65]`,stacked:`z-[70]`,capture:`z-[80]`,media:`z-[100]`},Ye={floatingChat:`z-[60]`,floatingChatGrips:`z-[61]`,dock:`z-[75]`,capture:`z-[80]`,media:`z-[100]`,popover:`z-[105]`,toast:`z-[110]`};function Xe(e){return e===null?`base`:e===`entity`?`stacked`:e}function Ze(...e){return x.useCallback(t=>{for(let n of e)n&&(typeof n==`function`?n(t):n.current=t)},e)}var Qe={confirm:`w-[calc(100%-32px)] max-w-md`,form:`w-[calc(100%-32px)] max-w-lg`,wide:`w-[calc(100%-32px)] max-w-2xl`,workspace:`w-[92vw] max-w-5xl h-[82vh] max-sm:w-[calc(100vw-16px)] max-sm:h-[calc(100dvh-16px)]`,fullscreen:`w-[96vw] max-w-none h-[92vh] max-sm:w-[calc(100vw-16px)] max-sm:h-[calc(100dvh-16px)]`},$e=`modal-panel fixed left-[50%] top-[50%] flex flex-col overflow-hidden translate-x-[-50%] translate-y-[-50%] border border-border/30 bg-popover text-popover-foreground shadow-3 outline-none sm:rounded-panel`,et=`modal-scrim fixed inset-0 bg-scrim backdrop-blur-sm`,Q=x.createContext(null);function tt(){return x.useContext(Q)?.layer??null}var nt=()=>()=>{};function rt({layer:e,children:t}){let n=x.useMemo(()=>({layer:e,showCloseButton:!1,claimHeader:nt}),[e]);return(0,S.jsx)(Q.Provider,{value:n,children:t})}var it=Ke,at=qe,ot=Je,st=Y,ct=x.forwardRef(({className:e,layer:t=`base`,...n},r)=>(0,S.jsx)(G,{ref:r,style:A(),className:a(et,Z[t],e),...n}));ct.displayName=G.displayName;var $=x.forwardRef(({className:e,...t},n)=>{let{t:o}=r(`common`);return(0,S.jsx)(Y,{ref:n,className:a(`grid h-7 w-7 shrink-0 place-items-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none`,e),"aria-label":o(`actions.close`),...t,children:(0,S.jsx)(i,{className:`h-4 w-4`,"aria-hidden":!0})})});$.displayName=`DialogCloseButton`;function lt(e){let t=e=>typeof CSS<`u`&&CSS.escape?CSS.escape(e):e.replace(/"/g,`\\"`);if(e.id)return`#${t(e.id)}`;let n=e.getAttribute(`data-testid`);if(n)return`[data-testid="${t(n)}"]`;let r=e.getAttribute(`aria-label`);return r?`${e.tagName.toLowerCase()}[aria-label="${t(r)}"]`:null}var ut=x.forwardRef(({className:e,overlayClassName:t,children:n,size:r=`wide`,layer:i,showCloseButton:o=!0,movableResizable:s=!1,persistKey:c,style:l,onCloseAutoFocus:u,...d},f)=>{let p=x.useContext(Q),m=i??Xe(p?.layer??null),h=s&&r===`workspace`,{panelRef:g,panelStyle:_,resizeHandles:v,guardBackdrop:y}=N({enabled:h,allowMove:!1,persistKey:c}),b=x.useRef(null),ee=Ze(f,g,x.useCallback(e=>{if(!e)return;let t=typeof document<`u`?document.activeElement:null;t instanceof HTMLElement&&t!==document.body&&!e.contains(t)&&(b.current={el:t,identity:lt(t)})},[])),C=x.useCallback(e=>{u?.(e);let t=b.current;if(b.current=null,e.defaultPrevented||!t)return;let n=t.el.isConnected?t.el:t.identity?document.querySelector(t.identity):null;n&&(e.preventDefault(),n.focus())},[u]),[te,w]=x.useState(0),T=x.useCallback(()=>(w(e=>e+1),()=>w(e=>e-1)),[]),E=x.useMemo(()=>({layer:m,showCloseButton:o,claimHeader:T}),[m,o,T]),ne=r===`fullscreen`?92:r===`workspace`?88:85,{onPointerDownOutside:D,...re}=d;return(0,S.jsxs)(ot,{children:[(0,S.jsx)(ct,{layer:m,className:t}),(0,S.jsx)(Q.Provider,{value:E,children:(0,S.jsxs)(K,{ref:ee,"data-dialog-size":r,"data-dialog-layer":m,style:{...l,...j(ne),..._},className:a($e,Z[m],Qe[r],e),onCloseAutoFocus:C,onPointerDownOutside:h?y(e=>D?.(e)):D,...re,children:[n,o&&te===0&&(0,S.jsx)($,{className:`absolute right-3 top-3 z-20`}),h&&(0,S.jsx)(F,{handles:v,placement:`inset`})]})})]})});ut.displayName=K.displayName;var dt=({className:e,icon:t,actions:n,children:r,...i})=>{let o=x.useContext(Q),s=o?.claimHeader;return x.useLayoutEffect(()=>s?.(),[s]),(0,S.jsxs)(`div`,{"data-dialog-header":``,className:a(`flex shrink-0 items-start gap-3 border-b border-border/40 px-5 py-4 text-left`,e),...i,children:[t?(0,S.jsx)(`span`,{className:`mt-0.5 shrink-0 text-accent-primary [&>svg]:h-4 [&>svg]:w-4`,"aria-hidden":!0,children:t}):null,(0,S.jsx)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:r}),n?(0,S.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:n}):null,o?.showCloseButton?(0,S.jsx)($,{className:`-mr-1.5 -mt-1`}):null]})};dt.displayName=`DialogHeader`;var ft=x.forwardRef(({className:e,...t},n)=>(0,S.jsx)(`div`,{ref:n,"data-dialog-body":``,className:a(`min-h-0 flex-1 overflow-y-auto px-5 py-4`,e),...t}));ft.displayName=`DialogBody`;var pt=({className:e,start:t,children:n,...r})=>(0,S.jsxs)(`div`,{"data-dialog-footer":``,className:a(`flex shrink-0 flex-col-reverse gap-2 border-t border-border/40 px-5 py-3 sm:flex-row sm:items-center sm:justify-end`,e),...r,children:[t?(0,S.jsx)(`div`,{className:`flex min-w-0 items-center gap-2 sm:mr-auto`,children:t}):null,n]});pt.displayName=`DialogFooter`;var mt=x.forwardRef(({className:e,...t},n)=>(0,S.jsx)(q,{ref:n,className:a(`text-base font-semibold leading-snug tracking-tight text-foreground`,e),...t}));mt.displayName=q.displayName;var ht=x.forwardRef(({className:e,...t},n)=>(0,S.jsx)(J,{ref:n,className:a(`text-body leading-relaxed text-muted-foreground`,e),...t}));ht.displayName=J.displayName;export{j as A,Je as C,I as D,qe as E,F as O,G as S,q as T,Ye as _,ft as a,K as b,ut as c,dt as d,rt as f,Z as g,tt as h,it as i,A as j,N as k,ht as l,at as m,et as n,st as o,mt as p,Qe as r,$ as s,$e as t,pt as u,Xe as v,Ke as w,J as x,Y as y};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{n as t,t as n}from"./jsx-runtime-BbYvbtY8.js";import{t as r}from"./react-dom-DDD8FYaU.js";import{t as i}from"./createLucideIcon-DtODIU64.js";import{c as a,d as o,h as s,p as c,s as l}from"./es2015-DfnECntk.js";var u={name:`info`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]};u.node;var d=i(u),f=e(t(),1),p=[`top`,`right`,`bottom`,`left`],m=Math.min,h=Math.max,g=Math.round,_=Math.floor,v=e=>({x:e,y:e}),y={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function b(e,t,n){return h(e,m(t,n))}function x(e,t){return typeof e==`function`?e(t):e}function S(e){return e.split(`-`)[0]}function C(e){return e.split(`-`)[1]}function w(e){return e===`x`?`y`:`x`}function T(e){return e===`y`?`height`:`width`}function E(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function D(e){return w(E(e))}function O(e,t,n){n===void 0&&(n=!1);let r=C(e),i=D(e),a=T(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=I(o)),[o,I(o)]}function k(e){let t=I(e);return[A(e),t,A(t)]}function A(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var j=[`left`,`right`],M=[`right`,`left`],N=[`top`,`bottom`],P=[`bottom`,`top`];function ee(e,t,n){switch(e){case`top`:case`bottom`:return n?t?M:j:t?j:M;case`left`:case`right`:return t?N:P;default:return[]}}function F(e,t,n,r){let i=C(e),a=ee(S(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(A)))),a}function I(e){let t=S(e);return y[t]+e.slice(t.length)}function L(e){return{top:0,right:0,bottom:0,left:0,...e}}function R(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:L(e)}function z(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function te(e,t,n){let{reference:r,floating:i}=e,a=E(t),o=D(t),s=T(o),c=S(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(C(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function ne(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=x(t,e),p=R(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=z(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=z(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var re=50,ie=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:ne},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=te(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<re&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=te(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},ae=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=x(e,t)||{};if(l==null)return{};let d=R(u),f={x:n,y:r},p=D(i),h=T(p),g=await o.getDimensions(l),_=p===`y`,v=_?`top`:`left`,y=_?`bottom`:`right`,S=_?`clientHeight`:`clientWidth`,w=a.reference[h]+a.reference[p]-f[p]-a.floating[h],E=f[p]-a.reference[p],O=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),k=O?O[S]:0;(!k||!await(o.isElement==null?void 0:o.isElement(O)))&&(k=s.floating[S]||a.floating[h]);let A=w/2-E/2,j=k/2-g[h]/2-1,M=m(d[v],j),N=m(d[y],j),P=M,ee=k-g[h]-N,F=k/2-g[h]/2+A,I=b(P,F,ee),L=!c.arrow&&C(i)!=null&&F!==I&&a.reference[h]/2-(F<P?M:N)-g[h]/2<0,z=L?F<P?F-P:F-ee:0;return{[p]:f[p]+z,data:{[p]:I,centerOffset:F-I-z,...L&&{alignmentOffset:z}},reset:L}}}),oe=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=x(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=S(r),_=E(o),v=S(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[I(o)]:k(o)),C=p!==`none`;!d&&C&&b.push(...F(o,m,p,y));let w=[o,...b],T=await s.detectOverflow(t,h),D=[],A=i.flip?.overflows||[];if(l&&D.push(T[g]),u){let e=O(r,a,y);D.push(T[e[0]],T[e[1]])}if(A=[...A,{placement:r,overflows:D}],!D.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=w[e];if(t&&(!(u===`alignment`&&_!==E(t))||A.every(e=>E(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:A},reset:{placement:t}};let n=A.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=A.filter(e=>{if(C){let t=E(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function se(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function ce(e){return p.some(t=>e[t]>=0)}var le=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=x(e,t);switch(i){case`referenceHidden`:{let e=se(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:ce(e)}}}case`escaped`:{let e=se(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:ce(e)}}}default:return{}}}}},ue=new Set([`left`,`top`]);async function de(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=S(n),s=C(n),c=E(n)===`y`,l=ue.has(o)?-1:1,u=a&&c?-1:1,d=x(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var fe=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await de(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},pe=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=x(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=E(S(i)),p=w(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=b(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=b(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},me=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=x(e,t),u={x:n,y:r},d=E(i),f=w(d),p=u[f],m=u[d],h=x(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=ue.has(S(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},he=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=x(e,t),u=await o.detectOverflow(t,l),d=S(i),f=C(i),p=E(i)===`y`,{width:g,height:_}=a.floating,v,y;d===`top`||d===`bottom`?(v=d,y=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(y=d,v=f===`end`?`top`:`bottom`);let b=_-u.top-u.bottom,w=g-u.left-u.right,T=m(_-u[v],b),D=m(g-u[y],w),O=!t.middlewareData.shift,k=T,A=D;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(A=w),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(k=b),O&&!f){let e=h(u.left,0),t=h(u.right,0),n=h(u.top,0),r=h(u.bottom,0);p?A=g-2*(e!==0||t!==0?e+t:h(u.left,u.right)):k=_-2*(n!==0||r!==0?n+r:h(u.top,u.bottom))}await c({...t,availableWidth:A,availableHeight:k});let j=await o.getDimensions(s.floating);return g!==j.width||_!==j.height?{reset:{rects:!0}}:{}}}};function ge(){return typeof window<`u`}function B(e){return _e(e)?(e.nodeName||``).toLowerCase():`#document`}function V(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function H(e){return((_e(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function _e(e){return ge()?e instanceof Node||e instanceof V(e).Node:!1}function U(e){return ge()?e instanceof Element||e instanceof V(e).Element:!1}function W(e){return ge()?e instanceof HTMLElement||e instanceof V(e).HTMLElement:!1}function ve(e){return!ge()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof V(e).ShadowRoot}function G(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=J(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function ye(e){return/^(table|td|th)$/.test(B(e))}function be(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var xe=/transform|translate|scale|rotate|perspective|filter/,Se=/paint|layout|strict|content/,K=e=>!!e&&e!==`none`,Ce;function we(e){let t=U(e)?J(e):e;return K(t.transform)||K(t.translate)||K(t.scale)||K(t.rotate)||K(t.perspective)||!Ee()&&(K(t.backdropFilter)||K(t.filter))||xe.test(t.willChange||``)||Se.test(t.contain||``)}function Te(e){let t=Y(e);for(;W(t)&&!q(t);){if(we(t))return t;if(be(t))return null;t=Y(t)}return null}function Ee(){return Ce??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Ce}function q(e){return/^(html|body|#document)$/.test(B(e))}function J(e){return V(e).getComputedStyle(e)}function De(e){return U(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Y(e){if(B(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||ve(e)&&e.host||H(e);return ve(t)?t.host:t}function Oe(e){let t=Y(e);return q(t)?e.ownerDocument?e.ownerDocument.body:e.body:W(t)&&G(t)?t:Oe(t)}function X(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Oe(e),i=r===e.ownerDocument?.body,a=V(r);if(i){let e=ke(a);return t.concat(a,a.visualViewport||[],G(r)?r:[],e&&n?X(e):[])}else return t.concat(r,X(r,[],n))}function ke(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ae(e){let t=J(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=W(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=g(n)!==a||g(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function je(e){return U(e)?e:e.contextElement}function Z(e){let t=je(e);if(!W(t))return v(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Ae(t),o=(a?g(n.width):n.width)/r,s=(a?g(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Me=v(0);function Ne(e){let t=V(e);return!Ee()||!t.visualViewport?Me:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Pe(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==V(e)?!1:t}function Q(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=je(e),o=v(1);t&&(r?U(r)&&(o=Z(r)):o=Z(e));let s=Pe(a,n,r)?Ne(a):v(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=V(a),t=r&&U(r)?V(r):r,n=e,i=ke(n);for(;i&&r&&t!==n;){let e=Z(i),t=i.getBoundingClientRect(),r=J(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=V(i),i=ke(n)}}return z({width:u,height:d,x:c,y:l})}function Fe(e,t){let n=De(e).scrollLeft;return t?t.left+n:Q(H(e)).left+n}function Ie(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Fe(e,n),y:n.top+t.scrollTop}}function Le(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=H(r),s=t?be(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=v(1),u=v(0),d=W(r);if((d||!d&&!a)&&((B(r)!==`body`||G(o))&&(c=De(r)),d)){let e=Q(r);l=Z(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Ie(o,c):v(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Re(e){return Array.from(e.getClientRects())}function ze(e){let t=H(e),n=De(e),r=e.ownerDocument.body,i=h(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=h(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Fe(e),s=-n.scrollTop;return J(r).direction===`rtl`&&(o+=h(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Be=25;function Ve(e,t){let n=V(e),r=H(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Ee();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Fe(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Be&&(a-=o)}else l<=Be&&(a+=l);return{width:a,height:o,x:s,y:c}}function He(e,t){let n=Q(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=W(e)?Z(e):v(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Ue(e,t,n){let r;if(t===`viewport`)r=Ve(e,n);else if(t===`document`)r=ze(H(e));else if(U(t))r=He(t,n);else{let n=Ne(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return z(r)}function We(e,t){let n=Y(e);return n===t||!U(n)||q(n)?!1:J(n).position===`fixed`||We(n,t)}function Ge(e,t){let n=t.get(e);if(n)return n;let r=X(e,[],!1).filter(e=>U(e)&&B(e)!==`body`),i=null,a=J(e).position===`fixed`,o=a?Y(e):e;for(;U(o)&&!q(o);){let t=J(o),n=we(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||G(o)&&!n&&We(e,o))?r=r.filter(e=>e!==o):i=t,o=Y(o)}return t.set(e,r),r}function Ke(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?be(t)?[]:Ge(t,this._c):[].concat(n),r],o=Ue(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Ue(t,a[e],i);s=h(n.top,s),c=m(n.right,c),l=m(n.bottom,l),u=h(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function qe(e){let{width:t,height:n}=Ae(e);return{width:t,height:n}}function Je(e,t,n){let r=W(t),i=H(t),a=n===`fixed`,o=Q(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=v(0);function l(){c.x=Fe(i)}if(r||!r&&!a)if((B(t)!==`body`||G(i))&&(s=De(t)),r){let e=Q(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Ie(i,s):v(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function Ye(e){return J(e).position===`static`}function Xe(e,t){if(!W(e)||J(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return H(e)===n&&(n=n.ownerDocument.body),n}function Ze(e,t){let n=V(e);if(be(e))return n;if(!W(e)){let t=Y(e);for(;t&&!q(t);){if(U(t)&&!Ye(t))return t;t=Y(t)}return n}let r=Xe(e,t);for(;r&&ye(r)&&Ye(r);)r=Xe(r,t);return r&&q(r)&&Ye(r)&&!we(r)?n:r||Te(e)||n}var Qe=async function(e){let t=this.getOffsetParent||Ze,n=this.getDimensions,r=await n(e.floating);return{reference:Je(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function $e(e){return J(e).direction===`rtl`}var et={convertOffsetParentRelativeRectToViewportRelativeRect:Le,getDocumentElement:H,getClippingRect:Ke,getOffsetParent:Ze,getElementRects:Qe,getClientRects:Re,getDimensions:qe,getScale:Z,isElement:U,isRTL:$e};function tt(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function nt(e,t){let n=null,r,i=H(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let g=_(d),v=_(i.clientWidth-(u+f)),y=_(i.clientHeight-(d+p)),b=_(u),x={rootMargin:-g+`px `+-v+`px `+-y+`px `+-b+`px`,threshold:h(0,m(1,c))||1},S=!0;function C(t){let n=t[0].intersectionRatio;if(n!==c){if(!S)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!tt(l,e.getBoundingClientRect())&&o(),S=!1}try{n=new IntersectionObserver(C,{...x,root:i.ownerDocument})}catch{n=new IntersectionObserver(C,x)}n.observe(e)}return o(!0),a}function rt(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=je(e),u=i||a?[...l?X(l):[],...t?X(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?nt(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Q(e):null;c&&g();function g(){let t=Q(e);h&&!tt(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var it=fe,at=pe,ot=oe,st=he,ct=le,lt=ae,ut=me,dt=(e,t,n)=>{let r=new Map,i={platform:et,...n},a={...i.platform,_c:r};return ie(e,t,{...i,platform:a})},ft=e(r(),1),pt=typeof document<`u`?f.useLayoutEffect:function(){};function mt(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!mt(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!mt(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function ht(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function gt(e,t){let n=ht(e);return Math.round(t*n)/n}function _t(e){let t=f.useRef(e);return pt(()=>{t.current=e}),t}function vt(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=f.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=f.useState(r);mt(p,r)||m(r);let[h,g]=f.useState(null),[_,v]=f.useState(null),y=f.useCallback(e=>{e!==C.current&&(C.current=e,g(e))},[]),b=f.useCallback(e=>{e!==w.current&&(w.current=e,v(e))},[]),x=a||h,S=o||_,C=f.useRef(null),w=f.useRef(null),T=f.useRef(u),E=c!=null,D=_t(c),O=_t(i),k=_t(l),A=f.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:p};O.current&&(e.platform=O.current),dt(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!mt(T.current,t)&&(T.current=t,ft.flushSync(()=>{d(t)}))})},[p,t,n,O,k]);pt(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let j=f.useRef(!1);pt(()=>(j.current=!0,()=>{j.current=!1}),[]),pt(()=>{if(x&&(C.current=x),S&&(w.current=S),x&&S){if(D.current)return D.current(x,S,A);A()}},[x,S,A,D,E]);let M=f.useMemo(()=>({reference:C,floating:w,setReference:y,setFloating:b}),[y,b]),N=f.useMemo(()=>({reference:x,floating:S}),[x,S]),P=f.useMemo(()=>{let e={position:n,left:0,top:0};if(!N.floating)return e;let t=gt(N.floating,u.x),r=gt(N.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...ht(N.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,N.floating,u.x,u.y]);return f.useMemo(()=>({...u,update:A,refs:M,elements:N,floatingStyles:P}),[u,A,M,N,P])}var yt=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:lt({element:r.current,padding:i}).fn(n):r?lt({element:r,padding:i}).fn(n):{}}}},bt=(e,t)=>{let n=it(e);return{name:n.name,fn:n.fn,options:[e,t]}},xt=(e,t)=>{let n=at(e);return{name:n.name,fn:n.fn,options:[e,t]}},St=(e,t)=>({fn:ut(e).fn,options:[e,t]}),Ct=(e,t)=>{let n=ot(e);return{name:n.name,fn:n.fn,options:[e,t]}},wt=(e,t)=>{let n=st(e);return{name:n.name,fn:n.fn,options:[e,t]}},Tt=(e,t)=>{let n=ct(e);return{name:n.name,fn:n.fn,options:[e,t]}},Et=(e,t)=>{let n=yt(e);return{name:n.name,fn:n.fn,options:[e,t]}},$=n(),Dt=`Arrow`,Ot=f.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...o}=e;return(0,$.jsx)(a.svg,{...o,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,$.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});Ot.displayName=Dt;var kt=Ot;function At(e){let[t,n]=f.useState(void 0);return o(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var jt=`Popper`,[Mt,Nt]=c(jt),[Pt,Ft]=Mt(jt),It=e=>{let{__scopePopper:t,children:n}=e,[r,i]=f.useState(null);return(0,$.jsx)(Pt,{scope:t,anchor:r,onAnchorChange:i,children:n})};It.displayName=jt;var Lt=`PopperAnchor`,Rt=f.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,o=Ft(Lt,n),c=f.useRef(null),l=s(t,c),u=f.useRef(null);return f.useEffect(()=>{let e=u.current;u.current=r?.current||c.current,e!==u.current&&o.onAnchorChange(u.current)}),r?null:(0,$.jsx)(a.div,{...i,ref:l})});Rt.displayName=Lt;var zt=`PopperContent`,[Bt,Vt]=Mt(zt),Ht=f.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:c=`center`,alignOffset:u=0,arrowPadding:d=0,avoidCollisions:p=!0,collisionBoundary:m=[],collisionPadding:h=0,sticky:g=`partial`,hideWhenDetached:_=!1,updatePositionStrategy:v=`optimized`,onPlaced:y,...b}=e,x=Ft(zt,n),[S,C]=f.useState(null),w=s(t,e=>C(e)),[T,E]=f.useState(null),D=At(T),O=D?.width??0,k=D?.height??0,A=r+(c===`center`?``:`-`+c),j=typeof h==`number`?h:{top:0,right:0,bottom:0,left:0,...h},M=Array.isArray(m)?m:[m],N=M.length>0,P={padding:j,boundary:M.filter(Kt),altBoundary:N},{refs:ee,floatingStyles:F,placement:I,isPositioned:L,middlewareData:R}=vt({strategy:`fixed`,placement:A,whileElementsMounted:(...e)=>rt(...e,{animationFrame:v===`always`}),elements:{reference:x.anchor},middleware:[bt({mainAxis:i+k,alignmentAxis:u}),p&&xt({mainAxis:!0,crossAxis:!1,limiter:g===`partial`?St():void 0,...P}),p&&Ct({...P}),wt({...P,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),T&&Et({element:T,padding:d}),qt({arrowWidth:O,arrowHeight:k}),_&&Tt({strategy:`referenceHidden`,...P})]}),[z,te]=Jt(I),ne=l(y);o(()=>{L&&ne?.()},[L,ne]);let re=R.arrow?.x,ie=R.arrow?.y,ae=R.arrow?.centerOffset!==0,[oe,se]=f.useState();return o(()=>{S&&se(window.getComputedStyle(S).zIndex)},[S]),(0,$.jsx)(`div`,{ref:ee.setFloating,"data-radix-popper-content-wrapper":``,style:{...F,transform:L?F.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:oe,"--radix-popper-transform-origin":[R.transformOrigin?.x,R.transformOrigin?.y].join(` `),...R.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,$.jsx)(Bt,{scope:n,placedSide:z,onArrowChange:E,arrowX:re,arrowY:ie,shouldHideArrow:ae,children:(0,$.jsx)(a.div,{"data-side":z,"data-align":te,...b,ref:w,style:{...b.style,animation:L?void 0:`none`}})})})});Ht.displayName=zt;var Ut=`PopperArrow`,Wt={top:`bottom`,right:`left`,bottom:`top`,left:`right`},Gt=f.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Vt(Ut,n),a=Wt[i.placedSide];return(0,$.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,$.jsx)(kt,{...r,ref:t,style:{...r.style,display:`block`}})})});Gt.displayName=Ut;function Kt(e){return e!==null}var qt=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=Jt(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function Jt(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Yt=It,Xt=Rt,Zt=Ht,Qt=Gt,$t=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`}),en=`VisuallyHidden`,tn=f.forwardRef((e,t)=>(0,$.jsx)(a.span,{...e,ref:t,style:{...$t,...e.style}}));tn.displayName=en;var nn=tn;export{Zt as a,d as c,Qt as i,$t as n,Yt as o,Xt as r,Nt as s,nn as t};
@@ -0,0 +1 @@
1
+ import{a as e}from"./core-BozBzB6Y.js";async function t(t={}){return typeof t==`object`&&Object.freeze(t),await e(`plugin:dialog|open`,{options:t})}export{t as open};
@@ -1 +1 @@
1
- import{a as e,t}from"./core-B3mKBIh5.js";var n=class{constructor(){this.eventListeners=Object.create(null)}addListener(e,t){return this.on(e,t)}removeListener(e,t){return this.off(e,t)}on(e,t){return e in this.eventListeners?this.eventListeners[e].push(t):this.eventListeners[e]=[t],this}once(e,t){let n=r=>{this.removeListener(e,n),t(r)};return this.addListener(e,n)}off(e,t){return e in this.eventListeners&&(this.eventListeners[e]=this.eventListeners[e].filter(e=>e!==t)),this}removeAllListeners(e){return e?delete this.eventListeners[e]:this.eventListeners=Object.create(null),this}emit(e,t){if(e in this.eventListeners){let n=this.eventListeners[e];for(let e of n)e(t);return!0}return!1}listenerCount(e){return e in this.eventListeners?this.eventListeners[e].length:0}prependListener(e,t){return e in this.eventListeners?this.eventListeners[e].unshift(t):this.eventListeners[e]=[t],this}prependOnceListener(e,t){let n=r=>{this.removeListener(e,n),t(r)};return this.prependListener(e,n)}},r=class{constructor(e){this.pid=e}async write(t){await e(`plugin:shell|stdin_write`,{pid:this.pid,buffer:t})}async kill(){await e(`plugin:shell|kill`,{cmd:`killChild`,pid:this.pid})}},i=class i extends n{constructor(e,t=[],r){super(),this.stdout=new n,this.stderr=new n,this.program=e,this.args=typeof t==`string`?[t]:t,this.options=r??{}}static create(e,t=[],n){return new i(e,t,n)}static sidecar(e,t=[],n){let r=new i(e,t,n);return r.options.sidecar=!0,r}async spawn(){let n=this.program,i=this.args,a=this.options;typeof i==`object`&&Object.freeze(i);let o=new t;return o.onmessage=e=>{switch(e.event){case`Error`:this.emit(`error`,e.payload);break;case`Terminated`:this.emit(`close`,e.payload);break;case`Stdout`:this.stdout.emit(`data`,e.payload);break;case`Stderr`:this.stderr.emit(`data`,e.payload);break}},await e(`plugin:shell|spawn`,{program:n,args:i,options:a,onEvent:o}).then(e=>new r(e))}async execute(){let t=this.program,n=this.args,r=this.options;return typeof n==`object`&&Object.freeze(n),await e(`plugin:shell|execute`,{program:t,args:n,options:r})}};async function a(t,n){await e(`plugin:shell|open`,{path:t,with:n})}export{r as Child,i as Command,n as EventEmitter,a as open};
1
+ import{a as e,t}from"./core-BozBzB6Y.js";var n=class{constructor(){this.eventListeners=Object.create(null)}addListener(e,t){return this.on(e,t)}removeListener(e,t){return this.off(e,t)}on(e,t){return e in this.eventListeners?this.eventListeners[e].push(t):this.eventListeners[e]=[t],this}once(e,t){let n=r=>{this.removeListener(e,n),t(r)};return this.addListener(e,n)}off(e,t){return e in this.eventListeners&&(this.eventListeners[e]=this.eventListeners[e].filter(e=>e!==t)),this}removeAllListeners(e){return e?delete this.eventListeners[e]:this.eventListeners=Object.create(null),this}emit(e,t){if(e in this.eventListeners){let n=this.eventListeners[e];for(let e of n)e(t);return!0}return!1}listenerCount(e){return e in this.eventListeners?this.eventListeners[e].length:0}prependListener(e,t){return e in this.eventListeners?this.eventListeners[e].unshift(t):this.eventListeners[e]=[t],this}prependOnceListener(e,t){let n=r=>{this.removeListener(e,n),t(r)};return this.prependListener(e,n)}},r=class{constructor(e){this.pid=e}async write(t){await e(`plugin:shell|stdin_write`,{pid:this.pid,buffer:t})}async kill(){await e(`plugin:shell|kill`,{cmd:`killChild`,pid:this.pid})}},i=class i extends n{constructor(e,t=[],r){super(),this.stdout=new n,this.stderr=new n,this.program=e,this.args=typeof t==`string`?[t]:t,this.options=r??{}}static create(e,t=[],n){return new i(e,t,n)}static sidecar(e,t=[],n){let r=new i(e,t,n);return r.options.sidecar=!0,r}async spawn(){let n=this.program,i=this.args,a=this.options;typeof i==`object`&&Object.freeze(i);let o=new t;return o.onmessage=e=>{switch(e.event){case`Error`:this.emit(`error`,e.payload);break;case`Terminated`:this.emit(`close`,e.payload);break;case`Stdout`:this.stdout.emit(`data`,e.payload);break;case`Stderr`:this.stderr.emit(`data`,e.payload);break}},await e(`plugin:shell|spawn`,{program:n,args:i,options:a,onEvent:o}).then(e=>new r(e))}async execute(){let t=this.program,n=this.args,r=this.options;return typeof n==`object`&&Object.freeze(n),await e(`plugin:shell|execute`,{program:t,args:n,options:r})}};async function a(t,n){await e(`plugin:shell|open`,{path:t,with:n})}export{r as Child,i as Command,n as EventEmitter,a as open};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{n as t,t as n}from"./jsx-runtime-BbYvbtY8.js";import{t as r}from"./react-dom-DDD8FYaU.js";import{t as i}from"./createLucideIcon-DtODIU64.js";import{t as a}from"./utils-ELimjS2Y.js";var o={name:`ellipsis`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]],aliases:[`more-horizontal`]};o.node;var s=i(o),c={name:`rotate-ccw`,size:24,node:[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]};c.node;var l=i(c),u=e(t(),1),d=e(r(),1),f=n(),p=u.createContext(null);function m(){let e=u.useContext(p);if(!e)throw Error(`DropdownMenu parts must be rendered inside <DropdownMenu>`);return e}function h({children:e,open:t,onOpenChange:n}){let[r,i]=u.useState(!1),a=t??r,o=u.useRef(n);o.current=n;let s=u.useCallback(e=>{i(e),o.current?.(e)},[]),c=u.useRef(null),l=u.useId(),d=u.useMemo(()=>({open:a,setOpen:s,triggerRef:c,menuId:l}),[a,s,l]);return(0,f.jsx)(p.Provider,{value:d,children:e})}var g=u.forwardRef(({onClick:e,onKeyDown:t,className:n,...r},i)=>{let{open:o,setOpen:s,triggerRef:c,menuId:l}=m();return(0,f.jsx)(`button`,{ref:e=>{c.current=e,typeof i==`function`?i(e):i&&(i.current=e)},type:`button`,"aria-haspopup":`menu`,"aria-expanded":o,"aria-controls":o?l:void 0,className:a(`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,n),onClick:t=>{e?.(t),t.defaultPrevented||s(!o)},onKeyDown:e=>{t?.(e),e.key===`ArrowDown`&&!o&&(e.preventDefault(),s(!0))},...r})});g.displayName=`DropdownMenuTrigger`;function _({className:e,align:t=`end`,side:n=`bottom`,children:r,...i}){let{open:o,setOpen:s,triggerRef:c,menuId:l}=m(),p=u.useRef(null),[h,g]=u.useState(null);u.useLayoutEffect(()=>{if(!o)return;let e=c.current?.getBoundingClientRect();if(!e)return;let r=n===`top`?{bottom:window.innerHeight-e.top+4}:{top:e.bottom+4};g(t===`end`?{...r,right:Math.max(8,window.innerWidth-e.right)}:{...r,left:Math.max(8,e.left)})},[o,t,n,c]);let _=()=>Array.from(p.current?.querySelectorAll(`[role="menuitem"]:not([aria-disabled="true"])`)??[]);return u.useEffect(()=>{if(!o)return;let e=requestAnimationFrame(()=>_()[0]?.focus()),t=e=>{let t=e.target;p.current?.contains(t)||c.current?.contains(t)||s(!1)},n=()=>s(!1);return document.addEventListener(`pointerdown`,t),window.addEventListener(`resize`,n),()=>{cancelAnimationFrame(e),document.removeEventListener(`pointerdown`,t),window.removeEventListener(`resize`,n)}},[o,s,c]),o?(0,d.createPortal)((0,f.jsx)(`div`,{ref:p,id:l,role:`menu`,"aria-orientation":`vertical`,onKeyDown:e=>{let t=_(),n=t.indexOf(document.activeElement);e.key===`Escape`?(e.preventDefault(),e.stopPropagation(),s(!1),c.current?.focus()):e.key===`ArrowDown`?(e.preventDefault(),t[(n+1)%t.length]?.focus()):e.key===`ArrowUp`?(e.preventDefault(),t[(n-1+t.length)%t.length]?.focus()):e.key===`Home`?(e.preventDefault(),t[0]?.focus()):e.key===`End`?(e.preventDefault(),t[t.length-1]?.focus()):e.key===`Tab`&&s(!1)},style:h?{position:`fixed`,top:h.top,bottom:h.bottom,left:h.left,right:h.right}:{position:`fixed`},className:a(`z-[105] min-w-[10rem] rounded-card border border-border bg-popover p-1 text-popover-foreground shadow-2`,e),...i,children:r}),document.body):null}function v({className:e,onSelect:t,destructive:n,disabled:r,children:i,...o}){let{setOpen:s,triggerRef:c}=m();return(0,f.jsx)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,"aria-disabled":r||void 0,disabled:r,className:a(`flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-xs outline-none transition-colors`,`hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground`,`disabled:pointer-events-none disabled:opacity-50`,n&&`text-destructive hover:text-destructive focus-visible:text-destructive`,e),onClick:()=>{r||(s(!1),c.current?.focus(),t?.())},...o,children:i})}function y({className:e}){return(0,f.jsx)(`div`,{role:`separator`,className:a(`-mx-1 my-1 h-px bg-border`,e)})}export{g as a,y as i,_ as n,l as o,v as r,s,h as t};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime-CNC7AqOf.js";import{n as e,t}from"./jsx-runtime-BbYvbtY8.js";import{t as n}from"./HelpHint-Crf9_uoR.js";import{t as r}from"./utils-ELimjS2Y.js";e();var i=t();function a({icon:e,title:t,description:a,action:o,learnMore:s,className:c,...l}){return(0,i.jsxs)(`div`,{className:r(`flex flex-col items-center justify-center gap-3 rounded-card border border-dashed border-border px-6 py-10 text-center`,c),...l,children:[e&&(0,i.jsx)(`div`,{className:`grid h-10 w-10 place-items-center rounded-card border border-border bg-card text-muted-foreground`,"aria-hidden":`true`,children:e}),(0,i.jsxs)(`div`,{className:`space-y-1`,children:[(0,i.jsx)(`p`,{className:`text-strong text-foreground`,children:t}),a&&(0,i.jsx)(`p`,{className:`mx-auto max-w-[44ch] text-caption text-muted-foreground`,children:a})]}),o&&(0,i.jsx)(`div`,{className:`mt-1`,children:o}),s&&(0,i.jsx)(n,{topic:s,variant:`link`})]})}export{a as t};
@@ -0,0 +1,41 @@
1
+ import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{n as t,t as n}from"./jsx-runtime-BbYvbtY8.js";import{t as r}from"./react-dom-DDD8FYaU.js";var i=e(t(),1),a=n();typeof window<`u`&&window.document&&window.document.createElement;function o(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}var s=e(r(),1);function c(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function l(...e){return t=>{let n=!1,r=e.map(e=>{let r=c(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():c(e[t],null)}}}}function u(...e){return i.useCallback(l(...e),e)}function d(e,t){let n=i.createContext(t),r=e=>{let{children:t,...r}=e,o=i.useMemo(()=>r,Object.values(r));return(0,a.jsx)(n.Provider,{value:o,children:t})};r.displayName=e+`Provider`;function o(r){let a=i.useContext(n);if(a)return a;if(t!==void 0)return t;throw Error(`\`${r}\` must be used within \`${e}\``)}return[r,o]}function f(e,t=[]){let n=[];function r(t,r){let o=i.createContext(r),s=n.length;n=[...n,r];let c=t=>{let{scope:n,children:r,...c}=t,l=n?.[e]?.[s]||o,u=i.useMemo(()=>c,Object.values(c));return(0,a.jsx)(l.Provider,{value:u,children:r})};c.displayName=t+`Provider`;function l(n,a){let c=a?.[e]?.[s]||o,l=i.useContext(c);if(l)return l;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[c,l]}let o=()=>{let t=n.map(e=>i.createContext(e));return function(n){let r=n?.[e]||t;return i.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return o.scopeName=e,[r,p(o,...t)]}function p(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return i.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}var m=globalThis?.document?i.useLayoutEffect:()=>{},h=i.useId||(()=>void 0),g=0;function _(e){let[t,n]=i.useState(h());return m(()=>{e||n(e=>e??String(g++))},[e]),e||(t?`radix-${t}`:``)}var v=i.useInsertionEffect||m;function y({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[a,o,s]=b({defaultProp:t,onChange:n}),c=e!==void 0,l=c?e:a;{let t=i.useRef(e!==void 0);i.useEffect(()=>{let e=t.current;e!==c&&console.warn(`${r} is changing from ${e?`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.`),t.current=c},[c,r])}return[l,i.useCallback(t=>{if(c){let n=x(t)?t(e):t;n!==e&&s.current?.(n)}else o(t)},[c,e,o,s])]}function b({defaultProp:e,onChange:t}){let[n,r]=i.useState(e),a=i.useRef(n),o=i.useRef(t);return v(()=>{o.current=t},[t]),i.useEffect(()=>{a.current!==n&&(o.current?.(n),a.current=n)},[n,a]),[n,r,o]}function x(e){return typeof e==`function`}function S(e){let t=C(e),n=i.forwardRef((e,n)=>{let{children:r,...o}=e,s=i.Children.toArray(r),c=s.find(ee);if(c){let e=c.props.children,r=s.map(t=>t===c?i.Children.count(e)>1?i.Children.only(null):i.isValidElement(e)?e.props.children:null:t);return(0,a.jsx)(t,{...o,ref:n,children:i.isValidElement(e)?i.cloneElement(e,void 0,r):null})}return(0,a.jsx)(t,{...o,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function C(e){let t=i.forwardRef((e,t)=>{let{children:n,...r}=e;if(i.isValidElement(n)){let e=te(n),a=T(r,n.props);return n.type!==i.Fragment&&(a.ref=t?l(t,e):e),i.cloneElement(n,a)}return i.Children.count(n)>1?i.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var w=Symbol(`radix.slottable`);function ee(e){return i.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===w}function T(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function te(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var E=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=S(`Primitive.${t}`),r=i.forwardRef((e,r)=>{let{asChild:i,...o}=e,s=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,a.jsx)(s,{...o,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function ne(e,t){e&&s.flushSync(()=>e.dispatchEvent(t))}function D(e){let t=i.useRef(e);return i.useEffect(()=>{t.current=e}),i.useMemo(()=>(...e)=>t.current?.(...e),[])}function re(e,t=globalThis?.document){let n=D(e);i.useEffect(()=>{let e=e=>{e.key===`Escape`&&n(e)};return t.addEventListener(`keydown`,e,{capture:!0}),()=>t.removeEventListener(`keydown`,e,{capture:!0})},[n,t])}var ie=`DismissableLayer`,O=`dismissableLayer.update`,ae=`dismissableLayer.pointerDownOutside`,oe=`dismissableLayer.focusOutside`,se,ce=i.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),le=i.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:s,onFocusOutside:c,onInteractOutside:l,onDismiss:d,...f}=e,p=i.useContext(ce),[m,h]=i.useState(null),g=m?.ownerDocument??globalThis?.document,[,_]=i.useState({}),v=u(t,e=>h(e)),y=Array.from(p.layers),[b]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),x=y.indexOf(b),S=m?y.indexOf(m):-1,C=p.layersWithOutsidePointerEventsDisabled.size>0,w=S>=x,ee=fe(e=>{let t=e.target,n=[...p.branches].some(e=>e.contains(t));!w||n||(s?.(e),l?.(e),e.defaultPrevented||d?.())},g),T=pe(e=>{let t=e.target;[...p.branches].some(e=>e.contains(t))||(c?.(e),l?.(e),e.defaultPrevented||d?.())},g);return re(e=>{S===p.layers.size-1&&(r?.(e),!e.defaultPrevented&&d&&(e.preventDefault(),d()))},g),i.useEffect(()=>{if(m)return n&&(p.layersWithOutsidePointerEventsDisabled.size===0&&(se=g.body.style.pointerEvents,g.body.style.pointerEvents=`none`),p.layersWithOutsidePointerEventsDisabled.add(m)),p.layers.add(m),me(),()=>{n&&p.layersWithOutsidePointerEventsDisabled.size===1&&(g.body.style.pointerEvents=se)}},[m,g,n,p]),i.useEffect(()=>()=>{m&&(p.layers.delete(m),p.layersWithOutsidePointerEventsDisabled.delete(m),me())},[m,p]),i.useEffect(()=>{let e=()=>_({});return document.addEventListener(O,e),()=>document.removeEventListener(O,e)},[]),(0,a.jsx)(E.div,{...f,ref:v,style:{pointerEvents:C?w?`auto`:`none`:void 0,...e.style},onFocusCapture:o(e.onFocusCapture,T.onFocusCapture),onBlurCapture:o(e.onBlurCapture,T.onBlurCapture),onPointerDownCapture:o(e.onPointerDownCapture,ee.onPointerDownCapture)})});le.displayName=ie;var ue=`DismissableLayerBranch`,de=i.forwardRef((e,t)=>{let n=i.useContext(ce),r=i.useRef(null),o=u(t,r);return i.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,a.jsx)(E.div,{...e,ref:o})});de.displayName=ue;function fe(e,t=globalThis?.document){let n=D(e),r=i.useRef(!1),a=i.useRef(()=>{});return i.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){he(ae,n,i,{discrete:!0})},i={originalEvent:e};e.pointerType===`touch`?(t.removeEventListener(`click`,a.current),a.current=r,t.addEventListener(`click`,a.current,{once:!0})):r()}else t.removeEventListener(`click`,a.current);r.current=!1},i=window.setTimeout(()=>{t.addEventListener(`pointerdown`,e)},0);return()=>{window.clearTimeout(i),t.removeEventListener(`pointerdown`,e),t.removeEventListener(`click`,a.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function pe(e,t=globalThis?.document){let n=D(e),r=i.useRef(!1);return i.useEffect(()=>{let e=e=>{e.target&&!r.current&&he(oe,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function me(){let e=new CustomEvent(O);document.dispatchEvent(e)}function he(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?ne(i,a):i.dispatchEvent(a)}var k=`focusScope.autoFocusOnMount`,A=`focusScope.autoFocusOnUnmount`,ge={bubbles:!1,cancelable:!0},_e=`FocusScope`,ve=i.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:s,...c}=e,[l,d]=i.useState(null),f=D(o),p=D(s),m=i.useRef(null),h=u(t,e=>d(e)),g=i.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;i.useEffect(()=>{if(r){let e=function(e){if(g.paused||!l)return;let t=e.target;l.contains(t)?m.current=t:N(m.current,{select:!0})},t=function(e){if(g.paused||!l)return;let t=e.relatedTarget;t!==null&&(l.contains(t)||N(m.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&N(l)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return l&&r.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,l,g.paused]),i.useEffect(()=>{if(l){P.add(g);let e=document.activeElement;if(!l.contains(e)){let t=new CustomEvent(k,ge);l.addEventListener(k,f),l.dispatchEvent(t),t.defaultPrevented||(ye(Te(j(l)),{select:!0}),document.activeElement===e&&N(l))}return()=>{l.removeEventListener(k,f),setTimeout(()=>{let t=new CustomEvent(A,ge);l.addEventListener(A,p),l.dispatchEvent(t),t.defaultPrevented||N(e??document.body,{select:!0}),l.removeEventListener(A,p),P.remove(g)},0)}}},[l,f,p,g]);let _=i.useCallback(e=>{if(!n&&!r||g.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=be(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&N(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&N(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,g.paused]);return(0,a.jsx)(E.div,{tabIndex:-1,...c,ref:h,onKeyDown:_})});ve.displayName=_e;function ye(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(N(r,{select:t}),document.activeElement!==n)return}function be(e){let t=j(e);return[M(t,e),M(t.reverse(),e)]}function j(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function M(e,t){for(let n of e)if(!xe(n,{upTo:t}))return n}function xe(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 Se(e){return e instanceof HTMLInputElement&&`select`in e}function N(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Se(e)&&t&&e.select()}}var P=Ce();function Ce(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=we(e,t),e.unshift(t)},remove(t){e=we(e,t),e[0]?.resume()}}}function we(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Te(e){return e.filter(e=>e.tagName!==`A`)}var Ee=`Portal`,De=i.forwardRef((e,t)=>{let{container:n,...r}=e,[o,c]=i.useState(!1);m(()=>c(!0),[]);let l=n||o&&globalThis?.document?.body;return l?s.createPortal((0,a.jsx)(E.div,{...r,ref:t}),l):null});De.displayName=Ee;var F=0;function Oe(){i.useEffect(()=>{let e=document.querySelectorAll(`[data-radix-focus-guard]`);return document.body.insertAdjacentElement(`afterbegin`,e[0]??ke()),document.body.insertAdjacentElement(`beforeend`,e[1]??ke()),F++,()=>{F===1&&document.querySelectorAll(`[data-radix-focus-guard]`).forEach(e=>e.remove()),F--}},[])}function ke(){let 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 I=function(){return I=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},I.apply(this,arguments)};function Ae(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function je(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var L=`right-scroll-bar-position`,R=`width-before-scroll-bar`,Me=`with-scroll-bars-hidden`,Ne=`--removed-body-scroll-bar-size`;function z(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function Pe(e,t){var n=(0,i.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var Fe=typeof window<`u`?i.useLayoutEffect:i.useEffect,Ie=new WeakMap;function Le(e,t){var n=Pe(t||null,function(t){return e.forEach(function(e){return z(e,t)})});return Fe(function(){var t=Ie.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||z(e,null)}),i.forEach(function(e){r.has(e)||z(e,a)})}Ie.set(n,e)},[e]),n}function Re(e){return e}function ze(e,t){t===void 0&&(t=Re);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Be(e){e===void 0&&(e={});var t=ze(null);return t.options=I({async:!0,ssr:!1},e),t}var Ve=function(e){var t=e.sideCar,n=Ae(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return i.createElement(r,I({},n))};Ve.isSideCarExport=!0;function He(e,t){return e.useMedium(t),Ve}var Ue=Be(),B=function(){},V=i.forwardRef(function(e,t){var n=i.useRef(null),r=i.useState({onScrollCapture:B,onWheelCapture:B,onTouchMoveCapture:B}),a=r[0],o=r[1],s=e.forwardProps,c=e.children,l=e.className,u=e.removeScrollBar,d=e.enabled,f=e.shards,p=e.sideCar,m=e.noRelative,h=e.noIsolation,g=e.inert,_=e.allowPinchZoom,v=e.as,y=v===void 0?`div`:v,b=e.gapMode,x=Ae(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),S=p,C=Le([n,t]),w=I(I({},x),a);return i.createElement(i.Fragment,null,d&&i.createElement(S,{sideCar:Ue,removeScrollBar:u,shards:f,noRelative:m,noIsolation:h,inert:g,setCallbacks:o,allowPinchZoom:!!_,lockRef:n,gapMode:b}),s?i.cloneElement(i.Children.only(c),I(I({},w),{ref:C})):i.createElement(y,I({},w,{className:l,ref:C}),c))});V.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},V.classNames={fullWidth:R,zeroRight:L};var We,Ge=function(){if(We)return We;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function Ke(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=Ge();return t&&e.setAttribute(`nonce`,t),e}function qe(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Je(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var Ye=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Ke())&&(qe(t,n),Je(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Xe=function(){var e=Ye();return function(t,n){i.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Ze=function(){var e=Xe();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},Qe={left:0,top:0,right:0,gap:0},H=function(e){return parseInt(e||``,10)||0},$e=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[H(n),H(r),H(i)]},et=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return Qe;var t=$e(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},tt=Ze(),U=`data-scroll-locked`,nt=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
2
+ .${Me} {
3
+ overflow: hidden ${r};
4
+ padding-right: ${s}px ${r};
5
+ }
6
+ body[${U}] {
7
+ overflow: hidden ${r};
8
+ overscroll-behavior: contain;
9
+ ${[t&&`position: relative ${r};`,n===`margin`&&`
10
+ padding-left: ${i}px;
11
+ padding-top: ${a}px;
12
+ padding-right: ${o}px;
13
+ margin-left:0;
14
+ margin-top:0;
15
+ margin-right: ${s}px ${r};
16
+ `,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
17
+ }
18
+
19
+ .${L} {
20
+ right: ${s}px ${r};
21
+ }
22
+
23
+ .${R} {
24
+ margin-right: ${s}px ${r};
25
+ }
26
+
27
+ .${L} .${L} {
28
+ right: 0 ${r};
29
+ }
30
+
31
+ .${R} .${R} {
32
+ margin-right: 0 ${r};
33
+ }
34
+
35
+ body[${U}] {
36
+ ${Ne}: ${s}px;
37
+ }
38
+ `},rt=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},it=function(){i.useEffect(function(){return document.body.setAttribute(U,(rt()+1).toString()),function(){var e=rt()-1;e<=0?document.body.removeAttribute(U):document.body.setAttribute(U,e.toString())}},[])},at=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,a=r===void 0?`margin`:r;it();var o=i.useMemo(function(){return et(a)},[a]);return i.createElement(tt,{styles:nt(o,!t,a,n?``:`!important`)})},W=!1;if(typeof window<`u`)try{var G=Object.defineProperty({},"passive",{get:function(){return W=!0,!0}});window.addEventListener(`test`,G,G),window.removeEventListener(`test`,G,G)}catch{W=!1}var K=W?{passive:!1}:!1,ot=function(e){return e.tagName===`TEXTAREA`},st=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!ot(e)&&n[t]===`visible`)},ct=function(e){return st(e,`overflowY`)},lt=function(e){return st(e,`overflowX`)},ut=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),pt(e,r)){var i=mt(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},dt=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},ft=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},pt=function(e,t){return e===`v`?ct(t):lt(t)},mt=function(e,t){return e===`v`?dt(t):ft(t)},ht=function(e,t){return e===`h`&&t===`rtl`?-1:1},gt=function(e,t,n,r,i){var a=ht(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=mt(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&pt(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},q=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},J=function(e){return[e.deltaX,e.deltaY]},_t=function(e){return e&&`current`in e?e.current:e},vt=function(e,t){return e[0]===t[0]&&e[1]===t[1]},yt=function(e){return`
39
+ .block-interactivity-${e} {pointer-events: none;}
40
+ .allow-interactivity-${e} {pointer-events: all;}
41
+ `},bt=0,Y=[];function xt(e){var t=i.useRef([]),n=i.useRef([0,0]),r=i.useRef(),a=i.useState(bt++)[0],o=i.useState(Ze)[0],s=i.useRef(e);i.useEffect(function(){s.current=e},[e]),i.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${a}`);var t=je([e.lockRef.current],(e.shards||[]).map(_t),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${a}`)}),function(){document.body.classList.remove(`block-interactivity-${a}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${a}`)})}}},[e.inert,e.lockRef.current,e.shards]);var c=i.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!s.current.allowPinchZoom;var i=q(e),a=n.current,o=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(o)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=ut(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=ut(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(o||c)&&(r.current=l),!l)return!0;var h=r.current||l;return gt(h,t,e,h===`h`?o:c,!0)},[]),l=i.useCallback(function(e){var n=e;if(!(!Y.length||Y[Y.length-1]!==o)){var r=`deltaY`in n?J(n):q(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&vt(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var a=(s.current.shards||[]).map(_t).filter(Boolean).filter(function(e){return e.contains(n.target)});(a.length>0?c(n,a[0]):!s.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),u=i.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:St(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),d=i.useCallback(function(e){n.current=q(e),r.current=void 0},[]),f=i.useCallback(function(t){u(t.type,J(t),t.target,c(t,e.lockRef.current))},[]),p=i.useCallback(function(t){u(t.type,q(t),t.target,c(t,e.lockRef.current))},[]);i.useEffect(function(){return Y.push(o),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener(`wheel`,l,K),document.addEventListener(`touchmove`,l,K),document.addEventListener(`touchstart`,d,K),function(){Y=Y.filter(function(e){return e!==o}),document.removeEventListener(`wheel`,l,K),document.removeEventListener(`touchmove`,l,K),document.removeEventListener(`touchstart`,d,K)}},[]);var m=e.removeScrollBar,h=e.inert;return i.createElement(i.Fragment,null,h?i.createElement(o,{styles:yt(a)}):null,m?i.createElement(at,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function St(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var Ct=He(Ue,xt),wt=i.forwardRef(function(e,t){return i.createElement(V,I({},e,{ref:t,sideCar:Ct}))});wt.classNames=V.classNames;var Tt=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},X=new WeakMap,Z=new WeakMap,Q={},$=0,Et=function(e){return e&&(e.host||Et(e.parentNode))},Dt=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Et(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Ot=function(e,t,n,r){var i=Dt(t,Array.isArray(e)?e:[e]);Q[n]||(Q[n]=new WeakMap);var a=Q[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(X.get(e)||0)+1,l=(a.get(e)||0)+1;X.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Z.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),$++,function(){o.forEach(function(e){var t=X.get(e)-1,i=a.get(e)-1;X.set(e,t),a.set(e,i),t||(Z.has(e)||e.removeAttribute(r),Z.delete(e)),i||e.removeAttribute(n)}),$--,$||(X=new WeakMap,X=new WeakMap,Z=new WeakMap,Q={})}},kt=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Tt(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Ot(r,i,n,`aria-hidden`)):function(){return null}};export{ve as a,E as c,m as d,d as f,o as g,u as h,De as i,y as l,l as m,wt as n,le as o,f as p,Oe as r,D as s,kt as t,_ as u};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{n as t}from"./jsx-runtime-BbYvbtY8.js";import{t as n}from"./react-dom-DDD8FYaU.js";var r=e(t(),1),i=e(n(),1);function a(e){return typeof e==`object`?e.key:e}function o(e,t){let n=e.length;return new Proxy(e,{get(e,r,i){if(typeof r==`string`){let i=r.charCodeAt(0);if(i>=48&&i<=57){let i=+r;if(Number.isInteger(i)&&i>=0&&i<n){let n=e[i];if(typeof n!=`object`){let r=t[i*2];n=e[i]={index:i,key:n,start:r,size:t[i*2+1],end:r+t[i*2+1],lane:0}}return n}}if(r===`length`)return n}return Reflect.get(e,r,i)}})}function s(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function c(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var l=(e,t)=>Math.abs(e-t)<1.01,u=(e,t,n)=>{let r;return Object.assign(function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)},{cancel:()=>{e.clearTimeout(r)}})};function d({offset:e,isScrolling:t,elementMax:n,holdOffset:r,scrollOffset:i,pendingWrite:a,clampedMaxAtWrite:o}){return t&&a===null&&e===i?`spurious`:a!==null&&Math.abs(e-a.target)<1.5?`readBack`:a!==null&&!a.smooth&&n!==null&&a.target>n+r+.5&&Math.abs(e-(n+r))<1.5||a!==null&&!a.smooth&&a.lowMaxes?.some(t=>Math.abs(e-t)<1.5)?`clampedReadBack`:o!==null&&Math.abs(e-o)<1.5?`clampedEcho`:`external`}var f=e=>e===`smooth`||e===`smoothFinishing`;function p({kind:e,offset:t,command:n,target:r}){return e!==`spurious`&&e!==`readBack`&&e!==`clampedReadBack`&&n?.index!=null&&n.phase!==`queued`&&!f(n.phase)&&!l(t,n.lastTargetOffset)&&!l(t,r())&&e!==`clampedEcho`}var m=40;function h(e){let t=e[e.length-1];if(t===void 0)return!1;let n=e.length-2;for(;n>=0&&t.t-e[n].t<m;)n--;if(n<0)return!1;let r=e[n],i=n-1;for(;i>=0&&r.t-e[i].t<m;)i--;if(i<0)return!1;let a=e[i],o=(t.offset-r.offset)/(t.t-r.t),s=(r.offset-a.offset)/(r.t-a.t);return o*s>=0&&Math.abs(o)>=2*Math.abs(s)&&Math.abs(o)-Math.abs(s)>=.8}function g(e){let t=e[e.length-1];if(t===void 0)return!1;let n=e.length-2;for(;n>=0&&t.t-e[n].t<m;)n--;if(n<0)return!1;let r=e[n];return Math.abs(t.offset-r.offset)/(t.t-r.t)>=.05}var _,v=()=>{if(_!==void 0)return _;if(typeof navigator>`u`)return _=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return _=!0;let e=navigator.maxTouchPoints;return _=navigator.platform===`MacIntel`&&e!==void 0&&e>0},y,b=()=>y===void 0?y=v()&&typeof CSS<`u`&&typeof CSS.supports==`function`&&CSS.supports(`overflow-anchor: auto`):y,x={capture:!0,passive:!0},S=class{constructor(e){this.host=e,this._touch=null,this.inMotion=()=>this._touch!==null&&this._touch.phase!==`lateFling`,this.dragging=()=>this._touch?.phase===`down`&&this._touch.moved,this.tail=()=>this._touch?.phase===`tail`?this._touch.moved?`fling`:`tap`:null,this.onScroll=({isScrolling:e,ownReadBack:t,moved:n,external:r})=>(e&&this._touch?.phase===`tail`?this._openTail(this._touch.moved||!t,!1):this._touch?.phase===`lateFling`&&(this.host.now()>this._touch.until?this._touch=null:r&&e&&n&&this._openTail(!0,!1)),!t&&e&&n&&this._touch?.phase===`down`?(this._touch.moved=!0,!0):!1),this.touchStart=()=>{this.end(),this._touch={phase:`down`,moved:!1}},this.touchEnd=()=>{let e=this._touch?.phase===`down`&&this._touch.moved;this.end(),this._openTail(e,e)},this.end=()=>{let e=this.host.getWindow();this._touch?.phase===`tail`&&e!=null&&e.clearTimeout(this._touch.timerId),this._touch=null},this.listen=e=>{let t=()=>this.touchStart(),n=()=>this.touchEnd();return e.addEventListener(`touchstart`,t,x),e.addEventListener(`touchend`,n,x),e.addEventListener(`touchcancel`,n,x),()=>{e.removeEventListener(`touchstart`,t,x),e.removeEventListener(`touchend`,n,x),e.removeEventListener(`touchcancel`,n,x),this.end()}},this._openTail=(e,t)=>{let n=this.host.getWindow();if(!v()||n==null)return;this.end();let r={phase:`tail`,moved:e,awaitingFling:t,timerId:n.setTimeout(()=>{if(this.host.tailStillMoving()){this._openTail(r.moved,r.awaitingFling);return}this._touch=r.awaitingFling?{phase:`lateFling`,until:this.host.now()+1e3}:null,this.host.onTailClosed()},150)};this._touch=r}}get touch(){return this._touch}},C=e=>{let{clientWidth:t,clientHeight:n}=e;return{width:t,height:n}},w=e=>{let t=new Set;return{schedule:n=>{let r=e.requestAnimationFrame(()=>{t.delete(r),n()});t.add(r)},cancel:()=>{t.forEach(t=>e.cancelAnimationFrame(t)),t.clear()}}},T=e=>e,E=e=>{let t=e.overscan*Math.max(e.lanes??1,1),n=Math.max(e.startIndex-t,0),r=Math.min(e.endIndex+t,e.count-1)-n+1,i=Array(r);for(let e=0;e<r;e++)i[e]=n+e;return i},D=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(C(n)),!r.ResizeObserver)return()=>{};let a=w(r),o=new r.ResizeObserver(()=>{let t=()=>{i(C(n))};e.options.useAnimationFrameWithResizeObserver?a.schedule(t):t()});return o.observe(n,{box:`content-box`}),()=>{o.unobserve(n),a.cancel()}},O={passive:!0},k=typeof window>`u`||`onscrollend`in window,A=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&k,o=0,s=a?null:u(i,()=>t(n(r),!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),d=c(!1);return r.addEventListener(`scroll`,l,O),a&&r.addEventListener(`scrollend`,d,O),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,d),s?.cancel()}},j=(e,t)=>A(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),M=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},N=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},P=(e,t)=>e===`smooth`?t?`smoothLanded`:`smooth`:`instant`,F=e=>e?.phase===`smooth`||e?.phase===`smoothLanded`;function I(e,t,n,r){if(t===0)return!1;let i=r(0),a=new Set,o=0;for(;o<e;){let e=n(o);if(e===i)break;a.add(e),o++}let s=e-o;if(s===0||s>=t)return!1;for(let e=0;e<s;e++)if(r(e)!==n(o+e))return!1;for(let e=s;e<t;e++)if(a.has(r(e)))return!1;return!0}var L=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this._holdOffset=0,this._reportedOverscroll=!1,this._iosGesture=new S({getWindow:()=>this.targetWindow,now:()=>this.now(),tailStillMoving:()=>{let e=this.scrollState;if(e?.phase!==`queued`||this.pendingWrite!==null)return!1;let t=this._readElementOffset();return t===null||this._lastElementOffset===null||Math.abs(t-this._lastElementOffset)<1?!1:(this._lastElementOffset=t,e.samples=[...e.samples??[],{t:this.now(),offset:t}],!0)},onTailClosed:()=>{let e=this.scrollState;e?.phase===`queued`&&g(e.samples??[])&&(this.scrollState=null),this._flushHoldIfReady(!0),this._writeAwaitingCommand()}}),this._lastElementOffset=null,this.pendingWrite=null,this._clampedAdjustment=null,this.elementsCache=new Map,this._resizeBatch=null,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=null,n=()=>{if(e)return e;let n=this.targetWindow;if(!n||!n.ResizeObserver)return null;let i=t=w(n);return e=new n.ResizeObserver(e=>{let t=()=>{let t={sync:!1};this._resizeBatch=t;try{e.forEach(r)}finally{this._resizeBatch=null,t.notify&&(this.notify(t.sync),this._noteClampMax(),this._flushHoldIfReady(!0),this._retryClampedAdjustment())}};this.options.useAnimationFrameWithResizeObserver?i.schedule(t):t()})},r=e=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.isIndexInRange(n)&&this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};return{disconnect:()=>{var r;(r=n())==null||r.disconnect(),t?.cancel(),e=null,t=null},observe:e=>n()?.observe(e,{box:`border-box`}),unobserve:e=>n()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:T,rangeExtractor:E,onChange:()=>{},measureElement:M,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,o=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,s=t.count,c=this.getMeasurements(),l=this._singleLaneMeasurements?.items??c,u=e=>a(l[e]),d=e>0?u(0):null,f=e>0?u(e-1):null;if(s!==e||e>0&&s>0&&(t.getItemKey(0)!==d||t.getItemKey(s-1)!==f)){o=!0;let a=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??c[0]:null;a&&(r=[a.key,this.getScrollOffset()-a.start]);let l=t.followOnAppend===!0?`auto`:t.followOnAppend||null;l&&s>0&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(s-1)!==f)&&(s>e||I(e,s,u,t.getItemKey))&&(i=l)}}this.options=t,o&&(this.pendingMin=0,this.itemSizeCacheVersion++);let s=null;if(r&&this.scrollOffset!==null&&!this._awaitingCommandReadBack()){let[e,t]=r,n=this.getMeasurements(),{count:a,getItemKey:o}=this.options,c=0;for(;c<a&&o(c)!==e;)c++;if(c<a){let e=n[c];if(e){let n=Math.max(0,e.start+t);!i&&n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n)}}}i?this.pendingScrollAnchor={kind:`follow`,behavior:i}:s!==null&&(this._canWriteScroll()?this.pendingScrollAnchor={kind:`anchor`,delta:s}:(this._holdOffset+=s,this._followOffsetTarget(s)))},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=s(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{var e;this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,(e=this._momentumStop)==null||e.restore(),this._momentumStop=null,this.isScrolling=!1,this.scrollDirection=null,this._holdOffset=0,this._reportedOverscroll=!1,this._clampedAdjustment=null,this.pendingWrite=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{let n=t?this._elementMaxScrollOffset():null,r=this._reportedOverscroll;this._reportedOverscroll=e<0||n!==null&&e>n+1;let i=e;this._lastElementOffset=i,e=this._toLayoutOffset(e);let a=this._classifyScrollEvent(e,t,n);if(a===`spurious`)return;a===`readBack`?e=this.pendingWrite.target:a===`clampedReadBack`&&this.scrollState?.index!=null&&e<this.getMaxScrollOffset()-1.5?this.scrollState.lastTargetOffset=e:p({kind:a,offset:e,command:this.scrollState,target:()=>this.getScrollStateTarget(this.scrollState)})&&(this.scrollState=null),this.pendingWrite=null,this._clampedAdjustment!==null&&Math.abs(e-this._clampedAdjustment.maxAtWrite)>=1.5&&(this._clampedAdjustment=null);let o=this.getScrollOffset(),s=this.scrollDirection;this.scrollDirection=t?o===e?this.scrollDirection:o<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t;let c=this.scrollState;if(c?.phase===`queued`&&a===`external`&&t)if(r||this._reportedOverscroll)c.samples=[];else{let e=this.now();c.samples=[...(c.samples??[]).filter(t=>e-t.t<=200),{t:e,offset:i}],(s!==null&&this.scrollDirection!==s||h(c.samples))&&(this.scrollState=null)}this._iosGesture.onScroll({isScrolling:t,ownReadBack:a===`readBack`,moved:e!==o,external:a===`external`&&this.scrollState?.phase!==`smooth`&&this.scrollState?.phase!==`smoothFinishing`})&&this.scrollState?.phase===`queued`&&(this.scrollState=null),this._flushHoldIfReady(!0),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement&&this.unsubs.push(this._iosGesture.listen(this.scrollElement)),this._scrollToOffset(this.getScrollOffset())}this._noteClampMax();let t=this.pendingScrollAnchor;this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled&&(t.kind===`anchor`?this._canWriteScroll()?F(this.scrollState)&&!l(this.getScrollOffset()-t.delta,this.scrollState.lastTargetOffset)||(this._followOffsetTarget(t.delta),this._scrollToOffset(this.getScrollOffset())):(this._holdOffset+=t.delta,this._followOffsetTarget(t.delta),this.notify(!1)):this.scrollToEnd({behavior:t.behavior})),this._flushHoldIfReady(!1),this._retryClampedAdjustment()},this._classifyScrollEvent=(e,t,n)=>d({offset:e,isScrolling:t,elementMax:n,holdOffset:this._holdOffset,scrollOffset:this.scrollOffset,pendingWrite:this.pendingWrite,clampedMaxAtWrite:this._clampedAdjustment?.maxAtWrite??null}),this._retryClampedAdjustment=()=>{if(this._clampedAdjustment===null||!this.scrollElement||!this.options.enabled)return;let{target:e,maxAtWrite:t}=this._clampedAdjustment,n=this.getMaxScrollOffset();n>t+.5&&(this._clampedAdjustment=e>n+.5?{target:e,maxAtWrite:n}:null,this._scrollToOffset(e))},this._writeAwaitingCommand=()=>{let e=this.scrollState;if(e===null||e.phase!==`queued`)return;let{behavior:t}=e;this.getMeasurements();let n=this.getScrollStateTarget(e);e.lastTargetOffset=n,this._clampedAdjustment=null,e.phase=P(t,e.index!=null&&l(n,this.getScrollOffset())),this._scrollToOffset(n,{behavior:t}),this.scheduleScrollReconcile()},this._readElementOffset=()=>{let e=this.scrollElement;if(e==null)return null;let{horizontal:t,isRtl:n}=this.options;return typeof e.scrollTop==`number`?t?e.scrollLeft*(n&&-1||1):e.scrollTop:typeof e.scrollY==`number`?t?e.scrollX:e.scrollY:null},this._canWriteScroll=()=>!(v()&&this._iosGesture.inMotion())&&!this._reportedOverscroll,this._flushHoldIfReady=e=>{if(this._holdOffset===0||!this.scrollElement||!this.options.enabled||!this._canWriteScroll()||this.scrollState?.phase===`smooth`)return;this._holdOffset=0,this.scrollOffset!==null&&this.scrollOffset<0&&(this.scrollOffset=0),this.notify(e);let t=this.getCommandWrittenOffset()??this.getScrollOffset();this._clampedAdjustment=this._clampedBy(t),this._scrollToOffset(t)},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=s(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.isIndexInRange=e=>e>=0&&e<this.options.count,this.getMeasurements=s(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:s,gap:c},l)=>{let u=this.itemSizeCache;if(!i)return this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let d=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=e*2,a=this._singleLaneMeasurements?.flat;if(!a||a.length<i){let e=new Float64Array(i);a&&d>0&&e.set(a.subarray(0,d*2)),a=e}let s=d===0?Array(e):this._singleLaneMeasurements.items.slice(),l;if(d===0)l=t+n;else{let e=d-1;l=a[e*2]+a[e*2+1]+c}for(let t=d;t<e;t++){let e=r(t);s[t]=e;let n=u.get(e),i=typeof n==`number`?n:this.options.estimateSize(t);a[t*2]=l,a[t*2+1]=i,l+=i+c}this._singleLaneMeasurements={flat:a,items:s};let f=o(s,a);return this.measurementsCache=f,f}let f=this.measurementsCache.slice(0,d),p=Array(a).fill(void 0),m=new Float64Array(a),h=0;for(let e=0;e<d;e++){let t=f[e];t&&(p[t.lane]===void 0&&h++,p[t.lane]=e,m[t.lane]=t.end)}for(let i=d;i<e;i++){let e=r(i),o=this.laneAssignments.get(i),l,d,g=s===`estimate`||u.has(e);if(o!==void 0&&this.options.lanes>1){l=o;let e=p[l],r=e===void 0?void 0:f[e];d=r?r.end+c:t+n}else if(h===a){let e=0,t=m[0],n=p[0];for(let r=1;r<a;r++){let i=m[r];(i<t||i===t&&p[r]<n)&&(e=r,t=i,n=p[r])}l=e,d=t+c,g&&this.laneAssignments.set(i,l)}else l=i%this.options.lanes,d=t+n,g&&this.laneAssignments.set(i,l);let _=u.get(e),v=typeof _==`number`?_:this.options.estimateSize(i),y=d+v;f[i]={index:i,start:d,size:v,end:y,key:e,lane:l},p[l]===void 0&&h++,p[l]=i,m[l]=y}return this.measurementsCache=f,f},{key:!1,debug:()=>this.options.debug}),this.calculateRange=s(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=B(e,t,n,r,r===1&&this._singleLaneMeasurements!==null?this._singleLaneMeasurements.flat:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=s(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t,this.options.lanes]},(e,t,n,r,i,a)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n,lanes:a}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!F(this.scrollState))return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e);if(!this.isIndexInRange(t))return;let n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),e.isConnected&&(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{var n;if(!this.isIndexInRange(e))return;this._resizeBatch?.sync&&this.getMeasurements();let r,i,a,o=this._singleLaneMeasurements?.flat;if(this.options.lanes===1&&o!=null)a=this.options.getItemKey(e),i=o[e*2],r=o[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;a=t.key,i=t.start,r=t.size}let s=this.itemSizeCache.get(a)??r,c=t-s;if(c!==0){let o=this.options.anchorTo===`end`&&!F(this.scrollState)&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,l=o?this._getLayoutTotalSize():0,u=this.getScrollOffset(),d=this.itemSizeCache.has(a)?i+s<=u&&this.scrollDirection!==`backward`:i<u,f=!F(this.scrollState)&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?d:this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:a,start:i,size:r,end:i+r,lane:0},c,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(a,t),this.itemSizeCacheVersion++;let p=!1;if(this._awaitingCommandReadBack()||(o?p=this.applyScrollAdjustment(this._getLayoutTotalSize()-l):f&&(p=this.applyScrollAdjustment(c))),this._resizeBatch){this._resizeBatch.notify=!0,(n=this._resizeBatch).sync||(n.sync=p);return}this.notify(p),this._noteClampMax(),this._flushHoldIfReady(!0),this._retryClampedAdjustment()}},this.getVirtualItems=s(()=>[this.getVirtualIndexes(),this.getMeasurements(),this._holdOffset],(e,t,n)=>{let r=[];for(let i=0,a=e.length;i<a;i++){let a=t[e[i]];r.push(n===0?a:{...a,start:a.start-n,end:a.end-n})}return r},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._singleLaneMeasurements?.flat,r=this.options.lanes===1&&n!=null;return c(t[R(0,t.length-1,r?e=>n[e*2]:e=>c(t[e]).start,e)])},this._noteClampMax=()=>{if(!this._awaitingCommandReadBack())return;let e=this._elementMaxScrollOffset();if(e===null)return;let t=this.pendingWrite,n=Math.max(e,0)+this._holdOffset;if(n>=t.target)return;let r=t.lowMaxes??=[];r[r.length-1]!==n&&r.push(n)},this.getMaxScrollOffset=()=>(this._elementMaxScrollOffset()??0)+this._holdOffset,this._toLayoutOffset=e=>{let t=e+this._holdOffset;return this.pendingScrollAnchor?.kind===`anchor`&&(t+=this.pendingScrollAnchor.delta),t},this._elementMaxScrollOffset=()=>{let e=this.scrollElement;if(e===null)return null;if(`scrollHeight`in e)return this.options.horizontal?e.scrollWidth-e.clientWidth:e.scrollHeight-e.clientHeight;if(`document`in e){let t=e.document.documentElement;return this.options.horizontal?t.scrollWidth-e.innerWidth:t.scrollHeight-e.innerHeight}return null},this._momentumStop=null,this._stopMomentum=e=>{let t=this.scrollElement,n=this.targetWindow;if(t===null||n===null)return;let r=`document`in t?t.document.scrollingElement:t;if(!r?.style)return;if(this._momentumStop){this._momentumStop.done=e;return}let{style:i}=r,a=this.options.horizontal?`overflow-x`:`overflow-y`,o=i.getPropertyValue(a),s=i.getPropertyPriority(a);i.setProperty(a,`hidden`,`important`);let c={restore:()=>i.getPropertyValue(a)!==`hidden`||i.getPropertyPriority(a)!==`important`?!1:(i.setProperty(a,o,s),!0),done:e};this._momentumStop=c,n.requestAnimationFrame(()=>n.requestAnimationFrame(()=>{this._momentumStop===c&&(this._momentumStop=null,c.restore()&&c.done())}))},this._clampedBy=e=>{let t=this._elementMaxScrollOffset();if(t===null)return null;let n=t+this._holdOffset;return e>n+.5?{target:e,maxAtWrite:n}:null},this.getVirtualDistanceFromEnd=()=>Math.max(this._getLayoutTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`)if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t];if(t===`end`&&e===this.options.count-1){let e=this.getMaxScrollOffset(),n=e-this.options.paddingEnd+this.options.scrollPaddingEnd;return[Math.max(Math.min(n,e),0),t]}let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{this._startScroll({index:null,align:t},this.getOffsetForAlignment(e,t),n,`absolute`)},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r;this._startScroll({index:e,align:a},i,n,`absolute`)},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getOffsetForAlignment((this.getCommandWrittenOffset()??this.getScrollOffset())+e,`start`);this._startScroll({index:null,align:`start`},n,t,`relative`)},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this._startScroll({index:this.options.count-1,align:`end`,toEnd:!0},Math.max(this.getMaxScrollOffset(),0),e,`absolute`);return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.cancelScroll=()=>{this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null},this.getTotalSize=()=>Math.max(this._getLayoutTotalSize()-this._holdOffset,0),this._getLayoutTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._singleLaneMeasurements?.flat;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n}={})=>{let r={target:e+(t??0),smooth:n===`smooth`};return this.pendingWrite=r,this.options.scrollToFn(e-this._holdOffset,{behavior:n,adjustments:t},this),r},this.getCommandWrittenOffset=()=>this.scrollState!==null&&this.pendingWrite!==null&&!this.pendingWrite.smooth?this.pendingWrite.target:null,this._awaitingCommandReadBack=()=>{let e=this.getCommandWrittenOffset();return!(v()&&this._iosGesture.dragging())&&e!==null&&!l(e,this.getScrollOffset())},this._followOffsetTarget=e=>{this.scrollState!==null&&this.scrollState.index==null&&(this.scrollState.lastTargetOffset+=e)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}get scrollAdjustments(){return 0}applyScrollAdjustment(e,t){if(e===0)return!1;if(this._followOffsetTarget(e),this._canWriteScroll()){let n=this.getScrollOffset();this._clampedAdjustment=this._clampedBy(n+e);let r=this._scrollToOffset(n,{adjustments:e,behavior:t});return this.scrollOffset!==null&&(this.pendingWrite===r&&(this.scrollOffset+=e),this.scrollOffset<0&&(this.scrollOffset=0)),!0}else return this._holdOffset+=e,this.scrollOffset!==null&&(this.scrollOffset+=e),!0}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}getScrollStateTarget(e){let t=e.toEnd?[Math.max(this.getMaxScrollOffset(),0)]:e.index==null?void 0:this.getOffsetForIndex(e.index,e.align);return t?t[0]:e.lastTargetOffset}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}if(this.scrollState.phase===`queued`){this.scheduleScrollReconcile();return}this.getMeasurements();let e=this.getScrollStateTarget(this.scrollState),t=this.scrollState.index==null?1:this.options.useAnimationFrameWithResizeObserver?3:2,n=e!==this.scrollState.lastTargetOffset;if(!n&&l(e,this.getScrollOffset())){if(this.scrollState.phase===`smooth`?this.scrollState.phase=`smoothLanded`:this.scrollState.phase===`smoothFinishing`&&(this.scrollState.phase=`instant`),this.scrollState.stableFrames++,this.scrollState.stableFrames>=t){this.getScrollOffset()!==e&&this._scrollToOffset(e,{behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let t=this.getSize()||600,n=Math.abs(e-this.getScrollOffset()),r=F(this.scrollState)&&n>t;this.scrollState.lastTargetOffset=e,r?this.scrollState.phase=`smooth`:this.scrollState.phase===`smooth`?this.scrollState.phase=`smoothFinishing`:this.scrollState.phase===`smoothLanded`&&(this.scrollState.phase=`instant`),this._scrollToOffset(e,{behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}_startScroll(e,t,n,r){let i=this._iosGesture.tail();if(r===`absolute`&&i!==null){if(i===`fling`&&b()){this._stopMomentum(()=>{this.scrollState?.phase!==`queued`||this._iosGesture.tail()!==`fling`||this._reportedOverscroll||(this._iosGesture.end(),this._flushHoldIfReady(!0),this._writeAwaitingCommand())}),this.scrollState={...e,startedAt:this.now(),lastTargetOffset:t,stableFrames:0,phase:`queued`,behavior:n,samples:[]},this.scheduleScrollReconcile();return}this._iosGesture.end()}this.scrollState={...e,startedAt:this.now(),lastTargetOffset:t,stableFrames:0,behavior:n,phase:P(n,e.index!=null&&l(t,this.getScrollOffset()))},this._scrollToOffset(t,{behavior:n}),this.scheduleScrollReconcile()}},R=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function z(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function B(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=z(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=R(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var V=typeof document<`u`?r.useLayoutEffect:r.useEffect;function H({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...a}){let o=r.useReducer(e=>e+1,0)[1],s=r.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});s.current.enabled=t,s.current.mode=n;let c=r.useRef(!1),l=e=>{let t=s.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}},u=(e,t,n)=>{let r=s.current,i=!!e.options.horizontal,a=t.start-e.options.scrollMargin;r.lastPositions.get(n)!==a&&(r.lastPositions.set(n,a),r.mode===`transform`?n.style.transform=i?`translate3d(${a}px, 0, 0)`:`translate3d(0, ${a}px, 0)`:n.style[i?`left`:`top`]=`${a}px`)},d=e=>{let t=s.current;if(!(!t.enabled||!t.container)){l(e);for(let t of e.getVirtualItems()){let n=e.elementsCache.get(t.key);n&&u(e,t,n)}}},f={...a,onChange:(t,n)=>{var r;let l=s.current,u=!0;if(l.enabled){d(t);let e=t.range,n=l.prevRange;u=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,u&&(l.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}u&&(e&&n&&!c.current?(0,i.flushSync)(o):o()),(r=a.onChange)==null||r.call(a,t,n)}},[p]=r.useState(()=>{let e=new L(f),t=e.measureElement;return e.measureElement=n=>{c.current=!0;try{t(n)}finally{c.current=!1}let r=s.current;if(n!==null&&r.enabled&&r.container){let t=e.measurementsCache[e.indexFromElement(n)];t&&u(e,t,n)}},Object.assign(e,{containerRef:t=>{let n=s.current;n.container=t,n.lastSize=null,t!==null&&d(e)}})});return p.setOptions(f),V(()=>p._didMount(),[]),V(()=>(l(p),p._willUpdate())),V(()=>{d(p)}),p}function U(e){return H({observeElementRect:D,observeElementOffset:j,scrollToFn:N,...e})}export{U as t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-CNC7AqOf.js";import{a as t,o as n}from"./core-BozBzB6Y.js";var r=e({TauriEvent:()=>i,emit:()=>c,emitTo:()=>l,listen:()=>o,once:()=>s}),i;(function(e){e.WINDOW_RESIZED=`tauri://resize`,e.WINDOW_MOVED=`tauri://move`,e.WINDOW_CLOSE_REQUESTED=`tauri://close-requested`,e.WINDOW_DESTROYED=`tauri://destroyed`,e.WINDOW_FOCUS=`tauri://focus`,e.WINDOW_BLUR=`tauri://blur`,e.WINDOW_SCALE_FACTOR_CHANGED=`tauri://scale-change`,e.WINDOW_THEME_CHANGED=`tauri://theme-changed`,e.WINDOW_CREATED=`tauri://window-created`,e.WINDOW_SUSPENDED=`tauri://suspended`,e.WINDOW_RESUMED=`tauri://resumed`,e.WEBVIEW_CREATED=`tauri://webview-created`,e.DRAG_ENTER=`tauri://drag-enter`,e.DRAG_OVER=`tauri://drag-over`,e.DRAG_DROP=`tauri://drag-drop`,e.DRAG_LEAVE=`tauri://drag-leave`})(i||={});async function a(e,n){window.__TAURI_EVENT_PLUGIN_INTERNALS__.unregisterListener(e,n),await t(`plugin:event|unlisten`,{event:e,eventId:n})}async function o(e,r,i){return t(`plugin:event|listen`,{event:e,target:typeof i?.target==`string`?{kind:`AnyLabel`,label:i.target}:i?.target??{kind:`Any`},handler:n(r)}).then(t=>async()=>a(e,t))}async function s(e,t,n){return o(e,n=>{a(e,n.id),t(n)},n)}async function c(e,n){await t(`plugin:event|emit`,{event:e,payload:n})}async function l(e,n,r){await t(`plugin:event|emit_to`,{target:typeof e==`string`?{kind:`AnyLabel`,label:e}:e,event:n,payload:r})}export{o as a,r as i,c as n,s as o,l as r,i as t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-CNC7AqOf.js";var t=e({default:()=>c,draftPanel:()=>r,modelPicker:()=>s,priority:()=>i,reviewOverlay:()=>a,shell:()=>n,statusPills:()=>o}),n={dialogAriaLabel:`Explore Spec · interactive`,backAriaLabel:`Back (Esc)`,newSpecPlaceholder:`New spec…`,contextPill:`Context: {{scopes}}`,contextPillTitle:`Active context scope for this Explore session`,contextScopeCodebase:`codebase`,contextScopeMinimal:`minimal`,saveAsDraft:`Save as Draft`,saveAsDraftAriaLabel:`Save current exploration as draft`,saveAsDraftDisabledTitle:`Send at least one message before saving`,review:`Review →`,reviewAriaLabel:`Review changes before creating spec`,createSpec:`Create Spec`,updateSpec:`Update Spec`,createSpecAriaLabel:`Create spec from current draft`,updateSpecAriaLabel:`Update spec with current draft`,createSpecDisabledTitle:`A title is needed to commit`,editModeIntro:`Spec loaded on the right. Type a refinement to get started.`,startingConversation:`Starting conversation…`,suggestedRepliesAriaLabel:`Suggested replies`,composerPlaceholder:`Type your reply… drag files to attach`,composerAriaLabel:`Spec idea`,stop:`Stop`,send:`Send`,you:`You`,closePrompt:{title:`Save this exploration?`,description:`Save as Draft keeps the conversation so you can pick it up later from the board. Discard throws it away.`},toasts:{saveDraftFailed:`Failed to save draft`,draftSaved:`Draft saved — #{{id}} {{title}}`,draftNetworkError:`Network error saving draft`,updateSpecFailed:`Failed to update spec`,specUpdated:`Spec updated — #{{id}} {{title}}`,createSpecFailed:`Failed to create spec`,specCreated:`Spec created — #{{id}} {{title}}`,createNetworkError:`Network error creating spec`,unsupportedFileType:`Unsupported file type: {{name}}`,uploadFailed:`Upload failed for {{name}}`},fromWebsite:`From a website`,fromWebsiteTitle:`Open a real web page, select an area, and turn it into a spec`,captureResponsiveSizes_one:`Responsive · {{count}} size`,captureResponsiveSizes_other:`Responsive · {{count}} sizes`,captureFeedbackPrompt:`I've just captured part of a web page (its screenshot and content are attached). Briefly: what do you see, and how does it relate to what we've discussed so far and to the spec we're shaping? Give me your feedback.`},r={ready:`Draft ready`,titleLabel:`Title`,titlePlaceholder:`Concise, action-oriented title…`,titleAriaLabel:`Spec title`,priorityLabel:`Priority`,priorityAriaLabel:`Spec priority`,labelsLabel:`Labels`,descriptionLabel:`Description`,descriptionPlaceholder:`What problem is this solving? What changes? Why now?`,descriptionAriaLabel:`Spec description`,acceptanceCriteriaLabel:`Acceptance Criteria`,attachmentsHeading_one:`Attachments ({{count}})`,attachmentsHeading_other:`Attachments ({{count}})`,linkedOnCreate:`linked on Create`,attachmentsListAriaLabel:`Accumulated attachments`,removeLabelAriaLabel:`Remove label {{label}}`,addLabelAriaLabel:`Add label`,addLabelsPlaceholder:`Add labels…`,removeAttachmentAriaLabel:`Remove {{filename}}`,criterionPlaceholder:`Testable outcome…`,criterionAriaLabel:`Acceptance criterion {{number}}`,removeCriterionAriaLabel:`Remove criterion {{number}}`,addCriterion:`Add criterion`,addCriterionAriaLabel:`Add acceptance criterion`,nonGoalsLabel:`Out of scope`,nonGoalPlaceholder:`Something this spec leaves out`,nonGoalAriaLabel:`Out-of-scope item {{number}}`,removeNonGoalAriaLabel:`Remove out-of-scope item {{number}}`,addNonGoalAriaLabel:`Add an out-of-scope item`,addNonGoal:`Add item`},i={low:`low`,medium:`medium`,high:`high`,critical:`critical`},a={dialogAriaLabel:`Review changes`,heading:`Confirm before commit`,titleLabel:`Title`,priorityLabel:`Priority`,descriptionLabel:`Description`,labelsLabel:`Labels`,acceptanceCriteriaLabel:`Acceptance criteria`,noLabels:`No labels`,noCriteria:`No criteria`,backToEdit:`Back to edit`,createSpec:`Create Spec`,updateSpec:`Update Spec`,noPriority:`no priority`,inserted:`inserted`,removed:`removed`,added:`added`,unchanged:`unchanged`},o={connecting:`Connecting…`,thinking:`Thinking…`,tool:`Reading code…`},s={ariaLabel:`Spec generation model`,placeholder:`Pick a model`},c={shell:n,draftPanel:r,priority:i,reviewOverlay:a,statusPills:o,modelPicker:s};export{t};
@@ -0,0 +1 @@
1
+ var e={dialogAriaLabel:`Explore Spec · interaktiv`,backAriaLabel:`Zurück (Esc)`,newSpecPlaceholder:`Neue Spec…`,contextPill:`Kontext: {{scopes}}`,contextPillTitle:`Aktiver Kontextumfang für diese Explore-Session`,contextScopeCodebase:`Codebase`,contextScopeMinimal:`minimal`,saveAsDraft:`Als Entwurf speichern`,saveAsDraftAriaLabel:`Aktuelle Exploration als Entwurf speichern`,saveAsDraftDisabledTitle:`Vor dem Speichern mindestens eine Nachricht senden`,review:`Prüfen →`,reviewAriaLabel:`Änderungen vor dem Erstellen der Spec prüfen`,createSpec:`Spec erstellen`,updateSpec:`Spec aktualisieren`,createSpecAriaLabel:`Spec aus aktuellem Entwurf erstellen`,updateSpecAriaLabel:`Spec mit aktuellem Entwurf aktualisieren`,createSpecDisabledTitle:`Zum Committen wird ein Titel benötigt`,editModeIntro:`Spec rechts geladen. Gib eine Verfeinerung ein, um zu starten.`,startingConversation:`Unterhaltung wird gestartet…`,suggestedRepliesAriaLabel:`Antwortvorschläge`,composerPlaceholder:`Antwort eingeben… Dateien zum Anhängen hierher ziehen`,composerAriaLabel:`Spec-Idee`,stop:`Stopp`,send:`Senden`,you:`Du`,closePrompt:{title:`Diese Exploration speichern?`,description:`„Als Entwurf speichern“ behält die Unterhaltung, damit du sie später vom Board aus fortsetzen kannst. „Verwerfen“ löscht sie.`},toasts:{saveDraftFailed:`Entwurf konnte nicht gespeichert werden`,draftSaved:`Entwurf gespeichert – #{{id}} {{title}}`,draftNetworkError:`Netzwerkfehler beim Speichern des Entwurfs`,updateSpecFailed:`Spec konnte nicht aktualisiert werden`,specUpdated:`Spec aktualisiert – #{{id}} {{title}}`,createSpecFailed:`Spec konnte nicht erstellt werden`,specCreated:`Spec erstellt – #{{id}} {{title}}`,createNetworkError:`Netzwerkfehler beim Erstellen der Spec`,unsupportedFileType:`Nicht unterstützter Dateityp: {{name}}`,uploadFailed:`Upload fehlgeschlagen für {{name}}`},fromWebsite:`Von einer Website`,fromWebsiteTitle:`Öffne eine echte Webseite, wähle einen Bereich aus und mach daraus eine Spec`,captureResponsiveSizes_one:`Responsive · {{count}} Größe`,captureResponsiveSizes_other:`Responsive · {{count}} Größen`,captureFeedbackPrompt:`Ich habe gerade einen Teil einer Webseite erfasst (Screenshot und Inhalt sind angehängt). Kurz: Was siehst du, und wie hängt es mit unserem bisherigen Gespräch und der Spec zusammen, die wir gerade gestalten? Gib mir dein Feedback.`},t={ready:`Entwurf bereit`,titleLabel:`Titel`,titlePlaceholder:`Prägnanter, handlungsorientierter Titel…`,titleAriaLabel:`Spec-Titel`,priorityLabel:`Priorität`,priorityAriaLabel:`Spec-Priorität`,labelsLabel:`Labels`,descriptionLabel:`Beschreibung`,descriptionPlaceholder:`Welches Problem wird gelöst? Was ändert sich? Warum jetzt?`,descriptionAriaLabel:`Spec-Beschreibung`,acceptanceCriteriaLabel:`Akzeptanzkriterien`,attachmentsHeading_one:`Anhänge ({{count}})`,attachmentsHeading_other:`Anhänge ({{count}})`,linkedOnCreate:`wird beim Erstellen verknüpft`,attachmentsListAriaLabel:`Gesammelte Anhänge`,removeLabelAriaLabel:`Label {{label}} entfernen`,addLabelAriaLabel:`Label hinzufügen`,addLabelsPlaceholder:`Labels hinzufügen…`,removeAttachmentAriaLabel:`{{filename}} entfernen`,criterionPlaceholder:`Testbares Ergebnis…`,criterionAriaLabel:`Akzeptanzkriterium {{number}}`,removeCriterionAriaLabel:`Kriterium {{number}} entfernen`,addCriterion:`Kriterium hinzufügen`,addCriterionAriaLabel:`Akzeptanzkriterium hinzufügen`,nonGoalsLabel:`Nicht im Umfang`,nonGoalPlaceholder:`Etwas, das diese Spec ausklammert`,nonGoalAriaLabel:`Nicht im Umfang, Eintrag {{number}}`,removeNonGoalAriaLabel:`Eintrag {{number}} außerhalb des Umfangs entfernen`,addNonGoalAriaLabel:`Eintrag außerhalb des Umfangs hinzufügen`,addNonGoal:`Eintrag hinzufügen`},n={low:`niedrig`,medium:`mittel`,high:`hoch`,critical:`kritisch`},r={dialogAriaLabel:`Änderungen prüfen`,heading:`Vor dem Commit bestätigen`,titleLabel:`Titel`,priorityLabel:`Priorität`,descriptionLabel:`Beschreibung`,labelsLabel:`Labels`,acceptanceCriteriaLabel:`Akzeptanzkriterien`,noLabels:`Keine Labels`,noCriteria:`Keine Kriterien`,backToEdit:`Zurück zum Bearbeiten`,createSpec:`Spec erstellen`,updateSpec:`Spec aktualisieren`,noPriority:`keine Priorität`,inserted:`eingefügt`,removed:`entfernt`,added:`hinzugefügt`,unchanged:`unverändert`},i={connecting:`Verbinde…`,thinking:`Denke nach…`,tool:`Lese Code…`},a={ariaLabel:`Modell für die Spec-Generierung`,placeholder:`Modell wählen`},o={shell:e,draftPanel:t,priority:n,reviewOverlay:r,statusPills:i,modelPicker:a};export{o as default,t as draftPanel,a as modelPicker,n as priority,r as reviewOverlay,e as shell,i as statusPills};
@@ -0,0 +1 @@
1
+ var e={dialogAriaLabel:`Explore Spec · interactif`,backAriaLabel:`Retour (Échap)`,newSpecPlaceholder:`Nouvelle spec…`,contextPill:`Contexte : {{scopes}}`,contextPillTitle:`Portée de contexte active pour cette session Explore`,contextScopeCodebase:`base de code`,contextScopeMinimal:`minimal`,saveAsDraft:`Enregistrer comme brouillon`,saveAsDraftAriaLabel:`Enregistrer l'exploration actuelle comme brouillon`,saveAsDraftDisabledTitle:`Envoyez au moins un message avant d'enregistrer`,review:`Vérifier →`,reviewAriaLabel:`Vérifier les modifications avant de créer la spec`,createSpec:`Créer la spec`,updateSpec:`Mettre à jour la spec`,createSpecAriaLabel:`Créer une spec à partir du brouillon actuel`,updateSpecAriaLabel:`Mettre à jour la spec avec le brouillon actuel`,createSpecDisabledTitle:`Un titre est requis pour valider`,editModeIntro:`Spec chargée à droite. Saisissez une amélioration pour commencer.`,startingConversation:`Démarrage de la conversation…`,suggestedRepliesAriaLabel:`Réponses suggérées`,composerPlaceholder:`Saisissez votre réponse… glissez des fichiers pour les joindre`,composerAriaLabel:`Idée de spec`,stop:`Arrêter`,send:`Envoyer`,you:`Vous`,closePrompt:{title:`Enregistrer cette exploration ?`,description:`Enregistrer comme brouillon conserve la conversation pour la reprendre plus tard depuis le tableau. Abandonner la supprime définitivement.`},toasts:{saveDraftFailed:`Échec de l'enregistrement du brouillon`,draftSaved:`Brouillon enregistré — #{{id}} {{title}}`,draftNetworkError:`Erreur réseau lors de l'enregistrement du brouillon`,updateSpecFailed:`Échec de la mise à jour de la spec`,specUpdated:`Spec mise à jour — #{{id}} {{title}}`,createSpecFailed:`Échec de la création de la spec`,specCreated:`Spec créée — #{{id}} {{title}}`,createNetworkError:`Erreur réseau lors de la création de la spec`,unsupportedFileType:`Type de fichier non pris en charge : {{name}}`,uploadFailed:`Échec de l'envoi de {{name}}`},fromWebsite:`Depuis un site web`,fromWebsiteTitle:`Ouvrez une vraie page web, sélectionnez une zone et transformez-la en spec`,captureResponsiveSizes_one:`Responsive · {{count}} taille`,captureResponsiveSizes_other:`Responsive · {{count}} tailles`,captureFeedbackPrompt:`Je viens de capturer une partie d'une page web (sa capture d'écran et son contenu sont joints). Brièvement : que vois-tu, et quel rapport avec ce dont nous avons parlé et avec la spec que nous élaborons ? Donne-moi ton retour.`},t={ready:`Brouillon prêt`,titleLabel:`Titre`,titlePlaceholder:`Titre concis, orienté action…`,titleAriaLabel:`Titre de la spec`,priorityLabel:`Priorité`,priorityAriaLabel:`Priorité de la spec`,labelsLabel:`Labels`,descriptionLabel:`Description`,descriptionPlaceholder:`Quel problème cela résout-il ? Qu'est-ce qui change ? Pourquoi maintenant ?`,descriptionAriaLabel:`Description de la spec`,acceptanceCriteriaLabel:`Critères d'acceptation`,attachmentsHeading_one:`Pièces jointes ({{count}})`,attachmentsHeading_other:`Pièces jointes ({{count}})`,linkedOnCreate:`liées à la création`,attachmentsListAriaLabel:`Pièces jointes accumulées`,removeLabelAriaLabel:`Retirer le label {{label}}`,addLabelAriaLabel:`Ajouter un label`,addLabelsPlaceholder:`Ajouter des labels…`,removeAttachmentAriaLabel:`Retirer {{filename}}`,criterionPlaceholder:`Résultat testable…`,criterionAriaLabel:`Critère d'acceptation {{number}}`,removeCriterionAriaLabel:`Supprimer le critère {{number}}`,addCriterion:`Ajouter un critère`,addCriterionAriaLabel:`Ajouter un critère d'acceptation`,nonGoalsLabel:`Hors périmètre`,nonGoalPlaceholder:`Quelque chose que cette spec laisse de côté`,nonGoalAriaLabel:`Élément hors périmètre {{number}}`,removeNonGoalAriaLabel:`Supprimer l'élément hors périmètre {{number}}`,addNonGoalAriaLabel:`Ajouter un élément hors périmètre`,addNonGoal:`Ajouter un élément`},n={low:`basse`,medium:`moyenne`,high:`haute`,critical:`critique`},r={dialogAriaLabel:`Vérifier les modifications`,heading:`Confirmez avant de valider`,titleLabel:`Titre`,priorityLabel:`Priorité`,descriptionLabel:`Description`,labelsLabel:`Labels`,acceptanceCriteriaLabel:`Critères d'acceptation`,noLabels:`Aucun label`,noCriteria:`Aucun critère`,backToEdit:`Retour à l'édition`,createSpec:`Créer la spec`,updateSpec:`Mettre à jour la spec`,noPriority:`aucune priorité`,inserted:`inséré`,removed:`supprimé`,added:`ajouté`,unchanged:`inchangé`},i={connecting:`Connexion…`,thinking:`Réflexion…`,tool:`Lecture du code…`},a={ariaLabel:`Modèle de génération de spec`,placeholder:`Choisir un modèle`},o={shell:e,draftPanel:t,priority:n,reviewOverlay:r,statusPills:i,modelPicker:a};export{o as default,t as draftPanel,a as modelPicker,n as priority,r as reviewOverlay,e as shell,i as statusPills};
@@ -0,0 +1 @@
1
+ var e={dialogAriaLabel:`Explore Spec · interattivo`,backAriaLabel:`Indietro (Esc)`,newSpecPlaceholder:`Nuova spec…`,contextPill:`Contesto: {{scopes}}`,contextPillTitle:`Ambito di contesto attivo per questa sessione Explore`,contextScopeCodebase:`codebase`,contextScopeMinimal:`minimo`,saveAsDraft:`Salva come bozza`,saveAsDraftAriaLabel:`Salva l'esplorazione corrente come bozza`,saveAsDraftDisabledTitle:`Invia almeno un messaggio prima di salvare`,review:`Rivedi →`,reviewAriaLabel:`Rivedi le modifiche prima di creare la spec`,createSpec:`Crea spec`,updateSpec:`Aggiorna spec`,createSpecAriaLabel:`Crea la spec dalla bozza corrente`,updateSpecAriaLabel:`Aggiorna la spec con la bozza corrente`,createSpecDisabledTitle:`Serve un titolo per confermare`,editModeIntro:`Spec caricata a destra. Scrivi una rifinitura per iniziare.`,startingConversation:`Avvio della conversazione…`,suggestedRepliesAriaLabel:`Risposte suggerite`,composerPlaceholder:`Scrivi la tua risposta… trascina i file per allegarli`,composerAriaLabel:`Idea per la spec`,stop:`Stop`,send:`Invia`,you:`Tu`,closePrompt:{title:`Salvare questa esplorazione?`,description:`Salva come bozza conserva la conversazione per riprenderla in seguito dalla board. Scarta la elimina.`},toasts:{saveDraftFailed:`Impossibile salvare la bozza`,draftSaved:`Bozza salvata — #{{id}} {{title}}`,draftNetworkError:`Errore di rete durante il salvataggio della bozza`,updateSpecFailed:`Impossibile aggiornare la spec`,specUpdated:`Spec aggiornata — #{{id}} {{title}}`,createSpecFailed:`Impossibile creare la spec`,specCreated:`Spec creata — #{{id}} {{title}}`,createNetworkError:`Errore di rete durante la creazione della spec`,unsupportedFileType:`Tipo di file non supportato: {{name}}`,uploadFailed:`Caricamento non riuscito per {{name}}`},fromWebsite:`Da un sito web`,fromWebsiteTitle:`Apri una pagina web reale, seleziona un'area e trasformala in una spec`,captureResponsiveSizes_one:`Responsive · {{count}} dimensione`,captureResponsiveSizes_other:`Responsive · {{count}} dimensioni`,captureFeedbackPrompt:`Ho appena catturato una parte di una pagina web (screenshot e contenuto sono allegati). In breve: cosa vedi e come si collega a ciò di cui abbiamo parlato e alla spec che stiamo definendo? Dammi il tuo feedback.`},t={ready:`Bozza pronta`,titleLabel:`Titolo`,titlePlaceholder:`Titolo conciso e orientato all'azione…`,titleAriaLabel:`Titolo della spec`,priorityLabel:`Priorità`,priorityAriaLabel:`Priorità della spec`,labelsLabel:`Etichette`,descriptionLabel:`Descrizione`,descriptionPlaceholder:`Quale problema risolve? Cosa cambia? Perché ora?`,descriptionAriaLabel:`Descrizione della spec`,acceptanceCriteriaLabel:`Criteri di accettazione`,attachmentsHeading_one:`Allegato ({{count}})`,attachmentsHeading_other:`Allegati ({{count}})`,linkedOnCreate:`collegati alla creazione`,attachmentsListAriaLabel:`Allegati accumulati`,removeLabelAriaLabel:`Rimuovi etichetta {{label}}`,addLabelAriaLabel:`Aggiungi etichetta`,addLabelsPlaceholder:`Aggiungi etichette…`,removeAttachmentAriaLabel:`Rimuovi {{filename}}`,criterionPlaceholder:`Risultato verificabile…`,criterionAriaLabel:`Criterio di accettazione {{number}}`,removeCriterionAriaLabel:`Rimuovi criterio {{number}}`,addCriterion:`Aggiungi criterio`,addCriterionAriaLabel:`Aggiungi criterio di accettazione`,nonGoalsLabel:`Fuori ambito`,nonGoalPlaceholder:`Qualcosa che questa spec lascia fuori`,nonGoalAriaLabel:`Elemento fuori ambito {{number}}`,removeNonGoalAriaLabel:`Rimuovi l'elemento fuori ambito {{number}}`,addNonGoalAriaLabel:`Aggiungi un elemento fuori ambito`,addNonGoal:`Aggiungi elemento`},n={low:`bassa`,medium:`media`,high:`alta`,critical:`critica`},r={dialogAriaLabel:`Rivedi le modifiche`,heading:`Conferma prima del commit`,titleLabel:`Titolo`,priorityLabel:`Priorità`,descriptionLabel:`Descrizione`,labelsLabel:`Etichette`,acceptanceCriteriaLabel:`Criteri di accettazione`,noLabels:`Nessuna etichetta`,noCriteria:`Nessun criterio`,backToEdit:`Torna alla modifica`,createSpec:`Crea spec`,updateSpec:`Aggiorna spec`,noPriority:`nessuna priorità`,inserted:`inserito`,removed:`rimosso`,added:`aggiunto`,unchanged:`invariato`},i={connecting:`Connessione…`,thinking:`Sto pensando…`,tool:`Sto leggendo il codice…`},a={ariaLabel:`Modello per la generazione della spec`,placeholder:`Scegli un modello`},o={shell:e,draftPanel:t,priority:n,reviewOverlay:r,statusPills:i,modelPicker:a};export{o as default,t as draftPanel,a as modelPicker,n as priority,r as reviewOverlay,e as shell,i as statusPills};
@@ -0,0 +1 @@
1
+ var e={dialogAriaLabel:`Explore Spec · インタラクティブ`,backAriaLabel:`戻る (Esc)`,newSpecPlaceholder:`新しいスペック…`,contextPill:`コンテキスト: {{scopes}}`,contextPillTitle:`この Explore セッションで有効なコンテキストスコープ`,contextScopeCodebase:`コードベース`,contextScopeMinimal:`最小`,saveAsDraft:`下書きとして保存`,saveAsDraftAriaLabel:`現在の探索を下書きとして保存`,saveAsDraftDisabledTitle:`保存するには少なくとも 1 件メッセージを送信してください`,review:`レビュー →`,reviewAriaLabel:`スペック作成前に変更をレビュー`,createSpec:`スペックを作成`,updateSpec:`スペックを更新`,createSpecAriaLabel:`現在の下書きからスペックを作成`,updateSpecAriaLabel:`現在の下書きでスペックを更新`,createSpecDisabledTitle:`コミットにはタイトルが必要です`,editModeIntro:`右側にスペックを読み込みました。改善内容を入力して始めましょう。`,startingConversation:`会話を開始しています…`,suggestedRepliesAriaLabel:`返信候補`,composerPlaceholder:`返信を入力… ファイルをドラッグして添付`,composerAriaLabel:`スペックのアイデア`,stop:`停止`,send:`送信`,you:`あなた`,closePrompt:{title:`この探索を保存しますか?`,description:`「下書きとして保存」は会話を保持し、後でボードから再開できます。「破棄」は完全に削除します。`},toasts:{saveDraftFailed:`下書きの保存に失敗しました`,draftSaved:`下書きを保存しました — #{{id}} {{title}}`,draftNetworkError:`下書き保存中にネットワークエラーが発生しました`,updateSpecFailed:`スペックの更新に失敗しました`,specUpdated:`スペックを更新しました — #{{id}} {{title}}`,createSpecFailed:`スペックの作成に失敗しました`,specCreated:`スペックを作成しました — #{{id}} {{title}}`,createNetworkError:`スペック作成中にネットワークエラーが発生しました`,unsupportedFileType:`未対応のファイル形式: {{name}}`,uploadFailed:`{{name}} のアップロードに失敗しました`},fromWebsite:`ウェブサイトから`,fromWebsiteTitle:`実際のウェブページを開き、範囲を選択してスペックに変換`,captureResponsiveSizes_one:`レスポンシブ · {{count}} サイズ`,captureResponsiveSizes_other:`レスポンシブ · {{count}} サイズ`,captureFeedbackPrompt:`ウェブページの一部をキャプチャしました(スクリーンショットと内容を添付しています)。手短に: 何が見えますか?これまでの会話や、今まとめているスペックとどう関係しますか?フィードバックをください。`},t={ready:`下書き準備完了`,titleLabel:`タイトル`,titlePlaceholder:`簡潔でアクション指向のタイトル…`,titleAriaLabel:`スペックのタイトル`,priorityLabel:`優先度`,priorityAriaLabel:`スペックの優先度`,labelsLabel:`ラベル`,descriptionLabel:`説明`,descriptionPlaceholder:`どんな課題を解決しますか?何が変わりますか?なぜ今ですか?`,descriptionAriaLabel:`スペックの説明`,acceptanceCriteriaLabel:`受け入れ基準`,attachmentsHeading_one:`添付ファイル ({{count}})`,attachmentsHeading_other:`添付ファイル ({{count}})`,linkedOnCreate:`作成時にリンクされます`,attachmentsListAriaLabel:`蓄積された添付ファイル`,removeLabelAriaLabel:`ラベル {{label}} を削除`,addLabelAriaLabel:`ラベルを追加`,addLabelsPlaceholder:`ラベルを追加…`,removeAttachmentAriaLabel:`{{filename}} を削除`,criterionPlaceholder:`テスト可能な結果…`,criterionAriaLabel:`受け入れ基準 {{number}}`,removeCriterionAriaLabel:`基準 {{number}} を削除`,addCriterion:`基準を追加`,addCriterionAriaLabel:`受け入れ基準を追加`,nonGoalsLabel:`対象外`,nonGoalPlaceholder:`このスペックで扱わないこと`,nonGoalAriaLabel:`対象外項目 {{number}}`,removeNonGoalAriaLabel:`対象外項目 {{number}} を削除`,addNonGoalAriaLabel:`対象外項目を追加`,addNonGoal:`項目を追加`},n={low:`低`,medium:`中`,high:`高`,critical:`緊急`},r={dialogAriaLabel:`変更をレビュー`,heading:`コミット前に確認`,titleLabel:`タイトル`,priorityLabel:`優先度`,descriptionLabel:`説明`,labelsLabel:`ラベル`,acceptanceCriteriaLabel:`受け入れ基準`,noLabels:`ラベルなし`,noCriteria:`基準なし`,backToEdit:`編集に戻る`,createSpec:`スペックを作成`,updateSpec:`スペックを更新`,noPriority:`優先度なし`,inserted:`挿入`,removed:`削除`,added:`追加`,unchanged:`変更なし`},i={connecting:`接続中…`,thinking:`思考中…`,tool:`コードを読み取り中…`},a={ariaLabel:`スペック生成モデル`,placeholder:`モデルを選択`},o={shell:e,draftPanel:t,priority:n,reviewOverlay:r,statusPills:i,modelPicker:a};export{o as default,t as draftPanel,a as modelPicker,n as priority,r as reviewOverlay,e as shell,i as statusPills};
@@ -0,0 +1 @@
1
+ var e={dialogAriaLabel:`Explore Spec · interactivo`,backAriaLabel:`Atrás (Esc)`,newSpecPlaceholder:`Nueva spec…`,contextPill:`Contexto: {{scopes}}`,contextPillTitle:`Ámbito de contexto activo para esta sesión de Explore`,contextScopeCodebase:`codebase`,contextScopeMinimal:`mínimo`,saveAsDraft:`Guardar como borrador`,saveAsDraftAriaLabel:`Guardar la exploración actual como borrador`,saveAsDraftDisabledTitle:`Envía al menos un mensaje antes de guardar`,review:`Revisar →`,reviewAriaLabel:`Revisar los cambios antes de crear la spec`,createSpec:`Crear spec`,updateSpec:`Actualizar spec`,createSpecAriaLabel:`Crear una spec a partir del borrador actual`,updateSpecAriaLabel:`Actualizar la spec con el borrador actual`,createSpecDisabledTitle:`Se necesita un título para confirmar`,editModeIntro:`Spec cargada a la derecha. Escribe un refinamiento para empezar.`,startingConversation:`Iniciando conversación…`,suggestedRepliesAriaLabel:`Respuestas sugeridas`,composerPlaceholder:`Escribe tu respuesta… arrastra archivos para adjuntar`,composerAriaLabel:`Idea de spec`,stop:`Detener`,send:`Enviar`,you:`Tú`,closePrompt:{title:`¿Guardar esta exploración?`,description:`Guardar como borrador conserva la conversación para retomarla más tarde desde el tablero. Descartar la elimina.`},toasts:{saveDraftFailed:`No se pudo guardar el borrador`,draftSaved:`Borrador guardado — #{{id}} {{title}}`,draftNetworkError:`Error de red al guardar el borrador`,updateSpecFailed:`No se pudo actualizar la spec`,specUpdated:`Spec actualizada — #{{id}} {{title}}`,createSpecFailed:`No se pudo crear la spec`,specCreated:`Spec creada — #{{id}} {{title}}`,createNetworkError:`Error de red al crear la spec`,unsupportedFileType:`Tipo de archivo no compatible: {{name}}`,uploadFailed:`Error al subir {{name}}`},fromWebsite:`Desde una web`,fromWebsiteTitle:`Abre una página web real, selecciona un área y conviértela en una spec`,captureResponsiveSizes_one:`Responsive · {{count}} tamaño`,captureResponsiveSizes_other:`Responsive · {{count}} tamaños`,captureFeedbackPrompt:`Acabo de capturar parte de una web (su imagen y contenido van adjuntos). Brevemente: ¿qué ves y cómo se relaciona con lo que hemos hablado y con la spec que estamos definiendo? Dame tu feedback.`},t={ready:`Borrador listo`,titleLabel:`Título`,titlePlaceholder:`Título conciso y orientado a la acción…`,titleAriaLabel:`Título de la spec`,priorityLabel:`Prioridad`,priorityAriaLabel:`Prioridad de la spec`,labelsLabel:`Etiquetas`,descriptionLabel:`Descripción`,descriptionPlaceholder:`¿Qué problema resuelve? ¿Qué cambia? ¿Por qué ahora?`,descriptionAriaLabel:`Descripción de la spec`,acceptanceCriteriaLabel:`Criterios de aceptación`,attachmentsHeading_one:`Adjuntos ({{count}})`,attachmentsHeading_other:`Adjuntos ({{count}})`,linkedOnCreate:`se vinculan al crear`,attachmentsListAriaLabel:`Adjuntos acumulados`,removeLabelAriaLabel:`Quitar etiqueta {{label}}`,addLabelAriaLabel:`Añadir etiqueta`,addLabelsPlaceholder:`Añadir etiquetas…`,removeAttachmentAriaLabel:`Quitar {{filename}}`,criterionPlaceholder:`Resultado comprobable…`,criterionAriaLabel:`Criterio de aceptación {{number}}`,removeCriterionAriaLabel:`Quitar criterio {{number}}`,addCriterion:`Añadir criterio`,addCriterionAriaLabel:`Añadir criterio de aceptación`,nonGoalsLabel:`Fuera de alcance`,nonGoalPlaceholder:`Algo que esta spec deja fuera`,nonGoalAriaLabel:`Elemento fuera de alcance {{number}}`,removeNonGoalAriaLabel:`Quitar el elemento fuera de alcance {{number}}`,addNonGoalAriaLabel:`Añadir un elemento fuera de alcance`,addNonGoal:`Añadir elemento`},n={low:`baja`,medium:`media`,high:`alta`,critical:`crítica`},r={dialogAriaLabel:`Revisar cambios`,heading:`Confirma antes de crear`,titleLabel:`Título`,priorityLabel:`Prioridad`,descriptionLabel:`Descripción`,labelsLabel:`Etiquetas`,acceptanceCriteriaLabel:`Criterios de aceptación`,noLabels:`Sin etiquetas`,noCriteria:`Sin criterios`,backToEdit:`Volver a editar`,createSpec:`Crear spec`,updateSpec:`Actualizar spec`,noPriority:`sin prioridad`,inserted:`insertado`,removed:`eliminado`,added:`añadido`,unchanged:`sin cambios`},i={connecting:`Conectando…`,thinking:`Pensando…`,tool:`Consultando código…`},a={ariaLabel:`Modelo de generación de specs`,placeholder:`Elige un modelo`},o={shell:e,draftPanel:t,priority:n,reviewOverlay:r,statusPills:i,modelPicker:a};export{o as default,t as draftPanel,a as modelPicker,n as priority,r as reviewOverlay,e as shell,i as statusPills};
@@ -0,0 +1 @@
1
+ var e={dialogAriaLabel:`Explore Spec · 交互式`,backAriaLabel:`返回 (Esc)`,newSpecPlaceholder:`新建 Spec…`,contextPill:`上下文:{{scopes}}`,contextPillTitle:`当前 Explore 会话的上下文范围`,contextScopeCodebase:`代码库`,contextScopeMinimal:`最小`,saveAsDraft:`保存为草稿`,saveAsDraftAriaLabel:`将当前探索保存为草稿`,saveAsDraftDisabledTitle:`请先发送至少一条消息再保存`,review:`审阅 →`,reviewAriaLabel:`创建 Spec 前审阅更改`,createSpec:`创建 Spec`,updateSpec:`更新 Spec`,createSpecAriaLabel:`从当前草稿创建 Spec`,updateSpecAriaLabel:`用当前草稿更新 Spec`,createSpecDisabledTitle:`提交前需要填写标题`,editModeIntro:`Spec 已加载在右侧。输入改进内容即可开始。`,startingConversation:`正在开始对话…`,suggestedRepliesAriaLabel:`建议回复`,composerPlaceholder:`输入回复… 拖入文件以添加附件`,composerAriaLabel:`Spec 想法`,stop:`停止`,send:`发送`,you:`你`,closePrompt:{title:`保存此次探索?`,description:`保存为草稿会保留对话,之后可从看板继续。丢弃则会将其删除。`},toasts:{saveDraftFailed:`保存草稿失败`,draftSaved:`草稿已保存 — #{{id}} {{title}}`,draftNetworkError:`保存草稿时网络错误`,updateSpecFailed:`更新 Spec 失败`,specUpdated:`Spec 已更新 — #{{id}} {{title}}`,createSpecFailed:`创建 Spec 失败`,specCreated:`Spec 已创建 — #{{id}} {{title}}`,createNetworkError:`创建 Spec 时网络错误`,unsupportedFileType:`不支持的文件类型:{{name}}`,uploadFailed:`{{name}} 上传失败`},fromWebsite:`从网站创建`,fromWebsiteTitle:`打开真实网页,框选一块区域,把它变成 spec`,captureResponsiveSizes_one:`响应式 · {{count}} 个尺寸`,captureResponsiveSizes_other:`响应式 · {{count}} 个尺寸`,captureFeedbackPrompt:`我刚刚截取了一个网页的一部分(截图和内容已附上)。简要说说:你看到了什么?它与我们目前的讨论以及我们正在定义的 spec 有什么关联?给我你的反馈。`},t={ready:`草稿就绪`,titleLabel:`标题`,titlePlaceholder:`简洁、面向行动的标题…`,titleAriaLabel:`Spec 标题`,priorityLabel:`优先级`,priorityAriaLabel:`Spec 优先级`,labelsLabel:`标签`,descriptionLabel:`描述`,descriptionPlaceholder:`解决什么问题?改动什么?为什么是现在?`,descriptionAriaLabel:`Spec 描述`,acceptanceCriteriaLabel:`验收标准`,attachmentsHeading_one:`附件({{count}})`,attachmentsHeading_other:`附件({{count}})`,linkedOnCreate:`创建时关联`,attachmentsListAriaLabel:`已累积的附件`,removeLabelAriaLabel:`移除标签 {{label}}`,addLabelAriaLabel:`添加标签`,addLabelsPlaceholder:`添加标签…`,removeAttachmentAriaLabel:`移除 {{filename}}`,criterionPlaceholder:`可验证的结果…`,criterionAriaLabel:`验收标准 {{number}}`,removeCriterionAriaLabel:`移除标准 {{number}}`,addCriterion:`添加标准`,addCriterionAriaLabel:`添加验收标准`,nonGoalsLabel:`不在范围内`,nonGoalPlaceholder:`此规格不涵盖的内容`,nonGoalAriaLabel:`范围外条目 {{number}}`,removeNonGoalAriaLabel:`删除范围外条目 {{number}}`,addNonGoalAriaLabel:`添加范围外条目`,addNonGoal:`添加条目`},n={low:`低`,medium:`中`,high:`高`,critical:`紧急`},r={dialogAriaLabel:`审阅更改`,heading:`提交前确认`,titleLabel:`标题`,priorityLabel:`优先级`,descriptionLabel:`描述`,labelsLabel:`标签`,acceptanceCriteriaLabel:`验收标准`,noLabels:`无标签`,noCriteria:`无标准`,backToEdit:`返回编辑`,createSpec:`创建 Spec`,updateSpec:`更新 Spec`,noPriority:`无优先级`,inserted:`插入`,removed:`删除`,added:`新增`,unchanged:`未变更`},i={connecting:`连接中…`,thinking:`思考中…`,tool:`正在阅读代码…`},a={ariaLabel:`Spec 生成模型`,placeholder:`选择模型`},o={shell:e,draftPanel:t,priority:n,reviewOverlay:r,statusPills:i,modelPicker:a};export{o as default,t as draftPanel,a as modelPicker,n as priority,r as reviewOverlay,e as shell,i as statusPills};
@@ -0,0 +1 @@
1
+ var e={dialogAriaLabel:`Explore Spec · interativo`,backAriaLabel:`Voltar (Esc)`,newSpecPlaceholder:`Nova spec…`,contextPill:`Contexto: {{scopes}}`,contextPillTitle:`Âmbito de contexto ativo nesta sessão de Explore`,contextScopeCodebase:`codebase`,contextScopeMinimal:`mínimo`,saveAsDraft:`Guardar como rascunho`,saveAsDraftAriaLabel:`Guardar a exploração atual como rascunho`,saveAsDraftDisabledTitle:`Envie pelo menos uma mensagem antes de guardar`,review:`Rever →`,reviewAriaLabel:`Rever alterações antes de criar a spec`,createSpec:`Criar Spec`,updateSpec:`Atualizar Spec`,createSpecAriaLabel:`Criar spec a partir do rascunho atual`,updateSpecAriaLabel:`Atualizar a spec com o rascunho atual`,createSpecDisabledTitle:`É necessário um título para confirmar`,editModeIntro:`Spec carregada à direita. Escreva um refinamento para começar.`,startingConversation:`A iniciar conversa…`,suggestedRepliesAriaLabel:`Respostas sugeridas`,composerPlaceholder:`Escreva a sua resposta… arraste ficheiros para anexar`,composerAriaLabel:`Ideia de spec`,stop:`Parar`,send:`Enviar`,you:`Você`,closePrompt:{title:`Guardar esta exploração?`,description:`Guardar como rascunho mantém a conversa para a retomar mais tarde a partir do quadro. Descartar elimina-a.`},toasts:{saveDraftFailed:`Falha ao guardar o rascunho`,draftSaved:`Rascunho guardado — #{{id}} {{title}}`,draftNetworkError:`Erro de rede ao guardar o rascunho`,updateSpecFailed:`Falha ao atualizar a spec`,specUpdated:`Spec atualizada — #{{id}} {{title}}`,createSpecFailed:`Falha ao criar a spec`,specCreated:`Spec criada — #{{id}} {{title}}`,createNetworkError:`Erro de rede ao criar a spec`,unsupportedFileType:`Tipo de ficheiro não suportado: {{name}}`,uploadFailed:`Falha no upload de {{name}}`},fromWebsite:`A partir de um website`,fromWebsiteTitle:`Abra uma página web real, selecione uma área e converta-a numa spec`,captureResponsiveSizes_one:`Responsivo · {{count}} tamanho`,captureResponsiveSizes_other:`Responsivo · {{count}} tamanhos`,captureFeedbackPrompt:`Acabei de capturar parte de uma página web (a imagem e o conteúdo estão anexados). Brevemente: o que vês e como se relaciona com o que falámos e com a spec que estamos a definir? Dá-me o teu feedback.`},t={ready:`Rascunho pronto`,titleLabel:`Título`,titlePlaceholder:`Título conciso e orientado à ação…`,titleAriaLabel:`Título da spec`,priorityLabel:`Prioridade`,priorityAriaLabel:`Prioridade da spec`,labelsLabel:`Etiquetas`,descriptionLabel:`Descrição`,descriptionPlaceholder:`Que problema resolve? O que muda? Porquê agora?`,descriptionAriaLabel:`Descrição da spec`,acceptanceCriteriaLabel:`Critérios de aceitação`,attachmentsHeading_one:`Anexos ({{count}})`,attachmentsHeading_other:`Anexos ({{count}})`,linkedOnCreate:`associados ao criar`,attachmentsListAriaLabel:`Anexos acumulados`,removeLabelAriaLabel:`Remover etiqueta {{label}}`,addLabelAriaLabel:`Adicionar etiqueta`,addLabelsPlaceholder:`Adicionar etiquetas…`,removeAttachmentAriaLabel:`Remover {{filename}}`,criterionPlaceholder:`Resultado testável…`,criterionAriaLabel:`Critério de aceitação {{number}}`,removeCriterionAriaLabel:`Remover critério {{number}}`,addCriterion:`Adicionar critério`,addCriterionAriaLabel:`Adicionar critério de aceitação`,nonGoalsLabel:`Fora do escopo`,nonGoalPlaceholder:`Algo que esta spec deixa de fora`,nonGoalAriaLabel:`Item fora do escopo {{number}}`,removeNonGoalAriaLabel:`Remover o item fora do escopo {{number}}`,addNonGoalAriaLabel:`Adicionar um item fora do escopo`,addNonGoal:`Adicionar item`},n={low:`baixa`,medium:`média`,high:`alta`,critical:`crítica`},r={dialogAriaLabel:`Rever alterações`,heading:`Confirmar antes de submeter`,titleLabel:`Título`,priorityLabel:`Prioridade`,descriptionLabel:`Descrição`,labelsLabel:`Etiquetas`,acceptanceCriteriaLabel:`Critérios de aceitação`,noLabels:`Sem etiquetas`,noCriteria:`Sem critérios`,backToEdit:`Voltar à edição`,createSpec:`Criar Spec`,updateSpec:`Atualizar Spec`,noPriority:`sem prioridade`,inserted:`inserido`,removed:`removido`,added:`adicionado`,unchanged:`sem alterações`},i={connecting:`A ligar…`,thinking:`A pensar…`,tool:`A ler código…`},a={ariaLabel:`Modelo de geração de specs`,placeholder:`Escolha um modelo`},o={shell:e,draftPanel:t,priority:n,reviewOverlay:r,statusPills:i,modelPicker:a};export{o as default,t as draftPanel,a as modelPicker,n as priority,r as reviewOverlay,e as shell,i as statusPills};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-DtODIU64.js";var t={name:`file-text`,size:24,node:[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]};t.node;var n=e(t);export{n as t};
@@ -0,0 +1 @@
1
+ import{P as e}from"./api-DOGbyfTO.js";var t=new Map;function n(e,n){let r=`${e}|${n}`,i=t.get(r);if(!i){try{i=new Intl.NumberFormat(e,{style:`currency`,currency:`USD`,maximumFractionDigits:n})}catch{i=new Intl.NumberFormat(`en`,{style:`currency`,currency:`USD`,maximumFractionDigits:n})}t.set(r,i)}return i}function r(t,r){let i=r||e.language||`en`,a=Math.abs(t);return n(i,a>0&&a<.01?4:2).format(t)}export{r as t};
@@ -0,0 +1 @@
1
+ import{D as e,E as t,M as n,N as r,S as i,T as a,w as o}from"./api-DOGbyfTO.js";import{t as s}from"./getTimezoneOffsetInMilliseconds-O61feXch.js";function c(e,t){let n=o(e)-+o(t);return n<0?-1:n>0?1:n}function l(t){return e(t,Date.now())}function u(e,n,r){let[i,a]=t(r?.in,e,n),o=i.getFullYear()-a.getFullYear(),s=i.getMonth()-a.getMonth();return o*12+s}function d(e){return t=>{let n=(e?Math[e]:Math.trunc)(t);return n===0?0:n}}function f(e,t){return o(e)-+o(t)}function p(e,t){let n=o(e,t?.in);return n.setHours(23,59,59,999),n}function m(e,t){let n=o(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function h(e,t){let n=o(e,t?.in);return+p(n,t)==+m(n,t)}function g(e,n,r){let[i,a,o]=t(r?.in,e,e,n),s=c(a,o),l=Math.abs(u(a,o));if(l<1)return 0;a.getMonth()===1&&a.getDate()>27&&a.setDate(30),a.setMonth(a.getMonth()-s*l);let d=c(a,o)===-s;h(i)&&l===1&&c(i,o)===1&&(d=!1);let f=s*(l-+d);return f===0?0:f}function _(e,t,n){let r=f(e,t)/1e3;return d(n?.roundingMethod)(r)}function v(e,o,l){let u=a(),d=l?.locale??u.locale??i,f=c(e,o);if(isNaN(f))throw RangeError(`Invalid time value`);let p=Object.assign({},l,{addSuffix:l?.addSuffix,comparison:f}),[m,h]=t(l?.in,...f>0?[o,e]:[e,o]),v=_(h,m),y=(s(h)-s(m))/1e3,b=Math.round((v-y)/60),x;if(b<2)return l?.includeSeconds?v<5?d.formatDistance(`lessThanXSeconds`,5,p):v<10?d.formatDistance(`lessThanXSeconds`,10,p):v<20?d.formatDistance(`lessThanXSeconds`,20,p):v<40?d.formatDistance(`halfAMinute`,0,p):v<60?d.formatDistance(`lessThanXMinutes`,1,p):d.formatDistance(`xMinutes`,1,p):b===0?d.formatDistance(`lessThanXMinutes`,1,p):d.formatDistance(`xMinutes`,b,p);if(b<45)return d.formatDistance(`xMinutes`,b,p);if(b<90)return d.formatDistance(`aboutXHours`,1,p);if(b<1440){let e=Math.round(b/60);return d.formatDistance(`aboutXHours`,e,p)}else if(b<2520)return d.formatDistance(`xDays`,1,p);else if(b<43200){let e=Math.round(b/n);return d.formatDistance(`xDays`,e,p)}else if(b<43200*2)return x=Math.round(b/r),d.formatDistance(`aboutXMonths`,x,p);if(x=g(h,m),x<12){let e=Math.round(b/r);return d.formatDistance(`xMonths`,e,p)}else{let e=x%12,t=Math.trunc(x/12);return e<3?d.formatDistance(`aboutXYears`,t,p):e<9?d.formatDistance(`overXYears`,t,p):d.formatDistance(`almostXYears`,t+1,p)}}function y(e,t){return v(e,l(e),t)}export{l as n,y as t};
@@ -0,0 +1 @@
1
+ import{w as e}from"./api-DOGbyfTO.js";function t(t){let n=e(t),r=new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()));return r.setUTCFullYear(n.getFullYear()),t-+r}export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-DtODIU64.js";var t={name:`git-compare-arrows`,size:24,node:[[`circle`,{cx:`5`,cy:`6`,r:`3`,key:`1qnov2`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v7`,key:`1yj91y`}],[`path`,{d:`m15 9-3-3 3-3`,key:`1lwv8l`}],[`circle`,{cx:`19`,cy:`18`,r:`3`,key:`1qljk2`}],[`path`,{d:`M12 18H7a2 2 0 0 1-2-2V9`,key:`16sdep`}],[`path`,{d:`m9 15 3 3-3 3`,key:`1m3kbl`}]]};t.node;var n=e(t);export{n as t};
@@ -0,0 +1 @@
1
+ function e(e){return e.status===`queued`?e.enqueued_at??null:e.started_at}function t(e){if(!e)return null;let t=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)?$/.test(e)?`${e.replace(` `,`T`)}Z`:e,n=new Date(t);return Number.isNaN(n.getTime())?null:n}function n(e,t,n){if(!t)return null;let r=/^\s*[/$](?:specrails:|sr:)?([a-z][\w-]*)/i.exec(e)?.[1]??/^\s*loop\s*:\s*(.+?)\s*(?:#\d+.*)?$/i.exec(e)?.[1],i=/#(\d+)/.exec(e)?.[1],a=i?t[Number(i)]:void 0;if(!r||!i||!a)return null;let o=r.replace(/-/g,` `),s=`${o.charAt(0).toUpperCase()}${o.slice(1)}`;return n?.omitTitle?s:`${s} · #${i} ${a}`}function r(e){if(!e?.length)return;let t={};for(let n of e)n.title&&(t[n.id]=n.title);return t}function i(e){let t=/^\s*[/$](?:specrails:|sr:)?([a-z][\w-]*)/i.exec(e)?.[1]??/^\s*loop\s*:\s*(.+?)\s*(?:#\d+.*)?$/i.exec(e)?.[1];if(!t)return null;let n=/#(\d+)/.exec(e)?.[1],r=t.replace(/-/g,` `),i=`${r.charAt(0).toUpperCase()}${r.slice(1)}`;return n?`${i} · #${n}`:i}export{t as a,e as i,i as n,r,n as t};
@@ -0,0 +1 @@
1
+ var e=`Pendências`,t=`{{count}} item aguarda você`,n=`{{count}} itens aguardam você`,r=`Nada aguarda você`,i=`Verificando seus projetos…`,a={title:`Nada precisa de você`,description:`Revisões, perguntas e falhas de todos os projetos aparecem aqui assim que acontecem.`},o={title:`Não foi possível carregar as pendências`,description:`O app não conseguiu ler seus projetos. Tente novamente em instantes.`,retry:`Tentar novamente`},s={review:`Revisão pronta`,question:`Aguardando sua resposta`,failed:`Falhou`,blocked:`Bloqueado`,budget:`Pausado por orçamento`,jira:`Falha na sincronização com o Jira`,failedNoCause:`Parou antes da entrega`,capReached:`Limite de orçamento atingido`},c={open:`Abrir`,openReview:`Abrir revisão`,answer:`Responder`,resume:`Retomar`,retry:`Tentar novamente`,raiseCap:`Aumentar limite`},l=`Processando…`,u=`{{action}}: {{title}}`,d={label:`Adiar`,hour:`1 hora`,tomorrow:`Até amanhã`,cancel:`Cancelar`},f=`Adiar {{title}}`,p=`Adiar {{title}} por`,m=`Concluído`,h=`Marcar {{title}} como concluído`,g={now:`agora`,ago:`há {{age}}`},_={withCount_one:`Pendências: {{count}}`,withCount_other:`Pendências: {{count}}`,empty:`Pendências: nada`,title:`{{label}} ({{shortcut}})`},v={resumed:`Execução retomada`,retried:`Nova tentativa na fila`,resumeFailed:`Não foi possível retomar a execução`,retryFailed:`Não foi possível tentar de novo a atualização do Jira`,stillOverBudget:`Ainda acima do orçamento diário`,done:`Marcado como concluído`,snoozed:`Adiado até {{when}}`,undo:`Desfazer`,stillOverBudget_week:`Ainda acima do orçamento semanal`,stillOverBudget_month:`Ainda acima do orçamento mensal`},y={title:{project:{day:`Orçamento diário do projeto atingido`,week:`Orçamento semanal do projeto atingido`,month:`Orçamento mensal do projeto atingido`},desktop:{day:`Orçamento diário global atingido`,week:`Orçamento semanal global atingido`,month:`Orçamento mensal global atingido`}},detail:`{{spent}} de {{budget}} gastos`},b=`Não foi possível atualizar; a última lista continua visível.`,x={title:e,subtitle_one:t,subtitle_other:n,subtitleEmpty:r,loading:i,empty:a,error:o,kinds:s,actions:c,working:l,rowLabel:u,snooze:d,snoozeItem:f,snoozeFor:p,done:m,doneItem:h,age:g,button:_,toast:v,cap:y,stale:b};export{c as actions,g as age,_ as button,y as cap,x as default,m as done,h as doneItem,a as empty,o as error,s as kinds,i as loading,u as rowLabel,d as snooze,p as snoozeFor,f as snoozeItem,b as stale,r as subtitleEmpty,t as subtitle_one,n as subtitle_other,e as title,v as toast,l as working};
@@ -0,0 +1 @@
1
+ var e=`Pendientes`,t=`{{count}} elemento te espera`,n=`{{count}} elementos te esperan`,r=`Nada te espera`,i=`Revisando tus proyectos…`,a={title:`Nada te necesita`,description:`Las revisiones, preguntas y fallos de todos los proyectos aparecen aquí en cuanto ocurren.`},o={title:`No se pudieron cargar los pendientes`,description:`La app no pudo leer tus proyectos. Inténtalo de nuevo en un momento.`,retry:`Reintentar`},s={review:`Revisión lista`,question:`Esperando tu respuesta`,failed:`Falló`,blocked:`Bloqueado`,budget:`Pausado por un límite`,jira:`Falló la sincronización con Jira`,failedNoCause:`Se detuvo antes de entregar`,capReached:`Límite alcanzado`},c={open:`Abrir`,openReview:`Abrir revisión`,answer:`Responder`,resume:`Reanudar`,retry:`Reintentar`,raiseCap:`Subir límite`},l=`Procesando…`,u=`{{action}}: {{title}}`,d={label:`Posponer`,hour:`1 hora`,tomorrow:`Hasta mañana`,cancel:`Cancelar`},f=`Posponer {{title}}`,p=`Posponer {{title}} durante`,m=`Hecho`,h=`Marcar {{title}} como hecho`,g={now:`ahora mismo`,ago:`hace {{age}}`},_={withCount_one:`Pendientes: {{count}}`,withCount_other:`Pendientes: {{count}}`,empty:`Pendientes: nada`,title:`{{label}} ({{shortcut}})`},v={resumed:`Ejecución reanudada`,retried:`Reintento en cola`,resumeFailed:`No se pudo reanudar la ejecución`,retryFailed:`No se pudo reintentar la actualización de Jira`,stillOverBudget:`Sigues por encima del límite diario`,done:`Marcado como hecho`,snoozed:`Pospuesto hasta {{when}}`,undo:`Deshacer`,stillOverBudget_week:`Sigue superado el límite semanal`,stillOverBudget_month:`Sigue superado el límite mensual`},y={title:{project:{day:`Límite diario del proyecto alcanzado`,week:`Límite semanal del proyecto alcanzado`,month:`Límite mensual del proyecto alcanzado`},desktop:{day:`Límite diario global alcanzado`,week:`Límite semanal global alcanzado`,month:`Límite mensual global alcanzado`}},detail:`{{spent}} de {{budget}} gastados`},b=`No se pudo actualizar; se muestra la última lista.`,x={title:e,subtitle_one:t,subtitle_other:n,subtitleEmpty:r,loading:i,empty:a,error:o,kinds:s,actions:c,working:l,rowLabel:u,snooze:d,snoozeItem:f,snoozeFor:p,done:m,doneItem:h,age:g,button:_,toast:v,cap:y,stale:b};export{c as actions,g as age,_ as button,y as cap,x as default,m as done,h as doneItem,a as empty,o as error,s as kinds,i as loading,u as rowLabel,d as snooze,p as snoozeFor,f as snoozeItem,b as stale,r as subtitleEmpty,t as subtitle_one,n as subtitle_other,e as title,v as toast,l as working};
@@ -0,0 +1 @@
1
+ var e=`対応待ち`,t=`{{count}} 件があなたを待っています`,n=`{{count}} 件があなたを待っています`,r=`待っている項目はありません`,i=`プロジェクトを確認しています…`,a={title:`対応が必要な項目はありません`,description:`すべてのプロジェクトのレビュー、質問、失敗が発生するとここに表示されます。`},o={title:`対応待ちを読み込めませんでした`,description:`アプリがプロジェクトを読み取れませんでした。しばらくしてからもう一度お試しください。`,retry:`再試行`},s={review:`レビュー準備完了`,question:`回答待ち`,failed:`失敗`,blocked:`ブロック中`,budget:`予算で一時停止`,jira:`Jira 同期に失敗`,failedNoCause:`納品前に停止しました`,capReached:`予算の上限に達しました`},c={open:`開く`,openReview:`レビューを開く`,answer:`回答`,resume:`再開`,retry:`再試行`,raiseCap:`上限を引き上げる`},l=`処理中…`,u=`{{action}}:{{title}}`,d={label:`後で通知`,hour:`1 時間`,tomorrow:`明日まで`,cancel:`キャンセル`},f=`{{title}} を後で通知`,p=`{{title}} を保留する期間`,m=`完了`,h=`{{title}} を完了にする`,g={now:`たった今`,ago:`{{age}}前`},_={withCount_one:`対応待ち:{{count}}`,withCount_other:`対応待ち:{{count}}`,empty:`対応待ち:なし`,title:`{{label}}({{shortcut}})`},v={resumed:`実行を再開しました`,retried:`再試行をキューに追加しました`,resumeFailed:`実行を再開できませんでした`,retryFailed:`Jira の更新を再試行できませんでした`,stillOverBudget:`日次予算をまだ超えています`,done:`完了にしました`,snoozed:`{{when}} まで後回しにしました`,undo:`元に戻す`,stillOverBudget_week:`週間予算をまだ超えています`,stillOverBudget_month:`月間予算をまだ超えています`},y={title:{project:{day:`プロジェクトの 1 日の予算に達しました`,week:`プロジェクトの週間予算に達しました`,month:`プロジェクトの月間予算に達しました`},desktop:{day:`アプリ全体の 1 日の予算に達しました`,week:`アプリ全体の週間予算に達しました`,month:`アプリ全体の月間予算に達しました`}},detail:`{{spent}} / {{budget}} を使用`},b=`更新できませんでした。前回の一覧を表示しています。`,x={title:e,subtitle_one:t,subtitle_other:n,subtitleEmpty:r,loading:i,empty:a,error:o,kinds:s,actions:c,working:l,rowLabel:u,snooze:d,snoozeItem:f,snoozeFor:p,done:m,doneItem:h,age:g,button:_,toast:v,cap:y,stale:b};export{c as actions,g as age,_ as button,y as cap,x as default,m as done,h as doneItem,a as empty,o as error,s as kinds,i as loading,u as rowLabel,d as snooze,p as snoozeFor,f as snoozeItem,b as stale,r as subtitleEmpty,t as subtitle_one,n as subtitle_other,e as title,v as toast,l as working};
@@ -0,0 +1 @@
1
+ var e=`Offen`,t=`{{count}} Eintrag wartet auf dich`,n=`{{count}} Einträge warten auf dich`,r=`Nichts wartet auf dich`,i=`Projekte werden geprüft …`,a={title:`Nichts braucht dich`,description:`Reviews, Rückfragen und Fehler aus allen Projekten erscheinen hier, sobald sie auftreten.`},o={title:`Die Liste „Offen“ konnte nicht geladen werden`,description:`Die App konnte deine Projekte nicht lesen. Versuche es gleich noch einmal.`,retry:`Erneut versuchen`},s={review:`Review bereit`,question:`Wartet auf deine Antwort`,failed:`Fehlgeschlagen`,blocked:`Blockiert`,budget:`Wegen Budget pausiert`,jira:`Jira-Sync fehlgeschlagen`,failedNoCause:`Vor der Auslieferung gestoppt`,capReached:`Budgetlimit erreicht`},c={open:`Öffnen`,openReview:`Review öffnen`,answer:`Antworten`,resume:`Fortsetzen`,retry:`Wiederholen`,raiseCap:`Limit erhöhen`},l=`Läuft …`,u=`{{action}}: {{title}}`,d={label:`Zurückstellen`,hour:`1 Stunde`,tomorrow:`Bis morgen`,cancel:`Abbrechen`},f=`{{title}} zurückstellen`,p=`{{title}} zurückstellen für`,m=`Erledigt`,h=`{{title}} als erledigt markieren`,g={now:`gerade eben`,ago:`vor {{age}}`},_={withCount_one:`Offen: {{count}}`,withCount_other:`Offen: {{count}}`,empty:`Offen: nichts`,title:`{{label}} ({{shortcut}})`},v={resumed:`Lauf fortgesetzt`,retried:`Wiederholung eingeplant`,resumeFailed:`Lauf konnte nicht fortgesetzt werden`,retryFailed:`Jira-Update konnte nicht wiederholt werden`,stillOverBudget:`Tagesbudget weiterhin überschritten`,done:`Als erledigt markiert`,snoozed:`Zurückgestellt bis {{when}}`,undo:`Rückgängig`,stillOverBudget_week:`Wochenbudget weiterhin überschritten`,stillOverBudget_month:`Monatsbudget weiterhin überschritten`},y={title:{project:{day:`Tagesbudget des Projekts erreicht`,week:`Wochenbudget des Projekts erreicht`,month:`Monatsbudget des Projekts erreicht`},desktop:{day:`Globales Tagesbudget erreicht`,week:`Globales Wochenbudget erreicht`,month:`Globales Monatsbudget erreicht`}},detail:`{{spent}} von {{budget}} ausgegeben`},b=`Aktualisierung fehlgeschlagen – die letzte Liste wird angezeigt.`,x={title:e,subtitle_one:t,subtitle_other:n,subtitleEmpty:r,loading:i,empty:a,error:o,kinds:s,actions:c,working:l,rowLabel:u,snooze:d,snoozeItem:f,snoozeFor:p,done:m,doneItem:h,age:g,button:_,toast:v,cap:y,stale:b};export{c as actions,g as age,_ as button,y as cap,x as default,m as done,h as doneItem,a as empty,o as error,s as kinds,i as loading,u as rowLabel,d as snooze,p as snoozeFor,f as snoozeItem,b as stale,r as subtitleEmpty,t as subtitle_one,n as subtitle_other,e as title,v as toast,l as working};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-CNC7AqOf.js";var t=e({actions:()=>u,age:()=>v,button:()=>y,cap:()=>x,default:()=>C,done:()=>g,doneItem:()=>_,empty:()=>s,error:()=>c,kinds:()=>l,loading:()=>o,rowLabel:()=>f,snooze:()=>p,snoozeFor:()=>h,snoozeItem:()=>m,stale:()=>S,subtitleEmpty:()=>a,subtitle_one:()=>r,subtitle_other:()=>i,title:()=>n,toast:()=>b,working:()=>d}),n=`Needs you`,r=`{{count}} item is waiting for you`,i=`{{count}} items are waiting for you`,a=`Nothing is waiting for you`,o=`Checking your projects…`,s={title:`Nothing needs you`,description:`Reviews, questions and failures from every project show up here as they happen.`},c={title:`Couldn't load the inbox`,description:`The app couldn't read your projects. Try again in a moment.`,retry:`Try again`},l={review:`Review ready`,question:`Waiting for your answer`,failed:`Failed`,blocked:`Blocked`,budget:`Paused: spend limit reached`,jira:`Jira sync failed`,failedNoCause:`Stopped before delivery`,capReached:`Spend limit reached`},u={open:`Open`,openReview:`Open review`,answer:`Answer`,resume:`Resume`,retry:`Retry`,raiseCap:`Raise limit`},d=`Working…`,f=`{{action}}: {{title}}`,p={label:`Snooze`,hour:`1 hour`,tomorrow:`Until tomorrow`,cancel:`Cancel`},m=`Snooze {{title}}`,h=`Snooze {{title}} for`,g=`Done`,_=`Mark {{title}} as done`,v={now:`just now`,ago:`{{age}} ago`},y={withCount_one:`Inbox, {{count}} item needs you`,withCount_other:`Inbox, {{count}} items need you`,empty:`Inbox, nothing needs you`,title:`{{label}} ({{shortcut}})`},b={resumed:`Run resumed`,retried:`Retry queued`,resumeFailed:`Couldn't resume the run`,retryFailed:`Couldn't retry the Jira update`,stillOverBudget:`Still over the daily limit`,done:`Marked done`,snoozed:`Snoozed until {{when}}`,undo:`Undo`,stillOverBudget_week:`Still over the weekly limit`,stillOverBudget_month:`Still over the monthly limit`},x={title:{project:{day:`Project daily limit reached`,week:`Project weekly limit reached`,month:`Project monthly limit reached`},desktop:{day:`App-wide daily limit reached`,week:`App-wide weekly limit reached`,month:`App-wide monthly limit reached`}},detail:`{{spent}} of {{budget}} spent`},S=`Couldn't refresh — showing the last list.`,C={title:n,subtitle_one:r,subtitle_other:i,subtitleEmpty:a,loading:o,empty:s,error:c,kinds:l,actions:u,working:d,rowLabel:f,snooze:p,snoozeItem:m,snoozeFor:h,done:g,doneItem:_,age:v,button:y,toast:b,cap:x,stale:S};export{t};
@@ -0,0 +1 @@
1
+ var e=`待处理`,t=`有 {{count}} 项在等你`,n=`有 {{count}} 项在等你`,r=`没有等你处理的事项`,i=`正在检查你的项目…`,a={title:`暂无待处理事项`,description:`所有项目的评审、提问和失败都会在发生时出现在这里。`},o={title:`无法加载待处理列表`,description:`应用无法读取你的项目,请稍后重试。`,retry:`重试`},s={review:`评审就绪`,question:`等待你的回答`,failed:`失败`,blocked:`已阻塞`,budget:`因预算暂停`,jira:`Jira 同步失败`,failedNoCause:`在交付前停止`,capReached:`已达到预算上限`},c={open:`打开`,openReview:`打开评审`,answer:`回答`,resume:`继续`,retry:`重试`,raiseCap:`调高上限`},l=`处理中…`,u=`{{action}}:{{title}}`,d={label:`稍后提醒`,hour:`1 小时`,tomorrow:`明天再说`,cancel:`取消`},f=`稍后提醒 {{title}}`,p=`将 {{title}} 推迟`,m=`完成`,h=`将 {{title}} 标记为完成`,g={now:`刚刚`,ago:`{{age}}前`},_={withCount_one:`待处理:{{count}}`,withCount_other:`待处理:{{count}}`,empty:`待处理:无`,title:`{{label}}({{shortcut}})`},v={resumed:`运行已继续`,retried:`已加入重试队列`,resumeFailed:`无法继续该运行`,retryFailed:`无法重试 Jira 更新`,stillOverBudget:`仍超出每日预算`,done:`已标记为完成`,snoozed:`已推迟到 {{when}}`,undo:`撤销`,stillOverBudget_week:`仍超出每周预算`,stillOverBudget_month:`仍超出每月预算`},y={title:{project:{day:`已达到项目每日预算`,week:`已达到项目每周预算`,month:`已达到项目每月预算`},desktop:{day:`已达到全局每日预算`,week:`已达到全局每周预算`,month:`已达到全局每月预算`}},detail:`已花费 {{spent}} / {{budget}}`},b=`无法刷新,当前显示的是上一次的列表。`,x={title:e,subtitle_one:t,subtitle_other:n,subtitleEmpty:r,loading:i,empty:a,error:o,kinds:s,actions:c,working:l,rowLabel:u,snooze:d,snoozeItem:f,snoozeFor:p,done:m,doneItem:h,age:g,button:_,toast:v,cap:y,stale:b};export{c as actions,g as age,_ as button,y as cap,x as default,m as done,h as doneItem,a as empty,o as error,s as kinds,i as loading,u as rowLabel,d as snooze,p as snoozeFor,f as snoozeItem,b as stale,r as subtitleEmpty,t as subtitle_one,n as subtitle_other,e as title,v as toast,l as working};
@@ -0,0 +1 @@
1
+ var e=`Da gestire`,t=`{{count}} elemento ti aspetta`,n=`{{count}} elementi ti aspettano`,r=`Niente ti aspetta`,i=`Controllo dei tuoi progetti…`,a={title:`Nulla richiede il tuo intervento`,description:`Revisioni, domande e errori di tutti i progetti compaiono qui appena accadono.`},o={title:`Impossibile caricare l’elenco Da gestire`,description:`L'app non è riuscita a leggere i tuoi progetti. Riprova tra un momento.`,retry:`Riprova`},s={review:`Revisione pronta`,question:`In attesa della tua risposta`,failed:`Fallito`,blocked:`Bloccato`,budget:`In pausa per budget`,jira:`Sincronizzazione Jira non riuscita`,failedNoCause:`Interrotto prima della consegna`,capReached:`Limite di budget raggiunto`},c={open:`Apri`,openReview:`Apri revisione`,answer:`Rispondi`,resume:`Riprendi`,retry:`Riprova`,raiseCap:`Aumenta limite`},l=`In corso…`,u=`{{action}}: {{title}}`,d={label:`Posticipa`,hour:`1 ora`,tomorrow:`Fino a domani`,cancel:`Annulla`},f=`Posticipa {{title}}`,p=`Posticipa {{title}} di`,m=`Fatto`,h=`Segna {{title}} come fatto`,g={now:`adesso`,ago:`{{age}} fa`},_={withCount_one:`Da gestire: {{count}}`,withCount_other:`Da gestire: {{count}}`,empty:`Da gestire: niente`,title:`{{label}} ({{shortcut}})`},v={resumed:`Esecuzione ripresa`,retried:`Nuovo tentativo in coda`,resumeFailed:`Impossibile riprendere l'esecuzione`,retryFailed:`Impossibile ritentare l'aggiornamento Jira`,stillOverBudget:`Ancora oltre il budget giornaliero`,done:`Segnato come fatto`,snoozed:`Posticipato a {{when}}`,undo:`Annulla`,stillOverBudget_week:`Ancora sopra il budget settimanale`,stillOverBudget_month:`Ancora sopra il budget mensile`},y={title:{project:{day:`Budget giornaliero del progetto raggiunto`,week:`Budget settimanale del progetto raggiunto`,month:`Budget mensile del progetto raggiunto`},desktop:{day:`Budget giornaliero globale raggiunto`,week:`Budget settimanale globale raggiunto`,month:`Budget mensile globale raggiunto`}},detail:`{{spent}} su {{budget}} spesi`},b=`Impossibile aggiornare: viene mostrata l'ultima lista.`,x={title:e,subtitle_one:t,subtitle_other:n,subtitleEmpty:r,loading:i,empty:a,error:o,kinds:s,actions:c,working:l,rowLabel:u,snooze:d,snoozeItem:f,snoozeFor:p,done:m,doneItem:h,age:g,button:_,toast:v,cap:y,stale:b};export{c as actions,g as age,_ as button,y as cap,x as default,m as done,h as doneItem,a as empty,o as error,s as kinds,i as loading,u as rowLabel,d as snooze,p as snoozeFor,f as snoozeItem,b as stale,r as subtitleEmpty,t as subtitle_one,n as subtitle_other,e as title,v as toast,l as working};
@@ -0,0 +1 @@
1
+ var e=`À traiter`,t=`{{count}} élément vous attend`,n=`{{count}} éléments vous attendent`,r=`Rien ne vous attend`,i=`Vérification de vos projets…`,a={title:`Rien n'a besoin de vous`,description:`Les revues, questions et échecs de tous les projets apparaissent ici dès qu'ils surviennent.`},o={title:`Impossible de charger la liste À traiter`,description:`L'application n'a pas pu lire vos projets. Réessayez dans un instant.`,retry:`Réessayer`},s={review:`Revue prête`,question:`En attente de votre réponse`,failed:`Échec`,blocked:`Bloqué`,budget:`En pause (budget)`,jira:`Échec de la synchronisation Jira`,failedNoCause:`Arrêté avant la livraison`,capReached:`Plafond de budget atteint`},c={open:`Ouvrir`,openReview:`Ouvrir la revue`,answer:`Répondre`,resume:`Reprendre`,retry:`Réessayer`,raiseCap:`Relever le plafond`},l=`En cours…`,u=`{{action}} : {{title}}`,d={label:`Reporter`,hour:`1 heure`,tomorrow:`Jusqu'à demain`,cancel:`Annuler`},f=`Reporter {{title}}`,p=`Reporter {{title}} de`,m=`Terminé`,h=`Marquer {{title}} comme terminé`,g={now:`à l'instant`,ago:`il y a {{age}}`},_={withCount_one:`À traiter : {{count}}`,withCount_other:`À traiter : {{count}}`,empty:`À traiter : rien`,title:`{{label}} ({{shortcut}})`},v={resumed:`Exécution reprise`,retried:`Nouvelle tentative en file`,resumeFailed:`Impossible de reprendre l'exécution`,retryFailed:`Impossible de relancer la mise à jour Jira`,stillOverBudget:`Toujours au-dessus du budget quotidien`,done:`Marqué comme terminé`,snoozed:`Reporté jusqu'à {{when}}`,undo:`Annuler`,stillOverBudget_week:`Toujours au-dessus du budget hebdomadaire`,stillOverBudget_month:`Toujours au-dessus du budget mensuel`},y={title:{project:{day:`Budget quotidien du projet atteint`,week:`Budget hebdomadaire du projet atteint`,month:`Budget mensuel du projet atteint`},desktop:{day:`Budget quotidien global atteint`,week:`Budget hebdomadaire global atteint`,month:`Budget mensuel global atteint`}},detail:`{{spent}} dépensés sur {{budget}}`},b=`Actualisation impossible ; la dernière liste est affichée.`,x={title:e,subtitle_one:t,subtitle_other:n,subtitleEmpty:r,loading:i,empty:a,error:o,kinds:s,actions:c,working:l,rowLabel:u,snooze:d,snoozeItem:f,snoozeFor:p,done:m,doneItem:h,age:g,button:_,toast:v,cap:y,stale:b};export{c as actions,g as age,_ as button,y as cap,x as default,m as done,h as doneItem,a as empty,o as error,s as kinds,i as loading,u as rowLabel,d as snooze,p as snoozeFor,f as snoozeItem,b as stale,r as subtitleEmpty,t as subtitle_one,n as subtitle_other,e as title,v as toast,l as working};