collabmd 0.1.49 → 0.1.51

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 (400) hide show
  1. package/README.md +10 -659
  2. package/bin/collabmd.js +36 -20
  3. package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-Crf9Y3Q6.js +1 -0
  4. package/dist/client/assets/{abnfDiagram-VCTEODGH-CdVZqicp.js → abnfDiagram-VCTEODGH-PuinKbSQ.js} +1 -1
  5. package/dist/client/assets/ar-SA-5WIASEJP-Di7OimCN.js +10 -0
  6. package/dist/client/assets/{architectureDiagram-5GKGNRK7-wUo0bXif.js → architectureDiagram-5GKGNRK7-46hPkrZv.js} +1 -1
  7. package/dist/client/assets/az-AZ-V5EUQD6C-C19OGTT_.js +1 -0
  8. package/dist/client/assets/bg-BG-EXASCMTR-BIt0xWyb.js +5 -0
  9. package/dist/client/assets/{blockDiagram-I7D4REHJ-BRSK3m49.js → blockDiagram-I7D4REHJ-C1S5Bzf8.js} +1 -1
  10. package/dist/client/assets/bn-BD-U4SYNFCO-CdNaPy4Q.js +3 -0
  11. package/dist/client/assets/bn-IN-HKDJIITE-CdNaPy4Q.js +3 -0
  12. package/dist/client/assets/{browser-BKLM0ThC-IxjwuOIz-BBqQnUEb.js → browser-BKLM0ThC-IxjwuOIz-DyJcVMFR.js} +1 -1
  13. package/dist/client/assets/{c4Diagram-7LVT6UL2-yD2poxqw.js → c4Diagram-7LVT6UL2-VAk1HPmz.js} +1 -1
  14. package/dist/client/assets/ca-ES-2KGUU5XB-C9t-c0cH.js +8 -0
  15. package/dist/client/assets/channel-jwdhnPiV.js +1 -0
  16. package/dist/client/assets/chunk-2E4U76K2-Ba8Wf22k.js +1 -0
  17. package/dist/client/assets/{chunk-4HAMMTFA-DStbIfJ1.js → chunk-4HAMMTFA-Ht-73lsT.js} +1 -1
  18. package/dist/client/assets/chunk-5XKZK2GL-D4UAZSOJ.js +1 -0
  19. package/dist/client/assets/{chunk-75Z2AOVW-C5pGd3W9.js → chunk-75Z2AOVW-B2cZexqK.js} +1 -1
  20. package/dist/client/assets/{chunk-CLGD4ZFX-BMeArk03.js → chunk-CLGD4ZFX-Cmtx89ht.js} +1 -1
  21. package/dist/client/assets/{chunk-DU6HZSFF-Zkp69c6c.js → chunk-DU6HZSFF-C6d6PJfE.js} +1 -1
  22. package/dist/client/assets/{chunk-F27PBJKO-D4xNct1r.js → chunk-F27PBJKO-Dg3H6KLL.js} +1 -1
  23. package/dist/client/assets/{chunk-GMAD6QVW-NZ6WpDb8.js → chunk-GMAD6QVW-DUfjx_d5.js} +1 -1
  24. package/dist/client/assets/{chunk-GVQU2GXP-D8SDprfX.js → chunk-GVQU2GXP-D1l7oRGR.js} +1 -1
  25. package/dist/client/assets/{chunk-IMKFNOWR-D8jEuU3Q.js → chunk-IMKFNOWR-3F6NhHUP.js} +1 -1
  26. package/dist/client/assets/{chunk-L3NEJ4N5-aijKP-eh.js → chunk-L3NEJ4N5-BmCVn4y-.js} +1 -1
  27. package/dist/client/assets/{chunk-OSK3NFVY-CCbLQAMa.js → chunk-OSK3NFVY-CWHXAmfx.js} +1 -1
  28. package/dist/client/assets/{chunk-P2QGCYS3-Oag_FdCq.js → chunk-P2QGCYS3-Du8EtwOa.js} +1 -1
  29. package/dist/client/assets/{chunk-POPQ4Y6H-CYnpIgXT.js → chunk-POPQ4Y6H-B5yJIrZE.js} +1 -1
  30. package/dist/client/assets/{chunk-PWAF6VOD-JSNrcBmP.js → chunk-PWAF6VOD-B3gML4ps.js} +1 -1
  31. package/dist/client/assets/{chunk-SHT3W25Y-BiQGljao.js → chunk-SHT3W25Y-BKaI8jZO.js} +1 -1
  32. package/dist/client/assets/{chunk-SVP7TREG-DB485R5x.js → chunk-SVP7TREG-XlsB_ZMZ.js} +1 -1
  33. package/dist/client/assets/{chunk-TICWLB2K-8rAVvoS3.js → chunk-TICWLB2K-Cpp2z8yK.js} +1 -1
  34. package/dist/client/assets/chunk-TLUHSLCS-Yl7B0Vrz.js +1 -0
  35. package/dist/client/assets/chunk-ZNVOA63L-BmCQjhx-.js +40 -0
  36. package/dist/client/assets/{chunk-FLYJHZSQ-Be7lKF17.js → chunk-ZPMXAHWN-Dt0TxJa6.js} +2 -2
  37. package/dist/client/assets/classDiagram-ZZMXUADV-BRw9vo8U.js +1 -0
  38. package/dist/client/assets/classDiagram-v2-VYDZK3BY-BRw9vo8U.js +1 -0
  39. package/dist/client/assets/comment-markdown-renderer-B9_vPc3F.js +1 -0
  40. package/dist/client/assets/comment-thread-store-NNHqRVsX.js +1 -0
  41. package/dist/client/assets/comment-threads-nJhK1yfc.js +4 -0
  42. package/dist/client/assets/cs-CZ-VUCGPRML-BfCoYAgj.js +7 -0
  43. package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-rTz9RhFH.js → cynefinDiagram-5FMLGOSQ-BRoCEoZM.js} +1 -1
  44. package/dist/client/assets/da-DK-NNDP2IVP-DBw9ZNTR.js +2 -0
  45. package/dist/client/assets/{dagre-GXQ25YYZ-Cr67wLpQ.js → dagre-GXQ25YYZ-BSfKCfy7.js} +1 -1
  46. package/dist/client/assets/de-CH-I7RAVIZN-DYW18Vsr.js +11 -0
  47. package/dist/client/assets/de-DE-WBQ3DQLR-DYW18Vsr.js +11 -0
  48. package/dist/client/assets/deferred-collab-rBe4nuQ2.css +1 -0
  49. package/dist/client/assets/deferred-git-BHKtkFYi.css +1 -0
  50. package/dist/client/assets/deferred-preview-pe7Iwwx3.css +1 -0
  51. package/dist/client/assets/{diagram-S7CK7UJ4-DywERe__.js → diagram-S7CK7UJ4-D7KaM9yj.js} +1 -1
  52. package/dist/client/assets/{diagram-UQ7AKVKN-CNYlXtu4.js → diagram-UQ7AKVKN-JevUZuYi.js} +1 -1
  53. package/dist/client/assets/{diagram-VSXAHHWV-0H1a61Bn.js → diagram-VSXAHHWV-B3-U-Q2E.js} +1 -1
  54. package/dist/client/assets/{diagram-VX7I27RA-CsJbsx5F.js → diagram-VX7I27RA-pSD4HMh1.js} +1 -1
  55. package/dist/client/assets/{diagram-Z3DM3KII-D0mLxEgI.js → diagram-Z3DM3KII-D8r1_CIb.js} +1 -1
  56. package/dist/client/assets/{direct-engine-DdrQKpgq-CtKfQzCt.js → direct-engine-DdrQKpgq-B5zIoeQw.js} +1 -1
  57. package/dist/client/assets/dist-B3HdUPsK.js +1 -0
  58. package/dist/client/assets/{dist-Tw-Fxpeb.js → dist-B7XMN9AT.js} +1 -1
  59. package/dist/client/assets/dist-BIRygGYH.js +1 -0
  60. package/dist/client/assets/dist-BPyOlNLY.js +2 -0
  61. package/dist/client/assets/{dist-D5wCC32z.js → dist-BR81yxMt.js} +1 -1
  62. package/dist/client/assets/{dist-TW8iFRyW.js → dist-B_B4XLmq.js} +1 -1
  63. package/dist/client/assets/dist-Bdy9ZRzd.js +9 -0
  64. package/dist/client/assets/{dist-netZOQtD.js → dist-Bfxzlnrf.js} +1 -1
  65. package/dist/client/assets/{dist-DzNmC81X.js → dist-Bx3QkS-3.js} +1 -1
  66. package/dist/client/assets/{dist-mj2Ht75J.js → dist-By7ieqAf.js} +1 -1
  67. package/dist/client/assets/dist-ByhQbe-x.js +1 -0
  68. package/dist/client/assets/{dist-CdmKGRGr.js → dist-BzFSJM0U.js} +1 -1
  69. package/dist/client/assets/dist-C5NkYKAa.js +1 -0
  70. package/dist/client/assets/{dist-D3fehAZ2.js → dist-CELhfKzh.js} +1 -1
  71. package/dist/client/assets/dist-CEirJSxk.js +1 -0
  72. package/dist/client/assets/dist-CO0-4CuV.js +39 -0
  73. package/dist/client/assets/dist-CRnJ0D9h.js +1 -0
  74. package/dist/client/assets/{dist-GvvCNBe4.js → dist-CbDyXgCo.js} +1 -1
  75. package/dist/client/assets/{dist-BeajGMhO.js → dist-CqXVyYoH.js} +1 -1
  76. package/dist/client/assets/{dist-LQ4kDCKz.js → dist-CrWzIWEE.js} +1 -1
  77. package/dist/client/assets/dist-CyNrloSI.js +1 -0
  78. package/dist/client/assets/dist-D60_kdpQ.js +1 -0
  79. package/dist/client/assets/{dist-DuH3ZrHo.js → dist-DCpIH3-_.js} +1 -1
  80. package/dist/client/assets/{dist-BPHLJ09L.js → dist-DJAMplZI.js} +2 -2
  81. package/dist/client/assets/{dist-DGEbEfw4.js → dist-DVXzbeDx.js} +1 -1
  82. package/dist/client/assets/{dist-C5NgpdG5.js → dist-Drv_wZYC.js} +1 -1
  83. package/dist/client/assets/{dist-DVy5woUy.js → dist-EWJYvBK1.js} +1 -1
  84. package/dist/client/assets/dist-Hdhj3L3t.js +1 -0
  85. package/dist/client/assets/{dist-DpYDHR9p.js → dist-gRRhmB-2.js} +3 -3
  86. package/dist/client/assets/dist-kWb2d1CH.js +1 -0
  87. package/dist/client/assets/dist-kiD2GIsD.js +13 -0
  88. package/dist/client/assets/{dist-JaU3aRlD.js → dist-l-56SowH.js} +1 -1
  89. package/dist/client/assets/{dist-BK9QvQrc.js → dist-nxQErAaK.js} +2 -2
  90. package/dist/client/assets/dist-sLzRQQk7.js +1 -0
  91. package/dist/client/assets/document-formatter-Qdiq9uJs.js +1 -0
  92. package/dist/client/assets/drawioEditor-CHf1vtdQ.js +9 -0
  93. package/dist/client/assets/{ebnfDiagram-PWID7BFC-HeTxHpCU.js → ebnfDiagram-PWID7BFC-UJ0Fz5ci.js} +1 -1
  94. package/dist/client/assets/editor-session-4Bn81iWm.js +14 -0
  95. package/dist/client/assets/el-GR-TYQHVGXW-Dx82YYAS.js +7 -0
  96. package/dist/client/assets/embedded-editor-base-jK221GC8.css +1 -0
  97. package/dist/client/assets/{embedpdf-DA4bA119-BPqZxwjc.js → embedpdf-DA4bA119-E8wZ11J2.js} +2 -3
  98. package/dist/client/assets/{embedpdf-BmE13ZZ0.js → embedpdf-LUXDBD3-.js} +1 -1
  99. package/dist/client/assets/{en-SJ2YIMFF-CJBL3nkq.js → en-2RFA324Y-BsuNJTcL.js} +1 -1
  100. package/dist/client/assets/{erDiagram-RLTQ6QDP-CbrDdd5P.js → erDiagram-RLTQ6QDP-CWrH1UJ9.js} +1 -1
  101. package/dist/client/assets/es-ES-JEUOREKJ-Rx0NUQDl.js +12 -0
  102. package/dist/client/assets/eu-ES-SO5DEEAN-CDYm-BcK.js +8 -0
  103. package/dist/client/assets/excalidraw-element-link-iA6zo0_f.js +7 -0
  104. package/dist/client/assets/{excalidrawEditor-BbSbI80a.css → excalidrawEditor-DDE0n1Pk.css} +1 -1
  105. package/dist/client/assets/excalidrawEditor-WIuguTz7.js +9 -0
  106. package/dist/client/assets/export-page-AN-wI5p4.js +56 -0
  107. package/dist/client/assets/exportDocument-B7IagJhQ.css +1 -0
  108. package/dist/client/assets/exportDocument-B9xNKpQe.js +2 -0
  109. package/dist/client/assets/fa-IR-FIYUE2GQ-C865Nx3X.js +9 -0
  110. package/dist/client/assets/fi-FI-REAEF6HQ-BIpjJqIb.js +6 -0
  111. package/dist/client/assets/flowDiagram-HODETNUW-kb1lUSBo.js +1 -0
  112. package/dist/client/assets/fr-FR-SUCL7J6B-DGAKE8jH.js +12 -0
  113. package/dist/client/assets/{ganttDiagram-EL5Y4UJY-BHgOYiZz.js → ganttDiagram-EL5Y4UJY-BBNzDfaV.js} +1 -1
  114. package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-Dl__X3Sk.js → gitGraphDiagram-WWUBYQGX-Csf0Dm_1.js} +1 -1
  115. package/dist/client/assets/gl-ES-KHCSOGVH-DWKh0CMu.js +6 -0
  116. package/dist/client/assets/he-IL-JYXVXV2Q-zqbcM-4g.js +9 -0
  117. package/dist/client/assets/hi-IN-BU52H3BO-CY8v6eG9.js +3 -0
  118. package/dist/client/assets/highlight-theme-CzNkO-IJ.js +1 -0
  119. package/dist/client/assets/hu-HU-OWADXDQ3-CEl6Udfh.js +3 -0
  120. package/dist/client/assets/id-ID-EOMR5R3I-CGQwUjoL.js +8 -0
  121. package/dist/client/assets/image-2QKV3NAF-BUbX0y5Y.js +1 -0
  122. package/dist/client/assets/index-BAmZnTFV.css +1 -0
  123. package/dist/client/assets/index-mWiw418b.js +1111 -0
  124. package/dist/client/assets/{infoDiagram-27XIBGKW-DBpoANC9.js → infoDiagram-27XIBGKW-Bzy6kCbb.js} +1 -1
  125. package/dist/client/assets/{ishikawaDiagram-5VMMS53U-BMPC6hfp.js → ishikawaDiagram-5VMMS53U-CRy9vIS5.js} +1 -1
  126. package/dist/client/assets/it-IT-FC2VTM3L-KTijNcUe.js +12 -0
  127. package/dist/client/assets/ja-JP-JBNTKYP4-BflWlGhw.js +12 -0
  128. package/dist/client/assets/{journeyDiagram-3NMN7TZE-B1sApUmM.js → journeyDiagram-3NMN7TZE-D4ZR_s9J.js} +1 -1
  129. package/dist/client/assets/kaa-TC3VIB7V-B-xtZfy0.js +1 -0
  130. package/dist/client/assets/kab-KAB-UOUDSQKM-BmO0O4Y4.js +4 -0
  131. package/dist/client/assets/{kanban-definition-UXKFOSKX-C9yP4td1.js → kanban-definition-UXKFOSKX-CIDTmu5g.js} +1 -1
  132. package/dist/client/assets/kk-KZ-P5H2X7YS-CSQFB8IN.js +1 -0
  133. package/dist/client/assets/{km-KH-PCWDKPHP-DSmy5shj.js → km-KH-IHMV2US7-BxrjuEzr.js} +4 -4
  134. package/dist/client/assets/ko-KR-ZTMANIDF-BnNRXd5J.js +5 -0
  135. package/dist/client/assets/ku-TR-GPJTRB5G-BZM7f2aT.js +6 -0
  136. package/dist/client/assets/{line-BFl3ujec.js → line-DSWLHgpx.js} +1 -1
  137. package/dist/client/assets/lobby-presence-Rdjnc0_0.js +1 -0
  138. package/dist/client/assets/lt-LT-V3XDOK3P-MVQBOHmF.js +3 -0
  139. package/dist/client/assets/lv-LV-DVQ3FADO-CrenwAhS.js +4 -0
  140. package/dist/client/assets/markdown-it-CocJWnjv.js +13 -0
  141. package/dist/client/assets/mermaid-parser.core-DrdLA3p0.js +3 -0
  142. package/dist/client/assets/mermaid.core-C_FK-7n4.js +1 -0
  143. package/dist/client/assets/{mermaid.core-BrY09czX.js → mermaid.core-D0cMM4Rl.js} +2 -3
  144. package/dist/client/assets/{mindmap-definition-YA3MSWOX-BUQHcYbK.js → mindmap-definition-YA3MSWOX-DO8NB9VH.js} +1 -1
  145. package/dist/client/assets/mr-IN-VZ6HH5FE-B-PHPglH.js +9 -0
  146. package/dist/client/assets/my-MM-XYKWHRK6-Be5sYp5q.js +1 -0
  147. package/dist/client/assets/nb-NO-UNO2GGZJ-BvSKGdja.js +8 -0
  148. package/dist/client/assets/nl-NL-76EFHT4P-C2yNx1Cj.js +13 -0
  149. package/dist/client/assets/nn-NO-CFKD7ABE-4NsqlDRP.js +4 -0
  150. package/dist/client/assets/oc-FR-YBJTCJ3J-B4OTQsWW.js +4 -0
  151. package/dist/client/assets/pa-IN-SNOXSMRV-CKj_sOG7.js +4 -0
  152. package/dist/client/assets/{pegDiagram-XKGWAZYB-Bi2Iml7Z.js → pegDiagram-XKGWAZYB-DS6Ab21R.js} +1 -1
  153. package/dist/client/assets/percentages-Q7USCRWZ-DWE6uvTs.js +1 -0
  154. package/dist/client/assets/{pieDiagram-E7YTZNPT-_gYXnMoi.js → pieDiagram-E7YTZNPT-BbFe6Tgs.js} +1 -1
  155. package/dist/client/assets/pl-PL-BSY6YFZ3-CFuzA6L0.js +12 -0
  156. package/dist/client/assets/preload-helper-CtT0-S4g.js +1 -0
  157. package/dist/client/assets/preview-render-compiler-C_7J7eia.js +43 -0
  158. package/dist/client/assets/preview-render-compiler-DzJ1KR_M.js +1 -0
  159. package/dist/client/assets/preview-render-worker-1DoIDllV.js +59 -0
  160. package/dist/client/assets/prod-D5TxmmoB.js +1 -0
  161. package/dist/client/assets/prod-pbFU4TaM.js +145 -0
  162. package/dist/client/assets/pt-BR-CZDV62R3-CkPMtyNx.js +10 -0
  163. package/dist/client/assets/pt-PT-JO57XJJW-CBSnfGtF.js +12 -0
  164. package/dist/client/assets/{quadrantDiagram-AXDQQJYC-DwexhEhd.js → quadrantDiagram-AXDQQJYC-fJE7iAxt.js} +1 -1
  165. package/dist/client/assets/quick-switcher-De4PjZFC.css +1 -0
  166. package/dist/client/assets/quick-switcher-controller-CUajuy78.js +1 -0
  167. package/dist/client/assets/{railroadDiagram-O6MQD6OU-BVA5UbMu.js → railroadDiagram-O6MQD6OU-CUQKqbCK.js} +1 -1
  168. package/dist/client/assets/{requirementDiagram-BXWQKSXE-C4cKwiIw.js → requirementDiagram-BXWQKSXE-Balm0WW8.js} +1 -1
  169. package/dist/client/assets/ro-RO-UZ5ICYYN-BOuntc_r.js +12 -0
  170. package/dist/client/assets/room-DX7lIfnu.js +1 -0
  171. package/dist/client/assets/ru-RU-AN7JPREC-D-ow3SNR.js +10 -0
  172. package/dist/client/assets/runtime-config-BFVdhnJu.js +1 -0
  173. package/dist/client/assets/runtime-paths-Cn0snt_9.js +1 -0
  174. package/dist/client/assets/{sankeyDiagram-P5KCCOFB-B5HHkRT2.js → sankeyDiagram-P5KCCOFB-CcbMqrlQ.js} +1 -1
  175. package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-BX6jqJFD.js → sequenceDiagram-WJ2MYXX4-BL1j3Sn-.js} +1 -1
  176. package/dist/client/assets/si-LK-7CBLD6QQ-c91EepX0.js +1 -0
  177. package/dist/client/assets/sk-SK-SWR6DKBI-D5vFMIL6.js +7 -0
  178. package/dist/client/assets/sl-SI-JRML4FIH-D53L_0S2.js +6 -0
  179. package/dist/client/assets/{stateDiagram-D77RDMKH-CmqxyRGx.js → stateDiagram-D77RDMKH-DNi924hh.js} +1 -1
  180. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-C62JEwak.js +1 -0
  181. package/dist/client/assets/sv-SE-4ZPKFFXF-DT-G7RCI.js +12 -0
  182. package/dist/client/assets/{swimlanes-42K2YHIH-Bmgb9Zld.js → swimlanes-42K2YHIH-ColgjSH4.js} +1 -1
  183. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-B9UZhEj4.js +8 -0
  184. package/dist/client/assets/ta-IN-V6NHHU6Z-D5jy7_AE.js +6 -0
  185. package/dist/client/assets/th-TH-P7CTMGDK-6sy0NO7K.js +1 -0
  186. package/dist/client/assets/{timeline-definition-24CTP7MA-BA-lVH6P.js → timeline-definition-24CTP7MA-7pch5JAr.js} +1 -1
  187. package/dist/client/assets/tr-TR-GUFYG22B-ClVaf8h1.js +4 -0
  188. package/dist/client/assets/uk-UA-K6SV5NFQ-BLTTtyNB.js +6 -0
  189. package/dist/client/assets/uz-UZ-TVKTZO2G-Bm02Eg3D.js +1 -0
  190. package/dist/client/assets/vault-api-client-QjZ_T03l.js +7 -0
  191. package/dist/client/assets/vault-utils-Bct69Xw2.js +1 -0
  192. package/dist/client/assets/{vennDiagram-4TSXK5OY-DNdUC_Xj.js → vennDiagram-4TSXK5OY-C5taziCX.js} +1 -1
  193. package/dist/client/assets/vi-VN-7FKFXJNO-CL3WPhmG.js +7 -0
  194. package/dist/client/assets/{wardleyDiagram-VM6X3IG4-C2oY-YbF.js → wardleyDiagram-VM6X3IG4-BbSlUwuM.js} +1 -1
  195. package/dist/client/assets/{wiki-link-resolver-DFIwErjc.js → wiki-link-resolver-C2P_WmTV.js} +1 -1
  196. package/dist/client/assets/{worker-engine-m0rlHn8R-S8mpn_O0.js → worker-engine-m0rlHn8R-eSDcDGEI.js} +1 -1
  197. package/dist/client/assets/workspace-change-CVA9dVmy.js +1 -0
  198. package/dist/client/assets/workspace-sync-client-D4nblH_2.js +1 -0
  199. package/dist/client/assets/{xychartDiagram-S5SC5T6Z-CoIR8CBX.js → xychartDiagram-S5SC5T6Z-D06X1arY.js} +1 -1
  200. package/dist/client/assets/yjs-B41tM6Sz.js +4 -0
  201. package/dist/client/assets/yjs-provider-reset-guard-R43MnLNc.js +1 -0
  202. package/dist/client/assets/zh-CN-AOKVLNNK-DGidDH2b.js +11 -0
  203. package/dist/client/assets/zh-HK-CDKPF5DC-CRcNR3rk.js +1 -0
  204. package/dist/client/assets/zh-TW-ZVGYESGW-C7Qji1y6.js +13 -0
  205. package/dist/client/drawio-editor.html +7 -8
  206. package/dist/client/excalidraw-editor.html +31 -33
  207. package/dist/client/export-document.html +5 -7
  208. package/dist/client/index.html +30 -26
  209. package/package.json +14 -20
  210. package/src/client/app/drawio-editor.html +1 -1
  211. package/src/client/app/excalidraw-editor.html +1 -1
  212. package/src/client/app/export-document.html +1 -1
  213. package/src/client/app/index.html +28 -4
  214. package/src/client/app/main-entry.js +1 -19
  215. package/src/client/application/app-shell/comments-feature.js +6 -0
  216. package/src/client/application/app-shell/ui-feature-shell.js +136 -58
  217. package/src/client/application/app-shell/ui-feature-tab-activity.js +8 -3
  218. package/src/client/application/app-shell-elements.js +5 -0
  219. package/src/client/application/highlight-theme.js +16 -0
  220. package/src/client/application/preview-render-compiler.js +43 -20
  221. package/src/client/application/preview-render-executor.js +0 -26
  222. package/src/client/application/preview-renderer.js +24 -7
  223. package/src/client/application/workspace-coordinator.js +20 -21
  224. package/src/client/bootstrap/collabmd-app-shell.js +71 -35
  225. package/src/client/bootstrap/lazy-collab-clients.js +90 -0
  226. package/src/client/domain/excalidraw-scene-reconcile.js +5 -2
  227. package/src/client/domain/hash-routes.js +5 -0
  228. package/src/client/domain/highlight-runtime.js +47 -0
  229. package/src/client/domain/lobby-chat.js +2 -0
  230. package/src/client/domain/runtime-paths.js +56 -7
  231. package/src/client/domain/vault-utils.js +11 -0
  232. package/src/client/excalidraw-editor.js +20 -4
  233. package/src/client/infrastructure/auth-client.js +1 -2
  234. package/src/client/infrastructure/browser-preferences-port.js +16 -0
  235. package/src/client/infrastructure/editor-view-adapter.js +43 -8
  236. package/src/client/infrastructure/excalidraw-room-client.js +9 -1
  237. package/src/client/infrastructure/hosted-api-client.js +60 -0
  238. package/src/client/infrastructure/lobby-presence.js +2 -2
  239. package/src/client/infrastructure/runtime-config.js +3 -1
  240. package/src/client/infrastructure/webmcp-tool-registry.js +16 -2
  241. package/src/client/presentation/comment-markdown-renderer.js +2 -14
  242. package/src/client/presentation/comment-overview-controller.js +1 -2
  243. package/src/client/presentation/comment-ui/comment-ui-shared.js +5 -2
  244. package/src/client/presentation/file-explorer-controller.js +3 -0
  245. package/src/client/presentation/file-explorer-view.js +272 -174
  246. package/src/client/presentation/git-panel-controller.js +1 -1
  247. package/src/client/presentation/hosted-workspace-gate-controller.js +180 -0
  248. package/src/client/presentation/layout-controller.js +10 -1
  249. package/src/client/presentation/team-settings-controller.js +228 -0
  250. package/src/client/styles/deferred-collab.css +5 -0
  251. package/src/client/styles/deferred-git.css +7 -0
  252. package/src/client/styles/deferred-preview.css +6 -0
  253. package/src/client/styles/features/diagram-preview.css +0 -15
  254. package/src/client/styles/features/outline.css +4 -2
  255. package/src/client/styles/features/preview-markdown.css +25 -11
  256. package/src/client/styles/features/team-settings.css +162 -0
  257. package/src/client/styles/foundation/tokens.css +2 -2
  258. package/src/client/styles/layout/editor-page.css +0 -13
  259. package/src/client/styles/layout/overlays.css +16 -0
  260. package/src/client/styles/layout/responsive.css +5 -5
  261. package/src/client/styles/layout/shell.css +20 -1
  262. package/src/client/styles/layout/sidebar.css +92 -3
  263. package/src/client/styles/style.css +3 -19
  264. package/src/domain/agent-tool-definitions.js +139 -63
  265. package/src/domain/collabmd-content-capabilities.js +4 -4
  266. package/src/domain/excalidraw-agent-scene.js +108 -6
  267. package/src/domain/excalidraw-agent-verification.js +95 -1
  268. package/src/domain/excalidraw-room-codec.js +12 -1
  269. package/src/domain/literal-text-search.js +13 -0
  270. package/src/server/application/agent-content-service.js +142 -74
  271. package/src/server/config/env.js +96 -5
  272. package/src/server/create-app-server.js +23 -153
  273. package/src/server/domain/hosted-workspace.js +10 -1
  274. package/src/server/domain/ripgrep-search-service.js +68 -21
  275. package/src/server/infrastructure/git/local-exclude.js +13 -1
  276. package/src/server/infrastructure/http/create-agent-api-handler.js +1 -1
  277. package/src/server/infrastructure/http/create-hosted-api-handler.js +5 -0
  278. package/src/server/infrastructure/http/create-request-handler.js +95 -26
  279. package/src/server/infrastructure/http/create-static-handler.js +3 -0
  280. package/src/server/infrastructure/http/create-vault-api-query-handler.js +15 -2
  281. package/src/server/infrastructure/mcp/create-agent-mcp-handler.js +2 -1
  282. package/src/server/infrastructure/persistence/sidecar-store.js +12 -5
  283. package/src/server/infrastructure/persistence/vault-file-store.js +2 -3
  284. package/src/server/infrastructure/websocket/attach-collaboration-gateway.js +48 -22
  285. package/src/server/shared/agent-tool-rate-limiter.js +7 -0
  286. package/src/server/startup/git-remote-bootstrap.js +56 -49
  287. package/src/server/vault-registry.js +251 -0
  288. package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-C-nmgL5g.js +0 -1
  289. package/dist/client/assets/ar-SA-PQUY64WN-xjXgbW6d.js +0 -10
  290. package/dist/client/assets/az-AZ-OXJXL76K-4JkO4Pca.js +0 -1
  291. package/dist/client/assets/base-CaIEJUF9.css +0 -1
  292. package/dist/client/assets/bg-BG-W2GKIJDF-DnkH_o81.js +0 -5
  293. package/dist/client/assets/bn-BD-TGL7M4PJ-CG4JkmtP.js +0 -3
  294. package/dist/client/assets/bn-IN-BKETKYEH-CG4JkmtP.js +0 -3
  295. package/dist/client/assets/ca-ES-LD5SCRVV-U6_TVMX9.js +0 -8
  296. package/dist/client/assets/channel-Fa4GS_-F.js +0 -1
  297. package/dist/client/assets/chunk-2E4U76K2-BPnTT-J3.js +0 -2
  298. package/dist/client/assets/chunk-7XWMRXBY-CfMzEq80.js +0 -1
  299. package/dist/client/assets/chunk-RM4UPSZO-DOWllDY8.js +0 -41
  300. package/dist/client/assets/chunk-TLUHSLCS-DTY5v0aj.js +0 -2
  301. package/dist/client/assets/classDiagram-ZZMXUADV-BsQWoR3Q.js +0 -1
  302. package/dist/client/assets/classDiagram-v2-VYDZK3BY-BsQWoR3Q.js +0 -1
  303. package/dist/client/assets/comment-thread-store-CX98zR6q.js +0 -1
  304. package/dist/client/assets/comment-threads-BnRwo5B9.js +0 -4
  305. package/dist/client/assets/cs-CZ-OFPU5DBV-BmFAIhqX.js +0 -7
  306. package/dist/client/assets/da-DK-FRDJFYWF-H387Jw8B.js +0 -2
  307. package/dist/client/assets/de-CH-ZG7H3QK3-C_groygo.js +0 -11
  308. package/dist/client/assets/de-DE-SIJYH4IH-C_groygo.js +0 -11
  309. package/dist/client/assets/dist--hk9I5HQ.js +0 -1
  310. package/dist/client/assets/dist-B1XEa-Zs.js +0 -1
  311. package/dist/client/assets/dist-BJ1bJs33.js +0 -1
  312. package/dist/client/assets/dist-Bd1JucQF.js +0 -1
  313. package/dist/client/assets/dist-ByrG2qBA.js +0 -1
  314. package/dist/client/assets/dist-C0G3AaXG.js +0 -1
  315. package/dist/client/assets/dist-CKS_-are.js +0 -1
  316. package/dist/client/assets/dist-D37Hyu3h.js +0 -9
  317. package/dist/client/assets/dist-Dl_tpDSr.js +0 -1
  318. package/dist/client/assets/dist-Dm4w5UId.js +0 -1
  319. package/dist/client/assets/dist-RKBTaQMb.js +0 -13
  320. package/dist/client/assets/dist-eBx8q6Sy.js +0 -1
  321. package/dist/client/assets/dist-jVU5Be5P.js +0 -1
  322. package/dist/client/assets/document-formatter-rDDjRfZ2.js +0 -2
  323. package/dist/client/assets/drawioEditor-JubEEha7.js +0 -9
  324. package/dist/client/assets/editor-session-Bk6oIvSr.js +0 -54
  325. package/dist/client/assets/el-GR-IEE2CGI2-BkT6YT54.js +0 -7
  326. package/dist/client/assets/embedded-editor-base-BlCgz6mw.css +0 -1
  327. package/dist/client/assets/es-Bfdp096f.js +0 -22
  328. package/dist/client/assets/es-ES-TVVPWKV5-CpPKJXTM.js +0 -12
  329. package/dist/client/assets/eu-ES-CGBMFQDT-Bu3N2493.js +0 -8
  330. package/dist/client/assets/excalidraw-element-link-YLIaTnVF.js +0 -7
  331. package/dist/client/assets/excalidrawEditor-dBMbRX_S.js +0 -9
  332. package/dist/client/assets/export-page-CRRQ2NEl.js +0 -57
  333. package/dist/client/assets/exportDocument-BlQRd9_m.js +0 -2
  334. package/dist/client/assets/exportDocument-CNSbjZwu.css +0 -1
  335. package/dist/client/assets/fa-IR-IE6XAPR4-BEvLCORD.js +0 -9
  336. package/dist/client/assets/fi-FI-P7TKNHRM-DI0q8iSX.js +0 -6
  337. package/dist/client/assets/file-icon-svg-Y_kpF957.js +0 -1
  338. package/dist/client/assets/flowDiagram-HODETNUW-D5Gy0wmg.js +0 -1
  339. package/dist/client/assets/fr-FR-QI2XZNT7-y8kXd8LA.js +0 -12
  340. package/dist/client/assets/gl-ES-TLYCNOZZ-Br-Fhff-.js +0 -6
  341. package/dist/client/assets/he-IL-ZX43XLGP-qKQq6V9X.js +0 -9
  342. package/dist/client/assets/hi-IN-UTYRMTUF-DOUcwrDO.js +0 -3
  343. package/dist/client/assets/hu-HU-AJOSEBW6-FqTyvHlD.js +0 -3
  344. package/dist/client/assets/id-ID-ETLTVG6C-CQqh3CLS.js +0 -8
  345. package/dist/client/assets/image-ZVKINSPA-DgzW5zAy.js +0 -1
  346. package/dist/client/assets/index-D3RER1SZ.js +0 -1023
  347. package/dist/client/assets/index-DREVKl_K.css +0 -1
  348. package/dist/client/assets/it-IT-B4B6TP6L-V-yK3SZz.js +0 -12
  349. package/dist/client/assets/ja-JP-IYKVURR5-BQKBXRpX.js +0 -12
  350. package/dist/client/assets/kaa-SE2BUIKX-CZ5kfwPg.js +0 -1
  351. package/dist/client/assets/kab-KAB-Y3GLKXLR-Do7GWfuN.js +0 -4
  352. package/dist/client/assets/kk-KZ-ABWUFVOH-BpqVciQz.js +0 -1
  353. package/dist/client/assets/ko-KR-7JQDXKGM-N42lep78.js +0 -5
  354. package/dist/client/assets/ku-TR-NAH2Q5B7-K8LLl9fk.js +0 -6
  355. package/dist/client/assets/lt-LT-VQFYRSNQ-BmOd0ALn.js +0 -3
  356. package/dist/client/assets/lv-LV-T62VSYUM-B22WdPhp.js +0 -4
  357. package/dist/client/assets/mermaid-parser.core-Bl0efOMt.js +0 -4
  358. package/dist/client/assets/mermaid.core-DfcNfOTv.js +0 -1
  359. package/dist/client/assets/modulepreload-polyfill-P2Xu9kJm.js +0 -1
  360. package/dist/client/assets/mr-IN-V4FHLCJE-XX069tpm.js +0 -9
  361. package/dist/client/assets/my-MM-E3SQ6E54-cst_-5SB.js +0 -1
  362. package/dist/client/assets/nb-NO-MLNOFN5H-Bu2URWko.js +0 -8
  363. package/dist/client/assets/nl-NL-D5L3ZV4M-BqrV0btt.js +0 -13
  364. package/dist/client/assets/nn-NO-NNHDGPKB-DK-xZaWM.js +0 -4
  365. package/dist/client/assets/oc-FR-DWCRF55G-BZ5Po5R6.js +0 -4
  366. package/dist/client/assets/pa-IN-3JSAY44M-BZQSjKrS.js +0 -4
  367. package/dist/client/assets/percentages-ETZPVQEE-DFxFqXgH.js +0 -1
  368. package/dist/client/assets/pl-PL-ACURYKP3-qcEOSfCk.js +0 -12
  369. package/dist/client/assets/preload-helper-HclGiUj8.js +0 -1
  370. package/dist/client/assets/preview-render-compiler-CfxJYldJ.js +0 -41
  371. package/dist/client/assets/preview-render-compiler-Cu8_i9iS.js +0 -1
  372. package/dist/client/assets/preview-render-worker-c4Yi93qW.js +0 -66
  373. package/dist/client/assets/prod-BiJL30sl.js +0 -1
  374. package/dist/client/assets/prod-qAk7rHa4.js +0 -177
  375. package/dist/client/assets/pt-BR-LOX7MLGD-DLueHSyZ.js +0 -10
  376. package/dist/client/assets/pt-PT-CZ2U2RFQ-BJ-GAEm6.js +0 -12
  377. package/dist/client/assets/quick-switcher-controller-BoIK_wuG.js +0 -1
  378. package/dist/client/assets/ro-RO-2HECL2X6-CJUvKAf0.js +0 -12
  379. package/dist/client/assets/ru-RU-HAYNXO46-BWSlvTrt.js +0 -10
  380. package/dist/client/assets/runtime-config-DcmnGcXU.js +0 -1
  381. package/dist/client/assets/si-LK-W5KNS4H6-DGGCsn7k.js +0 -1
  382. package/dist/client/assets/sk-SK-7K2CFGDV-CY4uTYgQ.js +0 -7
  383. package/dist/client/assets/sl-SI-OXV2QZWW-2-weqaBY.js +0 -6
  384. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-zoLLQVyh.js +0 -1
  385. package/dist/client/assets/sv-SE-JTOBZRGL-9-IUtVkO.js +0 -12
  386. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DS-KQN37.js +0 -8
  387. package/dist/client/assets/ta-IN-KFAVKXGT-gHO6Q_DH.js +0 -6
  388. package/dist/client/assets/th-TH-VDMSCPDL-BvJuw6PJ.js +0 -1
  389. package/dist/client/assets/tr-TR-CEZ6GX45-CG6UU3Su.js +0 -4
  390. package/dist/client/assets/uk-UA-Q3H3OXQC-CSuIg_DY.js +0 -6
  391. package/dist/client/assets/uz-UZ-NGCSWWPX-mom7rxSP.js +0 -1
  392. package/dist/client/assets/vault-api-client-iZLhMJKe.js +0 -6
  393. package/dist/client/assets/vi-VN-P3NDEVPS-BB0Fu9ck.js +0 -7
  394. package/dist/client/assets/yjs-provider-reset-guard-9ul1qF6k.js +0 -4
  395. package/dist/client/assets/zh-CN-SS3O57GA-Bj8wsiMe.js +0 -11
  396. package/dist/client/assets/zh-HK-LWJT3VCF-DOTquTCh.js +0 -1
  397. package/dist/client/assets/zh-TW-VJXC72RT-B48PRo-l.js +0 -13
  398. package/integrations/pi/index.ts +0 -94
  399. /package/dist/client/assets/{vault-api-client-C3mlS_4N.css → auth-gate-C3mlS_4N.css} +0 -0
  400. /package/dist/client/assets/{base-BYODPHdS.js → github.min-DBihDoic.js} +0 -0
