@layers-app/editor 0.7.72 → 0.7.74
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.
- package/README.md +831 -831
- package/dist/index.cjs +2 -2
- package/dist/index.d.ts +33 -5
- package/dist/index.js +9 -9
- package/dist/{layers.CwvsT5MW.js → layers.-MTW4dUZ.js} +1 -1
- package/dist/{layers.xFKciXPD.js → layers.1H6uNCY3.js} +1 -1
- package/dist/layers.2EDAE5Pi.js +6 -0
- package/dist/{layers.ffYN0Niz.js → layers.3Rh4-W3A.js} +1 -1
- package/dist/layers.4twrFi1b.js +1 -0
- package/dist/{layers.BR7pfq8u.js → layers.6bUVpCNb.js} +1 -1
- package/dist/{layers.DDuZUtH0.js → layers.6sncLm0g.js} +1 -1
- package/dist/{layers.nsYs1Rqq.js → layers.8gNRvvHX.js} +1 -1
- package/dist/{layers.BMbdnhC4.js → layers.9P4qPhUE.js} +1 -1
- package/dist/{layers.CCeQ1Zgg.js → layers.AH6KaoNR.js} +1 -1
- package/dist/{layers.DSbPZvfy.js → layers.AQQV2N1O.js} +1 -1
- package/dist/{layers.Dd8aY92t.js → layers.B0MFDkGw.js} +3 -3
- package/dist/{layers.DzB7pvmr.js → layers.B0Zd7pAi.js} +1 -1
- package/dist/layers.B2IwK0EF.js +448 -0
- package/dist/{layers.CQSEYM0M.js → layers.B4Kb1v_T.js} +1 -1
- package/dist/{layers.2eGUbgGd.js → layers.B5VZUI88.js} +1 -1
- package/dist/{layers.C_XTbBPd.js → layers.B6wwleVz.js} +1 -1
- package/dist/{layers.C9yvqx5g.js → layers.B73XF7CI.js} +1 -1
- package/dist/{layers.NkyBFXgj.js → layers.B89wAoIc.js} +1 -1
- package/dist/{layers.B3Ruy5Kp.js → layers.B8MtvpCk.js} +1 -1
- package/dist/{layers.yiwN7Ls5.js → layers.B9DwlOwd.js} +1 -1
- package/dist/{layers.BAEVBCQF.js → layers.BBy4fm3Q.js} +4 -4
- package/dist/{layers.CGzP2q6Z.js → layers.BCbvti6g.js} +1 -1
- package/dist/{layers.DvyVNqsm.js → layers.BGFX2ZNV.js} +1 -1
- package/dist/{layers.BpxsQbVo.js → layers.BGaRnnLO.js} +4 -4
- package/dist/{layers.Bj8VZ0zA.js → layers.BGcOs6Gg.js} +1 -1
- package/dist/{layers.C795REM2.js → layers.BHsvYgWQ.js} +1 -1
- package/dist/layers.BI_TccDr.js +1 -0
- package/dist/{layers.CmdQjL00.js → layers.BNtIIWL-.js} +7 -7
- package/dist/{layers.Cz1ARBxJ.js → layers.BOhKG8H1.js} +1 -1
- package/dist/{layers.BfQCOr7p.js → layers.BOlvUPYR.js} +1 -1
- package/dist/{layers.DpFE2vFP.js → layers.BOvIuy7H.js} +3 -3
- package/dist/layers.BPEW3U6I.js +1 -0
- package/dist/{layers.B-4TZPha.js → layers.BRc1etcY.js} +1 -1
- package/dist/{layers.C39s5IJH.js → layers.BSTSSr3d.js} +1 -1
- package/dist/{layers.Ds0k8vrg.js → layers.BTI4Hdm0.js} +3 -3
- package/dist/{layers.CxAQjmN_.js → layers.BUcvdBVf.js} +1 -1
- package/dist/layers.BUe5LPzn.js +1 -0
- package/dist/{layers.z_wjhscg.js → layers.BVa1exHZ.js} +1 -1
- package/dist/{layers.Cwi-KZ2f.js → layers.BYsr0onK.js} +1 -1
- package/dist/{layers.CfNmHEJS.js → layers.B_IMRcbx.js} +1 -1
- package/dist/{layers.cRzXZMOS.js → layers.B_QQLaSh.js} +1 -1
- package/dist/layers.Ba6uurzL.js +1 -0
- package/dist/{layers.DxUzXfri.js → layers.Bc3Ic-95.js} +1 -1
- package/dist/{layers.WthYg8N6.js → layers.BcftbW8Y.js} +1 -1
- package/dist/{layers.VydHRC9A.js → layers.BfPWKRN3.js} +1 -1
- package/dist/{layers.CK8eqjQ1.js → layers.Bfjgb1E0.js} +1 -1
- package/dist/{layers.WyEKw7Rc.js → layers.BiX9Xy_H.js} +1 -1
- package/dist/{layers.DQvo3VEC.js → layers.Bikm5Rmk.js} +1 -1
- package/dist/{layers.Bt_dzFFe.js → layers.BjzZwYmg.js} +1 -1
- package/dist/{layers.BVk9merk.js → layers.BkeEMl6g.js} +4 -4
- package/dist/{layers.BWBOXnQt.js → layers.BlLIhaeK.js} +1 -1
- package/dist/layers.BlRfCyCF.js +310 -0
- package/dist/{layers.NjfBrMBS.js → layers.BmDWeCXX.js} +1 -1
- package/dist/{layers.D0Wc-Rv9.js → layers.BmULJQqq.js} +1 -1
- package/dist/{layers.DBX45B7F.js → layers.BoyFSd1s.js} +7 -7
- package/dist/{layers.B7_JGhH0.js → layers.BpZf0PY7.js} +1 -1
- package/dist/{layers.BmFqWluV.js → layers.Bpafx074.js} +1 -1
- package/dist/{layers.Bq6Uf0zy.js → layers.BrgzfDk8.js} +1 -1
- package/dist/{layers.kNCPmDgw.js → layers.BsxY8Y1O.js} +1 -1
- package/dist/{layers.BVJmJkvg.js → layers.Bt_bPYCH.js} +1 -1
- package/dist/{layers.BFHTMTTX.js → layers.BtcNgttr.js} +1 -1
- package/dist/{layers.D1mmYSsE.js → layers.BvDZ-BUp.js} +7 -7
- package/dist/{layers.DLUTwZeH.js → layers.BvZRE6xr.js} +1 -1
- package/dist/{layers.DZ7uLDLy.js → layers.BwZWAmFZ.js} +1 -1
- package/dist/{layers.7abAwwzZ.js → layers.Bwy0OdrU.js} +1 -1
- package/dist/{layers.D2o1hyjW.js → layers.BxD23sfR.js} +1 -1
- package/dist/{layers.C5u23VEM.js → layers.BzRHLwVh.js} +1 -1
- package/dist/{layers.eoSErbC_.js → layers.C0B7dRym.js} +2 -2
- package/dist/{layers.BGfKHBrG.js → layers.C0zYAxRK.js} +1 -1
- package/dist/{layers.az28FNZ-.js → layers.C69IFV69.js} +1 -1
- package/dist/{layers.BLpHJ9D_.js → layers.C6BGMifS.js} +5 -5
- package/dist/{layers.RHSnHv3O.js → layers.C7_ZY7Sh.js} +1 -1
- package/dist/{layers.DYWECvC1.js → layers.C9mc1CS_.js} +1 -1
- package/dist/{layers.DXnvM8S3.js → layers.CA9y3a2y.js} +1 -1
- package/dist/{layers.A_qEp1lj.js → layers.CAN6vaSD.js} +3 -3
- package/dist/{layers.Dg0lNybL.js → layers.CAhyzrYP.js} +24 -24
- package/dist/{layers.BCZ-xQRf.js → layers.CAnD3HTT.js} +418 -418
- package/dist/{layers.CuUSCWd5.js → layers.CB67Z_fd.js} +1 -1
- package/dist/{layers.Cmp3vcQi.js → layers.CBjCwckR.js} +1 -1
- package/dist/{layers.C_ioPI8e.js → layers.CDxQ72gf.js} +1 -1
- package/dist/{layers.DcOnWY56.js → layers.CGPzNU-J.js} +1 -1
- package/dist/{layers.DzItBonz.js → layers.CJ9OsmgO.js} +1 -1
- package/dist/{layers.CIja3HJc.js → layers.CJh2xDtM.js} +1 -1
- package/dist/{layers.BvIrZqsg.js → layers.CKQm95TL.js} +6 -6
- package/dist/{layers.usAj8Dee.js → layers.CKcIGeqF.js} +10 -10
- package/dist/{layers.BL_e7u3b.js → layers.CLf5ajpY.js} +1 -1
- package/dist/{layers.C14v7Nbr.js → layers.COM3k1E4.js} +1 -1
- package/dist/{layers.Dm_T78Zo.js → layers.CQGZ61zW.js} +3 -3
- package/dist/{layers.f_rn08S3.js → layers.CUMAIsCw.js} +1 -1
- package/dist/{layers.B1_ePX_M.js → layers.CW80y5Z7.js} +1 -1
- package/dist/{layers.CKFM0b2E.js → layers.CX1KnfmM.js} +1 -1
- package/dist/{layers.D7LmYaRO.js → layers.CYbTEf-Z.js} +1 -1
- package/dist/{layers.BxvD7MfW.js → layers.CYqsnq1Q.js} +1 -1
- package/dist/{layers.Bqw5uSe9.js → layers.C_y90zN2.js} +1 -1
- package/dist/{layers.Cga_IxM0.js → layers.Cew2_q4F.js} +1 -1
- package/dist/layers.Cg4Ve_bi.js +1 -0
- package/dist/{layers.wSq3vDob.js → layers.CgsGmxXb.js} +1 -1
- package/dist/{layers.CIfEzEFj.js → layers.CipX0IFH.js} +8 -8
- package/dist/{layers.Ctvo7YMt.js → layers.CjtG37gr.js} +4 -4
- package/dist/{layers.BdIUMMGf.js → layers.Cljk9NHt.js} +1 -1
- package/dist/layers.CmmYt3Ou.js +1 -0
- package/dist/{layers.QkzB-N1H.js → layers.Cmx79Zm1.js} +1 -1
- package/dist/{layers.DTGLREC_.js → layers.CpABqbPZ.js} +1 -1
- package/dist/{layers.C_uZBot1.js → layers.CqjIAbnE.js} +1 -1
- package/dist/{layers.DucCmgW4.js → layers.CrKGnfQI.js} +1 -1
- package/dist/{layers.Bv6vIPlu.js → layers.CrPvgvxP.js} +1 -1
- package/dist/{layers.PH3F_3NY.js → layers.Cs6blkkn.js} +1 -1
- package/dist/{layers.KXwPKg4r.js → layers.CsA0r2tf.js} +1 -1
- package/dist/{layers.CCXBPyqU.js → layers.CwMqquEK.js} +1 -1
- package/dist/{layers.CWIJSe68.js → layers.Cxb9dCJt.js} +1 -1
- package/dist/{layers.IWrG_102.js → layers.Cyyr4pXA.js} +1 -1
- package/dist/{layers.BLIXWxxR.js → layers.CzvvVksy.js} +1 -1
- package/dist/{layers.CRpzwkdn.js → layers.D0Lphweg.js} +1 -1
- package/dist/{layers.C34vHWX9.js → layers.D1Q6iK3r.js} +1 -1
- package/dist/{layers.B3vf8w4h.js → layers.D1jX6XlE.js} +1 -1
- package/dist/{layers.CJXskBo3.js → layers.D345gE_u.js} +10 -10
- package/dist/{layers.DZUKcVyU.js → layers.D3ahL1j-.js} +3 -3
- package/dist/{layers.BtLWllEb.js → layers.D3jI8A90.js} +1 -1
- package/dist/{layers.DIgWZIIl.js → layers.D5q8kdMy.js} +1 -1
- package/dist/{layers.D0yrLik0.js → layers.D7ZYEaKX.js} +1 -1
- package/dist/{layers.D3VohQGt.js → layers.D7cn5KiQ.js} +1 -1
- package/dist/{layers.BzhCrFPz.js → layers.D86kF_WW.js} +1 -1
- package/dist/{layers.a7Y0-Ovc.js → layers.D8inGcmd.js} +1 -1
- package/dist/{layers.CeylCTqM.js → layers.D8qU_z0f.js} +6 -6
- package/dist/{layers.C8e_hKLd.js → layers.DAHNpBZT.js} +1 -1
- package/dist/{layers.DZDVsz22.js → layers.DCMFficG.js} +1 -1
- package/dist/{layers.BEQWWJfL.js → layers.DDOs5ye6.js} +1 -1
- package/dist/{layers.B4GR6S3W.js → layers.DE9tu-YO.js} +1 -1
- package/dist/layers.DFtzeYyq.js +7 -0
- package/dist/{layers.CRCrtr6i.js → layers.DGVnS5yc.js} +5 -5
- package/dist/{layers.BeWgQkB0.js → layers.DH-auqba.js} +1 -1
- package/dist/{layers.DjhlgDze.js → layers.DK8VqAMH.js} +1 -1
- package/dist/{layers.BzJo-HXJ.js → layers.DLNSW6IT.js} +1 -1
- package/dist/{layers.DoN9Oh0K.js → layers.DLPYhEhn.js} +1 -1
- package/dist/{layers.PTo655Wr.js → layers.DMZ1j9gs.js} +2 -2
- package/dist/{layers.CDp59iKw.js → layers.DPI9rHUq.js} +1 -1
- package/dist/{layers.4cfPAzON.js → layers.DPtT06N2.js} +1 -1
- package/dist/{layers.Dp8S0OhG.js → layers.DQevbTrD.js} +1 -1
- package/dist/{layers.Cue2C1cO.js → layers.DROr6jyk.js} +1 -1
- package/dist/{layers.SQWqNrxn.js → layers.DTlW5RgY.js} +1 -1
- package/dist/{layers.CIVR1enl.js → layers.DUcym_lR.js} +2 -2
- package/dist/layers.DXhhSFZP.js +17 -0
- package/dist/{layers.CgtKn47k.js → layers.D_0X9kFw.js} +1 -1
- package/dist/{layers.3KzGJWLV.js → layers.D_eqopHn.js} +1 -1
- package/dist/{layers.CxW06imx.js → layers.DaoXXrJS.js} +2 -2
- package/dist/{layers.BG4huPx4.js → layers.DbjJ2O6a.js} +1 -1
- package/dist/{layers.BViSag_h.js → layers.DcD-ULdR.js} +1 -1
- package/dist/{layers.BkOYHzu1.js → layers.DeeCrbIg.js} +1 -1
- package/dist/{layers.oqPgo_eW.js → layers.DfJzZHfR.js} +1 -1
- package/dist/layers.DilA0qnM.js +54 -0
- package/dist/{layers.DIDSxsL8.js → layers.DjbF28Qi.js} +1 -1
- package/dist/{layers.xK5Vaqr3.js → layers.Dk6LaF9D.js} +4 -4
- package/dist/{layers.DJe2JTBB.js → layers.Dki1x_hE.js} +1 -1
- package/dist/{layers.CTfQAnVN.js → layers.DlE0ebBY.js} +1 -1
- package/dist/{layers.D31wwnyC.js → layers.DmJom7pr.js} +1 -1
- package/dist/{layers.BCanLzFM.js → layers.Do7lrpUS.js} +3 -3
- package/dist/{layers.iUFm8hEA.js → layers.DoEbq-Cq.js} +1 -1
- package/dist/{layers.DZ2QILd5.js → layers.DqDbpfBt.js} +1 -1
- package/dist/{layers.BkqTGalM.js → layers.Dr-FOOT0.js} +1 -1
- package/dist/layers.DrYJW3CY.js +8 -0
- package/dist/{layers.CA_V3lSO.js → layers.DsemxUrC.js} +1 -1
- package/dist/{layers.CnlDfzWj.js → layers.DvU0p7R7.js} +1 -1
- package/dist/{layers.DLFScbzJ.js → layers.DwC5zeAm.js} +1 -1
- package/dist/{layers.BYLjA_vv.js → layers.DxSYM-Gw.js} +1 -1
- package/dist/{layers.DJafcRCG.js → layers.EDkflZJ3.js} +1 -1
- package/dist/{layers.raBgFUzB.js → layers.FxOIEPmn.js} +9 -9
- package/dist/{layers.29z-kN0U.js → layers.HzCvU8qt.js} +1 -1
- package/dist/{layers.D0eazEdG.js → layers.IH35SZCF.js} +1 -1
- package/dist/{layers.B0j2Pjtx.js → layers.KrrBYdDc.js} +1 -1
- package/dist/{layers.uD_D1NBH.js → layers.LVW5smV1.js} +2 -2
- package/dist/{layers.CIxWArWx.js → layers.OajskPM1.js} +1 -1
- package/dist/{layers.Cy7RwmlD.js → layers.Opvg3yQp.js} +1 -1
- package/dist/{layers.DoayY5UL.js → layers.OykvB5WQ.js} +1 -1
- package/dist/{layers.D8Xml_Z8.js → layers.PI6JWQeE.js} +1 -1
- package/dist/{layers.CLGDJKb_.js → layers.RDd7iT9u.js} +1 -1
- package/dist/{layers.BzhFWj-f.js → layers.TRr5RCjD.js} +1 -1
- package/dist/{layers.C_sb9XVx.js → layers.V-lpaoMi.js} +1 -1
- package/dist/{layers.ZwfB6SkM.js → layers.XwktSdKt.js} +1 -1
- package/dist/{layers.BuEAWjSg.js → layers.ZhAH2_jB.js} +1 -1
- package/dist/{layers.BLqgoq72.js → layers.bABUAI98.js} +1 -1
- package/dist/{layers.fAF2eVpM.js → layers.d8JIgDNQ.js} +1 -1
- package/dist/{layers.XAoPpZHd.js → layers.dkWr5r-I.js} +1 -1
- package/dist/{layers.DpvZgoxr.js → layers.edsK39Ud.js} +1 -1
- package/dist/{layers.CvGxDg9d.js → layers.fyPBYY96.js} +2 -2
- package/dist/{layers.DurirhYR.js → layers.i6JACMXP.js} +1 -1
- package/dist/{layers.Dedx-eVe.js → layers.i_ja4hQj.js} +1 -1
- package/dist/layers.jPut4YLV.js +33293 -0
- package/dist/{layers.CAjy8D8n.js → layers.jXwdf_Tq.js} +3 -3
- package/dist/layers.k0pmMgdk.js +129 -0
- package/dist/layers.k6aVFQEE.js +296 -0
- package/dist/{layers.Dz2qb7rL.js → layers.kQMKEGEy.js} +1 -1
- package/dist/{layers.CYKmJSxi.js → layers.nDd8zIVi.js} +1 -1
- package/dist/{layers.DFcedzzN.js → layers.qUyjgeBT.js} +4 -4
- package/dist/{layers.6SrKoOmO.js → layers.t4fl90eH.js} +1 -1
- package/dist/{layers.CT4hfwa-.js → layers.uIpHRKcx.js} +1 -1
- package/dist/{layers.E892eJZg.js → layers.uh8Mqg0S.js} +1 -1
- package/dist/{layers.CN7YxBkP.js → layers.wF5mrBbo.js} +1 -1
- package/dist/{layers.B4KvjX5n.js → layers.wS1Q6SGh.js} +1 -1
- package/dist/{layers.IEVx3l1m.js → layers.xPEeiXIv.js} +1 -1
- package/dist/{layers.BZ2umawZ.js → layers.xmcECcWj.js} +3 -3
- package/dist/{layers.C_4sHlLM.js → layers.yJ3feYIK.js} +1 -1
- package/dist/{layers.8fbsCA17.js → layers.ySY1BYO-.js} +1 -1
- package/dist/{layers.CDCp4wgY.js → layers.z_YJUE_h.js} +1 -1
- package/package.json +160 -160
- package/dist/layers.6mYdYt0A.js +0 -271
- package/dist/layers.BNkCV5Pi.js +0 -129
- package/dist/layers.BtLWQSeZ.js +0 -1
- package/dist/layers.BvFxWq0R.js +0 -6
- package/dist/layers.CBEREHUQ.js +0 -8
- package/dist/layers.CGdcjSt9.js +0 -295
- package/dist/layers.CZ60edwq.js +0 -213
- package/dist/layers.CpzH-NYT.js +0 -1
- package/dist/layers.CrW1lVAY.js +0 -76
- package/dist/layers.DB1V-cmx.js +0 -296
- package/dist/layers.DgRZUpzJ.js +0 -1
- package/dist/layers.DlDHZJgX.js +0 -1
- package/dist/layers.Dx0jp93e.js +0 -1
- package/dist/layers.KUcJC_a6.js +0 -1
- package/dist/layers.MuBekYId.js +0 -276
- package/dist/layers.Nyaoat5w.js +0 -28607
- package/dist/layers._89-PQfr.js +0 -1
- package/dist/layers.auEvWx6g.js +0 -1
- package/dist/layers.g1e60-te.js +0 -6
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./layers.
|
|
1
|
+
import "./layers.FxOIEPmn.js";
|
|
2
2
|
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: `Η διακοπή της συνεδρίας θα αντικαταστήσει το προηγούμενο, τοπικά αποθηκευμένο σχέδιο. Είστε σίγουροι?
|
|
3
3
|
|
|
4
4
|
(Αν θέλετε να διατηρήσετε το τοπικό σας σχέδιο, απλά κλείστε την καρτέλα του προγράμματος περιήγησης.)`, errorAddingToLibrary: "Αδυναμία προσθήκης αντικειμένου στη βιβλιοθήκη", errorRemovingFromLibrary: "Αδυναμία αφαίρεσης αντικειμένου από τη βιβλιοθήκη", confirmAddLibrary: "Αυτό θα προσθέσει {{numShapes}} σχήμα(τα) στη βιβλιοθήκη σας. Είστε σίγουροι;", imageDoesNotContainScene: "Αυτή η εικόνα δεν φαίνεται να περιέχει δεδομένα σκηνής. Έχετε ενεργοποιήσει την ενσωμάτωση σκηνής κατά την εξαγωγή;", cannotRestoreFromImage: "Η σκηνή δεν ήταν δυνατό να αποκατασταθεί από αυτό το αρχείο εικόνας", invalidSceneUrl: "Δεν ήταν δυνατή η εισαγωγή σκηνής από το URL που δώσατε. Είτε έχει λάθος μορφή, είτε δεν περιέχει έγκυρα δεδομένα JSON Excalidraw.", resetLibrary: "Αυτό θα καθαρίσει τη βιβλιοθήκη σας. Είστε σίγουροι;", removeItemsFromsLibrary: "Διαγραφή {{count}} αντικειμένου(ων) από τη βιβλιοθήκη;", invalidEncryptionKey: "Το κλειδί κρυπτογράφησης πρέπει να είναι 22 χαρακτήρες. Η ζωντανή συνεργασία είναι απενεργοποιημένη.", collabOfflineWarning: `Δεν υπάρχει διαθέσιμη σύνδεση στο internet.
|
|
@@ -0,0 +1,448 @@
|
|
|
1
|
+
import { jsx as c, jsxs as z, Fragment as P } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo as Z, useState as y, useRef as j, useEffect as R, useCallback as _, Suspense as ee, lazy as te } from "react";
|
|
3
|
+
import { useLexicalComposerContext as oe } from "@lexical/react/LexicalComposerContext";
|
|
4
|
+
import { useLexicalEditable as ne } from "@lexical/react/useLexicalEditable";
|
|
5
|
+
import { useLexicalNodeSelection as re } from "@lexical/react/useLexicalNodeSelection";
|
|
6
|
+
import { mergeRegister as le } from "@lexical/utils";
|
|
7
|
+
import { $setSelection as ae, $getNodeByKey as W, CLICK_COMMAND as ie, COMMAND_PRIORITY_LOW as q, KEY_DELETE_COMMAND as se, KEY_BACKSPACE_COMMAND as ce } from "lexical";
|
|
8
|
+
import { R as de, A as X, t as ue, r as fe, s as me, p as J, h as K, v as ge } from "./layers.jPut4YLV.js";
|
|
9
|
+
import { l as he, p as xe } from "./layers.DilA0qnM.js";
|
|
10
|
+
import { useTranslation as V } from "react-i18next";
|
|
11
|
+
import { Modal as pe, Text as Ce, Flex as be, Button as Q, Box as U, useMantineColorScheme as ve, Loader as we } from "@mantine/core";
|
|
12
|
+
import { BottomDrawerWithoutHeader as Ee } from "@layers-app/shared";
|
|
13
|
+
const Te = ({
|
|
14
|
+
isCloseModal: o,
|
|
15
|
+
setCloseModalOpen: r,
|
|
16
|
+
confirmClose: g
|
|
17
|
+
}) => {
|
|
18
|
+
const { t: h } = V();
|
|
19
|
+
return /* @__PURE__ */ c(
|
|
20
|
+
pe,
|
|
21
|
+
{
|
|
22
|
+
opened: o,
|
|
23
|
+
onClose: () => {
|
|
24
|
+
r(!1);
|
|
25
|
+
},
|
|
26
|
+
centered: !0,
|
|
27
|
+
title: h("editor.unsavedChanges.title"),
|
|
28
|
+
closeOnClickOutside: !0,
|
|
29
|
+
closeOnEscape: !0,
|
|
30
|
+
size: "500",
|
|
31
|
+
zIndex: 999,
|
|
32
|
+
children: /* @__PURE__ */ z("div", { children: [
|
|
33
|
+
/* @__PURE__ */ c(Ce, { mb: "md", children: h("editor.unsavedChanges.message") }),
|
|
34
|
+
/* @__PURE__ */ z(be, { justify: "flex-end", gap: "sm", children: [
|
|
35
|
+
/* @__PURE__ */ c(
|
|
36
|
+
Q,
|
|
37
|
+
{
|
|
38
|
+
variant: "default",
|
|
39
|
+
onClick: () => {
|
|
40
|
+
r(!1);
|
|
41
|
+
},
|
|
42
|
+
fullWidth: !0,
|
|
43
|
+
children: h("editor.unsavedChanges.cancel")
|
|
44
|
+
}
|
|
45
|
+
),
|
|
46
|
+
/* @__PURE__ */ c(Q, { color: "red", onClick: g, fullWidth: !0, children: h("editor.unsavedChanges.closeWithoutSaving") })
|
|
47
|
+
] })
|
|
48
|
+
] })
|
|
49
|
+
}
|
|
50
|
+
);
|
|
51
|
+
};
|
|
52
|
+
function Me({
|
|
53
|
+
imageContainerRef: o,
|
|
54
|
+
editor: r,
|
|
55
|
+
rootClassName: g = null,
|
|
56
|
+
width: h = "inherit",
|
|
57
|
+
height: u = "inherit",
|
|
58
|
+
nodeKey: i,
|
|
59
|
+
alignment: O,
|
|
60
|
+
setModalOpen: b,
|
|
61
|
+
previewSVG: l
|
|
62
|
+
}) {
|
|
63
|
+
const B = Z(() => l ?? "", [l]), [d, D] = y(!1), { t: v } = V(), N = (C, p) => {
|
|
64
|
+
r.update(() => {
|
|
65
|
+
ae(null);
|
|
66
|
+
const M = W(i);
|
|
67
|
+
return K(M) && M.setWidthAndHeight(C, p), !0;
|
|
68
|
+
});
|
|
69
|
+
}, w = () => {
|
|
70
|
+
ge(r, i);
|
|
71
|
+
};
|
|
72
|
+
return /* @__PURE__ */ c(
|
|
73
|
+
de,
|
|
74
|
+
{
|
|
75
|
+
editor: r,
|
|
76
|
+
isIcon: !1,
|
|
77
|
+
isEmbed: !0,
|
|
78
|
+
width: J(h),
|
|
79
|
+
height: J(u),
|
|
80
|
+
onResizeEnd: N,
|
|
81
|
+
alignment: O,
|
|
82
|
+
children: /* @__PURE__ */ z(U, { className: "media-wrapper excaildraw", children: [
|
|
83
|
+
/* @__PURE__ */ z("div", { className: "media-actions", children: [
|
|
84
|
+
/* @__PURE__ */ c(
|
|
85
|
+
X,
|
|
86
|
+
{
|
|
87
|
+
"aria-label": "Settings",
|
|
88
|
+
label: v("editor.link.edit"),
|
|
89
|
+
flexBorder: !0,
|
|
90
|
+
onClick: () => {
|
|
91
|
+
b(!0);
|
|
92
|
+
},
|
|
93
|
+
icon: ue,
|
|
94
|
+
iconColor: "var(--mantine-color-gray-text)"
|
|
95
|
+
}
|
|
96
|
+
),
|
|
97
|
+
/* @__PURE__ */ c(
|
|
98
|
+
fe,
|
|
99
|
+
{
|
|
100
|
+
opened: d,
|
|
101
|
+
setOpened: D,
|
|
102
|
+
t: v,
|
|
103
|
+
editor: r,
|
|
104
|
+
nodeKey: i,
|
|
105
|
+
flexBorder: !0
|
|
106
|
+
}
|
|
107
|
+
),
|
|
108
|
+
/* @__PURE__ */ c(
|
|
109
|
+
X,
|
|
110
|
+
{
|
|
111
|
+
"aria-label": "Delete",
|
|
112
|
+
label: v("editor.actions.delete"),
|
|
113
|
+
flexBorder: !0,
|
|
114
|
+
onClick: w,
|
|
115
|
+
icon: me,
|
|
116
|
+
iconColor: "var(--mantine-color-red-outline)"
|
|
117
|
+
}
|
|
118
|
+
)
|
|
119
|
+
] }),
|
|
120
|
+
/* @__PURE__ */ c(
|
|
121
|
+
U,
|
|
122
|
+
{
|
|
123
|
+
w: "100%",
|
|
124
|
+
ref: (C) => {
|
|
125
|
+
C && o && (o.current = C);
|
|
126
|
+
},
|
|
127
|
+
className: g ?? "",
|
|
128
|
+
dangerouslySetInnerHTML: { __html: B }
|
|
129
|
+
}
|
|
130
|
+
)
|
|
131
|
+
] })
|
|
132
|
+
}
|
|
133
|
+
);
|
|
134
|
+
}
|
|
135
|
+
let F = null;
|
|
136
|
+
const ke = /* @__PURE__ */ te(async () => {
|
|
137
|
+
var r;
|
|
138
|
+
const o = await import("./layers.FxOIEPmn.js").then((g) => g.M);
|
|
139
|
+
return !F && o && (F = o.exportToSvg || ((r = o.default) == null ? void 0 : r.exportToSvg) || o.default), { default: o.Excalidraw };
|
|
140
|
+
}), ye = () => {
|
|
141
|
+
const [o, r] = y(
|
|
142
|
+
null
|
|
143
|
+
), g = _(
|
|
144
|
+
(h) => r(h),
|
|
145
|
+
[]
|
|
146
|
+
);
|
|
147
|
+
return [o, g];
|
|
148
|
+
};
|
|
149
|
+
function Oe({
|
|
150
|
+
onSave: o,
|
|
151
|
+
initialElements: r,
|
|
152
|
+
initialAppState: g,
|
|
153
|
+
initialFiles: h,
|
|
154
|
+
isShown: u = !1,
|
|
155
|
+
onDelete: i,
|
|
156
|
+
onClose: O,
|
|
157
|
+
isEdited: b
|
|
158
|
+
}) {
|
|
159
|
+
const [l, B] = ye(), { i18n: d, t: D } = V(), { colorScheme: v } = ve(), N = j(!1), [w, C] = y(r), [p, M] = y(h), [S, A] = y(u);
|
|
160
|
+
R(() => {
|
|
161
|
+
u && A(!0);
|
|
162
|
+
}, [u]), R(() => {
|
|
163
|
+
!u || N.current || (N.current = !0, Promise.resolve({ }));
|
|
164
|
+
}, [u]), R(() => {
|
|
165
|
+
u && setTimeout(() => {
|
|
166
|
+
var e;
|
|
167
|
+
(e = l == null ? void 0 : l.refresh) == null || e.call(l);
|
|
168
|
+
}, 500);
|
|
169
|
+
}, [u, l]), R(() => {
|
|
170
|
+
if (!u)
|
|
171
|
+
return;
|
|
172
|
+
const e = (t, s) => {
|
|
173
|
+
const f = D(t);
|
|
174
|
+
return f.startsWith("editor.menu") ? s : f;
|
|
175
|
+
}, T = e(
|
|
176
|
+
"editor.menu.excalidraw.tools.frameTool",
|
|
177
|
+
d.language === "ru" ? "Инструмент рамки" : d.language === "es" ? "Herramienta de marco" : "Frame tool"
|
|
178
|
+
), a = e(
|
|
179
|
+
"editor.menu.excalidraw.tools.webEmbed",
|
|
180
|
+
d.language === "ru" ? "Веб-встраивание" : d.language === "es" ? "Incrustación web" : "Web Embed"
|
|
181
|
+
), E = e(
|
|
182
|
+
"editor.menu.excalidraw.tools.generate",
|
|
183
|
+
d.language === "ru" ? "Генерировать" : d.language === "es" ? "Generar" : "Generate"
|
|
184
|
+
), L = {
|
|
185
|
+
"Frame tool": T,
|
|
186
|
+
"Web Embed": a,
|
|
187
|
+
"Web embeded": a,
|
|
188
|
+
Generate: E
|
|
189
|
+
}, k = () => {
|
|
190
|
+
const t = document.querySelector(".App-toolbar__extra-tools-dropdown");
|
|
191
|
+
if (!t)
|
|
192
|
+
return;
|
|
193
|
+
const s = document.createTreeWalker(
|
|
194
|
+
t,
|
|
195
|
+
NodeFilter.SHOW_TEXT,
|
|
196
|
+
null
|
|
197
|
+
);
|
|
198
|
+
let f;
|
|
199
|
+
for (; f = s.nextNode(); )
|
|
200
|
+
if (f.nodeType === Node.TEXT_NODE && f.textContent) {
|
|
201
|
+
const $ = f.textContent.trim();
|
|
202
|
+
for (const [Y, I] of Object.entries(L))
|
|
203
|
+
if ($ === Y && I && !$.includes(I)) {
|
|
204
|
+
f.textContent = f.textContent.replace(Y, I);
|
|
205
|
+
break;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}, n = () => {
|
|
209
|
+
setTimeout(() => {
|
|
210
|
+
k();
|
|
211
|
+
}, 0);
|
|
212
|
+
}, m = setTimeout(() => {
|
|
213
|
+
const t = document.querySelector(
|
|
214
|
+
".excalidraw-container"
|
|
215
|
+
);
|
|
216
|
+
if (t) {
|
|
217
|
+
const s = t.querySelector(
|
|
218
|
+
".App-toolbar__extra-tools-trigger"
|
|
219
|
+
);
|
|
220
|
+
s && s.addEventListener("click", n);
|
|
221
|
+
}
|
|
222
|
+
}, 300);
|
|
223
|
+
return () => {
|
|
224
|
+
clearTimeout(m);
|
|
225
|
+
const t = document.querySelector(
|
|
226
|
+
".excalidraw-container"
|
|
227
|
+
);
|
|
228
|
+
if (t) {
|
|
229
|
+
const s = t.querySelector(
|
|
230
|
+
".App-toolbar__extra-tools-trigger"
|
|
231
|
+
);
|
|
232
|
+
s && s.removeEventListener("click", n);
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
}, [u, d.language, D]);
|
|
236
|
+
const H = _(async () => {
|
|
237
|
+
var k, n, m;
|
|
238
|
+
let e = F;
|
|
239
|
+
if (!e || typeof e != "function") {
|
|
240
|
+
const t = await import("./layers.FxOIEPmn.js").then((s) => s.M);
|
|
241
|
+
e = t.exportToSvg || ((k = t.default) == null ? void 0 : k.exportToSvg) || t.default, e && typeof e == "function" && (F = e);
|
|
242
|
+
}
|
|
243
|
+
if (!e || typeof e != "function") {
|
|
244
|
+
const t = await import("./layers.FxOIEPmn.js").then((f) => f.M), s = t ? Object.keys(t) : [];
|
|
245
|
+
throw console.error("Excalidraw module structure:", {
|
|
246
|
+
keys: s,
|
|
247
|
+
hasExportToSvg: t && "exportToSvg" in t,
|
|
248
|
+
hasDefault: t && "default" in t,
|
|
249
|
+
moduleType: typeof t,
|
|
250
|
+
module: t
|
|
251
|
+
}), new Error(
|
|
252
|
+
`exportToSvg is not available from @excalidraw/excalidraw. Module keys: ${s.join(", ")}. Please ensure @excalidraw/excalidraw is properly installed.`
|
|
253
|
+
);
|
|
254
|
+
}
|
|
255
|
+
const T = ((n = l == null ? void 0 : l.getAppState) == null ? void 0 : n.call(l)) ?? g, a = await e({
|
|
256
|
+
appState: T,
|
|
257
|
+
elements: w,
|
|
258
|
+
files: p
|
|
259
|
+
}), E = (m = a == null ? void 0 : a.firstElementChild) == null ? void 0 : m.firstElementChild, L = a.getAttribute("viewBox");
|
|
260
|
+
if (L != null) {
|
|
261
|
+
const t = L.split(" ");
|
|
262
|
+
a.setAttribute("width", t[2]), a.setAttribute("height", t[3]);
|
|
263
|
+
}
|
|
264
|
+
return E && E.tagName === "style" && E.remove(), a.setAttribute("width", "100%"), a.setAttribute("height", "100%"), a.setAttribute("display", "block"), a.classList.add("excalidraw-svg"), a.outerHTML;
|
|
265
|
+
}, [w, p, l, g]), G = () => {
|
|
266
|
+
if (w && w.filter((e) => !e.isDeleted).length > 0) {
|
|
267
|
+
const e = l == null ? void 0 : l.getAppState(), T = {
|
|
268
|
+
exportBackground: e == null ? void 0 : e.exportBackground,
|
|
269
|
+
exportScale: e == null ? void 0 : e.exportScale,
|
|
270
|
+
exportWithDarkMode: (e == null ? void 0 : e.theme) === "dark",
|
|
271
|
+
isBindingEnabled: e == null ? void 0 : e.isBindingEnabled,
|
|
272
|
+
isLoading: e == null ? void 0 : e.isLoading,
|
|
273
|
+
name: e == null ? void 0 : e.name,
|
|
274
|
+
theme: e == null ? void 0 : e.theme,
|
|
275
|
+
viewBackgroundColor: e == null ? void 0 : e.viewBackgroundColor,
|
|
276
|
+
viewModeEnabled: e == null ? void 0 : e.viewModeEnabled,
|
|
277
|
+
zenModeEnabled: e == null ? void 0 : e.zenModeEnabled,
|
|
278
|
+
zoom: e == null ? void 0 : e.zoom
|
|
279
|
+
};
|
|
280
|
+
(async () => {
|
|
281
|
+
const a = await H();
|
|
282
|
+
o(w, T, p, a);
|
|
283
|
+
})();
|
|
284
|
+
} else
|
|
285
|
+
i();
|
|
286
|
+
}, x = (e, T, a) => {
|
|
287
|
+
(e == null ? void 0 : e.length) !== (r == null ? void 0 : r.length) && (b.current = !0), C(e), M(a);
|
|
288
|
+
};
|
|
289
|
+
return /* @__PURE__ */ c(
|
|
290
|
+
Ee,
|
|
291
|
+
{
|
|
292
|
+
opened: u,
|
|
293
|
+
onClose: O,
|
|
294
|
+
onSave: G,
|
|
295
|
+
className: "excaildraw-modal",
|
|
296
|
+
closeOnEscape: !1,
|
|
297
|
+
children: S && /* @__PURE__ */ c(
|
|
298
|
+
ee,
|
|
299
|
+
{
|
|
300
|
+
fallback: /* @__PURE__ */ c(
|
|
301
|
+
"div",
|
|
302
|
+
{
|
|
303
|
+
style: {
|
|
304
|
+
display: "flex",
|
|
305
|
+
justifyContent: "center",
|
|
306
|
+
alignItems: "center",
|
|
307
|
+
height: "100%",
|
|
308
|
+
minHeight: "400px"
|
|
309
|
+
},
|
|
310
|
+
children: /* @__PURE__ */ c(we, { size: "sm" })
|
|
311
|
+
}
|
|
312
|
+
),
|
|
313
|
+
children: /* @__PURE__ */ c(
|
|
314
|
+
ke,
|
|
315
|
+
{
|
|
316
|
+
langCode: he[d.language],
|
|
317
|
+
theme: v,
|
|
318
|
+
onChange: x,
|
|
319
|
+
excalidrawAPI: B,
|
|
320
|
+
initialData: {
|
|
321
|
+
appState: { ...g || { isLoading: !1 } },
|
|
322
|
+
elements: r,
|
|
323
|
+
files: h
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
)
|
|
327
|
+
}
|
|
328
|
+
)
|
|
329
|
+
}
|
|
330
|
+
);
|
|
331
|
+
}
|
|
332
|
+
function He({
|
|
333
|
+
nodeKey: o,
|
|
334
|
+
data: r,
|
|
335
|
+
width: g,
|
|
336
|
+
height: h,
|
|
337
|
+
alignment: u
|
|
338
|
+
}) {
|
|
339
|
+
var k;
|
|
340
|
+
const [i] = oe(), O = ne(), b = Z(() => xe(r), [r]), l = ((k = b == null ? void 0 : b.elements) == null ? void 0 : k.length) === 0 && !b.previewSVG, [B, d] = y(
|
|
341
|
+
l && i.isEditable()
|
|
342
|
+
), [D, v] = y(!1), N = j(null), w = j(null), C = j(null), [p, M, S] = re(o), A = _(
|
|
343
|
+
(n) => (p && (n.preventDefault(), i.update(() => {
|
|
344
|
+
const m = W(o);
|
|
345
|
+
m && m.remove();
|
|
346
|
+
})), !1),
|
|
347
|
+
[i, p, o]
|
|
348
|
+
);
|
|
349
|
+
R(() => {
|
|
350
|
+
if (!O) {
|
|
351
|
+
p && S();
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
return le(
|
|
355
|
+
i.registerCommand(
|
|
356
|
+
ie,
|
|
357
|
+
(n) => {
|
|
358
|
+
const m = w.current, t = n.target;
|
|
359
|
+
return m !== null && m.contains(t) ? (n.shiftKey || S(), M(!p), n.detail > 1 && d(!0), !0) : !1;
|
|
360
|
+
},
|
|
361
|
+
q
|
|
362
|
+
),
|
|
363
|
+
i.registerCommand(
|
|
364
|
+
se,
|
|
365
|
+
A,
|
|
366
|
+
q
|
|
367
|
+
),
|
|
368
|
+
i.registerCommand(
|
|
369
|
+
ce,
|
|
370
|
+
A,
|
|
371
|
+
q
|
|
372
|
+
)
|
|
373
|
+
);
|
|
374
|
+
}, [S, i, p, A, M, O]);
|
|
375
|
+
const H = _(() => (d(!1), i.update(() => {
|
|
376
|
+
const n = W(o);
|
|
377
|
+
n && n.remove();
|
|
378
|
+
})), [i, o]), G = (n, m, t, s) => i.update(() => {
|
|
379
|
+
const f = W(o);
|
|
380
|
+
K(f) && (n && n.length > 0 || Object.keys(t).length > 0 ? f.setData(
|
|
381
|
+
JSON.stringify({
|
|
382
|
+
appState: m,
|
|
383
|
+
elements: n,
|
|
384
|
+
files: t,
|
|
385
|
+
previewSVG: s
|
|
386
|
+
})
|
|
387
|
+
) : f.remove());
|
|
388
|
+
}), { elements: x = [], files: e = {}, appState: T = {}, previewSVG: a } = b, E = _(() => {
|
|
389
|
+
d(!1), v(!1), C.current = !1, (x == null ? void 0 : x.length) === 0 && i.update(() => {
|
|
390
|
+
const n = W(o);
|
|
391
|
+
n && n.remove();
|
|
392
|
+
});
|
|
393
|
+
}, [i, o, x == null ? void 0 : x.length]), L = _(() => {
|
|
394
|
+
C.current ? v(!0) : E();
|
|
395
|
+
}, [E]);
|
|
396
|
+
return /* @__PURE__ */ z(P, { children: [
|
|
397
|
+
/* @__PURE__ */ c(
|
|
398
|
+
Te,
|
|
399
|
+
{
|
|
400
|
+
isCloseModal: D,
|
|
401
|
+
confirmClose: E,
|
|
402
|
+
setCloseModalOpen: v
|
|
403
|
+
}
|
|
404
|
+
),
|
|
405
|
+
/* @__PURE__ */ c(
|
|
406
|
+
Oe,
|
|
407
|
+
{
|
|
408
|
+
initialElements: x,
|
|
409
|
+
isEdited: C,
|
|
410
|
+
initialFiles: e,
|
|
411
|
+
initialAppState: T,
|
|
412
|
+
isShown: B,
|
|
413
|
+
onDelete: H,
|
|
414
|
+
onClose: L,
|
|
415
|
+
onSave: (n, m, t, s) => {
|
|
416
|
+
G(n, m, t, s), d(!1);
|
|
417
|
+
},
|
|
418
|
+
closeOnClickOutside: !1
|
|
419
|
+
}
|
|
420
|
+
),
|
|
421
|
+
(x == null ? void 0 : x.length) && /* @__PURE__ */ c(
|
|
422
|
+
"div",
|
|
423
|
+
{
|
|
424
|
+
style: {
|
|
425
|
+
display: "flex",
|
|
426
|
+
justifyContent: u
|
|
427
|
+
},
|
|
428
|
+
children: /* @__PURE__ */ c(
|
|
429
|
+
Me,
|
|
430
|
+
{
|
|
431
|
+
imageContainerRef: N,
|
|
432
|
+
className: "image",
|
|
433
|
+
width: g,
|
|
434
|
+
height: h,
|
|
435
|
+
editor: i,
|
|
436
|
+
nodeKey: o,
|
|
437
|
+
alignment: u,
|
|
438
|
+
setModalOpen: d,
|
|
439
|
+
previewSVG: a
|
|
440
|
+
}
|
|
441
|
+
)
|
|
442
|
+
}
|
|
443
|
+
)
|
|
444
|
+
] });
|
|
445
|
+
}
|
|
446
|
+
export {
|
|
447
|
+
He as default
|
|
448
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./layers.
|
|
1
|
+
import "./layers.FxOIEPmn.js";
|
|
2
2
|
var e = { paste: "Coller", pasteAsPlaintext: "Coller comme texte brut", pasteCharts: "Coller les graphiques", selectAll: "Tout sélectionner", multiSelect: "Ajouter l'élément à la sélection", moveCanvas: "Déplacer le canevas", cut: "Couper", copy: "Copier", copyAsPng: "Copier dans le presse-papier en PNG", copyAsSvg: "Copier dans le presse-papier en SVG", copyText: "Copier dans le presse-papier en tant que texte", copySource: "Copier la source dans le presse-papiers", convertToCode: "Convertir en code", bringForward: "Envoyer vers l'avant", sendToBack: "Déplacer à l'arrière-plan", bringToFront: "Mettre au premier plan", sendBackward: "Reculer d'un plan", delete: "Supprimer", copyStyles: "Copier les styles", pasteStyles: "Coller les styles", stroke: "Trait", background: "Arrière-plan", fill: "Remplissage", strokeWidth: "Largeur du contour", strokeStyle: "Style du trait", strokeStyle_solid: "Continu", strokeStyle_dashed: "Tirets", strokeStyle_dotted: "Pointillés", sloppiness: "Style de tracé", opacity: "Transparence", textAlign: "Alignement du texte", edges: "Angles", sharp: "Pointus", round: "Arrondis", arrowheads: "Extrémités", arrowhead_none: "Sans", arrowhead_arrow: "Flèche", arrowhead_bar: "Barre", arrowhead_circle: "Cercle", arrowhead_circle_outline: "Contour du cercle", arrowhead_triangle: "Triangle", arrowhead_triangle_outline: "Triangle (contour)", arrowhead_diamond: "Losange", arrowhead_diamond_outline: "", fontSize: "Taille de la police", fontFamily: "Police", addWatermark: 'Ajouter "Réalisé avec Excalidraw"', handDrawn: "À main levée", normal: "Normale", code: "Code", small: "Petite", medium: "Moyenne", large: "Grande", veryLarge: "Très grande", solid: "Solide", hachure: "Hachures", zigzag: "Zigzag", crossHatch: "Hachures croisées", thin: "Fine", bold: "Épaisse", left: "À gauche", center: "Au centre", right: "À droite", extraBold: "Très épaisse", architect: "Architecte", artist: "Artiste", cartoonist: "Caricaturiste", fileTitle: "Nom du fichier", colorPicker: "Sélecteur de couleur", canvasColors: "Utilisé sur la zone de dessin", canvasBackground: "Arrière-plan du canevas", drawingCanvas: "Zone de dessin", layers: "Disposition", actions: "Actions", language: "Langue", liveCollaboration: "Collaboration en direct...", duplicateSelection: "Dupliquer", untitled: "Sans-titre", name: "Nom", yourName: "Votre nom", madeWithExcalidraw: "Fait avec Excalidraw", group: "Grouper la sélection", ungroup: "Dégrouper la sélection", collaborators: "Collaborateurs", showGrid: "Afficher la grille", addToLibrary: "Ajouter à la bibliothèque", removeFromLibrary: "Supprimer de la bibliothèque", libraryLoadingMessage: "Chargement de la bibliothèque…", libraries: "Parcourir les bibliothèques", loadingScene: "Chargement de la scène…", align: "Alignement", alignTop: "Aligner en haut", alignBottom: "Aligner en bas", alignLeft: "Aligner à gauche", alignRight: "Aligner à droite", centerVertically: "Centrer verticalement", centerHorizontally: "Centrer horizontalement", distributeHorizontally: "Répartir horizontalement", distributeVertically: "Répartir verticalement", flipHorizontal: "Retourner horizontalement", flipVertical: "Retourner verticalement", viewMode: "Mode présentation", share: "Partager", showStroke: "Afficher le sélecteur de couleur de trait", showBackground: "Afficher le sélecteur de couleur de fond", toggleTheme: "Changer le thème", personalLib: "Bibliothèque personnelle", excalidrawLib: "Bibliothèque Excalidraw", decreaseFontSize: "Diminuer la taille de police", increaseFontSize: "Augmenter la taille de la police", unbindText: "Dissocier le texte", bindText: "Associer le texte au conteneur", createContainerFromText: "Encadrer le texte dans un conteneur", link: { edit: "Modifier le lien", editEmbed: "Éditer le lien & intégrer", create: "Ajouter un lien", createEmbed: "Créer un lien & intégrer", label: "Lien", labelEmbed: "Lier & intégrer", empty: "Aucun lien défini" }, lineEditor: { edit: "Modifier la ligne", exit: "Quitter l'éditeur de ligne" }, elementLock: { lock: "Verrouiller", unlock: "Déverrouiller", lockAll: "Tout verrouiller", unlockAll: "Tout déverrouiller" }, statusPublished: "Publié", sidebarLock: "Maintenir la barre latérale ouverte", selectAllElementsInFrame: "Sélectionner tous les éléments du cadre", removeAllElementsFromFrame: "Supprimer tous les éléments du cadre", eyeDropper: "Choisir la couleur depuis la toile", textToDiagram: "Texte vers Diagramme", prompt: "Consignes" }, r = { noItems: "Aucun élément n'a encore été ajouté ...", hint_emptyLibrary: "Sélectionnez un élément sur le canevas pour l'ajouter ici ou installez une bibliothèque depuis le dépôt public, ci-dessous.", hint_emptyPrivateLibrary: "Sélectionnez un élément sur le canevas pour l'ajouter ici." }, i = { clearReset: "Réinitialiser le canevas", exportJSON: "Exporter comme fichier", exportImage: "Exporter l'image...", export: "Enregistrer sous...", copyToClipboard: "Copier dans le presse-papier", save: "Enregistrer dans le fichier actuel", saveAs: "Enregistrer sous", load: "Ouvrir", getShareableLink: "Obtenir un lien de partage", close: "Fermer", selectLanguage: "Choisir une langue", scrollBackToContent: "Revenir au contenu", zoomIn: "Zoomer", zoomOut: "Dézoomer", resetZoom: "Réinitialiser le zoom", menu: "Menu", done: "Terminé", edit: "Modifier", undo: "Annuler", redo: "Rétablir", resetLibrary: "Réinitialiser la bibliothèque", createNewRoom: "Créer une nouvelle salle", fullScreen: "Plein écran", darkMode: "Mode sombre", lightMode: "Mode clair", zenMode: "Mode zen", objectsSnapMode: "Aimanter aux objets", exitZenMode: "Quitter le mode zen", cancel: "Annuler", clear: "Effacer", remove: "Supprimer", embed: "Activer/Désactiver l'intégration", publishLibrary: "Publier", submit: "Envoyer", confirm: "Confirmer", embeddableInteractionButton: "Cliquez pour interagir" }, o = { clearReset: "L'intégralité du canevas va être effacée. Êtes-vous sûr ?", couldNotCreateShareableLink: "Impossible de créer un lien de partage.", couldNotCreateShareableLinkTooBig: "Impossible de créer un lien de partage : la scène est trop volumineuse", couldNotLoadInvalidFile: "Impossible de charger un fichier invalide", importBackendFailed: "L'importation depuis le serveur a échoué.", cannotExportEmptyCanvas: "Impossible d'exporter un canevas vide.", couldNotCopyToClipboard: "Impossible de copier dans le presse-papiers.", decryptFailed: "Les données n'ont pas pu être déchiffrées.", uploadedSecurly: "Le téléchargement a été sécurisé avec un chiffrement de bout en bout, ce qui signifie que ni Excalidraw ni personne d'autre ne peut en lire le contenu.", loadSceneOverridePrompt: "Le chargement d'un dessin externe remplacera votre contenu actuel. Souhaitez-vous continuer ?", collabStopOverridePrompt: `Arrêter la session écrasera votre précédent dessin stocké localement. Êtes-vous sûr·e ?
|
|
3
3
|
|
|
4
4
|
(Si vous voulez garder votre dessin local, fermez simplement l'onglet du navigateur à la place.)`, errorAddingToLibrary: "Impossible d'ajouter l'élément à la bibliothèque", errorRemovingFromLibrary: "Impossible de retirer l'élément de la bibliothèque", confirmAddLibrary: "Cela va ajouter {{numShapes}} forme(s) à votre bibliothèque. Êtes-vous sûr·e ?", imageDoesNotContainScene: "Cette image ne semble pas contenir de données de scène. Avez-vous activé l'intégration de scène lors de l'exportation ?", cannotRestoreFromImage: "Impossible de restaurer la scène depuis ce fichier image", invalidSceneUrl: "Impossible d'importer la scène depuis l'URL fournie. Elle est soit incorrecte, soit ne contient pas de données JSON Excalidraw valides.", resetLibrary: "Cela va effacer votre bibliothèque. Êtes-vous sûr·e ?", removeItemsFromsLibrary: "Supprimer {{count}} élément(s) de la bibliothèque ?", invalidEncryptionKey: "La clé de chiffrement doit comporter 22 caractères. La collaboration en direct est désactivée.", collabOfflineWarning: `Aucune connexion internet disponible.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const P=require("lodash-es"),J=require("./layers.Cyzu9PKQ.js"),k=require("./layers.BLd2spTm.js"),u=require("./layers.DIDSxsL8.js"),i=require("./layers.Dg0lNybL.js"),j=require("./layers.CTfQAnVN.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.DjbF28Qi.js"),i=require("./layers.CAhyzrYP.js"),j=require("./layers.DlE0ebBY.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,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./layers.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./layers.CAhyzrYP.js");require("./layers.BvDZ-BUp.js");require("lodash-es/memoize.js");require("lodash-es/merge.js");require("lodash-es/isEmpty.js");const qt=require("./layers.BzRHLwVh.js");var xt=(function(){var e=function(K,n,s,l){for(s=s||{},l=K.length;l--;s[K[l]]=n);return s},r=[1,3],h=[1,4],x=[1,5],g=[1,6],d=[1,7],u=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],p=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],i=[32,33,34],q=[2,7],y=[1,13],B=[1,17],N=[1,18],V=[1,19],I=[1,20],b=[1,21],H=[1,22],M=[1,23],z=[1,24],it=[1,25],at=[1,26],nt=[1,27],U=[1,30],$=[1,31],_=[1,32],A=[1,33],m=[1,34],t=[1,35],S=[1,36],k=[1,37],F=[1,38],P=[1,39],v=[1,40],C=[1,41],L=[1,42],X=[1,57],O=[1,58],E=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],ot={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(n,s,l,o,T,a,et){var f=a.length-1;switch(T){case 12:this.$=a[f].trim(),o.setDiagramTitle(this.$);break;case 13:this.$=a[f].trim(),o.setAccTitle(this.$);break;case 14:case 15:this.$=a[f].trim(),o.setAccDescription(this.$);break;case 16:o.addSection(a[f].substr(8)),this.$=a[f].substr(8);break;case 17:o.addPoint(a[f-3],a[f-1],a[f]);break;case 18:o.setXAxisLeftText(a[f-2]),o.setXAxisRightText(a[f]);break;case 19:a[f-1].text+=" ⟶ ",o.setXAxisLeftText(a[f-1]);break;case 20:o.setXAxisLeftText(a[f]);break;case 21:o.setYAxisBottomText(a[f-2]),o.setYAxisTopText(a[f]);break;case 22:a[f-1].text+=" ⟶ ",o.setYAxisBottomText(a[f-1]);break;case 23:o.setYAxisBottomText(a[f]);break;case 24:o.setQuadrant1Text(a[f]);break;case 25:o.setQuadrant2Text(a[f]);break;case 26:o.setQuadrant3Text(a[f]);break;case 27:o.setQuadrant4Text(a[f]);break;case 31:this.$={text:a[f],type:"text"};break;case 32:this.$={text:a[f-1].text+""+a[f],type:a[f-1].type};break;case 33:this.$={text:a[f],type:"text"};break;case 34:this.$={text:a[f],type:"markdown"};break;case 35:this.$=a[f];break;case 36:this.$=a[f-1]+""+a[f];break}},table:[{3:1,4:2,5:r,6:h,32:x,33:g,34:d},{1:[3]},{3:8,4:2,5:r,6:h,32:x,33:g,34:d},{3:9,4:2,5:r,6:h,32:x,33:g,34:d},e(u,[2,4],{7:10}),e(p,[2,28]),e(p,[2,29]),e(p,[2,30]),{1:[2,1]},{1:[2,2]},e(i,q,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:y,13:B,15:N,17:V,19:I,20:b,25:H,27:M,28:z,29:it,30:at,31:nt,37:U,38:$,40:_,41:A,42:m,43:t,44:S,45:k,46:F,47:P,48:v,49:C,50:L}),e(u,[2,5]),{4:43,32:x,33:g,34:d},e(i,q,{10:14,11:15,12:16,21:28,35:29,9:44,5:y,13:B,15:N,17:V,19:I,20:b,25:H,27:M,28:z,29:it,30:at,31:nt,37:U,38:$,40:_,41:A,42:m,43:t,44:S,45:k,46:F,47:P,48:v,49:C,50:L}),e(i,[2,9]),e(i,[2,10]),e(i,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},e(i,[2,15]),e(i,[2,16]),{21:48,35:29,37:U,38:$,40:_,41:A,42:m,43:t,44:S,45:k,46:F,47:P,48:v,49:C,50:L},{21:49,35:29,37:U,38:$,40:_,41:A,42:m,43:t,44:S,45:k,46:F,47:P,48:v,49:C,50:L},{21:50,35:29,37:U,38:$,40:_,41:A,42:m,43:t,44:S,45:k,46:F,47:P,48:v,49:C,50:L},{21:51,35:29,37:U,38:$,40:_,41:A,42:m,43:t,44:S,45:k,46:F,47:P,48:v,49:C,50:L},{21:52,35:29,37:U,38:$,40:_,41:A,42:m,43:t,44:S,45:k,46:F,47:P,48:v,49:C,50:L},{21:53,35:29,37:U,38:$,40:_,41:A,42:m,43:t,44:S,45:k,46:F,47:P,48:v,49:C,50:L},{5:X,22:[1,54],35:56,36:55,40:_,41:A,42:m,43:t,44:S,45:k,46:F,47:P,48:v,49:C,50:L,51:O},e(E,[2,31]),e(E,[2,33]),e(E,[2,34]),e(E,[2,37]),e(E,[2,38]),e(E,[2,39]),e(E,[2,40]),e(E,[2,41]),e(E,[2,42]),e(E,[2,43]),e(E,[2,44]),e(E,[2,45]),e(E,[2,46]),e(E,[2,47]),e(u,[2,6]),e(i,[2,8]),e(i,[2,12]),e(i,[2,13]),e(i,[2,14]),e(i,[2,20],{36:55,35:56,5:X,26:[1,59],40:_,41:A,42:m,43:t,44:S,45:k,46:F,47:P,48:v,49:C,50:L,51:O}),e(i,[2,23],{36:55,35:56,5:X,26:[1,60],40:_,41:A,42:m,43:t,44:S,45:k,46:F,47:P,48:v,49:C,50:L,51:O}),e(i,[2,24],{36:55,35:56,5:X,40:_,41:A,42:m,43:t,44:S,45:k,46:F,47:P,48:v,49:C,50:L,51:O}),e(i,[2,25],{36:55,35:56,5:X,40:_,41:A,42:m,43:t,44:S,45:k,46:F,47:P,48:v,49:C,50:L,51:O}),e(i,[2,26],{36:55,35:56,5:X,40:_,41:A,42:m,43:t,44:S,45:k,46:F,47:P,48:v,49:C,50:L,51:O}),e(i,[2,27],{36:55,35:56,5:X,40:_,41:A,42:m,43:t,44:S,45:k,46:F,47:P,48:v,49:C,50:L,51:O}),{23:[1,61]},e(E,[2,32]),e(E,[2,48]),e(E,[2,49]),e(E,[2,50]),e(i,[2,19],{35:29,21:62,37:U,38:$,40:_,41:A,42:m,43:t,44:S,45:k,46:F,47:P,48:v,49:C,50:L}),e(i,[2,22],{35:29,21:63,37:U,38:$,40:_,41:A,42:m,43:t,44:S,45:k,46:F,47:P,48:v,49:C,50:L}),{24:[1,64]},e(i,[2,18],{36:55,35:56,5:X,40:_,41:A,42:m,43:t,44:S,45:k,46:F,47:P,48:v,49:C,50:L,51:O}),e(i,[2,21],{36:55,35:56,5:X,40:_,41:A,42:m,43:t,44:S,45:k,46:F,47:P,48:v,49:C,50:L,51:O}),e(i,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(n,s){if(s.recoverable)this.trace(n);else{var l=new Error(n);throw l.hash=s,l}},parse:function(n){var s=this,l=[0],o=[],T=[null],a=[],et=this.table,f="",rt=0,gt=0,_t=2,pt=1,mt=a.slice.call(arguments,1),D=Object.create(this.lexer),Z={yy:{}};for(var ht in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ht)&&(Z.yy[ht]=this.yy[ht]);D.setInput(n,Z.yy),Z.yy.lexer=D,Z.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var ut=D.yylloc;a.push(ut);var At=D.options&&D.options.ranges;typeof Z.yy.parseError=="function"?this.parseError=Z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function bt(){var j;return j=o.pop()||D.lex()||pt,typeof j!="number"&&(j instanceof Array&&(o=j,j=o.pop()),j=s.symbols_[j]||j),j}for(var W,J,Q,dt,tt={},st,Y,yt,lt;;){if(J=l[l.length-1],this.defaultActions[J]?Q=this.defaultActions[J]:((W===null||typeof W>"u")&&(W=bt()),Q=et[J]&&et[J][W]),typeof Q>"u"||!Q.length||!Q[0]){var ft="";lt=[];for(st in et[J])this.terminals_[st]&&st>_t&<.push("'"+this.terminals_[st]+"'");D.showPosition?ft="Parse error on line "+(rt+1)+`:
|
|
2
2
|
`+D.showPosition()+`
|
|
3
3
|
Expecting `+lt.join(", ")+", got '"+(this.terminals_[W]||W)+"'":ft="Parse error on line "+(rt+1)+": Unexpected "+(W==pt?"end of input":"'"+(this.terminals_[W]||W)+"'"),this.parseError(ft,{text:D.match,token:this.terminals_[W]||W,line:D.yylineno,loc:ut,expected:lt})}if(Q[0]instanceof Array&&Q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+J+", token: "+W);switch(Q[0]){case 1:l.push(W),T.push(D.yytext),a.push(D.yylloc),l.push(Q[1]),W=null,gt=D.yyleng,f=D.yytext,rt=D.yylineno,ut=D.yylloc;break;case 2:if(Y=this.productions_[Q[1]][1],tt.$=T[T.length-Y],tt._$={first_line:a[a.length-(Y||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(Y||1)].first_column,last_column:a[a.length-1].last_column},At&&(tt._$.range=[a[a.length-(Y||1)].range[0],a[a.length-1].range[1]]),dt=this.performAction.apply(tt,[f,gt,rt,Z.yy,Q[1],T,a].concat(mt)),typeof dt<"u")return dt;Y&&(l=l.slice(0,-1*Y*2),T=T.slice(0,-1*Y),a=a.slice(0,-1*Y)),l.push(this.productions_[Q[1]][0]),T.push(tt.$),a.push(tt._$),yt=et[l[l.length-2]][l[l.length-1]],l.push(yt);break;case 3:return!0}}return!0}},Tt=(function(){var K={EOF:1,parseError:function(s,l){if(this.yy.parser)this.yy.parser.parseError(s,l);else throw new Error(s)},setInput:function(n,s){return this.yy=s||this.yy||{},this._input=n,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var s=n.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},unput:function(n){var s=n.length,l=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var o=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var T=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===o.length?this.yylloc.first_column:0)+o[o.length-l.length].length-l[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[T[0],T[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var n=this.pastInput(),s=new Array(n.length+1).join("-");return n+this.upcomingInput()+`
|