collabmd 0.1.43 → 0.1.45

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 (656) hide show
  1. package/bin/collabmd.js +1 -2
  2. package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-CbSISC1w.js +1 -0
  3. package/dist/client/assets/{abnfDiagram-VRR7QNED-C-CM0mGi.js → abnfDiagram-N423BO3Z-CUMTFJhI.js} +1 -1
  4. package/dist/client/assets/ar-SA-PQUY64WN-xjXgbW6d.js +10 -0
  5. package/dist/client/assets/arc-DgcGdgmL.js +1 -0
  6. package/dist/client/assets/architecture-TIHT7OUA-CsHfPErM.js +1 -0
  7. package/dist/client/assets/architectureDiagram-T3A2C74G-w25m71oV.js +36 -0
  8. package/dist/client/assets/asciiarmor-C_eisQCp.js +1 -0
  9. package/dist/client/assets/{asn1-Dr8qZg38.js → asn1-DCl_8MCW.js} +1 -1
  10. package/dist/client/assets/{asterisk-Bja0s6e1.js → asterisk-BEn0Cwpx.js} +1 -1
  11. package/dist/client/assets/az-AZ-OXJXL76K-4JkO4Pca.js +1 -0
  12. package/dist/client/assets/bg-BG-W2GKIJDF-DnkH_o81.js +5 -0
  13. package/dist/client/assets/{blockDiagram-677ZJIJ3-BLomrZyt.js → blockDiagram-VBNYF7ZC-CipJt9Jl.js} +5 -5
  14. package/dist/client/assets/bn-BD-TGL7M4PJ-CG4JkmtP.js +3 -0
  15. package/dist/client/assets/bn-IN-BKETKYEH-CG4JkmtP.js +3 -0
  16. package/dist/client/assets/browser-utils-CKtI_rZl.js +1 -0
  17. package/dist/client/assets/c4Diagram-5PPSVZJV-B5ktVx6g.js +10 -0
  18. package/dist/client/assets/ca-ES-LD5SCRVV-U6_TVMX9.js +8 -0
  19. package/dist/client/assets/channel-4Jkmq93I.js +1 -0
  20. package/dist/client/assets/{chunk-32BRIVSS-BD6LQmvI.js → chunk-2GRJ4B5K-DhnlUv3F.js} +1 -1
  21. package/dist/client/assets/chunk-3NCLNEKW-Y2Jf_LI-.js +1 -0
  22. package/dist/client/assets/{chunk-HOUHSVGY-DX1huN9x.js → chunk-4I5QYGJK-CCB2YcIH.js} +1 -1
  23. package/dist/client/assets/{chunk-5FCAYU7R-DNtJmW0j.js → chunk-5FCAYU7R-Dh5nylU8.js} +1 -1
  24. package/dist/client/assets/{chunk-5HE753X5-o8-OCfIL.js → chunk-5HE753X5-Bw-yg4kO.js} +1 -1
  25. package/dist/client/assets/{chunk-5JV3BV7I-DKfYBAeY.js → chunk-5JV3BV7I-Cy5pj3QY.js} +1 -1
  26. package/dist/client/assets/{chunk-EX3LRPZG-DNVm3Wj1.js → chunk-5RXB4S5H-BWrwFqMI.js} +3 -3
  27. package/dist/client/assets/{chunk-5TONJI2A-DOX2waSJ.js → chunk-5TONJI2A-DQOY3q1H.js} +1 -1
  28. package/dist/client/assets/{chunk-MOJQB5TN-BEEcDvmL.js → chunk-6Q2QTUOP-CPlWzBtc.js} +1 -1
  29. package/dist/client/assets/chunk-7XWMRXBY-CfMzEq80.js +1 -0
  30. package/dist/client/assets/chunk-7Z6QIM7H-BP9Pdsm9.js +10 -0
  31. package/dist/client/assets/{chunk-BIQX33UG-CuPbkyWp.js → chunk-BIQX33UG-DZEsGuSn.js} +1 -1
  32. package/dist/client/assets/{chunk-CQNSW5MT-BbEh_krl.js → chunk-CQNSW5MT-B8S09OIh.js} +1 -1
  33. package/dist/client/assets/{chunk-CYSBUYHQ-CbOq7Rc1.js → chunk-CYSBUYHQ-C1Rf4art.js} +1 -1
  34. package/dist/client/assets/{chunk-EMLP6XTP-BoneA0Uo.js → chunk-EMLP6XTP-RLD4nXpI.js} +1 -1
  35. package/dist/client/assets/chunk-ERSWUTIN-ME9RVNel.js +41 -0
  36. package/dist/client/assets/{chunk-V7JOEXUC-Bo_5WqHt.js → chunk-GF5L2VYU-DkJpO7ff.js} +3 -3
  37. package/dist/client/assets/chunk-I66GZJ75-CVFiiffQ.js +127 -0
  38. package/dist/client/assets/{chunk-FWX5IMBZ-Ch9_j2qF.js → chunk-J7OUQ5F2-4CEb7pvH.js} +2 -2
  39. package/dist/client/assets/{chunk-JG7HCLWE-Dk4_aECj.js → chunk-JG7HCLWE-BYfiSaVt.js} +1 -1
  40. package/dist/client/assets/{chunk-PUDLZKDR-C-JwZaMh.js → chunk-JQJVKLGR-cx8X_24v.js} +5 -5
  41. package/dist/client/assets/{chunk-VR4S4FIN-uXjSaaA7.js → chunk-KBJHAD2P-CB_3zWUf.js} +1 -1
  42. package/dist/client/assets/{chunk-KEIR6QF5-Dj-OpFgW.js → chunk-KEIR6QF5-BICK3FdT.js} +31 -31
  43. package/dist/client/assets/{chunk-MOZMSUNE-BgA8jCvb.js → chunk-MOZMSUNE-XVucA-n6.js} +1 -1
  44. package/dist/client/assets/chunk-NSK5VX7P-TLH37VXI.js +2 -0
  45. package/dist/client/assets/{chunk-OSBZ3O6U-CX9EQ5t2.js → chunk-OSBZ3O6U-CrKZOUOr.js} +1 -1
  46. package/dist/client/assets/{chunk-QBLGF6JB-C9zGMqvP.js → chunk-QBLGF6JB-CxAyS2mW.js} +1 -1
  47. package/dist/client/assets/{chunk-ZGVPDNZ5-Bmet6b46.js → chunk-QR6OTTB3-CDAA_5Ib.js} +3 -3
  48. package/dist/client/assets/{chunk-R7FJI6CG-BpBhcF6R.js → chunk-R7FJI6CG-Cnn3gE-Y.js} +1 -1
  49. package/dist/client/assets/chunk-RYQCIY6F-D-a0zH8K.js +1 -0
  50. package/dist/client/assets/{chunk-SRAX5OIU-Bpn6XoyU.js → chunk-SRAX5OIU-KFQikY-4.js} +1 -1
  51. package/dist/client/assets/{chunk-U6XO7XAA-CR0BSRFR.js → chunk-U6XO7XAA-BFxjP5U3.js} +1 -1
  52. package/dist/client/assets/chunk-UBXNYLIW-Bhk-PbFK.js +1 -0
  53. package/dist/client/assets/{chunk-C7G6YPKG-C97QUAKv.js → chunk-W5SLKNZC-BdNSCxZ9.js} +1 -1
  54. package/dist/client/assets/{chunk-Q4XR5HBZ-Dyewsidf.js → chunk-WRU74C26-h6_XkD3_.js} +7 -7
  55. package/dist/client/assets/{chunk-XXDRQBXY-Bq6zMMOx.js → chunk-XXDRQBXY-BvKO0v-W.js} +1 -1
  56. package/dist/client/assets/{chunk-Z24UKHUO-BQ6-bK37.js → chunk-YGJVY4SA-CjSe7Bx7.js} +5 -5
  57. package/dist/client/assets/{chunk-YOTPTUD7-CjHV8V6f.js → chunk-YOTPTUD7-D0vRKqYp.js} +1 -1
  58. package/dist/client/assets/{chunk-Z5NKEFVG-DC2Lcs-4.js → chunk-Z5NKEFVG-q6fHH75m.js} +2 -2
  59. package/dist/client/assets/{chunk-ZIRB5QZD-C6fEPe3t.js → chunk-ZIRB5QZD-O39ZBUk3.js} +5 -5
  60. package/dist/client/assets/classDiagram-JCYQIIEL-L7lsyW_w.js +1 -0
  61. package/dist/client/assets/classDiagram-v2-OCEON4UE-L7lsyW_w.js +1 -0
  62. package/dist/client/assets/clike-D_6L3tnO.js +1 -0
  63. package/dist/client/assets/cmake-84nbDH0I.js +1 -0
  64. package/dist/client/assets/coffeescript-De_zI4J0.js +1 -0
  65. package/dist/client/assets/{room-BhC-3iml.js → comment-threads-DDegmaFO.js} +2 -2
  66. package/dist/client/assets/commonlisp-DgAKBe0r.js +1 -0
  67. package/dist/client/assets/cose-bilkent-JH36ORCC-Cm_QF_yb.js +1 -0
  68. package/dist/client/assets/crystal-Bsdphhtm.js +1 -0
  69. package/dist/client/assets/cs-CZ-OFPU5DBV-BmFAIhqX.js +7 -0
  70. package/dist/client/assets/css-CnaYoQib.js +1 -0
  71. package/dist/client/assets/cynefin-VYW2F7L2-Ds2Fw2Y0.js +1 -0
  72. package/dist/client/assets/cynefinDiagram-MW4NZA55-CJxXfJek.js +62 -0
  73. package/dist/client/assets/cytoscape.esm-B-NFISlW.js +321 -0
  74. package/dist/client/assets/{d-BhMjBjQP.js → d-DWkQyNnU.js} +1 -1
  75. package/dist/client/assets/da-DK-FRDJFYWF-H387Jw8B.js +2 -0
  76. package/dist/client/assets/dagre-Buvkdvvj.js +1 -0
  77. package/dist/client/assets/{dagre-VKFMJZFB-CSQjHsP2.js → dagre-VZM6K2ZE-L1xArOGs.js} +2 -2
  78. package/dist/client/assets/de-CH-ZG7H3QK3-C_groygo.js +11 -0
  79. package/dist/client/assets/de-DE-SIJYH4IH-C_groygo.js +11 -0
  80. package/dist/client/assets/defaultLocale-BFoDCU3G.js +1 -0
  81. package/dist/client/assets/{diagram-OA4YK3LP-ruJmRhl8.js → diagram-7IWD3JNH-B2d2Bm15.js} +1 -1
  82. package/dist/client/assets/{diagram-FQU43EPY-D0RPbiE5.js → diagram-B4RE2ZJO-NP4UAwjR.js} +1 -1
  83. package/dist/client/assets/{diagram-NH7WQ7WH-CaTayrXM.js → diagram-LBJQPF4R-D1FJQV8t.js} +1 -1
  84. package/dist/client/assets/{diagram-G47NLZAW-XriksZQN.js → diagram-Q27KOJAE-DylDuwor.js} +13 -13
  85. package/dist/client/assets/diagram-UB23O5K3-DJcKCwv9.js +41 -0
  86. package/dist/client/assets/dist-3bgCp7iY.js +1 -0
  87. package/dist/client/assets/dist-BH87JoHx.js +11 -0
  88. package/dist/client/assets/{dist-BUxzPC-Q.js → dist-BIkPRZO7.js} +3 -3
  89. package/dist/client/assets/{dist-qx0Iv9vM.js → dist-B_J_HbC0.js} +1 -1
  90. package/dist/client/assets/dist-BqCsFpx4.js +1 -0
  91. package/dist/client/assets/dist-C11hHqv_.js +13 -0
  92. package/dist/client/assets/{dist-YCtFk_v0.js → dist-C2JHCt8U.js} +1 -1
  93. package/dist/client/assets/{dist-D3Tmtejd.js → dist-CYZmbokb.js} +2 -2
  94. package/dist/client/assets/dist-CZjTtmTu.js +1 -0
  95. package/dist/client/assets/{dist-C__bPRpd.js → dist-Cig4Ov_X.js} +1 -1
  96. package/dist/client/assets/{dist-DXTgEdvE.js → dist-CnL7Y2sM.js} +1 -1
  97. package/dist/client/assets/dist-CqQEC8gR.js +1 -0
  98. package/dist/client/assets/{dist-CQTo4Y46.js → dist-D2AQ-76g.js} +1 -1
  99. package/dist/client/assets/dist-D4Rzqod1.js +1 -0
  100. package/dist/client/assets/dist-D5sn-mwk.js +9 -0
  101. package/dist/client/assets/dist-D7G-n87v.js +1 -0
  102. package/dist/client/assets/dist-DCzuX1AF.js +1 -0
  103. package/dist/client/assets/dist-DGb27Dl6.js +1 -0
  104. package/dist/client/assets/{dist-CHJCI2AN.js → dist-DK5Gs2wa.js} +1 -1
  105. package/dist/client/assets/dist-DRqOrNgN.js +1 -0
  106. package/dist/client/assets/{dist-B0NFuQC3.js → dist-DetkMS_4.js} +1 -1
  107. package/dist/client/assets/dist-DhLvC8DS.js +2 -0
  108. package/dist/client/assets/{dist-D1W8XQvM.js → dist-Dp6FVkQ1.js} +1 -1
  109. package/dist/client/assets/{dist-D4MWz_rC.js → dist-Drp8uu5J.js} +1 -1
  110. package/dist/client/assets/dist-DtbjNB28.js +1 -0
  111. package/dist/client/assets/dist-DyrYcvpo2.js +1 -0
  112. package/dist/client/assets/dist-GrygD2zE.js +1 -0
  113. package/dist/client/assets/{dist-CzNyYE-S.js → dist-HmEpWUow.js} +1 -1
  114. package/dist/client/assets/{dist-D7-13adP.js → dist-JYEDRrPT.js} +1 -1
  115. package/dist/client/assets/dist-MvcV4190.js +1 -0
  116. package/dist/client/assets/{dist-gGmuzNio.js → dist-RTa81Km7.js} +1 -1
  117. package/dist/client/assets/{dockerfile-BLkNEvjs.js → dockerfile-DJkHQgkl.js} +1 -1
  118. package/dist/client/assets/drawio-editor-ClE8jpoG.js +9 -0
  119. package/dist/client/assets/drawioEditor-CXaTM9Ds.js +2 -0
  120. package/dist/client/assets/{dylan-C6jEEEk-.js → dylan-BCDoL_-p.js} +1 -1
  121. package/dist/client/assets/{ebnfDiagram-CCIWWBDH-exNgBUy6.js → ebnfDiagram-BXEA7PRR-nw0wmA6y.js} +1 -1
  122. package/dist/client/assets/{ecl-BSZaIHnp.js → ecl-BVIeWmwY.js} +1 -1
  123. package/dist/client/assets/editor-session-GTwZS6Df.js +16 -0
  124. package/dist/client/assets/el-GR-IEE2CGI2-BkT6YT54.js +7 -0
  125. package/dist/client/assets/embedded-editor-base-CiNEc8vy.css +1 -0
  126. package/dist/client/assets/en-7NFCYGKX-BrgYZAEe.js +1 -0
  127. package/dist/client/assets/{erDiagram-Q63AITRT-CoYS49kY.js → erDiagram-JOGREHBK-cYUpEKpf.js} +3 -3
  128. package/dist/client/assets/{erlang-DaB2Rkuy.js → erlang-BV0c4Hdn.js} +1 -1
  129. package/dist/client/assets/es-ES-TVVPWKV5-CpPKJXTM.js +12 -0
  130. package/dist/client/assets/eu-ES-CGBMFQDT-Bu3N2493.js +8 -0
  131. package/dist/client/assets/eventmodeling-45OFAUF4-CLEiVx5s.js +1 -0
  132. package/dist/client/assets/excalidraw-editor-BZVM81BO.js +9 -0
  133. package/dist/client/assets/excalidraw-editor-CyGwOhLz.css +1 -0
  134. package/dist/client/assets/excalidraw-scene-C8n9CHsK.js +176 -0
  135. package/dist/client/assets/excalidrawEditor-DxJanCze.js +2 -0
  136. package/dist/client/assets/export-page-CUfws2T-.js +39 -0
  137. package/dist/client/assets/exportDocument-BCuxqXDY.js +2 -0
  138. package/dist/client/assets/exportDocument-DV-OX74E.css +1 -0
  139. package/dist/client/assets/fa-IR-IE6XAPR4-BEvLCORD.js +9 -0
  140. package/dist/client/assets/{factor-D7LVTn2l.js → factor-LKH5gN8L.js} +1 -1
  141. package/dist/client/assets/fi-FI-P7TKNHRM-DI0q8iSX.js +6 -0
  142. package/dist/client/assets/flowDiagram-UKHOOZJN-D0ypP0Ez.js +1 -0
  143. package/dist/client/assets/fr-FR-QI2XZNT7-y8kXd8LA.js +12 -0
  144. package/dist/client/assets/ganttDiagram-PKOTCBZU-BnM97BCT.js +292 -0
  145. package/dist/client/assets/gitGraph-TEB2WS4Q-CZFBqwW-.js +1 -0
  146. package/dist/client/assets/{gitGraphDiagram-IHSO6WYX-x3NetpXU.js → gitGraphDiagram-DS77QQ5N-BQpQhjuN.js} +3 -3
  147. package/dist/client/assets/gl-ES-TLYCNOZZ-Br-Fhff-.js +6 -0
  148. package/dist/client/assets/groovy-CUpZ7dEl.js +1 -0
  149. package/dist/client/assets/he-IL-ZX43XLGP-qKQq6V9X.js +9 -0
  150. package/dist/client/assets/hi-IN-UTYRMTUF-DOUcwrDO.js +3 -0
  151. package/dist/client/assets/hu-HU-AJOSEBW6-FqTyvHlD.js +3 -0
  152. package/dist/client/assets/id-ID-ETLTVG6C-CQqh3CLS.js +8 -0
  153. package/dist/client/assets/image-QXRYHUNP-lfTHE3bb.js +1 -0
  154. package/dist/client/assets/image-blob-reduce.esm-Dj7YBvMv.js +2 -0
  155. package/dist/client/assets/index-C3YnUgMD.css +1 -0
  156. package/dist/client/assets/index-D2wXraJ1.js +2 -0
  157. package/dist/client/assets/info-DKCQHKI2--1InqQeT.js +1 -0
  158. package/dist/client/assets/{infoDiagram-FWYZ7A6U-DyfGrH8z.js → infoDiagram-6WML65LV-DYB8HCDQ.js} +1 -1
  159. package/dist/client/assets/init-C-OQMol4.js +1 -0
  160. package/dist/client/assets/{ishikawaDiagram-FXEZZL3T-BOts527_.js → ishikawaDiagram-WSZJBQD7-Coz_P3t6.js} +2 -2
  161. package/dist/client/assets/it-IT-B4B6TP6L-V-yK3SZz.js +12 -0
  162. package/dist/client/assets/ja-JP-IYKVURR5-BQKBXRpX.js +12 -0
  163. package/dist/client/assets/javascript-BWjar7HY.js +1 -0
  164. package/dist/client/assets/javascript-D-FtdkNC.js +1 -0
  165. package/dist/client/assets/{journeyDiagram-5HDEW3XC-DF37OVrZ.js → journeyDiagram-NVQOT4AX-B6edChce.js} +3 -3
  166. package/dist/client/assets/{react-lCSYwAWP.js → jsx-runtime-BpzPEenQ.js} +1 -1
  167. package/dist/client/assets/kaa-SE2BUIKX-CZ5kfwPg.js +1 -0
  168. package/dist/client/assets/kab-KAB-Y3GLKXLR-Do7GWfuN.js +4 -0
  169. package/dist/client/assets/{kanban-definition-HUTT4EX6-nCjbm1T6.js → kanban-definition-27J2QSJJ-BFd9-cLc.js} +3 -3
  170. package/dist/client/assets/{katex-B7rAX3Vi.js → katex-CXMH3UgJ.js} +3 -3
  171. package/dist/client/assets/kk-KZ-ABWUFVOH-BpqVciQz.js +1 -0
  172. package/dist/client/assets/{km-KH-PBSJLZ2M-Bh1DsarT.js → km-KH-PCWDKPHP-DSmy5shj.js} +3 -3
  173. package/dist/client/assets/ko-KR-7JQDXKGM-N42lep78.js +5 -0
  174. package/dist/client/assets/ku-TR-NAH2Q5B7-K8LLl9fk.js +6 -0
  175. package/dist/client/assets/{line-h44YiLOQ.js → line-B_S_S8kV.js} +1 -1
  176. package/dist/client/assets/linear-n-3HSMUF.js +1 -0
  177. package/dist/client/assets/lt-LT-VQFYRSNQ-BmOd0ALn.js +3 -0
  178. package/dist/client/assets/lv-LV-T62VSYUM-B22WdPhp.js +4 -0
  179. package/dist/client/assets/main-DtiGz7uI.js +795 -0
  180. package/dist/client/assets/{mermaid-parser.core-ygm3cZ_w.js → mermaid-parser.core-CUVdebAV.js} +2 -2
  181. package/dist/client/assets/mermaid.core-DN-lF51U.js +11 -0
  182. package/dist/client/assets/{mindmap-definition-LN4V7U3C-CTpHMYFE.js → mindmap-definition-FAOFIHXS-C9PQ38Al.js} +3 -3
  183. package/dist/client/assets/modulepreload-polyfill-P2Xu9kJm.js +1 -0
  184. package/dist/client/assets/mr-IN-V4FHLCJE-XX069tpm.js +9 -0
  185. package/dist/client/assets/{mumps-CW_TBmxz.js → mumps-BSzj6Xyz.js} +1 -1
  186. package/dist/client/assets/my-MM-E3SQ6E54-cst_-5SB.js +1 -0
  187. package/dist/client/assets/nb-NO-MLNOFN5H-Bu2URWko.js +8 -0
  188. package/dist/client/assets/nl-NL-D5L3ZV4M-BqrV0btt.js +13 -0
  189. package/dist/client/assets/nn-NO-NNHDGPKB-DK-xZaWM.js +4 -0
  190. package/dist/client/assets/{nsis-AQ_alPln.js → nsis-CfSuhXs5.js} +1 -1
  191. package/dist/client/assets/{ntriples-d28e9m0E.js → ntriples-B9h1VB_g.js} +1 -1
  192. package/dist/client/assets/oc-FR-DWCRF55G-BZ5Po5R6.js +4 -0
  193. package/dist/client/assets/{ordinal-hYBb2elL.js → ordinal-BDEzSJ7C.js} +1 -1
  194. package/dist/client/assets/pa-IN-3JSAY44M-BZQSjKrS.js +4 -0
  195. package/dist/client/assets/packet-7NZHBO7P-BGMXB0XL.js +1 -0
  196. package/dist/client/assets/path-fybaL0A-.js +1 -0
  197. package/dist/client/assets/{pegDiagram-2B236MQR-Bq9qITsk.js → pegDiagram-VL7TDLO6-BMZUrSaU.js} +1 -1
  198. package/dist/client/assets/percentages-ETZPVQEE-DFxFqXgH.js +1 -0
  199. package/dist/client/assets/perl-BkSkiI9m.js +1 -0
  200. package/dist/client/assets/{pica-D0pwGKw7.js → pica-xkWDouSg.js} +2 -2
  201. package/dist/client/assets/pie-RZYD4A2V-DgYg3tCt.js +1 -0
  202. package/dist/client/assets/{pieDiagram-ENE6RG2P--ax2FUc8.js → pieDiagram-7S7Q4E2Y-h8kbCL9o.js} +2 -2
  203. package/dist/client/assets/{pl-PL-EERMMCTN-dIzrbxJt.js → pl-PL-ACURYKP3-qcEOSfCk.js} +4 -4
  204. package/dist/client/assets/{powershell-CzG71I4L.js → powershell-BcIto6Sf.js} +1 -1
  205. package/dist/client/assets/preview-diagram-utils-txBCoW8d.js +1 -0
  206. package/dist/client/assets/preview-render-compiler-BSaQO_p3.js +35 -0
  207. package/dist/client/assets/preview-render-compiler-csGM5ZFz.js +1 -0
  208. package/dist/client/assets/preview-render-profile-BZzGSg6K.js +22 -0
  209. package/dist/client/assets/preview-render-worker-B42LWvrD.js +60 -0
  210. package/dist/client/assets/pt-BR-LOX7MLGD-DLueHSyZ.js +10 -0
  211. package/dist/client/assets/pt-PT-CZ2U2RFQ-BJ-GAEm6.js +12 -0
  212. package/dist/client/assets/{pug-Ck0YjsGM.js → pug-Wky5Dnfy.js} +1 -1
  213. package/dist/client/assets/puppet-BZyAS7I4.js +1 -0
  214. package/dist/client/assets/python-B_1Jd8HM.js +1 -0
  215. package/dist/client/assets/{quadrantDiagram-ABIIQ3AL-f0PUv7DH.js → quadrantDiagram-CIZ2JOQS-CkElyfMi.js} +2 -2
  216. package/dist/client/assets/quick-switcher-controller-shW_6vPY.js +12 -0
  217. package/dist/client/assets/r-CxDmU1I4.js +1 -0
  218. package/dist/client/assets/radar-I7S5WNFK-Ag-zp_Rq.js +1 -0
  219. package/dist/client/assets/railroad-3IZDKUUU-aibJDIDV.js +1 -0
  220. package/dist/client/assets/railroad-abnf-AHOZXSZD-BBMEuvIl.js +1 -0
  221. package/dist/client/assets/railroad-ebnf-EBAXGLYW-Be1nseej.js +1 -0
  222. package/dist/client/assets/railroad-peg-LSFZ7HO6-DIvD-Eyb.js +1 -0
  223. package/dist/client/assets/{railroadDiagram-RFXS5EU6-CZD_9g-4.js → railroadDiagram-AXF67PYL-c75gnikD.js} +1 -1
  224. package/dist/client/assets/{requirementDiagram-TGXJPOKE-C4Jwr3TE.js → requirementDiagram-LRYGKXZP-mNxKLuHS.js} +2 -2
  225. package/dist/client/assets/ro-RO-2HECL2X6-CJUvKAf0.js +12 -0
  226. package/dist/client/assets/rolldown-runtime-Dd_uD5pT.js +1 -0
  227. package/dist/client/assets/room-CQLoqtMo.js +1 -0
  228. package/dist/client/assets/{rough.esm-CSKSodPl.js → rough.esm-Dy-Kn_BL.js} +1 -1
  229. package/dist/client/assets/ru-RU-HAYNXO46-BWSlvTrt.js +10 -0
  230. package/dist/client/assets/ruby-BjXV7-Qa.js +1 -0
  231. package/dist/client/assets/runtime-config-DSGmGE9V.js +1 -0
  232. package/dist/client/assets/{sankeyDiagram-HTMAVEWB-B2B2mdB6.js → sankeyDiagram-W5VNT64P-0OhplksI.js} +2 -2
  233. package/dist/client/assets/{scheme-tChLYBuY.js → scheme-D9qYN0V5.js} +1 -1
  234. package/dist/client/assets/sequenceDiagram-SI44F4Z6-BJ_yAocC.js +162 -0
  235. package/dist/client/assets/{shell-Du5Qg9im.js → shell-DwuoZtxw.js} +1 -1
  236. package/dist/client/assets/si-LK-W5KNS4H6-DGGCsn7k.js +1 -0
  237. package/dist/client/assets/{simple-mode-DRpGK0lJ.js → simple-mode-DXiLM1-G.js} +1 -1
  238. package/dist/client/assets/sk-SK-7K2CFGDV-CY4uTYgQ.js +7 -0
  239. package/dist/client/assets/sl-SI-OXV2QZWW-2-weqaBY.js +6 -0
  240. package/dist/client/assets/sql-DuQMFDvy.js +1 -0
  241. package/dist/client/assets/src-oBChb5qS.js +1 -0
  242. package/dist/client/assets/{stateDiagram-2N3HPSRC-B1niwAq-.js → stateDiagram-OKZ733FA-Cc83O86s.js} +1 -1
  243. package/dist/client/assets/stateDiagram-v2-UEYNNEHI-B1-BufUk.js +1 -0
  244. package/dist/client/assets/{stex-sDrdk2BW.js → stex-DNzd62Q_.js} +1 -1
  245. package/dist/client/assets/{stylus-DLLZ8dgm.js → stylus-BOVgKnng.js} +1 -1
  246. package/dist/client/assets/subset-shared.chunk-BXlA-9CO.js +1 -0
  247. package/dist/client/assets/{subset-worker.chunk-Cuw2UvhD.js → subset-worker.chunk-CoaGye2U.js} +1 -1
  248. package/dist/client/assets/sv-SE-JTOBZRGL-9-IUtVkO.js +12 -0
  249. package/dist/client/assets/swimlanes-SLNWSIFB-oVTWEJIj.js +2 -0
  250. package/dist/client/assets/swimlanesDiagram-ULZ7WXOC-C5OTVwEu.js +8 -0
  251. package/dist/client/assets/ta-IN-KFAVKXGT-gHO6Q_DH.js +6 -0
  252. package/dist/client/assets/{textile-CyzeGT9J.js → textile-C4jVoHG1.js} +1 -1
  253. package/dist/client/assets/th-TH-VDMSCPDL-BvJuw6PJ.js +1 -0
  254. package/dist/client/assets/tiki-AK6FwT8q.js +1 -0
  255. package/dist/client/assets/timeline-definition-Z64GVDOM-BWDAGTHz.js +120 -0
  256. package/dist/client/assets/toml-BPTmHmyx.js +1 -0
  257. package/dist/client/assets/tr-TR-CEZ6GX45-CG6UU3Su.js +4 -0
  258. package/dist/client/assets/treeView-QDETBFTQ-uHZ-3Fz8.js +1 -0
  259. package/dist/client/assets/treemap-6X3UGDF4-BnUKyy3l.js +1 -0
  260. package/dist/client/assets/{ttcn-BePYh-hG.js → ttcn-PPSTk1ow.js} +1 -1
  261. package/dist/client/assets/{ttcn-cfg-CY0aot7Q.js → ttcn-cfg-2b4Gb5sE.js} +1 -1
  262. package/dist/client/assets/uk-UA-Q3H3OXQC-CSuIg_DY.js +6 -0
  263. package/dist/client/assets/uz-UZ-NGCSWWPX-mom7rxSP.js +1 -0
  264. package/dist/client/assets/vault-api-client-C6bcGwy-.js +5 -0
  265. package/dist/client/assets/vault-utils-wdQ0RNR9.js +1 -0
  266. package/dist/client/assets/{vennDiagram-L72KCM5P-DPQ9kbN2.js → vennDiagram-T6HMQDX7-LOSsnlMB.js} +3 -3
  267. package/dist/client/assets/{verilog-BKSQ5RMB.js → verilog-7LoJAqYT.js} +1 -1
  268. package/dist/client/assets/{vhdl-CBDDcIJ_.js → vhdl-kS471soi.js} +1 -1
  269. package/dist/client/assets/vi-VN-P3NDEVPS-BB0Fu9ck.js +7 -0
  270. package/dist/client/assets/wardley-OPB4EBWU-Da7TLC2F.js +1 -0
  271. package/dist/client/assets/{wardleyDiagram-EHGQE667-5VW6_Csg.js → wardleyDiagram-T6FBY63Y-BxII3foY.js} +35 -35
  272. package/dist/client/assets/{xquery-Cda5K8Gy.js → xquery-BKJx4mf9.js} +1 -1
  273. package/dist/client/assets/{xychartDiagram-FW5EYKEG-Bj0UwltS.js → xychartDiagram-ELKLHX3M-B-pTEjju.js} +4 -4
  274. package/dist/client/assets/yjs-provider-reset-guard-DE0vINDP.js +4 -0
  275. package/dist/client/assets/z80-Co3PbHdE.js +1 -0
  276. package/dist/client/assets/zh-CN-SS3O57GA-Bj8wsiMe.js +11 -0
  277. package/dist/client/assets/zh-HK-LWJT3VCF-DOTquTCh.js +1 -0
  278. package/dist/client/assets/zh-TW-VJXC72RT-B48PRo-l.js +13 -0
  279. package/dist/client/drawio-editor.html +3 -2
  280. package/dist/client/excalidraw-editor.html +3 -2
  281. package/dist/client/export-document.html +4 -3
  282. package/dist/client/index.html +725 -4
  283. package/package.json +21 -24
  284. package/src/client/app/drawio-editor-entry.js +0 -3
  285. package/src/client/app/drawio-editor.html +1 -0
  286. package/src/client/app/excalidraw-editor-entry.js +0 -3
  287. package/src/client/app/excalidraw-editor.html +1 -0
  288. package/src/client/app/export-document-entry.js +0 -3
  289. package/src/client/app/export-document.html +1 -0
  290. package/src/client/app/index.html +722 -1
  291. package/src/client/app/main-entry.js +0 -7
  292. package/src/client/application/app-shell/chat-feature.js +180 -124
  293. package/src/client/application/app-shell/comments-feature.js +1 -1
  294. package/src/client/application/app-shell/git-feature.js +7 -17
  295. package/src/client/application/app-shell/presence-feature.js +16 -10
  296. package/src/client/application/app-shell/ui-feature-shell.js +46 -15
  297. package/src/client/application/app-shell/ui-feature-sidebar.js +74 -1
  298. package/src/client/application/app-shell/ui-feature-tab-activity.js +2 -2
  299. package/src/client/application/app-shell/ui-feature-toolbar.js +1 -8
  300. package/src/client/application/app-shell/workspace-feature.js +22 -83
  301. package/src/client/application/app-shell-elements.js +7 -1
  302. package/src/client/application/diagram-chrome.js +284 -171
  303. package/src/client/application/diagram-preview-export.js +10 -55
  304. package/src/client/application/diagram-preview-hydrator.js +218 -41
  305. package/src/client/application/markdown-frontmatter.js +0 -2
  306. package/src/client/application/mermaid-preview-hydrator.js +46 -27
  307. package/src/client/application/plantuml-preview-hydrator.js +33 -19
  308. package/src/client/application/preview-diagram-utils.js +96 -58
  309. package/src/client/application/preview-render-compiler.js +6 -3
  310. package/src/client/application/preview-render-profile.js +9 -1
  311. package/src/client/application/preview-renderer.js +32 -166
  312. package/src/client/application/quick-switcher-loader.js +3 -1
  313. package/src/client/application/wiki-link-file-controller.js +2 -2
  314. package/src/client/application/workspace-coordinator.js +76 -54
  315. package/src/client/application/workspace-preview-controller.js +0 -3
  316. package/src/client/application/workspace-route-controller.js +31 -1
  317. package/src/client/bootstrap/collabmd-app-shell.js +286 -169
  318. package/src/client/browser-utils.js +77 -0
  319. package/src/client/domain/excalidraw-api-scene-sync.js +7 -3
  320. package/src/client/domain/excalidraw-collaboration.js +1 -7
  321. package/src/client/domain/excalidraw-diagnostics.js +111 -0
  322. package/src/client/domain/excalidraw-scene.js +2 -3
  323. package/src/client/domain/room.js +40 -2
  324. package/src/client/domain/vault-paths.js +14 -0
  325. package/src/client/domain/vault-utils.js +0 -64
  326. package/src/client/excalidraw-editor.js +250 -44
  327. package/src/client/export/export-pipeline.js +12 -43
  328. package/src/client/infrastructure/api-client-utils.js +23 -0
  329. package/src/client/infrastructure/app-version-monitor.js +0 -1
  330. package/src/client/infrastructure/auth-client.js +4 -10
  331. package/src/client/infrastructure/browser-notification-port.js +30 -21
  332. package/src/client/infrastructure/browser-preferences-port.js +55 -43
  333. package/src/client/infrastructure/editor-view-adapter.js +87 -3
  334. package/src/client/infrastructure/excalidraw-room-client.js +115 -16
  335. package/src/client/infrastructure/git-api-client.js +9 -32
  336. package/src/client/infrastructure/lobby-presence.js +1 -0
  337. package/src/client/infrastructure/vault-api-client.js +31 -56
  338. package/src/client/infrastructure/workspace-sync-client.js +13 -1
  339. package/src/client/presentation/bases-preview-controller.js +6 -22
  340. package/src/client/presentation/comment-overview-controller.js +21 -68
  341. package/src/client/presentation/comment-ui/comment-ui-card.js +22 -16
  342. package/src/client/presentation/comment-ui/comment-ui-layout.js +256 -179
  343. package/src/client/presentation/comment-ui/comment-ui-render.js +33 -45
  344. package/src/client/presentation/comment-ui/comment-ui-shared.js +151 -19
  345. package/src/client/presentation/comment-ui/comment-ui-state.js +3 -0
  346. package/src/client/presentation/comment-ui-controller.js +21 -1
  347. package/src/client/presentation/components/ui/button.js +0 -25
  348. package/src/client/presentation/components/ui/class-names.js +8 -27
  349. package/src/client/presentation/drawio-embed-controller.js +8 -33
  350. package/src/client/presentation/excalidraw-embed-controller.js +50 -43
  351. package/src/client/presentation/file-action-controller.js +40 -25
  352. package/src/client/presentation/file-explorer-controller.js +34 -5
  353. package/src/client/presentation/file-explorer-view.js +53 -22
  354. package/src/client/presentation/file-history-view-controller.js +3 -12
  355. package/src/client/presentation/file-tree-state.js +10 -4
  356. package/src/client/presentation/git-diff-view-controller.js +8 -17
  357. package/src/client/presentation/git-panel-controller.js +3 -12
  358. package/src/client/presentation/quick-switcher-controller.js +245 -77
  359. package/src/client/presentation/quick-switcher-text-search.js +2 -2
  360. package/src/client/presentation/scroll-sync-controller.js +5 -30
  361. package/src/client/presentation/toast-controller.js +3 -0
  362. package/src/client/styles/components/feedback.css +6 -0
  363. package/src/client/styles/features/collaboration-chat.css +49 -53
  364. package/src/client/styles/features/collaboration-presence.css +9 -7
  365. package/src/client/styles/features/comment-card.css +33 -11
  366. package/src/client/styles/features/comment-overlays.css +15 -4
  367. package/src/client/styles/features/comment-overview.css +44 -21
  368. package/src/client/styles/features/comments-drawer.css +2 -100
  369. package/src/client/styles/features/diagram-preview.css +25 -18
  370. package/src/client/styles/features/embedded-preview.css +8 -33
  371. package/src/client/styles/features/quick-switcher.css +8 -0
  372. package/src/client/styles/foundation/tokens.css +1 -0
  373. package/src/client/styles/layout/editor-page.css +40 -0
  374. package/src/client/styles/layout/responsive.css +31 -1
  375. package/src/client/styles/layout/shell.css +25 -6
  376. package/src/client/styles/layout/sidebar.css +47 -15
  377. package/src/client/styles/overrides/codemirror.css +217 -15
  378. package/src/client/styles/style.css +25 -7
  379. package/src/client/styles/surfaces/excalidraw-editor.css +25 -0
  380. package/src/domain/excalidraw-room-codec.js +1 -9
  381. package/src/domain/vault-paths.js +41 -0
  382. package/src/server/application/workspace-reconciliation.js +1 -1
  383. package/src/server/config/env.js +1 -5
  384. package/src/server/create-app-server.js +2 -3
  385. package/src/server/domain/bases/base-expression-runtime.js +1 -46
  386. package/src/server/domain/bases/base-query-service.js +1 -77
  387. package/src/server/domain/collaboration/collaboration-document-store.js +12 -115
  388. package/src/server/domain/collaboration/collaboration-room.js +21 -10
  389. package/src/server/domain/comment-overview.js +10 -3
  390. package/src/server/domain/docx-exporter.js +24 -33
  391. package/src/server/domain/markdown-reference-extractor.js +1 -46
  392. package/src/server/domain/ripgrep-search-service.js +3 -1
  393. package/src/server/domain/workspace-state.js +32 -19
  394. package/src/server/infrastructure/git/diff-service.js +24 -13
  395. package/src/server/infrastructure/git/git-service.js +50 -44
  396. package/src/server/infrastructure/git/history-service.js +93 -85
  397. package/src/server/infrastructure/git/parsers.js +42 -24
  398. package/src/server/infrastructure/git/path-utils.js +1 -1
  399. package/src/server/infrastructure/git/responses.js +0 -118
  400. package/src/server/infrastructure/git/untracked-files.js +1 -1
  401. package/src/server/infrastructure/github/github-app-client.js +22 -15
  402. package/src/server/infrastructure/http/create-git-api-command-handler.js +7 -28
  403. package/src/server/infrastructure/http/create-git-api-query-handler.js +8 -24
  404. package/src/server/infrastructure/http/create-request-handler.js +39 -20
  405. package/src/server/infrastructure/http/create-vault-api-command-handler.js +22 -46
  406. package/src/server/infrastructure/http/create-vault-api-query-handler.js +7 -14
  407. package/src/server/infrastructure/http/http-errors.js +7 -1
  408. package/src/server/infrastructure/http/http-request-helpers.js +23 -0
  409. package/src/server/infrastructure/http/http-response.js +13 -0
  410. package/src/server/infrastructure/persistence/vault-file-store.js +22 -60
  411. package/src/server/infrastructure/workspace/file-system-sync-service.js +3 -3
  412. package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-Fb3TgxXK.js +0 -1
  413. package/dist/client/assets/actions-XO29hEzr.css +0 -1
  414. package/dist/client/assets/ar-SA-YLAB6A27-B9ogj_Jh.js +0 -8
  415. package/dist/client/assets/arc-DqK6O3qL.js +0 -1
  416. package/dist/client/assets/architecture-TIHT7OUA-BWqzHezU.js +0 -1
  417. package/dist/client/assets/architectureDiagram-ZJ3FMSHR-DL35gHTu.js +0 -36
  418. package/dist/client/assets/asciiarmor-qTkVPQu6.js +0 -1
  419. package/dist/client/assets/az-AZ-5JXPK2I2-C6Se5-4R.js +0 -1
  420. package/dist/client/assets/bases-preview-controller-CBHDzzot.js +0 -143
  421. package/dist/client/assets/bg-BG-NIQ2RVNG-xrf33IaO.js +0 -5
  422. package/dist/client/assets/bn-BD-BN65R3DE-YVZWNN-c.js +0 -3
  423. package/dist/client/assets/bn-IN-2YT4KVKB-YVZWNN-c.js +0 -3
  424. package/dist/client/assets/button-2ZnWQkWV.js +0 -1
  425. package/dist/client/assets/c4Diagram-LMCZKHZV-al3Umu1D.js +0 -10
  426. package/dist/client/assets/ca-ES-KSERGC3M-CoMtV4dM.js +0 -8
  427. package/dist/client/assets/channel-XzBGGMWh.js +0 -1
  428. package/dist/client/assets/chunk-52WLFC77-BjzXVnqm.js +0 -10
  429. package/dist/client/assets/chunk-6GK3VUBP-ChzWImvX.js +0 -41
  430. package/dist/client/assets/chunk-CJTDIR4C-DvUbqeGR.js +0 -1
  431. package/dist/client/assets/chunk-ICXQ74PX-DGYhuP6g.js +0 -2
  432. package/dist/client/assets/chunk-OGEWGWER-Xh5bvoYs.js +0 -1
  433. package/dist/client/assets/chunk-RYQCIY6F-Dtr3kkSR.js +0 -1
  434. package/dist/client/assets/chunk-VAUOI2AC-EcvKeBKU.js +0 -1
  435. package/dist/client/assets/chunk-WYO6CB5R-HgTPu1OL.js +0 -127
  436. package/dist/client/assets/classDiagram-OUVF2IWQ-vy5bnN3c.js +0 -1
  437. package/dist/client/assets/classDiagram-v2-EOCWNBFH-vy5bnN3c.js +0 -1
  438. package/dist/client/assets/clike-CVjTFI47.js +0 -1
  439. package/dist/client/assets/cmake-CyVbuzPu.js +0 -1
  440. package/dist/client/assets/coffeescript-B2pKbFk8.js +0 -1
  441. package/dist/client/assets/commonlisp-CcllspGY.js +0 -1
  442. package/dist/client/assets/controls-LYQrRFSF.css +0 -1
  443. package/dist/client/assets/cose-bilkent-JH36ORCC-ClqQrHIF.js +0 -1
  444. package/dist/client/assets/crystal-M5-qzICs.js +0 -1
  445. package/dist/client/assets/cs-CZ-EOMS3IHD-Bo0hDCLX.js +0 -7
  446. package/dist/client/assets/css-CYpP4FRV.js +0 -1
  447. package/dist/client/assets/cynefin-VYW2F7L2-4m18BxUG.js +0 -1
  448. package/dist/client/assets/cynefinDiagram-TSTJHNR4-BNlZcGFF.js +0 -62
  449. package/dist/client/assets/cytoscape.esm-CQFVGiJu.js +0 -321
  450. package/dist/client/assets/da-DK-AVL3DJQK-s5-TpkxN.js +0 -2
  451. package/dist/client/assets/dagre-dpRSp0QF.js +0 -1
  452. package/dist/client/assets/de-CH-M25HCZK4-B0r4rx6B.js +0 -7
  453. package/dist/client/assets/de-DE-BEN6XGXY-B0r4rx6B.js +0 -7
  454. package/dist/client/assets/defaultLocale-C8Fc0cco.js +0 -1
  455. package/dist/client/assets/diagram-WEI45ONY-C18MNAQv.js +0 -41
  456. package/dist/client/assets/diagram-action-icons-aa_KOv9h.js +0 -36
  457. package/dist/client/assets/dist-0x9D2TFD.js +0 -1
  458. package/dist/client/assets/dist-BA633xb4.js +0 -11
  459. package/dist/client/assets/dist-Bx-T__Lj.js +0 -1
  460. package/dist/client/assets/dist-ByYtm-FJ.js +0 -1
  461. package/dist/client/assets/dist-CCrwHjeP.js +0 -1
  462. package/dist/client/assets/dist-CHokDUN_.js +0 -1
  463. package/dist/client/assets/dist-CI1X-CJ2.js +0 -9
  464. package/dist/client/assets/dist-CPim1xdZ.js +0 -1
  465. package/dist/client/assets/dist-CZG184W2.js +0 -1
  466. package/dist/client/assets/dist-Cd1BXkVC.js +0 -1
  467. package/dist/client/assets/dist-CeEU6QwA.js +0 -2
  468. package/dist/client/assets/dist-DG2HpWvu.js +0 -1
  469. package/dist/client/assets/dist-DUj7Xwud.js +0 -13
  470. package/dist/client/assets/dist-DnbVQL2z.js +0 -1
  471. package/dist/client/assets/dist-QiKOmE2-.js +0 -1
  472. package/dist/client/assets/dist-du6QqIs42.js +0 -1
  473. package/dist/client/assets/dist-snK6kYA_.js +0 -1
  474. package/dist/client/assets/drawio-editor-Bpeofg5c.js +0 -9
  475. package/dist/client/assets/drawio-embed-controller-BtzURctK.js +0 -1
  476. package/dist/client/assets/drawioEditor-DOeuNmoO.js +0 -2
  477. package/dist/client/assets/editor-session-MbnP-AVK.js +0 -16
  478. package/dist/client/assets/el-GR-UBGIF2NW-DRoYAN8w.js +0 -7
  479. package/dist/client/assets/embedded-editor-base-C9roKYpW.css +0 -1
  480. package/dist/client/assets/en-PCJ7LJZ2-1SKiH5y3.js +0 -1
  481. package/dist/client/assets/es-ES-SQEM5MNY-D5EtY06q.js +0 -7
  482. package/dist/client/assets/eu-ES-YG5N2JAG-CZ0xKIU4.js +0 -7
  483. package/dist/client/assets/eventmodeling-45OFAUF4-Dp0gpjhg.js +0 -1
  484. package/dist/client/assets/excalidraw-editor-CN3Wpa0D.css +0 -1
  485. package/dist/client/assets/excalidraw-editor-DV1u6p5J.js +0 -9
  486. package/dist/client/assets/excalidraw-embed-controller-BKx05cjZ.js +0 -1
  487. package/dist/client/assets/excalidraw-embed-reconciler-DGiagExg.js +0 -1
  488. package/dist/client/assets/excalidraw-scene-qiXFUZvq.js +0 -176
  489. package/dist/client/assets/excalidrawEditor-C5Z0GfUw.js +0 -2
  490. package/dist/client/assets/export-page-CbIrJ_oK.js +0 -39
  491. package/dist/client/assets/exportDocument-6GQGZvBv.js +0 -2
  492. package/dist/client/assets/exportDocument-C9v-bc7I.css +0 -1
  493. package/dist/client/assets/fa-IR-EVNM7MAJ-olht-LEH.js +0 -9
  494. package/dist/client/assets/fi-FI-MW7ZEZ64-D1PIXbLy.js +0 -6
  495. package/dist/client/assets/file-history-view-controller-CK3oHDCT.js +0 -112
  496. package/dist/client/assets/flowDiagram-23GEKE2U-DgaZtMXJ.js +0 -1
  497. package/dist/client/assets/fr-FR-Q7ZPXBDE-B0DjjyfT.js +0 -12
  498. package/dist/client/assets/ganttDiagram-NO4QXBWP-DaBgmYw5.js +0 -292
  499. package/dist/client/assets/git-diff-view-controller-qorJ_Quo.js +0 -150
  500. package/dist/client/assets/git-panel-controller-CzgJWqbB.js +0 -207
  501. package/dist/client/assets/gitGraph-TEB2WS4Q-Do0SQOtM.js +0 -1
  502. package/dist/client/assets/gl-ES-O5B74VQL-DH5u_ADp.js +0 -6
  503. package/dist/client/assets/groovy-BC3IOsC8.js +0 -1
  504. package/dist/client/assets/he-IL-QGC2WXJA-BSBR1RcG.js +0 -8
  505. package/dist/client/assets/hi-IN-DEZ33NMQ-CorD0_d0.js +0 -3
  506. package/dist/client/assets/hu-HU-2ZPNVYSC-BlqNXhNG.js +0 -3
  507. package/dist/client/assets/id-ID-W65WM5EO-SkLgeJLx.js +0 -8
  508. package/dist/client/assets/image-QEDDDPDB-DtzL4Wgr.js +0 -1
  509. package/dist/client/assets/image-blob-reduce.esm-DLFdRAwc.js +0 -2
  510. package/dist/client/assets/index-BakyykHU.css +0 -1
  511. package/dist/client/assets/index-CvubXIUU.js +0 -2
  512. package/dist/client/assets/info-DKCQHKI2-DIc7uC4I.js +0 -1
  513. package/dist/client/assets/init-D6jRqBbL.js +0 -1
  514. package/dist/client/assets/input-CXk9Zxz9.js +0 -1
  515. package/dist/client/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
  516. package/dist/client/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
  517. package/dist/client/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
  518. package/dist/client/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
  519. package/dist/client/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
  520. package/dist/client/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
  521. package/dist/client/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
  522. package/dist/client/assets/it-IT-GAWJM2XW-CDZugsE0.js +0 -12
  523. package/dist/client/assets/ja-JP-FOAUPTH5-DkKXnwj8.js +0 -12
  524. package/dist/client/assets/javascript-B9TABJff.js +0 -1
  525. package/dist/client/assets/javascript-BRzqD9BA.js +0 -1
  526. package/dist/client/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2 +0 -0
  527. package/dist/client/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff +0 -0
  528. package/dist/client/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff +0 -0
  529. package/dist/client/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2 +0 -0
  530. package/dist/client/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
  531. package/dist/client/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
  532. package/dist/client/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2 +0 -0
  533. package/dist/client/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff +0 -0
  534. package/dist/client/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff +0 -0
  535. package/dist/client/assets/jsx-runtime-DKdBMi_L.js +0 -1
  536. package/dist/client/assets/kaa-UEDB54S7-C0Sv0drM.js +0 -1
  537. package/dist/client/assets/kab-KAB-CTLMBVE3-QfxUgzL5.js +0 -4
  538. package/dist/client/assets/keyboard-shortcuts-C5LvVwoE.js +0 -1
  539. package/dist/client/assets/kk-KZ-XZK63ADD-CMZObxxP.js +0 -1
  540. package/dist/client/assets/ko-KR-YNTPN6WQ-DPBaHnwT.js +0 -5
  541. package/dist/client/assets/ku-TR-XUD5BUEU-75pMUQoD.js +0 -6
  542. package/dist/client/assets/linear-DhAcoVP9.js +0 -1
  543. package/dist/client/assets/lt-LT-LYCDYH7O-BeKUsKuy.js +0 -3
  544. package/dist/client/assets/lv-LV-7ROPDEEI-CrA6QOtq.js +0 -4
  545. package/dist/client/assets/main-CKWxzJUx.js +0 -807
  546. package/dist/client/assets/mermaid-runtime-2fJoRo49.js +0 -11
  547. package/dist/client/assets/mr-IN-TU6BXRKP-mIvXG0bt.js +0 -9
  548. package/dist/client/assets/my-MM-SJ3RWIEQ-CeEN5n4z.js +0 -1
  549. package/dist/client/assets/navigation-CoTUJ5Pi.css +0 -1
  550. package/dist/client/assets/nb-NO-GONF2AKR-IChp6OiI.js +0 -8
  551. package/dist/client/assets/nl-NL-UZF6UEKB-DfPPXXjo.js +0 -13
  552. package/dist/client/assets/nn-NO-ZVFRXEEO-BtpjNSGp.js +0 -4
  553. package/dist/client/assets/oc-FR-MBF2Z56W-CBl14QBM.js +0 -4
  554. package/dist/client/assets/pa-IN-3JCDVKKL-D95A1XFb.js +0 -4
  555. package/dist/client/assets/packet-7NZHBO7P-D2duWGIK.js +0 -1
  556. package/dist/client/assets/path-BWPyau1x.js +0 -1
  557. package/dist/client/assets/percentages-WBIPKLEE-bhlTAhiB.js +0 -1
  558. package/dist/client/assets/perl-CdEHsPfU.js +0 -1
  559. package/dist/client/assets/pie-RZYD4A2V-CynqTUkZ.js +0 -1
  560. package/dist/client/assets/preview-diagram-utils-BPaXsmlV.js +0 -1
  561. package/dist/client/assets/preview-render-compiler-C8wbmTyE.js +0 -1
  562. package/dist/client/assets/preview-render-compiler-CrQBxqqa.js +0 -35
  563. package/dist/client/assets/preview-render-profile-C89_PyT3.js +0 -23
  564. package/dist/client/assets/preview-render-worker-D84F1vpn.js +0 -59
  565. package/dist/client/assets/pt-BR-W4AF5QMX-DIJs8D4M.js +0 -6
  566. package/dist/client/assets/pt-PT-GNPUWAHX-BopN284Y.js +0 -8
  567. package/dist/client/assets/puppet-B4hC2X4m.js +0 -1
  568. package/dist/client/assets/python-2zlmcyof.js +0 -1
  569. package/dist/client/assets/quick-switcher-controller-CVRUPEKp.js +0 -12
  570. package/dist/client/assets/r-DADKenSm.js +0 -1
  571. package/dist/client/assets/radar-I7S5WNFK-fIKE12aT.js +0 -1
  572. package/dist/client/assets/railroad-3IZDKUUU-Bgx8HJTj.js +0 -1
  573. package/dist/client/assets/railroad-abnf-AHOZXSZD-Nh6k60mH.js +0 -1
  574. package/dist/client/assets/railroad-ebnf-EBAXGLYW-C74h3s_I.js +0 -1
  575. package/dist/client/assets/railroad-peg-LSFZ7HO6-0hT-lN-u.js +0 -1
  576. package/dist/client/assets/ro-RO-DXHP33S5-PGxfl-ng.js +0 -12
  577. package/dist/client/assets/rolldown-runtime-aKtaBQYM.js +0 -1
  578. package/dist/client/assets/ru-RU-TTW2P7NF-Dwnn0sc5.js +0 -10
  579. package/dist/client/assets/ruby-DsYpTuWg.js +0 -1
  580. package/dist/client/assets/runtime-config-CDgeuPWN.js +0 -1
  581. package/dist/client/assets/runtime-config-loader-BUK56BZz.js +0 -1
  582. package/dist/client/assets/runtime-paths-DvpihCEq.js +0 -1
  583. package/dist/client/assets/segmented-control-DhUkW6ro.js +0 -1
  584. package/dist/client/assets/sequenceDiagram-DBY2YBRQ-DonUqDnp.js +0 -162
  585. package/dist/client/assets/si-LK-BE6O7LVF-QO9nybVB.js +0 -1
  586. package/dist/client/assets/sk-SK-OI3KJLWQ-BAKIEIig.js +0 -7
  587. package/dist/client/assets/sl-SI-HF74RBGV-CnS5z7V_.js +0 -6
  588. package/dist/client/assets/sql-DcCJ9jop.js +0 -1
  589. package/dist/client/assets/src-UMNXGZaF.js +0 -1
  590. package/dist/client/assets/stateDiagram-v2-6OUMAXLB-C4YrlXQg.js +0 -1
  591. package/dist/client/assets/states-DYMshUe2.css +0 -1
  592. package/dist/client/assets/subset-shared.chunk-D3olxosN.js +0 -1
  593. package/dist/client/assets/sv-SE-TXR2SQGA-CNgv7xeJ.js +0 -8
  594. package/dist/client/assets/swimlanes-5IMT3BWC-DP1GREXh.js +0 -2
  595. package/dist/client/assets/swimlanesDiagram-G3AALYLV-CN_iOXin.js +0 -8
  596. package/dist/client/assets/ta-IN-Y2DOZGBR-DYzsfax7.js +0 -6
  597. package/dist/client/assets/th-TH-JUAISFQR-BAZHUCM7.js +0 -1
  598. package/dist/client/assets/tiki-CxVlf5KZ.js +0 -1
  599. package/dist/client/assets/timeline-definition-FHXFAJF6-C-QK9sME.js +0 -120
  600. package/dist/client/assets/toml-LvoKBwCs.js +0 -1
  601. package/dist/client/assets/tr-TR-U3HGKQXH-DTYupb_4.js +0 -4
  602. package/dist/client/assets/treeView-QDETBFTQ-CygwzEgj.js +0 -1
  603. package/dist/client/assets/treemap-6X3UGDF4-BbCXbaXr.js +0 -1
  604. package/dist/client/assets/uk-UA-FP2TKAFK-Bcxd6wgd.js +0 -6
  605. package/dist/client/assets/uz-UZ-WY5QKWXJ-B5N6xPud.js +0 -1
  606. package/dist/client/assets/vault-api-client-BPVNCJZC.js +0 -1
  607. package/dist/client/assets/vault-api-client-VAfZ8okg.js +0 -1
  608. package/dist/client/assets/vault-utils-kIbqyWPm.js +0 -1
  609. package/dist/client/assets/vi-VN-DE5I4H6K-BdlcTH5l.js +0 -7
  610. package/dist/client/assets/wardley-OPB4EBWU-BjXxCRf_.js +0 -1
  611. package/dist/client/assets/yjs-provider-reset-guard-DSfwdXS9.js +0 -4
  612. package/dist/client/assets/z80-CL1naaMV.js +0 -1
  613. package/dist/client/assets/zh-CN-VWHOHS7G-b12eD2L4.js +0 -11
  614. package/dist/client/assets/zh-HK-KQF7FW7H-Bvr6xExo.js +0 -1
  615. package/dist/client/assets/zh-TW-6VHVWZKW-B-KCOPyt.js +0 -13
  616. package/server.js +0 -1
  617. package/src/client/application/app-shell/ui-feature.js +0 -13
  618. package/src/client/application/file-open-lifecycle.js +0 -26
  619. package/src/client/application/workspace-chrome-controller.js +0 -109
  620. package/src/client/application/workspace-state-store.js +0 -48
  621. package/src/client/bootstrap/app-shell-feature-surface.js +0 -67
  622. package/src/client/bootstrap/lazy-controller-feature.js +0 -434
  623. package/src/client/domain/excalidraw-document-switch.js +0 -3
  624. package/src/client/domain/vault-api-client.js +0 -1
  625. package/src/client/domain/workspace-request-id.js +0 -7
  626. package/src/client/infrastructure/backlinks-api-client.js +0 -18
  627. package/src/client/infrastructure/browser-navigation-port.js +0 -39
  628. package/src/client/infrastructure/plantuml-api-client.js +0 -21
  629. package/src/client/infrastructure/runtime-config-loader.js +0 -56
  630. package/src/client/mermaid-runtime.js +0 -3
  631. package/src/client/presentation/app-shell-renderer.js +0 -13
  632. package/src/client/presentation/app-shell-template.js +0 -669
  633. package/src/client/presentation/comments-panel.js +0 -578
  634. package/src/client/presentation/components/ui/badge.js +0 -24
  635. package/src/client/presentation/components/ui/ensure-ui-component-styles.js +0 -18
  636. package/src/client/presentation/components/ui/input.js +0 -9
  637. package/src/client/styles/features/collaboration-ui.css +0 -3
  638. package/src/client/styles/features/comments.css +0 -5
  639. package/src/client/styles/features/diff.css +0 -3
  640. package/src/client/styles/features/git.css +0 -3
  641. package/src/client/styles/features/preview-content.css +0 -3
  642. package/src/client/styles/features/preview-sidebars.css +0 -2
  643. package/src/client/styles/overrides/vendor.css +0 -2
  644. package/src/server/domain/collaboration/room-client-state-store.js +0 -29
  645. package/src/server/domain/git-service.js +0 -1
  646. package/src/server/domain/plantuml-renderer.js +0 -1
  647. package/src/server/index.js +0 -74
  648. package/src/server/infrastructure/git/command-runner.js +0 -49
  649. package/src/server/infrastructure/git/concurrency.js +0 -19
  650. package/src/server/infrastructure/git/errors.js +0 -8
  651. package/src/server/infrastructure/http/create-esm-proxy-handler.js +0 -130
  652. package/src/server/infrastructure/http/create-git-api-handler.js +0 -44
  653. package/src/server/infrastructure/http/create-vault-api-handler.js +0 -54
  654. package/src/server/infrastructure/persistence/vault-content-adapter.js +0 -61
  655. package/src/server/infrastructure/workspace/workspace-mutation-coordinator.js +0 -20
  656. /package/dist/client/assets/{keyboard-shortcuts-C3mlS_4N.css → vault-api-client-C3mlS_4N.css} +0 -0