@@ -0,0 +1 @@
1
+ import"./chunk-SRAX5OIU-KFQikY-4.js";var e={signUp:``,signIn:``,paste:`貼上`,pasteAsPlaintext:``,pasteCharts:`貼上圖表`,chartType_bar:``,chartType_line:``,chartType_radar:``,chartType_plaintext:``,selectAll:`全選`,multiSelect:`多重選取`,moveCanvas:`移動畫布`,cut:`剪下`,copy:`複製`,copyAsPng:`以 PNG 格式複製`,copyAsSvg:`以 SVG 格式複製`,copyText:``,copySource:``,convertToCode:``,bringForward:`往上一層移動`,sendToBack:`移到最底層`,bringToFront:`移到最上層`,sendBackward:`往下一層移動`,delete:`刪除`,copyStyles:`複製樣式`,pasteStyles:`套用樣式`,stroke:`筆跡顏色`,changeStroke:``,background:`填充顏色`,changeBackground:``,fill:`背景樣式`,strokeWidth:`筆跡寬度`,strokeStyle:`筆跡線條`,strokeStyle_solid:`實線`,strokeStyle_dashed:`虛線(較密)`,strokeStyle_dotted:`虛線(較疏)`,sloppiness:`筆跡風格`,pressure:``,pressure_constant:``,pressure_variable:``,opacity:`透明度`,textAlign:`文字對齊`,edges:`邊角樣式`,sharp:`銳角`,round:`圓角`,arrowheads:`箭嘴`,arrowhead_none:`無箭嘴`,arrowhead_arrow:`普通箭嘴`,arrowhead_bar:`平頭條狀`,arrowhead_circle:``,arrowhead_circle_outline:``,arrowhead_triangle:`三角箭嘴`,arrowhead_triangle_outline:``,arrowhead_diamond:``,arrowhead_diamond_outline:``,arrowhead_crowfoot_many:``,arrowhead_crowfoot_one:``,arrowhead_crowfoot_one_or_many:``,arrowhead_cardinality_one:``,arrowhead_cardinality_many:``,arrowhead_cardinality_one_or_many:``,arrowhead_cardinality_exactly_one:``,arrowhead_cardinality_zero_or_one:``,arrowhead_cardinality_zero_or_many:``,more_options:``,cardinality:``,arrowtypes:``,arrowtype_sharp:``,arrowtype_round:``,arrowtype_elbowed:``,fontSize:`字型大小`,fontFamily:`字體`,addWatermark:`加入「使用 Excalidraw 製圖」水印`,handDrawn:`手繪體`,normal:`電腦字體`,code:`等寬體`,small:`細`,medium:`中`,large:`大`,veryLarge:`勁大`,solid:`實心`,hachure:`斜線`,zigzag:``,crossHatch:`交叉格仔`,thin:`幼`,bold:`粗`,left:`靠左對齊`,center:`置中對齊`,right:`靠右對齊`,extraBold:`勁粗`,architect:`手繪風格`,artist:`藝術家風格`,cartoonist:`卡通風格`,fileTitle:`檔案名稱`,colorPicker:``,canvasColors:``,canvasBackground:`畫布背景顏色`,drawingCanvas:`畫布`,clearCanvas:``,layers:`圖層`,actions:`動作`,language:`🌏 語言`,liveCollaboration:``,duplicateSelection:`製作副本`,untitled:`未命名的作品`,name:``,yourName:`你的名稱`,madeWithExcalidraw:`使用 Excalidraw 製圖`,group:`建立物件群組`,ungroup:`取消物件群組`,collaborators:`已連線的協作者`,you:``,toggleGrid:``,addToLibrary:`加入作品庫`,removeFromLibrary:`從作品庫中移除`,libraryLoadingMessage:`正在載入作品庫…`,libraries:`瀏覽作品庫`,loadingScene:`載入畫布中…`,loadScene:``,align:`物件對齊`,alignTop:`水平置頂`,alignBottom:`水平置底`,alignLeft:`垂直靠左對齊`,alignRight:`垂直靠右對齊`,centerVertically:`垂直置中`,centerHorizontally:`水平置中`,distributeHorizontally:`左右等距`,distributeVertically:`上下等距`,flipHorizontal:`左右反轉`,flipVertical:`上下反轉`,viewMode:`唯讀模式`,share:``,showStroke:``,showBackground:``,showFonts:``,toggleTheme:``,theme:``,personalLib:``,excalidrawLib:``,decreaseFontSize:``,increaseFontSize:``,unbindText:``,bindText:``,createContainerFromText:``,link:{edit:``,editEmbed:``,create:``,label:``,labelEmbed:``,empty:``,hint:``,goToElement:``},lineEditor:{edit:``,editArrow:``},polygon:{breakPolygon:``,convertToPolygon:``},elementLock:{lock:``,unlock:``,lockAll:``,unlockAll:``},statusPublished:``,sidebarLock:``,selectAllElementsInFrame:``,removeAllElementsFromFrame:``,eyeDropper:``,textToDiagram:``,prompt:``,followUs:``,discordChat:``,zoomToFitViewport:``,zoomToFitSelection:``,zoomToFit:``,installPWA:``,autoResize:``,imageCropping:``,unCroppedDimension:``,copyElementLink:``,linkToElement:``,wrapSelectionInFrame:``,tab:``,shapeSwitch:``,preferences:``,preferences_toolLock:``,boxSelectionMode:``,boxSelectionContain:``,boxSelectionOverlap:``,arrowBinding:``,midpointSnapping:``},t={title:``,desc:``,notFound:``},n={noItems:``,hint_emptyLibrary:``,hint_emptyPrivateLibrary:``,search:{inputPlaceholder:``,heading:``,noResults:``,clearSearch:``}},r={title:``,noMatch:``,singleResult:``,multipleResults:``,placeholder:``,frames:``,texts:``},i={clearReset:`清空畫布`,exportJSON:``,exportImage:``,export:``,copyToClipboard:``,copyLink:``,save:``,saveAs:``,load:``,getShareableLink:``,close:``,selectLanguage:``,scrollBackToContent:``,zoomIn:``,zoomOut:``,resetZoom:``,menu:``,done:``,edit:``,undo:``,redo:``,resetLibrary:``,createNewRoom:``,fullScreen:``,darkMode:``,lightMode:``,systemMode:``,zenMode:``,objectsSnapMode:``,exitZenMode:``,cancel:``,saveLibNames:``,clear:``,remove:``,embed:``,publishLibrary:``,submit:``,confirm:``,embeddableInteractionButton:``},a={clearReset:`【‼️ 警告 ‼️ 無法復原的動作】你確定要清空呢塊畫布嗎?`,couldNotCreateShareableLink:``,couldNotCreateShareableLinkTooBig:``,couldNotLoadInvalidFile:``,importBackendFailed:``,cannotExportEmptyCanvas:`無嘢可以匯出喎~畫吓嘢先?`,couldNotCopyToClipboard:``,decryptFailed:``,uploadedSecurly:``,loadSceneOverridePrompt:``,collabStopOverridePrompt:``,errorAddingToLibrary:``,errorRemovingFromLibrary:``,confirmAddLibrary:``,imageDoesNotContainScene:``,cannotRestoreFromImage:``,invalidSceneUrl:``,resetLibrary:``,removeItemsFromsLibrary:``,invalidEncryptionKey:``,collabOfflineWarning:``,localStorageQuotaExceeded:``},o={unsupportedFileType:``,imageInsertError:``,fileTooBig:``,svgImageInsertError:``,failedToFetchImage:``,cannotResolveCollabServer:``,importLibraryError:``,saveLibraryError:``,collabSaveFailed:``,collabSaveFailed_sizeExceeded:``,imageToolNotSupported:``,brave_measure_text_error:{line1:``,line2:``,line3:``,line4:``},libraryElementTypeError:{embeddable:``,iframe:``,image:``},asyncPasteFailedOnRead:``,asyncPasteFailedOnParse:``,copyToSystemClipboardFailed:``},s={selection:``,lasso:``,image:``,rectangle:``,diamond:``,ellipse:``,arrow:``,line:``,freedraw:``,text:``,library:``,lock:``,penMode:``,link:``,eraser:``,frame:``,magicframe:``,embeddable:``,laser:``,autoshape:``,bucketfill:``,hand:``,extraTools:``,mermaidToExcalidraw:``,convertElementType:``},c={noRegion:``,tooComplex:``},l={rectangle:``,diamond:``,ellipse:``,arrow:``,line:``,freedraw:``,text:``,image:``,group:``,frame:``,magicframe:``,embeddable:``,selection:``,iframe:``},u={canvasActions:`畫布動作`,selectedShapeActions:``,shapes:``},d={dismissSearch:``,canvasPanning:``,linearElement:``,arrowTool:``,arrowBindModifiers:``,freeDraw:``,text:``,embeddable:``,autoshape:``,text_selected:``,text_editing:``,linearElementMulti:``,lockAngle:``,resize:``,resizeImage:``,rotate:``,toggleArrowhead:``,lineEditor_info:``,lineEditor_line_info:``,lineEditor_pointSelected:``,lineEditor_nothingSelected:``,publishLibrary:``,bindTextToElement:``,createFlowchart:``,deepBoxSelect:``,eraserRevert:``,firefox_clipboard_write:``,disableSnapping:``,enterCropEditor:``,leaveCropEditor:``},f={cannotShowPreview:`無法顯示預覽`,canvasTooBig:`塊畫布太大啦,縮細啲先啦?`,canvasTooBigTip:``},p={headingMain:``,clearCanvasMessage:`如果重新整理頁面都係睇唔到,你可以<button>清空畫布</button>`,clearCanvasCaveat:`(注意:呢個動作會直接丟棄你嘅作品,並且無法復原)`,trackedToSentry:``,openIssueMessage:``,sceneContent:``},m={or:``},h={desc_intro:``,desc_privacy:``,button_startSession:``,button_stopSession:``,desc_inProgressIntro:``,desc_shareLink:``,desc_exitSession:``,shareTitle:``},g={title:``},_={title:``,defaultMessage:``},v={disk_title:``,disk_details:``,disk_button:``,link_title:``,link_details:``,link_button:``,excalidrawplus_description:``,excalidrawplus_button:``,excalidrawplus_exportError:``},y={blog:``,click:``,deepSelect:``,deepBoxSelect:``,createFlowchart:``,navigateFlowchart:``,curvedArrow:``,curvedLine:``,documentation:``,doubleClick:``,drag:``,editor:``,editLineArrowPoints:``,editText:``,github:``,howto:``,or:``,preventBinding:``,tools:``,shortcuts:``,textFinish:``,textNewLine:``,title:``,view:``,zoomToFit:``,zoomToSelection:``,toggleElementLock:``,movePageUpDown:``,movePageLeftRight:``,cropStart:``,cropFinish:``},b={title:``},x={title:``,itemName:``,authorName:``,githubUsername:``,twitterUsername:``,libraryName:``,libraryDesc:``,website:``,placeholder:{authorName:``,libraryName:``,libraryDesc:``,githubHandle:``,twitterHandle:``,website:``},errors:{required:``,website:``},noteDescription:``,noteGuidelines:``,noteLicense:``,noteItems:``,atleastOneLibItem:``,republishWarning:``},S={title:``,content:``},C={resetLibrary:``,removeItemsFromLib:``},w={header:``,label:{withBackground:``,onlySelected:``,darkMode:``,embedScene:``,scale:``,padding:``},tooltip:{embedScene:``},title:{exportToPng:``,exportToSvg:``,copyPngToClipboard:``},button:{exportToPng:``,exportToSvg:``,copyPngToClipboard:``}},T={tooltip:``,link:``},E={angle:``,shapes:``,height:``,scene:``,selected:``,storage:``,fullTitle:``,title:``,generalStats:``,elementProperties:``,total:``,version:``,versionCopy:``,versionNotAvailable:``,width:``},D={addedToLibrary:``,copyStyles:``,copyToClipboard:``,copyToClipboardAsPng:``,copyToClipboardAsSvg:``,fileSaved:``,fileSavedToFilename:``,canvas:`畫布`,selection:``,pasteAsSingleElement:``,unableToEmbed:``,unrecognizedLinkFormat:``,elementLinkCopied:``},O={transparent:``,black:``,white:``,red:``,pink:``,grape:``,violet:``,gray:``,blue:``,cyan:``,teal:``,green:``,yellow:``,orange:``,bronze:``},k={app:{center_heading:``,center_heading_line2:``,center_heading_line3:``,center_heading_plus:``,menuHint:``},defaults:{menuHint:``,center_heading:``,toolbarHint:``,helpHint:``}},A={color:``,mostUsedCustomColors:``,colors:``,shades:``,hexCode:``,noShades:``,invalidColor:``,invalidHexLength:``,topPicksTip:``,resetTopPicks:``},j={action:{exportToImage:{title:``,button:``,description:``},saveToDisk:{title:``,button:``,description:``},excalidrawPlus:{title:``,button:``,description:``}},modal:{loadFromFile:{title:``,button:``,description:``},shareableLink:{title:``,button:``,description:``}}},M={title:``,button:``,description:``,syntax:``,preview:``,label:``,inputPlaceholder:``,autoFixAvailable:``},N={error:``},P={inputPlaceholder:``,inputPlaceholderWithMessages:``,generating:``,rateLimitRemaining:``,role:{user:``,assistant:``,system:``},aiBeta:``,label:``,menu:``,newChat:``,deleteChat:``,deleteMessage:``,viewAsMermaid:``,placeholder:{title:``,description:``,hint:``},preview:``,insert:``,retry:``,errors:{promptTooShort:``,promptTooLong:``,generationFailed:``,invalidDiagram:``,fixInMermaid:``,aiRepair:``,requestAborted:``,requestFailed:``,mermaidParseError:``},rateLimit:{messageLimit:``,generalRateLimit:``,messageLimitInputPlaceholder:``},upsellBtnLabel:``},F={placeholder:``},I={badge:{old:``},sceneFonts:``,availableFonts:``,empty:``},L={empty:``,hint:{text:``,followStatus:``,inCall:``,micMuted:``,isSpeaking:``}},R={title:``,shortcuts:{select:``,confirm:``,close:``},recents:``,search:{placeholder:``,noMatch:``},itemNotAvailable:``,shortcutHint:``},z={ctrl:``,option:``,cmd:``,alt:``,escape:``,enter:``,shift:``,spacebar:``,delete:``,mmb:``},B={labels:e,elementLink:t,library:n,search:r,buttons:i,alerts:a,errors:o,toolBar:s,bucketfill:c,element:l,headings:u,hints:d,canvasError:f,errorSplash:p,shareDialog:m,roomDialog:h,errorDialog:g,progressDialog:_,exportDialog:v,helpDialog:y,clearCanvasDialog:b,publishDialog:x,publishSuccessDialog:S,confirmDialog:C,imageExportDialog:w,encrypted:T,stats:E,toast:D,colors:O,welcomeScreen:k,colorPicker:A,overwriteConfirm:j,mermaid:M,ttd:N,chat:P,quickSearch:F,fontList:I,userList:L,commandPalette:R,keys:z};export{a as alerts,c as bucketfill,i as buttons,f as canvasError,P as chat,b as clearCanvasDialog,A as colorPicker,O as colors,R as commandPalette,C as confirmDialog,B as default,l as element,t as elementLink,T as encrypted,g as errorDialog,p as errorSplash,o as errors,v as exportDialog,I as fontList,u as headings,y as helpDialog,d as hints,w as imageExportDialog,z as keys,e as labels,n as library,M as mermaid,j as overwriteConfirm,_ as progressDialog,x as publishDialog,S as publishSuccessDialog,F as quickSearch,h as roomDialog,r as search,m as shareDialog,E as stats,D as toast,s as toolBar,N as ttd,L as userList,k as welcomeScreen};
@@ -0,0 +1,13 @@
1
+ import"./chunk-SRAX5OIU-KFQikY-4.js";var e={signUp:``,signIn:``,paste:`貼上`,pasteAsPlaintext:`以純文字貼上`,pasteCharts:`貼上圖表`,chartType_bar:`長條圖`,chartType_line:`折線圖`,chartType_radar:`雷達圖`,chartType_plaintext:`純文字`,selectAll:`全選`,multiSelect:`將物件加入選取範圍`,moveCanvas:`移動畫布`,cut:`剪下`,copy:`複製`,copyAsPng:`以 PNG 格式儲存到剪貼簿`,copyAsSvg:`以 SVG 格式複製到剪貼簿`,copyText:`以文字格式複製至剪貼簿`,copySource:`複製來源至剪貼簿`,convertToCode:`轉換為程式碼`,bringForward:`上移一層`,sendToBack:`移到最底層`,bringToFront:`置於最頂層`,sendBackward:`往後移一層`,delete:`刪除`,copyStyles:`複製樣式`,pasteStyles:`貼上樣式`,stroke:`筆畫`,changeStroke:`變更筆畫顏色`,background:`背景`,changeBackground:`變更背景顏色`,fill:`填滿`,strokeWidth:`筆跡寬度`,strokeStyle:`筆畫樣式`,strokeStyle_solid:`實線`,strokeStyle_dashed:`虛線`,strokeStyle_dotted:`點線`,sloppiness:`線條風格`,pressure:`壓力`,pressure_constant:`常數`,pressure_variable:`變數`,opacity:`透明度`,textAlign:`文字對齊`,edges:`邊緣`,sharp:`尖銳`,round:`平滑`,arrowheads:`箭頭`,arrowhead_none:`無`,arrowhead_arrow:`箭頭`,arrowhead_bar:`條狀箭頭`,arrowhead_circle:`圓形`,arrowhead_circle_outline:`圓形(外框)`,arrowhead_triangle:`三角形`,arrowhead_triangle_outline:`三角形(外框)`,arrowhead_diamond:`菱形`,arrowhead_diamond_outline:`菱形(外框)`,arrowhead_crowfoot_many:`雞爪符號(多)`,arrowhead_crowfoot_one:`雞爪符號(一)`,arrowhead_crowfoot_one_or_many:`雞爪符號(一或多)`,arrowhead_cardinality_one:`基數(一)`,arrowhead_cardinality_many:`基數(多個)`,arrowhead_cardinality_one_or_many:`基數(一個或多個)`,arrowhead_cardinality_exactly_one:`基數(恰好為 1)`,arrowhead_cardinality_zero_or_one:`基數(零或一)`,arrowhead_cardinality_zero_or_many:`基數(零或多)`,more_options:`更多選項`,cardinality:`基數`,arrowtypes:`箭頭類型`,arrowtype_sharp:`尖銳箭頭`,arrowtype_round:`彎角箭頭`,arrowtype_elbowed:`直角箭頭`,fontSize:`字型大小`,fontFamily:`字型系列`,addWatermark:`加上「以 Excalidraw 製作」浮水印`,handDrawn:`手寫`,normal:`一般`,code:`代碼`,small:`小`,medium:`中`,large:`大`,veryLarge:`特大`,solid:`實心`,hachure:`斜線筆觸`,zigzag:`Z字形`,crossHatch:`交叉筆觸`,thin:`細`,bold:`粗`,left:`左側`,center:`置中`,right:`右側`,extraBold:`極粗`,architect:`精確`,artist:`藝術`,cartoonist:`卡通`,fileTitle:`檔案名稱`,colorPicker:`色彩選擇工具`,canvasColors:`使用於畫布`,canvasBackground:`Canvas 背景`,drawingCanvas:`繪圖 canvas`,clearCanvas:`清除畫布`,layers:`圖層`,actions:`動作`,language:`語言`,liveCollaboration:`即時協作...`,duplicateSelection:`複製`,untitled:`無標題`,name:`名稱`,yourName:`你的名稱`,madeWithExcalidraw:`以 Excalidraw 製作`,group:`建立群組`,ungroup:`取消群組`,collaborators:`協作者`,you:`你`,toggleGrid:`切換網格`,addToLibrary:`加入資料庫`,removeFromLibrary:`從資料庫中移除`,libraryLoadingMessage:`資料庫讀取中…`,libraries:`瀏覽資料庫`,loadingScene:`場景讀取中…`,loadScene:`從檔案載入場景`,align:`對齊`,alignTop:`對齊頂部`,alignBottom:`對齊底部`,alignLeft:`對齊左側`,alignRight:`對齊右側`,centerVertically:`垂直置中`,centerHorizontally:`水平置中`,distributeHorizontally:`水平分布`,distributeVertically:`垂直分布`,flipHorizontal:`水平翻轉`,flipVertical:`垂直翻轉`,viewMode:`檢視模式`,share:`分享`,showStroke:`顯示線條檢色器`,showBackground:`顯示背景檢色器`,showFonts:`顯示字型選單`,toggleTheme:`切換淺色/深色主題`,theme:`主題`,personalLib:`個人資料庫`,excalidrawLib:`Excalidraw 資料庫`,decreaseFontSize:`縮小文字`,increaseFontSize:`放大文字`,unbindText:`取消綁定文字`,bindText:`結合文字至容器`,createContainerFromText:`將文字包於容器中`,link:{edit:`編輯連結`,editEmbed:`編輯可嵌入連結`,create:`新增連結`,label:`連結`,labelEmbed:`連結與嵌入`,empty:`未設定連結`,hint:`在此輸入或貼上連結`,goToElement:`移至目標元素`},lineEditor:{edit:`編輯線條`,editArrow:`編輯箭頭`},polygon:{breakPolygon:`解除多邊形`,convertToPolygon:`轉換為多邊形`},elementLock:{lock:`鎖定`,unlock:`解鎖`,lockAll:`全部鎖定`,unlockAll:`全部解鎖`},statusPublished:`已發布`,sidebarLock:`側欄維持開啟`,selectAllElementsInFrame:`選取框架內的所有元素`,removeAllElementsFromFrame:`從框架內移除所有元素`,eyeDropper:`從畫布中選取顏色`,textToDiagram:`文字轉圖表`,prompt:`提示詞`,followUs:`追蹤我們`,discordChat:`Discord 聊天室`,zoomToFitViewport:`縮放至符合 viewport`,zoomToFitSelection:`縮放至符合選取區`,zoomToFit:`縮放至顯示所有元素`,installPWA:`於本機安裝 Excalidraw (PWA)`,autoResize:`啟用文字自動縮放`,imageCropping:`圖片剪裁`,unCroppedDimension:`未剪裁尺寸`,copyElementLink:`複製此物件的連結`,linkToElement:`連結至物件`,wrapSelectionInFrame:`將選取內容放入框架`,tab:`Tab`,shapeSwitch:`切換形狀`,preferences:`偏好設定`,preferences_toolLock:`鎖定工具`,boxSelectionMode:`選取方式`,boxSelectionContain:`完全包覆`,boxSelectionOverlap:`部分重疊`,arrowBinding:`箭頭連結`,midpointSnapping:`貼齊中點`},t={title:`連結至物件`,desc:`點擊畫布上的形狀或貼上連結`,notFound:`無法在畫布上找到連結的物件`},n={noItems:`尚未加入任何物件...`,hint_emptyLibrary:`選取畫布上的物件以加入,或從下方的公開儲存庫中安裝資料庫。`,hint_emptyPrivateLibrary:`選擇畫布上的物件以在此加入。`,search:{inputPlaceholder:`搜尋資料庫`,heading:`相符的資料庫`,noResults:`找不到相符的項目...`,clearSearch:`清除搜尋`}},r={title:`在畫布上尋找`,noMatch:`未找到符合項目…`,singleResult:`結果`,multipleResults:`結果`,placeholder:`在畫布上尋找文字…`,frames:`框架`,texts:`文字`},i={clearReset:`重設畫布`,exportJSON:`匯出至檔案`,exportImage:`匯出圖片`,export:`儲存至...`,copyToClipboard:`複製至剪貼簿`,copyLink:`複製連結`,save:`儲存目前檔案`,saveAs:`儲存為`,load:`開啟`,getShareableLink:`取得共享連結`,close:`關閉`,selectLanguage:`選擇語言`,scrollBackToContent:`捲動回到內容`,zoomIn:`放大`,zoomOut:`縮小`,resetZoom:`重設縮放`,menu:`選單`,done:`完成`,edit:`編輯`,undo:`復原`,redo:`重做`,resetLibrary:`重設資料庫`,createNewRoom:`建立新協作會議室`,fullScreen:`全螢幕`,darkMode:`深色模式`,lightMode:`淺色模式`,systemMode:`系統模式`,zenMode:`專注模式`,objectsSnapMode:`吸附至物件`,exitZenMode:`離開專注模式`,cancel:`取消`,saveLibNames:`儲存名稱並離開`,clear:`清除`,remove:`刪除`,embed:`切換嵌入`,publishLibrary:`重新命名或發布`,submit:`送出`,confirm:`確認`,embeddableInteractionButton:`點擊以互動`},a={clearReset:`這將會清除整個 canvas。你確定嗎?`,couldNotCreateShareableLink:`無法建立共享連結。`,couldNotCreateShareableLinkTooBig:`無法建立共享連結:場景太大`,couldNotLoadInvalidFile:`無法讀取失效的檔案。`,importBackendFailed:`後端讀取失敗。`,cannotExportEmptyCanvas:`無法輸出空白的 canvas。`,couldNotCopyToClipboard:`無法複製到剪貼簿`,decryptFailed:`無法解密資料。`,uploadedSecurly:`上傳已通過 end-to-end 加密,Excalidraw 伺服器和第三方無法皆讀取其內容。`,loadSceneOverridePrompt:`讀取外部圖樣將取代目前的內容。是否要繼續?`,collabStopOverridePrompt:`停止連線將覆蓋您先前於本機儲存的繪圖進度,是否確認?
2
+
3
+ (如要保留原有的本機繪圖進度,直接關閉瀏覽器分頁即可。)`,errorAddingToLibrary:`無法於此資料庫加入項目`,errorRemovingFromLibrary:`無法由此資料庫移除項目`,confirmAddLibrary:`這將會將 {{numShapes}} 個圖形加入你的資料庫,你確定嗎?`,imageDoesNotContainScene:`此圖檔中未包含場景資料。輸出檔案時是否有包含場景資料?`,cannotRestoreFromImage:`無法由此檔案回復場景。`,invalidSceneUrl:`無法由提供的 URL 匯入場景。可能是發生異常,或未包含有效的 Excalidraw JSON 資料。`,resetLibrary:`這會清除您的資料庫,是否確定?`,removeItemsFromsLibrary:`從資料庫刪除 {{count}} 項?`,invalidEncryptionKey:`加密鍵必須為22字元。即時協作已停用。`,collabOfflineWarning:`沒有可用的網路連線。
4
+ 變更無法儲存!`,localStorageQuotaExceeded:`瀏覽器儲存空間已滿。變更將不會被儲存。`},o={unsupportedFileType:`不支援的檔案類型。`,imageInsertError:`無法插入圖片。請稍後再試…`,fileTooBig:`檔案過大。可接受的最大尺寸為 {{maxSize}} 。`,svgImageInsertError:`無法插入 SVG 圖片。此 SVG 檔案有問題。`,failedToFetchImage:`無法獲取圖片。`,cannotResolveCollabServer:`無法連結至 collab 伺服器。請重新整理後再試一次。`,importLibraryError:`無法載入資料庫`,saveLibraryError:`無法將資料庫存至儲存區。請將資料庫存至本機檔案以確保不會失去已變更的部分。`,collabSaveFailed:`無法儲存至後端資料庫。若此問題持續發生,請將檔案儲存於本機以確保資料不會遺失。`,collabSaveFailed_sizeExceeded:`無法儲存至後端資料庫,可能的原因為畫布尺寸過大。請將檔案儲存於本機以確保資料不會遺失。`,imageToolNotSupported:`圖片已停用`,brave_measure_text_error:{line1:`看起來您開啟了 Brave 瀏覽器的 <bold>Aggressively Block Fingerprinting</bold> 設定。`,line2:`這可能造成您畫布中 <bold>文字元素</bold> 的異常。`,line3:`我們強烈建議您關閉此設定。您可以依照 <link>這些步驟</link> 來進行。`,line4:`若關閉此設定並未修復文字元素的顯示問題,請回報於我們 GitHub 上的 <issueLink>issue</issueLink>,或在 <discordLink>Discord</discordLink> 上告訴我們。`},libraryElementTypeError:{embeddable:`可嵌入元素無法加入資料庫`,iframe:`IFrame 元素無法加入資料庫`,image:`即將支援加入圖片至資料庫!`},asyncPasteFailedOnRead:`無法貼上(無法由系統剪貼簿讀入)`,asyncPasteFailedOnParse:`無法貼上`,copyToSystemClipboardFailed:`無法複製至剪貼簿`},s={selection:`選取`,lasso:`繩索選取`,image:`插入圖片`,rectangle:`長方形`,diamond:`菱形`,ellipse:`橢圓`,arrow:`箭頭`,line:`線條`,freedraw:`繪圖`,text:`文字`,library:`資料庫`,lock:`可連續使用選取的工具`,penMode:`筆模式 - 避免觸摸`,link:`為所選的形狀增加\b/更新連結`,eraser:`橡皮擦`,frame:`框架工具`,magicframe:`線框稿轉為程式碼`,embeddable:`嵌入網站`,laser:`雷射筆`,autoshape:`畫出形狀`,bucketfill:`油漆桶填充工具`,hand:`手形(平移工具)`,extraTools:`更多工具`,mermaidToExcalidraw:`Mermaid 至 Excalidraw`,convertElementType:`切換形狀類型`},c={noRegion:`找不到可填滿的封閉區域。`,tooComplex:`區域太複雜,無法填充。`},l={rectangle:`矩形`,diamond:`菱形`,ellipse:`橢圓形`,arrow:`箭頭`,line:`線條`,freedraw:`自由繪圖`,text:`文字`,image:`圖片`,group:`群組`,frame:`框架`,magicframe:`線框稿轉為程式碼`,embeddable:`嵌入網站`,selection:`已選項目`,iframe:`IFrame框架`},u={canvasActions:`canvas 動作`,selectedShapeActions:`選取圖形動作`,shapes:`形狀`},d={dismissSearch:`{{shortcut}} 以隱藏搜尋`,canvasPanning:`如要移動畫布,請在拖曳時按住 {{shortcut_1}} 或 {{shortcut_2}},或使用手形工具`,linearElement:`點擊以繪製多點曲線;或拖曳以繪製直線`,arrowTool:`點選以開始建立多點,拖曳可建立單一線段。再次按下 {{shortcut}} 以變更箭頭類型。`,arrowBindModifiers:`按住 {{shortcut_1}} 以停用綁定,或按住 {{shortcut_2}} 以綁定於固定點`,freeDraw:`點擊並拖曳來繪圖,放開即結束`,text:`提示:亦可使用選取工具在任何地方雙擊來加入文字`,embeddable:`點擊並拖移以建立嵌入網站`,autoshape:`畫出矩形、圓形、菱形、直線和箭頭`,text_selected:`按兩下滑鼠或按 {{shortcut}} 以編輯文字`,text_editing:`{{shortcut_1}} 或 {{shortcut_2}} 以結束編輯`,linearElementMulti:`點選最後一個點,或按下 {{shortcut_1}} 或 {{shortcut_2}} 以完成`,lockAngle:`你可以按住 {{shortcut}} 以鎖定角度`,resize:`縮放時按住 {{shortcut_1}} 可保持等比例,
5
+ 按住 {{shortcut_2}} 則可從中心縮放`,resizeImage:`按住 {{shortcut_1}} 可自由縮放,
6
+ 按住 {{shortcut_2}} 則可從中心縮放`,rotate:`你可以在旋轉時按住 {{shortcut}} 以鎖定角度`,toggleArrowhead:`按兩下切換箭頭`,lineEditor_info:`按住 {{shortcut_1}} 並按兩下或按下 {{shortcut_2}} 以編輯點`,lineEditor_line_info:`按兩下或按 {{shortcut}} 以編輯點`,lineEditor_pointSelected:`按下 {{shortcut_1}} 移除點,
7
+ {{shortcut_2}} 重製,或拖曳以移動`,lineEditor_nothingSelected:`選取一個點以進行編輯(按住 {{shortcut_1}} 可多選),
8
+ 或按住 {{shortcut_2}} 並點選以新增點`,publishLibrary:`發布個人資料庫`,bindTextToElement:`按下 {{shortcut}} 新增文字`,createFlowchart:`按下 {{shortcut}} 建立流程圖`,deepBoxSelect:`按住 {{shortcut}} 以進行深度選取,並防止拖曳`,eraserRevert:`按住 {{shortcut}} 以還原標記為刪除的元素`,firefox_clipboard_write:`此功能有機會透過將 "dom.events.asyncClipboard.clipboardItem" 設定為 "true" 來開啟。
9
+ 若要變更 Firefox 瀏覽器的此設定值,請至 "about:config" 頁面。`,disableSnapping:`按住 {{shortcut}} 以停用貼齊(自動對齊)`,enterCropEditor:`按兩下圖片或按下 {{shortcut}} 以裁剪圖片`,leaveCropEditor:`點選圖片外部,或按下 {{shortcut_1}} 或 {{shortcut_2}} 以完成裁剪`},f={cannotShowPreview:`無法顯示預覽`,canvasTooBig:`畫布可能過大`,canvasTooBigTip:`提示:可嘗試將最遠的元素移動至較集中的位置`},p={headingMain:`發生錯誤,嘗試<button>重新載入頁面。</button>`,clearCanvasMessage:`若重新載入仍無法解決問題,嘗試<button>清除 canvas。</button>`,clearCanvasCaveat:`此動作將造成目前的作品被移除。`,trackedToSentry:`此錯誤與其識別碼{{eventId}}將由系統記錄。`,openIssueMessage:`我們將謹慎處理,你的作品內容不會被包含在錯誤報告中。若你的作品不需保持私密,請考慮使用我們的<button>bug tracker。</button>請將下列資訊複製貼上至 GitHub issue 中。`,sceneContent:`作品內容:`},m={or:`或`},h={desc_intro:`邀請其他人一起協作`,desc_privacy:`不用擔心,此連線為端到端加密且完全私有,即使是我們的伺服器也無法看見您的繪圖。`,button_startSession:`開始連線`,button_stopSession:`停止連線`,desc_inProgressIntro:`即時協作連線正在進行中。`,desc_shareLink:`將此連結分享給欲協作的對象:`,desc_exitSession:`停止連線將中斷你與協作會議室的連結,但你仍可於本機編輯此作品。意指停止連線後你的編輯不會被先前共同協作的人看見,且他們可繼續共同協作另一個版本。`,shareTitle:`加入 Excalidraw 上的即時協作會議室`},g={title:`錯誤`},_={title:`儲存中`,defaultMessage:`正在準備儲存...`},v={disk_title:`儲存至硬碟`,disk_details:`將場景匯出為可供匯入之檔案`,disk_button:`儲存至檔案`,link_title:`可共享連結`,link_details:`匯出為唯讀連結`,link_button:`匯出為連結`,excalidrawplus_description:`將此場景儲存至你的 Excalidraw+ 工作區`,excalidrawplus_button:`輸出`,excalidrawplus_exportError:`目前無法輸出至 Excalidraw+`},y={blog:`閱讀部落格`,click:`點擊`,deepSelect:`深度選取`,deepBoxSelect:`在容器內深度選取並避免拖曳`,createFlowchart:`由基本型建立流程圖`,navigateFlowchart:`導覽流程圖`,curvedArrow:`曲箭頭`,curvedLine:`曲線`,documentation:`文件`,doubleClick:`雙擊`,drag:`拖曳`,editor:`編輯器`,editLineArrowPoints:`編輯線/箭頭控制點`,editText:`編輯文字/增加標籤`,github:`發現異常?回報問題`,howto:`參照我們的說明`,or:`或`,preventBinding:`避免箭號連結`,tools:`工具`,shortcuts:`鍵盤快速鍵`,textFinish:`完成編輯(文字編輯器)`,textNewLine:`換行(文字編輯器)`,title:`說明`,view:`檢視`,zoomToFit:`放大至填滿畫面`,zoomToSelection:`縮放至選取區`,toggleElementLock:`鎖定/解鎖已選的項目`,movePageUpDown:`向上/下移動頁面`,movePageLeftRight:`向左/右移動頁面`,cropStart:`裁切圖片`,cropFinish:`完成圖片裁切`},b={title:`清除畫布`},x={title:`發布資料庫`,itemName:`項目名稱`,authorName:`作者名稱`,githubUsername:`GitHub 帳號`,twitterUsername:`Twitter 帳號`,libraryName:`資料庫名稱`,libraryDesc:`資料庫說明`,website:`網站`,placeholder:{authorName:`您的名稱或帳號`,libraryName:`您的資料庫名稱`,libraryDesc:`提供您的資料庫說明以利他人理解其用途`,githubHandle:`Github handle(選填),填寫後您可編輯已送出待審查的資料庫`,twitterHandle:`Twitter 帳號(選填),填寫後若我們在 Twitter 推廣時可提及您`,website:`您個人網站或其他網站的連結(選填)`},errors:{required:`必填`,website:`請輸入有效的 URL`},noteDescription:`送出您的資料庫後將被包含於<link>公開資料庫 repository</link>以利他人在其繪圖中使用。`,noteGuidelines:`資料庫需先經人工審查。請閱讀<link>說明文件</link>再送出。若需溝通與修改時要透過 GitHub 帳號來進行,但並非強制需求。`,noteLicense:`送出即代表您同意此資料庫將發布時使用 <link>MIT 授權,</link>簡單來說是指任何人都能不受限制的使用。`,noteItems:`每個資料庫項目都有獨立的名稱故可篩選。會包含下列資料庫項目:`,atleastOneLibItem:`請選擇至少一項資料庫項目`,republishWarning:`注意:部分選取中的物件先前已發布/送出過。建議僅在要更新現存資料庫或已送出的物件時才重新送出這些物件。`},S={title:`資料庫已送出`,content:`感謝 {{authorName}} 。您的資料庫已送出待審查。您可查看目前狀態<link>在此</link>`},C={resetLibrary:`重設資料庫`,removeItemsFromLib:`從資料庫移除所選的項目`},w={header:`匯出圖片`,label:{withBackground:`背景`,onlySelected:`僅選取物件`,darkMode:`深色模式`,embedScene:`嵌入場景`,scale:`縮放比例`,padding:`內間距`},tooltip:{embedScene:`用於回復場景的場景資料會被包含在輸出的 PNG/SVG 檔案中。
10
+ 會增加輸出的檔案大小。`},title:{exportToPng:`輸出成 PNG`,exportToSvg:`輸出成 SVG`,copyPngToClipboard:`複製 PNG 至剪貼簿`},button:{exportToPng:`PNG`,exportToSvg:`SVG`,copyPngToClipboard:`複製至剪貼簿`}},T={tooltip:`你的作品已使用 end-to-end 方式加密,Excalidraw 的伺服器也無法取得其內容。`,link:`Excalidraw 端到端加密的相關部落格文章`},E={angle:`角度`,shapes:`形狀`,height:`高度`,scene:`場景`,selected:`已選`,storage:`儲存`,fullTitle:`畫布與形狀屬性設定`,title:`屬性`,generalStats:`一般`,elementProperties:`形狀屬性`,total:`合計`,version:`版本`,versionCopy:`點擊複製`,versionNotAvailable:`無法取得版本`,width:`寬度`},D={addedToLibrary:`加入資料庫`,copyStyles:`已複製樣式`,copyToClipboard:`複製至剪貼簿。`,copyToClipboardAsPng:`以 PNG 格式將 {{exportSelection}} 複製至剪貼簿
11
+ ({{exportColorScheme}})`,copyToClipboardAsSvg:`以 SVG 格式將 {{exportSelection}} 複製至剪貼簿
12
+ ({{exportColorScheme}})`,fileSaved:`已儲存檔案。`,fileSavedToFilename:`儲存為 {filename}`,canvas:`畫布`,selection:`已選項目`,pasteAsSingleElement:`使用 {{shortcut}} 以做為單一物件貼上,
13
+ 或貼上至現有的文字編輯器`,unableToEmbed:`目前不允許嵌入此網址。您可至 GitHub 提出 issue 以要求將此網址加入合格名單。`,unrecognizedLinkFormat:`您嵌入的連結格式不符。請嘗試貼入原網站所提供的「嵌入」字串。`,elementLinkCopied:`連結已複製至剪貼簿`},O={transparent:`透明`,black:`黑`,white:`白`,red:`紅`,pink:`粉紅`,grape:`深紫`,violet:`藍紫`,gray:`灰`,blue:`藍`,cyan:`青`,teal:`藍綠`,green:`綠`,yellow:`黃`,orange:`橘`,bronze:`銅`},k={app:{center_heading:`你的繪圖已儲存在瀏覽器的儲存空間中。`,center_heading_line2:`瀏覽器儲存空間可能會意外地被清除。`,center_heading_line3:`請定期將作品儲存為檔案,以避免遺失。`,center_heading_plus:`您是否是要前往 Excalidraw+ ?`,menuHint:`輸出、偏好設定、語言...`},defaults:{menuHint:`輸出、偏好設定及其他...`,center_heading:`圖表。製作。超簡單。`,toolbarHint:`選個工具開始畫圖吧!`,helpHint:`快速鍵與說明`}},A={color:`顏色`,mostUsedCustomColors:`最常使用的自訂顏色`,colors:`顏色`,shades:`漸變色`,hexCode:`Hex 碼`,noShades:`沒有此顏色的漸變色`,invalidColor:`無效顏色`,invalidHexLength:`十六進位代碼必須為 3、4、6 或 8 個字元。`,topPicksTip:`提示:將任意顏色拖曳到你的收藏夾上即可固定。`,resetTopPicks:`重設為預設首選`},j={action:{exportToImage:{title:`匯出為圖片`,button:`匯出為圖片`,description:`將場景匯出為可供匯入的圖片檔案`},saveToDisk:{title:`儲存至硬碟`,button:`儲存至硬碟`,description:`將場景匯出為可供匯入的檔案`},excalidrawPlus:{title:`Excalidraw+`,button:`匯出至 Excalidraw+`,description:`將此場景儲存至您的 Excalidraw+ 工作區`}},modal:{loadFromFile:{title:`從檔案載入`,button:`從檔案載入`,description:`從檔案載入將<bold>取代您目前的內容</bold>。<br></br>可先使用下方的選項備份您的繪圖。`},shareableLink:{title:`從連結載入`,button:`取代我的內容`,description:`載入外部繪圖將<bold>取代您目前的內容</bold>。<br></br>可先使用下方的選項備份您的繪圖。`}}},M={title:`Mermaid 至 Excalidraw`,button:`插入`,description:`目前僅支援 <flowchartLink>Flowchart</flowchartLink> 、 <sequenceLink>Sequence</sequenceLink> 及 <classLink>Class </classLink> 圖表。其餘檔案類型在 Excalidraw 將會以圖像呈現。`,syntax:`Mermaid 語法`,preview:`預覽`,label:`Mermaid`,inputPlaceholder:`在這裡編寫 Mermaid 定義...`,autoFixAvailable:`自動修正可用`},N={error:`錯誤!`},P={inputPlaceholder:`在這裡開始輸入你的圖表構想...({{shortcut}} 換行)`,inputPlaceholderWithMessages:`繼續調整你的圖表...`,generating:`生成中...`,rateLimitRemaining:`今日剩餘 {{count}} 次請求`,role:{user:`你`,assistant:`AI 助理`,system:`系統`},aiBeta:`AI Beta 版`,label:`對話`,menu:`選單`,newChat:`新的對話`,deleteChat:`刪除對話`,deleteMessage:`刪除訊息`,viewAsMermaid:`以 Mermaid 格式檢視`,placeholder:{title:`讓我們開始設計你的圖表`,description:`描述你想要建立的圖表,我們將為你生成。`,hint:`到目前我們了解流程圖、序列圖、類別圖、狀態圖和實體關係圖。`},preview:`預覽`,insert:`插入`,retry:`重試`,errors:{promptTooShort:`提示詞太短(至少 {{min}} 個字元)`,promptTooLong:`提示詞太長(最多 {{max}} 個字元)`,generationFailed:`生成失敗`,invalidDiagram:`生成的圖表語法無效 :(。你可以手動編輯、嘗試自動修復,或換個提示詞試試。`,fixInMermaid:`手動編輯 Mermaid →`,aiRepair:`重新生成(自動修復)→`,requestAborted:`請求已中止`,requestFailed:`請求失敗`,mermaidParseError:`Mermaid 語法錯誤`},rateLimit:{messageLimit:`你已達到免費方案的 AI 使用上限。請試用 Excalidraw+ 以取得更多額度,或明天再試。`,generalRateLimit:`別心急,你的操作速度太快了!請稍等片刻後再試。`,messageLimitInputPlaceholder:`你已達到訊息上限`},upsellBtnLabel:`升級至 Plus`},F={placeholder:`快速搜尋`},I={badge:{old:`舊版`},sceneFonts:`在此場景中`,availableFonts:`可用字型`,empty:`找不到字型`},L={empty:`找不到使用者`,hint:{text:`點擊使用者以進行追蹤`,followStatus:`您正在追蹤此使用者`,inCall:`使用者正在語音通話中`,micMuted:`使用者的麥克風已靜音`,isSpeaking:`使用者說話中`}},R={title:`指令面板`,shortcuts:{select:`選取`,confirm:`確認`,close:`關閉`},recents:`最近使用`,search:{placeholder:`搜尋選單與指令並找出隱藏功能`,noMatch:`沒有符合的指令…`},itemNotAvailable:`指令無法使用…`,shortcutHint:`使用 {{shortcut}} 開啟指令面板`},z={ctrl:`Ctrl`,option:`Option`,cmd:`Cmd`,alt:`Alt`,escape:`Esc`,enter:`Enter`,shift:`Shift`,spacebar:`空白鍵`,delete:`Delete`,mmb:`滾輪`},B={labels:e,elementLink:t,library:n,search:r,buttons:i,alerts:a,errors:o,toolBar:s,bucketfill:c,element:l,headings:u,hints:d,canvasError:f,errorSplash:p,shareDialog:m,roomDialog:h,errorDialog:g,progressDialog:_,exportDialog:v,helpDialog:y,clearCanvasDialog:b,publishDialog:x,publishSuccessDialog:S,confirmDialog:C,imageExportDialog:w,encrypted:T,stats:E,toast:D,colors:O,welcomeScreen:k,colorPicker:A,overwriteConfirm:j,mermaid:M,ttd:N,chat:P,quickSearch:F,fontList:I,userList:L,commandPalette:R,keys:z};export{a as alerts,c as bucketfill,i as buttons,f as canvasError,P as chat,b as clearCanvasDialog,A as colorPicker,O as colors,R as commandPalette,C as confirmDialog,B as default,l as element,t as elementLink,T as encrypted,g as errorDialog,p as errorSplash,o as errors,v as exportDialog,I as fontList,u as headings,y as helpDialog,d as hints,w as imageExportDialog,z as keys,e as labels,n as library,M as mermaid,j as overwriteConfirm,_ as progressDialog,x as publishDialog,S as publishSuccessDialog,F as quickSearch,h as roomDialog,r as search,m as shareDialog,E as stats,D as toast,s as toolBar,N as ttd,L as userList,k as welcomeScreen};
@@ -4,22 +4,21 @@
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>draw.io — CollabMD</title>
7
- <script type="module" crossorigin src="./assets/drawioEditor-JubEEha7.js"></script>
8
- <link rel="modulepreload" crossorigin href="./assets/modulepreload-polyfill-P2Xu9kJm.js">
9
- <link rel="modulepreload" crossorigin href="./assets/runtime-config-DcmnGcXU.js">
7
+ <script defer src="./app-config.js"></script>
8
+ <script type="module" crossorigin src="./assets/drawioEditor-CHf1vtdQ.js"></script>
9
+ <link rel="modulepreload" crossorigin href="./assets/runtime-paths-Cn0snt_9.js">
10
+ <link rel="modulepreload" crossorigin href="./assets/runtime-config-BFVdhnJu.js">
10
11
  <link rel="modulepreload" crossorigin href="./assets/browser-utils-DbXSMI-6.js">
