collabmd 0.1.49 → 0.1.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (400) hide show
  1. package/README.md +10 -659
  2. package/bin/collabmd.js +36 -20
  3. package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-Crf9Y3Q6.js +1 -0
  4. package/dist/client/assets/{abnfDiagram-VCTEODGH-CdVZqicp.js → abnfDiagram-VCTEODGH-PuinKbSQ.js} +1 -1
  5. package/dist/client/assets/ar-SA-5WIASEJP-Di7OimCN.js +10 -0
  6. package/dist/client/assets/{architectureDiagram-5GKGNRK7-wUo0bXif.js → architectureDiagram-5GKGNRK7-46hPkrZv.js} +1 -1
  7. package/dist/client/assets/az-AZ-V5EUQD6C-C19OGTT_.js +1 -0
  8. package/dist/client/assets/bg-BG-EXASCMTR-BIt0xWyb.js +5 -0
  9. package/dist/client/assets/{blockDiagram-I7D4REHJ-BRSK3m49.js → blockDiagram-I7D4REHJ-C1S5Bzf8.js} +1 -1
  10. package/dist/client/assets/bn-BD-U4SYNFCO-CdNaPy4Q.js +3 -0
  11. package/dist/client/assets/bn-IN-HKDJIITE-CdNaPy4Q.js +3 -0
  12. package/dist/client/assets/{browser-BKLM0ThC-IxjwuOIz-BBqQnUEb.js → browser-BKLM0ThC-IxjwuOIz-DyJcVMFR.js} +1 -1
  13. package/dist/client/assets/{c4Diagram-7LVT6UL2-yD2poxqw.js → c4Diagram-7LVT6UL2-VAk1HPmz.js} +1 -1
  14. package/dist/client/assets/ca-ES-2KGUU5XB-C9t-c0cH.js +8 -0
  15. package/dist/client/assets/channel-jwdhnPiV.js +1 -0
  16. package/dist/client/assets/chunk-2E4U76K2-Ba8Wf22k.js +1 -0
  17. package/dist/client/assets/{chunk-4HAMMTFA-DStbIfJ1.js → chunk-4HAMMTFA-Ht-73lsT.js} +1 -1
  18. package/dist/client/assets/chunk-5XKZK2GL-D4UAZSOJ.js +1 -0
  19. package/dist/client/assets/{chunk-75Z2AOVW-C5pGd3W9.js → chunk-75Z2AOVW-B2cZexqK.js} +1 -1
  20. package/dist/client/assets/{chunk-CLGD4ZFX-BMeArk03.js → chunk-CLGD4ZFX-Cmtx89ht.js} +1 -1
  21. package/dist/client/assets/{chunk-DU6HZSFF-Zkp69c6c.js → chunk-DU6HZSFF-C6d6PJfE.js} +1 -1
  22. package/dist/client/assets/{chunk-F27PBJKO-D4xNct1r.js → chunk-F27PBJKO-Dg3H6KLL.js} +1 -1
  23. package/dist/client/assets/{chunk-GMAD6QVW-NZ6WpDb8.js → chunk-GMAD6QVW-DUfjx_d5.js} +1 -1
  24. package/dist/client/assets/{chunk-GVQU2GXP-D8SDprfX.js → chunk-GVQU2GXP-D1l7oRGR.js} +1 -1
  25. package/dist/client/assets/{chunk-IMKFNOWR-D8jEuU3Q.js → chunk-IMKFNOWR-3F6NhHUP.js} +1 -1
  26. package/dist/client/assets/{chunk-L3NEJ4N5-aijKP-eh.js → chunk-L3NEJ4N5-BmCVn4y-.js} +1 -1
  27. package/dist/client/assets/{chunk-OSK3NFVY-CCbLQAMa.js → chunk-OSK3NFVY-CWHXAmfx.js} +1 -1
  28. package/dist/client/assets/{chunk-P2QGCYS3-Oag_FdCq.js → chunk-P2QGCYS3-Du8EtwOa.js} +1 -1
  29. package/dist/client/assets/{chunk-POPQ4Y6H-CYnpIgXT.js → chunk-POPQ4Y6H-B5yJIrZE.js} +1 -1
  30. package/dist/client/assets/{chunk-PWAF6VOD-JSNrcBmP.js → chunk-PWAF6VOD-B3gML4ps.js} +1 -1
  31. package/dist/client/assets/{chunk-SHT3W25Y-BiQGljao.js → chunk-SHT3W25Y-BKaI8jZO.js} +1 -1
  32. package/dist/client/assets/{chunk-SVP7TREG-DB485R5x.js → chunk-SVP7TREG-XlsB_ZMZ.js} +1 -1
  33. package/dist/client/assets/{chunk-TICWLB2K-8rAVvoS3.js → chunk-TICWLB2K-Cpp2z8yK.js} +1 -1
  34. package/dist/client/assets/chunk-TLUHSLCS-Yl7B0Vrz.js +1 -0
  35. package/dist/client/assets/chunk-ZNVOA63L-BmCQjhx-.js +40 -0
  36. package/dist/client/assets/{chunk-FLYJHZSQ-Be7lKF17.js → chunk-ZPMXAHWN-Dt0TxJa6.js} +2 -2
  37. package/dist/client/assets/classDiagram-ZZMXUADV-BRw9vo8U.js +1 -0
  38. package/dist/client/assets/classDiagram-v2-VYDZK3BY-BRw9vo8U.js +1 -0
  39. package/dist/client/assets/comment-markdown-renderer-B9_vPc3F.js +1 -0
  40. package/dist/client/assets/comment-thread-store-NNHqRVsX.js +1 -0
  41. package/dist/client/assets/comment-threads-nJhK1yfc.js +4 -0
  42. package/dist/client/assets/cs-CZ-VUCGPRML-BfCoYAgj.js +7 -0
  43. package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-rTz9RhFH.js → cynefinDiagram-5FMLGOSQ-BRoCEoZM.js} +1 -1
  44. package/dist/client/assets/da-DK-NNDP2IVP-DBw9ZNTR.js +2 -0
  45. package/dist/client/assets/{dagre-GXQ25YYZ-Cr67wLpQ.js → dagre-GXQ25YYZ-BSfKCfy7.js} +1 -1
  46. package/dist/client/assets/de-CH-I7RAVIZN-DYW18Vsr.js +11 -0
  47. package/dist/client/assets/de-DE-WBQ3DQLR-DYW18Vsr.js +11 -0
  48. package/dist/client/assets/deferred-collab-rBe4nuQ2.css +1 -0
  49. package/dist/client/assets/deferred-git-BHKtkFYi.css +1 -0
  50. package/dist/client/assets/deferred-preview-pe7Iwwx3.css +1 -0
  51. package/dist/client/assets/{diagram-S7CK7UJ4-DywERe__.js → diagram-S7CK7UJ4-D7KaM9yj.js} +1 -1
  52. package/dist/client/assets/{diagram-UQ7AKVKN-CNYlXtu4.js → diagram-UQ7AKVKN-JevUZuYi.js} +1 -1
  53. package/dist/client/assets/{diagram-VSXAHHWV-0H1a61Bn.js → diagram-VSXAHHWV-B3-U-Q2E.js} +1 -1
  54. package/dist/client/assets/{diagram-VX7I27RA-CsJbsx5F.js → diagram-VX7I27RA-pSD4HMh1.js} +1 -1
  55. package/dist/client/assets/{diagram-Z3DM3KII-D0mLxEgI.js → diagram-Z3DM3KII-D8r1_CIb.js} +1 -1
  56. package/dist/client/assets/{direct-engine-DdrQKpgq-CtKfQzCt.js → direct-engine-DdrQKpgq-B5zIoeQw.js} +1 -1
  57. package/dist/client/assets/dist-B3HdUPsK.js +1 -0
  58. package/dist/client/assets/{dist-Tw-Fxpeb.js → dist-B7XMN9AT.js} +1 -1
  59. package/dist/client/assets/dist-BIRygGYH.js +1 -0
  60. package/dist/client/assets/dist-BPyOlNLY.js +2 -0
  61. package/dist/client/assets/{dist-D5wCC32z.js → dist-BR81yxMt.js} +1 -1
  62. package/dist/client/assets/{dist-TW8iFRyW.js → dist-B_B4XLmq.js} +1 -1
  63. package/dist/client/assets/dist-Bdy9ZRzd.js +9 -0
  64. package/dist/client/assets/{dist-netZOQtD.js → dist-Bfxzlnrf.js} +1 -1
  65. package/dist/client/assets/{dist-DzNmC81X.js → dist-Bx3QkS-3.js} +1 -1
  66. package/dist/client/assets/{dist-mj2Ht75J.js → dist-By7ieqAf.js} +1 -1
  67. package/dist/client/assets/dist-ByhQbe-x.js +1 -0
  68. package/dist/client/assets/{dist-CdmKGRGr.js → dist-BzFSJM0U.js} +1 -1
  69. package/dist/client/assets/dist-C5NkYKAa.js +1 -0
  70. package/dist/client/assets/{dist-D3fehAZ2.js → dist-CELhfKzh.js} +1 -1
  71. package/dist/client/assets/dist-CEirJSxk.js +1 -0
  72. package/dist/client/assets/dist-CO0-4CuV.js +39 -0
  73. package/dist/client/assets/dist-CRnJ0D9h.js +1 -0
  74. package/dist/client/assets/{dist-GvvCNBe4.js → dist-CbDyXgCo.js} +1 -1
  75. package/dist/client/assets/{dist-BeajGMhO.js → dist-CqXVyYoH.js} +1 -1
  76. package/dist/client/assets/{dist-LQ4kDCKz.js → dist-CrWzIWEE.js} +1 -1
  77. package/dist/client/assets/dist-CyNrloSI.js +1 -0
  78. package/dist/client/assets/dist-D60_kdpQ.js +1 -0
  79. package/dist/client/assets/{dist-DuH3ZrHo.js → dist-DCpIH3-_.js} +1 -1
  80. package/dist/client/assets/{dist-BPHLJ09L.js → dist-DJAMplZI.js} +2 -2
  81. package/dist/client/assets/{dist-DGEbEfw4.js → dist-DVXzbeDx.js} +1 -1
  82. package/dist/client/assets/{dist-C5NgpdG5.js → dist-Drv_wZYC.js} +1 -1
  83. package/dist/client/assets/{dist-DVy5woUy.js → dist-EWJYvBK1.js} +1 -1
  84. package/dist/client/assets/dist-Hdhj3L3t.js +1 -0
  85. package/dist/client/assets/{dist-DpYDHR9p.js → dist-gRRhmB-2.js} +3 -3
  86. package/dist/client/assets/dist-kWb2d1CH.js +1 -0
  87. package/dist/client/assets/dist-kiD2GIsD.js +13 -0
  88. package/dist/client/assets/{dist-JaU3aRlD.js → dist-l-56SowH.js} +1 -1
  89. package/dist/client/assets/{dist-BK9QvQrc.js → dist-nxQErAaK.js} +2 -2
  90. package/dist/client/assets/dist-sLzRQQk7.js +1 -0
  91. package/dist/client/assets/document-formatter-Qdiq9uJs.js +1 -0
  92. package/dist/client/assets/drawioEditor-CHf1vtdQ.js +9 -0
  93. package/dist/client/assets/{ebnfDiagram-PWID7BFC-HeTxHpCU.js → ebnfDiagram-PWID7BFC-UJ0Fz5ci.js} +1 -1
  94. package/dist/client/assets/editor-session-4Bn81iWm.js +14 -0
  95. package/dist/client/assets/el-GR-TYQHVGXW-Dx82YYAS.js +7 -0
  96. package/dist/client/assets/embedded-editor-base-jK221GC8.css +1 -0
  97. package/dist/client/assets/{embedpdf-DA4bA119-BPqZxwjc.js → embedpdf-DA4bA119-E8wZ11J2.js} +2 -3
  98. package/dist/client/assets/{embedpdf-BmE13ZZ0.js → embedpdf-LUXDBD3-.js} +1 -1
  99. package/dist/client/assets/{en-SJ2YIMFF-CJBL3nkq.js → en-2RFA324Y-BsuNJTcL.js} +1 -1
  100. package/dist/client/assets/{erDiagram-RLTQ6QDP-CbrDdd5P.js → erDiagram-RLTQ6QDP-CWrH1UJ9.js} +1 -1
  101. package/dist/client/assets/es-ES-JEUOREKJ-Rx0NUQDl.js +12 -0
  102. package/dist/client/assets/eu-ES-SO5DEEAN-CDYm-BcK.js +8 -0
  103. package/dist/client/assets/excalidraw-element-link-iA6zo0_f.js +7 -0
  104. package/dist/client/assets/{excalidrawEditor-BbSbI80a.css → excalidrawEditor-DDE0n1Pk.css} +1 -1
  105. package/dist/client/assets/excalidrawEditor-WIuguTz7.js +9 -0
  106. package/dist/client/assets/export-page-AN-wI5p4.js +56 -0
  107. package/dist/client/assets/exportDocument-B7IagJhQ.css +1 -0
  108. package/dist/client/assets/exportDocument-B9xNKpQe.js +2 -0
  109. package/dist/client/assets/fa-IR-FIYUE2GQ-C865Nx3X.js +9 -0
  110. package/dist/client/assets/fi-FI-REAEF6HQ-BIpjJqIb.js +6 -0
  111. package/dist/client/assets/flowDiagram-HODETNUW-kb1lUSBo.js +1 -0
  112. package/dist/client/assets/fr-FR-SUCL7J6B-DGAKE8jH.js +12 -0
  113. package/dist/client/assets/{ganttDiagram-EL5Y4UJY-BHgOYiZz.js → ganttDiagram-EL5Y4UJY-BBNzDfaV.js} +1 -1
  114. package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-Dl__X3Sk.js → gitGraphDiagram-WWUBYQGX-Csf0Dm_1.js} +1 -1
  115. package/dist/client/assets/gl-ES-KHCSOGVH-DWKh0CMu.js +6 -0
  116. package/dist/client/assets/he-IL-JYXVXV2Q-zqbcM-4g.js +9 -0
  117. package/dist/client/assets/hi-IN-BU52H3BO-CY8v6eG9.js +3 -0
  118. package/dist/client/assets/highlight-theme-CzNkO-IJ.js +1 -0
  119. package/dist/client/assets/hu-HU-OWADXDQ3-CEl6Udfh.js +3 -0
  120. package/dist/client/assets/id-ID-EOMR5R3I-CGQwUjoL.js +8 -0
  121. package/dist/client/assets/image-2QKV3NAF-BUbX0y5Y.js +1 -0
  122. package/dist/client/assets/index-BAmZnTFV.css +1 -0
  123. package/dist/client/assets/index-mWiw418b.js +1111 -0
  124. package/dist/client/assets/{infoDiagram-27XIBGKW-DBpoANC9.js → infoDiagram-27XIBGKW-Bzy6kCbb.js} +1 -1
  125. package/dist/client/assets/{ishikawaDiagram-5VMMS53U-BMPC6hfp.js → ishikawaDiagram-5VMMS53U-CRy9vIS5.js} +1 -1
  126. package/dist/client/assets/it-IT-FC2VTM3L-KTijNcUe.js +12 -0
  127. package/dist/client/assets/ja-JP-JBNTKYP4-BflWlGhw.js +12 -0
  128. package/dist/client/assets/{journeyDiagram-3NMN7TZE-B1sApUmM.js → journeyDiagram-3NMN7TZE-D4ZR_s9J.js} +1 -1
  129. package/dist/client/assets/kaa-TC3VIB7V-B-xtZfy0.js +1 -0
  130. package/dist/client/assets/kab-KAB-UOUDSQKM-BmO0O4Y4.js +4 -0
  131. package/dist/client/assets/{kanban-definition-UXKFOSKX-C9yP4td1.js → kanban-definition-UXKFOSKX-CIDTmu5g.js} +1 -1
  132. package/dist/client/assets/kk-KZ-P5H2X7YS-CSQFB8IN.js +1 -0
  133. package/dist/client/assets/{km-KH-PCWDKPHP-DSmy5shj.js → km-KH-IHMV2US7-BxrjuEzr.js} +4 -4
  134. package/dist/client/assets/ko-KR-ZTMANIDF-BnNRXd5J.js +5 -0
  135. package/dist/client/assets/ku-TR-GPJTRB5G-BZM7f2aT.js +6 -0
  136. package/dist/client/assets/{line-BFl3ujec.js → line-DSWLHgpx.js} +1 -1
  137. package/dist/client/assets/lobby-presence-Rdjnc0_0.js +1 -0
  138. package/dist/client/assets/lt-LT-V3XDOK3P-MVQBOHmF.js +3 -0
  139. package/dist/client/assets/lv-LV-DVQ3FADO-CrenwAhS.js +4 -0
  140. package/dist/client/assets/markdown-it-CocJWnjv.js +13 -0
  141. package/dist/client/assets/mermaid-parser.core-DrdLA3p0.js +3 -0
  142. package/dist/client/assets/mermaid.core-C_FK-7n4.js +1 -0
  143. package/dist/client/assets/{mermaid.core-BrY09czX.js → mermaid.core-D0cMM4Rl.js} +2 -3
  144. package/dist/client/assets/{mindmap-definition-YA3MSWOX-BUQHcYbK.js → mindmap-definition-YA3MSWOX-DO8NB9VH.js} +1 -1
  145. package/dist/client/assets/mr-IN-VZ6HH5FE-B-PHPglH.js +9 -0
  146. package/dist/client/assets/my-MM-XYKWHRK6-Be5sYp5q.js +1 -0
  147. package/dist/client/assets/nb-NO-UNO2GGZJ-BvSKGdja.js +8 -0
  148. package/dist/client/assets/nl-NL-76EFHT4P-C2yNx1Cj.js +13 -0
  149. package/dist/client/assets/nn-NO-CFKD7ABE-4NsqlDRP.js +4 -0
  150. package/dist/client/assets/oc-FR-YBJTCJ3J-B4OTQsWW.js +4 -0
  151. package/dist/client/assets/pa-IN-SNOXSMRV-CKj_sOG7.js +4 -0
  152. package/dist/client/assets/{pegDiagram-XKGWAZYB-Bi2Iml7Z.js → pegDiagram-XKGWAZYB-DS6Ab21R.js} +1 -1
  153. package/dist/client/assets/percentages-Q7USCRWZ-DWE6uvTs.js +1 -0
  154. package/dist/client/assets/{pieDiagram-E7YTZNPT-_gYXnMoi.js → pieDiagram-E7YTZNPT-BbFe6Tgs.js} +1 -1
  155. package/dist/client/assets/pl-PL-BSY6YFZ3-CFuzA6L0.js +12 -0
  156. package/dist/client/assets/preload-helper-CtT0-S4g.js +1 -0
  157. package/dist/client/assets/preview-render-compiler-C_7J7eia.js +43 -0
  158. package/dist/client/assets/preview-render-compiler-DzJ1KR_M.js +1 -0
  159. package/dist/client/assets/preview-render-worker-1DoIDllV.js +59 -0
  160. package/dist/client/assets/prod-D5TxmmoB.js +1 -0
  161. package/dist/client/assets/prod-pbFU4TaM.js +145 -0
  162. package/dist/client/assets/pt-BR-CZDV62R3-CkPMtyNx.js +10 -0
  163. package/dist/client/assets/pt-PT-JO57XJJW-CBSnfGtF.js +12 -0
  164. package/dist/client/assets/{quadrantDiagram-AXDQQJYC-DwexhEhd.js → quadrantDiagram-AXDQQJYC-fJE7iAxt.js} +1 -1
  165. package/dist/client/assets/quick-switcher-De4PjZFC.css +1 -0
  166. package/dist/client/assets/quick-switcher-controller-CUajuy78.js +1 -0
  167. package/dist/client/assets/{railroadDiagram-O6MQD6OU-BVA5UbMu.js → railroadDiagram-O6MQD6OU-CUQKqbCK.js} +1 -1
  168. package/dist/client/assets/{requirementDiagram-BXWQKSXE-C4cKwiIw.js → requirementDiagram-BXWQKSXE-Balm0WW8.js} +1 -1
  169. package/dist/client/assets/ro-RO-UZ5ICYYN-BOuntc_r.js +12 -0
  170. package/dist/client/assets/room-DX7lIfnu.js +1 -0
  171. package/dist/client/assets/ru-RU-AN7JPREC-D-ow3SNR.js +10 -0
  172. package/dist/client/assets/runtime-config-BFVdhnJu.js +1 -0
  173. package/dist/client/assets/runtime-paths-Cn0snt_9.js +1 -0
  174. package/dist/client/assets/{sankeyDiagram-P5KCCOFB-B5HHkRT2.js → sankeyDiagram-P5KCCOFB-CcbMqrlQ.js} +1 -1
  175. package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-BX6jqJFD.js → sequenceDiagram-WJ2MYXX4-BL1j3Sn-.js} +1 -1
  176. package/dist/client/assets/si-LK-7CBLD6QQ-c91EepX0.js +1 -0
  177. package/dist/client/assets/sk-SK-SWR6DKBI-D5vFMIL6.js +7 -0
  178. package/dist/client/assets/sl-SI-JRML4FIH-D53L_0S2.js +6 -0
  179. package/dist/client/assets/{stateDiagram-D77RDMKH-CmqxyRGx.js → stateDiagram-D77RDMKH-DNi924hh.js} +1 -1
  180. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-C62JEwak.js +1 -0
  181. package/dist/client/assets/sv-SE-4ZPKFFXF-DT-G7RCI.js +12 -0
  182. package/dist/client/assets/{swimlanes-42K2YHIH-Bmgb9Zld.js → swimlanes-42K2YHIH-ColgjSH4.js} +1 -1
  183. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-B9UZhEj4.js +8 -0
  184. package/dist/client/assets/ta-IN-V6NHHU6Z-D5jy7_AE.js +6 -0
  185. package/dist/client/assets/th-TH-P7CTMGDK-6sy0NO7K.js +1 -0
  186. package/dist/client/assets/{timeline-definition-24CTP7MA-BA-lVH6P.js → timeline-definition-24CTP7MA-7pch5JAr.js} +1 -1
  187. package/dist/client/assets/tr-TR-GUFYG22B-ClVaf8h1.js +4 -0
  188. package/dist/client/assets/uk-UA-K6SV5NFQ-BLTTtyNB.js +6 -0
  189. package/dist/client/assets/uz-UZ-TVKTZO2G-Bm02Eg3D.js +1 -0
  190. package/dist/client/assets/vault-api-client-QjZ_T03l.js +7 -0
  191. package/dist/client/assets/vault-utils-Bct69Xw2.js +1 -0
  192. package/dist/client/assets/{vennDiagram-4TSXK5OY-DNdUC_Xj.js → vennDiagram-4TSXK5OY-C5taziCX.js} +1 -1
  193. package/dist/client/assets/vi-VN-7FKFXJNO-CL3WPhmG.js +7 -0
  194. package/dist/client/assets/{wardleyDiagram-VM6X3IG4-C2oY-YbF.js → wardleyDiagram-VM6X3IG4-BbSlUwuM.js} +1 -1
  195. package/dist/client/assets/{wiki-link-resolver-DFIwErjc.js → wiki-link-resolver-C2P_WmTV.js} +1 -1
  196. package/dist/client/assets/{worker-engine-m0rlHn8R-S8mpn_O0.js → worker-engine-m0rlHn8R-eSDcDGEI.js} +1 -1
  197. package/dist/client/assets/workspace-change-CVA9dVmy.js +1 -0
  198. package/dist/client/assets/workspace-sync-client-D4nblH_2.js +1 -0
  199. package/dist/client/assets/{xychartDiagram-S5SC5T6Z-CoIR8CBX.js → xychartDiagram-S5SC5T6Z-D06X1arY.js} +1 -1
  200. package/dist/client/assets/yjs-B41tM6Sz.js +4 -0
  201. package/dist/client/assets/yjs-provider-reset-guard-R43MnLNc.js +1 -0
  202. package/dist/client/assets/zh-CN-AOKVLNNK-DGidDH2b.js +11 -0
  203. package/dist/client/assets/zh-HK-CDKPF5DC-CRcNR3rk.js +1 -0
  204. package/dist/client/assets/zh-TW-ZVGYESGW-C7Qji1y6.js +13 -0
  205. package/dist/client/drawio-editor.html +7 -8
  206. package/dist/client/excalidraw-editor.html +31 -33
  207. package/dist/client/export-document.html +5 -7
  208. package/dist/client/index.html +30 -26
  209. package/package.json +14 -20
  210. package/src/client/app/drawio-editor.html +1 -1
  211. package/src/client/app/excalidraw-editor.html +1 -1
  212. package/src/client/app/export-document.html +1 -1
  213. package/src/client/app/index.html +28 -4
  214. package/src/client/app/main-entry.js +1 -19
  215. package/src/client/application/app-shell/comments-feature.js +6 -0
  216. package/src/client/application/app-shell/ui-feature-shell.js +136 -58
  217. package/src/client/application/app-shell/ui-feature-tab-activity.js +8 -3
  218. package/src/client/application/app-shell-elements.js +5 -0
  219. package/src/client/application/highlight-theme.js +16 -0
  220. package/src/client/application/preview-render-compiler.js +43 -20
  221. package/src/client/application/preview-render-executor.js +0 -26
  222. package/src/client/application/preview-renderer.js +24 -7
  223. package/src/client/application/workspace-coordinator.js +20 -21
  224. package/src/client/bootstrap/collabmd-app-shell.js +71 -35
  225. package/src/client/bootstrap/lazy-collab-clients.js +90 -0
  226. package/src/client/domain/excalidraw-scene-reconcile.js +5 -2
  227. package/src/client/domain/hash-routes.js +5 -0
  228. package/src/client/domain/highlight-runtime.js +47 -0
  229. package/src/client/domain/lobby-chat.js +2 -0
  230. package/src/client/domain/runtime-paths.js +56 -7
  231. package/src/client/domain/vault-utils.js +11 -0
  232. package/src/client/excalidraw-editor.js +20 -4
  233. package/src/client/infrastructure/auth-client.js +1 -2
  234. package/src/client/infrastructure/browser-preferences-port.js +16 -0
  235. package/src/client/infrastructure/editor-view-adapter.js +43 -8
  236. package/src/client/infrastructure/excalidraw-room-client.js +9 -1
  237. package/src/client/infrastructure/hosted-api-client.js +60 -0
  238. package/src/client/infrastructure/lobby-presence.js +2 -2
  239. package/src/client/infrastructure/runtime-config.js +3 -1
  240. package/src/client/infrastructure/webmcp-tool-registry.js +16 -2
  241. package/src/client/presentation/comment-markdown-renderer.js +2 -14
  242. package/src/client/presentation/comment-overview-controller.js +1 -2
  243. package/src/client/presentation/comment-ui/comment-ui-shared.js +5 -2
  244. package/src/client/presentation/file-explorer-controller.js +3 -0
  245. package/src/client/presentation/file-explorer-view.js +272 -174
  246. package/src/client/presentation/git-panel-controller.js +1 -1
  247. package/src/client/presentation/hosted-workspace-gate-controller.js +180 -0
  248. package/src/client/presentation/layout-controller.js +10 -1
  249. package/src/client/presentation/team-settings-controller.js +228 -0
  250. package/src/client/styles/deferred-collab.css +5 -0
  251. package/src/client/styles/deferred-git.css +7 -0
  252. package/src/client/styles/deferred-preview.css +6 -0
  253. package/src/client/styles/features/diagram-preview.css +0 -15
  254. package/src/client/styles/features/outline.css +4 -2
  255. package/src/client/styles/features/preview-markdown.css +25 -11
  256. package/src/client/styles/features/team-settings.css +162 -0
  257. package/src/client/styles/foundation/tokens.css +2 -2
  258. package/src/client/styles/layout/editor-page.css +0 -13
  259. package/src/client/styles/layout/overlays.css +16 -0
  260. package/src/client/styles/layout/responsive.css +5 -5
  261. package/src/client/styles/layout/shell.css +20 -1
  262. package/src/client/styles/layout/sidebar.css +92 -3
  263. package/src/client/styles/style.css +3 -19
  264. package/src/domain/agent-tool-definitions.js +139 -63
  265. package/src/domain/collabmd-content-capabilities.js +4 -4
  266. package/src/domain/excalidraw-agent-scene.js +108 -6
  267. package/src/domain/excalidraw-agent-verification.js +95 -1
  268. package/src/domain/excalidraw-room-codec.js +12 -1
  269. package/src/domain/literal-text-search.js +13 -0
  270. package/src/server/application/agent-content-service.js +142 -74
  271. package/src/server/config/env.js +96 -5
  272. package/src/server/create-app-server.js +23 -153
  273. package/src/server/domain/hosted-workspace.js +10 -1
  274. package/src/server/domain/ripgrep-search-service.js +68 -21
  275. package/src/server/infrastructure/git/local-exclude.js +13 -1
  276. package/src/server/infrastructure/http/create-agent-api-handler.js +1 -1
  277. package/src/server/infrastructure/http/create-hosted-api-handler.js +5 -0
  278. package/src/server/infrastructure/http/create-request-handler.js +95 -26
  279. package/src/server/infrastructure/http/create-static-handler.js +3 -0
  280. package/src/server/infrastructure/http/create-vault-api-query-handler.js +15 -2
  281. package/src/server/infrastructure/mcp/create-agent-mcp-handler.js +2 -1
  282. package/src/server/infrastructure/persistence/sidecar-store.js +12 -5
  283. package/src/server/infrastructure/persistence/vault-file-store.js +2 -3
  284. package/src/server/infrastructure/websocket/attach-collaboration-gateway.js +48 -22
  285. package/src/server/shared/agent-tool-rate-limiter.js +7 -0
  286. package/src/server/startup/git-remote-bootstrap.js +56 -49
  287. package/src/server/vault-registry.js +251 -0
  288. package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-C-nmgL5g.js +0 -1
  289. package/dist/client/assets/ar-SA-PQUY64WN-xjXgbW6d.js +0 -10
  290. package/dist/client/assets/az-AZ-OXJXL76K-4JkO4Pca.js +0 -1
  291. package/dist/client/assets/base-CaIEJUF9.css +0 -1
  292. package/dist/client/assets/bg-BG-W2GKIJDF-DnkH_o81.js +0 -5
  293. package/dist/client/assets/bn-BD-TGL7M4PJ-CG4JkmtP.js +0 -3
  294. package/dist/client/assets/bn-IN-BKETKYEH-CG4JkmtP.js +0 -3
  295. package/dist/client/assets/ca-ES-LD5SCRVV-U6_TVMX9.js +0 -8
  296. package/dist/client/assets/channel-Fa4GS_-F.js +0 -1
  297. package/dist/client/assets/chunk-2E4U76K2-BPnTT-J3.js +0 -2
  298. package/dist/client/assets/chunk-7XWMRXBY-CfMzEq80.js +0 -1
  299. package/dist/client/assets/chunk-RM4UPSZO-DOWllDY8.js +0 -41
  300. package/dist/client/assets/chunk-TLUHSLCS-DTY5v0aj.js +0 -2
  301. package/dist/client/assets/classDiagram-ZZMXUADV-BsQWoR3Q.js +0 -1
  302. package/dist/client/assets/classDiagram-v2-VYDZK3BY-BsQWoR3Q.js +0 -1
  303. package/dist/client/assets/comment-thread-store-CX98zR6q.js +0 -1
  304. package/dist/client/assets/comment-threads-BnRwo5B9.js +0 -4
  305. package/dist/client/assets/cs-CZ-OFPU5DBV-BmFAIhqX.js +0 -7
  306. package/dist/client/assets/da-DK-FRDJFYWF-H387Jw8B.js +0 -2
  307. package/dist/client/assets/de-CH-ZG7H3QK3-C_groygo.js +0 -11
  308. package/dist/client/assets/de-DE-SIJYH4IH-C_groygo.js +0 -11
  309. package/dist/client/assets/dist--hk9I5HQ.js +0 -1
  310. package/dist/client/assets/dist-B1XEa-Zs.js +0 -1
  311. package/dist/client/assets/dist-BJ1bJs33.js +0 -1
  312. package/dist/client/assets/dist-Bd1JucQF.js +0 -1
  313. package/dist/client/assets/dist-ByrG2qBA.js +0 -1
  314. package/dist/client/assets/dist-C0G3AaXG.js +0 -1
  315. package/dist/client/assets/dist-CKS_-are.js +0 -1
  316. package/dist/client/assets/dist-D37Hyu3h.js +0 -9
  317. package/dist/client/assets/dist-Dl_tpDSr.js +0 -1
  318. package/dist/client/assets/dist-Dm4w5UId.js +0 -1
  319. package/dist/client/assets/dist-RKBTaQMb.js +0 -13
  320. package/dist/client/assets/dist-eBx8q6Sy.js +0 -1
  321. package/dist/client/assets/dist-jVU5Be5P.js +0 -1
  322. package/dist/client/assets/document-formatter-rDDjRfZ2.js +0 -2
  323. package/dist/client/assets/drawioEditor-JubEEha7.js +0 -9
  324. package/dist/client/assets/editor-session-Bk6oIvSr.js +0 -54
  325. package/dist/client/assets/el-GR-IEE2CGI2-BkT6YT54.js +0 -7
  326. package/dist/client/assets/embedded-editor-base-BlCgz6mw.css +0 -1
  327. package/dist/client/assets/es-Bfdp096f.js +0 -22
  328. package/dist/client/assets/es-ES-TVVPWKV5-CpPKJXTM.js +0 -12
  329. package/dist/client/assets/eu-ES-CGBMFQDT-Bu3N2493.js +0 -8
  330. package/dist/client/assets/excalidraw-element-link-YLIaTnVF.js +0 -7
  331. package/dist/client/assets/excalidrawEditor-dBMbRX_S.js +0 -9
  332. package/dist/client/assets/export-page-CRRQ2NEl.js +0 -57
  333. package/dist/client/assets/exportDocument-BlQRd9_m.js +0 -2
  334. package/dist/client/assets/exportDocument-CNSbjZwu.css +0 -1
  335. package/dist/client/assets/fa-IR-IE6XAPR4-BEvLCORD.js +0 -9
  336. package/dist/client/assets/fi-FI-P7TKNHRM-DI0q8iSX.js +0 -6
  337. package/dist/client/assets/file-icon-svg-Y_kpF957.js +0 -1
  338. package/dist/client/assets/flowDiagram-HODETNUW-D5Gy0wmg.js +0 -1
  339. package/dist/client/assets/fr-FR-QI2XZNT7-y8kXd8LA.js +0 -12
  340. package/dist/client/assets/gl-ES-TLYCNOZZ-Br-Fhff-.js +0 -6
  341. package/dist/client/assets/he-IL-ZX43XLGP-qKQq6V9X.js +0 -9
  342. package/dist/client/assets/hi-IN-UTYRMTUF-DOUcwrDO.js +0 -3
  343. package/dist/client/assets/hu-HU-AJOSEBW6-FqTyvHlD.js +0 -3
  344. package/dist/client/assets/id-ID-ETLTVG6C-CQqh3CLS.js +0 -8
  345. package/dist/client/assets/image-ZVKINSPA-DgzW5zAy.js +0 -1
  346. package/dist/client/assets/index-D3RER1SZ.js +0 -1023
  347. package/dist/client/assets/index-DREVKl_K.css +0 -1
  348. package/dist/client/assets/it-IT-B4B6TP6L-V-yK3SZz.js +0 -12
  349. package/dist/client/assets/ja-JP-IYKVURR5-BQKBXRpX.js +0 -12
  350. package/dist/client/assets/kaa-SE2BUIKX-CZ5kfwPg.js +0 -1
  351. package/dist/client/assets/kab-KAB-Y3GLKXLR-Do7GWfuN.js +0 -4
  352. package/dist/client/assets/kk-KZ-ABWUFVOH-BpqVciQz.js +0 -1
  353. package/dist/client/assets/ko-KR-7JQDXKGM-N42lep78.js +0 -5
  354. package/dist/client/assets/ku-TR-NAH2Q5B7-K8LLl9fk.js +0 -6
  355. package/dist/client/assets/lt-LT-VQFYRSNQ-BmOd0ALn.js +0 -3
  356. package/dist/client/assets/lv-LV-T62VSYUM-B22WdPhp.js +0 -4
  357. package/dist/client/assets/mermaid-parser.core-Bl0efOMt.js +0 -4
  358. package/dist/client/assets/mermaid.core-DfcNfOTv.js +0 -1
  359. package/dist/client/assets/modulepreload-polyfill-P2Xu9kJm.js +0 -1
  360. package/dist/client/assets/mr-IN-V4FHLCJE-XX069tpm.js +0 -9
  361. package/dist/client/assets/my-MM-E3SQ6E54-cst_-5SB.js +0 -1
  362. package/dist/client/assets/nb-NO-MLNOFN5H-Bu2URWko.js +0 -8
  363. package/dist/client/assets/nl-NL-D5L3ZV4M-BqrV0btt.js +0 -13
  364. package/dist/client/assets/nn-NO-NNHDGPKB-DK-xZaWM.js +0 -4
  365. package/dist/client/assets/oc-FR-DWCRF55G-BZ5Po5R6.js +0 -4
  366. package/dist/client/assets/pa-IN-3JSAY44M-BZQSjKrS.js +0 -4
  367. package/dist/client/assets/percentages-ETZPVQEE-DFxFqXgH.js +0 -1
  368. package/dist/client/assets/pl-PL-ACURYKP3-qcEOSfCk.js +0 -12
  369. package/dist/client/assets/preload-helper-HclGiUj8.js +0 -1
  370. package/dist/client/assets/preview-render-compiler-CfxJYldJ.js +0 -41
  371. package/dist/client/assets/preview-render-compiler-Cu8_i9iS.js +0 -1
  372. package/dist/client/assets/preview-render-worker-c4Yi93qW.js +0 -66
  373. package/dist/client/assets/prod-BiJL30sl.js +0 -1
  374. package/dist/client/assets/prod-qAk7rHa4.js +0 -177
  375. package/dist/client/assets/pt-BR-LOX7MLGD-DLueHSyZ.js +0 -10
  376. package/dist/client/assets/pt-PT-CZ2U2RFQ-BJ-GAEm6.js +0 -12
  377. package/dist/client/assets/quick-switcher-controller-BoIK_wuG.js +0 -1
  378. package/dist/client/assets/ro-RO-2HECL2X6-CJUvKAf0.js +0 -12
  379. package/dist/client/assets/ru-RU-HAYNXO46-BWSlvTrt.js +0 -10
  380. package/dist/client/assets/runtime-config-DcmnGcXU.js +0 -1
  381. package/dist/client/assets/si-LK-W5KNS4H6-DGGCsn7k.js +0 -1
  382. package/dist/client/assets/sk-SK-7K2CFGDV-CY4uTYgQ.js +0 -7
  383. package/dist/client/assets/sl-SI-OXV2QZWW-2-weqaBY.js +0 -6
  384. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-zoLLQVyh.js +0 -1
  385. package/dist/client/assets/sv-SE-JTOBZRGL-9-IUtVkO.js +0 -12
  386. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DS-KQN37.js +0 -8
  387. package/dist/client/assets/ta-IN-KFAVKXGT-gHO6Q_DH.js +0 -6
  388. package/dist/client/assets/th-TH-VDMSCPDL-BvJuw6PJ.js +0 -1
  389. package/dist/client/assets/tr-TR-CEZ6GX45-CG6UU3Su.js +0 -4
  390. package/dist/client/assets/uk-UA-Q3H3OXQC-CSuIg_DY.js +0 -6
  391. package/dist/client/assets/uz-UZ-NGCSWWPX-mom7rxSP.js +0 -1
  392. package/dist/client/assets/vault-api-client-iZLhMJKe.js +0 -6
  393. package/dist/client/assets/vi-VN-P3NDEVPS-BB0Fu9ck.js +0 -7
  394. package/dist/client/assets/yjs-provider-reset-guard-9ul1qF6k.js +0 -4
  395. package/dist/client/assets/zh-CN-SS3O57GA-Bj8wsiMe.js +0 -11
  396. package/dist/client/assets/zh-HK-LWJT3VCF-DOTquTCh.js +0 -1
  397. package/dist/client/assets/zh-TW-VJXC72RT-B48PRo-l.js +0 -13
  398. package/integrations/pi/index.ts +0 -94
  399. /package/dist/client/assets/{vault-api-client-C3mlS_4N.css → auth-gate-C3mlS_4N.css} +0 -0
  400. /package/dist/client/assets/{base-BYODPHdS.js → github.min-DBihDoic.js} +0 -0
