collabmd 0.1.41 → 0.1.43

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 (463) hide show
  1. package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-Fb3TgxXK.js +1 -0
  2. package/dist/client/assets/abnfDiagram-VRR7QNED-C-CM0mGi.js +1 -0
  3. package/dist/client/assets/{apl-CnwPGSsG.js → apl-gfMMiTNf.js} +1 -1
  4. package/dist/client/assets/ar-SA-YLAB6A27-B9ogj_Jh.js +8 -0
  5. package/dist/client/assets/{arc-OeTCl9Oy.js → arc-DqK6O3qL.js} +1 -1
  6. package/dist/client/assets/architecture-TIHT7OUA-BWqzHezU.js +1 -0
  7. package/dist/client/assets/architectureDiagram-ZJ3FMSHR-DL35gHTu.js +36 -0
  8. package/dist/client/assets/az-AZ-5JXPK2I2-C6Se5-4R.js +1 -0
  9. package/dist/client/assets/bg-BG-NIQ2RVNG-xrf33IaO.js +5 -0
  10. package/dist/client/assets/blockDiagram-677ZJIJ3-BLomrZyt.js +132 -0
  11. package/dist/client/assets/bn-BD-BN65R3DE-YVZWNN-c.js +3 -0
  12. package/dist/client/assets/bn-IN-2YT4KVKB-YVZWNN-c.js +3 -0
  13. package/dist/client/assets/{c4Diagram-AAUBKEIU-UA_Eopag.js → c4Diagram-LMCZKHZV-al3Umu1D.js} +6 -6
  14. package/dist/client/assets/ca-ES-KSERGC3M-CoMtV4dM.js +8 -0
  15. package/dist/client/assets/channel-XzBGGMWh.js +1 -0
  16. package/dist/client/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
  17. package/dist/client/assets/chunk-32BRIVSS-BD6LQmvI.js +1 -0
  18. package/dist/client/assets/chunk-52WLFC77-BjzXVnqm.js +10 -0
  19. package/dist/client/assets/chunk-5FCAYU7R-DNtJmW0j.js +1 -0
  20. package/dist/client/assets/chunk-5HE753X5-o8-OCfIL.js +1 -0
  21. package/dist/client/assets/{chunk-N66VUXT2-B6CG-CnY.js → chunk-5JV3BV7I-DKfYBAeY.js} +1 -1
  22. package/dist/client/assets/chunk-5TONJI2A-DOX2waSJ.js +2 -0
  23. package/dist/client/assets/{chunk-FMBD7UC4-CM39cCCr.js → chunk-5VM5RSS4-ZNzvKenW.js} +1 -1
  24. package/dist/client/assets/chunk-6GK3VUBP-ChzWImvX.js +41 -0
  25. package/dist/client/assets/chunk-7BUUIJ7U-Bb538aSH.js +1 -0
  26. package/dist/client/assets/chunk-BIQX33UG-CuPbkyWp.js +1 -0
  27. package/dist/client/assets/chunk-C7G6YPKG-C97QUAKv.js +1 -0
  28. package/dist/client/assets/chunk-CJTDIR4C-DvUbqeGR.js +1 -0
  29. package/dist/client/assets/chunk-CQNSW5MT-BbEh_krl.js +1 -0
  30. package/dist/client/assets/chunk-CYSBUYHQ-CbOq7Rc1.js +1 -0
  31. package/dist/client/assets/chunk-EMLP6XTP-BoneA0Uo.js +1 -0
  32. package/dist/client/assets/chunk-EX3LRPZG-DNVm3Wj1.js +231 -0
  33. package/dist/client/assets/chunk-FWX5IMBZ-Ch9_j2qF.js +2 -0
  34. package/dist/client/assets/chunk-HOUHSVGY-DX1huN9x.js +1 -0
  35. package/dist/client/assets/chunk-ICXQ74PX-DGYhuP6g.js +2 -0
  36. package/dist/client/assets/chunk-JG7HCLWE-Dk4_aECj.js +2 -0
  37. package/dist/client/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
  38. package/dist/client/assets/chunk-KEIR6QF5-Dj-OpFgW.js +161 -0
  39. package/dist/client/assets/chunk-MOJQB5TN-BEEcDvmL.js +88 -0
  40. package/dist/client/assets/chunk-MOZMSUNE-BgA8jCvb.js +1 -0
  41. package/dist/client/assets/chunk-OGEWGWER-Xh5bvoYs.js +1 -0
  42. package/dist/client/assets/chunk-OSBZ3O6U-CX9EQ5t2.js +1 -0
  43. package/dist/client/assets/chunk-PUDLZKDR-C-JwZaMh.js +156 -0
  44. package/dist/client/assets/{chunk-O5CBEL6O-DdEDfb8z.js → chunk-Q4XR5HBZ-Dyewsidf.js} +17 -17
  45. package/dist/client/assets/chunk-QBLGF6JB-C9zGMqvP.js +1 -0
  46. package/dist/client/assets/chunk-R7FJI6CG-BpBhcF6R.js +1 -0
  47. package/dist/client/assets/chunk-RYQCIY6F-Dtr3kkSR.js +1 -0
  48. package/dist/client/assets/chunk-SRAX5OIU-Bpn6XoyU.js +1 -0
  49. package/dist/client/assets/chunk-U6XO7XAA-CR0BSRFR.js +2 -0
  50. package/dist/client/assets/{chunk-727SXJPM-DdWH2cfs.js → chunk-V7JOEXUC-Bo_5WqHt.js} +6 -6
  51. package/dist/client/assets/chunk-VAUOI2AC-EcvKeBKU.js +1 -0
  52. package/dist/client/assets/chunk-VR4S4FIN-uXjSaaA7.js +1 -0
  53. package/dist/client/assets/chunk-WYO6CB5R-HgTPu1OL.js +127 -0
  54. package/dist/client/assets/chunk-XXDRQBXY-Bq6zMMOx.js +1 -0
  55. package/dist/client/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
  56. package/dist/client/assets/chunk-YOTPTUD7-CjHV8V6f.js +1 -0
  57. package/dist/client/assets/{chunk-LOOWOR4L-CGCAV5nC.js → chunk-Z24UKHUO-BQ6-bK37.js} +3 -3
  58. package/dist/client/assets/{chunk-Z5NKEFVG-Dknufskm.js → chunk-Z5NKEFVG-DC2Lcs-4.js} +2 -2
  59. package/dist/client/assets/chunk-ZGVPDNZ5-Bmet6b46.js +62 -0
  60. package/dist/client/assets/{chunk-XPW4576I-BZyvtu42.js → chunk-ZIRB5QZD-C6fEPe3t.js} +2 -2
  61. package/dist/client/assets/classDiagram-OUVF2IWQ-vy5bnN3c.js +1 -0
  62. package/dist/client/assets/classDiagram-v2-EOCWNBFH-vy5bnN3c.js +1 -0
  63. package/dist/client/assets/clike-CVjTFI47.js +1 -0
  64. package/dist/client/assets/cobol-DHLQUbN7.js +1 -0
  65. package/dist/client/assets/controls-LYQrRFSF.css +1 -0
  66. package/dist/client/assets/cose-bilkent-JH36ORCC-ClqQrHIF.js +1 -0
  67. package/dist/client/assets/cs-CZ-EOMS3IHD-Bo0hDCLX.js +7 -0
  68. package/dist/client/assets/cynefin-VYW2F7L2-4m18BxUG.js +1 -0
  69. package/dist/client/assets/cynefinDiagram-TSTJHNR4-BNlZcGFF.js +62 -0
  70. package/dist/client/assets/cytoscape.esm-CQFVGiJu.js +321 -0
  71. package/dist/client/assets/da-DK-AVL3DJQK-s5-TpkxN.js +2 -0
  72. package/dist/client/assets/dagre-VKFMJZFB-CSQjHsP2.js +4 -0
  73. package/dist/client/assets/dagre-dpRSp0QF.js +1 -0
  74. package/dist/client/assets/de-CH-M25HCZK4-B0r4rx6B.js +7 -0
  75. package/dist/client/assets/de-DE-BEN6XGXY-B0r4rx6B.js +7 -0
  76. package/dist/client/assets/diagram-FQU43EPY-D0RPbiE5.js +3 -0
  77. package/dist/client/assets/diagram-G47NLZAW-XriksZQN.js +24 -0
  78. package/dist/client/assets/diagram-NH7WQ7WH-CaTayrXM.js +24 -0
  79. package/dist/client/assets/diagram-OA4YK3LP-ruJmRhl8.js +30 -0
  80. package/dist/client/assets/diagram-WEI45ONY-C18MNAQv.js +41 -0
  81. package/dist/client/assets/{dist-D36UTodj.js → dist-0x9D2TFD.js} +1 -1
  82. package/dist/client/assets/{dist-DvpEZjAN.js → dist-B0NFuQC3.js} +1 -1
  83. package/dist/client/assets/{dist-CaLooK5r.js → dist-BA633xb4.js} +1 -1
  84. package/dist/client/assets/{dist-D01mg-Uh.js → dist-BUxzPC-Q.js} +4 -4
  85. package/dist/client/assets/dist-Bx-T__Lj.js +1 -0
  86. package/dist/client/assets/dist-ByYtm-FJ.js +1 -0
  87. package/dist/client/assets/{dist-cMoydUa-.js → dist-CCrwHjeP.js} +1 -1
  88. package/dist/client/assets/{dist-B6Q0y0J8.js → dist-CHJCI2AN.js} +1 -1
  89. package/dist/client/assets/dist-CHokDUN_.js +1 -0
  90. package/dist/client/assets/{dist-cTuGB1EW.js → dist-CI1X-CJ2.js} +1 -1
  91. package/dist/client/assets/{dist-Cd4FT8TV.js → dist-CPim1xdZ.js} +1 -1
  92. package/dist/client/assets/{dist-ClWZ99Dh.js → dist-CQTo4Y46.js} +1 -1
  93. package/dist/client/assets/{dist-DScq22KK.js → dist-CZG184W2.js} +1 -1
  94. package/dist/client/assets/{dist-DGO-wCq8.js → dist-C__bPRpd.js} +1 -1
  95. package/dist/client/assets/{dist-CX-kKEdL.js → dist-Cd1BXkVC.js} +1 -1
  96. package/dist/client/assets/dist-CeEU6QwA.js +2 -0
  97. package/dist/client/assets/{dist-DRQhk99i.js → dist-CzNyYE-S.js} +1 -1
  98. package/dist/client/assets/{dist-Dl5uZm2T.js → dist-D1W8XQvM.js} +1 -1
  99. package/dist/client/assets/{dist-D6YOhZ_d.js → dist-D3Tmtejd.js} +1 -1
  100. package/dist/client/assets/{dist-BYneHrvV.js → dist-D4MWz_rC.js} +1 -1
  101. package/dist/client/assets/{dist-B-m0-H59.js → dist-D7-13adP.js} +1 -1
  102. package/dist/client/assets/{dist-G7j-noyR.js → dist-DG2HpWvu.js} +1 -1
  103. package/dist/client/assets/dist-DUj7Xwud.js +13 -0
  104. package/dist/client/assets/{dist-efgaKpVU.js → dist-DXTgEdvE.js} +1 -1
  105. package/dist/client/assets/{dist-D8jTFU06.js → dist-DnbVQL2z.js} +1 -1
  106. package/dist/client/assets/dist-QiKOmE2-.js +1 -0
  107. package/dist/client/assets/{dist-nx-MGJIM.js → dist-YCtFk_v0.js} +1 -1
  108. package/dist/client/assets/dist-du6QqIs42.js +1 -0
  109. package/dist/client/assets/{dist-DGI-0uwF.js → dist-gGmuzNio.js} +1 -1
  110. package/dist/client/assets/dist-qx0Iv9vM.js +1 -0
  111. package/dist/client/assets/dist-snK6kYA_.js +1 -0
  112. package/dist/client/assets/{drawio-editor-BM_W6Lkj.js → drawio-editor-Bpeofg5c.js} +1 -1
  113. package/dist/client/assets/{drawio-embed-controller-BKHnRnaj.js → drawio-embed-controller-BtzURctK.js} +1 -1
  114. package/dist/client/assets/drawio-room-yBUzk-vg.js +1 -0
  115. package/dist/client/assets/drawioEditor-DOeuNmoO.js +2 -0
  116. package/dist/client/assets/ebnfDiagram-CCIWWBDH-exNgBUy6.js +1 -0
  117. package/dist/client/assets/{editor-session-VueuoR_r.js → editor-session-MbnP-AVK.js} +4 -4
  118. package/dist/client/assets/el-GR-UBGIF2NW-DRoYAN8w.js +7 -0
  119. package/dist/client/assets/embedded-editor-base-C9roKYpW.css +1 -0
  120. package/dist/client/assets/{en-CMP6EMR6-l-4iz8RC.js → en-PCJ7LJZ2-1SKiH5y3.js} +1 -1
  121. package/dist/client/assets/erDiagram-Q63AITRT-CoYS49kY.js +85 -0
  122. package/dist/client/assets/es-ES-SQEM5MNY-D5EtY06q.js +7 -0
  123. package/dist/client/assets/eu-ES-YG5N2JAG-CZ0xKIU4.js +7 -0
  124. package/dist/client/assets/eventmodeling-45OFAUF4-Dp0gpjhg.js +1 -0
  125. package/dist/client/assets/excalidraw-editor-CN3Wpa0D.css +1 -0
  126. package/dist/client/assets/{excalidraw-editor-C6fTkMBx.js → excalidraw-editor-DV1u6p5J.js} +3 -3
  127. package/dist/client/assets/excalidraw-scene-qiXFUZvq.js +176 -0
  128. package/dist/client/assets/excalidrawEditor-C5Z0GfUw.js +2 -0
  129. package/dist/client/assets/{export-page-D0iHYSPi.js → export-page-CbIrJ_oK.js} +3 -3
  130. package/dist/client/assets/exportDocument-6GQGZvBv.js +2 -0
  131. package/dist/client/assets/exportDocument-C9v-bc7I.css +1 -0
  132. package/dist/client/assets/fa-IR-EVNM7MAJ-olht-LEH.js +9 -0
  133. package/dist/client/assets/fi-FI-MW7ZEZ64-D1PIXbLy.js +6 -0
  134. package/dist/client/assets/flowDiagram-23GEKE2U-DgaZtMXJ.js +1 -0
  135. package/dist/client/assets/fr-FR-Q7ZPXBDE-B0DjjyfT.js +12 -0
  136. package/dist/client/assets/ganttDiagram-NO4QXBWP-DaBgmYw5.js +292 -0
  137. package/dist/client/assets/{git-panel-controller-DG8ws6B_.js → git-panel-controller-CzgJWqbB.js} +5 -1
  138. package/dist/client/assets/gitGraph-TEB2WS4Q-Do0SQOtM.js +1 -0
  139. package/dist/client/assets/gitGraphDiagram-IHSO6WYX-x3NetpXU.js +106 -0
  140. package/dist/client/assets/gl-ES-O5B74VQL-DH5u_ADp.js +6 -0
  141. package/dist/client/assets/{graphlib-B8gBHxth.js → graphlib-DS17s2tU.js} +1 -1
  142. package/dist/client/assets/he-IL-QGC2WXJA-BSBR1RcG.js +8 -0
  143. package/dist/client/assets/hi-IN-DEZ33NMQ-CorD0_d0.js +3 -0
  144. package/dist/client/assets/hu-HU-2ZPNVYSC-BlqNXhNG.js +3 -0
  145. package/dist/client/assets/id-ID-W65WM5EO-SkLgeJLx.js +8 -0
  146. package/dist/client/assets/image-QEDDDPDB-DtzL4Wgr.js +1 -0
  147. package/dist/client/assets/{image-blob-reduce.esm-NzmDxm1v.js → image-blob-reduce.esm-DLFdRAwc.js} +1 -1
  148. package/dist/client/assets/index-BakyykHU.css +1 -0
  149. package/dist/client/assets/{index-AdGl0Mjr.js → index-CvubXIUU.js} +2 -2
  150. package/dist/client/assets/info-DKCQHKI2-DIc7uC4I.js +1 -0
  151. package/dist/client/assets/infoDiagram-FWYZ7A6U-DyfGrH8z.js +2 -0
  152. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-axeWdm72.js → ishikawaDiagram-FXEZZL3T-BOts527_.js} +2 -2
  153. package/dist/client/assets/it-IT-GAWJM2XW-CDZugsE0.js +12 -0
  154. package/dist/client/assets/ja-JP-FOAUPTH5-DkKXnwj8.js +12 -0
  155. package/dist/client/assets/{journeyDiagram-JHISSGLW-_K7qmGID.js → journeyDiagram-5HDEW3XC-DF37OVrZ.js} +3 -3
  156. package/dist/client/assets/jsx-runtime-DKdBMi_L.js +1 -0
  157. package/dist/client/assets/kaa-UEDB54S7-C0Sv0drM.js +1 -0
  158. package/dist/client/assets/kab-KAB-CTLMBVE3-QfxUgzL5.js +4 -0
  159. package/dist/client/assets/{kanban-definition-UN3LZRKU-DaPREf-3.js → kanban-definition-HUTT4EX6-nCjbm1T6.js} +24 -24
  160. package/dist/client/assets/katex-B7rAX3Vi.js +257 -0
  161. package/dist/client/assets/keyboard-shortcuts-C3mlS_4N.css +1 -0
  162. package/dist/client/assets/kk-KZ-XZK63ADD-CMZObxxP.js +1 -0
  163. package/dist/client/assets/km-KH-PBSJLZ2M-Bh1DsarT.js +7 -0
  164. package/dist/client/assets/ko-KR-YNTPN6WQ-DPBaHnwT.js +5 -0
  165. package/dist/client/assets/ku-TR-XUD5BUEU-75pMUQoD.js +6 -0
  166. package/dist/client/assets/{line-CbpIuf9e.js → line-h44YiLOQ.js} +1 -1
  167. package/dist/client/assets/{linear-BGe2G4b5.js → linear-DhAcoVP9.js} +1 -1
  168. package/dist/client/assets/lt-LT-LYCDYH7O-BeKUsKuy.js +3 -0
  169. package/dist/client/assets/lv-LV-7ROPDEEI-CrA6QOtq.js +4 -0
  170. package/dist/client/assets/main-CKWxzJUx.js +807 -0
  171. package/dist/client/assets/map-BaFkSB1l.js +1 -0
  172. package/dist/client/assets/mermaid-parser.core-ygm3cZ_w.js +4 -0
  173. package/dist/client/assets/mermaid-runtime-2fJoRo49.js +11 -0
  174. package/dist/client/assets/{mindmap-definition-RKZ34NQL-DB1uitpo.js → mindmap-definition-LN4V7U3C-CTpHMYFE.js} +8 -8
  175. package/dist/client/assets/mr-IN-TU6BXRKP-mIvXG0bt.js +9 -0
  176. package/dist/client/assets/my-MM-SJ3RWIEQ-CeEN5n4z.js +1 -0
  177. package/dist/client/assets/navigation-CoTUJ5Pi.css +1 -0
  178. package/dist/client/assets/nb-NO-GONF2AKR-IChp6OiI.js +8 -0
  179. package/dist/client/assets/nl-NL-UZF6UEKB-DfPPXXjo.js +13 -0
  180. package/dist/client/assets/nn-NO-ZVFRXEEO-BtpjNSGp.js +4 -0
  181. package/dist/client/assets/oc-FR-MBF2Z56W-CBl14QBM.js +4 -0
  182. package/dist/client/assets/pa-IN-3JCDVKKL-D95A1XFb.js +4 -0
  183. package/dist/client/assets/packet-7NZHBO7P-D2duWGIK.js +1 -0
  184. package/dist/client/assets/pegDiagram-2B236MQR-Bq9qITsk.js +1 -0
  185. package/dist/client/assets/percentages-WBIPKLEE-bhlTAhiB.js +1 -0
  186. package/dist/client/assets/pica-D0pwGKw7.js +2 -0
  187. package/dist/client/assets/pie-RZYD4A2V-CynqTUkZ.js +1 -0
  188. package/dist/client/assets/pieDiagram-ENE6RG2P--ax2FUc8.js +39 -0
  189. package/dist/client/assets/pl-PL-EERMMCTN-dIzrbxJt.js +12 -0
  190. package/dist/client/assets/preload-helper-HclGiUj8.js +1 -0
  191. package/dist/client/assets/{preview-diagram-utils-DnqteI9Q.js → preview-diagram-utils-BPaXsmlV.js} +1 -1
  192. package/dist/client/assets/preview-render-compiler-C8wbmTyE.js +1 -0
  193. package/dist/client/assets/preview-render-compiler-CrQBxqqa.js +35 -0
  194. package/dist/client/assets/{preview-render-profile-CU6rvKx3.js → preview-render-profile-C89_PyT3.js} +3 -3
  195. package/dist/client/assets/preview-render-worker-D84F1vpn.js +59 -0
  196. package/dist/client/assets/pt-BR-W4AF5QMX-DIJs8D4M.js +6 -0
  197. package/dist/client/assets/pt-PT-GNPUWAHX-BopN284Y.js +8 -0
  198. package/dist/client/assets/python-2zlmcyof.js +1 -0
  199. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-C6n3eYzo.js → quadrantDiagram-ABIIQ3AL-f0PUv7DH.js} +6 -6
  200. package/dist/client/assets/radar-I7S5WNFK-fIKE12aT.js +1 -0
  201. package/dist/client/assets/railroad-3IZDKUUU-Bgx8HJTj.js +1 -0
  202. package/dist/client/assets/railroad-abnf-AHOZXSZD-Nh6k60mH.js +1 -0
  203. package/dist/client/assets/railroad-ebnf-EBAXGLYW-C74h3s_I.js +1 -0
  204. package/dist/client/assets/railroad-peg-LSFZ7HO6-0hT-lN-u.js +1 -0
  205. package/dist/client/assets/railroadDiagram-RFXS5EU6-CZD_9g-4.js +1 -0
  206. package/dist/client/assets/react-lCSYwAWP.js +1 -0
  207. package/dist/client/assets/{requirementDiagram-4Y6WPE33-B-sVI-jx.js → requirementDiagram-TGXJPOKE-C4Jwr3TE.js} +7 -7
  208. package/dist/client/assets/ro-RO-DXHP33S5-PGxfl-ng.js +12 -0
  209. package/dist/client/assets/{room-CpCcgtG8.js → room-BhC-3iml.js} +1 -1
  210. package/dist/client/assets/ru-RU-TTW2P7NF-Dwnn0sc5.js +10 -0
  211. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-EY2cdbUV.js → sankeyDiagram-HTMAVEWB-B2B2mdB6.js} +2 -2
  212. package/dist/client/assets/scheme-tChLYBuY.js +1 -0
  213. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-D6h6knAb.js → sequenceDiagram-DBY2YBRQ-DonUqDnp.js} +9 -9
  214. package/dist/client/assets/si-LK-BE6O7LVF-QO9nybVB.js +1 -0
  215. package/dist/client/assets/sizeCapture-X5ZJPWSS-B0uUizjq.js +1 -0
  216. package/dist/client/assets/sk-SK-OI3KJLWQ-BAKIEIig.js +7 -0
  217. package/dist/client/assets/sl-SI-HF74RBGV-CnS5z7V_.js +6 -0
  218. package/dist/client/assets/src-UMNXGZaF.js +1 -0
  219. package/dist/client/assets/stateDiagram-2N3HPSRC-B1niwAq-.js +1 -0
  220. package/dist/client/assets/stateDiagram-v2-6OUMAXLB-C4YrlXQg.js +1 -0
  221. package/dist/client/assets/states-DYMshUe2.css +1 -0
  222. package/dist/client/assets/subset-shared.chunk-D3olxosN.js +1 -0
  223. package/dist/client/assets/{subset-worker.chunk-CVu8sQYq.js → subset-worker.chunk-Cuw2UvhD.js} +1 -1
  224. package/dist/client/assets/sv-SE-TXR2SQGA-CNgv7xeJ.js +8 -0
  225. package/dist/client/assets/swimlanes-5IMT3BWC-DP1GREXh.js +2 -0
  226. package/dist/client/assets/swimlanesDiagram-G3AALYLV-CN_iOXin.js +8 -0
  227. package/dist/client/assets/ta-IN-Y2DOZGBR-DYzsfax7.js +6 -0
  228. package/dist/client/assets/textile-CyzeGT9J.js +1 -0
  229. package/dist/client/assets/th-TH-JUAISFQR-BAZHUCM7.js +1 -0
  230. package/dist/client/assets/timeline-definition-FHXFAJF6-C-QK9sME.js +120 -0
  231. package/dist/client/assets/tr-TR-U3HGKQXH-DTYupb_4.js +4 -0
  232. package/dist/client/assets/treeView-QDETBFTQ-CygwzEgj.js +1 -0
  233. package/dist/client/assets/treemap-6X3UGDF4-BbCXbaXr.js +1 -0
  234. package/dist/client/assets/uk-UA-FP2TKAFK-Bcxd6wgd.js +6 -0
  235. package/dist/client/assets/uz-UZ-WY5QKWXJ-B5N6xPud.js +1 -0
  236. package/dist/client/assets/vennDiagram-L72KCM5P-DPQ9kbN2.js +34 -0
  237. package/dist/client/assets/{verilog-D-x6ne0Z.js → verilog-BKSQ5RMB.js} +1 -1
  238. package/dist/client/assets/vhdl-CBDDcIJ_.js +1 -0
  239. package/dist/client/assets/vi-VN-DE5I4H6K-BdlcTH5l.js +7 -0
  240. package/dist/client/assets/wardley-OPB4EBWU-BjXxCRf_.js +1 -0
  241. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-BgYuJM9o.js → wardleyDiagram-EHGQE667-5VW6_Csg.js} +3 -3
  242. package/dist/client/assets/{xquery-fj_R-kMw.js → xquery-Cda5K8Gy.js} +1 -1
  243. package/dist/client/assets/xychartDiagram-FW5EYKEG-Bj0UwltS.js +7 -0
  244. package/dist/client/assets/{yjs-provider-reset-guard-BicD2Ate.js → yjs-provider-reset-guard-DSfwdXS9.js} +1 -1
  245. package/dist/client/assets/zh-CN-VWHOHS7G-b12eD2L4.js +11 -0
  246. package/dist/client/assets/zh-HK-KQF7FW7H-Bvr6xExo.js +1 -0
  247. package/dist/client/assets/zh-TW-6VHVWZKW-B-KCOPyt.js +13 -0
  248. package/dist/client/drawio-editor.html +2 -2
  249. package/dist/client/excalidraw-editor.html +2 -2
  250. package/dist/client/export-document.html +3 -3
  251. package/dist/client/index.html +3 -3
  252. package/package.json +21 -21
  253. package/src/client/application/app-shell/chat-feature.js +2 -2
  254. package/src/client/application/app-shell/presence-feature.js +4 -1
  255. package/src/client/application/app-shell/ui-feature-shell.js +4 -0
  256. package/src/client/application/app-shell/ui-feature-sidebar.js +12 -3
  257. package/src/client/application/app-shell-elements.js +1 -0
  258. package/src/client/application/markdown-frontmatter.js +2 -2
  259. package/src/client/application/mermaid-preview-hydrator.js +12 -12
  260. package/src/client/presentation/app-shell-template.js +39 -21
  261. package/src/client/presentation/comment-overview-controller.js +34 -9
  262. package/src/client/presentation/comment-ui/comment-ui-card.js +10 -21
  263. package/src/client/presentation/file-action-controller.js +0 -2
  264. package/src/client/presentation/git-panel-controller.js +5 -1
  265. package/src/client/presentation/outline-controller.js +4 -0
  266. package/src/client/styles/components/feedback.css +4 -4
  267. package/src/client/styles/components/navigation.css +24 -20
  268. package/src/client/styles/components/states.css +39 -1
  269. package/src/client/styles/components/surfaces.css +5 -2
  270. package/src/client/styles/features/auth-gate.css +9 -18
  271. package/src/client/styles/features/backlinks.css +11 -12
  272. package/src/client/styles/features/collaboration-chat.css +7 -8
  273. package/src/client/styles/features/collaboration-dialogs.css +8 -7
  274. package/src/client/styles/features/collaboration-presence.css +7 -7
  275. package/src/client/styles/features/comment-card.css +35 -28
  276. package/src/client/styles/features/comment-overview.css +18 -16
  277. package/src/client/styles/features/comments-drawer.css +13 -18
  278. package/src/client/styles/features/diagram-preview.css +4 -4
  279. package/src/client/styles/features/diff-commit.css +13 -16
  280. package/src/client/styles/features/diff-toolbar.css +4 -5
  281. package/src/client/styles/features/git-branch.css +1 -1
  282. package/src/client/styles/features/git-files.css +2 -2
  283. package/src/client/styles/features/git-history.css +21 -26
  284. package/src/client/styles/features/media-lightbox.css +5 -5
  285. package/src/client/styles/features/outline.css +13 -2
  286. package/src/client/styles/features/quick-switcher.css +72 -23
  287. package/src/client/styles/foundation/themes.css +88 -96
  288. package/src/client/styles/foundation/tokens.css +5 -4
  289. package/src/client/styles/layout/editor-page.css +49 -16
  290. package/src/client/styles/layout/overlays.css +2 -2
  291. package/src/client/styles/layout/responsive.css +25 -7
  292. package/src/client/styles/layout/shell.css +5 -5
  293. package/src/client/styles/layout/sidebar.css +51 -34
  294. package/src/client/styles/layout/view-modes.css +1 -1
  295. package/src/client/styles/primitives/controls.css +17 -9
  296. package/src/domain/yaml-frontmatter.js +2 -3
  297. package/src/server/domain/bases/base-definition.js +12 -3
  298. package/src/server/domain/bases/base-transform.js +4 -3
  299. package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-DHEFSr_E.js +0 -1
  300. package/dist/client/assets/ar-SA-NXDWD63E-S8m2UyIj.js +0 -8
  301. package/dist/client/assets/architecture-7EHR7CIX-BQpCYB3J.js +0 -1
  302. package/dist/client/assets/architectureDiagram-3BPJPVTR-CDqq0KA0.js +0 -36
  303. package/dist/client/assets/az-AZ-MXSORGZV-DSzWvZBB.js +0 -1
  304. package/dist/client/assets/bg-BG-O6MV2KSF-C5nBekx3.js +0 -5
  305. package/dist/client/assets/blockDiagram-GPEHLZMM-Z9jBLpGg.js +0 -132
  306. package/dist/client/assets/bn-BD-T2VJNT7N-D-8xXOzM.js +0 -3
  307. package/dist/client/assets/bn-IN-MMW2ORAC-D-8xXOzM.js +0 -3
  308. package/dist/client/assets/ca-ES-MKBCGNOG-B3Ly68p3.js +0 -8
  309. package/dist/client/assets/channel-CpvwJaGK.js +0 -1
  310. package/dist/client/assets/chunk-2J33WTMH-DjYq2kZ3.js +0 -1
  311. package/dist/client/assets/chunk-3OPIFGDE-DucrRywM.js +0 -62
  312. package/dist/client/assets/chunk-3PELD44J-C625MXe_.js +0 -1
  313. package/dist/client/assets/chunk-4BX2VUAB-DcdHBPEH.js +0 -1
  314. package/dist/client/assets/chunk-4EGX6M5U-BfCFom1o.js +0 -1
  315. package/dist/client/assets/chunk-55IACEB6-B7ycySPI.js +0 -1
  316. package/dist/client/assets/chunk-5DO6E6H7-DP8QnaJj.js +0 -1
  317. package/dist/client/assets/chunk-5ZQYHXKU-C4q4UVKa.js +0 -2
  318. package/dist/client/assets/chunk-A66AFZZU-BbU3ThId.js +0 -7
  319. package/dist/client/assets/chunk-AQP2D5EJ-D8o8QwFY.js +0 -231
  320. package/dist/client/assets/chunk-BR22UD5L-CT6fcRkN.js +0 -1
  321. package/dist/client/assets/chunk-BSJP7CBP-COmh28sk.js +0 -1
  322. package/dist/client/assets/chunk-CSCIHK7Q-D0bHjxCO.js +0 -123
  323. package/dist/client/assets/chunk-FHYWG6QK-Ce318laP.js +0 -1
  324. package/dist/client/assets/chunk-KSCS5N6A-Bk33m7yK.js +0 -10
  325. package/dist/client/assets/chunk-L5ZTLDWV-J2sQu4Os.js +0 -1
  326. package/dist/client/assets/chunk-LZXEDZCA-CTmBbzaL.js +0 -2
  327. package/dist/client/assets/chunk-MMN3DZ5N-pTRxhVYl.js +0 -35
  328. package/dist/client/assets/chunk-MPE355IW-C_vkbqLj.js +0 -1
  329. package/dist/client/assets/chunk-MZUSXYTE-BnVcgphH.js +0 -1
  330. package/dist/client/assets/chunk-ND2GUHAM-D-_vkA5V.js +0 -1
  331. package/dist/client/assets/chunk-NNHCCRGN-DlpIbxXb.js +0 -159
  332. package/dist/client/assets/chunk-NZK2D7GU-Dc42C0Jt.js +0 -1
  333. package/dist/client/assets/chunk-PUPMXCY4-BZ88kQjK.js +0 -1
  334. package/dist/client/assets/chunk-QZHKN3VN-D5YLQvjj.js +0 -1
  335. package/dist/client/assets/chunk-SRAX5OIU-CiRgnkYo.js +0 -1
  336. package/dist/client/assets/chunk-UIBZB4QT-r8p3pBHw.js +0 -1
  337. package/dist/client/assets/chunk-WCWK7LTN-DrKYkgXF.js +0 -1
  338. package/dist/client/assets/chunk-WU5MYG2G-Cg2iUbET.js +0 -1
  339. package/dist/client/assets/classDiagram-4FO5ZUOK-CGWY0cfg.js +0 -1
  340. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CGWY0cfg.js +0 -1
  341. package/dist/client/assets/clike-DHH8Ad3s.js +0 -1
  342. package/dist/client/assets/cobol-B_OZ4V-R.js +0 -1
  343. package/dist/client/assets/controls-CLpueX2m.css +0 -1
  344. package/dist/client/assets/cose-bilkent-S5V4N54A-BuQb9WEM.js +0 -1
  345. package/dist/client/assets/cs-CZ-V77HGUP7-6BCNHMpz.js +0 -7
  346. package/dist/client/assets/cytoscape.esm-DelgaX4f.js +0 -321
  347. package/dist/client/assets/da-DK-I5RFNTM4-CVeCWpi2.js +0 -2
  348. package/dist/client/assets/dagre-BM42HDAG-ux5hA7G6.js +0 -4
  349. package/dist/client/assets/dagre-Bx709z4p.js +0 -1
  350. package/dist/client/assets/de-CH-WLRDEVBV-CV-FNCkY.js +0 -7
  351. package/dist/client/assets/de-DE-DTI4WUSC-CV-FNCkY.js +0 -7
  352. package/dist/client/assets/diagram-2AECGRRQ-Cx-EPj3F.js +0 -43
  353. package/dist/client/assets/diagram-5GNKFQAL-B6qUTxVg.js +0 -10
  354. package/dist/client/assets/diagram-KO2AKTUF-BedClayW.js +0 -3
  355. package/dist/client/assets/diagram-LMA3HP47-DCwyG0i5.js +0 -24
  356. package/dist/client/assets/diagram-OG6HWLK6-BZD0jSxR.js +0 -24
  357. package/dist/client/assets/dist-BCQCG0we.js +0 -1
  358. package/dist/client/assets/dist-BEyxdnUD.js +0 -1
  359. package/dist/client/assets/dist-BsPHL5xw2.js +0 -1
  360. package/dist/client/assets/dist-DMKYvLqD.js +0 -1
  361. package/dist/client/assets/dist-DbpddOpB.js +0 -1
  362. package/dist/client/assets/dist-Dw8hKOQm.js +0 -1
  363. package/dist/client/assets/dist-PItC1DRE.js +0 -1
  364. package/dist/client/assets/dist-pww3cL4Q.js +0 -13
  365. package/dist/client/assets/dist-uhQ-mkuh.js +0 -2
  366. package/dist/client/assets/drawio-room-B3OZRHTH.js +0 -1
  367. package/dist/client/assets/drawioEditor-DBfHYCO5.js +0 -2
  368. package/dist/client/assets/el-GR-ZXDJ2OS4-DzgGVibO.js +0 -7
  369. package/dist/client/assets/embedded-editor-base-Bb8ywn1e.css +0 -1
  370. package/dist/client/assets/erDiagram-TEJ5UH35-7XmGIzui.js +0 -85
  371. package/dist/client/assets/es-ES-DYQHAD43-DP98e8ox.js +0 -7
  372. package/dist/client/assets/eu-ES-QDSYU5Y3-DrEfH-2N.js +0 -7
  373. package/dist/client/assets/eventmodeling-FCH6USID-D-VxYsbw.js +0 -1
  374. package/dist/client/assets/excalidraw-editor-B3ffLqi6.css +0 -1
  375. package/dist/client/assets/excalidraw-scene-DjODomMW.js +0 -176
  376. package/dist/client/assets/excalidrawEditor-DQD_lLF4.js +0 -2
  377. package/dist/client/assets/exportDocument-BAqaHlIn.css +0 -1
  378. package/dist/client/assets/exportDocument-Ct-Zvf7_.js +0 -2
  379. package/dist/client/assets/fa-IR-26LZG4PM-CEwnMxEY.js +0 -9
  380. package/dist/client/assets/fi-FI-6YS4KDE4-DPKGe_vC.js +0 -6
  381. package/dist/client/assets/flowDiagram-I6XJVG4X-DgTAG2K2.js +0 -162
  382. package/dist/client/assets/fr-FR-BRLLPTZC-CgMmN9yd.js +0 -12
  383. package/dist/client/assets/ganttDiagram-6RSMTGT7-Curra433.js +0 -292
  384. package/dist/client/assets/gitGraph-WXDBUCRP-CRS5XD98.js +0 -1
  385. package/dist/client/assets/gitGraphDiagram-PVQCEYII-DVf7-iH0.js +0 -106
  386. package/dist/client/assets/gl-ES-OKUZTLYG-qCIGpEXP.js +0 -6
  387. package/dist/client/assets/he-IL-26MGYIU7-_Pd-m9Sj.js +0 -8
  388. package/dist/client/assets/hi-IN-Q4ZOGTP2-B4kd5rva.js +0 -3
  389. package/dist/client/assets/hu-HU-P2OXPSN5-DL2sEPhQ.js +0 -3
  390. package/dist/client/assets/id-ID-2EIKXYN6-DqXHubyc.js +0 -8
  391. package/dist/client/assets/image-MLCQRF34-BT938jMR.js +0 -1
  392. package/dist/client/assets/index-V7z92VYK.css +0 -1
  393. package/dist/client/assets/info-J43DQDTF-CdrjkAmK.js +0 -1
  394. package/dist/client/assets/infoDiagram-5YYISTIA-DT8NjvZp.js +0 -2
  395. package/dist/client/assets/it-IT-4CFKVXI2-CyToZF8R.js +0 -12
  396. package/dist/client/assets/ja-JP-MAND2Z4V-CdMMUzyq.js +0 -7
  397. package/dist/client/assets/jsx-runtime-DqMcooe2.js +0 -1
  398. package/dist/client/assets/kaa-HQRTCXTJ-D6kVHP9w.js +0 -1
  399. package/dist/client/assets/kab-KAB-JKIKKTGH-XYCYTUmV.js +0 -4
  400. package/dist/client/assets/katex-C7GtLiLd.js +0 -261
  401. package/dist/client/assets/keyboard-shortcuts-D7Ck0CvR.css +0 -1
  402. package/dist/client/assets/kk-KZ-HXQ63ZFC-Du2sGLmI.js +0 -1
  403. package/dist/client/assets/km-KH-PKL3LSGX-B2OnEat4.js +0 -7
  404. package/dist/client/assets/ko-KR-KXLREZX3-CcxALsEE.js +0 -5
  405. package/dist/client/assets/ku-TR-MJ4IER3X-HDyr9f4z.js +0 -6
  406. package/dist/client/assets/lt-LT-H6WFQ6FJ-BzZe8pg9.js +0 -3
  407. package/dist/client/assets/lv-LV-GOCK6SJW-CMspwH0q.js +0 -4
  408. package/dist/client/assets/main-C8f6FlSO.js +0 -789
  409. package/dist/client/assets/mermaid-parser.core-C4gZtCl9.js +0 -4
  410. package/dist/client/assets/mermaid-runtime-CX_vmg3J.js +0 -9
  411. package/dist/client/assets/mr-IN-IXVLDMEQ-C6mqoMmX.js +0 -9
  412. package/dist/client/assets/my-MM-YG6MYTTD-Q33bVx2B.js +0 -1
  413. package/dist/client/assets/navigation-D173qvIt.css +0 -1
  414. package/dist/client/assets/nb-NO-XGWJISD2-B1jdnBFb.js +0 -8
  415. package/dist/client/assets/nl-NL-XVDVCPNC-DoQkA2lu.js +0 -13
  416. package/dist/client/assets/nn-NO-EMX5MJX5-Db3tHf5b.js +0 -4
  417. package/dist/client/assets/oc-FR-ROEINTVO-DLu-4Ze0.js +0 -4
  418. package/dist/client/assets/pa-IN-ZYN6SUDY-XvJuMxJR.js +0 -4
  419. package/dist/client/assets/packet-YPE3B663-r4oAflYS.js +0 -1
  420. package/dist/client/assets/percentages-5DKR754L-D_KAYeu8.js +0 -1
  421. package/dist/client/assets/pica-DjQMjoX_.js +0 -2
  422. package/dist/client/assets/pie-LRSECV5Y-DkaVktH1.js +0 -1
  423. package/dist/client/assets/pieDiagram-4H26LBE5-CdDwk3iQ.js +0 -30
  424. package/dist/client/assets/pl-PL-6VTG7PHC-DjJq8QfA.js +0 -12
  425. package/dist/client/assets/preload-helper-kNaey6uv.js +0 -1
  426. package/dist/client/assets/preview-render-compiler-Dts88fM3.js +0 -35
  427. package/dist/client/assets/preview-render-compiler-VKNqrOZN.js +0 -1
  428. package/dist/client/assets/preview-render-worker-CFKBP7xz.js +0 -59
  429. package/dist/client/assets/pt-BR-5YFKRR5G-Dg2lIz1V.js +0 -6
  430. package/dist/client/assets/pt-PT-GEIXXZ67-COIg15TS.js +0 -8
  431. package/dist/client/assets/python-BqYw9LYJ.js +0 -1
  432. package/dist/client/assets/radar-GUYGQ44K-Bjhhjq-k.js +0 -1
  433. package/dist/client/assets/ro-RO-E2P6TFZI-CdCIa8N3.js +0 -12
  434. package/dist/client/assets/ru-RU-YBIIY43T-C5TT1jTX.js +0 -10
  435. package/dist/client/assets/scheme-CyDdOh7e.js +0 -1
  436. package/dist/client/assets/si-LK-673C2CI2-f_5ZzunQ.js +0 -1
  437. package/dist/client/assets/sk-SK-CKZHQ4AP-4jimlXp1.js +0 -7
  438. package/dist/client/assets/sl-SI-557H2GWM-BnZ04ZfX.js +0 -6
  439. package/dist/client/assets/src-DSz_pbBa.js +0 -1
  440. package/dist/client/assets/stateDiagram-AJRCARHV-Ca8ZuIR2.js +0 -1
  441. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-DGRDwQhE.js +0 -1
  442. package/dist/client/assets/states-P2LsGDDn.css +0 -1
  443. package/dist/client/assets/subset-shared.chunk-DcaFK0zo.js +0 -1
  444. package/dist/client/assets/sv-SE-XOPKKDWS-B2uKmd06.js +0 -8
  445. package/dist/client/assets/ta-IN-XBH7DQI3-Bld4KtCz.js +0 -6
  446. package/dist/client/assets/textile-DWBqthVk.js +0 -1
  447. package/dist/client/assets/th-TH-TOCWH3R4-DUlvnJTX.js +0 -1
  448. package/dist/client/assets/timeline-definition-PNZ67QCA-BAhvj49M.js +0 -120
  449. package/dist/client/assets/tr-TR-GXW6CYY5-BXTTqJlZ.js +0 -4
  450. package/dist/client/assets/treeView-BLDUP644-DbX5QpdZ.js +0 -1
  451. package/dist/client/assets/treemap-LRROVOQU-DT4YRX1p.js +0 -1
  452. package/dist/client/assets/uk-UA-IJKTNUDG-DbQpa2ug.js +0 -6
  453. package/dist/client/assets/uz-UZ-TBZZEA4V-Dt35hEMk.js +0 -1
  454. package/dist/client/assets/vennDiagram-CIIHVFJN-GGrxyoPK.js +0 -34
  455. package/dist/client/assets/vhdl-CMrOq2q1.js +0 -1
  456. package/dist/client/assets/vi-VN-MULSGNVB-BgxNIE1N.js +0 -7
  457. package/dist/client/assets/wardley-L42UT6IY-Ba5lVG9E.js +0 -1
  458. package/dist/client/assets/xychartDiagram-2RQKCTM6-DKA6F9sv.js +0 -7
  459. package/dist/client/assets/zh-CN-MVX3E32U-W0nclq-N.js +0 -11
  460. package/dist/client/assets/zh-HK-JNU5RLIE-C2VRLD9Z.js +0 -1
  461. package/dist/client/assets/zh-TW-LENVCA6T-Ci7udZjZ.js +0 -9
  462. /package/dist/client/assets/{keyboard-shortcuts-Ctp9_GHy.js → keyboard-shortcuts-C5LvVwoE.js} +0 -0
  463. /package/dist/client/assets/{chunk-aKtaBQYM.js → rolldown-runtime-aKtaBQYM.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "collabmd",
3
- "version": "0.1.41",
3
+ "version": "0.1.43",
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": {
@@ -64,31 +64,31 @@
64
64
  "license": "MIT",
65
65
  "dependencies": {
66
66
  "@codemirror/autocomplete": "^6.20.3",
67
- "@codemirror/commands": "^6.10.3",
68
- "@codemirror/lang-markdown": "^6.5.0",
67
+ "@codemirror/commands": "^6.10.4",
68
+ "@codemirror/lang-markdown": "^6.5.1",
69
69
  "@codemirror/lang-yaml": "^6.1.3",
70
- "@codemirror/language": "^6.12.3",
70
+ "@codemirror/language": "^6.12.4",
71
71
  "@codemirror/language-data": "^6.5.2",
72
- "@codemirror/search": "^6.7.0",
73
- "@codemirror/state": "^6.6.0",
72
+ "@codemirror/search": "^6.7.1",
73
+ "@codemirror/state": "^6.7.1",
74
74
  "@codemirror/theme-one-dark": "^6.1.3",
75
- "@codemirror/view": "^6.43.1",
76
- "@excalidraw/excalidraw": "0.18.0-699826",
75
+ "@codemirror/view": "^6.43.6",
76
+ "@excalidraw/excalidraw": "0.18.0-e9c856d",
77
77
  "@fontsource-variable/inter": "^5.2.8",
78
78
  "@fontsource/jetbrains-mono": "^5.2.8",
79
- "@turbodocx/html-to-docx": "^1.21.0",
79
+ "@turbodocx/html-to-docx": "^1.22.0",
80
80
  "archiver": "^8.0.0",
81
81
  "highlight.js": "^11.11.1",
82
- "js-yaml": "^4.2.0",
82
+ "js-yaml": "^5.2.1",
83
83
  "lib0": "^0.2.117",
84
84
  "lit-html": "^3.3.3",
85
- "markdown-it": "^14.2.0",
86
- "mermaid": "^11.15.0",
85
+ "markdown-it": "^14.3.0",
86
+ "mermaid": "^11.16.0",
87
87
  "openid-client": "^6.8.4",
88
88
  "react": "^19.2.7",
89
89
  "react-dom": "^19.2.7",
90
- "sharp": "^0.35.1",
91
- "ws": "^8.21.0",
90
+ "sharp": "^0.35.3",
91
+ "ws": "^8.21.1",
92
92
  "y-codemirror.next": "^0.3.5",
93
93
  "y-protocols": "^1.0.7",
94
94
  "y-websocket": "^3.0.0",
@@ -101,12 +101,12 @@
101
101
  },
102
102
  "devDependencies": {
103
103
  "@eslint/js": "^10.0.1",
104
- "@playwright/test": "^1.60.0",
105
- "@vitest/browser": "^4.1.8",
106
- "@vitest/browser-playwright": "^4.1.8",
107
- "eslint": "^10.5.0",
108
- "globals": "^17.6.0",
109
- "vite": "^8.0.16",
110
- "vitest": "^4.1.8"
104
+ "@playwright/test": "^1.61.1",
105
+ "@vitest/browser": "^4.1.10",
106
+ "@vitest/browser-playwright": "^4.1.10",
107
+ "eslint": "^10.7.0",
108
+ "globals": "^17.7.0",
109
+ "vite": "^8.1.5",
110
+ "vitest": "^4.1.10"
111
111
  }
112
112
  }