12
+ <link rel="modulepreload" crossorigin href="./assets/preload-helper-CtT0-S4g.js">
11
13
  <link rel="modulepreload" crossorigin href="./assets/file-kind-BwMIcZbi.js">
12
- <link rel="modulepreload" crossorigin href="./assets/vault-api-client-iZLhMJKe.js">
13
- <link rel="modulepreload" crossorigin href="./assets/yjs-provider-reset-guard-9ul1qF6k.js">
14
+ <link rel="modulepreload" crossorigin href="./assets/vault-api-client-QjZ_T03l.js">
14
15
  <link rel="modulepreload" crossorigin href="./assets/drawio-room-yBUzk-vg.js">
15
- <link rel="stylesheet" crossorigin href="./assets/vault-api-client-C3mlS_4N.css">
16
16
  <link rel="stylesheet" crossorigin href="./assets/drawioEditor-UQQ8XHou.css">
17
- <link rel="stylesheet" crossorigin href="./assets/embedded-editor-base-BlCgz6mw.css">
17
+ <link rel="stylesheet" crossorigin href="./assets/embedded-editor-base-jK221GC8.css">
18
18
  </head>
19
19
  <body data-theme="dark" data-surface="drawio-editor">
20
20
  <div id="root">
21
21
  <div class="drawio-loading" id="loadingState" role="status" aria-live="polite">Loading draw.io…</div>
