termdock 1.4.355 → 1.4.357

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 (495) hide show
  1. package/README.md +22 -4
  2. package/dist/client/assets/AndroidMirrorView-BGagwKtL.js +3 -0
  3. package/dist/client/assets/AndroidMirrorView-BGagwKtL.js.br +0 -0
  4. package/dist/client/assets/AndroidMirrorView-BGagwKtL.js.gz +0 -0
  5. package/dist/client/assets/App-DpMhxwYW.js +178 -0
  6. package/dist/client/assets/App-DpMhxwYW.js.br +0 -0
  7. package/dist/client/assets/App-DpMhxwYW.js.gz +0 -0
  8. package/dist/client/assets/ArchitecturePanel-Bd_l74EC.js +9 -0
  9. package/dist/client/assets/ArchitecturePanel-Bd_l74EC.js.br +0 -0
  10. package/dist/client/assets/ArchitecturePanel-Bd_l74EC.js.gz +0 -0
  11. package/dist/client/assets/{ChangeWalkthroughPanel-mAiaX5i8.js → ChangeWalkthroughPanel-6DN-2BdR.js} +2 -2
  12. package/dist/client/assets/ChangeWalkthroughPanel-6DN-2BdR.js.br +0 -0
  13. package/dist/client/assets/ChangeWalkthroughPanel-6DN-2BdR.js.gz +0 -0
  14. package/dist/client/assets/{ChatRichContent-D2NtgMuL.js → ChatRichContent-DjwpmW7d.js} +55 -55
  15. package/dist/client/assets/ChatRichContent-DjwpmW7d.js.br +0 -0
  16. package/dist/client/assets/ChatRichContent-DjwpmW7d.js.gz +0 -0
  17. package/dist/client/assets/CollaborationMainWorkspace-DPTJ9pCt.js +1 -0
  18. package/dist/client/assets/CollaborationMainWorkspace-DPTJ9pCt.js.br +0 -0
  19. package/dist/client/assets/CollaborationMainWorkspace-DPTJ9pCt.js.gz +0 -0
  20. package/dist/client/assets/CollaborationTaskContent-Cbu1Bjl0.js +1 -0
  21. package/dist/client/assets/ComputerControlView-CwB-wQqB.js +6 -0
  22. package/dist/client/assets/ComputerControlView-CwB-wQqB.js.br +0 -0
  23. package/dist/client/assets/ComputerControlView-CwB-wQqB.js.gz +0 -0
  24. package/dist/client/assets/{DagPlayground-CbEuQA68.js → DagPlayground-DMn9Gyrw.js} +1 -1
  25. package/dist/client/assets/DagPlayground-DMn9Gyrw.js.br +0 -0
  26. package/dist/client/assets/DagPlayground-DMn9Gyrw.js.gz +0 -0
  27. package/dist/client/assets/{DiffLab-PysBkJrJ.js → DiffLab-YBWlCU2T.js} +1 -1
  28. package/dist/client/assets/DiffLab-YBWlCU2T.js.br +0 -0
  29. package/dist/client/assets/DiffLab-YBWlCU2T.js.gz +0 -0
  30. package/dist/client/assets/DiffReview-YOPDWqhv.js +1 -0
  31. package/dist/client/assets/DiffReview-YOPDWqhv.js.br +0 -0
  32. package/dist/client/assets/DiffReview-YOPDWqhv.js.gz +0 -0
  33. package/dist/client/assets/{DiffReviewLab-D6PxvtBY.js → DiffReviewLab-SYomq14c.js} +1 -1
  34. package/dist/client/assets/DiffReviewLab-SYomq14c.js.br +0 -0
  35. package/dist/client/assets/DiffReviewLab-SYomq14c.js.gz +0 -0
  36. package/dist/client/assets/{DiffViewer-Bp-BLT2f.js → DiffViewer-mh9cBl5v.js} +1 -1
  37. package/dist/client/assets/DiffViewer-mh9cBl5v.js.br +0 -0
  38. package/dist/client/assets/DiffViewer-mh9cBl5v.js.gz +0 -0
  39. package/dist/client/assets/{GitLoadingSkeleton-Fa4AXG-N.js → GitLoadingSkeleton-DKRTc5sz.js} +1 -1
  40. package/dist/client/assets/GitLoadingSkeleton-DKRTc5sz.js.br +0 -0
  41. package/dist/client/assets/GitLoadingSkeleton-DKRTc5sz.js.gz +0 -0
  42. package/dist/client/assets/Markdown-C8OP1j-g.js +23 -0
  43. package/dist/client/assets/Markdown-C8OP1j-g.js.br +0 -0
  44. package/dist/client/assets/Markdown-C8OP1j-g.js.gz +0 -0
  45. package/dist/client/assets/Markdown-DKQhs57e.css +1 -0
  46. package/dist/client/assets/Markdown-DKQhs57e.css.br +0 -0
  47. package/dist/client/assets/Markdown-DKQhs57e.css.gz +0 -0
  48. package/dist/client/assets/{ModelPreview-Cl0X7I-U.js → ModelPreview-CsZry3Wd.js} +3 -3
  49. package/dist/client/assets/ModelPreview-CsZry3Wd.js.br +0 -0
  50. package/dist/client/assets/ModelPreview-CsZry3Wd.js.gz +0 -0
  51. package/dist/client/assets/RecordingSaveDialog-CoRGi97z.js +1 -0
  52. package/dist/client/assets/RecordingSaveDialog-CoRGi97z.js.br +0 -0
  53. package/dist/client/assets/RecordingSaveDialog-CoRGi97z.js.gz +0 -0
  54. package/dist/client/assets/RightSidebar-DNY2kC6B.js +1662 -0
  55. package/dist/client/assets/RightSidebar-DNY2kC6B.js.br +0 -0
  56. package/dist/client/assets/RightSidebar-DNY2kC6B.js.gz +0 -0
  57. package/dist/client/assets/SessionChatView-DXNpYUrk.js +13 -0
  58. package/dist/client/assets/SessionChatView-DXNpYUrk.js.br +0 -0
  59. package/dist/client/assets/SessionChatView-DXNpYUrk.js.gz +0 -0
  60. package/dist/client/assets/SessionResourceSidebar-B_379HBJ.js +2 -0
  61. package/dist/client/assets/SessionResourceSidebar-B_379HBJ.js.br +0 -0
  62. package/dist/client/assets/SessionResourceSidebar-B_379HBJ.js.gz +0 -0
  63. package/dist/client/assets/TodoWorkspace-DfwGOAHB.js +1 -0
  64. package/dist/client/assets/TodoWorkspace-DfwGOAHB.js.br +0 -0
  65. package/dist/client/assets/TodoWorkspace-DfwGOAHB.js.gz +0 -0
  66. package/dist/client/assets/{abnfDiagram-VCTEODGH-BajyXVpH.js → abnfDiagram-VCTEODGH-C9M0gnl-.js} +1 -1
  67. package/dist/client/assets/abnfDiagram-VCTEODGH-C9M0gnl-.js.br +0 -0
  68. package/dist/client/assets/abnfDiagram-VCTEODGH-C9M0gnl-.js.gz +0 -0
  69. package/dist/client/assets/app-CovJYQoW.js +37 -0
  70. package/dist/client/assets/app-CovJYQoW.js.br +0 -0
  71. package/dist/client/assets/app-CovJYQoW.js.gz +0 -0
  72. package/dist/client/assets/{arc-CbhM5I2d.js → arc-q4wfkQcT.js} +1 -1
  73. package/dist/client/assets/arc-q4wfkQcT.js.br +0 -0
  74. package/dist/client/assets/arc-q4wfkQcT.js.gz +0 -0
  75. package/dist/client/assets/{architectureDiagram-5GKGNRK7-CDKLcS6D.js → architectureDiagram-5GKGNRK7-CCuna3ab.js} +1 -1
  76. package/dist/client/assets/architectureDiagram-5GKGNRK7-CCuna3ab.js.br +0 -0
  77. package/dist/client/assets/architectureDiagram-5GKGNRK7-CCuna3ab.js.gz +0 -0
  78. package/dist/client/assets/{arrow-down-Dp27yS0N.js → arrow-down-WyzmLXwQ.js} +1 -1
  79. package/dist/client/assets/{blockDiagram-I7D4REHJ-CXiIO6_W.js → blockDiagram-I7D4REHJ-BXK68Qyt.js} +1 -1
  80. package/dist/client/assets/blockDiagram-I7D4REHJ-BXK68Qyt.js.br +0 -0
  81. package/dist/client/assets/blockDiagram-I7D4REHJ-BXK68Qyt.js.gz +0 -0
  82. package/dist/client/assets/{c4Diagram-7LVT6UL2-uZ-i2eKH.js → c4Diagram-7LVT6UL2-BqwmmVmS.js} +1 -1
  83. package/dist/client/assets/{c4Diagram-7LVT6UL2-uZ-i2eKH.js.br → c4Diagram-7LVT6UL2-BqwmmVmS.js.br} +0 -0
  84. package/dist/client/assets/c4Diagram-7LVT6UL2-BqwmmVmS.js.gz +0 -0
  85. package/dist/client/assets/channel-Dd6WQGB7.js +1 -0
  86. package/dist/client/assets/{chevron-left-D8ntyw2S.js → chevron-left-CxeWIsDK.js} +1 -1
  87. package/dist/client/assets/{chunk-2Q5K7J3B-DVe3dVJR.js → chunk-2Q5K7J3B-esKGR38U.js} +1 -1
  88. package/dist/client/assets/{chunk-5VM5RSS4-BDBNKGuU.js → chunk-5VM5RSS4-B3InxqDA.js} +1 -1
  89. package/dist/client/assets/{chunk-F27PBJKO-BP7hTwtm.js → chunk-F27PBJKO-CjUVyF-E.js} +1 -1
  90. package/dist/client/assets/chunk-F27PBJKO-CjUVyF-E.js.br +0 -0
  91. package/dist/client/assets/chunk-F27PBJKO-CjUVyF-E.js.gz +0 -0
  92. package/dist/client/assets/{chunk-IMKFNOWR-LIGuOtnb.js → chunk-IMKFNOWR-BR8mmBs7.js} +1 -1
  93. package/dist/client/assets/chunk-IMKFNOWR-BR8mmBs7.js.br +0 -0
  94. package/dist/client/assets/chunk-IMKFNOWR-BR8mmBs7.js.gz +0 -0
  95. package/dist/client/assets/{chunk-JWPE2WC7-C1_iFEvk.js → chunk-JWPE2WC7-CplXNOA7.js} +1 -1
  96. package/dist/client/assets/{chunk-POPQ4Y6H-CYZsO-QL.js → chunk-POPQ4Y6H-D0JWCGnb.js} +1 -1
  97. package/dist/client/assets/{chunk-SVP7TREG-FnWYLNCS.js → chunk-SVP7TREG-BdJtJSmy.js} +1 -1
  98. package/dist/client/assets/chunk-SVP7TREG-BdJtJSmy.js.br +0 -0
  99. package/dist/client/assets/chunk-SVP7TREG-BdJtJSmy.js.gz +0 -0
  100. package/dist/client/assets/{chunk-TICWLB2K-dcOCcmQq.js → chunk-TICWLB2K-CoevFj8I.js} +1 -1
  101. package/dist/client/assets/chunk-TICWLB2K-CoevFj8I.js.br +0 -0
  102. package/dist/client/assets/chunk-TICWLB2K-CoevFj8I.js.gz +0 -0
  103. package/dist/client/assets/{chunk-XXDRQBXY-B2H2Yt9G.js → chunk-XXDRQBXY-D7qYRhMH.js} +1 -1
  104. package/dist/client/assets/{circle-Pldg1yI9.js → circle-xgKDXpwG.js} +1 -1
  105. package/dist/client/assets/classDiagram-ZZMXUADV-BdIUq_D7.js +1 -0
  106. package/dist/client/assets/classDiagram-v2-VYDZK3BY-BdIUq_D7.js +1 -0
  107. package/dist/client/assets/{clipboard-tTkMEO1S.js → clipboard-DeK6pJD3.js} +1 -1
  108. package/dist/client/assets/clipboardText-BWOwer6N.js +1 -0
  109. package/dist/client/assets/clipboardText-BWOwer6N.js.br +0 -0
  110. package/dist/client/assets/clipboardText-BWOwer6N.js.gz +0 -0
  111. package/dist/client/assets/clipboardText-vX90C7eX.css +1 -0
  112. package/dist/client/assets/clipboardText-vX90C7eX.css.br +0 -0
  113. package/dist/client/assets/clipboardText-vX90C7eX.css.gz +0 -0
  114. package/dist/client/assets/{cose-bilkent-JH36ORCC-Bz38mqD8.js → cose-bilkent-JH36ORCC-CvnsiaWP.js} +1 -1
  115. package/dist/client/assets/cose-bilkent-JH36ORCC-CvnsiaWP.js.br +0 -0
  116. package/dist/client/assets/cose-bilkent-JH36ORCC-CvnsiaWP.js.gz +0 -0
  117. package/dist/client/assets/{cynefin-OW5HDTMX-CZAa1A6y.js → cynefin-OW5HDTMX-BSGz8Olu.js} +1 -1
  118. package/dist/client/assets/cynefin-OW5HDTMX-BSGz8Olu.js.br +0 -0
  119. package/dist/client/assets/cynefin-OW5HDTMX-BSGz8Olu.js.gz +0 -0
  120. package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-BaQnW4VG.js → cynefinDiagram-5FMLGOSQ-DYYT0AHs.js} +1 -1
  121. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-DYYT0AHs.js.br +0 -0
  122. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-DYYT0AHs.js.gz +0 -0
  123. package/dist/client/assets/{dagre-GXQ25YYZ-BdnT61bc.js → dagre-GXQ25YYZ-BM883MN7.js} +1 -1
  124. package/dist/client/assets/dagre-GXQ25YYZ-BM883MN7.js.br +0 -0
  125. package/dist/client/assets/dagre-GXQ25YYZ-BM883MN7.js.gz +0 -0
  126. package/dist/client/assets/{diagram-S7CK7UJ4-BWiF8QNc.js → diagram-S7CK7UJ4-CYnxXy7R.js} +1 -1
  127. package/dist/client/assets/diagram-S7CK7UJ4-CYnxXy7R.js.br +0 -0
  128. package/dist/client/assets/diagram-S7CK7UJ4-CYnxXy7R.js.gz +0 -0
  129. package/dist/client/assets/{diagram-UQ7AKVKN-DLURjCFp.js → diagram-UQ7AKVKN-UOIBVxRf.js} +1 -1
  130. package/dist/client/assets/diagram-UQ7AKVKN-UOIBVxRf.js.br +0 -0
  131. package/dist/client/assets/diagram-UQ7AKVKN-UOIBVxRf.js.gz +0 -0
  132. package/dist/client/assets/{diagram-VSXAHHWV-DYIcLklz.js → diagram-VSXAHHWV-CqTJzfmm.js} +1 -1
  133. package/dist/client/assets/diagram-VSXAHHWV-CqTJzfmm.js.br +0 -0
  134. package/dist/client/assets/diagram-VSXAHHWV-CqTJzfmm.js.gz +0 -0
  135. package/dist/client/assets/{diagram-VX7I27RA-C9vqviXX.js → diagram-VX7I27RA-T9Y88CFB.js} +1 -1
  136. package/dist/client/assets/diagram-VX7I27RA-T9Y88CFB.js.br +0 -0
  137. package/dist/client/assets/diagram-VX7I27RA-T9Y88CFB.js.gz +0 -0
  138. package/dist/client/assets/{diagram-Z3DM3KII-BJuQxTkw.js → diagram-Z3DM3KII-kIQDy7E0.js} +1 -1
  139. package/dist/client/assets/diagram-Z3DM3KII-kIQDy7E0.js.br +0 -0
  140. package/dist/client/assets/diagram-Z3DM3KII-kIQDy7E0.js.gz +0 -0
  141. package/dist/client/assets/{ebnfDiagram-PWID7BFC-BcbISm-z.js → ebnfDiagram-PWID7BFC-z_VqR_JE.js} +1 -1
  142. package/dist/client/assets/ebnfDiagram-PWID7BFC-z_VqR_JE.js.br +0 -0
  143. package/dist/client/assets/ebnfDiagram-PWID7BFC-z_VqR_JE.js.gz +0 -0
  144. package/dist/client/assets/{erDiagram-RLTQ6QDP-fhNpRzUG.js → erDiagram-RLTQ6QDP-0q52Z-pm.js} +1 -1
  145. package/dist/client/assets/erDiagram-RLTQ6QDP-0q52Z-pm.js.br +0 -0
  146. package/dist/client/assets/erDiagram-RLTQ6QDP-0q52Z-pm.js.gz +0 -0
  147. package/dist/client/assets/{external-link-DE8Gj-da.js → external-link-CsydVmO1.js} +1 -1
  148. package/dist/client/assets/{flowDiagram-HODETNUW-CVDJ_1Zu.js → flowDiagram-HODETNUW-BrGqcUWn.js} +1 -1
  149. package/dist/client/assets/flowDiagram-HODETNUW-BrGqcUWn.js.br +0 -0
  150. package/dist/client/assets/flowDiagram-HODETNUW-BrGqcUWn.js.gz +0 -0
  151. package/dist/client/assets/{ganttDiagram-EL5Y4UJY-Dzn-mrfe.js → ganttDiagram-EL5Y4UJY-CHAN6vQv.js} +1 -1
  152. package/dist/client/assets/ganttDiagram-EL5Y4UJY-CHAN6vQv.js.br +0 -0
  153. package/dist/client/assets/ganttDiagram-EL5Y4UJY-CHAN6vQv.js.gz +0 -0
  154. package/dist/client/assets/{git-compare-Ct2eJNs4.js → git-compare-BmKAtQTt.js} +1 -1
  155. package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-Ci-wfvCz.js → gitGraphDiagram-WWUBYQGX-C0ZV4FeB.js} +1 -1
  156. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-C0ZV4FeB.js.br +0 -0
  157. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-C0ZV4FeB.js.gz +0 -0
  158. package/dist/client/assets/index-DEAMSl55.css +1 -0
  159. package/dist/client/assets/index-DEAMSl55.css.br +0 -0
  160. package/dist/client/assets/index-DEAMSl55.css.gz +0 -0
  161. package/dist/client/assets/{infoDiagram-27XIBGKW-npBmeTt7.js → infoDiagram-27XIBGKW-CrLj9y1o.js} +1 -1
  162. package/dist/client/assets/{ishikawaDiagram-5VMMS53U-CCn5Ha25.js → ishikawaDiagram-5VMMS53U-BxGvUfLX.js} +1 -1
  163. package/dist/client/assets/ishikawaDiagram-5VMMS53U-BxGvUfLX.js.br +0 -0
  164. package/dist/client/assets/ishikawaDiagram-5VMMS53U-BxGvUfLX.js.gz +0 -0
  165. package/dist/client/assets/{journeyDiagram-3NMN7TZE-CPl5oPfe.js → journeyDiagram-3NMN7TZE-rW9xlQ8G.js} +1 -1
  166. package/dist/client/assets/journeyDiagram-3NMN7TZE-rW9xlQ8G.js.br +0 -0
  167. package/dist/client/assets/journeyDiagram-3NMN7TZE-rW9xlQ8G.js.gz +0 -0
  168. package/dist/client/assets/{kanban-definition-UXKFOSKX-Dmia2kLZ.js → kanban-definition-UXKFOSKX-CFI5iv9R.js} +1 -1
  169. package/dist/client/assets/kanban-definition-UXKFOSKX-CFI5iv9R.js.br +0 -0
  170. package/dist/client/assets/kanban-definition-UXKFOSKX-CFI5iv9R.js.gz +0 -0
  171. package/dist/client/assets/{layout-B2Kz5M73.js → layout-Ct_an5XT.js} +1 -1
  172. package/dist/client/assets/layout-Ct_an5XT.js.br +0 -0
  173. package/dist/client/assets/layout-Ct_an5XT.js.gz +0 -0
  174. package/dist/client/assets/{linear-D2CT7wE3.js → linear-DpEFOA9l.js} +1 -1
  175. package/dist/client/assets/linear-DpEFOA9l.js.br +0 -0
  176. package/dist/client/assets/linear-DpEFOA9l.js.gz +0 -0
  177. package/dist/client/assets/{link-x33s12VI.js → link-34ChBc4F.js} +3 -3
  178. package/dist/client/assets/link-34ChBc4F.js.br +0 -0
  179. package/dist/client/assets/link-34ChBc4F.js.gz +0 -0
  180. package/dist/client/assets/{list-tree-XBmm9il2.js → list-tree-48dzbuUh.js} +1 -1
  181. package/dist/client/assets/{maximize-2-t-zzENew.js → maximize-2-CbvSsu7O.js} +1 -1
  182. package/dist/client/assets/{mermaid.core-G9XIcppl.js → mermaid.core-DnVKnMmy.js} +5 -5
  183. package/dist/client/assets/mermaid.core-DnVKnMmy.js.br +0 -0
  184. package/dist/client/assets/mermaid.core-DnVKnMmy.js.gz +0 -0
  185. package/dist/client/assets/{mindmap-definition-YA3MSWOX-D2OX9OkO.js → mindmap-definition-YA3MSWOX-C6shupTY.js} +1 -1
  186. package/dist/client/assets/mindmap-definition-YA3MSWOX-C6shupTY.js.br +0 -0
  187. package/dist/client/assets/mindmap-definition-YA3MSWOX-C6shupTY.js.gz +0 -0
  188. package/dist/client/assets/{passwordBootstrap-DkTynZfV.js → passwordBootstrap-Doe50DSa.js} +1 -1
  189. package/dist/client/assets/passwordBootstrap-Doe50DSa.js.br +0 -0
  190. package/dist/client/assets/passwordBootstrap-Doe50DSa.js.gz +0 -0
  191. package/dist/client/assets/{pegDiagram-XKGWAZYB-qNjd6dbd.js → pegDiagram-XKGWAZYB-CDcnrvKX.js} +1 -1
  192. package/dist/client/assets/pegDiagram-XKGWAZYB-CDcnrvKX.js.br +0 -0
  193. package/dist/client/assets/pegDiagram-XKGWAZYB-CDcnrvKX.js.gz +0 -0
  194. package/dist/client/assets/{pieDiagram-E7YTZNPT-DcCmKDFh.js → pieDiagram-E7YTZNPT-CrGc03Tg.js} +1 -1
  195. package/dist/client/assets/pieDiagram-E7YTZNPT-CrGc03Tg.js.br +0 -0
  196. package/dist/client/assets/pieDiagram-E7YTZNPT-CrGc03Tg.js.gz +0 -0
  197. package/dist/client/assets/{quadrantDiagram-AXDQQJYC-BpDzkl9h.js → quadrantDiagram-AXDQQJYC-3-aldwKj.js} +1 -1
  198. package/dist/client/assets/quadrantDiagram-AXDQQJYC-3-aldwKj.js.br +0 -0
  199. package/dist/client/assets/quadrantDiagram-AXDQQJYC-3-aldwKj.js.gz +0 -0
  200. package/dist/client/assets/{quote-DeByS04O.js → quote-B5GeKEq1.js} +1 -1
  201. package/dist/client/assets/{railroadDiagram-O6MQD6OU-DkwV8w7x.js → railroadDiagram-O6MQD6OU-51uKwR2_.js} +1 -1
  202. package/dist/client/assets/railroadDiagram-O6MQD6OU-51uKwR2_.js.br +0 -0
  203. package/dist/client/assets/railroadDiagram-O6MQD6OU-51uKwR2_.js.gz +0 -0
  204. package/dist/client/assets/rdpSession-ocpkj4XY.js +1 -0
  205. package/dist/client/assets/rdpSession-ocpkj4XY.js.br +0 -0
  206. package/dist/client/assets/rdpSession-ocpkj4XY.js.gz +0 -0
  207. package/dist/client/assets/referenceSelection-fvfRDbgp.js +4 -0
  208. package/dist/client/assets/referenceSelection-fvfRDbgp.js.br +0 -0
  209. package/dist/client/assets/referenceSelection-fvfRDbgp.js.gz +0 -0
  210. package/dist/client/assets/{requirementDiagram-BXWQKSXE-BRwt5MXl.js → requirementDiagram-BXWQKSXE-CY6kp0_Y.js} +1 -1
  211. package/dist/client/assets/requirementDiagram-BXWQKSXE-CY6kp0_Y.js.br +0 -0
  212. package/dist/client/assets/requirementDiagram-BXWQKSXE-CY6kp0_Y.js.gz +0 -0
  213. package/dist/client/assets/{sankeyDiagram-P5KCCOFB-DZ8y_gv3.js → sankeyDiagram-P5KCCOFB-BsA0NkHG.js} +1 -1
  214. package/dist/client/assets/sankeyDiagram-P5KCCOFB-BsA0NkHG.js.br +0 -0
  215. package/dist/client/assets/sankeyDiagram-P5KCCOFB-BsA0NkHG.js.gz +0 -0
  216. package/dist/client/assets/{search-CDJ4fv-q.js → search-CbpNLSpd.js} +1 -1
  217. package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-CJ9lZEsN.js → sequenceDiagram-WJ2MYXX4-BDzn7N2D.js} +1 -1
  218. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-BDzn7N2D.js.br +0 -0
  219. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-BDzn7N2D.js.gz +0 -0
  220. package/dist/client/assets/{sizeCapture-INFHLROL-Dt9ZzegQ.js → sizeCapture-INFHLROL-gxtam7nc.js} +1 -1
  221. package/dist/client/assets/sizeCapture-INFHLROL-gxtam7nc.js.br +0 -0
  222. package/dist/client/assets/sizeCapture-INFHLROL-gxtam7nc.js.gz +0 -0
  223. package/dist/client/assets/{stateDiagram-D77RDMKH-DgeQtV3s.js → stateDiagram-D77RDMKH-C4XjYLZR.js} +1 -1
  224. package/dist/client/assets/stateDiagram-D77RDMKH-C4XjYLZR.js.br +0 -0
  225. package/dist/client/assets/stateDiagram-D77RDMKH-C4XjYLZR.js.gz +0 -0
  226. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-BfHWFf-I.js +1 -0
  227. package/dist/client/assets/{sun-CvzpsfHU.js → sun-CMXn_ntS.js} +1 -1
  228. package/dist/client/assets/{swimlanes-42K2YHIH-DHB6MQ8v.js → swimlanes-42K2YHIH--a1wkQO8.js} +1 -1
  229. package/dist/client/assets/swimlanes-42K2YHIH--a1wkQO8.js.br +0 -0
  230. package/dist/client/assets/swimlanes-42K2YHIH--a1wkQO8.js.gz +0 -0
  231. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DsiDF1XD.js +8 -0
  232. package/dist/client/assets/swiper-CTPycjLq.js +1 -0
  233. package/dist/client/assets/swiper-CTPycjLq.js.br +0 -0
  234. package/dist/client/assets/swiper-CTPycjLq.js.gz +0 -0
  235. package/dist/client/assets/{terminal-Dea8wJF3.js → terminal-DaiFCKy_.js} +7 -7
  236. package/dist/client/assets/terminal-DaiFCKy_.js.br +0 -0
  237. package/dist/client/assets/terminal-DaiFCKy_.js.gz +0 -0
  238. package/dist/client/assets/{timeline-definition-24CTP7MA-EqVVyv-E.js → timeline-definition-24CTP7MA-DFmXXUuU.js} +1 -1
  239. package/dist/client/assets/timeline-definition-24CTP7MA-DFmXXUuU.js.br +0 -0
  240. package/dist/client/assets/timeline-definition-24CTP7MA-DFmXXUuU.js.gz +0 -0
  241. package/dist/client/assets/triangle-alert-DgGU_xB4.js +1 -0
  242. package/dist/client/assets/{unplug-BNUx6Lmk.js → unplug-CnZtWzVW.js} +1 -1
  243. package/dist/client/assets/use-gesture-react.esm-DHU0wi7Q.js +1 -0
  244. package/dist/client/assets/use-gesture-react.esm-DHU0wi7Q.js.br +0 -0
  245. package/dist/client/assets/use-gesture-react.esm-DHU0wi7Q.js.gz +0 -0
  246. package/dist/client/assets/{vennDiagram-4TSXK5OY-BBE17-sL.js → vennDiagram-4TSXK5OY-DgR4zroQ.js} +1 -1
  247. package/dist/client/assets/vennDiagram-4TSXK5OY-DgR4zroQ.js.br +0 -0
  248. package/dist/client/assets/vennDiagram-4TSXK5OY-DgR4zroQ.js.gz +0 -0
  249. package/dist/client/assets/{videoCompression-B09OiyP5.js → videoCompression-CcffRZdP.js} +1 -1
  250. package/dist/client/assets/videoCompression-CcffRZdP.js.br +0 -0
  251. package/dist/client/assets/videoCompression-CcffRZdP.js.gz +0 -0
  252. package/dist/client/assets/{wardleyDiagram-VM6X3IG4-B4gZGXiA.js → wardleyDiagram-VM6X3IG4-CY4SVUkf.js} +1 -1
  253. package/dist/client/assets/wardleyDiagram-VM6X3IG4-CY4SVUkf.js.br +0 -0
  254. package/dist/client/assets/wardleyDiagram-VM6X3IG4-CY4SVUkf.js.gz +0 -0
  255. package/dist/client/assets/{xychartDiagram-S5SC5T6Z-BDO5xF5D.js → xychartDiagram-S5SC5T6Z-PblQhR-b.js} +1 -1
  256. package/dist/client/assets/xychartDiagram-S5SC5T6Z-PblQhR-b.js.br +0 -0
  257. package/dist/client/assets/xychartDiagram-S5SC5T6Z-PblQhR-b.js.gz +0 -0
  258. package/dist/client/index.html +3 -3
  259. package/dist/client/index.html.br +0 -0
  260. package/dist/client/index.html.gz +0 -0
  261. package/dist/client/sw-encrypted-background.js +1 -1
  262. package/dist/client/sw-encrypted-background.js.br +0 -0
  263. package/dist/client/sw-encrypted-background.js.gz +0 -0
  264. package/dist/client/sw.js +1 -1
  265. package/dist/client/sw.js.br +0 -0
  266. package/dist/client/sw.js.gz +0 -0
  267. package/dist/server/agent/chatUIPrompt.js +1 -0
  268. package/dist/server/agent/collaborationPeerTransport.js +14 -69
  269. package/dist/server/agent/collaborationStore.js +5 -0
  270. package/dist/server/agent/installers.js +89 -33
  271. package/dist/server/agent/integrationServer.js +31 -2
  272. package/dist/server/agent/pluginPackages.js +51 -22
  273. package/dist/server/agent/sessionChatRoutes.js +45 -7
  274. package/dist/server/agentHook.js +56 -12
  275. package/dist/server/android/adb.js +24 -31
  276. package/dist/server/cli.js +52 -110
  277. package/dist/server/entry.js +17 -23
  278. package/dist/server/federation/cli.js +13 -47
  279. package/dist/server/federation/connectionErrors.js +37 -0
  280. package/dist/server/federation/connectionModel.js +83 -0
  281. package/dist/server/federation/desktopTargets.js +35 -13
  282. package/dist/server/federation/directRoutes.js +28 -36
  283. package/dist/server/federation/directTargetRegistry.js +106 -0
  284. package/dist/server/federation/httpUploadLimit.js +8 -0
  285. package/dist/server/federation/invitations.js +5 -1
  286. package/dist/server/federation/relay.js +13 -6
  287. package/dist/server/federation/relayTransport.js +147 -0
  288. package/dist/server/federation/routeAccess.js +5 -3
  289. package/dist/server/federation/routeInvitations.js +5 -1
  290. package/dist/server/federation/runtime.js +4 -2
  291. package/dist/server/federation/selfRelay.js +10 -59
  292. package/dist/server/federation/serviceTransport.js +123 -0
  293. package/dist/server/federation/streamLimits.js +3 -0
  294. package/dist/server/federation/trustedCa.js +61 -0
  295. package/dist/server/routes/android.js +5 -7
  296. package/dist/server/routes/terminal.js +149 -111
  297. package/dist/server/shared/androidDevices.js +64 -0
  298. package/dist/server/shared/programStatus.js +174 -0
  299. package/dist/server/shared/shareResources.js +3 -2
  300. package/dist/server/todos/routes.js +36 -0
  301. package/dist/server/todos/store.js +31 -1
  302. package/dist/server/utils/bootCheck.js +41 -271
  303. package/dist/server/utils/localHttpsSetup.js +257 -0
  304. package/dist/server/utils/oscBuffer.js +9 -0
  305. package/dist/server/utils/sessionDisplayName.js +11 -9
  306. package/dist/server/utils/settings.js +6 -3
  307. package/dist/server/utils/tmuxDisplayGeometry.js +54 -0
  308. package/dist/server/utils/tmuxObserverSize.js +26 -0
  309. package/docs/integrations.md +2 -1
  310. package/package.json +5 -1
  311. package/runtime-manifest.json +3 -3
  312. package/scripts/ensure-node-pty.cjs +22 -7
  313. package/scripts/install-utils.cjs +81 -0
  314. package/scripts/postinstall.mjs +24 -110
  315. package/dist/client/assets/AndroidMirrorView-BC_6L3mG.js +0 -3
  316. package/dist/client/assets/AndroidMirrorView-BC_6L3mG.js.br +0 -0
  317. package/dist/client/assets/AndroidMirrorView-BC_6L3mG.js.gz +0 -0
  318. package/dist/client/assets/App-BGECv_n_.js +0 -178
  319. package/dist/client/assets/App-BGECv_n_.js.br +0 -0
  320. package/dist/client/assets/App-BGECv_n_.js.gz +0 -0
  321. package/dist/client/assets/ArchitecturePanel-CYdolNzT.js +0 -9
  322. package/dist/client/assets/ArchitecturePanel-CYdolNzT.js.br +0 -0
  323. package/dist/client/assets/ArchitecturePanel-CYdolNzT.js.gz +0 -0
  324. package/dist/client/assets/ChangeWalkthroughPanel-mAiaX5i8.js.br +0 -0
  325. package/dist/client/assets/ChangeWalkthroughPanel-mAiaX5i8.js.gz +0 -0
  326. package/dist/client/assets/ChatRichContent-D2NtgMuL.js.br +0 -0
  327. package/dist/client/assets/ChatRichContent-D2NtgMuL.js.gz +0 -0
  328. package/dist/client/assets/CollaborationMainWorkspace-CcHsVfXD.js +0 -1
  329. package/dist/client/assets/CollaborationMainWorkspace-CcHsVfXD.js.br +0 -0
  330. package/dist/client/assets/CollaborationMainWorkspace-CcHsVfXD.js.gz +0 -0
  331. package/dist/client/assets/CollaborationTaskContent-FcrGGSr_.js +0 -2
  332. package/dist/client/assets/ComputerControlView-DU9krDsg.js +0 -6
  333. package/dist/client/assets/ComputerControlView-DU9krDsg.js.br +0 -0
  334. package/dist/client/assets/ComputerControlView-DU9krDsg.js.gz +0 -0
  335. package/dist/client/assets/DagPlayground-CbEuQA68.js.br +0 -0
  336. package/dist/client/assets/DagPlayground-CbEuQA68.js.gz +0 -0
  337. package/dist/client/assets/DiffLab-PysBkJrJ.js.br +0 -0
  338. package/dist/client/assets/DiffLab-PysBkJrJ.js.gz +0 -0
  339. package/dist/client/assets/DiffReview-Ce3wKMBk.js +0 -1
  340. package/dist/client/assets/DiffReview-Ce3wKMBk.js.br +0 -0
  341. package/dist/client/assets/DiffReview-Ce3wKMBk.js.gz +0 -0
  342. package/dist/client/assets/DiffReviewLab-D6PxvtBY.js.br +0 -0
  343. package/dist/client/assets/DiffReviewLab-D6PxvtBY.js.gz +0 -0
  344. package/dist/client/assets/DiffViewer-Bp-BLT2f.js.br +0 -0
  345. package/dist/client/assets/DiffViewer-Bp-BLT2f.js.gz +0 -0
  346. package/dist/client/assets/GitLoadingSkeleton-Fa4AXG-N.js.br +0 -0
  347. package/dist/client/assets/GitLoadingSkeleton-Fa4AXG-N.js.gz +0 -0
  348. package/dist/client/assets/MarkdownPreview-_Z5UzhLt.js +0 -19
  349. package/dist/client/assets/MarkdownPreview-_Z5UzhLt.js.br +0 -0
  350. package/dist/client/assets/MarkdownPreview-_Z5UzhLt.js.gz +0 -0
  351. package/dist/client/assets/ModelPreview-Cl0X7I-U.js.br +0 -0
  352. package/dist/client/assets/ModelPreview-Cl0X7I-U.js.gz +0 -0
  353. package/dist/client/assets/RecordingSaveDialog-Ca2iJsOW.js +0 -1
  354. package/dist/client/assets/RecordingSaveDialog-Ca2iJsOW.js.br +0 -0
  355. package/dist/client/assets/RecordingSaveDialog-Ca2iJsOW.js.gz +0 -0
  356. package/dist/client/assets/RightSidebar-CwXIBpEw.js +0 -1662
  357. package/dist/client/assets/RightSidebar-CwXIBpEw.js.br +0 -0
  358. package/dist/client/assets/RightSidebar-CwXIBpEw.js.gz +0 -0
  359. package/dist/client/assets/SessionChatView-D3sLcYAc.js +0 -13
  360. package/dist/client/assets/SessionChatView-D3sLcYAc.js.br +0 -0
  361. package/dist/client/assets/SessionChatView-D3sLcYAc.js.gz +0 -0
  362. package/dist/client/assets/SessionChatView-D8GoESjb.css +0 -1
  363. package/dist/client/assets/SessionChatView-D8GoESjb.css.br +0 -0
  364. package/dist/client/assets/SessionChatView-D8GoESjb.css.gz +0 -0
  365. package/dist/client/assets/SessionResourceSidebar-BObKJeA9.js +0 -2
  366. package/dist/client/assets/SessionResourceSidebar-BObKJeA9.js.br +0 -0
  367. package/dist/client/assets/SessionResourceSidebar-BObKJeA9.js.gz +0 -0
  368. package/dist/client/assets/TodoWorkspace-BdesAuz4.js +0 -1
  369. package/dist/client/assets/TodoWorkspace-BdesAuz4.js.br +0 -0
  370. package/dist/client/assets/TodoWorkspace-BdesAuz4.js.gz +0 -0
  371. package/dist/client/assets/abnfDiagram-VCTEODGH-BajyXVpH.js.br +0 -0
  372. package/dist/client/assets/abnfDiagram-VCTEODGH-BajyXVpH.js.gz +0 -0
  373. package/dist/client/assets/app-C3WX_u_Z.js +0 -37
  374. package/dist/client/assets/app-C3WX_u_Z.js.br +0 -0
  375. package/dist/client/assets/app-C3WX_u_Z.js.gz +0 -0
  376. package/dist/client/assets/arc-CbhM5I2d.js.br +0 -0
  377. package/dist/client/assets/arc-CbhM5I2d.js.gz +0 -0
  378. package/dist/client/assets/architectureDiagram-5GKGNRK7-CDKLcS6D.js.br +0 -0
  379. package/dist/client/assets/architectureDiagram-5GKGNRK7-CDKLcS6D.js.gz +0 -0
  380. package/dist/client/assets/arrow-up-BEUQcf-s.js +0 -1
  381. package/dist/client/assets/blockDiagram-I7D4REHJ-CXiIO6_W.js.br +0 -0
  382. package/dist/client/assets/blockDiagram-I7D4REHJ-CXiIO6_W.js.gz +0 -0
  383. package/dist/client/assets/c4Diagram-7LVT6UL2-uZ-i2eKH.js.gz +0 -0
  384. package/dist/client/assets/channel-Dg7JKsqi.js +0 -1
  385. package/dist/client/assets/chunk-F27PBJKO-BP7hTwtm.js.br +0 -0
  386. package/dist/client/assets/chunk-F27PBJKO-BP7hTwtm.js.gz +0 -0
  387. package/dist/client/assets/chunk-IMKFNOWR-LIGuOtnb.js.br +0 -0
  388. package/dist/client/assets/chunk-IMKFNOWR-LIGuOtnb.js.gz +0 -0
  389. package/dist/client/assets/chunk-SVP7TREG-FnWYLNCS.js.br +0 -0
  390. package/dist/client/assets/chunk-SVP7TREG-FnWYLNCS.js.gz +0 -0
  391. package/dist/client/assets/chunk-TICWLB2K-dcOCcmQq.js.br +0 -0
  392. package/dist/client/assets/chunk-TICWLB2K-dcOCcmQq.js.gz +0 -0
  393. package/dist/client/assets/classDiagram-ZZMXUADV-D6QBd_IP.js +0 -1
  394. package/dist/client/assets/classDiagram-v2-VYDZK3BY-D6QBd_IP.js +0 -1
  395. package/dist/client/assets/clipboardText-BapOM7QN.js +0 -1
  396. package/dist/client/assets/clipboardText-BapOM7QN.js.br +0 -0
  397. package/dist/client/assets/clipboardText-BapOM7QN.js.gz +0 -0
  398. package/dist/client/assets/cose-bilkent-JH36ORCC-Bz38mqD8.js.br +0 -0
  399. package/dist/client/assets/cose-bilkent-JH36ORCC-Bz38mqD8.js.gz +0 -0
  400. package/dist/client/assets/cynefin-OW5HDTMX-CZAa1A6y.js.br +0 -0
  401. package/dist/client/assets/cynefin-OW5HDTMX-CZAa1A6y.js.gz +0 -0
  402. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-BaQnW4VG.js.br +0 -0
  403. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-BaQnW4VG.js.gz +0 -0
  404. package/dist/client/assets/dagre-GXQ25YYZ-BdnT61bc.js.br +0 -0
  405. package/dist/client/assets/dagre-GXQ25YYZ-BdnT61bc.js.gz +0 -0
  406. package/dist/client/assets/diagram-S7CK7UJ4-BWiF8QNc.js.br +0 -0
  407. package/dist/client/assets/diagram-S7CK7UJ4-BWiF8QNc.js.gz +0 -0
  408. package/dist/client/assets/diagram-UQ7AKVKN-DLURjCFp.js.br +0 -0
  409. package/dist/client/assets/diagram-UQ7AKVKN-DLURjCFp.js.gz +0 -0
  410. package/dist/client/assets/diagram-VSXAHHWV-DYIcLklz.js.br +0 -0
  411. package/dist/client/assets/diagram-VSXAHHWV-DYIcLklz.js.gz +0 -0
  412. package/dist/client/assets/diagram-VX7I27RA-C9vqviXX.js.br +0 -0
  413. package/dist/client/assets/diagram-VX7I27RA-C9vqviXX.js.gz +0 -0
  414. package/dist/client/assets/diagram-Z3DM3KII-BJuQxTkw.js.br +0 -0
  415. package/dist/client/assets/diagram-Z3DM3KII-BJuQxTkw.js.gz +0 -0
  416. package/dist/client/assets/ebnfDiagram-PWID7BFC-BcbISm-z.js.br +0 -0
  417. package/dist/client/assets/ebnfDiagram-PWID7BFC-BcbISm-z.js.gz +0 -0
  418. package/dist/client/assets/erDiagram-RLTQ6QDP-fhNpRzUG.js.br +0 -0
  419. package/dist/client/assets/erDiagram-RLTQ6QDP-fhNpRzUG.js.gz +0 -0
  420. package/dist/client/assets/flowDiagram-HODETNUW-CVDJ_1Zu.js.br +0 -0
  421. package/dist/client/assets/flowDiagram-HODETNUW-CVDJ_1Zu.js.gz +0 -0
  422. package/dist/client/assets/ganttDiagram-EL5Y4UJY-Dzn-mrfe.js.br +0 -0
  423. package/dist/client/assets/ganttDiagram-EL5Y4UJY-Dzn-mrfe.js.gz +0 -0
  424. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-Ci-wfvCz.js.br +0 -0
  425. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-Ci-wfvCz.js.gz +0 -0
  426. package/dist/client/assets/index-DOq3vkFG.css +0 -1
  427. package/dist/client/assets/index-DOq3vkFG.css.br +0 -0
  428. package/dist/client/assets/index-DOq3vkFG.css.gz +0 -0
  429. package/dist/client/assets/ishikawaDiagram-5VMMS53U-CCn5Ha25.js.br +0 -0
  430. package/dist/client/assets/ishikawaDiagram-5VMMS53U-CCn5Ha25.js.gz +0 -0
  431. package/dist/client/assets/journeyDiagram-3NMN7TZE-CPl5oPfe.js.br +0 -0
  432. package/dist/client/assets/journeyDiagram-3NMN7TZE-CPl5oPfe.js.gz +0 -0
  433. package/dist/client/assets/kanban-definition-UXKFOSKX-Dmia2kLZ.js.br +0 -0
  434. package/dist/client/assets/kanban-definition-UXKFOSKX-Dmia2kLZ.js.gz +0 -0
  435. package/dist/client/assets/layout-B2Kz5M73.js.br +0 -0
  436. package/dist/client/assets/layout-B2Kz5M73.js.gz +0 -0
  437. package/dist/client/assets/linear-D2CT7wE3.js.br +0 -0
  438. package/dist/client/assets/linear-D2CT7wE3.js.gz +0 -0
  439. package/dist/client/assets/link-x33s12VI.js.br +0 -0
  440. package/dist/client/assets/link-x33s12VI.js.gz +0 -0
  441. package/dist/client/assets/loader-circle-D_nJKmMD.js +0 -1
  442. package/dist/client/assets/mermaid.core-G9XIcppl.js.br +0 -0
  443. package/dist/client/assets/mermaid.core-G9XIcppl.js.gz +0 -0
  444. package/dist/client/assets/mindmap-definition-YA3MSWOX-D2OX9OkO.js.br +0 -0
  445. package/dist/client/assets/mindmap-definition-YA3MSWOX-D2OX9OkO.js.gz +0 -0
  446. package/dist/client/assets/passwordBootstrap-DkTynZfV.js.br +0 -0
  447. package/dist/client/assets/passwordBootstrap-DkTynZfV.js.gz +0 -0
  448. package/dist/client/assets/pegDiagram-XKGWAZYB-qNjd6dbd.js.br +0 -0
  449. package/dist/client/assets/pegDiagram-XKGWAZYB-qNjd6dbd.js.gz +0 -0
  450. package/dist/client/assets/pieDiagram-E7YTZNPT-DcCmKDFh.js.br +0 -0
  451. package/dist/client/assets/pieDiagram-E7YTZNPT-DcCmKDFh.js.gz +0 -0
  452. package/dist/client/assets/quadrantDiagram-AXDQQJYC-BpDzkl9h.js.br +0 -0
  453. package/dist/client/assets/quadrantDiagram-AXDQQJYC-BpDzkl9h.js.gz +0 -0
  454. package/dist/client/assets/railroadDiagram-O6MQD6OU-DkwV8w7x.js.br +0 -0
  455. package/dist/client/assets/railroadDiagram-O6MQD6OU-DkwV8w7x.js.gz +0 -0
  456. package/dist/client/assets/rdpSession-D5NrFTav.js +0 -1
  457. package/dist/client/assets/rdpSession-D5NrFTav.js.br +0 -0
  458. package/dist/client/assets/rdpSession-D5NrFTav.js.gz +0 -0
  459. package/dist/client/assets/requirementDiagram-BXWQKSXE-BRwt5MXl.js.br +0 -0
  460. package/dist/client/assets/requirementDiagram-BXWQKSXE-BRwt5MXl.js.gz +0 -0
  461. package/dist/client/assets/sankeyDiagram-P5KCCOFB-DZ8y_gv3.js.br +0 -0
  462. package/dist/client/assets/sankeyDiagram-P5KCCOFB-DZ8y_gv3.js.gz +0 -0
  463. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-CJ9lZEsN.js.br +0 -0
  464. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-CJ9lZEsN.js.gz +0 -0
  465. package/dist/client/assets/settings-2-DtFz7lgk.js +0 -1
  466. package/dist/client/assets/sizeCapture-INFHLROL-Dt9ZzegQ.js.br +0 -0
  467. package/dist/client/assets/sizeCapture-INFHLROL-Dt9ZzegQ.js.gz +0 -0
  468. package/dist/client/assets/stateDiagram-D77RDMKH-DgeQtV3s.js.br +0 -0
  469. package/dist/client/assets/stateDiagram-D77RDMKH-DgeQtV3s.js.gz +0 -0
  470. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-CKS6y2rR.js +0 -1
  471. package/dist/client/assets/swimlanes-42K2YHIH-DHB6MQ8v.js.br +0 -0
  472. package/dist/client/assets/swimlanes-42K2YHIH-DHB6MQ8v.js.gz +0 -0
  473. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DvUzDKPI.js +0 -8
  474. package/dist/client/assets/swiper-DJjq1TYT.js +0 -1
  475. package/dist/client/assets/swiper-DJjq1TYT.js.br +0 -0
  476. package/dist/client/assets/swiper-DJjq1TYT.js.gz +0 -0
  477. package/dist/client/assets/syntaxHighlight-DF6Q5phI.js +0 -4
  478. package/dist/client/assets/syntaxHighlight-DF6Q5phI.js.br +0 -0
  479. package/dist/client/assets/syntaxHighlight-DF6Q5phI.js.gz +0 -0
  480. package/dist/client/assets/terminal-Dea8wJF3.js.br +0 -0
  481. package/dist/client/assets/terminal-Dea8wJF3.js.gz +0 -0
  482. package/dist/client/assets/timeline-definition-24CTP7MA-EqVVyv-E.js.br +0 -0
  483. package/dist/client/assets/timeline-definition-24CTP7MA-EqVVyv-E.js.gz +0 -0
  484. package/dist/client/assets/triangle-alert--5QOrsVl.js +0 -1
  485. package/dist/client/assets/use-gesture-react.esm-DYpdiE_k.js +0 -1
  486. package/dist/client/assets/use-gesture-react.esm-DYpdiE_k.js.br +0 -0
  487. package/dist/client/assets/use-gesture-react.esm-DYpdiE_k.js.gz +0 -0
  488. package/dist/client/assets/vennDiagram-4TSXK5OY-BBE17-sL.js.br +0 -0
  489. package/dist/client/assets/vennDiagram-4TSXK5OY-BBE17-sL.js.gz +0 -0
  490. package/dist/client/assets/videoCompression-B09OiyP5.js.br +0 -0
  491. package/dist/client/assets/videoCompression-B09OiyP5.js.gz +0 -0
  492. package/dist/client/assets/wardleyDiagram-VM6X3IG4-B4gZGXiA.js.br +0 -0
  493. package/dist/client/assets/wardleyDiagram-VM6X3IG4-B4gZGXiA.js.gz +0 -0
  494. package/dist/client/assets/xychartDiagram-S5SC5T6Z-BDO5xF5D.js.br +0 -0
  495. package/dist/client/assets/xychartDiagram-S5SC5T6Z-BDO5xF5D.js.gz +0 -0