@@ -255,10 +255,10 @@ export const chatFeature = {
255
255
  let pressed = false;
256
256
 
257
257
  if (permission === 'unsupported') {
258
- label = 'No alerts';
258
+ label = 'Alerts unavailable';
259
259
  title = 'Browser notifications are unavailable here';
260
260
  } else if (permission === 'denied') {
261
- label = 'Alerts blocked';
261
+ label = 'Alerts off';
262
262
  title = 'Browser notifications are blocked for this site';
263
263
  } else if (permission === 'granted') {
264
264
  pressed = this.chatNotificationsEnabled;
@@ -232,7 +232,10 @@ export const presenceFeature = {
232
232
  const effectiveConnectionState = getConnectedPresenceState(this);
233
233
  if (status) {
234
234
  if (effectiveConnectionState.status === 'connected') {
235
- status.textContent = `${this.globalUsers.length} online. Click someone to follow.`;
235
+ const remoteUserCount = this.globalUsers.filter((user) => !user.isLocal).length;
236
+ status.textContent = remoteUserCount === 0
237
+ ? 'You’re the only person here right now.'
238
+ : `${remoteUserCount} ${remoteUserCount === 1 ? 'teammate' : 'teammates'} online. Select someone to follow.`;
236
239
  } else if (effectiveConnectionState.status === 'connecting') {
237
240
  status.textContent = effectiveConnectionState.unreachable ? 'Server unreachable.' : 'Connecting presence...';
238
241
  } else {
@@ -314,6 +314,10 @@ function bindEvents() {
314
314
  this.closeSidebarOnMobile();
315
315
  });
316
316
 
317
+ this.elements.sidebarBackdrop?.addEventListener('click', () => {
318
+ this.closeSidebarOnMobile();
319
+ });
320
+
317
321
  this.elements.filesSidebarTab?.addEventListener('click', () => {
318
322
  this.setSidebarTab('files');
319
323
  });
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @typedef {object} UiSidebarContext
3
3
  * @property {string} activeSidebarTab
4
- * @property {{ sidebar?: HTMLElement | null, filesSidebarTab?: HTMLElement | null, commentsSidebarTab?: HTMLElement | null, gitSidebarTab?: HTMLElement | null, fileSearch?: HTMLElement | null, gitSearch?: HTMLElement | null, commentOverviewPanel?: HTMLElement | null }} elements
4
+ * @property {{ sidebar?: HTMLElement | null, sidebarBackdrop?: HTMLElement | null, filesSidebarTab?: HTMLElement | null, commentsSidebarTab?: HTMLElement | null, gitSidebarTab?: HTMLElement | null, fileSearch?: HTMLElement | null, gitSearch?: HTMLElement | null, commentOverviewPanel?: HTMLElement | null }} elements
5
5
  * @property {{ setSidebarVisible(showSidebar: boolean): void, getSidebarVisible(): string | null | undefined }} preferences
6
6
  * @property {{ setActive(active: boolean): void }} gitPanel
7
7
  * @property {boolean} gitRepoAvailable
@@ -63,13 +63,22 @@ function applySidebarVisibility(showSidebar) {
63
63
  const sidebar = this.elements.sidebar;
64
64
  if (!sidebar) return;
65
65
 
66
+ const isMobile = this.isMobileViewport();
66
67
  const isCollapsed = !showSidebar;
67
- const hideForMobile = isCollapsed && this.isMobileViewport();
68
+ const hideForMobile = isCollapsed && isMobile;
69
+ const showBackdrop = showSidebar && isMobile;
68
70
 
69
71
  sidebar.classList.toggle('collapsed', isCollapsed);
70
72
  sidebar.toggleAttribute('hidden', hideForMobile);
71
- sidebar.setAttribute('aria-hidden', hideForMobile ? 'true' : 'false');
73
+ sidebar.setAttribute('aria-hidden', isCollapsed ? 'true' : 'false');
72
74
  sidebar.inert = isCollapsed;
75
+
76
+ const backdrop = this.elements.sidebarBackdrop;
77
+ backdrop?.toggleAttribute('hidden', !showBackdrop);
78
+ backdrop?.setAttribute('aria-hidden', showBackdrop ? 'false' : 'true');
79
+ if (backdrop) {
80
+ backdrop.inert = !showBackdrop;
81
+ }
73
82
  }
74
83
 
75
84
  /** @this {UiSidebarContext} */
@@ -66,6 +66,7 @@ export function bindAppShellElements(doc = document) {
66
66
  activeFileName: doc.getElementById('activeFileName'),
67
67
  sidebarToggle: doc.getElementById('sidebarToggle'),
68
68
  sidebarClose: doc.getElementById('sidebarClose'),
69
+ sidebarBackdrop: doc.getElementById('sidebarBackdrop'),
69
70
  sidebar: doc.getElementById('sidebar'),
70
71
  emptyState: doc.getElementById('emptyState'),
71
72
  emptyStateNewFileBtn: doc.getElementById('emptyStateNewFileBtn'),
@@ -1,4 +1,4 @@
1
- import yaml from 'js-yaml';
1
+ import { dump as dumpYaml } from 'js-yaml';
2
2
 
3
3
  import { escapeHtml } from '../domain/vault-utils.js';
4
4
 
@@ -31,7 +31,7 @@ function formatScalarValue(value) {
31
31
  }
32
32
 
33
33
  function serializeComplexValue(value) {
34
- return yaml.dump(value, {
34
+ return dumpYaml(value, {
35
35
  lineWidth: -1,
36
36
  noRefs: true,
37
37
  }).trim();
@@ -74,18 +74,18 @@ export class MermaidPreviewHydrator extends DiagramPreviewHydrator {
74
74
  },
75
75
  theme: this.currentTheme === 'dark' ? 'dark' : 'default',
76
76
  themeVariables: this.currentTheme === 'dark' ? {
77
- background: '#161822',
78
- clusterBkg: '#1a1c28',
79
- edgeLabelBackground: '#161822',
80
- lineColor: '#8b8ba0',
81
- mainBkg: '#1c1e2c',
82
- nodeBorder: '#383a50',
83
- primaryBorderColor: '#383a50',
84
- primaryColor: '#818cf8',
85
- primaryTextColor: '#e2e2ea',
86
- secondaryColor: '#1c1e2c',
87
- tertiaryColor: '#161822',
88
- titleColor: '#e2e2ea',
77
+ background: '#11161d',
78
+ clusterBkg: '#141a22',
79
+ edgeLabelBackground: '#11161d',
80
+ lineColor: '#9aa7b4',
81
+ mainBkg: '#171d26',
82
+ nodeBorder: '#303c4b',
83
+ primaryBorderColor: '#60a5fa',
84
+ primaryColor: '#172a45',
85
+ primaryTextColor: '#e6edf3',
86
+ secondaryColor: '#1c2530',
87
+ tertiaryColor: '#11161d',
88
+ titleColor: '#e6edf3',
89
89
  } : {},
90
90
  });
91
91
  }
@@ -44,12 +44,6 @@ export function appShellTemplate() {
44
44
  <span class="sidebar-create-btn-label">Create</span>
45
45
  </button>
46
46
  </div>
47
- <button class=${iconButtonClassNames()} id="refreshFilesBtn" aria-label="Refresh" title="Refresh file list">
48
- <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
49
- <polyline points="23 4 23 10 17 10"></polyline>
50
- <path d="M20.49 15a9 9 0 1 1-2.12-9.36L23 10"></path>
51
- </svg>
52
- </button>
53
47
  </div>
54
48
  </div>
55
49
  <div class="ui-nav-tabs" id="sidebarTabs">
@@ -108,6 +102,15 @@ export function appShellTemplate() {
108
102
  <div id="gitPanel" class="git-panel hidden" aria-label="Git changes"></div>
109
103
  </aside>
110
104
 
105
+ <button
106
+ type="button"
107
+ class="sidebar-backdrop"
108
+ id="sidebarBackdrop"
109
+ aria-label="Close navigation"
110
+ aria-hidden="true"
111
+ hidden
112
+ ></button>
113
+
111
114
  <main class="main-area" id="mainContent">
112
115
  <header class="toolbar" role="banner">
113
116
  <div class="toolbar-left">
@@ -120,16 +123,6 @@ export function appShellTemplate() {
120
123
  </button>
121
124
  <div class="toolbar-room-info">
122
125
  <span class="toolbar-room-name" id="activeFileName">CollabMD</span>
123
- <button
124
- type="button"
125
- class=${badgeClassNames({ tone: 'accent', extra: ['toolbar-badge', 'toolbar-badge-button'] })}
126
- id="userCount"
127
- aria-controls="presencePanel"
128
- aria-expanded="false"
129
- data-presence-panel-trigger="true"
130
- ></button>
131
- <span class=${badgeClassNames({ tone: 'accent', hidden: true, extra: 'toolbar-badge' })} id="toolbarDiffBadge">Diff</span>
132
- <span class=${badgeClassNames({ tone: 'accent', hidden: true, extra: 'toolbar-badge' })} id="gitOperationStatus" aria-live="polite" aria-atomic="true"></span>
133
126
  </div>
134
127
  </div>
135
128
 
@@ -167,6 +160,19 @@ export function appShellTemplate() {
167
160
  <span class="ui-toolbar-button-label">Preview</span>
168
161
  </button>
169
162
 
163
+ <div class="toolbar-status-cluster" aria-label="Workspace status">
164
+ <span class=${badgeClassNames({ tone: 'accent', hidden: true, extra: 'toolbar-badge' })} id="toolbarDiffBadge">Diff</span>
165
+ <span class=${badgeClassNames({ tone: 'muted', hidden: true, extra: 'toolbar-badge' })} id="gitOperationStatus" aria-live="polite" aria-atomic="true"></span>
166
+ <button
167
+ type="button"
168
+ class=${badgeClassNames({ tone: 'muted', extra: ['toolbar-badge', 'toolbar-badge-button'] })}
169
+ id="userCount"
170
+ aria-controls="presencePanel"
171
+ aria-expanded="false"
172
+ data-presence-panel-trigger="true"
173
+ ></button>
174
+ </div>
175
+
170
176
  <div class="user-avatars toolbar-presence-cluster" id="userAvatars"></div>
171
177
 
172
178
  <section class="presence-panel hidden" id="presencePanel" aria-label="Online users" aria-hidden="true">
@@ -337,7 +343,7 @@ export function appShellTemplate() {
337
343
  <h2 class="empty-state-title">Welcome to CollabMD</h2>
338
344
  <p class="empty-state-desc">Open a file from the sidebar, or get started quickly:</p>
339
345
  <div class="empty-state-actions">
340
- <button class=${buttonClassNames({ variant: 'secondary', extra: 'empty-state-btn' })} id="emptyStateNewFileBtn">
346
+ <button class=${buttonClassNames({ variant: 'primary', extra: 'empty-state-btn' })} id="emptyStateNewFileBtn">
341
347
  <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
342
348
  <line x1="12" y1="5" x2="12" y2="19"></line>
343
349
  <line x1="5" y1="12" x2="19" y2="12"></line>
@@ -426,7 +432,7 @@ export function appShellTemplate() {
426
432
  </svg>
427
433
  <span class="ui-action-label">Comments</span>
428
434
  </button>
429
- <button class=${buttonClassNames({ variant: 'ghost', size: 'compact', toggle: true })} id="outlineToggle" aria-label="Toggle outline" title="Toggle outline">
435
+ <button class=${buttonClassNames({ variant: 'ghost', size: 'compact', toggle: true })} id="outlineToggle" aria-label="Toggle outline" aria-controls="outlinePanel" aria-expanded="false" title="Toggle outline">
430
436
  <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
431
437
  <line x1="3" y1="6" x2="21" y2="6"></line>
432
438
  <line x1="3" y1="12" x2="15" y2="12"></line>
@@ -469,14 +475,21 @@ export function appShellTemplate() {
469
475
  <div class="comments-drawer-header">
470
476
  <span class="comments-drawer-title">Comments</span>
471
477
  </div>
472
- <div id="commentsDrawerEmpty" class="comments-drawer-empty">
473
- Add a comment from the editor or the preview bubbles.
478
+ <div id="commentsDrawerEmpty" class="comments-drawer-empty ui-empty-state ui-empty-state--compact">
479
+ <p class="ui-empty-state-title">No comments yet</p>
480
+ <p class="ui-empty-state-copy">Select text in the editor or use a preview bubble to start a thread.</p>
474
481
  </div>
475
482
  <div id="commentsDrawerList" class="comments-drawer-list"></div>
476
483
  </aside>
477
- <aside id="outlinePanel" class="outline-panel hidden" aria-label="Document outline">
484
+ <aside id="outlinePanel" class="outline-panel hidden" aria-label="Document outline" aria-hidden="true">
478
485
  <div class="outline-header">
479
486
  <span class="outline-title">Outline</span>
487
+ <button class=${iconButtonClassNames({ extra: 'outline-close-btn' })} id="outlineClose" type="button" aria-label="Close outline" title="Close outline">
488
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true">
489
+ <line x1="18" y1="6" x2="6" y2="18"></line>
490
+ <line x1="6" y1="6" x2="18" y2="18"></line>
491
+ </svg>
492
+ </button>
480
493
  </div>
481
494
  <nav id="outlineNav" class="outline-nav"></nav>
482
495
  </aside>
@@ -645,6 +658,11 @@ export function appShellTemplate() {
645
658
  </div>
646
659
  <div class="qs-results" id="quickSwitcherResults"></div>
647
660
  <div class="qs-hint" id="quickSwitcherHint">Type to search files</div>
661
+ <div class="qs-footer" aria-hidden="true">
662
+ <span><kbd>↑</kbd><kbd>↓</kbd> Navigate</span>
663
+ <span><kbd>↵</kbd> Open</span>
664
+ <span><kbd>Tab</kbd> Switch mode</span>
665
+ </div>
648
666
  </div>
649
667
  </div>
650
668
  `;
@@ -27,6 +27,25 @@ function formatLineLabel(anchor = {}) {
27
27
  return startLine === endLine ? `Line ${startLine}` : `Lines ${startLine}-${endLine}`;
28
28
  }
29
29
 
30
+ function createOverviewState({ copy, title, tone = '' }) {
31
+ const state = document.createElement('div');
32
+ state.className = 'comment-overview-empty ui-empty-state ui-empty-state--compact';
33
+ if (tone) {
34
+ state.dataset.tone = tone;
35
+ }
36
+
37
+ const heading = document.createElement('p');
38
+ heading.className = 'ui-empty-state-title';
39
+ heading.textContent = title;
40
+
41
+ const description = document.createElement('p');
42
+ description.className = 'ui-empty-state-copy';
43
+ description.textContent = copy;
44
+
45
+ state.append(heading, description);
46
+ return state;
47
+ }
48
+
30
49
  export class CommentOverviewController {
31
50
  constructor({
32
51
  panelElement,
@@ -109,26 +128,32 @@ export class CommentOverviewController {
109
128
  this.panel.replaceChildren();
110
129
 
111
130
  if (this.errorMessage) {
112
- const error = document.createElement('div');
113
- error.className = 'comment-overview-empty';
114
- error.textContent = this.errorMessage;
131
+ const error = createOverviewState({
132
+ copy: this.errorMessage,
133
+ title: 'Comments unavailable',
134
+ tone: 'error',
135
+ });
136
+ error.setAttribute('role', 'alert');
115
137
  this.panel.appendChild(error);
116
138
  return;
117
139
  }
118
140
 
119
141
  if (this.loading && asArray(this.overview.files).length === 0) {
120
- const loading = document.createElement('div');
121
- loading.className = 'comment-overview-empty';
122
- loading.textContent = 'Loading open comments...';
142
+ const loading = createOverviewState({
143
+ copy: 'Checking the vault for active threads…',
144
+ title: 'Loading comments',
145
+ });
146
+ loading.setAttribute('role', 'status');
123
147
  this.panel.appendChild(loading);
124
148
  return;
125
149
  }
126
150
 
127
151
  const files = asArray(this.overview.files);
128
152
  if (files.length === 0) {
129
- const empty = document.createElement('div');
130
- empty.className = 'comment-overview-empty';
131
- empty.textContent = 'No open comments';
153
+ const empty = createOverviewState({
154
+ copy: 'Open comments from any document will appear here.',
155
+ title: 'You’re all caught up',
156
+ });
132
157
  this.panel.appendChild(empty);
133
158
  return;
134
159
  }
@@ -340,20 +340,6 @@ function createThreadElement(thread) {
340
340
  const article = document.createElement('article');
341
341
  article.className = 'comment-thread-card';
342
342
 
343
- const header = document.createElement('div');
344
- header.className = 'ui-record-header comment-thread-card-header';
345
-
346
- const heading = document.createElement('div');
347
- heading.className = 'comment-thread-card-heading';
348
-
349
- const author = document.createElement('span');
350
- author.className = 'comment-thread-card-author';
351
- author.textContent = thread.createdByName;
352
-
353
- const time = document.createElement('span');
354
- time.className = 'comment-thread-card-time';
355
- time.textContent = this.formatTimestamp(thread.createdAt);
356
-
357
343
  const actions = document.createElement('div');
358
344
  actions.className = 'ui-record-actions comment-thread-card-actions';
359
345
 
@@ -407,13 +393,12 @@ function createThreadElement(thread) {
407
393
  });
408
394
 
409
395
  actions.append(jump, reply, resolve);
410
- heading.append(author, time);
411
- header.append(heading, actions);
412
396
 
413
- article.append(header);
414
-
415
- thread.messages.forEach((message) => {
416
- article.appendChild(this.createMessageElement(thread, message));
397
+ thread.messages.forEach((message, index) => {
398
+ article.appendChild(this.createMessageElement(thread, message, {
399
+ actions: index === 0 ? actions : null,
400
+ isThreadStart: index === 0,
401
+ }));
417
402
  });
418
403
 
419
404
  if (this.activeCard?.replyThreadId === thread.id) {
@@ -424,9 +409,10 @@ function createThreadElement(thread) {
424
409
  }
425
410
 
426
411
  /** @this {any} */
427
- function createMessageElement(thread, message) {
412
+ function createMessageElement(thread, message, { actions = null, isThreadStart = false } = {}) {
428
413
  const container = document.createElement('div');
429
414
  container.className = 'comment-message-card';
415
+ container.classList.toggle('is-thread-start', isThreadStart);
430
416
 
431
417
  const meta = document.createElement('div');
432
418
  meta.className = 'ui-record-meta comment-message-card-meta';
@@ -445,6 +431,9 @@ function createMessageElement(thread, message) {
445
431
  );
446
432
 
447
433
  meta.append(author, time);
434
+ if (actions) {
435
+ meta.appendChild(actions);
436
+ }
448
437
  container.append(meta, renderedBody);
449
438
  container.appendChild(this.createReactionBar(thread, message));
450
439
  return container;
@@ -86,7 +86,6 @@ export class FileActionController {
86
86
  this.view = view;
87
87
  this.refresh = refresh;
88
88
  this.createButton = document.getElementById('sidebarCreateBtn');
89
- this.refreshButton = document.getElementById('refreshFilesBtn');
90
89
  this.actionDialog = document.getElementById('fileActionDialog');
91
90
  this.actionForm = document.getElementById('fileActionForm');
92
91
  this.actionTitle = document.getElementById('fileActionTitle');
@@ -109,7 +108,6 @@ export class FileActionController {
109
108
  this.createButton?.addEventListener('click', () => {
110
109
  this.openRootCreateMenu({ anchor: this.createButton });
111
110
  });
112
- this.refreshButton?.addEventListener('click', () => this.refresh());
113
111
  this.actionCancelButton?.addEventListener('click', () => this.closeActionDialog());
114
112
  this.actionForm?.addEventListener('submit', (event) => {
115
113
  event.preventDefault();
@@ -915,7 +915,11 @@ export class GitPanelController {
915
915
  return;
916
916
  }
917
917
 
918
- this.panel.innerHTML = `<div class="git-panel-empty">${escapeHtml(message)}</div>`;
918
+ this.panel.innerHTML = `
919
+ <div class="git-panel-empty ui-empty-state ui-empty-state--compact">
920
+ <p class="ui-empty-state-copy">${escapeHtml(message)}</p>
921
+ </div>
922
+ `;
919
923
  }
920
924
 
921
925
  render() {
@@ -12,6 +12,7 @@ export class OutlineController {
12
12
  this.onNavigateToHeading = onNavigateToHeading;
13
13
  this.onWillOpen = onWillOpen;
14
14
  this.panel = document.getElementById('outlinePanel');
15
+ this.closeButton = document.getElementById('outlineClose');
15
16
  this.navigation = document.getElementById('outlineNav');
16
17
  this.previewContainer = document.getElementById('previewContainer');
17
18
  this.toggleButton = document.getElementById('outlineToggle');
@@ -39,6 +40,7 @@ export class OutlineController {
39
40
 
40
41
  initialize() {
41
42
  this.toggleButton?.addEventListener('click', () => this.toggle());
43
+ this.closeButton?.addEventListener('click', () => this.close());
42
44
  document.addEventListener('pointerdown', this.handleDocumentPointerDown);
43
45
  }
44
46
 
@@ -58,6 +60,8 @@ export class OutlineController {
58
60
  this.outlineOpen = nextState;
59
61
  this.panel?.classList.toggle('hidden', !this.outlineOpen);
60
62
  this.toggleButton?.classList.toggle('active', this.outlineOpen);
63
+ this.panel?.setAttribute('aria-hidden', String(!this.outlineOpen));
64
+ this.toggleButton?.setAttribute('aria-expanded', String(this.outlineOpen));
61
65
 
62
66
  if (this.outlineOpen) {
63
67
  this.refresh();
@@ -14,12 +14,12 @@
14
14
  .toast {
15
15
  max-width: 320px;
16
16
  padding: var(--space-2) var(--space-4);
17
- border: 1px solid var(--color-border);
18
- border-radius: var(--radius-md);
19
- background: var(--color-surface-2);
17
+ border: 1px solid var(--color-divider);
18
+ border-radius: var(--radius-lg);
19
+ background: var(--color-surface);
20
20
  color: var(--color-text);
21
21
  box-shadow: var(--shadow-md);
22
- font-size: var(--text-xs);
22
+ font-size: var(--text-ui-sm);
23
23
  pointer-events: auto;
24
24
  opacity: 1;
25
25
  display: flex;
@@ -51,23 +51,23 @@
51
51
 
52
52
  .ui-nav-tabs {
53
53
  display: flex;
54
- gap: 4px;
55
- padding: 4px var(--space-2) 0;
54
+ justify-content: center;
55
+ gap: var(--space-1);
56
+ padding: var(--space-1) var(--space-2) 0;
56
57
  border-bottom: 1px solid var(--color-divider);
57
58
  }
58
59
 
59
60
  .ui-nav-tab {
60
61
  position: relative;
61
- flex: 1;
62
+ flex: 0 1 auto;
62
63
  display: inline-flex;
63
- flex-direction: column;
64
64
  align-items: center;
65
65
  justify-content: center;
66
66
  min-width: 0;
67
- height: 42px;
68
- gap: 3px;
69
- padding: 4px var(--space-1) 5px;
70
- border: 1px solid transparent;
67
+ height: 34px;
68
+ gap: 5px;
69
+ padding: 0 var(--space-2);
70
+ border: none;
71
71
  border-bottom: 2px solid transparent;
72
72
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
73
73
  color: var(--color-text-muted);
@@ -77,19 +77,24 @@
77
77
  color var(--transition-interactive);
78
78
  }
79
79
 
80
+ .ui-nav-tabs:has(.ui-nav-tab.hidden) .ui-nav-tab:not(.hidden) {
81
+ flex: 1;
82
+ }
83
+
80
84
  .ui-nav-tab-icon {
85
+ position: relative;
81
86
  display: inline-flex;
82
87
  align-items: center;
83
88
  justify-content: center;
84
- width: var(--control-icon-md);
85
- height: var(--control-icon-md);
89
+ width: var(--control-icon-sm);
90
+ height: var(--control-icon-sm);
86
91
  flex-shrink: 0;
87
92
  }
88
93
 
89
94
  .ui-nav-tab-icon svg {
90
95
  display: block;
91
- width: var(--control-icon-md);
92
- height: var(--control-icon-md);
96
+ width: var(--control-icon-sm);
97
+ height: var(--control-icon-sm);
93
98
  }
94
99
 
95
100
  .ui-nav-tab-label {
@@ -97,16 +102,16 @@
97
102
  max-width: 100%;
98
103
  text-overflow: ellipsis;
99
104
  white-space: nowrap;
100
- font-size: 11px;
105
+ font-size: var(--text-label);
101
106
  font-weight: 600;
102
107
  line-height: 1;
103
108
  }
104
109
 
105
- .ui-nav-tab.has-changes::after {
110
+ .ui-nav-tab.has-changes .ui-nav-tab-icon::after {
106
111
  content: '';
107
112
  position: absolute;
108
- top: 5px;
109
- right: 7px;
113
+ top: -2px;
114
+ right: -3px;
110
115
  width: 6px;
111
116
  height: 6px;
112
117
  border-radius: 50%;
@@ -115,14 +120,13 @@
115
120
  }
116
121
 
117
122
  .ui-nav-tab:hover {
118
- border-color: color-mix(in oklab, var(--color-border) 72%, transparent);
119
123
  background: var(--color-surface-offset);
120
124
  color: var(--color-text);
121
125
  }
122
126
 
123
- .ui-nav-tab.active {
124
- border-color: color-mix(in oklab, var(--color-primary) 32%, transparent);
127
+ .ui-nav-tab.active,
128
+ .ui-nav-tab.active:hover {
125
129
  border-bottom-color: var(--color-primary);
126
- background: var(--color-primary-highlight);
130
+ background: transparent;
127
131
  color: var(--color-primary);
128
132
  }