22
22
  </div>
23
- <script src="./app-config.js"></script>
24
23
  </body>
25
24
  </html>
@@ -4,57 +4,55 @@
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Excalidraw — CollabMD</title>
7
- <script type="module" crossorigin src="./assets/excalidrawEditor-dBMbRX_S.js"></script>
7
+ <script defer src="./app-config.js"></script>
8
+ <script type="module" crossorigin src="./assets/excalidrawEditor-WIuguTz7.js"></script>
8
9
  <link rel="modulepreload" crossorigin href="./assets/rolldown-runtime-Dd_uD5pT.js">
9
- <link rel="modulepreload" crossorigin href="./assets/modulepreload-polyfill-P2Xu9kJm.js">
10
- <link rel="modulepreload" crossorigin href="./assets/runtime-config-DcmnGcXU.js">
10
+ <link rel="modulepreload" crossorigin href="./assets/runtime-paths-Cn0snt_9.js">
11
+ <link rel="modulepreload" crossorigin href="./assets/runtime-config-BFVdhnJu.js">
11
12
  <link rel="modulepreload" crossorigin href="./assets/browser-utils-DbXSMI-6.js">
13
+ <link rel="modulepreload" crossorigin href="./assets/preload-helper-CtT0-S4g.js">
12
14
  <link rel="modulepreload" crossorigin href="./assets/file-kind-BwMIcZbi.js">