@@ -1,4 +1,4 @@
1
- var e={paste:`Paste`,pasteAsPlaintext:`Paste as plaintext`,pasteCharts:`Paste charts`,chartType_bar:`Bar chart`,chartType_line:`Line chart`,chartType_radar:`Radar chart`,chartType_plaintext:`Plain text`,selectAll:`Select all`,multiSelect:`Add element to selection`,moveCanvas:`Move canvas`,cut:`Cut`,copy:`Copy`,copyAsPng:`Copy to clipboard as PNG`,copyAsSvg:`Copy to clipboard as SVG`,copyText:`Copy to clipboard as text`,copySource:`Copy source to clipboard`,convertToCode:`Convert to code`,bringForward:`Bring forward`,sendToBack:`Send to back`,bringToFront:`Bring to front`,sendBackward:`Send backward`,delete:`Delete`,copyStyles:`Copy styles`,pasteStyles:`Paste styles`,stroke:`Stroke`,changeStroke:`Change stroke color`,background:`Background`,changeBackground:`Change background color`,fill:`Fill`,strokeWidth:`Stroke width`,strokeStyle:`Stroke style`,strokeStyle_solid:`Solid`,strokeStyle_dashed:`Dashed`,strokeStyle_dotted:`Dotted`,sloppiness:`Sloppiness`,pressure:`Pressure`,pressure_constant:`Constant`,pressure_variable:`Variable`,opacity:`Opacity`,textAlign:`Text align`,edges:`Edges`,sharp:`Sharp`,round:`Round`,arrowheads:`Arrowheads`,arrowhead_none:`None`,arrowhead_arrow:`Arrow`,arrowhead_bar:`Bar`,arrowhead_circle:`Circle`,arrowhead_circle_outline:`Circle (outline)`,arrowhead_triangle:`Triangle`,arrowhead_triangle_outline:`Triangle (outline)`,arrowhead_diamond:`Diamond`,arrowhead_diamond_outline:`Diamond (outline)`,arrowhead_crowfoot_many:`Crow's foot (many)`,arrowhead_crowfoot_one:`Crow's foot (one)`,arrowhead_crowfoot_one_or_many:`Crow's foot (one or many)`,arrowhead_cardinality_one:`Cardinality (one)`,arrowhead_cardinality_many:`Cardinality (many)`,arrowhead_cardinality_one_or_many:`Cardinality (one or many)`,arrowhead_cardinality_exactly_one:`Cardinality (exactly one)`,arrowhead_cardinality_zero_or_one:`Cardinality (zero or one)`,arrowhead_cardinality_zero_or_many:`Cardinality (zero or many)`,more_options:`More options`,cardinality:`Cardinality`,arrowtypes:`Arrow type`,arrowtype_sharp:`Sharp arrow`,arrowtype_round:`Curved arrow`,arrowtype_elbowed:`Elbow arrow`,fontSize:`Font size`,fontFamily:`Font family`,addWatermark:`Add "Made with Excalidraw"`,handDrawn:`Hand-drawn`,normal:`Normal`,code:`Code`,small:`Small`,medium:`Medium`,large:`Large`,veryLarge:`Very large`,solid:`Solid`,hachure:`Hachure`,zigzag:`Zigzag`,crossHatch:`Cross-hatch`,thin:`Thin`,bold:`Bold`,left:`Left`,center:`Center`,right:`Right`,extraBold:`Extra bold`,architect:`Architect`,artist:`Artist`,cartoonist:`Cartoonist`,fileTitle:`File name`,colorPicker:`Color picker`,canvasColors:`Used on canvas`,canvasBackground:`Canvas background`,drawingCanvas:`Drawing canvas`,clearCanvas:`Clear canvas`,layers:`Layers`,actions:`Actions`,language:`Language`,liveCollaboration:`Live collaboration...`,duplicateSelection:`Duplicate`,untitled:`Untitled`,name:`Name`,yourName:`Your name`,madeWithExcalidraw:`Made with Excalidraw`,group:`Group selection`,ungroup:`Ungroup selection`,collaborators:`Collaborators`,you:`You`,toggleGrid:`Toggle grid`,addToLibrary:`Add to library`,removeFromLibrary:`Remove from library`,libraryLoadingMessage:`Loading library…`,libraries:`Browse libraries`,loadingScene:`Loading scene…`,loadScene:`Load scene from file`,align:`Align`,alignTop:`Align top`,alignBottom:`Align bottom`,alignLeft:`Align left`,alignRight:`Align right`,centerVertically:`Center vertically`,centerHorizontally:`Center horizontally`,distributeHorizontally:`Distribute horizontally`,distributeVertically:`Distribute vertically`,flipHorizontal:`Flip horizontal`,flipVertical:`Flip vertical`,viewMode:`View mode`,share:`Share`,showStroke:`Show stroke color picker`,showBackground:`Show background color picker`,showFonts:`Show font picker`,toggleTheme:`Toggle light/dark theme`,theme:`Theme`,personalLib:`Personal Library`,excalidrawLib:`Excalidraw Library`,decreaseFontSize:`Decrease font size`,increaseFontSize:`Increase font size`,unbindText:`Unbind text`,bindText:`Bind text to the container`,createContainerFromText:`Wrap text in a container`,link:{edit:`Edit link`,editEmbed:`Edit embeddable link`,create:`Add link`,label:`Link`,labelEmbed:`Link & embed`,empty:`No link is set`,hint:`Type or paste your link here`,goToElement:`Go to target element`},lineEditor:{edit:`Edit line`,editArrow:`Edit arrow`},polygon:{breakPolygon:`Break polygon`,convertToPolygon:`Convert to polygon`},elementLock:{lock:`Lock`,unlock:`Unlock`,lockAll:`Lock all`,unlockAll:`Unlock all`},statusPublished:`Published`,sidebarLock:`Keep sidebar open`,selectAllElementsInFrame:`Select all elements in frame`,removeAllElementsFromFrame:`Remove all elements from frame`,eyeDropper:`Pick color from canvas`,textToDiagram:`Text to diagram`,prompt:`Prompt`,followUs:`Follow us`,discordChat:`Discord chat`,zoomToFitViewport:`Zoom to fit in viewport`,zoomToFitSelection:`Zoom to fit selection`,zoomToFit:`Zoom to fit all elements`,installPWA:`Install Excalidraw locally (PWA)`,autoResize:`Enable text auto-resizing`,imageCropping:`Image cropping`,unCroppedDimension:`Uncropped dimension`,copyElementLink:`Copy link to object`,linkToElement:`Link to object`,wrapSelectionInFrame:`Wrap selection in frame`,tab:`Tab`,shapeSwitch:`Switch shape`,preferences:`Preferences`,preferences_toolLock:`Tool lock`,boxSelectionMode:`Select on`,boxSelectionContain:`Wrap`,boxSelectionOverlap:`Overlap`,arrowBinding:`Arrow binding`,midpointSnapping:`Snap to midpoints`},t={title:`Link to object`,desc:`Click on a shape on canvas or paste a link.`,notFound:`Linked object wasn't found on canvas.`},n={noItems:`No items added yet...`,hint_emptyLibrary:`Select an item on canvas to add it here, or install a library from the public repository, below.`,hint_emptyPrivateLibrary:`Select an item on canvas to add it here.`,search:{inputPlaceholder:`Search library`,heading:`Library matches`,noResults:`No matching items found...`,clearSearch:`Clear search`}},r={title:`Find on canvas`,noMatch:`No matches found...`,singleResult:`result`,multipleResults:`results`,placeholder:`Find text on canvas...`,frames:`Frames`,texts:`Texts`},i={clearReset:`Reset the canvas`,exportJSON:`Export to file`,exportImage:`Export image...`,export:`Save to...`,copyToClipboard:`Copy to clipboard`,copyLink:`Copy link`,save:`Save to current file`,saveAs:`Save as`,load:`Open`,getShareableLink:`Get shareable link`,close:`Close`,selectLanguage:`Select language`,scrollBackToContent:`Scroll back to content`,zoomIn:`Zoom in`,zoomOut:`Zoom out`,resetZoom:`Reset zoom`,menu:`Menu`,done:`Done`,edit:`Edit`,undo:`Undo`,redo:`Redo`,resetLibrary:`Reset library`,createNewRoom:`Create new room`,fullScreen:`Full screen`,darkMode:`Dark mode`,lightMode:`Light mode`,systemMode:`System mode`,zenMode:`Zen mode`,objectsSnapMode:`Snap to objects`,exitZenMode:`Exit zen mode`,cancel:`Cancel`,saveLibNames:`Save name(s) and exit`,clear:`Clear`,remove:`Remove`,embed:`Toggle embedding`,publishLibrary:`Rename or publish`,submit:`Submit`,confirm:`Confirm`,embeddableInteractionButton:`Click to interact`},a={clearReset:`This will clear the whole canvas. Are you sure?`,couldNotCreateShareableLink:`Couldn't create shareable link.`,couldNotCreateShareableLinkTooBig:`Couldn't create shareable link: the scene is too big`,couldNotLoadInvalidFile:`Couldn't load invalid file`,importBackendFailed:`Importing from backend failed.`,cannotExportEmptyCanvas:`Cannot export empty canvas.`,couldNotCopyToClipboard:`Couldn't copy to clipboard.`,decryptFailed:`Couldn't decrypt data.`,uploadedSecurly:`The upload has been secured with end-to-end encryption, which means that Excalidraw server and third parties can't read the content.`,loadSceneOverridePrompt:`Loading external drawing will replace your existing content. Do you wish to continue?`,collabStopOverridePrompt:`Stopping the session will overwrite your previous, locally stored drawing. Are you sure?
1
+ var e={signUp:`Sign up`,signIn:`Sign in`,paste:`Paste`,pasteAsPlaintext:`Paste as plaintext`,pasteCharts:`Paste charts`,chartType_bar:`Bar chart`,chartType_line:`Line chart`,chartType_radar:`Radar chart`,chartType_plaintext:`Plain text`,selectAll:`Select all`,multiSelect:`Add element to selection`,moveCanvas:`Move canvas`,cut:`Cut`,copy:`Copy`,copyAsPng:`Copy to clipboard as PNG`,copyAsSvg:`Copy to clipboard as SVG`,copyText:`Copy to clipboard as text`,copySource:`Copy source to clipboard`,convertToCode:`Convert to code`,bringForward:`Bring forward`,sendToBack:`Send to back`,bringToFront:`Bring to front`,sendBackward:`Send backward`,delete:`Delete`,copyStyles:`Copy styles`,pasteStyles:`Paste styles`,stroke:`Stroke`,changeStroke:`Change stroke color`,background:`Background`,changeBackground:`Change background color`,fill:`Fill`,strokeWidth:`Stroke width`,strokeStyle:`Stroke style`,strokeStyle_solid:`Solid`,strokeStyle_dashed:`Dashed`,strokeStyle_dotted:`Dotted`,sloppiness:`Sloppiness`,pressure:`Pressure`,pressure_constant:`Constant`,pressure_variable:`Variable`,opacity:`Opacity`,textAlign:`Text align`,edges:`Edges`,sharp:`Sharp`,round:`Round`,arrowheads:`Arrowheads`,arrowhead_none:`None`,arrowhead_arrow:`Arrow`,arrowhead_bar:`Bar`,arrowhead_circle:`Circle`,arrowhead_circle_outline:`Circle (outline)`,arrowhead_triangle:`Triangle`,arrowhead_triangle_outline:`Triangle (outline)`,arrowhead_diamond:`Diamond`,arrowhead_diamond_outline:`Diamond (outline)`,arrowhead_crowfoot_many:`Crow's foot (many)`,arrowhead_crowfoot_one:`Crow's foot (one)`,arrowhead_crowfoot_one_or_many:`Crow's foot (one or many)`,arrowhead_cardinality_one:`Cardinality (one)`,arrowhead_cardinality_many:`Cardinality (many)`,arrowhead_cardinality_one_or_many:`Cardinality (one or many)`,arrowhead_cardinality_exactly_one:`Cardinality (exactly one)`,arrowhead_cardinality_zero_or_one:`Cardinality (zero or one)`,arrowhead_cardinality_zero_or_many:`Cardinality (zero or many)`,more_options:`More options`,cardinality:`Cardinality`,arrowtypes:`Arrow type`,arrowtype_sharp:`Sharp arrow`,arrowtype_round:`Curved arrow`,arrowtype_elbowed:`Elbow arrow`,fontSize:`Font size`,fontFamily:`Font family`,addWatermark:`Add "Made with Excalidraw"`,handDrawn:`Hand-drawn`,normal:`Normal`,code:`Code`,small:`Small`,medium:`Medium`,large:`Large`,veryLarge:`Very large`,solid:`Solid`,hachure:`Hachure`,zigzag:`Zigzag`,crossHatch:`Cross-hatch`,thin:`Thin`,bold:`Bold`,left:`Left`,center:`Center`,right:`Right`,extraBold:`Extra bold`,architect:`Architect`,artist:`Artist`,cartoonist:`Cartoonist`,fileTitle:`File name`,colorPicker:`Color picker`,canvasColors:`Used on canvas`,canvasBackground:`Canvas background`,drawingCanvas:`Drawing canvas`,clearCanvas:`Clear canvas`,layers:`Layers`,actions:`Actions`,language:`Language`,liveCollaboration:`Live collaboration...`,duplicateSelection:`Duplicate`,untitled:`Untitled`,name:`Name`,yourName:`Your name`,madeWithExcalidraw:`Made with Excalidraw`,group:`Group selection`,ungroup:`Ungroup selection`,collaborators:`Collaborators`,you:`You`,toggleGrid:`Toggle grid`,addToLibrary:`Add to library`,removeFromLibrary:`Remove from library`,libraryLoadingMessage:`Loading library…`,libraries:`Browse libraries`,loadingScene:`Loading scene…`,loadScene:`Load scene from file`,align:`Align`,alignTop:`Align top`,alignBottom:`Align bottom`,alignLeft:`Align left`,alignRight:`Align right`,centerVertically:`Center vertically`,centerHorizontally:`Center horizontally`,distributeHorizontally:`Distribute horizontally`,distributeVertically:`Distribute vertically`,flipHorizontal:`Flip horizontal`,flipVertical:`Flip vertical`,viewMode:`View mode`,share:`Share`,showStroke:`Show stroke color picker`,showBackground:`Show background color picker`,showFonts:`Show font picker`,toggleTheme:`Toggle light/dark theme`,theme:`Theme`,personalLib:`Personal Library`,excalidrawLib:`Excalidraw Library`,decreaseFontSize:`Decrease font size`,increaseFontSize:`Increase font size`,unbindText:`Unbind text`,bindText:`Bind text to the container`,createContainerFromText:`Wrap text in a container`,link:{edit:`Edit link`,editEmbed:`Edit embeddable link`,create:`Add link`,label:`Link`,labelEmbed:`Link & embed`,empty:`No link is set`,hint:`Type or paste your link here`,goToElement:`Go to target element`},lineEditor:{edit:`Edit line`,editArrow:`Edit arrow`},polygon:{breakPolygon:`Break polygon`,convertToPolygon:`Convert to polygon`},elementLock:{lock:`Lock`,unlock:`Unlock`,lockAll:`Lock all`,unlockAll:`Unlock all`},statusPublished:`Published`,sidebarLock:`Keep sidebar open`,selectAllElementsInFrame:`Select all elements in frame`,removeAllElementsFromFrame:`Remove all elements from frame`,eyeDropper:`Pick color from canvas`,textToDiagram:`Text to diagram`,prompt:`Prompt`,followUs:`Follow us`,discordChat:`Discord chat`,zoomToFitViewport:`Zoom to fit in viewport`,zoomToFitSelection:`Zoom to fit selection`,zoomToFit:`Zoom to fit all elements`,installPWA:`Install Excalidraw locally (PWA)`,autoResize:`Enable text auto-resizing`,imageCropping:`Image cropping`,unCroppedDimension:`Uncropped dimension`,copyElementLink:`Copy link to object`,linkToElement:`Link to object`,wrapSelectionInFrame:`Wrap selection in frame`,tab:`Tab`,shapeSwitch:`Switch shape`,preferences:`Preferences`,preferences_toolLock:`Tool lock`,boxSelectionMode:`Select on`,boxSelectionContain:`Wrap`,boxSelectionOverlap:`Overlap`,arrowBinding:`Arrow binding`,midpointSnapping:`Snap to midpoints`},t={title:`Link to object`,desc:`Click on a shape on canvas or paste a link.`,notFound:`Linked object wasn't found on canvas.`},n={noItems:`No items added yet...`,hint_emptyLibrary:`Select an item on canvas to add it here, or install a library from the public repository, below.`,hint_emptyPrivateLibrary:`Select an item on canvas to add it here.`,search:{inputPlaceholder:`Search library`,heading:`Library matches`,noResults:`No matching items found...`,clearSearch:`Clear search`}},r={title:`Find on canvas`,noMatch:`No matches found...`,singleResult:`result`,multipleResults:`results`,placeholder:`Find text on canvas...`,frames:`Frames`,texts:`Texts`},i={clearReset:`Reset the canvas`,exportJSON:`Export to file`,exportImage:`Export image...`,export:`Save to...`,copyToClipboard:`Copy to clipboard`,copyLink:`Copy link`,save:`Save to current file`,saveAs:`Save as`,load:`Open`,getShareableLink:`Get shareable link`,close:`Close`,selectLanguage:`Select language`,scrollBackToContent:`Scroll back to content`,zoomIn:`Zoom in`,zoomOut:`Zoom out`,resetZoom:`Reset zoom`,menu:`Menu`,done:`Done`,edit:`Edit`,undo:`Undo`,redo:`Redo`,resetLibrary:`Reset library`,createNewRoom:`Create new room`,fullScreen:`Full screen`,darkMode:`Dark mode`,lightMode:`Light mode`,systemMode:`System mode`,zenMode:`Zen mode`,objectsSnapMode:`Snap to objects`,exitZenMode:`Exit zen mode`,cancel:`Cancel`,saveLibNames:`Save name(s) and exit`,clear:`Clear`,remove:`Remove`,embed:`Toggle embedding`,publishLibrary:`Rename or publish`,submit:`Submit`,confirm:`Confirm`,embeddableInteractionButton:`Click to interact`},a={clearReset:`This will clear the whole canvas. Are you sure?`,couldNotCreateShareableLink:`Couldn't create shareable link.`,couldNotCreateShareableLinkTooBig:`Couldn't create shareable link: the scene is too big`,couldNotLoadInvalidFile:`Couldn't load invalid file`,importBackendFailed:`Importing from backend failed.`,cannotExportEmptyCanvas:`Cannot export empty canvas.`,couldNotCopyToClipboard:`Couldn't copy to clipboard.`,decryptFailed:`Couldn't decrypt data.`,uploadedSecurly:`The upload has been secured with end-to-end encryption, which means that Excalidraw server and third parties can't read the content.`,loadSceneOverridePrompt:`Loading external drawing will replace your existing content. Do you wish to continue?`,collabStopOverridePrompt:`Stopping the session will overwrite your previous, locally stored drawing. Are you sure?
2
2
 
3
3
  (If you want to keep your local drawing, simply close the browser tab instead.)`,errorAddingToLibrary:`Couldn't add item to the library`,errorRemovingFromLibrary:`Couldn't remove item from the library`,confirmAddLibrary:`This will add {{numShapes}} shape(s) to your library. Are you sure?`,imageDoesNotContainScene:`This image does not seem to contain any scene data. Have you enabled scene embedding during export?`,cannotRestoreFromImage:`Scene couldn't be restored from this image file`,invalidSceneUrl:`Couldn't import scene from the supplied URL. It's either malformed, or doesn't contain valid Excalidraw JSON data.`,resetLibrary:`This will clear your library. Are you sure?`,removeItemsFromsLibrary:`Delete {{count}} item(s) from library?`,invalidEncryptionKey:`Encryption key must be of 22 characters. Live collaboration is disabled.`,collabOfflineWarning:`No internet connection available.
4
4
  Your changes will not be saved!`,localStorageQuotaExceeded:`Browser storage quota exceeded. Changes will not be saved.`},o={unsupportedFileType:`Unsupported file type.`,imageInsertError:`Couldn't insert image. Try again later...`,fileTooBig:`File is too big. Maximum allowed size is {{maxSize}}.`,svgImageInsertError:`Couldn't insert SVG image. The SVG markup looks invalid.`,failedToFetchImage:`Failed to fetch image.`,cannotResolveCollabServer:`Couldn't connect to the collab server. Please reload the page and try again.`,importLibraryError:`Couldn't load library`,saveLibraryError:`Couldn't save library to storage. Please save your library to a file locally to make sure you don't lose changes.`,collabSaveFailed:`Couldn't save to the backend database. If problems persist, you should save your file locally to ensure you don't lose your work.`,collabSaveFailed_sizeExceeded:`Couldn't save to the backend database, the canvas seems to be too big. You should save the file locally to ensure you don't lose your work.`,imageToolNotSupported:`Images are disabled.`,brave_measure_text_error:{line1:`Looks like you are using Brave browser with the <bold>Aggressively Block Fingerprinting</bold> setting enabled.`,line2:`This could result in breaking the <bold>Text Elements</bold> in your drawings.`,line3:`We strongly recommend disabling this setting. You can follow <link>these steps</link> on how to do so.`,line4:`If disabling this setting doesn't fix the display of text elements, please open an <issueLink>issue</issueLink> on our GitHub, or write us on <discordLink>Discord</discordLink>`},libraryElementTypeError:{embeddable:`Embeddable elements cannot be added to the library.`,iframe:`IFrame elements cannot be added to the library.`,image:`Support for adding images to the library coming soon!`},asyncPasteFailedOnRead:`Couldn't paste (couldn't read from system clipboard).`,asyncPasteFailedOnParse:`Couldn't paste.`,copyToSystemClipboardFailed:`Couldn't copy to clipboard.`},s={selection:`Selection`,lasso:`Lasso selection`,image:`Insert image`,rectangle:`Rectangle`,diamond:`Diamond`,ellipse:`Ellipse`,arrow:`Arrow`,line:`Line`,freedraw:`Draw`,text:`Text`,library:`Library`,lock:`Keep selected tool active after drawing`,penMode:`Pen mode - prevent touch`,link:`Add / Update link for a selected shape`,eraser:`Eraser`,frame:`Frame tool`,magicframe:`Wireframe to code`,embeddable:`Web Embed`,laser:`Laser pointer`,autoshape:`Draw to shape`,bucketfill:`Bucket fill`,hand:`Hand (panning tool)`,extraTools:`More tools`,mermaidToExcalidraw:`Mermaid to Excalidraw`,convertElementType:`Toggle shape type`},c={noRegion:`Couldn't find an enclosed region to fill here.`,tooComplex:`This region is too complex to fill.`},l={rectangle:`Rectangle`,diamond:`Diamond`,ellipse:`Ellipse`,arrow:`Arrow`,line:`Line`,freedraw:`Freedraw`,text:`Text`,image:`Image`,group:`Group`,frame:`Frame`,magicframe:`Wireframe to code`,embeddable:`Web Embed`,selection:`Selection`,iframe:`IFrame`},u={canvasActions:`Canvas actions`,selectedShapeActions:`Selected shape actions`,shapes:`Shapes`},d={dismissSearch:`{{shortcut}} to dismiss search`,canvasPanning:`To move canvas, hold {{shortcut_1}} or {{shortcut_2}} while dragging, or use the hand tool`,linearElement:`Click to start multiple points, drag for single line`,arrowTool:`Click to start multiple points, drag for single line. Press {{shortcut}} again to change arrow type.`,arrowBindModifiers:`Hold {{shortcut_1}} to disable binding, or {{shortcut_2}} to bind at a fixed point`,freeDraw:`Click and drag, release when you're finished`,text:`Tip: you can also add text by double-clicking anywhere with the selection tool`,embeddable:`Click-drag to create a website embed`,autoshape:`Draw rectangles, circles, diamonds, lines and arrows`,text_selected:`Double-click or press {{shortcut}} to edit text`,text_editing:`Press {{shortcut_1}} or {{shortcut_2}} to finish editing`,linearElementMulti:`Click on last point or press {{shortcut_1}} or {{shortcut_2}} to finish`,lockAngle:`You can constrain angle by holding {{shortcut}}`,resize:`You can constrain proportions by holding {{shortcut_1}} while resizing,
@@ -9,4 +9,4 @@ or hold {{shortcut_2}} and click to add new points`,publishLibrary:`Publish your
9
9
  Will increase exported file size.`},title:{exportToPng:`Export to PNG`,exportToSvg:`Export to SVG`,copyPngToClipboard:`Copy PNG to clipboard`},button:{exportToPng:`PNG`,exportToSvg:`SVG`,copyPngToClipboard:`Copy to clipboard`}},T={tooltip:`Your drawings are end-to-end encrypted so Excalidraw's servers will never see them.`,link:`Blog post on end-to-end encryption in Excalidraw`},E={angle:`Angle`,shapes:`Shapes`,height:`Height`,scene:`Scene`,selected:`Selected`,storage:`Storage`,fullTitle:`Canvas & Shape properties`,title:`Properties`,generalStats:`General`,elementProperties:`Shape properties`,total:`Total`,version:`Version`,versionCopy:`Click to copy`,versionNotAvailable:`Version not available`,width:`Width`},D={addedToLibrary:`Added to library`,copyStyles:`Copied styles.`,copyToClipboard:`Copied to clipboard.`,copyToClipboardAsPng:`Copied {{exportSelection}} to clipboard as PNG
10
10
  ({{exportColorScheme}})`,copyToClipboardAsSvg:`Copied {{exportSelection}} to clipboard as SVG
11
11
  ({{exportColorScheme}})`,fileSaved:`File saved.`,fileSavedToFilename:`Saved to {filename}`,canvas:`canvas`,selection:`selection`,pasteAsSingleElement:`Use {{shortcut}} to paste as a single element,
12
- or paste into an existing text editor`,unableToEmbed:`Embedding this url is currently not allowed. Raise an issue on GitHub to request the url whitelisted`,unrecognizedLinkFormat:`The link you embedded does not match the expected format. Please try to paste the 'embed' string provided by the source site`,elementLinkCopied:`Link copied to clipboard`},O={transparent:`Transparent`,black:`Black`,white:`White`,red:`Red`,pink:`Pink`,grape:`Grape`,violet:`Violet`,gray:`Gray`,blue:`Blue`,cyan:`Cyan`,teal:`Teal`,green:`Green`,yellow:`Yellow`,orange:`Orange`,bronze:`Bronze`},k={app:{center_heading:`Your drawings are saved in your browser's storage.`,center_heading_line2:`Browser storage can be cleared unexpectedly.`,center_heading_line3:`Save your work to a file regularly to avoid losing it.`,center_heading_plus:`Did you want to go to the Excalidraw+ instead?`,menuHint:`Export, preferences, languages, ...`},defaults:{menuHint:`Export, preferences, and more...`,center_heading:`Diagrams. Made. Simple.`,toolbarHint:`Pick a tool & Start drawing!`,helpHint:`Shortcuts & help`}},A={color:`Color`,mostUsedCustomColors:`Most used custom colors`,colors:`Colors`,shades:`Shades`,hexCode:`Hex code`,noShades:`No shades available for this color`,invalidColor:`Not a valid color`,invalidHexLength:`Hex code must be 3, 4, 6, or 8 characters`,topPicksTip:`Tip: drag any color onto your top picks to pin it`,resetTopPicks:`Reset to default top picks`},j={action:{exportToImage:{title:`Export as image`,button:`Export as image`,description:`Export the scene data as an image from which you can import later.`},saveToDisk:{title:`Save to disk`,button:`Save to disk`,description:`Export the scene data to a file from which you can import later.`},excalidrawPlus:{title:`Excalidraw+`,button:`Export to Excalidraw+`,description:`Save the scene to your Excalidraw+ workspace.`}},modal:{loadFromFile:{title:`Load from file`,button:`Load from file`,description:`Loading from a file will <bold>replace your existing content</bold>.<br></br>You can back up your drawing first using one of the options below.`},shareableLink:{title:`Load from link`,button:`Replace my content`,description:`Loading external drawing will <bold>replace your existing content</bold>.<br></br>You can back up your drawing first by using one of the options below.`}}},M={title:`Mermaid to Excalidraw`,button:`Insert`,description:`Currently only <flowchartLink>Flowchart</flowchartLink>, <sequenceLink>Sequence</sequenceLink>, <classLink>Class</classLink>, and <erdLink>Entity Relationship</erdLink> Diagrams are supported. The other types will be rendered as image in Excalidraw.`,syntax:`Mermaid Syntax`,preview:`Preview`,label:`Mermaid`,inputPlaceholder:`Write Mermaid diagram defintion here...`,autoFixAvailable:`Auto-fix is available`},N={error:`Error!`},P={inputPlaceholder:`Start typing your diagram idea here... ({{shortcut}} for new line)`,inputPlaceholderWithMessages:`Continue refining your diagram...`,generating:`Generating...`,rateLimitRemaining:`{{count}} requests left today`,role:{user:`You`,assistant:`AI Assistant`,system:`System`},aiBeta:`AI Beta`,label:`Chat`,menu:`Menu`,newChat:`New Chat`,deleteChat:`Delete chat`,deleteMessage:`Delete message`,viewAsMermaid:`View as Mermaid`,placeholder:{title:`Let's design your diagram`,description:`Describe the diagram you want to create, and we'll generate it for you.`,hint:`At the moment we know Flowchart, Sequence, Class, State, and Entity Relationship diagrams.`},preview:`Preview`,insert:`Insert`,retry:`Retry`,errors:{promptTooShort:`Prompt is too short (min {{min}} characters)`,promptTooLong:`Prompt is too long (max {{max}} characters)`,generationFailed:`Generation failed`,invalidDiagram:`Generated an invalid diagram :(. You may edit manually, retry with auto-fix, or try a different prompt.`,fixInMermaid:`Edit Mermaid manually →`,aiRepair:`Regenerate (auto-fix) →`,requestAborted:`Request aborted`,requestFailed:`Request failed`,mermaidParseError:`Mermaid syntax error`},rateLimit:{messageLimit:`You've hit your AI limit on the free plan. Try out Excalidraw+ for more or come back tomorrow.`,generalRateLimit:`Hold your horses, you're too fast for us! Please wait a moment before trying again.`,messageLimitInputPlaceholder:`You've reached your message limit`},upsellBtnLabel:`Upgrade to Plus`},F={placeholder:`Quick search`},I={badge:{old:`old`},sceneFonts:`In this scene`,availableFonts:`Available fonts`,empty:`No fonts found`},L={empty:`No users found`,hint:{text:`Click on user to follow`,followStatus:`You're currently following this user`,inCall:`User is in a voice call`,micMuted:`User's microphone is muted`,isSpeaking:`User is speaking`}},R={title:`Command palette`,shortcuts:{select:`Select`,confirm:`Confirm`,close:`Close`},recents:`Recently used`,search:{placeholder:`Search menus, commands, and discover hidden gems`,noMatch:`No matching commands...`},itemNotAvailable:`Command is not available...`,shortcutHint:`For Command palette, use {{shortcut}}`},z={ctrl:`Ctrl`,option:`Option`,cmd:`Cmd`,alt:`Alt`,escape:`Esc`,enter:`Enter`,shift:`Shift`,spacebar:`Space`,delete:`Delete`,mmb:`Scroll wheel`},B={labels:e,elementLink:t,library:n,search:r,buttons:i,alerts:a,errors:o,toolBar:s,bucketfill:c,element:l,headings:u,hints:d,canvasError:f,errorSplash:p,shareDialog:m,roomDialog:h,errorDialog:g,progressDialog:_,exportDialog:v,helpDialog:y,clearCanvasDialog:b,publishDialog:x,publishSuccessDialog:S,confirmDialog:C,imageExportDialog:w,encrypted:T,stats:E,toast:D,colors:O,welcomeScreen:k,colorPicker:A,overwriteConfirm:j,mermaid:M,ttd:N,chat:P,quickSearch:F,fontList:I,userList:L,commandPalette:R,keys:z};export{d as A,h as B,s as C,r as D,f as E,e as F,u as I,v as L,l as M,t as N,y as O,o as P,g as R,c as S,p as T,F as V,B as _,E as a,n as b,R as c,N as d,P as f,C as g,b as h,A as i,i as j,a as k,j as l,M as m,I as n,O as o,D as p,x as r,L as s,k as t,w as u,z as v,_ as w,m as x,T as y,S as z};
12
+ or paste into an existing text editor`,unableToEmbed:`Embedding this url is currently not allowed. Raise an issue on GitHub to request the url whitelisted`,unrecognizedLinkFormat:`The link you embedded does not match the expected format. Please try to paste the 'embed' string provided by the source site`,elementLinkCopied:`Link copied to clipboard`},O={transparent:`Transparent`,black:`Black`,white:`White`,red:`Red`,pink:`Pink`,grape:`Grape`,violet:`Violet`,gray:`Gray`,blue:`Blue`,cyan:`Cyan`,teal:`Teal`,green:`Green`,yellow:`Yellow`,orange:`Orange`,bronze:`Bronze`},k={app:{center_heading:`Your drawings are saved in your browser's storage.`,center_heading_line2:`Browser storage can be cleared unexpectedly.`,center_heading_line3:`Save your work to a file regularly to avoid losing it.`,center_heading_plus:`Did you want to go to the Excalidraw+ instead?`,menuHint:`Export, preferences, languages, ...`},defaults:{menuHint:`Export, preferences, and more...`,center_heading:`Diagrams. Made. Simple.`,toolbarHint:`Pick a tool & Start drawing!`,helpHint:`Shortcuts & help`}},A={color:`Color`,mostUsedCustomColors:`Most used custom colors`,colors:`Colors`,shades:`Shades`,hexCode:`Hex code`,noShades:`No shades available for this color`,invalidColor:`Not a valid color`,invalidHexLength:`Hex code must be 3, 4, 6, or 8 characters`,topPicksTip:`Tip: drag any color onto your top picks to pin it`,resetTopPicks:`Reset to default top picks`},j={action:{exportToImage:{title:`Export as image`,button:`Export as image`,description:`Export the scene data as an image from which you can import later.`},saveToDisk:{title:`Save to disk`,button:`Save to disk`,description:`Export the scene data to a file from which you can import later.`},excalidrawPlus:{title:`Excalidraw+`,button:`Export to Excalidraw+`,description:`Save the scene to your Excalidraw+ workspace.`}},modal:{loadFromFile:{title:`Load from file`,button:`Load from file`,description:`Loading from a file will <bold>replace your existing content</bold>.<br></br>You can back up your drawing first using one of the options below.`},shareableLink:{title:`Load from link`,button:`Replace my content`,description:`Loading external drawing will <bold>replace your existing content</bold>.<br></br>You can back up your drawing first by using one of the options below.`}}},M={title:`Mermaid to Excalidraw`,button:`Insert`,description:`Currently only <flowchartLink>Flowchart</flowchartLink>, <sequenceLink>Sequence</sequenceLink>, <classLink>Class</classLink>, and <erdLink>Entity Relationship</erdLink> Diagrams are supported. The other types will be rendered as image in Excalidraw.`,syntax:`Mermaid Syntax`,preview:`Preview`,label:`Mermaid`,inputPlaceholder:`Write Mermaid diagram defintion here...`,autoFixAvailable:`Auto-fix is available`},N={error:`Error!`},P={inputPlaceholder:`Start typing your diagram idea here... ({{shortcut}} for new line)`,inputPlaceholderWithMessages:`Continue refining your diagram...`,generating:`Generating...`,rateLimitRemaining:`{{count}} requests left today`,role:{user:`You`,assistant:`AI Assistant`,system:`System`},aiBeta:`AI Beta`,label:`Chat`,menu:`Menu`,newChat:`New Chat`,deleteChat:`Delete chat`,deleteMessage:`Delete message`,viewAsMermaid:`View as Mermaid`,placeholder:{title:`Let's design your diagram`,description:`Describe the diagram you want to create, and we'll generate it for you.`,hint:`At the moment we know Flowchart, Sequence, Class, State, and Entity Relationship diagrams.`},preview:`Preview`,insert:`Insert`,retry:`Retry`,errors:{promptTooShort:`Prompt is too short (min {{min}} characters)`,promptTooLong:`Prompt is too long (max {{max}} characters)`,generationFailed:`Generation failed`,invalidDiagram:`Generated an invalid diagram :(. You may edit manually, retry with auto-fix, or try a different prompt.`,fixInMermaid:`Edit Mermaid manually →`,aiRepair:`Regenerate (auto-fix) →`,requestAborted:`Request aborted`,requestFailed:`Request failed`,mermaidParseError:`Mermaid syntax error`},rateLimit:{messageLimit:`You've hit your AI limit on the free plan. Try out Excalidraw+ for more or come back tomorrow.`,generalRateLimit:`Hold your horses, you're too fast for us! Please wait a moment before trying again.`,messageLimitInputPlaceholder:`You've reached your message limit`},upsellBtnLabel:`Upgrade to Plus`},F={placeholder:`Quick search`},I={badge:{old:`old`},sceneFonts:`In this scene`,availableFonts:`Available fonts`,empty:`No fonts found`},L={empty:`No users found`,hint:{text:`Click on user to follow`,followStatus:`You're currently following this user`,inCall:`User is in a voice call`,micMuted:`User's microphone is muted`,isSpeaking:`User is speaking`}},R={title:`Command palette`,shortcuts:{select:`Select`,confirm:`Confirm`,close:`Close`},recents:`Recently used`,search:{placeholder:`Search menus, commands, and discover hidden gems`,noMatch:`No matching commands...`},itemNotAvailable:`Command is not available...`,shortcutHint:`For Command palette, use {{shortcut}}`},z={ctrl:`Ctrl`,option:`Option`,cmd:`Cmd`,alt:`Alt`,escape:`Esc`,enter:`Enter`,shift:`Shift`,spacebar:`Space`,delete:`Delete`,mmb:`Scroll wheel`},B={labels:e,elementLink:t,library:n,search:r,buttons:i,alerts:a,errors:o,toolBar:s,bucketfill:c,element:l,headings:u,hints:d,canvasError:f,errorSplash:p,shareDialog:m,roomDialog:h,errorDialog:g,progressDialog:_,exportDialog:v,helpDialog:y,clearCanvasDialog:b,publishDialog:x,publishSuccessDialog:S,confirmDialog:C,imageExportDialog:w,encrypted:T,stats:E,toast:D,colors:O,welcomeScreen:k,colorPicker:A,overwriteConfirm:j,mermaid:M,ttd:N,chat:P,quickSearch:F,fontList:I,userList:L,commandPalette:R,keys:z};export{d as A,h as B,s as C,r as D,f as E,e as F,u as I,v as L,l as M,t as N,y as O,o as P,g as R,c as S,p as T,F as V,z as _,E as a,n as b,R as c,N as d,P as f,C as g,b as h,A as i,i as j,a as k,j as l,M as m,I as n,O as o,D as p,x as r,L as s,k as t,w as u,B as v,_ as w,m as x,T as y,S as z};
@@ -0,0 +1 @@
1
+ import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-oBChb5qS.js";import"./chunk-DU6HZSFF-C6d6PJfE.js";import"./chunk-75Z2AOVW-B2cZexqK.js";import"./chunk-P2QGCYS3-Du8EtwOa.js";import"./chunk-PWAF6VOD-B3gML4ps.js";import"./chunk-GMAD6QVW-DUfjx_d5.js";import"./chunk-4HAMMTFA-Ht-73lsT.js";import"./chunk-GVQU2GXP-D1l7oRGR.js";import"./chunk-L3NEJ4N5-BmCVn4y-.js";import"./chunk-OSK3NFVY-CWHXAmfx.js";import"./chunk-TLUHSLCS-Yl7B0Vrz.js";import"./chunk-F27PBJKO-Dg3H6KLL.js";import"./chunk-XXDRQBXY-BvKO0v-W.js";import"./chunk-POPQ4Y6H-B5yJIrZE.js";import{i as t,n,r,t as i}from"./chunk-TICWLB2K-Cpp2z8yK.js";var a={parser:n,get db(){return new i},renderer:r,styles:t,init:e(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
@@ -0,0 +1 @@
1
+ import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-oBChb5qS.js";import"./chunk-DU6HZSFF-C6d6PJfE.js";import"./chunk-75Z2AOVW-B2cZexqK.js";import"./chunk-P2QGCYS3-Du8EtwOa.js";import"./chunk-PWAF6VOD-B3gML4ps.js";import"./chunk-GMAD6QVW-DUfjx_d5.js";import"./chunk-4HAMMTFA-Ht-73lsT.js";import"./chunk-GVQU2GXP-D1l7oRGR.js";import"./chunk-L3NEJ4N5-BmCVn4y-.js";import"./chunk-OSK3NFVY-CWHXAmfx.js";import"./chunk-TLUHSLCS-Yl7B0Vrz.js";import"./chunk-F27PBJKO-Dg3H6KLL.js";import"./chunk-XXDRQBXY-BvKO0v-W.js";import"./chunk-POPQ4Y6H-B5yJIrZE.js";import{i as t,n,r,t as i}from"./chunk-TICWLB2K-Cpp2z8yK.js";var a={parser:n,get db(){return new i},renderer:r,styles:t,init:e(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
@@ -0,0 +1 @@
1
+ import{r as e}from"./vault-utils-Bct69Xw2.js";import{t}from"./markdown-it-CocJWnjv.js";function n(e,t,n,r,i,a){return e?.(t,n,r,i,a)??a.renderToken(t,n,r)}function r(t=``){return`<p>${e(String(t??``)).replace(/\n/g,`<br>`)}</p>`}function i(){let r=t({breaks:!0,highlight(t){return e(t)},html:!1,linkify:!0,typographer:!0}),i=r.renderer.rules.link_open,a=r.renderer.rules.table_open,o=r.renderer.rules.table_close;return r.renderer.rules.link_open=(e,t,r,a,o)=>(e[t].attrSet(`target`,`_blank`),e[t].attrSet(`rel`,`noopener noreferrer`),n(i,e,t,r,a,o)),r.renderer.rules.table_open=(e,t,r,i,o)=>`<div class="comment-markdown-table">${n(a,e,t,r,i,o)}`,r.renderer.rules.table_close=(e,t,r,i,a)=>`${n(o,e,t,r,i,a)}</div>`,r}var a=i();function o(e=``){let t=String(e??``);try{return a.render(t)}catch{return r(t)}}export{o as renderCommentMarkdownToHtml};
@@ -0,0 +1 @@
1
+ import{c as e,f as t,i as n,l as r,r as i,s as a}from"./yjs-B41tM6Sz.js";import{a as o,c as s,i as c,l,n as u,o as d,r as f}from"./comment-threads-nJhK1yfc.js";function p({body:e,user:t}){return{body:e,createdAt:Date.now(),id:u(`comment`),peerId:t?.peerId??``,reactions:[],userColor:t?.color??``,userName:t?.name??`Anonymous`}}function m(e,t){return e instanceof n?e.get(t):e?.[t]}function h(e=[]){return Array.isArray(e)?e.map(e=>({emoji:typeof e?.emoji==`string`?e.emoji:``,users:Array.isArray(e?.users)?e.users.map(e=>({reactedAt:Number.isFinite(e?.reactedAt)?e.reactedAt:Date.now(),userColor:typeof e?.userColor==`string`?e.userColor:``,userId:typeof e?.userId==`string`?e.userId:``,userName:typeof e?.userName==`string`&&e.userName?e.userName:`Anonymous`})).filter(e=>e.userId):[]})).filter(e=>e.emoji&&e.users.length>0):[]}function g(e,t){let n=t?.doc;if(!n)return null;let r=e?.anchor??e,i=r?.anchorKind===`text`?`text`:`line`,a=n.lines,o=Math.min(Math.max(Math.round(r?.startLine??1),1),a),s=Math.min(Math.max(Math.round(r?.endLine??o),o),a),c=n.line(o).from,l=n.line(s).to,u=Math.min(Math.max(Math.round(r?.startIndex??c),0),n.length),f=Math.min(Math.max(Math.round(r?.endIndex??l),u),n.length);return{anchorEndLine:s,anchorKind:i,anchorQuote:d(r?.anchorQuote||n.sliceString(u,f)),anchorStartLine:o,endIndex:f,startIndex:u}}var _=class{constructor({canWrite:e=()=>!0,createAnchor:t=null,getDoc:n,getEditorState:r,getLocalUser:i,onCommentsChange:a=null,resolveThread:o=null}){this.canWrite=e,this.createAnchor=t,this.getDoc=n,this.getEditorState=r,this.getLocalUser=i,this.onCommentsChange=a,this.resolveThread=o,this.commentThreads=null,this.ydoc=null,this.ytext=null,this.handleCommentThreadsChange=null,this.handleTextChange=null}bind({commentThreads:e,ydoc:t,ytext:n}){this.unbind(),this.commentThreads=e,this.ydoc=t,this.ytext=n,this.handleCommentThreadsChange=()=>{this.emitCommentsChange()},this.handleTextChange=()=>{this.emitCommentsChange()},this.commentThreads.observeDeep(this.handleCommentThreadsChange),this.ytext?.observe?.(this.handleTextChange),this.emitCommentsChange()}unbind(){this.commentThreads&&this.handleCommentThreadsChange&&this.commentThreads.unobserveDeep(this.handleCommentThreadsChange),this.ytext&&this.handleTextChange&&this.ytext.unobserve(this.handleTextChange),this.commentThreads=null,this.ydoc=null,this.ytext=null,this.handleCommentThreadsChange=null,this.handleTextChange=null}emitCommentsChange(){this.onCommentsChange?.(this.getCommentThreads())}refreshComments(){this.emitCommentsChange()}getCommentThreads(){return this.commentThreads?s(this.commentThreads).map(e=>this.resolveThread?this.resolveThread(e):this.resolveCommentThread(e)).filter(Boolean):[]}createCommentThread({anchor:e,body:n}){if(!this.canWrite()||!this.commentThreads||!this.ydoc)return null;let i=this.getEditorState?.(),a=o(n);if(!this.createAnchor&&(!i||!this.ytext))return null;let s=this.createAnchor?this.createAnchor(e):g(e,i);if(!a||!s)return null;let c=f({...s,...this.createAnchor?{}:{anchorEnd:t(r(this.ytext,s.endIndex))},anchorKind:s.anchorKind,anchorQuote:s.anchorQuote,...this.createAnchor?{}:{anchorStart:t(r(this.ytext,s.startIndex))},createdAt:Date.now(),createdByColor:this.getLocalUser()?.color??``,createdByName:this.getLocalUser()?.name??`Anonymous`,createdByPeerId:this.getLocalUser()?.peerId??``,id:u(`thread`),messages:[p({body:a,user:this.getLocalUser()})]});return c?(this.ydoc.transact(()=>{this.commentThreads.push([c])},`comment-thread-create`),c.get(`id`)):null}replyToCommentThread(e,t){if(!this.canWrite())return null;let n=o(t);if(!n||!this.ydoc)return null;let r=this.findSharedCommentThread(e)?.get(`messages`);if(!(r instanceof i))return null;let a=p({body:n,user:this.getLocalUser()});return this.ydoc.transact(()=>{r.push([a])},`comment-thread-reply`),a.id}toggleCommentReaction(e,t,r){if(!this.ydoc||!e||!t||typeof r!=`string`||!r.trim())return!1;let a=this.getLocalUser?.(),o=typeof a?.userId==`string`?a.userId:``;if(!o)return!1;let s=this.findSharedCommentThread(e)?.get(`messages`);if(!(s instanceof i))return!1;let c=s.toArray(),l=c.findIndex(e=>m(e,`id`)===t);if(l<0)return!1;let u=c[l]instanceof n?c[l].toJSON():{...c[l]},d=h(u.reactions),f=d.findIndex(e=>e.emoji===r);if(f>=0){let e=d[f].users.filter(e=>e.userId!==o);e.length===d[f].users.length&&e.push({reactedAt:Date.now(),userColor:a?.color??``,userId:o,userName:a?.name??`Anonymous`}),e.length===0?d.splice(f,1):d[f]={...d[f],users:e}}else d.push({emoji:r,users:[{reactedAt:Date.now(),userColor:a?.color??``,userId:o,userName:a?.name??`Anonymous`}]});let p={...u,reactions:d};return this.ydoc.transact(()=>{s.delete(l,1),s.insert(l,[p])},`comment-reaction-toggle`),!0}deleteCommentThread(e){if(!this.canWrite()||!this.commentThreads||!this.ydoc)return!1;let t=this.findSharedCommentThreadIndex(e);return t<0?!1:(this.ydoc.transact(()=>{this.commentThreads.delete(t,1)},`comment-thread-resolve`),!0)}findSharedCommentThread(e){return this.commentThreads?this.commentThreads.toArray().find(t=>t instanceof n&&t.get(`id`)===e)??null:null}findSharedCommentThreadIndex(e){return this.commentThreads?this.commentThreads.toArray().findIndex(t=>t instanceof n&&t.get(`id`)===e):-1}resolveCommentThread(e){let t=this.getEditorState();if(!e||!t||!this.ydoc)return null;let n=c(e);if(!n)return null;let r=this.resolveCommentPosition(n.anchorStart),i=this.resolveCommentPosition(n.anchorEnd),a=r?.index??t.doc.line(n.anchorStartLine).from,o=Math.min(Math.max(n.anchorEndLine??n.anchorStartLine,n.anchorStartLine),t.doc.lines),s=i?.index??t.doc.line(o).to,u=t.doc.lineAt(a).number,d=Math.min(Math.max(s,a),t.doc.length),f=t.doc.lineAt(d).number,p=t.doc.sliceString(a,n.anchorKind===`text`?Math.max(s,a):t.doc.line(f).to),m=l(p)||n.anchorQuote;return{...e,anchor:{endIndex:s,endLine:f,excerpt:m,quote:n.anchorQuote,startIndex:a,startLine:u,kind:n.anchorKind},anchorEnd:n.anchorEnd,anchorEndLine:n.anchorEndLine,anchorKind:n.anchorKind,anchorQuote:n.anchorQuote,anchorStart:n.anchorStart,anchorStartLine:n.anchorStartLine}}resolveCommentPosition(t){if(!t||!this.ydoc||!this.ytext)return null;try{let n=e(t),r=a(n,this.ydoc);return!r||r.type!==this.ytext?null:r}catch{return null}}};export{_ as t};
@@ -0,0 +1,4 @@
1
+ import{i as e,r as t}from"./yjs-B41tM6Sz.js";var n=2e3,r=new Set([`diagram-element`,`line`,`text`]);function i(e){return Number.isFinite(e)?e:null}function a(t){return t instanceof e?t.toJSON():t&&typeof t==`object`&&!Array.isArray(t)?t:null}function o(e){return typeof e==`string`?e:``}function s(e){return e instanceof t?e.toArray():Array.isArray(e)?e:[]}function c(t,n){return t instanceof e?t.get(n):t?.[n]}function l(e){return i(c(e,`resolvedAt`))!==null}function u(t,n){return t instanceof e?t.get(n):t?.[n]}function d(e){return r.has(e)?e:null}function f(e){return o(e).trim().slice(0,240)||null}function p(e){let t=a(e),n=i(t?.x),r=i(t?.y);return n===null||r===null?null:{x:n,y:r}}function m(e){let t=a(e),n=i(t?.x),r=i(t?.y),s=i(t?.width),c=i(t?.height);return n===null||r===null||s===null||c===null?null:{height:c,text:g(t?.text),type:o(t?.type).trim()||`element`,width:s,x:n,y:r}}function h(e){return String(e??``).replace(/\r\n?/g,`
2
+ `).trim().slice(0,2e3)||null}function g(e){return String(e??``).replace(/\r\n?/g,`
3
+ `).trim().slice(0,280)||``}function _(e){return String(e??``).replace(/\r\n?/g,`
4
+ `).replace(/\s+/g,` `).trim()}function v(e,t=160){let n=_(e);return n?n.length<=t?n:`${n.slice(0,Math.max(t-1,1)).trimEnd()}…`:``}function y(e){return Array.from(String(e??``).trim()).slice(0,16).join(``)}function b(e){let t=o(u(e,`userId`)).trim();return t?{reactedAt:i(u(e,`reactedAt`))??Date.now(),userColor:o(u(e,`userColor`)),userId:t,userName:o(u(e,`userName`))||`Anonymous`}:null}function x(e){let t=y(u(e,`emoji`));if(!t)return null;let n=new Map;return s(u(e,`users`)).forEach(e=>{let t=b(e);t&&n.set(t.userId,t)}),n.size===0?null:{emoji:t,users:Array.from(n.values())}}function S(e){let t=new Map;return s(e).forEach(e=>{let n=x(e);if(!n)return;let r=t.get(n.emoji);if(!r){t.set(n.emoji,n);return}let i=new Map(r.users.map(e=>[e.userId,e]));n.users.forEach(e=>i.set(e.userId,e)),t.set(n.emoji,{emoji:n.emoji,users:Array.from(i.values())})}),Array.from(t.values())}function C(e){let t=h(u(e,`body`));return t?{body:t,createdAt:i(u(e,`createdAt`))??Date.now(),id:o(u(e,`id`))||T(`comment`),peerId:o(u(e,`peerId`)),reactions:S(u(e,`reactions`)),userColor:o(u(e,`userColor`)),userName:o(u(e,`userName`))||`Anonymous`}:null}function w(e){return s(e).map(e=>C(e)).filter(Boolean)}function T(e=`comment`){return`${e}-${globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2,10)}`}`}function E(e={}){let t=d(e.anchorKind);if(t===`diagram-element`){let n=p(e.anchorPoint),r=m(e.anchorSnapshot),i=f(e.elementId);return!n||!r||!i?null:{anchorKind:t,anchorPoint:n,anchorQuote:g(e.anchorQuote||r.text),anchorSnapshot:r,elementId:i}}let n=a(e.anchorStart),r=a(e.anchorEnd),o=i(e.anchorStartLine),s=i(e.anchorEndLine),c=g(e.anchorQuote);return!t||!n||!r||o===null||s===null?null:{anchorEnd:r,anchorEndLine:Math.max(s,o),anchorKind:t,anchorQuote:c,anchorStart:n,anchorStartLine:Math.max(o,1)}}function D(n={}){if(i(n.resolvedAt)!==null)return null;let r=E(n),a=C(n.messages?.[0]);if(!r||!a)return null;let s=new t,c=n.messages?.map(e=>C(e)).filter(Boolean)??[];s.push(c.length>0?c:[a]);let l=new e;return l.set(`anchorKind`,r.anchorKind),l.set(`anchorQuote`,r.anchorQuote),r.anchorKind===`diagram-element`?(l.set(`anchorPoint`,r.anchorPoint),l.set(`anchorSnapshot`,r.anchorSnapshot),l.set(`elementId`,r.elementId)):(l.set(`anchorEnd`,r.anchorEnd),l.set(`anchorEndLine`,r.anchorEndLine),l.set(`anchorStart`,r.anchorStart),l.set(`anchorStartLine`,r.anchorStartLine)),l.set(`createdAt`,i(n.createdAt)??Date.now()),l.set(`createdByColor`,o(n.createdByColor)),l.set(`createdByName`,o(n.createdByName)||a.userName),l.set(`createdByPeerId`,o(n.createdByPeerId)||a.peerId),l.set(`id`,o(n.id)||T(`thread`)),l.set(`messages`,s),l.set(`resolvedAt`,i(n.resolvedAt)),l.set(`resolvedByColor`,o(n.resolvedByColor)),l.set(`resolvedByName`,o(n.resolvedByName)),l.set(`resolvedByPeerId`,o(n.resolvedByPeerId)),l}function O(e){if(l(e))return null;let t=E({anchorEnd:c(e,`anchorEnd`),anchorEndLine:c(e,`anchorEndLine`),anchorKind:c(e,`anchorKind`),anchorQuote:c(e,`anchorQuote`),anchorStart:c(e,`anchorStart`),anchorStartLine:c(e,`anchorStartLine`),anchorPoint:c(e,`anchorPoint`),anchorSnapshot:c(e,`anchorSnapshot`),elementId:c(e,`elementId`)}),n=w(c(e,`messages`));return!t||n.length===0?null:{...t,createdAt:i(c(e,`createdAt`))??n[0].createdAt,createdByColor:o(c(e,`createdByColor`))||n[0].userColor,createdByName:o(c(e,`createdByName`))||n[0].userName,createdByPeerId:o(c(e,`createdByPeerId`))||n[0].peerId,id:o(c(e,`id`))||T(`thread`),messages:n,resolvedAt:i(c(e,`resolvedAt`)),resolvedByColor:o(c(e,`resolvedByColor`)),resolvedByName:o(c(e,`resolvedByName`)),resolvedByPeerId:o(c(e,`resolvedByPeerId`))}}function k(e){return(e instanceof t?e.toArray():Array.isArray(e)?e:[]).map(e=>O(e)).filter(Boolean)}export{h as a,k as c,E as i,v as l,T as n,g as o,D as r,_ as s,n as t};
@@ -0,0 +1,7 @@
1
+ import"./chunk-SRAX5OIU-KFQikY-4.js";var e={signUp:``,signIn:``,paste:`Vložit`,pasteAsPlaintext:`Vložit jako prostý text`,pasteCharts:`Vložit grafy`,chartType_bar:``,chartType_line:``,chartType_radar:``,chartType_plaintext:``,selectAll:`Vybrat vše`,multiSelect:`Přidat prvek do výběru`,moveCanvas:`Posunout plátno`,cut:`Vyjmout`,copy:`Kopírovat`,copyAsPng:`Zkopírovat do schránky jako PNG`,copyAsSvg:`Zkopírovat do schránky jako SVG`,copyText:`Zkopírovat do schránky jako text`,copySource:`Kopírovat zdroj do schránky`,convertToCode:`Převést na kód`,bringForward:`Přenést blíž`,sendToBack:`Přenést do pozadí`,bringToFront:`Přenést do popředí`,sendBackward:`Přenést dál`,delete:`Smazat`,copyStyles:`Kopírovat styly`,pasteStyles:`Vložit styly`,stroke:`Obrys`,changeStroke:`Změnit barvu ohraničení`,background:`Pozadí`,changeBackground:`Změnit barvu pozadí`,fill:`Výplň`,strokeWidth:`Tloušťka tahu`,strokeStyle:`Styl tahu`,strokeStyle_solid:`Plný`,strokeStyle_dashed:`Čárkovaný`,strokeStyle_dotted:`Tečkovaný`,sloppiness:`Stylizace`,pressure:``,pressure_constant:``,pressure_variable:``,opacity:`Průhlednost`,textAlign:`Zarovnání textu`,edges:`Hrany`,sharp:`Ostré`,round:`Zaoblené`,arrowheads:`Styl šipky`,arrowhead_none:`Žádný`,arrowhead_arrow:`Šipka`,arrowhead_bar:`Kóta`,arrowhead_circle:`Kruh`,arrowhead_circle_outline:`Kružnice`,arrowhead_triangle:`Trojúhelník`,arrowhead_triangle_outline:`Trojúhelník (obrys)`,arrowhead_diamond:`Kosočtverec`,arrowhead_diamond_outline:`Kosočtverec (obrys)`,arrowhead_crowfoot_many:``,arrowhead_crowfoot_one:``,arrowhead_crowfoot_one_or_many:``,arrowhead_cardinality_one:``,arrowhead_cardinality_many:``,arrowhead_cardinality_one_or_many:``,arrowhead_cardinality_exactly_one:``,arrowhead_cardinality_zero_or_one:``,arrowhead_cardinality_zero_or_many:``,more_options:``,cardinality:``,arrowtypes:`Typ šipky`,arrowtype_sharp:`Ostrá šipka`,arrowtype_round:`Zakřivená šipka`,arrowtype_elbowed:``,fontSize:`Velikost písma`,fontFamily:`Písmo`,addWatermark:`Přidat "Vyrobeno s Excalidraw"`,handDrawn:`Od ruky`,normal:`Normální`,code:`Kód`,small:`Malé`,medium:`Střední`,large:`Velké`,veryLarge:`Velmi velké`,solid:`Plný`,hachure:`Šrafování`,zigzag:`Klikatě`,crossHatch:`Křížový šrafování`,thin:`Tenký`,bold:`Tlustý`,left:`Vlevo`,center:`Na střed`,right:`Vpravo`,extraBold:`Extra tlustý`,architect:`Architekt`,artist:`Umělec`,cartoonist:`Kartoonista`,fileTitle:`Název souboru`,colorPicker:`Výběr barvy`,canvasColors:`Použito na plátně`,canvasBackground:`Pozadí plátna`,drawingCanvas:`Kreslicí plátno`,clearCanvas:`Vyčistit plátno`,layers:`Vrstvy`,actions:`Akce`,language:`Jazyk`,liveCollaboration:`Živá spolupráce...`,duplicateSelection:`Duplikovat`,untitled:`Bez názvu`,name:`Název`,yourName:`Vaše jméno`,madeWithExcalidraw:`Vytvořeno v Excalidraw`,group:`Sloučit výběr do skupiny`,ungroup:`Zrušit sloučení skupiny`,collaborators:`Spolupracovníci`,you:``,toggleGrid:`Přepínač mřížky`,addToLibrary:`Přidat do knihovny`,removeFromLibrary:`Odebrat z knihovny`,libraryLoadingMessage:`Načítání knihovny…`,libraries:`Procházet knihovny`,loadingScene:`Načítání scény…`,loadScene:`Načíst scénu ze souboru`,align:`Zarovnání`,alignTop:`Zarovnat nahoru`,alignBottom:`Zarovnat dolů`,alignLeft:`Zarovnat vlevo`,alignRight:`Zarovnejte vpravo`,centerVertically:`Vycentrovat svisle`,centerHorizontally:`Vycentrovat vodorovně`,distributeHorizontally:`Rozložit horizontálně`,distributeVertically:`Rozložit svisle`,flipHorizontal:`Převrátit vodorovně`,flipVertical:`Převrátit svisle`,viewMode:`Náhled`,share:`Sdílet`,showStroke:`Zobrazit výběr barvy`,showBackground:`Zobrazit výběr barev pozadí`,showFonts:`Zobrazit výběr písma`,toggleTheme:`Přepnout světlý/tmavý motiv`,theme:`Motiv`,personalLib:`Osobní knihovna`,excalidrawLib:`Exkalidraw knihovna`,decreaseFontSize:`Zmenšit písmo`,increaseFontSize:`Zvětšit písmo`,unbindText:`Zrušit vazbu textu`,bindText:`Vázat text s kontejnerem`,createContainerFromText:`Zabalit text do kontejneru`,link:{edit:`Upravit odkaz`,editEmbed:`Upravit odkaz pro vložení`,create:`Přidat odkaz`,label:`Odkaz`,labelEmbed:`Odkaz & vložit`,empty:`Není nastaven žádný odkaz`,hint:`Napište nebo vložte svůj odkaz zde`,goToElement:`Přejít na cílový prvek`},lineEditor:{edit:`Upravit čáru`,editArrow:`Upravit šipku`},polygon:{breakPolygon:``,convertToPolygon:``},elementLock:{lock:`Uzamknout`,unlock:`Odemknout`,lockAll:`Uzamknout vše`,unlockAll:`Odemknout vše`},statusPublished:`Zveřejněno`,sidebarLock:`Ponechat postranní panel otevřený`,selectAllElementsInFrame:`Vybrat všechny prvky v orámování`,removeAllElementsFromFrame:`Odstranit všechny prvky z orámování`,eyeDropper:`Vyberte barvu z plátna`,textToDiagram:`Z textu na diagram`,prompt:`Výzva`,followUs:`Sledujte nás`,discordChat:`Discord chat`,zoomToFitViewport:``,zoomToFitSelection:`Přiblížit na výběr`,zoomToFit:`Přiblížit na zobrazení všech prvků`,installPWA:`Instalovat Excalidraw lokálně (PWA)`,autoResize:`Povolit automatickou změnu velikosti textu`,imageCropping:``,unCroppedDimension:``,copyElementLink:`Kopírovat odkaz na objekt`,linkToElement:`Odkaz na objekt`,wrapSelectionInFrame:``,tab:``,shapeSwitch:``,preferences:``,preferences_toolLock:``,boxSelectionMode:``,boxSelectionContain:``,boxSelectionOverlap:``,arrowBinding:``,midpointSnapping:``},t={title:`Odkaz na objekt`,desc:`Klikněte na tvar na plátně nebo vložte odkaz.`,notFound:`Propojený objekt nebyl na plátně nalezen.`},n={noItems:`Dosud neexistují žádné položky...`,hint_emptyLibrary:`Vyberte položku na plátně a přidejte ji sem nebo nainstalujte knihovnu z veřejného úložiště níže.`,hint_emptyPrivateLibrary:`Vyberte položku na plátně a přidejte ji sem.`,search:{inputPlaceholder:``,heading:``,noResults:``,clearSearch:``}},r={title:`Najít na plátně`,noMatch:`Nebyla nalezena žádná shoda...`,singleResult:`výsledek`,multipleResults:`výsledky`,placeholder:``,frames:``,texts:``},i={clearReset:`Resetovat plátno`,exportJSON:`Exportovat do souboru`,exportImage:`Exportovat obrázek...`,export:`Uložit jako...`,copyToClipboard:`Kopírovat do schránky`,copyLink:`Kopírovat odkaz`,save:`Uložit do aktuálního souboru`,saveAs:`Uložit jako`,load:`Otevřít`,getShareableLink:`Získat odkaz pro sdílení`,close:`Zavřít`,selectLanguage:`Zvolit jazyk`,scrollBackToContent:`Přejít zpět na obsah`,zoomIn:`Přiblížit`,zoomOut:`Oddálit`,resetZoom:`Resetovat přiblížení`,menu:`Hlavní nabídka`,done:`Hotovo`,edit:`Upravit`,undo:`Zpět`,redo:`Znovu`,resetLibrary:`Obnovit knihovnu`,createNewRoom:`Vytvořit novou místnost`,fullScreen:`Celá obrazovka`,darkMode:`Tmavý režim`,lightMode:`Světlý režim`,systemMode:`Nastavení systému`,zenMode:`Zen mód`,objectsSnapMode:`Přichytávat k objektům`,exitZenMode:`Opustit zen mód`,cancel:`Zrušit`,saveLibNames:``,clear:`Vyčistit`,remove:`Odstranit`,embed:`Přepínač vkládání`,publishLibrary:``,submit:`Odeslat`,confirm:`Potvrdit`,embeddableInteractionButton:`Klikněte pro interakci`},a={clearReset:`Toto vymaže celé plátno. Jste si jisti?`,couldNotCreateShareableLink:`Nepodařilo se vytvořit sdílitelný odkaz.`,couldNotCreateShareableLinkTooBig:`Nepodařilo se vytvořit sdílený odkaz: scéna je příliš velká`,couldNotLoadInvalidFile:`Nepodařilo se načíst neplatný soubor`,importBackendFailed:`Import z backendu se nezdařil.`,cannotExportEmptyCanvas:`Nelze exportovat prázdné plátno.`,couldNotCopyToClipboard:`Nelze zkopírovat do schránky.`,decryptFailed:`Nelze dešifrovat data.`,uploadedSecurly:`Nahrávání je zabezpečeno koncovým šifrováním, což znamená, že server Excalidraw ani třetí strany nemohou obsah přečíst.`,loadSceneOverridePrompt:`Načítání externího výkresu nahradí váš existující obsah. Přejete si pokračovat?`,collabStopOverridePrompt:`Zastavení relace přepíše vaše předchozí, lokálně uložené kresby. Jste si jisti?
2
+
3
+ (Pokud chcete zachovat místní kresbu, jednoduše zavřete kartu prohlížeče)`,errorAddingToLibrary:`Položku nelze přidat do knihovny`,errorRemovingFromLibrary:`Položku nelze odstranit z knihovny`,confirmAddLibrary:`Tímto přidáte {{numShapes}} tvarů do tvé knihovny. Jste si jisti?`,imageDoesNotContainScene:`Zdá se, že tento obrázek neobsahuje žádná data o scéně. Zapnuli jste při exportu vkládání scény?`,cannotRestoreFromImage:`Scénu nelze obnovit z tohoto souboru obrázku`,invalidSceneUrl:`Nelze importovat scénu z zadané URL. Je buď poškozená, nebo neobsahuje platná JSON data Excalidraw.`,resetLibrary:`Tímto vymažete vaši knihovnu. Jste si jisti?`,removeItemsFromsLibrary:`Smazat {{count}} položek z knihovny?`,invalidEncryptionKey:`Šifrovací klíč musí mít 22 znaků. Live spolupráce je zakázána.`,collabOfflineWarning:`Není k dispozici žádné internetové připojení.
4
+ Vaše změny nebudou uloženy!`,localStorageQuotaExceeded:``},o={unsupportedFileType:`Nepodporovaný typ souboru.`,imageInsertError:`Nelze vložit obrázek. Zkuste to později...`,fileTooBig:`Soubor je příliš velký. Maximální povolená velikost je {{maxSize}}.`,svgImageInsertError:`Nelze vložit SVG obrázek. Značení SVG je neplatné.`,failedToFetchImage:`Nepodařilo se načíst obrázek.`,cannotResolveCollabServer:`Nelze se připojit ke sdílenému serveru. Prosím obnovte stránku a zkuste to znovu.`,importLibraryError:`Nelze načíst knihovnu`,saveLibraryError:``,collabSaveFailed:`Nelze uložit do databáze na serveru. Pokud problémy přetrvávají, měli byste uložit soubor lokálně, abyste se ujistili, že neztratíte svou práci.`,collabSaveFailed_sizeExceeded:`Nelze uložit do databáze na serveru, plátno se zdá být příliš velké. Měli byste uložit soubor lokálně, abyste se ujistili, že neztratíte svou práci.`,imageToolNotSupported:`Obrázky jsou vypnuty.`,brave_measure_text_error:{line1:`Vypadá to, že používáte Brave prohlížeč s povoleným nastavením <bold>Aggressively Block Fingerprinting</bold>.`,line2:`To by mohlo vést k narušení <bold>Textových elementů</bold> ve vašich výkresech.`,line3:`Důrazně doporučujeme zakázat toto nastavení. Můžete sledovat <link>tyto kroky</link> jak to udělat.`,line4:`Pokud vypnutí tohoto nastavení neopravuje zobrazení textových prvků, prosím, otevřete <issueLink>problém</issueLink> na našem GitHubu, nebo nám napište na <discordLink>Discord</discordLink>`},libraryElementTypeError:{embeddable:``,iframe:``,image:``},asyncPasteFailedOnRead:``,asyncPasteFailedOnParse:`Nepodařilo se vložit.`,copyToSystemClipboardFailed:``},s={selection:`Výběr`,lasso:``,image:`Vložit obrázek`,rectangle:`Obdélník`,diamond:`Diamant`,ellipse:`Elipsa`,arrow:`Šipka`,line:`Čára`,freedraw:`Kreslení`,text:`Text`,library:`Knihovna`,lock:`Po kreslení ponechat vybraný nástroj aktivní`,penMode:`Režim Pera - zabránit dotyku`,link:``,eraser:`Guma`,frame:`Orámování`,magicframe:`Z wireframu na kód`,embeddable:`Web Embed`,laser:`Laserové ukazovátko`,autoshape:``,bucketfill:``,hand:`Ruka (nástroj pro posouvání)`,extraTools:`Více nástrojů`,mermaidToExcalidraw:``,convertElementType:``},c={noRegion:``,tooComplex:``},l={rectangle:`Obdélník`,diamond:`Kosočtverec`,ellipse:`Elipsa`,arrow:`Šipka`,line:`Čára`,freedraw:`Volné kreslení`,text:`Text`,image:`Obrázek`,group:`Skupina`,frame:`Rám`,magicframe:`Z wireframu na kód`,embeddable:``,selection:`Výběr`,iframe:`IFrame`},u={canvasActions:`Akce plátna`,selectedShapeActions:`Akce vybraného tvaru`,shapes:`Tvary`},d={dismissSearch:``,canvasPanning:``,linearElement:`Kliknutím pro více bodů, táhnutím pro jednu čáru`,arrowTool:``,arrowBindModifiers:``,freeDraw:`Klikněte a táhněte, pro ukončení pusťte`,text:`Tip: Text můžete také přidat dvojitým kliknutím kdekoli pomocí nástroje pro výběr`,embeddable:``,autoshape:``,text_selected:``,text_editing:``,linearElementMulti:``,lockAngle:``,resize:``,resizeImage:``,rotate:``,toggleArrowhead:``,lineEditor_info:``,lineEditor_line_info:``,lineEditor_pointSelected:``,lineEditor_nothingSelected:``,publishLibrary:`Publikovat vlastní knihovnu`,bindTextToElement:``,createFlowchart:``,deepBoxSelect:``,eraserRevert:``,firefox_clipboard_write:`Tato funkce může být povolena nastavením vlajky "dom.events.asyncClipboard.clipboardItem" na "true". Chcete-li změnit vlajky prohlížeče ve Firefoxu, navštivte stránku "about:config".`,disableSnapping:``,enterCropEditor:``,leaveCropEditor:``},f={cannotShowPreview:`Náhled nelze zobrazit`,canvasTooBig:`Plátno je možná příliš velké.`,canvasTooBigTip:`Tip: zkus posunout nejvzdálenější prvky trochu blíže k sobě.`},p={headingMain:`Chyba. Zkuste <button>znovu načíst stránku</button>.`,clearCanvasMessage:`Pokud opětovné načtení nefunguje, zkuste <button>vymazat plátno</button>.`,clearCanvasCaveat:` To povede ke ztrátě dat `,trackedToSentry:`Chyba identifikátoru {{eventId}} byl zaznamenán v našem systému.`,openIssueMessage:`Byli jsme velmi opatrní, abychom neuváděli informace o Vaší scéně. Pokud vaše scéna není soukromá, zvažte prosím sledování na našem <button>bug trackeru</button>. Uveďte prosím níže uvedené informace kopírováním a vložením do problému na GitHubu.`,sceneContent:`Obsah scény:`},m={or:``},h={desc_intro:``,desc_privacy:``,button_startSession:`Zahájit relaci`,button_stopSession:`Ukončit relaci`,desc_inProgressIntro:`Živá spolupráce právě probíhá.`,desc_shareLink:`Sdílejte tento odkaz s každým, s kým chcete spolupracovat:`,desc_exitSession:`Zastavením relace se odpojíte od místnosti, ale budete moci pokračovat v práci s touto scénou lokálně. Všimněte si, že to nebude mít vliv na ostatní lidi a budou stále moci spolupracovat na jejich verzi.`,shareTitle:`Připojte se k aktivní spolupráci na Excalidraw`},g={title:`Chyba`},_={title:``,defaultMessage:``},v={disk_title:`Uložit na disk`,disk_details:`Exportovat data scény do souboru, ze kterého můžete importovat později.`,disk_button:`Uložit do souboru`,link_title:`Odkaz pro sdílení`,link_details:`Exportovat jako odkaz pouze pro čtení.`,link_button:`Exportovat do odkazu`,excalidrawplus_description:`Uložit scénu do vašeho pracovního prostoru Excalidraw+.`,excalidrawplus_button:`Exportovat`,excalidrawplus_exportError:`Export do Excalidraw+ se v tuto chvíli nezdařil...`},y={blog:`Přečtěte si náš blog`,click:`kliknutí`,deepSelect:`Hluboký výběr`,deepBoxSelect:`Hluboký výběr uvnitř boxu a zabránění táhnnutí`,createFlowchart:``,navigateFlowchart:``,curvedArrow:`Zakřivená šipka`,curvedLine:`Zakřivená čára`,documentation:`Dokumentace`,doubleClick:`dvojklik`,drag:`tažení`,editor:``,editLineArrowPoints:`Upravit body linií/šipek`,editText:`Upravit text / přidat popis`,github:`Našel jsi problém? Nahlaš ho`,howto:`Sledujte naše návody`,or:`nebo`,preventBinding:`Zabránit vázání šipky`,tools:`Nástroje`,shortcuts:`Klávesové zkratky`,textFinish:`Dokončit úpravy (textový editor)`,textNewLine:`Přidat nový řádek (textový editor)`,title:`Nápověda`,view:`Zobrazení`,zoomToFit:`Přiblížit na zobrazení všech prvků`,zoomToSelection:`Přiblížit na výběr`,toggleElementLock:`Zamknout/odemknout výběr`,movePageUpDown:`Posunout stránku nahoru/dolů`,movePageLeftRight:`Přesunout stránku doleva/doprava`,cropStart:``,cropFinish:``},b={title:`Vymazat plátno`},x={title:`Publikovat knihovnu`,itemName:`Název položky`,authorName:`Jméno autora`,githubUsername:`GitHub uživatelské jméno`,twitterUsername:`Twitter uživatelské jméno`,libraryName:`Název knihovny`,libraryDesc:`Popis knihovny`,website:`Webová stránka`,placeholder:{authorName:`Jméno nebo uživatelské jméno`,libraryName:`Název vaší knihovny`,libraryDesc:`Popis Vaší knihovny, který pomůže lidem pochopit její využití`,githubHandle:`Github uživatelské jméno (nepovinné), abyste mohli upravovat knihovnu poté co je odeslána ke kontrole`,twitterHandle:`Twitter uživatelské jméno (nepovinné), abychom věděli koho označit při propagaci na Twitteru`,website:`Odkaz na Vaši osobní webovou stránku nebo jinam (nepovinné)`},errors:{required:`Povinné`,website:`Zadejte platnou URL adresu`},noteDescription:`Odešlete svou knihovnu, pro zařazení do <link>veřejného úložiště knihoven</link>, odkud ji budou moci při kreslení využít i ostatní uživatelé.`,noteGuidelines:`Knihovna musí být nejdříve ručně schválena. Přečtěte si prosím <link>pokyny</link>`,noteLicense:`Odesláním souhlasíte s tím, že knihovna bude zveřejněna pod <link>MIT licencí</link>, stručně řečeno, kdokoli ji může používat bez omezení.`,noteItems:`Každá položka knihovny musí mít svůj vlastní název, aby byla filtrovatelná. Následující položky knihovny budou zahrnuty:`,atleastOneLibItem:`Vyberte alespoň jednu položku knihovny, kterou chcete začít`,republishWarning:`Poznámka: některé z vybraných položek jsou označeny jako již zveřejněné/odeslané. Položky byste měli znovu odeslat pouze při aktualizaci existující knihovny nebo podání.`},S={title:`Knihovna byla odeslána`,content:`Děkujeme vám {{authorName}}. Vaše knihovna byla odeslána k posouzení. Stav můžete sledovat <link>zde</link>`},C={resetLibrary:`Resetovat knihovnu`,removeItemsFromLib:`Odstranit vybrané položky z knihovny`},w={header:`Exportovat obrázek`,label:{withBackground:`Pozadí`,onlySelected:`Pouze vybrané`,darkMode:`Tmavý režim`,embedScene:`Vložit scénu`,scale:`Měřítko`,padding:`Odsazení`},tooltip:{embedScene:`Data scény budou uložena do exportovaného souboru PNG/SVG tak, aby z něj mohla být scéna obnovena.
5
+ Zvýší se velikost exportovaného souboru.`},title:{exportToPng:`Exportovat do PNG`,exportToSvg:`Exportovat do SVG`,copyPngToClipboard:`Kopírovat PNG do schránky`},button:{exportToPng:`PNG`,exportToSvg:`SVG`,copyPngToClipboard:`Kopírovat do schránky`}},T={tooltip:`Vaše kresby jsou end-to-end šifrované, takže servery Excalidraw je nikdy neuvidí.`,link:`Blog příspěvek na end-to-end šifrování v Excalidraw`},E={angle:`Úhel`,shapes:`Tvary`,height:`Výška`,scene:`Scéna`,selected:`Vybráno`,storage:`Úložiště`,fullTitle:`Vlastnosti plátna a tvarů`,title:`Vlastnosti`,generalStats:`Obecné`,elementProperties:`Vlastnosti tvaru`,total:`Celkem`,version:`Verze`,versionCopy:`Kliknutím zkopírujete`,versionNotAvailable:`Verze není k dispozici`,width:`Šířka`},D={addedToLibrary:`Přidáno do knihovny`,copyStyles:`Styly byly zkopírovány.`,copyToClipboard:`Zkopírováno do schránky.`,copyToClipboardAsPng:`{{exportSelection}} zkopírován do schránky jako PNG
6
+ ({{exportColorScheme}})`,copyToClipboardAsSvg:``,fileSaved:`Soubor byl uložen.`,fileSavedToFilename:`Uloženo do {filename}`,canvas:`plátno`,selection:`výběr`,pasteAsSingleElement:`Pomocí {{shortcut}} vložte jako jeden prvek,
7
+ nebo vložte do existujícího textového editoru`,unableToEmbed:``,unrecognizedLinkFormat:``,elementLinkCopied:``},O={transparent:`Průhledná`,black:`Černá`,white:`Bílá`,red:`Červená`,pink:`Růžová`,grape:`Vínová`,violet:`Fialová`,gray:`Šedá`,blue:`Modrá`,cyan:`Azurová`,teal:`Modrozelená`,green:`Zelená`,yellow:`Žlutá`,orange:`Oranžová`,bronze:`Bronzová`},k={app:{center_heading:``,center_heading_line2:``,center_heading_line3:``,center_heading_plus:`Chcete místo toho přejít na Excalidraw+?`,menuHint:`Export, nastavení, jazyky, ...`},defaults:{menuHint:`Export, nastavení a další...`,center_heading:`Diagramy. Vytvořeny. Jednoduše.`,toolbarHint:`Vyberte nástroj a začněte kreslit!`,helpHint:`Zkratky a pomoc`}},A={color:``,mostUsedCustomColors:`Nejpoužívanější vlastní barvy`,colors:`Barvy`,shades:`Stíny`,hexCode:`Hex kód`,noShades:`Pro tuto barvu nejsou k dispozici žádné odstíny`,invalidColor:``,invalidHexLength:``,topPicksTip:``,resetTopPicks:``},j={action:{exportToImage:{title:``,button:``,description:``},saveToDisk:{title:``,button:``,description:``},excalidrawPlus:{title:``,button:``,description:``}},modal:{loadFromFile:{title:`Načíst ze souboru`,button:`Načíst ze souboru`,description:``},shareableLink:{title:`Načíst z odkazu`,button:`Nahradit můj obsah`,description:``}}},M={title:``,button:`Vložit`,description:``,syntax:`Mermaid syntaxe`,preview:`Náhled`,label:``,inputPlaceholder:``,autoFixAvailable:``},N={error:``},P={inputPlaceholder:``,inputPlaceholderWithMessages:``,generating:``,rateLimitRemaining:``,role:{user:``,assistant:``,system:``},aiBeta:``,label:``,menu:``,newChat:``,deleteChat:``,deleteMessage:``,viewAsMermaid:``,placeholder:{title:``,description:``,hint:``},preview:``,insert:``,retry:``,errors:{promptTooShort:``,promptTooLong:``,generationFailed:``,invalidDiagram:``,fixInMermaid:``,aiRepair:``,requestAborted:``,requestFailed:``,mermaidParseError:``},rateLimit:{messageLimit:``,generalRateLimit:``,messageLimitInputPlaceholder:``},upsellBtnLabel:``},F={placeholder:`Rychlé vyhledávání`},I={badge:{old:`staré`},sceneFonts:`V této scéně`,availableFonts:`Dostupná písma`,empty:`Nebyla nalezena žádná písma`},L={empty:`Nebyli nalezeni žádní uživatelé`,hint:{text:`Klikněte na uživatele pro sledování`,followStatus:`Právě sledujete tohoto uživatele`,inCall:`Uživatel je v hovoru`,micMuted:`Mikrofon uživatele je ztlumen`,isSpeaking:`Uživatel hovoří`}},R={title:`Paleta příkazů`,shortcuts:{select:`Vybrat`,confirm:`Potvrdit`,close:`Zavřít`},recents:`Naposledy použito`,search:{placeholder:``,noMatch:`Žádné odpovídající příkazy...`},itemNotAvailable:`Příkaz není k dispozici...`,shortcutHint:``},z={ctrl:``,option:``,cmd:``,alt:``,escape:``,enter:``,shift:``,spacebar:``,delete:``,mmb:``},B={labels:e,elementLink:t,library:n,search:r,buttons:i,alerts:a,errors:o,toolBar:s,bucketfill:c,element:l,headings:u,hints:d,canvasError:f,errorSplash:p,shareDialog:m,roomDialog:h,errorDialog:g,progressDialog:_,exportDialog:v,helpDialog:y,clearCanvasDialog:b,publishDialog:x,publishSuccessDialog:S,confirmDialog:C,imageExportDialog:w,encrypted:T,stats:E,toast:D,colors:O,welcomeScreen:k,colorPicker:A,overwriteConfirm:j,mermaid:M,ttd:N,chat:P,quickSearch:F,fontList:I,userList:L,commandPalette:R,keys:z};export{a as alerts,c as bucketfill,i as buttons,f as canvasError,P as chat,b as clearCanvasDialog,A as colorPicker,O as colors,R as commandPalette,C as confirmDialog,B as default,l as element,t as elementLink,T as encrypted,g as errorDialog,p as errorSplash,o as errors,v as exportDialog,I as fontList,u as headings,y as helpDialog,d as hints,w as imageExportDialog,z as keys,e as labels,n as library,M as mermaid,j as overwriteConfirm,_ as progressDialog,x as publishDialog,S as publishSuccessDialog,F as quickSearch,h as roomDialog,r as search,m as shareDialog,E as stats,D as toast,s as toolBar,N as ttd,L as userList,k as welcomeScreen};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t}from"./src-oBChb5qS.js";import{D as n,H as r,K as i,U as a,a as o,b as s,c,f as l,v as u,w as d,y as f}from"./chunk-DU6HZSFF-Zkp69c6c.js";import{i as p}from"./chunk-75Z2AOVW-C5pGd3W9.js";import{t as m}from"./chunk-CLGD4ZFX-BMeArk03.js";import{t as h}from"./chunk-JWPE2WC7-DVXcaiue.js";import{n as g}from"./mermaid-parser.core-Bl0efOMt.js";var _=e(()=>({domains:new Map,transitions:[]}),`createDefaultData`),v=_(),y={getDomains:e(()=>v.domains,`getDomains`),getTransitions:e(()=>v.transitions,`getTransitions`),setDomains:e(e=>{if(e)for(let t of e){let e=t.domain,n=(t.items??[]).map(e=>({label:e.label}));v.domains.set(e,{name:e,items:n})}},`setDomains`),setTransitions:e(e=>{e&&(v.transitions=e.filter(e=>e.from!==e.to||(t.warn(`Cynefin: self-loop transition on domain "${e.from}" is not meaningful and will be skipped.`),!1)).map(e=>({from:e.from,to:e.to,label:e.label||void 0})))},`setTransitions`),getConfig:e(()=>p({...l.cynefin,...s().cynefin}),`getConfig`),clear:e(()=>{o(),v=_()},`clear`),setAccTitle:a,getAccTitle:f,setDiagramTitle:i,getDiagramTitle:d,getAccDescription:u,setAccDescription:r},b=e(e=>{h(e,y),y.setDomains(e.domains),y.setTransitions(e.transitions)},`populate`),x={parse:e(async e=>{let n=await g(`cynefin`,e);t.debug(n),b(n)},`parse`)};function S(e){let t=e+1831565813|0;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}e(S,`seededRandom`);function C(e){let t=0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)-t+r,t|=0}return t}e(C,`hashString`);function w(e,t){return typeof e==`number`&&Number.isFinite(e)&&e!==0?e:C(t)}e(w,`resolveSeed`);function T(e,t,n,r){let i=e/2,a=r??e*.015,o=t/7,s=[];for(let e=0;e<=7;e++){let t=S(n+e*17)*a*2-a;s.push({x:i+t,y:e*o})}let c=`M${s[0].x},${s[0].y}`;for(let e=0;e<s.length-1;e++){let t=s[e],r=s[e+1],i=(t.y+r.y)/2,o=e%2==0?1:-1,l=a*1.5*o*S(n+e*31+7),u=t.x+l,d=i,f=r.x-l;c+=` C${u},${d} ${f},${i} ${r.x},${r.y}`}return c}e(T,`generateFoldPath`);function E(e,t,n,r){let i=t/2,a=r??t*.015,o=e/7,s=[];for(let e=0;e<=7;e++){let t=S(n+e*23)*a*2-a;s.push({x:e*o,y:i+t})}let c=`M${s[0].x},${s[0].y}`;for(let e=0;e<s.length-1;e++){let t=s[e],r=s[e+1],i=(t.x+r.x)/2,o=e%2==0?1:-1,l=a*1.5*o*S(n+e*37+11),u=i,d=t.y+l,f=i,p=r.y-l;c+=` C${u},${d} ${f},${p} ${r.x},${r.y}`}return c}e(E,`generateHorizontalBoundary`);function D(e,t){let n=e/2,r=t*.5,i=t,a=e*.03;return[`M${n},${r}`,`C${n+a},${r+(i-r)*.2}`,`${n-a*1.5},${r+(i-r)*.55}`,`${n+a*.5},${r+(i-r)*.75}`,`C${n-a},${r+(i-r)*.85}`,`${n+a*.3},${r+(i-r)*.95}`,`${n},${i}`].join(` `)}e(D,`generateCliffPath`);function O(e,t,n,r){return[`M${e-n},${t}`,`A${n},${r} 0 1,1 ${e+n},${t}`,`A${n},${r} 0 1,1 ${e-n},${t}`,`Z`].join(` `)}e(O,`generateConfusionPath`);var k={complex:{model:`Probe → Sense → Respond`,practice:`Emergent Practices`},complicated:{model:`Sense → Analyse → Respond`,practice:`Good Practices`},clear:{model:`Sense → Categorise → Respond`,practice:`Best Practices`},chaotic:{model:`Act → Sense → Respond`,practice:`Novel Practices`},confusion:{model:``,practice:`Disorder`}},A=e((e,t)=>{let n=e/2,r=t/2;return{complex:{cx:n/2,cy:r/2,x:0,y:0,w:n,h:r},complicated:{cx:n+n/2,cy:r/2,x:n,y:0,w:n,h:r},chaotic:{cx:n/2,cy:r+r/2,x:0,y:r,w:n,h:r},clear:{cx:n+n/2,cy:r+r/2,x:n,y:r,w:n,h:r},confusion:{cx:n,cy:r,x:n*.7,y:r*.7,w:n*.6,h:r*.6}}},`getDomainLayouts`),j=e(()=>{let e=n(),t=s();return p(e,t.themeVariables).cynefin},`getCynefinDomainColors`),M=3,N={draw:e((e,n,r,i)=>{let a=i.db,o=a.getDomains(),s=a.getTransitions(),l=a.getDiagramTitle(),u=a.getAccTitle(),d=a.getAccDescription(),f=a.getConfig(),p=j();t.debug(`Rendering Cynefin diagram`);let h=f.width,g=f.height,_=f.padding,v=f.showDomainDescriptions,y=f.boundaryAmplitude,b=h+_*2,x=g+_*2,S={complex:p.complexBg,complicated:p.complicatedBg,clear:p.clearBg,chaotic:p.chaoticBg,confusion:p.confusionBg},C=m(n);c(C,x,b,f.useMaxWidth??!0),C.attr(`viewBox`,`0 0 ${b} ${x}`),u&&C.append(`title`).text(u),d&&C.append(`desc`).text(d);let N=C.append(`g`).attr(`transform`,`translate(${_}, ${_})`),P=A(h,g),F=w(f.seed,n),I=N.append(`g`).attr(`class`,`cynefin-backgrounds`),L=[`complex`,`complicated`,`chaotic`,`clear`];for(let e of L){let t=P[e];I.append(`rect`).attr(`class`,`cynefinDomain`).attr(`x`,t.x).attr(`y`,t.y).attr(`width`,t.w).attr(`height`,t.h).attr(`fill`,S[e]).attr(`fill-opacity`,.4).attr(`stroke`,`none`)}let R=N.append(`g`).attr(`class`,`cynefin-boundaries`);R.append(`path`).attr(`class`,`cynefinBoundary`).attr(`d`,T(h,g,F,y)).attr(`fill`,`none`),R.append(`path`).attr(`class`,`cynefinBoundary`).attr(`d`,E(h,g,F+100,y)).attr(`fill`,`none`),R.append(`path`).attr(`class`,`cynefinCliff`).attr(`d`,D(h,g)).attr(`fill`,`none`);let z=h*.15,B=g*.15;N.append(`path`).attr(`class`,`cynefinConfusion`).attr(`d`,O(h/2,g/2,z,B)).attr(`fill`,S.confusion).attr(`fill-opacity`,.5);let V=N.append(`g`).attr(`class`,`cynefin-labels`);for(let e of L){let t=P[e];V.append(`text`).attr(`class`,`cynefinDomainLabel`).attr(`x`,t.cx).attr(`y`,v?t.cy-30:t.cy).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(e.charAt(0).toUpperCase()+e.slice(1))}if(V.append(`text`).attr(`class`,`cynefinDomainLabel`).attr(`x`,h/2).attr(`y`,v?g/2-10:g/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(`Confusion`),v){let e=N.append(`g`).attr(`class`,`cynefin-subtitles`);for(let t of L){let n=P[t],r=k[t];e.append(`text`).attr(`class`,`cynefinSubtitle`).attr(`x`,n.cx).attr(`y`,n.cy-10).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(r.model),e.append(`text`).attr(`class`,`cynefinSubtitle`).attr(`x`,n.cx).attr(`y`,n.cy+5).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(r.practice)}e.append(`text`).attr(`class`,`cynefinSubtitle`).attr(`x`,h/2).attr(`y`,g/2+8).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(k.confusion.practice)}let H=N.append(`g`).attr(`class`,`cynefin-items`);for(let e of[`complex`,`complicated`,`chaotic`,`clear`,`confusion`]){let t=o.get(e);if(!t||t.items.length===0)continue;let n=P[e],r=e===`confusion`,i=t.items,a=0;r&&t.items.length>M&&(a=t.items.length-M,i=t.items.slice(0,M));let s;if(r){let e=v?22:14;s=n.cy+e}else s=n.cy+(v?25:15);if([...i].forEach((t,r)=>{let i=s+r*30,a=H.append(`g`),o=a.append(`text`).attr(`class`,`cynefinItemText`).attr(`x`,0).attr(`y`,13).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).text(t.label),c=t.label.length*7,l=o.node();if(l&&typeof l.getBBox==`function`){let e=l.getBBox();e.width>0&&(c=e.width)}let u=c+20,d=n.cx-u/2;a.attr(`transform`,`translate(${d}, ${i})`),a.insert(`rect`,`text`).attr(`class`,`cynefinItem`).attr(`x`,0).attr(`y`,0).attr(`width`,u).attr(`height`,26).attr(`rx`,4).attr(`ry`,4).attr(`fill`,S[e]).attr(`fill-opacity`,.95),o.attr(`x`,u/2).attr(`y`,13)}),a>0){let t=s+i.length*30,r=`+${a} more`,o=H.append(`g`),c=o.append(`text`).attr(`class`,`cynefinItemText`).attr(`x`,0).attr(`y`,13).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).text(r),l=r.length*7,u=c.node();if(u&&typeof u.getBBox==`function`){let e=u.getBBox();e.width>0&&(l=e.width)}let d=l+20,f=n.cx-d/2;o.attr(`transform`,`translate(${f}, ${t})`),o.insert(`rect`,`text`).attr(`class`,`cynefinItemOverflow`).attr(`x`,0).attr(`y`,0).attr(`width`,d).attr(`height`,26).attr(`rx`,4).attr(`ry`,4).attr(`fill`,S[e]).attr(`fill-opacity`,.6),c.attr(`x`,d/2).attr(`y`,13)}}if(s.length>0){let e=C.select(`defs`).empty()?C.append(`defs`):C.select(`defs`),r=`cynefin-arrow-${n}`;e.append(`marker`).attr(`id`,r).attr(`viewBox`,`0 0 10 10`).attr(`refX`,9).attr(`refY`,5).attr(`markerWidth`,6).attr(`markerHeight`,6).attr(`orient`,`auto-start-reverse`).append(`path`).attr(`d`,`M 0 0 L 10 5 L 0 10 z`).attr(`class`,`cynefinArrowHead`);let i=N.append(`g`).attr(`class`,`cynefin-arrows`);s.forEach(e=>{let n=P[e.from],a=P[e.to];if(!n||!a)return;if(e.from===e.to){t.warn(`Cynefin renderer: skipping self-loop on domain "${e.from}"`);return}let o=n.cx,s=n.cy,c=a.cx,l=a.cy,u=(o+c)/2,d=(s+l)/2,f=c-o,p=l-s,m=Math.sqrt(f*f+p*p),h=m*.15,g=-p/m,_=f/m,v=u+g*h,y=d+_*h;i.append(`path`).attr(`class`,`cynefinArrowLine`).attr(`d`,`M${o},${s} Q${v},${y} ${c},${l}`).attr(`fill`,`none`).attr(`marker-end`,`url(#${r})`),e.label&&i.append(`text`).attr(`class`,`cynefinArrowLabel`).attr(`x`,v).attr(`y`,y-6).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`auto`).text(e.label)})}l&&N.append(`text`).attr(`class`,`cynefinTitle`).attr(`x`,h/2).attr(`y`,-_/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(l)},`draw`)},P=e(()=>{let e=n(),t=s();return p(e,t.themeVariables).cynefin},`getCynefinTheme`),F={parser:x,db:y,renderer:N,styles:e(()=>{let e=P();return`
1
+ import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t}from"./src-oBChb5qS.js";import{D as n,H as r,K as i,U as a,a as o,b as s,c,f as l,v as u,w as d,y as f}from"./chunk-DU6HZSFF-C6d6PJfE.js";import{i as p}from"./chunk-75Z2AOVW-B2cZexqK.js";import{t as m}from"./chunk-CLGD4ZFX-Cmtx89ht.js";import{t as h}from"./chunk-JWPE2WC7-DVXcaiue.js";import{n as g}from"./mermaid-parser.core-DrdLA3p0.js";var _=e(()=>({domains:new Map,transitions:[]}),`createDefaultData`),v=_(),y={getDomains:e(()=>v.domains,`getDomains`),getTransitions:e(()=>v.transitions,`getTransitions`),setDomains:e(e=>{if(e)for(let t of e){let e=t.domain,n=(t.items??[]).map(e=>({label:e.label}));v.domains.set(e,{name:e,items:n})}},`setDomains`),setTransitions:e(e=>{e&&(v.transitions=e.filter(e=>e.from!==e.to||(t.warn(`Cynefin: self-loop transition on domain "${e.from}" is not meaningful and will be skipped.`),!1)).map(e=>({from:e.from,to:e.to,label:e.label||void 0})))},`setTransitions`),getConfig:e(()=>p({...l.cynefin,...s().cynefin}),`getConfig`),clear:e(()=>{o(),v=_()},`clear`),setAccTitle:a,getAccTitle:f,setDiagramTitle:i,getDiagramTitle:d,getAccDescription:u,setAccDescription:r},b=e(e=>{h(e,y),y.setDomains(e.domains),y.setTransitions(e.transitions)},`populate`),x={parse:e(async e=>{let n=await g(`cynefin`,e);t.debug(n),b(n)},`parse`)};function S(e){let t=e+1831565813|0;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}e(S,`seededRandom`);function C(e){let t=0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)-t+r,t|=0}return t}e(C,`hashString`);function w(e,t){return typeof e==`number`&&Number.isFinite(e)&&e!==0?e:C(t)}e(w,`resolveSeed`);function T(e,t,n,r){let i=e/2,a=r??e*.015,o=t/7,s=[];for(let e=0;e<=7;e++){let t=S(n+e*17)*a*2-a;s.push({x:i+t,y:e*o})}let c=`M${s[0].x},${s[0].y}`;for(let e=0;e<s.length-1;e++){let t=s[e],r=s[e+1],i=(t.y+r.y)/2,o=e%2==0?1:-1,l=a*1.5*o*S(n+e*31+7),u=t.x+l,d=i,f=r.x-l;c+=` C${u},${d} ${f},${i} ${r.x},${r.y}`}return c}e(T,`generateFoldPath`);function E(e,t,n,r){let i=t/2,a=r??t*.015,o=e/7,s=[];for(let e=0;e<=7;e++){let t=S(n+e*23)*a*2-a;s.push({x:e*o,y:i+t})}let c=`M${s[0].x},${s[0].y}`;for(let e=0;e<s.length-1;e++){let t=s[e],r=s[e+1],i=(t.x+r.x)/2,o=e%2==0?1:-1,l=a*1.5*o*S(n+e*37+11),u=i,d=t.y+l,f=i,p=r.y-l;c+=` C${u},${d} ${f},${p} ${r.x},${r.y}`}return c}e(E,`generateHorizontalBoundary`);function D(e,t){let n=e/2,r=t*.5,i=t,a=e*.03;return[`M${n},${r}`,`C${n+a},${r+(i-r)*.2}`,`${n-a*1.5},${r+(i-r)*.55}`,`${n+a*.5},${r+(i-r)*.75}`,`C${n-a},${r+(i-r)*.85}`,`${n+a*.3},${r+(i-r)*.95}`,`${n},${i}`].join(` `)}e(D,`generateCliffPath`);function O(e,t,n,r){return[`M${e-n},${t}`,`A${n},${r} 0 1,1 ${e+n},${t}`,`A${n},${r} 0 1,1 ${e-n},${t}`,`Z`].join(` `)}e(O,`generateConfusionPath`);var k={complex:{model:`Probe → Sense → Respond`,practice:`Emergent Practices`},complicated:{model:`Sense → Analyse → Respond`,practice:`Good Practices`},clear:{model:`Sense → Categorise → Respond`,practice:`Best Practices`},chaotic:{model:`Act → Sense → Respond`,practice:`Novel Practices`},confusion:{model:``,practice:`Disorder`}},A=e((e,t)=>{let n=e/2,r=t/2;return{complex:{cx:n/2,cy:r/2,x:0,y:0,w:n,h:r},complicated:{cx:n+n/2,cy:r/2,x:n,y:0,w:n,h:r},chaotic:{cx:n/2,cy:r+r/2,x:0,y:r,w:n,h:r},clear:{cx:n+n/2,cy:r+r/2,x:n,y:r,w:n,h:r},confusion:{cx:n,cy:r,x:n*.7,y:r*.7,w:n*.6,h:r*.6}}},`getDomainLayouts`),j=e(()=>{let e=n(),t=s();return p(e,t.themeVariables).cynefin},`getCynefinDomainColors`),M=3,N={draw:e((e,n,r,i)=>{let a=i.db,o=a.getDomains(),s=a.getTransitions(),l=a.getDiagramTitle(),u=a.getAccTitle(),d=a.getAccDescription(),f=a.getConfig(),p=j();t.debug(`Rendering Cynefin diagram`);let h=f.width,g=f.height,_=f.padding,v=f.showDomainDescriptions,y=f.boundaryAmplitude,b=h+_*2,x=g+_*2,S={complex:p.complexBg,complicated:p.complicatedBg,clear:p.clearBg,chaotic:p.chaoticBg,confusion:p.confusionBg},C=m(n);c(C,x,b,f.useMaxWidth??!0),C.attr(`viewBox`,`0 0 ${b} ${x}`),u&&C.append(`title`).text(u),d&&C.append(`desc`).text(d);let N=C.append(`g`).attr(`transform`,`translate(${_}, ${_})`),P=A(h,g),F=w(f.seed,n),I=N.append(`g`).attr(`class`,`cynefin-backgrounds`),L=[`complex`,`complicated`,`chaotic`,`clear`];for(let e of L){let t=P[e];I.append(`rect`).attr(`class`,`cynefinDomain`).attr(`x`,t.x).attr(`y`,t.y).attr(`width`,t.w).attr(`height`,t.h).attr(`fill`,S[e]).attr(`fill-opacity`,.4).attr(`stroke`,`none`)}let R=N.append(`g`).attr(`class`,`cynefin-boundaries`);R.append(`path`).attr(`class`,`cynefinBoundary`).attr(`d`,T(h,g,F,y)).attr(`fill`,`none`),R.append(`path`).attr(`class`,`cynefinBoundary`).attr(`d`,E(h,g,F+100,y)).attr(`fill`,`none`),R.append(`path`).attr(`class`,`cynefinCliff`).attr(`d`,D(h,g)).attr(`fill`,`none`);let z=h*.15,B=g*.15;N.append(`path`).attr(`class`,`cynefinConfusion`).attr(`d`,O(h/2,g/2,z,B)).attr(`fill`,S.confusion).attr(`fill-opacity`,.5);let V=N.append(`g`).attr(`class`,`cynefin-labels`);for(let e of L){let t=P[e];V.append(`text`).attr(`class`,`cynefinDomainLabel`).attr(`x`,t.cx).attr(`y`,v?t.cy-30:t.cy).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(e.charAt(0).toUpperCase()+e.slice(1))}if(V.append(`text`).attr(`class`,`cynefinDomainLabel`).attr(`x`,h/2).attr(`y`,v?g/2-10:g/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(`Confusion`),v){let e=N.append(`g`).attr(`class`,`cynefin-subtitles`);for(let t of L){let n=P[t],r=k[t];e.append(`text`).attr(`class`,`cynefinSubtitle`).attr(`x`,n.cx).attr(`y`,n.cy-10).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(r.model),e.append(`text`).attr(`class`,`cynefinSubtitle`).attr(`x`,n.cx).attr(`y`,n.cy+5).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(r.practice)}e.append(`text`).attr(`class`,`cynefinSubtitle`).attr(`x`,h/2).attr(`y`,g/2+8).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(k.confusion.practice)}let H=N.append(`g`).attr(`class`,`cynefin-items`);for(let e of[`complex`,`complicated`,`chaotic`,`clear`,`confusion`]){let t=o.get(e);if(!t||t.items.length===0)continue;let n=P[e],r=e===`confusion`,i=t.items,a=0;r&&t.items.length>M&&(a=t.items.length-M,i=t.items.slice(0,M));let s;if(r){let e=v?22:14;s=n.cy+e}else s=n.cy+(v?25:15);if([...i].forEach((t,r)=>{let i=s+r*30,a=H.append(`g`),o=a.append(`text`).attr(`class`,`cynefinItemText`).attr(`x`,0).attr(`y`,13).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).text(t.label),c=t.label.length*7,l=o.node();if(l&&typeof l.getBBox==`function`){let e=l.getBBox();e.width>0&&(c=e.width)}let u=c+20,d=n.cx-u/2;a.attr(`transform`,`translate(${d}, ${i})`),a.insert(`rect`,`text`).attr(`class`,`cynefinItem`).attr(`x`,0).attr(`y`,0).attr(`width`,u).attr(`height`,26).attr(`rx`,4).attr(`ry`,4).attr(`fill`,S[e]).attr(`fill-opacity`,.95),o.attr(`x`,u/2).attr(`y`,13)}),a>0){let t=s+i.length*30,r=`+${a} more`,o=H.append(`g`),c=o.append(`text`).attr(`class`,`cynefinItemText`).attr(`x`,0).attr(`y`,13).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).text(r),l=r.length*7,u=c.node();if(u&&typeof u.getBBox==`function`){let e=u.getBBox();e.width>0&&(l=e.width)}let d=l+20,f=n.cx-d/2;o.attr(`transform`,`translate(${f}, ${t})`),o.insert(`rect`,`text`).attr(`class`,`cynefinItemOverflow`).attr(`x`,0).attr(`y`,0).attr(`width`,d).attr(`height`,26).attr(`rx`,4).attr(`ry`,4).attr(`fill`,S[e]).attr(`fill-opacity`,.6),c.attr(`x`,d/2).attr(`y`,13)}}if(s.length>0){let e=C.select(`defs`).empty()?C.append(`defs`):C.select(`defs`),r=`cynefin-arrow-${n}`;e.append(`marker`).attr(`id`,r).attr(`viewBox`,`0 0 10 10`).attr(`refX`,9).attr(`refY`,5).attr(`markerWidth`,6).attr(`markerHeight`,6).attr(`orient`,`auto-start-reverse`).append(`path`).attr(`d`,`M 0 0 L 10 5 L 0 10 z`).attr(`class`,`cynefinArrowHead`);let i=N.append(`g`).attr(`class`,`cynefin-arrows`);s.forEach(e=>{let n=P[e.from],a=P[e.to];if(!n||!a)return;if(e.from===e.to){t.warn(`Cynefin renderer: skipping self-loop on domain "${e.from}"`);return}let o=n.cx,s=n.cy,c=a.cx,l=a.cy,u=(o+c)/2,d=(s+l)/2,f=c-o,p=l-s,m=Math.sqrt(f*f+p*p),h=m*.15,g=-p/m,_=f/m,v=u+g*h,y=d+_*h;i.append(`path`).attr(`class`,`cynefinArrowLine`).attr(`d`,`M${o},${s} Q${v},${y} ${c},${l}`).attr(`fill`,`none`).attr(`marker-end`,`url(#${r})`),e.label&&i.append(`text`).attr(`class`,`cynefinArrowLabel`).attr(`x`,v).attr(`y`,y-6).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`auto`).text(e.label)})}l&&N.append(`text`).attr(`class`,`cynefinTitle`).attr(`x`,h/2).attr(`y`,-_/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(l)},`draw`)},P=e(()=>{let e=n(),t=s();return p(e,t.themeVariables).cynefin},`getCynefinTheme`),F={parser:x,db:y,renderer:N,styles:e(()=>{let e=P();return`
2
2
  .cynefinDomain {
3
3
  stroke: none;
4
4
  }
@@ -0,0 +1,2 @@
1
+ import"./chunk-SRAX5OIU-KFQikY-4.js";var e={signUp:``,signIn:``,paste:`Indsæt`,pasteAsPlaintext:`Indsæt som klartekst`,pasteCharts:`Indsæt diagrammer`,chartType_bar:``,chartType_line:``,chartType_radar:``,chartType_plaintext:``,selectAll:`Marker alle`,multiSelect:`Tilføj element til markering`,moveCanvas:`Flyt lærred`,cut:`Klip`,copy:`Kopier`,copyAsPng:`Kopier til klippebord som PNG`,copyAsSvg:`Kopier til klippebord som SVG`,copyText:`Kopiér til udklipsholder som tekst`,copySource:`Kopiér kilde til udklipsholder`,convertToCode:`Konvertér til kode`,bringForward:`Flyt fremad`,sendToBack:`Placer bagest`,bringToFront:`Placer forrest`,sendBackward:`Send bagud`,delete:`Fjern`,copyStyles:`Kopier stil`,pasteStyles:`Indsæt stil`,stroke:`Linje`,changeStroke:`Ændr stregfarve`,background:`Baggrund`,changeBackground:`Ændr baggrundsfarve`,fill:`Udfyld`,strokeWidth:`Linjebredde`,strokeStyle:`Linjeform`,strokeStyle_solid:`Solid`,strokeStyle_dashed:`Stiplet`,strokeStyle_dotted:`Prikket`,sloppiness:`Sjuskethed`,pressure:``,pressure_constant:``,pressure_variable:``,opacity:`Gennemsigtighed`,textAlign:`Tekstjustering`,edges:`Kanter`,sharp:`Skarp`,round:`Rund`,arrowheads:`Pilehoveder`,arrowhead_none:`Ingen`,arrowhead_arrow:`Pil`,arrowhead_bar:`Bjælke`,arrowhead_circle:`Cirkel`,arrowhead_circle_outline:`Cirkel (omrids)`,arrowhead_triangle:`Trekant`,arrowhead_triangle_outline:`Trekant (omrids)`,arrowhead_diamond:`Diamant`,arrowhead_diamond_outline:`Diamant (omrids)`,arrowhead_crowfoot_many:`Kragefod (mange)`,arrowhead_crowfoot_one:`Kragefod (én)`,arrowhead_crowfoot_one_or_many:`Kragefod (én eller mange)`,arrowhead_cardinality_one:``,arrowhead_cardinality_many:``,arrowhead_cardinality_one_or_many:``,arrowhead_cardinality_exactly_one:``,arrowhead_cardinality_zero_or_one:``,arrowhead_cardinality_zero_or_many:``,more_options:`Flere muligheder`,cardinality:``,arrowtypes:`Pile type`,arrowtype_sharp:`Skarp pil`,arrowtype_round:`Buet pil`,arrowtype_elbowed:`Albuepil`,fontSize:`Skriftstørrelse`,fontFamily:`Skrifttypefamilie`,addWatermark:`Tilføj "Lavet med Excalidraw"`,handDrawn:`Hånd-tegnet`,normal:`Normal`,code:`Kode`,small:`Lille`,medium:`Mellem`,large:`Stor`,veryLarge:`Meget stor`,solid:`Solid`,hachure:`Skravering`,zigzag:`Zigzag`,crossHatch:`Krydsskravering`,thin:`Tynd`,bold:`Fed`,left:`Venstre`,center:`Centrere`,right:`Højre`,extraBold:`Extra fed`,architect:`Arkitekt`,artist:`Kunstner`,cartoonist:`Tegneserietegner`,fileTitle:`Filnavn`,colorPicker:`Farvevælger`,canvasColors:`Brugt på lærred`,canvasBackground:`Lærredsbaggrund`,drawingCanvas:`Tegnelærred`,clearCanvas:`Ryd lærred`,layers:`Lag`,actions:`Handlinger`,language:`Sprog`,liveCollaboration:`Live samarbejde...`,duplicateSelection:`Duplikér`,untitled:`Unavngivet`,name:`Navn`,yourName:`Dit navn`,madeWithExcalidraw:`Fremstillet med Excalidraw`,group:`Gruppér valgte`,ungroup:`Afgruppér valgte`,collaborators:`Samarbejdspartnere`,you:``,toggleGrid:`Slå gitter til/fra`,addToLibrary:`Føj til bibliotek`,removeFromLibrary:`Fjern fra biblioteket`,libraryLoadingMessage:`Indlæser bibliotek…`,libraries:`Gennemse biblioteker`,loadingScene:`Indlæser scene…`,loadScene:`Indlæs scene fra fil`,align:`Justér`,alignTop:`Juster til top`,alignBottom:`Juster til bund`,alignLeft:`Venstrejusteret`,alignRight:`Højrejustér`,centerVertically:`Centrér vertikalt`,centerHorizontally:`Centrér horisontalt`,distributeHorizontally:`Distribuer vandret`,distributeVertically:`Distribuer lodret`,flipHorizontal:`Vend horisontalt`,flipVertical:`Vend vertikalt`,viewMode:`Visningstilstand`,share:`Del`,showStroke:`Vis stregfarve-vælger`,showBackground:`Vis baggrundsfarve-vælger`,showFonts:`Vis skrifttypevælger`,toggleTheme:`Slå lys/mørkt tema til/fra`,theme:`Tema`,personalLib:`Personligt bibliotek`,excalidrawLib:``,decreaseFontSize:``,increaseFontSize:``,unbindText:``,bindText:``,createContainerFromText:``,link:{edit:``,editEmbed:``,create:``,label:``,labelEmbed:``,empty:``,hint:``,goToElement:``},lineEditor:{edit:``,editArrow:``},polygon:{breakPolygon:``,convertToPolygon:``},elementLock:{lock:``,unlock:``,lockAll:``,unlockAll:``},statusPublished:``,sidebarLock:``,selectAllElementsInFrame:``,removeAllElementsFromFrame:``,eyeDropper:``,textToDiagram:``,prompt:``,followUs:``,discordChat:``,zoomToFitViewport:``,zoomToFitSelection:``,zoomToFit:``,installPWA:``,autoResize:``,imageCropping:``,unCroppedDimension:``,copyElementLink:``,linkToElement:``,wrapSelectionInFrame:``,tab:``,shapeSwitch:``,preferences:``,preferences_toolLock:``,boxSelectionMode:``,boxSelectionContain:``,boxSelectionOverlap:``,arrowBinding:``,midpointSnapping:``},t={title:``,desc:``,notFound:``},n={noItems:``,hint_emptyLibrary:``,hint_emptyPrivateLibrary:``,search:{inputPlaceholder:``,heading:``,noResults:``,clearSearch:``}},r={title:``,noMatch:``,singleResult:``,multipleResults:``,placeholder:``,frames:``,texts:``},i={clearReset:``,exportJSON:``,exportImage:``,export:``,copyToClipboard:`Kopier til klippebord`,copyLink:``,save:``,saveAs:`Gem som`,load:``,getShareableLink:`Lav et delbart link`,close:`Luk`,selectLanguage:`Vælg sprog`,scrollBackToContent:`Scroll tilbage til indhold`,zoomIn:`Zoom ind`,zoomOut:`Zoom ud`,resetZoom:`Nulstil zoom`,menu:``,done:`Færdig`,edit:`Rediger`,undo:`Fortryd`,redo:`Gendan`,resetLibrary:`Nulstil bibliotek`,createNewRoom:`Opret nyt rum`,fullScreen:`Fuld skærm`,darkMode:`Mørk tilstand`,lightMode:`Lys baggrund`,systemMode:``,zenMode:`Zentilstand`,objectsSnapMode:``,exitZenMode:`Stop zentilstand`,cancel:`Annuller`,saveLibNames:``,clear:`Ryd`,remove:`Fjern`,embed:``,publishLibrary:``,submit:`Gem`,confirm:`Bekræft`,embeddableInteractionButton:``},a={clearReset:`Dette vil rydde hele lærredet. Er du sikker?`,couldNotCreateShareableLink:`Kunne ikke oprette delbart link.`,couldNotCreateShareableLinkTooBig:`Kunne ikke oprette delbart link: scenen er for stor`,couldNotLoadInvalidFile:`Kunne ikke indlæse ugyldig fil`,importBackendFailed:`Import fra backend mislykkedes.`,cannotExportEmptyCanvas:``,couldNotCopyToClipboard:``,decryptFailed:``,uploadedSecurly:``,loadSceneOverridePrompt:``,collabStopOverridePrompt:``,errorAddingToLibrary:``,errorRemovingFromLibrary:``,confirmAddLibrary:``,imageDoesNotContainScene:``,cannotRestoreFromImage:``,invalidSceneUrl:``,resetLibrary:``,removeItemsFromsLibrary:``,invalidEncryptionKey:``,collabOfflineWarning:``,localStorageQuotaExceeded:``},o={unsupportedFileType:``,imageInsertError:``,fileTooBig:``,svgImageInsertError:``,failedToFetchImage:``,cannotResolveCollabServer:``,importLibraryError:``,saveLibraryError:``,collabSaveFailed:``,collabSaveFailed_sizeExceeded:``,imageToolNotSupported:``,brave_measure_text_error:{line1:``,line2:``,line3:``,line4:``},libraryElementTypeError:{embeddable:``,iframe:``,image:``},asyncPasteFailedOnRead:``,asyncPasteFailedOnParse:``,copyToSystemClipboardFailed:``},s={selection:``,lasso:``,image:``,rectangle:``,diamond:``,ellipse:``,arrow:``,line:``,freedraw:``,text:``,library:``,lock:``,penMode:``,link:``,eraser:``,frame:``,magicframe:``,embeddable:``,laser:``,autoshape:``,bucketfill:``,hand:``,extraTools:``,mermaidToExcalidraw:``,convertElementType:``},c={noRegion:``,tooComplex:``},l={rectangle:``,diamond:``,ellipse:``,arrow:``,line:``,freedraw:``,text:``,image:``,group:``,frame:``,magicframe:``,embeddable:``,selection:``,iframe:``},u={canvasActions:``,selectedShapeActions:``,shapes:``},d={dismissSearch:``,canvasPanning:``,linearElement:``,arrowTool:``,arrowBindModifiers:``,freeDraw:`Klik og træk, slip når du er færdig`,text:``,embeddable:``,autoshape:``,text_selected:``,text_editing:``,linearElementMulti:``,lockAngle:``,resize:``,resizeImage:``,rotate:``,toggleArrowhead:``,lineEditor_info:``,lineEditor_line_info:``,lineEditor_pointSelected:``,lineEditor_nothingSelected:``,publishLibrary:``,bindTextToElement:``,createFlowchart:``,deepBoxSelect:``,eraserRevert:``,firefox_clipboard_write:``,disableSnapping:``,enterCropEditor:``,leaveCropEditor:``},f={cannotShowPreview:``,canvasTooBig:``,canvasTooBigTip:``},p={headingMain:``,clearCanvasMessage:``,clearCanvasCaveat:``,trackedToSentry:``,openIssueMessage:`<button></button> Kopiere og indsæt venligst oplysningerne nedenfor i et GitHub problem.`,sceneContent:`Scene indhold:`},m={or:``},h={desc_intro:``,desc_privacy:``,button_startSession:``,button_stopSession:``,desc_inProgressIntro:`Live-samarbejde session er nu begyndt.`,desc_shareLink:`Del dette link med enhver, du ønsker at samarbejde med:`,desc_exitSession:``,shareTitle:``},g={title:`Fejl`},_={title:``,defaultMessage:``},v={disk_title:`Gem til disk`,disk_details:``,disk_button:``,link_title:``,link_details:``,link_button:``,excalidrawplus_description:``,excalidrawplus_button:``,excalidrawplus_exportError:``},y={blog:`Læs vores blog`,click:``,deepSelect:``,deepBoxSelect:``,createFlowchart:``,navigateFlowchart:``,curvedArrow:``,curvedLine:``,documentation:``,doubleClick:``,drag:``,editor:``,editLineArrowPoints:``,editText:``,github:``,howto:``,or:``,preventBinding:``,tools:``,shortcuts:``,textFinish:``,textNewLine:``,title:``,view:``,zoomToFit:``,zoomToSelection:``,toggleElementLock:``,movePageUpDown:``,movePageLeftRight:``,cropStart:``,cropFinish:``},b={title:``},x={title:``,itemName:``,authorName:``,githubUsername:``,twitterUsername:``,libraryName:``,libraryDesc:``,website:``,placeholder:{authorName:``,libraryName:``,libraryDesc:``,githubHandle:``,twitterHandle:``,website:``},errors:{required:``,website:``},noteDescription:``,noteGuidelines:``,noteLicense:``,noteItems:``,atleastOneLibItem:``,republishWarning:``},S={title:``,content:``},C={resetLibrary:``,removeItemsFromLib:``},w={header:``,label:{withBackground:``,onlySelected:``,darkMode:``,embedScene:``,scale:``,padding:``},tooltip:{embedScene:``},title:{exportToPng:``,exportToSvg:``,copyPngToClipboard:``},button:{exportToPng:``,exportToSvg:``,copyPngToClipboard:``}},T={tooltip:``,link:``},E={angle:``,shapes:``,height:``,scene:``,selected:``,storage:``,fullTitle:``,title:``,generalStats:``,elementProperties:``,total:``,version:``,versionCopy:`Klik for at kopiere`,versionNotAvailable:``,width:`Bredde`},D={addedToLibrary:``,copyStyles:`Kopieret stilarter.`,copyToClipboard:`Kopieret til klippebord.`,copyToClipboardAsPng:`Kopieret {{exportSelection}} til klippebord som PNG
2
+ ({{exportColorScheme}})`,copyToClipboardAsSvg:``,fileSaved:`Fil gemt.`,fileSavedToFilename:`Gemt som {filename}`,canvas:``,selection:`markering`,pasteAsSingleElement:``,unableToEmbed:``,unrecognizedLinkFormat:``,elementLinkCopied:``},O={transparent:``,black:``,white:``,red:``,pink:``,grape:``,violet:``,gray:``,blue:``,cyan:``,teal:``,green:``,yellow:``,orange:``,bronze:``},k={app:{center_heading:``,center_heading_line2:``,center_heading_line3:``,center_heading_plus:``,menuHint:``},defaults:{menuHint:``,center_heading:``,toolbarHint:``,helpHint:``}},A={color:``,mostUsedCustomColors:``,colors:``,shades:``,hexCode:``,noShades:``,invalidColor:``,invalidHexLength:``,topPicksTip:``,resetTopPicks:``},j={action:{exportToImage:{title:``,button:``,description:``},saveToDisk:{title:``,button:``,description:``},excalidrawPlus:{title:``,button:``,description:``}},modal:{loadFromFile:{title:``,button:``,description:``},shareableLink:{title:``,button:``,description:``}}},M={title:``,button:``,description:``,syntax:``,preview:``,label:``,inputPlaceholder:``,autoFixAvailable:``},N={error:``},P={inputPlaceholder:``,inputPlaceholderWithMessages:``,generating:``,rateLimitRemaining:``,role:{user:``,assistant:``,system:``},aiBeta:``,label:``,menu:``,newChat:``,deleteChat:``,deleteMessage:``,viewAsMermaid:``,placeholder:{title:``,description:``,hint:``},preview:``,insert:``,retry:``,errors:{promptTooShort:``,promptTooLong:``,generationFailed:``,invalidDiagram:``,fixInMermaid:``,aiRepair:``,requestAborted:``,requestFailed:``,mermaidParseError:``},rateLimit:{messageLimit:``,generalRateLimit:``,messageLimitInputPlaceholder:``},upsellBtnLabel:``},F={placeholder:``},I={badge:{old:``},sceneFonts:``,availableFonts:``,empty:``},L={empty:``,hint:{text:``,followStatus:``,inCall:``,micMuted:``,isSpeaking:``}},R={title:``,shortcuts:{select:``,confirm:``,close:``},recents:``,search:{placeholder:``,noMatch:``},itemNotAvailable:``,shortcutHint:``},z={ctrl:``,option:``,cmd:``,alt:``,escape:``,enter:``,shift:``,spacebar:``,delete:``,mmb:``},B={labels:e,elementLink:t,library:n,search:r,buttons:i,alerts:a,errors:o,toolBar:s,bucketfill:c,element:l,headings:u,hints:d,canvasError:f,errorSplash:p,shareDialog:m,roomDialog:h,errorDialog:g,progressDialog:_,exportDialog:v,helpDialog:y,clearCanvasDialog:b,publishDialog:x,publishSuccessDialog:S,confirmDialog:C,imageExportDialog:w,encrypted:T,stats:E,toast:D,colors:O,welcomeScreen:k,colorPicker:A,overwriteConfirm:j,mermaid:M,ttd:N,chat:P,quickSearch:F,fontList:I,userList:L,commandPalette:R,keys:z};export{a as alerts,c as bucketfill,i as buttons,f as canvasError,P as chat,b as clearCanvasDialog,A as colorPicker,O as colors,R as commandPalette,C as confirmDialog,B as default,l as element,t as elementLink,T as encrypted,g as errorDialog,p as errorSplash,o as errors,v as exportDialog,I as fontList,u as headings,y as helpDialog,d as hints,w as imageExportDialog,z as keys,e as labels,n as library,M as mermaid,j as overwriteConfirm,_ as progressDialog,x as publishDialog,S as publishSuccessDialog,F as quickSearch,h as roomDialog,r as search,m as shareDialog,E as stats,D as toast,s as toolBar,N as ttd,L as userList,k as welcomeScreen};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t}from"./src-oBChb5qS.js";import{x as n}from"./chunk-DU6HZSFF-Zkp69c6c.js";import"./chunk-75Z2AOVW-C5pGd3W9.js";import"./chunk-P2QGCYS3-Oag_FdCq.js";import"./chunk-PWAF6VOD-JSNrcBmP.js";import"./chunk-GMAD6QVW-NZ6WpDb8.js";import{s as r}from"./chunk-4HAMMTFA-DStbIfJ1.js";import{a as i,i as a,n as o}from"./chunk-GVQU2GXP-D8SDprfX.js";import{n as s}from"./chunk-L3NEJ4N5-aijKP-eh.js";import{a as c,c as l,i as u}from"./chunk-OSK3NFVY-CCbLQAMa.js";import{t as d}from"./graphlib-DS17s2tU.js";import{t as f}from"./dagre-PrKaheQc.js";import{a as p,c as m,i as h,r as g,s as _,t as v,u as y}from"./chunk-2E4U76K2-BPnTT-J3.js";var b=e((e,t,n)=>Math.max(t,Math.min(n,e)),`clamp`),x=e((e=`TB`)=>{switch(e){case`BT`:return`bottom`;case`LR`:return`right`;case`RL`:return`left`;default:return`top`}},`getDefaultSelfLoopSide`),S=e(e=>e===`flowchart`||e===`flowchart-v2`||e===`stateDiagram`||e===`er`||e===`classDiagram`,`shouldMergeSelfLoopSegments`),C=[`x`,`y`,`width`,`height`,`labelBBox`,`intersect`,`calcIntersect`,`diff`,`clusterNode`],w=e((e,t,n,r,i)=>{let a=[],o=new Set;if(n.forEach(({start:e,end:t})=>{e!==r&&o.add(e),t!==r&&o.add(t)}),o.forEach(t=>{let n=e.node(t);typeof n?.x==`number`&&typeof n?.y==`number`&&a.push(n)}),a.length===0&&n.forEach(({edge:e})=>{(e.points??[]).forEach(e=>{typeof e?.x==`number`&&typeof e?.y==`number`&&a.push(e)})}),a.length===0)return x(i);let s=a.reduce((e,t)=>({x:e.x+t.x/a.length,y:e.y+t.y/a.length}),{x:0,y:0}),c=s.x-t.x,l=s.y-t.y;return Math.abs(c)>Math.abs(l)?c>0?`right`:`left`:Math.abs(l)>0?l>0?`bottom`:`top`:x(i)},`getSelfLoopSide`),T=e((e,t=`top`,n=0,r=0)=>{let i=e.x,a=e.y-n,o=e.width/2,s=e.height/2,c=Math.max(36,Math.min(100,e.width*.8)),l=b(Math.max(r,e.width*.35),36,c),u=b(Math.min(e.width,e.height)*.45,24,48);switch(t){case`bottom`:{let e=a+s;return[{x:i-l/2,y:e},{x:i-l/2,y:e+u},{x:i+l/2,y:e+u},{x:i+l/2,y:e}]}case`right`:{let e=i+o;return[{x:e,y:a-l/2},{x:e+u,y:a-l/2},{x:e+u,y:a+l/2},{x:e,y:a+l/2}]}case`left`:{let e=i-o;return[{x:e,y:a-l/2},{x:e-u,y:a-l/2},{x:e-u,y:a+l/2},{x:e,y:a+l/2}]}default:{let e=a-s;return[{x:i-l/2,y:e},{x:i-l/2,y:e-u},{x:i+l/2,y:e-u},{x:i+l/2,y:e}]}}},`getSelfLoopPoints`),E=e((e,t,n=`top`,r=0,i={})=>{let a=e.x,o=e.y-r,s=i.width??0,c=i.height??0;switch(n){case`bottom`:return{x:a,y:Math.max(...t.map(e=>e.y))+c/2+4};case`right`:return{x:Math.max(...t.map(e=>e.x))+s/2+4,y:o};case`left`:return{x:Math.min(...t.map(e=>e.x))-s/2-4,y:o};default:return{x:a,y:Math.min(...t.map(e=>e.y))-c/2-4}}},`getSelfLoopLabelPosition`),D=e((e,t=0,{mergeSelfLoops:n=!0}={})=>{let r=new Map,i=[],a=e.graph()?.rankdir;return e.edges().forEach(t=>{let a=e.edge(t);if(n&&a.selfLoop){let e=a.selfLoop.id;r.has(e)||r.set(e,[]),r.get(e).push({edge:a,start:t.v,end:t.w})}else i.push({edge:a,start:t.v,end:t.w})}),r.forEach(n=>{if(n.length!==3){n.forEach(e=>i.push(e));return}n.sort((e,t)=>e.edge.selfLoop.order-t.edge.selfLoop.order);let[r,o,s]=n,c=r.edge.originalEdge??o.edge.originalEdge??s.edge.originalEdge??o.edge,l=e.node(c.start);if(!l){n.forEach(e=>i.push(e));return}let u={width:o.edge.width,height:o.edge.height},d=w(e,l,n,c.start,a),f=T(l,d,t,u.width??0),p=E(l,f,d,t,u),m={...o.edge,...c,id:c.id,points:f,start:c.start,end:c.end,x:p.x,y:p.y,width:u.width,height:u.height,labelStyle:o.edge.labelStyle,fromCluster:r.edge.fromCluster??o.edge.fromCluster??s.edge.fromCluster,toCluster:r.edge.toCluster??o.edge.toCluster??s.edge.toCluster};delete m.selfLoop,delete m.originalEdge,i.push({edge:m,start:m.start,end:m.end})}),i},`getEdgesToRender`),O=e(async({element:n,graph:a,diagramType:s,id:l,parentCluster:u,siteConfig:d})=>{let f=a.graph().rankdir;t.trace(`Dir in recursive render - dir:`,f);let{clusters:h,edgePaths:v,edgeLabels:y,nodes:b,rootGroups:x}=p(n,{edgePathsClass:`edgePaths`});a.nodes()?t.info(`Recursive render XXX`,a.nodes()):t.info(`No nodes found for`,a),a.edges().length>0&&t.info(`Recursive edges`,a.edge(a.edges()[0]));let C=S(s);await Promise.all(a.nodes().map(async function(e){let n=a.node(e);if(u!==void 0){let n=JSON.parse(JSON.stringify(u.clusterData));t.trace(`Setting data for parent cluster XXX
1
+ import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t}from"./src-oBChb5qS.js";import{x as n}from"./chunk-DU6HZSFF-C6d6PJfE.js";import"./chunk-75Z2AOVW-B2cZexqK.js";import"./chunk-P2QGCYS3-Du8EtwOa.js";import"./chunk-PWAF6VOD-B3gML4ps.js";import"./chunk-GMAD6QVW-DUfjx_d5.js";import{s as r}from"./chunk-4HAMMTFA-Ht-73lsT.js";import{a as i,i as a,n as o}from"./chunk-GVQU2GXP-D1l7oRGR.js";import{n as s}from"./chunk-L3NEJ4N5-BmCVn4y-.js";import{a as c,c as l,i as u}from"./chunk-OSK3NFVY-CWHXAmfx.js";import{t as d}from"./graphlib-DS17s2tU.js";import{t as f}from"./dagre-PrKaheQc.js";import{a as p,c as m,i as h,r as g,s as _,t as v,u as y}from"./chunk-2E4U76K2-Ba8Wf22k.js";var b=e((e,t,n)=>Math.max(t,Math.min(n,e)),`clamp`),x=e((e=`TB`)=>{switch(e){case`BT`:return`bottom`;case`LR`:return`right`;case`RL`:return`left`;default:return`top`}},`getDefaultSelfLoopSide`),S=e(e=>e===`flowchart`||e===`flowchart-v2`||e===`stateDiagram`||e===`er`||e===`classDiagram`,`shouldMergeSelfLoopSegments`),C=[`x`,`y`,`width`,`height`,`labelBBox`,`intersect`,`calcIntersect`,`diff`,`clusterNode`],w=e((e,t,n,r,i)=>{let a=[],o=new Set;if(n.forEach(({start:e,end:t})=>{e!==r&&o.add(e),t!==r&&o.add(t)}),o.forEach(t=>{let n=e.node(t);typeof n?.x==`number`&&typeof n?.y==`number`&&a.push(n)}),a.length===0&&n.forEach(({edge:e})=>{(e.points??[]).forEach(e=>{typeof e?.x==`number`&&typeof e?.y==`number`&&a.push(e)})}),a.length===0)return x(i);let s=a.reduce((e,t)=>({x:e.x+t.x/a.length,y:e.y+t.y/a.length}),{x:0,y:0}),c=s.x-t.x,l=s.y-t.y;return Math.abs(c)>Math.abs(l)?c>0?`right`:`left`:Math.abs(l)>0?l>0?`bottom`:`top`:x(i)},`getSelfLoopSide`),T=e((e,t=`top`,n=0,r=0)=>{let i=e.x,a=e.y-n,o=e.width/2,s=e.height/2,c=Math.max(36,Math.min(100,e.width*.8)),l=b(Math.max(r,e.width*.35),36,c),u=b(Math.min(e.width,e.height)*.45,24,48);switch(t){case`bottom`:{let e=a+s;return[{x:i-l/2,y:e},{x:i-l/2,y:e+u},{x:i+l/2,y:e+u},{x:i+l/2,y:e}]}case`right`:{let e=i+o;return[{x:e,y:a-l/2},{x:e+u,y:a-l/2},{x:e+u,y:a+l/2},{x:e,y:a+l/2}]}case`left`:{let e=i-o;return[{x:e,y:a-l/2},{x:e-u,y:a-l/2},{x:e-u,y:a+l/2},{x:e,y:a+l/2}]}default:{let e=a-s;return[{x:i-l/2,y:e},{x:i-l/2,y:e-u},{x:i+l/2,y:e-u},{x:i+l/2,y:e}]}}},`getSelfLoopPoints`),E=e((e,t,n=`top`,r=0,i={})=>{let a=e.x,o=e.y-r,s=i.width??0,c=i.height??0;switch(n){case`bottom`:return{x:a,y:Math.max(...t.map(e=>e.y))+c/2+4};case`right`:return{x:Math.max(...t.map(e=>e.x))+s/2+4,y:o};case`left`:return{x:Math.min(...t.map(e=>e.x))-s/2-4,y:o};default:return{x:a,y:Math.min(...t.map(e=>e.y))-c/2-4}}},`getSelfLoopLabelPosition`),D=e((e,t=0,{mergeSelfLoops:n=!0}={})=>{let r=new Map,i=[],a=e.graph()?.rankdir;return e.edges().forEach(t=>{let a=e.edge(t);if(n&&a.selfLoop){let e=a.selfLoop.id;r.has(e)||r.set(e,[]),r.get(e).push({edge:a,start:t.v,end:t.w})}else i.push({edge:a,start:t.v,end:t.w})}),r.forEach(n=>{if(n.length!==3){n.forEach(e=>i.push(e));return}n.sort((e,t)=>e.edge.selfLoop.order-t.edge.selfLoop.order);let[r,o,s]=n,c=r.edge.originalEdge??o.edge.originalEdge??s.edge.originalEdge??o.edge,l=e.node(c.start);if(!l){n.forEach(e=>i.push(e));return}let u={width:o.edge.width,height:o.edge.height},d=w(e,l,n,c.start,a),f=T(l,d,t,u.width??0),p=E(l,f,d,t,u),m={...o.edge,...c,id:c.id,points:f,start:c.start,end:c.end,x:p.x,y:p.y,width:u.width,height:u.height,labelStyle:o.edge.labelStyle,fromCluster:r.edge.fromCluster??o.edge.fromCluster??s.edge.fromCluster,toCluster:r.edge.toCluster??o.edge.toCluster??s.edge.toCluster};delete m.selfLoop,delete m.originalEdge,i.push({edge:m,start:m.start,end:m.end})}),i},`getEdgesToRender`),O=e(async({element:n,graph:a,diagramType:s,id:l,parentCluster:u,siteConfig:d})=>{let f=a.graph().rankdir;t.trace(`Dir in recursive render - dir:`,f);let{clusters:h,edgePaths:v,edgeLabels:y,nodes:b,rootGroups:x}=p(n,{edgePathsClass:`edgePaths`});a.nodes()?t.info(`Recursive render XXX`,a.nodes()):t.info(`No nodes found for`,a),a.edges().length>0&&t.info(`Recursive edges`,a.edge(a.edges()[0]));let C=S(s);await Promise.all(a.nodes().map(async function(e){let n=a.node(e);if(u!==void 0){let n=JSON.parse(JSON.stringify(u.clusterData));t.trace(`Setting data for parent cluster XXX
2
2
  Node.id = `,e,`
3
3
  data=`,n.height,`
4
4
  Parent cluster`,u.height),a.setNode(u.id,n),a.parent(e)||(t.trace(`Setting parent`,e,u.id),a.setParent(e,u.id,n))}if(t.info(`(Insert) Node XXX`+e+`: `+JSON.stringify(a.node(e))),n?.clusterNode){t.info(`Cluster identified XBX`,e,n.width,a.node(e));let{ranksep:o,nodesep:c}=a.graph();n.graph.setGraph({...n.graph.graph(),ranksep:o+25,nodesep:c});let u=await F({element:b,graph:n.graph,diagramType:s,id:l,parentCluster:a.node(e),siteConfig:d}),f=u.elem;r(n,f),n.diff=u.diff||0,t.info(`New compound node after recursive render XAX`,e,`width`,n.width,`height`,n.height),i(f,n)}else a.children(e).length>0?(t.trace(`Cluster - the non recursive path XBX`,e,n.id,n,n.width,`Graph:`,a),t.trace(_(n.id,a)),g.set(n.id,{id:_(n.id,a),node:n})):(t.trace(`Node - the non recursive path XAX`,e,b,a.node(e),f),await m(b,a.node(e),{config:d,dir:f}))})),await e(async()=>{let e=a.edges().map(async function(e){let n=a.edge(e.v,e.w,e.name);if(t.info(`Edge `+e.v+` -> `+e.w+`: `+JSON.stringify(e)),t.info(`Edge `+e.v+` -> `+e.w+`: `,e,` `,JSON.stringify(a.edge(e))),t.info(`Fix`,g,`ids:`,e.v,e.w,`Translating: `,g.get(e.v),g.get(e.w)),C&&n.selfLoop){if(n.selfLoop.order!==1)return;let e={...n.originalEdge,...n,id:n.selfLoop.id,startLabelLeft:n.originalEdge?.startLabelLeft??n.startLabelLeft,startLabelRight:n.originalEdge?.startLabelRight??n.startLabelRight,endLabelLeft:n.originalEdge?.endLabelLeft??n.endLabelLeft,endLabelRight:n.originalEdge?.endLabelRight??n.endLabelRight};await c(y,e),n.width=e.width,n.height=e.height,n.labelStyle=e.labelStyle;return}await c(y,n)});await Promise.all(e)},`processEdges`)();let{subGraphTitleTotalMargin:w}=o(d);return{elem:x,graph:a,groups:{clusters:h,edgePaths:v,edgeLabels:y,nodes:b,rootGroups:x},diagramType:s,id:l,mergeSelfLoops:C,subGraphTitleTotalMargin:w}},`measureDagreGraph`),k=e(e=>{t.info(`############################################# XXX`),t.info(`### Layout ### XXX`),t.info(`############################################# XXX`),f(e)},`runDagreGraphLayout`),A=e((e,t,n)=>{let r=e.node(t);if(!r)return;let i={...r};return r?.clusterNode?i.y=(r.y??0)+n:e.children(t).length>0?i.height=(r.height??0)+n:i.y=(r.y??0)+n/2,i},`normalizeDagreNode`),j=e((e,t)=>{C.forEach(n=>{t[n]!==void 0&&(e[n]=t[n])})},`applyDagreNodeLayout`),M=e((e,t,n,r)=>({...e,start:e.start??t,end:e.end??n,points:(e.points??[]).map(e=>({...e,y:typeof e.y==`number`?e.y+r:e.y}))}),`normalizeDagreEdge`),N=e((e,t)=>{let{graph:n,mergeSelfLoops:r,subGraphTitleTotalMargin:i=0}=t,a=new Map(e.nodes.map(e=>[e.id,e]));y(n).forEach(e=>{let t=A(n,e,i);if(!t)return;j(n.node(e),t);let r=a.get(e);r&&j(r,t)});let o=i/2;return e.edges=D(n,o,{mergeSelfLoops:r}).map(({edge:e,start:t,end:n})=>M(e,t,n,o)),e},`applyDagreLayoutResult`),P=e(async({elem:e,graph:n,groups:{clusters:r,edgePaths:i},diagramType:o,id:c,mergeSelfLoops:d,subGraphTitleTotalMargin:f})=>{let p=0;await Promise.all(y(n).map(async function(e){let i=n.node(e);if(t.info(`Position XBX => `+e+`: (`+i.x,`,`+i.y,`) width: `,i.width,` height: `,i.height),i?.clusterNode)i.y+=f,t.info(`A tainted cluster node XBX1`,e,i.id,i.width,i.height,i.x,i.y,n.parent(e)),g.get(i.id).node=i,a(i);else if(n.children(e).length>0){t.info(`A pure cluster node XBX1`,e,i.id,i.x,i.y,i.width,i.height,n.parent(e)),i.height+=f,n.node(i.parentId);let a=i?.padding/2||0,o=i?.labelBBox?.height||0,c=o-a||0;t.debug(`OffsetY`,c,`labelHeight`,o,`halfPadding`,a),await s(r,i),g.get(i.id).node=i}else{let e=n.node(i.parentId);i.y+=f/2,t.info(`A regular node XBX1 - using the padding`,i.id,`parent`,i.parentId,i.width,i.height,i.x,i.y,`offsetY`,i.offsetY,`parent`,e,e?.offsetY,i),a(i)}}));let m=f/2;return D(n,m,{mergeSelfLoops:d}).forEach(function({edge:e,start:r,end:a}){t.info(`Edge `+r+` -> `+a+`: `+JSON.stringify(e),e),e.points.forEach(e=>e.y+=m);let s=n.node(r),d=n.node(a),f=u(i,e,g,o,s,d,c);l(e,f)}),n.nodes().forEach(function(e){let r=n.node(e);t.info(e,r.type,r.diff),r.isGroup&&(p=r.diff)}),t.warn(`Returning from recursive render XAX`,e,p),{elem:e,diff:p}},`paintDagreLayoutCore`),F=e(async e=>{let t=await O(e);return k(t.graph),await P(t)},`renderDagreSubgraph`),I=e(e=>{let n=new d({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.nodeSpacing||e.config?.flowchart?.nodeSpacing,ranksep:e.config?.rankSpacing||e.rankSpacing||e.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return e.nodes.forEach(e=>{n.setNode(e.id,{...e}),e.parentId&&n.setParent(e.id,e.parentId)}),t.debug(`Edges:`,e.edges),e.edges.forEach(e=>{if(e.start===e.end){let t=e.start,r=t+`---`+t+`---1`,i=t+`---`+t+`---2`,a=n.node(t);n.setNode(r,{domId:r,id:r,parentId:a.parentId,labelStyle:``,label:``,padding:0,shape:`labelRect`,style:``,width:10,height:10}),n.setParent(r,a.parentId),n.setNode(i,{domId:i,id:i,parentId:a.parentId,labelStyle:``,padding:0,shape:`labelRect`,label:``,style:``,width:10,height:10}),n.setParent(i,a.parentId);let o=structuredClone(e),s=structuredClone(e),c=structuredClone(e),l=structuredClone(e);s.originalEdge=o,s.selfLoop={id:o.id,order:0},c.originalEdge=o,c.selfLoop={id:o.id,order:1},l.originalEdge=o,l.selfLoop={id:o.id,order:2},s.label=``,s.arrowTypeEnd=`none`,s.endLabelLeft=``,s.endLabelRight=``,s.startLabelLeft=``,s.id=t+`-cyclic-special-1`,c.startLabelRight=``,c.startLabelLeft=``,c.endLabelLeft=``,c.endLabelRight=``,c.arrowTypeStart=`none`,c.arrowTypeEnd=`none`,c.id=t+`-cyclic-special-mid`,l.label=``,l.startLabelRight=``,l.startLabelLeft=``,l.arrowTypeStart=`none`,a.isGroup&&(s.fromCluster=t,l.toCluster=t),l.id=t+`-cyclic-special-2`,l.arrowTypeStart=`none`,n.setEdge(t,r,s,t+`-cyclic-special-0`),n.setEdge(r,i,c,t+`-cyclic-special-1`),n.setEdge(i,t,l,t+`-cyclic-special-2`)}else n.setEdge(e.start,e.end,{...e},e.id)}),v(n),{graph:n}},`prepareLayoutForDagre`),L=e(async(e,{element:t,preparedLayout:r})=>{let i=r??I(e),a=n(),o=await O({element:t,graph:i.graph,diagramType:e.type,id:e.diagramId,parentCluster:void 0,siteConfig:a});return i.measuredLayout=o,o},`measureDagreLayout`),R=e((e,t)=>{let n=t.preparedLayout?.measuredLayout;if(!n)throw Error(`runDagreLayoutCore requires measureDagreLayout to run first`);return k(n.graph),N(e,n),n},`runDagreLayoutCore`),z=h({prepareLayout:I,measureLayout:L,runLayoutCore:R,paintOptions:{clusterDb:g,getNodes:e((e,{measure:t})=>y(t.graph).map(e=>t.graph.node(e)).filter(Boolean),`getDagrePaintNodes`),getEdgeNode:e((e,t,{measure:n})=>e?n.graph.node(e):void 0,`getDagreEdgeNode`),skipNode:e((e,{measure:t})=>!t.graph.hasNode(e.id),`skipNode`),isCluster:e((e,{measure:t})=>t.graph.hasNode(e.id)&&(t.graph.children(e.id)??[]).length>0,`isCluster`)}});export{N as applyDagreLayoutResult,D as getEdgesToRender,L as measureDagreLayout,I as prepareLayoutForDagre,z as render,R as runDagreLayoutCore};
@@ -0,0 +1,11 @@
1
+ import"./chunk-SRAX5OIU-KFQikY-4.js";var e={signUp:``,signIn:``,paste:`Einfügen`,pasteAsPlaintext:`Als unformatierten Text einfügen`,pasteCharts:`Diagramme einfügen`,chartType_bar:`Balkendiagramm`,chartType_line:`Liniendiagramm`,chartType_radar:`Netzdiagramm`,chartType_plaintext:`Klartext`,selectAll:`Alle auswählen`,multiSelect:`Element zur Auswahl hinzufügen`,moveCanvas:`Zeichenfläche verschieben`,cut:`Ausschneiden`,copy:`Kopieren`,copyAsPng:`In Zwischenablage kopieren (PNG)`,copyAsSvg:`In Zwischenablage kopieren (SVG)`,copyText:`Als Text in Zwischenablage kopieren`,copySource:`Quelle in Zwischenablage kopieren`,convertToCode:`In Code konvertieren`,bringForward:`Nach vorne`,sendToBack:`In den Hintergrund`,bringToFront:`In den Vordergrund`,sendBackward:`Nach hinten`,delete:`Löschen`,copyStyles:`Formatierung kopieren`,pasteStyles:`Formatierung übernehmen`,stroke:`Strich`,changeStroke:`Strichfarbe ändern`,background:`Hintergrund`,changeBackground:`Hintergrundfarbe ändern`,fill:`Füllung`,strokeWidth:`Strichstärke`,strokeStyle:`Konturstil`,strokeStyle_solid:`Durchgezogen`,strokeStyle_dashed:`Gestrichelt`,strokeStyle_dotted:`Gepunktet`,sloppiness:`Sauberkeit`,pressure:``,pressure_constant:``,pressure_variable:``,opacity:`Deckkraft`,textAlign:`Textausrichtung`,edges:`Kanten`,sharp:`Scharf`,round:`Rund`,arrowheads:`Pfeilspitzen`,arrowhead_none:`Keine`,arrowhead_arrow:`Pfeil`,arrowhead_bar:`Balken`,arrowhead_circle:`Kreis`,arrowhead_circle_outline:`Kreis (Umrandung)`,arrowhead_triangle:`Dreieck`,arrowhead_triangle_outline:`Dreieck (Umrandung)`,arrowhead_diamond:`Raute`,arrowhead_diamond_outline:`Raute (Umrandung)`,arrowhead_crowfoot_many:`Krähenfuß (viele)`,arrowhead_crowfoot_one:`Krähenfuß (einer)`,arrowhead_crowfoot_one_or_many:`Krähenfuß (einer oder viele)`,arrowhead_cardinality_one:`Kardinalität (eins)`,arrowhead_cardinality_many:`Kardinalität (viele)`,arrowhead_cardinality_one_or_many:`Kardinalität (eins oder viele)`,arrowhead_cardinality_exactly_one:`Kardinalität (genau eins)`,arrowhead_cardinality_zero_or_one:`Kardinalität (null oder eins)`,arrowhead_cardinality_zero_or_many:`Kardinalität (null oder viele)`,more_options:`Weitere Optionen`,cardinality:`Kardinalität`,arrowtypes:`Pfeiltyp`,arrowtype_sharp:`Scharfer Pfeil`,arrowtype_round:`Gebogener Pfeil`,arrowtype_elbowed:`Abgewinkelter Pfeil`,fontSize:`Schriftgröße`,fontFamily:`Schriftfamilie`,addWatermark:`"Made with Excalidraw" hinzufügen`,handDrawn:`Handgezeichnet`,normal:`Normal`,code:`Code`,small:`Klein`,medium:`Mittel`,large:`Groß`,veryLarge:`Sehr groß`,solid:`Deckend`,hachure:`Schraffiert`,zigzag:`Zickzack`,crossHatch:`Kreuzschraffiert`,thin:`Dünn`,bold:`Fett`,left:`Links`,center:`Zentriert`,right:`Rechts`,extraBold:`Extra Fett`,architect:`Architekt`,artist:`Künstler`,cartoonist:`Karikaturist`,fileTitle:`Dateiname`,colorPicker:`Farbwähler`,canvasColors:`Auf Zeichenfläche verwendet`,canvasBackground:`Zeichenflächenhintergrund`,drawingCanvas:`Zeichenfläche`,clearCanvas:`Zeichenfläche löschen`,layers:`Ebenen`,actions:`Aktionen`,language:`Sprache`,liveCollaboration:`Live-Zusammenarbeit...`,duplicateSelection:`Duplizieren`,untitled:`Unbenannt`,name:`Name`,yourName:`Dein Name`,madeWithExcalidraw:`Made with Excalidraw`,group:`Auswahl gruppieren`,ungroup:`Gruppierung aufheben`,collaborators:`Mitarbeitende`,you:``,toggleGrid:`Raster umschalten`,addToLibrary:`Zur Bibliothek hinzufügen`,removeFromLibrary:`Aus Bibliothek entfernen`,libraryLoadingMessage:`Lade Bibliothek…`,libraries:`Bibliotheken durchsuchen`,loadingScene:`Lade Zeichnung…`,loadScene:`Szene aus Datei laden`,align:`Ausrichten`,alignTop:`Obere Kanten`,alignBottom:`Untere Kanten`,alignLeft:`Linke Kanten`,alignRight:`Rechte Kanten`,centerVertically:`Vertikal zentrieren`,centerHorizontally:`Horizontal zentrieren`,distributeHorizontally:`Horizontal verteilen`,distributeVertically:`Vertikal verteilen`,flipHorizontal:`Horizontal spiegeln`,flipVertical:`Vertikal spiegeln`,viewMode:`Ansichtsmodus`,share:`Teilen`,showStroke:`Auswahl für Strichfarbe anzeigen`,showBackground:`Hintergrundfarbe auswählen`,showFonts:`Schriftauswahl anzeigen`,toggleTheme:`Helles/dunkles Design umschalten`,theme:`Design`,personalLib:`Persönliche Bibliothek`,excalidrawLib:`Excalidraw Bibliothek`,decreaseFontSize:`Schriftgröße verringern`,increaseFontSize:`Schriftgröße erhöhen`,unbindText:`Text lösen`,bindText:`Text an Container binden`,createContainerFromText:`Text in Container einbetten`,link:{edit:`Link bearbeiten`,editEmbed:`Einbettbaren Link bearbeiten`,create:`Link hinzufügen`,label:`Link`,labelEmbed:`Verlinken & einbetten`,empty:`Kein Link festgelegt`,hint:`Link hier eingeben oder einfügen`,goToElement:`Gehe zu Zielelement`},lineEditor:{edit:`Linie bearbeiten`,editArrow:`Pfeil bearbeiten`},polygon:{breakPolygon:`Polygon auftrennen`,convertToPolygon:`In Polygon umwandeln`},elementLock:{lock:`Sperren`,unlock:`Entsperren`,lockAll:`Alle sperren`,unlockAll:`Alle entsperren`},statusPublished:`Veröffentlicht`,sidebarLock:`Seitenleiste offen lassen`,selectAllElementsInFrame:`Alle Elemente im Rahmen auswählen`,removeAllElementsFromFrame:`Alle Elemente aus dem Rahmen entfernen`,eyeDropper:`Farbe von der Zeichenfläche auswählen`,textToDiagram:`Text zu Diagramm`,prompt:`Eingabe`,followUs:`Folge uns`,discordChat:`Discord-Chat`,zoomToFitViewport:`Zoom auf Ansicht anpassen`,zoomToFitSelection:`Zoom auf Auswahl anpassen`,zoomToFit:`Zoom auf alle Elemente anpassen`,installPWA:`Excalidraw lokal installieren (PWA)`,autoResize:`Automatische Textgrößenanpassung`,imageCropping:`Bild zuschneiden`,unCroppedDimension:`Originalgröße`,copyElementLink:`Link zum Objekt kopieren`,linkToElement:`Link zum Objekt`,wrapSelectionInFrame:`Auswahl in Rahmen einbetten`,tab:`Tab`,shapeSwitch:`Form wechseln`,preferences:`Einstellungen`,preferences_toolLock:`Werkzeug sperren`,boxSelectionMode:``,boxSelectionContain:``,boxSelectionOverlap:``,arrowBinding:`Pfeilbindung`,midpointSnapping:`An Mittelpunkten einrasten`},t={title:`Link zum Objekt`,desc:`Klicke auf eine Form auf der Zeichenfläche oder füge einen Link ein.`,notFound:`Verknüpftes Objekt wurde nicht auf der Zeichenfläche gefunden.`},n={noItems:`Noch keine Elemente hinzugefügt...`,hint_emptyLibrary:`Wähle ein Element auf der Zeichenfläche, um es hier hinzuzufügen. Oder installiere eine Bibliothek aus dem öffentlichen Verzeichnis.`,hint_emptyPrivateLibrary:`Wähle ein Element von der Zeichenfläche, um es hier hinzuzufügen.`,search:{inputPlaceholder:`Bibliothek durchsuchen`,heading:`Bibliothekstreffer`,noResults:`Keine passenden Elemente gefunden...`,clearSearch:`Suche zurücksetzen`}},r={title:`Auf Zeichenfläche suchen`,noMatch:`Keine Treffer gefunden...`,singleResult:`Ergebnis`,multipleResults:`Ergebnisse`,placeholder:`Text auf Zeichenfläche suchen...`,frames:`Rahmen`,texts:`Texte`},i={clearReset:`Zeichenfläche löschen & Hintergrundfarbe zurücksetzen`,exportJSON:`In Datei exportieren`,exportImage:`Bild exportieren...`,export:`Speichern als...`,copyToClipboard:`In Zwischenablage kopieren`,copyLink:`Link kopieren`,save:`In aktueller Datei speichern`,saveAs:`Speichern unter`,load:`Öffnen`,getShareableLink:`Teilbaren Link erhalten`,close:`Schließen`,selectLanguage:`Sprache auswählen`,scrollBackToContent:`Zurück zum Inhalt`,zoomIn:`Vergrößern`,zoomOut:`Verkleinern`,resetZoom:`Zoom zurücksetzen`,menu:`Menü`,done:`Fertig`,edit:`Bearbeiten`,undo:`Rückgängig machen`,redo:`Wiederholen`,resetLibrary:`Bibliothek zurücksetzen`,createNewRoom:`Neuen Raum erstellen`,fullScreen:`Vollbildanzeige`,darkMode:`Dunkles Design`,lightMode:`Helles Design`,systemMode:`System-Modus`,zenMode:`Zen-Modus`,objectsSnapMode:`Einrasten an Objekten`,exitZenMode:`Zen-Modus verlassen`,cancel:`Abbrechen`,saveLibNames:`Name(n) speichern und schließen`,clear:`Löschen`,remove:`Entfernen`,embed:`Einbettung umschalten`,publishLibrary:`Umbenennen oder veröffentlichen`,submit:`Absenden`,confirm:`Bestätigen`,embeddableInteractionButton:`Klicken, um zu interagieren`},a={clearReset:`Dies wird die ganze Zeichenfläche löschen. Bist du dir sicher?`,couldNotCreateShareableLink:`Konnte keinen teilbaren Link erstellen.`,couldNotCreateShareableLinkTooBig:`Konnte keinen teilbaren Link erstellen: Die Zeichnung ist zu groß`,couldNotLoadInvalidFile:`Ungültige Datei konnte nicht geladen werden`,importBackendFailed:`Import vom Server ist fehlgeschlagen.`,cannotExportEmptyCanvas:`Leere Zeichenfläche kann nicht exportiert werden.`,couldNotCopyToClipboard:`Kopieren in die Zwischenablage fehlgeschlagen.`,decryptFailed:`Daten konnten nicht entschlüsselt werden.`,uploadedSecurly:`Der Upload wurde mit Ende-zu-Ende-Verschlüsselung gespeichert. Weder Excalidraw noch Dritte können den Inhalt einsehen.`,loadSceneOverridePrompt:`Das Laden einer externen Zeichnung ersetzt den vorhandenen Inhalt. Möchtest du fortfahren?`,collabStopOverridePrompt:`Das Stoppen der Sitzung wird deine vorherige, lokal gespeicherte Zeichnung überschreiben. Bist du dir sicher?
2
+
3
+ (Wenn du deine lokale Zeichnung behalten möchtest, schließe stattdessen den Browser-Tab.)`,errorAddingToLibrary:`Das Element konnte nicht zur Bibliothek hinzugefügt werden`,errorRemovingFromLibrary:`Das Element konnte nicht aus der Bibliothek entfernt werden`,confirmAddLibrary:`Dies fügt {{numShapes}} Form(en) zu deiner Bibliothek hinzu. Bist du dir sicher?`,imageDoesNotContainScene:`Dieses Bild scheint keine Szenendaten zu enthalten. Hast du das Einbetten der Szene beim Export aktiviert?`,cannotRestoreFromImage:`Die Zeichnung konnte aus dieser Bilddatei nicht wiederhergestellt werden`,invalidSceneUrl:`Die Szene konnte nicht von der angegebenen URL importiert werden. Die URL ist entweder fehlerhaft oder enthält keine gültigen Excalidraw-JSON-Daten.`,resetLibrary:`Dies löscht deine Bibliothek. Bist du sicher?`,removeItemsFromsLibrary:`{{count}} Element(e) aus der Bibliothek löschen?`,invalidEncryptionKey:`Verschlüsselungsschlüssel muss 22 Zeichen lang sein. Die Live-Zusammenarbeit ist deaktiviert.`,collabOfflineWarning:`Keine Internetverbindung verfügbar.
4
+ Deine Änderungen werden nicht gespeichert!`,localStorageQuotaExceeded:`Browserspeicher voll. Änderungen werden nicht gespeichert.`},o={unsupportedFileType:`Nicht unterstützter Dateityp.`,imageInsertError:`Das Bild konnte nicht eingefügt werden. Versuche es später erneut...`,fileTooBig:`Die Datei ist zu groß. Die maximal zulässige Größe ist {{maxSize}}.`,svgImageInsertError:`SVG-Bild konnte nicht eingefügt werden. Das SVG-Markup sieht ungültig aus.`,failedToFetchImage:`Bild konnte nicht abgerufen werden.`,cannotResolveCollabServer:`Konnte keine Verbindung zum Collab-Server herstellen. Bitte lade die Seite neu und versuche es erneut.`,importLibraryError:`Bibliothek konnte nicht geladen werden`,saveLibraryError:`Bibliothek konnte nicht gespeichert werden. Bitte speichere deine Bibliothek lokal in einer Datei, um sicherzustellen, dass keine Änderungen verloren gehen.`,collabSaveFailed:`Keine Speicherung in der Backend-Datenbank möglich. Wenn die Probleme weiterhin bestehen, solltest du deine Datei lokal speichern, um sicherzustellen, dass du deine Arbeit nicht verlierst.`,collabSaveFailed_sizeExceeded:`Keine Speicherung in der Backend-Datenbank möglich, die Zeichenfläche scheint zu groß zu sein. Du solltest deine Datei lokal speichern, um sicherzustellen, dass du deine Arbeit nicht verlierst.`,imageToolNotSupported:`Bilder sind deaktiviert.`,brave_measure_text_error:{line1:`Sieht so aus, als ob du den Brave-Browser verwendest und die <bold>aggressive Blockierung von Fingerabdrücken</bold> aktiviert hast.`,line2:`Dies könnte dazu führen, dass die <bold>Textelemente</bold> in deinen Zeichnungen nicht korrekt dargestellt werden.`,line3:`Wir empfehlen dringend, diese Einstellung zu deaktivieren. Dazu kannst du <link>diesen Schritten</link> folgen.`,line4:`Wenn die Deaktivierung dieser Einstellung die fehlerhafte Anzeige von Textelementen nicht behebt, öffne bitte ein <issueLink>Ticket</issueLink> auf unserem GitHub oder schreibe uns auf <discordLink>Discord</discordLink>`},libraryElementTypeError:{embeddable:`Einbettbare Elemente können der Bibliothek nicht hinzugefügt werden.`,iframe:`IFrame-Elemente können nicht zur Bibliothek hinzugefügt werden.`,image:`Unterstützung für das Hinzufügen von Bildern in die Bibliothek kommt bald!`},asyncPasteFailedOnRead:`Einfügen fehlgeschlagen (konnte aus der Zwischenablage des Systems nicht gelesen werden).`,asyncPasteFailedOnParse:`Einfügen fehlgeschlagen.`,copyToSystemClipboardFailed:`Kopieren in die Zwischenablage fehlgeschlagen.`},s={selection:`Auswahl`,lasso:`Lassoauswahl`,image:`Bild einfügen`,rectangle:`Rechteck`,diamond:`Raute`,ellipse:`Ellipse`,arrow:`Pfeil`,line:`Linie`,freedraw:`Zeichnen`,text:`Text`,library:`Bibliothek`,lock:`Ausgewähltes Werkzeug nach Zeichnen aktiv lassen`,penMode:`Stift-Modus - Berührung verhindern`,link:`Link für ausgewählte Form hinzufügen / aktualisieren`,eraser:`Radierer`,frame:`Rahmenwerkzeug`,magicframe:`Wireframe zu Code`,embeddable:`Web-Einbettung`,laser:`Laserpointer`,autoshape:``,bucketfill:``,hand:`Hand (Schwenkwerkzeug)`,extraTools:`Weitere Werkzeuge`,mermaidToExcalidraw:`Mermaid zu Excalidraw`,convertElementType:`Formtyp umschalten`},c={noRegion:``,tooComplex:``},l={rectangle:`Rechteck`,diamond:`Raute`,ellipse:`Ellipse`,arrow:`Pfeil`,line:`Linie`,freedraw:`Frei zeichnen`,text:`Text`,image:`Bild`,group:`Gruppe`,frame:`Rahmen`,magicframe:`Wireframe zu Code`,embeddable:`Web-Einbettung`,selection:`Auswahl`,iframe:`IFrame`},u={canvasActions:`Aktionen für Zeichenfläche`,selectedShapeActions:`Aktionen für Auswahl`,shapes:`Formen`},d={dismissSearch:`{{shortcut}} zum Schließen der Suche`,canvasPanning:`Halte {{shortcut_1}} oder {{shortcut_2}} beim Ziehen gedrückt, um die Zeichenfläche zu verschieben, oder verwende das Handwerkzeug`,linearElement:`Klicken für Linie mit mehreren Punkten, Ziehen für einzelne Linie`,arrowTool:`Klicken für mehrere Punkte, ziehen für eine einzelne Linie. Drücke erneut {{shortcut}}, um den Pfeiltyp zu wechseln.`,arrowBindModifiers:`Halte {{shortcut_1}} gedrückt, um die Bindung zu deaktivieren, oder {{shortcut_2}} für einen festen Ankerpunkt`,freeDraw:`Klicke und ziehe. Lass los, wenn du fertig bist`,text:`Tipp: Du kannst auch Text hinzufügen, indem du mit dem Auswahlwerkzeug auf eine beliebige Stelle doppelklickst`,embeddable:`Klicken und ziehen, um eine Webseiten-Einbettung zu erstellen`,autoshape:``,text_selected:`Doppelklicken oder {{shortcut}} drücken, um Text zu bearbeiten`,text_editing:`Drücke {{shortcut_1}} oder {{shortcut_2}}, um die Bearbeitung abzuschließen`,linearElementMulti:`Klicke auf den letzten Punkt oder drücke {{shortcut_1}} oder {{shortcut_2}} zum Abschließen`,lockAngle:`Halte {{shortcut}} gedrückt, um den Winkel einzuschränken`,resize:`Halte {{shortcut_1}} gedrückt, um die Proportionen beizubehalten.
5
+ {{shortcut_2}} gedrückt halten, um von der Mitte aus zu skalieren`,resizeImage:`Halte {{shortcut_1}} gedrückt, um frei zu skalieren.
6
+ {{shortcut_2}} gedrückt halten, um von der Mitte aus zu skalieren`,rotate:`Halte {{shortcut}} gedrückt, um den Winkel einzuschränken`,toggleArrowhead:``,lineEditor_info:`Halte {{shortcut_1}} gedrückt und doppelklicke oder drücke {{shortcut_2}}, um Punkte zu bearbeiten`,lineEditor_line_info:`Doppelklicken oder {{shortcut}} drücken, um Punkte zu bearbeiten`,lineEditor_pointSelected:`Drücke {{shortcut_1}}, um Punkt(e) zu entfernen,
7
+ {{shortcut_2}} zum Duplizieren, oder ziehe zum Verschieben`,lineEditor_nothingSelected:`Wähle einen Punkt zum Bearbeiten (halte {{shortcut_1}} für Mehrfachauswahl),
8
+ oder halte {{shortcut_2}} gedrückt und klicke, um neue Punkte hinzuzufügen`,publishLibrary:`Veröffentliche deine eigene Bibliothek`,bindTextToElement:`{{shortcut}} zum Hinzufügen von Text`,createFlowchart:`{{shortcut}} zum Erstellen eines Flussdiagramms`,deepBoxSelect:`Halte {{shortcut}} gedrückt für Tiefenauswahl und um Ziehen zu verhindern`,eraserRevert:`Halte {{shortcut}} gedrückt, um zum Löschen markierte Elemente wiederherzustellen`,firefox_clipboard_write:`Diese Funktion kann wahrscheinlich aktiviert werden, indem die Einstellung "dom.events.asyncClipboard.clipboardItem" auf "true" gesetzt wird. Um die Browsereinstellungen in Firefox zu ändern, besuche die Seite "about:config".`,disableSnapping:`Halte {{shortcut}} gedrückt, um Einrasten zu deaktivieren`,enterCropEditor:`Doppelklicke auf das Bild oder drücke {{shortcut}}, um das Bild zuzuschneiden`,leaveCropEditor:`Klicke außerhalb des Bildes oder drücke {{shortcut_1}} oder {{shortcut_2}}, um das Zuschneiden abzuschließen`},f={cannotShowPreview:`Vorschau kann nicht angezeigt werden`,canvasTooBig:`Die Zeichenfläche ist möglicherweise zu groß.`,canvasTooBigTip:`Tipp: Schiebe die am weitesten entfernten Elemente ein wenig näher zusammen.`},p={headingMain:`Es ist ein Fehler aufgetreten. Versuche <button>die Seite neu zu laden.</button>`,clearCanvasMessage:`Wenn das Neuladen nicht funktioniert, versuche <button>die Zeichenfläche zu löschen.</button>`,clearCanvasCaveat:` Dies wird zum Verlust von Daten führen `,trackedToSentry:`Der Fehler mit der Kennung {{eventId}} wurde in unserem System registriert.`,openIssueMessage:`Wir waren sehr vorsichtig und haben deine Zeichnungsinformationen nicht in die Fehlerinformationen aufgenommen. Wenn deine Zeichnung nicht privat ist, unterstütze uns bitte über unseren <button>Bug-Tracker</button>. Bitte teile die unten stehenden Informationen mit uns im GitHub Issue (Kopieren und Einfügen).`,sceneContent:`Zeichnungsinhalt:`},m={or:`Oder`},h={desc_intro:`Lade Leute ein, an deiner Zeichnung mitzuarbeiten.`,desc_privacy:`Keine Sorge, die Sitzung ist Ende-zu-Ende verschlüsselt und vollständig privat. Nicht einmal unser Server kann sehen, was du zeichnest.`,button_startSession:`Sitzung starten`,button_stopSession:`Sitzung beenden`,desc_inProgressIntro:`Die Live-Sitzung wird nun ausgeführt.`,desc_shareLink:`Teile diesen Link mit allen, mit denen du zusammenarbeiten möchtest:`,desc_exitSession:`Wenn du die Sitzung beendest, wird deine Verbindung zum Raum getrennt. Du kannst jedoch lokal weiter an der Zeichnung arbeiten. Beachte, dass dies keine Auswirkungen auf andere hat und diese weiterhin gemeinsam an ihrer Version arbeiten können.`,shareTitle:`An einer Live-Kollaborationssitzung auf Excalidraw teilnehmen`},g={title:`Fehler`},_={title:`Speichern`,defaultMessage:`Speicherung wird vorbereitet...`},v={disk_title:`Auf Festplatte speichern`,disk_details:`Exportiere die Zeichnungsdaten in eine Datei, aus der du später importieren kannst.`,disk_button:`Als Datei speichern`,link_title:`Teilbarer Link`,link_details:`Als schreibgeschützten Link exportieren.`,link_button:`Als Link exportieren`,excalidrawplus_description:`Speichere die Szene in deinem Excalidraw+ Arbeitsbereich.`,excalidrawplus_button:`Exportieren`,excalidrawplus_exportError:`Konnte nicht nach Excalidraw+ exportieren...`},y={blog:`Lies unseren Blog`,click:`klicken`,deepSelect:`Auswahl innerhalb der Gruppe`,deepBoxSelect:`Auswahl innerhalb der Gruppe, und Ziehen vermeiden`,createFlowchart:`Erstelle ein Flussdiagramm aus einem generischen Element`,navigateFlowchart:`Durch ein Flussdiagramm navigieren`,curvedArrow:`Gebogener Pfeil`,curvedLine:`Gebogene Linie`,documentation:`Dokumentation`,doubleClick:`doppelklicken`,drag:`ziehen`,editor:`Editor`,editLineArrowPoints:`Linien-/Pfeil-Punkte bearbeiten`,editText:`Text bearbeiten / Label hinzufügen`,github:`Ein Problem gefunden? Informiere uns`,howto:`Folge unseren Anleitungen`,or:`oder`,preventBinding:`Pfeil-Bindung verhindern`,tools:`Werkzeuge`,shortcuts:`Tastaturkürzel`,textFinish:`Bearbeitung beenden (Texteditor)`,textNewLine:`Neue Zeile hinzufügen (Texteditor)`,title:`Hilfe`,view:`Ansicht`,zoomToFit:`Zoomen um alle Elemente einzupassen`,zoomToSelection:`Auf Auswahl zoomen`,toggleElementLock:`Auswahl sperren/entsperren`,movePageUpDown:`Seite nach oben/unten verschieben`,movePageLeftRight:`Seite nach links/rechts verschieben`,cropStart:`Bild zuschneiden`,cropFinish:`Zuschneiden des Bildes beenden`},b={title:`Zeichenfläche löschen`},x={title:`Bibliothek veröffentlichen`,itemName:`Elementname`,authorName:`Name des Autors`,githubUsername:`GitHub-Benutzername`,twitterUsername:`Twitter-Benutzername`,libraryName:`Name der Bibliothek`,libraryDesc:`Beschreibung der Bibliothek`,website:`Webseite`,placeholder:{authorName:`Dein Name oder Benutzername`,libraryName:`Name deiner Bibliothek`,libraryDesc:`Beschreibung deiner Bibliothek, um anderen Nutzern bei der Verwendung zu helfen`,githubHandle:`GitHub-Handle (optional), damit du die Bibliothek bearbeiten kannst, wenn sie zur Überprüfung eingereicht wurde`,twitterHandle:`Twitter-Benutzername (optional), damit wir wissen, wen wir bei Werbung über Twitter nennen können`,website:`Link zu deiner persönlichen Webseite oder zu anderer Seite (optional)`},errors:{required:`Erforderlich`,website:`Gültige URL eingeben`},noteDescription:`Sende deine Bibliothek ein, um in das <link>öffentliche Bibliotheksverzeichnis</link> aufgenommen zu werden, damit andere sie in ihren Zeichnungen verwenden können.`,noteGuidelines:`Die Bibliothek muss zuerst manuell freigegeben werden. Bitte lies die <link>Richtlinien</link> vor dem Absenden. Du benötigst ein GitHub-Konto, um zu kommunizieren und Änderungen vorzunehmen, falls erforderlich, aber es ist nicht unbedingt erforderlich.`,noteLicense:`Mit dem Absenden stimmst du zu, dass die Bibliothek unter der <link>MIT-Lizenz</link> veröffentlicht wird. Das bedeutet, dass jeder sie ohne Einschränkungen nutzen kann.`,noteItems:`Jedes Bibliothekselement muss einen eigenen Namen haben, damit es gefiltert werden kann. Die folgenden Bibliothekselemente werden hinzugefügt:`,atleastOneLibItem:`Bitte wähle mindestens ein Bibliothekselement aus, um zu beginnen`,republishWarning:`Hinweis: Einige der ausgewählten Elemente sind bereits als veröffentlicht/eingereicht markiert. Du solltest Elemente nur erneut einreichen, wenn du eine bestehende Bibliothek oder Einreichung aktualisierst.`},S={title:`Bibliothek übermittelt`,content:`Vielen Dank {{authorName}}. Deine Bibliothek wurde zur Überprüfung eingereicht. Du kannst den Status verfolgen<link>hier</link>`},C={resetLibrary:`Bibliothek zurücksetzen`,removeItemsFromLib:`Ausgewählte Elemente aus der Bibliothek entfernen`},w={header:`Bild exportieren`,label:{withBackground:`Hintergrund`,onlySelected:`Nur ausgewählte`,darkMode:`Dunkler Modus`,embedScene:`Szene einbetten`,scale:`Skalierung`,padding:`Abstand`},tooltip:{embedScene:`Die Zeichnungsdaten werden in der exportierten PNG/SVG-Datei gespeichert, sodass die Szene daraus wiederhergestellt werden kann.
9
+ Dadurch wird die exportierte Datei größer.`},title:{exportToPng:`Als PNG exportieren`,exportToSvg:`Als SVG exportieren`,copyPngToClipboard:`PNG in die Zwischenablage kopieren`},button:{exportToPng:`PNG`,exportToSvg:`SVG`,copyPngToClipboard:`In Zwischenablage kopieren`}},T={tooltip:`Da deine Zeichnungen Ende-zu-Ende verschlüsselt werden, sehen auch unsere Excalidraw-Server sie niemals.`,link:`Blogbeitrag über Ende-zu-Ende-Verschlüsselung in Excalidraw`},E={angle:`Winkel`,shapes:`Formen`,height:`Höhe`,scene:`Zeichnung`,selected:`Ausgewählt`,storage:`Speicher`,fullTitle:`Zeichenflächen- & Formeigenschaften`,title:`Eigenschaften`,generalStats:`Allgemein`,elementProperties:`Formeigenschaften`,total:`Gesamt`,version:`Version`,versionCopy:`Zum Kopieren klicken`,versionNotAvailable:`Version nicht verfügbar`,width:`Breite`},D={addedToLibrary:`Zur Bibliothek hinzugefügt`,copyStyles:`Formatierungen kopiert.`,copyToClipboard:`In die Zwischenablage kopiert.`,copyToClipboardAsPng:`{{exportSelection}} als PNG in die Zwischenablage kopiert
10
+ ({{exportColorScheme}})`,copyToClipboardAsSvg:`{{exportSelection}} als SVG in die Zwischenablage kopiert ({{exportColorScheme}})`,fileSaved:`Datei gespeichert.`,fileSavedToFilename:`Als {filename} gespeichert`,canvas:`Zeichenfläche`,selection:`Auswahl`,pasteAsSingleElement:`Verwende {{shortcut}} , um als einzelnes Element
11
+ einzufügen oder in einen existierenden Texteditor einzufügen`,unableToEmbed:`Einbetten dieser URL ist derzeit nicht zulässig. Erstelle einen Issue auf GitHub, um die URL freigeben zu lassen`,unrecognizedLinkFormat:`Der eingebettete Link stimmt nicht mit dem erwarteten Format überein. Bitte versuche, den Einbettungs-Code der Quellseite einzufügen`,elementLinkCopied:`Link in Zwischenablage kopiert`},O={transparent:`Transparent`,black:`Schwarz`,white:`Weiß`,red:`Rot`,pink:`Pink`,grape:`Traube`,violet:`Violett`,gray:`Grau`,blue:`Blau`,cyan:`Cyan`,teal:`Blaugrün`,green:`Grün`,yellow:`Gelb`,orange:`Orange`,bronze:`Bronze`},k={app:{center_heading:`Deine Zeichnungen werden im Browserspeicher gespeichert.`,center_heading_line2:`Der Browserspeicher kann unerwartet gelöscht werden.`,center_heading_line3:`Speichere deine Arbeit regelmäßig in einer Datei, um Datenverlust zu vermeiden.`,center_heading_plus:`Möchtest du stattdessen zu Excalidraw+ gehen?`,menuHint:`Exportieren, Einstellungen, Sprachen, ...`},defaults:{menuHint:`Exportieren, Einstellungen und mehr...`,center_heading:`Diagramme. Einfach. Gemacht.`,toolbarHint:`Wähle ein Werkzeug & beginne zu zeichnen!`,helpHint:`Kurzbefehle & Hilfe`}},A={color:`Farbe`,mostUsedCustomColors:`Beliebteste benutzerdefinierte Farben`,colors:`Farben`,shades:`Schattierungen`,hexCode:`Hex-Code`,noShades:`Keine Schattierungen für diese Farbe verfügbar`,invalidColor:``,invalidHexLength:``,topPicksTip:``,resetTopPicks:``},j={action:{exportToImage:{title:`Als Bild exportieren`,button:`Als Bild exportieren`,description:`Exportiere die Zeichnungsdaten als Bild, aus dem du später importieren kannst.`},saveToDisk:{title:`Auf Festplatte speichern`,button:`Auf Festplatte speichern`,description:`Exportiere die Zeichnungsdaten in eine Datei, aus der du später importieren kannst.`},excalidrawPlus:{title:`Excalidraw+`,button:`Export nach Excalidraw+`,description:`Speichere die Szene in deinem Excalidraw+-Arbeitsbereich.`}},modal:{loadFromFile:{title:`Aus Datei laden`,button:`Aus Datei laden`,description:`Das Laden aus einer Datei wird <bold>deinen vorhandenen Inhalt ersetzen</bold>.<br></br>Du kannst deine Zeichnung zuerst mit einer der folgenden Optionen sichern.`},shareableLink:{title:`Aus Link laden`,button:`Meinen Inhalt ersetzen`,description:`Das Laden einer externen Zeichnung wird <bold>deinen vorhandenen Inhalt ersetzen</bold>.<br></br>Du kannst deine Zeichnung zuerst mit einer der folgenden Optionen sichern.`}}},M={title:`Mermaid zu Excalidraw`,button:`Einfügen`,description:`Derzeit werden nur <flowchartLink>Flussdiagramme</flowchartLink>, <sequenceLink>Sequenzdiagramme</sequenceLink>, <classLink>Klassendiagramme</classLink> und <erdLink>Entity-Relationship-Diagramme</erdLink> unterstützt. Die anderen Typen werden als Bild in Excalidraw dargestellt.`,syntax:`Mermaid-Syntax`,preview:`Vorschau`,label:`Mermaid`,inputPlaceholder:`Mermaid-Diagrammdefinition hier eingeben...`,autoFixAvailable:`Automatische Korrektur verfügbar`},N={error:`Fehler!`},P={inputPlaceholder:`Beschreibe hier deine Diagrammidee... ({{shortcut}} für neue Zeile)`,inputPlaceholderWithMessages:`Diagramm weiter verfeinern...`,generating:`Wird erstellt...`,rateLimitRemaining:`{{count}} Anfragen heute verbleibend`,role:{user:`Du`,assistant:`KI-Assistent`,system:`System`},aiBeta:`KI Beta`,label:`Chat`,menu:`Menü`,newChat:`Neuer Chat`,deleteChat:`Chat löschen`,deleteMessage:`Nachricht löschen`,viewAsMermaid:`Als Mermaid anzeigen`,placeholder:{title:`Gestalte dein Diagramm`,description:`Beschreibe das Diagramm, das du erstellen möchtest, und wir generieren es für dich.`,hint:``},preview:`Vorschau`,insert:`Einfügen`,retry:`Erneut versuchen`,errors:{promptTooShort:`Eingabe zu kurz (min. {{min}} Zeichen)`,promptTooLong:`Eingabe zu lang (max. {{max}} Zeichen)`,generationFailed:`Erstellung fehlgeschlagen`,invalidDiagram:`Ungültiges Diagramm erstellt :(. Du kannst es manuell bearbeiten, mit automatischer Korrektur erneut versuchen oder eine andere Eingabe verwenden.`,fixInMermaid:`Mermaid manuell bearbeiten →`,aiRepair:`Neu generieren (Auto-Korrektur) →`,requestAborted:`Anfrage abgebrochen`,requestFailed:`Anfrage fehlgeschlagen`,mermaidParseError:`Mermaid-Syntaxfehler`},rateLimit:{messageLimit:`Du hast dein KI-Limit im kostenlosen Tarif erreicht. Probiere Excalidraw+ für mehr oder komme morgen wieder.`,generalRateLimit:`Nicht so schnell! Bitte warte einen Moment, bevor du es erneut versuchst.`,messageLimitInputPlaceholder:`Nachrichtenlimit erreicht`},upsellBtnLabel:`Auf Plus upgraden`},F={placeholder:`Schnellsuche`},I={badge:{old:`alt`},sceneFonts:`In dieser Szene`,availableFonts:`Verfügbare Schriftarten`,empty:`Keine Schriftarten gefunden`},L={empty:`Keine Benutzer gefunden`,hint:{text:`Klicke auf Benutzer um zu folgen`,followStatus:`Du folgst derzeit diesem Benutzer`,inCall:`Benutzer ist in einem Sprachanruf`,micMuted:`Mikrofon des Benutzers ist stumm geschaltet`,isSpeaking:`Benutzer spricht`}},R={title:`Befehlspalette`,shortcuts:{select:`Auswählen`,confirm:`Bestätigen`,close:`Schließen`},recents:`Zuletzt verwendet`,search:{placeholder:`Suche in Menüs und Befehlen, entdecke versteckte Funktionen`,noMatch:`Keine passenden Befehle...`},itemNotAvailable:`Befehl ist nicht verfügbar...`,shortcutHint:`Benutze {{shortcut}} für Befehlspalette`},z={ctrl:`Strg`,option:`Option`,cmd:`Cmd`,alt:`Alt`,escape:`Esc`,enter:`Eingabe`,shift:`Umschalt`,spacebar:`Leertaste`,delete:`Löschen`,mmb:`Mausrad`},B={labels:e,elementLink:t,library:n,search:r,buttons:i,alerts:a,errors:o,toolBar:s,bucketfill:c,element:l,headings:u,hints:d,canvasError:f,errorSplash:p,shareDialog:m,roomDialog:h,errorDialog:g,progressDialog:_,exportDialog:v,helpDialog:y,clearCanvasDialog:b,publishDialog:x,publishSuccessDialog:S,confirmDialog:C,imageExportDialog:w,encrypted:T,stats:E,toast:D,colors:O,welcomeScreen:k,colorPicker:A,overwriteConfirm:j,mermaid:M,ttd:N,chat:P,quickSearch:F,fontList:I,userList:L,commandPalette:R,keys:z};export{a as alerts,c as bucketfill,i as buttons,f as canvasError,P as chat,b as clearCanvasDialog,A as colorPicker,O as colors,R as commandPalette,C as confirmDialog,B as default,l as element,t as elementLink,T as encrypted,g as errorDialog,p as errorSplash,o as errors,v as exportDialog,I as fontList,u as headings,y as helpDialog,d as hints,w as imageExportDialog,z as keys,e as labels,n as library,M as mermaid,j as overwriteConfirm,_ as progressDialog,x as publishDialog,S as publishSuccessDialog,F as quickSearch,h as roomDialog,r as search,m as shareDialog,E as stats,D as toast,s as toolBar,N as ttd,L as userList,k as welcomeScreen};
@@ -0,0 +1,11 @@
1
+ import"./chunk-SRAX5OIU-KFQikY-4.js";var e={signUp:``,signIn:``,paste:`Einfügen`,pasteAsPlaintext:`Als unformatierten Text einfügen`,pasteCharts:`Diagramme einfügen`,chartType_bar:`Balkendiagramm`,chartType_line:`Liniendiagramm`,chartType_radar:`Netzdiagramm`,chartType_plaintext:`Klartext`,selectAll:`Alle auswählen`,multiSelect:`Element zur Auswahl hinzufügen`,moveCanvas:`Zeichenfläche verschieben`,cut:`Ausschneiden`,copy:`Kopieren`,copyAsPng:`In Zwischenablage kopieren (PNG)`,copyAsSvg:`In Zwischenablage kopieren (SVG)`,copyText:`Als Text in Zwischenablage kopieren`,copySource:`Quelle in Zwischenablage kopieren`,convertToCode:`In Code konvertieren`,bringForward:`Nach vorne`,sendToBack:`In den Hintergrund`,bringToFront:`In den Vordergrund`,sendBackward:`Nach hinten`,delete:`Löschen`,copyStyles:`Formatierung kopieren`,pasteStyles:`Formatierung übernehmen`,stroke:`Strich`,changeStroke:`Strichfarbe ändern`,background:`Hintergrund`,changeBackground:`Hintergrundfarbe ändern`,fill:`Füllung`,strokeWidth:`Strichstärke`,strokeStyle:`Konturstil`,strokeStyle_solid:`Durchgezogen`,strokeStyle_dashed:`Gestrichelt`,strokeStyle_dotted:`Gepunktet`,sloppiness:`Sauberkeit`,pressure:``,pressure_constant:``,pressure_variable:``,opacity:`Deckkraft`,textAlign:`Textausrichtung`,edges:`Kanten`,sharp:`Scharf`,round:`Rund`,arrowheads:`Pfeilspitzen`,arrowhead_none:`Keine`,arrowhead_arrow:`Pfeil`,arrowhead_bar:`Balken`,arrowhead_circle:`Kreis`,arrowhead_circle_outline:`Kreis (Umrandung)`,arrowhead_triangle:`Dreieck`,arrowhead_triangle_outline:`Dreieck (Umrandung)`,arrowhead_diamond:`Raute`,arrowhead_diamond_outline:`Raute (Umrandung)`,arrowhead_crowfoot_many:`Krähenfuß (viele)`,arrowhead_crowfoot_one:`Krähenfuß (einer)`,arrowhead_crowfoot_one_or_many:`Krähenfuß (einer oder viele)`,arrowhead_cardinality_one:`Kardinalität (eins)`,arrowhead_cardinality_many:`Kardinalität (viele)`,arrowhead_cardinality_one_or_many:`Kardinalität (eins oder viele)`,arrowhead_cardinality_exactly_one:`Kardinalität (genau eins)`,arrowhead_cardinality_zero_or_one:`Kardinalität (null oder eins)`,arrowhead_cardinality_zero_or_many:`Kardinalität (null oder viele)`,more_options:`Weitere Optionen`,cardinality:`Kardinalität`,arrowtypes:`Pfeiltyp`,arrowtype_sharp:`Scharfer Pfeil`,arrowtype_round:`Gebogener Pfeil`,arrowtype_elbowed:`Abgewinkelter Pfeil`,fontSize:`Schriftgröße`,fontFamily:`Schriftfamilie`,addWatermark:`"Made with Excalidraw" hinzufügen`,handDrawn:`Handgezeichnet`,normal:`Normal`,code:`Code`,small:`Klein`,medium:`Mittel`,large:`Groß`,veryLarge:`Sehr groß`,solid:`Deckend`,hachure:`Schraffiert`,zigzag:`Zickzack`,crossHatch:`Kreuzschraffiert`,thin:`Dünn`,bold:`Fett`,left:`Links`,center:`Zentriert`,right:`Rechts`,extraBold:`Extra Fett`,architect:`Architekt`,artist:`Künstler`,cartoonist:`Karikaturist`,fileTitle:`Dateiname`,colorPicker:`Farbwähler`,canvasColors:`Auf Zeichenfläche verwendet`,canvasBackground:`Zeichenflächenhintergrund`,drawingCanvas:`Zeichenfläche`,clearCanvas:`Zeichenfläche löschen`,layers:`Ebenen`,actions:`Aktionen`,language:`Sprache`,liveCollaboration:`Live-Zusammenarbeit...`,duplicateSelection:`Duplizieren`,untitled:`Unbenannt`,name:`Name`,yourName:`Dein Name`,madeWithExcalidraw:`Made with Excalidraw`,group:`Auswahl gruppieren`,ungroup:`Gruppierung aufheben`,collaborators:`Mitarbeitende`,you:``,toggleGrid:`Raster umschalten`,addToLibrary:`Zur Bibliothek hinzufügen`,removeFromLibrary:`Aus Bibliothek entfernen`,libraryLoadingMessage:`Lade Bibliothek…`,libraries:`Bibliotheken durchsuchen`,loadingScene:`Lade Zeichnung…`,loadScene:`Szene aus Datei laden`,align:`Ausrichten`,alignTop:`Obere Kanten`,alignBottom:`Untere Kanten`,alignLeft:`Linke Kanten`,alignRight:`Rechte Kanten`,centerVertically:`Vertikal zentrieren`,centerHorizontally:`Horizontal zentrieren`,distributeHorizontally:`Horizontal verteilen`,distributeVertically:`Vertikal verteilen`,flipHorizontal:`Horizontal spiegeln`,flipVertical:`Vertikal spiegeln`,viewMode:`Ansichtsmodus`,share:`Teilen`,showStroke:`Auswahl für Strichfarbe anzeigen`,showBackground:`Hintergrundfarbe auswählen`,showFonts:`Schriftauswahl anzeigen`,toggleTheme:`Helles/dunkles Design umschalten`,theme:`Design`,personalLib:`Persönliche Bibliothek`,excalidrawLib:`Excalidraw Bibliothek`,decreaseFontSize:`Schriftgröße verringern`,increaseFontSize:`Schriftgröße erhöhen`,unbindText:`Text lösen`,bindText:`Text an Container binden`,createContainerFromText:`Text in Container einbetten`,link:{edit:`Link bearbeiten`,editEmbed:`Einbettbaren Link bearbeiten`,create:`Link hinzufügen`,label:`Link`,labelEmbed:`Verlinken & einbetten`,empty:`Kein Link festgelegt`,hint:`Link hier eingeben oder einfügen`,goToElement:`Gehe zu Zielelement`},lineEditor:{edit:`Linie bearbeiten`,editArrow:`Pfeil bearbeiten`},polygon:{breakPolygon:`Polygon auftrennen`,convertToPolygon:`In Polygon umwandeln`},elementLock:{lock:`Sperren`,unlock:`Entsperren`,lockAll:`Alle sperren`,unlockAll:`Alle entsperren`},statusPublished:`Veröffentlicht`,sidebarLock:`Seitenleiste offen lassen`,selectAllElementsInFrame:`Alle Elemente im Rahmen auswählen`,removeAllElementsFromFrame:`Alle Elemente aus dem Rahmen entfernen`,eyeDropper:`Farbe von der Zeichenfläche auswählen`,textToDiagram:`Text zu Diagramm`,prompt:`Eingabe`,followUs:`Folge uns`,discordChat:`Discord-Chat`,zoomToFitViewport:`Zoom auf Ansicht anpassen`,zoomToFitSelection:`Zoom auf Auswahl anpassen`,zoomToFit:`Zoom auf alle Elemente anpassen`,installPWA:`Excalidraw lokal installieren (PWA)`,autoResize:`Automatische Textgrößenanpassung`,imageCropping:`Bild zuschneiden`,unCroppedDimension:`Originalgröße`,copyElementLink:`Link zum Objekt kopieren`,linkToElement:`Link zum Objekt`,wrapSelectionInFrame:`Auswahl in Rahmen einbetten`,tab:`Tab`,shapeSwitch:`Form wechseln`,preferences:`Einstellungen`,preferences_toolLock:`Werkzeug sperren`,boxSelectionMode:``,boxSelectionContain:``,boxSelectionOverlap:``,arrowBinding:`Pfeilbindung`,midpointSnapping:`An Mittelpunkten einrasten`},t={title:`Link zum Objekt`,desc:`Klicke auf eine Form auf der Zeichenfläche oder füge einen Link ein.`,notFound:`Verknüpftes Objekt wurde nicht auf der Zeichenfläche gefunden.`},n={noItems:`Noch keine Elemente hinzugefügt...`,hint_emptyLibrary:`Wähle ein Element auf der Zeichenfläche, um es hier hinzuzufügen. Oder installiere eine Bibliothek aus dem öffentlichen Verzeichnis.`,hint_emptyPrivateLibrary:`Wähle ein Element von der Zeichenfläche, um es hier hinzuzufügen.`,search:{inputPlaceholder:`Bibliothek durchsuchen`,heading:`Bibliothekstreffer`,noResults:`Keine passenden Elemente gefunden...`,clearSearch:`Suche zurücksetzen`}},r={title:`Auf Zeichenfläche suchen`,noMatch:`Keine Treffer gefunden...`,singleResult:`Ergebnis`,multipleResults:`Ergebnisse`,placeholder:`Text auf Zeichenfläche suchen...`,frames:`Rahmen`,texts:`Texte`},i={clearReset:`Zeichenfläche löschen & Hintergrundfarbe zurücksetzen`,exportJSON:`In Datei exportieren`,exportImage:`Bild exportieren...`,export:`Speichern als...`,copyToClipboard:`In Zwischenablage kopieren`,copyLink:`Link kopieren`,save:`In aktueller Datei speichern`,saveAs:`Speichern unter`,load:`Öffnen`,getShareableLink:`Teilbaren Link erhalten`,close:`Schließen`,selectLanguage:`Sprache auswählen`,scrollBackToContent:`Zurück zum Inhalt`,zoomIn:`Vergrößern`,zoomOut:`Verkleinern`,resetZoom:`Zoom zurücksetzen`,menu:`Menü`,done:`Fertig`,edit:`Bearbeiten`,undo:`Rückgängig machen`,redo:`Wiederholen`,resetLibrary:`Bibliothek zurücksetzen`,createNewRoom:`Neuen Raum erstellen`,fullScreen:`Vollbildanzeige`,darkMode:`Dunkles Design`,lightMode:`Helles Design`,systemMode:`System-Modus`,zenMode:`Zen-Modus`,objectsSnapMode:`Einrasten an Objekten`,exitZenMode:`Zen-Modus verlassen`,cancel:`Abbrechen`,saveLibNames:`Name(n) speichern und schließen`,clear:`Löschen`,remove:`Entfernen`,embed:`Einbettung umschalten`,publishLibrary:`Umbenennen oder veröffentlichen`,submit:`Absenden`,confirm:`Bestätigen`,embeddableInteractionButton:`Klicken, um zu interagieren`},a={clearReset:`Dies wird die ganze Zeichenfläche löschen. Bist du dir sicher?`,couldNotCreateShareableLink:`Konnte keinen teilbaren Link erstellen.`,couldNotCreateShareableLinkTooBig:`Konnte keinen teilbaren Link erstellen: Die Zeichnung ist zu groß`,couldNotLoadInvalidFile:`Ungültige Datei konnte nicht geladen werden`,importBackendFailed:`Import vom Server ist fehlgeschlagen.`,cannotExportEmptyCanvas:`Leere Zeichenfläche kann nicht exportiert werden.`,couldNotCopyToClipboard:`Kopieren in die Zwischenablage fehlgeschlagen.`,decryptFailed:`Daten konnten nicht entschlüsselt werden.`,uploadedSecurly:`Der Upload wurde mit Ende-zu-Ende-Verschlüsselung gespeichert. Weder Excalidraw noch Dritte können den Inhalt einsehen.`,loadSceneOverridePrompt:`Das Laden einer externen Zeichnung ersetzt den vorhandenen Inhalt. Möchtest du fortfahren?`,collabStopOverridePrompt:`Das Stoppen der Sitzung wird deine vorherige, lokal gespeicherte Zeichnung überschreiben. Bist du dir sicher?
2
+
3
+ (Wenn du deine lokale Zeichnung behalten möchtest, schließe stattdessen den Browser-Tab.)`,errorAddingToLibrary:`Das Element konnte nicht zur Bibliothek hinzugefügt werden`,errorRemovingFromLibrary:`Das Element konnte nicht aus der Bibliothek entfernt werden`,confirmAddLibrary:`Dies fügt {{numShapes}} Form(en) zu deiner Bibliothek hinzu. Bist du dir sicher?`,imageDoesNotContainScene:`Dieses Bild scheint keine Szenendaten zu enthalten. Hast du das Einbetten der Szene beim Export aktiviert?`,cannotRestoreFromImage:`Die Zeichnung konnte aus dieser Bilddatei nicht wiederhergestellt werden`,invalidSceneUrl:`Die Szene konnte nicht von der angegebenen URL importiert werden. Die URL ist entweder fehlerhaft oder enthält keine gültigen Excalidraw-JSON-Daten.`,resetLibrary:`Dies löscht deine Bibliothek. Bist du sicher?`,removeItemsFromsLibrary:`{{count}} Element(e) aus der Bibliothek löschen?`,invalidEncryptionKey:`Verschlüsselungsschlüssel muss 22 Zeichen lang sein. Die Live-Zusammenarbeit ist deaktiviert.`,collabOfflineWarning:`Keine Internetverbindung verfügbar.
4
+ Deine Änderungen werden nicht gespeichert!`,localStorageQuotaExceeded:`Browserspeicher voll. Änderungen werden nicht gespeichert.`},o={unsupportedFileType:`Nicht unterstützter Dateityp.`,imageInsertError:`Das Bild konnte nicht eingefügt werden. Versuche es später erneut...`,fileTooBig:`Die Datei ist zu groß. Die maximal zulässige Größe ist {{maxSize}}.`,svgImageInsertError:`SVG-Bild konnte nicht eingefügt werden. Das SVG-Markup sieht ungültig aus.`,failedToFetchImage:`Bild konnte nicht abgerufen werden.`,cannotResolveCollabServer:`Konnte keine Verbindung zum Collab-Server herstellen. Bitte lade die Seite neu und versuche es erneut.`,importLibraryError:`Bibliothek konnte nicht geladen werden`,saveLibraryError:`Bibliothek konnte nicht gespeichert werden. Bitte speichere deine Bibliothek lokal in einer Datei, um sicherzustellen, dass keine Änderungen verloren gehen.`,collabSaveFailed:`Keine Speicherung in der Backend-Datenbank möglich. Wenn die Probleme weiterhin bestehen, solltest du deine Datei lokal speichern, um sicherzustellen, dass du deine Arbeit nicht verlierst.`,collabSaveFailed_sizeExceeded:`Keine Speicherung in der Backend-Datenbank möglich, die Zeichenfläche scheint zu groß zu sein. Du solltest deine Datei lokal speichern, um sicherzustellen, dass du deine Arbeit nicht verlierst.`,imageToolNotSupported:`Bilder sind deaktiviert.`,brave_measure_text_error:{line1:`Sieht so aus, als ob du den Brave-Browser verwendest und die <bold>aggressive Blockierung von Fingerabdrücken</bold> aktiviert hast.`,line2:`Dies könnte dazu führen, dass die <bold>Textelemente</bold> in deinen Zeichnungen nicht korrekt dargestellt werden.`,line3:`Wir empfehlen dringend, diese Einstellung zu deaktivieren. Dazu kannst du <link>diesen Schritten</link> folgen.`,line4:`Wenn die Deaktivierung dieser Einstellung die fehlerhafte Anzeige von Textelementen nicht behebt, öffne bitte ein <issueLink>Ticket</issueLink> auf unserem GitHub oder schreibe uns auf <discordLink>Discord</discordLink>`},libraryElementTypeError:{embeddable:`Einbettbare Elemente können der Bibliothek nicht hinzugefügt werden.`,iframe:`IFrame-Elemente können nicht zur Bibliothek hinzugefügt werden.`,image:`Unterstützung für das Hinzufügen von Bildern in die Bibliothek kommt bald!`},asyncPasteFailedOnRead:`Einfügen fehlgeschlagen (konnte aus der Zwischenablage des Systems nicht gelesen werden).`,asyncPasteFailedOnParse:`Einfügen fehlgeschlagen.`,copyToSystemClipboardFailed:`Kopieren in die Zwischenablage fehlgeschlagen.`},s={selection:`Auswahl`,lasso:`Lassoauswahl`,image:`Bild einfügen`,rectangle:`Rechteck`,diamond:`Raute`,ellipse:`Ellipse`,arrow:`Pfeil`,line:`Linie`,freedraw:`Zeichnen`,text:`Text`,library:`Bibliothek`,lock:`Ausgewähltes Werkzeug nach Zeichnen aktiv lassen`,penMode:`Stift-Modus - Berührung verhindern`,link:`Link für ausgewählte Form hinzufügen / aktualisieren`,eraser:`Radierer`,frame:`Rahmenwerkzeug`,magicframe:`Wireframe zu Code`,embeddable:`Web-Einbettung`,laser:`Laserpointer`,autoshape:``,bucketfill:``,hand:`Hand (Schwenkwerkzeug)`,extraTools:`Weitere Werkzeuge`,mermaidToExcalidraw:`Mermaid zu Excalidraw`,convertElementType:`Formtyp umschalten`},c={noRegion:``,tooComplex:``},l={rectangle:`Rechteck`,diamond:`Raute`,ellipse:`Ellipse`,arrow:`Pfeil`,line:`Linie`,freedraw:`Frei zeichnen`,text:`Text`,image:`Bild`,group:`Gruppe`,frame:`Rahmen`,magicframe:`Wireframe zu Code`,embeddable:`Web-Einbettung`,selection:`Auswahl`,iframe:`IFrame`},u={canvasActions:`Aktionen für Zeichenfläche`,selectedShapeActions:`Aktionen für Auswahl`,shapes:`Formen`},d={dismissSearch:`{{shortcut}} zum Schließen der Suche`,canvasPanning:`Halte {{shortcut_1}} oder {{shortcut_2}} beim Ziehen gedrückt, um die Zeichenfläche zu verschieben, oder verwende das Handwerkzeug`,linearElement:`Klicken für Linie mit mehreren Punkten, Ziehen für einzelne Linie`,arrowTool:`Klicken für mehrere Punkte, ziehen für eine einzelne Linie. Drücke erneut {{shortcut}}, um den Pfeiltyp zu wechseln.`,arrowBindModifiers:`Halte {{shortcut_1}} gedrückt, um die Bindung zu deaktivieren, oder {{shortcut_2}} für einen festen Ankerpunkt`,freeDraw:`Klicke und ziehe. Lass los, wenn du fertig bist`,text:`Tipp: Du kannst auch Text hinzufügen, indem du mit dem Auswahlwerkzeug auf eine beliebige Stelle doppelklickst`,embeddable:`Klicken und ziehen, um eine Webseiten-Einbettung zu erstellen`,autoshape:``,text_selected:`Doppelklicken oder {{shortcut}} drücken, um Text zu bearbeiten`,text_editing:`Drücke {{shortcut_1}} oder {{shortcut_2}}, um die Bearbeitung abzuschließen`,linearElementMulti:`Klicke auf den letzten Punkt oder drücke {{shortcut_1}} oder {{shortcut_2}} zum Abschließen`,lockAngle:`Halte {{shortcut}} gedrückt, um den Winkel einzuschränken`,resize:`Halte {{shortcut_1}} gedrückt, um die Proportionen beizubehalten.
5
+ {{shortcut_2}} gedrückt halten, um von der Mitte aus zu skalieren`,resizeImage:`Halte {{shortcut_1}} gedrückt, um frei zu skalieren.
6
+ {{shortcut_2}} gedrückt halten, um von der Mitte aus zu skalieren`,rotate:`Halte {{shortcut}} gedrückt, um den Winkel einzuschränken`,toggleArrowhead:``,lineEditor_info:`Halte {{shortcut_1}} gedrückt und doppelklicke oder drücke {{shortcut_2}}, um Punkte zu bearbeiten`,lineEditor_line_info:`Doppelklicken oder {{shortcut}} drücken, um Punkte zu bearbeiten`,lineEditor_pointSelected:`Drücke {{shortcut_1}}, um Punkt(e) zu entfernen,
7
+ {{shortcut_2}} zum Duplizieren, oder ziehe zum Verschieben`,lineEditor_nothingSelected:`Wähle einen Punkt zum Bearbeiten (halte {{shortcut_1}} für Mehrfachauswahl),
8
+ oder halte {{shortcut_2}} gedrückt und klicke, um neue Punkte hinzuzufügen`,publishLibrary:`Veröffentliche deine eigene Bibliothek`,bindTextToElement:`{{shortcut}} zum Hinzufügen von Text`,createFlowchart:`{{shortcut}} zum Erstellen eines Flussdiagramms`,deepBoxSelect:`Halte {{shortcut}} gedrückt für Tiefenauswahl und um Ziehen zu verhindern`,eraserRevert:`Halte {{shortcut}} gedrückt, um zum Löschen markierte Elemente wiederherzustellen`,firefox_clipboard_write:`Diese Funktion kann wahrscheinlich aktiviert werden, indem die Einstellung "dom.events.asyncClipboard.clipboardItem" auf "true" gesetzt wird. Um die Browsereinstellungen in Firefox zu ändern, besuche die Seite "about:config".`,disableSnapping:`Halte {{shortcut}} gedrückt, um Einrasten zu deaktivieren`,enterCropEditor:`Doppelklicke auf das Bild oder drücke {{shortcut}}, um das Bild zuzuschneiden`,leaveCropEditor:`Klicke außerhalb des Bildes oder drücke {{shortcut_1}} oder {{shortcut_2}}, um das Zuschneiden abzuschließen`},f={cannotShowPreview:`Vorschau kann nicht angezeigt werden`,canvasTooBig:`Die Zeichenfläche ist möglicherweise zu groß.`,canvasTooBigTip:`Tipp: Schiebe die am weitesten entfernten Elemente ein wenig näher zusammen.`},p={headingMain:`Es ist ein Fehler aufgetreten. Versuche <button>die Seite neu zu laden.</button>`,clearCanvasMessage:`Wenn das Neuladen nicht funktioniert, versuche <button>die Zeichenfläche zu löschen.</button>`,clearCanvasCaveat:` Dies wird zum Verlust von Daten führen `,trackedToSentry:`Der Fehler mit der Kennung {{eventId}} wurde in unserem System registriert.`,openIssueMessage:`Wir waren sehr vorsichtig und haben deine Zeichnungsinformationen nicht in die Fehlerinformationen aufgenommen. Wenn deine Zeichnung nicht privat ist, unterstütze uns bitte über unseren <button>Bug-Tracker</button>. Bitte teile die unten stehenden Informationen mit uns im GitHub Issue (Kopieren und Einfügen).`,sceneContent:`Zeichnungsinhalt:`},m={or:`Oder`},h={desc_intro:`Lade Leute ein, an deiner Zeichnung mitzuarbeiten.`,desc_privacy:`Keine Sorge, die Sitzung ist Ende-zu-Ende verschlüsselt und vollständig privat. Nicht einmal unser Server kann sehen, was du zeichnest.`,button_startSession:`Sitzung starten`,button_stopSession:`Sitzung beenden`,desc_inProgressIntro:`Die Live-Sitzung wird nun ausgeführt.`,desc_shareLink:`Teile diesen Link mit allen, mit denen du zusammenarbeiten möchtest:`,desc_exitSession:`Wenn du die Sitzung beendest, wird deine Verbindung zum Raum getrennt. Du kannst jedoch lokal weiter an der Zeichnung arbeiten. Beachte, dass dies keine Auswirkungen auf andere hat und diese weiterhin gemeinsam an ihrer Version arbeiten können.`,shareTitle:`An einer Live-Kollaborationssitzung auf Excalidraw teilnehmen`},g={title:`Fehler`},_={title:`Speichern`,defaultMessage:`Speicherung wird vorbereitet...`},v={disk_title:`Auf Festplatte speichern`,disk_details:`Exportiere die Zeichnungsdaten in eine Datei, aus der du später importieren kannst.`,disk_button:`Als Datei speichern`,link_title:`Teilbarer Link`,link_details:`Als schreibgeschützten Link exportieren.`,link_button:`Als Link exportieren`,excalidrawplus_description:`Speichere die Szene in deinem Excalidraw+ Arbeitsbereich.`,excalidrawplus_button:`Exportieren`,excalidrawplus_exportError:`Konnte nicht nach Excalidraw+ exportieren...`},y={blog:`Lies unseren Blog`,click:`klicken`,deepSelect:`Auswahl innerhalb der Gruppe`,deepBoxSelect:`Auswahl innerhalb der Gruppe, und Ziehen vermeiden`,createFlowchart:`Erstelle ein Flussdiagramm aus einem generischen Element`,navigateFlowchart:`Durch ein Flussdiagramm navigieren`,curvedArrow:`Gebogener Pfeil`,curvedLine:`Gebogene Linie`,documentation:`Dokumentation`,doubleClick:`doppelklicken`,drag:`ziehen`,editor:`Editor`,editLineArrowPoints:`Linien-/Pfeil-Punkte bearbeiten`,editText:`Text bearbeiten / Label hinzufügen`,github:`Ein Problem gefunden? Informiere uns`,howto:`Folge unseren Anleitungen`,or:`oder`,preventBinding:`Pfeil-Bindung verhindern`,tools:`Werkzeuge`,shortcuts:`Tastaturkürzel`,textFinish:`Bearbeitung beenden (Texteditor)`,textNewLine:`Neue Zeile hinzufügen (Texteditor)`,title:`Hilfe`,view:`Ansicht`,zoomToFit:`Zoomen um alle Elemente einzupassen`,zoomToSelection:`Auf Auswahl zoomen`,toggleElementLock:`Auswahl sperren/entsperren`,movePageUpDown:`Seite nach oben/unten verschieben`,movePageLeftRight:`Seite nach links/rechts verschieben`,cropStart:`Bild zuschneiden`,cropFinish:`Zuschneiden des Bildes beenden`},b={title:`Zeichenfläche löschen`},x={title:`Bibliothek veröffentlichen`,itemName:`Elementname`,authorName:`Name des Autors`,githubUsername:`GitHub-Benutzername`,twitterUsername:`Twitter-Benutzername`,libraryName:`Name der Bibliothek`,libraryDesc:`Beschreibung der Bibliothek`,website:`Webseite`,placeholder:{authorName:`Dein Name oder Benutzername`,libraryName:`Name deiner Bibliothek`,libraryDesc:`Beschreibung deiner Bibliothek, um anderen Nutzern bei der Verwendung zu helfen`,githubHandle:`GitHub-Handle (optional), damit du die Bibliothek bearbeiten kannst, wenn sie zur Überprüfung eingereicht wurde`,twitterHandle:`Twitter-Benutzername (optional), damit wir wissen, wen wir bei Werbung über Twitter nennen können`,website:`Link zu deiner persönlichen Webseite oder zu anderer Seite (optional)`},errors:{required:`Erforderlich`,website:`Gültige URL eingeben`},noteDescription:`Sende deine Bibliothek ein, um in das <link>öffentliche Bibliotheksverzeichnis</link> aufgenommen zu werden, damit andere sie in ihren Zeichnungen verwenden können.`,noteGuidelines:`Die Bibliothek muss zuerst manuell freigegeben werden. Bitte lies die <link>Richtlinien</link> vor dem Absenden. Du benötigst ein GitHub-Konto, um zu kommunizieren und Änderungen vorzunehmen, falls erforderlich, aber es ist nicht unbedingt erforderlich.`,noteLicense:`Mit dem Absenden stimmst du zu, dass die Bibliothek unter der <link>MIT-Lizenz</link> veröffentlicht wird. Das bedeutet, dass jeder sie ohne Einschränkungen nutzen kann.`,noteItems:`Jedes Bibliothekselement muss einen eigenen Namen haben, damit es gefiltert werden kann. Die folgenden Bibliothekselemente werden hinzugefügt:`,atleastOneLibItem:`Bitte wähle mindestens ein Bibliothekselement aus, um zu beginnen`,republishWarning:`Hinweis: Einige der ausgewählten Elemente sind bereits als veröffentlicht/eingereicht markiert. Du solltest Elemente nur erneut einreichen, wenn du eine bestehende Bibliothek oder Einreichung aktualisierst.`},S={title:`Bibliothek übermittelt`,content:`Vielen Dank {{authorName}}. Deine Bibliothek wurde zur Überprüfung eingereicht. Du kannst den Status verfolgen<link>hier</link>`},C={resetLibrary:`Bibliothek zurücksetzen`,removeItemsFromLib:`Ausgewählte Elemente aus der Bibliothek entfernen`},w={header:`Bild exportieren`,label:{withBackground:`Hintergrund`,onlySelected:`Nur ausgewählte`,darkMode:`Dunkler Modus`,embedScene:`Szene einbetten`,scale:`Skalierung`,padding:`Abstand`},tooltip:{embedScene:`Die Zeichnungsdaten werden in der exportierten PNG/SVG-Datei gespeichert, sodass die Szene daraus wiederhergestellt werden kann.
9
+ Dadurch wird die exportierte Datei größer.`},title:{exportToPng:`Als PNG exportieren`,exportToSvg:`Als SVG exportieren`,copyPngToClipboard:`PNG in die Zwischenablage kopieren`},button:{exportToPng:`PNG`,exportToSvg:`SVG`,copyPngToClipboard:`In Zwischenablage kopieren`}},T={tooltip:`Da deine Zeichnungen Ende-zu-Ende verschlüsselt werden, sehen auch unsere Excalidraw-Server sie niemals.`,link:`Blogbeitrag über Ende-zu-Ende-Verschlüsselung in Excalidraw`},E={angle:`Winkel`,shapes:`Formen`,height:`Höhe`,scene:`Zeichnung`,selected:`Ausgewählt`,storage:`Speicher`,fullTitle:`Zeichenflächen- & Formeigenschaften`,title:`Eigenschaften`,generalStats:`Allgemein`,elementProperties:`Formeigenschaften`,total:`Gesamt`,version:`Version`,versionCopy:`Zum Kopieren klicken`,versionNotAvailable:`Version nicht verfügbar`,width:`Breite`},D={addedToLibrary:`Zur Bibliothek hinzugefügt`,copyStyles:`Formatierungen kopiert.`,copyToClipboard:`In die Zwischenablage kopiert.`,copyToClipboardAsPng:`{{exportSelection}} als PNG in die Zwischenablage kopiert
10
+ ({{exportColorScheme}})`,copyToClipboardAsSvg:`{{exportSelection}} als SVG in die Zwischenablage kopiert ({{exportColorScheme}})`,fileSaved:`Datei gespeichert.`,fileSavedToFilename:`Als {filename} gespeichert`,canvas:`Zeichenfläche`,selection:`Auswahl`,pasteAsSingleElement:`Verwende {{shortcut}} , um als einzelnes Element
11
+ einzufügen oder in einen existierenden Texteditor einzufügen`,unableToEmbed:`Einbetten dieser URL ist derzeit nicht zulässig. Erstelle einen Issue auf GitHub, um die URL freigeben zu lassen`,unrecognizedLinkFormat:`Der eingebettete Link stimmt nicht mit dem erwarteten Format überein. Bitte versuche, den Einbettungs-Code der Quellseite einzufügen`,elementLinkCopied:`Link in Zwischenablage kopiert`},O={transparent:`Transparent`,black:`Schwarz`,white:`Weiß`,red:`Rot`,pink:`Pink`,grape:`Traube`,violet:`Violett`,gray:`Grau`,blue:`Blau`,cyan:`Cyan`,teal:`Blaugrün`,green:`Grün`,yellow:`Gelb`,orange:`Orange`,bronze:`Bronze`},k={app:{center_heading:`Deine Zeichnungen werden im Browserspeicher gespeichert.`,center_heading_line2:`Der Browserspeicher kann unerwartet gelöscht werden.`,center_heading_line3:`Speichere deine Arbeit regelmäßig in einer Datei, um Datenverlust zu vermeiden.`,center_heading_plus:`Möchtest du stattdessen zu Excalidraw+ gehen?`,menuHint:`Exportieren, Einstellungen, Sprachen, ...`},defaults:{menuHint:`Exportieren, Einstellungen und mehr...`,center_heading:`Diagramme. Einfach. Gemacht.`,toolbarHint:`Wähle ein Werkzeug & beginne zu zeichnen!`,helpHint:`Kurzbefehle & Hilfe`}},A={color:`Farbe`,mostUsedCustomColors:`Beliebteste benutzerdefinierte Farben`,colors:`Farben`,shades:`Schattierungen`,hexCode:`Hex-Code`,noShades:`Keine Schattierungen für diese Farbe verfügbar`,invalidColor:``,invalidHexLength:``,topPicksTip:``,resetTopPicks:``},j={action:{exportToImage:{title:`Als Bild exportieren`,button:`Als Bild exportieren`,description:`Exportiere die Zeichnungsdaten als Bild, aus dem du später importieren kannst.`},saveToDisk:{title:`Auf Festplatte speichern`,button:`Auf Festplatte speichern`,description:`Exportiere die Zeichnungsdaten in eine Datei, aus der du später importieren kannst.`},excalidrawPlus:{title:`Excalidraw+`,button:`Export nach Excalidraw+`,description:`Speichere die Szene in deinem Excalidraw+-Arbeitsbereich.`}},modal:{loadFromFile:{title:`Aus Datei laden`,button:`Aus Datei laden`,description:`Das Laden aus einer Datei wird <bold>deinen vorhandenen Inhalt ersetzen</bold>.<br></br>Du kannst deine Zeichnung zuerst mit einer der folgenden Optionen sichern.`},shareableLink:{title:`Aus Link laden`,button:`Meinen Inhalt ersetzen`,description:`Das Laden einer externen Zeichnung wird <bold>deinen vorhandenen Inhalt ersetzen</bold>.<br></br>Du kannst deine Zeichnung zuerst mit einer der folgenden Optionen sichern.`}}},M={title:`Mermaid zu Excalidraw`,button:`Einfügen`,description:`Derzeit werden nur <flowchartLink>Flussdiagramme</flowchartLink>, <sequenceLink>Sequenzdiagramme</sequenceLink>, <classLink>Klassendiagramme</classLink> und <erdLink>Entity-Relationship-Diagramme</erdLink> unterstützt. Die anderen Typen werden als Bild in Excalidraw dargestellt.`,syntax:`Mermaid-Syntax`,preview:`Vorschau`,label:`Mermaid`,inputPlaceholder:`Mermaid-Diagrammdefinition hier eingeben...`,autoFixAvailable:`Automatische Korrektur verfügbar`},N={error:`Fehler!`},P={inputPlaceholder:`Beschreibe hier deine Diagrammidee... ({{shortcut}} für neue Zeile)`,inputPlaceholderWithMessages:`Diagramm weiter verfeinern...`,generating:`Wird erstellt...`,rateLimitRemaining:`{{count}} Anfragen heute verbleibend`,role:{user:`Du`,assistant:`KI-Assistent`,system:`System`},aiBeta:`KI Beta`,label:`Chat`,menu:`Menü`,newChat:`Neuer Chat`,deleteChat:`Chat löschen`,deleteMessage:`Nachricht löschen`,viewAsMermaid:`Als Mermaid anzeigen`,placeholder:{title:`Gestalte dein Diagramm`,description:`Beschreibe das Diagramm, das du erstellen möchtest, und wir generieren es für dich.`,hint:``},preview:`Vorschau`,insert:`Einfügen`,retry:`Erneut versuchen`,errors:{promptTooShort:`Eingabe zu kurz (min. {{min}} Zeichen)`,promptTooLong:`Eingabe zu lang (max. {{max}} Zeichen)`,generationFailed:`Erstellung fehlgeschlagen`,invalidDiagram:`Ungültiges Diagramm erstellt :(. Du kannst es manuell bearbeiten, mit automatischer Korrektur erneut versuchen oder eine andere Eingabe verwenden.`,fixInMermaid:`Mermaid manuell bearbeiten →`,aiRepair:`Neu generieren (Auto-Korrektur) →`,requestAborted:`Anfrage abgebrochen`,requestFailed:`Anfrage fehlgeschlagen`,mermaidParseError:`Mermaid-Syntaxfehler`},rateLimit:{messageLimit:`Du hast dein KI-Limit im kostenlosen Tarif erreicht. Probiere Excalidraw+ für mehr oder komme morgen wieder.`,generalRateLimit:`Nicht so schnell! Bitte warte einen Moment, bevor du es erneut versuchst.`,messageLimitInputPlaceholder:`Nachrichtenlimit erreicht`},upsellBtnLabel:`Auf Plus upgraden`},F={placeholder:`Schnellsuche`},I={badge:{old:`alt`},sceneFonts:`In dieser Szene`,availableFonts:`Verfügbare Schriftarten`,empty:`Keine Schriftarten gefunden`},L={empty:`Keine Benutzer gefunden`,hint:{text:`Klicke auf Benutzer um zu folgen`,followStatus:`Du folgst derzeit diesem Benutzer`,inCall:`Benutzer ist in einem Sprachanruf`,micMuted:`Mikrofon des Benutzers ist stumm geschaltet`,isSpeaking:`Benutzer spricht`}},R={title:`Befehlspalette`,shortcuts:{select:`Auswählen`,confirm:`Bestätigen`,close:`Schließen`},recents:`Zuletzt verwendet`,search:{placeholder:`Suche in Menüs und Befehlen, entdecke versteckte Funktionen`,noMatch:`Keine passenden Befehle...`},itemNotAvailable:`Befehl ist nicht verfügbar...`,shortcutHint:`Benutze {{shortcut}} für Befehlspalette`},z={ctrl:`Strg`,option:`Option`,cmd:`Cmd`,alt:`Alt`,escape:`Esc`,enter:`Eingabe`,shift:`Umschalt`,spacebar:`Leertaste`,delete:`Löschen`,mmb:`Mausrad`},B={labels:e,elementLink:t,library:n,search:r,buttons:i,alerts:a,errors:o,toolBar:s,bucketfill:c,element:l,headings:u,hints:d,canvasError:f,errorSplash:p,shareDialog:m,roomDialog:h,errorDialog:g,progressDialog:_,exportDialog:v,helpDialog:y,clearCanvasDialog:b,publishDialog:x,publishSuccessDialog:S,confirmDialog:C,imageExportDialog:w,encrypted:T,stats:E,toast:D,colors:O,welcomeScreen:k,colorPicker:A,overwriteConfirm:j,mermaid:M,ttd:N,chat:P,quickSearch:F,fontList:I,userList:L,commandPalette:R,keys:z};export{a as alerts,c as bucketfill,i as buttons,f as canvasError,P as chat,b as clearCanvasDialog,A as colorPicker,O as colors,R as commandPalette,C as confirmDialog,B as default,l as element,t as elementLink,T as encrypted,g as errorDialog,p as errorSplash,o as errors,v as exportDialog,I as fontList,u as headings,y as helpDialog,d as hints,w as imageExportDialog,z as keys,e as labels,n as library,M as mermaid,j as overwriteConfirm,_ as progressDialog,x as publishDialog,S as publishSuccessDialog,F as quickSearch,h as roomDialog,r as search,m as shareDialog,E as stats,D as toast,s as toolBar,N as ttd,L as userList,k as welcomeScreen};
@@ -0,0 +1 @@
1
+ .comments-drawer{width:var(--preview-floating-comments-width,var(--panel-comments-width));min-width:var(--panel-comments-min-width);border-left:1px solid var(--color-divider);background:var(--color-surface);flex-direction:column;min-height:0;display:flex}.comments-drawer-header{padding:var(--space-3);border-bottom:1px solid var(--color-divider);background:var(--color-surface)}.comments-drawer-title{color:var(--color-comment);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.comments-drawer-empty{margin:auto 0}.comments-drawer-list{padding:var(--space-2) var(--space-2) var(--space-4);flex-direction:column;gap:0;display:flex;overflow:auto}.comment-overview-panel{padding:var(--space-2) var(--space-2) var(--space-4);background:var(--color-surface);flex:1;overflow:hidden auto}.comment-overview-empty{min-height:160px}.comment-overview-file{padding:var(--space-2) 0 var(--space-1)}.comment-overview-file+.comment-overview-file{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-divider)}.comment-overview-file-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);padding:2px var(--space-1) var(--space-1);display:flex}.comment-overview-file-title-wrap{gap:2px;min-width:0;display:grid}.comment-overview-file-title{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;font-weight:650;overflow:hidden}.comment-overview-file-path{color:var(--color-text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-meta);line-height:1.1;overflow:hidden}.comment-overview-file-count,.file-tree-comment-count{border:1px solid oklch(from var(--color-comment) l c h / .2);border-radius:var(--radius-full);background:var(--color-comment-soft);min-width:18px;height:18px;color:var(--color-comment);justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.comment-overview-thread{gap:var(--space-1);width:100%;padding:var(--space-2);border-radius:var(--radius-md);color:var(--color-text);text-align:left;cursor:pointer;transition:background var(--transition-interactive), border-color var(--transition-interactive), box-shadow var(--transition-interactive);background:0 0;border:1px solid #0000;margin:0 0 2px;display:grid}.comment-overview-thread:hover{background:var(--surface-comment-record-hover);box-shadow:none;border-color:#0000}.comment-overview-thread:focus-visible{border-color:var(--border-comment-strong);background:var(--surface-comment-record-hover);box-shadow:var(--shadow-focus-compact);outline:none}.comment-overview-thread-header,.comment-overview-thread-footer{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;display:flex}.comment-overview-thread-line{border-radius:var(--radius-full);background:var(--color-comment-soft);min-width:0;max-width:58%;color:var(--color-comment);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-caption);align-items:center;padding:2px 6px;font-weight:700;line-height:1.2;display:inline-flex;overflow:hidden}.comment-overview-thread-meta{white-space:nowrap;flex-shrink:0}.comment-overview-thread-meta,.comment-overview-thread-footer{color:var(--color-text-faint);font-size:var(--text-meta);line-height:1.2}.comment-overview-thread-body{gap:var(--space-1);min-width:0;display:grid}.comment-overview-thread-section{gap:2px;min-width:0;display:grid}.comment-overview-thread-section-label{color:var(--color-comment);font-size:var(--text-micro);letter-spacing:.03em;text-transform:uppercase;font-weight:700;line-height:1.2}.comment-overview-thread-quote,.comment-overview-thread-preview,.comment-overview-thread-author,.comment-overview-thread-message-count{overflow-wrap:anywhere;text-wrap:pretty;margin:0;display:block;overflow:hidden}.comment-overview-thread-quote{padding-left:var(--space-2);border-left:2px solid var(--border-comment-active);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-meta);white-space:pre-wrap;line-height:1.35}.comment-overview-thread-preview.comment-markdown{color:var(--color-text);font-size:var(--text-ui-sm);font-weight:520;line-height:1.35}.comment-overview-thread-preview.comment-markdown>*{margin:0}.comment-overview-thread-preview.comment-markdown>*+*{margin-top:var(--space-1)}.comment-overview-thread-author,.comment-overview-thread-message-count{-webkit-line-clamp:1}.comment-overview-thread-author{min-width:0}.comment-overview-thread-message-count{flex-shrink:0}.file-tree-comment-count{min-width:16px;height:16px;font-size:var(--text-caption);margin-left:auto}.file-tree-file.has-comments .file-tree-name{padding-right:4px}.comment-editor-layer,.comment-preview-layer,.comment-preview-highlights{pointer-events:none;position:absolute;inset:0;overflow:visible}.comment-marker-icon{flex:none;width:12px;height:12px;display:inline-flex}.comment-marker-icon svg{width:100%;height:100%;display:block}.comment-marker-count{line-height:1}.comment-selection-chip{position:absolute}.comment-preview-selection-chip{--ui-chip-color:var(--color-comment);z-index:2;box-shadow:var(--shadow-sm);pointer-events:auto;position:absolute}@media (pointer:coarse){.comment-preview-selection-chip{min-height:44px;padding-inline:var(--space-3)}}.comment-preview-highlight{border:1px solid oklch(from var(--color-comment) l c h / .16);border-radius:var(--radius-sm);background:var(--color-comment-soft);opacity:.56;transition:opacity .14s,background-color .14s,border-color .14s;position:absolute}.comment-preview-highlight.is-passive{opacity:.32}.comment-preview-highlight.is-hovered{opacity:.72;border-color:oklch(from var(--color-comment) l c h / .24);background:var(--surface-comment-highlight-hover)}.comment-preview-highlight.is-active{opacity:.9;border-color:oklch(from var(--color-comment) l c h / .3);background:var(--surface-comment-highlight-active)}.comment-card-root{z-index:50;position:fixed}.comment-card{gap:var(--space-2);width:min(100%,520px);max-height:min(78vh,720px);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-card-strong);flex-direction:column;animation:.14s cubic-bezier(.16,1,.3,1) comment-card-in;display:flex;overflow:hidden}.comment-card-header{flex-shrink:0}.comment-card-scroll{gap:var(--space-2);flex-direction:column;min-height:0;padding-right:2px;display:flex;overflow:auto}.comment-card-title{font-size:var(--text-title-sm);letter-spacing:-.01em;font-weight:700}.comment-card-meta{color:var(--color-comment);font-size:var(--text-meta);letter-spacing:.05em;text-transform:uppercase;margin-top:2px;font-weight:700}.comment-card-anchor-note{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface-comment-offset-soft);color:var(--color-text-muted);font-size:var(--text-label)}.comment-card-close,.comment-thread-card-action{min-height:26px;color:var(--color-text-faint);font-size:var(--text-meta);transition:color var(--transition-interactive), background var(--transition-interactive), border-color var(--transition-interactive);background:0 0;border:1px solid #0000;padding-inline:7px}.comment-card-close:hover,.comment-thread-card-action:hover{color:var(--color-text);background:var(--surface-comment-offset-soft);border-color:oklch(from var(--color-comment) l c h / .16)}.comment-thread-card-action.is-active{border-color:oklch(from var(--color-comment) l c h / .2);background:var(--surface-comment-offset-active);color:var(--color-text)}.comment-thread-card-action.is-danger{color:var(--color-error)}.comment-card-quote,.comment-thread-card-excerpt{padding:var(--space-2) var(--space-3);border:0;border-left:2px solid var(--border-comment-active);background:var(--color-surface-offset);color:var(--color-text-muted);font-size:var(--text-label);border-radius:0}.comment-card-quote{overflow-wrap:anywhere;max-height:11rem;padding-bottom:calc(var(--space-3) + 2px);white-space:pre-wrap;word-break:break-word;scrollbar-width:thin;font-family:var(--font-mono);font-size:var(--text-code-sm);line-height:1.65;overflow:auto}.comment-card-form,.comment-reply-form{gap:var(--space-3);flex-direction:column;display:flex}.comment-card-actions{justify-content:flex-end}.ui-input.comment-card-input,.ui-input.comment-reply-input{padding:var(--space-2) var(--space-3);border-color:var(--border-comment-strong);background:var(--surface-comment-subtle);caret-color:var(--color-comment);line-height:1.5}.ui-input.comment-card-input:hover:not(:focus),.ui-input.comment-reply-input:hover:not(:focus){border-color:var(--border-comment-active)}.ui-input.comment-card-input:focus,.ui-input.comment-reply-input:focus{border-color:var(--color-comment);background:var(--surface-comment-elevated);box-shadow:var(--shadow-comment-outline), 0 0 0 3px var(--color-comment-soft)}.comment-card-input{resize:vertical;min-height:88px}.comment-thread-card{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-divider);flex-direction:column;display:flex}.comment-message-card-author{font-size:var(--text-label);font-weight:700}.comment-message-card-time{color:var(--color-text-faint);font-size:var(--text-meta)}.comment-thread-card-actions{justify-content:flex-end;gap:var(--space-1);margin-left:auto}.comment-message-card{padding:var(--space-2) 0 0;border:0;border-top:1px solid var(--color-divider);background:0 0;border-radius:0}.comment-message-card.is-thread-start{border-top:0;padding-top:0}.comment-message-card-body{margin-top:var(--space-1);font-size:var(--text-label);line-height:1.55}.comment-reaction-bar{justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.comment-reaction-chips{gap:var(--space-1);flex-wrap:wrap;display:flex}.comment-reaction-actions{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.comment-reaction-quick-add,.comment-reaction-picker-btn{border-radius:var(--radius-sm);width:30px;min-width:30px;min-height:30px;font-size:var(--text-title-sm)}.comment-reaction-chip-emoji,.comment-reaction-chip-count{line-height:1}.comment-reaction-picker-wrap{display:inline-flex;position:relative}.comment-reaction-picker{z-index:2;gap:var(--space-2);min-width:220px;padding:var(--space-3);border:1px solid var(--border-comment-strong);border-radius:var(--radius-lg);background:var(--surface-comment-elevated);box-shadow:var(--shadow-lg);scrollbar-width:thin;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.comment-reaction-picker.is-upward{top:auto;bottom:calc(100% + 8px)}.comment-reaction-picker-grid{gap:var(--space-2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}@keyframes comment-card-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.comment-markdown{color:var(--color-text);font-size:var(--text-label);line-height:1.65}.comment-markdown>:first-child{margin-top:0}.comment-markdown>:last-child{margin-bottom:0}.comment-markdown p,.comment-markdown ul,.comment-markdown ol,.comment-markdown blockquote,.comment-markdown pre,.comment-markdown .comment-markdown-table,.comment-markdown table{max-width:none}.comment-markdown p,.comment-markdown ul,.comment-markdown ol,.comment-markdown blockquote,.comment-markdown pre,.comment-markdown .comment-markdown-table{margin:var(--space-2) 0}.comment-markdown li+li{margin-top:4px}.comment-markdown ul,.comment-markdown ol{padding-left:var(--space-5)}.comment-markdown a{color:var(--color-primary);overflow-wrap:anywhere;text-decoration:underline}.comment-markdown blockquote{padding:var(--space-2) var(--space-3);border-left:3px solid oklch(from var(--color-comment) l c h / .45);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--surface-comment-offset-strong);color:var(--color-text-muted)}.comment-markdown code{border-radius:var(--radius-sm);background:var(--surface-comment-offset-soft);color:var(--color-primary);font-family:var(--font-mono);padding:2px 6px;font-size:.9em}.comment-markdown pre{border:1px solid var(--border-comment-muted);border-radius:var(--radius-lg);background:var(--surface-comment-elevated);max-width:100%;overflow:auto}.comment-markdown pre code{width:max-content;min-width:100%;padding:var(--space-3);color:var(--color-text);white-space:pre;font-size:var(--text-label);background:0 0;line-height:1.6;display:block}.comment-markdown .comment-markdown-table{border:1px solid var(--border-comment-muted);border-radius:var(--radius-md);overflow:auto}.comment-markdown table{border-collapse:collapse;width:100%}.comment-markdown th,.comment-markdown td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-divider);text-align:left;font-size:var(--text-label)}.comment-markdown th{background:var(--surface-comment-offset)}.comment-markdown-preview>:not(pre):not(blockquote):not(.comment-markdown-table){-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.comment-markdown-preview pre code{width:100%;min-width:0;max-height:6.6rem;overflow:hidden}.comment-markdown-preview .comment-markdown-table{display:none}
@@ -0,0 +1 @@
1
+ .git-panel{flex-direction:column;flex:1;display:flex;overflow-y:auto}.git-panel.active{display:flex}.git-branch-bar{align-items:stretch;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--color-divider);font-size:var(--text-xs);flex-direction:column;display:flex}.git-branch-meta{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-width:0;display:flex}.git-branch-name{border-radius:var(--radius-sm);background:var(--color-surface-offset);min-width:0;max-width:100%;color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-label);align-items:center;gap:6px;padding:3px 8px;font-weight:500;display:inline-flex}.git-branch-name svg{color:var(--color-primary);flex-shrink:0}.git-sync-info{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-meta);flex-shrink:0;display:inline-flex}.git-sync-metric{align-items:center;gap:2px;display:inline-flex}.git-sync-metric--ahead{color:var(--color-success)}.git-sync-metric--behind,.git-sync-info-muted{color:var(--color-text-faint)}.git-change-stats{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-meta);flex-shrink:0;font-weight:600;display:inline-flex}.git-branch-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;display:grid}.ui-segmented-control.git-panel-mode-switch{background:var(--color-surface-offset);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;display:inline-grid}.ui-segmented-control--pill.git-panel-mode-switch{border-radius:var(--radius-full);padding:3px}.ui-segmented-control.git-panel-mode-switch .git-panel-mode-btn{min-width:0;min-height:28px;padding:0 var(--space-3);border-radius:var(--radius-full);color:var(--color-text-muted);font-size:var(--text-meta);transition:background var(--transition-interactive), color var(--transition-interactive), box-shadow var(--transition-interactive);font-weight:700}.ui-segmented-control.git-panel-mode-switch .git-panel-mode-btn:hover{color:var(--color-text)}.ui-segmented-control.git-panel-mode-switch .git-panel-mode-btn.active,.ui-segmented-control.git-panel-mode-switch .git-panel-mode-btn[aria-selected=true]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.git-branch-actions .ui-action-pill{justify-content:center;width:100%}.git-branch-actions .ui-action-pill svg{flex-shrink:0}.git-change-add{color:var(--diff-add-text)}.git-change-del{color:var(--diff-del-text)}.git-panel-footer{padding:var(--space-3);border-top:1px solid var(--color-divider);margin-top:auto}.git-panel-footer-actions{gap:var(--space-2);flex-direction:column;display:flex}.git-panel-footer-actions .ui-action-button{width:100%}.git-footer-commit-btn{border:1px solid var(--border-accent-soft);background:var(--surface-accent-soft);width:100%;color:var(--color-primary)}.git-footer-commit-btn:hover:not(:disabled){background:var(--surface-accent-strong)}.git-panel-empty{padding:var(--space-4);color:var(--color-text-faint);text-align:center;font-size:var(--text-xs)}.git-section{border-bottom:1px solid var(--color-divider)}.git-section-header{width:100%;padding:var(--space-2) var(--space-3);color:var(--color-text-muted);font-size:var(--text-meta);letter-spacing:.05em;text-transform:uppercase;text-align:left;background:0 0;align-items:center;gap:6px;font-weight:600;display:flex}.git-section-header:hover{background:var(--color-surface-offset)}.git-section-count{min-height:20px}.git-section-chevron{color:var(--color-text-faint);transition:transform .15s}.git-section-chevron.collapsed{transform:rotate(-90deg)}.git-file-list{padding:var(--space-1) 0}.git-file-row{margin:0 var(--space-2) 2px;--ui-item-row-bg-hover:var(--color-surface-offset);--ui-item-row-bg-active:var(--color-primary-highlight)}.git-file-item{padding:var(--space-1) var(--space-2) var(--space-1) calc(var(--space-2) + 10px);border-radius:var(--radius-sm);color:var(--color-text-muted);text-align:left;transition:color var(--transition-interactive);background:0 0}.git-file-item:hover{color:var(--color-text)}.git-file-item.active{color:var(--color-primary)}.git-file-row.active .git-file-path{color:color-mix(in oklab, var(--color-primary) 56%, var(--color-text-muted))}.git-file-icon{opacity:.5;flex-shrink:0}.git-file-copy{min-width:0}.git-file-name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-ui-sm);overflow:hidden}.git-file-path{color:var(--color-text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-meta);overflow:hidden}.git-file-actions{padding-right:4px}.git-file-actions .ui-action-icon{width:30px}.git-file-row.active .ui-action-icon--surface{background:var(--surface-accent-subtle);color:var(--color-text)}.git-history-list{gap:var(--space-1);padding:var(--space-3);flex-direction:column;display:flex}.git-history-row{--ui-record-padding:var(--space-2) var(--space-3);--ui-record-gap:4px;--ui-record-border:transparent;--ui-record-bg:transparent;--ui-record-border-hover:transparent;--ui-record-bg-hover:var(--color-surface-offset);--ui-record-border-active:transparent;--ui-record-bg-active:var(--color-surface-offset)}.git-history-subject{color:var(--color-text);font-size:var(--text-label);font-weight:700}.git-history-row-top,.git-history-row-meta,.git-history-row-stats{gap:var(--space-2)}.git-history-hash{flex-shrink:0}.git-history-row-meta{color:var(--color-text-faint);font-size:var(--text-caption)}.git-history-row-stats{font-family:var(--font-mono);font-size:var(--text-caption);font-weight:700}.git-history-footer{padding:0 var(--space-3) var(--space-3)}.git-history-load-more{width:100%}.file-history-shell{--file-history-shell-chrome-offset:calc(var(--toolbar-h) + var(--control-h-md) + (var(--space-2) * 2) + (var(--space-3) * 2) + 1px);box-sizing:border-box;align-items:start;gap:var(--space-3);width:100%;min-height:0;padding:var(--space-3);flex:1 0 auto;grid-template-columns:minmax(260px,320px) minmax(0,1fr);display:grid;overflow:visible}.file-history-sidebar,.file-history-detail{min-width:0}.file-history-sidebar{top:var(--space-4);align-self:start;gap:var(--space-3);max-height:calc(100dvh - var(--file-history-shell-chrome-offset));min-height:0;padding:var(--space-3);border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;display:flex;position:sticky;overflow:hidden}.file-history-sidebar-header{gap:var(--space-2);display:grid}.file-history-sidebar-copy{color:var(--color-text-muted);font-size:var(--text-caption);margin:0;line-height:1.5}.file-history-kicker{color:var(--color-text-faint);font-size:var(--text-caption);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.file-history-title{gap:var(--space-1);display:grid}.file-history-path{color:var(--color-text);font-size:var(--text-title-sm);font-weight:700}.file-history-dir{color:var(--color-text-muted);font-size:var(--text-caption)}.file-history-list{gap:var(--space-2);flex-direction:column;flex:auto;min-width:0;min-height:0;padding:0;display:flex;overflow:hidden auto}.file-history-item{--ui-record-padding:var(--space-3);--ui-record-gap:var(--space-2);--ui-record-border:transparent;--ui-record-bg:transparent;--ui-record-border-hover:transparent;--ui-record-bg-hover:var(--color-surface-offset);--ui-record-border-active:transparent;--ui-record-bg-active:var(--color-surface-offset);box-sizing:border-box;text-align:left;width:100%;max-width:100%;display:block}.file-history-item.active{border-color:#0000}.file-history-item-local{--ui-record-bg:var(--surface-accent-subtle)}.file-history-item-top,.file-history-item-copy{gap:var(--space-2);min-width:0;display:flex}.file-history-item-top{justify-content:space-between;align-items:flex-start}.file-history-item-copy{flex-direction:column;flex:1}.file-history-item-title{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-label);font-weight:700;overflow:hidden}.file-history-item-meta{color:var(--color-text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-caption);overflow:hidden}.file-history-item-badge{flex-shrink:0}.file-history-item-stats{gap:var(--space-2);color:var(--color-text-faint);font-family:var(--font-mono);font-size:var(--text-caption);font-weight:700;display:inline-flex}.file-history-footer{padding:0}.file-history-detail{align-self:start;gap:var(--space-3);grid-template-rows:auto auto;min-width:0;min-height:0;display:grid}.file-history-detail-header{align-content:start;align-items:start;gap:var(--space-3) var(--space-4);padding:var(--space-4);border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto;display:grid;overflow:hidden}.file-history-detail-copy{gap:var(--space-1);min-width:0;display:grid}.file-history-detail-kicker{color:var(--color-text-faint);font-size:var(--text-caption);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.file-history-detail-title{color:var(--color-text);font-size:var(--text-title-md);margin:0;font-weight:700;line-height:1.3}.file-history-detail-meta{color:var(--color-text-muted);font-size:var(--text-label);margin:0;line-height:1.5}.file-history-detail-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;flex-shrink:0;align-self:start;display:flex}.file-history-detail-body{border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;min-height:auto;overflow:auto hidden}.file-history-diff-block{width:max-content;min-width:100%;overflow:visible}.file-history-diff-block .diff-file-header,.file-history-diff-block .diff-hunk-header,.file-history-diff-block .diff-line,.file-history-diff-block .diff-split-hunk,.file-history-diff-block .diff-split-row{min-width:max-content}@media (width<=960px){.file-history-shell{flex:none;grid-template-columns:1fr;overflow:visible}.file-history-sidebar{max-height:none;position:static}}@media (width<=768px){.file-history-shell{padding:var(--space-3)}.file-history-detail-header{flex-direction:column}.file-history-detail-actions{justify-content:stretch;width:100%}.file-history-detail-actions .ui-button{flex:1}}.diff-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-divider);display:flex}.diff-toolbar-left,.diff-toolbar-right{align-items:center;gap:var(--space-3);display:flex}.diff-toolbar-actions,.diff-toolbar-actions-group{align-items:center;gap:var(--space-2);display:inline-flex}.diff-toolbar-actions-group-git{padding:var(--space-1);border-radius:var(--radius-md);background:var(--color-surface-offset);border:0}.diff-toolbar-actions-divider{width:1px;height:var(--control-h-xs);background:var(--color-divider);opacity:.9}.diff-open-editor-btn{min-width:116px}.diff-open-editor-btn:disabled{opacity:.45;cursor:not-allowed}.diff-back-btn{min-width:130px}.diff-file-nav{align-items:center;gap:var(--space-2);display:flex}.diff-file-nav .ui-icon-button--action:disabled{opacity:.3}.diff-file-indicator{color:var(--color-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.diff-stats{align-items:center;gap:var(--space-2);white-space:nowrap;display:inline-flex}.diff-scroll{flex:1;overflow:auto}.diff-content{min-width:fit-content;min-height:100%}.diff-content--history{width:100%;min-width:0;min-height:100%;display:flex}.diff-commit-header{gap:var(--space-2);padding:var(--space-4);border-bottom:1px solid var(--color-divider);background:var(--color-surface);flex-direction:column;display:flex}.diff-commit-subject{color:var(--color-text);font-size:var(--text-title-md);font-weight:700;line-height:1.3}.diff-commit-meta{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-label);flex-wrap:wrap;display:flex}.diff-commit-meta-secondary{color:var(--color-text-faint);font-family:var(--font-mono);font-size:var(--text-meta)}.diff-commit-shell{grid-template-columns:minmax(210px,242px) minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.diff-commit-index{top:var(--space-4);border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;gap:8px;max-height:calc(100dvh - 220px);padding:8px;display:flex;position:sticky;overflow:hidden}.diff-commit-index-header{color:var(--color-text-faint);font-size:var(--text-caption);letter-spacing:.1em;text-transform:uppercase;padding-inline:1px;font-weight:700}.diff-commit-index-list{flex-direction:column;gap:5px;padding-block-end:2px;display:flex;overflow:hidden auto}.diff-index-item{--ui-record-padding:8px 9px;--ui-record-gap:4px;--ui-record-border:transparent;--ui-record-bg:transparent;--ui-record-border-hover:transparent;--ui-record-bg-hover:var(--color-surface-offset);--ui-record-border-active:transparent;--ui-record-bg-active:var(--color-surface-offset)}.diff-index-item-top,.diff-index-item-meta{gap:6px}.diff-index-item-name{font-size:var(--text-label);font-weight:700}.diff-index-item-path{font-size:var(--text-caption)}.diff-index-item-meta{font-family:var(--font-mono);font-size:var(--text-caption)}.diff-commit-main{min-width:0}.diff-commit-sections{flex-direction:column;gap:10px;display:flex}.diff-commit-section{border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.diff-commit-section.active{border-color:var(--border-accent-strong)}.diff-commit-section-header{justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--color-surface);text-align:left;width:100%;padding:10px 14px;display:flex}.diff-commit-section-header:hover{background:var(--surface-fill-strong)}.diff-commit-section-main,.diff-commit-section-meta{align-items:center;gap:var(--space-2);min-width:0;display:flex}.diff-commit-section-main{flex:1}.diff-section-chevron{color:var(--color-text-faint);flex-shrink:0;transition:transform .15s}.diff-section-chevron.collapsed{transform:rotate(-90deg)}.diff-commit-section-copy{flex-direction:column;min-width:0;display:flex}.diff-commit-section-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-ui-sm);font-weight:700;overflow:hidden}.diff-commit-section-path{color:var(--color-text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-meta);overflow:hidden}.diff-commit-section-meta{font-family:var(--font-mono);font-size:var(--text-meta);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;font-weight:700}.diff-commit-section-body{padding:0}.diff-commit-shell-focused .diff-commit-main .diff-file-block{border:1px solid var(--color-divider);border-radius:var(--radius-lg);overflow:hidden}.diff-file-block{margin-bottom:0}.diff-file-header{z-index:5;align-items:center;gap:var(--space-2);border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);background:var(--color-surface-offset);padding:8px 14px;display:flex;position:sticky;top:0}.diff-file-header:first-child{border-top:none}.diff-file-path{color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-label);font-weight:500}.diff-file-header-stats{gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-meta);margin-left:auto;display:inline-flex}.diff-binary-message,.diff-empty-state{padding:var(--space-4);color:var(--color-text-faint)}.diff-limit-card{align-items:flex-start;gap:var(--space-2);padding:var(--space-4);border-top:1px solid var(--color-divider);color:var(--color-text-muted);flex-direction:column;display:flex}.diff-limit-card strong{color:var(--color-text);font-size:var(--text-sm)}.diff-load-full-btn{margin-top:var(--space-1);font-size:var(--text-label);font-weight:600}.diff-hunk-header,.diff-split-hunk{background:var(--diff-hunk-bg);color:var(--diff-hunk-text);font-family:var(--font-mono);font-size:var(--text-label);padding:4px 14px 4px 84px}.diff-line{min-height:20px;font-family:var(--font-mono);font-size:var(--text-ui-sm);align-items:stretch;line-height:20px;display:flex}.diff-line-numbers{-webkit-user-select:none;user-select:none;flex-shrink:0;display:flex}.diff-line-num{border-right:1px solid var(--color-divider);width:40px;color:var(--diff-gutter);text-align:right;font-size:var(--text-label);padding:0 8px}.diff-line-num:first-child{border-right:none}.diff-line-prefix{-webkit-user-select:none;user-select:none;flex-shrink:0;width:20px;padding-left:8px;font-weight:500}.diff-line-content{white-space:pre;tab-size:4;flex:1;padding:0 10px}.diff-line.addition{background:var(--diff-add-bg)}.diff-line.addition .diff-line-num{background:var(--diff-add-line-bg);color:var(--diff-add-text)}.diff-line.addition .diff-line-prefix{color:var(--diff-add-text)}.diff-line.deletion{background:var(--diff-del-bg)}.diff-line.deletion .diff-line-num{background:var(--diff-del-line-bg);color:var(--diff-del-text)}.diff-line.deletion .diff-line-prefix{color:var(--diff-del-text)}.diff-line.note{background:var(--color-surface-offset);color:var(--color-text-faint)}.diff-highlight-add{border-radius:var(--radius-2xs);background:var(--diff-add-line-bg);padding:0 1px}.diff-highlight-del{border-radius:var(--radius-2xs);background:var(--diff-del-line-bg);padding:0 1px}.diff-split{display:block}.diff-split-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.diff-split-pane-header{display:none}.diff-split-line{min-height:20px;font-family:var(--font-mono);font-size:var(--text-ui-sm);line-height:20px;display:flex}.diff-split-line:first-child{border-right:1px solid var(--color-divider)}.diff-split-num{border-right:1px solid var(--color-divider);width:44px;color:var(--diff-gutter);text-align:right;font-size:var(--text-label);padding:0 8px}.diff-split-content{white-space:pre;tab-size:4;flex:1;padding:0 10px}.diff-split-line.addition{background:var(--diff-add-bg)}.diff-split-line.addition .diff-split-num{background:var(--diff-add-line-bg);color:var(--diff-add-text)}.diff-split-line.deletion{background:var(--diff-del-bg)}.diff-split-line.deletion .diff-split-num{background:var(--diff-del-line-bg);color:var(--diff-del-text)}.diff-split-line.empty{background:var(--color-surface-offset);opacity:.45}.diff-special{padding:var(--space-4);border-top:1px solid var(--color-divider);background:var(--color-surface)}.diff-special-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.diff-special-eyebrow{color:var(--color-primary);font-size:var(--text-meta);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-weight:700;display:block}.diff-special-title{color:var(--color-text);font-size:var(--text-ui-sm);margin:0;font-weight:700}.diff-special-note,.diff-special-footnote{color:var(--color-text-faint);font-size:var(--text-meta)}.diff-special-note{font-family:var(--font-mono);flex-shrink:0}.diff-special-footnote{margin:var(--space-3) 0 0}.diff-media-grid,.diff-excalidraw-grid,.diff-drawio-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.diff-media-pane,.diff-excalidraw-pane,.diff-drawio-pane{border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-surface-offset);min-width:0;overflow:hidden}.diff-media-pane-header,.diff-excalidraw-pane-header,.diff-drawio-pane-header{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:34px;padding:0 var(--space-3);border-bottom:1px solid var(--color-divider);display:flex}.diff-media-pane-label{color:var(--color-text);font-size:var(--text-label);font-weight:700}.diff-media-pane-meta{color:var(--color-text-faint);font-family:var(--font-mono);font-size:var(--text-meta);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.diff-media-canvas{min-height:280px;padding:var(--space-4);background-color:var(--color-surface);background-image:linear-gradient(45deg, color-mix(in oklab, var(--color-text) 5%, transparent) 25%, transparent 25%, transparent 75%, color-mix(in oklab, var(--color-text) 5%, transparent) 75%), linear-gradient(45deg, color-mix(in oklab, var(--color-text) 5%, transparent) 25%, transparent 25%, transparent 75%, color-mix(in oklab, var(--color-text) 5%, transparent) 75%);background-position:0 0,8px 8px;background-size:16px 16px;justify-content:center;align-items:center;display:flex}.diff-media-image{object-fit:contain;border-radius:var(--radius-sm);width:auto;max-width:100%;max-height:380px;box-shadow:var(--shadow-md);display:block}.diff-media-empty{align-items:center;gap:var(--space-2);color:var(--color-text-faint);font-size:var(--text-meta);text-align:center;flex-direction:column;display:flex}.diff-media-empty-icon{border:1px solid var(--color-divider);width:30px;height:30px;color:var(--color-text-muted);font-size:var(--text-title-md);border-radius:50%;place-items:center;display:grid}.diff-file-header-kind{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-meta);margin-left:auto}.diff-scene-summary{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.diff-scene-stat{border-radius:var(--radius-sm);background:var(--color-surface-offset);font-family:var(--font-mono);font-size:var(--text-meta);align-items:baseline;gap:5px;padding:5px 8px;display:inline-flex}.diff-scene-stat strong{font-size:var(--text-ui-sm)}.diff-scene-stat--add strong{color:var(--diff-add-text)}.diff-scene-stat--update strong{color:var(--color-primary)}.diff-scene-stat--remove strong{color:var(--diff-del-text)}.diff-excalidraw-preview{min-height:220px;padding:var(--space-3);background:var(--surface-embed-canvas);justify-content:center;align-items:center;display:flex}.diff-excalidraw-preview svg{width:100%;height:220px;display:block}.diff-excalidraw-preview-loading,.diff-excalidraw-preview--empty,.diff-excalidraw-preview.is-error{color:var(--color-text-faint);font-size:var(--text-meta)}.diff-excalidraw-preview.is-error{background:var(--color-surface-offset)}.diff-excalidraw-source{border-top:1px solid var(--color-divider)}.diff-excalidraw-source summary{padding:8px var(--space-3);color:var(--color-text-muted);cursor:pointer;font-size:var(--text-meta);font-weight:600}.diff-excalidraw-source summary:hover{color:var(--color-text)}.diff-excalidraw-source pre{max-height:300px;padding:var(--space-3);border-top:1px solid var(--color-divider);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-meta);white-space:pre;margin:0;line-height:1.55;overflow:auto}.diff-excalidraw-diff .diff-load-full-btn{margin-top:var(--space-3)}.diff-drawio-preview{background:var(--surface-embed-canvas);justify-content:center;align-items:stretch;min-height:280px;display:flex;overflow:hidden}.diff-drawio-preview .drawio-viewer-frame{cursor:default;min-height:280px}.diff-drawio-preview-loading,.diff-drawio-preview--empty,.diff-drawio-preview.is-error{width:100%;color:var(--color-text-faint);font-size:var(--text-meta);justify-content:center;align-items:center}.diff-drawio-preview.is-error{background:var(--color-surface-offset)}.diff-drawio-source{border-top:1px solid var(--color-divider)}.diff-drawio-source summary{padding:8px var(--space-3);color:var(--color-text-muted);cursor:pointer;font-size:var(--text-meta);font-weight:600}.diff-drawio-source summary:hover{color:var(--color-text)}.diff-drawio-source pre{max-height:300px;padding:var(--space-3);border-top:1px solid var(--color-divider);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-meta);white-space:pre;margin:0;line-height:1.55;overflow:auto}@media (width<=768px){.diff-media-grid,.diff-excalidraw-grid,.diff-drawio-grid{grid-template-columns:1fr}.diff-special-header{gap:var(--space-1);flex-direction:column}.diff-media-canvas{min-height:220px}}