@layers-app/editor 2.1.4 → 2.1.6
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 +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/{layers.BTyLb_e_.js → layers.-3TgXlPl.js} +1 -1
- package/dist/layers.-y_UZ59Z.js +1 -0
- package/dist/{layers.DzUUP9Du.js → layers.0Z-avhNl.js} +1 -1
- package/dist/{layers.Byu2aohV.js → layers.1Z49Tkee.js} +1 -1
- package/dist/{layers.Da-2dyEi.js → layers.2bIZBONK.js} +1 -1
- package/dist/{layers.GLyR-OWz.js → layers.3sAB09G7.js} +151 -142
- package/dist/{layers.D3UeFDcM.js → layers.4dFnOP_Q.js} +1 -1
- package/dist/{layers.CYx3WWdM.js → layers.5MAh1_gS.js} +1 -1
- package/dist/layers.6uJ-DOHJ.js +567 -0
- package/dist/{layers.BKoYtTI-.js → layers.6zcrl6Ag.js} +1 -1
- package/dist/{layers.7xEtaMzU.js → layers.8G8Av-tH.js} +1 -1
- package/dist/{layers.piLdW3O-.js → layers.8JqVfT2m.js} +1 -1
- package/dist/{layers.YVE78Hde.js → layers.B19EH92g.js} +1 -1
- package/dist/{layers.BqwIK88k.js → layers.B2JHXdAE.js} +1 -1
- package/dist/{layers.BMBTFPwh.js → layers.B6Z2psFi.js} +1 -1
- package/dist/{layers.Bz56YIfK.js → layers.B6aMdFQc.js} +1 -1
- package/dist/{layers.AW6ZJg83.js → layers.B6c13aD6.js} +1 -1
- package/dist/{layers.DPBt8Ar9.js → layers.B6iFRkR5.js} +1 -1
- package/dist/{layers.DZp57Oqh.js → layers.B6lhQbU-.js} +1 -1
- package/dist/{layers.DLiB9OEd.js → layers.B8BNzzVG.js} +1 -1
- package/dist/{layers.DFf3K_BU.js → layers.BDetUzwq.js} +1 -1
- package/dist/{layers.DpPFzOm0.js → layers.BDosuCNb.js} +1 -1
- package/dist/{layers.Ci_-CaC7.js → layers.BGnv6nVK.js} +1 -1
- package/dist/{layers.CEbI900B.js → layers.BHflHQ2e.js} +1 -1
- package/dist/{layers.C2aWyQ_z.js → layers.BKRa6lfR.js} +1 -1
- package/dist/{layers.CC7k-uCF.js → layers.BNSJnTk_.js} +1 -1
- package/dist/{layers.DndmHTyu.js → layers.BNxU4V--.js} +1 -1
- package/dist/{layers.DyOMyr1U.js → layers.BPkSZe2P.js} +1 -1
- package/dist/{layers.CS7NMRN_.js → layers.BQkCHqN6.js} +25 -25
- package/dist/{layers.B5OXOXmy.js → layers.BRpi6qQ4.js} +1 -1
- package/dist/{layers.BGFBC-Gr.js → layers.BS96CeFS.js} +1 -1
- package/dist/{layers.BQaOGAZ0.js → layers.BSY9Mv6c.js} +1 -1
- package/dist/layers.BTCgzes8.js +8 -0
- package/dist/{layers.DRMN4wK5.js → layers.BVYqruEo.js} +1 -1
- package/dist/{layers.BsGxddFV.js → layers.BVcp5-RY.js} +1 -1
- package/dist/{layers.KLaNL4bG.js → layers.BVmpOSlQ.js} +1 -1
- package/dist/{layers.Ck3pOq18.js → layers.BXahqVhg.js} +1 -1
- package/dist/{layers.BocO2HWt.js → layers.BYETtX9w.js} +1 -1
- package/dist/{layers.BJFKH68r.js → layers.B_xT7x5V.js} +1 -1
- package/dist/{layers.DTaNTG_B.js → layers.Ba4WXIFU.js} +5981 -6248
- package/dist/{layers.CKKHzx-Z.js → layers.BatMJqVT.js} +4 -4
- package/dist/{layers.CLQWeDwS.js → layers.BawFQe91.js} +4 -4
- package/dist/{layers.hN_6Bz4k.js → layers.BbcYhaon.js} +1 -1
- package/dist/{layers.C_DV_R5p.js → layers.BbdRnRp2.js} +1 -1
- package/dist/layers.BeadO2MV.js +1 -0
- package/dist/{layers.HNZIi4HM.js → layers.BfGNgQy_.js} +3 -3
- package/dist/{layers.BVpXkDdv.js → layers.Bj7b3tO1.js} +1 -1
- package/dist/{layers.DNJkc-Mo.js → layers.BjTAXqV7.js} +16818 -17723
- package/dist/{layers.DQwmvElW.js → layers.BjtVaoUo.js} +1 -1
- package/dist/{layers.BG--ipsx.js → layers.Bju18dWi.js} +3 -3
- package/dist/{layers.Dgp1gaU6.js → layers.Bl9MmPG1.js} +4 -4
- package/dist/{layers.Cswoe0IX.js → layers.BmMFB1RK.js} +1 -1
- package/dist/{layers.DJ-3Xpuz.js → layers.BmSz90V2.js} +1 -1
- package/dist/{layers.BLgjmb5i.js → layers.BoHcZ0sA.js} +1 -1
- package/dist/{layers.CrxxpXzR.js → layers.BoT2MuaR.js} +1 -1
- package/dist/{layers.Hc8Pmmic.js → layers.BoX7jDz7.js} +44 -44
- package/dist/{layers.wB2fo65H.js → layers.BrLnWaTy.js} +1 -1
- package/dist/{layers.Df22ww72.js → layers.BrSi5oAU.js} +3 -3
- package/dist/{layers.BOlJGPxF.js → layers.Bto4lZqE.js} +1 -1
- package/dist/{layers.CLXOAVPz.js → layers.BxZqQF-c.js} +1 -1
- package/dist/{layers.CiuG5bFW.js → layers.Bxc-3eQq.js} +1 -1
- package/dist/{layers.Cgc8JRjh.js → layers.By754xsJ.js} +1 -1
- package/dist/{layers.oPXgxcx0.js → layers.C0ictMKk.js} +1 -1
- package/dist/{layers.CvnlEd9b.js → layers.C1Kbzg0l.js} +1 -1
- package/dist/{layers.C27S2Xar.js → layers.C21XnGgj.js} +1 -1
- package/dist/{layers.D9SNCBUi.js → layers.C6w7QYNY.js} +1 -1
- package/dist/{layers.D4_rAe6g.js → layers.CAm3BC8Q.js} +1 -1
- package/dist/{layers.DpMixDb4.js → layers.CC3oMC39.js} +1 -1
- package/dist/{layers.BMICBPj8.js → layers.CC9JBLCA.js} +4 -4
- package/dist/{layers.CX8BXozR.js → layers.CCL8yD4w.js} +1 -1
- package/dist/{layers.B3Puj5he.js → layers.CCYhncq7.js} +1 -1
- package/dist/{layers.BGls9yuY.js → layers.CD715ntl.js} +1 -1
- package/dist/{layers.B2hwWcA2.js → layers.CDeHOe3V.js} +1 -1
- package/dist/{layers.DDVdzu5M.js → layers.CFIFmSA9.js} +1 -1
- package/dist/{layers.DeM__u1_.js → layers.CFsfo8sk.js} +1 -1
- package/dist/{layers.Cli1o2i6.js → layers.CInzTZeQ.js} +1 -1
- package/dist/{layers.Aa4aSsWk.js → layers.CIoyw-2B.js} +1 -1
- package/dist/{layers.CNpkcp3V.js → layers.CIsYLv6w.js} +4 -4
- package/dist/{layers.U56kgtto.js → layers.CItsDxfy.js} +4 -4
- package/dist/{layers.0h0xCCvu.js → layers.CKc8sSfB.js} +3 -3
- package/dist/{layers.B8zC9lOU.js → layers.CL0LZTm_.js} +1 -1
- package/dist/{layers.gu8VQIr-.js → layers.CLQ-WBiE.js} +1 -1
- package/dist/{layers.Cp00BqUB.js → layers.CLZ-clnB.js} +1 -1
- package/dist/{layers.BppwELpk.js → layers.CMLo27jB.js} +1 -1
- package/dist/{layers.CmpAOvSy.js → layers.CMbvmj-v.js} +1 -1
- package/dist/layers.CNDfPUnP.js +1 -0
- package/dist/{layers.rq_uH5pA.js → layers.CPHB2tQf.js} +1 -1
- package/dist/{layers.BxzEqaLL.js → layers.CQA0ZtL_.js} +1 -1
- package/dist/{layers.B8h3aTAI.js → layers.CSLnEoq2.js} +1 -1
- package/dist/{layers.BKHDRNqX.js → layers.CUZK-d0d.js} +1 -1
- package/dist/{layers.BGOtFCsx.js → layers.CYCc7HrB.js} +1 -1
- package/dist/{layers.GornH8rL.js → layers.C_CAkOlt.js} +1 -1
- package/dist/{layers.DcFGX6Rw.js → layers.Ca-S1hBE.js} +1 -1
- package/dist/{layers.C3LY8tx7.js → layers.CagWt2Eo.js} +2 -2
- package/dist/{layers.4n1gtRVe.js → layers.CcO4GazF.js} +1 -1
- package/dist/{layers.DIF45FFn.js → layers.CcluVD0Y.js} +1 -1
- package/dist/{layers.Dld7xCuy.js → layers.CeG6bPSC.js} +1 -1
- package/dist/{layers.D4x86ACf.js → layers.CfgQ13RL.js} +1 -1
- package/dist/{layers.C9pSe8Gq.js → layers.CfoDCAkj.js} +1 -1
- package/dist/{layers.CU4oDgOc.js → layers.CfrcIq9F.js} +1 -1
- package/dist/{layers.Ba8sUBgc.js → layers.CgDKN3q5.js} +1 -1
- package/dist/{layers.Dy3JpZkl.js → layers.CgOvXIyv.js} +1 -1
- package/dist/{layers.FICd1tQW.js → layers.Chbc8QWA.js} +3 -3
- package/dist/{layers.D3OjD3_Z.js → layers.CiA8q6tp.js} +1 -1
- package/dist/{layers.MHceKg9n.js → layers.CnNWEk4w.js} +1 -1
- package/dist/{layers.DRmnp_VT.js → layers.CsDzqWvW.js} +5 -6
- package/dist/{layers.CKOPZMk4.js → layers.CtPYPMlp.js} +1 -1
- package/dist/{layers.Dvn_9A0a.js → layers.CuWIUgEV.js} +1 -1
- package/dist/{layers.D2nNrhbx.js → layers.Cuso1aRZ.js} +1035 -1028
- package/dist/{layers.BDSOX2CD.js → layers.CyBQDKdl.js} +4 -4
- package/dist/{layers.BBgpAhwA.js → layers.CyLbNYcF.js} +1 -1
- package/dist/{layers.B_fccDFH.js → layers.Cz2NS5a_.js} +1 -1
- package/dist/{layers.DF3IwTvD.js → layers.Cz7Le3Ru.js} +1 -1
- package/dist/{layers.Bo67iVkw.js → layers.D28CChdQ.js} +1 -1
- package/dist/{layers.D6Rcr62n.js → layers.D5fMOEiz.js} +1 -1
- package/dist/{layers.Bq9RC4C4.js → layers.D5k-YiOT.js} +1 -1
- package/dist/{layers.CIV5LuL0.js → layers.D7t9A_uM.js} +1 -1
- package/dist/{layers.bK_voO90.js → layers.DAZuMiIj.js} +1 -1
- package/dist/{layers.D3xEVf11.js → layers.DAy3XJcV.js} +1 -1
- package/dist/{layers.BnZeGjMO.js → layers.DB9LziaF.js} +1 -1
- package/dist/{layers.BS8vE0dV.js → layers.DC5zyJ6O.js} +1 -1
- package/dist/{layers.CbB7a2CQ.js → layers.DCYhbLtA.js} +1 -1
- package/dist/{layers.CS330bin.js → layers.DCnGbf9n.js} +1 -1
- package/dist/{layers.7TsK-Kpe.js → layers.DDvAprfe.js} +4 -4
- package/dist/{layers.CpmoXIAt.js → layers.DDzBsP2q.js} +1 -1
- package/dist/{layers.sr1vtGu6.js → layers.DFKTExxa.js} +1 -1
- package/dist/{layers.Ce1CohBK.js → layers.DG_1__o7.js} +5 -5
- package/dist/{layers.CsxVLmvQ.js → layers.DGkkcTAA.js} +1 -1
- package/dist/{layers.BDZyk-_d.js → layers.DHQ1DpRF.js} +1 -1
- package/dist/{layers.zwanR9F3.js → layers.DHmHMxEk.js} +3 -3
- package/dist/{layers.CEng0uhp.js → layers.DIu4npTa.js} +2 -2
- package/dist/{layers.CgwU5cxh.js → layers.DJoIlneg.js} +1 -1
- package/dist/{layers.Dod6Nf_j.js → layers.DKxhMSBd.js} +1 -1
- package/dist/{layers.D03Ua4xq.js → layers.DLrapbTu.js} +1 -1
- package/dist/{layers.CgD7ay5J.js → layers.DMwcLUwV.js} +2 -2
- package/dist/{layers.BT7Zo_Ih.js → layers.DRXfldPX.js} +1 -1
- package/dist/{layers.Co_xJxKs.js → layers.DS0BQ9RR.js} +1 -1
- package/dist/{layers.Bj4PSUye.js → layers.DUN-x_KK.js} +1 -1
- package/dist/{layers.i_mYGumA.js → layers.DUeteju0.js} +1 -1
- package/dist/{layers.CUAcceRX.js → layers.DWitnGTQ.js} +1 -1
- package/dist/{layers.BDybYMm_.js → layers.DZZOUOdZ.js} +1 -1
- package/dist/{layers.CLxWcsfl.js → layers.D_TWGk7f.js} +6 -6
- package/dist/{layers.C28APEyB.js → layers.DaWjJFPe.js} +3 -3
- package/dist/{layers.DTgmIl0j.js → layers.DalS0AyT.js} +3 -3
- package/dist/{layers.ktfZPCbd.js → layers.DbyX02pi.js} +1 -1
- package/dist/{layers.W-AFrwh2.js → layers.DcY34rCh.js} +1 -1
- package/dist/{layers.DqtTeUFK.js → layers.DelEiYgx.js} +1 -1
- package/dist/{layers.DdafmrR3.js → layers.Dfr3zGq4.js} +2 -2
- package/dist/{layers.C7_sEZsw.js → layers.DjP0L5aa.js} +1 -1
- package/dist/{layers.RQU5nEtM.js → layers.DjgQExnw.js} +1 -1
- package/dist/{layers.DPbQjNkl.js → layers.Dl37Ui5U.js} +1 -1
- package/dist/{layers.DnMJFLGr.js → layers.DmSN1caD.js} +4 -4
- package/dist/{layers.CqTnCIrx.js → layers.Dpt3wYWI.js} +1 -1
- package/dist/{layers.C4VSQwqA.js → layers.DqdiqYXg.js} +1 -1
- package/dist/{layers.CRGuNhS-.js → layers.DrQH863o.js} +1 -1
- package/dist/{layers.BeMgdWFI.js → layers.DtJwUBRY.js} +1 -1
- package/dist/{layers.BN3ygs4g.js → layers.Dtj4OBzs.js} +1 -1
- package/dist/layers.DusMR33V.js +6 -0
- package/dist/{layers.rbpTi3-T.js → layers.DytFDqA2.js} +1 -1
- package/dist/{layers.C28M0pbG.js → layers.DzPR1dM9.js} +5 -5
- package/dist/{layers.Ccq59tb8.js → layers.FijKdNBd.js} +1 -1
- package/dist/{layers.CJ7b2VoP.js → layers.GzrGLfgB.js} +3 -3
- package/dist/{layers.Cdo2oTor.js → layers.Hg7rEajm.js} +1 -1
- package/dist/{layers.MubFSdwe.js → layers.I2XZcizT.js} +1 -1
- package/dist/{layers.DxbeR8gn.js → layers.IEQqXn5n.js} +1 -1
- package/dist/{layers.CvysdL-r.js → layers.KfF8ak4B.js} +1 -1
- package/dist/{layers.EW49Ned6.js → layers.KkhcEh3T.js} +1 -1
- package/dist/{layers.BRx5nPJB.js → layers.MmcIrkNV.js} +1 -1
- package/dist/{layers.Dzl9Kzo9.js → layers.OI_Bhwwf.js} +1 -1
- package/dist/{layers.CS2Q0MP6.js → layers.R7ydOy9f.js} +1 -1
- package/dist/{layers.CiVpjulR.js → layers.T4P6Dy6O.js} +1 -1
- package/dist/{layers.JQ45PKXx.js → layers.UxxqKXFR.js} +1 -1
- package/dist/{layers.DQ15N9DZ.js → layers.VIYQvTTK.js} +1 -1
- package/dist/layers.W9fmQz5y.js +1 -0
- package/dist/{layers.C9egzq2p.js → layers.WzauS0JH.js} +1 -1
- package/dist/{layers.K43S7aP0.js → layers.X5GX-2If.js} +1 -1
- package/dist/{layers.B54prYGZ.js → layers.XBLltQjI.js} +1 -1
- package/dist/{layers.CSSbl973.js → layers.Ybzdv-R1.js} +1 -1
- package/dist/{layers.F3RaMrM-.js → layers.ZwHHYsTX.js} +1 -1
- package/dist/{layers.DkgAwtpC.js → layers._6uyUep7.js} +1 -1
- package/dist/{layers.Cm_sw-AY.js → layers.abQyPVbZ.js} +1 -1
- package/dist/{layers.DvzDTiKM.js → layers.asimq_FR.js} +1 -1
- package/dist/{layers.SfPz0Yvc.js → layers.bXnZZRfF.js} +1 -1
- package/dist/layers.bsGHg1a3.js +1 -0
- package/dist/{layers.DItbZWrP.js → layers.cslk7h-Q.js} +1 -1
- package/dist/{layers.fAOYEH60.js → layers.eyWpGtOv.js} +1 -1
- package/dist/{layers.DC1iLoXw.js → layers.fdpgqNBc.js} +1 -1
- package/dist/{layers.CVWgLN9d.js → layers.hirOr7cJ.js} +2 -2
- package/dist/{layers.C6jxKkTv.js → layers.i78Mroc0.js} +1 -1
- package/dist/{layers.1iRWn23E.js → layers.iI4az_mW.js} +1 -1
- package/dist/{layers.Bhcz8svQ.js → layers.jlC4YpwN.js} +1 -1
- package/dist/{layers.CqMMm2pL.js → layers.kDEUgRsF.js} +3 -3
- package/dist/{layers.CAMZZkZG.js → layers.l-Biu9SC.js} +1 -1
- package/dist/{layers.DlEA3-cX.js → layers.lOyV0ydo.js} +1 -1
- package/dist/{layers.CFZVIlvH.js → layers.mocNc5B-.js} +1 -1
- package/dist/{layers.BcTsQfaC.js → layers.pTXUfVbB.js} +1 -1
- package/dist/{layers.47swObhK.js → layers.pXCOyYrZ.js} +1 -1
- package/dist/{layers.EW6UiJMi.js → layers.qdc4V4yC.js} +1 -1
- package/dist/{layers.DF1wIyJl.js → layers.sZJv3_GX.js} +1 -1
- package/dist/layers.yrEz0VCz.js +845 -0
- package/package.json +13 -13
- package/dist/layers.BQNASuUa.js +0 -6
- package/dist/layers.BSSHVyJ4.js +0 -1
- package/dist/layers.BfoCDFZ9.js +0 -1
- package/dist/layers.CL3mtH76.js +0 -539
- package/dist/layers.CPmFoLSN.js +0 -1125
- package/dist/layers.CmmYt3Ou.js +0 -1
- package/dist/layers.D0jPJbv8.js +0 -8
- package/dist/layers.DilA0qnM.js +0 -54
- package/dist/layers.DojFOI4Z.js +0 -1
- package/dist/layers.Dy-sMwk8.js +0 -1
- package/dist/layers.lXfukYV5.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./layers.
|
|
1
|
+
import "./layers.Ba4WXIFU.js";
|
|
2
2
|
var e = { paste: "Lim inn", pasteAsPlaintext: "Lim inn som klartekst", pasteCharts: "Lim inn diagrammer", selectAll: "Velg alt", multiSelect: "Legg til element i utvalg", moveCanvas: "Flytt lerretet", cut: "Klipp ut", copy: "Kopier", copyAsPng: "Kopier til PNG", copyAsSvg: "Kopier til utklippstavlen som SVG", copyText: "Kopier til utklippstavlen som tekst", copySource: "", convertToCode: "", bringForward: "Flytt framover", sendToBack: "Send bakerst", bringToFront: "Flytt forrest", sendBackward: "Send bakover", delete: "Slett", copyStyles: "Kopier stiler", pasteStyles: "Lim inn stiler", stroke: "Strek", background: "Bakgrunn", fill: "Fyll", strokeWidth: "Strektykkelse", strokeStyle: "Strekstil", strokeStyle_solid: "Heltrukket", strokeStyle_dashed: "Stiplet", strokeStyle_dotted: "Prikket", sloppiness: "Ujevnhet", opacity: "Synlighet", textAlign: "Tekstjustering", edges: "Kanter", sharp: "Skarp", round: "Rund", arrowheads: "Pilspisser", arrowhead_none: "Ingen", arrowhead_arrow: "Pil", arrowhead_bar: "Søyle", arrowhead_circle: "", arrowhead_circle_outline: "", arrowhead_triangle: "Trekant", arrowhead_triangle_outline: "", arrowhead_diamond: "", arrowhead_diamond_outline: "", fontSize: "Skriftstørrelse", fontFamily: "Fontfamilie", addWatermark: 'Legg til "Laget med Excalidraw"', handDrawn: "Håndtegnet", normal: "Normal", code: "Kode", small: "Liten", medium: "Medium", large: "Stor", veryLarge: "Svært stor", solid: "Helfarge", hachure: "Skravert", zigzag: "Sikk-sakk", crossHatch: "Krysskravert", thin: "Tynn", bold: "Tykk", left: "Venstre", center: "Midtstill", right: "Høyre", extraBold: "Ekstra tykk", architect: "Arkitekt", artist: "Kunstner", cartoonist: "Tegner", fileTitle: "Filnavn", colorPicker: "Fargevelger", canvasColors: "Brukes på lerretet", canvasBackground: "Lerretsbakgrunn", drawingCanvas: "Lerret", layers: "Lag", actions: "Handlinger", language: "Språk", liveCollaboration: "Sanntids-samarbeid...", duplicateSelection: "Dupliser", untitled: "Uten navn", name: "Navn", yourName: "Ditt navn", madeWithExcalidraw: "Laget med Excalidraw", group: "Gruppér utvalg", ungroup: "Avgruppér utvalg", collaborators: "Samarbeidspartnere", showGrid: "Vis rutenett", addToLibrary: "Legg til i bibliotek", removeFromLibrary: "Fjern fra bibliotek", libraryLoadingMessage: "Laster bibliotek…", libraries: "Bla gjennom biblioteker", loadingScene: "Laster inn scene…", align: "Juster", alignTop: "Juster øverst", alignBottom: "Juster nederst", alignLeft: "Juster venstre", alignRight: "Juster høyre", centerVertically: "Midtstill vertikalt", centerHorizontally: "Midtstill horisontalt", distributeHorizontally: "Distribuer horisontalt", distributeVertically: "Distribuer vertikalt", flipHorizontal: "Snu horisontalt", flipVertical: "Snu vertikalt", viewMode: "Visningsmodus", share: "Del", showStroke: "Vis fargevelger for kantfarge", showBackground: "Vis fargevelger for bakgrunnsfarge", toggleTheme: "Veksle tema", personalLib: "Personlig bibliotek", excalidrawLib: "Excalidraw-bibliotek", decreaseFontSize: "Reduser skriftstørrelse", increaseFontSize: "Øk skriftstørrelse", unbindText: "Avbind tekst", bindText: "Bind tekst til beholderen", createContainerFromText: "La tekst flyte i en beholder", link: { edit: "Rediger lenke", editEmbed: "Rediger lenke og bygg inn", create: "Opprett lenke", createEmbed: "Opprett lenke og bygg inn", label: "Lenke", labelEmbed: "Lenk & bygg inn", empty: "Ingen lenke er valgt" }, lineEditor: { edit: "Rediger linje", exit: "Avslutt linjeredigering" }, elementLock: { lock: "Lås", unlock: "Lås opp", lockAll: "Lås alle", unlockAll: "Lås opp alle" }, statusPublished: "Publisert", sidebarLock: "Holde sidemenyen åpen", selectAllElementsInFrame: "Velg alle elementene i rammen", removeAllElementsFromFrame: "Fjern alle elementer fra rammen", eyeDropper: "Velg farge fra lerretet", textToDiagram: "", prompt: "" }, t = { noItems: "Ingen elementer lagt til ennå...", hint_emptyLibrary: "Velg et objekt på lerretet for å legge det til her, eller installer et bibliotek fra den offentlige samlingen under.", hint_emptyPrivateLibrary: "Velg et objekt på lerretet for å legge det til her." }, r = { clearReset: "Tøm lerretet og tilbakestill bakgrunnsfargen", exportJSON: "Eksporter til fil", exportImage: "Eksporter bilde...", export: "Lagre som...", copyToClipboard: "Kopier til utklippstavle", save: "Lagre til aktiv fil", saveAs: "Lagre som", load: "Åpne", getShareableLink: "Få delingslenke", close: "Lukk", selectLanguage: "Velg språk", scrollBackToContent: "Skroll tilbake til innhold", zoomIn: "Zoom inn", zoomOut: "Zoom ut", resetZoom: "Nullstill zoom", menu: "Meny", done: "Ferdig", edit: "Rediger", undo: "Angre", redo: "Gjør om", resetLibrary: "Nullstill bibliotek", createNewRoom: "Opprett et nytt rom", fullScreen: "Fullskjerm", darkMode: "Mørk modus", lightMode: "Lys modus", zenMode: "Zen-modus", objectsSnapMode: "", exitZenMode: "Avslutt zen-modus", cancel: "Avbryt", clear: "Tøm", remove: "Fjern", embed: "Slå av/på innebygging", publishLibrary: "Publiser", submit: "Send inn", confirm: "Bekreft", embeddableInteractionButton: "Klikk for å samhandle" }, i = { clearReset: "Dette vil tømme lerretet. Er du sikker?", couldNotCreateShareableLink: "Kunne ikke lage delbar lenke.", couldNotCreateShareableLinkTooBig: "Kunne ikke opprette lenke til deling: scenen er for stor", couldNotLoadInvalidFile: "Kunne ikke laste inn ugyldig fil", importBackendFailed: "Importering av backend feilet.", cannotExportEmptyCanvas: "Kan ikke eksportere et tomt lerret.", couldNotCopyToClipboard: "Kunne ikke kopiere til utklippstavlen.", decryptFailed: "Kunne ikke dekryptere data.", uploadedSecurly: "Opplastingen er kryptert og kan ikke leses av Excalidraw-serveren eller tredjeparter.", loadSceneOverridePrompt: "Å laste inn ekstern tegning vil erstatte det eksisterende innholdet. Ønsker du å fortsette?", collabStopOverridePrompt: `Hvis du slutter økten, overskrives din forrige, lokalt lagrede tegning. Er du sikker?
|
|
3
3
|
|
|
4
4
|
(Hvis du ønsker å beholde din lokale tegning, bare lukk nettleserfanen i stedet.)`, errorAddingToLibrary: "Kunne ikke legge element i biblioteket", errorRemovingFromLibrary: "Kunne ikke fjerne element fra biblioteket", confirmAddLibrary: "Dette vil legge til {{numShapes}} figur(er) i biblioteket ditt. Er du sikker?", imageDoesNotContainScene: "Det ser ikke ut til at dette bildet inneholder noen scenedata. Har du aktivert innebygging av scene under eksporten?", cannotRestoreFromImage: "Scenen kunne ikke gjenopprettes fra denne bildefilen", invalidSceneUrl: "Kunne ikke importere scene fra den oppgitte URL-en. Den er enten ødelagt, eller inneholder ikke gyldig Excalidraw JSON-data.", resetLibrary: "Dette vil tømme biblioteket ditt. Er du sikker?", removeItemsFromsLibrary: "Slett {{count}} element(er) fra biblioteket?", invalidEncryptionKey: "Krypteringsnøkkel må ha 22 tegn. Live-samarbeid er deaktivert.", collabOfflineWarning: `Ingen Internett-tilkobling tilgjengelig.
|
|
@@ -0,0 +1,567 @@
|
|
|
1
|
+
import { jsx as l, jsxs as S, Fragment as le } from "react/jsx-runtime";
|
|
2
|
+
import { useContext as ae, useMemo as ie, useState as B, useEffect as A, useRef as j, useCallback as F, Suspense as me, lazy as ge } from "react";
|
|
3
|
+
import { useLexicalComposerContext as he } from "@lexical/react/LexicalComposerContext";
|
|
4
|
+
import { useLexicalEditable as Ce } from "@lexical/react/useLexicalEditable";
|
|
5
|
+
import { useLexicalNodeSelection as pe } from "@lexical/react/useLexicalNodeSelection";
|
|
6
|
+
import { mergeRegister as xe } from "@lexical/utils";
|
|
7
|
+
import { $setSelection as be, $getNodeByKey as V, CLICK_COMMAND as ve, COMMAND_PRIORITY_LOW as J, KEY_DELETE_COMMAND as Ee, KEY_BACKSPACE_COMMAND as we } from "lexical";
|
|
8
|
+
import { C as se, R as ye, v as X, s as Z, A as K, K as ke, z as P, N as Te, f as ee, B as De, e as Me, H as te, t as Oe, a as ce, D as oe, l as Ne, p as _e, F as re, G as Se, J as Ae, L as Be } from "./layers.BjTAXqV7.js";
|
|
9
|
+
import { useTranslation as Q } from "react-i18next";
|
|
10
|
+
import { Modal as Le, Text as Re, Flex as ze, Button as q, Box as ne, Stack as We, useMantineColorScheme as je, Loader as Fe } from "@mantine/core";
|
|
11
|
+
import { useDisclosure as Ie } from "@mantine/hooks";
|
|
12
|
+
import "@lexical/mark";
|
|
13
|
+
import "@lexical/code";
|
|
14
|
+
import { BottomDrawerWithoutHeader as He } from "@layers-app/shared";
|
|
15
|
+
const Ge = ({
|
|
16
|
+
isCloseModal: n,
|
|
17
|
+
setCloseModalOpen: a,
|
|
18
|
+
confirmClose: C
|
|
19
|
+
}) => {
|
|
20
|
+
const { t: p } = Q();
|
|
21
|
+
return /* @__PURE__ */ l(
|
|
22
|
+
Le,
|
|
23
|
+
{
|
|
24
|
+
opened: n,
|
|
25
|
+
onClose: () => {
|
|
26
|
+
a(!1);
|
|
27
|
+
},
|
|
28
|
+
centered: !0,
|
|
29
|
+
title: p("editor.unsavedChanges.title"),
|
|
30
|
+
closeOnClickOutside: !0,
|
|
31
|
+
closeOnEscape: !0,
|
|
32
|
+
size: "500",
|
|
33
|
+
zIndex: 999,
|
|
34
|
+
children: /* @__PURE__ */ S("div", { children: [
|
|
35
|
+
/* @__PURE__ */ l(Re, { mb: "md", children: p("editor.unsavedChanges.message") }),
|
|
36
|
+
/* @__PURE__ */ S(ze, { justify: "flex-end", gap: "sm", children: [
|
|
37
|
+
/* @__PURE__ */ l(
|
|
38
|
+
q,
|
|
39
|
+
{
|
|
40
|
+
variant: "default",
|
|
41
|
+
onClick: () => {
|
|
42
|
+
a(!1);
|
|
43
|
+
},
|
|
44
|
+
fullWidth: !0,
|
|
45
|
+
children: p("editor.unsavedChanges.cancel")
|
|
46
|
+
}
|
|
47
|
+
),
|
|
48
|
+
/* @__PURE__ */ l(q, { color: "red", onClick: C, fullWidth: !0, children: p("editor.unsavedChanges.closeWithoutSaving") })
|
|
49
|
+
] })
|
|
50
|
+
] })
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
};
|
|
54
|
+
function Ve({
|
|
55
|
+
imageContainerRef: n,
|
|
56
|
+
editor: a,
|
|
57
|
+
rootClassName: C = null,
|
|
58
|
+
width: p = "inherit",
|
|
59
|
+
height: u = "inherit",
|
|
60
|
+
nodeKey: s,
|
|
61
|
+
alignment: I,
|
|
62
|
+
setModalOpen: L,
|
|
63
|
+
previewSVG: r,
|
|
64
|
+
isModalOpen: m
|
|
65
|
+
}) {
|
|
66
|
+
const { disable: g, imperativeHandleRef: v } = ae(se), H = ie(() => r ?? "", [r]), [T, h] = B(!1), [
|
|
67
|
+
G,
|
|
68
|
+
{ open: E, close: D }
|
|
69
|
+
] = Ie(!1), { t: b } = Q();
|
|
70
|
+
A(() => {
|
|
71
|
+
m && h(!1);
|
|
72
|
+
}, [m]);
|
|
73
|
+
const M = (e, x) => {
|
|
74
|
+
a.update(() => {
|
|
75
|
+
be(null);
|
|
76
|
+
const i = V(s);
|
|
77
|
+
return ce(i) && i.setWidthAndHeight(e, x), !0;
|
|
78
|
+
});
|
|
79
|
+
}, w = () => {
|
|
80
|
+
oe(a, s);
|
|
81
|
+
}, R = () => {
|
|
82
|
+
D(), L(!0);
|
|
83
|
+
}, O = () => {
|
|
84
|
+
D(), oe(a, s);
|
|
85
|
+
};
|
|
86
|
+
return /* @__PURE__ */ S(
|
|
87
|
+
ye,
|
|
88
|
+
{
|
|
89
|
+
editor: a,
|
|
90
|
+
isIcon: !1,
|
|
91
|
+
isEmbed: !0,
|
|
92
|
+
width: Z(p),
|
|
93
|
+
height: Z(u),
|
|
94
|
+
onResizeEnd: M,
|
|
95
|
+
alignment: I,
|
|
96
|
+
disable: g,
|
|
97
|
+
onRegisterDecoratorEnter: (e) => {
|
|
98
|
+
v != null && v.current && (v.current.decoratorEnterAction = e);
|
|
99
|
+
},
|
|
100
|
+
onActivate: () => a.dispatchCommand(Oe, "show_menu"),
|
|
101
|
+
children: [
|
|
102
|
+
/* @__PURE__ */ S(ne, { className: "media-wrapper excaildraw", children: [
|
|
103
|
+
/* @__PURE__ */ l(
|
|
104
|
+
"div",
|
|
105
|
+
{
|
|
106
|
+
className: `media-actions${X || !De ? " visible" : ""}`,
|
|
107
|
+
children: X ? /* @__PURE__ */ l(
|
|
108
|
+
K,
|
|
109
|
+
{
|
|
110
|
+
"aria-label": b("editor.toolbar.more"),
|
|
111
|
+
label: b("editor.toolbar.more"),
|
|
112
|
+
flexBorder: !0,
|
|
113
|
+
onClick: E,
|
|
114
|
+
icon: ke,
|
|
115
|
+
iconColor: "var(--mantine-color-gray-text)"
|
|
116
|
+
}
|
|
117
|
+
) : /* @__PURE__ */ S(le, { children: [
|
|
118
|
+
/* @__PURE__ */ l(
|
|
119
|
+
K,
|
|
120
|
+
{
|
|
121
|
+
"aria-label": "Settings",
|
|
122
|
+
label: b("editor.link.edit"),
|
|
123
|
+
flexBorder: !0,
|
|
124
|
+
onClick: () => {
|
|
125
|
+
L(!0);
|
|
126
|
+
},
|
|
127
|
+
icon: P,
|
|
128
|
+
iconColor: "var(--mantine-color-gray-text)"
|
|
129
|
+
}
|
|
130
|
+
),
|
|
131
|
+
/* @__PURE__ */ l(
|
|
132
|
+
Te,
|
|
133
|
+
{
|
|
134
|
+
opened: T,
|
|
135
|
+
setOpened: h,
|
|
136
|
+
t: b,
|
|
137
|
+
editor: a,
|
|
138
|
+
nodeKey: s,
|
|
139
|
+
flexBorder: !0
|
|
140
|
+
}
|
|
141
|
+
),
|
|
142
|
+
/* @__PURE__ */ l(
|
|
143
|
+
K,
|
|
144
|
+
{
|
|
145
|
+
"aria-label": "Delete",
|
|
146
|
+
label: b("editor.actions.delete"),
|
|
147
|
+
flexBorder: !0,
|
|
148
|
+
onClick: w,
|
|
149
|
+
icon: ee,
|
|
150
|
+
iconColor: "var(--mantine-color-red-outline)"
|
|
151
|
+
}
|
|
152
|
+
)
|
|
153
|
+
] })
|
|
154
|
+
}
|
|
155
|
+
),
|
|
156
|
+
/* @__PURE__ */ l(
|
|
157
|
+
ne,
|
|
158
|
+
{
|
|
159
|
+
w: "100%",
|
|
160
|
+
ref: (e) => {
|
|
161
|
+
e && n && (n.current = e);
|
|
162
|
+
},
|
|
163
|
+
className: C ?? "",
|
|
164
|
+
dangerouslySetInnerHTML: { __html: H }
|
|
165
|
+
}
|
|
166
|
+
)
|
|
167
|
+
] }),
|
|
168
|
+
X && /* @__PURE__ */ l(
|
|
169
|
+
Me,
|
|
170
|
+
{
|
|
171
|
+
opened: G,
|
|
172
|
+
onClose: D,
|
|
173
|
+
title: b("editor.image.mobileActions"),
|
|
174
|
+
children: /* @__PURE__ */ S(We, { gap: 4, p: 0, children: [
|
|
175
|
+
/* @__PURE__ */ l(
|
|
176
|
+
q,
|
|
177
|
+
{
|
|
178
|
+
type: "button",
|
|
179
|
+
variant: "subtle",
|
|
180
|
+
color: "gray",
|
|
181
|
+
fullWidth: !0,
|
|
182
|
+
justify: "flex-start",
|
|
183
|
+
bg: "light-dark(var(--mantine-color-gray-0), var(--mantine-color-gray-outline-hover))",
|
|
184
|
+
onClick: R,
|
|
185
|
+
leftSection: /* @__PURE__ */ l(
|
|
186
|
+
te,
|
|
187
|
+
{
|
|
188
|
+
icon: P,
|
|
189
|
+
size: 16,
|
|
190
|
+
color: "var(--mantine-color-dimmed)"
|
|
191
|
+
}
|
|
192
|
+
),
|
|
193
|
+
children: b("editor.link.edit")
|
|
194
|
+
}
|
|
195
|
+
),
|
|
196
|
+
/* @__PURE__ */ l(
|
|
197
|
+
q,
|
|
198
|
+
{
|
|
199
|
+
type: "button",
|
|
200
|
+
variant: "subtle",
|
|
201
|
+
color: "red",
|
|
202
|
+
fullWidth: !0,
|
|
203
|
+
justify: "flex-start",
|
|
204
|
+
bg: "light-dark(var(--mantine-color-gray-0), var(--mantine-color-gray-outline-hover))",
|
|
205
|
+
onClick: O,
|
|
206
|
+
leftSection: /* @__PURE__ */ l(
|
|
207
|
+
te,
|
|
208
|
+
{
|
|
209
|
+
icon: ee,
|
|
210
|
+
size: 16,
|
|
211
|
+
color: "var(--mantine-color-red-6)"
|
|
212
|
+
}
|
|
213
|
+
),
|
|
214
|
+
children: b("editor.actions.delete")
|
|
215
|
+
}
|
|
216
|
+
)
|
|
217
|
+
] })
|
|
218
|
+
}
|
|
219
|
+
)
|
|
220
|
+
]
|
|
221
|
+
}
|
|
222
|
+
);
|
|
223
|
+
}
|
|
224
|
+
let U = null;
|
|
225
|
+
const $e = /* @__PURE__ */ ge(async () => {
|
|
226
|
+
var a;
|
|
227
|
+
const n = await import("./layers.Ba4WXIFU.js").then((C) => C.K);
|
|
228
|
+
return !U && n && (U = n.exportToSvg || ((a = n.default) == null ? void 0 : a.exportToSvg) || n.default), { default: n.Excalidraw };
|
|
229
|
+
}), qe = () => {
|
|
230
|
+
const [n, a] = B(
|
|
231
|
+
null
|
|
232
|
+
), C = F(
|
|
233
|
+
(p) => a(p),
|
|
234
|
+
[]
|
|
235
|
+
);
|
|
236
|
+
return [n, C];
|
|
237
|
+
};
|
|
238
|
+
function Ue({
|
|
239
|
+
onSave: n,
|
|
240
|
+
initialElements: a,
|
|
241
|
+
initialAppState: C,
|
|
242
|
+
initialFiles: p,
|
|
243
|
+
isShown: u = !1,
|
|
244
|
+
onDelete: s,
|
|
245
|
+
onClose: I,
|
|
246
|
+
isEdited: L
|
|
247
|
+
}) {
|
|
248
|
+
const [r, m] = qe(), { i18n: g, t: v } = Q(), { colorScheme: H } = je(), T = j(!1), [h, G] = B(a), [E, D] = B(p), [b, M] = B(u);
|
|
249
|
+
A(() => {
|
|
250
|
+
u && M(!0);
|
|
251
|
+
}, [u]), A(() => {
|
|
252
|
+
!u || T.current || (T.current = !0, Promise.resolve({ }));
|
|
253
|
+
}, [u]), A(() => {
|
|
254
|
+
u && setTimeout(() => {
|
|
255
|
+
var e, x;
|
|
256
|
+
(e = r == null ? void 0 : r.refresh) == null || e.call(r), (x = r == null ? void 0 : r.scrollToContent) == null || x.call(r);
|
|
257
|
+
}, 500);
|
|
258
|
+
}, [u, r]), A(() => {
|
|
259
|
+
if (!u)
|
|
260
|
+
return;
|
|
261
|
+
const e = (o, c) => {
|
|
262
|
+
const t = v(o);
|
|
263
|
+
return t.startsWith("editor.menu") ? c : t;
|
|
264
|
+
}, x = e(
|
|
265
|
+
"editor.menu.excalidraw.tools.frameTool",
|
|
266
|
+
g.language === "ru" ? "Инструмент рамки" : g.language === "es" ? "Herramienta de marco" : "Frame tool"
|
|
267
|
+
), i = e(
|
|
268
|
+
"editor.menu.excalidraw.tools.webEmbed",
|
|
269
|
+
g.language === "ru" ? "Веб-встраивание" : g.language === "es" ? "Incrustación web" : "Web Embed"
|
|
270
|
+
), d = e(
|
|
271
|
+
"editor.menu.excalidraw.tools.generate",
|
|
272
|
+
g.language === "ru" ? "Генерировать" : g.language === "es" ? "Generar" : "Generate"
|
|
273
|
+
), z = {
|
|
274
|
+
"Frame tool": x,
|
|
275
|
+
"Web Embed": i,
|
|
276
|
+
"Web embeded": i,
|
|
277
|
+
Generate: d
|
|
278
|
+
}, W = () => {
|
|
279
|
+
const o = document.querySelector(".App-toolbar__extra-tools-dropdown");
|
|
280
|
+
if (!o)
|
|
281
|
+
return;
|
|
282
|
+
const c = document.createTreeWalker(
|
|
283
|
+
o,
|
|
284
|
+
NodeFilter.SHOW_TEXT,
|
|
285
|
+
null
|
|
286
|
+
);
|
|
287
|
+
let t;
|
|
288
|
+
for (; t = c.nextNode(); )
|
|
289
|
+
if (t.nodeType === Node.TEXT_NODE && t.textContent) {
|
|
290
|
+
const f = t.textContent.trim();
|
|
291
|
+
for (const [k, _] of Object.entries(z))
|
|
292
|
+
if (f === k && _ && !f.includes(_)) {
|
|
293
|
+
t.textContent = t.textContent.replace(k, _);
|
|
294
|
+
break;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}, N = () => {
|
|
298
|
+
setTimeout(() => {
|
|
299
|
+
W();
|
|
300
|
+
}, 0);
|
|
301
|
+
}, y = setTimeout(() => {
|
|
302
|
+
const o = document.querySelector(
|
|
303
|
+
".excalidraw-container"
|
|
304
|
+
);
|
|
305
|
+
if (o) {
|
|
306
|
+
const c = o.querySelector(
|
|
307
|
+
".App-toolbar__extra-tools-trigger"
|
|
308
|
+
);
|
|
309
|
+
c && c.addEventListener("click", N);
|
|
310
|
+
}
|
|
311
|
+
}, 300);
|
|
312
|
+
return () => {
|
|
313
|
+
clearTimeout(y);
|
|
314
|
+
const o = document.querySelector(
|
|
315
|
+
".excalidraw-container"
|
|
316
|
+
);
|
|
317
|
+
if (o) {
|
|
318
|
+
const c = o.querySelector(
|
|
319
|
+
".App-toolbar__extra-tools-trigger"
|
|
320
|
+
);
|
|
321
|
+
c && c.removeEventListener("click", N);
|
|
322
|
+
}
|
|
323
|
+
};
|
|
324
|
+
}, [u, g.language, v]);
|
|
325
|
+
const w = F(async () => {
|
|
326
|
+
var W, N, y;
|
|
327
|
+
let e = U;
|
|
328
|
+
if (!e || typeof e != "function") {
|
|
329
|
+
const o = await import("./layers.Ba4WXIFU.js").then((c) => c.K);
|
|
330
|
+
e = o.exportToSvg || ((W = o.default) == null ? void 0 : W.exportToSvg) || o.default, e && typeof e == "function" && (U = e);
|
|
331
|
+
}
|
|
332
|
+
if (!e || typeof e != "function") {
|
|
333
|
+
const o = await import("./layers.Ba4WXIFU.js").then((t) => t.K), c = o ? Object.keys(o) : [];
|
|
334
|
+
throw console.error("Excalidraw module structure:", {
|
|
335
|
+
keys: c,
|
|
336
|
+
hasExportToSvg: o && "exportToSvg" in o,
|
|
337
|
+
hasDefault: o && "default" in o,
|
|
338
|
+
moduleType: typeof o,
|
|
339
|
+
module: o
|
|
340
|
+
}), new Error(
|
|
341
|
+
`exportToSvg is not available from @excalidraw/excalidraw. Module keys: ${c.join(", ")}. Please ensure @excalidraw/excalidraw is properly installed.`
|
|
342
|
+
);
|
|
343
|
+
}
|
|
344
|
+
const x = ((N = r == null ? void 0 : r.getAppState) == null ? void 0 : N.call(r)) ?? C, i = await e({
|
|
345
|
+
appState: x,
|
|
346
|
+
elements: h,
|
|
347
|
+
files: E
|
|
348
|
+
}), d = (y = i == null ? void 0 : i.firstElementChild) == null ? void 0 : y.firstElementChild, z = i.getAttribute("viewBox");
|
|
349
|
+
if (z != null) {
|
|
350
|
+
const o = z.split(" ");
|
|
351
|
+
i.setAttribute("width", o[2]), i.setAttribute("height", o[3]);
|
|
352
|
+
}
|
|
353
|
+
return d && d.tagName === "style" && d.remove(), i.setAttribute("width", "100%"), i.setAttribute("height", "100%"), i.setAttribute("display", "block"), i.classList.add("excalidraw-svg"), i.outerHTML;
|
|
354
|
+
}, [h, E, r, C]), R = () => {
|
|
355
|
+
if (h && h.filter((e) => !e.isDeleted).length > 0) {
|
|
356
|
+
const e = r == null ? void 0 : r.getAppState(), x = {
|
|
357
|
+
exportBackground: e == null ? void 0 : e.exportBackground,
|
|
358
|
+
exportScale: e == null ? void 0 : e.exportScale,
|
|
359
|
+
exportWithDarkMode: (e == null ? void 0 : e.theme) === "dark",
|
|
360
|
+
isBindingEnabled: e == null ? void 0 : e.isBindingEnabled,
|
|
361
|
+
isLoading: e == null ? void 0 : e.isLoading,
|
|
362
|
+
name: e == null ? void 0 : e.name,
|
|
363
|
+
theme: e == null ? void 0 : e.theme,
|
|
364
|
+
viewBackgroundColor: e == null ? void 0 : e.viewBackgroundColor,
|
|
365
|
+
viewModeEnabled: e == null ? void 0 : e.viewModeEnabled,
|
|
366
|
+
zenModeEnabled: e == null ? void 0 : e.zenModeEnabled,
|
|
367
|
+
zoom: e == null ? void 0 : e.zoom
|
|
368
|
+
};
|
|
369
|
+
(async () => {
|
|
370
|
+
const i = await w();
|
|
371
|
+
n(h, x, E, i);
|
|
372
|
+
})();
|
|
373
|
+
} else
|
|
374
|
+
s();
|
|
375
|
+
}, O = (e, x, i) => {
|
|
376
|
+
(e == null ? void 0 : e.length) !== (a == null ? void 0 : a.length) && (L.current = !0), G(e), D(i);
|
|
377
|
+
};
|
|
378
|
+
return /* @__PURE__ */ l(
|
|
379
|
+
He,
|
|
380
|
+
{
|
|
381
|
+
opened: u,
|
|
382
|
+
onClose: I,
|
|
383
|
+
onSave: R,
|
|
384
|
+
className: "excaildraw-modal",
|
|
385
|
+
closeOnEscape: !1,
|
|
386
|
+
children: b && /* @__PURE__ */ l(
|
|
387
|
+
me,
|
|
388
|
+
{
|
|
389
|
+
fallback: /* @__PURE__ */ l(
|
|
390
|
+
"div",
|
|
391
|
+
{
|
|
392
|
+
style: {
|
|
393
|
+
display: "flex",
|
|
394
|
+
justifyContent: "center",
|
|
395
|
+
alignItems: "center",
|
|
396
|
+
height: "100%",
|
|
397
|
+
minHeight: "400px"
|
|
398
|
+
},
|
|
399
|
+
children: /* @__PURE__ */ l(Fe, { size: "sm" })
|
|
400
|
+
}
|
|
401
|
+
),
|
|
402
|
+
children: /* @__PURE__ */ l(
|
|
403
|
+
$e,
|
|
404
|
+
{
|
|
405
|
+
langCode: Ne[g.language],
|
|
406
|
+
theme: H,
|
|
407
|
+
onChange: O,
|
|
408
|
+
excalidrawAPI: m,
|
|
409
|
+
initialData: {
|
|
410
|
+
appState: { ...C || { isLoading: !1 } },
|
|
411
|
+
elements: a,
|
|
412
|
+
files: p,
|
|
413
|
+
scrollToContent: !0
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
)
|
|
417
|
+
}
|
|
418
|
+
)
|
|
419
|
+
}
|
|
420
|
+
);
|
|
421
|
+
}
|
|
422
|
+
function it({
|
|
423
|
+
nodeKey: n,
|
|
424
|
+
data: a,
|
|
425
|
+
width: C,
|
|
426
|
+
height: p,
|
|
427
|
+
alignment: u
|
|
428
|
+
}) {
|
|
429
|
+
var c;
|
|
430
|
+
const [s] = he(), { fetchUploadMedia: I, fetchDeleteMedia: L } = ae(se), r = Ce(), m = ie(() => _e(a), [a]), g = j(
|
|
431
|
+
re(m.files ?? {})
|
|
432
|
+
), v = j(
|
|
433
|
+
Object.keys(m.files ?? {})
|
|
434
|
+
);
|
|
435
|
+
A(() => {
|
|
436
|
+
const t = re(m.files ?? {});
|
|
437
|
+
for (const f of Object.keys(t))
|
|
438
|
+
g.current[f] = t[f];
|
|
439
|
+
}, [m.files]);
|
|
440
|
+
const H = ((c = m == null ? void 0 : m.elements) == null ? void 0 : c.length) === 0 && !m.previewSVG, [T, h] = B(
|
|
441
|
+
H && s.isEditable()
|
|
442
|
+
), [G, E] = B(!1), D = j(null), b = j(null), M = j(null), [w, R, O] = pe(n), e = F(
|
|
443
|
+
(t) => (w && (t.preventDefault(), s.update(() => {
|
|
444
|
+
const f = V(n);
|
|
445
|
+
f && f.remove();
|
|
446
|
+
})), !1),
|
|
447
|
+
[s, w, n]
|
|
448
|
+
);
|
|
449
|
+
A(() => {
|
|
450
|
+
if (!r) {
|
|
451
|
+
w && O();
|
|
452
|
+
return;
|
|
453
|
+
}
|
|
454
|
+
return xe(
|
|
455
|
+
s.registerCommand(
|
|
456
|
+
ve,
|
|
457
|
+
(t) => {
|
|
458
|
+
const f = b.current, k = t.target;
|
|
459
|
+
return f !== null && f.contains(k) ? (t.shiftKey || O(), R(!w), t.detail > 1 && h(!0), !0) : !1;
|
|
460
|
+
},
|
|
461
|
+
J
|
|
462
|
+
),
|
|
463
|
+
s.registerCommand(
|
|
464
|
+
Ee,
|
|
465
|
+
e,
|
|
466
|
+
J
|
|
467
|
+
),
|
|
468
|
+
s.registerCommand(
|
|
469
|
+
we,
|
|
470
|
+
e,
|
|
471
|
+
J
|
|
472
|
+
)
|
|
473
|
+
);
|
|
474
|
+
}, [O, s, w, e, R, r]);
|
|
475
|
+
const x = F(() => (h(!1), s.update(() => {
|
|
476
|
+
const t = V(n);
|
|
477
|
+
t && t.remove();
|
|
478
|
+
})), [s, n]), i = async (t, f, k, _) => {
|
|
479
|
+
const {
|
|
480
|
+
files: $,
|
|
481
|
+
urlByDataUrl: de,
|
|
482
|
+
attachmentIdByFileId: ue
|
|
483
|
+
} = await Se(
|
|
484
|
+
k,
|
|
485
|
+
I,
|
|
486
|
+
g.current
|
|
487
|
+
);
|
|
488
|
+
g.current = Ae(
|
|
489
|
+
v.current,
|
|
490
|
+
$,
|
|
491
|
+
ue,
|
|
492
|
+
L
|
|
493
|
+
), v.current = Object.keys($);
|
|
494
|
+
const fe = Be(_, de);
|
|
495
|
+
s.update(() => {
|
|
496
|
+
const Y = V(n);
|
|
497
|
+
ce(Y) && (t && t.length > 0 || Object.keys($).length > 0 ? Y.setData(
|
|
498
|
+
JSON.stringify({
|
|
499
|
+
appState: f,
|
|
500
|
+
elements: t,
|
|
501
|
+
files: $,
|
|
502
|
+
previewSVG: fe
|
|
503
|
+
})
|
|
504
|
+
) : Y.remove());
|
|
505
|
+
});
|
|
506
|
+
}, { elements: d = [], files: z = {}, appState: W = {}, previewSVG: N } = m, y = F(() => {
|
|
507
|
+
h(!1), E(!1), M.current = !1, (d == null ? void 0 : d.length) === 0 && s.update(() => {
|
|
508
|
+
const t = V(n);
|
|
509
|
+
t && t.remove();
|
|
510
|
+
});
|
|
511
|
+
}, [s, n, d == null ? void 0 : d.length]), o = F(() => {
|
|
512
|
+
M.current ? E(!0) : y();
|
|
513
|
+
}, [y]);
|
|
514
|
+
return /* @__PURE__ */ S(le, { children: [
|
|
515
|
+
/* @__PURE__ */ l(
|
|
516
|
+
Ge,
|
|
517
|
+
{
|
|
518
|
+
isCloseModal: G,
|
|
519
|
+
confirmClose: y,
|
|
520
|
+
setCloseModalOpen: E
|
|
521
|
+
}
|
|
522
|
+
),
|
|
523
|
+
/* @__PURE__ */ l(
|
|
524
|
+
Ue,
|
|
525
|
+
{
|
|
526
|
+
initialElements: d,
|
|
527
|
+
isEdited: M,
|
|
528
|
+
initialFiles: z,
|
|
529
|
+
initialAppState: W,
|
|
530
|
+
isShown: T,
|
|
531
|
+
onDelete: x,
|
|
532
|
+
onClose: o,
|
|
533
|
+
onSave: async (t, f, k, _) => {
|
|
534
|
+
await i(t, f, k, _), h(!1);
|
|
535
|
+
},
|
|
536
|
+
closeOnClickOutside: !1
|
|
537
|
+
}
|
|
538
|
+
),
|
|
539
|
+
(d == null ? void 0 : d.length) && /* @__PURE__ */ l(
|
|
540
|
+
"div",
|
|
541
|
+
{
|
|
542
|
+
style: {
|
|
543
|
+
display: "flex",
|
|
544
|
+
justifyContent: u
|
|
545
|
+
},
|
|
546
|
+
children: /* @__PURE__ */ l(
|
|
547
|
+
Ve,
|
|
548
|
+
{
|
|
549
|
+
imageContainerRef: D,
|
|
550
|
+
className: "image",
|
|
551
|
+
width: C,
|
|
552
|
+
height: p,
|
|
553
|
+
editor: s,
|
|
554
|
+
nodeKey: n,
|
|
555
|
+
alignment: u,
|
|
556
|
+
setModalOpen: h,
|
|
557
|
+
previewSVG: N,
|
|
558
|
+
isModalOpen: T
|
|
559
|
+
}
|
|
560
|
+
)
|
|
561
|
+
}
|
|
562
|
+
)
|
|
563
|
+
] });
|
|
564
|
+
}
|
|
565
|
+
export {
|
|
566
|
+
it as default
|
|
567
|
+
};
|
|
@@ -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.BoX7jDz7.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:'زیادبکە "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:"دروستکراوە بە 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:"شتێک لەسەر تابلۆ هەڵبژێرە بۆ ئەوەی لێرە زیادی بکەیت."},D={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:""},A={clearReset:"ئەمە هەموو تابلۆکە خاوێن دەکاتەوە، دڵنیایت؟",couldNotCreateShareableLink:"نەتوانرا بەستەری هاوبەشیپێکردن دروستبکرێت",couldNotCreateShareableLinkTooBig:"نەتوانرا بەستەری هاوبەشیپێکردن دروستبکرێت: دیمەنەکە زۆر گەورەیە",couldNotLoadInvalidFile:"ناتوانرا باربکرێت، فایلەکە دروستنییە",importBackendFailed:"هاوردەکردن لە پاشکۆکە سەرکەوتوو نەبوو.",cannotExportEmptyCanvas:"ناتوانرێت تابلۆی بەتاڵ هەناردەبکرێت.",couldNotCopyToClipboard:"ناتوانرا لەبەربگیرێتەوە بۆ تەختەنوس",decryptFailed:"ناتوانرا داتاکان شیبکرێتەوە",uploadedSecurly:"بارکردنەکە بە کۆدکردنی کۆتایی بۆ کۆتایی پارێزراوە، ئەمەش واتە سێرڤەری Excalidraw و لایەنی سێیەم ناتوانن ناوەڕۆکەکە بخوێننەوە.",loadSceneOverridePrompt:"بارکردنی وێنەکێشانی دەرەکی جێگەی ناوەڕۆکی بەردەستت دەگرێتەوە. دەتەوێت بەردەوام بیت؟",collabStopOverridePrompt:`وەستاندنی دانیشتنەکە وێنەکێشانی پێشووت دەنووسێتەوە کە لە ناوخۆدا هەڵگیراوە. ئایا دڵنیایت?
|
|
2
2
|
|
|
3
3
|
(ئەگەر دەتەوێت وێنەکێشانی ناوخۆیی خۆت بهێڵیتەوە، لەبری ئەوە تەنها تابی وێبگەڕەکە دابخە).`,errorAddingToLibrary:"نەیتوانی بڕگە زیاد بکات بۆ کتێبخانە",errorRemovingFromLibrary:"نەیتوانی بڕگە لە کتێبخانە بسڕێتەوە",confirmAddLibrary:"ئەمە {{numShapes}} شێوە(ەکان) زیاد دەکات بۆ کتێبخانەکەت. ئایا دڵنیایت?",imageDoesNotContainScene:"وادیارە ئەم وێنەیە هیچ داتایەکی دیمەنی تێدا نییە. ئایا دیمەنی چەسپاندنت لە کاتی هەناردەدا چالاک کردووە؟",cannotRestoreFromImage:"ناتوانرێت دیمەنەکە بگەڕێندرێتەوە لەم فایلە وێنەیە",invalidSceneUrl:'ناتوانێت دیمەنەکە هاوردە بکات لە URL ی دابینکراو. یان نادروستە، یان داتای "ئێکسکالیدراو" JSON ی دروستی تێدا نییە.',resetLibrary:"ئەمە کتێبخانەکەت خاوێن دەکاتەوە. ئایا دڵنیایت?",removeItemsFromsLibrary:"سڕینەوەی {{count}} ئایتم(ەکان) لە کتێبخانە؟",invalidEncryptionKey:"کلیلی رەمزاندن دەبێت لە 22 پیت بێت. هاوکاری ڕاستەوخۆ لە کارخراوە.",collabOfflineWarning:`هێڵی ئینتەرنێت بەردەست نییە.
|
|
4
4
|
گۆڕانکارییەکانت سەیڤ ناکرێن!`},e={unsupportedFileType:"جۆری فایلی پشتگیری نەکراو.",imageInsertError:"نەیتوانی وێنە داخڵ بکات. دواتر هەوڵ بدە",fileTooBig:"فایلەکە زۆر گەورەیە. زۆرترین قەبارەی ڕێگەپێدراو {{maxSize}}}.",svgImageInsertError:"نەیتوانی وێنەی SVG داخڵ بکات. نیشانەی ئێس ڤی جی نادروست دیارە.",failedToFetchImage:"",invalidSVGString:"ئێس ڤی جی نادروستە.",cannotResolveCollabServer:"ناتوانێت پەیوەندی بکات بە سێرڤەری کۆلاب. تکایە لاپەڕەکە دووبارە باربکەوە و دووبارە هەوڵ بدەوە.",importLibraryError:"نەیتوانی کتێبخانە بار بکات",collabSaveFailed:"نەتوانرا لە بنکەدراوەی ڕاژەدا پاشەکەوت بکرێت. ئەگەر کێشەکان بەردەوام بوون، پێویستە فایلەکەت لە ناوخۆدا هەڵبگریت بۆ ئەوەی دڵنیا بیت کە کارەکانت لەدەست نادەیت.",collabSaveFailed_sizeExceeded:"نەتوانرا لە بنکەدراوەی ڕاژەدا پاشەکەوت بکرێت، پێدەچێت تابلۆکە زۆر گەورە بێت. پێویستە فایلەکە لە ناوخۆدا هەڵبگریت بۆ ئەوەی دڵنیا بیت کە کارەکانت لەدەست نادەیت.",imageToolNotSupported:"",brave_measure_text_error:{line1:"وادیارە وێبگەڕی Brave بەکاردەهێنیت و ڕێکخستنی <bold>Aggressively Block Fingerprinting</bold> ـت چالاک کردووە.",line2:"ئەمە ئەکرێ ببێتە هۆی تێکدانی <bold>دانە دەقییەکان</bold> لە وێنەکێشانەکانتدا.",line3:"ئێمە بە توندی پێشنیاری لەکارخستنی ئەم ڕێکخستنە دەکەین. بۆ لە کارخستنی دەتوانیت بەم <link>هەنگاوانە</link>دا بڕۆیت.",line4:"ئەگەر لەکارخستنی ئەم ڕێکخستنە نەبوە هۆی چاککردنەوەی پێشاندانی دانە دەقییەکان، تکایە <issueLink>کێشە</issueLink>یەک بکەرەوە لەسەر گیتهەبەکەمان، یان بۆمان بنوسە لەسەر <discordLink>دیسکۆرد</discordLink>"},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},F={selection:"دەستنیشانکردن",image:"داخڵکردنی وێنە",rectangle:"لاکێشە",diamond:"ئەڵماس",ellipse:"هێلکەیی",arrow:"تیر",line:"هێڵ",freedraw:"کێشان",text:"دەق",library:"کتێبخانە",lock:"ئامێرە دیاریکراوەکان چالاک بهێڵەوە دوای وێنەکێشان",penMode:"شێوازی قەڵەم - دەست لێدان ڕابگرە",link:"زیادکردن/ نوێکردنەوەی لینک بۆ شێوەی دیاریکراو",eraser:"سڕەر",frame:"ئامرازی چوارچێوە",magicframe:"",embeddable:"",laser:"",hand:"دەست (ئامرازی پانکردن)",extraTools:"ئامرازی زیاتر",mermaidToExcalidraw:"",magicSettings:""},E={canvasActions:"کردارەکانی تابلۆ",selectedShapeActions:"کردارەکانی شێوەی دەستنیشانکراو",shapes:"شێوەکان"},o={canvasPanning:"بۆ جوڵاندنی تابلۆ، ویلی ماوسەکەت یان دوگمەی سپەیس بگرە لەکاتی ڕاکێشاندە، یانیش ئامرازی دەستەکە بەکاربهێنە",linearElement:"کرتە بکە بۆ دەستپێکردنی چەند خاڵێک، ڕایبکێشە بۆ یەک هێڵ",freeDraw:"کرتە بکە و ڕایبکێشە، کاتێک تەواو بوویت دەست هەڵگرە",text:"زانیاری: هەروەها دەتوانیت دەق زیادبکەیت بە دوو کرتەکردن لە هەر شوێنێک لەگەڵ ئامڕازی دەستنیشانکردن",embeddable:"",text_selected:"دووجار کلیک بکە یان ENTER بکە بۆ دەستکاریکردنی دەق",text_editing:"بۆ تەواوکردنی دەستکاریکردنەکە Escape یان Ctrl/Cmd+ENTER بکە",linearElementMulti:"کلیک لەسەر کۆتا خاڵ بکە یان Escape یان Enter بکە بۆ تەواوکردن",lockAngle:"دەتوانیت گۆشە سنووردار بکەیت بە ڕاگرتنی SHIFT",resize:`دەتوانیت ڕێژەکان سنووردار بکەیت بە ڕاگرتنی SHIFT لەکاتی گۆڕینی قەبارەدا،
|