13
- <link rel="modulepreload" crossorigin href="./assets/vault-api-client-iZLhMJKe.js">
14
- <link rel="modulepreload" crossorigin href="./assets/yjs-provider-reset-guard-9ul1qF6k.js">
15
+ <link rel="modulepreload" crossorigin href="./assets/vault-api-client-QjZ_T03l.js">
15
16
  <link rel="modulepreload" crossorigin href="./assets/jsx-runtime-BpzPEenQ.js">
16
17
  <link rel="modulepreload" crossorigin href="./assets/chunk-SRAX5OIU-KFQikY-4.js">
17
- <link rel="modulepreload" crossorigin href="./assets/preload-helper-HclGiUj8.js">
18
- <link rel="modulepreload" crossorigin href="./assets/chunk-RM4UPSZO-DOWllDY8.js">
19
- <link rel="modulepreload" crossorigin href="./assets/chunk-FLYJHZSQ-Be7lKF17.js">
20
- <link rel="modulepreload" crossorigin href="./assets/chunk-7XWMRXBY-CfMzEq80.js">
18
+ <link rel="modulepreload" crossorigin href="./assets/chunk-ZNVOA63L-BmCQjhx-.js">
19
+ <link rel="modulepreload" crossorigin href="./assets/chunk-ZPMXAHWN-Dt0TxJa6.js">
20
+ <link rel="modulepreload" crossorigin href="./assets/chunk-5XKZK2GL-D4UAZSOJ.js">
21
21
  <link rel="modulepreload" crossorigin href="./assets/chunk-Y2CYZVJY-DsF7k-Jl.js">
