@layers-app/editor 0.7.79 → 0.7.80

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 (227) hide show
  1. package/README.md +831 -831
  2. package/dist/index.cjs +2 -2
  3. package/dist/index.d.ts +5 -65
  4. package/dist/index.js +12 -14
  5. package/dist/{layers.BmzD2tT6.js → layers.1RzIWkbc.js} +1 -1
  6. package/dist/{layers.BW8tHuyL.js → layers.22OwLzn6.js} +1 -1
  7. package/dist/{layers.UnFXRP-h.js → layers.2cyuAZun.js} +2 -2
  8. package/dist/{layers.CoOD1WPr.js → layers.6pSekvvf.js} +1 -1
  9. package/dist/{layers.Igj9Z_X5.js → layers.8WCrN2ad.js} +1 -1
  10. package/dist/{layers.hXAYMeaM.js → layers.8mYPf7xD.js} +1 -1
  11. package/dist/{layers.DUu5ONqk.js → layers.B0u3In0b.js} +1 -1
  12. package/dist/{layers.QSWdqOub.js → layers.B24JyoKk.js} +1 -1
  13. package/dist/{layers.CCKu4hKE.js → layers.B3u4xcdj.js} +6 -6
  14. package/dist/{layers.BkHmSHan.js → layers.B40IHM65.js} +1 -1
  15. package/dist/{layers.DkoCrPjT.js → layers.B6P6vQKV.js} +1 -1
  16. package/dist/{layers.MusRfIms.js → layers.B6dlNMff.js} +1 -1
  17. package/dist/{layers.DuGuDpd7.js → layers.B8An4u_b.js} +1 -1
  18. package/dist/{layers.ZZ3oZOeo.js → layers.B9Z3Ur7l.js} +1 -1
  19. package/dist/{layers.Dwpj_vFw.js → layers.BAMww3rb.js} +1 -1
  20. package/dist/{layers.CTjRAJwk.js → layers.BAeib8yb.js} +3 -3
  21. package/dist/{layers.abCaEHQx.js → layers.BAsKCofi.js} +1 -1
  22. package/dist/{layers.c2NkOi_M.js → layers.BBro-hAN.js} +1 -1
  23. package/dist/{layers.BEadygXO.js → layers.BBxbfugt.js} +1 -1
  24. package/dist/layers.BI7kcxqb.js +213 -0
  25. package/dist/{layers.BapitDDl.js → layers.BIwtYDXR.js} +1 -1
  26. package/dist/{layers.lmJ2S5UE.js → layers.BJ1vit34.js} +4 -4
  27. package/dist/{layers.BLfjvoiA.js → layers.BJAcbSTt.js} +1 -1
  28. package/dist/{layers.DhnMVCTe.js → layers.BMUfI2PN.js} +1 -1
  29. package/dist/layers.BM_5n4ZU.js +1 -0
  30. package/dist/{layers.CArpuehS.js → layers.BMdiGswb.js} +1 -1
  31. package/dist/{layers.CI9mmWI6.js → layers.BMwFpHeV.js} +3 -3
  32. package/dist/{layers.CFCTy-Yu.js → layers.BNev292u.js} +1 -1
  33. package/dist/{layers.D1EG4_KB.js → layers.BNh1FgZF.js} +2 -2
  34. package/dist/{layers.BKvr1Tcc.js → layers.BOWLccgp.js} +1 -1
  35. package/dist/{layers.DOkhborM.js → layers.BRvA5ifn.js} +1 -1
  36. package/dist/{layers.BqByVzA3.js → layers.BSFP7tAA.js} +1 -1
  37. package/dist/{layers.DKm2qNyS.js → layers.BTwe7VCT.js} +3 -3
  38. package/dist/{layers.DLJD83oe.js → layers.BUDEiu09.js} +1 -1
  39. package/dist/{layers.DrytRiPP.js → layers.BURoXmdK.js} +1 -1
  40. package/dist/{layers.D56Tfhmk.js → layers.BW7kzRZc.js} +1 -1
  41. package/dist/{layers.2kl1aRUj.js → layers.BWc5_P-b.js} +1 -1
  42. package/dist/{layers.COzdgI_q.js → layers.BX3cFaBm.js} +1 -1
  43. package/dist/{layers.C1FTyTvU.js → layers.BXOoRhh6.js} +1 -1
  44. package/dist/{layers.CqZWYINg.js → layers.BXbVpU9W.js} +1 -1
  45. package/dist/{layers.j9IemQgB.js → layers.BXdXCgHV.js} +1 -1
  46. package/dist/{layers.cPP8dR9B.js → layers.BXvhxGng.js} +1 -1
  47. package/dist/{layers.BRDVo5EI.js → layers.BZlspDVg.js} +1 -1
  48. package/dist/{layers.7kExnlZ3.js → layers.BaKveiRs.js} +1 -1
  49. package/dist/layers.Bca3vBlL.js +1 -0
  50. package/dist/{layers.BvCFLeTR.js → layers.BdEnN7Vm.js} +1 -1
  51. package/dist/{layers.BzDN8T7e.js → layers.BgS5gwlo.js} +1 -1
  52. package/dist/{layers.CjfPccZD.js → layers.BgyswSjW.js} +3 -3
  53. package/dist/{layers.DbYcHeQn.js → layers.Bh9lr7K_.js} +1 -1
  54. package/dist/{layers.D4c48hOc.js → layers.BixUexvt.js} +24 -24
  55. package/dist/{layers.bHeq9TkF.js → layers.BkTtj5hL.js} +3 -3
  56. package/dist/{layers.D6Atcltc.js → layers.BlDV_oXy.js} +1 -1
  57. package/dist/layers.BnB1IrS5.js +76 -0
  58. package/dist/{layers.Cu9_FKnF.js → layers.Brb6xMSO.js} +1 -1
  59. package/dist/layers.Bs9suENq.js +271 -0
  60. package/dist/{layers.DBVHuw-w.js → layers.BuXF8ay4.js} +1 -1
  61. package/dist/{layers.PRjOncxz.js → layers.BxF6m5NV.js} +1 -1
  62. package/dist/{layers.COkRWQkr.js → layers.By0F4vmy.js} +1 -1
  63. package/dist/{layers.DsQWXcJg.js → layers.ByZhkPD0.js} +1 -1
  64. package/dist/{layers.BleVyog3.js → layers.BygYCyeB.js} +3 -3
  65. package/dist/{layers.BTdD6Q_D.js → layers.ByjjyW9E.js} +1 -1
  66. package/dist/{layers.CXCD93Xx.js → layers.Bywygiho.js} +2 -2
  67. package/dist/{layers.Ce_vM4CM.js → layers.BzIeKO-1.js} +1 -1
  68. package/dist/{layers.DG-JxETp.js → layers.BzkexDjQ.js} +4 -4
  69. package/dist/{layers.CjEUyNjP.js → layers.C-Ji1hv9.js} +1 -1
  70. package/dist/{layers.DvXoBIUZ.js → layers.C0hVuG75.js} +1 -1
  71. package/dist/{layers.DfYqcDoS.js → layers.C1nvhv2R.js} +1 -1
  72. package/dist/{layers.jEw_qKmc.js → layers.C3M7cP8G.js} +1 -1
  73. package/dist/layers.C4dPTDZJ.js +295 -0
  74. package/dist/layers.C5vj9Xfk.js +304 -0
  75. package/dist/{layers.LlaEJBRG.js → layers.C62v7DAV.js} +1 -1
  76. package/dist/{layers.C3u7j4et.js → layers.C9n51KQz.js} +1 -1
  77. package/dist/{layers.B2Rh_x8m.js → layers.CDME2TUW.js} +1 -1
  78. package/dist/{layers.DhiI16il.js → layers.CDlkbGxc.js} +1 -1
  79. package/dist/{layers.B8wcmc88.js → layers.CGOuL7q8.js} +1 -1
  80. package/dist/{layers.wLREEZrM.js → layers.CI4QWasd.js} +1 -1
  81. package/dist/{layers.B8BHbr5w.js → layers.CJ5ZKCxD.js} +1 -1
  82. package/dist/{layers.Db1m4LYG.js → layers.CJ81GZER.js} +1 -1
  83. package/dist/{layers.B6bs5Fa-.js → layers.CJkUZEHi.js} +1 -1
  84. package/dist/{layers.BXpDL2TM.js → layers.CKVPSFQw.js} +1 -1
  85. package/dist/{layers.VUgha0GG.js → layers.CL6cr7rG.js} +1 -1
  86. package/dist/{layers.DFFhOqpa.js → layers.CMVK84Y8.js} +3 -3
  87. package/dist/{layers.Beujd2gV.js → layers.CO3Bgqlw.js} +1 -1
  88. package/dist/{layers.l6FaPfT8.js → layers.COjvNfim.js} +5 -5
  89. package/dist/{layers.DkB4TLLx.js → layers.CQcCMJ9L.js} +1 -1
  90. package/dist/{layers.BOYb-ebd.js → layers.CR_nlgBX.js} +4 -4
  91. package/dist/{layers.D_CF8aTh.js → layers.CSA7LxJ5.js} +1 -1
  92. package/dist/{layers.DlMc9MQp.js → layers.CScjqhZm.js} +3 -3
  93. package/dist/{layers.ADMZntNg.js → layers.CSkHlzsj.js} +1 -1
  94. package/dist/{layers.DbBiHbPW.js → layers.CUNcapZL.js} +1 -1
  95. package/dist/{layers.nRX25E69.js → layers.CUmEq8fL.js} +1 -1
  96. package/dist/{layers.CBdylbSi.js → layers.CUyFgW9Q.js} +1 -1
  97. package/dist/{layers.DCEcRZzx.js → layers.CZlMY12h.js} +1 -1
  98. package/dist/{layers.CTeHGuV0.js → layers.C_21OuDa.js} +1 -1
  99. package/dist/{layers.ylAWGnrt.js → layers.C_94Ju-e.js} +3 -3
  100. package/dist/{layers.CkieCy7R.js → layers.C_JA6i-0.js} +1 -1
  101. package/dist/{layers.vTnx63BV.js → layers.C_h21njd.js} +1 -1
  102. package/dist/layers.CamgypFQ.js +1 -0
  103. package/dist/layers.Cbi1qzaj.js +1 -0
  104. package/dist/{layers.BbTSHM-R.js → layers.CcU1FJEZ.js} +1 -1
  105. package/dist/{layers.mcGDz8zt.js → layers.Ce8fenFl.js} +1 -1
  106. package/dist/{layers.BTCPfVTk.js → layers.CeslTWO3.js} +1 -1
  107. package/dist/layers.Cf3GHQSy.js +276 -0
  108. package/dist/{layers.BFHrTCu6.js → layers.ChcS9NGO.js} +1 -1
  109. package/dist/{layers.eU7eT5YK.js → layers.CkpubkRV.js} +1 -1
  110. package/dist/{layers.DO1IXM7s.js → layers.Cm2YBfEQ.js} +1 -1
  111. package/dist/{layers.Dy1gtAJp.js → layers.CqIhMHgg.js} +1 -1
  112. package/dist/{layers.DiqKogMY.js → layers.CrSlQNI1.js} +1 -1
  113. package/dist/{layers.Ed24dDlF.js → layers.Csgc40LS.js} +1 -1
  114. package/dist/{layers.CWgs7Ylx.js → layers.CshghINR.js} +1 -1
  115. package/dist/{layers.BnvU3-7C.js → layers.CssvMlV3.js} +1 -1
  116. package/dist/{layers.C2bsLW-V.js → layers.Ct6I-_CT.js} +4 -4
  117. package/dist/layers.CvKJtaJl.js +8 -0
  118. package/dist/{layers.Dun64x33.js → layers.Cwcf5wmo.js} +1 -1
  119. package/dist/{layers.LRYgh6hQ.js → layers.CxzZNbmd.js} +4 -4
  120. package/dist/{layers.CtyNVkPX.js → layers.D0G_0PWs.js} +1 -1
  121. package/dist/{layers.D0ex43Sd.js → layers.D2rrxQAq.js} +1 -1
  122. package/dist/{layers.BRfvZDuh.js → layers.D3jzVfba.js} +1 -1
  123. package/dist/{layers.BKoNyXJR.js → layers.D6E5WLjx.js} +1 -1
  124. package/dist/{layers.DE1igpPm.js → layers.D7enADLv.js} +4 -4
  125. package/dist/{layers.BS1hxdXe.js → layers.DA7jujLH.js} +1 -1
  126. package/dist/{layers.DRYcao5O.js → layers.DAqWenY4.js} +4 -4
  127. package/dist/{layers.CACntamY.js → layers.DB12g02G.js} +1 -1
  128. package/dist/{layers.UeY82rK1.js → layers.DBJTho9n.js} +1 -1
  129. package/dist/{layers.kOe1DpNx.js → layers.DCGycCgX.js} +1 -1
  130. package/dist/{layers.Bl7kgUIS.js → layers.DDFBDR2a.js} +1 -1
  131. package/dist/{layers.CdV-iM5a.js → layers.DDI5vtC5.js} +1 -1
  132. package/dist/{layers.3JuVpxXb.js → layers.DHi57hSd.js} +1 -1
  133. package/dist/{layers.BNtYfeEC.js → layers.DKuZmyU-.js} +1 -1
  134. package/dist/{layers.D0FP90Rx.js → layers.DLz0UkOT.js} +1 -1
  135. package/dist/{layers.BvAafL9L.js → layers.DN--fCCv.js} +1 -1
  136. package/dist/{layers.DylcSpUB.js → layers.DQhey3lL.js} +1 -1
  137. package/dist/{layers.DC6dMnJc.js → layers.DRQBZXbd.js} +1 -1
  138. package/dist/{layers.Dm1R5-Bc.js → layers.DSYyJ5vW.js} +1 -1
  139. package/dist/{layers.CYmtPuff.js → layers.DSha8bs_.js} +1 -1
  140. package/dist/{layers.BaX-1WMw.js → layers.DSq0IgCR.js} +1 -1
  141. package/dist/{layers.y6q4BoT7.js → layers.DTGlDcSl.js} +1 -1
  142. package/dist/{layers.6mdz-Na2.js → layers.DVskSUWT.js} +3 -3
  143. package/dist/{layers.BWqKB8Tp.js → layers.DXI2AgJt.js} +1 -1
  144. package/dist/{layers.cu_xTYUL.js → layers.DXnMF9u3.js} +5 -5
  145. package/dist/{layers.D7AgOP2Q.js → layers.D_PeCLKR.js} +1 -1
  146. package/dist/layers.D_WExqmZ.js +6 -0
  147. package/dist/{layers.CQKwzZBP.js → layers.Da8n9gcP.js} +1 -1
  148. package/dist/{layers.CgcpyDQN.js → layers.DaHtgOD-.js} +1 -1
  149. package/dist/{layers.B2fELUiM.js → layers.DbQCJ5RT.js} +1 -1
  150. package/dist/{layers.BL8qCZOe.js → layers.DcaUgNVC.js} +2 -2
  151. package/dist/{layers.DjXVVFJ6.js → layers.DciZD8JS.js} +1 -1
  152. package/dist/{layers.Dx6ZLQwW.js → layers.DfoqZh1E.js} +1 -1
  153. package/dist/{layers.BYe8thFA.js → layers.DkLrwRSW.js} +1 -1
  154. package/dist/{layers.DxKmenFC.js → layers.DmJRVGXC.js} +1 -1
  155. package/dist/{layers.B6jWFkL_.js → layers.DmQBlHk_.js} +1 -1
  156. package/dist/{layers.BkGNkMxK.js → layers.DnsxB9_v.js} +1 -1
  157. package/dist/{layers.C2XuxKbl.js → layers.Dpg89znh.js} +1 -1
  158. package/dist/layers.DsH1V8Rv.js +31944 -0
  159. package/dist/{layers.wf0Idf__.js → layers.DsUdgUIK.js} +4 -4
  160. package/dist/{layers.BdysQaP9.js → layers.DxAddEHQ.js} +1 -1
  161. package/dist/layers.DxLTN2Mo.js +1 -0
  162. package/dist/{layers.ZbZH407Q.js → layers.DxQO0sSy.js} +1 -1
  163. package/dist/{layers.DnklT_6f.js → layers.Jd_TNHCm.js} +1 -1
  164. package/dist/{layers.BujYQGMz.js → layers.JroGyFOZ.js} +1 -1
  165. package/dist/{layers.D8sE8uHE.js → layers.K0bGrkQj.js} +8 -8
  166. package/dist/{layers.CBQZm2e7.js → layers.Kx9nkbbg.js} +1 -1
  167. package/dist/{layers.BOIxfgsV.js → layers.McORqufp.js} +1 -1
  168. package/dist/{layers.BInHVDvJ.js → layers.NS5NT7K6.js} +1 -1
  169. package/dist/{layers.Bkira6Tt.js → layers.O1OdWCre.js} +1 -1
  170. package/dist/{layers.8Edx0vxr.js → layers.PZpgzH37.js} +1 -1
  171. package/dist/{layers.CNjmcrIc.js → layers.Qard_uHa.js} +1 -1
  172. package/dist/{layers.CRsj8jgj.js → layers.RjfPClBy.js} +1 -1
  173. package/dist/{layers.CfTHKUqx.js → layers.SHcyxrBG.js} +1 -1
  174. package/dist/{layers.CBOug2uu.js → layers.SIXGD_Wr.js} +1 -1
  175. package/dist/{layers.BdGy4Ku-.js → layers.ShXJ7OET.js} +1 -1
  176. package/dist/layers.TE4svPL3.js +1 -0
  177. package/dist/layers.TLYkReAr.js +1 -0
  178. package/dist/{layers.C5-KsS9l.js → layers.TdkG7Ays.js} +4 -4
  179. package/dist/{layers.ZH0qMQEf.js → layers.UKheEsWW.js} +1 -1
  180. package/dist/{layers.vU34cz08.js → layers.UkETTANE.js} +1 -1
  181. package/dist/{layers.CgEPPGNk.js → layers.Xdi6V5yb.js} +1 -1
  182. package/dist/{layers.IQeql6ox.js → layers.Y-kA5-o9.js} +1 -1
  183. package/dist/{layers.BGxxpIwr.js → layers.YpfBZMVu.js} +1 -1
  184. package/dist/layers.ZbH4IgXM.js +299 -0
  185. package/dist/{layers.DJOVnwM2.js → layers._8u2gRNd.js} +2 -2
  186. package/dist/{layers.CjxpNr33.js → layers.aJsGnnRx.js} +3 -3
  187. package/dist/{layers.BTYzCwGf.js → layers.aUjxOGly.js} +1 -1
  188. package/dist/{layers.CnhYIwP1.js → layers.cHz8j_4E.js} +1 -1
  189. package/dist/{layers.CLyZjoes.js → layers.cNfD-5El.js} +1 -1
  190. package/dist/{layers.B1oRpBrL.js → layers.gG7iFeZf.js} +1 -1
  191. package/dist/{layers.C-qmTNFy.js → layers.hC6HcT3B.js} +1 -1
  192. package/dist/{layers.BIQ6JYQZ.js → layers.hijD9oiN.js} +1 -1
  193. package/dist/{layers.CSIF_jBD.js → layers.hvHRaxKY.js} +1 -1
  194. package/dist/{layers.BYgZ-KvZ.js → layers.lroOqYUM.js} +1 -1
  195. package/dist/{layers.CAN9vlS-.js → layers.lw30XOiC.js} +1 -1
  196. package/dist/{layers.DPTwQEic.js → layers.mXRDgZ_h.js} +1 -1
  197. package/dist/{layers.Bo3872e1.js → layers.nUgG0KBM.js} +1 -1
  198. package/dist/{layers.UDrjC5Tj.js → layers.oax_YBGU.js} +1 -1
  199. package/dist/{layers.BMFWRw1e.js → layers.oqSjaDkp.js} +1 -1
  200. package/dist/{layers.wy9jNSUy.js → layers.pOAtEfPj.js} +1 -1
  201. package/dist/{layers.oHdFw2-y.js → layers.qPQizNgE.js} +1 -1
  202. package/dist/{layers.sX3WD0ma.js → layers.qTMtdWyh.js} +1 -1
  203. package/dist/{layers.CCEUvI5d.js → layers.sjS-Tk55.js} +1 -1
  204. package/dist/{layers.BNWsN93S.js → layers.t1-aARQ3.js} +7 -7
  205. package/dist/{layers.B707QLSG.js → layers.t4sVoq0t.js} +1 -1
  206. package/dist/{layers.BjEh95nH.js → layers.tDZ7vRKL.js} +1 -1
  207. package/dist/{layers.CBzz8__b.js → layers.tLIgGgA2.js} +1 -1
  208. package/dist/layers.vC5zm3ly.js +1 -0
  209. package/dist/{layers.Bi-QHBcd.js → layers.wp3bvBuH.js} +1 -1
  210. package/dist/{layers.CmLRj4Tg.js → layers.xKIzcqa6.js} +1 -1
  211. package/package.json +21 -47
  212. package/dist/layers.-0O_onOX.js +0 -304
  213. package/dist/layers.BcY5trq3.js +0 -296
  214. package/dist/layers.C4P7Q4ju.js +0 -1
  215. package/dist/layers.Cj16hdv5.js +0 -1
  216. package/dist/layers.CmmYt3Ou.js +0 -1
  217. package/dist/layers.CtSQ_xs8.js +0 -1
  218. package/dist/layers.D6Rqlluc.js +0 -8
  219. package/dist/layers.DNZpmwzY.js +0 -1
  220. package/dist/layers.D_jo1wBE.js +0 -1
  221. package/dist/layers.DbT3gbC2.js +0 -1
  222. package/dist/layers.DilA0qnM.js +0 -54
  223. package/dist/layers.Dtoqj1Fs.js +0 -17
  224. package/dist/layers.DuMcCkrh.js +0 -346
  225. package/dist/layers.DvWEGYe1.js +0 -454
  226. package/dist/layers.W2PJ02K_.js +0 -6
  227. package/dist/layers.Za1xNAZb.js +0 -44129
