@layers-app/editor 0.7.66 → 0.7.67-test
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 +3 -3
- package/dist/{layers.Ca8Ub3pv.js → layers.0ZQShIga.js} +1 -1
- package/dist/{layers.lkZWWku3.js → layers.4BeRQ13a.js} +1 -1
- package/dist/{layers.BE2v4SI1.js → layers.55cN9CTf.js} +1 -1
- package/dist/{layers.DB-bRmCR.js → layers.6Nbxp0gz.js} +1 -1
- package/dist/{layers.BFE-alwC.js → layers.8l-ur6tL.js} +3 -3
- package/dist/{layers.C33jsIpE.js → layers.9CJvEe0H.js} +1 -1
- package/dist/{layers.BKLGHV1G.js → layers.B0-yvLuL.js} +1 -1
- package/dist/layers.B2NV0gPA.js +1 -0
- package/dist/{layers.BA-11n7e.js → layers.B4uFyYtV.js} +1 -1
- package/dist/{layers.Cbg5CZgX.js → layers.B4zwsL1B.js} +1 -1
- package/dist/{layers.cHJyX5TP.js → layers.B6ebkmgJ.js} +1 -1
- package/dist/{layers.CGkRi77t.js → layers.B6wZk6rz.js} +1 -1
- package/dist/{layers.NZbUzxh7.js → layers.B7AurxBW.js} +1 -1
- package/dist/{layers.CcElfU4_.js → layers.BALidpKX.js} +1 -1
- package/dist/{layers.CxndOEZr.js → layers.BC5Pa7nx.js} +1 -1
- package/dist/{layers.BZrat4JT.js → layers.BEYLfGLm.js} +2 -2
- package/dist/{layers.B0uGvpXI.js → layers.BEkjPNL5.js} +1 -1
- package/dist/{layers.BZ7MbQ5s.js → layers.BF2Y1p9e.js} +1 -1
- package/dist/{layers.BXtEOnC6.js → layers.BF8Dev2h.js} +1 -1
- package/dist/{layers.DTlOqZvL.js → layers.BFG_ch_E.js} +1 -1
- package/dist/{layers.DrT4hDgx.js → layers.BHWrKHJU.js} +6 -6
- package/dist/{layers.3YEE22Mk.js → layers.BHY-tyB0.js} +1 -1
- package/dist/{layers.DdmoW3mc.js → layers.BJHUvvrv.js} +1 -1
- package/dist/{layers.B7xQ9Bfy.js → layers.BK1M3W9a.js} +1 -1
- package/dist/{layers.CKmdrueW.js → layers.BKGzco-2.js} +1 -1
- package/dist/{layers.COujLsln.js → layers.BN33vqG9.js} +1 -1
- package/dist/{layers.D-7CRcBZ.js → layers.BPLQGSPu.js} +1 -1
- package/dist/{layers.BzXmprv5.js → layers.BS3FSyNA.js} +1 -1
- package/dist/{layers.C1ETK2KG.js → layers.BSWuoH36.js} +1 -1
- package/dist/{layers.D0G30ty5.js → layers.BU8V3KR1.js} +5 -5
- package/dist/{layers.Do3m_wfd.js → layers.BUM5PukG.js} +1 -1
- package/dist/{layers.BaldGe_p.js → layers.BUT8U-DE.js} +1 -1
- package/dist/{layers.Dl0FDpvW.js → layers.BW_1N97r.js} +1 -1
- package/dist/{layers.CvcZAwPC.js → layers.BWeQpG4r.js} +1 -1
- package/dist/{layers.ri6EcUvz.js → layers.B_IxiE1t.js} +1 -1
- package/dist/{layers.8eglOpZg.js → layers.BaNq6x88.js} +4 -4
- package/dist/{layers.DVcwS5K-.js → layers.BayhbipO.js} +1 -1
- package/dist/{layers.DUDJ9Y4L.js → layers.BbQ5yfY5.js} +9 -9
- package/dist/{layers.BEtni9Q9.js → layers.Bc2DaOXB.js} +5 -5
- package/dist/{layers.G20tZlua.js → layers.BdJupxlN.js} +1 -1
- package/dist/{layers.Bvz5P3lQ.js → layers.Be2B7Op8.js} +1 -1
- package/dist/{layers.C0ZmXPkk.js → layers.BeTT571Z.js} +1 -1
- package/dist/{layers.BFpmz0jf.js → layers.BfLdhQvv.js} +1 -1
- package/dist/{layers.BP0Yk3nT.js → layers.Bjq1qhGK.js} +1 -1
- package/dist/{layers.ULeHg9zF.js → layers.Bm2EiTJN.js} +1 -1
- package/dist/{layers.B_rGlD5Q.js → layers.BoSsi-1l.js} +1 -1
- package/dist/{layers.D5P0WNvc.js → layers.BolFZNhY.js} +1 -1
- package/dist/{layers.Dwr0t7IY.js → layers.Bp9vvnxi.js} +5 -5
- package/dist/{layers.BS5c-XRP.js → layers.Bq57_VZe.js} +1 -1
- package/dist/layers.BrESFVvP.js +6 -0
- package/dist/{layers.Cc7OCiEY.js → layers.BsXFdkJZ.js} +1 -1
- package/dist/{layers.DJCArebj.js → layers.Bt5bMTci.js} +1 -1
- package/dist/{layers.Dkw-9t5C.js → layers.Bv7AJDPs.js} +1 -1
- package/dist/{layers.DxLW-X_k.js → layers.Bvbr46Ys.js} +1 -1
- package/dist/{layers.Bj3iwHlt.js → layers.BwL1dQCB.js} +4 -4
- package/dist/{layers.CGX9i522.js → layers.Bx8UBpNd.js} +1 -1
- package/dist/{layers.BXlVYam7.js → layers.Bz9tC8ge.js} +1 -1
- package/dist/{layers.XL1rVltq.js → layers.C-3IOGEz.js} +1 -1
- package/dist/{layers.VO-7tMgV.js → layers.C-Hn2Q_j.js} +1 -1
- package/dist/{layers.DWhv7F59.js → layers.C-UWZk4M.js} +7 -7
- package/dist/{layers.svV_8pUP.js → layers.C-jjdRel.js} +1 -1
- package/dist/{layers.COBbOMbH.js → layers.C1NFB_33.js} +1 -1
- package/dist/layers.C2HP3KCj.js +8 -0
- package/dist/{layers.CBLL2LbE.js → layers.C8tvy1sM.js} +4 -4
- package/dist/{layers.BexCcE7c.js → layers.C9yVA16g.js} +2 -2
- package/dist/{layers.DPSZnsnE.js → layers.CB9dyHZW.js} +1 -1
- package/dist/{layers.CWVhbDR5.js → layers.CBZEDKB1.js} +2 -2
- package/dist/{layers.vGcIPp04.js → layers.CCcgeskk.js} +1 -1
- package/dist/{layers.DGhyc9fD.js → layers.CGVEVZ8h.js} +1 -1
- package/dist/{layers.GSikSHLI.js → layers.CHvMsKy9.js} +8 -8
- package/dist/{layers.bULRDowV.js → layers.CID7BRRp.js} +7 -7
- package/dist/{layers.DCtyhmyY.js → layers.CIXCJOiP.js} +1 -1
- package/dist/{layers.CLk3-xN-.js → layers.CJISlNFA.js} +1 -1
- package/dist/{layers.PPRoUsAA.js → layers.CJdhhNnh.js} +1 -1
- package/dist/{layers.Dvt10_k0.js → layers.CJy9QLpp.js} +1 -1
- package/dist/{layers.DdDhojq5.js → layers.CK65Z7UT.js} +3 -3
- package/dist/{layers.D8f0gMfA.js → layers.CLinJqTN.js} +1 -1
- package/dist/{layers.BUBqrcAN.js → layers.CMFppLhc.js} +1 -1
- package/dist/{layers.bGVTEvFL.js → layers.CNTT0KkD.js} +1 -1
- package/dist/{layers.ByWtFcWr.js → layers.CNkWlxRC.js} +1 -1
- package/dist/{layers.BGWnNvfv.js → layers.CNvmbPAO.js} +1 -1
- package/dist/{layers.DFoutOw5.js → layers.COMJBTVV.js} +1 -1
- package/dist/{layers.SLhPj_vV.js → layers.COuzd5hR.js} +1 -1
- package/dist/{layers.cRpc9s53.js → layers.CPXcVbIX.js} +1 -1
- package/dist/{layers.DayLOzeL.js → layers.CQPtPxrq.js} +1 -1
- package/dist/{layers.9YrcXLCx.js → layers.CRHWhH8I.js} +1 -1
- package/dist/{layers.B-gj-Dc8.js → layers.CSP2DyRT.js} +1 -1
- package/dist/{layers.C3903-fE.js → layers.CV-Q_pxQ.js} +1 -1
- package/dist/{layers.DT1iTzdJ.js → layers.CVCbMWDM.js} +1 -1
- package/dist/{layers.DLU6YNaQ.js → layers.CWcyb1Ro.js} +1 -1
- package/dist/{layers.B_4A9kFO.js → layers.CX7ak4KC.js} +1 -1
- package/dist/{layers.DVekwusD.js → layers.CY7bev42.js} +1 -1
- package/dist/{layers.D6TmtPfA.js → layers.CZ_9-PKF.js} +1 -1
- package/dist/{layers._o7boybA.js → layers.CbaTwL7b.js} +24 -24
- package/dist/{layers.x6Y0uO3K.js → layers.CcDqK21q.js} +1 -1
- package/dist/{layers.D05CXxB9.js → layers.Cdr_CxQ-.js} +1 -1
- package/dist/{layers.NZomDfcb.js → layers.Cess_9BZ.js} +4 -4
- package/dist/{layers.B_VfNyr8.js → layers.Cfb41qgn.js} +1 -1
- package/dist/{layers.Dh_PSzU8.js → layers.CfukXsaN.js} +3 -3
- package/dist/{layers.O5z0GxDA.js → layers.Cgxo36E6.js} +1 -1
- package/dist/{layers.CoGKSwpz.js → layers.CjhXMyNF.js} +6 -6
- package/dist/{layers.BJZMWw1r.js → layers.CkUzSeWo.js} +4 -4
- package/dist/{layers.B0mQfM_7.js → layers.CkpF0OvF.js} +4 -4
- package/dist/{layers.DnQ9UMTA.js → layers.CmdsAYo5.js} +1 -1
- package/dist/{layers.vJ-PLTQm.js → layers.CoaT2fO_.js} +1 -1
- package/dist/{layers.BjdpFdaF.js → layers.Cs3K5CmW.js} +7 -7
- package/dist/{layers.DvilG5XZ.js → layers.Csa1rfGh.js} +1 -1
- package/dist/{layers.ZG9uhmWq.js → layers.CuB2P08D.js} +1 -1
- package/dist/{layers.BH_ae3SK.js → layers.CvAuZYR8.js} +1 -1
- package/dist/{layers.DCkAMq7J.js → layers.CxRhIRXG.js} +1 -1
- package/dist/{layers.Cb18TKKb.js → layers.Cz0AEJ4U.js} +1 -1
- package/dist/{layers.DGkNq70x.js → layers.CzM463VJ.js} +1 -1
- package/dist/{layers.DSAU81oH.js → layers.D10dmAJu.js} +418 -418
- package/dist/{layers.DituWlSm.js → layers.D2-x5LHg.js} +1 -1
- package/dist/{layers.CcDpPRa3.js → layers.D42Tfuww.js} +1 -1
- package/dist/{layers.CGKEyQWx.js → layers.D7eXbvb7.js} +1 -1
- package/dist/{layers.CBMAZyP_.js → layers.D8HAVQEg.js} +1 -1
- package/dist/{layers.Cl_YVr0L.js → layers.D8Uxh-8v.js} +1 -1
- package/dist/{layers.CaCwyFce.js → layers.DB-LISe0.js} +1 -1
- package/dist/{layers.B2QpNG6M.js → layers.DBAeFQj6.js} +1 -1
- package/dist/layers.DB_mi6OW.js +1 -0
- package/dist/{layers.BGqpw-G8.js → layers.DCsvhU_y.js} +2 -2
- package/dist/{layers.7GRw0JV8.js → layers.DEgknCXM.js} +1 -1
- package/dist/{layers.4GNijh6t.js → layers.DGB1jAqG.js} +3 -3
- package/dist/{layers.CPFZSGGh.js → layers.DHADOrLf.js} +1 -1
- package/dist/{layers.DFWMI5T9.js → layers.DHfAnMOp.js} +1 -1
- package/dist/{layers.C7WBszjx.js → layers.DHsMNDgf.js} +1 -1
- package/dist/{layers.DPRegaV-.js → layers.DM8m3lmn.js} +7 -7
- package/dist/{layers.Ckv7p0Cl.js → layers.DMD4ZSwd.js} +1 -1
- package/dist/{layers.ChbuRCNy.js → layers.DNWgCgxa.js} +1 -1
- package/dist/{layers.CzvGodqc.js → layers.DNa7145u.js} +1 -1
- package/dist/{layers.DdfcOJU0.js → layers.DO1og0Z5.js} +1 -1
- package/dist/{layers.Dn1BTkKc.js → layers.DPEDzMUX.js} +1 -1
- package/dist/{layers.CutJsscp.js → layers.DQEwByqy.js} +1 -1
- package/dist/{layers.CSIz9FYs.js → layers.DRy3GYjE.js} +3 -3
- package/dist/{layers.BcDhm33-.js → layers.DU5enqMZ.js} +1 -1
- package/dist/{layers.Dz4Dlb5F.js → layers.DWQn6pp-.js} +1 -1
- package/dist/{layers.C2GnCJcv.js → layers.DWmuNcc5.js} +1 -1
- package/dist/{layers.BYH3Kroe.js → layers.DWucmmdn.js} +1 -1
- package/dist/{layers.CLU_XAad.js → layers.DY8wfrsg.js} +2 -2
- package/dist/{layers.BnkHC_Oc.js → layers.DZ5ol_c2.js} +1 -1
- package/dist/{layers.DUxRk8L1.js → layers.D_-SbWgS.js} +1 -1
- package/dist/{layers.C42FV38m.js → layers.D_lUzj5R.js} +1 -1
- package/dist/{layers.eCTjZNfq.js → layers.Daqq6Vf2.js} +1 -1
- package/dist/{layers.BqE1cEL_.js → layers.DcZ2ufpv.js} +1 -1
- package/dist/{layers.Bwsv13Sa.js → layers.DeJYX9UE.js} +1 -1
- package/dist/{layers.CKy8MSLQ.js → layers.DeayTc-g.js} +1 -1
- package/dist/{layers.DYXwUH9e.js → layers.DgNTuNtY.js} +1 -1
- package/dist/{layers.CLiiWpJP.js → layers.DlAdk898.js} +1 -1
- package/dist/{layers.CmoYcxXL.js → layers.Dm_CrmMh.js} +3 -3
- package/dist/{layers.eic5RVID.js → layers.DnJqbn6S.js} +1 -1
- package/dist/{layers.CKgU8T7B.js → layers.Dqh9LBsx.js} +3 -3
- package/dist/{layers.Uo41Zp6F.js → layers.DriQJLoH.js} +1 -1
- package/dist/{layers.CKcjoLju.js → layers.DswgmbSQ.js} +1 -1
- package/dist/{layers.Bz7NH3Ja.js → layers.Dt7CDXdA.js} +1 -1
- package/dist/{layers.BQ2GdNHj.js → layers.DtK6BGzm.js} +1 -1
- package/dist/{layers.BieQPNJX.js → layers.DtncfGXO.js} +6 -6
- package/dist/{layers.DEqYQU2G.js → layers.DtsqMgf4.js} +1 -1
- package/dist/{layers.CTmULLmg.js → layers.DujbKaIR.js} +2 -2
- package/dist/{layers.DDO74hkK.js → layers.DvqOf_gB.js} +1 -1
- package/dist/{layers.B4unb-lk.js → layers.DwId6vac.js} +1 -1
- package/dist/{layers.CPrw4tSM.js → layers.DxMh0BN2.js} +10 -10
- package/dist/{layers.jTxzmm6D.js → layers.DyHmdLOM.js} +212 -206
- package/dist/{layers.Cs-Qm16B.js → layers.FBJa9vub.js} +1 -1
- package/dist/{layers.CDQemUkt.js → layers.G_rtb4AE.js} +1 -1
- package/dist/{layers.CCXdskK_.js → layers.I74uzHww.js} +1 -1
- package/dist/{layers.ByAfdCHR.js → layers.I8Oh5sXu.js} +7 -7
- package/dist/{layers.CHD1zSYI.js → layers.KWgUiIP2.js} +1 -1
- package/dist/{layers.CrQV5evf.js → layers.LmYFLigm.js} +1 -1
- package/dist/{layers.LUsmvTUU.js → layers.N1ROj-R6.js} +1 -1
- package/dist/layers.N6dU8bSh.js +6 -0
- package/dist/{layers.DIBD80Su.js → layers.NOQwtuUC.js} +1 -1
- package/dist/{layers.CJO6gwir.js → layers.Nuw6adTM.js} +1 -1
- package/dist/{layers.BcqOvuux.js → layers.PFB-H3nx.js} +1 -1
- package/dist/{layers.DaekqInu.js → layers.PVy4_LAi.js} +1 -1
- package/dist/{layers.DpTbRUsM.js → layers.QKsJUTRD.js} +1 -1
- package/dist/{layers.BxX8NFri.js → layers.QjAkHUuJ.js} +1 -1
- package/dist/{layers.BWl36pbb.js → layers.QpWU_Lkz.js} +2 -2
- package/dist/{layers.BbMQXyBa.js → layers.T4mMU8jH.js} +1 -1
- package/dist/{layers.BemQxE4r.js → layers.TPxWV2wF.js} +1 -1
- package/dist/{layers.B5fYtTZT.js → layers.Vo6QDidS.js} +1 -1
- package/dist/{layers.fjqhJnO5.js → layers.VtVVjlkf.js} +3 -3
- package/dist/{layers.tMU6Ekb2.js → layers.W8NNoKhz.js} +3 -3
- package/dist/{layers.DwrvpNkZ.js → layers.XQH0rtfz.js} +1 -1
- package/dist/{layers.BlUlBkhp.js → layers.XzwQca6N.js} +1 -1
- package/dist/{layers.DYtT_2W_.js → layers.bMuZx-0x.js} +1 -1
- package/dist/{layers.hL7X5WQk.js → layers.b_laEpCP.js} +1 -1
- package/dist/{layers.C1PDlE34.js → layers.cIyc6YRH.js} +1 -1
- package/dist/{layers.3QTo5o15.js → layers.cnGLsk7F.js} +1 -1
- package/dist/{layers.rpjmq36c.js → layers.dBWX9cqu.js} +1 -1
- package/dist/{layers.DNmH6yCl.js → layers.eKaUkEN7.js} +1 -1
- package/dist/{layers.GQitM6w0.js → layers.ekjwYja0.js} +1 -1
- package/dist/{layers.By1AAp3-.js → layers.gT5f9LwG.js} +1 -1
- package/dist/{layers.C61WP72S.js → layers.gV4X_99B.js} +3 -3
- package/dist/{layers.ocXfhHqM.js → layers.iBByjL6O.js} +1 -1
- package/dist/{layers.BmLJ78sm.js → layers.n7jxvqto.js} +1 -1
- package/dist/{layers.D0Cjrep0.js → layers.pBSFAkfJ.js} +1 -1
- package/dist/{layers.C7E8L6Xs.js → layers.q2Lgrupx.js} +10 -10
- package/dist/{layers.BhbuA69c.js → layers.qZXpm9GD.js} +1 -1
- package/dist/{layers.BBF8yJ7K.js → layers.rhfJBxTO.js} +1 -1
- package/dist/{layers.ySNGTcm_.js → layers.sU5EGHBH.js} +1 -1
- package/dist/{layers.DYZDcvsd.js → layers.sYis1AOJ.js} +1 -1
- package/dist/{layers.D73NqqYr.js → layers.vNSIitNS.js} +1 -1
- package/dist/{layers.Bg4fDHxu.js → layers.vXd7WWCG.js} +1 -1
- package/dist/{layers.DJzRyUL9.js → layers.w3L9kMaV.js} +1 -1
- package/dist/{layers.C6Tz5MCO.js → layers.wDzV7yTB.js} +1 -1
- package/package.json +1 -1
- package/dist/layers.CImef2Q4.js +0 -1
- package/dist/layers.Cb7NfWSf.js +0 -1
- package/dist/layers.DDTcQc3-.js +0 -8
- package/dist/layers.DUIEminS.js +0 -6
- package/dist/layers.yfFwHxeD.js +0 -7
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./layers.
|
|
1
|
+
import "./layers.BbQ5yfY5.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.Cyzu9PKQ.js"),k=require("./layers.BLd2spTm.js"),u=require("./layers.CJO6gwir.js"),i=require("./layers._o7boybA.js"),j=require("./layers.C33jsIpE.js");function G(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const m=G(P);function x(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:M(e),edges:F(e)};return m.isUndefined(e.graph())||(t.value=m.clone(e.graph())),t}function M(e){return m.map(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),s={v:t};return m.isUndefined(n)||(s.value=n),m.isUndefined(r)||(s.parent=r),s})}function F(e){return m.map(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return m.isUndefined(t.name)||(r.name=t.name),m.isUndefined(n)||(r.value=n),r})}let a={},w={},p={};const q=()=>{w={},p={},a={}},X=(e,t)=>(i.log$1.trace("In isDescendant",t," ",e," = ",w[t].includes(e)),!!w[t].includes(e)),_=(e,t)=>(i.log$1.info("Descendants of ",t," is ",w[t]),i.log$1.info("Edge is ",e),e.v===t||e.w===t?!1:w[t]?w[t].includes(e.v)||X(e.v,t)||X(e.w,t)||w[t].includes(e.w):(i.log$1.debug("Tilt, ",t,",not in descendants"),!1)),B=(e,t,n,r)=>{i.log$1.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const s=t.children(e)||[];e!==r&&s.push(e),i.log$1.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(o=>{if(t.children(o).length>0)B(o,t,n,r);else{const f=t.node(o);i.log$1.info("cp ",o," to ",r," with parent ",e),n.setNode(o,f),r!==t.parent(o)&&(i.log$1.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==r&&o!==e?(i.log$1.debug("Setting parent",o,e),n.setParent(o,e)):(i.log$1.info("In copy ",e,"root",r,"data",t.node(e),r),i.log$1.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==r,"node!==clusterId",o!==e));const g=t.edges(o);i.log$1.debug("Copying Edges",g),g.forEach(d=>{i.log$1.info("Edge",d);const h=t.edge(d.v,d.w,d.name);i.log$1.info("Edge data",h,r);try{_(d,r)?(i.log$1.info("Copying as ",d.v,d.w,h,d.name),n.setEdge(d.v,d.w,h,d.name),i.log$1.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.log$1.info("Skipping copy of edge ",d.v,"-->",d.w," rootId: ",r," clusterId:",e)}catch($){i.log$1.error($)}})}i.log$1.debug("Removing node",o),t.removeNode(o)})},D=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)p[s]=e,r=[...r,...D(s,t)];return r},C=(e,t)=>{i.log$1.trace("Searching",e);const n=t.children(e);if(i.log$1.trace("Searching children of id ",e,n),n.length<1)return i.log$1.trace("This is a valid node",e),e;for(const r of n){const s=C(r,t);if(s)return i.log$1.trace("Found replacement for",e," => ",s),s}},S=e=>!a[e]||!a[e].externalConnections?e:a[e]?a[e].id:e,U=(e,t)=>{if(!e||t>10){i.log$1.debug("Opting out, no graph ");return}else i.log$1.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.log$1.warn("Cluster identified",n," Replacement id in edges: ",C(n,e)),w[n]=D(n,e),a[n]={id:C(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),s=e.edges();r.length>0?(i.log$1.debug("Cluster identified",n,w),s.forEach(o=>{if(o.v!==n&&o.w!==n){const f=X(o.v,n),g=X(o.w,n);f^g&&(i.log$1.warn("Edge: ",o," leaves cluster ",n),i.log$1.warn("Descendants of XXX ",n,": ",w[n]),a[n].externalConnections=!0)}})):i.log$1.debug("Not a cluster ",n,w)});for(let n of Object.keys(a)){const r=a[n].id,s=e.parent(r);s!==n&&a[s]&&!a[s].externalConnections&&(a[n].id=s)}e.edges().forEach(function(n){const r=e.edge(n);i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,o=n.w;if(i.log$1.warn("Fix XXX",a,"ids:",n.v,n.w,"Translating: ",a[n.v]," --- ",a[n.w]),a[n.v]&&a[n.w]&&a[n.v]===a[n.w]){i.log$1.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name);const f=n.w+"---"+n.v;e.setNode(f,{domId:f,id:f,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const g=structuredClone(r),d=structuredClone(r);g.label="",g.arrowTypeEnd="none",d.label="",g.fromCluster=n.v,d.toCluster=n.v,e.setEdge(s,f,g,n.name+"-cyclic-special"),e.setEdge(f,o,d,n.name+"-cyclic-special")}else if(a[n.v]||a[n.w]){if(i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v){const f=e.parent(s);a[f].externalConnections=!0,r.fromCluster=n.v}if(o!==n.w){const f=e.parent(o);a[f].externalConnections=!0,r.toCluster=n.w}i.log$1.warn("Fix Replacing with XXX",s,o,n.name),e.setEdge(s,o,r,n.name)}}),i.log$1.warn("Adjusted Graph",x(e)),T(e,0),i.log$1.trace(a)},T=(e,t)=>{if(i.log$1.warn("extractor - ",t,x(e),e.children("D")),t>10){i.log$1.error("Bailing out");return}let n=e.nodes(),r=!1;for(const s of n){const o=e.children(s);r=r||o.length>0}if(!r){i.log$1.debug("Done, no node has children",e.nodes());return}i.log$1.debug("Nodes = ",n,t);for(const s of n)if(i.log$1.debug("Extracting node",s,a,a[s]&&!a[s].externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!a[s])i.log$1.debug("Not a cluster",s,t);else if(!a[s].externalConnections&&e.children(s)&&e.children(s).length>0){i.log$1.warn("Cluster without external connections, without a parent and with children",s,t);let f=e.graph().rankdir==="TB"?"LR":"TB";a[s]&&a[s].clusterData&&a[s].clusterData.dir&&(f=a[s].clusterData.dir,i.log$1.warn("Fixing dir",a[s].clusterData.dir,f));const g=new k.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:f,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.log$1.warn("Old graph before copy",x(e)),B(s,e,g,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:a[s].clusterData,labelText:a[s].labelText,graph:g}),i.log$1.warn("New graph after copy node: (",s,")",x(g)),i.log$1.debug("Old graph after copy",x(e))}else i.log$1.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!a[s].externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.log$1.debug(a);n=e.nodes(),i.log$1.warn("New list of nodes",n);for(const s of n){const o=e.node(s);i.log$1.warn(" Now next level",s,o),o.clusterNode&&T(o.graph,t+1)}},O=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),o=O(e,s);n=[...n,...o]}),n},A=e=>O(e,e.children()),H=(e,t)=>{i.log$1.info("Creating subgraph rect for ",t.id,t);const n=i.getConfig(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),s=r.insert("rect",":first-child"),o=i.evaluate(n.flowchart.htmlLabels),f=r.insert("g").attr("class","cluster-label"),g=t.labelType==="markdown"?j.createText(f,t.labelText,{style:t.labelStyle,useHtmlLabels:o}):f.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}const h=0*t.padding,$=h/2,y=t.width<=d.width+h?d.width+h:t.width;t.width<=d.width+h?t.diff=(d.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,i.log$1.trace("Data ",t,JSON.stringify(t)),s.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-y/2).attr("y",t.y-t.height/2-$).attr("width",y).attr("height",t.height+h);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o?f.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+N})`):f.attr("transform",`translate(${t.x}, ${t.y-t.height/2+N})`);const b=s.node().getBBox();return t.width=b.width,t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},V=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2-o).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.intersect=function(g){return u.intersectRect$1(t,g)},n},z=(e,t)=>{const n=i.getConfig(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),s=r.insert("rect",":first-child"),o=r.insert("g").attr("class","cluster-label"),f=r.append("rect"),g=o.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}d=g.getBBox();const h=0*t.padding,$=h/2,y=t.width<=d.width+t.padding?d.width+t.padding:t.width;t.width<=d.width+t.padding?t.diff=(d.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,s.attr("class","outer").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$).attr("width",y+h).attr("height",t.height+h),f.attr("class","inner").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$+d.height-1).attr("width",y+h).attr("height",t.height+h-d.height-3);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2-t.padding/3+(i.evaluate(n.flowchart.htmlLabels)?5:3)+N})`);const b=s.node().getBBox();return t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},W=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.diff=-t.padding/2,t.intersect=function(g){return u.intersectRect$1(t,g)},n},K={rect:H,roundedWithTitle:z,noteGroup:V,divider:W};let R={};const Q=(e,t)=>{i.log$1.trace("Inserting cluster");const n=t.shape||"rect";R[t.id]=K[n](e,t)},Y=()=>{R={}},L=async(e,t,n,r,s,o)=>{i.log$1.info("Graph in recursive render: XXX",x(t),s);const f=t.graph().rankdir;i.log$1.trace("Dir in recursive render - dir:",f);const g=e.insert("g").attr("class","root");t.nodes()?i.log$1.info("Recursive render XXX",t.nodes()):i.log$1.info("No nodes found for",t),t.edges().length>0&&i.log$1.trace("Recursive edges",t.edge(t.edges()[0]));const d=g.insert("g").attr("class","clusters"),h=g.insert("g").attr("class","edgePaths"),$=g.insert("g").attr("class","edgeLabels"),y=g.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(l){const c=t.node(l);if(s!==void 0){const v=JSON.parse(JSON.stringify(s.clusterData));i.log$1.info("Setting data for cluster XXX (",l,") ",v,s),t.setNode(s.id,v),t.parent(l)||(i.log$1.trace("Setting parent",l,s.id),t.setParent(l,s.id,v))}if(i.log$1.info("(Insert) Node XXX"+l+": "+JSON.stringify(t.node(l))),c&&c.clusterNode){i.log$1.info("Cluster identified",l,c.width,t.node(l));const v=await L(y,c.graph,n,r,t.node(l),o),E=v.elem;u.updateNodeBounds(c,E),c.diff=v.diff||0,i.log$1.info("Node bounds (abc123)",l,c,c.width,c.x,c.y),u.setNodeElem(E,c),i.log$1.warn("Recursive render complete ",E,c)}else t.children(l).length>0?(i.log$1.info("Cluster - the non recursive path XXX",l,c.id,c,t),i.log$1.info(C(c.id,t)),a[c.id]={id:C(c.id,t),node:c}):(i.log$1.info("Node - the non recursive path",l,c.id,c),await u.insertNode(y,t.node(l),f))})),t.edges().forEach(function(l){const c=t.edge(l.v,l.w,l.name);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l)),i.log$1.info("Edge "+l.v+" -> "+l.w+": ",l," ",JSON.stringify(t.edge(l))),i.log$1.info("Fix",a,"ids:",l.v,l.w,"Translating: ",a[l.v],a[l.w]),u.insertEdgeLabel($,c)}),t.edges().forEach(function(l){i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l))}),i.log$1.info("#############################################"),i.log$1.info("### Layout ###"),i.log$1.info("#############################################"),i.log$1.info(t),J.layout(t),i.log$1.info("Graph after layout:",x(t));let N=0;const{subGraphTitleTotalMargin:b}=u.getSubGraphTitleMargins(o);return A(t).forEach(function(l){const c=t.node(l);i.log$1.info("Position "+l+": "+JSON.stringify(t.node(l))),i.log$1.info("Position "+l+": ("+c.x,","+c.y,") width: ",c.width," height: ",c.height),c&&c.clusterNode?(c.y+=b,u.positionNode(c)):t.children(l).length>0?(c.height+=b,Q(d,c),a[c.id].node=c):(c.y+=b/2,u.positionNode(c))}),t.edges().forEach(function(l){const c=t.edge(l);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(c),c),c.points.forEach(E=>E.y+=b/2);const v=u.insertEdge(h,l,c,a,n,t,r);u.positionEdgeLabel(c,v)}),t.nodes().forEach(function(l){const c=t.node(l);i.log$1.info(l,c.type,c.diff),c.type==="group"&&(N=c.diff)}),{elem:g,diff:N}},Z=async(e,t,n,r,s)=>{u.insertMarkers$1(e,n,r,s),u.clear$1(),u.clear(),Y(),q(),i.log$1.warn("Graph at first:",JSON.stringify(x(t))),U(t),i.log$1.warn("Graph after:",JSON.stringify(x(t)));const o=i.getConfig();await L(e,t,r,s,void 0,o)};exports.render=Z;
|
|
1
|
+
"use strict";const P=require("lodash-es"),J=require("./layers.Cyzu9PKQ.js"),k=require("./layers.BLd2spTm.js"),u=require("./layers.Nuw6adTM.js"),i=require("./layers.CbaTwL7b.js"),j=require("./layers.9CJvEe0H.js");function G(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const m=G(P);function x(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:M(e),edges:F(e)};return m.isUndefined(e.graph())||(t.value=m.clone(e.graph())),t}function M(e){return m.map(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),s={v:t};return m.isUndefined(n)||(s.value=n),m.isUndefined(r)||(s.parent=r),s})}function F(e){return m.map(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return m.isUndefined(t.name)||(r.name=t.name),m.isUndefined(n)||(r.value=n),r})}let a={},w={},p={};const q=()=>{w={},p={},a={}},X=(e,t)=>(i.log$1.trace("In isDescendant",t," ",e," = ",w[t].includes(e)),!!w[t].includes(e)),_=(e,t)=>(i.log$1.info("Descendants of ",t," is ",w[t]),i.log$1.info("Edge is ",e),e.v===t||e.w===t?!1:w[t]?w[t].includes(e.v)||X(e.v,t)||X(e.w,t)||w[t].includes(e.w):(i.log$1.debug("Tilt, ",t,",not in descendants"),!1)),B=(e,t,n,r)=>{i.log$1.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const s=t.children(e)||[];e!==r&&s.push(e),i.log$1.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(o=>{if(t.children(o).length>0)B(o,t,n,r);else{const f=t.node(o);i.log$1.info("cp ",o," to ",r," with parent ",e),n.setNode(o,f),r!==t.parent(o)&&(i.log$1.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==r&&o!==e?(i.log$1.debug("Setting parent",o,e),n.setParent(o,e)):(i.log$1.info("In copy ",e,"root",r,"data",t.node(e),r),i.log$1.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==r,"node!==clusterId",o!==e));const g=t.edges(o);i.log$1.debug("Copying Edges",g),g.forEach(d=>{i.log$1.info("Edge",d);const h=t.edge(d.v,d.w,d.name);i.log$1.info("Edge data",h,r);try{_(d,r)?(i.log$1.info("Copying as ",d.v,d.w,h,d.name),n.setEdge(d.v,d.w,h,d.name),i.log$1.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.log$1.info("Skipping copy of edge ",d.v,"-->",d.w," rootId: ",r," clusterId:",e)}catch($){i.log$1.error($)}})}i.log$1.debug("Removing node",o),t.removeNode(o)})},D=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)p[s]=e,r=[...r,...D(s,t)];return r},C=(e,t)=>{i.log$1.trace("Searching",e);const n=t.children(e);if(i.log$1.trace("Searching children of id ",e,n),n.length<1)return i.log$1.trace("This is a valid node",e),e;for(const r of n){const s=C(r,t);if(s)return i.log$1.trace("Found replacement for",e," => ",s),s}},S=e=>!a[e]||!a[e].externalConnections?e:a[e]?a[e].id:e,U=(e,t)=>{if(!e||t>10){i.log$1.debug("Opting out, no graph ");return}else i.log$1.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.log$1.warn("Cluster identified",n," Replacement id in edges: ",C(n,e)),w[n]=D(n,e),a[n]={id:C(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),s=e.edges();r.length>0?(i.log$1.debug("Cluster identified",n,w),s.forEach(o=>{if(o.v!==n&&o.w!==n){const f=X(o.v,n),g=X(o.w,n);f^g&&(i.log$1.warn("Edge: ",o," leaves cluster ",n),i.log$1.warn("Descendants of XXX ",n,": ",w[n]),a[n].externalConnections=!0)}})):i.log$1.debug("Not a cluster ",n,w)});for(let n of Object.keys(a)){const r=a[n].id,s=e.parent(r);s!==n&&a[s]&&!a[s].externalConnections&&(a[n].id=s)}e.edges().forEach(function(n){const r=e.edge(n);i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,o=n.w;if(i.log$1.warn("Fix XXX",a,"ids:",n.v,n.w,"Translating: ",a[n.v]," --- ",a[n.w]),a[n.v]&&a[n.w]&&a[n.v]===a[n.w]){i.log$1.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name);const f=n.w+"---"+n.v;e.setNode(f,{domId:f,id:f,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const g=structuredClone(r),d=structuredClone(r);g.label="",g.arrowTypeEnd="none",d.label="",g.fromCluster=n.v,d.toCluster=n.v,e.setEdge(s,f,g,n.name+"-cyclic-special"),e.setEdge(f,o,d,n.name+"-cyclic-special")}else if(a[n.v]||a[n.w]){if(i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v){const f=e.parent(s);a[f].externalConnections=!0,r.fromCluster=n.v}if(o!==n.w){const f=e.parent(o);a[f].externalConnections=!0,r.toCluster=n.w}i.log$1.warn("Fix Replacing with XXX",s,o,n.name),e.setEdge(s,o,r,n.name)}}),i.log$1.warn("Adjusted Graph",x(e)),T(e,0),i.log$1.trace(a)},T=(e,t)=>{if(i.log$1.warn("extractor - ",t,x(e),e.children("D")),t>10){i.log$1.error("Bailing out");return}let n=e.nodes(),r=!1;for(const s of n){const o=e.children(s);r=r||o.length>0}if(!r){i.log$1.debug("Done, no node has children",e.nodes());return}i.log$1.debug("Nodes = ",n,t);for(const s of n)if(i.log$1.debug("Extracting node",s,a,a[s]&&!a[s].externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!a[s])i.log$1.debug("Not a cluster",s,t);else if(!a[s].externalConnections&&e.children(s)&&e.children(s).length>0){i.log$1.warn("Cluster without external connections, without a parent and with children",s,t);let f=e.graph().rankdir==="TB"?"LR":"TB";a[s]&&a[s].clusterData&&a[s].clusterData.dir&&(f=a[s].clusterData.dir,i.log$1.warn("Fixing dir",a[s].clusterData.dir,f));const g=new k.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:f,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.log$1.warn("Old graph before copy",x(e)),B(s,e,g,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:a[s].clusterData,labelText:a[s].labelText,graph:g}),i.log$1.warn("New graph after copy node: (",s,")",x(g)),i.log$1.debug("Old graph after copy",x(e))}else i.log$1.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!a[s].externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.log$1.debug(a);n=e.nodes(),i.log$1.warn("New list of nodes",n);for(const s of n){const o=e.node(s);i.log$1.warn(" Now next level",s,o),o.clusterNode&&T(o.graph,t+1)}},O=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),o=O(e,s);n=[...n,...o]}),n},A=e=>O(e,e.children()),H=(e,t)=>{i.log$1.info("Creating subgraph rect for ",t.id,t);const n=i.getConfig(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),s=r.insert("rect",":first-child"),o=i.evaluate(n.flowchart.htmlLabels),f=r.insert("g").attr("class","cluster-label"),g=t.labelType==="markdown"?j.createText(f,t.labelText,{style:t.labelStyle,useHtmlLabels:o}):f.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}const h=0*t.padding,$=h/2,y=t.width<=d.width+h?d.width+h:t.width;t.width<=d.width+h?t.diff=(d.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,i.log$1.trace("Data ",t,JSON.stringify(t)),s.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-y/2).attr("y",t.y-t.height/2-$).attr("width",y).attr("height",t.height+h);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o?f.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+N})`):f.attr("transform",`translate(${t.x}, ${t.y-t.height/2+N})`);const b=s.node().getBBox();return t.width=b.width,t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},V=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2-o).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.intersect=function(g){return u.intersectRect$1(t,g)},n},z=(e,t)=>{const n=i.getConfig(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),s=r.insert("rect",":first-child"),o=r.insert("g").attr("class","cluster-label"),f=r.append("rect"),g=o.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}d=g.getBBox();const h=0*t.padding,$=h/2,y=t.width<=d.width+t.padding?d.width+t.padding:t.width;t.width<=d.width+t.padding?t.diff=(d.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,s.attr("class","outer").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$).attr("width",y+h).attr("height",t.height+h),f.attr("class","inner").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$+d.height-1).attr("width",y+h).attr("height",t.height+h-d.height-3);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2-t.padding/3+(i.evaluate(n.flowchart.htmlLabels)?5:3)+N})`);const b=s.node().getBBox();return t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},W=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.diff=-t.padding/2,t.intersect=function(g){return u.intersectRect$1(t,g)},n},K={rect:H,roundedWithTitle:z,noteGroup:V,divider:W};let R={};const Q=(e,t)=>{i.log$1.trace("Inserting cluster");const n=t.shape||"rect";R[t.id]=K[n](e,t)},Y=()=>{R={}},L=async(e,t,n,r,s,o)=>{i.log$1.info("Graph in recursive render: XXX",x(t),s);const f=t.graph().rankdir;i.log$1.trace("Dir in recursive render - dir:",f);const g=e.insert("g").attr("class","root");t.nodes()?i.log$1.info("Recursive render XXX",t.nodes()):i.log$1.info("No nodes found for",t),t.edges().length>0&&i.log$1.trace("Recursive edges",t.edge(t.edges()[0]));const d=g.insert("g").attr("class","clusters"),h=g.insert("g").attr("class","edgePaths"),$=g.insert("g").attr("class","edgeLabels"),y=g.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(l){const c=t.node(l);if(s!==void 0){const v=JSON.parse(JSON.stringify(s.clusterData));i.log$1.info("Setting data for cluster XXX (",l,") ",v,s),t.setNode(s.id,v),t.parent(l)||(i.log$1.trace("Setting parent",l,s.id),t.setParent(l,s.id,v))}if(i.log$1.info("(Insert) Node XXX"+l+": "+JSON.stringify(t.node(l))),c&&c.clusterNode){i.log$1.info("Cluster identified",l,c.width,t.node(l));const v=await L(y,c.graph,n,r,t.node(l),o),E=v.elem;u.updateNodeBounds(c,E),c.diff=v.diff||0,i.log$1.info("Node bounds (abc123)",l,c,c.width,c.x,c.y),u.setNodeElem(E,c),i.log$1.warn("Recursive render complete ",E,c)}else t.children(l).length>0?(i.log$1.info("Cluster - the non recursive path XXX",l,c.id,c,t),i.log$1.info(C(c.id,t)),a[c.id]={id:C(c.id,t),node:c}):(i.log$1.info("Node - the non recursive path",l,c.id,c),await u.insertNode(y,t.node(l),f))})),t.edges().forEach(function(l){const c=t.edge(l.v,l.w,l.name);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l)),i.log$1.info("Edge "+l.v+" -> "+l.w+": ",l," ",JSON.stringify(t.edge(l))),i.log$1.info("Fix",a,"ids:",l.v,l.w,"Translating: ",a[l.v],a[l.w]),u.insertEdgeLabel($,c)}),t.edges().forEach(function(l){i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l))}),i.log$1.info("#############################################"),i.log$1.info("### Layout ###"),i.log$1.info("#############################################"),i.log$1.info(t),J.layout(t),i.log$1.info("Graph after layout:",x(t));let N=0;const{subGraphTitleTotalMargin:b}=u.getSubGraphTitleMargins(o);return A(t).forEach(function(l){const c=t.node(l);i.log$1.info("Position "+l+": "+JSON.stringify(t.node(l))),i.log$1.info("Position "+l+": ("+c.x,","+c.y,") width: ",c.width," height: ",c.height),c&&c.clusterNode?(c.y+=b,u.positionNode(c)):t.children(l).length>0?(c.height+=b,Q(d,c),a[c.id].node=c):(c.y+=b/2,u.positionNode(c))}),t.edges().forEach(function(l){const c=t.edge(l);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(c),c),c.points.forEach(E=>E.y+=b/2);const v=u.insertEdge(h,l,c,a,n,t,r);u.positionEdgeLabel(c,v)}),t.nodes().forEach(function(l){const c=t.node(l);i.log$1.info(l,c.type,c.diff),c.type==="group"&&(N=c.diff)}),{elem:g,diff:N}},Z=async(e,t,n,r,s)=>{u.insertMarkers$1(e,n,r,s),u.clear$1(),u.clear(),Y(),q(),i.log$1.warn("Graph at first:",JSON.stringify(x(t))),U(t),i.log$1.warn("Graph after:",JSON.stringify(x(t)));const o=i.getConfig();await L(e,t,r,s,void 0,o)};exports.render=Z;
|