22
22
  <link rel="modulepreload" crossorigin href="./assets/src-oBChb5qS.js">
23
- <link rel="modulepreload" crossorigin href="./assets/chunk-DU6HZSFF-Zkp69c6c.js">
23
+ <link rel="modulepreload" crossorigin href="./assets/chunk-DU6HZSFF-C6d6PJfE.js">
24
24
  <link rel="modulepreload" crossorigin href="./assets/dist-B_J_HbC0.js">
25
- <link rel="modulepreload" crossorigin href="./assets/chunk-75Z2AOVW-C5pGd3W9.js">
26
- <link rel="modulepreload" crossorigin href="./assets/chunk-CLGD4ZFX-BMeArk03.js">
27
- <link rel="modulepreload" crossorigin href="./assets/chunk-P2QGCYS3-Oag_FdCq.js">
28
- <link rel="modulepreload" crossorigin href="./assets/chunk-PWAF6VOD-JSNrcBmP.js">
29
- <link rel="modulepreload" crossorigin href="./assets/chunk-GMAD6QVW-NZ6WpDb8.js">
25
+ <link rel="modulepreload" crossorigin href="./assets/chunk-75Z2AOVW-B2cZexqK.js">
26
+ <link rel="modulepreload" crossorigin href="./assets/chunk-CLGD4ZFX-Cmtx89ht.js">
27
+ <link rel="modulepreload" crossorigin href="./assets/chunk-P2QGCYS3-Du8EtwOa.js">
28
+ <link rel="modulepreload" crossorigin href="./assets/chunk-PWAF6VOD-B3gML4ps.js">
29
+ <link rel="modulepreload" crossorigin href="./assets/chunk-GMAD6QVW-DUfjx_d5.js">
30
30
  <link rel="modulepreload" crossorigin href="./assets/rough.esm-Dy-Kn_BL.js">