@@ -1,4 +1,4 @@
1
- import "./layers.D8sE8uHE.js";
1
+ import "./layers.K0bGrkQj.js";
2
2
  var e = { paste: "Lipire", pasteAsPlaintext: "Inserare ca text simplu", pasteCharts: "Lipire diagrame", selectAll: "Selectare totală", multiSelect: "Adaugă element la selecție", moveCanvas: "Mutare pânză", cut: "Decupare", copy: "Copiere", copyAsPng: "Copiere în memoria temporară ca PNG", copyAsSvg: "Copiere în memoria temporară ca SVG", copyText: "Copiere în memoria temporară ca text", copySource: "Copiere sursă în memoria temporară", convertToCode: "Convertire în cod", bringForward: "Aducere în plan apropiat", sendToBack: "Trimitere în ultimul plan", bringToFront: "Aducere în prim plan", sendBackward: "Trimitere în plan secundar", delete: "Ștergere", copyStyles: "Copiere stiluri", pasteStyles: "Lipire stiluri", stroke: "Contur", background: "Fundal", fill: "Umplere", strokeWidth: "Lățimea conturului", strokeStyle: "Stilul conturului", strokeStyle_solid: "Neîntrerupt", strokeStyle_dashed: "Liniuțe", strokeStyle_dotted: "Punctat", sloppiness: "Aspectul trasării", opacity: "Opacitate", textAlign: "Alinierea textului", edges: "Margini", sharp: "Ascuțite", round: "Rotunde", arrowheads: "Vârfuri de săgeată", arrowhead_none: "Niciunul", arrowhead_arrow: "Săgeată", arrowhead_bar: "Bară", arrowhead_circle: "Cerc", arrowhead_circle_outline: "Cerc (contur)", arrowhead_triangle: "Triunghi", arrowhead_triangle_outline: "Triunghi (contur)", arrowhead_diamond: "Romb", arrowhead_diamond_outline: "Romb (contur)", fontSize: "Dimensiune font", fontFamily: "Familia de fonturi", addWatermark: "Adaugă „Realizat cu Excalidraw”", handDrawn: "Scris de mână", normal: "Normal", code: "Cod", small: "Mică", medium: "Medie", large: "Mare", veryLarge: "Foarte mare", solid: "Plină", hachure: "Hașură", zigzag: "Zigzag", crossHatch: "Hașură transversală", thin: "Subțire", bold: "Îngroșată", left: "Stânga", center: "Centru", right: "Dreapta", extraBold: "Extra îngroșată", architect: "Arhitect", artist: "Artist", cartoonist: "Caricaturist", fileTitle: "Nume de fișier", colorPicker: "Selector de culoare", canvasColors: "Folosite pe pânză", canvasBackground: "Fundalul pânzei", drawingCanvas: "Pânză pentru desenat", layers: "Straturi", actions: "Acțiuni", language: "Limbă", liveCollaboration: "Colaborare în direct...", duplicateSelection: "Duplicare", untitled: "Nedenumit", name: "Nume", yourName: "Numele tău", madeWithExcalidraw: "Realizat cu Excalidraw", group: "Grupare selecție", ungroup: "Degrupare selecție", collaborators: "Colaboratori", showGrid: "Afișare grilă", addToLibrary: "Adăugare la bibliotecă", removeFromLibrary: "Eliminare din bibliotecă", libraryLoadingMessage: "Se încarcă biblioteca…", libraries: "Răsfoiește bibliotecile", loadingScene: "Se încarcă scena…", align: "Aliniere", alignTop: "Aliniere sus", alignBottom: "Aliniere jos", alignLeft: "Aliniere la stânga", alignRight: "Aliniere la dreapta", centerVertically: "Centrare verticală", centerHorizontally: "Centrare orizontală", distributeHorizontally: "Distribuie orizontal", distributeVertically: "Distribuie vertical", flipHorizontal: "Răsturnare orizontală", flipVertical: "Răsturnare verticală", viewMode: "Mod de vizualizare", share: "Distribuie", showStroke: "Afișare selector culoare contur", showBackground: "Afișare selector culoare fundal", toggleTheme: "Comutare temă", personalLib: "Biblioteca personală", excalidrawLib: "Biblioteca Excalidraw", decreaseFontSize: "Micșorează dimensiunea fontului", increaseFontSize: "Mărește dimensiunea fontului", unbindText: "Deconectare text", bindText: "Legare text de container", createContainerFromText: "Încadrare text într-un container", link: { edit: "Editare URL", editEmbed: "Editare URL și încorporare", create: "Creare URL", createEmbed: "Creare URL și încorporare", label: "URL", labelEmbed: "URL și încorporare", empty: "Nu este setat niciun URL" }, lineEditor: { edit: "Editare linie", exit: "Părăsire editor de linii" }, elementLock: { lock: "Blocare", unlock: "Deblocare", lockAll: "Blocare toate", unlockAll: "Deblocare toate" }, statusPublished: "Publicat", sidebarLock: "Păstrează deschisă bara laterală", selectAllElementsInFrame: "", removeAllElementsFromFrame: "", eyeDropper: "Alegere culoare din pânză", textToDiagram: "Text la diagramă", prompt: "Solicitare" }, a = { noItems: "Niciun element adăugat încă...", hint_emptyLibrary: "Selectează un element de pe pânză pentru a-l adăuga aici sau instalează o bibliotecă din depozitul public, de mai jos.", hint_emptyPrivateLibrary: "Selectează un element de pe pânză pentru a-l adăuga aici." }, i = { clearReset: "Resetare pânză", exportJSON: "Exportare la fișiere", exportImage: "Exportare imagine...", export: "Salvare în...", copyToClipboard: "Copiere în memoria temporară", save: "Salvare în fișierul curent", saveAs: "Salvare ca", load: "Deschidere", getShareableLink: "Obține URL partajabil", close: "Închidere", selectLanguage: "Selectare limbă", scrollBackToContent: "Derulare înapoi la conținut", zoomIn: "Apropiere", zoomOut: "Depărtare", resetZoom: "Resetare transfocare", menu: "Meniu", done: "Efectuat", edit: "Edit", undo: "Anulare", redo: "Refacere", resetLibrary: "Resetare bibliotecă", createNewRoom: "Creare cameră nouă", fullScreen: "Ecran complet", darkMode: "Mod întunecat", lightMode: "Mod luminos", zenMode: "Mod zen", objectsSnapMode: "Ancorare la obiecte", exitZenMode: "Ieșire din modul zen", cancel: "Anulare", clear: "Ștergere", remove: "Eliminare", embed: "Comutare încorporare", publishLibrary: "Publicare", submit: "Trimitere", confirm: "Confirmare", embeddableInteractionButton: "Clic pentru interacționare" }, r = { clearReset: "Această opțiune va șterge întreaga pânză. Confirmi?", couldNotCreateShareableLink: "Nu s-a putut crea un URL partajabil.", couldNotCreateShareableLinkTooBig: "Nu s-a putut crea un URL partajabil: scena este prea mare", couldNotLoadInvalidFile: "Fișierul invalid nu a putut fi încărcat", importBackendFailed: "Importarea de la nivel de server a eșuat.", cannotExportEmptyCanvas: "Nu se poate exporta pânza goală.", couldNotCopyToClipboard: "Nu s-a putut copia în memoria temporară.", decryptFailed: "Datele nu au putut fi decriptate.", uploadedSecurly: "Încărcarea a fost securizată prin criptare integrală, însemnând că serverul Excalidraw și terții nu pot citi conținutul.", loadSceneOverridePrompt: "Încărcarea desenului extern va înlocui conținutul existent. Dorești să continui?", collabStopOverridePrompt: `Oprirea sesiunii va suprascrie desenul anterior stocat local. Confirmi alegerea?
3
3
 
4
4
  (Dacă vrei să păstrezi desenul local, pur și simplu închide fila navigatorului în schimb.)`, errorAddingToLibrary: "Elementul nu a putut fi adăugat în bibliotecă", errorRemovingFromLibrary: "Elementul nu a putut fi eliminat din bibliotecă", confirmAddLibrary: "Această acțiune va adăuga {{numShapes}} formă(e) la biblioteca ta. Confirmi?", imageDoesNotContainScene: "Această imagine nu pare să conțină date de scenă. Ai activat încorporarea scenei în timpul exportului?", cannotRestoreFromImage: "Scena nu a putut fi restaurată din acest fișier de imagine", invalidSceneUrl: "Scena nu a putut fi importată din URL-ul furnizat. Este fie incorect formată, fie nu conține date JSON Excalidraw valide.", resetLibrary: "Această opțiune va elimina conținutul din bibliotecă. Confirmi?", removeItemsFromsLibrary: "Ștergi {{count}} element(e) din bibliotecă?", invalidEncryptionKey: "Cheia de criptare trebuie să aibă 22 de caractere. Colaborarea în direct este dezactivată.", collabOfflineWarning: `Nu este disponibilă nicio conexiune la internet.
@@ -1,9 +1,9 @@
1
- import { H as J, a as rt, s as at, b as lt, c as ot, n as ct, o as ht, l as et, g as it, a7 as ut, A as yt, T as ft, e as pt, i as gt, q as dt, P as mt } from "./layers.D4c48hOc.js";
2
- import "./layers.D8sE8uHE.js";
1
+ import { H as J, a as rt, s as at, b as lt, c as ot, n as ct, o as ht, l as et, g as it, a7 as ut, A as yt, T as ft, e as pt, i as gt, q as dt, P as mt } from "./layers.BixUexvt.js";
2
+ import "./layers.K0bGrkQj.js";
3
3
  import "lodash-es/memoize.js";
4
4
  import "lodash-es/merge.js";
5
5
  import "lodash-es/isEmpty.js";
6
- import { a as tt } from "./layers.Dwpj_vFw.js";
6
+ import { a as tt } from "./layers.BAMww3rb.js";
7
7
  import { o as _t } from "./layers.b0h5ZBmD.js";
8
8
  import { a as xt } from "./layers.CqVTtuYm.js";
9
9
  import { c as F } from "./layers.DLwuMfdd.js";
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./layers.BNWsN93S.js");var u={paste:"Επικόλληση",pasteAsPlaintext:"Επικόλληση ως απλό κείμενο",pasteCharts:"Επικόλληση γραφημάτων",selectAll:"Επιλογή όλων",multiSelect:"Προσθέστε το στοιχείο στην επιλογή",moveCanvas:"Μετακίνηση καμβά",cut:"Αποκοπή",copy:"Αντιγραφή",copyAsPng:"Αντιγραφή στο πρόχειρο ως PNG",copyAsSvg:"Αντιγραφή στο πρόχειρο ως SVG",copyText:"Αντιγραφή στο πρόχειρο ως κείμενο",copySource:"",convertToCode:"",bringForward:"Στο προσκήνιο",sendToBack:"Ένα επίπεδο πίσω",bringToFront:"Ένα επίπεδο μπροστά",sendBackward:"Στο παρασκήνιο",delete:"Διαγραφή",copyStyles:"Αντιγραφή εμφάνισης",pasteStyles:"Επικόλληση εμφάνισης",stroke:"Μολυβιά",background:"Φόντο",fill:"Γέμισμα",strokeWidth:"Πάχος μολυβιάς",strokeStyle:"Στυλ περιγράμματος",strokeStyle_solid:"Συμπαγής",strokeStyle_dashed:"Διακεκομμένη με παύλες",strokeStyle_dotted:"Διακεκομμένη με τελείες",sloppiness:"Ακαταστασία",opacity:"Διαφάνεια",textAlign:"Στοίχιση κειμένου",edges:"Άκρες",sharp:"Οξύ",round:"Στρογγυλό",arrowheads:"Σύμβολα βελών",arrowhead_none:"Κανένα",arrowhead_arrow:"Βέλος",arrowhead_bar:"Μπάρα",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Τρίγωνο",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Μέγεθος γραμματοσειράς",fontFamily:"Γραμματοσειρά",addWatermark:'Προσθήκη "Φτιαγμένο με Excalidraw"',handDrawn:"Σχεδιασμένο στο χέρι",normal:"Κανονική",code:"Κώδικας",small:"Μικρό",medium:"Μεσαίο",large:"Μεγάλο",veryLarge:"Πολύ μεγάλο",solid:"Συμπαγής",hachure:"Εκκόλαψη",zigzag:"",crossHatch:"Διασταυρούμενη εκκόλαψη",thin:"Λεπτή",bold:"Έντονη",left:"Αριστερά",center:"Κέντρο",right:"Δεξιά",extraBold:"Πολύ έντονη",architect:"Αρχιτέκτονας",artist:"Καλλιτέχνης",cartoonist:"Σκιτσογράφος",fileTitle:"Όνομα αρχείου",colorPicker:"Επιλογή Χρώματος",canvasColors:"Χρησιμοποείται στον καμβά",canvasBackground:"Φόντο καμβά",drawingCanvas:"Σχεδίαση καμβά",layers:"Στρώματα",actions:"Ενέργειες",language:"Γλώσσα",liveCollaboration:"Live συνεργασία...",duplicateSelection:"Δημιουργία αντιγράφου",untitled:"Χωρίς τίτλο",name:"Όνομα",yourName:"Το όνομά σου",madeWithExcalidraw:"Φτιαγμένο με Excalidraw",group:"Δημιουργία ομάδας από επιλογή",ungroup:"Κατάργηση ομάδας από επιλογή",collaborators:"Συνεργάτες",showGrid:"Προβολή πλέγματος",addToLibrary:"Προσθήκη στη βιβλιοθήκη",removeFromLibrary:"Αφαίρεση από τη βιβλιοθήκη",libraryLoadingMessage:"Φόρτωση βιβλιοθήκης…",libraries:"Άλλες βιβλιοθήκες",loadingScene:"Φόρτωση σκηνής…",align:"Στοίχιση",alignTop:"Στοίχιση πάνω",alignBottom:"Στοίχιση κάτω",alignLeft:"Στοίχιση αριστερά",alignRight:"Στοίχιση δεξιά",centerVertically:"Κέντρο κάθετα",centerHorizontally:"Κέντρο οριζόντια",distributeHorizontally:"Οριζόντια κατανομή",distributeVertically:"Κατακόρυφη κατανομή",flipHorizontal:"Οριζόντια αναστροφή",flipVertical:"Κατακόρυφη αναστροφή",viewMode:"Λειτουργία προβολής",share:"Κοινοποίηση",showStroke:"Εμφάνιση επιλογέα χρωμάτων πινελιάς",showBackground:"Εμφάνιση επιλογέα χρώματος φόντου",toggleTheme:"Εναλλαγή θέματος",personalLib:"Προσωπική Βιβλιοθήκη",excalidrawLib:"Βιβλιοθήκη Excalidraw",decreaseFontSize:"Μείωση μεγέθους γραμματοσειράς",increaseFontSize:"Αύξηση μεγέθους γραμματοσειράς",unbindText:"Αποσύνδεση κειμένου",bindText:"Δέσμευση κειμένου στο δοχείο",createContainerFromText:"",link:{edit:"Επεξεργασία συνδέσμου",editEmbed:"",create:"Δημιουργία συνδέσμου",createEmbed:"",label:"Σύνδεσμος",labelEmbed:"",empty:""},lineEditor:{edit:"Επεξεργασία γραμμής",exit:"Έξοδος επεξεργαστή κειμένου"},elementLock:{lock:"Κλείδωμα",unlock:"Ξεκλείδωμα",lockAll:"Κλείδωμα όλων",unlockAll:"Ξεκλείδωμα όλων"},statusPublished:"Δημοσιευμένο",sidebarLock:"Κρατήστε την πλαϊνή μπάρα ανοιχτή",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},B={noItems:"Δεν έχουν προστεθεί αντικείμενα ακόμη...",hint_emptyLibrary:"Επιλέξτε ένα στοιχείο στον καμβά για να το προσθέσετε εδώ, ή εγκαταστήστε μια βιβλιοθήκη από το δημόσιο αποθετήριο, παρακάτω.",hint_emptyPrivateLibrary:"Επιλέξτε ένα στοιχείο στον καμβά για να το προσθέσετε εδώ."},C={clearReset:"Επαναφορά του καμβά",exportJSON:"Εξαγωγή σε αρχείο",exportImage:"Εξαγωγή εικόνας...",export:"Αποθήκευση ως...",copyToClipboard:"Αντιγραφή στο πρόχειρο",save:"Αποθήκευση στο τρέχον αρχείο",saveAs:"Αποθήκευση ως",load:"Άνοιγμα",getShareableLink:"Δημόσιος σύνδεσμος",close:"Κλείσιμο",selectLanguage:"Επιλογή γλώσσας",scrollBackToContent:"Μετακινηθείτε πίσω στο περιεχόμενο",zoomIn:"Μεγέθυνση",zoomOut:"Σμίκρυνση",resetZoom:"Επαναφορά μεγέθυνσης",menu:"Μενού",done:"Τέλος",edit:"Επεξεργασία",undo:"Αναίρεση",redo:"Επαναφορά",resetLibrary:"Καθαρισμός βιβλιοθήκης",createNewRoom:"Δημιουργία νέου χώρου",fullScreen:"Πλήρης οθόνη",darkMode:"Σκοτεινή λειτουργία",lightMode:"Φωτεινή λειτουργία",zenMode:"Λειτουργία Zεν",objectsSnapMode:"",exitZenMode:"Έξοδος από την λειτουργία Zen",cancel:"Ακύρωση",clear:"Καθαρισμός",remove:"Κατάργηση",embed:"",publishLibrary:"Δημοσίευση",submit:"Υποβολή",confirm:"Επιβεβαίωση",embeddableInteractionButton:""},A={clearReset:"Αυτό θα σβήσει ολόκληρο τον καμβά. Είσαι σίγουρος;",couldNotCreateShareableLink:"Δεν ήταν δυνατή η δημιουργία συνδέσμου κοινής χρήσης.",couldNotCreateShareableLinkTooBig:"Δεν ήταν δυνατή η δημιουργία κοινόχρηστου συνδέσμου: η σκηνή είναι πολύ μεγάλη",couldNotLoadInvalidFile:"Δεν μπόρεσε να ανοίξει εσφαλμένο αρχείο",importBackendFailed:"Η εισαγωγή από το backend απέτυχε.",cannotExportEmptyCanvas:"Δεν είναι δυνατή η εξαγωγή κενού καμβά.",couldNotCopyToClipboard:"Αδυναμία αντιγραφής στο πρόχειρο.",decryptFailed:"Δεν ήταν δυνατή η αποκρυπτογράφηση δεδομένων.",uploadedSecurly:"Η μεταφόρτωση έχει εξασφαλιστεί με κρυπτογράφηση από άκρο σε άκρο, πράγμα που σημαίνει ότι ο διακομιστής Excalidraw και τρίτα μέρη δεν μπορούν να διαβάσουν το περιεχόμενο.",loadSceneOverridePrompt:"Η φόρτωση εξωτερικού σχεδίου θα αντικαταστήσει το υπάρχον περιεχόμενο. Επιθυμείτε να συνεχίσετε;",collabStopOverridePrompt:`Η διακοπή της συνεδρίας θα αντικαταστήσει το προηγούμενο, τοπικά αποθηκευμένο σχέδιο. Είστε σίγουροι?
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./layers.t1-aARQ3.js");var u={paste:"Επικόλληση",pasteAsPlaintext:"Επικόλληση ως απλό κείμενο",pasteCharts:"Επικόλληση γραφημάτων",selectAll:"Επιλογή όλων",multiSelect:"Προσθέστε το στοιχείο στην επιλογή",moveCanvas:"Μετακίνηση καμβά",cut:"Αποκοπή",copy:"Αντιγραφή",copyAsPng:"Αντιγραφή στο πρόχειρο ως PNG",copyAsSvg:"Αντιγραφή στο πρόχειρο ως SVG",copyText:"Αντιγραφή στο πρόχειρο ως κείμενο",copySource:"",convertToCode:"",bringForward:"Στο προσκήνιο",sendToBack:"Ένα επίπεδο πίσω",bringToFront:"Ένα επίπεδο μπροστά",sendBackward:"Στο παρασκήνιο",delete:"Διαγραφή",copyStyles:"Αντιγραφή εμφάνισης",pasteStyles:"Επικόλληση εμφάνισης",stroke:"Μολυβιά",background:"Φόντο",fill:"Γέμισμα",strokeWidth:"Πάχος μολυβιάς",strokeStyle:"Στυλ περιγράμματος",strokeStyle_solid:"Συμπαγής",strokeStyle_dashed:"Διακεκομμένη με παύλες",strokeStyle_dotted:"Διακεκομμένη με τελείες",sloppiness:"Ακαταστασία",opacity:"Διαφάνεια",textAlign:"Στοίχιση κειμένου",edges:"Άκρες",sharp:"Οξύ",round:"Στρογγυλό",arrowheads:"Σύμβολα βελών",arrowhead_none:"Κανένα",arrowhead_arrow:"Βέλος",arrowhead_bar:"Μπάρα",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Τρίγωνο",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Μέγεθος γραμματοσειράς",fontFamily:"Γραμματοσειρά",addWatermark:'Προσθήκη "Φτιαγμένο με Excalidraw"',handDrawn:"Σχεδιασμένο στο χέρι",normal:"Κανονική",code:"Κώδικας",small:"Μικρό",medium:"Μεσαίο",large:"Μεγάλο",veryLarge:"Πολύ μεγάλο",solid:"Συμπαγής",hachure:"Εκκόλαψη",zigzag:"",crossHatch:"Διασταυρούμενη εκκόλαψη",thin:"Λεπτή",bold:"Έντονη",left:"Αριστερά",center:"Κέντρο",right:"Δεξιά",extraBold:"Πολύ έντονη",architect:"Αρχιτέκτονας",artist:"Καλλιτέχνης",cartoonist:"Σκιτσογράφος",fileTitle:"Όνομα αρχείου",colorPicker:"Επιλογή Χρώματος",canvasColors:"Χρησιμοποείται στον καμβά",canvasBackground:"Φόντο καμβά",drawingCanvas:"Σχεδίαση καμβά",layers:"Στρώματα",actions:"Ενέργειες",language:"Γλώσσα",liveCollaboration:"Live συνεργασία...",duplicateSelection:"Δημιουργία αντιγράφου",untitled:"Χωρίς τίτλο",name:"Όνομα",yourName:"Το όνομά σου",madeWithExcalidraw:"Φτιαγμένο με Excalidraw",group:"Δημιουργία ομάδας από επιλογή",ungroup:"Κατάργηση ομάδας από επιλογή",collaborators:"Συνεργάτες",showGrid:"Προβολή πλέγματος",addToLibrary:"Προσθήκη στη βιβλιοθήκη",removeFromLibrary:"Αφαίρεση από τη βιβλιοθήκη",libraryLoadingMessage:"Φόρτωση βιβλιοθήκης…",libraries:"Άλλες βιβλιοθήκες",loadingScene:"Φόρτωση σκηνής…",align:"Στοίχιση",alignTop:"Στοίχιση πάνω",alignBottom:"Στοίχιση κάτω",alignLeft:"Στοίχιση αριστερά",alignRight:"Στοίχιση δεξιά",centerVertically:"Κέντρο κάθετα",centerHorizontally:"Κέντρο οριζόντια",distributeHorizontally:"Οριζόντια κατανομή",distributeVertically:"Κατακόρυφη κατανομή",flipHorizontal:"Οριζόντια αναστροφή",flipVertical:"Κατακόρυφη αναστροφή",viewMode:"Λειτουργία προβολής",share:"Κοινοποίηση",showStroke:"Εμφάνιση επιλογέα χρωμάτων πινελιάς",showBackground:"Εμφάνιση επιλογέα χρώματος φόντου",toggleTheme:"Εναλλαγή θέματος",personalLib:"Προσωπική Βιβλιοθήκη",excalidrawLib:"Βιβλιοθήκη Excalidraw",decreaseFontSize:"Μείωση μεγέθους γραμματοσειράς",increaseFontSize:"Αύξηση μεγέθους γραμματοσειράς",unbindText:"Αποσύνδεση κειμένου",bindText:"Δέσμευση κειμένου στο δοχείο",createContainerFromText:"",link:{edit:"Επεξεργασία συνδέσμου",editEmbed:"",create:"Δημιουργία συνδέσμου",createEmbed:"",label:"Σύνδεσμος",labelEmbed:"",empty:""},lineEditor:{edit:"Επεξεργασία γραμμής",exit:"Έξοδος επεξεργαστή κειμένου"},elementLock:{lock:"Κλείδωμα",unlock:"Ξεκλείδωμα",lockAll:"Κλείδωμα όλων",unlockAll:"Ξεκλείδωμα όλων"},statusPublished:"Δημοσιευμένο",sidebarLock:"Κρατήστε την πλαϊνή μπάρα ανοιχτή",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},B={noItems:"Δεν έχουν προστεθεί αντικείμενα ακόμη...",hint_emptyLibrary:"Επιλέξτε ένα στοιχείο στον καμβά για να το προσθέσετε εδώ, ή εγκαταστήστε μια βιβλιοθήκη από το δημόσιο αποθετήριο, παρακάτω.",hint_emptyPrivateLibrary:"Επιλέξτε ένα στοιχείο στον καμβά για να το προσθέσετε εδώ."},C={clearReset:"Επαναφορά του καμβά",exportJSON:"Εξαγωγή σε αρχείο",exportImage:"Εξαγωγή εικόνας...",export:"Αποθήκευση ως...",copyToClipboard:"Αντιγραφή στο πρόχειρο",save:"Αποθήκευση στο τρέχον αρχείο",saveAs:"Αποθήκευση ως",load:"Άνοιγμα",getShareableLink:"Δημόσιος σύνδεσμος",close:"Κλείσιμο",selectLanguage:"Επιλογή γλώσσας",scrollBackToContent:"Μετακινηθείτε πίσω στο περιεχόμενο",zoomIn:"Μεγέθυνση",zoomOut:"Σμίκρυνση",resetZoom:"Επαναφορά μεγέθυνσης",menu:"Μενού",done:"Τέλος",edit:"Επεξεργασία",undo:"Αναίρεση",redo:"Επαναφορά",resetLibrary:"Καθαρισμός βιβλιοθήκης",createNewRoom:"Δημιουργία νέου χώρου",fullScreen:"Πλήρης οθόνη",darkMode:"Σκοτεινή λειτουργία",lightMode:"Φωτεινή λειτουργία",zenMode:"Λειτουργία Zεν",objectsSnapMode:"",exitZenMode:"Έξοδος από την λειτουργία Zen",cancel:"Ακύρωση",clear:"Καθαρισμός",remove:"Κατάργηση",embed:"",publishLibrary:"Δημοσίευση",submit:"Υποβολή",confirm:"Επιβεβαίωση",embeddableInteractionButton:""},A={clearReset:"Αυτό θα σβήσει ολόκληρο τον καμβά. Είσαι σίγουρος;",couldNotCreateShareableLink:"Δεν ήταν δυνατή η δημιουργία συνδέσμου κοινής χρήσης.",couldNotCreateShareableLinkTooBig:"Δεν ήταν δυνατή η δημιουργία κοινόχρηστου συνδέσμου: η σκηνή είναι πολύ μεγάλη",couldNotLoadInvalidFile:"Δεν μπόρεσε να ανοίξει εσφαλμένο αρχείο",importBackendFailed:"Η εισαγωγή από το backend απέτυχε.",cannotExportEmptyCanvas:"Δεν είναι δυνατή η εξαγωγή κενού καμβά.",couldNotCopyToClipboard:"Αδυναμία αντιγραφής στο πρόχειρο.",decryptFailed:"Δεν ήταν δυνατή η αποκρυπτογράφηση δεδομένων.",uploadedSecurly:"Η μεταφόρτωση έχει εξασφαλιστεί με κρυπτογράφηση από άκρο σε άκρο, πράγμα που σημαίνει ότι ο διακομιστής Excalidraw και τρίτα μέρη δεν μπορούν να διαβάσουν το περιεχόμενο.",loadSceneOverridePrompt:"Η φόρτωση εξωτερικού σχεδίου θα αντικαταστήσει το υπάρχον περιεχόμενο. Επιθυμείτε να συνεχίσετε;",collabStopOverridePrompt:`Η διακοπή της συνεδρίας θα αντικαταστήσει το προηγούμενο, τοπικά αποθηκευμένο σχέδιο. Είστε σίγουροι?
2
2
 
3
3
  (Αν θέλετε να διατηρήσετε το τοπικό σας σχέδιο, απλά κλείστε την καρτέλα του προγράμματος περιήγησης.)`,errorAddingToLibrary:"Αδυναμία προσθήκης αντικειμένου στη βιβλιοθήκη",errorRemovingFromLibrary:"Αδυναμία αφαίρεσης αντικειμένου από τη βιβλιοθήκη",confirmAddLibrary:"Αυτό θα προσθέσει {{numShapes}} σχήμα(τα) στη βιβλιοθήκη σας. Είστε σίγουροι;",imageDoesNotContainScene:"Αυτή η εικόνα δεν φαίνεται να περιέχει δεδομένα σκηνής. Έχετε ενεργοποιήσει την ενσωμάτωση σκηνής κατά την εξαγωγή;",cannotRestoreFromImage:"Η σκηνή δεν ήταν δυνατό να αποκατασταθεί από αυτό το αρχείο εικόνας",invalidSceneUrl:"Δεν ήταν δυνατή η εισαγωγή σκηνής από το URL που δώσατε. Είτε έχει λάθος μορφή, είτε δεν περιέχει έγκυρα δεδομένα JSON Excalidraw.",resetLibrary:"Αυτό θα καθαρίσει τη βιβλιοθήκη σας. Είστε σίγουροι;",removeItemsFromsLibrary:"Διαγραφή {{count}} αντικειμένου(ων) από τη βιβλιοθήκη;",invalidEncryptionKey:"Το κλειδί κρυπτογράφησης πρέπει να είναι 22 χαρακτήρες. Η ζωντανή συνεργασία είναι απενεργοποιημένη.",collabOfflineWarning:`Δεν υπάρχει διαθέσιμη σύνδεση στο internet.
4
4
  Οι αλλαγές σας δεν θα αποθηκευτούν!`},F={unsupportedFileType:"Μη υποστηριζόμενος τύπος αρχείου.",imageInsertError:"Αδυναμία εισαγωγής εικόνας. Προσπαθήστε ξανά αργότερα...",fileTooBig:"Το αρχείο είναι πολύ μεγάλο. Το μέγιστο επιτρεπόμενο μέγεθος είναι {{maxSize}}.",svgImageInsertError:"Αδυναμία εισαγωγής εικόνας SVG. Η σήμανση της SVG δεν φαίνεται έγκυρη.",failedToFetchImage:"",invalidSVGString:"Μη έγκυρο SVG.",cannotResolveCollabServer:"Αδυναμία σύνδεσης με τον διακομιστή συνεργασίας. Παρακαλώ ανανεώστε τη σελίδα και προσπαθήστε ξανά.",importLibraryError:"Αδυναμία φόρτωσης βιβλιοθήκης",collabSaveFailed:"Η αποθήκευση στη βάση δεδομένων δεν ήταν δυνατή. Αν το προβλήματα παραμείνει, θα πρέπει να αποθηκεύσετε το αρχείο σας τοπικά για να βεβαιωθείτε ότι δεν χάνετε την εργασία σας.",collabSaveFailed_sizeExceeded:"Η αποθήκευση στη βάση δεδομένων δεν ήταν δυνατή, ο καμβάς φαίνεται να είναι πολύ μεγάλος. Θα πρέπει να αποθηκεύσετε το αρχείο τοπικά για να βεβαιωθείτε ότι δεν θα χάσετε την εργασία σας.",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},D={selection:"Επιλογή",image:"Εισαγωγή εικόνας",rectangle:"Ορθογώνιο",diamond:"Ρόμβος",ellipse:"Έλλειψη",arrow:"Βέλος",line:"Γραμμή",freedraw:"Σχεδίαση",text:"Κείμενο",library:"Βιβλιοθήκη",lock:"Κράτησε επιλεγμένο το εργαλείο μετά το σχέδιο",penMode:"Λειτουργία μολυβιού - αποτροπή αφής",link:"Προσθήκη/ Ενημέρωση συνδέσμου για ένα επιλεγμένο σχήμα",eraser:"Γόμα",frame:"",magicframe:"",embeddable:"",laser:"",hand:"",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},e={canvasActions:"Ενέργειες καμβά",selectedShapeActions:"Επιλεγμένες ενέργειες σχήματος",shapes:"Σχήματα"},r={canvasPanning:"",linearElement:"Κάνε κλικ για να ξεκινήσεις πολλαπλά σημεία, σύρε για μια γραμμή",freeDraw:"Κάντε κλικ και σύρτε, απελευθερώσατε όταν έχετε τελειώσει",text:"Tip: μπορείτε επίσης να προσθέστε κείμενο με διπλό-κλικ οπουδήποτε με το εργαλείο επιλογών",embeddable:"",text_selected:"Κάντε διπλό κλικ ή πατήστε ENTER για να επεξεργαστείτε το κείμενο",text_editing:"Πατήστε Escape ή CtrlOrCmd+ENTER για να ολοκληρώσετε την επεξεργασία",linearElementMulti:"Κάνε κλικ στο τελευταίο σημείο ή πάτησε Escape ή Enter για να τελειώσεις",lockAngle:"Μπορείτε να περιορίσετε τη γωνία κρατώντας πατημένο το SHIFT",resize:`Μπορείς να περιορίσεις τις αναλογίες κρατώντας το SHIFT ενώ αλλάζεις μέγεθος,
@@ -1,5 +1,5 @@
1
- import { K as Qt, J as Dl } from "./layers.D8sE8uHE.js";
2
- import { q as Nl } from "./layers.Za1xNAZb.js";
1
+ import { K as Qt, J as Dl } from "./layers.K0bGrkQj.js";
2
+ import { o as Nl } from "./layers.DsH1V8Rv.js";
3
3
  import _n from "lodash-es/memoize.js";
4
4
  import $l from "lodash-es/merge.js";
5
5
  import Rr from "lodash-es/isEmpty.js";
@@ -6042,7 +6042,7 @@ const wr = (t, e) => {
6042
6042
  }, Oa = (t) => {
6043
6043
  t && (t.lazyLoadedDiagrams || t.loadExternalDiagramsAtStartup) && Np("LAZY_LOAD_DEPRECATED");
6044
6044
  }, Ma = "c4", $p = (t) => /^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t), Rp = async () => {
6045
- const { diagram: t } = await import("./layers.CTjRAJwk.js");
6045
+ const { diagram: t } = await import("./layers.BAeib8yb.js");
6046
6046
  return { id: Ma, diagram: t };
6047
6047
  }, qp = {
6048
6048
  id: Ma,
@@ -6052,7 +6052,7 @@ const wr = (t, e) => {
6052
6052
  var i, r;
6053
6053
  return ((i = e == null ? void 0 : e.flowchart) == null ? void 0 : i.defaultRenderer) === "dagre-wrapper" || ((r = e == null ? void 0 : e.flowchart) == null ? void 0 : r.defaultRenderer) === "elk" ? !1 : /^\s*graph/.test(t);
6054
6054
  }, Wp = async () => {
6055
- const { diagram: t } = await import("./layers.l6FaPfT8.js");
6055
+ const { diagram: t } = await import("./layers.COjvNfim.js");
6056
6056
  return { id: Da, diagram: t };
6057
6057
  }, Yp = {
6058
6058
  id: Da,
@@ -6062,70 +6062,70 @@ const wr = (t, e) => {
6062
6062
  var i, r, n;
6063
6063
  return ((i = e == null ? void 0 : e.flowchart) == null ? void 0 : i.defaultRenderer) === "dagre-d3" || ((r = e == null ? void 0 : e.flowchart) == null ? void 0 : r.defaultRenderer) === "elk" ? !1 : /^\s*graph/.test(t) && ((n = e == null ? void 0 : e.flowchart) == null ? void 0 : n.defaultRenderer) === "dagre-wrapper" ? !0 : /^\s*flowchart/.test(t);
6064
6064
  }, Xp = async () => {
6065
- const { diagram: t } = await import("./layers.lmJ2S5UE.js");
6065
+ const { diagram: t } = await import("./layers.BJ1vit34.js");
6066
6066
  return { id: Na, diagram: t };
6067
6067
  }, jp = {
6068
6068
  id: Na,
6069
6069
  detector: Up,
6070
6070
  loader: Xp
6071
6071
  }, Gp = jp, $a = "er", Vp = (t) => /^\s*erDiagram/.test(t), Kp = async () => {
6072
- const { diagram: t } = await import("./layers.DKm2qNyS.js");
6072
+ const { diagram: t } = await import("./layers.BTwe7VCT.js");
6073
6073
  return { id: $a, diagram: t };
6074
6074
  }, Zp = {
6075
6075
  id: $a,
6076
6076
  detector: Vp,
6077
6077
  loader: Kp
6078
6078
  }, Jp = Zp, Ra = "gitGraph", Qp = (t) => /^\s*gitGraph/.test(t), tg = async () => {
6079
- const { diagram: t } = await import("./layers.D1EG4_KB.js");
6079
+ const { diagram: t } = await import("./layers.BNh1FgZF.js");
6080
6080
  return { id: Ra, diagram: t };
6081
6081
  }, eg = {
6082
6082
  id: Ra,
6083
6083
  detector: Qp,
6084
6084
  loader: tg
6085
6085
  }, ig = eg, qa = "gantt", rg = (t) => /^\s*gantt/.test(t), ng = async () => {
6086
- const { diagram: t } = await import("./layers.DE1igpPm.js");
6086
+ const { diagram: t } = await import("./layers.D7enADLv.js");
6087
6087
  return { id: qa, diagram: t };
6088
6088
  }, og = {
6089
6089
  id: qa,
6090
6090
  detector: rg,
6091
6091
  loader: ng
6092
6092
  }, sg = og, Pa = "info", ag = (t) => /^\s*info/.test(t), lg = async () => {
6093
- const { diagram: t } = await import("./layers.DJOVnwM2.js");
6093
+ const { diagram: t } = await import("./layers._8u2gRNd.js");
6094
6094
  return { id: Pa, diagram: t };
6095
6095
  }, cg = {
6096
6096
  id: Pa,
6097
6097
  detector: ag,
6098
6098
  loader: lg
6099
6099
  }, za = "pie", hg = (t) => /^\s*pie/.test(t), ug = async () => {
6100
- const { diagram: t } = await import("./layers.CjfPccZD.js");
6100
+ const { diagram: t } = await import("./layers.BgyswSjW.js");
6101
6101
  return { id: za, diagram: t };
6102
6102
  }, dg = {
6103
6103
  id: za,
6104
6104
  detector: hg,
6105
6105
  loader: ug
6106
6106
  }, Wa = "quadrantChart", fg = (t) => /^\s*quadrantChart/.test(t), pg = async () => {
6107
- const { diagram: t } = await import("./layers.6mdz-Na2.js");
6107
+ const { diagram: t } = await import("./layers.DVskSUWT.js");
6108
6108
  return { id: Wa, diagram: t };
6109
6109
  }, gg = {
6110
6110
  id: Wa,
6111
6111
  detector: fg,
6112
6112
  loader: pg
6113
6113
  }, mg = gg, Ya = "xychart", yg = (t) => /^\s*xychart-beta/.test(t), _g = async () => {
6114
- const { diagram: t } = await import("./layers.cu_xTYUL.js");
6114
+ const { diagram: t } = await import("./layers.DXnMF9u3.js");
6115
6115
  return { id: Ya, diagram: t };
6116
6116
  }, Cg = {
6117
6117
  id: Ya,
6118
6118
  detector: yg,
6119
6119
  loader: _g
6120
6120
  }, xg = Cg, Ha = "requirement", bg = (t) => /^\s*requirement(Diagram)?/.test(t), Tg = async () => {
6121
- const { diagram: t } = await import("./layers.DFFhOqpa.js");
6121
+ const { diagram: t } = await import("./layers.CMVK84Y8.js");
6122
6122
  return { id: Ha, diagram: t };
6123
6123
  }, kg = {
6124
6124
  id: Ha,
6125
6125
  detector: bg,
6126
6126
  loader: Tg
6127
6127
  }, Sg = kg, Ua = "sequence", vg = (t) => /^\s*sequenceDiagram/.test(t), wg = async () => {
6128
- const { diagram: t } = await import("./layers.CI9mmWI6.js");
6128
+ const { diagram: t } = await import("./layers.BMwFpHeV.js");
6129
6129
  return { id: Ua, diagram: t };
6130
6130
  }, Ag = {
6131
6131
  id: Ua,
@@ -6135,7 +6135,7 @@ const wr = (t, e) => {
6135
6135
  var i;
6136
6136
  return ((i = e == null ? void 0 : e.class) == null ? void 0 : i.defaultRenderer) === "dagre-wrapper" ? !1 : /^\s*classDiagram/.test(t);
6137
6137
  }, Eg = async () => {
6138
- const { diagram: t } = await import("./layers.wf0Idf__.js");
6138
+ const { diagram: t } = await import("./layers.DsUdgUIK.js");
6139
6139
  return { id: Xa, diagram: t };
6140
6140
  }, Fg = {
6141
6141
  id: Xa,
@@ -6145,7 +6145,7 @@ const wr = (t, e) => {
6145
6145
  var i;
6146
6146
  return /^\s*classDiagram/.test(t) && ((i = e == null ? void 0 : e.class) == null ? void 0 : i.defaultRenderer) === "dagre-wrapper" ? !0 : /^\s*classDiagram-v2/.test(t);
6147
6147
  }, Mg = async () => {
6148
- const { diagram: t } = await import("./layers.C2bsLW-V.js");
6148
+ const { diagram: t } = await import("./layers.Ct6I-_CT.js");
6149
6149
  return { id: ja, diagram: t };
6150
6150
  }, Dg = {
6151
6151
  id: ja,
@@ -6155,7 +6155,7 @@ const wr = (t, e) => {
6155
6155
  var i;
6156
6156
  return ((i = e == null ? void 0 : e.state) == null ? void 0 : i.defaultRenderer) === "dagre-wrapper" ? !1 : /^\s*stateDiagram/.test(t);
6157
6157
  }, Rg = async () => {
6158
- const { diagram: t } = await import("./layers.DRYcao5O.js");
6158
+ const { diagram: t } = await import("./layers.DAqWenY4.js");
6159
6159
  return { id: Ga, diagram: t };
6160
6160
  }, qg = {
6161
6161
  id: Ga,
@@ -6165,14 +6165,14 @@ const wr = (t, e) => {
6165
6165
  var i;
6166
6166
  return !!(/^\s*stateDiagram-v2/.test(t) || /^\s*stateDiagram/.test(t) && ((i = e == null ? void 0 : e.state) == null ? void 0 : i.defaultRenderer) === "dagre-wrapper");
6167
6167
  }, Wg = async () => {
6168
- const { diagram: t } = await import("./layers.BOYb-ebd.js");
6168
+ const { diagram: t } = await import("./layers.CR_nlgBX.js");
6169
6169
  return { id: Va, diagram: t };
6170
6170
  }, Yg = {
6171
6171
  id: Va,
6172
6172
  detector: zg,
6173
6173
  loader: Wg
6174
6174
  }, Hg = Yg, Ka = "journey", Ug = (t) => /^\s*journey/.test(t), Xg = async () => {
6175
- const { diagram: t } = await import("./layers.LRYgh6hQ.js");
6175
+ const { diagram: t } = await import("./layers.CxzZNbmd.js");
6176
6176
  return { id: Ka, diagram: t };
6177
6177
  }, jg = {
6178
6178
  id: Ka,
@@ -6341,35 +6341,35 @@ const gm = (t) => {
6341
6341
  /^\s*flowchart|graph/.test(t) && ((i = e == null ? void 0 : e.flowchart) == null ? void 0 : i.defaultRenderer) === "elk")
6342
6342
  );
6343
6343
  }, bm = async () => {
6344
- const { diagram: t } = await import("./layers.CCKu4hKE.js");
6344
+ const { diagram: t } = await import("./layers.B3u4xcdj.js");
6345
6345
  return { id: Qa, diagram: t };
6346
6346
  }, Tm = {
6347
6347
  id: Qa,
6348
6348
  detector: xm,
6349
6349
  loader: bm
6350
6350
  }, km = Tm, tl = "timeline", Sm = (t) => /^\s*timeline/.test(t), vm = async () => {
6351
- const { diagram: t } = await import("./layers.BleVyog3.js");
6351
+ const { diagram: t } = await import("./layers.BygYCyeB.js");
6352
6352
  return { id: tl, diagram: t };
6353
6353
  }, wm = {
6354
6354
  id: tl,
6355
6355
  detector: Sm,
6356
6356
  loader: vm
6357
6357
  }, Am = wm, el = "mindmap", Bm = (t) => /^\s*mindmap/.test(t), Lm = async () => {
6358
- const { diagram: t } = await import("./layers.C5-KsS9l.js");
6358
+ const { diagram: t } = await import("./layers.TdkG7Ays.js");
6359
6359
  return { id: el, diagram: t };
6360
6360
  }, Em = {
6361
6361
  id: el,
6362
6362
  detector: Bm,
6363
6363
  loader: Lm
6364
6364
  }, Fm = Em, il = "sankey", Im = (t) => /^\s*sankey-beta/.test(t), Om = async () => {
6365
- const { diagram: t } = await import("./layers.BL8qCZOe.js");
6365
+ const { diagram: t } = await import("./layers.DcaUgNVC.js");
6366
6366
  return { id: il, diagram: t };
6367
6367
  }, Mm = {
6368
6368
  id: il,
6369
6369
  detector: Im,
6370
6370
  loader: Om
6371
6371
  }, Dm = Mm, rl = "block", Nm = (t) => /^\s*block-beta/.test(t), $m = async () => {
6372
- const { diagram: t } = await import("./layers.DG-JxETp.js");
6372
+ const { diagram: t } = await import("./layers.BzkexDjQ.js");
6373
6373
  return { id: rl, diagram: t };
6374
6374
  }, Rm = {
6375
6375
  id: rl,
@@ -1,8 +1,8 @@
1
- import { a8 as z, a9 as F, aa as j, a6 as U, l as g, g as S, d as $, u as H, Y as K, _ as A, $ as E, a0 as L, V, j as P, t as W } from "./layers.D4c48hOc.js";
1
+ import { a8 as z, a9 as F, aa as j, a6 as U, l as g, g as S, d as $, u as H, Y as K, _ as A, $ as E, a0 as L, V, j as P, t as W } from "./layers.BixUexvt.js";
2
2
  import * as G from "lodash-es";
3
3
  import { G as X } from "./layers.BJDrjORS.js";
4
- import { r as Y } from "./layers.ylAWGnrt.js";
5
- import { c as J } from "./layers.Ce_vM4CM.js";
4
+ import { r as Y } from "./layers.C_94Ju-e.js";
5
+ import { c as J } from "./layers.BzIeKO-1.js";
6
6
  function Q(e) {
7
7
  return typeof e == "string" ? new z([document.querySelectorAll(e)], [document.documentElement]) : new z([j(e)], F);
8
8
  }
@@ -1,4 +1,4 @@
1
- import "./layers.D8sE8uHE.js";
1
+ import "./layers.K0bGrkQj.js";
2
2
  var e = { paste: "Colar", pasteAsPlaintext: "Colar como texto simples", pasteCharts: "Colar gráficos", selectAll: "Selecionar tudo", multiSelect: "Adicionar elemento à seleção", moveCanvas: "Mover tela", cut: "Cortar", copy: "Copiar", copyAsPng: "Copiar para a área de transferência como PNG", copyAsSvg: "Copiar para a área de transferência como SVG", copyText: "Copiar para Área de Transferência como texto", copySource: "", convertToCode: "", bringForward: "Trazer para o primeiro plano", sendToBack: "Enviar para o plano de fundo", bringToFront: "Trazer para o primeiro plano", sendBackward: "Enviar para trás", delete: "Apagar", copyStyles: "Copiar os estilos", pasteStyles: "Colar os estilos", stroke: "Contornos", background: "Fundo", fill: "Preenchimento", strokeWidth: "Espessura do traço", strokeStyle: "Estilo de traço", strokeStyle_solid: "Sólido", strokeStyle_dashed: "Tracejado", strokeStyle_dotted: "Pontilhado", sloppiness: "Desleixo", opacity: "Opacidade", textAlign: "Alinhamento do texto", edges: "Arestas", sharp: "Aguçado", round: "Redondo", arrowheads: "Pontas", arrowhead_none: "Nenhuma", arrowhead_arrow: "Seta", arrowhead_bar: "Barra", arrowhead_circle: "", arrowhead_circle_outline: "", arrowhead_triangle: "Triângulo", arrowhead_triangle_outline: "", arrowhead_diamond: "", arrowhead_diamond_outline: "", fontSize: "Tamanho da fonte", fontFamily: "Família da fontes", addWatermark: 'Adicionar "Feito com Excalidraw"', handDrawn: "Manuscrito", normal: "Normal", code: "Código", small: "Pequeno", medium: "Médio", large: "Grande", veryLarge: "Muito grande", solid: "Sólido", hachure: "Eclosão", zigzag: "ziguezague", crossHatch: "Sombreado", thin: "Fino", bold: "Espesso", left: "Esquerda", center: "Centralizar", right: "Direita", extraBold: "Muito espesso", architect: "Arquitecto", artist: "Artista", cartoonist: "Caricaturista", fileTitle: "Nome do ficheiro", colorPicker: "Seletor de cores", canvasColors: "Usado na tela", canvasBackground: "Fundo da área de desenho", drawingCanvas: "Área de desenho", layers: "Camadas", actions: "Ações", language: "Idioma", liveCollaboration: "Colaboração ao vivo...", duplicateSelection: "Duplicar", untitled: "Sem título", name: "Nome", yourName: "O seu nome", madeWithExcalidraw: "Feito com Excalidraw", group: "Agrupar seleção", ungroup: "Desagrupar seleção", collaborators: "Colaboradores", showGrid: "Mostrar grelha", addToLibrary: "Adicionar à biblioteca", removeFromLibrary: "Remover da biblioteca", libraryLoadingMessage: "A carregar a biblioteca…", libraries: "Procurar bibliotecas", loadingScene: "A carregar a cena…", align: "Alinhamento", alignTop: "Alinhar ao topo", alignBottom: "Alinhar ao fundo", alignLeft: "Alinhar à esquerda", alignRight: "Alinhar à direita", centerVertically: "Centrar verticalmente", centerHorizontally: "Centrar horizontalmente", distributeHorizontally: "Distribuir horizontalmente", distributeVertically: "Distribuir verticalmente", flipHorizontal: "Inverter horizontalmente", flipVertical: "Inverter verticalmente", viewMode: "Modo de visualização", share: "Partilhar", showStroke: "Mostrar seletor de cores do traço", showBackground: "Mostrar seletor de cores do fundo", toggleTheme: "Alternar tema", personalLib: "Biblioteca pessoal", excalidrawLib: "Biblioteca do Excalidraw", decreaseFontSize: "Reduzir o tamanho do tipo de letra", increaseFontSize: "Aumentar o tamanho do tipo de letra", unbindText: "Desvincular texto", bindText: "Ligar texto ao recipiente", createContainerFromText: "Envolver texto num recipiente", link: { edit: "Editar ligação", editEmbed: "", create: "Criar ligação", createEmbed: "", label: "Ligação", labelEmbed: "", empty: "" }, lineEditor: { edit: "Editar linha", exit: "Sair do editor de linha" }, elementLock: { lock: "Bloquear", unlock: "Desbloquear", lockAll: "Bloquear todos", unlockAll: "Desbloquear todos" }, statusPublished: "Publicado", sidebarLock: "Manter a barra lateral aberta", selectAllElementsInFrame: "", removeAllElementsFromFrame: "", eyeDropper: "", textToDiagram: "", prompt: "" }, a = { noItems: "Ainda não foram adicionados nenhuns itens...", hint_emptyLibrary: "Seleccione um item na tela para adicioná-lo aqui, ou então instale uma biblioteca do repositório público abaixo.", hint_emptyPrivateLibrary: "Seleccione um item na tela para adicioná-lo aqui." }, o = { clearReset: "Limpar a área de desenho e redefinir a cor de fundo", exportJSON: "Exportar para ficheiro", exportImage: "Exportar imagem...", export: "Guardar para...", copyToClipboard: "Copiar para o clipboard", save: "Guardar no ficheiro atual", saveAs: "Guardar como", load: "Abrir", getShareableLink: "Obter um link de partilha", close: "Fechar", selectLanguage: "Selecionar idioma", scrollBackToContent: "Voltar ao conteúdo", zoomIn: "Aumentar zoom", zoomOut: "Diminuir zoom", resetZoom: "Redefinir zoom", menu: "Menu", done: "Concluído", edit: "Editar", undo: "Desfazer", redo: "Refazer", resetLibrary: "Repor a biblioteca", createNewRoom: "Criar nova sala", fullScreen: "Ecrã inteiro", darkMode: "Modo escuro", lightMode: "Modo claro", zenMode: "Modo zen", objectsSnapMode: "", exitZenMode: "Sair do modo zen", cancel: "Cancelar", clear: "Limpar", remove: "Remover", embed: "", publishLibrary: "Publicar", submit: "Enviar", confirm: "Confirmar", embeddableInteractionButton: "" }, r = { clearReset: "Isto irá limpar toda a área de desenho. Tem a certeza?", couldNotCreateShareableLink: "Não foi possível criar um link partilhável.", couldNotCreateShareableLinkTooBig: "Não foi possível criar um link partilhável: a cena é muito grande", couldNotLoadInvalidFile: "Não foi possível carregar o ficheiro inválido", importBackendFailed: "A importação do servidor falhou.", cannotExportEmptyCanvas: "Não é possível exportar uma área de desenho vazia.", couldNotCopyToClipboard: "Não foi possível copiar para a área de transferência.", decryptFailed: "Não foi possível desencriptar os dados.", uploadedSecurly: "O upload foi protegido com criptografia de ponta a ponta, o que significa que o servidor do Excalidraw e terceiros não podem ler o conteúdo.", loadSceneOverridePrompt: "Se carregar um desenho externo substituirá o conteúdo existente. Quer continuar?", collabStopOverridePrompt: `Ao interromper a sessão irá substituir o último desenho guardado. Tem a certeza?
3
3
 
4
4
  (Caso queira manter o último desenho, simplesmente feche a janela do navegador.)`, errorAddingToLibrary: "Não foi possível adicionar o item à biblioteca", errorRemovingFromLibrary: "Não foi possível remover o item da biblioteca", confirmAddLibrary: "Isso adicionará {{numShapes}} forma(s) à sua biblioteca. Tem a certeza?", imageDoesNotContainScene: "Esta imagem parece não conter dados de cenas. Ativou a incorporação da cena durante a exportação?", cannotRestoreFromImage: "Não foi possível restaurar a cena deste ficheiro de imagem", invalidSceneUrl: "Não foi possível importar a cena a partir do URL fornecido. Ou está mal formado ou não contém dados JSON do Excalidraw válidos.", resetLibrary: "Isto irá limpar a sua biblioteca. Tem a certeza?", removeItemsFromsLibrary: "Apagar {{count}} item(ns) da biblioteca?", invalidEncryptionKey: "Chave de encriptação deve ter 22 caracteres. A colaboração ao vivo está desativada.", collabOfflineWarning: `Sem ligação à internet disponível.
@@ -0,0 +1,76 @@
1
+ import { jsxs as p, Fragment as M, jsx as c } from "react/jsx-runtime";
2
+ import { useState as n, useRef as x, useEffect as O } from "react";
3
+ import { useLexicalComposerContext as N } from "@lexical/react/LexicalComposerContext";
4
+ import { createCommand as g, COMMAND_PRIORITY_EDITOR as w } from "lexical";
5
+ import { e as D, g as S, f as A } from "./layers.DsH1V8Rv.js";
6
+ import { C as R, E as I } from "./layers.C4dPTDZJ.js";
7
+ const _ = g(
8
+ "INSERT_EXCALIDRAW_COMMAND"
9
+ );
10
+ function k() {
11
+ const [o] = N(), [d, t] = n(!1), [e, f] = n(
12
+ null
13
+ ), s = x(null), [m, a] = n(!1);
14
+ O(() => {
15
+ if (!o.hasNodes([D]))
16
+ throw new Error(
17
+ "ExcalidrawPlugin: ExcalidrawNode not registered on editor"
18
+ );
19
+ return o.registerCommand(
20
+ _,
21
+ () => {
22
+ t(!0);
23
+ const r = S();
24
+ return f(r), !0;
25
+ },
26
+ w
27
+ );
28
+ }, [o]);
29
+ const l = () => {
30
+ t(!1), a(!1), s.current = !1;
31
+ };
32
+ return /* @__PURE__ */ p(M, { children: [
33
+ /* @__PURE__ */ c(
34
+ R,
35
+ {
36
+ isCloseModal: m,
37
+ confirmClose: l,
38
+ setCloseModalOpen: a
39
+ }
40
+ ),
41
+ /* @__PURE__ */ c(
42
+ I,
43
+ {
44
+ initialElements: [],
45
+ initialAppState: {},
46
+ initialFiles: {},
47
+ isShown: d,
48
+ onDelete: () => {
49
+ t(!1);
50
+ },
51
+ onClose: () => {
52
+ s.current ? a(!0) : l();
53
+ },
54
+ onSave: (r, u, C, E) => {
55
+ o.update(() => {
56
+ const i = A();
57
+ i.setData(
58
+ JSON.stringify({
59
+ appState: u,
60
+ elements: r,
61
+ files: C,
62
+ previewSVG: E
63
+ })
64
+ ), e && e.getParent() && (e == null || e.replace(i));
65
+ }), t(!1);
66
+ },
67
+ closeOnClickOutside: !1,
68
+ isEdited: s
69
+ }
70
+ )
71
+ ] });
72
+ }
73
+ export {
74
+ _ as INSERT_EXCALIDRAW_COMMAND,
75
+ k as default
76
+ };
@@ -1 +1 @@
1
- "use strict";const P=require("lodash-es"),J=require("./layers.Cyzu9PKQ.js"),k=require("./layers.BLd2spTm.js"),u=require("./layers.C2XuxKbl.js"),i=require("./layers.CjxpNr33.js"),j=require("./layers.COzdgI_q.js");function G(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const m=G(P);function x(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:M(e),edges:F(e)};return m.isUndefined(e.graph())||(t.value=m.clone(e.graph())),t}function M(e){return m.map(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),s={v:t};return m.isUndefined(n)||(s.value=n),m.isUndefined(r)||(s.parent=r),s})}function F(e){return m.map(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return m.isUndefined(t.name)||(r.name=t.name),m.isUndefined(n)||(r.value=n),r})}let a={},w={},p={};const q=()=>{w={},p={},a={}},X=(e,t)=>(i.log$1.trace("In isDescendant",t," ",e," = ",w[t].includes(e)),!!w[t].includes(e)),_=(e,t)=>(i.log$1.info("Descendants of ",t," is ",w[t]),i.log$1.info("Edge is ",e),e.v===t||e.w===t?!1:w[t]?w[t].includes(e.v)||X(e.v,t)||X(e.w,t)||w[t].includes(e.w):(i.log$1.debug("Tilt, ",t,",not in descendants"),!1)),B=(e,t,n,r)=>{i.log$1.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const s=t.children(e)||[];e!==r&&s.push(e),i.log$1.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(o=>{if(t.children(o).length>0)B(o,t,n,r);else{const f=t.node(o);i.log$1.info("cp ",o," to ",r," with parent ",e),n.setNode(o,f),r!==t.parent(o)&&(i.log$1.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==r&&o!==e?(i.log$1.debug("Setting parent",o,e),n.setParent(o,e)):(i.log$1.info("In copy ",e,"root",r,"data",t.node(e),r),i.log$1.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==r,"node!==clusterId",o!==e));const g=t.edges(o);i.log$1.debug("Copying Edges",g),g.forEach(d=>{i.log$1.info("Edge",d);const h=t.edge(d.v,d.w,d.name);i.log$1.info("Edge data",h,r);try{_(d,r)?(i.log$1.info("Copying as ",d.v,d.w,h,d.name),n.setEdge(d.v,d.w,h,d.name),i.log$1.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.log$1.info("Skipping copy of edge ",d.v,"-->",d.w," rootId: ",r," clusterId:",e)}catch($){i.log$1.error($)}})}i.log$1.debug("Removing node",o),t.removeNode(o)})},D=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)p[s]=e,r=[...r,...D(s,t)];return r},C=(e,t)=>{i.log$1.trace("Searching",e);const n=t.children(e);if(i.log$1.trace("Searching children of id ",e,n),n.length<1)return i.log$1.trace("This is a valid node",e),e;for(const r of n){const s=C(r,t);if(s)return i.log$1.trace("Found replacement for",e," => ",s),s}},S=e=>!a[e]||!a[e].externalConnections?e:a[e]?a[e].id:e,U=(e,t)=>{if(!e||t>10){i.log$1.debug("Opting out, no graph ");return}else i.log$1.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.log$1.warn("Cluster identified",n," Replacement id in edges: ",C(n,e)),w[n]=D(n,e),a[n]={id:C(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),s=e.edges();r.length>0?(i.log$1.debug("Cluster identified",n,w),s.forEach(o=>{if(o.v!==n&&o.w!==n){const f=X(o.v,n),g=X(o.w,n);f^g&&(i.log$1.warn("Edge: ",o," leaves cluster ",n),i.log$1.warn("Descendants of XXX ",n,": ",w[n]),a[n].externalConnections=!0)}})):i.log$1.debug("Not a cluster ",n,w)});for(let n of Object.keys(a)){const r=a[n].id,s=e.parent(r);s!==n&&a[s]&&!a[s].externalConnections&&(a[n].id=s)}e.edges().forEach(function(n){const r=e.edge(n);i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,o=n.w;if(i.log$1.warn("Fix XXX",a,"ids:",n.v,n.w,"Translating: ",a[n.v]," --- ",a[n.w]),a[n.v]&&a[n.w]&&a[n.v]===a[n.w]){i.log$1.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name);const f=n.w+"---"+n.v;e.setNode(f,{domId:f,id:f,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const g=structuredClone(r),d=structuredClone(r);g.label="",g.arrowTypeEnd="none",d.label="",g.fromCluster=n.v,d.toCluster=n.v,e.setEdge(s,f,g,n.name+"-cyclic-special"),e.setEdge(f,o,d,n.name+"-cyclic-special")}else if(a[n.v]||a[n.w]){if(i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v){const f=e.parent(s);a[f].externalConnections=!0,r.fromCluster=n.v}if(o!==n.w){const f=e.parent(o);a[f].externalConnections=!0,r.toCluster=n.w}i.log$1.warn("Fix Replacing with XXX",s,o,n.name),e.setEdge(s,o,r,n.name)}}),i.log$1.warn("Adjusted Graph",x(e)),T(e,0),i.log$1.trace(a)},T=(e,t)=>{if(i.log$1.warn("extractor - ",t,x(e),e.children("D")),t>10){i.log$1.error("Bailing out");return}let n=e.nodes(),r=!1;for(const s of n){const o=e.children(s);r=r||o.length>0}if(!r){i.log$1.debug("Done, no node has children",e.nodes());return}i.log$1.debug("Nodes = ",n,t);for(const s of n)if(i.log$1.debug("Extracting node",s,a,a[s]&&!a[s].externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!a[s])i.log$1.debug("Not a cluster",s,t);else if(!a[s].externalConnections&&e.children(s)&&e.children(s).length>0){i.log$1.warn("Cluster without external connections, without a parent and with children",s,t);let f=e.graph().rankdir==="TB"?"LR":"TB";a[s]&&a[s].clusterData&&a[s].clusterData.dir&&(f=a[s].clusterData.dir,i.log$1.warn("Fixing dir",a[s].clusterData.dir,f));const g=new k.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:f,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.log$1.warn("Old graph before copy",x(e)),B(s,e,g,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:a[s].clusterData,labelText:a[s].labelText,graph:g}),i.log$1.warn("New graph after copy node: (",s,")",x(g)),i.log$1.debug("Old graph after copy",x(e))}else i.log$1.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!a[s].externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.log$1.debug(a);n=e.nodes(),i.log$1.warn("New list of nodes",n);for(const s of n){const o=e.node(s);i.log$1.warn(" Now next level",s,o),o.clusterNode&&T(o.graph,t+1)}},O=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),o=O(e,s);n=[...n,...o]}),n},A=e=>O(e,e.children()),H=(e,t)=>{i.log$1.info("Creating subgraph rect for ",t.id,t);const n=i.getConfig(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),s=r.insert("rect",":first-child"),o=i.evaluate(n.flowchart.htmlLabels),f=r.insert("g").attr("class","cluster-label"),g=t.labelType==="markdown"?j.createText(f,t.labelText,{style:t.labelStyle,useHtmlLabels:o}):f.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}const h=0*t.padding,$=h/2,y=t.width<=d.width+h?d.width+h:t.width;t.width<=d.width+h?t.diff=(d.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,i.log$1.trace("Data ",t,JSON.stringify(t)),s.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-y/2).attr("y",t.y-t.height/2-$).attr("width",y).attr("height",t.height+h);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o?f.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+N})`):f.attr("transform",`translate(${t.x}, ${t.y-t.height/2+N})`);const b=s.node().getBBox();return t.width=b.width,t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},V=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2-o).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.intersect=function(g){return u.intersectRect$1(t,g)},n},z=(e,t)=>{const n=i.getConfig(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),s=r.insert("rect",":first-child"),o=r.insert("g").attr("class","cluster-label"),f=r.append("rect"),g=o.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}d=g.getBBox();const h=0*t.padding,$=h/2,y=t.width<=d.width+t.padding?d.width+t.padding:t.width;t.width<=d.width+t.padding?t.diff=(d.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,s.attr("class","outer").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$).attr("width",y+h).attr("height",t.height+h),f.attr("class","inner").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$+d.height-1).attr("width",y+h).attr("height",t.height+h-d.height-3);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2-t.padding/3+(i.evaluate(n.flowchart.htmlLabels)?5:3)+N})`);const b=s.node().getBBox();return t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},W=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.diff=-t.padding/2,t.intersect=function(g){return u.intersectRect$1(t,g)},n},K={rect:H,roundedWithTitle:z,noteGroup:V,divider:W};let R={};const Q=(e,t)=>{i.log$1.trace("Inserting cluster");const n=t.shape||"rect";R[t.id]=K[n](e,t)},Y=()=>{R={}},L=async(e,t,n,r,s,o)=>{i.log$1.info("Graph in recursive render: XXX",x(t),s);const f=t.graph().rankdir;i.log$1.trace("Dir in recursive render - dir:",f);const g=e.insert("g").attr("class","root");t.nodes()?i.log$1.info("Recursive render XXX",t.nodes()):i.log$1.info("No nodes found for",t),t.edges().length>0&&i.log$1.trace("Recursive edges",t.edge(t.edges()[0]));const d=g.insert("g").attr("class","clusters"),h=g.insert("g").attr("class","edgePaths"),$=g.insert("g").attr("class","edgeLabels"),y=g.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(l){const c=t.node(l);if(s!==void 0){const v=JSON.parse(JSON.stringify(s.clusterData));i.log$1.info("Setting data for cluster XXX (",l,") ",v,s),t.setNode(s.id,v),t.parent(l)||(i.log$1.trace("Setting parent",l,s.id),t.setParent(l,s.id,v))}if(i.log$1.info("(Insert) Node XXX"+l+": "+JSON.stringify(t.node(l))),c&&c.clusterNode){i.log$1.info("Cluster identified",l,c.width,t.node(l));const v=await L(y,c.graph,n,r,t.node(l),o),E=v.elem;u.updateNodeBounds(c,E),c.diff=v.diff||0,i.log$1.info("Node bounds (abc123)",l,c,c.width,c.x,c.y),u.setNodeElem(E,c),i.log$1.warn("Recursive render complete ",E,c)}else t.children(l).length>0?(i.log$1.info("Cluster - the non recursive path XXX",l,c.id,c,t),i.log$1.info(C(c.id,t)),a[c.id]={id:C(c.id,t),node:c}):(i.log$1.info("Node - the non recursive path",l,c.id,c),await u.insertNode(y,t.node(l),f))})),t.edges().forEach(function(l){const c=t.edge(l.v,l.w,l.name);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l)),i.log$1.info("Edge "+l.v+" -> "+l.w+": ",l," ",JSON.stringify(t.edge(l))),i.log$1.info("Fix",a,"ids:",l.v,l.w,"Translating: ",a[l.v],a[l.w]),u.insertEdgeLabel($,c)}),t.edges().forEach(function(l){i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l))}),i.log$1.info("#############################################"),i.log$1.info("### Layout ###"),i.log$1.info("#############################################"),i.log$1.info(t),J.layout(t),i.log$1.info("Graph after layout:",x(t));let N=0;const{subGraphTitleTotalMargin:b}=u.getSubGraphTitleMargins(o);return A(t).forEach(function(l){const c=t.node(l);i.log$1.info("Position "+l+": "+JSON.stringify(t.node(l))),i.log$1.info("Position "+l+": ("+c.x,","+c.y,") width: ",c.width," height: ",c.height),c&&c.clusterNode?(c.y+=b,u.positionNode(c)):t.children(l).length>0?(c.height+=b,Q(d,c),a[c.id].node=c):(c.y+=b/2,u.positionNode(c))}),t.edges().forEach(function(l){const c=t.edge(l);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(c),c),c.points.forEach(E=>E.y+=b/2);const v=u.insertEdge(h,l,c,a,n,t,r);u.positionEdgeLabel(c,v)}),t.nodes().forEach(function(l){const c=t.node(l);i.log$1.info(l,c.type,c.diff),c.type==="group"&&(N=c.diff)}),{elem:g,diff:N}},Z=async(e,t,n,r,s)=>{u.insertMarkers$1(e,n,r,s),u.clear$1(),u.clear(),Y(),q(),i.log$1.warn("Graph at first:",JSON.stringify(x(t))),U(t),i.log$1.warn("Graph after:",JSON.stringify(x(t)));const o=i.getConfig();await L(e,t,r,s,void 0,o)};exports.render=Z;
1
+ "use strict";const P=require("lodash-es"),J=require("./layers.Cyzu9PKQ.js"),k=require("./layers.BLd2spTm.js"),u=require("./layers.Dpg89znh.js"),i=require("./layers.aJsGnnRx.js"),j=require("./layers.BX3cFaBm.js");function G(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const m=G(P);function x(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:M(e),edges:F(e)};return m.isUndefined(e.graph())||(t.value=m.clone(e.graph())),t}function M(e){return m.map(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),s={v:t};return m.isUndefined(n)||(s.value=n),m.isUndefined(r)||(s.parent=r),s})}function F(e){return m.map(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return m.isUndefined(t.name)||(r.name=t.name),m.isUndefined(n)||(r.value=n),r})}let a={},w={},p={};const q=()=>{w={},p={},a={}},X=(e,t)=>(i.log$1.trace("In isDescendant",t," ",e," = ",w[t].includes(e)),!!w[t].includes(e)),_=(e,t)=>(i.log$1.info("Descendants of ",t," is ",w[t]),i.log$1.info("Edge is ",e),e.v===t||e.w===t?!1:w[t]?w[t].includes(e.v)||X(e.v,t)||X(e.w,t)||w[t].includes(e.w):(i.log$1.debug("Tilt, ",t,",not in descendants"),!1)),B=(e,t,n,r)=>{i.log$1.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const s=t.children(e)||[];e!==r&&s.push(e),i.log$1.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(o=>{if(t.children(o).length>0)B(o,t,n,r);else{const f=t.node(o);i.log$1.info("cp ",o," to ",r," with parent ",e),n.setNode(o,f),r!==t.parent(o)&&(i.log$1.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==r&&o!==e?(i.log$1.debug("Setting parent",o,e),n.setParent(o,e)):(i.log$1.info("In copy ",e,"root",r,"data",t.node(e),r),i.log$1.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==r,"node!==clusterId",o!==e));const g=t.edges(o);i.log$1.debug("Copying Edges",g),g.forEach(d=>{i.log$1.info("Edge",d);const h=t.edge(d.v,d.w,d.name);i.log$1.info("Edge data",h,r);try{_(d,r)?(i.log$1.info("Copying as ",d.v,d.w,h,d.name),n.setEdge(d.v,d.w,h,d.name),i.log$1.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.log$1.info("Skipping copy of edge ",d.v,"-->",d.w," rootId: ",r," clusterId:",e)}catch($){i.log$1.error($)}})}i.log$1.debug("Removing node",o),t.removeNode(o)})},D=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)p[s]=e,r=[...r,...D(s,t)];return r},C=(e,t)=>{i.log$1.trace("Searching",e);const n=t.children(e);if(i.log$1.trace("Searching children of id ",e,n),n.length<1)return i.log$1.trace("This is a valid node",e),e;for(const r of n){const s=C(r,t);if(s)return i.log$1.trace("Found replacement for",e," => ",s),s}},S=e=>!a[e]||!a[e].externalConnections?e:a[e]?a[e].id:e,U=(e,t)=>{if(!e||t>10){i.log$1.debug("Opting out, no graph ");return}else i.log$1.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.log$1.warn("Cluster identified",n," Replacement id in edges: ",C(n,e)),w[n]=D(n,e),a[n]={id:C(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),s=e.edges();r.length>0?(i.log$1.debug("Cluster identified",n,w),s.forEach(o=>{if(o.v!==n&&o.w!==n){const f=X(o.v,n),g=X(o.w,n);f^g&&(i.log$1.warn("Edge: ",o," leaves cluster ",n),i.log$1.warn("Descendants of XXX ",n,": ",w[n]),a[n].externalConnections=!0)}})):i.log$1.debug("Not a cluster ",n,w)});for(let n of Object.keys(a)){const r=a[n].id,s=e.parent(r);s!==n&&a[s]&&!a[s].externalConnections&&(a[n].id=s)}e.edges().forEach(function(n){const r=e.edge(n);i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,o=n.w;if(i.log$1.warn("Fix XXX",a,"ids:",n.v,n.w,"Translating: ",a[n.v]," --- ",a[n.w]),a[n.v]&&a[n.w]&&a[n.v]===a[n.w]){i.log$1.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name);const f=n.w+"---"+n.v;e.setNode(f,{domId:f,id:f,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const g=structuredClone(r),d=structuredClone(r);g.label="",g.arrowTypeEnd="none",d.label="",g.fromCluster=n.v,d.toCluster=n.v,e.setEdge(s,f,g,n.name+"-cyclic-special"),e.setEdge(f,o,d,n.name+"-cyclic-special")}else if(a[n.v]||a[n.w]){if(i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v){const f=e.parent(s);a[f].externalConnections=!0,r.fromCluster=n.v}if(o!==n.w){const f=e.parent(o);a[f].externalConnections=!0,r.toCluster=n.w}i.log$1.warn("Fix Replacing with XXX",s,o,n.name),e.setEdge(s,o,r,n.name)}}),i.log$1.warn("Adjusted Graph",x(e)),T(e,0),i.log$1.trace(a)},T=(e,t)=>{if(i.log$1.warn("extractor - ",t,x(e),e.children("D")),t>10){i.log$1.error("Bailing out");return}let n=e.nodes(),r=!1;for(const s of n){const o=e.children(s);r=r||o.length>0}if(!r){i.log$1.debug("Done, no node has children",e.nodes());return}i.log$1.debug("Nodes = ",n,t);for(const s of n)if(i.log$1.debug("Extracting node",s,a,a[s]&&!a[s].externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!a[s])i.log$1.debug("Not a cluster",s,t);else if(!a[s].externalConnections&&e.children(s)&&e.children(s).length>0){i.log$1.warn("Cluster without external connections, without a parent and with children",s,t);let f=e.graph().rankdir==="TB"?"LR":"TB";a[s]&&a[s].clusterData&&a[s].clusterData.dir&&(f=a[s].clusterData.dir,i.log$1.warn("Fixing dir",a[s].clusterData.dir,f));const g=new k.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:f,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.log$1.warn("Old graph before copy",x(e)),B(s,e,g,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:a[s].clusterData,labelText:a[s].labelText,graph:g}),i.log$1.warn("New graph after copy node: (",s,")",x(g)),i.log$1.debug("Old graph after copy",x(e))}else i.log$1.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!a[s].externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.log$1.debug(a);n=e.nodes(),i.log$1.warn("New list of nodes",n);for(const s of n){const o=e.node(s);i.log$1.warn(" Now next level",s,o),o.clusterNode&&T(o.graph,t+1)}},O=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),o=O(e,s);n=[...n,...o]}),n},A=e=>O(e,e.children()),H=(e,t)=>{i.log$1.info("Creating subgraph rect for ",t.id,t);const n=i.getConfig(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),s=r.insert("rect",":first-child"),o=i.evaluate(n.flowchart.htmlLabels),f=r.insert("g").attr("class","cluster-label"),g=t.labelType==="markdown"?j.createText(f,t.labelText,{style:t.labelStyle,useHtmlLabels:o}):f.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}const h=0*t.padding,$=h/2,y=t.width<=d.width+h?d.width+h:t.width;t.width<=d.width+h?t.diff=(d.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,i.log$1.trace("Data ",t,JSON.stringify(t)),s.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-y/2).attr("y",t.y-t.height/2-$).attr("width",y).attr("height",t.height+h);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o?f.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+N})`):f.attr("transform",`translate(${t.x}, ${t.y-t.height/2+N})`);const b=s.node().getBBox();return t.width=b.width,t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},V=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2-o).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.intersect=function(g){return u.intersectRect$1(t,g)},n},z=(e,t)=>{const n=i.getConfig(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),s=r.insert("rect",":first-child"),o=r.insert("g").attr("class","cluster-label"),f=r.append("rect"),g=o.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}d=g.getBBox();const h=0*t.padding,$=h/2,y=t.width<=d.width+t.padding?d.width+t.padding:t.width;t.width<=d.width+t.padding?t.diff=(d.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,s.attr("class","outer").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$).attr("width",y+h).attr("height",t.height+h),f.attr("class","inner").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$+d.height-1).attr("width",y+h).attr("height",t.height+h-d.height-3);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2-t.padding/3+(i.evaluate(n.flowchart.htmlLabels)?5:3)+N})`);const b=s.node().getBBox();return t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},W=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.diff=-t.padding/2,t.intersect=function(g){return u.intersectRect$1(t,g)},n},K={rect:H,roundedWithTitle:z,noteGroup:V,divider:W};let R={};const Q=(e,t)=>{i.log$1.trace("Inserting cluster");const n=t.shape||"rect";R[t.id]=K[n](e,t)},Y=()=>{R={}},L=async(e,t,n,r,s,o)=>{i.log$1.info("Graph in recursive render: XXX",x(t),s);const f=t.graph().rankdir;i.log$1.trace("Dir in recursive render - dir:",f);const g=e.insert("g").attr("class","root");t.nodes()?i.log$1.info("Recursive render XXX",t.nodes()):i.log$1.info("No nodes found for",t),t.edges().length>0&&i.log$1.trace("Recursive edges",t.edge(t.edges()[0]));const d=g.insert("g").attr("class","clusters"),h=g.insert("g").attr("class","edgePaths"),$=g.insert("g").attr("class","edgeLabels"),y=g.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(l){const c=t.node(l);if(s!==void 0){const v=JSON.parse(JSON.stringify(s.clusterData));i.log$1.info("Setting data for cluster XXX (",l,") ",v,s),t.setNode(s.id,v),t.parent(l)||(i.log$1.trace("Setting parent",l,s.id),t.setParent(l,s.id,v))}if(i.log$1.info("(Insert) Node XXX"+l+": "+JSON.stringify(t.node(l))),c&&c.clusterNode){i.log$1.info("Cluster identified",l,c.width,t.node(l));const v=await L(y,c.graph,n,r,t.node(l),o),E=v.elem;u.updateNodeBounds(c,E),c.diff=v.diff||0,i.log$1.info("Node bounds (abc123)",l,c,c.width,c.x,c.y),u.setNodeElem(E,c),i.log$1.warn("Recursive render complete ",E,c)}else t.children(l).length>0?(i.log$1.info("Cluster - the non recursive path XXX",l,c.id,c,t),i.log$1.info(C(c.id,t)),a[c.id]={id:C(c.id,t),node:c}):(i.log$1.info("Node - the non recursive path",l,c.id,c),await u.insertNode(y,t.node(l),f))})),t.edges().forEach(function(l){const c=t.edge(l.v,l.w,l.name);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l)),i.log$1.info("Edge "+l.v+" -> "+l.w+": ",l," ",JSON.stringify(t.edge(l))),i.log$1.info("Fix",a,"ids:",l.v,l.w,"Translating: ",a[l.v],a[l.w]),u.insertEdgeLabel($,c)}),t.edges().forEach(function(l){i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l))}),i.log$1.info("#############################################"),i.log$1.info("### Layout ###"),i.log$1.info("#############################################"),i.log$1.info(t),J.layout(t),i.log$1.info("Graph after layout:",x(t));let N=0;const{subGraphTitleTotalMargin:b}=u.getSubGraphTitleMargins(o);return A(t).forEach(function(l){const c=t.node(l);i.log$1.info("Position "+l+": "+JSON.stringify(t.node(l))),i.log$1.info("Position "+l+": ("+c.x,","+c.y,") width: ",c.width," height: ",c.height),c&&c.clusterNode?(c.y+=b,u.positionNode(c)):t.children(l).length>0?(c.height+=b,Q(d,c),a[c.id].node=c):(c.y+=b/2,u.positionNode(c))}),t.edges().forEach(function(l){const c=t.edge(l);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(c),c),c.points.forEach(E=>E.y+=b/2);const v=u.insertEdge(h,l,c,a,n,t,r);u.positionEdgeLabel(c,v)}),t.nodes().forEach(function(l){const c=t.node(l);i.log$1.info(l,c.type,c.diff),c.type==="group"&&(N=c.diff)}),{elem:g,diff:N}},Z=async(e,t,n,r,s)=>{u.insertMarkers$1(e,n,r,s),u.clear$1(),u.clear(),Y(),q(),i.log$1.warn("Graph at first:",JSON.stringify(x(t))),U(t),i.log$1.warn("Graph after:",JSON.stringify(x(t)));const o=i.getConfig();await L(e,t,r,s,void 0,o)};exports.render=Z;