collabmd 0.1.25 → 0.1.26

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 (385) hide show
  1. package/dist/client/assets/{CodeMirrorEditor-UCMRAMCV-BHWNpLuY.js → CodeMirrorEditor-UCMRAMCV-C5yVpm45.js} +1 -1
  2. package/dist/client/assets/{_basePickBy-CJWegqog.js → _basePickBy-Dr0N-hVE.js} +1 -1
  3. package/dist/client/assets/{_baseUniq-CFKN1k1n.js → _baseUniq-BddJc3B1.js} +1 -1
  4. package/dist/client/assets/{ar-SA-NXDWD63E-DND5MLpM.js → ar-SA-NXDWD63E-C3GLfrYV.js} +1 -1
  5. package/dist/client/assets/{arc-D1SV2GW0.js → arc-fx_D7wYg.js} +1 -1
  6. package/dist/client/assets/architecture-PBZL5I3N-C1Yv7agI.js +1 -0
  7. package/dist/client/assets/{architectureDiagram-2XIMDMQ5-DXpDe6lq.js → architectureDiagram-2XIMDMQ5-T__yxKk2.js} +1 -1
  8. package/dist/client/assets/{az-AZ-MXSORGZV-ILYw2sYr.js → az-AZ-MXSORGZV-BJ2t-y-C.js} +1 -1
  9. package/dist/client/assets/{bg-BG-O6MV2KSF-DmfoZHM8.js → bg-BG-O6MV2KSF-Cd3kEZI-.js} +1 -1
  10. package/dist/client/assets/{blockDiagram-WCTKOSBZ-DlJn0Rs1.js → blockDiagram-WCTKOSBZ-BivLpsk_.js} +1 -1
  11. package/dist/client/assets/{bn-IN-MMW2ORAC-CmlBLY7g.js → bn-BD-T2VJNT7N-BFCx9nbZ.js} +1 -1
  12. package/dist/client/assets/{bn-BD-T2VJNT7N-uYQx1Wph.js → bn-IN-MMW2ORAC-Dn9W9dUT.js} +1 -1
  13. package/dist/client/assets/{c4Diagram-IC4MRINW-C6S9MOEW.js → c4Diagram-IC4MRINW-nVzPTZmV.js} +1 -1
  14. package/dist/client/assets/{ca-ES-MKBCGNOG-DWiYvMvF.js → ca-ES-MKBCGNOG-D_BNlrmg.js} +1 -1
  15. package/dist/client/assets/channel-DBZin7O0.js +1 -0
  16. package/dist/client/assets/{chunk-27N2SPOM-RxZ2_zJJ.js → chunk-27N2SPOM-CyIruM79.js} +4 -4
  17. package/dist/client/assets/{chunk-4BX2VUAB-LBTVcC6-.js → chunk-4BX2VUAB-n_yl-toC.js} +1 -1
  18. package/dist/client/assets/{chunk-55IACEB6-T5nuDI6U.js → chunk-55IACEB6-CJ9i_5Da.js} +1 -1
  19. package/dist/client/assets/{chunk-7E7YKBS2-CBNUsbS7.js → chunk-7E7YKBS2-CebEBDsj.js} +1 -1
  20. package/dist/client/assets/{chunk-7R4GIKGN-Dh9p1sbP.js → chunk-7R4GIKGN-BXNhzFkP.js} +2 -2
  21. package/dist/client/assets/{chunk-C72U2L5F-DLNOvzEI.js → chunk-C72U2L5F-Cck8MvGP.js} +1 -1
  22. package/dist/client/assets/{chunk-EGIJ26TM-BkBsHEWn.js → chunk-EGIJ26TM-BDQ7tRV-.js} +1 -1
  23. package/dist/client/assets/{chunk-FMBD7UC4-BoiIqhkb.js → chunk-FMBD7UC4-DAcjCJR-.js} +1 -1
  24. package/dist/client/assets/{chunk-GEFDOKGD-CIg-LRSp.js → chunk-GEFDOKGD-CYSNVsp-.js} +1 -1
  25. package/dist/client/assets/chunk-GLR3WWYH-FplqAopN.js +2 -0
  26. package/dist/client/assets/chunk-HHEYEP7N-Bv_FKHmu.js +1 -0
  27. package/dist/client/assets/{chunk-JSJVCQXG-C6-G93S3.js → chunk-JSJVCQXG-CLgStmEI.js} +1 -1
  28. package/dist/client/assets/{chunk-KX2RTZJC-CJlt0Rne.js → chunk-KX2RTZJC-B__vUl1o.js} +1 -1
  29. package/dist/client/assets/{chunk-KYZI473N-C-ObF5L3.js → chunk-KYZI473N-BpfobHkp.js} +1 -1
  30. package/dist/client/assets/{chunk-L3YUKLVL-BzkNNFii.js → chunk-L3YUKLVL-B7jdwbRL.js} +1 -1
  31. package/dist/client/assets/{chunk-MX3YWQON-bjcMtEei.js → chunk-MX3YWQON-DNcuP5dS.js} +1 -1
  32. package/dist/client/assets/{chunk-NQ4KR5QH-DY9oh8PD.js → chunk-NQ4KR5QH-oaq5iS2W.js} +1 -1
  33. package/dist/client/assets/{chunk-O4XLMI2P-CVfnFXq8.js → chunk-O4XLMI2P-NI4OcSZ6.js} +1 -1
  34. package/dist/client/assets/{chunk-OZEHJAEY-DyD-ywvu.js → chunk-OZEHJAEY-BevHLeQ0.js} +1 -1
  35. package/dist/client/assets/{chunk-PQ6SQG4A-BOJs3QbF.js → chunk-PQ6SQG4A-fQ_Oml5n.js} +1 -1
  36. package/dist/client/assets/{chunk-PU5JKC2W-1nkyDxBh.js → chunk-PU5JKC2W-Bp4H-mwZ.js} +1 -1
  37. package/dist/client/assets/chunk-QZHKN3VN-Blawx8vd.js +1 -0
  38. package/dist/client/assets/{chunk-R5LLSJPH-D9t4mFiL.js → chunk-R5LLSJPH-CZzZlfdI.js} +1 -1
  39. package/dist/client/assets/{chunk-SRAX5OIU-B-Zdxy2r.js → chunk-SRAX5OIU-CtUYAya6.js} +1 -1
  40. package/dist/client/assets/{chunk-WL4C6EOR-Bs95uEnp.js → chunk-WL4C6EOR-DnV9nMco.js} +1 -1
  41. package/dist/client/assets/{chunk-XIRO2GV7-CtwY16Jh.js → chunk-XIRO2GV7-BnkmoLpc.js} +1 -1
  42. package/dist/client/assets/{chunk-XPW4576I-CvxG514V.js → chunk-XPW4576I-DOk6pMat.js} +1 -1
  43. package/dist/client/assets/{chunk-XZSTWKYB-BNB3Mgw3.js → chunk-XZSTWKYB-DZzfqgVn.js} +1 -1
  44. package/dist/client/assets/{chunk-YBOYWFTD-MIDp82ug.js → chunk-YBOYWFTD-CrI5WFnC.js} +1 -1
  45. package/dist/client/assets/{chunk-Z5NKEFVG-CIMf1Se5.js → chunk-Z5NKEFVG-EGvolisB.js} +1 -1
  46. package/dist/client/assets/classDiagram-VBA2DB6C-CreQafQu.js +1 -0
  47. package/dist/client/assets/classDiagram-v2-RAHNMMFH-BIYHzbiv.js +1 -0
  48. package/dist/client/assets/clone-C3ajWNce.js +1 -0
  49. package/dist/client/assets/{cose-bilkent-S5V4N54A-BKEY00wk.js → cose-bilkent-S5V4N54A-PcMOD_rX.js} +1 -1
  50. package/dist/client/assets/{cs-CZ-V77HGUP7-sLBAF2Iw.js → cs-CZ-V77HGUP7-gpioT6mv.js} +1 -1
  51. package/dist/client/assets/{da-DK-I5RFNTM4-B__PLwca.js → da-DK-I5RFNTM4-CVv-_qu9.js} +1 -1
  52. package/dist/client/assets/{dagre-Cm2w_QpZ.js → dagre-BD9xHP_z.js} +1 -1
  53. package/dist/client/assets/{dagre-KLK3FWXG-BddfhbwG.js → dagre-KLK3FWXG-Ct1xwvCC.js} +1 -1
  54. package/dist/client/assets/{de-DE-DTI4WUSC-Ba3fBYEU.js → de-CH-WLRDEVBV-CL0gsFEp.js} +1 -1
  55. package/dist/client/assets/{de-CH-WLRDEVBV-D61DKw_9.js → de-DE-DTI4WUSC-BQO1SHIK.js} +1 -1
  56. package/dist/client/assets/{diagram-E7M64L7V-BoyJ8kpo.js → diagram-E7M64L7V-DkHzt94k.js} +1 -1
  57. package/dist/client/assets/{diagram-IFDJBPK2-DLWembLL.js → diagram-IFDJBPK2-D4g8afpU.js} +1 -1
  58. package/dist/client/assets/{diagram-P4PSJMXO-CPmPa0OC.js → diagram-P4PSJMXO-DVwwx6ED.js} +1 -1
  59. package/dist/client/assets/{dist-gCWIHDgw.js → dist-2HWwyMLA.js} +1 -1
  60. package/dist/client/assets/{dist-Dy9oGocr.js → dist-60g3bzYH.js} +1 -1
  61. package/dist/client/assets/{dist-Czv7DXcw.js → dist-B2pRSR5A.js} +1 -1
  62. package/dist/client/assets/{dist-BpEcA20b.js → dist-BQhICHxD.js} +1 -1
  63. package/dist/client/assets/dist-BS6yAJ9F.js +1 -0
  64. package/dist/client/assets/dist-BUnp4fHW.js +1 -0
  65. package/dist/client/assets/dist-BWEDjv8G.js +1 -0
  66. package/dist/client/assets/{dist-DnpxzfoU.js → dist-BZc5d15t.js} +1 -1
  67. package/dist/client/assets/{dist-D7S1mzwR.js → dist-BdtPRC1F.js} +1 -1
  68. package/dist/client/assets/{dist-CKdaLumK.js → dist-BiFbHWxc.js} +1 -1
  69. package/dist/client/assets/{dist-DFIisyRk.js → dist-BlhsMbAl.js} +1 -1
  70. package/dist/client/assets/{dist-DGbPPlZ8.js → dist-CLsz2DCg.js} +1 -1
  71. package/dist/client/assets/{dist-tyxqXzyB.js → dist-Ciw3BJA2.js} +1 -1
  72. package/dist/client/assets/{dist-BtROnx4-.js → dist-CvMToPSN.js} +1 -1
  73. package/dist/client/assets/{dist-D4ebIlQB.js → dist-D2m8lD1h.js} +1 -1
  74. package/dist/client/assets/{dist-BATDm5JF.js → dist-DAwSRqIJ.js} +1 -1
  75. package/dist/client/assets/{dist-StJm6K24.js → dist-DZD5y4h6.js} +1 -1
  76. package/dist/client/assets/{dist-Cje3pdZH.js → dist-DhzldYic.js} +1 -1
  77. package/dist/client/assets/{dist-BiNL3fhN.js → dist-DrNF924C.js} +1 -1
  78. package/dist/client/assets/{dist-CPzoLjNz.js → dist-DzArd_Bk.js} +1 -1
  79. package/dist/client/assets/{dist-Le-AVwIk.js → dist-EPRNBXHp.js} +1 -1
  80. package/dist/client/assets/{dist-BDDCA7hC.js → dist-Q6uG0wie.js} +1 -1
  81. package/dist/client/assets/{dist-CQzPpOiH.js → dist-U9MIFRLF.js} +1 -1
  82. package/dist/client/assets/{dist-CxPc5kI6.js → dist-WrbPKwPQ.js} +1 -1
  83. package/dist/client/assets/{dist-BEs40fGb.js → dist-_L_gn5XE.js} +1 -1
  84. package/dist/client/assets/{dist-DhkKj77m.js → dist-a6bFAbQd.js} +1 -1
  85. package/dist/client/assets/{dist-vL71uaef.js → dist-fkQ6urpt.js} +1 -1
  86. package/dist/client/assets/{dist-BPyPcaZr.js → dist-lbtQBzLu.js} +1 -1
  87. package/dist/client/assets/dist-naAaVPPS.js +1 -0
  88. package/dist/client/assets/{dockerfile-BmylqEVx.js → dockerfile-Ci0-ApQC.js} +1 -1
  89. package/dist/client/assets/drawio-editor-BW2z4NH2.js +9 -0
  90. package/dist/client/assets/drawio-room-D6352KkV.js +1 -0
  91. package/dist/client/assets/drawioEditor-DgoA4Zqi.js +2 -0
  92. package/dist/client/assets/{editor-session-DsM3VgQv.js → editor-session-xPvmulmt.js} +2 -2
  93. package/dist/client/assets/{el-GR-ZXDJ2OS4-CpEbk42T.js → el-GR-ZXDJ2OS4-DGa9DqWI.js} +1 -1
  94. package/dist/client/assets/{en-CTDJDZ6K-C36Iqh9O.js → en-CTDJDZ6K-DC-4I8h8.js} +1 -1
  95. package/dist/client/assets/{erDiagram-INFDFZHY-Dwg_AhU2.js → erDiagram-INFDFZHY-Dnub3poK.js} +1 -1
  96. package/dist/client/assets/{es-ES-DYQHAD43-Ba-6t0Wr.js → es-ES-DYQHAD43-Cox3GUnj.js} +1 -1
  97. package/dist/client/assets/{eu-ES-QDSYU5Y3-CYzUKQ2_.js → eu-ES-QDSYU5Y3-DrPM2uSX.js} +1 -1
  98. package/dist/client/assets/{excalidraw-editor-Cs5p0lBn.js → excalidraw-editor-BAYca95w.js} +9 -9
  99. package/dist/client/assets/{excalidraw-mermaid-stub-C1ZaaI05.js → excalidraw-mermaid-stub-LpuTrLnr.js} +1 -1
  100. package/dist/client/assets/excalidrawEditor-BY5rq_Bn.js +2 -0
  101. package/dist/client/assets/{fa-IR-26LZG4PM-CxLc7ohL.js → fa-IR-26LZG4PM-ViTdxAWX.js} +1 -1
  102. package/dist/client/assets/{factor-Cc9mS1OI.js → factor-DMvifS-k.js} +1 -1
  103. package/dist/client/assets/{fi-FI-6YS4KDE4-DtYLOEJY.js → fi-FI-6YS4KDE4-BTBRGd69.js} +1 -1
  104. package/dist/client/assets/{flowDiagram-PKNHOUZH-BIJd4wAz.js → flowDiagram-PKNHOUZH-DF4dDV_8.js} +1 -1
  105. package/dist/client/assets/{fr-FR-BRLLPTZC-9O_U5gdi.js → fr-FR-BRLLPTZC-z-POHcHJ.js} +1 -1
  106. package/dist/client/assets/{ganttDiagram-A5KZAMGK-BiMwicnp.js → ganttDiagram-A5KZAMGK-CwrN53Gu.js} +1 -1
  107. package/dist/client/assets/gitGraph-HDMCJU4V-DbS2XnWK.js +1 -0
  108. package/dist/client/assets/{gitGraphDiagram-K3NZZRJ6-lk_paRel.js → gitGraphDiagram-K3NZZRJ6-BV9w0K-N.js} +1 -1
  109. package/dist/client/assets/{gl-ES-OKUZTLYG-Bb7TO64O.js → gl-ES-OKUZTLYG-BQtfDFNk.js} +1 -1
  110. package/dist/client/assets/{graphlib-B2nPo9Z4.js → graphlib-B7v-yqry.js} +1 -1
  111. package/dist/client/assets/{he-IL-26MGYIU7-CQW1igm9.js → he-IL-26MGYIU7-Dyw-xS4W.js} +1 -1
  112. package/dist/client/assets/{hi-IN-Q4ZOGTP2-BM91ENLs.js → hi-IN-Q4ZOGTP2-BqENUkZA.js} +1 -1
  113. package/dist/client/assets/{hu-HU-P2OXPSN5-HiGbsUwM.js → hu-HU-P2OXPSN5-D1HGK0_M.js} +1 -1
  114. package/dist/client/assets/{id-ID-2EIKXYN6-DEG8vRZ2.js → id-ID-2EIKXYN6-BEjyfllL.js} +1 -1
  115. package/dist/client/assets/image-32MOCVDX-BBXPyAeU.js +1 -0
  116. package/dist/client/assets/index-C95nV7Tl.css +1 -0
  117. package/dist/client/assets/index-GE56R5t4.js +2 -0
  118. package/dist/client/assets/info-3K5VOQVL-Bre4VStM.js +1 -0
  119. package/dist/client/assets/infoDiagram-LFFYTUFH-CuUbZqrG.js +2 -0
  120. package/dist/client/assets/{isEmpty-DGNCKhlT.js → isEmpty-CLDc0Kt_.js} +1 -1
  121. package/dist/client/assets/{ishikawaDiagram-PHBUUO56-CE3HierS.js → ishikawaDiagram-PHBUUO56-CmO_FyHY.js} +1 -1
  122. package/dist/client/assets/{it-IT-4CFKVXI2-DSrGqCKD.js → it-IT-4CFKVXI2-C24G-VcQ.js} +1 -1
  123. package/dist/client/assets/{ja-JP-MAND2Z4V-OFpEymIv.js → ja-JP-MAND2Z4V-DLhvsdYk.js} +1 -1
  124. package/dist/client/assets/javascript-DdEc60Aj.js +1 -0
  125. package/dist/client/assets/{journeyDiagram-4ABVD52K-CzoczPjW.js → journeyDiagram-4ABVD52K-DF4HAYLk.js} +1 -1
  126. package/dist/client/assets/{jsx-runtime-DRYOYO9I.js → jsx-runtime-DJkgQklN.js} +1 -1
  127. package/dist/client/assets/{kaa-HQRTCXTJ-CpOJ_vn4.js → kaa-HQRTCXTJ-DC8l3BuJ.js} +1 -1
  128. package/dist/client/assets/{kab-KAB-JKIKKTGH-CNPzzJH6.js → kab-KAB-JKIKKTGH-DVFog4hd.js} +1 -1
  129. package/dist/client/assets/{kanban-definition-K7BYSVSG-Cr6iNYl4.js → kanban-definition-K7BYSVSG-nQoJJABn.js} +1 -1
  130. package/dist/client/assets/{kk-KZ-HXQ63ZFC-CgtjU5JI.js → kk-KZ-HXQ63ZFC-CULUfwMg.js} +1 -1
  131. package/dist/client/assets/{km-KH-PKL3LSGX-BAJh8UnF.js → km-KH-PKL3LSGX-CnLlEv7i.js} +1 -1
  132. package/dist/client/assets/{ko-KR-KXLREZX3-BshOksBX.js → ko-KR-KXLREZX3-DNKXAYCx.js} +1 -1
  133. package/dist/client/assets/{ku-TR-MJ4IER3X-Bi3YtiD-.js → ku-TR-MJ4IER3X-DLUiMa4h.js} +1 -1
  134. package/dist/client/assets/{line-D2NTyhqv.js → line-DvLjT0Gv.js} +1 -1
  135. package/dist/client/assets/{linear-DntNI0Uj.js → linear-CEb8O7zv.js} +1 -1
  136. package/dist/client/assets/{lt-LT-H6WFQ6FJ-DQ2W0g7h.js → lt-LT-H6WFQ6FJ-CoFiurzb.js} +1 -1
  137. package/dist/client/assets/{lv-LV-GOCK6SJW-DeqTo8T7.js → lv-LV-GOCK6SJW-DzeEvHxX.js} +1 -1
  138. package/dist/client/assets/main-AejRWvom.js +600 -0
  139. package/dist/client/assets/{mermaid-parser.core-Bh2Ta9ou.js → mermaid-parser.core-DllATXd7.js} +2 -2
  140. package/dist/client/assets/{mermaid-runtime-CLtta79D.js → mermaid-runtime-DbCLD8Ih.js} +3 -3
  141. package/dist/client/assets/{mindmap-definition-YRQLILUH-DufPyQO8.js → mindmap-definition-YRQLILUH-DaMULsE9.js} +1 -1
  142. package/dist/client/assets/{mr-IN-IXVLDMEQ-CnH5Wjc7.js → mr-IN-IXVLDMEQ-C5i5R9H5.js} +1 -1
  143. package/dist/client/assets/{my-MM-YG6MYTTD-BefEpouO.js → my-MM-YG6MYTTD-DvwceqO-.js} +1 -1
  144. package/dist/client/assets/{nb-NO-XGWJISD2-CNRrlrPY.js → nb-NO-XGWJISD2-BUhX8hX0.js} +1 -1
  145. package/dist/client/assets/{nl-NL-XVDVCPNC-CuLTw3kL.js → nl-NL-XVDVCPNC-BV6Y0-Q0.js} +1 -1
  146. package/dist/client/assets/{nn-NO-EMX5MJX5-NHFRnQkl.js → nn-NO-EMX5MJX5-CF_bB9Jq.js} +1 -1
  147. package/dist/client/assets/{nsis-YyYYKQIB.js → nsis-42hkxqLx.js} +1 -1
  148. package/dist/client/assets/{oc-FR-ROEINTVO-8kCbAtcr.js → oc-FR-ROEINTVO-CiNI8fg8.js} +1 -1
  149. package/dist/client/assets/{ordinal-BuNU9EgZ.js → ordinal-fW5lWpNM.js} +1 -1
  150. package/dist/client/assets/{pa-IN-ZYN6SUDY-Dh8USSIe.js → pa-IN-ZYN6SUDY-CsbIU150.js} +1 -1
  151. package/dist/client/assets/packet-RMMSAZCW-B7lnOkip.js +1 -0
  152. package/dist/client/assets/percentages-5DKR754L-Dp1vwDEq.js +1 -0
  153. package/dist/client/assets/{pica-BG8AR4mo.js → pica-BbcTjVoI.js} +1 -1
  154. package/dist/client/assets/{clone-CMmi3x0H.js → pie-UPGHQEXC-D0gHdMgb.js} +1 -1
  155. package/dist/client/assets/{pieDiagram-SKSYHLDU--YidSJxi.js → pieDiagram-SKSYHLDU-BPFp1WBd.js} +1 -1
  156. package/dist/client/assets/{pl-PL-6VTG7PHC-BMbgP62B.js → pl-PL-6VTG7PHC-D1Nnx7R3.js} +1 -1
  157. package/dist/client/assets/preview-render-compiler-BYiRMsPq.js +1 -0
  158. package/dist/client/assets/{preview-render-profile-BjrQVCWD.js → preview-render-profile-DQsam_Ol.js} +2 -2
  159. package/dist/client/assets/{preview-render-worker-DbMTa0Y6.js → preview-render-worker-CcASh3y3.js} +1 -1
  160. package/dist/client/assets/{pt-BR-5YFKRR5G-CyrwFw_N.js → pt-BR-5YFKRR5G-DEDTeWEP.js} +1 -1
  161. package/dist/client/assets/{pt-PT-GEIXXZ67-SpK5vaGR.js → pt-PT-GEIXXZ67-BpqPVZom.js} +1 -1
  162. package/dist/client/assets/{pug-CM36H1hd.js → pug-BANqyQJ9.js} +1 -1
  163. package/dist/client/assets/{quadrantDiagram-337W2JSQ-n7EIFT_f.js → quadrantDiagram-337W2JSQ-DjPGrcJM.js} +1 -1
  164. package/dist/client/assets/{quick-switcher-controller-CKrGBgcl.js → quick-switcher-controller-n6Jhu3Z9.js} +1 -1
  165. package/dist/client/assets/radar-KQ55EAFF-D48du2CB.js +1 -0
  166. package/dist/client/assets/{requirementDiagram-Z7DCOOCP-BrquJATD.js → requirementDiagram-Z7DCOOCP-BmiYAMKV.js} +1 -1
  167. package/dist/client/assets/{ro-RO-E2P6TFZI-90dn2iUp.js → ro-RO-E2P6TFZI-4vRM1jVT.js} +1 -1
  168. package/dist/client/assets/{room-zaSnuMv5.js → room-DyhEnogt.js} +1 -1
  169. package/dist/client/assets/{ru-RU-YBIIY43T-Cl52NZnQ.js → ru-RU-YBIIY43T-Cfbhz4Ew.js} +1 -1
  170. package/dist/client/assets/{sankeyDiagram-WA2Y5GQK-IpD6lgfO.js → sankeyDiagram-WA2Y5GQK-BEoPAlcC.js} +1 -1
  171. package/dist/client/assets/{sequenceDiagram-2WXFIKYE-DxZ6glIZ.js → sequenceDiagram-2WXFIKYE-BXqojuDS.js} +1 -1
  172. package/dist/client/assets/{si-LK-673C2CI2-DMSUxT-y.js → si-LK-673C2CI2-0muNkOEn.js} +1 -1
  173. package/dist/client/assets/{sk-SK-CKZHQ4AP-DUDai5Oe.js → sk-SK-CKZHQ4AP-EnLgxyJL.js} +1 -1
  174. package/dist/client/assets/{sl-SI-557H2GWM-BbLeATfl.js → sl-SI-557H2GWM-BN6npqVj.js} +1 -1
  175. package/dist/client/assets/{src-H0-aBY9y.js → src-DUDi_GeV.js} +1 -1
  176. package/dist/client/assets/{stateDiagram-RAJIS63D-A-rbDcdL.js → stateDiagram-RAJIS63D-DTR2sQs8.js} +1 -1
  177. package/dist/client/assets/stateDiagram-v2-FVOUBMTO-BwVII-kJ.js +1 -0
  178. package/dist/client/assets/subset-shared.chunk-C6pUl_Oh.js +1 -0
  179. package/dist/client/assets/{subset-worker.chunk-B7pmUG1o.js → subset-worker.chunk-1FoL7eL0.js} +1 -1
  180. package/dist/client/assets/{sv-SE-XOPKKDWS-BBa-AcMf.js → sv-SE-XOPKKDWS-D3VSs2SQ.js} +1 -1
  181. package/dist/client/assets/{ta-IN-XBH7DQI3-9uR7ADzx.js → ta-IN-XBH7DQI3-BKR1mqfo.js} +1 -1
  182. package/dist/client/assets/{th-TH-TOCWH3R4-Box9U3ny.js → th-TH-TOCWH3R4-Bek1dQcW.js} +1 -1
  183. package/dist/client/assets/{timeline-definition-YZTLITO2-DuTppHot.js → timeline-definition-YZTLITO2-BP09qqIh.js} +1 -1
  184. package/dist/client/assets/{tr-TR-GXW6CYY5-BA8pS3C5.js → tr-TR-GXW6CYY5-xdLb7Dgi.js} +1 -1
  185. package/dist/client/assets/treemap-KZPCXAKY-BBRObSiT.js +1 -0
  186. package/dist/client/assets/{uk-UA-IJKTNUDG-B6hoHqzM.js → uk-UA-IJKTNUDG-Cd0AhTti.js} +1 -1
  187. package/dist/client/assets/{uz-UZ-TBZZEA4V-CPuftH33.js → uz-UZ-TBZZEA4V-DQH4e-QC.js} +1 -1
  188. package/dist/client/assets/{vault-api-client-D7C_m9eq.js → vault-api-client-fFJfUVXM.js} +2 -2
  189. package/dist/client/assets/vault-utils-BM4i-Ofm.js +1 -0
  190. package/dist/client/assets/{vennDiagram-LZ73GAT5-J0SBkXj8.js → vennDiagram-LZ73GAT5-BvSlhnT0.js} +1 -1
  191. package/dist/client/assets/{vi-VN-MULSGNVB-yRFd9OXl.js → vi-VN-MULSGNVB-BYDcPrAo.js} +1 -1
  192. package/dist/client/assets/{xychartDiagram-JWTSCODW-Dn9dSYxn.js → xychartDiagram-JWTSCODW-BvZ78F0j.js} +1 -1
  193. package/dist/client/assets/{yjs-provider-reset-guard-BcnBGrS9.js → yjs-provider-reset-guard-Cj00kgyM.js} +1 -1
  194. package/dist/client/assets/{zh-CN-MVX3E32U-VzUIXB4K.js → zh-CN-MVX3E32U-BqZQ-18-.js} +1 -1
  195. package/dist/client/assets/{zh-HK-JNU5RLIE-i0G2jHO_.js → zh-HK-JNU5RLIE-CbF8Agwa.js} +1 -1
  196. package/dist/client/assets/{zh-TW-LENVCA6T-BkHZg3jv.js → zh-TW-LENVCA6T-CepoVycx.js} +1 -1
  197. package/dist/client/drawio-editor.html +38 -0
  198. package/dist/client/excalidraw-editor.html +3 -3
  199. package/dist/client/index.html +16 -22
  200. package/package.json +1 -1
  201. package/src/client/app/drawio-editor-entry.js +4 -0
  202. package/src/client/app/drawio-editor.html +36 -0
  203. package/src/client/app/index.html +12 -18
  204. package/src/client/application/app-shell/ui-feature-identity.js +5 -2
  205. package/src/client/application/app-shell/ui-feature-shell.js +28 -2
  206. package/src/client/application/app-shell/workspace-feature.js +9 -0
  207. package/src/client/application/preview-render-compiler.js +18 -1
  208. package/src/client/application/preview-render-profile.js +5 -1
  209. package/src/client/application/workspace-chrome-controller.js +6 -0
  210. package/src/client/application/workspace-coordinator.js +12 -4
  211. package/src/client/application/workspace-preview-controller.js +65 -3
  212. package/src/client/application/workspace-route-controller.js +6 -3
  213. package/src/client/bootstrap/collabmd-app-shell.js +20 -0
  214. package/src/client/domain/runtime-paths.js +1 -0
  215. package/src/client/domain/vault-paths.js +24 -0
  216. package/src/client/drawio-editor.js +479 -0
  217. package/src/client/infrastructure/browser-navigation-port.js +2 -2
  218. package/src/client/infrastructure/drawio-lease-client.js +345 -0
  219. package/src/client/infrastructure/runtime-config.js +5 -1
  220. package/src/client/infrastructure/vault-api-client.js +9 -0
  221. package/src/client/presentation/comments-panel.js +2 -2
  222. package/src/client/presentation/create-menu-presenter.js +274 -0
  223. package/src/client/presentation/drawio-embed-controller.js +500 -0
  224. package/src/client/presentation/file-action-controller.js +126 -16
  225. package/src/client/presentation/file-explorer-controller.js +1 -0
  226. package/src/client/presentation/file-explorer-view.js +10 -2
  227. package/src/client/presentation/file-tree-state.js +1 -0
  228. package/src/client/presentation/theme-controller.js +21 -4
  229. package/src/client/styles/components/navigation.css +24 -0
  230. package/src/client/styles/features/diagram-preview.css +119 -1
  231. package/src/client/styles/layout/responsive.css +76 -7
  232. package/src/client/styles/layout/shell.css +41 -0
  233. package/src/client/styles/layout/sidebar.css +194 -3
  234. package/src/client/styles/layout/view-modes.css +1 -0
  235. package/src/domain/drawio-room.js +47 -0
  236. package/src/domain/file-kind.js +13 -2
  237. package/src/server/config/env.js +5 -0
  238. package/src/server/create-app-server.js +4 -2
  239. package/src/server/domain/collaboration/collaboration-document-store.js +11 -0
  240. package/src/server/domain/collaboration/collaboration-room.js +5 -0
  241. package/src/server/infrastructure/http/create-static-handler.js +2 -0
  242. package/src/server/infrastructure/http/create-vault-api-command-handler.js +5 -0
  243. package/src/server/infrastructure/http/create-vault-api-query-handler.js +5 -0
  244. package/src/server/infrastructure/persistence/path-utils.js +1 -1
  245. package/src/server/infrastructure/persistence/vault-content-adapter.js +6 -0
  246. package/src/server/infrastructure/persistence/vault-file-store.js +8 -0
  247. package/dist/client/assets/architecture-PBZL5I3N-0dui3p7-.js +0 -1
  248. package/dist/client/assets/channel-CVwYcdlk.js +0 -1
  249. package/dist/client/assets/chunk-GLR3WWYH-CqGMuOti.js +0 -2
  250. package/dist/client/assets/chunk-HHEYEP7N-Czb3OX2v.js +0 -1
  251. package/dist/client/assets/chunk-QZHKN3VN-DU7fMcaP.js +0 -1
  252. package/dist/client/assets/classDiagram-VBA2DB6C-CBSmkOe7.js +0 -1
  253. package/dist/client/assets/classDiagram-v2-RAHNMMFH-CJarRy94.js +0 -1
  254. package/dist/client/assets/dist-CNcGnl0T.js +0 -1
  255. package/dist/client/assets/dist-CnKD4Y92.js +0 -1
  256. package/dist/client/assets/dist-DL-EaOiC.js +0 -1
  257. package/dist/client/assets/dist-mDBaykBY.js +0 -1
  258. package/dist/client/assets/excalidrawEditor-wgJb2hmP.js +0 -2
  259. package/dist/client/assets/gitGraph-HDMCJU4V-iPo6Lz4k.js +0 -1
  260. package/dist/client/assets/image-32MOCVDX-viHDtJGM.js +0 -1
  261. package/dist/client/assets/index-B6m_KATZ.css +0 -1
  262. package/dist/client/assets/index-D20GlrKF.js +0 -2
  263. package/dist/client/assets/info-3K5VOQVL-DePZHLA4.js +0 -1
  264. package/dist/client/assets/infoDiagram-LFFYTUFH-CiAT_kJZ.js +0 -2
  265. package/dist/client/assets/javascript-DcX_cm1u.js +0 -1
  266. package/dist/client/assets/main-DONXLDrC.js +0 -599
  267. package/dist/client/assets/packet-RMMSAZCW-BVw0pEk-.js +0 -1
  268. package/dist/client/assets/percentages-5DKR754L-RQFE76Sg.js +0 -1
  269. package/dist/client/assets/pie-UPGHQEXC-ChUWa5qF.js +0 -1
  270. package/dist/client/assets/preview-render-compiler-CWBdv5tw.js +0 -1
  271. package/dist/client/assets/radar-KQ55EAFF-B4gMcoDX.js +0 -1
  272. package/dist/client/assets/stateDiagram-v2-FVOUBMTO-CKhOHHLe.js +0 -1
  273. package/dist/client/assets/subset-shared.chunk-93a-Md8B.js +0 -1
  274. package/dist/client/assets/treemap-KZPCXAKY-on28XbV_.js +0 -1
  275. package/dist/client/assets/vault-utils-Js2T-e-h.js +0 -1
  276. /package/dist/client/assets/{apl-khHl8vBy.js → apl-CJPt5sW7.js} +0 -0
  277. /package/dist/client/assets/{array-BTHl6o_K.js → array-e43ctQmx.js} +0 -0
  278. /package/dist/client/assets/{asciiarmor-7xnRhA8w.js → asciiarmor-D0oCypDs.js} +0 -0
  279. /package/dist/client/assets/{asn1-_x-T1mFB.js → asn1-8xgVfRoq.js} +0 -0
  280. /package/dist/client/assets/{asterisk-Ct2NwVUw.js → asterisk-B5kv5AQp.js} +0 -0
  281. /package/dist/client/assets/{brainfuck-CAmdgqDN.js → brainfuck-Dh7M1Ucz.js} +0 -0
  282. /package/dist/client/assets/{chunk-3PELD44J-BvOh9EJp.js → chunk-3PELD44J-D4qJ8fq7.js} +0 -0
  283. /package/dist/client/assets/{chunk-A66AFZZU-D0IDIehU.js → chunk-A66AFZZU-CJuwmF1m.js} +0 -0
  284. /package/dist/client/assets/{chunk-Cq_f4orQ.js → chunk-D-fkvfCP.js} +0 -0
  285. /package/dist/client/assets/{chunk-ETSVUAFD-BnK5BhxL.js → chunk-ETSVUAFD-C8C1JDu2.js} +0 -0
  286. /package/dist/client/assets/{clike-BJcwKCE7.js → clike-zYz_LEkw.js} +0 -0
  287. /package/dist/client/assets/{clojure-uSRILJfc.js → clojure-CdWlIeQh.js} +0 -0
  288. /package/dist/client/assets/{cmake-j5-7WxMz.js → cmake-wWuF5ifR.js} +0 -0
  289. /package/dist/client/assets/{cobol-cnURuZ43.js → cobol-D3WLbLVy.js} +0 -0
  290. /package/dist/client/assets/{coffeescript-iQD116iO.js → coffeescript-DRtt-5a2.js} +0 -0
  291. /package/dist/client/assets/{commonlisp-DGzExN9H.js → commonlisp-DJV75lsU.js} +0 -0
  292. /package/dist/client/assets/{crystal-CnjkM1-q.js → crystal-C7mEw92C.js} +0 -0
  293. /package/dist/client/assets/{css-C-Nv0c9S.js → css-_6KgQwpu.js} +0 -0
  294. /package/dist/client/assets/{cypher-hxitpny2.js → cypher-B3uWx7jm.js} +0 -0
  295. /package/dist/client/assets/{cytoscape.esm-0xzpJ66h.js → cytoscape.esm-BbbuX1pV.js} +0 -0
  296. /package/dist/client/assets/{d-BtdAWoTB.js → d-D3kOh3JF.js} +0 -0
  297. /package/dist/client/assets/{defaultLocale-PG3Gbk8q.js → defaultLocale-DTn6RiRA.js} +0 -0
  298. /package/dist/client/assets/{diff-f_ZkWiYS.js → diff-CoamybWh.js} +0 -0
  299. /package/dist/client/assets/{dist-CCxn5Mk-.js → dist-yRVuIDKu.js} +0 -0
  300. /package/dist/client/assets/{dtd-B6xdyNDx.js → dtd-BjGQwMWL.js} +0 -0
  301. /package/dist/client/assets/{dylan-BzUoKQTn.js → dylan-B9W3X2GI.js} +0 -0
  302. /package/dist/client/assets/{ebnf-BlTaNq16.js → ebnf-d5D0otVn.js} +0 -0
  303. /package/dist/client/assets/{ecl-CffPaRqR.js → ecl-C5Q_IBPt.js} +0 -0
  304. /package/dist/client/assets/{eiffel-B66P6crR.js → eiffel-BQA_6I3b.js} +0 -0
  305. /package/dist/client/assets/{elm-DIwllOLv.js → elm-unPS17vB.js} +0 -0
  306. /package/dist/client/assets/{erlang-DwYA67QU.js → erlang-R8nOsUTx.js} +0 -0
  307. /package/dist/client/assets/{excalidraw-mermaid-stub-BtCKxPxK.js → excalidraw-mermaid-stub-BJq3n7pR.js} +0 -0
  308. /package/dist/client/assets/{fcl-DD6dBrvI.js → fcl-CVAfW9wK.js} +0 -0
  309. /package/dist/client/assets/{forth-DFLLMv-i.js → forth-DHbsK8X8.js} +0 -0
  310. /package/dist/client/assets/{fortran-CNZVMQdQ.js → fortran-4jMwxW9-.js} +0 -0
  311. /package/dist/client/assets/{gas-DyiCLKEJ.js → gas-zC_XGrQT.js} +0 -0
  312. /package/dist/client/assets/{gherkin-CHgE7bAJ.js → gherkin-CPBQou3u.js} +0 -0
  313. /package/dist/client/assets/{groovy-BZc3It91.js → groovy-Cqopym0q.js} +0 -0
  314. /package/dist/client/assets/{haskell-DJ4hTi3A.js → haskell-imzbNPgF.js} +0 -0
  315. /package/dist/client/assets/{haxe-sJjg_lHN.js → haxe-Doh225Ku.js} +0 -0
  316. /package/dist/client/assets/{http-DwAi3Ho1.js → http-j4R5uEso.js} +0 -0
  317. /package/dist/client/assets/{idl-CCIDRFwr.js → idl-l9d1__Hj.js} +0 -0
  318. /package/dist/client/assets/{image-blob-reduce.esm-D4wBfumB.js → image-blob-reduce.esm-CQfEe3_g.js} +0 -0
  319. /package/dist/client/assets/{init-Bb7Vx0CW.js → init-207s1ipc.js} +0 -0
  320. /package/dist/client/assets/{isArrayLikeObject-DxEG9mY7.js → isArrayLikeObject-ZCMZRndo.js} +0 -0
  321. /package/dist/client/assets/{javascript-BlUxwA0O.js → javascript-9dQYqEHJ.js} +0 -0
  322. /package/dist/client/assets/{julia-BU0qBb1w.js → julia-ByGjwiLn.js} +0 -0
  323. /package/dist/client/assets/{katex-DoaSnJ5T.js → katex-XOVNa2d9.js} +0 -0
  324. /package/dist/client/assets/{livescript-uk34VDGK.js → livescript-B8l2m7xO.js} +0 -0
  325. /package/dist/client/assets/{lua-ClQGOv84.js → lua-DrfAKnQQ.js} +0 -0
  326. /package/dist/client/assets/{math-DQo53qzt.js → math-BlD6rf4Z.js} +0 -0
  327. /package/dist/client/assets/{mathematica-BDmKpvRN.js → mathematica-DYk_2Ik_.js} +0 -0
  328. /package/dist/client/assets/{mbox-T5kA6jAQ.js → mbox-BOzVHzVt.js} +0 -0
  329. /package/dist/client/assets/{mirc-DRRKKkcJ.js → mirc-DStbUCmv.js} +0 -0
  330. /package/dist/client/assets/{mllike-iZXopbca.js → mllike-BmhQglqS.js} +0 -0
  331. /package/dist/client/assets/{modelica-DP8T2DKM.js → modelica-ZElxtbqD.js} +0 -0
  332. /package/dist/client/assets/{mscgen-DXIRw2qg.js → mscgen-f-YxHPr0.js} +0 -0
  333. /package/dist/client/assets/{mumps-BKUS05-y.js → mumps-B79RJJhR.js} +0 -0
  334. /package/dist/client/assets/{nginx-CzYOtr2G.js → nginx-c--axfuP.js} +0 -0
  335. /package/dist/client/assets/{ntriples-ZgZuaYbW.js → ntriples-CgD4YZZC.js} +0 -0
  336. /package/dist/client/assets/{octave-CnOndUN3.js → octave-BQk-bCrp.js} +0 -0
  337. /package/dist/client/assets/{oz-DjW322Rn.js → oz-DPCSPrx5.js} +0 -0
  338. /package/dist/client/assets/{pascal-BdeW5uRX.js → pascal-C1iGzZ53.js} +0 -0
  339. /package/dist/client/assets/{path-BxyPWlyM.js → path-CDSE7Nw0.js} +0 -0
  340. /package/dist/client/assets/{perl-_CDvIe1D.js → perl-DQ3L8ffg.js} +0 -0
  341. /package/dist/client/assets/{pig-inWo_B4W.js → pig-B4S8acys.js} +0 -0
  342. /package/dist/client/assets/{powershell-CO5KWJsy.js → powershell-BhSVdaeY.js} +0 -0
  343. /package/dist/client/assets/{preload-helper-Chd9yIcd.js → preload-helper-I1wKxk_B.js} +0 -0
  344. /package/dist/client/assets/{properties-CjVp4a6M.js → properties-B2nfdtxE.js} +0 -0
  345. /package/dist/client/assets/{protobuf-DybFT2KT.js → protobuf-BFW_iwVN.js} +0 -0
  346. /package/dist/client/assets/{puppet-Dw_NDgko.js → puppet-C1-CkyhQ.js} +0 -0
  347. /package/dist/client/assets/{python-2pwcWoy7.js → python-CYXPDD4I.js} +0 -0
  348. /package/dist/client/assets/{q-C47l8kdS.js → q-Bub5Xmxm.js} +0 -0
  349. /package/dist/client/assets/{r-BmcXGVZ5.js → r-C59ONZO2.js} +0 -0
  350. /package/dist/client/assets/{rough.esm-C7Rbwqik.js → rough.esm-xhKrnp4d.js} +0 -0
  351. /package/dist/client/assets/{roundRect-CDlbNkEg.js → roundRect-CTz-kxJH.js} +0 -0
  352. /package/dist/client/assets/{rpm-Cm0x5xT_.js → rpm-DiM-R-wd.js} +0 -0
  353. /package/dist/client/assets/{ruby-Dl-I4pxG.js → ruby-DTqG95KX.js} +0 -0
  354. /package/dist/client/assets/{runtime-config-loader--hxFvh23.js → runtime-config-loader-DwWsKc1-.js} +0 -0
  355. /package/dist/client/assets/{sas-Bxkg4GVX.js → sas-BjdhmGHX.js} +0 -0
  356. /package/dist/client/assets/{scheme-CO3zogua.js → scheme-CWNdoI17.js} +0 -0
  357. /package/dist/client/assets/{shell-gYrTvBTP.js → shell-iaorleRB.js} +0 -0
  358. /package/dist/client/assets/{sieve-COX4Kn1X.js → sieve-D8m9Etmd.js} +0 -0
  359. /package/dist/client/assets/{simple-mode-BY9UFVy7.js → simple-mode-kdHrpFjq.js} +0 -0
  360. /package/dist/client/assets/{smalltalk-Dma1z5eE.js → smalltalk-28WS1mUj.js} +0 -0
  361. /package/dist/client/assets/{solr-BvhcdkNH.js → solr-x8qQ6eAP.js} +0 -0
  362. /package/dist/client/assets/{sparql-gX7W9xeh.js → sparql-BvLmi7B6.js} +0 -0
  363. /package/dist/client/assets/{spreadsheet-BnlQRxWz.js → spreadsheet-BuqSwScP.js} +0 -0
  364. /package/dist/client/assets/{sql-CwA10oIk.js → sql-B8tBavZM.js} +0 -0
  365. /package/dist/client/assets/{stex-DhLUylSV.js → stex-Bx4bLPxI.js} +0 -0
  366. /package/dist/client/assets/{stylus-9ZGSp3KB.js → stylus-CMEhEjuV.js} +0 -0
  367. /package/dist/client/assets/{swift-CurfpLXH.js → swift-wY9II8hY.js} +0 -0
  368. /package/dist/client/assets/{tcl-BPvzXR-t.js → tcl-BGywDEsi.js} +0 -0
  369. /package/dist/client/assets/{textile-BUq3vgBH.js → textile-K_mvsehZ.js} +0 -0
  370. /package/dist/client/assets/{tiddlywiki-DRR6E4hS.js → tiddlywiki-BrpeQ34q.js} +0 -0
  371. /package/dist/client/assets/{tiki-C1XMixgx.js → tiki-z2eQQPgI.js} +0 -0
  372. /package/dist/client/assets/{toml-BQjoWSzq.js → toml-Dcu7S7XA.js} +0 -0
  373. /package/dist/client/assets/{troff-DbgTp3Cj.js → troff-Djlumm7T.js} +0 -0
  374. /package/dist/client/assets/{ttcn-1OxchGWH.js → ttcn-XqU6tthJ.js} +0 -0
  375. /package/dist/client/assets/{ttcn-cfg-CC8OhyHu.js → ttcn-cfg-BzD0wr3i.js} +0 -0
  376. /package/dist/client/assets/{turtle-D1WjVU4-.js → turtle-DcjXkx6M.js} +0 -0
  377. /package/dist/client/assets/{vb-Bf-XXYNJ.js → vb-DV4y2QrD.js} +0 -0
  378. /package/dist/client/assets/{vbscript-HeSyWuOi.js → vbscript-BS8DsYJ_.js} +0 -0
  379. /package/dist/client/assets/{velocity-CUkiDsJQ.js → velocity-CS6Ly2yV.js} +0 -0
  380. /package/dist/client/assets/{verilog-BFxB5RAN.js → verilog-DbEC7ose.js} +0 -0
  381. /package/dist/client/assets/{vhdl-BJUXQE-6.js → vhdl-DBLrW9bF.js} +0 -0
  382. /package/dist/client/assets/{webidl-advQMGTP.js → webidl-CnE8KY-y.js} +0 -0
  383. /package/dist/client/assets/{xquery-CNzoFgd7.js → xquery--K5Za5EW.js} +0 -0
  384. /package/dist/client/assets/{yacas-BsmlDKac.js → yacas-ClQfYBmX.js} +0 -0
  385. /package/dist/client/assets/{z80-Bnez4vZ_.js → z80-Dr2oR3X2.js} +0 -0