31
- <link rel="modulepreload" crossorigin href="./assets/chunk-4HAMMTFA-DStbIfJ1.js">
32
- <link rel="modulepreload" crossorigin href="./assets/chunk-GVQU2GXP-D8SDprfX.js">
33
- <link rel="modulepreload" crossorigin href="./assets/chunk-L3NEJ4N5-aijKP-eh.js">
31
+ <link rel="modulepreload" crossorigin href="./assets/chunk-4HAMMTFA-Ht-73lsT.js">
32
+ <link rel="modulepreload" crossorigin href="./assets/chunk-GVQU2GXP-D1l7oRGR.js">
33
+ <link rel="modulepreload" crossorigin href="./assets/chunk-L3NEJ4N5-BmCVn4y-.js">
34
34
  <link rel="modulepreload" crossorigin href="./assets/path-fybaL0A-.js">
35
35
  <link rel="modulepreload" crossorigin href="./assets/array-BifhSqXX.js">
36
- <link rel="modulepreload" crossorigin href="./assets/line-BFl3ujec.js">
37
- <link rel="modulepreload" crossorigin href="./assets/chunk-OSK3NFVY-CCbLQAMa.js">
36
+ <link rel="modulepreload" crossorigin href="./assets/line-DSWLHgpx.js">
37
+ <link rel="modulepreload" crossorigin href="./assets/chunk-OSK3NFVY-CWHXAmfx.js">
38
38
  <link rel="modulepreload" crossorigin href="./assets/graphlib-DS17s2tU.js">
39
- <link rel="modulepreload" crossorigin href="./assets/chunk-2E4U76K2-BPnTT-J3.js">
39
+ <link rel="modulepreload" crossorigin href="./assets/chunk-2E4U76K2-Ba8Wf22k.js">
40
40
  <link rel="modulepreload" crossorigin href="./assets/chunk-LNGE3PJU-DWpGwHrW.js">
41
- <link rel="modulepreload" crossorigin href="./assets/chunk-TLUHSLCS-DTY5v0aj.js">
42
- <link rel="modulepreload" crossorigin href="./assets/mermaid.core-BrY09czX.js">
43
- <link rel="modulepreload" crossorigin href="./assets/dist-JaU3aRlD.js">
44
- <link rel="modulepreload" crossorigin href="./assets/prod-qAk7rHa4.js">
45
- <link rel="modulepreload" crossorigin href="./assets/comment-threads-BnRwo5B9.js">
41
+ <link rel="modulepreload" crossorigin href="./assets/chunk-TLUHSLCS-Yl7B0Vrz.js">
42
+ <link rel="modulepreload" crossorigin href="./assets/mermaid.core-D0cMM4Rl.js">
43
+ <link rel="modulepreload" crossorigin href="./assets/dist-l-56SowH.js">
44
+ <link rel="modulepreload" crossorigin href="./assets/prod-pbFU4TaM.js">
45
+ <link rel="modulepreload" crossorigin href="./assets/room-DX7lIfnu.js">
46
46
  <link rel="modulepreload" crossorigin href="./assets/excalidraw-scene-6uROebca.js">
47
- <link rel="modulepreload" crossorigin href="./assets/es-Bfdp096f.js">
48
- <link rel="modulepreload" crossorigin href="./assets/excalidraw-element-link-YLIaTnVF.js">
49
- <link rel="modulepreload" crossorigin href="./assets/comment-thread-store-CX98zR6q.js">
50
- <link rel="stylesheet" crossorigin href="./assets/vault-api-client-C3mlS_4N.css">
51
- <link rel="stylesheet" crossorigin href="./assets/excalidrawEditor-BbSbI80a.css">
52
- <link rel="stylesheet" crossorigin href="./assets/embedded-editor-base-BlCgz6mw.css">
47
+ <link rel="modulepreload" crossorigin href="./assets/comment-threads-nJhK1yfc.js">
48
+ <link rel="modulepreload" crossorigin href="./assets/excalidraw-element-link-iA6zo0_f.js">
49
+ <link rel="modulepreload" crossorigin href="./assets/comment-thread-store-NNHqRVsX.js">
50
+ <link rel="stylesheet" crossorigin href="./assets/excalidrawEditor-DDE0n1Pk.css">
51
+ <link rel="stylesheet" crossorigin href="./assets/embedded-editor-base-jK221GC8.css">
53
52
  </head>
54
53
  <body data-theme="dark" data-surface="excalidraw-editor">
55
54
  <div id="root">
56
55
  <div class="loading-state" id="loadingState" role="status" aria-live="polite">Loading Excalidraw…</div>
57
56
  </div>
58
- <script src="./app-config.js"></script>
59
57
  </body>
60
58
  </html>
@@ -4,12 +4,11 @@
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>CollabMD Export</title>
7
- <script type="module" crossorigin src="./assets/exportDocument-BlQRd9_m.js"></script>
8
- <link rel="modulepreload" crossorigin href="./assets/modulepreload-polyfill-P2Xu9kJm.js">
9
- <link rel="modulepreload" crossorigin href="./assets/preload-helper-HclGiUj8.js">
10
- <link rel="modulepreload" crossorigin href="./assets/base-BYODPHdS.js">
11
- <link rel="stylesheet" crossorigin href="./assets/base-CaIEJUF9.css">
12
- <link rel="stylesheet" crossorigin href="./assets/exportDocument-CNSbjZwu.css">
7
+ <script defer src="./app-config.js"></script>
8
+ <script type="module" crossorigin src="./assets/exportDocument-B9xNKpQe.js"></script>
9
+ <link rel="modulepreload" crossorigin href="./assets/preload-helper-CtT0-S4g.js">
10
+ <link rel="modulepreload" crossorigin href="./assets/github.min-DBihDoic.js">
11
+ <link rel="stylesheet" crossorigin href="./assets/exportDocument-B7IagJhQ.css">
13
12
  </head>
14
13
  <body data-theme="light" data-surface="export-document">
15
14
  <main class="export-page-shell">
@@ -25,6 +24,5 @@
25
24
  </section>
26
25
  <article id="exportContent" class="preview-content export-content"></article>
27
26
  </main>
28
- <script src="./app-config.js"></script>
29
27
  </body>
30
28
  </html>
@@ -15,34 +15,15 @@
15
15
  document.documentElement.setAttribute('data-initial-file-requested', 'true');
16
16
  }
17
17
  </script>
18
- <script type="module" crossorigin src="./assets/index-D3RER1SZ.js"></script>
19
- <link rel="modulepreload" crossorigin href="./assets/modulepreload-polyfill-P2Xu9kJm.js">
20
- <link rel="modulepreload" crossorigin href="./assets/runtime-config-DcmnGcXU.js">
21
- <link rel="modulepreload" crossorigin href="./assets/browser-utils-DbXSMI-6.js">
22
- <link rel="modulepreload" crossorigin href="./assets/file-kind-BwMIcZbi.js">
23
- <link rel="modulepreload" crossorigin href="./assets/vault-api-client-iZLhMJKe.js">
24
- <link rel="modulepreload" crossorigin href="./assets/yjs-provider-reset-guard-9ul1qF6k.js">
25
- <link rel="modulepreload" crossorigin href="./assets/drawio-room-yBUzk-vg.js">
26
- <link rel="modulepreload" crossorigin href="./assets/preload-helper-HclGiUj8.js">
27
- <link rel="modulepreload" crossorigin href="./assets/comment-threads-BnRwo5B9.js">
28
- <link rel="modulepreload" crossorigin href="./assets/excalidraw-scene-6uROebca.js">
29
- <link rel="modulepreload" crossorigin href="./assets/rolldown-runtime-Dd_uD5pT.js">
30
- <link rel="modulepreload" crossorigin href="./assets/es-Bfdp096f.js">
31
- <link rel="modulepreload" crossorigin href="./assets/excalidraw-element-link-YLIaTnVF.js">
32
- <link rel="modulepreload" crossorigin href="./assets/base-BYODPHdS.js">
33
- <link rel="modulepreload" crossorigin href="./assets/preview-diagram-utils-txBCoW8d.js">
34
- <link rel="modulepreload" crossorigin href="./assets/wiki-link-resolver-DFIwErjc.js">
35
- <link rel="modulepreload" crossorigin href="./assets/document-formatter-rDDjRfZ2.js">
36
- <link rel="modulepreload" crossorigin href="./assets/file-icon-svg-Y_kpF957.js">
37
- <link rel="stylesheet" crossorigin href="./assets/vault-api-client-C3mlS_4N.css">
38
- <link rel="stylesheet" crossorigin href="./assets/base-CaIEJUF9.css">
39
- <link rel="stylesheet" crossorigin href="./assets/index-DREVKl_K.css">
18
+ <script defer src="./app-config.js"></script>
19
+ <script type="module" crossorigin src="./assets/index-mWiw418b.js"></script>
20
+ <link rel="stylesheet" crossorigin href="./assets/index-BAmZnTFV.css">
40
21
  </head>
41
22
  <body>
42
23
 
43
24
  <a href="#editorContainer" class="sr-only skip-link" id="skipToEditor">Skip to editor</a>
44
25
 
45
- <div class="app-shell">
26
+ <div class="app-shell" id="appShell">
46
27
  <aside id="sidebar" class="sidebar">
47
28
  <div class="sidebar-header">
48
29
  <div class="sidebar-brand">
@@ -250,7 +231,7 @@
250
231
  <span class="ui-toolbar-button-label">Preview</span>
251
232
  </button>
252
233
 
253
- <div class="toolbar-status-cluster" aria-label="Workspace status">
234
+ <div class="toolbar-status-cluster" role="group" aria-label="Workspace status">
254
235
  <span class="ui-pill-badge ui-pill-badge--accent hidden toolbar-badge" id="toolbarDiffBadge">Diff</span>