@@ -15,14 +15,735 @@
15
15
  document.documentElement.setAttribute('data-initial-file-requested', 'true');
16
16
  }
17
17
  </script>
18
- <script type="module" crossorigin src="./assets/index-CvubXIUU.js"></script>
19
- <link rel="modulepreload" crossorigin href="./assets/runtime-config-loader-BUK56BZz.js">
18
+ <script type="module" crossorigin src="./assets/index-D2wXraJ1.js"></script>
19
+ <link rel="modulepreload" crossorigin href="./assets/modulepreload-polyfill-P2Xu9kJm.js">
20
20
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-HclGiUj8.js">
21
21
  <link rel="modulepreload" crossorigin href="./assets/base-CxPEiHuy.js">
22
22
  <link rel="stylesheet" crossorigin href="./assets/base-CaIEJUF9.css">
23
- <link rel="stylesheet" crossorigin href="./assets/index-BakyykHU.css">
23
+ <link rel="stylesheet" crossorigin href="./assets/index-C3YnUgMD.css">
24
24
  </head>
25
25
  <body>
26
- <div id="appRoot"></div>
26
+
27
+ <a href="#editorContainer" class="sr-only skip-link">Skip to editor</a>
28
+
29
+ <div class="app-shell">
30
+ <aside id="sidebar" class="sidebar">
31
+ <div class="sidebar-header">
32
+ <div class="sidebar-brand">
33
+ <svg width="20" height="20" viewBox="0 0 56 56" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
34
+ <rect x="6" y="8" width="28" height="38" rx="4" stroke="var(--color-primary)" stroke-width="2" fill="var(--color-primary)" fill-opacity="0.12"></rect>
35
+ <rect x="22" y="10" width="28" height="38" rx="4" stroke="var(--color-primary)" stroke-width="2" fill="var(--color-primary)" fill-opacity="0.25"></rect>
36
+ <path d="M14 20l4 10 1.5-4 4-1.5L14 20z" fill="var(--color-primary)" opacity="0.7"></path>
37
+ <path d="M38 28l-4-10-1.5 4-4 1.5L38 28z" fill="var(--color-primary)"></path>
38
+ </svg>
39
+ <span class="sidebar-title">CollabMD</span>
40
+ </div>
41
+ <div class="sidebar-actions">
42
+ <button class="ui-icon-button sidebar-close-btn" id="sidebarClose" aria-label="Close sidebar" title="Close sidebar">
43
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
44
+ <line x1="18" y1="6" x2="6" y2="18"></line>
45
+ <line x1="6" y1="6" x2="18" y2="18"></line>
46
+ </svg>
47
+ </button>
48
+ <div class="sidebar-create-shell">
49
+ <button
50
+ class="ui-button ui-button--secondary ui-button--compact ui-button--pill sidebar-create-btn"
51
+ id="sidebarCreateBtn"
52
+ aria-label="Create"
53
+ aria-expanded="false"
54
+ aria-haspopup="menu"
55
+ title="Create file or folder"
56
+ >
57
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
58
+ <line x1="12" y1="5" x2="12" y2="19"></line>
59
+ <line x1="5" y1="12" x2="19" y2="12"></line>
60
+ </svg>
61
+ <span class="sidebar-create-btn-label">Create</span>
62
+ </button>
63
+ </div>
64
+ <button
65
+ class="ui-icon-button sidebar-options-btn"
66
+ id="fileExplorerOptionsBtn"
67
+ type="button"
68
+ aria-label="File explorer options"
69
+ aria-expanded="false"
70
+ aria-haspopup="menu"
71
+ title="File explorer options"
72
+ >
73
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true">
74
+ <circle cx="12" cy="5" r="1"></circle>
75
+ <circle cx="12" cy="12" r="1"></circle>
76
+ <circle cx="12" cy="19" r="1"></circle>
77
+ </svg>
78
+ </button>
79
+ </div>
80
+ </div>
81
+ <div class="ui-nav-tabs" id="sidebarTabs">
82
+ <button class="ui-nav-tab active" id="filesSidebarTab" type="button">
83
+ <span class="ui-nav-tab-icon" aria-hidden="true">
84
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
85
+ <path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"></path>
86
+ </svg>
87
+ </span>
88
+ <span class="ui-nav-tab-label">Files</span>
89
+ </button>
90
+ <button class="ui-nav-tab" id="commentsSidebarTab" type="button">
91
+ <span class="ui-nav-tab-icon" aria-hidden="true">
92
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
93
+ <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path>
94
+ </svg>
95
+ </span>
96
+ <span class="ui-nav-tab-label">Comments</span>
97
+ </button>
98
+ <button class="ui-nav-tab hidden" id="gitSidebarTab" type="button">
99
+ <span class="ui-nav-tab-icon" aria-hidden="true">
100
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
101
+ <circle cx="18" cy="18" r="3"></circle>
102
+ <circle cx="6" cy="6" r="3"></circle>
103
+ <path d="M13 6h3a2 2 0 0 1 2 2v7"></path>
104
+ <path d="M6 9v12"></path>
105
+ </svg>
106
+ </span>
107
+ <span class="ui-nav-tab-label">Git</span>
108
+ </button>
109
+ </div>
110
+ <div class="sidebar-search" id="fileSearch">
111
+ <input
112
+ type="text"
113
+ class="ui-input sidebar-search-input"
114
+ id="fileSearchInput"
115
+ placeholder="Search files..."
116
+ autocomplete="off"
117
+ spellcheck="false"
118
+ aria-label="Search files"
119
+ >
120
+ </div>
121
+ <div class="sidebar-search hidden" id="gitSearch">
122
+ <input
123
+ type="text"
124
+ class="ui-input sidebar-search-input"
125
+ id="gitSearchInput"
126
+ placeholder="Search changes..."
127
+ autocomplete="off"
128
+ spellcheck="false"
129
+ aria-label="Search changed files"
130
+ >
131
+ </div>
132
+ <nav id="fileTree" class="file-tree" aria-label="File explorer"></nav>
133
+ <section id="commentOverviewPanel" class="comment-overview-panel hidden" aria-label="Open comments"></section>
134
+ <div id="gitPanel" class="git-panel hidden" aria-label="Git changes"></div>
135
+ <div
136
+ class="sidebar-resizer"
137
+ id="sidebarResizer"
138
+ role="separator"
139
+ aria-orientation="vertical"
140
+ aria-label="Resize sidebar"
141
+ aria-controls="sidebar"
142
+ aria-valuemin="220"
143
+ aria-valuemax="420"
144
+ aria-valuenow="260"
145
+ tabindex="0"
146
+ title="Drag to resize sidebar"
147
+ ></div>
148
+ </aside>
149
+
150
+ <button
151
+ type="button"
152
+ class="sidebar-backdrop"
153
+ id="sidebarBackdrop"
154
+ aria-label="Close navigation"
155
+ aria-hidden="true"
156
+ hidden
157
+ ></button>
158
+
159
+ <main class="main-area" id="mainContent">
160
+ <header class="toolbar" role="banner">
161
+ <div class="toolbar-left">
162
+ <button class="ui-button ui-button--ghost ui-button--toolbar" id="sidebarToggle" aria-label="Toggle sidebar" title="Toggle sidebar">
163
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
164
+ <line x1="3" y1="6" x2="21" y2="6"></line>
165
+ <line x1="3" y1="12" x2="21" y2="12"></line>
166
+ <line x1="3" y1="18" x2="21" y2="18"></line>
167
+ </svg>
168
+ </button>
169
+ <div class="toolbar-room-info">
170
+ <span class="toolbar-room-name" id="activeFileName">CollabMD</span>
171
+ </div>
172
+ </div>
173
+
174
+ <div class="toolbar-center" id="toolbarCenter">
175
+ <button
176
+ class="ui-button ui-button--secondary ui-button--compact toolbar-search-trigger"
177
+ id="toolbarSearchBtn"
178
+ type="button"
179
+ aria-label="Search files and text"
180
+ aria-controls="quickSwitcher"
181
+ aria-haspopup="dialog"
182
+ aria-keyshortcuts="Meta+K Control+K"
183
+ title="Search files and text (⌘K)"
184
+ >
185
+ <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true">
186
+ <circle cx="11" cy="11" r="7"></circle>
187
+ <line x1="20" y1="20" x2="16.65" y2="16.65"></line>
188
+ </svg>
189
+ <span class="toolbar-search-label">Search</span>
190
+ <kbd class="toolbar-search-kbd">⌘K</kbd>
191
+ </button>
192
+ <div class="ui-segmented-control view-toggle" id="toolbarViewToggle" role="group" aria-label="View mode">
193
+ <button class="ui-segmented-btn active view-btn" data-view="split" aria-label="Split view" aria-pressed="true" title="Split view">
194
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
195
+ <rect x="3" y="3" width="18" height="18" rx="2"></rect>
196
+ <line x1="12" y1="3" x2="12" y2="21"></line>
197
+ </svg>
198
+ </button>
199
+ <button class="ui-segmented-btn view-btn" data-view="editor" aria-label="Editor only" aria-pressed="false" title="Editor only">
200
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
201
+ <rect x="3" y="3" width="18" height="18" rx="2"></rect>
202
+ <line x1="8" y1="8" x2="16" y2="8"></line>
203
+ <line x1="8" y1="12" x2="14" y2="12"></line>
204
+ <line x1="8" y1="16" x2="12" y2="16"></line>
205
+ </svg>
206
+ </button>
207
+ <button class="ui-segmented-btn view-btn" data-view="preview" aria-label="Preview only" aria-pressed="false" title="Preview only">
208
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
209
+ <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path>
210
+ <circle cx="12" cy="12" r="3"></circle>
211
+ </svg>
212
+ </button>
213
+ </div>
214
+ </div>
215
+
216
+ <div class="toolbar-right">
217
+ <button class="ui-button ui-button--ghost ui-button--toolbar mobile-view-toggle" id="mobileViewToggle" aria-label="Toggle editor/preview" title="Toggle view">
218
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
219
+ <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path>
220
+ <circle cx="12" cy="12" r="3"></circle>
221
+ </svg>
222
+ <span class="ui-toolbar-button-label">Preview</span>
223
+ </button>
224
+
225
+ <div class="toolbar-status-cluster" aria-label="Workspace status">
226
+ <span class="ui-pill-badge ui-pill-badge--accent hidden toolbar-badge" id="toolbarDiffBadge">Diff</span>
227
+ <span class="ui-pill-badge ui-pill-badge--muted hidden toolbar-badge" id="gitOperationStatus" aria-live="polite" aria-atomic="true"></span>
228
+ <button
229
+ type="button"
230
+ class="ui-pill-badge ui-pill-badge--muted toolbar-badge toolbar-badge-button"
231
+ id="userCount"
232
+ aria-controls="presencePanel"
233
+ aria-expanded="false"
234
+ data-presence-panel-trigger="true"
235
+ ></button>
236
+ </div>
237
+
238
+ <div class="user-avatars toolbar-presence-cluster" id="userAvatars"></div>
239
+
240
+ <section class="collaboration-popover presence-panel hidden" id="presencePanel" aria-label="Online users" aria-hidden="true">
241
+ <div class="presence-panel-header">
242
+ <div>
243
+ <h2 class="presence-panel-title">Online now</h2>
244
+ <p class="presence-panel-status" id="presencePanelStatus">Click someone to follow.</p>
245
+ </div>
246
+ </div>
247
+ <div class="presence-panel-list" id="presencePanelList"></div>
248
+ </section>
249
+
250
+ <div class="chat-container" id="chatContainer">
251
+ <button type="button" class="ui-button ui-button--ghost ui-button--toolbar chat-toggle-btn" id="chatToggleBtn" aria-label="Open team chat" aria-controls="chatPanel" aria-expanded="false" title="Team chat">
252
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
253
+ <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path>
254
+ </svg>
255
+ <span class="ui-toolbar-button-label">Chat</span>
256
+ <span class="ui-pill-badge ui-pill-badge--solid ui-pill-badge--count hidden chat-toggle-badge" id="chatToggleBadge">0</span>
257
+ </button>
258
+ <div class="toast-container chat-toast-container" id="chatToastContainer" aria-live="polite" aria-atomic="true"></div>
259
+
260
+ <section class="collaboration-popover chat-panel hidden" id="chatPanel" role="dialog" aria-labelledby="chatPanelTitle">
261
+ <div class="chat-panel-header">
262
+ <div class="chat-panel-heading">
263
+ <h2 class="chat-panel-title" id="chatPanelTitle">Team chat</h2>
264
+ <p class="chat-panel-status" id="chatStatus" role="status" aria-live="polite" aria-atomic="true">Syncing...</p>
265
+ </div>
266
+ <div class="chat-panel-actions">
267
+ <span class="ui-status-badge ui-status-badge--accent chat-notification-status hidden" id="chatNotificationStatus" role="status"></span>
268
+ <button
269
+ type="button"
270
+ class="ui-button ui-button--ghost ui-button--compact chat-notification-action"
271
+ id="chatNotificationBtn"
272
+ >Enable desktop alerts</button>
273
+ <button
274
+ type="button"
275
+ class="ui-icon-button chat-notification-mute-action hidden"
276
+ id="chatNotificationMuteBtn"
277
+ aria-label="Mute desktop alerts for one hour"
278
+ aria-pressed="false"
279
+ title="Mute desktop alerts for one hour"
280
+ >
281
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
282
+ <path d="M18 8a6 6 0 0 0-12 0c0 7-3 7-3 9h18c0-2-3-2-3-9"></path>
283
+ <path d="M13.73 21a2 2 0 0 1-3.46 0"></path>
284
+ <path class="chat-notification-mute-slash" d="m4 4 16 16"></path>
285
+ </svg>
286
+ </button>
287
+ <button type="button" class="ui-icon-button chat-close-btn" id="chatCloseBtn" aria-label="Close team chat" title="Close team chat">
288
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true">
289
+ <line x1="18" y1="6" x2="6" y2="18"></line>
290
+ <line x1="6" y1="6" x2="18" y2="18"></line>
291
+ </svg>
292
+ </button>
293
+ </div>
294
+ </div>
295
+
296
+ <div class="ui-empty-state ui-empty-state--compact chat-empty-state" id="chatEmptyState">
297
+ Messages are visible to everyone in this room.
298
+ </div>
299
+ <div class="chat-messages hidden" id="chatMessages" role="log" aria-live="polite" aria-relevant="additions text"></div>
300
+
301
+ <form class="chat-form" id="chatForm">
302
+ <input
303
+ type="text"
304
+ class="ui-input chat-input"
305
+ id="chatInput"
306
+ placeholder="Message the room..."
307
+ autocomplete="off"
308
+ spellcheck="true"
309
+ maxlength="280"
310
+ enterkeyhint="send"
311
+ aria-label="Team chat message"
312
+ >
313
+ <button type="submit" class="ui-button ui-button--primary chat-send-btn">Send</button>
314
+ </form>
315
+ </section>
316
+ </div>
317
+
318
+ <button
319
+ class="ui-button ui-button--ghost ui-button--toolbar toolbar-overflow-toggle"
320
+ id="toolbarOverflowToggle"
321
+ aria-label="Open more actions"
322
+ aria-expanded="false"
323
+ title="More actions"
324
+ >
325
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true">
326
+ <circle cx="12" cy="12" r="1"></circle>
327
+ <circle cx="19" cy="12" r="1"></circle>
328
+ <circle cx="5" cy="12" r="1"></circle>
329
+ </svg>
330
+ </button>
331
+
332
+ <div class="toolbar-overflow-menu" id="toolbarOverflowMenu">
333
+ <button class="ui-button ui-button--ghost ui-button--toolbar hidden" id="fileHistoryBtn" aria-label="Open file history" title="View file history">
334
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
335
+ <path d="M3 12a9 9 0 1 0 3-6.7"></path>
336
+ <path d="M3 4v5h5"></path>
337
+ <path d="M12 7v5l3 3"></path>
338
+ </svg>
339
+ <span class="ui-toolbar-button-label" id="fileHistoryBtnLabel">History</span>
340
+ </button>
341
+
342
+ <button class="ui-button ui-button--ghost ui-button--toolbar ui-toolbar-button--name" id="editNameBtn" aria-label="Set name. Change display name" title="Change display name">
343
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
344
+ <path d="M12 20h9"></path>
345
+ <path d="M16.5 3.5a2.12 2.12 0 1 1 3 3L7 19l-4 1 1-4Z"></path>
346
+ </svg>
347
+ <span class="ui-toolbar-button-label ui-toolbar-button-text" id="currentUserName">Set name</span>
348
+ </button>
349
+
350
+ <button class="ui-button ui-button--ghost ui-button--toolbar" id="shareBtn" aria-label="Share. Copy link" title="Share link">
351
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
352
+ <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path>
353
+ <path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path>
354
+ </svg>
355
+ <span class="ui-toolbar-button-label">Share</span>
356
+ </button>
357
+
358
+ <button class="ui-button ui-button--ghost ui-button--toolbar toolbar-search-files-btn" id="searchFilesBtn" aria-label="Search files" title="Search files">
359
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true">
360
+ <circle cx="11" cy="11" r="7"></circle>
361
+ <line x1="21" y1="21" x2="16.65" y2="16.65"></line>
362
+ </svg>
363
+ <span class="ui-toolbar-button-label">Search files</span>
364
+ </button>
365
+
366
+ <details class="toolbar-overflow-group hidden" id="exportMenuGroup">
367
+ <summary class="ui-button ui-button--ghost ui-button--toolbar toolbar-overflow-group-toggle" aria-label="Export options" title="Export">
368
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
369
+ <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
370
+ <polyline points="14 2 14 8 20 8"></polyline>
371
+ <path d="M12 18v-6"></path>
372
+ <path d="m9 15 3 3 3-3"></path>
373
+ </svg>
374
+ <span class="ui-toolbar-button-label">Export</span>
375
+ </summary>
376
+ <div class="toolbar-overflow-submenu">
377
+ <button class="ui-button ui-button--ghost ui-button--toolbar" id="exportDocxBtn" aria-label="Export DOCX" title="Export DOCX">
378
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
379
+ <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
380
+ <polyline points="14 2 14 8 20 8"></polyline>
381
+ <path d="M8 13h2l1.2 2 1.6-4 1.2 2H18"></path>
382
+ </svg>
383
+ <span class="ui-toolbar-button-label">Export DOCX</span>
384
+ </button>
385
+ <button class="ui-button ui-button--ghost ui-button--toolbar" id="exportPdfBtn" aria-label="Print or save PDF" title="Print / Save PDF">
386
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
387
+ <path d="M6 9V2h12v7"></path>
388
+ <path d="M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"></path>
389
+ <rect x="6" y="14" width="12" height="8"></rect>
390
+ </svg>
391
+ <span class="ui-toolbar-button-label">Print / Save PDF</span>
392
+ </button>
393
+ </div>
394
+ </details>
395
+
396
+ <button class="ui-button ui-button--ghost ui-button--toolbar toolbar-theme-button" id="themeToggleBtn" data-theme-toggle aria-label="Toggle theme" title="Toggle theme">
397
+ <span class="toolbar-theme-icon" data-theme-toggle-icon aria-hidden="true">
398
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
399
+ <circle cx="12" cy="12" r="5"></circle>
400
+ <path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"></path>
401
+ </svg>
402
+ </span>
403
+ <span class="ui-toolbar-button-label">Theme</span>
404
+ <span class="ui-pill-badge ui-pill-badge--muted toolbar-theme-state" data-theme-toggle-state>Dark</span>
405
+ </button>
406
+ </div>
407
+ </div>
408
+ </header>
409
+
410
+ <div id="emptyState" class="empty-state">
411
+ <div class="empty-state-content">
412
+ <div class="empty-state-logo" aria-hidden="true">
413
+ <svg width="48" height="48" viewBox="0 0 56 56" fill="none" xmlns="http://www.w3.org/2000/svg">
414
+ <rect x="6" y="8" width="28" height="38" rx="4" stroke="var(--color-primary)" stroke-width="2" fill="var(--color-primary)" fill-opacity="0.12"></rect>
415
+ <rect x="22" y="10" width="28" height="38" rx="4" stroke="var(--color-primary)" stroke-width="2" fill="var(--color-primary)" fill-opacity="0.25"></rect>
416
+ <path d="M14 20l4 10 1.5-4 4-1.5L14 20z" fill="var(--color-primary)" opacity="0.7"></path>
417
+ <path d="M38 28l-4-10-1.5 4-4 1.5L38 28z" fill="var(--color-primary)"></path>
418
+ </svg>
419
+ </div>
420
+ <h2 class="empty-state-title">Welcome to CollabMD</h2>
421
+ <p class="empty-state-desc">Open a file from the sidebar, or get started quickly:</p>
422
+ <div class="empty-state-actions">
423
+ <button class="ui-button ui-button--primary empty-state-btn" id="emptyStateNewFileBtn">
424
+ <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
425
+ <line x1="12" y1="5" x2="12" y2="19"></line>
426
+ <line x1="5" y1="12" x2="19" y2="12"></line>
427
+ </svg>
428
+ Create
429
+ </button>
430
+ <button class="ui-button ui-button--secondary empty-state-btn" id="emptyStateSearchBtn">
431
+ <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
432
+ <circle cx="11" cy="11" r="8"></circle>
433
+ <line x1="21" y1="21" x2="16.65" y2="16.65"></line>
434
+ </svg>
435
+ Search Everything
436
+ <kbd class="empty-state-kbd">⌘K</kbd>
437
+ </button>
438
+ </div>
439
+ </div>
440
+ </div>
441
+
442
+ <div id="editor-page" class="editor-page hidden">
443
+ <div class="editor-layout" id="editorLayout" data-view="split">
444
+ <div class="editor-pane" id="editorPane">
445
+ <div class="pane-header">
446
+ <div class="pane-header-meta">
447
+ <span class="pane-label">Editor</span>
448
+ <span class="pane-label-meta" id="lineInfo">Ln 1, Col 1</span>
449
+ </div>
450
+ <div class="pane-header-actions">
451
+ <button class="ui-button ui-button--ghost ui-button--compact ui-button--toggle mobile-editor-find-btn" id="editorFindBtn" aria-label="Find in file" title="Find in file">
452
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true">
453
+ <circle cx="11" cy="11" r="7"></circle>
454
+ <line x1="21" y1="21" x2="16.65" y2="16.65"></line>
455
+ </svg>
456
+ <span class="ui-action-label">Find</span>
457
+ </button>
458
+ <button class="ui-button ui-button--ghost ui-button--compact ui-button--toggle hidden" id="commentSelectionBtn" aria-label="Comment current line or selection" title="Comment current line or selection">
459
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
460
+ <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path>
461
+ </svg>
462
+ <span class="ui-action-label">Comment</span>
463
+ </button>
464
+ <button class="ui-button ui-button--ghost ui-button--compact ui-button--toggle" id="toggleWrapBtn" aria-label="Disable line wrap" title="Disable line wrap">
465
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
466
+ <path d="M3 6h14a4 4 0 1 1 0 8H9"></path>
467
+ <path d="m9 10-4 4 4 4"></path>
468
+ <path d="M3 18h7"></path>
469
+ </svg>
470
+ <span id="wrapToggleLabel">Wrap on</span>
471
+ </button>
472
+ </div>
473
+ </div>
474
+ <div id="markdownToolbar" class="markdown-toolbar hidden" role="toolbar" aria-label="Markdown formatting"></div>
475
+ <div id="editorContainer" class="editor-container">
476
+ <div class="editor-loading" id="editorLoading">
477
+ <div class="skeleton-line skeleton-line--title skeleton-line--break"></div>
478
+ <div class="skeleton-line skeleton-line--full"></div>
479
+ <div class="skeleton-line skeleton-line--ninety"></div>
480
+ <div class="skeleton-line skeleton-line--ninety-five"></div>
481
+ <div class="skeleton-line skeleton-line--eighty skeleton-line--break"></div>
482
+ <div class="skeleton-line skeleton-line--full"></div>
483
+ <div class="skeleton-line skeleton-line--eighty-five"></div>
484
+ </div>
485
+ </div>
486
+ </div>
487
+
488
+ <div class="resizer" id="resizer" role="separator" aria-orientation="vertical" tabindex="0" aria-label="Resize editor and preview" aria-controls="editorPane previewPane" aria-valuemin="20" aria-valuemax="80" aria-valuenow="50"></div>
489
+
490
+ <div class="preview-pane" id="previewPane">
491
+ <div class="pane-header">
492
+ <span class="pane-label">Preview</span>
493
+ <div class="pane-header-actions">
494
+ <div id="backlinksHeaderPanel" class="backlinks-panel backlinks-panel-header hidden" data-backlinks-variant="header">
495
+ <button type="button" class="backlinks-header" aria-expanded="false">
496
+ <svg class="backlinks-chevron" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
497
+ <polyline points="9 18 15 12 9 6"></polyline>
498
+ </svg>
499
+ <span class="backlinks-toggle">0 Linked Mentions</span>
500
+ <span class="backlinks-count"></span>
501
+ </button>
502
+ <div class="backlinks-body" aria-hidden="true" inert>
503
+ <div class="backlinks-list"></div>
504
+ </div>
505
+ </div>
506
+ <button class="ui-button ui-button--ghost ui-button--compact ui-button--toggle hidden" id="commentsToggle" aria-label="Toggle comments" title="Toggle comments">
507
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
508
+ <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path>
509
+ </svg>
510
+ <span class="ui-action-label">Comments</span>
511
+ </button>
512
+ <button class="ui-button ui-button--ghost ui-button--compact ui-button--toggle" id="outlineToggle" aria-label="Toggle outline" aria-controls="outlinePanel" aria-expanded="false" title="Toggle outline">
513
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
514
+ <line x1="3" y1="6" x2="21" y2="6"></line>
515
+ <line x1="3" y1="12" x2="15" y2="12"></line>
516
+ <line x1="3" y1="18" x2="18" y2="18"></line>
517
+ </svg>
518
+ </button>
519
+ </div>
520
+ </div>
521
+ <div class="preview-body">
522
+ <div id="previewContainer" class="preview-container">
523
+ <div id="previewContent" class="preview-content"></div>
524
+ <div id="backlinksInlinePanel" class="backlinks-panel backlinks-panel-inline hidden">
525
+ <button type="button" class="backlinks-header" aria-expanded="false">
526
+ <svg class="backlinks-chevron" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
527
+ <polyline points="9 18 15 12 9 6"></polyline>
528
+ </svg>
529
+ <span class="backlinks-toggle">0 Linked Mentions</span>
530
+ <span class="backlinks-count"></span>
531
+ </button>
532
+ <div class="backlinks-body" aria-hidden="true" inert>
533
+ <div class="backlinks-list"></div>
534
+ </div>
535
+ </div>
536
+ </div>
537
+ <div id="backlinksPanel" class="backlinks-panel-layer hidden">
538
+ <div class="backlinks-panel backlinks-panel-dock" data-backlinks-variant="dock">
539
+ <button type="button" class="backlinks-header" aria-expanded="false">
540
+ <svg class="backlinks-chevron" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
541
+ <polyline points="9 18 15 12 9 6"></polyline>
542
+ </svg>
543
+ <span class="backlinks-toggle">0 Linked Mentions</span>
544
+ <span class="backlinks-count"></span>
545
+ </button>
546
+ <div class="backlinks-body" aria-hidden="true" inert>
547
+ <div class="backlinks-list"></div>
548
+ </div>
549
+ </div>
550
+ </div>
551
+ <aside id="commentsDrawer" class="comments-drawer hidden" aria-label="Comments">
552
+ <div class="comments-drawer-header">
553
+ <span class="comments-drawer-title">Comments</span>
554
+ </div>
555
+ <div id="commentsDrawerEmpty" class="comments-drawer-empty ui-empty-state ui-empty-state--compact">
556
+ <p class="ui-empty-state-title">No comments yet</p>
557
+ <p class="ui-empty-state-copy">Select text in the editor or use a preview bubble to start a thread.</p>
558
+ </div>
559
+ <div id="commentsDrawerList" class="comments-drawer-list"></div>
560
+ </aside>
561
+ <aside id="outlinePanel" class="outline-panel hidden" aria-label="Document outline" aria-hidden="true">
562
+ <div class="outline-header">
563
+ <span class="outline-title">Outline</span>
564
+ <button class="ui-icon-button outline-close-btn" id="outlineClose" type="button" aria-label="Close outline" title="Close outline">
565
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true">
566
+ <line x1="18" y1="6" x2="6" y2="18"></line>
567
+ <line x1="6" y1="6" x2="18" y2="18"></line>
568
+ </svg>
569
+ </button>
570
+ </div>
571
+ <nav id="outlineNav" class="outline-nav"></nav>
572
+ </aside>
573
+ </div>
574
+ </div>
575
+ </div>
576
+ </div>
577
+
578
+ <div id="diff-page" class="diff-page hidden">
579
+ <div class="diff-toolbar">
580
+ <div class="diff-toolbar-left">
581
+ <div class="diff-file-nav">
582
+ <button class="ui-icon-button ui-icon-button--action" id="diffPrevBtn" type="button" disabled aria-label="Previous changed file">
583
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true">
584
+ <polyline points="15 18 9 12 15 6"></polyline>
585
+ </svg>
586
+ </button>
587
+ <span class="diff-file-indicator" id="diffFileIndicator">0 / 0 files</span>
588
+ <button class="ui-icon-button ui-icon-button--action" id="diffNextBtn" type="button" disabled aria-label="Next changed file">
589
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true">
590
+ <polyline points="9 18 15 12 9 6"></polyline>
591
+ </svg>
592
+ </button>
593
+ </div>
594
+ <div class="diff-toolbar-actions">
595
+ <button class="ui-button ui-button--secondary ui-button--action ui-button--wide ui-button--surface hidden diff-back-btn" id="diffBackToHistoryBtn" type="button">
596
+ Back to History
597
+ </button>
598
+ <div class="diff-toolbar-actions-group diff-toolbar-actions-group-git" id="diffGitActionsGroup" role="group" aria-label="Git file actions">
599
+ <button class="ui-button ui-button--secondary ui-button--action ui-button--wide ui-button--surface" id="diffPrimaryActionBtn" type="button" disabled>
600
+ Stage
601
+ </button>
602
+ <button class="ui-button ui-button--primary ui-button--action ui-button--wide" id="diffCommitBtn" type="button" disabled>
603
+ Commit Staged
604
+ </button>
605
+ </div>
606
+ <span class="diff-toolbar-actions-divider" id="diffToolbarDivider" aria-hidden="true"></span>
607
+ <div class="diff-toolbar-actions-group" id="diffEditorActionsGroup" role="group" aria-label="Navigation actions">
608
+ <button class="ui-button ui-button--secondary ui-button--action ui-button--wide ui-button--surface diff-open-editor-btn" id="diffOpenEditorBtn" type="button" disabled>
609
+ Open in Editor
610
+ </button>
611
+ </div>
612
+ </div>
613
+ </div>
614
+ <div class="diff-toolbar-right">
615
+ <div class="diff-stats" id="diffStats">
616
+ <span class="ui-stat-token ui-stat-token--add diff-stats-add">+0</span>
617
+ <span class="ui-stat-token ui-stat-token--del diff-stats-del">-0</span>
618
+ </div>
619
+ <div class="ui-segmented-control hidden diff-layout-toggle" id="diffLayoutToggle" role="group" aria-label="Commit diff layout">
620
+ <button class="ui-segmented-btn view-btn diff-layout-btn" data-diff-layout="stacked" type="button">Stacked</button>
621
+ <button class="ui-segmented-btn active view-btn diff-layout-btn" data-diff-layout="focused" type="button">Focused</button>
622
+ </div>
623
+ <div class="ui-segmented-control diff-mode-toggle" role="group" aria-label="Diff view mode">
624
+ <button class="ui-segmented-btn active view-btn diff-mode-btn" data-diff-mode="unified" type="button">Unified</button>
625
+ <button class="ui-segmented-btn view-btn diff-mode-btn" data-diff-mode="split" type="button">Split</button>
626
+ </div>
627
+ </div>
628
+ </div>
629
+ <div class="diff-scroll" id="diffScroll">
630
+ <div class="diff-content" id="diffContent"></div>
631
+ </div>
632
+ </div>
633
+ </main>
634
+ </div>
635
+
636
+ <dialog class="app-dialog" id="displayNameDialog">
637
+ <form class="app-dialog-form" id="displayNameForm" method="dialog">
638
+ <div class="app-dialog-header">
639
+ <h2 class="app-dialog-title" id="displayNameTitle">Update display name</h2>
640
+ <p class="app-dialog-copy" id="displayNameCopy">Your name will be visible to everyone editing this vault.</p>
641
+ </div>
642
+ <label class="app-dialog-field" for="displayNameInput">
643
+ <span class="app-dialog-label">Name</span>
644
+ <input type="text" class="ui-input" id="displayNameInput" name="displayName" maxlength="24" autocomplete="nickname" spellcheck="false" required>
645
+ </label>
646
+ <div class="app-dialog-actions">
647
+ <button type="button" class="ui-button ui-button--secondary" id="displayNameCancel">Cancel</button>
648
+ <button type="submit" class="ui-button ui-button--primary" id="displayNameSubmit">Save name</button>
649
+ </div>
650
+ </form>
651
+ </dialog>
652
+
653
+ <dialog class="app-dialog" id="fileActionDialog">
654
+ <form class="app-dialog-form" id="fileActionForm" method="dialog">
655
+ <div class="app-dialog-header">
656
+ <h2 class="app-dialog-title" id="fileActionTitle">Create file</h2>
657
+ <p class="app-dialog-copy" id="fileActionCopy">Add a new file to the vault.</p>
658
+ </div>
659
+ <label class="app-dialog-field" id="fileActionField" for="fileActionInput">
660
+ <span class="app-dialog-label" id="fileActionLabel">Path</span>
661
+ <input type="text" class="ui-input" id="fileActionInput" name="fileActionValue" autocomplete="off" spellcheck="false" required>
662
+ <span class="app-dialog-hint" id="fileActionHint" hidden></span>
663
+ </label>
664
+ <p class="app-dialog-note" id="fileActionNote" hidden></p>
665
+ <div class="app-dialog-actions">
666
+ <button type="button" class="ui-button ui-button--secondary" id="fileActionCancel">Cancel</button>
667
+ <button type="submit" class="ui-button ui-button--primary" id="fileActionSubmit">Create</button>
668
+ </div>
669
+ </form>
670
+ </dialog>
671
+
672
+ <dialog class="app-dialog" id="gitCommitDialog">
673
+ <form class="app-dialog-form" id="gitCommitForm" method="dialog">
674
+ <div class="app-dialog-header">
675
+ <h2 class="app-dialog-title" id="gitCommitTitle">Commit staged changes</h2>
676
+ <p class="app-dialog-copy" id="gitCommitCopy">All staged changes will be included.</p>
677
+ </div>
678
+ <label class="app-dialog-field" for="gitCommitInput">
679
+ <span class="app-dialog-label">Commit message</span>
680
+ <input type="text" class="ui-input" id="gitCommitInput" name="gitCommitMessage" autocomplete="off" spellcheck="true" required>
681
+ </label>
682
+ <div class="app-dialog-actions">
683
+ <button type="button" class="ui-button ui-button--secondary" id="gitCommitCancel">Cancel</button>
684
+ <button type="submit" class="ui-button ui-button--primary" id="gitCommitSubmit">Commit staged changes</button>
685
+ </div>
686
+ </form>
687
+ </dialog>
688
+
689
+ <dialog class="app-dialog" id="gitResetDialog">
690
+ <form class="app-dialog-form" method="dialog">
691
+ <div class="app-dialog-header">
692
+ <h2 class="app-dialog-title" id="gitResetTitle">Reset file</h2>
693
+ <p class="app-dialog-copy" id="gitResetCopy">Restore this file from the current checked-out branch. If that branch does not contain the file, it will be deleted locally.</p>
694
+ </div>
695
+ <div class="app-dialog-field">
696
+ <label class="app-dialog-label" for="gitResetFileName">File</label>
697
+ <input class="ui-input app-dialog-input" id="gitResetFileName" type="text" readonly>
698
+ </div>
699
+ <div class="app-dialog-note is-danger">
700
+ Local file content and staged changes for this path will be discarded.
701
+ </div>
702
+ <div class="app-dialog-actions">
703
+ <button class="ui-button ui-button--secondary" id="gitResetCancel" type="button">Cancel</button>
704
+ <button class="ui-button ui-button--danger" id="gitResetSubmit" type="button">Reset File</button>
705
+ </div>
706
+ </form>
707
+ </dialog>
708
+
709
+ <div class="tab-lock-overlay hidden" id="tabLockOverlay" role="dialog" aria-modal="true" aria-labelledby="tabLockTitle">
710
+ <div class="tab-lock-card">
711
+ <span class="tab-lock-kicker">Single active tab</span>
712
+ <h2 class="tab-lock-title" id="tabLockTitle">This vault is active in another tab</h2>
713
+ <p class="tab-lock-copy" id="tabLockCopy">To avoid duplicate presence and chat, only one tab can stay connected at a time. Use the other tab, or take over the session here.</p>
714
+ <div class="tab-lock-actions">
715
+ <button type="button" class="ui-button ui-button--primary ui-button--lg" id="tabLockTakeoverBtn">Take over here</button>
716
+ </div>
717
+ </div>
718
+ </div>
719
+
720
+ <div class="toast-container" id="toastContainer"></div>
721
+
722
+ <div class="qs-overlay" id="quickSwitcher" role="dialog" aria-modal="true" aria-labelledby="quickSwitcherTitle" aria-hidden="true">
723
+ <div class="qs-modal">
724
+ <h2 class="sr-only" id="quickSwitcherTitle">Search files and text</h2>
725
+ <div class="qs-mode-tabs" role="tablist" aria-label="Search mode">
726
+ <button class="qs-mode-tab active" id="quickSwitcherFilesTab" type="button" role="tab" aria-controls="quickSwitcherResults" aria-selected="true" data-qs-mode="files">Files</button>
727
+ <button class="qs-mode-tab" id="quickSwitcherTextTab" type="button" role="tab" aria-controls="quickSwitcherResults" aria-selected="false" data-qs-mode="text">Text</button>
728
+ </div>
729
+ <div class="qs-input-wrap">
730
+ <svg class="qs-search-icon" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
731
+ <circle cx="11" cy="11" r="8"></circle>
732
+ <line x1="21" y1="21" x2="16.65" y2="16.65"></line>
733
+ </svg>
734
+ <input type="text" class="qs-input" id="quickSwitcherInput" placeholder="Search files..." aria-label="Search files" aria-controls="quickSwitcherResults" aria-describedby="quickSwitcherHint quickSwitcherScope" autocomplete="off" spellcheck="false">
735
+ <kbd class="qs-kbd">esc</kbd>
736
+ </div>
737
+ <div class="qs-scope hidden" id="quickSwitcherScope" role="note" aria-hidden="true">Exact, case-insensitive text in Markdown, Base, Mermaid, PlantUML, and Draw.io files. Images and Excalidraw are excluded.</div>
738
+ <div class="qs-results" id="quickSwitcherResults" role="listbox" aria-label="Search results" aria-busy="false" tabindex="-1"></div>
739
+ <div class="qs-hint" id="quickSwitcherHint" role="status" aria-live="polite" aria-atomic="true">Type to search files</div>
740
+ <div class="qs-footer">
741
+ <span><kbd>↑</kbd><kbd>↓</kbd> Navigate</span>
742
+ <span><kbd>↵</kbd> Open</span>
743
+ <span><kbd>Tab</kbd> Switch mode</span>
744
+ </div>
745
+ </div>
746
+ </div>
747
+ <script src="./app-config.js"></script>
27
748
  </body>
28
749
  </html>