@@ -3,6 +3,7 @@ import {
3
3
  } from '../../domain/file-kind.js';
4
4
  import {
5
5
  composeVaultChildPath,
6
+ createDrawioStarter,
6
7
  createMarkdownStarter,
7
8
  createMermaidStarter,
8
9
  createPlantUmlStarter,
@@ -10,6 +11,7 @@ import {
10
11
  normalizeVaultPathInput,
11
12
  } from '../domain/vault-paths.js';
12
13
  import { createWorkspaceRequestId } from '../domain/workspace-request-id.js';
14
+ import { CreateMenuPresenter } from './create-menu-presenter.js';
13
15
 
14
16
  function getPathLeaf(path) {
15
17
  return String(path ?? '')
@@ -55,6 +57,9 @@ function withRequestId(payload, requestId) {
55
57
 
56
58
  export class FileActionController {
57
59
  constructor({
60
+ mobileBreakpointQuery = (typeof window !== 'undefined' && typeof window.matchMedia === 'function')
61
+ ? window.matchMedia('(max-width: 768px)')
62
+ : { matches: false },
58
63
  onFileDelete,
59
64
  onFileSelect,
60
65
  pendingWorkspaceRequestIds = null,
@@ -72,11 +77,7 @@ export class FileActionController {
72
77
  this.vaultClient = vaultClient;
73
78
  this.view = view;
74
79
  this.refresh = refresh;
75
- this.newFileButton = document.getElementById('newFileBtn');
76
- this.newDrawingButton = document.getElementById('newDrawingBtn');
77
- this.newMermaidButton = document.getElementById('newMermaidBtn');
78
- this.newPlantumlButton = document.getElementById('newPlantumlBtn');
79
- this.newFolderButton = document.getElementById('newFolderBtn');
80
+ this.createButton = document.getElementById('sidebarCreateBtn');
80
81
  this.refreshButton = document.getElementById('refreshFilesBtn');
81
82
  this.actionDialog = document.getElementById('fileActionDialog');
82
83
  this.actionForm = document.getElementById('fileActionForm');
@@ -89,16 +90,17 @@ export class FileActionController {
89
90
  this.actionNote = document.getElementById('fileActionNote');
90
91
  this.actionCancelButton = document.getElementById('fileActionCancel');
91
92
  this.actionSubmitButton = document.getElementById('fileActionSubmit');
93
+ this.createMenu = new CreateMenuPresenter({
94
+ mobileBreakpointQuery,
95
+ });
92
96
  this.pendingAction = null;
93
97
  this.actionBusy = false;
94
98
  }
95
99
 
96
100
  initialize() {
97
- this.newFileButton?.addEventListener('click', () => this.handleNewFile());
98
- this.newDrawingButton?.addEventListener('click', () => this.handleNewDrawing());
99
- this.newMermaidButton?.addEventListener('click', () => this.handleNewMermaid());
100
- this.newPlantumlButton?.addEventListener('click', () => this.handleNewPlantUml());
101
- this.newFolderButton?.addEventListener('click', () => this.handleNewFolder());
101
+ this.createButton?.addEventListener('click', () => {
102
+ this.openRootCreateMenu({ anchor: this.createButton });
103
+ });
102
104
  this.refreshButton?.addEventListener('click', () => this.refresh());
103
105
  this.actionCancelButton?.addEventListener('click', () => this.closeActionDialog());
104
106
  this.actionForm?.addEventListener('submit', (event) => {
@@ -108,31 +110,78 @@ export class FileActionController {
108
110
  this.actionDialog?.addEventListener('close', () => this.resetActionDialog());
109
111
  }
110
112
 
111
- createContextMenuItems(parentDir = '') {
113
+ getCreateActions({ parentDir = '' } = {}) {
112
114
  return [
113
115
  {
114
- label: 'New markdown file',
116
+ contextLabel: 'New markdown file',
117
+ group: 'Note',
118
+ hint: 'Markdown',
119
+ icon: this.getCreateActionIcon('markdown'),
120
+ id: 'markdown',
121
+ label: 'Markdown note',
122
+ meta: '.md',
115
123
  onSelect: () => this.handleNewFile({ parentDir }),
116
124
  },
117
125
  {
118
- label: 'New Excalidraw drawing',
126
+ contextLabel: 'New Excalidraw drawing',
127
+ group: 'Diagram',
128
+ hint: 'Excalidraw',
129
+ icon: this.getCreateActionIcon('excalidraw'),
130
+ id: 'excalidraw',
131
+ label: 'Excalidraw drawing',
132
+ meta: '.excalidraw',
119
133
  onSelect: () => this.handleNewDrawing({ parentDir }),
120
134
  },
121
135
  {
122
- label: 'New Mermaid diagram',
136
+ contextLabel: 'New draw.io diagram',
137
+ group: 'Diagram',
138
+ hint: 'draw.io',
139
+ icon: this.getCreateActionIcon('drawio'),
140
+ id: 'drawio',
141
+ label: 'draw.io diagram',
142
+ meta: '.drawio',
143
+ onSelect: () => this.handleNewDrawio({ parentDir }),
144
+ },
145
+ {
146
+ contextLabel: 'New Mermaid diagram',
147
+ group: 'Diagram',
148
+ hint: 'Mermaid',
149
+ icon: this.getCreateActionIcon('mermaid'),
150
+ id: 'mermaid',
151
+ label: 'Mermaid diagram',
152
+ meta: '.mmd',
123
153
  onSelect: () => this.handleNewMermaid({ parentDir }),
124
154
  },
125
155
  {
126
- label: 'New PlantUML diagram',
156
+ contextLabel: 'New PlantUML diagram',
157
+ group: 'Diagram',
158
+ hint: 'PlantUML',
159
+ icon: this.getCreateActionIcon('plantuml'),
160
+ id: 'plantuml',
161
+ label: 'PlantUML diagram',
162
+ meta: '.puml',
127
163
  onSelect: () => this.handleNewPlantUml({ parentDir }),
128
164
  },
129
165
  {
130
- label: 'New folder',
166
+ contextLabel: 'New folder',
167
+ group: 'Structure',
168
+ hint: 'Folder',
169
+ icon: this.getCreateActionIcon('folder'),
170
+ id: 'folder',
171
+ label: 'Folder',
172
+ meta: 'folder',
131
173
  onSelect: () => this.handleNewFolder({ parentDir }),
132
174
  },
133
175
  ];
134
176
  }
135
177
 
178
+ createContextMenuItems(parentDir = '') {
179
+ return this.getCreateActions({ parentDir }).map((item) => ({
180
+ label: item.contextLabel,
181
+ onSelect: item.onSelect,
182
+ }));
183
+ }
184
+
136
185
  getDirectoryContextMenuItems(directoryPath) {
137
186
  return [
138
187
  ...this.createContextMenuItems(directoryPath),
@@ -168,6 +217,23 @@ export class FileActionController {
168
217
  }
169
218
  }
170
219
 
220
+ getCreateActionIcon(kind) {
221
+ switch (kind) {
222
+ case 'drawio':
223
+ case 'plantuml':
224
+ return '<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="7" height="6" rx="1"/><rect x="14" y="4" width="7" height="6" rx="1"/><rect x="8.5" y="14" width="7" height="6" rx="1"/><path d="M10 7h4"/><path d="M17.5 10v2.5"/><path d="M6.5 10v2.5"/><path d="M6.5 12.5h11"/></svg>';
225
+ case 'excalidraw':
226
+ return '<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 19l7-7 3 3-7 7-3-3z"/><path d="M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z"/><path d="M2 2l7.586 7.586"/><circle cx="11" cy="11" r="2"/></svg>';
227
+ case 'folder':
228
+ return '<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><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"/></svg>';
229
+ case 'mermaid':
230
+ return '<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 7.5c0-1.38 1.12-2.5 2.5-2.5 1.04 0 1.93.64 2.3 1.56A2.5 2.5 0 0 1 14 8.5v1"/><path d="M19 16.5c0 1.38-1.12 2.5-2.5 2.5-1.04 0-1.93-.64-2.3-1.56A2.5 2.5 0 0 1 10 15.5v-1"/><path d="M8 10.5h8"/><path d="M8 13.5h8"/><path d="M10 8.5v7"/><path d="M14 8.5v7"/></svg>';
231
+ case 'markdown':
232
+ default:
233
+ return '<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>';
234
+ }
235
+ }
236
+
171
237
  showError(message, error) {
172
238
  this.showToast(error?.message ? `${message}: ${error.message}` : message);
173
239
  }
@@ -237,6 +303,7 @@ export class FileActionController {
237
303
  }
238
304
 
239
305
  this.pendingAction = { requiresInput, emptyMessage, onSubmit };
306
+ this.createMenu.close({ restoreFocus: false });
240
307
  this.view?.removeContextMenu?.();
241
308
 
242
309
  this.actionTitle.textContent = title;
@@ -561,6 +628,19 @@ export class FileActionController {
561
628
  };
562
629
  }
563
630
 
631
+ openRootCreateMenu({ anchor = this.createButton } = {}) {
632
+ this.openCreateMenu({ anchor, parentDir: '' });
633
+ }
634
+
635
+ openCreateMenu({ anchor = this.createButton, parentDir = '' } = {}) {
636
+ this.view?.removeContextMenu?.();
637
+ this.createMenu.toggle({
638
+ anchor,
639
+ items: this.getCreateActions({ parentDir }),
640
+ title: 'Create',
641
+ });
642
+ }
643
+
564
644
  handleNewFile({ parentDir = '' } = {}) {
565
645
  const context = this.getCreateContext(parentDir);
566
646
 
@@ -669,6 +749,36 @@ export class FileActionController {
669
749
  });
670
750
  }
671
751
 
752
+ handleNewDrawio({ parentDir = '' } = {}) {
753
+ const context = this.getCreateContext(parentDir);
754
+
755
+ this.openActionDialog({
756
+ title: 'Create draw.io diagram',
757
+ copy: context.normalizedParentDir
758
+ ? 'Create a new `.drawio` diagram inside the selected folder.'
759
+ : 'Create a new `.drawio` diagram with a native starter document.',
760
+ label: `Diagram ${context.inputLabelSuffix}`,
761
+ hint: `${context.hintPrefix} ".drawio" is added automatically.`,
762
+ note: context.note,
763
+ placeholder: context.normalizedParentDir ? 'architecture' : 'diagrams/architecture',
764
+ submitLabel: 'Create diagram',
765
+ emptyMessage: 'Diagram path is required',
766
+ onSubmit: (value) => {
767
+ const normalizedPath = normalizeVaultPathInput(value);
768
+ if (!normalizedPath) {
769
+ this.showToast('Diagram path is required');
770
+ return false;
771
+ }
772
+
773
+ const starter = createDrawioStarter(composeVaultChildPath(context.normalizedParentDir, normalizedPath));
774
+ return this.createVaultFile(starter.path, starter.content, {
775
+ errorMessage: 'Failed to create draw.io diagram',
776
+ openAfterCreate: true,
777
+ });
778
+ },
779
+ });
780
+ }
781
+
672
782
  handleNewPlantUml({ parentDir = '' } = {}) {
673
783
  const context = this.getCreateContext(parentDir);
674
784
 
@@ -49,6 +49,7 @@ export class FileExplorerController {
49
49
  },
50
50
  });
51
51
  this.actionController = new FileActionController({
52
+ mobileBreakpointQuery,
52
53
  onFileDelete: this.onFileDelete,
53
54
  onFileSelect: this.onFileSelect,
54
55
  pendingWorkspaceRequestIds,
@@ -382,11 +382,15 @@ export class FileExplorerView {
382
382
  createFileItem({ activeFilePath, depth, filePath, fileType = 'file', name }) {
383
383
  const button = document.createElement('button');
384
384
  button.className = 'file-tree-item file-tree-file';
385
+ const isDrawio = fileType === 'drawio';
385
386
  const isExcalidraw = fileType === 'excalidraw';
386
387
  const isImage = fileType === 'image';
387
388
  const isMermaid = fileType === 'mermaid';
388
389
  const isPlantUml = fileType === 'plantuml';
389
390
 
391
+ if (isDrawio) {
392
+ button.classList.add('is-drawio');
393
+ }
390
394
  if (isExcalidraw) {
391
395
  button.classList.add('is-excalidraw');
392
396
  }
@@ -407,7 +411,7 @@ export class FileExplorerView {
407
411
  button.dataset.depth = depth;
408
412
  button.dataset.path = filePath;
409
413
  button.innerHTML = `
410
- ${this.getFileIconSvg({ isExcalidraw, isImage, isMermaid, isPlantUml })}
414
+ ${this.getFileIconSvg({ isDrawio, isExcalidraw, isImage, isMermaid, isPlantUml })}
411
415
  <span class="file-tree-name">${escapeHtml(stripVaultFileExtension(name))}</span>
412
416
  `;
413
417
 
@@ -529,7 +533,11 @@ export class FileExplorerView {
529
533
  return true;
530
534
  }
531
535
 
532
- getFileIconSvg({ isExcalidraw, isImage, isMermaid, isPlantUml }) {
536
+ getFileIconSvg({ isDrawio, isExcalidraw, isImage, isMermaid, isPlantUml }) {
537
+ if (isDrawio) {
538
+ return '<svg class="file-tree-icon" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="7" height="6" rx="1"/><rect x="14" y="4" width="7" height="6" rx="1"/><rect x="8.5" y="14" width="7" height="6" rx="1"/><path d="M10 7h4"/><path d="M17.5 10v2.5"/><path d="M6.5 10v2.5"/><path d="M6.5 12.5h11"/></svg>';
539
+ }
540
+
533
541
  if (isExcalidraw) {
534
542
  return '<svg class="file-tree-icon" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 19l7-7 3 3-7 7-3-3z"/><path d="M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z"/><path d="M2 2l7.586 7.586"/><circle cx="11" cy="11" r="2"/></svg>';
535
543
  }
@@ -15,6 +15,7 @@ function flattenTree(nodes, files = [], searchEntries = []) {
15
15
  if (
16
16
  node.type === 'file'
17
17
  || node.type === 'excalidraw'
18
+ || node.type === 'drawio'
18
19
  || node.type === 'mermaid'
19
20
  || node.type === 'plantuml'
20
21
  || node.type === 'image'
@@ -1,5 +1,5 @@
1
- const DARK_THEME_ICON = '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="5"/><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"/></svg>';
2
- const LIGHT_THEME_ICON = '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>';
1
+ const SUN_ICON = '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="5"/><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"/></svg>';
2
+ const MOON_ICON = '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>';
3
3
 
4
4
  export class ThemeController {
5
5
  constructor({ storageKey = 'collabmd-theme', onChange }) {
@@ -55,10 +55,27 @@ export class ThemeController {
55
55
  }
56
56
 
57
57
  updateToggleIcons() {
58
- const icon = this.currentTheme === 'dark' ? DARK_THEME_ICON : LIGHT_THEME_ICON;
58
+ const currentLabel = this.currentTheme === 'dark' ? 'Dark' : 'Light';
59
+ const nextLabel = this.currentTheme === 'dark' ? 'light' : 'dark';
60
+ const icon = this.currentTheme === 'dark' ? MOON_ICON : SUN_ICON;
59
61
 
60
62
  document.querySelectorAll('[data-theme-toggle]').forEach((button) => {
61
- button.innerHTML = icon;
63
+ const iconElement = button.querySelector('[data-theme-toggle-icon]');
64
+ const stateElement = button.querySelector('[data-theme-toggle-state]');
65
+
66
+ if (iconElement) {
67
+ iconElement.innerHTML = icon;
68
+ } else {
69
+ button.innerHTML = icon;
70
+ }
71
+
72
+ if (stateElement) {
73
+ stateElement.textContent = currentLabel;
74
+ stateElement.dataset.theme = this.currentTheme;
75
+ }
76
+
77
+ button.setAttribute('aria-label', `Theme: ${currentLabel}. Switch to ${nextLabel} mode`);
78
+ button.setAttribute('title', `Theme: ${currentLabel}. Switch to ${nextLabel} mode`);
62
79
  });
63
80
  }
64
81
  }
@@ -24,6 +24,30 @@
24
24
  white-space: nowrap;
25
25
  }
26
26
 
27
+ .toolbar-theme-icon {
28
+ display: inline-flex;
29
+ align-items: center;
30
+ justify-content: center;
31
+ flex-shrink: 0;
32
+ }
33
+
34
+ .toolbar-theme-button {
35
+ width: 32px;
36
+ min-width: 32px;
37
+ justify-content: center;
38
+ padding: 0;
39
+ overflow: hidden;
40
+ }
41
+
42
+ .toolbar-theme-button .ui-toolbar-button-label {
43
+ display: none !important;
44
+ }
45
+
46
+ .toolbar-theme-button .toolbar-theme-state {
47
+ display: none !important;
48
+ margin-left: auto;
49
+ }
50
+
27
51
  .ui-nav-tabs {
28
52
  display: flex;
29
53
  padding: 0 var(--space-2);
@@ -83,11 +83,129 @@
83
83
  }
84
84
 
85
85
  .excalidraw-embed,
86
- .excalidraw-embed-placeholder {
86
+ .excalidraw-embed-placeholder,
87
+ .drawio-embed,
88
+ .drawio-embed-placeholder {
87
89
  display: block;
88
90
  transition: box-shadow 0.18s ease;
89
91
  }
90
92
 
93
+ .drawio-embed {
94
+ width: 100%;
95
+ max-width: none;
96
+ overflow: hidden;
97
+ border: 1px solid var(--color-border);
98
+ border-radius: var(--radius-md);
99
+ background: var(--color-surface);
100
+ }
101
+
102
+ .drawio-embed.is-direct-file {
103
+ flex: 1;
104
+ }
105
+
106
+ .drawio-embed.is-static-preview {
107
+ display: flex;
108
+ flex-direction: column;
109
+ }
110
+
111
+ .drawio-embed-header {
112
+ display: flex;
113
+ align-items: center;
114
+ justify-content: space-between;
115
+ gap: var(--space-3);
116
+ min-height: 38px;
117
+ padding: var(--space-2) var(--space-3);
118
+ border-bottom: 1px solid var(--color-border);
119
+ background: var(--color-surface-raised);
120
+ }
121
+
122
+ .drawio-embed-label {
123
+ min-width: 0;
124
+ overflow: hidden;
125
+ color: var(--color-text-muted);
126
+ font-size: var(--text-xs);
127
+ font-weight: 600;
128
+ text-overflow: ellipsis;
129
+ white-space: nowrap;
130
+ }
131
+
132
+ .drawio-embed-btn {
133
+ flex-shrink: 0;
134
+ padding: 4px 10px;
135
+ border: 1px solid var(--color-border);
136
+ border-radius: var(--radius-xs);
137
+ background: var(--color-surface-2);
138
+ color: var(--color-text);
139
+ font-size: var(--text-xs);
140
+ cursor: pointer;
141
+ }
142
+
143
+ .drawio-embed-iframe {
144
+ width: 100%;
145
+ min-height: 420px;
146
+ border: 0;
147
+ background: transparent;
148
+ }
149
+
150
+ .drawio-embed-image-shell {
151
+ display: flex;
152
+ align-items: stretch;
153
+ justify-content: center;
154
+ width: 100%;
155
+ padding: 0;
156
+ border: 0;
157
+ background: var(--surface-embed-canvas);
158
+ cursor: pointer;
159
+ }
160
+
161
+ .drawio-embed-image {
162
+ display: block;
163
+ width: 100%;
164
+ height: auto;
165
+ background: transparent;
166
+ }
167
+
168
+ .drawio-export-iframe {
169
+ position: absolute;
170
+ width: 0;
171
+ height: 0;
172
+ border: 0;
173
+ opacity: 0;
174
+ pointer-events: none;
175
+ }
176
+
177
+ .drawio-viewer-shell {
178
+ display: flex;
179
+ justify-content: center;
180
+ overflow: hidden;
181
+ width: 100%;
182
+ min-height: 220px;
183
+ background: var(--surface-embed-canvas);
184
+ }
185
+
186
+ .drawio-viewer-frame {
187
+ display: flex;
188
+ justify-content: center;
189
+ width: 100%;
190
+ min-height: 220px;
191
+ background: var(--surface-embed-canvas);
192
+ cursor: pointer;
193
+ }
194
+
195
+ .drawio-viewer-frame svg,
196
+ .drawio-viewer-frame iframe,
197
+ .drawio-viewer-frame > div {
198
+ max-width: 100%;
199
+ margin-left: auto;
200
+ margin-right: auto;
201
+ }
202
+
203
+ .drawio-viewer-frame svg {
204
+ display: block;
205
+ margin-left: auto;
206
+ margin-right: auto;
207
+ }
208
+
91
209
  .excalidraw-embed-overlay-root {
92
210
  position: absolute;
93
211
  inset: 0;
@@ -4,11 +4,14 @@
4
4
  .input,
5
5
  .sidebar-search-input,
6
6
  .qs-input,
7
- .chat-input,
8
- .editor-container .cm-editor {
7
+ .chat-input {
9
8
  font-size: 16px;
10
9
  }
11
10
 
11
+ .editor-container .cm-editor {
12
+ font-size: 15px;
13
+ }
14
+
12
15
  .sidebar {
13
16
  position: fixed;
14
17
  top: 0;
@@ -64,6 +67,34 @@
64
67
  }
65
68
 
66
69
  .toolbar-presence-cluster {
70
+ display: inline-flex;
71
+ align-items: center;
72
+ min-width: 0;
73
+ }
74
+
75
+ .toolbar-presence-cluster .user-avatar {
76
+ width: 22px;
77
+ height: 22px;
78
+ margin-left: -3px;
79
+ border-width: 1.5px;
80
+ }
81
+
82
+ .toolbar-presence-cluster .user-avatar.is-local {
83
+ width: 22px;
84
+ min-width: 22px;
85
+ margin-right: 0;
86
+ padding: 0;
87
+ gap: 0;
88
+ }
89
+
90
+ .toolbar-presence-cluster .user-avatar.is-local .user-avatar-initial {
91
+ width: auto;
92
+ height: auto;
93
+ background: transparent;
94
+ font-size: var(--text-meta);
95
+ }
96
+
97
+ .toolbar-presence-cluster .user-avatar-self-label {
67
98
  display: none;
68
99
  }
69
100
 
@@ -73,17 +104,17 @@
73
104
 
74
105
  .toolbar-overflow-menu {
75
106
  position: absolute;
76
- top: calc(100% + var(--space-2));
107
+ top: calc(100% + 6px);
77
108
  right: 0;
78
109
  z-index: 14;
79
110
  display: none;
80
- min-width: min(260px, calc(100vw - 24px));
111
+ width: min(212px, calc(100vw - 20px));
81
112
  flex-direction: column;
82
113
  align-items: stretch;
83
- gap: var(--space-1);
84
- padding: var(--space-2);
114
+ gap: 0;
115
+ padding: 4px;
85
116
  border: 1px solid var(--color-border);
86
- border-radius: var(--radius-lg);
117
+ border-radius: 18px;
87
118
  background: oklch(from var(--color-surface) l c h / 0.98);
88
119
  box-shadow: var(--shadow-lg);
89
120
  backdrop-filter: blur(12px);
@@ -100,10 +131,48 @@
100
131
 
101
132
  .toolbar-overflow-menu .ui-toolbar-button-label {
102
133
  display: inline;
134
+ min-width: 0;
135
+ flex: 1;
136
+ text-align: left;
137
+ }
138
+
139
+ .toolbar-overflow-menu .toolbar-theme-button .ui-toolbar-button-label {
140
+ display: inline !important;
103
141
  }
104
142
 
105
143
  .toolbar-overflow-menu .ui-toolbar-button {
106
144
  justify-content: flex-start;
145
+ min-height: 36px;
146
+ gap: 8px;
147
+ padding: 0 10px;
148
+ border-radius: 12px;
149
+ }
150
+
151
+ .toolbar-overflow-menu .toolbar-theme-button {
152
+ width: 100%;
153
+ min-width: 0;
154
+ margin-top: 0;
155
+ padding: 0 10px;
156
+ background: var(--color-surface-offset);
157
+ color: var(--color-text);
158
+ }
159
+
160
+ .toolbar-overflow-menu .toolbar-theme-button:hover {
161
+ background: var(--color-surface-dynamic);
162
+ }
163
+
164
+ .toolbar-overflow-menu .toolbar-theme-button .toolbar-theme-state {
165
+ display: inline-flex !important;
166
+ }
167
+
168
+ .toolbar-overflow-menu .toolbar-theme-state[data-theme='dark'] {
169
+ background: var(--color-surface-dynamic);
170
+ color: var(--color-text);
171
+ }
172
+
173
+ .toolbar-overflow-menu .toolbar-theme-state[data-theme='light'] {
174
+ background: var(--color-primary-highlight);
175
+ color: var(--color-primary);
107
176
  }
108
177
 
109
178
  .sidebar-close-btn {
@@ -221,15 +221,30 @@
221
221
  max-width: none;
222
222
  }
223
223
 
224
+ .preview-content.is-drawio-file-preview {
225
+ position: relative;
226
+ display: flex;
227
+ box-sizing: border-box;
228
+ width: 100%;
229
+ min-height: 100%;
230
+ height: 100%;
231
+ max-width: none;
232
+ margin: 0;
233
+ padding: var(--space-3);
234
+ }
235
+
224
236
  .preview-content.is-mermaid-file-preview [data-preview-render-host='true'],
225
237
  .preview-content.is-plantuml-file-preview [data-preview-render-host='true'] {
226
238
  min-height: 100%;
227
239
  }
228
240
 
241
+ .preview-content.is-drawio-file-preview [data-preview-render-host='true'],
229
242
  .preview-content.is-excalidraw-file-preview [data-preview-render-host='true'],
230
243
  .preview-content.is-image-file-preview [data-preview-render-host='true'] {
231
244
  display: flex;
232
245
  flex: 1;
246
+ width: 100%;
247
+ max-width: none;
233
248
  min-width: 0;
234
249
  min-height: 100%;
235
250
  }
@@ -258,6 +273,32 @@
258
273
  margin: 0;
259
274
  }
260
275
 
276
+ .preview-content.is-drawio-file-preview .drawio-embed,
277
+ .preview-content.is-drawio-file-preview .drawio-embed-placeholder {
278
+ width: 100%;
279
+ min-height: 100%;
280
+ margin: 0;
281
+ }
282
+
283
+ .preview-content.is-drawio-file-preview .drawio-embed {
284
+ display: flex;
285
+ flex-direction: column;
286
+ width: 100%;
287
+ height: 100%;
288
+ }
289
+
290
+ .preview-content.is-drawio-file-preview .drawio-embed-placeholder,
291
+ .preview-content.is-drawio-file-preview .preview-shell {
292
+ width: 100%;
293
+ min-height: 100%;
294
+ }
295
+
296
+ .preview-content.is-drawio-file-preview .drawio-embed-iframe {
297
+ flex: 1;
298
+ min-height: 0;
299
+ height: 100%;
300
+ }
301
+
261
302
  .preview-content.is-excalidraw-file-preview .excalidraw-embed,
262
303
  .preview-content.is-excalidraw-file-preview .excalidraw-embed-placeholder {
263
304
  width: 100%;