@layers-app/editor 0.2.3-specific.2 → 0.2.3-specific.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{layers.D0KEzUNs.js → layers.2oa5MOVJ.js} +1 -1
- package/dist/{layers.B8-_sf47.js → layers.5M-g3cqt.js} +3 -3
- package/dist/{layers.DGapyfQg.js → layers.67ca8P_a.js} +3 -3
- package/dist/{layers.DuDN4-7K.js → layers.6K1YWQS0.js} +1 -1
- package/dist/{layers.B3V6REg0.js → layers.6X1wsse9.js} +3 -3
- package/dist/{layers.DpjlP1hM.js → layers.6nEef2mA.js} +1 -1
- package/dist/{layers.B0eX1IPn.js → layers.A4kPz8X8.js} +1 -1
- package/dist/{layers.BTNbaRtS.js → layers.B-AxwAIy.js} +3 -3
- package/dist/{layers.CKya1h02.js → layers.B-VxCmsL.js} +1 -1
- package/dist/{layers.1bg2KhyH.js → layers.B1pfFQf9.js} +1 -1
- package/dist/{layers.B3u4zmm1.js → layers.B29f2yzi.js} +1 -1
- package/dist/{layers.CWsKgPuy.js → layers.B2mx50Di.js} +1 -1
- package/dist/{layers.CoUTnPJg.js → layers.B3LgVn5Z.js} +1 -1
- package/dist/{layers.DRILpcy-.js → layers.B40AXz_d.js} +1 -1
- package/dist/{layers.D_f28ay7.js → layers.B4G8aOjk.js} +1 -1
- package/dist/{layers.Bep10kxM.js → layers.B5hGu_pV.js} +1 -1
- package/dist/{layers.C7t8-w47.js → layers.B5wdUajd.js} +1 -1
- package/dist/{layers.A37s9q4p.js → layers.B7VS62Ai.js} +1 -1
- package/dist/{layers.BGY9QXw7.js → layers.B8CugQhG.js} +1 -1
- package/dist/{layers.CrRfGRSk.js → layers.B8teKozD.js} +1 -1
- package/dist/{layers.C6HgSw-u.js → layers.B9WqMfzG.js} +3 -3
- package/dist/{layers.DfZcJTXu.js → layers.BAMCe6rY.js} +1 -1
- package/dist/{layers.CALzUvcv.js → layers.BBGjXC9z.js} +1 -1
- package/dist/{layers.Dm4HG7_j.js → layers.BFmC5_Wb.js} +1 -1
- package/dist/{layers.9rcgLwAD.js → layers.BFoLPJdJ.js} +4 -4
- package/dist/{layers.CierJEIm.js → layers.BGjURAUC.js} +1 -1
- package/dist/{layers.DHDpUhu2.js → layers.BHz2rBwA.js} +1 -1
- package/dist/{layers.DlZ0LfPy.js → layers.BJ0VhEcO.js} +1 -1
- package/dist/{layers.CBxYHy77.js → layers.BJbU5BHe.js} +1 -1
- package/dist/{layers.Be9LimT9.js → layers.BKSyEprl.js} +1 -1
- package/dist/{layers.DDXQWa2D.js → layers.BNGBGByI.js} +1 -1
- package/dist/{layers.Yd8l884W.js → layers.BOPOoqtR.js} +1 -1
- package/dist/{layers.CnWCIOdG.js → layers.BOXXovpq.js} +1 -1
- package/dist/{layers.BCEZRZJx.js → layers.BOf-_Cqh.js} +3 -3
- package/dist/{layers.D90WPXeX.js → layers.BQMPPC0D.js} +1 -1
- package/dist/{layers.D1l3jYMe.js → layers.BS8sCd2S.js} +3 -3
- package/dist/{layers.laidEAs2.js → layers.BTcFviQh.js} +1 -1
- package/dist/{layers.TjfMk2px.js → layers.BTntB4FK.js} +1 -1
- package/dist/{layers.CAHBVqsb.js → layers.BUYdBxSq.js} +1 -1
- package/dist/{layers.C1CW0hq2.js → layers.BUvw1WA0.js} +1 -1
- package/dist/{layers.DGUzcx0q.js → layers.BVgNh-Iw.js} +4 -4
- package/dist/{layers.C1OPiWNh.js → layers.BWe8pZzH.js} +1 -1
- package/dist/layers.BXNFflBM.js +1 -0
- package/dist/{layers.BmxbWAms.js → layers.BXOU2J78.js} +2 -2
- package/dist/{layers.CaaRoYDd.js → layers.BY3QhcjO.js} +1 -1
- package/dist/{layers.BRH_NhKA.js → layers.B_CLw8Z8.js} +1 -1
- package/dist/{layers.DJWtcxPs.js → layers.B_FfhtCZ.js} +5 -6
- package/dist/{layers.D8ECLiWh.js → layers.BaiiBfxE.js} +1 -1
- package/dist/{layers.Coag23Cb.js → layers.Bb5IdU8_.js} +1 -1
- package/dist/{layers.CL-fS44M.js → layers.BcPMpL_X.js} +1 -1
- package/dist/{layers.DqKp4SoC.js → layers.BcSLF4Xt.js} +4 -4
- package/dist/{layers.CBIkqalL.js → layers.Be0EwoHz.js} +4 -4
- package/dist/{layers.6AzSVuWE.js → layers.Be9qa7Ny.js} +1 -1
- package/dist/{layers.DngaL_Dg.js → layers.BfUQ73dN.js} +1 -1
- package/dist/{layers.CPsDp0uN.js → layers.Bi1qwPs0.js} +1 -1
- package/dist/{layers.32OjTYno.js → layers.BiAsLcrG.js} +1 -1
- package/dist/{layers.a5xEdyXv.js → layers.BlUn-Ykk.js} +3 -3
- package/dist/{layers.yy0ucRjW.js → layers.Bm-u79Al.js} +1 -1
- package/dist/{layers.MZiVtaDL.js → layers.BrMeCTSV.js} +1 -1
- package/dist/{layers.DolIOCod.js → layers.BrQ3tjNS.js} +2 -2
- package/dist/{layers.IFrCTc6-.js → layers.BrV5pl2N.js} +1 -1
- package/dist/{layers.D3DAI-Y9.js → layers.Bt7i4Yqd.js} +1 -1
- package/dist/{layers.BeB3rrar.js → layers.BufGvmxX.js} +1 -1
- package/dist/{layers.CmKOQ7PE.js → layers.BwDMEphM.js} +1 -1
- package/dist/layers.Bwc5zYGw.js +1 -0
- package/dist/{layers.bP_iN3G7.js → layers.Bwmv62Hw.js} +1 -1
- package/dist/{layers.BIs4HgIw.js → layers.Bx-Pnjsp.js} +1 -1
- package/dist/{layers.BBjjkf11.js → layers.BxEduspa.js} +2 -2
- package/dist/{layers.BOgR2qiF.js → layers.BxNRVvib.js} +1 -1
- package/dist/{layers.Bd-ObMVZ.js → layers.Bzispk1K.js} +1 -1
- package/dist/{layers.Ds0hCAJ6.js → layers.C1C8Dy24.js} +1 -1
- package/dist/{layers.qi3Kimyf.js → layers.C240qOel.js} +1 -1
- package/dist/{layers.Btl2oHvL.js → layers.C3odUqou.js} +1 -1
- package/dist/{layers.DY8GDhNt.js → layers.C3zBVCP6.js} +5 -5
- package/dist/{layers.Chy6t345.js → layers.C5AgHcnL.js} +1 -1
- package/dist/{layers.fkAKFky6.js → layers.C5Pm8xjh.js} +1 -1
- package/dist/{layers.seazICvC.js → layers.C5R-uiPA.js} +4 -4
- package/dist/{layers.pXjnGV4O.js → layers.C6ecF1iT.js} +1 -1
- package/dist/{layers.BwsQlMOg.js → layers.C75id8jo.js} +1 -1
- package/dist/{layers.qxDJOymK.js → layers.C8NfZMN7.js} +1 -1
- package/dist/{layers.DrqOVfH7.js → layers.CApp6i1s.js} +1 -1
- package/dist/{layers.lRYdKIIK.js → layers.CBQXX09F.js} +1 -1
- package/dist/{layers.C5Z_GZgt.js → layers.CCDH1QbA.js} +1 -1
- package/dist/{layers.D7WiyTFl.js → layers.CDQZM8kz.js} +2 -2
- package/dist/{layers.ZTvGclL4.js → layers.CEC2YCPP.js} +1 -1
- package/dist/{layers.CK-G086U.js → layers.CFhiEE4Y.js} +1 -1
- package/dist/{layers.D7hA5zQV.js → layers.CGfsiFou.js} +1 -1
- package/dist/{layers.BSeadBvw.js → layers.CHDyP1EC.js} +1 -1
- package/dist/{layers.CIElrD0q.js → layers.CIlTGlgv.js} +1 -1
- package/dist/{layers.BWrnVw2b.js → layers.CJcnFprP.js} +1 -1
- package/dist/{layers.2HTptZb2.js → layers.CMditKLe.js} +1 -1
- package/dist/{layers.BxyZWVn3.js → layers.CMeT89Fo.js} +1 -1
- package/dist/{layers.CgCYYkou.js → layers.CN_BnwwD.js} +4 -4
- package/dist/{layers.CvFIfvgV.js → layers.COdw8QXK.js} +1 -1
- package/dist/{layers.KXBlO4Vv.js → layers.CQBViyhP.js} +1 -1
- package/dist/{layers.C4yr7Bvn.js → layers.CQRSWYsV.js} +1 -1
- package/dist/{layers.CAjQftZa.js → layers.CV14jVb0.js} +1 -1
- package/dist/{layers.j9rBO6Wa.js → layers.CXYEnmSC.js} +1 -1
- package/dist/{layers.DVfl1YTs.js → layers.CXZF-cit.js} +1 -1
- package/dist/{layers.DFZLPuHe.js → layers.CYt3zJxQ.js} +1 -1
- package/dist/{layers.BxVm65jg.js → layers.CZ2AJtwz.js} +1 -1
- package/dist/{layers.CARmWZ3k.js → layers.Ce1gP42h.js} +1 -1
- package/dist/{layers.NrgRfKYO.js → layers.Cg05q7cN.js} +1 -1
- package/dist/{layers.Dpfdz298.js → layers.CjVMlnTi.js} +1 -1
- package/dist/{layers.BGxfPQjD.js → layers.Cjpd_JEC.js} +4 -4
- package/dist/{layers.B78GgPHB.js → layers.ClUKnJ7m.js} +1 -1
- package/dist/{layers.e1ZRnuDD.js → layers.Cm36nD0R.js} +1 -1
- package/dist/{layers.DY8P3e36.js → layers.Cmju9J_z.js} +4 -4
- package/dist/{layers.gqOA4baa.js → layers.Cmp1tFvN.js} +1 -1
- package/dist/{layers.8Um6ftSi.js → layers.CoCXJNYR.js} +1 -1
- package/dist/{layers.C-lLaVkk.js → layers.CoJ1A7GX.js} +1 -1
- package/dist/{layers._f3fQ0iz.js → layers.CrR6Cu1_.js} +1 -1
- package/dist/{layers.D6ctHYw5.js → layers.CtJGY-ER.js} +1 -1
- package/dist/{layers.OtxX209t.js → layers.CwObcDUF.js} +1 -1
- package/dist/{layers.BW6ATV1c.js → layers.CypoJKqx.js} +3 -3
- package/dist/{layers.D1-pcTWs.js → layers.Cz3gSlPy.js} +4 -4
- package/dist/{layers.C77dlgiy.js → layers.D-P7pnJi.js} +1 -1
- package/dist/{layers.DK5hDIgq.js → layers.D06KQS8I.js} +1 -1
- package/dist/{layers.B3ZxwGUL.js → layers.D3jhkMKI.js} +7 -7
- package/dist/{layers.D0QaXwRB.js → layers.D579n8t3.js} +1 -1
- package/dist/{layers.BpHj8c4N.js → layers.D5uU7nYF.js} +1 -1
- package/dist/{layers.CAwWIoP7.js → layers.D62qPJec.js} +1 -1
- package/dist/{layers.DLvaW33Z.js → layers.D6GqnIoL.js} +1 -1
- package/dist/{layers.DBJVf5HI.js → layers.D6Ix71Ra.js} +1 -1
- package/dist/{layers.Ci_OJf8t.js → layers.D7Khtjje.js} +1 -1
- package/dist/{layers.ztXMRhLo.js → layers.DA9THp9O.js} +1 -1
- package/dist/{layers.D8BVoBSi.js → layers.DHVFuixE.js} +1 -1
- package/dist/{layers.Djp8mUBq.js → layers.DHr_lDCA.js} +1 -1
- package/dist/{layers.DCS9_1KQ.js → layers.DIZsGqOX.js} +1 -1
- package/dist/{layers.DqE75_Os.js → layers.DJH3Oczu.js} +1 -1
- package/dist/{layers.CtoAvhVa.js → layers.DNmSTlRj.js} +1 -1
- package/dist/{layers.DJiZjqd3.js → layers.DP3zcVgG.js} +1 -1
- package/dist/{layers.B3E750WN.js → layers.DT41qoQi.js} +1 -1
- package/dist/{layers.DiZ4GcAf.js → layers.DTS_agg7.js} +1 -1
- package/dist/{layers.Cm1oauyl.js → layers.DTd2aka4.js} +1 -1
- package/dist/{layers.dgKEVLlQ.js → layers.DVO3a2vq.js} +1 -1
- package/dist/{layers.DLBicNKQ.js → layers.DWOw64KV.js} +1 -1
- package/dist/{layers.uobjGWTC.js → layers.DX7oWSsD.js} +1 -1
- package/dist/{layers.ZP84EmSh.js → layers.DYVmwncl.js} +1 -1
- package/dist/{layers.CEUy0QHv.js → layers.DZi5IBK7.js} +5 -5
- package/dist/{layers.D5TqF1m6.js → layers.Da1EGaKb.js} +1 -1
- package/dist/{layers.DFQIa9t-.js → layers.Dak7KYhU.js} +1 -1
- package/dist/{layers.DgIEbUr7.js → layers.Dbu8jxbu.js} +1 -1
- package/dist/{layers.D7gSHjSe.js → layers.DesK2flG.js} +1 -1
- package/dist/{layers.Dnwy8-9h.js → layers.DgZDULhU.js} +1 -1
- package/dist/{layers.Cn1Na0Wu.js → layers.DgtEgUTm.js} +24 -24
- package/dist/{layers.hb7uCRVn.js → layers.DhSQxY92.js} +1 -1
- package/dist/{layers.DQLSMStt.js → layers.DimPFg1y.js} +1 -1
- package/dist/{layers.0VdaSArj.js → layers.DipH4XIT.js} +1 -1
- package/dist/{layers.43ZJhWls.js → layers.DlHIiPlW.js} +1 -1
- package/dist/{layers.vVItDXN7.js → layers.DpdibG49.js} +1 -1
- package/dist/{layers.Dhv_WQNj.js → layers.DrvC6QMD.js} +1 -1
- package/dist/{layers.fs0IZ_S0.js → layers.DsN20L5c.js} +1 -1
- package/dist/{layers.-XvKfoNX.js → layers.DtPnbqA_.js} +2 -2
- package/dist/{layers.ZkBjKiJ9.js → layers.Dv1cLqRb.js} +2 -2
- package/dist/{layers.BC33r--_.js → layers.DyACarL0.js} +1 -1
- package/dist/{layers.lCJjaEvB.js → layers.DyG07hWC.js} +1 -1
- package/dist/{layers.C0FFwqPQ.js → layers.Dz9O0u7I.js} +1 -1
- package/dist/{layers.VL_qr1SH.js → layers.DzvQ_Q9L.js} +1 -1
- package/dist/layers.EGafIndU.js +8 -0
- package/dist/{layers.DXe--WiI.js → layers.E_D59Yym.js} +1 -1
- package/dist/{layers.BX-s1kOG.js → layers.F62HSS8f.js} +1 -1
- package/dist/{layers.Z4CahB42.js → layers.FwQD7xoc.js} +1 -1
- package/dist/{layers.ByPssizq.js → layers.Hw42nr2F.js} +1 -1
- package/dist/{layers.CjNDdz10.js → layers.J9BUarSz.js} +1 -1
- package/dist/layers.JnHNUJic.js +6 -0
- package/dist/{layers.CtA1oXbw.js → layers.K8XDZTme.js} +1 -1
- package/dist/{layers.DE7ZNFmc.js → layers.L_R1KTk3.js} +1 -1
- package/dist/{layers.exGM67os.js → layers.Q5fX-Pjx.js} +1 -1
- package/dist/{layers.A-sifJ96.js → layers.R9fxh70q.js} +1 -1
- package/dist/{layers.BgtQ5VOT.js → layers.RGOSJmZU.js} +1 -1
- package/dist/{layers.BqWxCz9w.js → layers.RsxQaMxf.js} +1 -1
- package/dist/{layers.BaDcOxBT.js → layers.RzIbYXxC.js} +1 -1
- package/dist/{layers.PcA9C8s_.js → layers.SajCBg7m.js} +1 -1
- package/dist/{layers.38Kl2PQX.js → layers.X4bGPYCi.js} +1 -1
- package/dist/{layers.DiniISYO.js → layers.aF5Se60W.js} +1 -1
- package/dist/{layers.DLP3Buvi.js → layers.bO7reum0.js} +1 -1
- package/dist/{layers.BK_cvwOS.js → layers.bSgBzs1_.js} +1 -1
- package/dist/{layers.C3oM_Z_B.js → layers.bTgkZ1EB.js} +1 -1
- package/dist/{layers.K8oVteWB.js → layers.bV_yms4N.js} +1 -1
- package/dist/{layers.5ES_Crwv.js → layers.cZLcSaSP.js} +1 -1
- package/dist/{layers.ChD5umPz.js → layers.cf7sbt5I.js} +1 -1
- package/dist/{layers.CFNnGeSl.js → layers.dleF6oa5.js} +3 -3
- package/dist/{layers.DEbL6FTQ.js → layers.eI740swO.js} +1 -1
- package/dist/{layers.ChCb549Y.js → layers.g4vZ2joo.js} +3 -3
- package/dist/{layers.B_NZASmW.js → layers.gi1xszBh.js} +4 -4
- package/dist/{layers.D3xGpUhW.js → layers.gnUyo71v.js} +9 -9
- package/dist/{layers.CFNd387B.js → layers.itHqlX_Y.js} +6 -6
- package/dist/{layers.BDG2Pb81.js → layers.kRQL9_1_.js} +1 -1
- package/dist/{layers.CPih5uml.js → layers.lP9cqdkO.js} +1 -1
- package/dist/{layers.DKkZI8QM.js → layers.p0CwMc0K.js} +1 -1
- package/dist/{layers.BSCx8bip.js → layers.pKUI0IrX.js} +1 -1
- package/dist/{layers.DIc2ocu9.js → layers.pPLY34nb.js} +1 -1
- package/dist/{layers.BBUU-bj1.js → layers.qYBhj__-.js} +1 -1
- package/dist/{layers.QRP6oG16.js → layers.sDxsitBJ.js} +1 -1
- package/dist/{layers.DyxuEOE_.js → layers.snesJ3F3.js} +1 -1
- package/dist/{layers.CcqzpKUG.js → layers.tYj-c3Ws.js} +1 -1
- package/dist/{layers.C5mx5899.js → layers.v16TTnnM.js} +1 -1
- package/dist/{layers.qxP56dZh.js → layers.vBuM8mOc.js} +1 -1
- package/dist/{layers.BSVlyKsO.js → layers.vPlrYm6B.js} +1 -1
- package/dist/{layers.0GRR9YT7.js → layers.wPulzLKc.js} +1 -1
- package/dist/{layers.CGgTvPFy.js → layers.xNB6wmTq.js} +1 -1
- package/package.json +1 -1
- package/dist/layers.BqZYk_RB.js +0 -8
- package/dist/layers.CAq3juZx.js +0 -1
- package/dist/layers.CLSVgdVS.js +0 -1
- package/dist/layers.CuaeDlks.js +0 -6
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as v from "lodash-es";
|
|
2
2
|
import { l as M } from "./layers.D4fGb2cV.js";
|
|
3
3
|
import { G as U } from "./layers.C7lIplJU.js";
|
|
4
|
-
import { i as A, u as H, s as V, a as _, b as W, g as D, p as O, c as q, d as z, e as p, f as $, h as K, j as Q } from "./layers.
|
|
5
|
-
import { l as s, g as T, t as S, d as J } from "./layers.
|
|
6
|
-
import { c as Y } from "./layers.
|
|
4
|
+
import { i as A, u as H, s as V, a as _, b as W, g as D, p as O, c as q, d as z, e as p, f as $, h as K, j as Q } from "./layers.5M-g3cqt.js";
|
|
5
|
+
import { l as s, g as T, t as S, d as J } from "./layers.DgtEgUTm.js";
|
|
6
|
+
import { c as Y } from "./layers.BaiiBfxE.js";
|
|
7
7
|
function m(e) {
|
|
8
8
|
var t = {
|
|
9
9
|
options: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./layers.
|
|
1
|
+
import "./layers.gnUyo71v.js";
|
|
2
2
|
var u = { paste: "Dán", pasteAsPlaintext: "Dán kiểu văn bản thuần", pasteCharts: "Dán biểu đồ", selectAll: "Chọn tất cả", multiSelect: "Thêm mới vào Select", moveCanvas: "Di chuyển canvas", cut: "Cắt", copy: "Sao chép", copyAsPng: "Sao chép vào bộ nhớ tạm dưới dạng PNG", copyAsSvg: "Sao chép vào bộ nhớ tạm dưới dạng SVG", copyText: "Sao chép vào bộ nhớ tạm dưới dạng chữ", copySource: "", convertToCode: "", bringForward: "Đưa ra trước", sendToBack: "Hạ xuống dưới", bringToFront: "Đưa ra đầu tiên", sendBackward: "Hạ xuống cuối", delete: "Xóa", copyStyles: "Sao chép định dạng", pasteStyles: "Dán định dạng", stroke: "Nét", background: "Nền", fill: "Fill", strokeWidth: "Độ dày nét", strokeStyle: "Kiểu nét", strokeStyle_solid: "Khối", strokeStyle_dashed: "Gạch ngang", strokeStyle_dotted: "Nhiều chấm", sloppiness: "Hoa văn nét", opacity: "Độ trong suốt", textAlign: "Căn chỉnh văn bản", edges: "Cạnh", sharp: "Nhọn", round: "Tròn", arrowheads: "Đầu mũi tên", arrowhead_none: "Không", arrowhead_arrow: "Mũi tên", arrowhead_bar: "Thanh", arrowhead_circle: "", arrowhead_circle_outline: "", arrowhead_triangle: "Tam giác", arrowhead_triangle_outline: "", arrowhead_diamond: "", arrowhead_diamond_outline: "", fontSize: "Cỡ chữ", fontFamily: "Phông chữ", addWatermark: 'Làm với Excalidraw"', handDrawn: "Vẽ tay", normal: "Bình thường", code: "Mã", small: "Nhỏ", medium: "Vừa", large: "Lớn", veryLarge: "Rất lớn", solid: "Đặc", hachure: "Nét gạch gạch", zigzag: "Zigzag", crossHatch: "Nét gạch chéo", thin: "Mỏng", bold: "In đậm", left: "Trái", center: "Giữa", right: "Phải", extraBold: "Nét siêu đậm", architect: "Kiến trúc sư", artist: "Nghệ sỹ", cartoonist: "Hoạt hình", fileTitle: "Tên tập tin", colorPicker: "Chọn màu", canvasColors: "Đã dùng trên canvas", canvasBackground: "Nền canvas", drawingCanvas: "Canvas vẽ", layers: "Lớp", actions: "Chức năng", language: "Ngôn ngữ", liveCollaboration: "Hợp tác trực tiếp...", duplicateSelection: "Tạo bản sao", untitled: "Không có tiêu đề", name: "Tên", yourName: "Tên của bạn", madeWithExcalidraw: "Làm với Excalidraw", group: "Gộp nhóm lại lựa chọn", ungroup: "Tách nhóm lựa chọn", collaborators: "Cộng tác viên", showGrid: "Hiển thị lưới", addToLibrary: "Thêm vào thư viện", removeFromLibrary: "Xóa khỏi thư viện", libraryLoadingMessage: "Đang tải thư viện…", libraries: "Xem thư viện", loadingScene: "Đang tải về…", align: "Căn chỉnh", alignTop: "Căn trên", alignBottom: "Căn dưới", alignLeft: "Canh trái", alignRight: "Canh phải", centerVertically: "Giữa theo chiều dọc", centerHorizontally: "Giữa theo chiều ngang", distributeHorizontally: "Phân bố theo chiều ngang", distributeVertically: "Phân bố theo chiều dọc", flipHorizontal: "Lật ngang", flipVertical: "Lật dọc", viewMode: "Chế độ xem", share: "Chia sẻ", showStroke: "Hiển thị chọn màu", showBackground: "Hiện thị chọn màu nền", toggleTheme: "", personalLib: "Thư viện cá nhân", excalidrawLib: "Thư viện Excalidraw", decreaseFontSize: "Giảm cỡ chữ", increaseFontSize: "Tăng cỡ chữ", unbindText: "", bindText: "", createContainerFromText: "", link: { edit: "Sửa liên kết", editEmbed: "", create: "Tạo liên kết", createEmbed: "", label: "Liên kết", labelEmbed: "", empty: "" }, lineEditor: { edit: "Điều chỉnh nét", exit: "Thoát chỉnh nét" }, elementLock: { lock: "Khoá", unlock: "Mở khoá", lockAll: "Khóa tất cả", unlockAll: "Mở khóa tất cả" }, statusPublished: "Đã đăng tải", sidebarLock: "Giữ thanh bên luôn mở", selectAllElementsInFrame: "", removeAllElementsFromFrame: "", eyeDropper: "", textToDiagram: "", prompt: "" }, E = { noItems: "Chưa có món nào...", hint_emptyLibrary: "Chọn một món trên canvas để thêm nó vào đây, hoặc cài đặt thư viện từ kho lưu trữ công cộng, ở bên dưới.", hint_emptyPrivateLibrary: "Chọn một món trên canvas để thêm nó vào đây." }, n = { clearReset: "Reset canvas", exportJSON: "Xuất ra tập tin", exportImage: "Xuất file ảnh...", export: "Lưu vào...", copyToClipboard: "Sao chép vào bộ nhớ tạm", save: "Lưu vào tập tin hiện tại", saveAs: "Lưu thành", load: "Mở", getShareableLink: "Tạo liên kết để chia sẻ", close: "Đóng", selectLanguage: "Chọn ngôn ngữ", scrollBackToContent: "Cuộn về nội dung chính", zoomIn: "Phóng to", zoomOut: "Thu nhỏ", resetZoom: "Đặt lại thu phóng", menu: "Bảng chọn", done: "Xong", edit: "Chỉnh sửa", undo: "Hoàn tác", redo: "Làm lại", resetLibrary: "", createNewRoom: "Tạo phòng mới", fullScreen: "Toàn màn hình", darkMode: "Chế độ tối", lightMode: "Chế độ sáng", zenMode: "Chế độ zen", objectsSnapMode: "", exitZenMode: "Thoát chể độ zen", cancel: "Hủy", clear: "Làm sạch", remove: "Xóa", embed: "", publishLibrary: "Đăng tải", submit: "Gửi", confirm: "Xác nhận", embeddableInteractionButton: "" }, e = { clearReset: "Điều này sẽ dọn hết canvas. Bạn có chắc không?", couldNotCreateShareableLink: "Không thể tạo đường dẫn chia sẻ.", couldNotCreateShareableLinkTooBig: "Không thể tạo đường dẫn chia sẻ: bản vẽ quá lớn", couldNotLoadInvalidFile: "Không thể load tập tin không hợp lệ", importBackendFailed: "", cannotExportEmptyCanvas: "Không thể xuất canvas trống.", couldNotCopyToClipboard: "", decryptFailed: "Không thể giải mã dữ liệu.", uploadedSecurly: "", loadSceneOverridePrompt: "", collabStopOverridePrompt: `Dừng phiên sẽ ghi đè lên bản vẽ được lưu trữ cục bộ trước đó của bạn. Bạn có chắc không?
|
|
3
3
|
|
|
4
4
|
(Nếu bạn muốn giữ bản vẽ cục bộ của mình, chỉ cần đóng tab trình duyệt.)`, errorAddingToLibrary: "Không thể thêm món vào thư viện", errorRemovingFromLibrary: "Không thể xoá món khỏi thư viện", confirmAddLibrary: "Hình {{numShapes}} sẽ được thêm vào thư viện. Bạn chắc chứ?", imageDoesNotContainScene: "Hình ảnh này dường như không chứa bất kỳ dữ liệu cảnh nào. Bạn đã bật tính năng nhúng cảnh khi xuất chưa?", cannotRestoreFromImage: "", invalidSceneUrl: "", resetLibrary: "", removeItemsFromsLibrary: "Xoá {{count}} món từ thư viện?", invalidEncryptionKey: "Khóa mã hóa phải có 22 ký tự. Hợp tác trực tiếp bị vô hiệu hóa.", collabOfflineWarning: `Không có kết nối internet.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./layers.CFNnGeSl.js"),U=require("./layers.lRYdKIIK.js"),Ie=require("./layers.9QK1wiQj.js");require("./layers.B3ZxwGUL.js");require("./layers.GHnZTJ9O.js");const Ae=require("./layers.CLSVgdVS.js"),Ce=require("./layers.B19hGmey.js"),ze=require("./layers.BIeVwYKL.js");function Re(e,r){for(var o=-1,c=e==null?0:e.length;++o<c&&r(e[o],o,e)!==!1;);return e}function xe(e){return u.isArrayLike(e)?u.arrayLikeKeys(e):u.baseKeys(e)}function Be(e,r){return e&&u.copyObject(r,xe(r),e)}function je(e,r){for(var o=-1,c=e==null?0:e.length,i=0,h=[];++o<c;){var l=e[o];r(l,o,e)&&(h[i++]=l)}return h}function Pe(){return[]}var Fe=Object.prototype,Ke=Fe.propertyIsEnumerable,le=Object.getOwnPropertySymbols,Le=le?function(e){return e==null?[]:(e=Object(e),je(le(e),function(r){return Ke.call(e,r)}))}:Pe;function Me(e,r){return u.copyObject(e,Le(e),r)}function Ue(e,r){for(var o=-1,c=r.length,i=e.length;++o<c;)e[i+o]=r[o];return e}function Ye(e,r,o){var c=r(e);return u.isArray(e)?c:Ue(c,o(e))}function We(e){return Ye(e,xe,Le)}var Ve=Object.prototype,qe=Ve.hasOwnProperty;function Ge(e){var r=e.length,o=new e.constructor(r);return r&&typeof e[0]=="string"&&qe.call(e,"index")&&(o.index=e.index,o.input=e.input),o}function Xe(e,r){var o=e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var He=/\w*$/;function $e(e){var r=new e.constructor(e.source,He.exec(e));return r.lastIndex=e.lastIndex,r}var ce=u.Symbol?u.Symbol.prototype:void 0,ue=ce?ce.valueOf:void 0;function Ze(e){return ue?Object(ue.call(e)):{}}var Je="[object Boolean]",Qe="[object Date]",et="[object Map]",tt="[object Number]",st="[object RegExp]",rt="[object Set]",it="[object String]",nt="[object Symbol]",at="[object ArrayBuffer]",ot="[object DataView]",lt="[object Float32Array]",ct="[object Float64Array]",ut="[object Int8Array]",gt="[object Int16Array]",dt="[object Int32Array]",ht="[object Uint8Array]",pt="[object Uint8ClampedArray]",ft="[object Uint16Array]",bt="[object Uint32Array]";function St(e,r,o){var c=e.constructor;switch(r){case at:return u.cloneArrayBuffer(e);case Je:case Qe:return new c(+e);case ot:return Xe(e);case lt:case ct:case ut:case gt:case dt:case ht:case pt:case ft:case bt:return u.cloneTypedArray(e,o);case et:return new c;case tt:case it:return new c(e);case st:return $e(e);case rt:return new c;case nt:return Ze(e)}}var xt="[object Map]";function Lt(e){return u.isObjectLike(e)&&u.getTag(e)==xt}var ge=u.nodeUtil&&u.nodeUtil.isMap,yt=ge?u.baseUnary(ge):Lt,mt="[object Set]";function _t(e){return u.isObjectLike(e)&&u.getTag(e)==mt}var de=u.nodeUtil&&u.nodeUtil.isSet,Et=de?u.baseUnary(de):_t,wt=1,ye="[object Arguments]",vt="[object Array]",Dt="[object Boolean]",Tt="[object Date]",Nt="[object Error]",me="[object Function]",Ot="[object GeneratorFunction]",kt="[object Map]",It="[object Number]",_e="[object Object]",At="[object RegExp]",Ct="[object Set]",zt="[object String]",Rt="[object Symbol]",Bt="[object WeakMap]",jt="[object ArrayBuffer]",Pt="[object DataView]",Ft="[object Float32Array]",Kt="[object Float64Array]",Mt="[object Int8Array]",Ut="[object Int16Array]",Yt="[object Int32Array]",Wt="[object Uint8Array]",Vt="[object Uint8ClampedArray]",qt="[object Uint16Array]",Gt="[object Uint32Array]",y={};y[ye]=y[vt]=y[jt]=y[Pt]=y[Dt]=y[Tt]=y[Ft]=y[Kt]=y[Mt]=y[Ut]=y[Yt]=y[kt]=y[It]=y[_e]=y[At]=y[Ct]=y[zt]=y[Rt]=y[Wt]=y[Vt]=y[qt]=y[Gt]=!0;y[Nt]=y[me]=y[Bt]=!1;function Z(e,r,o,c,i,h){var l,b=r&wt;if(l!==void 0)return l;if(!u.isObject(e))return e;var S=u.isArray(e);if(S)return l=Ge(e),u.copyArray(e,l);var f=u.getTag(e),x=f==me||f==Ot;if(u.isBuffer(e))return u.cloneBuffer(e,b);if(f==_e||f==ye||x&&!i)return l=x?{}:u.initCloneObject(e),Me(e,Be(l,e));if(!y[f])return i?e:{};l=St(e,f,b),h||(h=new u.Stack);var w=h.get(e);if(w)return w;h.set(e,l),Et(e)?e.forEach(function(_){l.add(Z(_,r,o,_,e,h))}):yt(e)&&e.forEach(function(_,L){l.set(L,Z(_,r,o,L,e,h))});var k=We,D=S?void 0:k(e);return Re(D||e,function(_,L){D&&(L=_,_=e[L]),u.assignValue(l,L,Z(_,r,o,L,e,h))}),l}var Xt=4;function Ht(e){return Z(e,Xt)}var he,pe,se=(function(){var e=function(N,g,s,n){for(s=s||{},n=N.length;n--;s[N[n]]=g);return s},r=[1,7],o=[1,13],c=[1,14],i=[1,15],h=[1,19],l=[1,16],b=[1,17],S=[1,18],f=[8,30],x=[8,21,28,29,30,31,32,40,44,47],w=[1,23],k=[1,24],D=[8,15,16,21,28,29,30,31,32,40,44,47],_=[8,15,16,21,27,28,29,30,31,32,40,44,47],L=[1,49],m={trace:function(){},yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:function(g,s,n,d,p,t,E){var a=t.length-1;switch(p){case 4:d.getLogger().debug("Rule: separator (NL) ");break;case 5:d.getLogger().debug("Rule: separator (Space) ");break;case 6:d.getLogger().debug("Rule: separator (EOF) ");break;case 7:d.getLogger().debug("Rule: hierarchy: ",t[a-1]),d.setHierarchy(t[a-1]);break;case 8:d.getLogger().debug("Stop NL ");break;case 9:d.getLogger().debug("Stop EOF ");break;case 10:d.getLogger().debug("Stop NL2 ");break;case 11:d.getLogger().debug("Stop EOF2 ");break;case 12:d.getLogger().debug("Rule: statement: ",t[a]),typeof t[a].length=="number"?this.$=t[a]:this.$=[t[a]];break;case 13:d.getLogger().debug("Rule: statement #2: ",t[a-1]),this.$=[t[a-1]].concat(t[a]);break;case 14:d.getLogger().debug("Rule: link: ",t[a],g),this.$={edgeTypeStr:t[a],label:""};break;case 15:d.getLogger().debug("Rule: LABEL link: ",t[a-3],t[a-1],t[a]),this.$={edgeTypeStr:t[a],label:t[a-1]};break;case 18:const B=parseInt(t[a]),Y=d.generateId();this.$={id:Y,type:"space",label:"",width:B,children:[]};break;case 23:d.getLogger().debug("Rule: (nodeStatement link node) ",t[a-2],t[a-1],t[a]," typestr: ",t[a-1].edgeTypeStr);const F=d.edgeStrToEdgeData(t[a-1].edgeTypeStr);this.$=[{id:t[a-2].id,label:t[a-2].label,type:t[a-2].type,directions:t[a-2].directions},{id:t[a-2].id+"-"+t[a].id,start:t[a-2].id,end:t[a].id,label:t[a-1].label,type:"edge",directions:t[a].directions,arrowTypeEnd:F,arrowTypeStart:"arrow_open"},{id:t[a].id,label:t[a].label,type:d.typeStr2Type(t[a].typeStr),directions:t[a].directions}];break;case 24:d.getLogger().debug("Rule: nodeStatement (abc88 node size) ",t[a-1],t[a]),this.$={id:t[a-1].id,label:t[a-1].label,type:d.typeStr2Type(t[a-1].typeStr),directions:t[a-1].directions,widthInColumns:parseInt(t[a],10)};break;case 25:d.getLogger().debug("Rule: nodeStatement (node) ",t[a]),this.$={id:t[a].id,label:t[a].label,type:d.typeStr2Type(t[a].typeStr),directions:t[a].directions,widthInColumns:1};break;case 26:d.getLogger().debug("APA123",this?this:"na"),d.getLogger().debug("COLUMNS: ",t[a]),this.$={type:"column-setting",columns:t[a]==="auto"?-1:parseInt(t[a])};break;case 27:d.getLogger().debug("Rule: id-block statement : ",t[a-2],t[a-1]),d.generateId(),this.$={...t[a-2],type:"composite",children:t[a-1]};break;case 28:d.getLogger().debug("Rule: blockStatement : ",t[a-2],t[a-1],t[a]);const z=d.generateId();this.$={id:z,type:"composite",label:"",children:t[a-1]};break;case 29:d.getLogger().debug("Rule: node (NODE_ID separator): ",t[a]),this.$={id:t[a]};break;case 30:d.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",t[a-1],t[a]),this.$={id:t[a-1],label:t[a].label,typeStr:t[a].typeStr,directions:t[a].directions};break;case 31:d.getLogger().debug("Rule: dirList: ",t[a]),this.$=[t[a]];break;case 32:d.getLogger().debug("Rule: dirList: ",t[a-1],t[a]),this.$=[t[a-1]].concat(t[a]);break;case 33:d.getLogger().debug("Rule: nodeShapeNLabel: ",t[a-2],t[a-1],t[a]),this.$={typeStr:t[a-2]+t[a],label:t[a-1]};break;case 34:d.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",t[a-3],t[a-2]," #3:",t[a-1],t[a]),this.$={typeStr:t[a-3]+t[a],label:t[a-2],directions:t[a-1]};break;case 35:case 36:this.$={type:"classDef",id:t[a-1].trim(),css:t[a].trim()};break;case 37:this.$={type:"applyClass",id:t[a-1].trim(),styleClass:t[a].trim()};break;case 38:this.$={type:"applyStyles",id:t[a-1].trim(),stylesStr:t[a].trim()};break}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:o,29:c,31:i,32:h,40:l,44:b,47:S},{8:[1,20]},e(f,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:r,28:o,29:c,31:i,32:h,40:l,44:b,47:S}),e(x,[2,16],{14:22,15:w,16:k}),e(x,[2,17]),e(x,[2,18]),e(x,[2,19]),e(x,[2,20]),e(x,[2,21]),e(x,[2,22]),e(D,[2,25],{27:[1,25]}),e(x,[2,26]),{19:26,26:12,32:h},{11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:o,29:c,31:i,32:h,40:l,44:b,47:S},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},e(_,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},e(f,[2,13]),{26:35,32:h},{32:[2,14]},{17:[1,36]},e(D,[2,24]),{11:37,13:4,14:22,15:w,16:k,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:o,29:c,31:i,32:h,40:l,44:b,47:S},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},e(_,[2,30]),{18:[1,43]},{18:[1,44]},e(D,[2,23]),{18:[1,45]},{30:[1,46]},e(x,[2,28]),e(x,[2,35]),e(x,[2,36]),e(x,[2,37]),e(x,[2,38]),{37:[1,47]},{34:48,35:L},{15:[1,50]},e(x,[2,27]),e(_,[2,33]),{39:[1,51]},{34:52,35:L,39:[2,31]},{32:[2,15]},e(_,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(g,s){if(s.recoverable)this.trace(g);else{var n=new Error(g);throw n.hash=s,n}},parse:function(g){var s=this,n=[0],d=[],p=[null],t=[],E=this.table,a="",B=0,Y=0,F=2,z=1,Ne=t.slice.call(arguments,1),T=Object.create(this.lexer),K={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(K.yy[J]=this.yy[J]);T.setInput(g,K.yy),K.yy.lexer=T,K.yy.parser=this,typeof T.yylloc>"u"&&(T.yylloc={});var Q=T.yylloc;t.push(Q);var Oe=T.options&&T.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ke(){var P;return P=d.pop()||T.lex()||z,typeof P!="number"&&(P instanceof Array&&(d=P,P=d.pop()),P=s.symbols_[P]||P),P}for(var I,M,C,ee,W={},X,j,oe,H;;){if(M=n[n.length-1],this.defaultActions[M]?C=this.defaultActions[M]:((I===null||typeof I>"u")&&(I=ke()),C=E[M]&&E[M][I]),typeof C>"u"||!C.length||!C[0]){var te="";H=[];for(X in E[M])this.terminals_[X]&&X>F&&H.push("'"+this.terminals_[X]+"'");T.showPosition?te="Parse error on line "+(B+1)+`:
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./layers.dleF6oa5.js"),U=require("./layers.CBQXX09F.js"),Ie=require("./layers.9QK1wiQj.js");require("./layers.D3jhkMKI.js");require("./layers.GHnZTJ9O.js");const Ae=require("./layers.BXNFflBM.js"),Ce=require("./layers.B19hGmey.js"),ze=require("./layers.BIeVwYKL.js");function Re(e,r){for(var o=-1,c=e==null?0:e.length;++o<c&&r(e[o],o,e)!==!1;);return e}function xe(e){return u.isArrayLike(e)?u.arrayLikeKeys(e):u.baseKeys(e)}function Be(e,r){return e&&u.copyObject(r,xe(r),e)}function je(e,r){for(var o=-1,c=e==null?0:e.length,i=0,h=[];++o<c;){var l=e[o];r(l,o,e)&&(h[i++]=l)}return h}function Pe(){return[]}var Fe=Object.prototype,Ke=Fe.propertyIsEnumerable,le=Object.getOwnPropertySymbols,Le=le?function(e){return e==null?[]:(e=Object(e),je(le(e),function(r){return Ke.call(e,r)}))}:Pe;function Me(e,r){return u.copyObject(e,Le(e),r)}function Ue(e,r){for(var o=-1,c=r.length,i=e.length;++o<c;)e[i+o]=r[o];return e}function Ye(e,r,o){var c=r(e);return u.isArray(e)?c:Ue(c,o(e))}function We(e){return Ye(e,xe,Le)}var Ve=Object.prototype,qe=Ve.hasOwnProperty;function Ge(e){var r=e.length,o=new e.constructor(r);return r&&typeof e[0]=="string"&&qe.call(e,"index")&&(o.index=e.index,o.input=e.input),o}function Xe(e,r){var o=e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var He=/\w*$/;function $e(e){var r=new e.constructor(e.source,He.exec(e));return r.lastIndex=e.lastIndex,r}var ce=u.Symbol?u.Symbol.prototype:void 0,ue=ce?ce.valueOf:void 0;function Ze(e){return ue?Object(ue.call(e)):{}}var Je="[object Boolean]",Qe="[object Date]",et="[object Map]",tt="[object Number]",st="[object RegExp]",rt="[object Set]",it="[object String]",nt="[object Symbol]",at="[object ArrayBuffer]",ot="[object DataView]",lt="[object Float32Array]",ct="[object Float64Array]",ut="[object Int8Array]",gt="[object Int16Array]",dt="[object Int32Array]",ht="[object Uint8Array]",pt="[object Uint8ClampedArray]",ft="[object Uint16Array]",bt="[object Uint32Array]";function St(e,r,o){var c=e.constructor;switch(r){case at:return u.cloneArrayBuffer(e);case Je:case Qe:return new c(+e);case ot:return Xe(e);case lt:case ct:case ut:case gt:case dt:case ht:case pt:case ft:case bt:return u.cloneTypedArray(e,o);case et:return new c;case tt:case it:return new c(e);case st:return $e(e);case rt:return new c;case nt:return Ze(e)}}var xt="[object Map]";function Lt(e){return u.isObjectLike(e)&&u.getTag(e)==xt}var ge=u.nodeUtil&&u.nodeUtil.isMap,yt=ge?u.baseUnary(ge):Lt,mt="[object Set]";function _t(e){return u.isObjectLike(e)&&u.getTag(e)==mt}var de=u.nodeUtil&&u.nodeUtil.isSet,Et=de?u.baseUnary(de):_t,wt=1,ye="[object Arguments]",vt="[object Array]",Dt="[object Boolean]",Tt="[object Date]",Nt="[object Error]",me="[object Function]",Ot="[object GeneratorFunction]",kt="[object Map]",It="[object Number]",_e="[object Object]",At="[object RegExp]",Ct="[object Set]",zt="[object String]",Rt="[object Symbol]",Bt="[object WeakMap]",jt="[object ArrayBuffer]",Pt="[object DataView]",Ft="[object Float32Array]",Kt="[object Float64Array]",Mt="[object Int8Array]",Ut="[object Int16Array]",Yt="[object Int32Array]",Wt="[object Uint8Array]",Vt="[object Uint8ClampedArray]",qt="[object Uint16Array]",Gt="[object Uint32Array]",y={};y[ye]=y[vt]=y[jt]=y[Pt]=y[Dt]=y[Tt]=y[Ft]=y[Kt]=y[Mt]=y[Ut]=y[Yt]=y[kt]=y[It]=y[_e]=y[At]=y[Ct]=y[zt]=y[Rt]=y[Wt]=y[Vt]=y[qt]=y[Gt]=!0;y[Nt]=y[me]=y[Bt]=!1;function Z(e,r,o,c,i,h){var l,b=r&wt;if(l!==void 0)return l;if(!u.isObject(e))return e;var S=u.isArray(e);if(S)return l=Ge(e),u.copyArray(e,l);var f=u.getTag(e),x=f==me||f==Ot;if(u.isBuffer(e))return u.cloneBuffer(e,b);if(f==_e||f==ye||x&&!i)return l=x?{}:u.initCloneObject(e),Me(e,Be(l,e));if(!y[f])return i?e:{};l=St(e,f,b),h||(h=new u.Stack);var w=h.get(e);if(w)return w;h.set(e,l),Et(e)?e.forEach(function(_){l.add(Z(_,r,o,_,e,h))}):yt(e)&&e.forEach(function(_,L){l.set(L,Z(_,r,o,L,e,h))});var k=We,D=S?void 0:k(e);return Re(D||e,function(_,L){D&&(L=_,_=e[L]),u.assignValue(l,L,Z(_,r,o,L,e,h))}),l}var Xt=4;function Ht(e){return Z(e,Xt)}var he,pe,se=(function(){var e=function(N,g,s,n){for(s=s||{},n=N.length;n--;s[N[n]]=g);return s},r=[1,7],o=[1,13],c=[1,14],i=[1,15],h=[1,19],l=[1,16],b=[1,17],S=[1,18],f=[8,30],x=[8,21,28,29,30,31,32,40,44,47],w=[1,23],k=[1,24],D=[8,15,16,21,28,29,30,31,32,40,44,47],_=[8,15,16,21,27,28,29,30,31,32,40,44,47],L=[1,49],m={trace:function(){},yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:function(g,s,n,d,p,t,E){var a=t.length-1;switch(p){case 4:d.getLogger().debug("Rule: separator (NL) ");break;case 5:d.getLogger().debug("Rule: separator (Space) ");break;case 6:d.getLogger().debug("Rule: separator (EOF) ");break;case 7:d.getLogger().debug("Rule: hierarchy: ",t[a-1]),d.setHierarchy(t[a-1]);break;case 8:d.getLogger().debug("Stop NL ");break;case 9:d.getLogger().debug("Stop EOF ");break;case 10:d.getLogger().debug("Stop NL2 ");break;case 11:d.getLogger().debug("Stop EOF2 ");break;case 12:d.getLogger().debug("Rule: statement: ",t[a]),typeof t[a].length=="number"?this.$=t[a]:this.$=[t[a]];break;case 13:d.getLogger().debug("Rule: statement #2: ",t[a-1]),this.$=[t[a-1]].concat(t[a]);break;case 14:d.getLogger().debug("Rule: link: ",t[a],g),this.$={edgeTypeStr:t[a],label:""};break;case 15:d.getLogger().debug("Rule: LABEL link: ",t[a-3],t[a-1],t[a]),this.$={edgeTypeStr:t[a],label:t[a-1]};break;case 18:const B=parseInt(t[a]),Y=d.generateId();this.$={id:Y,type:"space",label:"",width:B,children:[]};break;case 23:d.getLogger().debug("Rule: (nodeStatement link node) ",t[a-2],t[a-1],t[a]," typestr: ",t[a-1].edgeTypeStr);const F=d.edgeStrToEdgeData(t[a-1].edgeTypeStr);this.$=[{id:t[a-2].id,label:t[a-2].label,type:t[a-2].type,directions:t[a-2].directions},{id:t[a-2].id+"-"+t[a].id,start:t[a-2].id,end:t[a].id,label:t[a-1].label,type:"edge",directions:t[a].directions,arrowTypeEnd:F,arrowTypeStart:"arrow_open"},{id:t[a].id,label:t[a].label,type:d.typeStr2Type(t[a].typeStr),directions:t[a].directions}];break;case 24:d.getLogger().debug("Rule: nodeStatement (abc88 node size) ",t[a-1],t[a]),this.$={id:t[a-1].id,label:t[a-1].label,type:d.typeStr2Type(t[a-1].typeStr),directions:t[a-1].directions,widthInColumns:parseInt(t[a],10)};break;case 25:d.getLogger().debug("Rule: nodeStatement (node) ",t[a]),this.$={id:t[a].id,label:t[a].label,type:d.typeStr2Type(t[a].typeStr),directions:t[a].directions,widthInColumns:1};break;case 26:d.getLogger().debug("APA123",this?this:"na"),d.getLogger().debug("COLUMNS: ",t[a]),this.$={type:"column-setting",columns:t[a]==="auto"?-1:parseInt(t[a])};break;case 27:d.getLogger().debug("Rule: id-block statement : ",t[a-2],t[a-1]),d.generateId(),this.$={...t[a-2],type:"composite",children:t[a-1]};break;case 28:d.getLogger().debug("Rule: blockStatement : ",t[a-2],t[a-1],t[a]);const z=d.generateId();this.$={id:z,type:"composite",label:"",children:t[a-1]};break;case 29:d.getLogger().debug("Rule: node (NODE_ID separator): ",t[a]),this.$={id:t[a]};break;case 30:d.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",t[a-1],t[a]),this.$={id:t[a-1],label:t[a].label,typeStr:t[a].typeStr,directions:t[a].directions};break;case 31:d.getLogger().debug("Rule: dirList: ",t[a]),this.$=[t[a]];break;case 32:d.getLogger().debug("Rule: dirList: ",t[a-1],t[a]),this.$=[t[a-1]].concat(t[a]);break;case 33:d.getLogger().debug("Rule: nodeShapeNLabel: ",t[a-2],t[a-1],t[a]),this.$={typeStr:t[a-2]+t[a],label:t[a-1]};break;case 34:d.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",t[a-3],t[a-2]," #3:",t[a-1],t[a]),this.$={typeStr:t[a-3]+t[a],label:t[a-2],directions:t[a-1]};break;case 35:case 36:this.$={type:"classDef",id:t[a-1].trim(),css:t[a].trim()};break;case 37:this.$={type:"applyClass",id:t[a-1].trim(),styleClass:t[a].trim()};break;case 38:this.$={type:"applyStyles",id:t[a-1].trim(),stylesStr:t[a].trim()};break}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:o,29:c,31:i,32:h,40:l,44:b,47:S},{8:[1,20]},e(f,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:r,28:o,29:c,31:i,32:h,40:l,44:b,47:S}),e(x,[2,16],{14:22,15:w,16:k}),e(x,[2,17]),e(x,[2,18]),e(x,[2,19]),e(x,[2,20]),e(x,[2,21]),e(x,[2,22]),e(D,[2,25],{27:[1,25]}),e(x,[2,26]),{19:26,26:12,32:h},{11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:o,29:c,31:i,32:h,40:l,44:b,47:S},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},e(_,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},e(f,[2,13]),{26:35,32:h},{32:[2,14]},{17:[1,36]},e(D,[2,24]),{11:37,13:4,14:22,15:w,16:k,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:o,29:c,31:i,32:h,40:l,44:b,47:S},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},e(_,[2,30]),{18:[1,43]},{18:[1,44]},e(D,[2,23]),{18:[1,45]},{30:[1,46]},e(x,[2,28]),e(x,[2,35]),e(x,[2,36]),e(x,[2,37]),e(x,[2,38]),{37:[1,47]},{34:48,35:L},{15:[1,50]},e(x,[2,27]),e(_,[2,33]),{39:[1,51]},{34:52,35:L,39:[2,31]},{32:[2,15]},e(_,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(g,s){if(s.recoverable)this.trace(g);else{var n=new Error(g);throw n.hash=s,n}},parse:function(g){var s=this,n=[0],d=[],p=[null],t=[],E=this.table,a="",B=0,Y=0,F=2,z=1,Ne=t.slice.call(arguments,1),T=Object.create(this.lexer),K={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(K.yy[J]=this.yy[J]);T.setInput(g,K.yy),K.yy.lexer=T,K.yy.parser=this,typeof T.yylloc>"u"&&(T.yylloc={});var Q=T.yylloc;t.push(Q);var Oe=T.options&&T.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ke(){var P;return P=d.pop()||T.lex()||z,typeof P!="number"&&(P instanceof Array&&(d=P,P=d.pop()),P=s.symbols_[P]||P),P}for(var I,M,C,ee,W={},X,j,oe,H;;){if(M=n[n.length-1],this.defaultActions[M]?C=this.defaultActions[M]:((I===null||typeof I>"u")&&(I=ke()),C=E[M]&&E[M][I]),typeof C>"u"||!C.length||!C[0]){var te="";H=[];for(X in E[M])this.terminals_[X]&&X>F&&H.push("'"+this.terminals_[X]+"'");T.showPosition?te="Parse error on line "+(B+1)+`:
|
|
2
2
|
`+T.showPosition()+`
|
|
3
3
|
Expecting `+H.join(", ")+", got '"+(this.terminals_[I]||I)+"'":te="Parse error on line "+(B+1)+": Unexpected "+(I==z?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(te,{text:T.match,token:this.terminals_[I]||I,line:T.yylineno,loc:Q,expected:H})}if(C[0]instanceof Array&&C.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+I);switch(C[0]){case 1:n.push(I),p.push(T.yytext),t.push(T.yylloc),n.push(C[1]),I=null,Y=T.yyleng,a=T.yytext,B=T.yylineno,Q=T.yylloc;break;case 2:if(j=this.productions_[C[1]][1],W.$=p[p.length-j],W._$={first_line:t[t.length-(j||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(j||1)].first_column,last_column:t[t.length-1].last_column},Oe&&(W._$.range=[t[t.length-(j||1)].range[0],t[t.length-1].range[1]]),ee=this.performAction.apply(W,[a,Y,B,K.yy,C[1],p,t].concat(Ne)),typeof ee<"u")return ee;j&&(n=n.slice(0,-1*j*2),p=p.slice(0,-1*j),t=t.slice(0,-1*j)),n.push(this.productions_[C[1]][0]),p.push(W.$),t.push(W._$),oe=E[n[n.length-2]][n[n.length-1]],n.push(oe);break;case 3:return!0}}return!0}},R=(function(){var N={EOF:1,parseError:function(s,n){if(this.yy.parser)this.yy.parser.parseError(s,n);else throw new Error(s)},setInput:function(g,s){return this.yy=s||this.yy||{},this._input=g,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var g=this._input[0];this.yytext+=g,this.yyleng++,this.offset++,this.match+=g,this.matched+=g;var s=g.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),g},unput:function(g){var s=g.length,n=g.split(/(?:\r\n?|\n)/g);this._input=g+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===d.length?this.yylloc.first_column:0)+d[d.length-n.length].length-n[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(g){this.unput(this.match.slice(g))},pastInput:function(){var g=this.matched.substr(0,this.matched.length-this.match.length);return(g.length>20?"...":"")+g.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var g=this.match;return g.length<20&&(g+=this._input.substr(0,20-g.length)),(g.substr(0,20)+(g.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var g=this.pastInput(),s=new Array(g.length+1).join("-");return g+this.upcomingInput()+`
|
|
@@ -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.D3jhkMKI.js");var u={paste:"Dán",pasteAsPlaintext:"Dán kiểu văn bản thuần",pasteCharts:"Dán biểu đồ",selectAll:"Chọn tất cả",multiSelect:"Thêm mới vào Select",moveCanvas:"Di chuyển canvas",cut:"Cắt",copy:"Sao chép",copyAsPng:"Sao chép vào bộ nhớ tạm dưới dạng PNG",copyAsSvg:"Sao chép vào bộ nhớ tạm dưới dạng SVG",copyText:"Sao chép vào bộ nhớ tạm dưới dạng chữ",copySource:"",convertToCode:"",bringForward:"Đưa ra trước",sendToBack:"Hạ xuống dưới",bringToFront:"Đưa ra đầu tiên",sendBackward:"Hạ xuống cuối",delete:"Xóa",copyStyles:"Sao chép định dạng",pasteStyles:"Dán định dạng",stroke:"Nét",background:"Nền",fill:"Fill",strokeWidth:"Độ dày nét",strokeStyle:"Kiểu nét",strokeStyle_solid:"Khối",strokeStyle_dashed:"Gạch ngang",strokeStyle_dotted:"Nhiều chấm",sloppiness:"Hoa văn nét",opacity:"Độ trong suốt",textAlign:"Căn chỉnh văn bản",edges:"Cạnh",sharp:"Nhọn",round:"Tròn",arrowheads:"Đầu mũi tên",arrowhead_none:"Không",arrowhead_arrow:"Mũi tên",arrowhead_bar:"Thanh",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Tam giác",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Cỡ chữ",fontFamily:"Phông chữ",addWatermark:'Làm với Excalidraw"',handDrawn:"Vẽ tay",normal:"Bình thường",code:"Mã",small:"Nhỏ",medium:"Vừa",large:"Lớn",veryLarge:"Rất lớn",solid:"Đặc",hachure:"Nét gạch gạch",zigzag:"Zigzag",crossHatch:"Nét gạch chéo",thin:"Mỏng",bold:"In đậm",left:"Trái",center:"Giữa",right:"Phải",extraBold:"Nét siêu đậm",architect:"Kiến trúc sư",artist:"Nghệ sỹ",cartoonist:"Hoạt hình",fileTitle:"Tên tập tin",colorPicker:"Chọn màu",canvasColors:"Đã dùng trên canvas",canvasBackground:"Nền canvas",drawingCanvas:"Canvas vẽ",layers:"Lớp",actions:"Chức năng",language:"Ngôn ngữ",liveCollaboration:"Hợp tác trực tiếp...",duplicateSelection:"Tạo bản sao",untitled:"Không có tiêu đề",name:"Tên",yourName:"Tên của bạn",madeWithExcalidraw:"Làm với Excalidraw",group:"Gộp nhóm lại lựa chọn",ungroup:"Tách nhóm lựa chọn",collaborators:"Cộng tác viên",showGrid:"Hiển thị lưới",addToLibrary:"Thêm vào thư viện",removeFromLibrary:"Xóa khỏi thư viện",libraryLoadingMessage:"Đang tải thư viện…",libraries:"Xem thư viện",loadingScene:"Đang tải về…",align:"Căn chỉnh",alignTop:"Căn trên",alignBottom:"Căn dưới",alignLeft:"Canh trái",alignRight:"Canh phải",centerVertically:"Giữa theo chiều dọc",centerHorizontally:"Giữa theo chiều ngang",distributeHorizontally:"Phân bố theo chiều ngang",distributeVertically:"Phân bố theo chiều dọc",flipHorizontal:"Lật ngang",flipVertical:"Lật dọc",viewMode:"Chế độ xem",share:"Chia sẻ",showStroke:"Hiển thị chọn màu",showBackground:"Hiện thị chọn màu nền",toggleTheme:"",personalLib:"Thư viện cá nhân",excalidrawLib:"Thư viện Excalidraw",decreaseFontSize:"Giảm cỡ chữ",increaseFontSize:"Tăng cỡ chữ",unbindText:"",bindText:"",createContainerFromText:"",link:{edit:"Sửa liên kết",editEmbed:"",create:"Tạo liên kết",createEmbed:"",label:"Liên kết",labelEmbed:"",empty:""},lineEditor:{edit:"Điều chỉnh nét",exit:"Thoát chỉnh nét"},elementLock:{lock:"Khoá",unlock:"Mở khoá",lockAll:"Khóa tất cả",unlockAll:"Mở khóa tất cả"},statusPublished:"Đã đăng tải",sidebarLock:"Giữ thanh bên luôn mở",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},E={noItems:"Chưa có món nào...",hint_emptyLibrary:"Chọn một món trên canvas để thêm nó vào đây, hoặc cài đặt thư viện từ kho lưu trữ công cộng, ở bên dưới.",hint_emptyPrivateLibrary:"Chọn một món trên canvas để thêm nó vào đây."},n={clearReset:"Reset canvas",exportJSON:"Xuất ra tập tin",exportImage:"Xuất file ảnh...",export:"Lưu vào...",copyToClipboard:"Sao chép vào bộ nhớ tạm",save:"Lưu vào tập tin hiện tại",saveAs:"Lưu thành",load:"Mở",getShareableLink:"Tạo liên kết để chia sẻ",close:"Đóng",selectLanguage:"Chọn ngôn ngữ",scrollBackToContent:"Cuộn về nội dung chính",zoomIn:"Phóng to",zoomOut:"Thu nhỏ",resetZoom:"Đặt lại thu phóng",menu:"Bảng chọn",done:"Xong",edit:"Chỉnh sửa",undo:"Hoàn tác",redo:"Làm lại",resetLibrary:"",createNewRoom:"Tạo phòng mới",fullScreen:"Toàn màn hình",darkMode:"Chế độ tối",lightMode:"Chế độ sáng",zenMode:"Chế độ zen",objectsSnapMode:"",exitZenMode:"Thoát chể độ zen",cancel:"Hủy",clear:"Làm sạch",remove:"Xóa",embed:"",publishLibrary:"Đăng tải",submit:"Gửi",confirm:"Xác nhận",embeddableInteractionButton:""},e={clearReset:"Điều này sẽ dọn hết canvas. Bạn có chắc không?",couldNotCreateShareableLink:"Không thể tạo đường dẫn chia sẻ.",couldNotCreateShareableLinkTooBig:"Không thể tạo đường dẫn chia sẻ: bản vẽ quá lớn",couldNotLoadInvalidFile:"Không thể load tập tin không hợp lệ",importBackendFailed:"",cannotExportEmptyCanvas:"Không thể xuất canvas trống.",couldNotCopyToClipboard:"",decryptFailed:"Không thể giải mã dữ liệu.",uploadedSecurly:"",loadSceneOverridePrompt:"",collabStopOverridePrompt:`Dừng phiên sẽ ghi đè lên bản vẽ được lưu trữ cục bộ trước đó của bạn. Bạn có chắc không?
|
|
2
2
|
|
|
3
3
|
(Nếu bạn muốn giữ bản vẽ cục bộ của mình, chỉ cần đóng tab trình duyệt.)`,errorAddingToLibrary:"Không thể thêm món vào thư viện",errorRemovingFromLibrary:"Không thể xoá món khỏi thư viện",confirmAddLibrary:"Hình {{numShapes}} sẽ được thêm vào thư viện. Bạn chắc chứ?",imageDoesNotContainScene:"Hình ảnh này dường như không chứa bất kỳ dữ liệu cảnh nào. Bạn đã bật tính năng nhúng cảnh khi xuất chưa?",cannotRestoreFromImage:"",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"Xoá {{count}} món từ thư viện?",invalidEncryptionKey:"Khóa mã hóa phải có 22 ký tự. Hợp tác trực tiếp bị vô hiệu hóa.",collabOfflineWarning:`Không có kết nối internet.
|
|
4
4
|
Thay đổi của bạn sẽ không được lưu!`},t={unsupportedFileType:"Loại tập tin không được hỗ trợ.",imageInsertError:"Không thể thêm ảnh. Hãy thử lại sau...",fileTooBig:"Tệp tin quá lớn. Dung lượng tối đa cho phép là {{maxSize}}.",svgImageInsertError:"Không thể thêm ảnh SVG. Mã SVG có vẻ sai.",failedToFetchImage:"",invalidSVGString:"SVG không hợp lệ.",cannotResolveCollabServer:"Không thể kết nối với máy chủ hợp tác. Hãy tải lại trang và thử lại.",importLibraryError:"Không thể tải thư viện",collabSaveFailed:"Không thể lưu vào cơ sở dữ liệu. Nếu vấn đề tiếp tục xảy ra, bạn nên lưu tệp vào máy để đảm bảo bạn không bị mất công việc.",collabSaveFailed_sizeExceeded:"Không thể lưu vào cơ sở dữ liệu, canvas có vẻ quá lớn. Bạn nên lưu tệp cục bộ để đảm bảo bạn không bị mất công việc.",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},i={selection:"Lựa chọn",image:"Chèn ảnh",rectangle:"Hình chữ nhật",diamond:"Kim cương",ellipse:"Hình elíp",arrow:"Mũi tên",line:"Đường kẻ",freedraw:"Vẽ",text:"Văn bản",library:"Thư viện",lock:"Giữ dụng cũ hiện tại sau khi vẽ",penMode:"Chế độ bút vẽ - ngăn ngừa chạm nhầm",link:"Thêm/ Chỉnh sửa liên kết cho hình được chọn",eraser:"Xóa",frame:"",magicframe:"",embeddable:"",laser:"",hand:"Tay kéo",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},a={canvasActions:"Hành động canvas",selectedShapeActions:"Các hành động cho hình dạng đã chọn",shapes:"Các hình khối"},o={canvasPanning:"Để di chuyển canvas, giữ con lăn chuột hoặc phím cách trong khi kéo, hoặc sử dụng công cụ cầm tay",linearElement:"Ấn để bắt đầu nhiểm điểm vẽ, kéo để vẽ một đường thẳng",freeDraw:"Ấn bà kéo, thả khi bạn xong",text:"Mẹo: bạn có thể thêm văn bản tại bất cứ đâu bằng cách ấn hai lần bằng tool lựa chọn",embeddable:"",text_selected:"Ấn 2 lần hoặc nhấn ENTER để chỉnh văn bản",text_editing:"Nhấn Escape hoặc Ctrl/Cmd+ENTER để hoàn thành chỉnh sửa",linearElementMulti:"Nhấn vào điểm cuối hoặc nhấn Escape hoặc Enter để kết thúc",lockAngle:"Bạn có thể chỉnh lại góc bằng cách giữ phím SHIFT",resize:`Bạn có thể chỉnh tỷ lệ bằng cách giữ SHIFT khi chỉnh kích cỡ,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./layers.
|
|
1
|
+
import "./layers.gnUyo71v.js";
|
|
2
2
|
var u = { paste: "הדבק", pasteAsPlaintext: "הדבק ללא עיצוב", pasteCharts: "הדבק גרפים", selectAll: "בחר הכל", multiSelect: "הוסף רכיב לבחירה", moveCanvas: "הזז את הקנבס", cut: "גזור", copy: "העתק", copyAsPng: "העתק ללוח כ PNG", copyAsSvg: "העתק ללוח כ SVG", copyText: "העתק ללוח כטקסט", copySource: "", convertToCode: "", bringForward: "הבא שכבה קדימה", sendToBack: "שלח אחורה", bringToFront: "העבר לחזית", sendBackward: "העבר שכבה אחורה", delete: "מחק", copyStyles: "העתק סגנון", pasteStyles: "הדבק סגנון", stroke: "קו מתאר", background: "רקע", fill: "מילוי", strokeWidth: "עובי קו מתאר", strokeStyle: "סגנון קו המתאר", strokeStyle_solid: "מלא", strokeStyle_dashed: "מקווקו", strokeStyle_dotted: "מנוקד", sloppiness: "רישול", opacity: "אטימות", textAlign: "יישור טקסט", edges: "קצוות", sharp: "חד", round: "עגול", arrowheads: "ראשי חצים", arrowhead_none: "ללא", arrowhead_arrow: "חץ", arrowhead_bar: "קצה אנכי", arrowhead_circle: "", arrowhead_circle_outline: "", arrowhead_triangle: "משולש", arrowhead_triangle_outline: "", arrowhead_diamond: "", arrowhead_diamond_outline: "", fontSize: "גודל גופן", fontFamily: "גופן", addWatermark: 'הוסף "נוצר באמצעות Excalidraw"', handDrawn: "ציור יד", normal: "רגיל", code: "קוד", small: "קטן", medium: "בינוני", large: "גדול", veryLarge: "גדול מאוד", solid: "מוצק", hachure: "קווים מקבילים קצרים להצגת כיוון וחדות שיפוע במפה", zigzag: "זיגזג", crossHatch: "קווים מוצלבים שתי וערב", thin: "דק", bold: "מודגש", left: "שמאל", center: "מרכז", right: "ימין", extraBold: "מודגש במיוחד", architect: "ארכיטקט", artist: "אמן", cartoonist: "קריקטוריסט", fileTitle: "שם קובץ", colorPicker: "בוחר צבעים", canvasColors: "בשימוש בקנבס", canvasBackground: "רקע קנבס", drawingCanvas: "קנבס ציור", layers: "שכבות", actions: "פעולות", language: "שפה", liveCollaboration: "התחל שיתוף חי...", 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: "" }, D = { noItems: "עוד לא הוספת דברים...", hint_emptyLibrary: "בחר משהו בקנבס כדי להוסיף אותו לכאן, או שתתקין ספריה מהספריה הציבורית מטה.", hint_emptyPrivateLibrary: "בחר משהו בקנבס כדי להוסיף אותו לכאן." }, E = { clearReset: "אפס את הקנבאס", exportJSON: "ייצא לקובץ", exportImage: "ייצוא התמונה...", export: "שמור ל...", copyToClipboard: "העתק ללוח", save: "שמור לקובץ נוכחי", saveAs: "שמירה בשם", load: "פתח", getShareableLink: "קבל קישור לשיתוף", close: "סגור", selectLanguage: "בחר שפה", scrollBackToContent: "גלול בחזרה לתוכן", zoomIn: "הגדל", zoomOut: "הקטן", resetZoom: "איפוס זום", menu: "תפריט", done: "בוצע", edit: "ערוך", undo: "בטל", redo: "בצע מחדש", resetLibrary: "איפוס ספריה", createNewRoom: "צור חדר חדש", fullScreen: "מסך מלא", darkMode: "מצב כהה", lightMode: "מצב בהיר", zenMode: "מצב זן", objectsSnapMode: "", exitZenMode: "צא ממצב זן", cancel: "ביטול", clear: "ניקוי", remove: "הסר", embed: "", publishLibrary: "פרסום", submit: "שליחה", confirm: "אשר", embeddableInteractionButton: "" }, e = { clearReset: "פעולה זו תנקה את כל הקנבס. אתה בטוח?", couldNotCreateShareableLink: "יצירת קישור לשיתוף נכשל.", couldNotCreateShareableLinkTooBig: "יצירת קישור לשיתוף נכשל: התצוגה גדולה מדי", couldNotLoadInvalidFile: "טעינת קובץ לא תקין נכשלה", importBackendFailed: "ייבוא מהשרת נכשל.", cannotExportEmptyCanvas: "לא ניתן לייצא קנבאס ריק.", couldNotCopyToClipboard: "לא ניתן היה להעתיק ללוח.", decryptFailed: "פיענוח ההצפנה של המידע נכשל.", uploadedSecurly: "ההעלאה אובטחה באמצעות הצפנה מקצה לקצה, פירוש הדבר שהשרת של Excalidraw וגורמי צד ג׳ לא יכולים לקרוא את התוכן.", loadSceneOverridePrompt: "טעינה של ציור חיצוני תחליף את התוכן הקיים שלך. האם תרצה להמשיך?", collabStopOverridePrompt: `עצירת השיתוף תוביל למחיקת הציור הקודם ששמור מקומית בדפדפן. האם אתה בטוח?
|
|
3
3
|
|
|
4
4
|
(אם תרצה לשמור את הציור המקומי, סגור את הטאב של הדפדפן במקום.)`, errorAddingToLibrary: "לא ניתן להוסיף פריט לספרייה", errorRemovingFromLibrary: "לא ניתן להסיר פריט מהספריה", confirmAddLibrary: "זה יוסיף {{numShapes}} צורה(ות) לספריה שלך. האם אתה בטוח?", imageDoesNotContainScene: "נראה שהתמונה לא מכילה מידע על הסצינה. האם אפשרת הטמעת מידע הסצינה בעת השמירה?", cannotRestoreFromImage: "לא הצלחנו לשחזר את הסצנה מקובץ התמונה", invalidSceneUrl: "ייבוא מידע סצנה מהקישור שסופק כשל. או שהוא משובש, או שאינו מכיל מידע של Excalidraw בפורמט JSON.", resetLibrary: "פעולה זו תנקה את כל הספריה שלך. אתה בטוח?", removeItemsFromsLibrary: "מחק {{count}} פריט(ים) מהספריה?", invalidEncryptionKey: "מפתח ההצפנה חייב להיות בן 22 תוים. השיתוף החי מנוטרל.", collabOfflineWarning: `אין חיבור זמין לאינטרנט.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { s as J, d as B, p as Q, D as X, a as H, b as Z, S as F, c as I } from "./layers.
|
|
1
|
+
import { s as J, d as B, p as Q, D as X, a as H, b as Z, S as F, c as I } from "./layers.BBGjXC9z.js";
|
|
2
2
|
import { G as tt } from "./layers.C7lIplJU.js";
|
|
3
|
-
import { l as E, g, d as x, u as et, e as ot, j as w } from "./layers.
|
|
4
|
-
import { r as st } from "./layers.
|
|
5
|
-
import "./layers.
|
|
3
|
+
import { l as E, g, d as x, u as et, e as ot, j as w } from "./layers.DgtEgUTm.js";
|
|
4
|
+
import { r as st } from "./layers.BS8sCd2S.js";
|
|
5
|
+
import "./layers.gnUyo71v.js";
|
|
6
6
|
import "./layers.eYFoHPwR.js";
|
|
7
7
|
import "lodash-es";
|
|
8
8
|
import "./layers.D4fGb2cV.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./layers.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./layers.DP3zcVgG.js"),z=require("./layers.9QK1wiQj.js"),i=require("./layers.dleF6oa5.js"),j=require("./layers.DHr_lDCA.js");require("./layers.D3jhkMKI.js");require("./layers.GHnZTJ9O.js");require("lodash-es");require("./layers.COAF7f8g.js");const h="rect",C="rectWithTitle",K="start",F="end",J="divider",Q="roundedWithTitle",X="note",Z="noteGroup",b="statediagram",m="state",I=`${b}-${m}`,k="transition",tt="note",et="note-edge",ot=`${k} ${et}`,st=`${b}-${tt}`,nt="cluster",ct=`${b}-${nt}`,it="cluster-alt",rt=`${b}-${it}`,M="parent",B="note",lt="state",w="----",at=`${w}${B}`,v=`${w}${M}`,H="fill:none",q="fill: #333",U="c",V="text",Y="normal";let y={},S=0;const dt=function(t){const n=Object.keys(t);for(const e of n)t[e]},Et=function(t,n){return n.db.extract(n.db.getRootDocV2()),n.db.getClasses()};function St(t){return t==null?"":t.classes?t.classes.join(" "):""}function x(t="",n=0,e="",c=w){const r=e!==null&&e.length>0?`${c}${e}`:"";return`${lt}-${t}${r}-${n}`}const p=(t,n,e,c,r,l)=>{const o=e.id,g=St(c[o]);if(o!=="root"){let u=h;e.start===!0&&(u=K),e.start===!1&&(u=F),e.type!==a.DEFAULT_STATE_TYPE&&(u=e.type),y[o]||(y[o]={id:o,shape:u,description:i.common$1.sanitizeText(o,i.getConfig()),classes:`${g} ${I}`});const s=y[o];e.description&&(Array.isArray(s.description)?(s.shape=C,s.description.push(e.description)):s.description.length>0?(s.shape=C,s.description===o?s.description=[e.description]:s.description=[s.description,e.description]):(s.shape=h,s.description=e.description),s.description=i.common$1.sanitizeTextOrArray(s.description,i.getConfig())),s.description.length===1&&s.shape===C&&(s.shape=h),!s.type&&e.doc&&(i.log$1.info("Setting cluster for ",o,R(e)),s.type="group",s.dir=R(e),s.shape=e.type===a.DIVIDER_TYPE?J:Q,s.classes=s.classes+" "+ct+" "+(l?rt:""));const _={labelStyle:"",shape:s.shape,labelText:s.description,classes:s.classes,style:"",id:o,dir:s.dir,domId:x(o,S),type:s.type,padding:15};if(_.centerLabel=!0,e.note){const d={labelStyle:"",shape:X,labelText:e.note.text,classes:st,style:"",id:o+at+"-"+S,domId:x(o,S,B),type:s.type,padding:15},E={labelStyle:"",shape:Z,labelText:e.note.text,classes:s.classes,style:"",id:o+v,domId:x(o,S,M),type:"group",padding:0};S++;const f=o+v;t.setNode(f,E),t.setNode(d.id,d),t.setNode(o,_),t.setParent(o,f),t.setParent(d.id,f);let T=o,A=d.id;e.note.position==="left of"&&(T=d.id,A=o),t.setEdge(T,A,{arrowhead:"none",arrowType:"",style:H,labelStyle:"",classes:ot,arrowheadStyle:q,labelpos:U,labelType:V,thickness:Y})}else t.setNode(o,_)}n&&n.id!=="root"&&(i.log$1.trace("Setting node ",o," to be child of its parent ",n.id),t.setParent(o,n.id)),e.doc&&(i.log$1.trace("Adding nodes children "),Tt(t,e,e.doc,c,r,!l))},Tt=(t,n,e,c,r,l)=>{i.log$1.trace("items",e),e.forEach(o=>{switch(o.stmt){case a.STMT_STATE:p(t,n,o,c,r,l);break;case a.DEFAULT_STATE_TYPE:p(t,n,o,c,r,l);break;case a.STMT_RELATION:{p(t,n,o.state1,c,r,l),p(t,n,o.state2,c,r,l);const g={id:"edge"+S,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:H,labelStyle:"",label:i.common$1.sanitizeText(o.description,i.getConfig()),arrowheadStyle:q,labelpos:U,labelType:V,thickness:Y,classes:k};t.setEdge(o.state1.id,o.state2.id,g,S),S++}break}})},R=(t,n=a.DEFAULT_NESTED_DOC_DIR)=>{let e=n;if(t.doc)for(let c=0;c<t.doc.length;c++){const r=t.doc[c];r.stmt==="dir"&&(e=r.value)}return e},ut=async function(t,n,e,c){i.log$1.info("Drawing state diagram (v2)",n),y={},c.db.getDirection();const{securityLevel:r,state:l}=i.getConfig(),o=l.nodeSpacing||50,g=l.rankSpacing||50;i.log$1.info(c.db.getRootDocV2()),c.db.extract(c.db.getRootDocV2()),i.log$1.info(c.db.getRootDocV2());const u=c.db.getStates(),s=new z.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:R(c.db.getRootDocV2()),nodesep:o,ranksep:g,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});p(s,void 0,c.db.getRootDocV2(),u,c.db,!0);let _;r==="sandbox"&&(_=i.select("#i"+n));const d=r==="sandbox"?i.select(_.nodes()[0].contentDocument.body):i.select("body"),E=d.select(`[id="${n}"]`),f=d.select("#"+n+" g");await j.render(f,s,["barb"],b,n);const T=8;i.utils.insertTitle(E,"statediagramTitleText",l.titleTopMargin,c.db.getDiagramTitle());const A=E.node().getBBox(),G=A.width+T*2,N=A.height+T*2;E.attr("class",b);const L=E.node().getBBox();i.configureSvgSize(E,N,G,l.useMaxWidth);const P=`${L.x-T} ${L.y-T} ${G} ${N}`;i.log$1.debug(`viewBox ${P}`),E.attr("viewBox",P);const W=document.querySelectorAll('[id="'+n+'"] .edgeLabel .label');for(const $ of W){const O=$.getBBox(),D=document.createElementNS("http://www.w3.org/2000/svg",h);D.setAttribute("rx",0),D.setAttribute("ry",0),D.setAttribute("width",O.width),D.setAttribute("height",O.height),$.insertBefore(D,$.firstChild)}},_t={setConf:dt,getClasses:Et,draw:ut},bt={parser:a.parser$1,db:a.db,renderer:_t,styles:a.styles,init:t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,a.db.clear()}};exports.diagram=bt;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const n=require("./layers.dleF6oa5.js"),s=(e,r)=>n.Utils.lang.round(n.Color.parse(e)[r]);exports.channel=s;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as vt, o as Ct, s as Ot, a as Pt, b as Gt, c as St, g as C, l as B, d as At, u as It, y as Nt, q as Ht, j as D, z as Bt } from "./layers.
|
|
2
|
-
import "./layers.
|
|
1
|
+
import { n as vt, o as Ct, s as Ot, a as Pt, b as Gt, c as St, g as C, l as B, d as At, u as It, y as Nt, q as Ht, j as D, z as Bt } from "./layers.DgtEgUTm.js";
|
|
2
|
+
import "./layers.gnUyo71v.js";
|
|
3
3
|
import "./layers.eYFoHPwR.js";
|
|
4
4
|
var mt = (function() {
|
|
5
5
|
var r = function(S, o, u, d) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./layers.DJiZjqd3.js"),t=require("./layers.CFNnGeSl.js");require("lodash-es");const z=require("./layers.COAF7f8g.js"),T=require("./layers.9QK1wiQj.js");require("./layers.B3ZxwGUL.js");require("./layers.GHnZTJ9O.js");const L=require("./layers.qxP56dZh.js"),P=e=>e.append("circle").attr("class","start-state").attr("r",t.getConfig().state.sizeUnit).attr("cx",t.getConfig().state.padding+t.getConfig().state.sizeUnit).attr("cy",t.getConfig().state.padding+t.getConfig().state.sizeUnit),A=e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t.getConfig().state.textHeight).attr("class","divider").attr("x2",t.getConfig().state.textHeight*2).attr("y1",0).attr("y2",0),G=(e,n)=>{const r=e.append("text").attr("x",2*t.getConfig().state.padding).attr("y",t.getConfig().state.textHeight+2*t.getConfig().state.padding).attr("font-size",t.getConfig().state.fontSize).attr("class","state-title").text(n.id),g=r.node().getBBox();return e.insert("rect",":first-child").attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding).attr("width",g.width+2*t.getConfig().state.padding).attr("height",g.height+2*t.getConfig().state.padding).attr("rx",t.getConfig().state.radius),r},W=(e,n)=>{const r=function(c,w,y){const S=c.append("tspan").attr("x",2*t.getConfig().state.padding).text(w);y||S.attr("dy",t.getConfig().state.textHeight)},a=e.append("text").attr("x",2*t.getConfig().state.padding).attr("y",t.getConfig().state.textHeight+1.3*t.getConfig().state.padding).attr("font-size",t.getConfig().state.fontSize).attr("class","state-title").text(n.descriptions[0]).node().getBBox(),l=a.height,f=e.append("text").attr("x",t.getConfig().state.padding).attr("y",l+t.getConfig().state.padding*.4+t.getConfig().state.dividerMargin+t.getConfig().state.textHeight).attr("class","state-description");let i=!0,s=!0;n.descriptions.forEach(function(c){i||(r(f,c,s),s=!1),i=!1});const C=e.append("line").attr("x1",t.getConfig().state.padding).attr("y1",t.getConfig().state.padding+l+t.getConfig().state.dividerMargin/2).attr("y2",t.getConfig().state.padding+l+t.getConfig().state.dividerMargin/2).attr("class","descr-divider"),p=f.node().getBBox(),d=Math.max(p.width,a.width);return C.attr("x2",d+3*t.getConfig().state.padding),e.insert("rect",":first-child").attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding).attr("width",d+2*t.getConfig().state.padding).attr("height",p.height+l+2*t.getConfig().state.padding).attr("rx",t.getConfig().state.radius),e},v=(e,n,r)=>{const g=t.getConfig().state.padding,a=2*t.getConfig().state.padding,l=e.node().getBBox(),f=l.width,i=l.x,s=e.append("text").attr("x",0).attr("y",t.getConfig().state.titleShift).attr("font-size",t.getConfig().state.fontSize).attr("class","state-title").text(n.id),p=s.node().getBBox().width+a;let d=Math.max(p,f);d===f&&(d=d+a);let c;const w=e.node().getBBox();n.doc,c=i-g,p>f&&(c=(f-d)/2+g),Math.abs(i-w.x)<g&&p>f&&(c=i-(p-f)/2);const y=1-t.getConfig().state.textHeight;return e.insert("rect",":first-child").attr("x",c).attr("y",y).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",w.height+t.getConfig().state.textHeight+t.getConfig().state.titleShift+1).attr("rx","0"),s.attr("x",c+g),p<=f&&s.attr("x",i+(d-a)/2-p/2+g),e.insert("rect",":first-child").attr("x",c).attr("y",t.getConfig().state.titleShift-t.getConfig().state.textHeight-t.getConfig().state.padding).attr("width",d).attr("height",t.getConfig().state.textHeight*3).attr("rx",t.getConfig().state.radius),e.insert("rect",":first-child").attr("x",c).attr("y",t.getConfig().state.titleShift-t.getConfig().state.textHeight-t.getConfig().state.padding).attr("width",d).attr("height",w.height+3+2*t.getConfig().state.textHeight).attr("rx",t.getConfig().state.radius),e},R=e=>(e.append("circle").attr("class","end-state-outer").attr("r",t.getConfig().state.sizeUnit+t.getConfig().state.miniPadding).attr("cx",t.getConfig().state.padding+t.getConfig().state.sizeUnit+t.getConfig().state.miniPadding).attr("cy",t.getConfig().state.padding+t.getConfig().state.sizeUnit+t.getConfig().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t.getConfig().state.sizeUnit).attr("cx",t.getConfig().state.padding+t.getConfig().state.sizeUnit+2).attr("cy",t.getConfig().state.padding+t.getConfig().state.sizeUnit+2)),q=(e,n)=>{let r=t.getConfig().state.forkWidth,g=t.getConfig().state.forkHeight;if(n.parentId){let a=r;r=g,g=a}return e.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",g).attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding)},U=(e,n,r,g)=>{let a=0;const l=g.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let f=e.replace(/\r\n/g,"<br/>");f=f.replace(/\n/g,"<br/>");const i=f.split(t.common$1.lineBreakRegex);let s=1.25*t.getConfig().state.noteMargin;for(const C of i){const p=C.trim();if(p.length>0){const d=l.append("tspan");if(d.text(p),s===0){const c=d.node().getBBox();s+=c.height}a+=s,d.attr("x",n+t.getConfig().state.noteMargin),d.attr("y",r+a+1.25*t.getConfig().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:a}},F=(e,n)=>{n.attr("class","state-note");const r=n.append("rect").attr("x",0).attr("y",t.getConfig().state.padding),g=n.append("g"),{textWidth:a,textHeight:l}=U(e,0,0,g);return r.attr("height",l+2*t.getConfig().state.noteMargin),r.attr("width",a+t.getConfig().state.noteMargin*2),r},M=function(e,n){const r=n.id,g={id:r,label:n.id,width:0,height:0},a=e.append("g").attr("id",r).attr("class","stateGroup");n.type==="start"&&P(a),n.type==="end"&&R(a),(n.type==="fork"||n.type==="join")&&q(a,n),n.type==="note"&&F(n.note.text,a),n.type==="divider"&&A(a),n.type==="default"&&n.descriptions.length===0&&G(a,n),n.type==="default"&&n.descriptions.length>0&&W(a,n);const l=a.node().getBBox();return g.width=l.width+2*t.getConfig().state.padding,g.height=l.height+2*t.getConfig().state.padding,g};let H=0;const O=function(e,n,r){const g=function(s){switch(s){case m.db.relationType.AGGREGATION:return"aggregation";case m.db.relationType.EXTENSION:return"extension";case m.db.relationType.COMPOSITION:return"composition";case m.db.relationType.DEPENDENCY:return"dependency"}};n.points=n.points.filter(s=>!Number.isNaN(s.y));const a=n.points,l=L.line().x(function(s){return s.x}).y(function(s){return s.y}).curve(t.curveBasis),f=e.append("path").attr("d",l(a)).attr("id","edge"+H).attr("class","transition");let i="";if(t.getConfig().state.arrowMarkerAbsolute&&(i=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,i=i.replace(/\(/g,"\\("),i=i.replace(/\)/g,"\\)")),f.attr("marker-end","url("+i+"#"+g(m.db.relationType.DEPENDENCY)+"End)"),r.title!==void 0){const s=e.append("g").attr("class","stateLabel"),{x:C,y:p}=t.utils.calcLabelPosition(n.points),d=t.common$1.getRows(r.title);let c=0;const w=[];let y=0,S=0;for(let x=0;x<=d.length;x++){const h=s.append("text").attr("text-anchor","middle").text(d[x]).attr("x",C).attr("y",p+c),u=h.node().getBBox();y=Math.max(y,u.width),S=Math.min(S,u.x),t.log$1.info(u.x,C,p+c),c===0&&(c=h.node().getBBox().height,t.log$1.info("Title height",c,p)),w.push(h)}let E=c*d.length;if(d.length>1){const x=(d.length-1)*c*.5;w.forEach((h,u)=>h.attr("y",p+u*c-x)),E=c*d.length}const o=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",C-y/2-t.getConfig().state.padding/2).attr("y",p-E/2-t.getConfig().state.padding/2-3.5).attr("width",y+t.getConfig().state.padding).attr("height",E+t.getConfig().state.padding),t.log$1.info(o)}H++};let b;const N={},X=function(){},J=function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},Y=function(e,n,r,g){b=t.getConfig().state;const a=t.getConfig().securityLevel;let l;a==="sandbox"&&(l=t.select("#i"+n));const f=a==="sandbox"?t.select(l.nodes()[0].contentDocument.body):t.select("body"),i=a==="sandbox"?l.nodes()[0].contentDocument:document;t.log$1.debug("Rendering diagram "+e);const s=f.select(`[id='${n}']`);J(s);const C=g.db.getRootDoc();$(C,s,void 0,!1,f,i,g);const p=b.padding,d=s.node().getBBox(),c=d.width+p*2,w=d.height+p*2,y=c*1.75;t.configureSvgSize(s,w,y,b.useMaxWidth),s.attr("viewBox",`${d.x-b.padding} ${d.y-b.padding} `+c+" "+w)},I=e=>e?e.length*b.fontSizeFactor:1,$=(e,n,r,g,a,l,f)=>{const i=new T.Graph({compound:!0,multigraph:!0});let s,C=!0;for(s=0;s<e.length;s++)if(e[s].stmt==="relation"){C=!1;break}r?i.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:C?1:b.edgeLengthFactor,nodeSep:C?1:50,isMultiGraph:!0}):i.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:C?1:b.edgeLengthFactor,nodeSep:C?1:50,ranker:"tight-tree",isMultiGraph:!0}),i.setDefaultEdgeLabel(function(){return{}}),f.db.extract(e);const p=f.db.getStates(),d=f.db.getRelations(),c=Object.keys(p);for(const o of c){const x=p[o];r&&(x.parentId=r);let h;if(x.doc){let u=n.append("g").attr("id",x.id).attr("class","stateGroup");h=$(x.doc,u,x.id,!g,a,l,f);{u=v(u,x,g);let B=u.node().getBBox();h.width=B.width,h.height=B.height+b.padding/2,N[x.id]={y:b.compositTitleSize}}}else h=M(n,x);if(x.note){const u={descriptions:[],id:x.id+"-note",note:x.note,type:"note"},B=M(n,u);x.note.position==="left of"?(i.setNode(h.id+"-note",B),i.setNode(h.id,h)):(i.setNode(h.id,h),i.setNode(h.id+"-note",B)),i.setParent(h.id,h.id+"-group"),i.setParent(h.id+"-note",h.id+"-group")}else i.setNode(h.id,h)}t.log$1.debug("Count=",i.nodeCount(),i);let w=0;d.forEach(function(o){w++,t.log$1.debug("Setting edge",o),i.setEdge(o.id1,o.id2,{relation:o,width:I(o.title),height:b.labelHeight*t.common$1.getRows(o.title).length,labelpos:"c"},"id"+w)}),z.layout(i),t.log$1.debug("Graph after layout",i.nodes());const y=n.node();i.nodes().forEach(function(o){o!==void 0&&i.node(o)!==void 0?(t.log$1.warn("Node "+o+": "+JSON.stringify(i.node(o))),a.select("#"+y.id+" #"+o).attr("transform","translate("+(i.node(o).x-i.node(o).width/2)+","+(i.node(o).y+(N[o]?N[o].y:0)-i.node(o).height/2)+" )"),a.select("#"+y.id+" #"+o).attr("data-x-shift",i.node(o).x-i.node(o).width/2),l.querySelectorAll("#"+y.id+" #"+o+" .divider").forEach(h=>{const u=h.parentElement;let B=0,k=0;u&&(u.parentElement&&(B=u.parentElement.getBBox().width),k=parseInt(u.getAttribute("data-x-shift"),10),Number.isNaN(k)&&(k=0)),h.setAttribute("x1",0-k+8),h.setAttribute("x2",B-k-8)})):t.log$1.debug("No Node "+o+": "+JSON.stringify(i.node(o)))});let S=y.getBBox();i.edges().forEach(function(o){o!==void 0&&i.edge(o)!==void 0&&(t.log$1.debug("Edge "+o.v+" -> "+o.w+": "+JSON.stringify(i.edge(o))),O(n,i.edge(o),i.edge(o).relation))}),S=y.getBBox();const E={id:r||"root",label:r||"root",width:0,height:0};return E.width=S.width+2*b.padding,E.height=S.height+2*b.padding,t.log$1.debug("Doc rendered",E,i),E},_={setConf:X,draw:Y},Z={parser:m.parser$1,db:m.db,renderer:_,styles:m.styles,init:e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,m.db.clear()}};exports.diagram=Z;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./layers.DP3zcVgG.js"),t=require("./layers.dleF6oa5.js");require("lodash-es");const z=require("./layers.COAF7f8g.js"),T=require("./layers.9QK1wiQj.js");require("./layers.D3jhkMKI.js");require("./layers.GHnZTJ9O.js");const L=require("./layers.vBuM8mOc.js"),P=e=>e.append("circle").attr("class","start-state").attr("r",t.getConfig().state.sizeUnit).attr("cx",t.getConfig().state.padding+t.getConfig().state.sizeUnit).attr("cy",t.getConfig().state.padding+t.getConfig().state.sizeUnit),A=e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t.getConfig().state.textHeight).attr("class","divider").attr("x2",t.getConfig().state.textHeight*2).attr("y1",0).attr("y2",0),G=(e,n)=>{const r=e.append("text").attr("x",2*t.getConfig().state.padding).attr("y",t.getConfig().state.textHeight+2*t.getConfig().state.padding).attr("font-size",t.getConfig().state.fontSize).attr("class","state-title").text(n.id),g=r.node().getBBox();return e.insert("rect",":first-child").attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding).attr("width",g.width+2*t.getConfig().state.padding).attr("height",g.height+2*t.getConfig().state.padding).attr("rx",t.getConfig().state.radius),r},W=(e,n)=>{const r=function(c,w,y){const S=c.append("tspan").attr("x",2*t.getConfig().state.padding).text(w);y||S.attr("dy",t.getConfig().state.textHeight)},a=e.append("text").attr("x",2*t.getConfig().state.padding).attr("y",t.getConfig().state.textHeight+1.3*t.getConfig().state.padding).attr("font-size",t.getConfig().state.fontSize).attr("class","state-title").text(n.descriptions[0]).node().getBBox(),l=a.height,f=e.append("text").attr("x",t.getConfig().state.padding).attr("y",l+t.getConfig().state.padding*.4+t.getConfig().state.dividerMargin+t.getConfig().state.textHeight).attr("class","state-description");let i=!0,s=!0;n.descriptions.forEach(function(c){i||(r(f,c,s),s=!1),i=!1});const C=e.append("line").attr("x1",t.getConfig().state.padding).attr("y1",t.getConfig().state.padding+l+t.getConfig().state.dividerMargin/2).attr("y2",t.getConfig().state.padding+l+t.getConfig().state.dividerMargin/2).attr("class","descr-divider"),p=f.node().getBBox(),d=Math.max(p.width,a.width);return C.attr("x2",d+3*t.getConfig().state.padding),e.insert("rect",":first-child").attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding).attr("width",d+2*t.getConfig().state.padding).attr("height",p.height+l+2*t.getConfig().state.padding).attr("rx",t.getConfig().state.radius),e},v=(e,n,r)=>{const g=t.getConfig().state.padding,a=2*t.getConfig().state.padding,l=e.node().getBBox(),f=l.width,i=l.x,s=e.append("text").attr("x",0).attr("y",t.getConfig().state.titleShift).attr("font-size",t.getConfig().state.fontSize).attr("class","state-title").text(n.id),p=s.node().getBBox().width+a;let d=Math.max(p,f);d===f&&(d=d+a);let c;const w=e.node().getBBox();n.doc,c=i-g,p>f&&(c=(f-d)/2+g),Math.abs(i-w.x)<g&&p>f&&(c=i-(p-f)/2);const y=1-t.getConfig().state.textHeight;return e.insert("rect",":first-child").attr("x",c).attr("y",y).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",w.height+t.getConfig().state.textHeight+t.getConfig().state.titleShift+1).attr("rx","0"),s.attr("x",c+g),p<=f&&s.attr("x",i+(d-a)/2-p/2+g),e.insert("rect",":first-child").attr("x",c).attr("y",t.getConfig().state.titleShift-t.getConfig().state.textHeight-t.getConfig().state.padding).attr("width",d).attr("height",t.getConfig().state.textHeight*3).attr("rx",t.getConfig().state.radius),e.insert("rect",":first-child").attr("x",c).attr("y",t.getConfig().state.titleShift-t.getConfig().state.textHeight-t.getConfig().state.padding).attr("width",d).attr("height",w.height+3+2*t.getConfig().state.textHeight).attr("rx",t.getConfig().state.radius),e},R=e=>(e.append("circle").attr("class","end-state-outer").attr("r",t.getConfig().state.sizeUnit+t.getConfig().state.miniPadding).attr("cx",t.getConfig().state.padding+t.getConfig().state.sizeUnit+t.getConfig().state.miniPadding).attr("cy",t.getConfig().state.padding+t.getConfig().state.sizeUnit+t.getConfig().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t.getConfig().state.sizeUnit).attr("cx",t.getConfig().state.padding+t.getConfig().state.sizeUnit+2).attr("cy",t.getConfig().state.padding+t.getConfig().state.sizeUnit+2)),q=(e,n)=>{let r=t.getConfig().state.forkWidth,g=t.getConfig().state.forkHeight;if(n.parentId){let a=r;r=g,g=a}return e.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",g).attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding)},U=(e,n,r,g)=>{let a=0;const l=g.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let f=e.replace(/\r\n/g,"<br/>");f=f.replace(/\n/g,"<br/>");const i=f.split(t.common$1.lineBreakRegex);let s=1.25*t.getConfig().state.noteMargin;for(const C of i){const p=C.trim();if(p.length>0){const d=l.append("tspan");if(d.text(p),s===0){const c=d.node().getBBox();s+=c.height}a+=s,d.attr("x",n+t.getConfig().state.noteMargin),d.attr("y",r+a+1.25*t.getConfig().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:a}},F=(e,n)=>{n.attr("class","state-note");const r=n.append("rect").attr("x",0).attr("y",t.getConfig().state.padding),g=n.append("g"),{textWidth:a,textHeight:l}=U(e,0,0,g);return r.attr("height",l+2*t.getConfig().state.noteMargin),r.attr("width",a+t.getConfig().state.noteMargin*2),r},M=function(e,n){const r=n.id,g={id:r,label:n.id,width:0,height:0},a=e.append("g").attr("id",r).attr("class","stateGroup");n.type==="start"&&P(a),n.type==="end"&&R(a),(n.type==="fork"||n.type==="join")&&q(a,n),n.type==="note"&&F(n.note.text,a),n.type==="divider"&&A(a),n.type==="default"&&n.descriptions.length===0&&G(a,n),n.type==="default"&&n.descriptions.length>0&&W(a,n);const l=a.node().getBBox();return g.width=l.width+2*t.getConfig().state.padding,g.height=l.height+2*t.getConfig().state.padding,g};let H=0;const O=function(e,n,r){const g=function(s){switch(s){case m.db.relationType.AGGREGATION:return"aggregation";case m.db.relationType.EXTENSION:return"extension";case m.db.relationType.COMPOSITION:return"composition";case m.db.relationType.DEPENDENCY:return"dependency"}};n.points=n.points.filter(s=>!Number.isNaN(s.y));const a=n.points,l=L.line().x(function(s){return s.x}).y(function(s){return s.y}).curve(t.curveBasis),f=e.append("path").attr("d",l(a)).attr("id","edge"+H).attr("class","transition");let i="";if(t.getConfig().state.arrowMarkerAbsolute&&(i=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,i=i.replace(/\(/g,"\\("),i=i.replace(/\)/g,"\\)")),f.attr("marker-end","url("+i+"#"+g(m.db.relationType.DEPENDENCY)+"End)"),r.title!==void 0){const s=e.append("g").attr("class","stateLabel"),{x:C,y:p}=t.utils.calcLabelPosition(n.points),d=t.common$1.getRows(r.title);let c=0;const w=[];let y=0,S=0;for(let x=0;x<=d.length;x++){const h=s.append("text").attr("text-anchor","middle").text(d[x]).attr("x",C).attr("y",p+c),u=h.node().getBBox();y=Math.max(y,u.width),S=Math.min(S,u.x),t.log$1.info(u.x,C,p+c),c===0&&(c=h.node().getBBox().height,t.log$1.info("Title height",c,p)),w.push(h)}let E=c*d.length;if(d.length>1){const x=(d.length-1)*c*.5;w.forEach((h,u)=>h.attr("y",p+u*c-x)),E=c*d.length}const o=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",C-y/2-t.getConfig().state.padding/2).attr("y",p-E/2-t.getConfig().state.padding/2-3.5).attr("width",y+t.getConfig().state.padding).attr("height",E+t.getConfig().state.padding),t.log$1.info(o)}H++};let b;const N={},X=function(){},J=function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},Y=function(e,n,r,g){b=t.getConfig().state;const a=t.getConfig().securityLevel;let l;a==="sandbox"&&(l=t.select("#i"+n));const f=a==="sandbox"?t.select(l.nodes()[0].contentDocument.body):t.select("body"),i=a==="sandbox"?l.nodes()[0].contentDocument:document;t.log$1.debug("Rendering diagram "+e);const s=f.select(`[id='${n}']`);J(s);const C=g.db.getRootDoc();$(C,s,void 0,!1,f,i,g);const p=b.padding,d=s.node().getBBox(),c=d.width+p*2,w=d.height+p*2,y=c*1.75;t.configureSvgSize(s,w,y,b.useMaxWidth),s.attr("viewBox",`${d.x-b.padding} ${d.y-b.padding} `+c+" "+w)},I=e=>e?e.length*b.fontSizeFactor:1,$=(e,n,r,g,a,l,f)=>{const i=new T.Graph({compound:!0,multigraph:!0});let s,C=!0;for(s=0;s<e.length;s++)if(e[s].stmt==="relation"){C=!1;break}r?i.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:C?1:b.edgeLengthFactor,nodeSep:C?1:50,isMultiGraph:!0}):i.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:C?1:b.edgeLengthFactor,nodeSep:C?1:50,ranker:"tight-tree",isMultiGraph:!0}),i.setDefaultEdgeLabel(function(){return{}}),f.db.extract(e);const p=f.db.getStates(),d=f.db.getRelations(),c=Object.keys(p);for(const o of c){const x=p[o];r&&(x.parentId=r);let h;if(x.doc){let u=n.append("g").attr("id",x.id).attr("class","stateGroup");h=$(x.doc,u,x.id,!g,a,l,f);{u=v(u,x,g);let B=u.node().getBBox();h.width=B.width,h.height=B.height+b.padding/2,N[x.id]={y:b.compositTitleSize}}}else h=M(n,x);if(x.note){const u={descriptions:[],id:x.id+"-note",note:x.note,type:"note"},B=M(n,u);x.note.position==="left of"?(i.setNode(h.id+"-note",B),i.setNode(h.id,h)):(i.setNode(h.id,h),i.setNode(h.id+"-note",B)),i.setParent(h.id,h.id+"-group"),i.setParent(h.id+"-note",h.id+"-group")}else i.setNode(h.id,h)}t.log$1.debug("Count=",i.nodeCount(),i);let w=0;d.forEach(function(o){w++,t.log$1.debug("Setting edge",o),i.setEdge(o.id1,o.id2,{relation:o,width:I(o.title),height:b.labelHeight*t.common$1.getRows(o.title).length,labelpos:"c"},"id"+w)}),z.layout(i),t.log$1.debug("Graph after layout",i.nodes());const y=n.node();i.nodes().forEach(function(o){o!==void 0&&i.node(o)!==void 0?(t.log$1.warn("Node "+o+": "+JSON.stringify(i.node(o))),a.select("#"+y.id+" #"+o).attr("transform","translate("+(i.node(o).x-i.node(o).width/2)+","+(i.node(o).y+(N[o]?N[o].y:0)-i.node(o).height/2)+" )"),a.select("#"+y.id+" #"+o).attr("data-x-shift",i.node(o).x-i.node(o).width/2),l.querySelectorAll("#"+y.id+" #"+o+" .divider").forEach(h=>{const u=h.parentElement;let B=0,k=0;u&&(u.parentElement&&(B=u.parentElement.getBBox().width),k=parseInt(u.getAttribute("data-x-shift"),10),Number.isNaN(k)&&(k=0)),h.setAttribute("x1",0-k+8),h.setAttribute("x2",B-k-8)})):t.log$1.debug("No Node "+o+": "+JSON.stringify(i.node(o)))});let S=y.getBBox();i.edges().forEach(function(o){o!==void 0&&i.edge(o)!==void 0&&(t.log$1.debug("Edge "+o.v+" -> "+o.w+": "+JSON.stringify(i.edge(o))),O(n,i.edge(o),i.edge(o).relation))}),S=y.getBBox();const E={id:r||"root",label:r||"root",width:0,height:0};return E.width=S.width+2*b.padding,E.height=S.height+2*b.padding,t.log$1.debug("Doc rendered",E,i),E},_={setConf:X,draw:Y},Z={parser:m.parser$1,db:m.db,renderer:_,styles:m.styles,init:e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,m.db.clear()}};exports.diagram=Z;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./layers.
|
|
1
|
+
import "./layers.gnUyo71v.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: "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: "" }, F = { noItems: "まだアイテムが追加されていません…", hint_emptyLibrary: "キャンバス上のアイテムを選択してここに追加するか、以下の公開リポジトリからライブラリをインストールしてください。", hint_emptyPrivateLibrary: "キャンバス上のアイテムを選択すると、ここに追加されます。" }, E = { clearReset: "キャンバスのリセット", exportJSON: "ファイルへエクスポート", exportImage: "画像のエクスポート...", export: "名前を付けて保存...", copyToClipboard: "クリップボードにコピー", save: "現在のファイルに保存", saveAs: "名前を付けて保存", load: "開く", getShareableLink: "共有URLの取得", close: "閉じる", selectLanguage: "言語の選択", scrollBackToContent: "コンテンツまでスクロールで戻る", zoomIn: "拡大", zoomOut: "縮小", resetZoom: "拡大/縮小をリセット", menu: "メニュー", done: "完了", edit: "編集", undo: "元に戻す", redo: "やり直し", resetLibrary: "ライブラリをリセット", createNewRoom: "新しい部屋を作成する", fullScreen: "フルスクリーン", darkMode: "ダークモード", lightMode: "ライトモード", zenMode: "Zenモード", objectsSnapMode: "", exitZenMode: "集中モードをやめる", cancel: "キャンセル", clear: "消去", remove: "削除", embed: "埋め込みの切り替え", publishLibrary: "公開", submit: "送信", confirm: "確認", embeddableInteractionButton: "" }, B = { clearReset: "この操作によってキャンバス全体が消えます。よろしいですか?", couldNotCreateShareableLink: "共有URLを作成できませんでした。", 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: `インターネットに接続されていません。
|
|
@@ -21297,8 +21297,7 @@ const ZH = (n) => {
|
|
|
21297
21297
|
if (Ay) return;
|
|
21298
21298
|
B.preventDefault();
|
|
21299
21299
|
const R = (V = D.current) == null ? void 0 : V.getBoundingClientRect();
|
|
21300
|
-
if (!R
|
|
21301
|
-
return;
|
|
21300
|
+
if (!R) return;
|
|
21302
21301
|
const F = B.clientX - R.left, W = B.clientY - R.top;
|
|
21303
21302
|
M.current.isResizing || z(R, F, W);
|
|
21304
21303
|
}, q = (B) => {
|
|
@@ -23462,7 +23461,7 @@ class od extends jo {
|
|
|
23462
23461
|
function Lw(n) {
|
|
23463
23462
|
return new od(n);
|
|
23464
23463
|
}
|
|
23465
|
-
const n9 = Xy(() => import("./layers.
|
|
23464
|
+
const n9 = Xy(() => import("./layers.E_D59Yym.js"));
|
|
23466
23465
|
function r9(n) {
|
|
23467
23466
|
const e = n;
|
|
23468
23467
|
if (e.src.startsWith("file:///"))
|
|
@@ -23670,7 +23669,7 @@ function Ng({
|
|
|
23670
23669
|
function xu(n) {
|
|
23671
23670
|
return n instanceof Yo;
|
|
23672
23671
|
}
|
|
23673
|
-
const i9 = Xy(() => import("./layers.
|
|
23672
|
+
const i9 = Xy(() => import("./layers.Bwmv62Hw.js"));
|
|
23674
23673
|
function o9(n) {
|
|
23675
23674
|
if (n instanceof HTMLImageElement) {
|
|
23676
23675
|
const { alt: e, src: t, width: r, height: i } = n;
|
|
@@ -24435,7 +24434,7 @@ function cD() {
|
|
|
24435
24434
|
function A9(n) {
|
|
24436
24435
|
return n instanceof sd;
|
|
24437
24436
|
}
|
|
24438
|
-
const Lk = Xy(() => import("./layers.
|
|
24437
|
+
const Lk = Xy(() => import("./layers.BrQ3tjNS.js"));
|
|
24439
24438
|
function y9(n) {
|
|
24440
24439
|
const e = n.getAttribute("data-src"), t = n.getAttribute("data-json");
|
|
24441
24440
|
return { node: Rw(e || "", t || "", !1) };
|
|
@@ -30757,7 +30756,7 @@ function uI({
|
|
|
30757
30756
|
key: "excalidraw",
|
|
30758
30757
|
hide: e || t.excalidraw,
|
|
30759
30758
|
onSelect: () => {
|
|
30760
|
-
t.excalidraw || import("./layers.
|
|
30759
|
+
t.excalidraw || import("./layers.gnUyo71v.js").then((l) => l.M).then(
|
|
30761
30760
|
({ INSERT_EXCALIDRAW_COMMAND: l }) => {
|
|
30762
30761
|
Bn(
|
|
30763
30762
|
n,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { l as At, v as zt, i as It, W as Tt, aH as Bt } from "./layers.
|
|
1
|
+
import { l as At, v as zt, i as It, W as Tt, aH as Bt } from "./layers.DgtEgUTm.js";
|
|
2
2
|
const Lt = {};
|
|
3
3
|
function Ot(n, r) {
|
|
4
4
|
const t = Lt, e = typeof t.includeImageAlt == "boolean" ? t.includeImageAlt : !0, u = typeof t.includeHtml == "boolean" ? t.includeHtml : !0;
|
|
@@ -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.D3jhkMKI.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:"Cтрелка",arrowhead_bar:"Черта",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Треугольник",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Размер шрифта",fontFamily:"Семейство шрифтов",addWatermark:"Добавить «Создано в Excalidraw»",handDrawn:"От руки",normal:"Обычный",code:"Код",small:"Малый",medium:"Средний",large:"Большой",veryLarge:"Очень большой",solid:"Однотонная",hachure:"Штрихованная",zigzag:"Зигзаг",crossHatch:"Перекрестная",thin:"Тонкая",bold:"Жирная",left:"Слева",center:"Центр",right:"Справа",extraBold:"Очень жирная",architect:"Архитектор",artist:"Художник",cartoonist:"Карикатурист",fileTitle:"Имя файла",colorPicker:"Выбор цвета",canvasColors:"Используется на холсте",canvasBackground:"Фон холста",drawingCanvas:"Полотно",layers:"Слои",actions:"Действия",language:"Язык",liveCollaboration:"Онлайн взаимодействие...",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:""},E={noItems:"Пока ничего не добавлено...",hint_emptyLibrary:"Выберите объект на холсте, чтобы добавить его сюда, или установите библиотеку из публичного репозитория ниже.",hint_emptyPrivateLibrary:"Выберите объект на холсте, чтобы добавить его сюда."},e={clearReset:"Очистить холст и сбросить цвет фона",exportJSON:"Сохранить в",exportImage:"Экспортировать изображение...",export:"Сохранить как...",copyToClipboard:"Скопировать в буфер обмена",save:"Сохранить в текущий файл",saveAs:"Сохранить как",load:"Открыть",getShareableLink:"Получить доступ по ссылке",close:"Закрыть",selectLanguage:"Выбрать язык",scrollBackToContent:"Вернуться к содержимому",zoomIn:"Увеличить",zoomOut:"Уменьшить",resetZoom:"Сбросить масштаб",menu:"Меню",done:"Готово",edit:"Изменить",undo:"Шаг назад",redo:"Шаг вперед",resetLibrary:"Сброс библиотеки",createNewRoom:"Создать новую комнату",fullScreen:"Полный экран",darkMode:"Темная тема",lightMode:"Светлая тема",zenMode:"Режим Дзен",objectsSnapMode:"Привязка к объектам",exitZenMode:"Выключить режим концентрации внимания",cancel:"Отменить",clear:"Очистить",remove:"Удалить",embed:"",publishLibrary:"Опубликовать",submit:"Отправить",confirm:"Подтвердить",embeddableInteractionButton:""},D={clearReset:"Это очистит весь холст. Вы уверены?",couldNotCreateShareableLink:"Не удалось создать общедоступную ссылку.",couldNotCreateShareableLinkTooBig:"Нельзя создать ссылку, чтобы поделиться. Сцена слишком большая",couldNotLoadInvalidFile:"Не удалось загрузить недопустимый файл",importBackendFailed:"Не удалось импортировать из бэкэнда.",cannotExportEmptyCanvas:"Не может экспортировать пустой холст.",couldNotCopyToClipboard:"Не удалось скопировать в буфер обмена.",decryptFailed:"Не удалось расшифровать данные.",uploadedSecurly:"Загружаемые данные защищена сквозным шифрованием, что означает, что сервер Excalidraw и третьи стороны не могут прочитать содержимое.",loadSceneOverridePrompt:"Загрузка рисунка приведёт к замене имеющегося содержимого. Вы хотите продолжить?",collabStopOverridePrompt:`Остановка сессии перезапишет ваш предыдущий, локально сохранённый рисунок. Вы уверены?
|
|
2
2
|
|
|
3
3
|
(Если вы хотите оставить ваш локальный рисунок, просто закройте вкладку браузера)`,errorAddingToLibrary:"Не удалось добавить объект в библиотеку",errorRemovingFromLibrary:"Не удалось удалить объект из библиотеки",confirmAddLibrary:"Будет добавлено {{numShapes}} фигур в вашу библиотеку. Продолжить?",imageDoesNotContainScene:"Это изображение не содержит данных сцены. Вы включили встраивание сцены во время экспорта?",cannotRestoreFromImage:"Сцена не может быть восстановлена из этого изображения",invalidSceneUrl:"Невозможно импортировать сцену с предоставленного URL. Неверный формат, или не содержит верных Excalidraw JSON данных.",resetLibrary:"Это очистит вашу библиотеку. Вы уверены?",removeItemsFromsLibrary:"Удалить {{count}} объект(ов) из библиотеки?",invalidEncryptionKey:"Ключ шифрования должен состоять из 22 символов. Одновременное редактирование отключено.",collabOfflineWarning:`Отсутствует интернет-соединение.
|
|
4
4
|
Ваши изменения не будут сохранены!`},B={unsupportedFileType:"Неподдерживаемый тип файла.",imageInsertError:"Не удалось вставить изображение. Попробуйте позже...",fileTooBig:"Очень большой файл. Максимально разрешенный размер {{maxSize}}.",svgImageInsertError:"Не удалось вставить изображение SVG. Разметка SVG выглядит недействительной.",failedToFetchImage:"Не удалось получить изображение.",invalidSVGString:"Некорректный SVG.",cannotResolveCollabServer:"Не удалось подключиться к серверу совместного редактирования. Перезагрузите страницу и повторите попытку.",importLibraryError:"Не удалось загрузить библиотеку",collabSaveFailed:"Не удалось сохранить в базу данных. Если проблема повторится, нужно будет сохранить файл локально, чтобы быть уверенным, что вы не потеряете вашу работу.",collabSaveFailed_sizeExceeded:"Не удалось сохранить в базу данных. Похоже, что холст слишком большой. Нужно сохранить файл локально, чтобы быть уверенным, что вы не потеряете вашу работу.",imageToolNotSupported:"Изображения отключены.",brave_measure_text_error:{line1:"Похоже, вы используете браузер Brave с включенной опцией <bold>Агрессивно блокировать отслеживание</bold>.",line2:"Это может привести к поломке <bold>Текстовых объектов</bold> на рисунке.",line3:"Мы настоятельно рекомендуем отключить эту настройку. Для этого нужно выполнить <link>эти шаги</link>.",line4:"Если отключение этой настройки не исправит отображение текстовых объектов, создайте <issueLink>issue</issueLink> на нашем GitHub или напишите нам в <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"",iframe:"Элементы IFrame не могут быть добавлены в библиотеку.",image:""},asyncPasteFailedOnRead:"Не удалось вставить (невозможно прочитать из системного буфера обмена).",asyncPasteFailedOnParse:"Не удалось вставить.",copyToSystemClipboardFailed:"Не удалось скопировать в буфер обмена."},C={selection:"Выделение области",image:"Вставить изображение",rectangle:"Прямоугольник",diamond:"Ромб",ellipse:"Эллипс",arrow:"Cтрелка",line:"Линия",freedraw:"Чертить",text:"Текст",library:"Библиотека",lock:"Сохранять выбранный инструмент активным после рисования",penMode:"Режим пера - предотвращение касания",link:"Добавить/обновить ссылку для выбранной фигуры",eraser:"Ластик",frame:"",magicframe:"",embeddable:"",laser:"Лазерная указка",hand:"Рука (перемещение холста)",extraTools:"",mermaidToExcalidraw:"Из Mermaid в Excalidraw",magicSettings:"Параметры AI"},r={canvasActions:"Операции холста",selectedShapeActions:"Операции выбранной фигуры",shapes:"Фигуры"},t={canvasPanning:'Чтобы двигать холст, удерживайте колесо мыши или пробел во время перетаскивания, или используйте инструмент "Рука"',linearElement:"Нажмите, чтобы начать несколько точек, перетащите для одной линии",freeDraw:"Нажмите и перетаскивайте, отпустите по завершении",text:"Совет: при выбранном инструменте выделения дважды щёлкните в любом месте, чтобы добавить текст",embeddable:"",text_selected:"Дважды щелкните мышью или нажмите ENTER, чтобы редактировать текст",text_editing:"Нажмите Escape либо Ctrl или Cmd + ENTER для завершения редактирования",linearElementMulti:"Кликните на последней точке или нажмите Escape или Enter чтобы закончить",lockAngle:"Вы можете ограничить угол удерживая SHIFT",resize:`Вы можете ограничить пропорции, удерживая SHIFT во время изменения размеров,
|