@layers-app/editor 0.1.1 → 0.1.2
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/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{layers.oMBRJCzB.js → layers.1IwoGIls.js} +1 -1
- package/dist/{layers.BtLhNi5r.js → layers.3jysusWs.js} +1 -1
- package/dist/{layers.cV_oYZoH.js → layers.3pcabAHz.js} +1 -1
- package/dist/{layers.DYztItsN.js → layers.4AhGfJQD.js} +1 -1
- package/dist/{layers.Rfb_Ln9j.js → layers.4jubRpKa.js} +1 -1
- package/dist/{layers.D9Bk195Z.js → layers.5X79FASs.js} +1 -1
- package/dist/{layers.CabPWMxJ.js → layers.6L-8IdEJ.js} +3 -3
- package/dist/{layers.ChjAKI7Y.js → layers.79pG_aNi.js} +1 -1
- package/dist/{layers.w82ZHGsZ.js → layers.7t_Z9FN1.js} +1 -1
- package/dist/{layers.Bk3AL8OV.js → layers.8q7HPttR.js} +4 -4
- package/dist/{layers.CD215JC9.js → layers.B0Va6Tdv.js} +1 -1
- package/dist/{layers.jS6DajOI.js → layers.B4INvCuG.js} +2 -2
- package/dist/{layers.BONiaJw-.js → layers.B6CqH3xD.js} +1 -1
- package/dist/{layers.CBPy-Rw6.js → layers.B6FQ8_x0.js} +1 -1
- package/dist/{layers.CJsQ9nk4.js → layers.B79R9xs-.js} +1 -1
- package/dist/{layers.CGTSaXOi.js → layers.B7N9ffE7.js} +1 -1
- package/dist/{layers.D0gmWlbE.js → layers.B8hw3Ow8.js} +1 -1
- package/dist/{layers.CpTkY9-h.js → layers.B9-pcuKu.js} +1 -1
- package/dist/{layers.DcNwDZ_H.js → layers.BAGopVRH.js} +1 -1
- package/dist/{layers.BUMHx894.js → layers.BAiYdu8g.js} +1 -1
- package/dist/{layers.Ch9kii3J.js → layers.BBfzVQ4W.js} +1 -1
- package/dist/{layers.DreB9EXJ.js → layers.BC9Ta9Hx.js} +1 -1
- package/dist/layers.BCMbwfjD.js +1 -0
- package/dist/{layers.Do6fKzgw.js → layers.BDDuqhag.js} +1 -1
- package/dist/layers.BDP08bcM.js +8 -0
- package/dist/{layers.8FA6BjqO.js → layers.BL9hmGfz.js} +2 -2
- package/dist/{layers.CP7OJxcG.js → layers.BLtUxxoI.js} +1 -1
- package/dist/{layers.CCmvnwW5.js → layers.BMcniDOS.js} +1 -1
- package/dist/{layers.TDeZnYRq.js → layers.BO6oLGUo.js} +1 -1
- package/dist/{layers.Cj8CItEd.js → layers.BOxSjmie.js} +1 -1
- package/dist/{layers.DUzsJMjv.js → layers.BQP-spRn.js} +1 -1
- package/dist/{layers.CKxEk8nO.js → layers.BSFWPEoa.js} +1 -1
- package/dist/{layers.D-aMgCnu.js → layers.BUp4PRUG.js} +1 -1
- package/dist/{layers.Ci2lCfrI.js → layers.BW0Fb1Bt.js} +1 -1
- package/dist/{layers.C3AX_N3E.js → layers.BW2HsCOS.js} +2 -2
- package/dist/{layers.D16ZU8CH.js → layers.BWyta0lO.js} +1 -1
- package/dist/{layers.EGYzjS1X.js → layers.BYH5izn7.js} +1 -1
- package/dist/{layers.BbqfwnN_.js → layers.BYcn3EhB.js} +4 -4
- package/dist/{layers.qhbXTS6L.js → layers.BYs74JtY.js} +1 -1
- package/dist/{layers.D2OPTQa1.js → layers.BZ1JCnKl.js} +1 -1
- package/dist/layers.BZSm05d3.js +1 -0
- package/dist/{layers.DUGdnhH4.js → layers.BZeKzdUM.js} +1 -1
- package/dist/{layers.CWpdmT3G.js → layers.BZfP-y28.js} +1 -1
- package/dist/{layers.B2bm75jN.js → layers.B_pPu4Cc.js} +1 -1
- package/dist/{layers.BAcO0BOM.js → layers.B_ysTw-c.js} +1 -1
- package/dist/{layers.DccPAuBn.js → layers.Bf23zC1Z.js} +1 -1
- package/dist/{layers.BztkR7Uh.js → layers.BgSJDm9O.js} +1 -1
- package/dist/{layers.DnSJr70Y.js → layers.BhUpKDhQ.js} +1 -1
- package/dist/{layers.CE8UgiRx.js → layers.Bk8dw2ZG.js} +24 -24
- package/dist/{layers.6UcV8ZlS.js → layers.BklqxNop.js} +1 -1
- package/dist/{layers.C55bwbuc.js → layers.Blj8PunY.js} +3 -3
- package/dist/{layers.m5vLszxC.js → layers.BppPlNHt.js} +1 -1
- package/dist/{layers.Dwx6HNBj.js → layers.Bqo1GJcp.js} +5 -5
- package/dist/{layers.DNV2GKTw.js → layers.BsWmn9a0.js} +1 -1
- package/dist/{layers.D4gDta0V.js → layers.BsnnDFHO.js} +1 -1
- package/dist/{layers.BTpp1fyI.js → layers.BuaNKOtP.js} +1 -1
- package/dist/{layers.D_v-bQdY.js → layers.BvhvBWlt.js} +4 -4
- package/dist/{layers.BoM9NmKJ.js → layers.Bvt6aynd.js} +1 -1
- package/dist/{layers.C-OIi54v.js → layers.Bw1pS5xR.js} +1 -1
- package/dist/{layers.DTwn5Oi6.js → layers.BxIIncxp.js} +1 -1
- package/dist/{layers.C4LIdZ-j.js → layers.C-LM2Ew4.js} +1 -1
- package/dist/{layers.CF75GhsV.js → layers.C-mxUaos.js} +1 -1
- package/dist/{layers.wXM7amEZ.js → layers.C0RA2I2j.js} +8 -8
- package/dist/{layers.CWmi5787.js → layers.C1HaOE1o.js} +1 -1
- package/dist/{layers.Dn0aCFlL.js → layers.C1hI63dq.js} +1 -1
- package/dist/{layers.D0l6DgDh.js → layers.C2uZNWzS.js} +1 -1
- package/dist/{layers.CxSJ9hms.js → layers.C4R5ylFa.js} +1 -1
- package/dist/{layers.p5dB2cXB.js → layers.C4WUyvzz.js} +1 -1
- package/dist/{layers.BgYKRbFw.js → layers.C52SQB2C.js} +1 -1
- package/dist/{layers.BEZD0bWz.js → layers.C7eTn6N3.js} +1 -1
- package/dist/{layers.CYNKyvAP.js → layers.C8pJLrtc.js} +1 -1
- package/dist/{layers.BtbeOi-e.js → layers.C9-IPj4n.js} +1 -1
- package/dist/{layers.8UfYJuWR.js → layers.C93y9L8p.js} +1 -1
- package/dist/{layers.hQt96VH2.js → layers.CBWAkI6c.js} +1 -1
- package/dist/{layers.CZo2IQ6x.js → layers.CCDPnMWc.js} +5 -5
- package/dist/{layers.X1nM9k7w.js → layers.CEuedTAl.js} +1 -1
- package/dist/{layers.C61zKll8.js → layers.CId3lB2f.js} +1 -1
- package/dist/{layers.DrLCxUiM.js → layers.CKVHAWTu.js} +1 -1
- package/dist/{layers.CIQLnT11.js → layers.CLAVAB8h.js} +1 -1
- package/dist/{layers.DLzO8mWF.js → layers.CN_tDYYa.js} +1 -1
- package/dist/{layers.CpkRKA3d.js → layers.CPFwwm5y.js} +1 -1
- package/dist/{layers.MxcsWsrn.js → layers.CQJFpH5E.js} +1 -1
- package/dist/{layers.BZZLvAQw.js → layers.CR9dOfnN.js} +1 -1
- package/dist/{layers.CKxspReT.js → layers.CSqGeK3n.js} +1 -1
- package/dist/{layers.NasR-SpT.js → layers.CUley3kX.js} +1 -1
- package/dist/{layers.o5bsnkgr.js → layers.CVCO7e7z.js} +3 -3
- package/dist/{layers.Doka5Ml8.js → layers.Ca6S8pPs.js} +4 -4
- package/dist/{layers.B6EKEPSf.js → layers.CaYVM7VE.js} +1 -1
- package/dist/{layers.CNk5MzmS.js → layers.CcI33ZMp.js} +1 -1
- package/dist/{layers.Clo4okj3.js → layers.CgVc1g2Z.js} +1 -1
- package/dist/{layers.DZjQsI48.js → layers.CitvP-dI.js} +1 -1
- package/dist/{layers.DshQ1OUk.js → layers.CkLkFSmV.js} +1 -1
- package/dist/{layers.CXhvNU7L.js → layers.Cl2JBJVr.js} +1 -1
- package/dist/{layers.DdAI5LcH.js → layers.ClKAOUlz.js} +1 -1
- package/dist/{layers.9F36gbyx.js → layers.CmAyDt1g.js} +1 -1
- package/dist/{layers.CAjyxSiU.js → layers.Cn4i2tOe.js} +1 -1
- package/dist/{layers.0Zn74Apn.js → layers.Cn6SFYoj.js} +4 -4
- package/dist/{layers.Bn5NXNDl.js → layers.CnSO6zX8.js} +1 -1
- package/dist/{layers.CV8Belix.js → layers.Coghe3vX.js} +1 -1
- package/dist/{layers.8MSxkpeQ.js → layers.Cpiw00UU.js} +1 -1
- package/dist/{layers.Dk4q6-Lh.js → layers.CrLfS6Ib.js} +1 -1
- package/dist/{layers.cVp37ewb.js → layers.CrWA_hm9.js} +4 -4
- package/dist/{layers.ajG2bxyi.js → layers.CstAZBbg.js} +1 -1
- package/dist/{layers.DqQMyJfB.js → layers.Ct4tnpCN.js} +1 -1
- package/dist/{layers.BQdeGhyd.js → layers.Cu8zrvAV.js} +1 -1
- package/dist/{layers.DJctf-XA.js → layers.CuxRLK4p.js} +1 -1
- package/dist/{layers.Z9OifGf8.js → layers.CwV2W27c.js} +1 -1
- package/dist/{layers.B5ed21DY.js → layers.CxAxpyiL.js} +3 -3
- package/dist/{layers.BV7xXouM.js → layers.CxVtjBt8.js} +1 -1
- package/dist/{layers.CDLrooXq.js → layers.CxxJoRQH.js} +1 -1
- package/dist/{layers.IUoaRUDU.js → layers.CzKT_DJb.js} +3 -3
- package/dist/{layers.BBxrtN22.js → layers.Czf-JjKD.js} +1 -1
- package/dist/{layers.DkP2467a.js → layers.CzkNj6s2.js} +1 -1
- package/dist/{layers.DcAMQjpJ.js → layers.D-bwb7A0.js} +1 -1
- package/dist/{layers.CZ_RqIV9.js → layers.D2_tv_2K.js} +1 -1
- package/dist/{layers.Bxkqc6uu.js → layers.D2b_kz8e.js} +1 -1
- package/dist/{layers.C_2RopEq.js → layers.D3WNNlVl.js} +1 -1
- package/dist/{layers.8zWh0RqL.js → layers.D53Zo502.js} +1 -1
- package/dist/{layers.C15ARbsR.js → layers.D8hsbx0m.js} +1 -1
- package/dist/{layers.CGKPBKuQ.js → layers.DB77DfQL.js} +1 -1
- package/dist/{layers.Bq4_NGzj.js → layers.DBNFscmY.js} +1 -1
- package/dist/{layers.BNRLBlIU.js → layers.DEP-AjTh.js} +1 -1
- package/dist/{layers.DSiPFbSQ.js → layers.DJbo_VBt.js} +1 -1
- package/dist/{layers.C12Y94KM.js → layers.DLY4DfP9.js} +1 -1
- package/dist/{layers.C4Zd0SBs.js → layers.DLlI_M-f.js} +1 -1
- package/dist/{layers.JeSADjoe.js → layers.DMQtKpio.js} +1 -1
- package/dist/{layers.CqssdqkJ.js → layers.DOPxREHY.js} +4 -4
- package/dist/{layers._lmAQocT.js → layers.DSdTlg9s.js} +1 -1
- package/dist/{layers.DQnKOZJ2.js → layers.DTRwu_PQ.js} +1 -1
- package/dist/{layers.DmPO9DVU.js → layers.DU3ijL1F.js} +1 -1
- package/dist/{layers.DoolEhKM.js → layers.DV720UnU.js} +3 -3
- package/dist/{layers.BVAQKUqf.js → layers.DVV2w5Xq.js} +1 -1
- package/dist/{layers.D5vARcz3.js → layers.DZkBAt2g.js} +1 -1
- package/dist/{layers.CsWdIHuG.js → layers.DZwRwrrj.js} +1 -1
- package/dist/{layers.3nHdH2Pu.js → layers.DccGJMA7.js} +1 -1
- package/dist/{layers.DQwhfTaK.js → layers.DeT-03Gr.js} +1 -1
- package/dist/{layers.BfEjdBJF.js → layers.Dg0RmsZN.js} +1 -1
- package/dist/{layers.CigLGqdN.js → layers.DiulC4TM.js} +1 -1
- package/dist/{layers.elOeqPoq.js → layers.DknBVIeA.js} +4 -4
- package/dist/{layers.iL1D32RX.js → layers.DlvVJKhr.js} +1 -1
- package/dist/{layers.mG2Z-85d.js → layers.DmppM3g0.js} +1 -1
- package/dist/layers.DnV-VMFD.js +6 -0
- package/dist/{layers.BjpV5t2m.js → layers.Dnu2_3fs.js} +1 -1
- package/dist/{layers.Dxyr5Dvd.js → layers.DoI6LxUC.js} +1 -1
- package/dist/{layers.D9txdRbL.js → layers.DpXgJ1hq.js} +3 -3
- package/dist/{layers.D-YFSdNL.js → layers.DqCTFJFY.js} +3 -3
- package/dist/{layers.CPHU-DMy.js → layers.DqNhzL9Q.js} +4 -4
- package/dist/{layers.DXLF1JXR.js → layers.DqS33TAh.js} +1 -1
- package/dist/{layers.BI1kHMnJ.js → layers.Dr_1h0KT.js} +1 -1
- package/dist/{layers.BUuDfHCh.js → layers.Dw4z9CLc.js} +1 -1
- package/dist/{layers.Dviw8XFJ.js → layers.DwdomOG6.js} +1 -1
- package/dist/{layers.BFr-on90.js → layers.Dxo9EpeY.js} +3 -3
- package/dist/{layers.CHqbMHMi.js → layers.DyHXncGW.js} +2 -2
- package/dist/{layers.Cb86F_Zu.js → layers.Dz2_6IAx.js} +1 -1
- package/dist/{layers.BHpYYA-b.js → layers.DzbUaqeX.js} +1 -1
- package/dist/{layers.C5bElj9G.js → layers.GG1BY9YL.js} +1 -1
- package/dist/{layers.rJc4YCyE.js → layers.J1G8T5Di.js} +1 -1
- package/dist/{layers.IFa8RFCd.js → layers.JA4LVaGk.js} +1 -1
- package/dist/{layers.C64jDrIh.js → layers.KOiPczfL.js} +1 -1
- package/dist/{layers.BcvK1etx.js → layers.KUHKc0V0.js} +1 -1
- package/dist/{layers.1MqVFAS6.js → layers.NY96bHg5.js} +1 -1
- package/dist/{layers.DPrBhg-U.js → layers.OptcGJ_M.js} +1 -1
- package/dist/{layers.Dmtha7t9.js → layers.PUnEpYn-.js} +1 -1
- package/dist/{layers.DoixVg37.js → layers.RS0WJHwH.js} +2 -2
- package/dist/{layers.DwP16FLE.js → layers.T4Dn235L.js} +1 -1
- package/dist/{layers.BqQJP5Um.js → layers.UWy9i04B.js} +1 -1
- package/dist/{layers.CzZ9gz4H.js → layers.UcK5Vs-a.js} +1 -1
- package/dist/{layers.DDHjXAiz.js → layers.VADxcvy6.js} +1 -1
- package/dist/{layers.C55fOE3W.js → layers.VTnN4t7B.js} +1 -1
- package/dist/{layers.DUNdnyz4.js → layers.VfGWICTc.js} +1 -1
- package/dist/{layers.D2AtDK_P.js → layers.Vhm20pRe.js} +1 -1
- package/dist/{layers.C87VAwF5.js → layers.X5OYC12o.js} +1 -1
- package/dist/{layers.C0qaNG83.js → layers.Zpy4OtML.js} +1 -1
- package/dist/{layers.BHUE5c6a.js → layers.ZtCigGAU.js} +1 -1
- package/dist/{layers.DuWYe-Z8.js → layers._bTjzRRt.js} +1 -1
- package/dist/{layers.NKaeP46K.js → layers._h0ZGrkm.js} +1 -1
- package/dist/{layers.DwRYIuh_.js → layers.aXelDrrg.js} +1 -1
- package/dist/{layers.NJ3hi4qz.js → layers.el5NSWu5.js} +1 -1
- package/dist/{layers.CfP9iPmc.js → layers.gZms3f91.js} +1 -1
- package/dist/{layers.D-6KI4DX.js → layers.gxsl__Qp.js} +7 -7
- package/dist/{layers.CWc4aGjR.js → layers.hf22omlD.js} +1 -1
- package/dist/{layers.B_tp38en.js → layers.huZxINBr.js} +6 -6
- package/dist/{layers.CUHhS-nd.js → layers.iUPauFZz.js} +1 -1
- package/dist/{layers.CMWh7wCP.js → layers.ikBLyi0S.js} +1 -1
- package/dist/{layers.DknNoG1O.js → layers.jMkdQKWD.js} +1 -1
- package/dist/{layers.B0Xj19bx.js → layers.jzKYooUK.js} +3 -3
- package/dist/{layers.CjEH8PAE.js → layers.loxwQNj1.js} +4 -4
- package/dist/{layers.C5NBy99u.js → layers.mDAMQtYc.js} +2 -2
- package/dist/{layers.7HaN9RP_.js → layers.mft6kYFr.js} +1 -1
- package/dist/{layers.DpXCkNqO.js → layers.nY1R_MdN.js} +1 -1
- package/dist/{layers.B1NuvoQb.js → layers.poJKVMF0.js} +1 -1
- package/dist/{layers.xkfoZhlq.js → layers.qXOWpYCL.js} +1 -1
- package/dist/{layers.BkT43oC7.js → layers.rmsdA2BX.js} +1 -1
- package/dist/{layers.Bx_7A4J4.js → layers.tPLRXJCt.js} +1 -1
- package/dist/{layers.BeZNrGxj.js → layers.ttGzIT25.js} +1 -1
- package/dist/{layers.lwP9byff.js → layers.u1ACXCyS.js} +1 -1
- package/dist/{layers.yJTHu7LC.js → layers.vG5wGqvT.js} +1 -1
- package/dist/{layers.DPPFeBH_.js → layers.xUNWUmXT.js} +15 -17
- package/dist/{layers.6jl7Fomz.js → layers.xh85NorZ.js} +2 -2
- package/dist/{layers.DM7xUiSW.js → layers.yTyclsrh.js} +1 -1
- package/dist/{layers.BGGXPofs.js → layers.zYSBkjNG.js} +3 -3
- package/dist/{layers.DqAwqMXR.js → layers.zodOIKut.js} +1 -1
- package/package.json +1 -1
- package/dist/layers.B8UP-dLE.js +0 -1
- package/dist/layers.BmW9LhX4.js +0 -1
- package/dist/layers.BoEvBxrs.js +0 -6
- package/dist/layers.Cy2-Fbov.js +0 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./layers.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./layers.gxsl__Qp.js");var u={paste:"Dán",pasteAsPlaintext:"Dán kiểu văn bản thuần",pasteCharts:"Dán biểu đồ",selectAll:"Chọn tất cả",multiSelect:"Thêm mới vào Select",moveCanvas:"Di chuyển canvas",cut:"Cắt",copy:"Sao chép",copyAsPng:"Sao chép vào bộ nhớ tạm dưới dạng PNG",copyAsSvg:"Sao chép vào bộ nhớ tạm dưới dạng SVG",copyText:"Sao chép vào bộ nhớ tạm dưới dạng chữ",copySource:"",convertToCode:"",bringForward:"Đưa ra trước",sendToBack:"Hạ xuống dưới",bringToFront:"Đưa ra đầu tiên",sendBackward:"Hạ xuống cuối",delete:"Xóa",copyStyles:"Sao chép định dạng",pasteStyles:"Dán định dạng",stroke:"Nét",background:"Nền",fill:"Fill",strokeWidth:"Độ dày nét",strokeStyle:"Kiểu nét",strokeStyle_solid:"Khối",strokeStyle_dashed:"Gạch ngang",strokeStyle_dotted:"Nhiều chấm",sloppiness:"Hoa văn nét",opacity:"Độ trong suốt",textAlign:"Căn chỉnh văn bản",edges:"Cạnh",sharp:"Nhọn",round:"Tròn",arrowheads:"Đầu mũi tên",arrowhead_none:"Không",arrowhead_arrow:"Mũi tên",arrowhead_bar:"Thanh",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Tam giác",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Cỡ chữ",fontFamily:"Phông chữ",addWatermark:'Làm với Excalidraw"',handDrawn:"Vẽ tay",normal:"Bình thường",code:"Mã",small:"Nhỏ",medium:"Vừa",large:"Lớn",veryLarge:"Rất lớn",solid:"Đặc",hachure:"Nét gạch gạch",zigzag:"Zigzag",crossHatch:"Nét gạch chéo",thin:"Mỏng",bold:"In đậm",left:"Trái",center:"Giữa",right:"Phải",extraBold:"Nét siêu đậm",architect:"Kiến trúc sư",artist:"Nghệ sỹ",cartoonist:"Hoạt hình",fileTitle:"Tên tập tin",colorPicker:"Chọn màu",canvasColors:"Đã dùng trên canvas",canvasBackground:"Nền canvas",drawingCanvas:"Canvas vẽ",layers:"Lớp",actions:"Chức năng",language:"Ngôn ngữ",liveCollaboration:"Hợp tác trực tiếp...",duplicateSelection:"Tạo bản sao",untitled:"Không có tiêu đề",name:"Tên",yourName:"Tên của bạn",madeWithExcalidraw:"Làm với Excalidraw",group:"Gộp nhóm lại lựa chọn",ungroup:"Tách nhóm lựa chọn",collaborators:"Cộng tác viên",showGrid:"Hiển thị lưới",addToLibrary:"Thêm vào thư viện",removeFromLibrary:"Xóa khỏi thư viện",libraryLoadingMessage:"Đang tải thư viện…",libraries:"Xem thư viện",loadingScene:"Đang tải về…",align:"Căn chỉnh",alignTop:"Căn trên",alignBottom:"Căn dưới",alignLeft:"Canh trái",alignRight:"Canh phải",centerVertically:"Giữa theo chiều dọc",centerHorizontally:"Giữa theo chiều ngang",distributeHorizontally:"Phân bố theo chiều ngang",distributeVertically:"Phân bố theo chiều dọc",flipHorizontal:"Lật ngang",flipVertical:"Lật dọc",viewMode:"Chế độ xem",share:"Chia sẻ",showStroke:"Hiển thị chọn màu",showBackground:"Hiện thị chọn màu nền",toggleTheme:"",personalLib:"Thư viện cá nhân",excalidrawLib:"Thư viện Excalidraw",decreaseFontSize:"Giảm cỡ chữ",increaseFontSize:"Tăng cỡ chữ",unbindText:"",bindText:"",createContainerFromText:"",link:{edit:"Sửa liên kết",editEmbed:"",create:"Tạo liên kết",createEmbed:"",label:"Liên kết",labelEmbed:"",empty:""},lineEditor:{edit:"Điều chỉnh nét",exit:"Thoát chỉnh nét"},elementLock:{lock:"Khoá",unlock:"Mở khoá",lockAll:"Khóa tất cả",unlockAll:"Mở khóa tất cả"},statusPublished:"Đã đăng tải",sidebarLock:"Giữ thanh bên luôn mở",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},E={noItems:"Chưa có món nào...",hint_emptyLibrary:"Chọn một món trên canvas để thêm nó vào đây, hoặc cài đặt thư viện từ kho lưu trữ công cộng, ở bên dưới.",hint_emptyPrivateLibrary:"Chọn một món trên canvas để thêm nó vào đây."},n={clearReset:"Reset canvas",exportJSON:"Xuất ra tập tin",exportImage:"Xuất file ảnh...",export:"Lưu vào...",copyToClipboard:"Sao chép vào bộ nhớ tạm",save:"Lưu vào tập tin hiện tại",saveAs:"Lưu thành",load:"Mở",getShareableLink:"Tạo liên kết để chia sẻ",close:"Đóng",selectLanguage:"Chọn ngôn ngữ",scrollBackToContent:"Cuộn về nội dung chính",zoomIn:"Phóng to",zoomOut:"Thu nhỏ",resetZoom:"Đặt lại thu phóng",menu:"Bảng chọn",done:"Xong",edit:"Chỉnh sửa",undo:"Hoàn tác",redo:"Làm lại",resetLibrary:"",createNewRoom:"Tạo phòng mới",fullScreen:"Toàn màn hình",darkMode:"Chế độ tối",lightMode:"Chế độ sáng",zenMode:"Chế độ zen",objectsSnapMode:"",exitZenMode:"Thoát chể độ zen",cancel:"Hủy",clear:"Làm sạch",remove:"Xóa",embed:"",publishLibrary:"Đăng tải",submit:"Gửi",confirm:"Xác nhận",embeddableInteractionButton:""},e={clearReset:"Điều này sẽ dọn hết canvas. Bạn có chắc không?",couldNotCreateShareableLink:"Không thể tạo đường dẫn chia sẻ.",couldNotCreateShareableLinkTooBig:"Không thể tạo đường dẫn chia sẻ: bản vẽ quá lớn",couldNotLoadInvalidFile:"Không thể load tập tin không hợp lệ",importBackendFailed:"",cannotExportEmptyCanvas:"Không thể xuất canvas trống.",couldNotCopyToClipboard:"",decryptFailed:"Không thể giải mã dữ liệu.",uploadedSecurly:"",loadSceneOverridePrompt:"",collabStopOverridePrompt:`Dừng phiên sẽ ghi đè lên bản vẽ được lưu trữ cục bộ trước đó của bạn. Bạn có chắc không?
|
|
2
2
|
|
|
3
3
|
(Nếu bạn muốn giữ bản vẽ cục bộ của mình, chỉ cần đóng tab trình duyệt.)`,errorAddingToLibrary:"Không thể thêm món vào thư viện",errorRemovingFromLibrary:"Không thể xoá món khỏi thư viện",confirmAddLibrary:"Hình {{numShapes}} sẽ được thêm vào thư viện. Bạn chắc chứ?",imageDoesNotContainScene:"Hình ảnh này dường như không chứa bất kỳ dữ liệu cảnh nào. Bạn đã bật tính năng nhúng cảnh khi xuất chưa?",cannotRestoreFromImage:"",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"Xoá {{count}} món từ thư viện?",invalidEncryptionKey:"Khóa mã hóa phải có 22 ký tự. Hợp tác trực tiếp bị vô hiệu hóa.",collabOfflineWarning:`Không có kết nối internet.
|
|
4
4
|
Thay đổi của bạn sẽ không được lưu!`},t={unsupportedFileType:"Loại tập tin không được hỗ trợ.",imageInsertError:"Không thể thêm ảnh. Hãy thử lại sau...",fileTooBig:"Tệp tin quá lớn. Dung lượng tối đa cho phép là {{maxSize}}.",svgImageInsertError:"Không thể thêm ảnh SVG. Mã SVG có vẻ sai.",failedToFetchImage:"",invalidSVGString:"SVG không hợp lệ.",cannotResolveCollabServer:"Không thể kết nối với máy chủ hợp tác. Hãy tải lại trang và thử lại.",importLibraryError:"Không thể tải thư viện",collabSaveFailed:"Không thể lưu vào cơ sở dữ liệu. Nếu vấn đề tiếp tục xảy ra, bạn nên lưu tệp vào máy để đảm bảo bạn không bị mất công việc.",collabSaveFailed_sizeExceeded:"Không thể lưu vào cơ sở dữ liệu, canvas có vẻ quá lớn. Bạn nên lưu tệp cục bộ để đảm bảo bạn không bị mất công việc.",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},i={selection:"Lựa chọn",image:"Chèn ảnh",rectangle:"Hình chữ nhật",diamond:"Kim cương",ellipse:"Hình elíp",arrow:"Mũi tên",line:"Đường kẻ",freedraw:"Vẽ",text:"Văn bản",library:"Thư viện",lock:"Giữ dụng cũ hiện tại sau khi vẽ",penMode:"Chế độ bút vẽ - ngăn ngừa chạm nhầm",link:"Thêm/ Chỉnh sửa liên kết cho hình được chọn",eraser:"Xóa",frame:"",magicframe:"",embeddable:"",laser:"",hand:"Tay kéo",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},a={canvasActions:"Hành động canvas",selectedShapeActions:"Các hành động cho hình dạng đã chọn",shapes:"Các hình khối"},o={canvasPanning:"Để di chuyển canvas, giữ con lăn chuột hoặc phím cách trong khi kéo, hoặc sử dụng công cụ cầm tay",linearElement:"Ấn để bắt đầu nhiểm điểm vẽ, kéo để vẽ một đường thẳng",freeDraw:"Ấn bà kéo, thả khi bạn xong",text:"Mẹo: bạn có thể thêm văn bản tại bất cứ đâu bằng cách ấn hai lần bằng tool lựa chọn",embeddable:"",text_selected:"Ấn 2 lần hoặc nhấn ENTER để chỉnh văn bản",text_editing:"Nhấn Escape hoặc Ctrl/Cmd+ENTER để hoàn thành chỉnh sửa",linearElementMulti:"Nhấn vào điểm cuối hoặc nhấn Escape hoặc Enter để kết thúc",lockAngle:"Bạn có thể chỉnh lại góc bằng cách giữ phím SHIFT",resize:`Bạn có thể chỉnh tỷ lệ bằng cách giữ SHIFT khi chỉnh kích cỡ,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./layers.
|
|
1
|
+
import "./layers.C0RA2I2j.js";
|
|
2
2
|
var e = { paste: "Wklej", pasteAsPlaintext: "Wklej jako zwykły tekst", pasteCharts: "Wklej wykresy", selectAll: "Zaznacz wszystko", multiSelect: "Dodaj element do zaznaczenia", moveCanvas: "Przesuń obszar roboczy", cut: "Wytnij", copy: "Kopiuj", copyAsPng: "Skopiuj do schowka jako plik PNG", copyAsSvg: "Skopiuj do schowka jako plik SVG", copyText: "Skopiuj do schowka jako tekst", copySource: "Skopiuj źródło do schowka", convertToCode: "Skonwertuj do kodu", bringForward: "Przenieś wyżej", sendToBack: "Przenieś na spód", bringToFront: "Przenieś na wierzch", sendBackward: "Przenieś niżej", delete: "Usuń", copyStyles: "Kopiuj style", pasteStyles: "Wklej style", stroke: "Kolor obramowania", background: "Kolor wypełnienia", fill: "Wypełnienie", strokeWidth: "Grubość obramowania", strokeStyle: "Styl obrysu", strokeStyle_solid: "Pełny", strokeStyle_dashed: "Kreskowany", strokeStyle_dotted: "Kropkowany", sloppiness: "Styl kreski", opacity: "Przeźroczystość", textAlign: "Wyrównanie tekstu", edges: "Krawędzie", sharp: "Ostry", round: "Zaokrąglij", arrowheads: "Groty", arrowhead_none: "Brak", arrowhead_arrow: "Strzałka", arrowhead_bar: "Kreska", arrowhead_circle: "Okrąg", arrowhead_circle_outline: "Okrąg (obrys)", arrowhead_triangle: "Trójkąt", arrowhead_triangle_outline: "Trójkąt (obrys)", arrowhead_diamond: "Romb", arrowhead_diamond_outline: "Romb (obrys)", fontSize: "Rozmiar tekstu", fontFamily: "Krój pisma", addWatermark: 'Dodaj "Zrobione w Excalidraw"', handDrawn: "Odręczny", normal: "Normalny", code: "Kod", small: "Mały", medium: "Średni", large: "Duży", veryLarge: "Bardzo duży", solid: "Pełne", hachure: "Linie", zigzag: "Zygzak", crossHatch: "Zakreślone", thin: "Cienkie", bold: "Pogrubione", left: "Do lewej", center: "Do środka", right: "Do prawej", extraBold: "Ekstra pogrubione", architect: "Dokładny", artist: "Artystyczny", cartoonist: "Rysunkowy", fileTitle: "Nazwa pliku", colorPicker: "Paleta kolorów", canvasColors: "Używane na płótnie", canvasBackground: "Kolor dokumentu", drawingCanvas: "Obszar roboczy", layers: "Warstwy", actions: "Akcje", language: "Język", liveCollaboration: "Współpraca w czasie rzeczywistym...", duplicateSelection: "Powiel", untitled: "Bez tytułu", name: "Nazwa", yourName: "Twoje imię", madeWithExcalidraw: "Zrobione w Excalidraw", group: "Zgrupuj wybrane", ungroup: "Rozgrupuj wybrane", collaborators: "Współtwórcy", showGrid: "Pokaż siatkę", addToLibrary: "Dodaj do biblioteki", removeFromLibrary: "Usuń z biblioteki", libraryLoadingMessage: "Wczytywanie biblioteki…", libraries: "Przeglądaj biblioteki", loadingScene: "Wczytywanie sceny…", align: "Wyrównaj", alignTop: "Wyrównaj do góry", alignBottom: "Wyrównaj do dołu", alignLeft: "Wyrównaj do lewej", alignRight: "Wyrównaj do prawej", centerVertically: "Wyśrodkuj w pionie", centerHorizontally: "Wyśrodkuj w poziomie", distributeHorizontally: "Rozłóż poziomo", distributeVertically: "Rozłóż pionowo", flipHorizontal: "Odwróć w poziomie", flipVertical: "Odwróć w pionie", viewMode: "Tryb widoku", share: "Udostępnij", showStroke: "Pokaż próbnik kolorów obrysu", showBackground: "Pokaż próbnik koloru tła", toggleTheme: "Przełącz motyw", personalLib: "Biblioteka prywatna", excalidrawLib: "Biblioteka Excalidraw", decreaseFontSize: "Zmniejsz rozmiar czcionki", increaseFontSize: "Zwiększ rozmiar czcionki", unbindText: "Odłącz tekst od kontenera", bindText: "Połącz tekst z kontenerem", createContainerFromText: "Zawijaj tekst w kontenerze", link: { edit: "Edytuj łącze", editEmbed: "Edytuj i osadź link", create: "Utwórz łącze", createEmbed: "Stwórz i osadź link", label: "Łącze", labelEmbed: "Podlinkuj i osadź", empty: "Nie ustawiono linku" }, lineEditor: { edit: "Edytuj linię", exit: "Wyjdź z edytora linii" }, elementLock: { lock: "Zablokuj", unlock: "Odblokuj", lockAll: "Zablokuj wszystko", unlockAll: "Odblokuj wszystko" }, statusPublished: "Opublikowano", sidebarLock: "Panel boczny zawsze otwarty", selectAllElementsInFrame: "Zaznacz wszystkie elementy w ramce", removeAllElementsFromFrame: "Usuń wszystkie elementy z ramki", eyeDropper: "Wybierz kolor z płótna", textToDiagram: "Tekst do diagramu", prompt: "" }, a = { noItems: "Nie dodano jeszcze żadnych elementów...", hint_emptyLibrary: "Wybierz element na płótnie, aby go tutaj dodać, lub zainstaluj bibliotekę z poniższego publicznego repozytorium.", hint_emptyPrivateLibrary: "Wybierz element, aby dodać go tutaj." }, o = { clearReset: "Wyczyść dokument i zresetuj kolor dokumentu", exportJSON: "Eksportuj do pliku", exportImage: "Eksportuj obraz...", export: "Zapisz jako...", copyToClipboard: "Skopiuj do schowka", save: "Zapisz do bieżącego pliku", saveAs: "Zapisz jako", load: "Otwórz", getShareableLink: "Udostępnij", close: "Zamknij", selectLanguage: "Wybierz język", scrollBackToContent: "Wróć do obszaru roboczego", zoomIn: "Powiększ", zoomOut: "Pomniejsz", resetZoom: "Zresetuj powiększenie", menu: "Menu", done: "Gotowe", edit: "Edytuj", undo: "Cofnij", redo: "Przywróć", resetLibrary: "Resetuj bibliotekę", createNewRoom: "Utwórz nowy pokój", fullScreen: "Pełny ekran", darkMode: "Ciemny motyw", lightMode: "Jasny motyw", zenMode: "Tryb Zen", objectsSnapMode: "Przyciąganie do obiektów", exitZenMode: "Wyjdź z trybu Zen", cancel: "Anuluj", clear: "Wyczyść", remove: "Usuń", embed: "Przełącz osadzenie", publishLibrary: "Opublikuj", submit: "Prześlij", confirm: "Zatwierdź", embeddableInteractionButton: "Kliknij, aby wejść w interakcję" }, i = { clearReset: "To spowoduje usunięcie wszystkiego z dokumentu. Czy chcesz kontynuować?", couldNotCreateShareableLink: "Wystąpił błąd przy generowaniu linka do udostępniania.", couldNotCreateShareableLinkTooBig: "Nie można utworzyć linku do udostępnienia: scena jest za duża", couldNotLoadInvalidFile: "Nie udało się otworzyć pliku. Wybrany plik jest nieprawidłowy.", importBackendFailed: "Wystąpił błąd podczas importowania pliku.", cannotExportEmptyCanvas: "Najpierw musisz coś narysować, aby zapisać dokument.", couldNotCopyToClipboard: "Nie udało się skopiować do schowka.", decryptFailed: "Nie udało się odszyfrować danych.", uploadedSecurly: "By zapewnić Ci prywatność, udostępnianie projektu jest zabezpieczone szyfrowaniem end-to-end, co oznacza, że poza tobą i osobą z którą podzielisz się linkiem, nikt nie ma dostępu do tego co udostępniasz.", loadSceneOverridePrompt: "Wczytanie zewnętrznego rysunku zastąpi istniejącą zawartość. Czy chcesz kontynuować?", collabStopOverridePrompt: `Zatrzymanie sesji nadpisze poprzedni, zapisany lokalnie rysunek. Czy jesteś pewien?
|
|
3
3
|
|
|
4
4
|
(Jeśli chcesz zachować swój lokalny rysunek, po prostu zamknij zakładkę przeglądarki.)`, errorAddingToLibrary: "Nie udało się dodać elementu do biblioteki", errorRemovingFromLibrary: "Nie udało się usunąć elementu z biblioteki", confirmAddLibrary: "To doda {{numShapes}} kształtów do twojej biblioteki. Jesteś pewien?", imageDoesNotContainScene: "Ten obraz nie zawiera żadnych informacji o scenie. Czy włączyłeś osadzanie sceny podczas eksportu?", cannotRestoreFromImage: "Scena nie mogła zostać przywrócona z pliku obrazu", invalidSceneUrl: "Nie udało się zaimportować sceny z podanego adresu URL. Jest ona wadliwa lub nie zawiera poprawnych danych Excalidraw w formacie JSON.", resetLibrary: "To wyczyści twoją bibliotekę. Jesteś pewien?", removeItemsFromsLibrary: "Usunąć {{count}} element(ów) z biblioteki?", invalidEncryptionKey: "Klucz szyfrowania musi składać się z 22 znaków. Współpraca na żywo jest wyłączona.", collabOfflineWarning: `Brak połączenia z Internetem.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./layers.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./layers.gxsl__Qp.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:"绘制 Canvas",layers:"图层",actions:"操作",language:"语言",liveCollaboration:"实时协作...",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:"Prompt"},F={noItems:"尚未添加任何项目……",hint_emptyLibrary:"选中画布上的项目添加到此处,或从下方的公共素材库中导入。",hint_emptyPrivateLibrary:"选中画布上的项目添加到此处。"},E={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:"禅模式",objectsSnapMode:"吸附至对象",exitZenMode:"退出禅模式",cancel:"取消",clear:"清除",remove:"删除",embed:"切换嵌入",publishLibrary:"发布",submit:"提交",confirm:"确定",embeddableInteractionButton:"点击以开始交互"},e={clearReset:"这将会清除整个画布。您是否要继续?",couldNotCreateShareableLink:"无法创建共享链接",couldNotCreateShareableLinkTooBig:"无法创建可共享链接:画布过大",couldNotLoadInvalidFile:"无法加载无效的文件",importBackendFailed:"从后端导入失败。",cannotExportEmptyCanvas:"无法导出空白画布。",couldNotCopyToClipboard:"无法复制到剪贴板。",decryptFailed:"无法解密数据。",uploadedSecurly:"上传已被端到端加密保护,这意味着 Excalidraw 的服务器和第三方都无法读取内容。",loadSceneOverridePrompt:"加载外部绘图将取代您现有的内容。您想要继续吗?",collabStopOverridePrompt:`停止会话将覆盖您先前本地存储的绘图。 您确定吗?
|
|
2
2
|
|
|
3
3
|
(如果您想保持本地绘图,只需关闭浏览器选项卡。)`,errorAddingToLibrary:"无法将项目添加到素材库中",errorRemovingFromLibrary:"无法从素材库中移除项目",confirmAddLibrary:"这将添加 {{numShapes}} 个形状到您的素材库中。您确定吗?",imageDoesNotContainScene:"此图像似乎不包含任何画布数据。您是否在导出时启用了画布嵌入功能?",cannotRestoreFromImage:"无法从此图像文件恢复画布",invalidSceneUrl:"无法从提供的 URL 导入场景。它或者格式不正确,或者不包含有效的 Excalidraw JSON 数据。",resetLibrary:"这将会清除你的素材库。你确定要这么做吗?",removeItemsFromsLibrary:"确定要从素材库中删除 {{count}} 个项目吗?",invalidEncryptionKey:"密钥必须包含22个字符。实时协作已被禁用。",collabOfflineWarning:`无网络连接。
|
|
4
4
|
您的改动将不会被保存!`},D={unsupportedFileType:"不支持的文件格式。",imageInsertError:"无法插入图像。请稍后再试……",fileTooBig:"文件过大。最大允许的大小为 {{maxSize}}。",svgImageInsertError:"无法插入 SVG 图像。该 SVG 标记似乎是无效的。",failedToFetchImage:"无法获取图片。",invalidSVGString:"无效的 SVG。",cannotResolveCollabServer:"无法连接到实时协作服务器。请重新加载页面并重试。",importLibraryError:"无法加载素材库",collabSaveFailed:"无法保存到后端数据库。如果问题持续存在,您应该保存文件到本地,以确保您的工作不会丢失。",collabSaveFailed_sizeExceeded:"无法保存到后端数据库,画布似乎过大。您应该保存文件到本地,以确保您的工作不会丢失。",imageToolNotSupported:"图片已被禁用。",brave_measure_text_error:{line1:"您似乎正在使用 Brave 浏览器并启用了<bold>积极阻止指纹识别</bold>的设置。",line2:"这可能会破坏绘图中的 <bold>文本元素</bold>。",line3:"我们强烈建议禁用此设置。您可以按照<link>这些步骤</link>来设置。",line4:"如果禁用此设置无法修复文本元素的显示,请在 GitHub 上提交一个 <issueLink>issue</issueLink> ,或者在 <discordLink>Discord</discordLink> 上反馈"},libraryElementTypeError:{embeddable:"嵌入的元素不能被添加到素材库。",iframe:"不能将 IFrame 元素添加到素材库中。",image:"我们不久将支持添加图片到素材库"},asyncPasteFailedOnRead:"无法粘贴(无法读取系统剪贴板)。",asyncPasteFailedOnParse:"无法粘贴。",copyToSystemClipboardFailed:"无法复制到剪贴板。"},B={selection:"选择",image:"插入图像",rectangle:"矩形",diamond:"菱形",ellipse:"椭圆",arrow:"箭头",line:"线条",freedraw:"自由书写",text:"文字",library:"素材库",lock:"绘制后保持所选的工具栏状态",penMode:"笔模式 – 避免误触",link:"为选中的形状添加/更新链接",eraser:"橡皮",frame:"画框工具",magicframe:"线框图至代码",embeddable:"嵌入网页",laser:"激光笔",hand:"抓手(平移工具)",extraTools:"更多工具",mermaidToExcalidraw:"Mermaid 至 Excalidraw",magicSettings:"AI 设置"},C={canvasActions:"画布动作",selectedShapeActions:"选定形状操作",shapes:"形状"},r={canvasPanning:"要移动画布,请按住鼠标滚轮或空格键同时拖拽鼠标,或使用抓手工具。",linearElement:"点击创建多个点 拖动创建直线",freeDraw:"点击并拖动,完成时松开",text:"提示:您也可以使用选择工具双击任意位置来添加文字",embeddable:"点击并拖动以创建嵌入网页",text_selected:"双击或按回车键以编辑文本",text_editing:"按下 Escape 或 CtrlOrCmd+ENTER 完成编辑",linearElementMulti:"点击最后一个点或按下 Esc/Enter 来完成",lockAngle:"可以按住 Shift 来约束角度",resize:`您可以按住SHIFT来限制比例大小,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const h=require("./layers.D9txdRbL.js"),K=require("./layers.CUHhS-nd.js"),it=require("./layers.CAjyxSiU.js"),nt=(e,t,a,i)=>{t.forEach(l=>{xt[l](e,a,i)})},lt=(e,t,a)=>{h.log$1.trace("Making markers for ",a),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},ct=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},ot=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},ht=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},yt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},ft=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},gt=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},pt=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},dt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},xt={extension:lt,composition:ct,aggregation:ot,dependency:ht,lollipop:yt,point:ft,circle:gt,cross:pt,barb:dt},ut=nt;function bt(e,t){t&&e.attr("style",t)}function wt(e){const t=h.select(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),a=t.append("xhtml:div"),i=e.label,l=e.isNode?"nodeLabel":"edgeLabel";return a.html('<span class="'+l+'" '+(e.labelStyle?'style="'+e.labelStyle+'"':"")+">"+i+"</span>"),bt(a,e.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap"),a.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}const mt=(e,t,a,i)=>{let l=e||"";if(typeof l=="object"&&(l=l[0]),h.evaluate(h.getConfig().flowchart.htmlLabels)){l=l.replace(/\\n|\n/g,"<br />"),h.log$1.debug("vertexText"+l);const r={isNode:i,label:h.decodeEntities(l).replace(/fa[blrs]?:fa-[\w-]+/g,n=>`<i class='${n.replace(":"," ")}'></i>`),labelStyle:t.replace("fill:","color:")};return wt(r)}else{const r=document.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("style",t.replace("color:","fill:"));let s=[];typeof l=="string"?s=l.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(l)?s=l:s=[];for(const n of s){const c=document.createElementNS("http://www.w3.org/2000/svg","tspan");c.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),c.setAttribute("dy","1em"),c.setAttribute("x","0"),a?c.setAttribute("class","title-row"):c.setAttribute("class","row"),c.textContent=n.trim(),r.appendChild(c)}return r}},B=mt,L=async(e,t,a,i)=>{let l;const r=t.useHtmlLabels||h.evaluate(h.getConfig().flowchart.htmlLabels);a?l=a:l="node default";const s=e.insert("g").attr("class",l).attr("id",t.domId||t.id),n=s.insert("g").attr("class","label").attr("style",t.labelStyle);let c;t.labelText===void 0?c="":c=typeof t.labelText=="string"?t.labelText:t.labelText[0];const y=n.node();let o;t.labelType==="markdown"?o=K.createText(n,h.sanitizeText$2(h.decodeEntities(c),h.getConfig()),{useHtmlLabels:r,width:t.width||h.getConfig().flowchart.wrappingWidth,classes:"markdown-node-label"}):o=y.appendChild(B(h.sanitizeText$2(h.decodeEntities(c),h.getConfig()),t.labelStyle,!1,i));let f=o.getBBox();const p=t.padding/2;if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const g=o.children[0],x=h.select(o),m=g.getElementsByTagName("img");if(m){const d=c.replace(/<img[^>]*>/g,"").trim()==="";await Promise.all([...m].map(u=>new Promise(S=>{function C(){if(u.style.display="flex",u.style.flexDirection="column",d){const M=h.getConfig().fontSize?h.getConfig().fontSize:window.getComputedStyle(document.body).fontSize,W=parseInt(M,10)*5+"px";u.style.minWidth=W,u.style.maxWidth=W}else u.style.width="100%";S(u)}setTimeout(()=>{u.complete&&C()}),u.addEventListener("error",C),u.addEventListener("load",C)})))}f=g.getBoundingClientRect(),x.attr("width",f.width),x.attr("height",f.height)}return r?n.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"):n.attr("transform","translate(0, "+-f.height/2+")"),t.centerLabel&&n.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:s,bbox:f,halfPadding:p,label:n}},w=(e,t)=>{const a=t.node().getBBox();e.width=a.width,e.height=a.height};function _(e,t,a,i){return e.insert("polygon",":first-child").attr("points",i.map(function(l){return l.x+","+l.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+a/2+")")}function kt(e,t){return e.intersect(t)}function P(e,t,a,i){var l=e.x,r=e.y,s=l-i.x,n=r-i.y,c=Math.sqrt(t*t*n*n+a*a*s*s),y=Math.abs(t*a*s/c);i.x<l&&(y=-y);var o=Math.abs(t*a*n/c);return i.y<r&&(o=-o),{x:l+y,y:r+o}}function vt(e,t,a){return P(e,t,t,a)}function Lt(e,t,a,i){var l,r,s,n,c,y,o,f,p,g,x,m,d,u,S;if(l=t.y-e.y,s=e.x-t.x,c=t.x*e.y-e.x*t.y,p=l*a.x+s*a.y+c,g=l*i.x+s*i.y+c,!(p!==0&&g!==0&&G(p,g))&&(r=i.y-a.y,n=a.x-i.x,y=i.x*a.y-a.x*i.y,o=r*e.x+n*e.y+y,f=r*t.x+n*t.y+y,!(o!==0&&f!==0&&G(o,f))&&(x=l*n-r*s,x!==0)))return m=Math.abs(x/2),d=s*y-n*c,u=d<0?(d-m)/x:(d+m)/x,d=r*c-l*y,S=d<0?(d-m)/x:(d+m)/x,{x:u,y:S}}function G(e,t){return e*t>0}function St(e,t,a){var i=e.x,l=e.y,r=[],s=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(x){s=Math.min(s,x.x),n=Math.min(n,x.y)}):(s=Math.min(s,t.x),n=Math.min(n,t.y));for(var c=i-e.width/2-s,y=l-e.height/2-n,o=0;o<t.length;o++){var f=t[o],p=t[o<t.length-1?o+1:0],g=Lt(e,a,{x:c+f.x,y:y+f.y},{x:c+p.x,y:y+p.y});g&&r.push(g)}return r.length?(r.length>1&&r.sort(function(x,m){var d=x.x-a.x,u=x.y-a.y,S=Math.sqrt(d*d+u*u),C=m.x-a.x,M=m.y-a.y,I=Math.sqrt(C*C+M*M);return S<I?-1:S===I?0:1}),r[0]):e}const $t=(e,t)=>{var a=e.x,i=e.y,l=t.x-a,r=t.y-i,s=e.width/2,n=e.height/2,c,y;return Math.abs(r)*s>Math.abs(l)*n?(r<0&&(n=-n),c=r===0?0:n*l/r,y=n):(l<0&&(s=-s),c=s,y=l===0?0:s*r/l),{x:a+c,y:i+y}},tt=$t,b={node:kt,circle:vt,ellipse:P,polygon:St,rect:tt},Ct=async(e,t)=>{t.useHtmlLabels||h.getConfig().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:i,bbox:l,halfPadding:r}=await L(e,t,"node "+t.classes,!0);h.log$1.info("Classes = ",t.classes);const s=i.insert("rect",":first-child");return s.attr("rx",t.rx).attr("ry",t.ry).attr("x",-l.width/2-r).attr("y",-l.height/2-r).attr("width",l.width+t.padding).attr("height",l.height+t.padding),w(t,s),t.intersect=function(n){return b.rect(t,n)},i},Mt=Ct,Tt=e=>{const t=new Set;for(const a of e)switch(a){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(a);break}return t},Bt=(e,t,a)=>{const i=Tt(e),l=2,r=t.height+2*a.padding,s=r/l,n=t.width+2*s+a.padding,c=a.padding/2;return i.has("right")&&i.has("left")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:s,y:0},{x:n/2,y:2*c},{x:n-s,y:0},{x:n,y:0},{x:n,y:-r/3},{x:n+2*c,y:-r/2},{x:n,y:-2*r/3},{x:n,y:-r},{x:n-s,y:-r},{x:n/2,y:-r-2*c},{x:s,y:-r},{x:0,y:-r},{x:0,y:-2*r/3},{x:-2*c,y:-r/2},{x:0,y:-r/3}]:i.has("right")&&i.has("left")&&i.has("up")?[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}]:i.has("right")&&i.has("left")&&i.has("down")?[{x:0,y:0},{x:s,y:-r},{x:n-s,y:-r},{x:n,y:0}]:i.has("right")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:n,y:-s},{x:n,y:-r+s},{x:0,y:-r}]:i.has("left")&&i.has("up")&&i.has("down")?[{x:n,y:0},{x:0,y:-s},{x:0,y:-r+s},{x:n,y:-r}]:i.has("right")&&i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")&&i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:i.has("right")&&i.has("up")?[{x:0,y:0},{x:n,y:-s},{x:0,y:-r}]:i.has("right")&&i.has("down")?[{x:0,y:0},{x:n,y:0},{x:0,y:-r}]:i.has("left")&&i.has("up")?[{x:n,y:0},{x:0,y:-s},{x:n,y:-r}]:i.has("left")&&i.has("down")?[{x:n,y:0},{x:0,y:0},{x:n,y:-r}]:i.has("right")?[{x:s,y:-c},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r+c}]:i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")?[{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c}]:i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:[{x:0,y:0}]},Z=e=>e?" "+e:"",E=(e,t)=>`node default${Z(e.classes)} ${Z(e.class)}`,F=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=l+r,n=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];h.log$1.info("Question main (Circle)");const c=_(a,s,s,n);return c.attr("style",t.style),w(t,c),t.intersect=function(y){return h.log$1.warn("Intersect called"),b.polygon(t,n,y)},a},Et=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=28,l=[{x:0,y:i/2},{x:i/2,y:0},{x:0,y:-i/2},{x:-i/2,y:0}];return a.insert("polygon",":first-child").attr("points",l.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(s){return b.circle(t,14,s)},a},_t=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=4,r=i.height+t.padding,s=r/l,n=i.width+2*s+t.padding,c=[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}],y=_(a,n,r,c);return y.attr("style",t.style),w(t,y),t.intersect=function(o){return b.polygon(t,c,o)},a},Nt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,void 0,!0),l=2,r=i.height+2*t.padding,s=r/l,n=i.width+2*s+t.padding,c=Bt(t.directions,i,t),y=_(a,n,r,c);return y.attr("style",t.style),w(t,y),t.intersect=function(o){return b.polygon(t,c,o)},a},Rt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-r/2,y:0},{x:l,y:0},{x:l,y:-r},{x:-r/2,y:-r},{x:0,y:-r/2}];return _(a,l,r,s).attr("style",t.style),t.width=l+r,t.height=r,t.intersect=function(c){return b.polygon(t,s,c)},a},Ht=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:r/6,y:-r}],n=_(a,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},a},It=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:2*r/6,y:0},{x:l+r/6,y:0},{x:l-2*r/6,y:-r},{x:-r/6,y:-r}],n=_(a,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},a},Ot=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l+2*r/6,y:0},{x:l-r/6,y:-r},{x:r/6,y:-r}],n=_(a,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},a},Wt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:-2*r/6,y:-r}],n=_(a,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},a},Xt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l+r/2,y:0},{x:l,y:-r/2},{x:l+r/2,y:-r},{x:0,y:-r}],n=_(a,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},a},Yt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.width+t.padding,r=l/2,s=r/(2.5+l/50),n=i.height+s+t.padding,c="M 0,"+s+" a "+r+","+s+" 0,0,0 "+l+" 0 a "+r+","+s+" 0,0,0 "+-l+" 0 l 0,"+n+" a "+r+","+s+" 0,0,0 "+l+" 0 l 0,"+-n,y=a.attr("label-offset-y",s).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-l/2+","+-(n/2+s)+")");return w(t,y),t.intersect=function(o){const f=b.rect(t,o),p=f.x-t.x;if(r!=0&&(Math.abs(p)<t.width/2||Math.abs(p)==t.width/2&&Math.abs(f.y-t.y)>t.height/2-s)){let g=s*s*(1-p*p/(r*r));g!=0&&(g=Math.sqrt(g)),g=s-g,o.y-t.y>0&&(g=-g),f.y+=g}return f},a},Dt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await L(e,t,"node "+t.classes+" "+t.class,!0),r=a.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,y=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",y).attr("width",s).attr("height",n),t.props){const o=new Set(Object.keys(t.props));t.props.borders&&(z(r,t.props.borders,s,n),o.delete("borders")),o.forEach(f=>{h.log$1.warn(`Unknown node property ${f}`)})}return w(t,r),t.intersect=function(o){return b.rect(t,o)},a},At=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await L(e,t,"node "+t.classes,!0),r=a.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,y=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",y).attr("width",s).attr("height",n),t.props){const o=new Set(Object.keys(t.props));t.props.borders&&(z(r,t.props.borders,s,n),o.delete("borders")),o.forEach(f=>{h.log$1.warn(`Unknown node property ${f}`)})}return w(t,r),t.intersect=function(o){return b.rect(t,o)},a},jt=async(e,t)=>{const{shapeSvg:a}=await L(e,t,"label",!0);h.log$1.trace("Classes = ",t.class);const i=a.insert("rect",":first-child"),l=0,r=0;if(i.attr("width",l).attr("height",r),a.attr("class","label edgeLabel"),t.props){const s=new Set(Object.keys(t.props));t.props.borders&&(z(i,t.props.borders,l,r),s.delete("borders")),s.forEach(n=>{h.log$1.warn(`Unknown node property ${n}`)})}return w(t,i),t.intersect=function(s){return b.rect(t,s)},a};function z(e,t,a,i){const l=[],r=n=>{l.push(n,0)},s=n=>{l.push(0,n)};t.includes("t")?(h.log$1.debug("add top border"),r(a)):s(a),t.includes("r")?(h.log$1.debug("add right border"),r(i)):s(i),t.includes("b")?(h.log$1.debug("add bottom border"),r(a)):s(a),t.includes("l")?(h.log$1.debug("add left border"),r(i)):s(i),e.attr("stroke-dasharray",l.join(" "))}const Ut=(e,t)=>{let a;t.classes?a="node "+t.classes:a="node default";const i=e.insert("g").attr("class",a).attr("id",t.domId||t.id),l=i.insert("rect",":first-child"),r=i.insert("line"),s=i.insert("g").attr("class","label"),n=t.labelText.flat?t.labelText.flat():t.labelText;let c="";typeof n=="object"?c=n[0]:c=n,h.log$1.info("Label text abc79",c,n,typeof n=="object");const y=s.node().appendChild(B(c,t.labelStyle,!0,!0));let o={width:0,height:0};if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const m=y.children[0],d=h.select(y);o=m.getBoundingClientRect(),d.attr("width",o.width),d.attr("height",o.height)}h.log$1.info("Text 2",n);const f=n.slice(1,n.length);let p=y.getBBox();const g=s.node().appendChild(B(f.join?f.join("<br/>"):f,t.labelStyle,!0,!0));if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const m=g.children[0],d=h.select(g);o=m.getBoundingClientRect(),d.attr("width",o.width),d.attr("height",o.height)}const x=t.padding/2;return h.select(g).attr("transform","translate( "+(o.width>p.width?0:(p.width-o.width)/2)+", "+(p.height+x+5)+")"),h.select(y).attr("transform","translate( "+(o.width<p.width?0:-(p.width-o.width)/2)+", 0)"),o=s.node().getBBox(),s.attr("transform","translate("+-o.width/2+", "+(-o.height/2-x+3)+")"),l.attr("class","outer title-state").attr("x",-o.width/2-x).attr("y",-o.height/2-x).attr("width",o.width+t.padding).attr("height",o.height+t.padding),r.attr("class","divider").attr("x1",-o.width/2-x).attr("x2",o.width/2+x).attr("y1",-o.height/2-x+p.height+x).attr("y2",-o.height/2-x+p.height+x),w(t,l),t.intersect=function(m){return b.rect(t,m)},i},zt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.height+t.padding,r=i.width+l/4+t.padding,s=a.insert("rect",":first-child").attr("style",t.style).attr("rx",l/2).attr("ry",l/2).attr("x",-r/2).attr("y",-l/2).attr("width",r).attr("height",l);return w(t,s),t.intersect=function(n){return b.rect(t,n)},a},Gt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await L(e,t,E(t),!0),r=a.insert("circle",":first-child");return r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),h.log$1.info("Circle main"),w(t,r),t.intersect=function(s){return h.log$1.info("Circle intersect",t,i.width/2+l,s),b.circle(t,i.width/2+l,s)},a},Zt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await L(e,t,E(t),!0),r=5,s=a.insert("g",":first-child"),n=s.insert("circle"),c=s.insert("circle");return s.attr("class",t.class),n.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l+r).attr("width",i.width+t.padding+r*2).attr("height",i.height+t.padding+r*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),h.log$1.info("DoubleCircle main"),w(t,n),t.intersect=function(y){return h.log$1.info("DoubleCircle intersect",t,i.width/2+l+r,y),b.circle(t,i.width/2+l+r,y)},a},Ft=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l,y:0},{x:l,y:-r},{x:0,y:-r},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-r},{x:-8,y:-r},{x:-8,y:0}],n=_(a,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},a},qt=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),w(t,i),t.intersect=function(l){return b.circle(t,7,l)},a},q=(e,t,a)=>{const i=e.insert("g").attr("class","node default").attr("id",t.domId||t.id);let l=70,r=10;a==="LR"&&(l=10,r=70);const s=i.append("rect").attr("x",-1*l/2).attr("y",-1*r/2).attr("width",l).attr("height",r).attr("class","fork-join");return w(t,s),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(n){return b.rect(t,n)},i},Qt=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child"),l=a.insert("circle",":first-child");return l.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),i.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),w(t,l),t.intersect=function(r){return b.circle(t,7,r)},a},Vt=(e,t)=>{const a=t.padding/2,i=4,l=8;let r;t.classes?r="node "+t.classes:r="node default";const s=e.insert("g").attr("class",r).attr("id",t.domId||t.id),n=s.insert("rect",":first-child"),c=s.insert("line"),y=s.insert("line");let o=0,f=i;const p=s.insert("g").attr("class","label");let g=0;const x=t.classData.annotations&&t.classData.annotations[0],m=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",d=p.node().appendChild(B(m,t.labelStyle,!0,!0));let u=d.getBBox();if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const k=d.children[0],v=h.select(d);u=k.getBoundingClientRect(),v.attr("width",u.width),v.attr("height",u.height)}t.classData.annotations[0]&&(f+=u.height+i,o+=u.width);let S=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(h.getConfig().flowchart.htmlLabels?S+="<"+t.classData.type+">":S+="<"+t.classData.type+">");const C=p.node().appendChild(B(S,t.labelStyle,!0,!0));h.select(C).attr("class","classTitle");let M=C.getBBox();if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const k=C.children[0],v=h.select(C);M=k.getBoundingClientRect(),v.attr("width",M.width),v.attr("height",M.height)}f+=M.height+i,M.width>o&&(o=M.width);const I=[];t.classData.members.forEach(k=>{const v=k.getDisplayDetails();let H=v.displayText;h.getConfig().flowchart.htmlLabels&&(H=H.replace(/</g,"<").replace(/>/g,">"));const N=p.node().appendChild(B(H,v.cssStyle?v.cssStyle:t.labelStyle,!0,!0));let T=N.getBBox();if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const U=N.children[0],X=h.select(N);T=U.getBoundingClientRect(),X.attr("width",T.width),X.attr("height",T.height)}T.width>o&&(o=T.width),f+=T.height+i,I.push(N)}),f+=l;const W=[];if(t.classData.methods.forEach(k=>{const v=k.getDisplayDetails();let H=v.displayText;h.getConfig().flowchart.htmlLabels&&(H=H.replace(/</g,"<").replace(/>/g,">"));const N=p.node().appendChild(B(H,v.cssStyle?v.cssStyle:t.labelStyle,!0,!0));let T=N.getBBox();if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const U=N.children[0],X=h.select(N);T=U.getBoundingClientRect(),X.attr("width",T.width),X.attr("height",T.height)}T.width>o&&(o=T.width),f+=T.height+i,W.push(N)}),f+=l,x){let k=(o-u.width)/2;h.select(d).attr("transform","translate( "+(-1*o/2+k)+", "+-1*f/2+")"),g=u.height+i}let st=(o-M.width)/2;return h.select(C).attr("transform","translate( "+(-1*o/2+st)+", "+(-1*f/2+g)+")"),g+=M.height+i,c.attr("class","divider").attr("x1",-o/2-a).attr("x2",o/2+a).attr("y1",-f/2-a+l+g).attr("y2",-f/2-a+l+g),g+=l,I.forEach(k=>{h.select(k).attr("transform","translate( "+-o/2+", "+(-1*f/2+g+l/2)+")");const v=k==null?void 0:k.getBBox();g+=((v==null?void 0:v.height)??0)+i}),g+=l,y.attr("class","divider").attr("x1",-o/2-a).attr("x2",o/2+a).attr("y1",-f/2-a+l+g).attr("y2",-f/2-a+l+g),g+=l,W.forEach(k=>{h.select(k).attr("transform","translate( "+-o/2+", "+(-1*f/2+g)+")");const v=k==null?void 0:k.getBBox();g+=((v==null?void 0:v.height)??0)+i}),n.attr("style",t.style).attr("class","outer title-state").attr("x",-o/2-a).attr("y",-(f/2)-a).attr("width",o+t.padding).attr("height",f+t.padding),w(t,n),t.intersect=function(k){return b.rect(t,k)},s},Q={rhombus:F,composite:At,question:F,rect:Dt,labelRect:jt,rectWithTitle:Ut,choice:Et,circle:Gt,doublecircle:Zt,stadium:zt,hexagon:_t,block_arrow:Nt,rect_left_inv_arrow:Rt,lean_right:Ht,lean_left:It,trapezoid:Ot,inv_trapezoid:Wt,rect_right_inv_arrow:Xt,cylinder:Yt,start:qt,end:Qt,note:Mt,subroutine:Ft,fork:q,join:q,class_box:Vt};let O={};const Jt=async(e,t,a)=>{let i,l;if(t.link){let r;h.getConfig().securityLevel==="sandbox"?r="_top":t.linkTarget&&(r=t.linkTarget||"_blank"),i=e.insert("svg:a").attr("xlink:href",t.link).attr("target",r),l=await Q[t.shape](i,t,a)}else l=await Q[t.shape](e,t,a),i=l;return t.tooltip&&l.attr("title",t.tooltip),t.class&&l.attr("class","node default "+t.class),i.attr("data-node","true"),i.attr("data-id",t.id),O[t.id]=i,t.haveCallback&&O[t.id].attr("class",O[t.id].attr("class")+" clickable"),i},Kt=(e,t)=>{O[t.id]=e},Pt=()=>{O={}},tr=e=>{const t=O[e.id];h.log$1.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")");const a=8,i=e.diff||0;return e.clusterNode?t.attr("transform","translate("+(e.x+i-e.width/2)+", "+(e.y-e.height/2-a)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),i},rt=({flowchart:e})=>{var t,a;const i=((t=e==null?void 0:e.subGraphTitleMargin)==null?void 0:t.top)??0,l=((a=e==null?void 0:e.subGraphTitleMargin)==null?void 0:a.bottom)??0,r=i+l;return{subGraphTitleTopMargin:i,subGraphTitleBottomMargin:l,subGraphTitleTotalMargin:r}},R={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function Y(e,t){if(e===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};e=A(e),t=A(t);const[a,i]=[e.x,e.y],[l,r]=[t.x,t.y],s=l-a,n=r-i;return{angle:Math.atan(n/s),deltaX:s,deltaY:n}}const A=e=>Array.isArray(e)?{x:e[0],y:e[1]}:e,at=e=>({x:function(t,a,i){let l=0;if(a===0&&Object.hasOwn(R,e.arrowTypeStart)){const{angle:r,deltaX:s}=Y(i[0],i[1]);l=R[e.arrowTypeStart]*Math.cos(r)*(s>=0?1:-1)}else if(a===i.length-1&&Object.hasOwn(R,e.arrowTypeEnd)){const{angle:r,deltaX:s}=Y(i[i.length-1],i[i.length-2]);l=R[e.arrowTypeEnd]*Math.cos(r)*(s>=0?1:-1)}return A(t).x+l},y:function(t,a,i){let l=0;if(a===0&&Object.hasOwn(R,e.arrowTypeStart)){const{angle:r,deltaY:s}=Y(i[0],i[1]);l=R[e.arrowTypeStart]*Math.abs(Math.sin(r))*(s>=0?1:-1)}else if(a===i.length-1&&Object.hasOwn(R,e.arrowTypeEnd)){const{angle:r,deltaY:s}=Y(i[i.length-1],i[i.length-2]);l=R[e.arrowTypeEnd]*Math.abs(Math.sin(r))*(s>=0?1:-1)}return A(t).y+l}}),et=(e,t,a,i,l)=>{t.arrowTypeStart&&V(e,"start",t.arrowTypeStart,a,i,l),t.arrowTypeEnd&&V(e,"end",t.arrowTypeEnd,a,i,l)},rr={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},V=(e,t,a,i,l,r)=>{const s=rr[a];if(!s){h.log$1.warn(`Unknown arrow type: ${a}`);return}const n=t==="start"?"Start":"End";e.attr(`marker-${t}`,`url(${i}#${l}_${r}-${s}${n})`)};let j={},$={};const ar=()=>{j={},$={}},er=(e,t)=>{const a=h.evaluate(h.getConfig().flowchart.htmlLabels),i=t.labelType==="markdown"?K.createText(e,t.label,{style:t.labelStyle,useHtmlLabels:a,addSvgBackground:!0}):B(t.label,t.labelStyle),l=e.insert("g").attr("class","edgeLabel"),r=l.insert("g").attr("class","label");r.node().appendChild(i);let s=i.getBBox();if(a){const c=i.children[0],y=h.select(i);s=c.getBoundingClientRect(),y.attr("width",s.width),y.attr("height",s.height)}r.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),j[t.id]=l,t.width=s.width,t.height=s.height;let n;if(t.startLabelLeft){const c=B(t.startLabelLeft,t.labelStyle),y=e.insert("g").attr("class","edgeTerminals"),o=y.insert("g").attr("class","inner");n=o.node().appendChild(c);const f=c.getBBox();o.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),$[t.id]||($[t.id]={}),$[t.id].startLeft=y,D(n,t.startLabelLeft)}if(t.startLabelRight){const c=B(t.startLabelRight,t.labelStyle),y=e.insert("g").attr("class","edgeTerminals"),o=y.insert("g").attr("class","inner");n=y.node().appendChild(c),o.node().appendChild(c);const f=c.getBBox();o.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),$[t.id]||($[t.id]={}),$[t.id].startRight=y,D(n,t.startLabelRight)}if(t.endLabelLeft){const c=B(t.endLabelLeft,t.labelStyle),y=e.insert("g").attr("class","edgeTerminals"),o=y.insert("g").attr("class","inner");n=o.node().appendChild(c);const f=c.getBBox();o.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),y.node().appendChild(c),$[t.id]||($[t.id]={}),$[t.id].endLeft=y,D(n,t.endLabelLeft)}if(t.endLabelRight){const c=B(t.endLabelRight,t.labelStyle),y=e.insert("g").attr("class","edgeTerminals"),o=y.insert("g").attr("class","inner");n=o.node().appendChild(c);const f=c.getBBox();o.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),y.node().appendChild(c),$[t.id]||($[t.id]={}),$[t.id].endRight=y,D(n,t.endLabelRight)}return i};function D(e,t){h.getConfig().flowchart.htmlLabels&&e&&(e.style.width=t.length*9+"px",e.style.height="12px")}const sr=(e,t)=>{h.log$1.debug("Moving label abc88 ",e.id,e.label,j[e.id],t);let a=t.updatedPath?t.updatedPath:t.originalPath;const i=h.getConfig(),{subGraphTitleTotalMargin:l}=rt(i);if(e.label){const r=j[e.id];let s=e.x,n=e.y;if(a){const c=h.utils.calcLabelPosition(a);h.log$1.debug("Moving label "+e.label+" from (",s,",",n,") to (",c.x,",",c.y,") abc88"),t.updatedPath&&(s=c.x,n=c.y)}r.attr("transform",`translate(${s}, ${n+l/2})`)}if(e.startLabelLeft){const r=$[e.id].startLeft;let s=e.x,n=e.y;if(a){const c=h.utils.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.startLabelRight){const r=$[e.id].startRight;let s=e.x,n=e.y;if(a){const c=h.utils.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.endLabelLeft){const r=$[e.id].endLeft;let s=e.x,n=e.y;if(a){const c=h.utils.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.endLabelRight){const r=$[e.id].endRight;let s=e.x,n=e.y;if(a){const c=h.utils.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}},ir=(e,t)=>{const a=e.x,i=e.y,l=Math.abs(t.x-a),r=Math.abs(t.y-i),s=e.width/2,n=e.height/2;return l>=s||r>=n},nr=(e,t,a)=>{h.log$1.debug(`intersection calc abc89:
|
|
1
|
+
"use strict";const h=require("./layers.DpXgJ1hq.js"),K=require("./layers.iUPauFZz.js"),it=require("./layers.Cn4i2tOe.js"),nt=(e,t,a,i)=>{t.forEach(l=>{xt[l](e,a,i)})},lt=(e,t,a)=>{h.log$1.trace("Making markers for ",a),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},ct=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},ot=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},ht=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},yt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},ft=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},gt=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},pt=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},dt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},xt={extension:lt,composition:ct,aggregation:ot,dependency:ht,lollipop:yt,point:ft,circle:gt,cross:pt,barb:dt},ut=nt;function bt(e,t){t&&e.attr("style",t)}function wt(e){const t=h.select(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),a=t.append("xhtml:div"),i=e.label,l=e.isNode?"nodeLabel":"edgeLabel";return a.html('<span class="'+l+'" '+(e.labelStyle?'style="'+e.labelStyle+'"':"")+">"+i+"</span>"),bt(a,e.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap"),a.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}const mt=(e,t,a,i)=>{let l=e||"";if(typeof l=="object"&&(l=l[0]),h.evaluate(h.getConfig().flowchart.htmlLabels)){l=l.replace(/\\n|\n/g,"<br />"),h.log$1.debug("vertexText"+l);const r={isNode:i,label:h.decodeEntities(l).replace(/fa[blrs]?:fa-[\w-]+/g,n=>`<i class='${n.replace(":"," ")}'></i>`),labelStyle:t.replace("fill:","color:")};return wt(r)}else{const r=document.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("style",t.replace("color:","fill:"));let s=[];typeof l=="string"?s=l.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(l)?s=l:s=[];for(const n of s){const c=document.createElementNS("http://www.w3.org/2000/svg","tspan");c.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),c.setAttribute("dy","1em"),c.setAttribute("x","0"),a?c.setAttribute("class","title-row"):c.setAttribute("class","row"),c.textContent=n.trim(),r.appendChild(c)}return r}},B=mt,L=async(e,t,a,i)=>{let l;const r=t.useHtmlLabels||h.evaluate(h.getConfig().flowchart.htmlLabels);a?l=a:l="node default";const s=e.insert("g").attr("class",l).attr("id",t.domId||t.id),n=s.insert("g").attr("class","label").attr("style",t.labelStyle);let c;t.labelText===void 0?c="":c=typeof t.labelText=="string"?t.labelText:t.labelText[0];const y=n.node();let o;t.labelType==="markdown"?o=K.createText(n,h.sanitizeText$2(h.decodeEntities(c),h.getConfig()),{useHtmlLabels:r,width:t.width||h.getConfig().flowchart.wrappingWidth,classes:"markdown-node-label"}):o=y.appendChild(B(h.sanitizeText$2(h.decodeEntities(c),h.getConfig()),t.labelStyle,!1,i));let f=o.getBBox();const p=t.padding/2;if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const g=o.children[0],x=h.select(o),m=g.getElementsByTagName("img");if(m){const d=c.replace(/<img[^>]*>/g,"").trim()==="";await Promise.all([...m].map(u=>new Promise(S=>{function C(){if(u.style.display="flex",u.style.flexDirection="column",d){const M=h.getConfig().fontSize?h.getConfig().fontSize:window.getComputedStyle(document.body).fontSize,W=parseInt(M,10)*5+"px";u.style.minWidth=W,u.style.maxWidth=W}else u.style.width="100%";S(u)}setTimeout(()=>{u.complete&&C()}),u.addEventListener("error",C),u.addEventListener("load",C)})))}f=g.getBoundingClientRect(),x.attr("width",f.width),x.attr("height",f.height)}return r?n.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"):n.attr("transform","translate(0, "+-f.height/2+")"),t.centerLabel&&n.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:s,bbox:f,halfPadding:p,label:n}},w=(e,t)=>{const a=t.node().getBBox();e.width=a.width,e.height=a.height};function _(e,t,a,i){return e.insert("polygon",":first-child").attr("points",i.map(function(l){return l.x+","+l.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+a/2+")")}function kt(e,t){return e.intersect(t)}function P(e,t,a,i){var l=e.x,r=e.y,s=l-i.x,n=r-i.y,c=Math.sqrt(t*t*n*n+a*a*s*s),y=Math.abs(t*a*s/c);i.x<l&&(y=-y);var o=Math.abs(t*a*n/c);return i.y<r&&(o=-o),{x:l+y,y:r+o}}function vt(e,t,a){return P(e,t,t,a)}function Lt(e,t,a,i){var l,r,s,n,c,y,o,f,p,g,x,m,d,u,S;if(l=t.y-e.y,s=e.x-t.x,c=t.x*e.y-e.x*t.y,p=l*a.x+s*a.y+c,g=l*i.x+s*i.y+c,!(p!==0&&g!==0&&G(p,g))&&(r=i.y-a.y,n=a.x-i.x,y=i.x*a.y-a.x*i.y,o=r*e.x+n*e.y+y,f=r*t.x+n*t.y+y,!(o!==0&&f!==0&&G(o,f))&&(x=l*n-r*s,x!==0)))return m=Math.abs(x/2),d=s*y-n*c,u=d<0?(d-m)/x:(d+m)/x,d=r*c-l*y,S=d<0?(d-m)/x:(d+m)/x,{x:u,y:S}}function G(e,t){return e*t>0}function St(e,t,a){var i=e.x,l=e.y,r=[],s=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(x){s=Math.min(s,x.x),n=Math.min(n,x.y)}):(s=Math.min(s,t.x),n=Math.min(n,t.y));for(var c=i-e.width/2-s,y=l-e.height/2-n,o=0;o<t.length;o++){var f=t[o],p=t[o<t.length-1?o+1:0],g=Lt(e,a,{x:c+f.x,y:y+f.y},{x:c+p.x,y:y+p.y});g&&r.push(g)}return r.length?(r.length>1&&r.sort(function(x,m){var d=x.x-a.x,u=x.y-a.y,S=Math.sqrt(d*d+u*u),C=m.x-a.x,M=m.y-a.y,I=Math.sqrt(C*C+M*M);return S<I?-1:S===I?0:1}),r[0]):e}const $t=(e,t)=>{var a=e.x,i=e.y,l=t.x-a,r=t.y-i,s=e.width/2,n=e.height/2,c,y;return Math.abs(r)*s>Math.abs(l)*n?(r<0&&(n=-n),c=r===0?0:n*l/r,y=n):(l<0&&(s=-s),c=s,y=l===0?0:s*r/l),{x:a+c,y:i+y}},tt=$t,b={node:kt,circle:vt,ellipse:P,polygon:St,rect:tt},Ct=async(e,t)=>{t.useHtmlLabels||h.getConfig().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:i,bbox:l,halfPadding:r}=await L(e,t,"node "+t.classes,!0);h.log$1.info("Classes = ",t.classes);const s=i.insert("rect",":first-child");return s.attr("rx",t.rx).attr("ry",t.ry).attr("x",-l.width/2-r).attr("y",-l.height/2-r).attr("width",l.width+t.padding).attr("height",l.height+t.padding),w(t,s),t.intersect=function(n){return b.rect(t,n)},i},Mt=Ct,Tt=e=>{const t=new Set;for(const a of e)switch(a){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(a);break}return t},Bt=(e,t,a)=>{const i=Tt(e),l=2,r=t.height+2*a.padding,s=r/l,n=t.width+2*s+a.padding,c=a.padding/2;return i.has("right")&&i.has("left")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:s,y:0},{x:n/2,y:2*c},{x:n-s,y:0},{x:n,y:0},{x:n,y:-r/3},{x:n+2*c,y:-r/2},{x:n,y:-2*r/3},{x:n,y:-r},{x:n-s,y:-r},{x:n/2,y:-r-2*c},{x:s,y:-r},{x:0,y:-r},{x:0,y:-2*r/3},{x:-2*c,y:-r/2},{x:0,y:-r/3}]:i.has("right")&&i.has("left")&&i.has("up")?[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}]:i.has("right")&&i.has("left")&&i.has("down")?[{x:0,y:0},{x:s,y:-r},{x:n-s,y:-r},{x:n,y:0}]:i.has("right")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:n,y:-s},{x:n,y:-r+s},{x:0,y:-r}]:i.has("left")&&i.has("up")&&i.has("down")?[{x:n,y:0},{x:0,y:-s},{x:0,y:-r+s},{x:n,y:-r}]:i.has("right")&&i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")&&i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:i.has("right")&&i.has("up")?[{x:0,y:0},{x:n,y:-s},{x:0,y:-r}]:i.has("right")&&i.has("down")?[{x:0,y:0},{x:n,y:0},{x:0,y:-r}]:i.has("left")&&i.has("up")?[{x:n,y:0},{x:0,y:-s},{x:n,y:-r}]:i.has("left")&&i.has("down")?[{x:n,y:0},{x:0,y:0},{x:n,y:-r}]:i.has("right")?[{x:s,y:-c},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r+c}]:i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")?[{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c}]:i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:[{x:0,y:0}]},Z=e=>e?" "+e:"",E=(e,t)=>`node default${Z(e.classes)} ${Z(e.class)}`,F=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=l+r,n=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];h.log$1.info("Question main (Circle)");const c=_(a,s,s,n);return c.attr("style",t.style),w(t,c),t.intersect=function(y){return h.log$1.warn("Intersect called"),b.polygon(t,n,y)},a},Et=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=28,l=[{x:0,y:i/2},{x:i/2,y:0},{x:0,y:-i/2},{x:-i/2,y:0}];return a.insert("polygon",":first-child").attr("points",l.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(s){return b.circle(t,14,s)},a},_t=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=4,r=i.height+t.padding,s=r/l,n=i.width+2*s+t.padding,c=[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}],y=_(a,n,r,c);return y.attr("style",t.style),w(t,y),t.intersect=function(o){return b.polygon(t,c,o)},a},Nt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,void 0,!0),l=2,r=i.height+2*t.padding,s=r/l,n=i.width+2*s+t.padding,c=Bt(t.directions,i,t),y=_(a,n,r,c);return y.attr("style",t.style),w(t,y),t.intersect=function(o){return b.polygon(t,c,o)},a},Rt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-r/2,y:0},{x:l,y:0},{x:l,y:-r},{x:-r/2,y:-r},{x:0,y:-r/2}];return _(a,l,r,s).attr("style",t.style),t.width=l+r,t.height=r,t.intersect=function(c){return b.polygon(t,s,c)},a},Ht=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:r/6,y:-r}],n=_(a,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},a},It=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:2*r/6,y:0},{x:l+r/6,y:0},{x:l-2*r/6,y:-r},{x:-r/6,y:-r}],n=_(a,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},a},Ot=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l+2*r/6,y:0},{x:l-r/6,y:-r},{x:r/6,y:-r}],n=_(a,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},a},Wt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:-2*r/6,y:-r}],n=_(a,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},a},Xt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l+r/2,y:0},{x:l,y:-r/2},{x:l+r/2,y:-r},{x:0,y:-r}],n=_(a,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},a},Yt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.width+t.padding,r=l/2,s=r/(2.5+l/50),n=i.height+s+t.padding,c="M 0,"+s+" a "+r+","+s+" 0,0,0 "+l+" 0 a "+r+","+s+" 0,0,0 "+-l+" 0 l 0,"+n+" a "+r+","+s+" 0,0,0 "+l+" 0 l 0,"+-n,y=a.attr("label-offset-y",s).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-l/2+","+-(n/2+s)+")");return w(t,y),t.intersect=function(o){const f=b.rect(t,o),p=f.x-t.x;if(r!=0&&(Math.abs(p)<t.width/2||Math.abs(p)==t.width/2&&Math.abs(f.y-t.y)>t.height/2-s)){let g=s*s*(1-p*p/(r*r));g!=0&&(g=Math.sqrt(g)),g=s-g,o.y-t.y>0&&(g=-g),f.y+=g}return f},a},Dt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await L(e,t,"node "+t.classes+" "+t.class,!0),r=a.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,y=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",y).attr("width",s).attr("height",n),t.props){const o=new Set(Object.keys(t.props));t.props.borders&&(z(r,t.props.borders,s,n),o.delete("borders")),o.forEach(f=>{h.log$1.warn(`Unknown node property ${f}`)})}return w(t,r),t.intersect=function(o){return b.rect(t,o)},a},At=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await L(e,t,"node "+t.classes,!0),r=a.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,y=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",y).attr("width",s).attr("height",n),t.props){const o=new Set(Object.keys(t.props));t.props.borders&&(z(r,t.props.borders,s,n),o.delete("borders")),o.forEach(f=>{h.log$1.warn(`Unknown node property ${f}`)})}return w(t,r),t.intersect=function(o){return b.rect(t,o)},a},jt=async(e,t)=>{const{shapeSvg:a}=await L(e,t,"label",!0);h.log$1.trace("Classes = ",t.class);const i=a.insert("rect",":first-child"),l=0,r=0;if(i.attr("width",l).attr("height",r),a.attr("class","label edgeLabel"),t.props){const s=new Set(Object.keys(t.props));t.props.borders&&(z(i,t.props.borders,l,r),s.delete("borders")),s.forEach(n=>{h.log$1.warn(`Unknown node property ${n}`)})}return w(t,i),t.intersect=function(s){return b.rect(t,s)},a};function z(e,t,a,i){const l=[],r=n=>{l.push(n,0)},s=n=>{l.push(0,n)};t.includes("t")?(h.log$1.debug("add top border"),r(a)):s(a),t.includes("r")?(h.log$1.debug("add right border"),r(i)):s(i),t.includes("b")?(h.log$1.debug("add bottom border"),r(a)):s(a),t.includes("l")?(h.log$1.debug("add left border"),r(i)):s(i),e.attr("stroke-dasharray",l.join(" "))}const Ut=(e,t)=>{let a;t.classes?a="node "+t.classes:a="node default";const i=e.insert("g").attr("class",a).attr("id",t.domId||t.id),l=i.insert("rect",":first-child"),r=i.insert("line"),s=i.insert("g").attr("class","label"),n=t.labelText.flat?t.labelText.flat():t.labelText;let c="";typeof n=="object"?c=n[0]:c=n,h.log$1.info("Label text abc79",c,n,typeof n=="object");const y=s.node().appendChild(B(c,t.labelStyle,!0,!0));let o={width:0,height:0};if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const m=y.children[0],d=h.select(y);o=m.getBoundingClientRect(),d.attr("width",o.width),d.attr("height",o.height)}h.log$1.info("Text 2",n);const f=n.slice(1,n.length);let p=y.getBBox();const g=s.node().appendChild(B(f.join?f.join("<br/>"):f,t.labelStyle,!0,!0));if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const m=g.children[0],d=h.select(g);o=m.getBoundingClientRect(),d.attr("width",o.width),d.attr("height",o.height)}const x=t.padding/2;return h.select(g).attr("transform","translate( "+(o.width>p.width?0:(p.width-o.width)/2)+", "+(p.height+x+5)+")"),h.select(y).attr("transform","translate( "+(o.width<p.width?0:-(p.width-o.width)/2)+", 0)"),o=s.node().getBBox(),s.attr("transform","translate("+-o.width/2+", "+(-o.height/2-x+3)+")"),l.attr("class","outer title-state").attr("x",-o.width/2-x).attr("y",-o.height/2-x).attr("width",o.width+t.padding).attr("height",o.height+t.padding),r.attr("class","divider").attr("x1",-o.width/2-x).attr("x2",o.width/2+x).attr("y1",-o.height/2-x+p.height+x).attr("y2",-o.height/2-x+p.height+x),w(t,l),t.intersect=function(m){return b.rect(t,m)},i},zt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.height+t.padding,r=i.width+l/4+t.padding,s=a.insert("rect",":first-child").attr("style",t.style).attr("rx",l/2).attr("ry",l/2).attr("x",-r/2).attr("y",-l/2).attr("width",r).attr("height",l);return w(t,s),t.intersect=function(n){return b.rect(t,n)},a},Gt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await L(e,t,E(t),!0),r=a.insert("circle",":first-child");return r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),h.log$1.info("Circle main"),w(t,r),t.intersect=function(s){return h.log$1.info("Circle intersect",t,i.width/2+l,s),b.circle(t,i.width/2+l,s)},a},Zt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await L(e,t,E(t),!0),r=5,s=a.insert("g",":first-child"),n=s.insert("circle"),c=s.insert("circle");return s.attr("class",t.class),n.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l+r).attr("width",i.width+t.padding+r*2).attr("height",i.height+t.padding+r*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),h.log$1.info("DoubleCircle main"),w(t,n),t.intersect=function(y){return h.log$1.info("DoubleCircle intersect",t,i.width/2+l+r,y),b.circle(t,i.width/2+l+r,y)},a},Ft=async(e,t)=>{const{shapeSvg:a,bbox:i}=await L(e,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l,y:0},{x:l,y:-r},{x:0,y:-r},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-r},{x:-8,y:-r},{x:-8,y:0}],n=_(a,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},a},qt=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),w(t,i),t.intersect=function(l){return b.circle(t,7,l)},a},q=(e,t,a)=>{const i=e.insert("g").attr("class","node default").attr("id",t.domId||t.id);let l=70,r=10;a==="LR"&&(l=10,r=70);const s=i.append("rect").attr("x",-1*l/2).attr("y",-1*r/2).attr("width",l).attr("height",r).attr("class","fork-join");return w(t,s),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(n){return b.rect(t,n)},i},Qt=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child"),l=a.insert("circle",":first-child");return l.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),i.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),w(t,l),t.intersect=function(r){return b.circle(t,7,r)},a},Vt=(e,t)=>{const a=t.padding/2,i=4,l=8;let r;t.classes?r="node "+t.classes:r="node default";const s=e.insert("g").attr("class",r).attr("id",t.domId||t.id),n=s.insert("rect",":first-child"),c=s.insert("line"),y=s.insert("line");let o=0,f=i;const p=s.insert("g").attr("class","label");let g=0;const x=t.classData.annotations&&t.classData.annotations[0],m=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",d=p.node().appendChild(B(m,t.labelStyle,!0,!0));let u=d.getBBox();if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const k=d.children[0],v=h.select(d);u=k.getBoundingClientRect(),v.attr("width",u.width),v.attr("height",u.height)}t.classData.annotations[0]&&(f+=u.height+i,o+=u.width);let S=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(h.getConfig().flowchart.htmlLabels?S+="<"+t.classData.type+">":S+="<"+t.classData.type+">");const C=p.node().appendChild(B(S,t.labelStyle,!0,!0));h.select(C).attr("class","classTitle");let M=C.getBBox();if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const k=C.children[0],v=h.select(C);M=k.getBoundingClientRect(),v.attr("width",M.width),v.attr("height",M.height)}f+=M.height+i,M.width>o&&(o=M.width);const I=[];t.classData.members.forEach(k=>{const v=k.getDisplayDetails();let H=v.displayText;h.getConfig().flowchart.htmlLabels&&(H=H.replace(/</g,"<").replace(/>/g,">"));const N=p.node().appendChild(B(H,v.cssStyle?v.cssStyle:t.labelStyle,!0,!0));let T=N.getBBox();if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const U=N.children[0],X=h.select(N);T=U.getBoundingClientRect(),X.attr("width",T.width),X.attr("height",T.height)}T.width>o&&(o=T.width),f+=T.height+i,I.push(N)}),f+=l;const W=[];if(t.classData.methods.forEach(k=>{const v=k.getDisplayDetails();let H=v.displayText;h.getConfig().flowchart.htmlLabels&&(H=H.replace(/</g,"<").replace(/>/g,">"));const N=p.node().appendChild(B(H,v.cssStyle?v.cssStyle:t.labelStyle,!0,!0));let T=N.getBBox();if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const U=N.children[0],X=h.select(N);T=U.getBoundingClientRect(),X.attr("width",T.width),X.attr("height",T.height)}T.width>o&&(o=T.width),f+=T.height+i,W.push(N)}),f+=l,x){let k=(o-u.width)/2;h.select(d).attr("transform","translate( "+(-1*o/2+k)+", "+-1*f/2+")"),g=u.height+i}let st=(o-M.width)/2;return h.select(C).attr("transform","translate( "+(-1*o/2+st)+", "+(-1*f/2+g)+")"),g+=M.height+i,c.attr("class","divider").attr("x1",-o/2-a).attr("x2",o/2+a).attr("y1",-f/2-a+l+g).attr("y2",-f/2-a+l+g),g+=l,I.forEach(k=>{h.select(k).attr("transform","translate( "+-o/2+", "+(-1*f/2+g+l/2)+")");const v=k==null?void 0:k.getBBox();g+=((v==null?void 0:v.height)??0)+i}),g+=l,y.attr("class","divider").attr("x1",-o/2-a).attr("x2",o/2+a).attr("y1",-f/2-a+l+g).attr("y2",-f/2-a+l+g),g+=l,W.forEach(k=>{h.select(k).attr("transform","translate( "+-o/2+", "+(-1*f/2+g)+")");const v=k==null?void 0:k.getBBox();g+=((v==null?void 0:v.height)??0)+i}),n.attr("style",t.style).attr("class","outer title-state").attr("x",-o/2-a).attr("y",-(f/2)-a).attr("width",o+t.padding).attr("height",f+t.padding),w(t,n),t.intersect=function(k){return b.rect(t,k)},s},Q={rhombus:F,composite:At,question:F,rect:Dt,labelRect:jt,rectWithTitle:Ut,choice:Et,circle:Gt,doublecircle:Zt,stadium:zt,hexagon:_t,block_arrow:Nt,rect_left_inv_arrow:Rt,lean_right:Ht,lean_left:It,trapezoid:Ot,inv_trapezoid:Wt,rect_right_inv_arrow:Xt,cylinder:Yt,start:qt,end:Qt,note:Mt,subroutine:Ft,fork:q,join:q,class_box:Vt};let O={};const Jt=async(e,t,a)=>{let i,l;if(t.link){let r;h.getConfig().securityLevel==="sandbox"?r="_top":t.linkTarget&&(r=t.linkTarget||"_blank"),i=e.insert("svg:a").attr("xlink:href",t.link).attr("target",r),l=await Q[t.shape](i,t,a)}else l=await Q[t.shape](e,t,a),i=l;return t.tooltip&&l.attr("title",t.tooltip),t.class&&l.attr("class","node default "+t.class),i.attr("data-node","true"),i.attr("data-id",t.id),O[t.id]=i,t.haveCallback&&O[t.id].attr("class",O[t.id].attr("class")+" clickable"),i},Kt=(e,t)=>{O[t.id]=e},Pt=()=>{O={}},tr=e=>{const t=O[e.id];h.log$1.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")");const a=8,i=e.diff||0;return e.clusterNode?t.attr("transform","translate("+(e.x+i-e.width/2)+", "+(e.y-e.height/2-a)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),i},rt=({flowchart:e})=>{var t,a;const i=((t=e==null?void 0:e.subGraphTitleMargin)==null?void 0:t.top)??0,l=((a=e==null?void 0:e.subGraphTitleMargin)==null?void 0:a.bottom)??0,r=i+l;return{subGraphTitleTopMargin:i,subGraphTitleBottomMargin:l,subGraphTitleTotalMargin:r}},R={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function Y(e,t){if(e===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};e=A(e),t=A(t);const[a,i]=[e.x,e.y],[l,r]=[t.x,t.y],s=l-a,n=r-i;return{angle:Math.atan(n/s),deltaX:s,deltaY:n}}const A=e=>Array.isArray(e)?{x:e[0],y:e[1]}:e,at=e=>({x:function(t,a,i){let l=0;if(a===0&&Object.hasOwn(R,e.arrowTypeStart)){const{angle:r,deltaX:s}=Y(i[0],i[1]);l=R[e.arrowTypeStart]*Math.cos(r)*(s>=0?1:-1)}else if(a===i.length-1&&Object.hasOwn(R,e.arrowTypeEnd)){const{angle:r,deltaX:s}=Y(i[i.length-1],i[i.length-2]);l=R[e.arrowTypeEnd]*Math.cos(r)*(s>=0?1:-1)}return A(t).x+l},y:function(t,a,i){let l=0;if(a===0&&Object.hasOwn(R,e.arrowTypeStart)){const{angle:r,deltaY:s}=Y(i[0],i[1]);l=R[e.arrowTypeStart]*Math.abs(Math.sin(r))*(s>=0?1:-1)}else if(a===i.length-1&&Object.hasOwn(R,e.arrowTypeEnd)){const{angle:r,deltaY:s}=Y(i[i.length-1],i[i.length-2]);l=R[e.arrowTypeEnd]*Math.abs(Math.sin(r))*(s>=0?1:-1)}return A(t).y+l}}),et=(e,t,a,i,l)=>{t.arrowTypeStart&&V(e,"start",t.arrowTypeStart,a,i,l),t.arrowTypeEnd&&V(e,"end",t.arrowTypeEnd,a,i,l)},rr={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},V=(e,t,a,i,l,r)=>{const s=rr[a];if(!s){h.log$1.warn(`Unknown arrow type: ${a}`);return}const n=t==="start"?"Start":"End";e.attr(`marker-${t}`,`url(${i}#${l}_${r}-${s}${n})`)};let j={},$={};const ar=()=>{j={},$={}},er=(e,t)=>{const a=h.evaluate(h.getConfig().flowchart.htmlLabels),i=t.labelType==="markdown"?K.createText(e,t.label,{style:t.labelStyle,useHtmlLabels:a,addSvgBackground:!0}):B(t.label,t.labelStyle),l=e.insert("g").attr("class","edgeLabel"),r=l.insert("g").attr("class","label");r.node().appendChild(i);let s=i.getBBox();if(a){const c=i.children[0],y=h.select(i);s=c.getBoundingClientRect(),y.attr("width",s.width),y.attr("height",s.height)}r.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),j[t.id]=l,t.width=s.width,t.height=s.height;let n;if(t.startLabelLeft){const c=B(t.startLabelLeft,t.labelStyle),y=e.insert("g").attr("class","edgeTerminals"),o=y.insert("g").attr("class","inner");n=o.node().appendChild(c);const f=c.getBBox();o.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),$[t.id]||($[t.id]={}),$[t.id].startLeft=y,D(n,t.startLabelLeft)}if(t.startLabelRight){const c=B(t.startLabelRight,t.labelStyle),y=e.insert("g").attr("class","edgeTerminals"),o=y.insert("g").attr("class","inner");n=y.node().appendChild(c),o.node().appendChild(c);const f=c.getBBox();o.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),$[t.id]||($[t.id]={}),$[t.id].startRight=y,D(n,t.startLabelRight)}if(t.endLabelLeft){const c=B(t.endLabelLeft,t.labelStyle),y=e.insert("g").attr("class","edgeTerminals"),o=y.insert("g").attr("class","inner");n=o.node().appendChild(c);const f=c.getBBox();o.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),y.node().appendChild(c),$[t.id]||($[t.id]={}),$[t.id].endLeft=y,D(n,t.endLabelLeft)}if(t.endLabelRight){const c=B(t.endLabelRight,t.labelStyle),y=e.insert("g").attr("class","edgeTerminals"),o=y.insert("g").attr("class","inner");n=o.node().appendChild(c);const f=c.getBBox();o.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),y.node().appendChild(c),$[t.id]||($[t.id]={}),$[t.id].endRight=y,D(n,t.endLabelRight)}return i};function D(e,t){h.getConfig().flowchart.htmlLabels&&e&&(e.style.width=t.length*9+"px",e.style.height="12px")}const sr=(e,t)=>{h.log$1.debug("Moving label abc88 ",e.id,e.label,j[e.id],t);let a=t.updatedPath?t.updatedPath:t.originalPath;const i=h.getConfig(),{subGraphTitleTotalMargin:l}=rt(i);if(e.label){const r=j[e.id];let s=e.x,n=e.y;if(a){const c=h.utils.calcLabelPosition(a);h.log$1.debug("Moving label "+e.label+" from (",s,",",n,") to (",c.x,",",c.y,") abc88"),t.updatedPath&&(s=c.x,n=c.y)}r.attr("transform",`translate(${s}, ${n+l/2})`)}if(e.startLabelLeft){const r=$[e.id].startLeft;let s=e.x,n=e.y;if(a){const c=h.utils.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.startLabelRight){const r=$[e.id].startRight;let s=e.x,n=e.y;if(a){const c=h.utils.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.endLabelLeft){const r=$[e.id].endLeft;let s=e.x,n=e.y;if(a){const c=h.utils.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.endLabelRight){const r=$[e.id].endRight;let s=e.x,n=e.y;if(a){const c=h.utils.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}},ir=(e,t)=>{const a=e.x,i=e.y,l=Math.abs(t.x-a),r=Math.abs(t.y-i),s=e.width/2,n=e.height/2;return l>=s||r>=n},nr=(e,t,a)=>{h.log$1.debug(`intersection calc abc89:
|
|
2
2
|
outsidePoint: ${JSON.stringify(t)}
|
|
3
3
|
insidePoint : ${JSON.stringify(a)}
|
|
4
4
|
node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);const i=e.x,l=e.y,r=Math.abs(i-a.x),s=e.width/2;let n=a.x<t.x?s-r:s+r;const c=e.height/2,y=Math.abs(t.y-a.y),o=Math.abs(t.x-a.x);if(Math.abs(l-t.y)*s>Math.abs(i-t.x)*c){let f=a.y<t.y?t.y-c-l:l-c-t.y;n=o*f/y;const p={x:a.x<t.x?a.x+n:a.x-o+n,y:a.y<t.y?a.y+y-f:a.y-y+f};return n===0&&(p.x=t.x,p.y=t.y),o===0&&(p.x=t.x),y===0&&(p.y=t.y),h.log$1.debug(`abc89 topp/bott calc, Q ${y}, q ${f}, R ${o}, r ${n}`,p),p}else{a.x<t.x?n=t.x-s-i:n=i-s-t.x;let f=y*n/o,p=a.x<t.x?a.x+o-n:a.x-o+n,g=a.y<t.y?a.y+f:a.y-f;return h.log$1.debug(`sides calc abc89, Q ${y}, q ${f}, R ${o}, r ${n}`,{_x:p,_y:g}),n===0&&(p=t.x,g=t.y),o===0&&(p=t.x),y===0&&(g=t.y),{x:p,y:g}}},J=(e,t)=>{h.log$1.debug("abc88 cutPathAtIntersect",e,t);let a=[],i=e[0],l=!1;return e.forEach(r=>{if(!ir(t,r)&&!l){const s=nr(t,i,r);let n=!1;a.forEach(c=>{n=n||c.x===s.x&&c.y===s.y}),a.some(c=>c.x===s.x&&c.y===s.y)||a.push(s),l=!0}else i=r,l||a.push(r)}),a},lr=function(e,t,a,i,l,r,s){let n=a.points;h.log$1.debug("abc88 InsertEdge: edge=",a,"e=",t);let c=!1;const y=r.node(t.v);var o=r.node(t.w);o!=null&&o.intersect&&(y!=null&&y.intersect)&&(n=n.slice(1,a.points.length-1),n.unshift(y.intersect(n[0])),n.push(o.intersect(n[n.length-1]))),a.toCluster&&(h.log$1.debug("to cluster abc88",i[a.toCluster]),n=J(a.points,i[a.toCluster].node),c=!0),a.fromCluster&&(h.log$1.debug("from cluster abc88",i[a.fromCluster]),n=J(n.reverse(),i[a.fromCluster].node).reverse(),c=!0);const f=n.filter(M=>!Number.isNaN(M.y));let p=h.curveBasis;a.curve&&(l==="graph"||l==="flowchart")&&(p=a.curve);const{x:g,y:x}=at(a),m=it.line().x(g).y(x).curve(p);let d;switch(a.thickness){case"normal":d="edge-thickness-normal";break;case"thick":d="edge-thickness-thick";break;case"invisible":d="edge-thickness-thick";break;default:d=""}switch(a.pattern){case"solid":d+=" edge-pattern-solid";break;case"dotted":d+=" edge-pattern-dotted";break;case"dashed":d+=" edge-pattern-dashed";break}const u=e.append("path").attr("d",m(f)).attr("id",a.id).attr("class"," "+d+(a.classes?" "+a.classes:"")).attr("style",a.style);let S="";(h.getConfig().flowchart.arrowMarkerAbsolute||h.getConfig().state.arrowMarkerAbsolute)&&(S=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,S=S.replace(/\(/g,"\\("),S=S.replace(/\)/g,"\\)")),et(u,a,S,s,l);let C={};return c&&(C.updatedPath=n),C.originalPath=a.points,C};exports.addEdgeMarkers=et;exports.clear=ar;exports.clear$1=Pt;exports.createLabel$1=B;exports.getLineFunctionsWithOffset=at;exports.getSubGraphTitleMargins=rt;exports.insertEdge=lr;exports.insertEdgeLabel=er;exports.insertMarkers$1=ut;exports.insertNode=Jt;exports.intersectRect$1=tt;exports.labelHelper=L;exports.positionEdgeLabel=sr;exports.positionNode=tr;exports.setNodeElem=Kt;exports.updateNodeBounds=w;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { a as Ce, s as Fe, b as Me, c as De, g as Te, d as oe, e as Pe, q as Ye, l as Ne, j as ke } from "./layers.
|
|
1
|
+
import { a as Ce, s as Fe, b as Me, c as De, g as Te, d as oe, e as Pe, q as Ye, l as Ne, j as ke } from "./layers.Bk8dw2ZG.js";
|
|
2
2
|
import "lodash-es";
|
|
3
3
|
import { l as Ue } from "./layers.D4fGb2cV.js";
|
|
4
4
|
import { G as Be } from "./layers.C7lIplJU.js";
|
|
5
|
-
import "./layers.
|
|
6
|
-
import { l as Qe } from "./layers.
|
|
5
|
+
import "./layers.C0RA2I2j.js";
|
|
6
|
+
import { l as Qe } from "./layers.CSqGeK3n.js";
|
|
7
7
|
var ce = function() {
|
|
8
8
|
var e = function(V, i, r, a) {
|
|
9
9
|
for (r = r || {}, a = V.length; a--; r[V[a]] = i)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { o as mt, n as kt, s as _t, a as xt, c as vt, b as bt, g as rt, p as wt, d as Y, Y as St, q as Lt, j as Et } from "./layers.
|
|
2
|
-
import "./layers.
|
|
1
|
+
import { o as mt, n as kt, s as _t, a as xt, c as vt, b as bt, g as rt, p as wt, d as Y, Y as St, q as Lt, j as Et } from "./layers.Bk8dw2ZG.js";
|
|
2
|
+
import "./layers.C0RA2I2j.js";
|
|
3
3
|
import { o as At } from "./layers.b0h5ZBmD.js";
|
|
4
4
|
import { s as Tt } from "./layers.D7jGxypv.js";
|
|
5
5
|
function ot(t, n) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./layers.
|
|
1
|
+
import "./layers.C0RA2I2j.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: '"Made with 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: "실시간 협업...", duplicateSelection: "복제", untitled: "제목 없음", name: "이름", yourName: "이름 입력", madeWithExcalidraw: "Made with 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: "프롬프트" }, C = { noItems: "추가된 아이템 없음", hint_emptyLibrary: "캔버스 위에서 아이템을 선택하여 여기에 추가를 하거나, 아래의 공용 저장소에서 라이브러리를 설치하세요.", hint_emptyPrivateLibrary: "캔버스 위에서 아이템을 선택하여 여기 추가하세요." }, B = { 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: "젠 모드", objectsSnapMode: "다른 요소들에 정렬시키기", exitZenMode: "젠 모드 종료하기", cancel: "취소", clear: "지우기", remove: "삭제", embed: "임베딩 토글", publishLibrary: "게시하기", submit: "제출", confirm: "확인", embeddableInteractionButton: "클릭하여 상호작용" }, D = { clearReset: "모든 작업 내용이 초기화됩니다. 계속하시겠습니까?", couldNotCreateShareableLink: "공유 가능한 링크를 생성할 수 없습니다.", couldNotCreateShareableLinkTooBig: "공유 가능한 링크를 생성할 수 없습니다: 화면이 너무 큽니다.", couldNotLoadInvalidFile: "유효하지 않은 파일입니다.", importBackendFailed: "서버로부터 불러 오지 못했습니다.", cannotExportEmptyCanvas: "빈 캔버스를 내보낼 수 없습니다.", couldNotCopyToClipboard: "클립보드로 복사하지 못했습니다.", decryptFailed: "데이터를 복호화하지 못했습니다.", uploadedSecurly: "업로드는 종단 간 암호화로 보호되므로 Excalidraw 서버 및 타사가 콘텐츠를 읽을 수 없습니다.", loadSceneOverridePrompt: "외부 파일을 불러 오면 기존 콘텐츠가 대체됩니다. 계속 진행할까요?", collabStopOverridePrompt: `협업 세션을 종료하면 로컬 저장소에 있는 그림이 협업 세션의 그림으로 대체됩니다. 진행하겠습니까?
|
|
3
3
|
|
|
4
4
|
(로컬 저장소에 있는 그림을 유지하려면 현재 브라우저 탭을 닫아주세요.)`, errorAddingToLibrary: "아이템을 라이브러리에 추가 할수 없습니다", errorRemovingFromLibrary: "라이브러리에서 아이템을 삭제할수 없습니다", confirmAddLibrary: "{{numShapes}}개의 모양이 라이브러리에 추가됩니다. 계속하시겠어요?", imageDoesNotContainScene: "이 이미지는 화면 데이터를 포함하고 있지 않은 것 같습니다. 내보낼 때 화면을 첨부하도록 설정하셨나요?", cannotRestoreFromImage: "이미지 파일에서 화면을 복구할 수 없었습니다", invalidSceneUrl: "제공된 URL에서 화면을 가져오는데 실패했습니다. 주소가 잘못되거나, 유효한 Excalidraw JSON 데이터를 포함하고 있지 않은 것일 수 있습니다.", resetLibrary: "당신의 라이브러리를 초기화 합니다. 계속하시겠습니까?", removeItemsFromsLibrary: "{{count}}개의 아이템을 라이브러리에서 삭제하시겠습니까?", invalidEncryptionKey: "암호화 키는 반드시 22글자여야 합니다. 실시간 협업이 비활성화됩니다.", collabOfflineWarning: `인터넷에 연결되어 있지 않습니다.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const P=require("lodash-es"),J=require("./layers.COAF7f8g.js"),k=require("./layers.9QK1wiQj.js"),u=require("./layers.Dviw8XFJ.js"),i=require("./layers.D9txdRbL.js"),j=require("./layers.CUHhS-nd.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:E}=u.getSubGraphTitleMargins(n);o?f.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+E})`):f.attr("transform",`translate(${t.x}, ${t.y-t.height/2+E})`);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:E}=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)+E})`);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),N=v.elem;u.updateNodeBounds(c,N),c.diff=v.diff||0,i.log$1.info("Node bounds (abc123)",l,c,c.width,c.x,c.y),u.setNodeElem(N,c),i.log$1.warn("Recursive render complete ",N,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 E=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(N=>N.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"&&(E=c.diff)}),{elem:g,diff:E}},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.COAF7f8g.js"),k=require("./layers.9QK1wiQj.js"),u=require("./layers.DwdomOG6.js"),i=require("./layers.DpXgJ1hq.js"),j=require("./layers.iUPauFZz.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:E}=u.getSubGraphTitleMargins(n);o?f.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+E})`):f.attr("transform",`translate(${t.x}, ${t.y-t.height/2+E})`);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:E}=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)+E})`);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),N=v.elem;u.updateNodeBounds(c,N),c.diff=v.diff||0,i.log$1.info("Node bounds (abc123)",l,c,c.width,c.x,c.y),u.setNodeElem(N,c),i.log$1.warn("Recursive render complete ",N,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 E=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(N=>N.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"&&(E=c.diff)}),{elem:g,diff:E}},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
|
-
import "./layers.
|
|
1
|
+
import "./layers.C0RA2I2j.js";
|
|
2
2
|
var e = { paste: "Klistra in", pasteAsPlaintext: "Klistra som oformaterad text", pasteCharts: "Klistra in diagram", selectAll: "Markera alla", multiSelect: "Lägg till element till markering", moveCanvas: "Flytta canvas", cut: "Klipp ut", copy: "Kopiera", copyAsPng: "Kopiera till urklipp som PNG", copyAsSvg: "Kopiera till urklipp som SVG", copyText: "Kopiera till urklipp som text", copySource: "Kopiera källa till urklipp", convertToCode: "Konvertera till kod", bringForward: "Flytta framåt", sendToBack: "Flytta underst", bringToFront: "Flytta främst", sendBackward: "Skicka bakåt", delete: "Ta bort", copyStyles: "Kopiera stil", pasteStyles: "Klistra in stil", stroke: "Linje", background: "Bakgrund", fill: "Fyllnad", strokeWidth: "Linjebredd", strokeStyle: "Linjestil", strokeStyle_solid: "Solid", strokeStyle_dashed: "Streckad", strokeStyle_dotted: "Punktad", sloppiness: "Slarvighet", opacity: "Genomskinlighet", textAlign: "Textjustering", edges: "Kanter", sharp: "Skarp", round: "Rund", arrowheads: "Pilhuvuden", arrowhead_none: "Inga", arrowhead_arrow: "Pil", arrowhead_bar: "Stolpe", arrowhead_circle: "Cirkel", arrowhead_circle_outline: "Cirkel (kontur)", arrowhead_triangle: "Triangel", arrowhead_triangle_outline: "Triangel (kontur)", arrowhead_diamond: "Diamant", arrowhead_diamond_outline: "Diamant (kontur)", fontSize: "Teckenstorlek", fontFamily: "Teckensnitt", addWatermark: 'Lägg till "Skapad med Excalidraw"', handDrawn: "Handritad", normal: "Normal", code: "Kod", small: "Liten", medium: "Medium", large: "Stor", veryLarge: "Mycket stor", solid: "Solid", hachure: "Skraffering", zigzag: "Sicksack", crossHatch: "Skraffera med kors", thin: "Tunn", bold: "Fet", left: "Vänster", center: "Centrera", right: "Höger", extraBold: "Extra fet", architect: "Arkitekt", artist: "Artist", cartoonist: "Serietecknare", fileTitle: "Filnamn", colorPicker: "Färgväljare", canvasColors: "Används på canvas", canvasBackground: "Canvas-bakgrund", drawingCanvas: "Ritar canvas", layers: "Lager", actions: "Åtgärder", language: "Språk", liveCollaboration: "Samarbeta live...", duplicateSelection: "Duplicera", untitled: "Namnlös", name: "Namn", yourName: "Ditt namn", madeWithExcalidraw: "Skapad med Excalidraw", group: "Gruppera markering", ungroup: "Avgruppera markering", collaborators: "Medarbetare", showGrid: "Visa rutnät", addToLibrary: "Lägg till i biblioteket", removeFromLibrary: "Ta bort från bibliotek", libraryLoadingMessage: "Laddar bibliotek…", libraries: "Bläddra i bibliotek", loadingScene: "Laddar skiss…", align: "Justera", alignTop: "Justera överkant", alignBottom: "Justera underkant", alignLeft: "Justera vänster", alignRight: "Justera höger", centerVertically: "Centrera vertikalt", centerHorizontally: "Centrera horisontellt", distributeHorizontally: "Fördela horisontellt", distributeVertically: "Fördela vertikalt", flipHorizontal: "Vänd horisontellt", flipVertical: "Vänd vertikalt", viewMode: "Visningsläge", share: "Dela", showStroke: "Visa färgväljare för linjefärg", showBackground: "Visa färgväljare för bakgrundsfärg", toggleTheme: "Växla tema", personalLib: "Personligt bibliotek", excalidrawLib: "Excalidraw bibliotek", decreaseFontSize: "Minska fontstorleken", increaseFontSize: "Öka fontstorleken", unbindText: "Koppla bort text", bindText: "Bind texten till behållaren", createContainerFromText: "Radbryt text i en avgränsad yta", link: { edit: "Redigera länk", editEmbed: "Redigera länk & bädda in", create: "Skapa länk", createEmbed: "Skapa länk & bädda in", label: "Länk", labelEmbed: "Länka & bädda in", empty: "Ingen länk är angiven" }, lineEditor: { edit: "Redigera linje", exit: "Avsluta linjeredigerare" }, elementLock: { lock: "Lås", unlock: "Lås upp", lockAll: "Lås alla", unlockAll: "Lås upp alla" }, statusPublished: "Publicerad", sidebarLock: "Håll sidofältet öppet", selectAllElementsInFrame: "Markera alla element i rutan", removeAllElementsFromFrame: "Ta bort alla element från rutan", eyeDropper: "Välj färg från canvas", textToDiagram: "Text till diagram", prompt: "Fråga" }, a = { noItems: "Inga objekt tillagda ännu...", hint_emptyLibrary: "Välj ett objekt på canvasen för att lägga till det här, eller installera ett bibliotek från det publika arkivet, nedan.", hint_emptyPrivateLibrary: "Välj ett objekt på canvasen för att lägga till det här." }, t = { clearReset: "Återställ canvasen", exportJSON: "Exportera till fil", exportImage: "Exportera bild...", export: "Spara till...", copyToClipboard: "Kopiera till urklipp", save: "Spara till aktuell fil", saveAs: "Spara som", load: "Öppna", getShareableLink: "Hämta delbar länk", close: "Stäng", selectLanguage: "Välj språk", scrollBackToContent: "Bläddra tillbaka till innehållet", zoomIn: "Zooma in", zoomOut: "Zooma ut", resetZoom: "Återställ zoom", menu: "Meny", done: "Klart", edit: "Redigera", undo: "Ångra", redo: "Gör om", resetLibrary: "Återställ bibliotek", createNewRoom: "Skapa ett nytt rum", fullScreen: "Helskärm", darkMode: "Mörkt läge", lightMode: "Ljust läge", zenMode: "Zen-läge", objectsSnapMode: "Fäst mot objekt", exitZenMode: "Gå ur zen-läge", cancel: "Avbryt", clear: "Rensa", remove: "Ta bort", embed: "Växla inbäddning", publishLibrary: "Publicera", submit: "Skicka", confirm: "Bekräfta", embeddableInteractionButton: "Klicka för att interagera" }, r = { clearReset: "Detta rensar hela canvasen. Är du säker?", couldNotCreateShareableLink: "Kunde inte skapa delbar länk.", couldNotCreateShareableLinkTooBig: "Kunde inte skapa delbar länk: skissen är för stor", couldNotLoadInvalidFile: "Kunde inte ladda ogiltig fil", importBackendFailed: "Importering från backend misslyckades.", cannotExportEmptyCanvas: "Kan inte exportera tom canvas.", couldNotCopyToClipboard: "Kunde inte kopiera till urklipp.", decryptFailed: "Kunde inte avkryptera data.", uploadedSecurly: "Uppladdning har säkrats med kryptering från ände till ände. vilket innebär att Excalidraw server och tredje part inte kan läsa innehållet.", loadSceneOverridePrompt: "Laddning av extern skiss kommer att ersätta ditt befintliga innehåll. Vill du fortsätta?", collabStopOverridePrompt: `Att stoppa sessionen kommer att skriva över din föregående, lokalt lagrade skiss. Är du säker?
|
|
3
3
|
|
|
4
4
|
(Om du vill behålla din lokala skiss, stäng bara webbläsarfliken istället.)`, errorAddingToLibrary: "Kunde inte lägga till objekt i biblioteket", errorRemovingFromLibrary: "Kunde inte ta bort objekt från biblioteket", confirmAddLibrary: "Detta kommer att lägga till {{numShapes}} form(er) till ditt bibliotek. Är du säker?", imageDoesNotContainScene: "Den här bilden verkar inte innehålla någon skissdata. Har du aktiverat inbäddning av skiss under export?", cannotRestoreFromImage: "Skiss kunde inte återställas från denna bildfil", invalidSceneUrl: "Det gick inte att importera skiss från den angivna webbadressen. Antingen har den fel format, eller så innehåller den ingen giltig Excalidraw JSON data.", resetLibrary: "Detta kommer att rensa ditt bibliotek. Är du säker?", removeItemsFromsLibrary: "Ta bort {{count}} objekt från biblioteket?", invalidEncryptionKey: "Krypteringsnyckeln måste vara 22 tecken. Livesamarbetet är inaktiverat.", collabOfflineWarning: `Ingen internetanslutning tillgänglig.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./layers.
|
|
1
|
+
import "./layers.C0RA2I2j.js";
|
|
2
2
|
var a = { paste: "Pegar", pasteAsPlaintext: "Pegar en tèxt brut", pasteCharts: "Pegar los grafics", selectAll: "Tot seleccionar", multiSelect: "Apondre un element a la seleccion", moveCanvas: "Desplaçar lo canabàs", cut: "Talhar", copy: "Copiar", copyAsPng: "Copiar al quichapapièrs coma PNG", copyAsSvg: "Copiar al quichapapièrs coma SVG", copyText: "Copiar al quichapapièrs coma tèxt", copySource: "", convertToCode: "", bringForward: "En avant", sendToBack: "En arrièr", bringToFront: "A l’endavant", sendBackward: "Endarrièr", delete: "Suprimir", copyStyles: "Copiar los estiles", pasteStyles: "Pegar los estils", stroke: "Contorn", background: "Rèireplan", fill: "Empliment", strokeWidth: "Largor de contorn", strokeStyle: "Estil de contorn", strokeStyle_solid: "Solide", strokeStyle_dashed: "Tiret", strokeStyle_dotted: "Puntilhat", sloppiness: "Estil de traça", opacity: "Opacitat", textAlign: "Alinhament tèxt", edges: "Angles", sharp: "Ponchut", round: "Arredonit", arrowheads: "Cap de la flècha", arrowhead_none: "Cap", arrowhead_arrow: "Sageta", arrowhead_bar: "Barra", arrowhead_circle: "", arrowhead_circle_outline: "", arrowhead_triangle: "Triangle", arrowhead_triangle_outline: "", arrowhead_diamond: "", arrowhead_diamond_outline: "", fontSize: "Talha polissa", fontFamily: "Familha de polissa", addWatermark: "Apondre « Fabricat amb Excalidraw »", handDrawn: "A la man levada", normal: "Normala", code: "Còdi", small: "Pichona", medium: "Mejana", large: "Granda", veryLarge: "Gradassa", solid: "Solide", hachure: "Raia", zigzag: "Zigzag", crossHatch: "Raia crosada", thin: "Fin", bold: "Espés", left: "Esquèrra", center: "Centre", right: "Drecha", extraBold: "Espesàs", architect: "Arquitècte", artist: "Artista", cartoonist: "Dessenhaire", fileTitle: "Nom del fichièr", colorPicker: "Selector de color", canvasColors: "Utilizada suls canabassses", canvasBackground: "Rèireplan del canabàs", drawingCanvas: "Zòna de dessenh", layers: "Calques", actions: "Accions", language: "Lenga", liveCollaboration: "Collaboracion en dirèct...", duplicateSelection: "Duplicar", untitled: "Sens títol", name: "Nom", yourName: "Vòstre nom", madeWithExcalidraw: "Fabricat amb Excalidraw", group: "Gropar la seleccion", ungroup: "Desunir la seleccion", collaborators: "Collaborators", showGrid: "Afichar la gresilha", addToLibrary: "Apondre a la bibliotèca", removeFromLibrary: "Suprimir de la bibliotèca", libraryLoadingMessage: "Cargament de la bibliotèca…", libraries: "Percórrer las bibliotècas", loadingScene: "Cargament de la scèna…", align: "Alinhament", alignTop: "Alinhar ennaut", alignBottom: "Alinhar enbàs", alignLeft: "Alinhar a esquèrra", alignRight: "Alinhar a drecha", centerVertically: "Centrar verticalament", centerHorizontally: "Centrar orizontalament", distributeHorizontally: "Distribuir orizontalament", distributeVertically: "Distribuir verticalament", flipHorizontal: "Virar orizontalament", flipVertical: "Virar verticalament", viewMode: "Mòde de vista", share: "Partejar", showStroke: "Mostrar lo selector de color de contorn", showBackground: "Mostrar lo selector de color de fons", toggleTheme: "Alternar tèma", personalLib: "Bibliotèca personala", excalidrawLib: "Bibliotèca Excalidraw", decreaseFontSize: "Reduire talha polissa", increaseFontSize: "Aumentar talha polissa", unbindText: "Dessociar lo tèxte", bindText: "Ligar lo tèxt al contenidor", createContainerFromText: "Envelopar lo tèxte dins un contenedor", link: { edit: "Modificar lo ligam", editEmbed: "Modificar lo ligam e l’integracion", create: "Crear un ligam", createEmbed: "Crear un ligam e son integracion", label: "Ligam", labelEmbed: "Ligam e integracion", empty: "Cap de ligam pas definit" }, lineEditor: { edit: "Modificar la linha", exit: "Sortir de l’editor de linha" }, elementLock: { lock: "Verrolhar", unlock: "Desverrolhar", lockAll: "Tot verrolhar", unlockAll: "Tot desverrolhar" }, statusPublished: "Publicat", sidebarLock: "Gardar la barra laterala dobèrta", selectAllElementsInFrame: "Seleccionar totes los elements del quadre", removeAllElementsFromFrame: "Tirar totes los elements d’al quadre", eyeDropper: "Prendre la color a partir d’un canabàs", textToDiagram: "", prompt: "" }, e = { noItems: "Cap d’element pas encara apondut...", hint_emptyLibrary: "Seleccionatz un element d’apondre aquí, o installatz una bibliotèca del depaus public, çai-jos.", hint_emptyPrivateLibrary: "Seleccionatz un element d’apondre aquí pel canabàs." }, r = { clearReset: "Reïnicializar lo canabàs", exportJSON: "Exportar en fichièr", exportImage: "Exportar imatges...", export: "Enregistrar dins...", copyToClipboard: "Copiar al quichapapièrs", save: "Salvar al fichièr actual", saveAs: "Enregistrar jos", load: "Dobrir", getShareableLink: "Obténer lo ligam de partatge", close: "Tampar", selectLanguage: "Causir una lenga", scrollBackToContent: "Tornar al contengut", zoomIn: "Zoom avant", zoomOut: "Zoom arrièr", resetZoom: "Tirar lo zoom", menu: "Menú", done: "Acabat", edit: "Modificar", undo: "Anullar", redo: "Restablir", resetLibrary: "Reïnicializar la bibliotèca", createNewRoom: "Crear sala novèla", fullScreen: "Ecran complèt", darkMode: "Mòde escur", lightMode: "Mòde clar", zenMode: "Mòde escur", objectsSnapMode: "Ancorar als objèctes", exitZenMode: "Sortir del mòde zen", cancel: "Anullar", clear: "Escafar", remove: "Tirar", embed: "Alternar l’integracion", publishLibrary: "Publicar", submit: "Enviar", confirm: "Confirmar", embeddableInteractionButton: "Clicar per interagir" }, i = { clearReset: "Aquò suprimirà lo canabàs complèt. O volètz vertadièrament ?", couldNotCreateShareableLink: "Creacion impossibla del ligam de partatge.", couldNotCreateShareableLinkTooBig: "Creacion impossibla del ligam de partatge : la scèna es tròp granda", couldNotLoadInvalidFile: "Cargament impossible d’un fichièr invalid", importBackendFailed: "Importacion fracassada.", cannotExportEmptyCanvas: "Impossible d’exportar los canabasses voids.", couldNotCopyToClipboard: "Còpia impossibla al quichapapièrs.", decryptFailed: "Deschiframent impossible de las donadas.", uploadedSecurly: "Lo telecargament es estat securizat amb un chiframent del cap a la fin, significa que los servidors d’Excalidraw o que quina tèrça part que siá pòdon pas legir lo contengut.", loadSceneOverridePrompt: "Cargar un dessenh extèrn remplaçarà vòstre contengut existent. Volètz contunhar ?", collabStopOverridePrompt: `Arrestar la session remplaçarà vòstre precedent dessenh gardat localament. O volètz vertadièrament ?
|
|
3
3
|
|
|
4
4
|
(Se volètz gardar vòstre dessenh local, tampatz simplament l’onglet del navegador a la plaça)`, errorAddingToLibrary: "Apondon impossible de l’element a la bibliotèca", errorRemovingFromLibrary: "Supression impossibla de l’element a la bibliotèca", confirmAddLibrary: "Apondrà {{numShapes}} forma(s) a vòstra bibliotèca. Confirmatz ?", imageDoesNotContainScene: "Aqueste imatge sembla pas conténer cap de donadas de scèna. Avètz activat l’integracion de scèna pendent l’exportacion ?", cannotRestoreFromImage: "Restauracion impossibla de la scèna a partir del fichièr imatge", invalidSceneUrl: "Importacion impossibla de la scèna a partir de l’URL provesida. Es siá mal formatada o siá conten pas cap de donada JSON Excalidraw valida.", resetLibrary: "Aquò suprimirà vòstra bibliotèca. O volètz vertadièrament ?", removeItemsFromsLibrary: "Suprimir {{count}} element(s) de la bibliotèca ?", invalidEncryptionKey: "La clau de chiframent deu conténer 22 caractèrs. La collaboracion en dirèct es desactivada.", collabOfflineWarning: `Cap de connexion pas disponibla.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./layers.
|
|
1
|
+
import "./layers.C0RA2I2j.js";
|
|
2
2
|
var e = { paste: "Beillesztés", pasteAsPlaintext: "Beillesztés formázatlan szövegként", pasteCharts: "Grafikon beillesztése", selectAll: "Összes kijelölése", multiSelect: "Elem hozzáadása a kijelöléshez", moveCanvas: "Vászon mozgatása", cut: "Kivágás", copy: "Másolás", copyAsPng: "Vágólapra másolás mint PNG", copyAsSvg: "Vágólapra másolás mint SVG", copyText: "Vágólapra másolás szövegként", copySource: "", convertToCode: "", bringForward: "Előrébb hozás", sendToBack: "Hátraküldés", bringToFront: "Előrehozás", sendBackward: "Hátrébb küldés", delete: "Törlés", copyStyles: "Stílus másolása", pasteStyles: "Stílus beillesztése", stroke: "Körvonal", background: "Háttér", fill: "Kitöltés", strokeWidth: "Körvonal vastagsága", strokeStyle: "Körvonal stílusa", strokeStyle_solid: "Kitöltött", strokeStyle_dashed: "Szaggatott", strokeStyle_dotted: "Pontozott", sloppiness: "Stílus", opacity: "Áttetszőség", textAlign: "Szöveg igazítása", edges: "Szélek", sharp: "Éles", round: "Kerek", arrowheads: "Nyílhegyek", arrowhead_none: "Nincs", arrowhead_arrow: "Nyíl", arrowhead_bar: "Oszlop", arrowhead_circle: "", arrowhead_circle_outline: "", arrowhead_triangle: "Háromszög", arrowhead_triangle_outline: "", arrowhead_diamond: "", arrowhead_diamond_outline: "", fontSize: "Betűméret", fontFamily: "Betűkészlet család", addWatermark: 'Add hozzá, hogy "Excalidraw-val készült"', handDrawn: "Kézzel rajzolt", normal: "Normál", code: "Kód", small: "Kicsi", medium: "Közepes", large: "Nagy", veryLarge: "Nagyon nagy", solid: "Kitöltött", hachure: "Vonalkázott", zigzag: "Cikkcakk", crossHatch: "Keresztcsíkozott", thin: "Vékony", bold: "Félkövér", left: "Bal", center: "Közép", right: "Jobb", extraBold: "Extra Félkövér", architect: "Tervezői", artist: "Művészi", cartoonist: "Karikatúrás", fileTitle: "Fájlnév", colorPicker: "Színválasztó", canvasColors: "Rajzvászonon használt", canvasBackground: "Vászon háttérszíne", drawingCanvas: "Rajzvászon", layers: "Rétegek", actions: "Műveletek", language: "Nyelv", liveCollaboration: "Élő együttműködés...", duplicateSelection: "Duplikálás", untitled: "Névtelen", name: "Név", yourName: "Neved", madeWithExcalidraw: "Excalidraw-val készült", group: "Csoportosítás", ungroup: "Csoportbontás", collaborators: "Közreműködők", showGrid: "Rács megjelenítése", addToLibrary: "Hozzáadás a könyvtárhoz", removeFromLibrary: "Eltávólítás a könyvtárból", libraryLoadingMessage: "Könyvtár betöltése…", libraries: "Könyvtárak böngészése", loadingScene: "Jelenet betöltése…", align: "Igazítás", alignTop: "Felülre igazítás", alignBottom: "Alulra igazítás", alignLeft: "Balra igazítás", alignRight: "Jobbra igazítás", centerVertically: "Függőlegesen középre igazított", centerHorizontally: "Vízszintesen középre igazított", distributeHorizontally: "Vízszintes elosztás", distributeVertically: "Függőleges elosztás", flipHorizontal: "Vízszintes tükrözés", flipVertical: "Függőleges tükrözés", viewMode: "Nézet", share: "Megosztás", showStroke: "Körvonal színválasztó megjelenítése", showBackground: "Háttérszín-választó megjelenítése", toggleTheme: "Téma váltása", personalLib: "Személyes könyvtár", excalidrawLib: "Excalidraw könyvtár", decreaseFontSize: "Betűméret csökkentése", increaseFontSize: "Betűméret növelése", unbindText: "Szövegkötés feloldása", bindText: "", createContainerFromText: "Szöveg bekeretezése", link: { edit: "Hivatkozás szerkesztése", editEmbed: "Link szerkesztése / beágyazása", create: "Hivatkozás létrehozása", createEmbed: "Link létrehozása / beágyazása", label: "Hivatkozás", labelEmbed: "", empty: "" }, lineEditor: { edit: "", exit: "" }, elementLock: { lock: "Rögzítés", unlock: "Rögzítés feloldása", lockAll: "Összes rögzítése", unlockAll: "Összes feloldása" }, statusPublished: "", sidebarLock: "", selectAllElementsInFrame: "", removeAllElementsFromFrame: "", eyeDropper: "", textToDiagram: "", prompt: "" }, t = { noItems: "", hint_emptyLibrary: "", hint_emptyPrivateLibrary: "" }, x = { clearReset: "Vászon törlése", exportJSON: "Exportálás fájlba", exportImage: "Kép exportálása...", export: "Mentés másként...", copyToClipboard: "Vágólapra másolás", save: "Mentés az aktuális fájlba", saveAs: "Mentés másként", load: "Megnyitás", getShareableLink: "Megosztható link létrehozása", close: "Bezárás", selectLanguage: "Nyelv kiválasztása", scrollBackToContent: "Visszagörgetés a tartalomhoz", zoomIn: "Nagyítás", zoomOut: "Kicsinyítés", resetZoom: "Nagyítás alaphelyzetbe", menu: "Menü", done: "Kész", edit: "Szerkesztés", undo: "Vissza", redo: "Újra", resetLibrary: "Könyvtár alaphelyzetbe állítása", createNewRoom: "Új szoba létrehozása", fullScreen: "Teljes képernyő", darkMode: "Sötét mód", lightMode: "Világos mód", zenMode: "Letisztult mód", objectsSnapMode: "", exitZenMode: "Kilépés a letisztult módból", cancel: "Mégsem", clear: "Kiűrítés", remove: "Eltávolítás", embed: "", publishLibrary: "Közzététel", submit: "Elküldés", confirm: "Megerősítés", embeddableInteractionButton: "" }, a = { clearReset: "Ez a művelet törli a vászont. Biztos benne?", couldNotCreateShareableLink: "Nem sikerült megosztható linket létrehozni.", couldNotCreateShareableLinkTooBig: "Nem sikerült megosztható linket látrehozni: túl nagy a jelenet", couldNotLoadInvalidFile: "Nem sikerült betölteni a helytelen fájlt", importBackendFailed: "Nem sikerült betölteni a szerverről.", cannotExportEmptyCanvas: "Üres vászont nem lehet exportálni.", couldNotCopyToClipboard: "", decryptFailed: "Nem sikerült visszafejteni a titkosított adatot.", uploadedSecurly: "A feltöltést végpontok közötti titkosítással biztosítottuk, ami azt jelenti, hogy egy harmadik fél nem tudja megnézni a tartalmát, beleértve az Excalidraw szervereit is.", loadSceneOverridePrompt: "A betöltött külső rajz felül fogja írnia meglévőt. Szeretnéd folytatni?", collabStopOverridePrompt: `A munkamenet leállítása felül fogja írni az előzőleg helyben tárolt rajzot. Biztosan ezt akarod?
|
|
3
3
|
(Ha meg akarod tartani a helyben tárolt rajzot, egyszerűen csak zárd be a böngésző fület)`, errorAddingToLibrary: "A tétel nem addható hozzá a könyvtárhoz", errorRemovingFromLibrary: "A tétel nem távolítható el a könyvtárból", confirmAddLibrary: "Ez a művelet {{numShapes}} formát fog hozzáadni a könyvtáradhoz. Biztos vagy benne?", imageDoesNotContainScene: "Úgy tűnik, hogy ez a kép nem tartalmaz jelenetadatokat. Engedélyezted a jelenetbeágyazást az exportálás során?", cannotRestoreFromImage: "A jelenet visszaállítása nem sikerült ebből a kép fájlból", invalidSceneUrl: "Nem sikerült importálni a jelenetet a megadott URL-ről. Rossz formátumú, vagy nem tartalmaz érvényes Excalidraw JSON-adatokat.", resetLibrary: "Ezzel törlöd a könyvtárát. biztos vagy ebben?", removeItemsFromsLibrary: "{{count}} elemet törölsz a könyvtárból?", invalidEncryptionKey: "A titkosítási kulcsnak 22 karakterből kell állnia. Az élő együttműködés le van tiltva.", collabOfflineWarning: "" }, l = { unsupportedFileType: "Nem támogatott fájltípus.", imageInsertError: "Nem sikerült beszúrni a képet. Próbáld újra később...", fileTooBig: "A fájl túl nagy. A megengedett maximális méret {{maxSize}}.", svgImageInsertError: "Nem sikerült beszúrni az SVG-képet. Az SVG szintaktika érvénytelennek tűnik.", failedToFetchImage: "", invalidSVGString: "Érvénytelen SVG.", cannotResolveCollabServer: "", importLibraryError: "", collabSaveFailed: "", collabSaveFailed_sizeExceeded: "", imageToolNotSupported: "", brave_measure_text_error: { line1: "", line2: "", line3: "", line4: "" }, libraryElementTypeError: { embeddable: "", iframe: "", image: "" }, asyncPasteFailedOnRead: "", asyncPasteFailedOnParse: "", copyToSystemClipboardFailed: "" }, s = { selection: "Kijelölés", image: "Kép beszúrása", rectangle: "Téglalap", diamond: "Rombusz", ellipse: "Ellipszis", arrow: "Nyíl", line: "Vonal", freedraw: "Rajzolás", text: "Szöveg", library: "Könyvtár", lock: "Rajzolás után az aktív eszközt tartsa kijelölve", penMode: "", link: "Hivatkozás hozzáadása/frissítése a kiválasztott alakzathoz", eraser: "Radír", frame: "", magicframe: "", embeddable: "Weblap beágyazása", laser: "Lézermutató", hand: "", extraTools: "További eszközök", mermaidToExcalidraw: "", magicSettings: "" }, E = { canvasActions: "Vászon műveletek", selectedShapeActions: "Kijelölt forma műveletei", shapes: "Alakzatok" }, r = { canvasPanning: "", linearElement: "Kattintással görbe, az eger húzásával pedig egyenes nyilat rajzolhatsz", freeDraw: "Kattints és húzd, majd engedd el, amikor végeztél", text: "Tipp: A kijelölés eszközzel a dupla kattintás új szöveget hoz létre", embeddable: "", text_selected: "Kattints duplán, vagy nyomj entert a szöveg szerkesztéséhez", text_editing: "Nyomjd meg az Escape vagy a Ctrl/Cmd+ENTER billentyűkombinációt a szerkesztés befejezéséhez", linearElementMulti: "Kattints a következő ív pozíciójára, vagy fejezd be a nyilat az Escape vagy Enter megnyomásával", lockAngle: "A SHIFT billentyű lenyomva tartásával korlátozhatja forgatás szögét", resize: `A SHIFT billentyű lenyomva tartásával az átméretezés megtartja az arányokat,
|
|
4
4
|
az ALT lenyomva tartásával pedig a középpont egy helyben marad`, resizeImage: `A SHIFT billentyű lenyomva tartásával szabadon átméretezheted,
|