@@ -1,19 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-G9XIcppl.js","assets/app-C3WX_u_Z.js","assets/react-XDCjal2T.js","assets/dnd-BCFAPC0L.js","assets/terminal-Dea8wJF3.js","assets/index-DOq3vkFG.css","assets/purify.es-4eNOHKSq.js","assets/katex-55ZPZeOF.css"])))=>i.map(i=>d[i]);
2
- import{dl as Ve,b5 as ir,a5 as me,ea as J,cg as i,c as or,d as lr,u as cr,m as dr,a4 as it,b9 as ot,ej as ur,cc as lt,ap as fr,ca as ct}from"./app-C3WX_u_Z.js";import{b as h,r as dt}from"./dnd-BCFAPC0L.js";import{a as ut}from"./use-gesture-react.esm-DYpdiE_k.js";import{S as hr,a as mr}from"./swiper-DJjq1TYT.js";import{h as Ze,s as pr,l as gr,b as br,r as xr}from"./syntaxHighlight-DF6Q5phI.js";import{L as wr}from"./list-tree-XBmm9il2.js";const vr=100,kr=5e5,$r=1e4,qe=16384,yr=32,Lr=1e5;class Q extends Error{constructor(t){super(`Markdown preview parsing stopped: ${t}`),this.reason=t,this.name="MarkdownParseError"}reason}class jr{startedAt=performance.now();operations=0;depth=0;check(){if(++this.operations>Lr)throw new Q("complexity");if(performance.now()-this.startedAt>=vr)throw new Q("timeout")}validateLines(t){if(t.length>$r)throw new Q("size");let r=0;for(const s of t)if(this.check(),r+=s.length+1,r>kr||s.length>qe)throw new Q("size")}validateInline(t){if(this.check(),t.length>qe)throw new Q("size")}nested(t){if(this.check(),this.depth>=yr)throw new Q("depth");this.depth+=1;try{return t()}finally{this.depth-=1}}}const Qe=new RegExp(`(\\\\\\([^)]*\\\\\\)|\\$[^$\\n]+\\$|<br\\s*\\/?>|<\\s*img\\b[^>]*>|<\\s*video\\b[^>]*>[\\s\\S]*?<\\/video\\s*>|<(?:a|abbr|span|b|strong|em|i|u|s|del|code|kbd|mark|sub|sup)\\b[\\s\\S]*?<\\/(?:a|abbr|span|b|strong|em|i|u|s|del|code|kbd|mark|sub|sup)>|!?\\[[^\\]]*\\]\\((?:<[^>]+>|(?:[^\\s()]|\\([^()\\s]*\\))+)(?:\\s+(?:"[^"]*"|'[^']*'|\\([^)]*\\)))?\\)|!?\\[[^\\]]+\\]\\[[^\\]]*\\]|!?\\[[^\\]]+\\]|\\[\\^[^\\]]+\\]|~~[^~]+~~|\\*\\*[^*]+\\*\\*|(?<![\\p{L}\\p{N}_])__[^_]+__(?![\\p{L}\\p{N}_])|\\*[^*\\s][^*]*\\*|(?<![\\p{L}\\p{N}_])_[^_\\s][^_]*_(?![\\p{L}\\p{N}_])|<https?:\\/\\/[^>\\s]+>|<[^\\s@<>]+@[^\\s@<>]+\\.[^\\s@<>]+>|https?:\\/\\/[^\\s<]+|www\\.[^\\s<]+|[^\\s@<>]+@[^\\s@<>]+\\.[^\\s@<>]+)`,"iyu");function Mr(e,t,r){let s=t;for(;e[s]==="`";)s+=1;const o=s-t;let n=s;for(;n<e.length;){r.check();const c=e.indexOf("`",n);if(c<0)return null;for(n=c;e[n]==="`";)n+=1;if(n-c===o)return n}return null}function*Sr(e,t){t.validateInline(e);const r=new RegExp(Qe.source,Qe.flags);let s=0;for(;s<e.length;){if(t.check(),e[s]==="`"){const n=Mr(e,s,t);if(n!==null)yield{index:s,token:e.slice(s,n)},s=n;else for(;e[s]==="`";)s+=1;continue}r.lastIndex=s;const o=r.exec(e);t.check(),o?(yield{index:s,token:o[0]},s=r.lastIndex):s+=(e.codePointAt(s)??0)>65535?2:1}}async function Nr(e){if(e.kind==="mermaid"){await Ve(new Blob([e.svg],{type:"image/svg+xml"}),"mermaid.svg");return}const t=new URL(e.src,window.location.href);if(t.origin===window.location.origin&&t.pathname==="/api/terminal/fs/blob"){const n=t.searchParams.get("path");if(!n)throw new Error("Missing image path");await ir(n);return}const r=await fetch(e.src);if(!r.ok)throw new Error(`HTTP ${r.status}`);const s=await r.blob(),o=decodeURIComponent(t.pathname.split("/").pop()||"")||`image.${{"image/svg+xml":"svg","image/jpeg":"jpg","image/webp":"webp","image/gif":"gif"}[s.type]||"png"}`;await Ve(s,o)}let ce=null,Je=!1;function Er(){return ce||(ce=me(()=>import("./mermaid.core-G9XIcppl.js").then(e=>e.bl),__vite__mapDeps([0,1,2,3,4,5,6])).then(e=>e.default??e).catch(e=>{throw ce=null,e})),ce}function _r(e){Je||(e.initialize({startOnLoad:!1,securityLevel:"strict",theme:"neutral"}),Je=!0)}function ft(e){try{return new URL(e,location.href).pathname.startsWith("/api/")}catch{return!1}}const Ir=1500,et=256*1024*1024;async function Tr(e,t){const r=await fetch(e,{signal:t});if(!r.ok)throw new Error(`Media fallback failed: HTTP ${r.status}`);const s=r.headers.get("content-type")??"",o=r.body?.getReader();if(!o){const d=await r.blob();if(d.size>et)throw new Error("Media too large for encrypted fallback");return URL.createObjectURL(d)}const n=[];let c=0;try{for(;;){const{done:d,value:l}=await o.read();if(d)break;if(c+=l.byteLength,c>et)throw new Error("Media too large for encrypted fallback");n.push(l)}}catch(d){throw await o.cancel().catch(()=>{}),d}return URL.createObjectURL(new Blob(n,{type:s}))}function pe(e,t){const r=ft(e),[s,o]=h.useState(()=>!!navigator.serviceWorker?.controller),[n,c]=h.useState(void 0),d=h.useRef(t);return d.current=t,h.useEffect(()=>{if(!r||s)return;const l=navigator.serviceWorker,f=()=>o(!!l?.controller);return l?.addEventListener("controllerchange",f),f(),()=>l?.removeEventListener("controllerchange",f)},[r,s]),h.useEffect(()=>{if(!r||s){c(void 0);return}let l=!1,f;const m=new AbortController,a=window.setTimeout(()=>{Tr(e,m.signal).then(b=>{if(l){URL.revokeObjectURL(b);return}f=b,c(b)}).catch(()=>{l||m.signal.aborted||d.current?.()})},Ir);return()=>{l=!0,window.clearTimeout(a),m.abort(),f&&URL.revokeObjectURL(f)}},[r,s,e]),!r||s?e:n}const ht="border-r px-2 py-1.5 sm:px-3 sm:py-2",ge="min-w-full max-w-[18rem] whitespace-normal break-words sm:max-w-[27rem]",mt=`${ht} border-b border-border/15 font-semibold last:border-r-0`,pt=`${ht} border-border/10 align-top text-muted-foreground last:border-r-0`,We="termdock-file-preview-horizontal-scroll",gt=`${We} termdock-md-table-scroll min-w-0 max-w-full overflow-x-auto overflow-y-hidden rounded-lg border border-border/20 bg-surface`;function bt(e){const t=e.trim().replace(/\s+/g,"");return/^-{3,}$/.test(t)||/^\*{3,}$/.test(t)||/^_{3,}$/.test(t)}function Te(e){const t=e.trim();return/^#{1,6}\s+/.test(t)||bt(e)||/^>\s?/.test(t)||/^(```|~~~)/.test(t)||/^<video\b/i.test(t)||/^(?:[-+*]|\d+[.)])\s+/.test(t)}function xt(e){const t=e.trim();return/^(https?:|mailto:|#|\/|\.\/|\.\.\/)/i.test(t)||!/^[a-z][a-z0-9+.-]*:/i.test(t)&&!/[<>]/.test(t)?t:null}const wt=h.createContext(null);function he(e){return e.trim().replace(/\s+/g," ").toLowerCase()}function vt(e){return e.replace(/!\[([^\]]*)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\[[^\]]*\]/g,"$1").replace(/[`*_~]/g,"").replace(/<[^>]+>/g,"").trim()}function kt(e){return e.replace(/\s+#+\s*$/,"").trim()}function Re(e,t){const s=vt(e).toLowerCase().replace(/[^\p{L}\p{N}\s-]/gu,"").trim().replace(/\s+/g,"-")||"section",o=t.headingSlugCounts.get(s)??0;return t.headingSlugCounts.set(s,o+1),o===0?s:`${s}-${o}`}function tt(e){return vt(e)||e.trim()}function be(e){const t=e.match(/^\s{0,3}\[([^\]]+)\]:\s+(.+?)\s*$/);if(!t)return null;const r=Ae(t[2]);return r?{id:he(t[1]),definition:{href:r.href,title:r.title}}:null}function Rr(e){const t=new Map;for(const r of e){const s=be(r);s&&t.set(s.id,s.definition)}return t}function $t(e){return e.trim().toLowerCase()}function yt(e){const t=e.match(/^\s{0,3}\[\^([^\]]+)\]:\s+(.+)\s*$/);return t?{id:$t(t[1]),text:t[2]}:null}function Cr(e){const t=new Map;let r=null;for(const s of e){const o=yt(s);if(o){r=o.id,t.set(o.id,{id:o.id,text:o.text,index:t.size+1});continue}if(r&&/^\s{4,}\S/.test(s)){const n=t.get(r);n&&(n.text=`${n.text} ${s.trim()}`);continue}s.trim()&&(r=null)}return t}function Lt(e){const t=new Set;let r=!1;return e.forEach((s,o)=>{if(yt(s)){t.add(o),r=!0;return}if(r&&/^\s{4,}\S/.test(s)){t.add(o);return}s.trim()&&(r=!1)}),t}function Ar(e){const t=[...e];let r=0;const s=e[0]?.trim();if(s==="---"||s==="+++"){for(t[0]="",r=1;r<e.length&&e[r].trim()!==s;)t[r]="",r+=1;r<e.length&&(t[r]="",r+=1)}for(;r<e.length;){const o=e[r].trim();if(o.startsWith("<!--")){if(t[r]="",!o.includes("-->")){for(r+=1;r<e.length&&!e[r].includes("-->");)t[r]="",r+=1;r<e.length&&(t[r]="")}r+=1;continue}r+=1}return t}function jt(e){const t=e.replace(/\/+$/,""),r=t.lastIndexOf("/");return r<=0?r===0?"/":"":t.slice(0,r)}function te(e){const t=e.split(/[?#]/,1)[0],r=t.startsWith("/"),s=[];for(const n of t.split("/"))if(!(!n||n===".")){if(n===".."){s.length>0&&s.pop();continue}s.push(n)}return`${r?"/":""}${s.join("/")}`||(r?"/":".")}function ye(e,t,r){const s=e.trim();if(!s||/^(?:https?:|mailto:|javascript:|data:)/i.test(s)||/^[a-z][a-z0-9+.-]*:/i.test(s))return null;if(s.startsWith("#")){if(!t)return null;try{return{path:t,fragment:decodeURIComponent(s.slice(1))||null,directory:!1}}catch{return null}}const o=s.indexOf("#"),n=o>=0?s.slice(0,o):s,c=o>=0?s.slice(o+1):"",d=n.split("?",1)[0];if(!d)return null;let l,f=null;try{l=decodeURIComponent(d),f=c?decodeURIComponent(c):null}catch{return null}const m=r?te(r):null;let a;if(l.startsWith("/")){const b=m&&(l===m||l.startsWith(`${m}/`));a=te(m&&!b?`${m}/${l.slice(1)}`:l)}else{if(!t)return null;a=te(`${jt(t)}/${l}`)}return m&&a!==m&&!a.startsWith(`${m}/`)?null:{path:a,fragment:f,directory:/\/$/.test(d)}}function Mt(e,t,r,s,o){const n=e.trim();if(!n||/^(?:javascript|data):/i.test(n))return null;if(/^https?:\/\//i.test(n))return n;if(!s(n.split(/[?#]/,1)[0]))return null;let c;if(n.startsWith("/")){const d=r&&(n===r||n.startsWith(`${r}/`));c=te(r&&!d?`${r}/${n.slice(1)}`:n)}else{if(!t)return null;c=te(`${jt(t)}/${n}`)}return o(c)}function St(e,t,r){return Mt(e,t,r,ct,s=>`/api/terminal/fs/blob?path=${encodeURIComponent(s)}`)}function He(e,t,r){if(/^https?:\/\//i.test(e.trim()))return e.trim();const s=ye(e,t,r);return!s||!lt(s.path)?null:fr(s.path)+(s.fragment?`#${s.fragment}`:"")}function Nt(e){try{return lt(decodeURIComponent(new URL(e,"https://markdown.invalid/").pathname))}catch{return!1}}const Ce=128,Dr=360,Se=480;function ie(e){try{return/\.svg(?=$|[?#&])/i.test(decodeURIComponent(e))}catch{return!1}}function Et(e,t,r,s,o=0){if(!t||!r)return null;let n,c;return o>0?(n=s>0?Math.min(o,s):o,c=r*n/t):ie(e)?(c=Math.min(Math.max(r,Ce),Dr),n=t*c/r):(n=t,c=r),s>0&&n>s&&(c=c*s/n,n=s),c>Se&&(n=n*Se/c,c=Se),{width:Math.max(1,Math.round(n)),height:Math.max(1,Math.round(c))}}function Pr(e){if(!e.startsWith("/api/terminal/fs/blob?"))return null;try{return new URLSearchParams(e.slice(e.indexOf("?"))).get("path")}catch{return null}}function _t(e){const t=Pr(e),r=ur(s=>t?(s.fileChangeVersions.get(t)??0)+s.fileWatchEpoch:0);return t&&r>0?`${e}&v=${r}`:e}function Wr({src:e,alt:t,title:r,requestedWidthPx:s}){const o=ie(e),n=_t(e),c=pe(n),d=h.useRef(null),[l,f]=h.useState(!1),[m,a]=h.useState(0),[b,y]=h.useState({status:"loading"}),[L,S]=h.useState(null);h.useLayoutEffect(()=>{const w=d.current;let v=w?.parentElement?.parentElement??w?.parentElement;for(;v;){const p=window.getComputedStyle(v).display;if(p!=="inline"&&p!=="contents")break;v=v.parentElement}if(!v)return;const x=v,N=()=>{const p=window.getComputedStyle(x),g=(parseFloat(p.paddingLeft)||0)+(parseFloat(p.paddingRight)||0);a(Math.max(0,x.clientWidth-g))};if(N(),typeof ResizeObserver>"u")return;const I=new ResizeObserver(N);return I.observe(x),()=>I.disconnect()},[]),h.useEffect(()=>{if(l)return;const w=d.current;if(!w||typeof IntersectionObserver>"u"){f(!0);return}const v=new IntersectionObserver(x=>{x.some(N=>N.isIntersecting)&&(f(!0),v.disconnect())},{rootMargin:"400px"});return v.observe(w),()=>v.disconnect()},[l]),h.useEffect(()=>{if(!l)return;const w=new AbortController;let v=null;y({status:"loading"});const x=window.setTimeout(()=>{w.abort(new DOMException("Image fetch timed out","TimeoutError"))},15e3);return ot(n,{signal:w.signal}).then(async N=>{if(!N.ok)throw new Error(`HTTP ${N.status}`);const I=Number(N.headers.get("X-Image-Width"))||0,p=Number(N.headers.get("X-Image-Height"))||0;return{blob:await N.blob(),width:I,height:p}}).then(({blob:N,width:I,height:p})=>{w.signal.aborted||(v=URL.createObjectURL(N),I>0&&p>0&&S({width:I,height:p}),y({status:"ready",objectUrl:v}))}).catch(()=>{const N=w.signal.reason;w.signal.aborted&&!(N instanceof DOMException&&N.name==="TimeoutError")||y({status:"fallback"})}).finally(()=>{window.clearTimeout(x)}),()=>{window.clearTimeout(x),w.abort(),v&&URL.revokeObjectURL(v)}},[l,n]);const _=Et(e,L?.width??0,L?.height??0,m,s??0),M=_??(s?{width:m>0?Math.min(s,m):s,height:Math.round(s*.75)}:{width:Ce*2,height:Ce});return i.jsx("div",{ref:d,className:"block max-w-full",style:_?{width:_.width,height:_.height}:void 0,children:b.status==="ready"?i.jsx("img",{src:b.objectUrl,alt:t,title:r,decoding:"async",className:`${o?"":"termdock-fade-in "}block max-h-[480px] max-w-full object-contain`,style:_?{width:_.width,height:_.height}:void 0,onLoad:w=>{const v=w.currentTarget;v.naturalWidth>0&&v.naturalHeight>0&&(L?.width!==v.naturalWidth||L?.height!==v.naturalHeight)&&S({width:v.naturalWidth,height:v.naturalHeight})}}):b.status==="fallback"?i.jsx("img",{src:c,alt:t,title:r,loading:"lazy",decoding:"async",className:"block max-h-[480px] max-w-full object-contain",style:_?{width:_.width,height:_.height}:void 0,onLoad:w=>{const v=w.currentTarget;v.naturalWidth>0&&v.naturalHeight>0&&(L?.width!==v.naturalWidth||L?.height!==v.naturalHeight)&&S({width:v.naturalWidth,height:v.naturalHeight})}}):i.jsx("div",{"aria-hidden":!0,className:"flex max-w-full animate-pulse items-center justify-center rounded bg-surface-elevated/60",style:{width:M.width,height:M.height},children:i.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:t||"…"})})})}function re(e,t,r,s,o,n){if(!n?.fallbackText&&Nt(r)){const f=He(r,o.markdownFilePath,o.rootPath);if(f)return i.jsx(ze,{url:f,label:t,title:s,hasControls:!0},e)}const c=St(r,o.markdownFilePath,o.rootPath);if(!c)return n?.fallbackText??`![${t}](${r})`;const d=o.images.length;o.images.push({kind:"image",src:c,alt:t,title:s});const l=i.jsx(Wr,{src:c,alt:t,title:s,requestedWidthPx:n?.requestedWidthPx});return o.onImageOpen&&n?.interactive!==!1?i.jsx("button",{type:"button",className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2 text-left transition hover:border-border-strong focus:outline-none focus:ring-2 focus:ring-ring/45",title:s||t||"Open image",onClick:f=>{f.stopPropagation(),o.onImageOpen?.(d)},children:l},e):i.jsx("span",{className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2",children:l},e)}function Ne(e){let t=e,r="";for(;/[.,;:!?)]$/.test(t);)r=`${t.slice(-1)}${r}`,t=t.slice(0,-1);return{linkText:t,suffix:r}}function rt(e){return/^[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+$/.test(e)}function Ae(e){const t=e.trim(),r=t.match(/^<([^>]+)>(?:\s+(?:"([^"]*)"|'([^']*)'|\(([^)]*)\)))?$/);if(r)return{href:r[1],title:r[2]??r[3]??r[4]};const s=t.match(/^(\S+)(?:\s+(?:"([^"]*)"|'([^']*)'|\(([^)]*)\)))?$/);return s?{href:s[1],title:s[2]??s[3]??s[4]}:null}const It="",Hr=/\\([\\`*{}\[\]#+\-.!_|~>$])/g;function zr(e){return e.replace(Hr,(t,r)=>`${It}${r.charCodeAt(0).toString(16).padStart(4,"0")}`)}function nt(e){return e.replace(new RegExp(`${It}([0-9a-f]{4})`,"g"),(t,r)=>String.fromCharCode(Number.parseInt(r,16))).replace(/\\([()])/g,"$1")}function Br(e){const t=e.replace(/[\r\n]+/g," ");return/^ .+ $/.test(t)&&/[^ ]/.test(t.slice(1,-1))?t.slice(1,-1):t}const Tt={ALLOWED_TAGS:["a","abbr","b","blockquote","br","code","del","details","div","em","i","kbd","li","mark","ol","p","pre","s","span","strong","sub","summary","sup","table","tbody","td","th","thead","tr","u","ul"],ALLOWED_ATTR:["href","title","class","id","colspan","rowspan"],ALLOW_DATA_ATTR:!1,ALLOW_ARIA_ATTR:!0};let de=null;function Rt(){return de||(de=me(()=>import("./purify.es-4eNOHKSq.js"),[]).then(e=>e.default??e).catch(e=>{throw de=null,e})),de}function Ct({html:e}){const{t}=J(),[r,s]=h.useState(null);return h.useEffect(()=>{let o=!1;return s(null),Rt().then(n=>{o||s(n.sanitize(e,Tt))}).catch(()=>{o||s("")}),()=>{o=!0}},[e]),r===null?i.jsx("div",{className:"py-2 text-xs text-muted-foreground",children:t("rightSidebar.renderingHtml")}):r?i.jsx("div",{className:"text-muted-foreground",dangerouslySetInnerHTML:{__html:r}}):null}function Or({html:e}){const[t,r]=h.useState(null);return h.useEffect(()=>{let s=!1;return r(null),Rt().then(o=>{s||r(o.sanitize(e,Tt))}).catch(()=>{s||r("")}),()=>{s=!0}},[e]),t===null?null:t?i.jsx("span",{dangerouslySetInnerHTML:{__html:t}}):e}function At(e){const t=e.trim().match(/^<(div|section|article|aside|table|p|ul|ol|li|blockquote|pre|figure|figcaption)\b[^>]*>/i);if(!t)return null;const r=t[1].toLowerCase();return{tag:r,selfContained:new RegExp(`</${r}>`,"i").test(e)}}let ue=null;function Fr(){return ue||(ue=Promise.all([me(()=>import("./katex-DnlPpQZa.js"),[]),me(()=>Promise.resolve({}),__vite__mapDeps([7]))]).then(([e])=>e.default??e).catch(e=>{throw ue=null,e})),ue}function ne({tex:e,display:t=!1}){const[r,s]=h.useState(null),[o,n]=h.useState(!1);if(h.useEffect(()=>{let d=!1;return s(null),n(!1),Fr().then(l=>{d||s(l.renderToString(e,{displayMode:t,throwOnError:!1,trust:!1,strict:"ignore"}))}).catch(()=>{d||n(!0)}),()=>{d=!0}},[t,e]),o)return i.jsx("code",{className:"rounded bg-surface-2 px-1 py-0.5 font-mono text-[0.92em] text-foreground",children:t?`$$${e}$$`:`$${e}$`});if(!r)return i.jsx("span",{className:"text-muted-foreground/70",children:t?"Rendering formula...":e});const c=t?"my-2 overflow-auto rounded-md bg-surface-2 px-3 py-2 text-center":"inline-block align-middle";return i.jsx("span",{className:c,dangerouslySetInnerHTML:{__html:r}})}function xe(e){const t=new Map;for(const r of e.matchAll(/([a-zA-Z_:][-a-zA-Z0-9_:.]*)\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+))/gi))t.set(r[1].toLowerCase(),r[2]??r[3]??r[4]);return t}function st(e){const t=xe(e),r=t.get("src")?.trim()??"",s=t.get("width")?.trim().match(/^(\d+(?:\.\d+)?)(?:px)?$/i);return{src:r,alt:t.get("alt"),title:t.get("title"),widthPx:s?Number(s[1]):void 0}}function Ur(e){const t=e.indexOf(">"),r=t<0?e:e.slice(0,t+1),s=xe(r),o=s.get("src")?.trim()??"",n=o?[o]:Array.from(e.slice(t+1).matchAll(/<source\b[^>]*>/gi),m=>xe(m[0]).get("src")?.trim()??"").filter(Boolean),c=s.get("width")?.trim().match(/^(\d+(?:\.\d+)?)(?:px)?$/i),d=s.get("style")?.match(/(?:^|;)\s*max-width\s*:\s*(\d+(?:\.\d+)?)px\s*(?:;|$)/i),l=r.replace(/=\s*(?:"[^"]*"|'[^']*')/g," "),f=t<0?"":e.slice(t+1).replace(/<\/video\s*>$/i,"").replace(/<[^>]*>/g,"").trim();return{sources:n,poster:s.get("poster"),fallbackText:f,widthPx:c?Number(c[1]):void 0,maxWidthPx:d?Number(d[1]):void 0,controls:/\bcontrols\b/i.test(l)}}function ze({url:e,poster:t,fallbackText:r,widthPx:s,maxWidthPx:o,hasControls:n,label:c,title:d}){const{t:l}=J(),[f,m]=h.useState(!1),a=pe(e,()=>m(!0)),b=pe(t??"");return h.useEffect(()=>m(!1),[e]),!a&&!f?null:i.jsx("span",{className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2",children:f?i.jsx("span",{className:"block px-3 py-2 text-xs text-muted-foreground",children:r?.trim()||l("rightSidebar.videoUnsupported")}):i.jsx("video",{className:"block max-w-full",src:a,poster:b||void 0,"aria-label":c,title:d,style:{width:s?`${s}px`:"100%",maxWidth:o?`${o}px`:void 0},controls:n,preload:"metadata",playsInline:!0,onError:()=>m(!0)})})}function Xr(e,t,r){if(/^<a\b[^>]*>\s*<\s*img\b[^>]*>\s*<\/a\s*>$/i.test(e)){const c=e.slice(0,e.indexOf(">")+1),d=xe(c).get("href")?.trim()??"",l=e.match(/<\s*img\b[^>]*>/i)?.[0]??"",{src:f,alt:m,title:a,widthPx:b}=st(l);if(!f)return null;const y=Mt(f,r.markdownFilePath,r.rootPath,ct,w=>w);if(!y)return null;const L=d?ye(d,r.markdownFilePath,r.rootPath):null,_=!!!(L&&L.path===y)&&d?xt(d):null,M=re(t,m??"",f,a,r,{requestedWidthPx:b,interactive:_?!1:void 0});return _?i.jsx("a",{href:_,target:"_blank",rel:"noreferrer",children:M},t):M}if(/^<\s*img\b[^>]*>$/i.test(e)){const{src:c,alt:d,title:l,widthPx:f}=st(e);return c?re(t,d??"",c,l,r,{fallbackText:e,requestedWidthPx:f}):null}if(/^<\s*video\b[^>]*>[\s\S]*?<\/video\s*>$/i.test(e)){const{sources:c,poster:d,fallbackText:l,widthPx:f,maxWidthPx:m,controls:a}=Ur(e),b=c.map(L=>He(L,r.markdownFilePath,r.rootPath)).find(Boolean);if(!b)return null;const y=d?St(d,r.markdownFilePath,r.rootPath):null;return i.jsx(ze,{url:b,poster:y??void 0,fallbackText:l,widthPx:f,maxWidthPx:m,hasControls:a},t)}if(/^<br\s*\/?>$/i.test(e))return i.jsx("br",{},t);const s=e.match(/^<(kbd|mark|sub|sup)>(.*?)<\/\1>$/i);if(!s)return/^<(a|abbr|span|b|strong|em|i|u|s|del|code)\b[\s\S]*<\/\1>$/i.test(e)?i.jsx(Or,{html:e},t):null;const o=s[1].toLowerCase(),n=H(s[2],`${t}-${o}`,!0,r);return o==="kbd"?i.jsx("kbd",{className:"rounded border border-border/30 bg-surface-2 px-1.5 py-0.5 font-mono text-[0.85em] text-foreground shadow-sm",children:n},t):o==="mark"?i.jsx("mark",{className:"rounded bg-warning/25 px-0.5 text-foreground",children:n},t):o==="sub"?i.jsx("sub",{children:n},t):i.jsx("sup",{children:n},t)}function H(e,t,r=!0,s){return s.budget.nested(()=>Kr(e,t,r,s))}function Kr(e,t,r=!0,s){s.budget.validateInline(e);const o=zr(e),n=[];let c=0;for(const{index:d,token:l}of Sr(o,s.budget)){d>c&&n.push(nt(o.slice(c,d)));const f=`${t}-${d}`,m=l.startsWith("<")?Xr(l,f,s):null;if(m)n.push(m);else if(l.startsWith("\\(")&&l.endsWith("\\)"))n.push(i.jsx(ne,{tex:l.slice(2,-2)},f));else if(l.startsWith("$")&&l.endsWith("$"))n.push(i.jsx(ne,{tex:l.slice(1,-1)},f));else if(l.startsWith("`")){const a=l.match(/^`+/)?.[0].length??1;n.push(i.jsx("code",{className:`${r?"break-all":"whitespace-nowrap"} rounded bg-surface-2 px-1 py-0.5 font-mono text-[0.92em] text-foreground`,children:Br(l.slice(a,-a))},f))}else if(l.startsWith("~~"))n.push(i.jsx("del",{className:"text-muted-foreground decoration-border-strong",children:H(l.slice(2,-2),`${f}-del`,r,s)},f));else if(l.startsWith("**")||l.startsWith("__"))n.push(i.jsx("strong",{className:"font-semibold text-foreground",children:H(l.slice(2,-2),`${f}-strong`,r,s)},f));else if(l.startsWith("*")||l.startsWith("_"))n.push(i.jsx("em",{className:"italic",children:H(l.slice(1,-1),`${f}-em`,r,s)},f));else if(l.startsWith("![")){const a=l.match(/^!\[([^\]]*)\]\((.*)\)$/),b=l.match(/^!\[([^\]]+)\]\[([^\]]*)\]$/),y=l.match(/^!\[([^\]]+)\]$/);if(a){const L=Ae(a[2]);n.push(L?re(f,a[1],L.href,L.title,s):l)}else if(b){const L=b[2]||b[1],S=s.referenceDefinitions.get(he(L));n.push(S?re(f,b[1],S.href,S.title,s):l)}else if(y){const L=s.referenceDefinitions.get(he(y[1]));n.push(L?re(f,y[1],L.href,L.title,s):l)}else n.push(l)}else if(l.startsWith("[^")){const a=$t(l.slice(2,-1)),b=s.footnoteDefinitions.get(a);n.push(b?i.jsx("sup",{id:`fnref-${b.id}`,title:b.text,className:"ml-0.5 rounded bg-surface-2 px-1 text-[0.72em] font-semibold text-primary",children:i.jsx("a",{href:`#fn-${b.id}`,className:"text-primary no-underline",children:b.index})},f):l)}else if(l.startsWith("<http")){const a=l.slice(1,-1);n.push(i.jsx("a",{href:a,target:"_blank",rel:"noreferrer",className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:a},f))}else if(l.startsWith("<")&&l.endsWith(">")&&rt(l.slice(1,-1))){const a=l.slice(1,-1);n.push(i.jsx("a",{href:`mailto:${a}`,className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:a},f))}else if(rt(Ne(l).linkText)){const{linkText:a,suffix:b}=Ne(l);n.push(i.jsx("a",{href:`mailto:${a}`,className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:a},f)),b&&n.push(b)}else if(l.startsWith("http")||l.startsWith("www.")){const{linkText:a,suffix:b}=Ne(l),y=a.startsWith("www.")?`https://${a}`:a;n.push(i.jsx("a",{href:y,target:"_blank",rel:"noreferrer",className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:a},f)),b&&n.push(b)}else{const a=l.match(/^\[([^\]]+)\]\((.*)\)$/),b=l.match(/^\[([^\]]+)\]\[([^\]]*)\]$/),y=l.match(/^\[([^\]]+)\]$/),L=b?b[2]||b[1]:y?.[1]??null,S=L?s.referenceDefinitions.get(he(L)):null,_=a?Ae(a[2]):null,M=_?.href??S?.href??null,w=M?xt(M):null,v=a?.[1]??b?.[1]??y?.[1]??"",x=w&&Nt(w)?He(w,s.markdownFilePath,s.rootPath):null,N=w?i.jsx("a",{href:w,title:_?.title??S?.title,target:"_blank",rel:"noreferrer",className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:H(v,`${f}-link`,r,s)},f):l;n.push(x?i.jsxs("span",{children:[i.jsx(ze,{url:x,label:v,title:_?.title??S?.title,hasControls:!0}),N]},f):N)}c=d+l.length}return c<o.length&&n.push(nt(o.slice(c))),n.length>0?n:[e]}function Dt(e){return/(?: {2,}|\\)$/.test(e)}function Pt(e){return e.replace(/(?: {2,}|\\)$/,"")}function we(e){return/^(?: {4}|\t)/.test(e)}function Wt(e){return e.startsWith(" ")?e.slice(1):e.replace(/^ {4}/,"")}function Ht(e,t,r){const s=[];return e.forEach((o,n)=>{const c=Dt(o);s.push(...H(Pt(o),`${t}-${n}`,!0,r)),n<e.length-1&&s.push(c?i.jsx("br",{},`${t}-${n}-br`):" ")}),s}function De(e,t,r){const s=[],o=[];return e.forEach((n,c)=>{o.push(Dt(n)),s.push(H(Pt(n),`${t}-${c}`,!0,r))}),{perLine:s,hardBreaks:o}}function Pe(e,t,r,s,o){const n=[];return e.forEach((c,d)=>{const l=r[d]??0,f=!!(o&&l>=o.start&&l<=o.end);n.push(i.jsx("span",{"data-md-ref-start":l,"data-md-ref-end":l,"data-selected":f?"true":void 0,children:c},`${s}-ref-${d}`)),d<e.length-1&&n.push(t[d]?i.jsx("br",{},`${s}-${d}-br`):" ")}),n}function se(e){const t=e.trim().replace(/^\|/,"").replace(/\|$/,""),r=[];let s="",o=!1,n=0,c=0;for(let d=0;d<t.length;d+=1){const l=t[d];if(o){s+=l,o=!1;continue}if(l==="\\"){o=!0;continue}if(l==="`"){const f=d;for(;d+1<t.length&&t[d+1]==="`";)d+=1;const m=d-f+1;s+="`".repeat(m),n===0?n=m:n===m&&(n=0);continue}if(n===0&&l==="["?c+=1:n===0&&l==="]"&&c>0&&(c-=1),l==="|"&&n===0&&c===0){r.push(s.trim()),s="";continue}s+=l}return o&&(s+="\\"),r.push(s.trim()),r}function zt(e){return se(e).map(t=>/^:-+:$/.test(t)?"center":/^-+:$/.test(t)?"right":/^:-+$/.test(t)?"left":null)}function ve(e){return e==="center"?"text-center":e==="right"?"text-right":"text-left"}function ke(e){return/^\|?\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)*\|?$/.test(e.trim())}function Bt(e,t){return e>96||e>44&&t>.35}function Le(e){return(e.match(/^\s*/)?.[0]??"").replace(/\t/g," ").length}function ae(e){const t=e.trim().match(/^([-+*]|\d+[.)])\s+(.+)$/);if(!t)return null;const r=/^\d+[.)]$/.test(t[1]);return{ordered:r,start:r?Number.parseInt(t[1],10):void 0,content:t[2]}}function Be(e,t,r,s,o,n=new Set){const c=[],d=[];let l=t;for(;l<e.length;){const f=e[l];if(o&&(be(f)||n.has(l))){l+=1;continue}const m=ae(f),a=Le(f);if(!m){if(a>r&&d.length>0){([...d].reverse().find(S=>S.indent<a)?.item??d[d.length-1].item).paragraphs.push(f.trim());for(const S of d)S.item.lineEnd=l+1;l+=1;continue}break}if(a<r||a===r&&m.ordered!==s)break;const b={content:m.content,ordered:m.ordered,start:m.start,children:[],paragraphs:[],lineStart:l+1,lineEnd:l+1};for(;d.length>0&&d[d.length-1].indent>=a;)d.pop();const y=d[d.length-1]?.item??null;y?y.children.push(b):c.push(b),d.push({indent:a,item:b});for(const L of d)L.item.lineEnd=l+1;l+=1}return{items:c,nextIndex:l}}function Yr(e){const t=e.find(s=>ae(s));if(!t)return[];const r=ae(t);return r?Be(e,0,Le(t),r.ordered,!0,Lt(e)).items:[]}function Oe(e,t,r,s=0){return r.budget.nested(()=>Gr(e,t,r,s))}function Gr(e,t,r,s=0){return e.map((o,n)=>{const c=o.content.match(/^\[([ xX])\]\s+(.+)$/);return{key:`item-${n}`,taskItem:!!c,refStart:o.lineStart+s,refEnd:o.lineEnd+s,content:i.jsxs(i.Fragment,{children:[c?i.jsx("input",{type:"checkbox",checked:c[1].toLowerCase()==="x",readOnly:!0,className:"mr-2 align-[-2px] accent-primary"}):null,H(c?.[2]??o.content,`li-${t}-${n}`,!0,r),o.paragraphs.length>0&&i.jsx("div",{className:"mt-1 space-y-1 text-muted-foreground",children:o.paragraphs.map((d,l)=>i.jsx("p",{children:H(d,`li-${t}-${n}-p-${l}`,!0,r)},`paragraph-${l}`))})]}),groups:Vr(o.children,`${t}-${n}`,r,s)}})}function Vr(e,t,r,s=0){const o=[];for(const n of e){const c=o[o.length-1];c&&c.ordered===n.ordered?c.items.push(n):o.push({ordered:n.ordered,items:[n]})}return o.map((n,c)=>({ordered:n.ordered,start:n.ordered?n.items[0]?.start:void 0,items:Oe(n.items,`${t}-g${c}`,r,s)}))}function Fe(e,t){return e.map(r=>{const s=!!(t&&r.refStart<=t.end&&r.refEnd>=t.start);return i.jsxs("li",{className:r.taskItem?"list-none":void 0,"data-md-ref-start":r.refStart,"data-md-ref-end":r.refEnd,"data-selected":s?"true":void 0,children:[r.content,r.groups.length>0&&Zr(r.groups,t)]},r.key)})}function Zr(e,t){return e.map((r,s)=>{const o=r.ordered?"ol":"ul";return i.jsx(o,{start:r.start,className:`${r.ordered?"list-decimal":"list-disc"} mt-1 space-y-0.5 pl-4 marker:text-muted-foreground/60`,children:Fe(r.items,t)},`nested-${s}`)})}function qr(e){const t=Array.from(e.footnoteDefinitions.values()).sort((r,s)=>r.index-s.index);return t.length===0?null:i.jsxs("section",{className:"mt-3 border-t border-border/20 pt-2 text-[12px] leading-5 text-muted-foreground",children:[i.jsx("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground/80",children:e.footnotesLabel}),i.jsx("ol",{className:"list-decimal space-y-1 pl-5",children:t.map(r=>i.jsxs("li",{id:`fn-${r.id}`,children:[H(r.text,`footnote-${r.id}`,!0,e)," ",i.jsx("a",{href:`#fnref-${r.id}`,className:"text-primary no-underline","aria-label":e.backToFootnoteLabel(r.index),children:"↩"})]},r.id))})]})}function Qr(e,t,r,s){const o=[];let n=0;const c=d=>s?.[d]??d+1;for(;n<e.length;){r.budget.check();const d=e[n],l=d.trim();if(!l){n+=1;continue}if(/^<details>\s*$/i.test(l)){const M=n;let w="Details";const v=[];for(n+=1;n<e.length&&!/^<\/details>\s*$/i.test(e[n].trim());){const x=e[n].trim().match(/^<summary>(.*?)<\/summary>\s*$/i);x?w=x[1].trim()||w:v.push(e[n].trimStart()),n+=1}n<e.length&&(n+=1),o.push({kind:"static",node:i.jsxs("details",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface px-3 py-2 text-muted-foreground",children:[i.jsx("summary",{className:"cursor-pointer text-sm font-semibold text-foreground",children:H(w,`${t}-details-${M}-summary`,!0,r)}),v.length>0&&i.jsx("div",{className:"mt-2 text-sm leading-6",children:Ht(v,`${t}-details-${M}`,r)})]},`${t}-details-${M}`)});continue}if(/^<video\b/i.test(l)){const M=n,w=[d];for(n+=1;!w[w.length-1].match(/<\/video\s*>/i)&&n<e.length&&e[n].trim();)r.budget.check(),w.push(e[n++]);const v=w.join(`
3
- `);o.push({kind:"static",node:i.jsx("div",{children:H(v,`${t}-video-${M}`,!0,r)},`${t}-video-${M}`)});continue}const f=At(d);if(f){const M=[d],w=n;for(n+=1;n<e.length&&!f.selfContained&&!new RegExp(`</${f.tag}>`,"i").test(e[n]);)M.push(e[n]),n+=1;n<e.length&&!f.selfContained&&(M.push(e[n]),n+=1),o.push({kind:"static",node:i.jsx(Ct,{html:M.join(`
4
- `)},`${t}-html-${w}`)});continue}const m=l.match(/^(```|~~~)\s*(.*)$/);if(m){const M=[],w=m[1],v=m[2]?.trim(),x=n;for(n+=1;n<e.length&&!e[n].trim().startsWith(w);)M.push(e[n]),n+=1;n<e.length&&(n+=1),v.toLowerCase()==="mermaid"?o.push({kind:"static",node:i.jsx(Ft,{code:M.join(`
5
- `),blockKey:`${t}-code-${x}`},`${t}-code-${x}`)}):["math","latex","tex"].includes(v.toLowerCase())?o.push({kind:"static",node:i.jsx(ne,{tex:M.join(`
6
- `),display:!0},`${t}-code-${x}`)}):o.push({kind:"code",key:`${t}-code-${x}`,code:M.join(`
7
- `),lang:v,blockKey:`${t}-code-${x}`,codeStartLine:c(x)+1});continue}if(we(d)){const M=[],w=n;for(;n<e.length&&(we(e[n])||!e[n].trim());)M.push(e[n].trim()?Wt(e[n]):""),n+=1;o.push({kind:"code",key:`${t}-indented-code-${w}`,code:M.join(`
8
- `).replace(/\n+$/,""),lang:"",blockKey:`${t}-indented-code-${w}`,codeStartLine:c(w)});continue}const a=l.match(/^(#{1,6})\s+(.+)$/);if(a){const w=`h${Math.min(6,a[1].length+1)}`,v=kt(a[2]),x=Re(v,r);o.push({kind:"static",node:i.jsx(w,{id:x,className:"scroll-mt-16 font-semibold text-foreground",children:H(v,`${t}-heading-${n}`,!0,r)},`${t}-heading-${n}`)}),n+=1;continue}if(n+1<e.length&&d.includes("|")&&ke(e[n+1])){const M=se(d),w=zt(e[n+1]),v=[],x=n;for(n+=2;n<e.length&&e[n].includes("|")&&e[n].trim();)v.push(se(e[n])),n+=1;o.push({kind:"static",node:i.jsx("div",{className:gt,"data-markdown-table-scroll":!0,"data-markdown-native-scroll":!0,tabIndex:0,role:"region","aria-label":"表格,可横向滚动",children:i.jsxs("table",{className:"w-max min-w-full max-w-none table-auto border-collapse text-left text-[11px] sm:text-xs",children:[i.jsx("thead",{className:"bg-surface-2 text-foreground",children:i.jsx("tr",{children:M.map((N,I)=>i.jsx("th",{className:`${mt} ${ve(w[I]??null)}`,children:i.jsx("div",{className:ge,children:H(N,`${t}-th-${x}-${I}`,!0,r)})},`h-${I}`))})}),i.jsx("tbody",{children:v.map((N,I)=>i.jsx("tr",{className:"border-t border-border/10",children:M.map((p,g)=>i.jsx("td",{className:`${pt} ${ve(w[g]??null)}`,children:i.jsx("div",{className:ge,children:H(N[g]??"",`${t}-td-${x}-${I}-${g}`,!0,r)})},`c-${g}`))},`r-${I}`))})]})},`${t}-table-${x}`)});continue}const b=ae(d);if(b){const M=b.ordered,w=Le(d),v=b.start,x=n,N=Be(e,n,w,M,!1);n=N.nextIndex,o.push({kind:"list",keyPrefix:`${t}-list-${x}`,ordered:M,start:M?v:void 0,renders:Oe(N.items,`${t}-list-${x}`,r,c(0)-1)});continue}const y=[d.trimStart()],L=[c(n)],S=n;for(n+=1;n<e.length&&e[n].trim()&&!Te(e[n])&&!(n+1<e.length&&e[n].includes("|")&&ke(e[n+1]));)y.push(e[n].trimStart()),L.push(c(n)),n+=1;const _=De(y,`${t}-p-${S}`,r);o.push({kind:"paragraph",keyPrefix:`${t}-p-${S}`,perLine:_.perLine,hardBreaks:_.hardBreaks,lineNums:L})}return o}function Jr(e,t){return e.map(r=>{switch(r.kind){case"static":return r.node;case"paragraph":return i.jsx("p",{children:Pe(r.perLine,r.hardBreaks,r.lineNums,r.keyPrefix,t)},r.keyPrefix);case"list":{const s=r.ordered?"ol":"ul";return i.jsx(s,{start:r.start,className:`${r.ordered?"list-decimal":"list-disc"} space-y-0.5 pl-4 marker:text-muted-foreground/70`,children:Fe(r.renders,t)},r.keyPrefix)}case"code":return i.jsx($e,{code:r.code,lang:r.lang,blockKey:r.blockKey,codeStartLine:r.codeStartLine,lineRange:t},r.key)}})}const fe=16,Ot=192;function en(e){const t=e.match(/\sviewBox=(["'])([^"']+)\1/i);if(!t)return e;const[,,r]=t,s=r.trim().split(/[\s,]+/).map(Number),[,,o,n]=s;if(!Number.isFinite(o)||!Number.isFinite(n)||o<=0||n<=0)return e;const c=Math.max(Ot,Math.ceil(o)),d=Math.ceil(c/o*n);return e.replace(/<svg\b([^>]*)>/i,(l,f)=>`<svg${f.replace(/\s(?:width|height)=(["']).*?\1/gi,"").replace(/\sstyle=(["']).*?\1/gi,"")} width="${c}" height="${d}">`)}function tn(e){const t=e?.querySelector("svg");if(!t)return;let r;try{r=t.getBBox()}catch{return}if(!Number.isFinite(r.width)||!Number.isFinite(r.height)||r.width<=0||r.height<=0)return;const s=r.x-fe,o=r.y-fe,n=r.width+fe*2,c=r.height+fe*2,d=Math.max(Ot,Math.ceil(n)),l=Math.ceil(d/n*c);t.setAttribute("viewBox",`${s} ${o} ${n} ${c}`),t.setAttribute("width",String(d)),t.setAttribute("height",String(l)),t.removeAttribute("style")}function rn(e){const t=e.trim().split(/\s+/,1)[0]?.toLowerCase();if(!t)return null;const r=t.replace(/^language-/,"");return xr(`code.${r}`)??r}function Ft({code:e,blockKey:t}){const{t:r}=J(),[s,o]=h.useState(null),[n,c]=h.useState(!1),d=h.useRef(null),l=h.useContext(wt);h.useEffect(()=>{let m=!1;return o(null),c(!1),Er().then(async a=>{_r(a);const b=`termdock-md-mermaid-${t.replace(/[^a-zA-Z0-9_-]/g,"-")}`,{svg:y}=await a.render(b,e);m||o(en(y))}).catch(()=>{m||c(!0)}),()=>{m=!0}},[t,e]),h.useLayoutEffect(()=>{s&&tn(d.current)},[s]);const f=h.useCallback(()=>{const m=d.current?.querySelector("svg")?.outerHTML??s;m&&l?.(m)},[l,s]);return n?i.jsx($e,{code:e,lang:"mermaid",blockKey:`${t}-fallback`}):i.jsxs("div",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface shadow-sm",children:[i.jsx("div",{className:"border-b border-border/15 bg-surface-2 px-3 py-1.5 text-[10px] uppercase tracking-wide text-muted-foreground",children:"mermaid"}),i.jsx("div",{className:"bg-surface p-3",children:s?i.jsx("button",{type:"button",className:"block max-w-full rounded text-left focus:outline-none focus:ring-2 focus:ring-ring/45",title:r("rightSidebar.openMermaidDiagram"),onClick:m=>{m.stopPropagation(),f()},children:i.jsx("span",{ref:d,role:"img","aria-label":r("rightSidebar.mermaidDiagram"),className:"block max-h-[70vh] max-w-full overflow-auto rounded bg-white p-2 text-slate-900 [&_svg]:block [&_svg]:h-auto [&_svg]:max-w-full",dangerouslySetInnerHTML:{__html:s}})}):i.jsx("div",{className:"py-6 text-center text-xs text-muted-foreground",children:r("rightSidebar.renderingDiagram")})})]})}function $e({code:e,lang:t,blockKey:r,codeStartLine:s,lineRange:o}){const n=rn(t),[c,d]=h.useState(null);h.useEffect(()=>{if(!n||!pr(e)){d(null);return}let f=!1;return gr().then(m=>{if(f||!m.registered(n)){f||d(null);return}try{d(br(m,e,n))}catch{f||d(null)}}).catch(()=>{f||d(null)}),()=>{f=!0}},[r,e,n]);const l=c??(e||" ").split(`
9
- `).map(f=>[f||" "]);return i.jsxs("div",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface shadow-sm",children:[t&&i.jsx("div",{className:"border-b border-border/15 bg-surface-2 px-3 py-1.5 text-[10px] uppercase tracking-wide text-muted-foreground",children:t}),i.jsx("pre",{"data-markdown-native-scroll":!0,tabIndex:0,className:`${We} termdock-code max-w-full overflow-auto p-3 text-[11px] leading-relaxed text-foreground`,children:i.jsx("code",{children:l.map((f,m)=>{const a=s!=null?s+m:null,b=!!(o&&a!=null&&a>=o.start&&a<=o.end);return i.jsxs("span",{"data-md-ref-start":a??void 0,"data-md-ref-end":a??void 0,"data-selected":b?"true":void 0,children:[f,m<l.length-1?`
10
- `:null]},`${r}-line-${m}`)})})})]})}function Ue(e,t,r,s,o){const n=new jr;n.validateLines(e),e=Ar(e);const c=Rr(e),d=Lt(e),l=[],f={budget:n,markdownFilePath:t,rootPath:r,referenceDefinitions:c,footnoteDefinitions:Cr(e),headingSlugCounts:new Map,images:l,onImageOpen:s,footnotesLabel:o?.footnotes??"Footnotes",backToFootnoteLabel:o?.backToFootnote??(y=>`Back to footnote ${y}`)},m=[];let a=0;for(;a<e.length;){f.budget.check();const y=e[a],L=y.trim();if(be(y)||d.has(a)){a+=1;continue}if(!L){a+=1;continue}if(/^<details>\s*$/i.test(L)){const p=a;let g="Details";const k=[];for(a+=1;a<e.length&&!/^<\/details>\s*$/i.test(e[a].trim());){const j=e[a].trim().match(/^<summary>(.*?)<\/summary>\s*$/i);j?g=j[1].trim()||g:k.push(e[a].trimStart()),a+=1}a<e.length&&(a+=1),m.push({key:`details-${p}`,startLine:p+1,endLine:a,content:i.jsxs("details",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface px-3 py-2 text-muted-foreground",children:[i.jsx("summary",{className:"cursor-pointer text-sm font-semibold text-foreground",children:H(g,`details-${p}-summary`,!0,f)}),k.length>0&&i.jsx("div",{className:"mt-2 text-sm leading-6",children:Ht(k,`details-${p}`,f)})]})});continue}if(/^<video\b/i.test(L)){const p=a,g=[y];for(a+=1;!/<\/video\s*>/i.test(g[g.length-1])&&a<e.length&&e[a].trim();)f.budget.check(),g.push(e[a++]);m.push({key:`video-${p}`,startLine:p+1,endLine:a,content:i.jsx("div",{children:H(g.join(`
11
- `),`video-${p}`,!0,f)})});continue}const S=At(y);if(S){const p=[y],g=a;for(a+=1;a<e.length&&!S.selfContained&&!new RegExp(`</${S.tag}>`,"i").test(e[a]);)p.push(e[a]),a+=1;a<e.length&&!S.selfContained&&(p.push(e[a]),a+=1),m.push({key:`html-${g}`,startLine:g+1,endLine:a,content:i.jsx(Ct,{html:p.join(`
12
- `)})});continue}const _=L.match(/^(```|~~~)\s*(.*)$/);if(_){const p=[],g=_[1],k=_[2]?.trim(),j=a;for(a+=1;a<e.length&&!e[a].trim().startsWith(g);)p.push(e[a]),a+=1;a<e.length&&(a+=1),m.push({key:`code-${j}`,startLine:j+1,endLine:a,fineGrained:k.toLowerCase()!=="mermaid"&&!["math","latex","tex"].includes(k.toLowerCase()),content:k.toLowerCase()==="mermaid"?i.jsx(Ft,{code:p.join(`
13
- `),blockKey:`code-${j}`}):["math","latex","tex"].includes(k.toLowerCase())?i.jsx(ne,{tex:p.join(`
14
- `),display:!0}):R=>i.jsx($e,{code:p.join(`
15
- `),lang:k,blockKey:`code-${j}`,codeStartLine:j+2,lineRange:R})});continue}if(we(y)){const p=[],g=a;for(a+=0;a<e.length&&(we(e[a])||!e[a].trim());)p.push(e[a].trim()?Wt(e[a]):""),a+=1;m.push({key:`indented-code-${g}`,startLine:g+1,endLine:a,fineGrained:!0,content:k=>i.jsx($e,{code:p.join(`
16
- `).replace(/\n+$/,""),lang:"",blockKey:`indented-code-${g}`,codeStartLine:g+1,lineRange:k})});continue}if(L.startsWith("$$")){const p=[],g=a,k=L.replace(/^\$\$\s*/,"");if(k.endsWith("$$")&&k.length>2)p.push(k.replace(/\s*\$\$$/,"")),a+=1;else{for(k&&p.push(k),a+=1;a<e.length&&!e[a].trim().endsWith("$$");)p.push(e[a]),a+=1;if(a<e.length){const j=e[a].trim().replace(/\s*\$\$$/,"");j&&p.push(j),a+=1}}m.push({key:`math-${g}`,startLine:g+1,endLine:a,content:i.jsx(ne,{tex:p.join(`
17
- `),display:!0})});continue}if(a+1<e.length&&L&&!Te(y)&&/^(=+|-+)\s*$/.test(e[a+1].trim())){const p=e[a+1].trim().startsWith("=")?1:2,g=`h${p}`,k=Re(L,f),j={level:p,text:tt(L),id:k};m.push({key:`setext-heading-${a}`,startLine:a+1,endLine:a+2,heading:j,content:i.jsx(g,{id:k,className:`scroll-mt-16 font-semibold text-foreground ${p===1?"mt-1 border-b border-border/20 pb-1.5 text-lg sm:pb-2 sm:text-xl":"mt-1 border-b border-border/15 pb-1 text-base sm:pb-1.5 sm:text-lg"}`,children:H(L,`setext-heading-${a}`,!0,f)})}),a+=2;continue}const M=L.match(/^(#{1,6})\s+(.+)$/);if(M){const p=M[1].length,g=kt(M[2]),k={1:"mt-1 border-b border-border/20 pb-1.5 text-lg sm:pb-2 sm:text-xl",2:"mt-1 border-b border-border/15 pb-1 text-base sm:pb-1.5 sm:text-lg",3:"text-sm sm:text-base",4:"text-[13px] sm:text-sm",5:"text-[11px] uppercase tracking-wide sm:text-xs",6:"text-[11px] uppercase tracking-wide text-muted-foreground"},j=`h${p}`,R=Re(g,f),D={level:p,text:tt(g),id:R};m.push({key:`heading-${a}`,startLine:a+1,endLine:a+1,heading:D,content:i.jsx(j,{id:R,className:`scroll-mt-16 font-semibold text-foreground ${k[p]}`,children:H(g,`heading-${a}`,!0,f)})}),a+=1;continue}if(bt(y)){m.push({key:`hr-${a}`,startLine:a+1,endLine:a+1,content:i.jsx("hr",{className:"border-border/20"})}),a+=1;continue}if(L.startsWith(">")){const p=[],g=[],k=a;for(;a<e.length&&/^>\s?/.test(e[a].trim());)p.push(e[a].trim().replace(/^>\s?/,"")),g.push(a+1),a+=1;const j=p[0]?.match(/^\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\]\s*(.*)$/i);if(j){const D=j[1].toUpperCase(),$=j[2]?.trim(),T=[...$?[$]:[],...p.slice(1)],z=[...$?[g[0]]:[],...g.slice(1)],B=De(T,`callout-${k}`,f);m.push({key:`callout-${k}`,startLine:k+1,endLine:a,fineGrained:!0,content:K=>i.jsxs("aside",{className:"rounded-lg border border-primary/20 bg-primary/5 px-3 py-2 text-muted-foreground",children:[i.jsx("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-primary",children:D}),T.length>0&&i.jsx("div",{children:Pe(B.perLine,B.hardBreaks,z,`callout-${k}`,K)})]})});continue}const R=Qr(p,`quote-${k}`,f,g);m.push({key:`quote-${k}`,startLine:k+1,endLine:a,fineGrained:!0,content:D=>i.jsx("blockquote",{className:"space-y-2 border-l-2 border-border-strong bg-surface-2/70 py-1.5 pl-2.5 pr-2 text-muted-foreground sm:py-2 sm:pl-3",children:Jr(R,D)})});continue}if(a+1<e.length&&y.includes("|")&&ke(e[a+1])){const p=se(y),g=zt(e[a+1]),k=[],j=a;for(a+=2;a<e.length&&e[a].includes("|")&&e[a].trim();)k.push(se(e[a])),a+=1;const R=p.map(($,T)=>H($,`th-${j}-${T}`,!0,f)),D=k.map(($,T)=>p.map((z,B)=>H($[B]??"",`td-${j}-${T}-${B}`,!0,f)));m.push({key:`table-${j}`,startLine:j+1,endLine:a,interactive:!1,kind:"table",content:$=>{const T=z=>!!($&&z>=$.start&&z<=$.end);return i.jsx("div",{className:gt,"data-markdown-table-scroll":!0,"data-markdown-native-scroll":!0,tabIndex:0,role:"region","aria-label":"表格,可横向滚动",children:i.jsxs("table",{className:"w-max min-w-full max-w-none table-auto border-collapse text-left text-[11px] sm:text-xs",children:[i.jsx("thead",{className:"bg-surface-2 text-foreground",children:i.jsx("tr",{"data-markdown-table-row-line":j+1,"data-md-ref-start":j+1,"data-md-ref-end":j+1,"data-selected":T(j+1)?"true":void 0,children:R.map((z,B)=>i.jsx("th",{className:`${mt} ${ve(g[B]??null)}`,children:i.jsx("div",{className:ge,children:z})},`h-${B}`))})}),i.jsx("tbody",{children:D.map((z,B)=>{const K=j+B+3;return i.jsx("tr",{className:"border-t border-border/10","data-markdown-table-row-line":K,"data-md-ref-start":K,"data-md-ref-end":K,"data-selected":T(K)?"true":void 0,children:p.map((Y,G)=>i.jsx("td",{className:`${pt} ${ve(g[G]??null)}`,children:i.jsx("div",{className:ge,children:z[G]})},`c-${G}`))},`r-${B}`)})})]})})}});continue}const w=ae(y);if(w){const p=w.ordered,g=Le(y),k=w.start,j=a,R=Be(e,a,g,p,!0,d);a=R.nextIndex;const D=p?"ol":"ul",$=Oe(R.items,`list-${j}`,f);m.push({key:`list-${j}`,startLine:j+1,endLine:a,fineGrained:!0,content:T=>i.jsx(D,{start:p?k:void 0,className:`${p?"list-decimal":"list-disc"} space-y-0.5 pl-4 text-muted-foreground marker:text-muted-foreground/70 sm:space-y-1 sm:pl-5`,children:Fe($,T)})});continue}const v=[y.trimStart()],x=[a+1],N=a;for(a+=1;a<e.length&&e[a].trim()&&!Te(e[a])&&!(a+1<e.length&&e[a].includes("|")&&ke(e[a+1]));){if(be(e[a])||d.has(a)){a+=1;continue}v.push(e[a].trimStart()),x.push(a+1),a+=1}const I=De(v,`p-${N}`,f);m.push({key:`p-${N}`,startLine:N+1,endLine:a,fineGrained:!0,content:p=>i.jsx("p",{className:"text-muted-foreground",children:Pe(I.perLine,I.hardBreaks,x,`p-${N}`,p)})})}const b=qr(f);return b&&m.push({key:"footnotes",startLine:e.length,endLine:e.length,content:b}),n.check(),{blocks:m,images:l}}function nn(e,t,r){return Ue(e,t,r).blocks}function Ut(e,t){const r=[];for(const s of e){if(s.startLine>t)break;if(s.heading){for(;r.length>0&&r[r.length-1].level>=s.heading.level;)r.pop();r.push({...s.heading,startLine:s.startLine})}}return r}function Xt(e){return e.filter(t=>!!t.heading).map(t=>({...t.heading,startLine:t.startLine}))}function sn({src:e,alt:t,onZoomChange:r,onDoubleTap:s}){const{t:o}=J(),n=_t(e),c=ft(n),[d,l]=h.useState(null),[f,m]=h.useState(0);h.useEffect(()=>{if(!c)return;const b=new AbortController;let y;return l(null),ot(n,{signal:b.signal}).then(async L=>{if(!L.ok)throw new Error(`HTTP ${L.status}`);const S=await L.blob();b.signal.aborted||(y=URL.createObjectURL(S),l({src:n,objectUrl:y}))}).catch(()=>{b.signal.aborted||l({src:n,failed:!0})}),()=>{b.abort(),y&&URL.revokeObjectURL(y)}},[c,n,f]);const a=d?.src===n?d:null;return c&&!a?.objectUrl?i.jsx("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",role:a?.failed?"alert":"status",children:a?.failed?i.jsxs("div",{className:"flex flex-col items-center gap-3",onClick:b=>b.stopPropagation(),children:[i.jsx("span",{children:o("rightSidebar.imageLoadFailed")}),i.jsx("button",{type:"button",className:"rounded bg-surface-2 px-3 py-2 hover:bg-surface-elevated",onClick:()=>m(b=>b+1),children:o("common.retry")})]}):o("rightSidebar.loadingImage")}):i.jsx(Vt,{src:c?a.objectUrl:n,vector:ie(e),alt:t,onLoad:()=>{},onError:()=>{c&&l({src:n,failed:!0})},onZoomChange:r,onDoubleTap:s})}function Kt({images:e,index:t,onChange:r,onClose:s}){const{t:o}=J(),n=e[t],c=e.length>1,d=h.useRef(null),l=h.useRef(null),f=h.useRef(null),m=h.useRef(0),[a,b]=h.useState(!1),[y,L]=h.useState(0),[S,_]=h.useState(!1),[M,w]=h.useState(!1),[v,x]=h.useState(null),N=h.useRef(!1),I=async()=>{if(!(!n||N.current)){p(),N.current=!0,w(!0),x(null);try{await Nr(n)}catch($){x({image:n,message:$ instanceof Error?$.message:o("rightSidebar.downloadFailed")})}finally{N.current=!1,w(!1)}}},p=h.useCallback(()=>{f.current!==null&&(window.clearTimeout(f.current),f.current=null)},[]),g=h.useCallback(()=>{a||Date.now()<m.current||(p(),f.current=window.setTimeout(()=>{f.current=null,s()},450))},[p,a,s]),k=h.useCallback($=>{if(e.length===0)return;const T=($+e.length)%e.length;d.current?.slideTo(T),r(T)},[e.length,r]),j=h.useCallback(()=>k(t-1),[k,t]),R=h.useCallback(()=>k(t+1),[k,t]);if(h.useEffect(()=>{p(),L(0),_(!1),b(!1)},[p,t]),h.useEffect(()=>{const $=d.current;$&&($.allowTouchMove=c&&!a)},[c,a]),h.useEffect(()=>{const $=d.current;!$||$.activeIndex===t||$.slideTo(t,0)},[t]),h.useEffect(()=>p,[p]),h.useEffect(()=>{const $=T=>{if(T.key==="Escape"){T.preventDefault(),s();return}c&&(T.key==="ArrowLeft"?(T.preventDefault(),j()):T.key==="ArrowRight"&&(T.preventDefault(),R()))};return document.addEventListener("keydown",$),()=>document.removeEventListener("keydown",$)},[c,R,j,s]),ut({onDrag:({movement:[$,T],pinching:z})=>{z||a||Math.abs(T)<Math.abs($)*1.15&&y===0||(_(!0),Math.abs(T)>8&&(m.current=Date.now()+300),L(Math.max(0,T)))},onDragEnd:({movement:[$,T],velocity:[,z],pinching:B,canceled:K})=>{if(_(!1),B||K||a||Math.abs(T)<Math.abs($)*1.15){L(0);return}if(Math.abs(T)>8&&(m.current=Date.now()+300),Bt(T,z)){s();return}L(0)}},{target:l,drag:{filterTaps:!0,pointer:{touch:!0}}}),!n)return null;const D=n.title||n.alt||(n.kind==="mermaid"?o("rightSidebar.mermaidDiagram"):o("rightSidebar.image"));return typeof document>"u"?null:dt.createPortal(i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"fixed inset-0 z-modal-backdrop bg-[var(--app-backdrop)] backdrop-blur-sm",onClick:s}),i.jsxs("div",{className:"fixed inset-0 z-modal-panel flex flex-col bg-background-subtle/95 pt-[var(--safe-top-inset,env(safe-area-inset-top,0px))] text-foreground","data-markdown-image-lightbox":!0,"data-sidebar-gesture-ignore":!0,children:[i.jsxs("div",{className:"flex h-12 shrink-0 items-center justify-between gap-3 border-b border-border/20 bg-surface/80 px-3",children:[i.jsxs("div",{className:"min-w-0",children:[i.jsx("div",{className:"truncate text-sm font-medium",children:D}),i.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[t+1," / ",e.length]})]}),i.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[c&&i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",onClick:j,className:"inline-flex h-9 w-9 items-center justify-center rounded-full bg-surface-2 text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground active:scale-95","aria-label":o("rightSidebar.previousImage"),title:o("common.previous"),children:i.jsx(or,{size:17})}),i.jsx("button",{type:"button",onClick:R,className:"inline-flex h-9 w-9 items-center justify-center rounded-full bg-surface-2 text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground active:scale-95","aria-label":o("rightSidebar.nextImage"),title:o("common.next"),children:i.jsx(lr,{size:17})})]}),i.jsx("button",{type:"button",onClick:()=>{I()},disabled:M,className:"inline-flex h-9 w-9 items-center justify-center rounded-full bg-surface-2 text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground active:scale-95 disabled:opacity-50 disabled:active:scale-100","aria-label":o("rightSidebar.downloadFile"),title:o("rightSidebar.downloadFile"),"aria-busy":M,children:M?i.jsx(cr,{size:17,className:"animate-spin"}):i.jsx(dr,{size:17})}),i.jsx("button",{type:"button",onClick:s,className:"inline-flex h-9 w-9 items-center justify-center rounded-full bg-surface-2 text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground","aria-label":o("rightSidebar.closeImagePreview"),title:o("common.close"),children:i.jsx(it,{size:18})})]})]}),v?.image===n&&i.jsxs("div",{role:"alert",className:"flex shrink-0 items-center justify-between gap-3 bg-surface px-3 py-2 text-xs text-destructive",children:[i.jsxs("span",{className:"min-w-0 break-words",children:[o("rightSidebar.downloadFailed"),": ",v.message]}),i.jsx("button",{type:"button",className:"shrink-0 rounded bg-surface-2 px-3 py-1 text-foreground hover:bg-surface-elevated",onClick:()=>{I()},disabled:M,children:o("common.retry")})]}),i.jsx("div",{ref:l,className:"relative min-h-0 flex-1 overflow-hidden","data-markdown-image-lightbox-stage":!0,"data-sidebar-gesture-ignore":!0,onClick:$=>{if(!(Date.now()<m.current)){if($.target instanceof Element&&$.target.closest('img, [role="img"]')){g();return}p(),s()}},children:i.jsx("div",{className:"h-full w-full",style:{transform:`translate3d(0, ${y}px, 0) scale(${Math.max(.86,1-y/900)})`,opacity:Math.max(.35,1-y/360),transition:S?"none":"transform 0.2s ease-out, opacity 0.2s ease-out",willChange:"transform, opacity"},children:i.jsx(hr,{onSwiper:$=>{d.current=$,$.allowTouchMove=c&&!a},onSlideChange:$=>{$.activeIndex!==t&&r($.activeIndex)},onSliderMove:()=>{p(),m.current=Date.now()+450},initialSlide:t,speed:260,slidesPerView:1,resistanceRatio:.82,threshold:6,longSwipesRatio:.2,touchAngle:45,touchStartPreventDefault:!1,simulateTouch:!1,className:"h-full",children:e.map(($,T)=>i.jsx(mr,{className:"h-full",children:i.jsx("div",{className:"h-full w-full px-3 py-4 sm:px-6 sm:py-6",children:$.kind==="image"?i.jsx(sn,{src:$.src,alt:$.alt||$.title||o("rightSidebar.markdownImage"),onZoomChange:b,onDoubleTap:p}):i.jsx(cn,{svg:$.svg,title:$.title||$.alt||o("rightSidebar.mermaidDiagram"),onZoomChange:b,onDoubleTap:p})})},`${$.kind}-${T}-${$.alt}`))})})})]})]}),document.body)}function an({embedded:e=!1,referenceLines:t=!0,content:r,filePath:s,rootPath:o,lineRange:n,onLineRangeClick:c,onLineRangeDrag:d,scrollTop:l,outlineOpen:f,outlineCloseSignal:m,onOutlineOpen:a,onOutlineClose:b,lightboxOpen:y,lightboxCloseSignal:L,onLightboxOpen:S,onLightboxClose:_,onLocalLinkOpen:M}){const{t:w}=J(),[v,x]=h.useState(null),[N,I]=h.useState(null),[p,g]=h.useState(1),[k,j]=h.useState(null),R=h.useRef(null),D=h.useRef(null),{blocks:$,images:T,parseError:z}=h.useMemo(()=>{try{return{...Ue(r.split(`
18
- `),s,o,u=>{I(null),x(u),S?.()},{footnotes:w("rightSidebar.footnotes"),backToFootnote:u=>w("rightSidebar.backToFootnote",{index:u})}),parseError:null}}catch(u){return{blocks:[],images:[],parseError:u instanceof Error?u.message:String(u)}}},[r,s,o,S,w]);h.useEffect(()=>{z&&Zt("markdown_error",{filePath:s,rootPath:o,error:z,fallback:"plain_text"})},[z,s,o]);const B=h.useMemo(()=>N?[...T,N]:T,[T,N]),K=h.useCallback(u=>{I({kind:"mermaid",svg:u,alt:"Mermaid diagram",title:"Mermaid diagram"}),x(T.length),S?.()},[T.length,S]);h.useEffect(()=>{x(null),I(null)},[r,s]),h.useEffect(()=>{x(null),I(null)},[L]),h.useEffect(()=>{y||(x(null),I(null))},[y]),h.useEffect(()=>{g(1)},[r,s]),h.useLayoutEffect(()=>{const u=R.current;if(!u||$.length===0)return;const E=Array.from(u.querySelectorAll("[data-markdown-preview-block-start]"));let C=1;const A=28;for(const O of E)if(O.offsetTop-l<=A)C=Number(O.dataset.markdownPreviewBlockStart)||C;else break;g(O=>O===C?O:C)},[$,l]);const Y=h.useMemo(()=>Ut($,p),[p,$]),G=h.useMemo(()=>Xt($),[$]),oe=`${s??""}
19
- ${r}`,Ke=h.useRef(oe),ee=h.useRef(null),Z=h.useRef(null),je=h.useRef(!1);h.useEffect(()=>{Ke.current!==oe&&(Ke.current=oe,b?.())},[b,oe]),h.useEffect(()=>{m!==void 0&&j(null)},[m]),h.useLayoutEffect(()=>{if(!f){j(null);return}const u=()=>{const E=D.current;if(!E)return;const C=E.getBoundingClientRect(),A=window.innerWidth;j({top:C.bottom+6,right:Math.max(8,A-C.right)})};return u(),window.addEventListener("resize",u),window.addEventListener("scroll",u,!0),()=>{window.removeEventListener("resize",u),window.removeEventListener("scroll",u,!0)}},[f,l,Y]);const Ye=h.useCallback(u=>{const E=R.current,C=E?.closest("[data-markdown-preview-scroller]"),A=E?.querySelector(`[data-markdown-preview-block-start="${u.startLine}"]`);if(!C||!A)return;const O=C.getBoundingClientRect(),U=A.getBoundingClientRect(),W=E?.querySelector("[data-markdown-heading-sticky]")?.getBoundingClientRect().height??0,V=U.top-O.top+C.scrollTop;C.scrollTo({top:Math.max(0,V-W-8),behavior:"smooth"}),g(u.startLine),b?.()},[b]),qt=h.useCallback(u=>{u.pointerType==="mouse"&&u.button!==0||Ie(u.target)||(ee.current={pointerId:u.pointerId,startX:u.clientX,startY:u.clientY})},[]),Qt=h.useCallback((u,E,C)=>{const A=ee.current;if(ee.current=null,!A||A.pointerId!==u.pointerId)return;const O=Math.abs(u.clientX-A.startX),U=Math.abs(u.clientY-A.startY);if(O>8||U>8)return;const F=u.target;if(Ie(F)||Ze())return;const W=at(F,E,C);c(u,W.start,W.end)},[c]),Jt=h.useCallback(u=>{ee.current?.pointerId===u.pointerId&&(ee.current=null)},[]),q=h.useCallback((u,E)=>{const C=R.current;if(!C||typeof document.elementFromPoint!="function")return null;const A=document.elementFromPoint(u,E);if(!(A instanceof HTMLElement)||!C.contains(A))return null;const O=A.closest("[data-md-ref-start]");if(O){const X=Number(O.dataset.mdRefStart);if(Number.isFinite(X)&&X>0)return X}const U=A.closest("[data-markdown-preview-block-start]");if(!U)return null;const F=Number(U.dataset.markdownPreviewBlockStart),W=$.find(X=>X.startLine===F);if(!W)return Number.isFinite(F)&&F>0?F:null;if(W.endLine<=W.startLine)return W.startLine;const V=U.getBoundingClientRect(),P=V.height>0?Math.min(1,Math.max(0,(E-V.top)/V.height)):0;return Math.round(W.startLine+P*(W.endLine-W.startLine))},[$]),er=h.useCallback(u=>{if(!d||u.pointerType==="mouse"&&u.button!==0)return;const E=q(u.clientX+24,u.clientY);if(E!=null){Z.current={pointerId:u.pointerId,anchorLine:E,moved:!1};try{u.currentTarget.setPointerCapture(u.pointerId)}catch{}}},[d,q]),tr=h.useCallback(u=>{const E=Z.current;if(!E||E.pointerId!==u.pointerId||!d)return;const C=q(u.clientX+16,u.clientY);C!=null&&(!E.moved&&C===E.anchorLine||(E.moved=!0,je.current=!0,d(u,Math.min(E.anchorLine,C),Math.max(E.anchorLine,C),"move")))},[d,q]),rr=h.useCallback(u=>{const E=Z.current;if(Z.current=null,!E||E.pointerId!==u.pointerId||!d||!E.moved)return;const C=q(u.clientX+16,u.clientY)??E.anchorLine;d(u,Math.min(E.anchorLine,C),Math.max(E.anchorLine,C),"end")},[d,q]),nr=h.useCallback(u=>{Z.current?.pointerId===u.pointerId&&(Z.current=null)},[]),Me={onPointerDown:er,onPointerMove:tr,onPointerUp:rr,onPointerCancel:nr},Ge=()=>je.current?(je.current=!1,!0):!1;return z?i.jsxs("div",{className:"min-w-0 max-w-full px-4 py-4 text-sm leading-6 text-foreground","data-markdown-preview-fallback":!0,children:[i.jsx("p",{role:"alert",className:"mb-3 text-destructive",children:w("rightSidebar.markdownParseFailed")}),i.jsx("pre",{className:"whitespace-pre-wrap break-words font-mono text-xs",children:r})]}):$.length===0?i.jsx("div",{className:"min-w-0 max-w-full px-4 py-4 text-sm leading-6 text-foreground",children:i.jsx("p",{className:"text-muted-foreground",children:w("rightSidebar.emptyFile")})}):i.jsxs(i.Fragment,{children:[i.jsxs("div",{ref:R,className:"relative min-w-0 max-w-full",onClickCapture:u=>{const E=u.target instanceof Element?u.target.closest("a[href]"):null;if(!E||!M)return;const C=E.getAttribute("href");if(!C)return;const A=ye(C,s,o);A&&(u.preventDefault(),M(A))},children:[t&&Y.length>0&&i.jsx("div",{className:"sticky top-0 z-10 border-b border-border/15 bg-surface px-2 py-1 shadow-sm sm:px-3","data-markdown-heading-sticky":!0,children:i.jsxs("div",{className:"flex min-w-0 items-center gap-2 overflow-hidden",title:Y.map(u=>u.text).join(" / "),children:[i.jsx("span",{className:"h-4 w-0.5 shrink-0 rounded-full bg-primary/70","aria-hidden":"true"}),i.jsx("span",{className:"min-w-0 flex-1 truncate text-[12px] font-semibold leading-5 text-foreground sm:text-[13px]","data-markdown-heading-current":!0,children:Y[Y.length-1].text}),G.length>1&&i.jsxs("button",{ref:D,type:"button",onClick:()=>{f?b?.():a?.()},className:`inline-flex h-7 shrink-0 items-center gap-1 rounded-md px-2 text-[11px] font-medium transition active:scale-95 ${f?"bg-surface-2 text-foreground":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,"aria-expanded":f,"aria-label":w("rightSidebar.markdownOutline"),title:w("rightSidebar.markdownOutline"),children:[i.jsx(wr,{size:12}),i.jsx("span",{children:w("rightSidebar.markdownOutlineShort")})]})]})}),f&&typeof document<"u"&&dt.createPortal(i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"fixed inset-0 z-menu-backdrop bg-[rgb(var(--background-rgb)_/_0.18)] sm:hidden",onClick:b}),i.jsx("div",{className:"hidden fixed z-menu-panel w-80 max-w-[min(20rem,calc(100vw-2rem))] rounded-lg border border-border/20 bg-surface p-2 shadow-xl sm:block",style:k?{top:`${k.top}px`,right:`${k.right}px`}:{top:-9999,right:-9999},"data-markdown-heading-outline-desktop":!0,children:i.jsx("div",{className:"max-h-72 overflow-auto pr-1",children:G.map(u=>{const E=Y[Y.length-1]?.startLine===u.startLine;return i.jsxs("button",{type:"button",onClick:()=>Ye(u),className:`flex w-full min-w-0 items-center gap-2 rounded-md px-2 py-1.5 text-left transition active:scale-[0.995] ${E?"bg-primary/10 text-foreground":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,style:{paddingLeft:`${Math.min(u.level-1,4)*12+8}px`},title:u.text,children:[i.jsx("span",{className:`h-1.5 w-1.5 shrink-0 rounded-full ${E?"bg-primary":"bg-border-strong/70"}`,"aria-hidden":"true"}),i.jsxs("span",{className:"w-5 shrink-0 font-mono text-[9px] text-muted-foreground/70",children:["H",u.level]}),i.jsx("span",{className:"min-w-0 flex-1 truncate text-[12px]",children:u.text})]},`desktop-${u.id}-${u.startLine}`)})})}),i.jsxs("div",{className:"fixed inset-x-0 bottom-0 z-drawer-panel max-h-[min(74vh,34rem)] rounded-t-xl border border-border/20 bg-surface p-2 pb-[calc(0.5rem+env(safe-area-inset-bottom,0px))] shadow-[0_-18px_48px_var(--app-shadow-strong)] sm:hidden","data-markdown-heading-outline-mobile":!0,children:[i.jsxs("div",{className:"mb-1 flex items-center justify-between gap-2 px-1.5 py-1 sm:hidden",children:[i.jsx("div",{className:"text-[12px] font-semibold text-foreground",children:w("rightSidebar.markdownOutlineShort")}),i.jsx("button",{type:"button",onClick:b,className:"inline-flex h-7 w-7 items-center justify-center rounded-full bg-surface-2 text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground","aria-label":w("rightSidebar.closeMarkdownOutline"),title:w("common.close"),children:i.jsx(it,{size:14})})]}),i.jsx("div",{className:"max-h-[calc(min(74vh,34rem)-3.25rem-env(safe-area-inset-bottom,0px))] overflow-auto overscroll-contain pr-1 sm:max-h-72",children:G.map(u=>{const E=Y[Y.length-1]?.startLine===u.startLine;return i.jsxs("button",{type:"button",onClick:()=>Ye(u),className:`flex min-h-10 w-full min-w-0 items-center gap-2 rounded-md px-2 py-2 text-left transition active:scale-[0.995] ${E?"bg-primary/10 text-foreground":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,style:{paddingLeft:`${Math.min(u.level-1,4)*12+8}px`},title:u.text,children:[i.jsx("span",{className:`h-1.5 w-1.5 shrink-0 rounded-full ${E?"bg-primary":"bg-border-strong/70"}`,"aria-hidden":"true"}),i.jsxs("span",{className:"w-5 shrink-0 font-mono text-[9px] text-muted-foreground/70",children:["H",u.level]}),i.jsx("span",{className:"min-w-0 flex-1 truncate text-[12px]",children:u.text})]},`${u.id}-${u.startLine}`)})})]})]}),document.body),i.jsx("div",{className:`min-w-0 max-w-full overflow-x-hidden break-words text-foreground ${e?"space-y-3":"space-y-1.5 px-1.5 py-3 text-[13px] leading-5 sm:space-y-2 sm:px-2 sm:py-4 sm:text-sm sm:leading-6"}`,children:i.jsx(wt.Provider,{value:K,children:$.map(u=>{const E=!!(n&&u.startLine<=n.end&&u.endLine>=n.start),C=!!(n&&n.start<=u.startLine&&n.end>=u.endLine),A=u.kind==="table"?!1:u.fineGrained?C:E,O=u.kind==="table"&&n?.start===u.startLine&&n.end===u.endLine;let U=null;if(u.kind!=="table"&&u.fineGrained&&E&&!C&&n){const P=u.endLine-u.startLine+1,X=Math.max(n.start,u.startLine),le=Math.min(n.end,u.endLine),sr=(X-u.startLine)/P,ar=(le-X+1)/P;U=i.jsx("span",{"aria-hidden":"true","data-md-rail-segment":!0,className:"absolute left-1/2 w-0.5 -translate-x-1/2 rounded-full bg-primary transition sm:w-1",style:{top:`calc(0.25rem + (100% - 0.5rem) * ${sr})`,height:`calc((100% - 0.5rem) * ${ar})`}})}const F=typeof u.content=="function"?u.content(n):u.content;if(!t)return i.jsx("div",{"data-markdown-preview-block-start":u.startLine,className:"min-w-0 cursor-text select-text py-0.5",children:F},u.key);const W=u.startLine===u.endLine?String(u.startLine):`${u.startLine}-${u.endLine}`,V=i.jsxs(i.Fragment,{children:[i.jsxs("span",{className:Ee(A),"aria-hidden":"true",...Me,children:[i.jsx("span",{className:_e(A)}),U]}),i.jsx("div",{className:"min-w-0","data-sidebar-selectable":!0,children:F})]});return u.interactive===!1?i.jsxs("div",{"data-markdown-preview-block-start":u.startLine,className:`group grid w-full grid-cols-[0.625rem_minmax(0,1fr)] gap-1.5 rounded-md py-0.5 pr-1.5 text-left outline-none transition sm:grid-cols-[0.875rem_minmax(0,1fr)] sm:gap-2 sm:pr-2 ${A?"bg-primary/10":""}`,title:`Line ${W}`,"aria-label":`Line ${W}`,children:[u.kind==="table"?i.jsx("button",{type:"button",className:Ee(O,"self"),onClick:P=>{P.preventDefault(),!Ge()&&c(P,u.startLine,u.endLine)},title:`Reference table lines ${W}`,"aria-label":`Reference table lines ${W}`,...Me,children:i.jsx("span",{className:_e(O,"self")})}):i.jsxs("span",{className:Ee(A,"none"),"aria-hidden":"true",...Me,children:[i.jsx("span",{className:_e(A,"none")}),U]}),i.jsx("div",{className:"min-w-0 cursor-text select-text","data-sidebar-selectable":!0,role:"button",tabIndex:0,onPointerDown:qt,onPointerUp:P=>Qt(P,u.startLine,u.endLine),onPointerCancel:Jt,onKeyDown:P=>{P.key!=="Enter"&&P.key!==" "||(P.preventDefault(),c(P,u.startLine,u.endLine))},title:`Reference line ${W}`,"aria-label":`Reference line ${W}`,children:F})]},u.key):i.jsx("div",{role:"button",tabIndex:0,"data-markdown-preview-block-start":u.startLine,onClick:P=>{const X=P.target;if(Ie(X)||Ze()||Ge())return;const le=at(X,u.startLine,u.endLine);c(P,le.start,le.end)},onKeyDown:P=>{P.key!=="Enter"&&P.key!==" "||(P.preventDefault(),c(P,u.startLine,u.endLine))},className:`group grid w-full cursor-pointer grid-cols-[0.625rem_minmax(0,1fr)] gap-1.5 rounded-md py-0.5 pr-1.5 text-left outline-none transition active:scale-[0.998] sm:grid-cols-[0.875rem_minmax(0,1fr)] sm:gap-2 sm:pr-2 ${A?"bg-primary/10":"hover:bg-[var(--surface-2)]"}`,title:`Reference line ${W}`,"aria-label":`Reference line ${W}`,children:V},u.key)})})})]}),y&&v!==null&&B[v]&&i.jsx(Kt,{images:B,index:v,onChange:x,onClose:()=>{x(null),I(null),_?.()}})]})}function Ee(e,t="group"){return`relative flex min-h-5 w-full touch-none select-none items-stretch justify-center rounded transition sm:min-h-6 ${e?"bg-primary/20":`bg-[var(--surface-2)] ${t==="group"?"group-hover:bg-[var(--surface-elevated)]":t==="self"?"hover:bg-[var(--surface-elevated)]":""}`}`}function _e(e,t="group"){return`my-1 w-0.5 rounded-full transition sm:w-1 ${e?"bg-primary":`bg-[var(--border-strong)] ${t==="group"?"group-hover:bg-[var(--muted-foreground)]":t==="self"?"hover:bg-[var(--muted-foreground)]":""}`}`}function Ie(e){return e instanceof HTMLElement&&!!e.closest('a, button, input, textarea, select, label, [contenteditable="true"]')}function at(e,t,r){const s=e instanceof HTMLElement?e.closest("[data-md-ref-start]"):null,o=Number(s?.dataset.mdRefStart),n=Number(s?.dataset.mdRefEnd??s?.dataset.mdRefStart);return Number.isFinite(o)&&o>0&&Number.isFinite(n)&&n>0?{start:Math.min(o,n),end:Math.max(o,n)}:{start:t,end:r}}const Yt=1,Xe=8;function on(e,t=Xe){return Math.min(t,Math.max(Yt,e))}function Gt({resetKey:e,maxScale:t=Xe,onZoomChange:r,onDoubleTap:s,children:o}){const n=h.useRef(null),[c,d]=h.useState({scale:1,x:0,y:0}),[l,f]=h.useState(!1),m=h.useRef(null),a=h.useRef(new Set),b=h.useRef(!1),y=h.useRef(null),L=h.useRef(0),S=h.useRef(c);S.current=c,h.useEffect(()=>{d({scale:1,x:0,y:0})},[e]);const _=h.useCallback((x,N,I)=>{const p=n.current;if(!p)return{x:N,y:I};const g=p.firstElementChild instanceof HTMLElement?p.firstElementChild:null,k=g?.clientWidth||p.clientWidth,j=g?.clientHeight||p.clientHeight,R=Math.max(0,(k*x-p.clientWidth)/2),D=Math.max(0,(j*x-p.clientHeight)/2);return{x:Math.min(R,Math.max(-R,N)),y:Math.min(D,Math.max(-D,I))}},[]),M=h.useCallback((x,N,I)=>{d(p=>{const g=on(x,t),k=n.current;if(!k||g===1)return{scale:g,x:0,y:0};const j=k.getBoundingClientRect(),R=(N??j.left+j.width/2)-j.left-j.width/2,D=(I??j.top+j.height/2)-j.top-j.height/2,$=g/p.scale,T=R-(R-p.x)*$,z=D-(D-p.y)*$;return{scale:g,..._(g,T,z)}})},[_,t]),w=h.useCallback((x,N)=>{f(!0),S.current.scale>1?d({scale:1,x:0,y:0}):M(2.5,x,N),window.setTimeout(()=>f(!1),220)},[M]);h.useEffect(()=>{const x=n.current;if(!x)return;const N=g=>{if(g.pointerType==="mouse"&&g.button!==0)return;const k=a.current.size===0;if(a.current.add(g.pointerId),k){const j=Date.now(),R=y.current;if(R&&j-R.time<350&&Math.hypot(g.clientX-R.x,g.clientY-R.y)<24){y.current=null,L.current=j,s?.(),w(g.clientX,g.clientY);return}}if(a.current.size>1){b.current=!0,m.current=null;return}if(!(S.current.scale<=1)){g.preventDefault(),m.current={pointerId:g.pointerId,startX:g.clientX,startY:g.clientY,originX:S.current.x,originY:S.current.y,moved:!1};try{x.setPointerCapture?.(g.pointerId)}catch{}f(!1)}},I=g=>{const k=m.current;if(!k||k.pointerId!==g.pointerId)return;const j=g.clientX-k.startX,R=g.clientY-k.startY;if(!k.moved){if(Math.hypot(j,R)<6)return;k.moved=!0}g.stopPropagation(),g.preventDefault(),d(D=>({...D,..._(D.scale,k.originX+j,k.originY+R)}))},p=g=>{const k=m.current,j=k?.pointerId===g.pointerId&&k.moved;if(k?.pointerId===g.pointerId){k.moved&&g.stopPropagation(),m.current=null;try{x.releasePointerCapture?.(g.pointerId)}catch{}}a.current.delete(g.pointerId)&&a.current.size===0&&(!b.current&&!j&&(y.current={time:Date.now(),x:g.clientX,y:g.clientY}),b.current=!1)};return x.addEventListener("pointerdown",N,{capture:!0,passive:!1}),window.addEventListener("pointermove",I,{capture:!0,passive:!1}),window.addEventListener("pointerup",p,{capture:!0}),window.addEventListener("pointercancel",p,{capture:!0}),()=>{x.removeEventListener("pointerdown",N,{capture:!0}),window.removeEventListener("pointermove",I,{capture:!0}),window.removeEventListener("pointerup",p,{capture:!0}),window.removeEventListener("pointercancel",p,{capture:!0})}},[_,s,w]),ut({onPinch:({offset:[x],origin:[N,I]})=>{f(!1),M(x,N,I)},onWheel:({event:x,delta:[N,I],ctrlKey:p})=>{if(p){x.preventDefault(),x.stopPropagation(),f(!1),M(S.current.scale*(1-I*.01),x.clientX,x.clientY);return}S.current.scale<=1||(x.preventDefault(),x.stopPropagation(),f(!1),d(g=>({...g,..._(g.scale,g.x-N,g.y-I)})))}},{target:n,eventOptions:{passive:!1},pinch:{scaleBounds:{min:Yt,max:t},from:()=>[S.current.scale,0],rubberband:!0}});const v=c.scale>1;return h.useEffect(()=>{r?.(v)},[r,v]),i.jsx("div",{ref:n,"data-sidebar-gesture-ignore":v?"":void 0,className:"flex h-full w-full touch-none select-none items-center justify-center overflow-hidden","data-image-zoom-viewport":!0,style:{cursor:v?"grab":"zoom-in"},onDoubleClick:x=>{x.stopPropagation(),!(Date.now()-L.current<500)&&(s?.(),w(x.clientX,x.clientY))},children:o({scale:c.scale,zoomed:v,animateTransform:l,transformStyle:{transform:`translate3d(${c.x}px, ${c.y}px, 0) scale(${c.scale})`,transformOrigin:"center center",transition:l?"transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1)":"none",willChange:"transform"},vectorTransformStyle:{transform:`translate3d(${c.x}px, ${c.y}px, 0)`,transformOrigin:"center center",transition:l?"transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1)":"none"}})})}function Vt({src:e,alt:t,vector:r,onLoad:s,onError:o,onZoomChange:n,onDoubleTap:c}){const d=pe(e,o),[l,f]=h.useState(null),m=r??ie(e);return h.useEffect(()=>{f(null)},[e]),i.jsx(Gt,{resetKey:e,maxScale:Math.max(Xe,l?.originalScale??1),onZoomChange:n,onDoubleTap:c,children:({vectorTransformStyle:a,scale:b,animateTransform:y})=>i.jsx("div",{"data-image-zoom-surface":!0,"data-vector-zoom-surface":m?"":void 0,className:"relative shrink-0 touch-none select-none",style:l?{...a,width:l.width,height:l.height}:{width:"100%",height:"100%"},children:i.jsx("img",{src:d,alt:t,draggable:!1,className:"touch-none select-none rounded border border-border/15 bg-surface object-contain shadow-sm",style:{position:"absolute",left:"50%",top:"50%",width:l?l.width*b:void 0,height:l?l.height*b:void 0,maxWidth:l?"none":"100%",maxHeight:l?"none":"100%",transform:"translate(-50%, -50%)",transition:y?"width 0.22s cubic-bezier(0.2, 0.8, 0.2, 1), height 0.22s cubic-bezier(0.2, 0.8, 0.2, 1)":"none"},onLoad:L=>{const S=L.currentTarget,_=S.closest("[data-image-zoom-viewport]");if(_&&S.naturalWidth>0&&S.naturalHeight>0){const M=Math.max(1,_.clientWidth-2),w=Math.max(1,_.clientHeight-2),v=Math.min(M/S.naturalWidth,w/S.naturalHeight),x=m?v:Math.min(v,1);f({width:S.naturalWidth*x,height:S.naturalHeight*x,originalScale:1/x})}s(L)},onError:o})})})}function ln({svg:e,title:t,scale:r,vectorTransformStyle:s}){const o=h.useRef(null);return h.useLayoutEffect(()=>{const n=o.current,c=n?.querySelector("svg");if(!n||!c)return;const d=()=>{const m=c.getAttribute("viewBox")?.trim().split(/[\s,]+/).map(Number)??[];let a=m[2],b=m[3];if((!Number.isFinite(a)||!Number.isFinite(b)||a<=0||b<=0)&&(a=Number(c.getAttribute("width")),b=Number(c.getAttribute("height"))),!Number.isFinite(a)||!Number.isFinite(b)||a<=0||b<=0)return;const y=Math.max(1,n.clientWidth-24),L=Math.max(1,n.clientHeight-24),S=Math.min(y/a,L/b,1);c.style.width=`${Math.max(1,Math.floor(a*S*r))}px`,c.style.height=`${Math.max(1,Math.floor(b*S*r))}px`,c.style.maxWidth="none",c.style.maxHeight="none",c.style.transform=String(s.transform??""),c.style.transformOrigin="center center",c.style.transition=String(s.transition??"none")};d();const l=typeof ResizeObserver>"u"?null:new ResizeObserver(d);return l?.observe(n),()=>l?.disconnect()},[r,e,s]),i.jsx("div",{ref:o,role:"img","aria-label":t,className:"flex h-full w-full touch-none select-none items-center justify-center overflow-hidden rounded border border-border/15 bg-white p-3 text-slate-900 shadow-sm [&_svg]:block",dangerouslySetInnerHTML:{__html:e}})}function cn({svg:e,title:t,onZoomChange:r,onDoubleTap:s}){return i.jsx(Gt,{resetKey:e,onZoomChange:r,onDoubleTap:s,children:({vectorTransformStyle:o,scale:n})=>i.jsx(ln,{svg:e,title:t,scale:n,vectorTransformStyle:o})})}function Zt(e,t={}){if(typeof window>"u")return;const r=JSON.stringify({level:e==="still_active"?"warn":"info",message:`FILE_PREVIEW_LOADING ${e}`,data:{ts:Date.now(),...t}});fetch("/api/client-log",{method:"POST",headers:{"Content-Type":"application/json"},body:r,keepalive:!0}).catch(()=>{})}const gn=Object.freeze(Object.defineProperty({__proto__:null,FILE_PREVIEW_HORIZONTAL_SCROLL_CLASS:We,MarkdownImageLightbox:Kt,MarkdownPreview:an,ZoomableImage:Vt,__testParseMarkdownListBlock:Yr,buildMarkdownPreviewBlocks:nn,buildMarkdownPreviewRenderResult:Ue,computeMarkdownImageDisplayBox:Et,getMarkdownHeadingOutline:Xt,getMarkdownHeadingPathAtLine:Ut,isSvgImageSrc:ie,logFilePreviewLoadingEvent:Zt,resolveMarkdownLocalLinkTarget:ye,shouldCloseMarkdownImageLightboxDrag:Bt},Symbol.toStringTag,{value:"Module"}));export{We as F,Kt as M,Vt as Z,Yr as _,an as a,gn as b,nn as c,Ue as d,Et as e,Ut as f,Xt as g,ie as h,_r as i,Zt as j,Er as l,ye as r,Bt as s,pe as u};
@@ -1 +0,0 @@
1
- import{aV as Se,ea as oe,cg as s,eb as we,a4 as Ie,q as Pe,C as Fe,ei as Oe,u as Xe,dj as ze,b0 as Be,at as He}from"./app-C3WX_u_Z.js";import{R as Ge,b as r,r as Me}from"./dnd-BCFAPC0L.js";import{u as be}from"./use-gesture-react.esm-DYpdiE_k.js";import{S as $e,c as Ke,h as Ue,r as qe,y as Ve,b as Ye,u as Ze}from"./gestureArbiter-DszagC-d.js";import{A as Je}from"./arrow-up-BEUQcf-s.js";const Qe=[["path",{d:"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"hod4my"}],["path",{d:"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"w4yl2u"}],["path",{d:"M3 5a2 2 0 0 0 2 2h3",key:"f2jnh7"}],["path",{d:"M3 3v13a2 2 0 0 0 2 2h3",key:"k8epm1"}]],We=Se("folder-tree",Qe);const et=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],yt=Se("upload",et),xe={dampingRatio:.8,response:.3},tt=.998;function rt(n,a,u,f){const o=2*Math.PI/Math.max(n.response,.001),E=a-f,g=u,l=n.dampingRatio;if(Math.abs(l-1)<1e-4){const m=E,k=g+o*E;return{value:y=>f+(m+k*y)*Math.exp(-o*y),velocity:y=>(k-o*(m+k*y))*Math.exp(-o*y)}}if(l<1){const m=o*Math.sqrt(1-l*l),k=E,y=(g+l*o*E)/m;return{value:h=>f+Math.exp(-l*o*h)*(k*Math.cos(m*h)+y*Math.sin(m*h)),velocity:h=>Math.exp(-l*o*h)*((y*m-l*o*k)*Math.cos(m*h)-(k*m+l*o*y)*Math.sin(m*h))}}const x=o*Math.sqrt(l*l-1),d=-l*o+x,p=-l*o-x,S=(g-p*E)/(d-p),j=E-S;return{value:m=>f+S*Math.exp(d*m)+j*Math.exp(p*m),velocity:m=>S*d*Math.exp(d*m)+j*p*Math.exp(p*m)}}function nt(n,a=tt){return n/1e3*(a/(1-a))}function ge(n,a,u=.55){return n*a*u/(a+u*Math.abs(n))}function st(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}const ot=.1,at=5;function ct(n,a,u,f,o){const E=rt(n,a,u,f),g=1e3/60,l=240,x=[];for(let d=0;d<l;d++){const p=d*g/1e3,S=E.value(p),j=E.velocity(p);if(x.push(o?o(S):S),d>0&&Math.abs(S-f)<ot&&Math.abs(j)<at)break}return x.push(o?o(f):f),{frames:x,durationMs:(x.length-1)*g,solver:E}}const it='input:not([type="hidden"]), textarea, select, [contenteditable]:not([contenteditable="false"])';function lt(){if(typeof document>"u")return;const n=document.activeElement;n instanceof HTMLElement&&n.matches(it)&&n.blur()}const ut=18,ye=8,ve={touch:ye,pen:ye},dt=500,re=200,ke=50,ft=`[${$e}]`;function ne(n,a,u){return Math.min(u,Math.max(a,n))}function Re(n){if(!n||typeof n!="object")return!1;const a=n;return typeof a.pointerType=="string"?a.pointerType==="touch"||a.pointerType==="pen":typeof a.type=="string"&&a.type.startsWith("touch")}function Ee(n){if(!n||typeof n!="object")return!1;const a=n.target;return a instanceof Element&&!!a.closest(ft)}function K(...n){typeof window<"u"&&window.__SIDEBAR_DEBUG__&&console.log("[Sidebar]",...n)}const vt=Ge.forwardRef(function({side:a,isOpen:u,drawerWidthPx:f,onClose:o,onOpen:E,children:g,pinned:l=!1},x){const{t:d}=oe(),p=a==="left",S=p?-f:f,j=r.useRef(null),m=r.useRef(null),k=r.useRef(u?0:S),y=r.useRef(null),h=r.useRef(null),T=r.useRef(0),D=r.useRef(null),_=r.useRef(null),v=r.useRef(!1),R=r.useRef(null),N=r.useRef(!1),M=r.useRef([]),F=r.useRef(null),Ce=r.useRef(k.current),Te=r.useRef(u?1:0),O=r.useRef(u);O.current=u;const X=r.useRef(S);X.current=S;const J=r.useRef(f);J.current=f;const Q=r.useRef(p);Q.current=p;const ae=r.useRef(o);ae.current=o;const W=r.useRef(E);W.current=E;const ce=r.useCallback(e=>{j.current=e,typeof x=="function"?x(e):x&&(x.current=e)},[x]),ie=r.useCallback(()=>{h.current!==null&&(window.cancelAnimationFrame(h.current),h.current=null),y.current=null},[]),U=r.useCallback(e=>{const t=J.current;return Q.current?(e+t)/t:(t-e)/t},[]),le=r.useCallback(e=>{const t=m.current;t&&(t.style.opacity=String(ne(U(e),0,1)))},[U]),A=r.useCallback(e=>{k.current=e;const t=j.current;t&&(t.style.transform=`translateX(${e}px)`,le(e))},[le]),q=r.useCallback(e=>{y.current=e,h.current===null&&(h.current=window.requestAnimationFrame(()=>{h.current=null;const t=y.current;y.current=null,t!==null&&A(t)}))},[A]),z=r.useCallback(()=>{h.current!==null&&(window.cancelAnimationFrame(h.current),h.current=null);const e=y.current;y.current=null,e!==null&&A(e)},[A]),$=r.useCallback(e=>{const t=X.current;return ne(e,Math.min(0,t),Math.max(0,t))},[]),B=r.useCallback(()=>{const e=D.current;if(!e)return null;D.current=null;const t=(performance.now()-e.startTime)/1e3,c={value:e.solver.value(t),velocity:e.solver.velocity(t)};return e.animations.forEach(i=>i.cancel()),c},[]),L=r.useCallback(()=>{_.current!==null&&(window.clearTimeout(_.current),_.current=null)},[]),ee=r.useCallback(()=>{F.current?.(),F.current=null},[]),V=r.useCallback(()=>{z(),L();const e=B();e&&A($(e.value));const t=j.current,c=m.current;t?.getAnimations().forEach(i=>i.cancel()),t&&(t.style.transition="none",t.style.opacity="1"),c?.getAnimations().forEach(i=>i.cancel()),c&&(c.style.transition="none")},[A,L,$,z,B]),Y=r.useCallback((e,t)=>{z(),L();const c=j.current,i=m.current,b=e?0:X.current;i&&(i.style.pointerEvents=e?"auto":"none");const w=B(),C=w?$(w.value):k.current,H=t?.velocity??w?.velocity??0;if(st())return k.current=b,c&&(c.style.transition=`opacity ${re}ms ease`,c.style.opacity=e?"1":"0",c.style.transform=`translateX(${b}px)`),i&&(i.style.transition=`opacity ${re}ms ease`,i.style.opacity=e?"1":"0"),re;c&&(c.style.transition="none",c.style.opacity="1"),i&&(i.style.transition="none");const I=Math.abs(t?.velocity??0)>dt,{frames:G,durationMs:Z,solver:De}=ct({dampingRatio:I?xe.dampingRatio:1,response:xe.response},C,H,b,$);if(!c||Math.abs(C-b)<.5&&Math.abs(H)<5)return A(b),0;const te=c.animate(G.map(P=>({transform:`translateX(${P}px)`})),{duration:Z,easing:"linear",fill:"forwards"}),he=[te];return i&&he.push(i.animate(G.map(P=>({opacity:String(ne(U(P),0,1))})),{duration:Z,easing:"linear",fill:"forwards"})),D.current={solver:De,startTime:performance.now(),target:b,animations:he},K("spring start",{startX:C,startVelocity:H,targetX:b,frames:G.length,durationMs:Z}),te.onfinish=()=>{const P=D.current;!P||!P.animations.includes(te)||(D.current=null,A(b),P.animations.forEach(Le=>Le.cancel()),K("spring finish",{targetX:b}))},Z},[A,L,$,z,U,B]),ue=r.useCallback(e=>{z();const t=e,c=0,i=X.current,b=k.current+nt(t),w=Math.abs(b-c)<=Math.abs(b-i);K("decideSnap",{velocity:t,currentX:k.current,projected:b,shouldOpen:w});const C=Y(w,{velocity:t});return w&&!O.current?_.current=window.setTimeout(()=>{_.current=null,W.current?.()},C+ke):!w&&O.current&&(_.current=window.setTimeout(()=>{_.current=null,ae.current()},C+ke)),w},[Y,z]),de=r.useCallback(e=>{const t=X.current,c=Math.min(0,t),i=Math.max(0,t),b=J.current;return e<c?c-ge(c-e,b):e>i?i+ge(e-i,b):e},[]),fe=r.useCallback(e=>{const t=M.current,c=performance.now();t.push({t:c,x:e});const i=c-120;for(;t.length>0&&t[0].t<i;)t.shift()},[]),pe=r.useCallback(()=>{const e=M.current;if(e.length<2)return 0;const t=e[e.length-1];if(performance.now()-t.t>60)return 0;const c=e[0],i=(t.t-c.t)/1e3;return i<.016?0:(t.x-c.x)/i},[]);r.useEffect(()=>{L();const e=D.current,t=u?0:X.current;e&&e.target===t||Y(u)},[u,Y,L]),r.useEffect(()=>{V(),q(O.current?0:S)},[S,V,q]),r.useEffect(()=>()=>{ie(),L(),B(),ee()},[L,ie,ee,B]);const _e=be(({active:e,cancel:t,first:c,last:i,movement:[b],event:w})=>{if(K("bindPanel",{active:e,first:c,last:i,mx:b}),!Re(w)){t();return}if(c){if(ee(),v.current=!1,R.current=null,M.current=[],Ee(w)){t();return}const C=j.current,H=C?Ke(w.target,C):null;if(!H||Ue()){t();return}const I=qe(H,b,Q.current?-1:1);if(K("arbitrate",{owner:I.kind,mx:b}),I.kind==="swiper"){F.current=Ve(I.instance),t();return}if(I.kind==="scroller"){const G=Ye(I.element);if(G)R.current=G;else{t();return}}R.current||(v.current=!0,V(),T.current=k.current)}if(!e){R.current=null,v.current&&(v.current=!1,ue(pe()));return}if(R.current){Ze(R.current,b);return}if(v.current){const C=de(T.current+b);fe(C),q(C)}},{axis:"x",axisThreshold:ve,filterTaps:!0,pointer:{touch:!0}}),Ne=be(({active:e,cancel:t,first:c,movement:[i],event:b})=>{if(!Re(b)){t();return}if(O.current){t();return}if(c&&(N.current=!0,M.current=[],V(),T.current=k.current),!e){N.current&&(N.current=!1,ue(pe())&&lt());return}if(N.current){const w=de(T.current+i);fe(w),q(w)}},{axis:"x",axisThreshold:ve,filterTaps:!0,pointer:{touch:!0}}),Ae=r.useCallback(e=>{e.preventDefault(),e.stopPropagation(),O.current||W.current?.()},[]);if(l)return s.jsx("aside",{ref:ce,"data-sidebar":a,"data-sidebar-pinned":"true",className:"relative flex h-full min-h-0 w-full flex-col app-chrome-bg",children:g});const me=_e();return s.jsxs(s.Fragment,{children:[s.jsx("div",{...Ne(),style:{position:"fixed",top:"1.5rem",bottom:"10rem",...p?{left:0}:{right:0},width:ut,zIndex:"var(--z-chrome-hint)",touchAction:"none",pointerEvents:u?"none":"auto"},onClick:Ae,"aria-label":d(p?"sidebar.openLeftSidebar":"sidebar.openRightSidebar")}),s.jsx("div",{ref:m,"data-sidebar-backdrop":a,className:"fixed inset-0 z-sidebar-backdrop bg-[var(--app-backdrop)] cursor-default",style:{opacity:Te.current,pointerEvents:u?"auto":"none",transition:"none",willChange:"opacity"},onClick:o,"aria-label":d("sidebar.closeSidebar")}),s.jsx("aside",{...me,onClickCapture:e=>{Ee(e)||me.onClickCapture?.(e)},ref:ce,"data-sidebar":a,className:`fixed inset-y-0 z-sidebar-panel flex flex-col chrome-glow-panel will-change-transform ${p?"border-r border-border":"border-l border-border/15"}`,style:{...p?{left:0}:{right:0},width:f,maxWidth:p?"94vw":"95vw",transform:`translateX(${Ce.current}px)`,transition:"none",touchAction:"pan-y",pointerEvents:u?"auto":"none",paddingTop:"var(--safe-top-inset, env(safe-area-inset-top, 0px))",paddingBottom:"var(--safe-bottom-inset, env(safe-area-inset-bottom, 0px))",...p?{paddingLeft:"var(--safe-left-inset, env(safe-area-inset-left, 0px))"}:{paddingRight:"var(--safe-right-inset, env(safe-area-inset-right, 0px))"}},children:g})]})});function se(n){return n.trim().replace(/\/+$/,"")||"/"}function pt(n){const a=se(n);if(a==="/")return"/";const u=a.lastIndexOf("/");return u<=0?"/":a.slice(0,u)}function je({open:n,initialPath:a,title:u,labels:f,onCancel:o,onConfirm:E}){const{t:g}=oe(),l={hint:f?.hint??g("sidebar.directoryPickerHint"),cancel:f?.cancel??g("common.cancel"),confirm:f?.confirm??g("sidebar.useThisFolder"),close:f?.close??g("common.close"),parent:f?.parent??g("rightSidebar.parentFolder")},x=r.useRef(null);we(x,n,o);const[d,p]=r.useState(()=>se(a));return r.useEffect(()=>{n&&p(se(a))},[a,n]),r.useEffect(()=>{if(!n)return;const S=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=S}},[n]),n?Me.createPortal(s.jsxs(s.Fragment,{children:[s.jsx("button",{type:"button",className:"fixed inset-0 z-modal-backdrop cursor-default bg-[var(--app-backdrop)] backdrop-blur-sm",onClick:o,"aria-label":l.cancel}),s.jsxs("section",{ref:x,tabIndex:-1,role:"dialog","aria-modal":"true","aria-labelledby":"directory-picker-title",className:"fixed bottom-[max(0.75rem,env(safe-area-inset-bottom,0px))] left-[max(0.75rem,env(safe-area-inset-left,0px))] right-[max(0.75rem,env(safe-area-inset-right,0px))] top-[max(0.75rem,env(safe-area-inset-top,0px))] z-modal-panel flex flex-col overflow-hidden rounded-2xl border border-border/15 bg-surface shadow-[0_28px_70px_var(--app-shadow-strong),0_14px_32px_var(--app-shadow-soft)] sm:bottom-auto sm:left-1/2 sm:right-auto sm:top-1/2 sm:h-[min(72svh,36rem)] sm:w-[min(36rem,calc(100vw-2rem))] sm:-translate-x-1/2 sm:-translate-y-1/2",children:[s.jsxs("header",{className:"flex shrink-0 items-center gap-3 border-b border-border/15 px-4 py-3",children:[s.jsx("span",{className:"inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary/15 text-primary",children:s.jsx(We,{size:15})}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsx("h2",{id:"directory-picker-title",className:"text-[13px] font-semibold text-foreground",children:u}),s.jsx("p",{className:"mt-0.5 text-[10px] text-muted-foreground",children:l.hint})]}),s.jsx("button",{type:"button",onClick:o,className:"inline-flex h-9 w-9 items-center justify-center rounded-lg text-muted-foreground transition hover:bg-surface-2 hover:text-foreground","aria-label":l.close,children:s.jsx(Ie,{size:15})})]}),s.jsxs("div",{className:"flex min-h-11 shrink-0 items-center gap-2 border-b border-border/15 px-3 py-1.5",children:[s.jsx("button",{type:"button",disabled:d==="/",onClick:()=>p(pt(d)),className:"inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg text-muted-foreground transition hover:bg-surface-2 hover:text-foreground disabled:opacity-30","aria-label":l.parent,children:s.jsx(Je,{size:14})}),s.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-[10.5px] text-foreground",title:d,children:d})]}),s.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto overscroll-contain py-1",children:s.jsx(Pe,{rootPath:d,directoriesOnly:!0,onFileSelect:()=>{},onDirectoryRoot:p,selectedFilePath:a||null})}),s.jsxs("footer",{className:"flex shrink-0 items-center justify-end gap-2 border-t border-border/15 bg-surface-elevated px-3 py-3",children:[s.jsx("button",{type:"button",onClick:o,className:"min-h-10 rounded-lg bg-surface-2 px-4 text-[11px] font-medium text-foreground transition hover:bg-surface",children:l.cancel}),s.jsxs("button",{type:"button",onClick:()=>E(d),className:"inline-flex min-h-10 items-center gap-1.5 rounded-lg bg-primary px-4 text-[11px] font-semibold text-primary-foreground transition hover:bg-primary/90",children:[s.jsx(Fe,{size:13}),l.confirm]})]})]})]}),document.body):null}const kt=Object.freeze(Object.defineProperty({__proto__:null,DirectoryPickerDialog:je},Symbol.toStringTag,{value:"Module"}));function Rt({file:n,initialPath:a,onInsert:u,onDone:f}){const{t:o}=oe(),E=Oe(),[g,l]=r.useState(!1),[x,d]=r.useState(!1),[p,S]=r.useState(!1),[j,m]=r.useState(!1),[k,y]=r.useState(null),h=r.useRef(!1),T=r.useRef(null);we(T,!g,()=>{});const D=async()=>{if(!h.current){h.current=!0,d(!0),m(!0);try{await Be(n.id),f()}catch(v){y(v instanceof Error?v.message:String(v))}finally{h.current=!1,d(!1),m(!1)}}};r.useEffect(()=>{if(g)return;T.current?.focus();const v=R=>{if(R.stopPropagation(),R.key==="Escape"&&R.preventDefault(),R.key!=="Tab")return;const N=Array.from(T.current?.querySelectorAll("button:not(:disabled)")??[]),M=N[0],F=N.at(-1);R.shiftKey&&(document.activeElement===M||document.activeElement===T.current)?(R.preventDefault(),F?.focus()):!R.shiftKey&&document.activeElement===F&&(R.preventDefault(),M?.focus())};return document.addEventListener("keydown",v,!0),()=>document.removeEventListener("keydown",v,!0)},[g]);const _=async(v,R)=>{if(h.current)return;const N=He(R);h.current=!0,d(!0),S(v!==void 0),l(!1),y(null);try{const M=await ze(n.id,v);if(v===void 0&&(!N()||await u(M.path,R)===!1))throw new Error(o("android.captureUnavailable"));f()}catch(M){y(M instanceof Error?M.message:String(M))}finally{h.current=!1,d(!1)}};return g?s.jsx(je,{open:!0,initialPath:a||"/",title:o("android.recordingSave"),onCancel:()=>l(!1),onConfirm:v=>{_(v)}}):Me.createPortal(s.jsx("div",{className:"fixed inset-0 z-modal-panel flex items-center justify-center bg-[var(--app-backdrop)] p-4",children:s.jsxs("div",{ref:T,role:"dialog","aria-modal":"true","aria-labelledby":"recording-save-title",tabIndex:-1,"aria-busy":x,className:"w-full max-w-sm rounded-xl border border-border bg-surface p-4 text-foreground shadow-xl outline-none",children:[s.jsx("h2",{id:"recording-save-title",className:"text-sm font-semibold",children:o("android.recordingConfirm")}),s.jsx("p",{className:"mt-2 text-xs text-muted-foreground",children:o("android.recordingSaveHint")}),s.jsxs("p",{className:"mt-2 break-all text-xs text-muted-foreground",children:[n.name," · ",(n.size/1024/1024).toFixed(1)," MB"]}),(k||n.error)&&s.jsx("p",{role:"alert",className:"mt-3 break-words text-xs text-destructive",children:k||n.error}),x&&s.jsxs("p",{role:"status",className:"mt-3 flex items-center gap-2 text-sm text-primary",children:[s.jsx(Xe,{size:16,className:"animate-spin"}),j?`${o("android.recordingDiscard")}…`:o(p?"android.recordingSaving":"android.captureInserting")]}),s.jsxs("div",{className:"mt-4 flex flex-col gap-2",children:[s.jsx("button",{type:"button",disabled:x||n.status!=="ready",onClick:v=>{_(void 0,v.currentTarget)},className:"min-h-10 rounded-lg bg-primary px-3 text-sm text-primary-foreground disabled:opacity-40",children:o("android.recordingInsert")}),!E&&s.jsx("button",{type:"button",disabled:x||n.status!=="ready",onClick:()=>l(!0),className:"min-h-10 rounded-lg bg-surface-2 px-3 text-sm disabled:opacity-40",children:o("android.recordingSave")}),s.jsx("button",{type:"button",disabled:x,onClick:()=>{D()},className:"min-h-10 rounded-lg px-3 text-sm text-muted-foreground disabled:opacity-40",children:o("android.recordingDiscard")})]})]})}),document.body)}export{je as D,Rt as R,vt as S,yt as U,kt as a};