255
236
  <span class="ui-pill-badge ui-pill-badge--muted hidden toolbar-badge" id="gitOperationStatus" aria-live="polite" aria-atomic="true"></span>
256
237
  </div>
@@ -391,6 +372,16 @@
391
372
  <span class="ui-toolbar-button-label">Connect AI Agent</span>
392
373
  </button>
393
374
 
375
+ <button class="ui-button ui-button--ghost ui-button--toolbar hidden" id="teamSettingsBtn" aria-label="Team Settings" title="Team Settings">
376
+ <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">
377
+ <path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
378
+ <circle cx="9" cy="7" r="4"></circle>
379
+ <path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
380
+ <path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
381
+ </svg>
382
+ <span class="ui-toolbar-button-label">Team Settings</span>
383
+ </button>
384
+
394
385
  <button class="ui-button ui-button--ghost ui-button--toolbar toolbar-search-files-btn" id="searchFilesBtn" aria-label="Search files" title="Search files">
395
386
  <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true">
396
387
  <circle cx="11" cy="11" r="7"></circle>
@@ -568,7 +559,7 @@
568
559
  <div class="backlinks-list"></div>
569
560
  </div>
570
561
  </div>
571
- <button class="ui-button ui-button--ghost ui-button--compact ui-button--toggle hidden" id="commentsToggle" aria-label="Toggle comments" title="Toggle comments">
562
+ <button class="ui-button ui-button--ghost ui-button--compact ui-button--toggle hidden" id="commentsToggle" aria-expanded="false" title="Toggle comments">
572
563
  <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">
573
564
  <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>
574
565
  </svg>
@@ -725,6 +716,20 @@
725
716
  </div>
726
717
  </dialog>
727
718
 
719
+ <dialog class="app-dialog team-settings-dialog" id="teamSettingsDialog" aria-labelledby="teamSettingsTitle">
720
+ <div class="app-dialog-form">
721
+ <div class="app-dialog-header">
722
+ <h2 class="app-dialog-title" id="teamSettingsTitle">Team Settings</h2>
723
+ <p class="app-dialog-copy">Manage collaborators, pending invitations, and access history.</p>
724
+ </div>
725
+ <div id="teamSettingsContent"></div>
726
+ </div>
727
+ </dialog>
728
+
729
+ <div class="hosted-gate hidden" id="hostedGate">
730
+ <div class="hosted-gate-card" data-hosted-gate-content role="dialog" aria-modal="true" aria-labelledby="hostedGateTitle"></div>
731
+ </div>
732
+
728
733
  <dialog class="app-dialog" id="fileActionDialog" aria-labelledby="fileActionTitle">
729
734
  <form class="app-dialog-form" id="fileActionForm" method="dialog">
730
735
  <div class="app-dialog-header">
@@ -820,6 +825,5 @@
820
825
  </div>
821
826
  </div>
822
827
  </dialog>
823
- <script src="./app-config.js"></script>
824
828
  </body>
825
829
  </html>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "collabmd",
3
- "version": "0.1.49",
3
+ "version": "0.1.51",
4
4
  "type": "module",
5
5
  "description": "Collaborative markdown vault — like Obsidian, but online. Serve any directory of markdown files for realtime collaborative editing.",
6
6
  "repository": {
@@ -19,17 +19,11 @@
19
19
  "scripts/cloudflare-tunnel.mjs",
20
20
  "scripts/local-plantuml-compose.mjs",
21
21
  "scripts/local-structurizr-compose.mjs",
22
- "src/",
23
- "integrations/"
22
+ "src/"
24
23
  ],
25
24
  "bin": {
26
25
  "collabmd": "./bin/collabmd.js"
27
26
  },
28
- "pi": {
29
- "extensions": [
30
- "./integrations/pi/index.ts"
31
- ]
32
- },
33
27
  "scripts": {
34
28
  "prepack": "npm run build",
35
29
  "build": "vite build",
@@ -73,7 +67,7 @@
73
67
  },
74
68
  "license": "MIT",
75
69
  "dependencies": {
76
- "@excalidraw/fractional-indexing": "^0.18.0-abeeaeb",
70
+ "@excalidraw/fractional-indexing": "^0.18.0-214cd6e",
77
71
  "@modelcontextprotocol/client": "^2.0.0",
78
72
  "@modelcontextprotocol/node": "^2.0.0",
79
73
  "@modelcontextprotocol/server": "^2.0.0",
@@ -81,7 +75,7 @@
81
75
  "archiver": "^8.0.0",
82
76
  "js-yaml": "^5.4.1",
83
77
  "lib0": "^0.2.117",
84
- "openid-client": "^6.8.7",
78
+ "openid-client": "^6.8.8",
85
79
  "sharp": "^0.35.4",
86
80
  "ws": "^8.21.3",
87
81
  "y-protocols": "^1.0.7",
@@ -107,19 +101,19 @@
107
101
  "@codemirror/lang-yaml": "^6.1.3",
108
102
  "@codemirror/language": "^6.12.4",
109
103
  "@codemirror/language-data": "^6.5.2",
110
- "@codemirror/search": "^6.7.1",
111
- "@codemirror/state": "^6.7.1",
104
+ "@codemirror/search": "^6.7.2",
105
+ "@codemirror/state": "^6.7.4",
112
106
  "@codemirror/theme-one-dark": "^6.1.3",
113
- "@codemirror/view": "^6.43.9",
107
+ "@codemirror/view": "^6.43.11",
114
108
  "@embedpdf/snippet": "2.15.0",
115
109
  "@eslint/js": "^10.0.1",
116
- "@excalidraw/excalidraw": "0.18.0-abeeaeb",
117
- "@playwright/test": "^1.62.1",
110
+ "@excalidraw/excalidraw": "0.18.0-214cd6e",
111
+ "@playwright/test": "^1.63.0",
118
112
  "@replit/codemirror-vim": "^6.4.0",
119
- "@vitest/browser": "^4.1.11",
120
- "@vitest/browser-playwright": "^4.1.11",
121
- "eslint": "^10.9.1",
122
- "globals": "^17.11.0",
113
+ "@vitest/browser": "^5.0.0",
114
+ "@vitest/browser-playwright": "^5.0.0",
115
+ "eslint": "^10.10.0",
116
+ "globals": "^17.12.0",
123
117
  "highlight.js": "^11.12.0",
124
118
  "markdown-it": "^15.0.1",
125
119
  "mermaid": "^11.17.2",
@@ -128,7 +122,7 @@
128
122
  "react": "^19.2.8",
129
123
  "react-dom": "^19.2.8",
130
124
  "vite": "^8.2.2",
131
- "vitest": "^4.1.11",
125
+ "vitest": "^5.0.0",
132
126
  "y-codemirror.next": "^0.3.6",
133
127
  "y-websocket": "^3.1.0"
134
128
  }
@@ -4,12 +4,12 @@
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>draw.io — CollabMD</title>
7
+ <script vite-ignore defer src="./app-config.js"></script>
7
8
  </head>
8
9
  <body data-theme="dark" data-surface="drawio-editor">
9
10
  <div id="root">
10
11
  <div class="drawio-loading" id="loadingState" role="status" aria-live="polite">Loading draw.io…</div>
11
12
  </div>
12
- <script vite-ignore src="./app-config.js"></script>
13
13
  <script type="module" src="../drawio-editor.js"></script>
14
14
  </body>
15
15
  </html>
@@ -4,12 +4,12 @@
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Excalidraw — CollabMD</title>
7
+ <script vite-ignore defer src="./app-config.js"></script>
7
8
  </head>
8
9
  <body data-theme="dark" data-surface="excalidraw-editor">
9
10
  <div id="root">
10
11
  <div class="loading-state" id="loadingState" role="status" aria-live="polite">Loading Excalidraw…</div>
11
12
  </div>
12
- <script vite-ignore src="./app-config.js"></script>
13
13
  <script type="module" src="../excalidraw-editor.js"></script>
14
14
  </body>
15
15
  </html>
@@ -4,6 +4,7 @@
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>CollabMD Export</title>
7
+ <script vite-ignore defer src="./app-config.js"></script>
7
8
  </head>
8
9
  <body data-theme="light" data-surface="export-document">
9
10
  <main class="export-page-shell">
@@ -19,7 +20,6 @@
19
20
  </section>
20
21
  <article id="exportContent" class="preview-content export-content"></article>
21
22
  </main>
22
- <script vite-ignore src="./app-config.js"></script>
23
23
  <script type="module" src="./export-document-entry.js"></script>
24
24
  </body>
25
25
  </html>
@@ -15,12 +15,13 @@
15
15
  document.documentElement.setAttribute('data-initial-file-requested', 'true');
16
16
  }
17
17
  </script>
18
+ <script vite-ignore defer src="./app-config.js"></script>
18
19
  </head>
19
20
  <body>
20
21
 
21
22
  <a href="#editorContainer" class="sr-only skip-link" id="skipToEditor">Skip to editor</a>
22
23
 
23
- <div class="app-shell">
24
+ <div class="app-shell" id="appShell">
24
25
  <aside id="sidebar" class="sidebar">
25
26
  <div class="sidebar-header">
26
27
  <div class="sidebar-brand">
@@ -228,7 +229,7 @@
228
229
  <span class="ui-toolbar-button-label">Preview</span>
229
230
  </button>
230
231
 
231
- <div class="toolbar-status-cluster" aria-label="Workspace status">
232
+ <div class="toolbar-status-cluster" role="group" aria-label="Workspace status">
232
233
  <span class="ui-pill-badge ui-pill-badge--accent hidden toolbar-badge" id="toolbarDiffBadge">Diff</span>
233
234
  <span class="ui-pill-badge ui-pill-badge--muted hidden toolbar-badge" id="gitOperationStatus" aria-live="polite" aria-atomic="true"></span>
234
235
  </div>
@@ -369,6 +370,16 @@
369
370
  <span class="ui-toolbar-button-label">Connect AI Agent</span>
370
371
  </button>
371
372
 
373
+ <button class="ui-button ui-button--ghost ui-button--toolbar hidden" id="teamSettingsBtn" aria-label="Team Settings" title="Team Settings">
374
+ <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">
375
+ <path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
376
+ <circle cx="9" cy="7" r="4"></circle>
377
+ <path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
378
+ <path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
379
+ </svg>
380
+ <span class="ui-toolbar-button-label">Team Settings</span>
381
+ </button>
382
+
372
383
  <button class="ui-button ui-button--ghost ui-button--toolbar toolbar-search-files-btn" id="searchFilesBtn" aria-label="Search files" title="Search files">
373
384
  <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true">
374
385
  <circle cx="11" cy="11" r="7"></circle>
@@ -546,7 +557,7 @@
546
557
  <div class="backlinks-list"></div>
547
558
  </div>
548
559
  </div>
549
- <button class="ui-button ui-button--ghost ui-button--compact ui-button--toggle hidden" id="commentsToggle" aria-label="Toggle comments" title="Toggle comments">
560
+ <button class="ui-button ui-button--ghost ui-button--compact ui-button--toggle hidden" id="commentsToggle" aria-expanded="false" title="Toggle comments">
550
561
  <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">
551
562
  <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>
552
563
  </svg>
@@ -703,6 +714,20 @@
703
714
  </div>
704
715
  </dialog>
705
716
 
717
+ <dialog class="app-dialog team-settings-dialog" id="teamSettingsDialog" aria-labelledby="teamSettingsTitle">
718
+ <div class="app-dialog-form">
719
+ <div class="app-dialog-header">
720
+ <h2 class="app-dialog-title" id="teamSettingsTitle">Team Settings</h2>
721
+ <p class="app-dialog-copy">Manage collaborators, pending invitations, and access history.</p>
722
+ </div>
723
+ <div id="teamSettingsContent"></div>
724
+ </div>
725
+ </dialog>
726
+
727
+ <div class="hosted-gate hidden" id="hostedGate">
728
+ <div class="hosted-gate-card" data-hosted-gate-content role="dialog" aria-modal="true" aria-labelledby="hostedGateTitle"></div>
729
+ </div>
730
+
706
731
  <dialog class="app-dialog" id="fileActionDialog" aria-labelledby="fileActionTitle">
707
732
  <form class="app-dialog-form" id="fileActionForm" method="dialog">
708
733
  <div class="app-dialog-header">
@@ -798,7 +823,6 @@
798
823
  </div>
799
824
  </div>
800
825
  </dialog>
801
- <script vite-ignore src="./app-config.js"></script>
802
826
  <script type="module" src="./main-entry.js"></script>
803
827
  </body>
804
828
  </html>
@@ -1,29 +1,11 @@
1
- import darkHighlightThemeUrl from '../assets/vendor/highlight/github-dark.min.css?url';
2
- import lightHighlightThemeUrl from '../assets/vendor/highlight/github.min.css?url';
3
1
  import { CollabMdAppShell } from '../bootstrap/collabmd-app-shell.js';
4
2
  import { ensureClientAuthenticated } from '../infrastructure/auth-client.js';
5
- import '../styles/base.css';
6
3
  import '../styles/style.css';
7
4
 
8
- function ensureHighlightThemeStylesheet() {
9
- let themeStylesheet = document.getElementById('hljs-theme');
10
- if (!(themeStylesheet instanceof HTMLLinkElement)) {
11
- themeStylesheet = document.createElement('link');
12
- themeStylesheet.id = 'hljs-theme';
13
- themeStylesheet.rel = 'stylesheet';
14
- document.head.append(themeStylesheet);
15
- }
16
-
17
- themeStylesheet.href = darkHighlightThemeUrl;
18
- themeStylesheet.dataset.darkHref = darkHighlightThemeUrl;
19
- themeStylesheet.dataset.lightHref = lightHighlightThemeUrl;
20
- }
21
-
22
- ensureHighlightThemeStylesheet();
23
5
  async function start() {
24
6
  await ensureClientAuthenticated();
25
7
  const app = new CollabMdAppShell();
26
- app.initialize();
8
+ await app.initialize();
27
9
  }
28
10
 
29
11
  if (document.readyState === 'loading') {
@@ -34,6 +34,9 @@ export const commentsFeature = {
34
34
 
35
35
  syncCommentChrome(filePath = this.currentFilePath) {
36
36
  const supported = supportsCommentsForFilePath(filePath) && !this.isExcalidrawFile(filePath);
37
+ if (supported && globalThis.document) {
38
+ this._deferredCollabStylesPromise ??= import('../../styles/deferred-collab.css');
39
+ }
37
40
  this.commentUi.setCurrentFile(filePath, {
38
41
  fileKind: this.getCommentFileKind(filePath),
39
42
  supported,
@@ -77,6 +80,9 @@ export const commentsFeature = {
77
80
 
78
81
  refreshCommentOverviewForSidebarOpen() {
79
82
  this._commentOverviewStale = false;
83
+ if (globalThis.document) {
84
+ this._deferredCollabStylesPromise ??= import('../../styles/deferred-collab.css');
85
+ }
80
86
  void this.commentsOverview?.refresh?.();
81
87
  },
82
88