@layers-app/editor 0.7.24 → 0.7.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2 -2
- package/dist/index.d.ts +79 -7
- package/dist/index.js +15 -9
- package/dist/layers.-Ls-OI7U.js +76 -0
- package/dist/{layers.CkEhuwys.js → layers.-NLu5icC.js} +11 -8
- package/dist/{layers.Czdt779o.js → layers.-SJh4Kq2.js} +1 -1
- package/dist/{layers.nNlLwZ_E.js → layers.-rsDxFRH.js} +1 -1
- package/dist/{layers.Bzrkz_Q7.js → layers.1T1xbs_L.js} +1 -1
- package/dist/{layers.CH4plVEu.js → layers.2MRpSdXa.js} +3 -3
- package/dist/{layers.W66NF2U9.js → layers.2y946lwL.js} +1 -1
- package/dist/{layers.BqkB6bfG.js → layers.366DcUWU.js} +1 -1
- package/dist/{layers.jZvrWKJt.js → layers.3on5zDVs.js} +1 -1
- package/dist/layers.4X_U1XfV.js +118 -0
- package/dist/{layers.EXQpfQWq.js → layers.5x8VmuQb.js} +1 -1
- package/dist/{layers.BuGAznjj.js → layers.8UaSgU3C.js} +4 -4
- package/dist/{layers.BW593_YD.js → layers.9ePqiVXU.js} +1 -1
- package/dist/layers.B-BmUfj1.js +1 -0
- package/dist/layers.B4ClD1c5.js +22 -0
- package/dist/{layers.y0ia1Vp6.js → layers.B8esHPGj.js} +1 -1
- package/dist/{layers.A6MvZ2Sd.js → layers.B8g_dztZ.js} +4 -4
- package/dist/{layers.8HXImnXe.js → layers.B9a8_NYJ.js} +40 -40
- package/dist/{layers.CCqe9zp9.js → layers.B9jCYEPd.js} +1 -1
- package/dist/{layers.DM9hpazD.js → layers.BAncAh6d.js} +1 -1
- package/dist/{layers.6Og6_hox.js → layers.BBUPOkcX.js} +1 -1
- package/dist/{layers.BNxa_eCc.js → layers.BBWtc1Na.js} +1 -1
- package/dist/{layers.B0gBsd1G.js → layers.BBZaAVkH.js} +18 -15
- package/dist/{layers.eNGl-u4H.js → layers.BDZl0ah2.js} +1 -1
- package/dist/layers.BE2A8-RV.js +129 -0
- package/dist/{layers.rzToPUAK.js → layers.BGJOBg2o.js} +1 -1
- package/dist/layers.BH1NBu4v.js +26946 -0
- package/dist/{layers.Bv1xDmd0.js → layers.BHReeHPG.js} +1 -1
- package/dist/{layers.CadrukAB.js → layers.BIlCcpn1.js} +1 -1
- package/dist/{layers.CYMmJIgK.js → layers.BJkSCIpo.js} +7 -4
- package/dist/{layers.d9OooXQC.js → layers.BJkSsggW.js} +1 -1
- package/dist/{layers.CoCdUjOH.js → layers.BKYZGhXa.js} +1 -1
- package/dist/{layers.CDexQZa_.js → layers.BKd9fapo.js} +8 -5
- package/dist/{layers.B1l2IEoW.js → layers.BNcnWyZC.js} +1 -1
- package/dist/{layers.BbDBKF7d.js → layers.BPLm35_w.js} +1 -1
- package/dist/{layers.BJOmz-8E.js → layers.BQh9MYpb.js} +1 -1
- package/dist/{layers.Bdzg4UkM.js → layers.BSls3Y1p.js} +1 -1
- package/dist/{layers.XZft6Ook.js → layers.BT2O41er.js} +1 -1
- package/dist/{layers.V-9Fvifr.js → layers.BV05ps6w.js} +1 -1
- package/dist/{layers.B4ZRP4dv.js → layers.BV5Pu35h.js} +1 -1
- package/dist/{layers.BVHCv5uJ.js → layers.BVrJzYwq.js} +7 -4
- package/dist/{layers.BV2fpDYI.js → layers.BWO0uznn.js} +1 -1
- package/dist/{layers.DenZLHkn.js → layers.BX9_f-uK.js} +1 -1
- package/dist/{layers.BOWoLhye.js → layers.Ba3lckQw.js} +3 -3
- package/dist/{layers.B5V9R6dS.js → layers.BbTcTSCn.js} +92 -89
- package/dist/{layers.DzghPRf3.js → layers.BbeMJlU4.js} +3229 -3812
- package/dist/{layers.BqikkqHY.js → layers.Bbk9SfBC.js} +1 -1
- package/dist/{layers.CiFtNCp_.js → layers.Bd6cgHp0.js} +1 -1
- package/dist/{layers.BDuP7QP1.js → layers.BdYcBuDT.js} +7 -7
- package/dist/layers.BdaWU2a_.js +1 -0
- package/dist/{layers.CA5feGxW.js → layers.BdcGJ_QJ.js} +1 -1
- package/dist/{layers.BFDXAxa6.js → layers.BfwtWCjL.js} +1 -1
- package/dist/{layers.DNOD_LF5.js → layers.BgWGKBdw.js} +1 -1
- package/dist/{layers.-58OrB2h.js → layers.BgWSbI6d.js} +1 -1
- package/dist/{layers.CvU_g0Ek.js → layers.BgYC2RJy.js} +1 -1
- package/dist/{layers.C-UCCxZT.js → layers.BiHFWV_4.js} +1 -1
- package/dist/{layers.D9yXBIuK.js → layers.BiHH6Fh-.js} +1 -1
- package/dist/{layers.oJ61CNkw.js → layers.Bj75ZwcK.js} +1 -1
- package/dist/{layers.B6C5kDa3.js → layers.Bk0JsLzb.js} +1 -1
- package/dist/{layers.CXp0yiA_.js → layers.BmNaCbw0.js} +1 -1
- package/dist/layers.BmXDrArd.js +2 -0
- package/dist/layers.Bn-X5mPt.js +96 -0
- package/dist/{layers.Cynva3D_.js → layers.BoFg5lNF.js} +1 -1
- package/dist/{layers.DpAWXloN.js → layers.Brp6skAm.js} +10 -7
- package/dist/{layers.Df79MJjN.js → layers.Bs2nvrmm.js} +3 -3
- package/dist/{layers.C5JgdF76.js → layers.BuJyAbNv.js} +1 -1
- package/dist/{layers.BBgqB-dj.js → layers.BuN7h8kT.js} +1 -1
- package/dist/{layers.BSwRsFvu.js → layers.Bv-JUrFh.js} +7 -7
- package/dist/{layers.DNJEfwiQ.js → layers.BwPh3QUh.js} +1 -1
- package/dist/layers.BxVrC-Rx.js +6 -0
- package/dist/{layers.FBzg3C04.js → layers.ByRG1wSE.js} +50 -50
- package/dist/{layers.D33lu-eC.js → layers.Bz2VJd4T.js} +1 -1
- package/dist/layers.C06M-eeu.js +1 -0
- package/dist/{layers.cf3uaysm.js → layers.C1SX3CJH.js} +1 -1
- package/dist/{layers.BwHEZWKu.js → layers.C1avgZsp.js} +1 -1
- package/dist/layers.C3DmzNpM.js +1 -0
- package/dist/{layers.5U6DsNQ8.js → layers.C3XlKjwL.js} +9 -6
- package/dist/{layers.jTaJiZzk.js → layers.C47T8dJb.js} +1 -1
- package/dist/layers.C5AaiHMH.js +1 -0
- package/dist/{layers.B2SmhxzW.js → layers.C6CgZWbu.js} +1 -1
- package/dist/{layers.-qmjZJBI.js → layers.C80QAnj8.js} +1 -1
- package/dist/{layers.DcKjvxHE.js → layers.CAa0nmHW.js} +1 -1
- package/dist/{layers.CV3PBAi0.js → layers.CAa18d0o.js} +1 -1
- package/dist/{layers.BFclfxlH.js → layers.CArHK820.js} +3 -3
- package/dist/{layers.gnAUWHV-.js → layers.CBfqnUFp.js} +1 -1
- package/dist/{layers.Co1X8jDP.js → layers.CElY53KJ.js} +1 -1
- package/dist/layers.CGKhD7iW.js +1 -0
- package/dist/{layers.DnvUnO-4.js → layers.CG_YrCGZ.js} +1 -1
- package/dist/{layers.BwtMeyCj.js → layers.CGi5h4Tm.js} +3 -3
- package/dist/{layers.DyvnTlHi.js → layers.CHFi7PC4.js} +1 -1
- package/dist/{layers.mgh4Cwfx.js → layers.CI9_bgQu.js} +1 -1
- package/dist/{layers.D_XM1OQx.js → layers.CO41l4gK.js} +3 -3
- package/dist/{layers.BrUMsy26.js → layers.CP3V97Mm.js} +1 -1
- package/dist/layers.CQKhlAxU.js +1225 -0
- package/dist/{layers.CQMssu5A.js → layers.CQMBJcRL.js} +1 -1
- package/dist/{layers.BqxiZwrm.js → layers.CRg1Vflm.js} +1 -1
- package/dist/{layers.BGGuOo27.js → layers.CRhRxpH2.js} +1 -1
- package/dist/{layers.BI0TTMdG.js → layers.CRov8ByE.js} +1 -1
- package/dist/{layers.CP3EufOe.js → layers.CRzNguJz.js} +1 -1
- package/dist/{layers.BB-2khdc.js → layers.CTCQa5B7.js} +4 -4
- package/dist/{layers.C0BLZbdT.js → layers.CVcYc1wm.js} +1 -1
- package/dist/layers.CXNL_oox.js +1 -0
- package/dist/{layers.5R_vfSOI.js → layers.CYRxy5k9.js} +1 -1
- package/dist/{layers.CLT1Xhw2.js → layers.C_tM78la.js} +1 -1
- package/dist/layers.Cabxe0kn.js +213 -0
- package/dist/{layers.BY9o3NTY.js → layers.CaxVzvWl.js} +1 -1
- package/dist/{layers.CSi2XRJ2.js → layers.CdKTin55.js} +1 -1
- package/dist/{layers.MNW-ShKu.js → layers.CfAsuE0t.js} +14 -11
- package/dist/{layers.DvNvJZss.js → layers.CghzKO0C.js} +1 -1
- package/dist/{layers.IPxhkSfj.js → layers.ChuiM2Ge.js} +1 -1
- package/dist/{layers.BsV8AKqE.js → layers.CiXZ-yap.js} +9 -6
- package/dist/{layers.CPIxu6GO.js → layers.CkEVC49l.js} +8 -5
- package/dist/{layers.CeuPBpSS.js → layers.ClSWW8ox.js} +1 -1
- package/dist/{layers.CmWWurhR.js → layers.Clk1Fe4w.js} +1 -1
- package/dist/{layers.nFMauJSN.js → layers.Cn08aFBp.js} +1 -1
- package/dist/{layers.BfK7Zksy.js → layers.Cna8Ix8m.js} +1 -1
- package/dist/{layers.Me9S-22r.js → layers.CphQN_oX.js} +10 -7
- package/dist/{layers.soJefnD3.js → layers.CrhNLlxi.js} +1 -1
- package/dist/{layers.BhOCkx36.js → layers.CtqLApR-.js} +1 -1
- package/dist/{layers.l-ywSwa2.js → layers.Cts5KajW.js} +1 -1
- package/dist/{layers.Dq9b1xqh.js → layers.CtxJX2Ez.js} +1 -1
- package/dist/{layers.waYEJRmN.js → layers.CuBkUG-7.js} +1 -1
- package/dist/layers.CvXSTQJz.js +1 -0
- package/dist/{layers.XS2AIvBG.js → layers.CvkyQals.js} +1 -1
- package/dist/{layers.Bi8uSmnl.js → layers.CwVVNOFl.js} +1 -1
- package/dist/{layers.B-Ftwt7z.js → layers.Czao8tOu.js} +1 -1
- package/dist/{layers.B8qo87mf.js → layers.D1i520jt.js} +1 -1
- package/dist/{layers.C2-P7-v8.js → layers.D1lfRls5.js} +1 -1
- package/dist/{layers.CDPIcOqa.js → layers.D34dFD31.js} +1 -1
- package/dist/{layers.CFSfvSsm.js → layers.D3fmo_a0.js} +1 -1
- package/dist/{layers.BKOg8e2U.js → layers.D6MuphvH.js} +1 -1
- package/dist/{layers.D4VJ5B0e.js → layers.D6q3P_TI.js} +1 -1
- package/dist/{layers.DO1NcRAM.js → layers.D7UuTR-C.js} +1 -1
- package/dist/{layers.DjGdrDC1.js → layers.D959YWGL.js} +1 -1
- package/dist/{layers.D8vSQAh0.js → layers.D9B9kI_I.js} +5867 -5583
- package/dist/{layers.X0J3BhYy.js → layers.D9IH2mS5.js} +7 -4
- package/dist/{layers.CUV1fBKt.js → layers.DBuKAjE6.js} +15 -12
- package/dist/{layers.BiD-9uwr.js → layers.DK92KcNH.js} +1 -1
- package/dist/{layers.CqggRfmv.js → layers.DK__DrcP.js} +1 -1
- package/dist/{layers.CfJUJqdv.js → layers.DOfjoqoq.js} +1 -1
- package/dist/layers.DPYvrBWd.js +257 -0
- package/dist/{layers.mnoq184J.js → layers.DQTRq76g.js} +1 -1
- package/dist/{layers.BE_-JA1T.js → layers.DSJEusk2.js} +1 -1
- package/dist/{layers.DPP6_cbD.js → layers.DTruHn92.js} +9 -6
- package/dist/{layers.BVSO7aWV.js → layers.DU_zIQ6M.js} +1 -1
- package/dist/layers.DUnhjbuG.js +1 -0
- package/dist/{layers.ekCtLRbA.js → layers.DWdnOpAN.js} +1 -1
- package/dist/{layers.DmEW632Y.js → layers.DWoq7Geh.js} +2 -2
- package/dist/{layers.53hChJFF.js → layers.DXtHZ1nj.js} +6 -6
- package/dist/{layers.WwL-1p8w.js → layers.DY10hfS3.js} +1 -1
- package/dist/{layers.DfgtWeVl.js → layers.D_2dwpMo.js} +1 -1
- package/dist/{layers.D0ptqEmo.js → layers.DbK_nYcQ.js} +1 -1
- package/dist/layers.DdnbCtG7.js +8 -0
- package/dist/{layers.Cf85CE4j.js → layers.DhGC-0BV.js} +1 -1
- package/dist/{layers.CHa9lFoT.js → layers.DhHWB_mo.js} +1 -1
- package/dist/{layers.SsSYgMGG.js → layers.DqrXXHei.js} +1 -1
- package/dist/{layers.DXyBsBF5.js → layers.Dr8lokU-.js} +1 -1
- package/dist/{layers.DJ7ZL_sW.js → layers.DrawsUTF.js} +9 -6
- package/dist/{layers.DH-cj5fE.js → layers.DtPJRxRH.js} +2 -2
- package/dist/{layers.DrprvZC4.js → layers.DtVegRxz.js} +1 -1
- package/dist/{layers.CR8SQeln.js → layers.Du_afT3B.js} +227 -224
- package/dist/{layers.RpoUh8kq.js → layers.Dz3W71gG.js} +1 -1
- package/dist/{layers.CXPJGJnh.js → layers.DzgnM6hP.js} +1 -1
- package/dist/{layers.B2nS5rBS.js → layers.Dzrd2B4v.js} +1 -1
- package/dist/{layers.Cc1VRWwn.js → layers.H8FpXLLW.js} +1 -1
- package/dist/{layers.CRKCl3-s.js → layers.HLK-BXOS.js} +1 -1
- package/dist/layers.Iv3TGUjH.js +271 -0
- package/dist/{layers.Bvra5UGQ.js → layers.JNFHOtMm.js} +1 -1
- package/dist/{layers.BLERpK_S.js → layers.JnIQDm74.js} +1 -1
- package/dist/{layers.DD5DttRP.js → layers.KkRLbnbd.js} +1 -1
- package/dist/{layers.D6XgZ8Az.js → layers.KnN1a1l_.js} +1 -1
- package/dist/{layers.FlOgidCp.js → layers.LPHz4BH7.js} +1 -1
- package/dist/{layers.C20Qi890.js → layers.LgT80au8.js} +1 -1
- package/dist/{layers.D-iLQKYz.js → layers.M8WSI-kl.js} +1 -1
- package/dist/{layers.BCDRxkn5.js → layers.NXDHF5r0.js} +86 -84
- package/dist/{layers.C47JbXwl.js → layers.PGgmS3VA.js} +1 -1
- package/dist/{layers.DU7EZINs.js → layers.Q6R5qldt.js} +1 -1
- package/dist/{layers.iyoop3cH.js → layers.QE-5n_hV.js} +3 -3
- package/dist/layers.RxenRXMY.js +8 -0
- package/dist/{layers.DAF65Eyh.js → layers.SrRljbf9.js} +1 -1
- package/dist/{layers.BdiCSpJ4.js → layers.TH2ncHZv.js} +1 -1
- package/dist/{layers.Lc29kAuz.js → layers.TrDbXRb8.js} +1 -1
- package/dist/{layers.MHEFRzDP.js → layers.UlDQNWlA.js} +8 -5
- package/dist/{layers.DrZAE5o5.js → layers.XesU1l2Y.js} +1 -1
- package/dist/{layers.Q-xFVVwC.js → layers.YIK80l-U.js} +1 -1
- package/dist/{layers.Ca_hxCzh.js → layers._JK3_ksl.js} +1 -1
- package/dist/{layers.DQIT2lCm.js → layers.__unmC_q.js} +1 -1
- package/dist/{layers.adnwY8ML.js → layers.axz7t9Nk.js} +1 -1
- package/dist/{layers.BZv7cxTR.js → layers.baDgNsYq.js} +92 -89
- package/dist/{layers.BG9jBVsg.js → layers.cca4U64x.js} +1 -1
- package/dist/{layers.zDfwTCmT.js → layers.d-AtY83o.js} +1 -1
- package/dist/{layers.fiMaf-_a.js → layers.d7lMg0QR.js} +3 -3
- package/dist/{layers.Aw65tqqV.js → layers.e-P09YvR.js} +1 -1
- package/dist/layers.eaF4IPbr.js +2 -0
- package/dist/{layers.BKWiI_4a.js → layers.gtTSzMc7.js} +1 -1
- package/dist/{layers.h4L4Mc41.js → layers.itjHVGTW.js} +1 -1
- package/dist/{layers.lG7Mase1.js → layers.jtRJowIU.js} +1 -1
- package/dist/{layers.Bq3WRO3x.js → layers.k2tN79I5.js} +1 -1
- package/dist/{layers.DRZylWPP.js → layers.kfnq0Wd4.js} +1 -1
- package/dist/{layers.BxX_THjw.js → layers.vRc0zJGo.js} +1 -1
- package/dist/{layers.90LiGxII.js → layers.wK0oP6nr.js} +8 -5
- package/dist/{layers.I85BW5o2.js → layers.y6SdGC3M.js} +1 -1
- package/dist/{layers.edPrT81i.js → layers.yhyvjVY-.js} +1 -1
- package/dist/{layers.eaKLR5Q2.js → layers.z0ksrFC0.js} +1 -1
- package/package.json +1 -1
- package/dist/layers.1s4BbICk.js +0 -1
- package/dist/layers.BLvWGmxZ.js +0 -304
- package/dist/layers.BPXa6Xko.js +0 -8
- package/dist/layers.BUT_cQlY.js +0 -1
- package/dist/layers.BZMHF27f.js +0 -6
- package/dist/layers.Bfcc7TOH.js +0 -1
- package/dist/layers.BjtEPALX.js +0 -19
- package/dist/layers.BlT1aHiA.js +0 -1
- package/dist/layers.Br5DTynl.js +0 -74
- package/dist/layers.CQR0Nl7I.js +0 -1
- package/dist/layers.CgDb5aPr.js +0 -2
- package/dist/layers.CmxZ8EKk.js +0 -1
- package/dist/layers.Cp63Ydn2.js +0 -50707
- package/dist/layers.CtCTIWni.js +0 -1
- package/dist/layers.Ctzw3Xb5.js +0 -1
- package/dist/layers.Cw5bBQfp.js +0 -118
- package/dist/layers.D0GEGoV_.js +0 -373
- package/dist/layers.D5DNThwz.js +0 -208
- package/dist/layers.D71D_04V.js +0 -1359
- package/dist/layers.DJnnhy8m.js +0 -96
- package/dist/layers.DgCaJXYg.js +0 -257
- package/dist/layers.Dvl1mlTI.js +0 -1
- package/dist/layers.DzDR_oG4.js +0 -8
- package/dist/layers.Qn6nodoY.js +0 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { aj as un, ak as I, al as U, am as fn, an as Y } from "./layers.BbeMJlU4.js";
|
|
2
2
|
import { i as cn } from "./layers.DjUOC4st.js";
|
|
3
|
-
function
|
|
3
|
+
function F(n, t) {
|
|
4
4
|
return n == null || t == null ? NaN : n < t ? -1 : n > t ? 1 : n >= t ? 0 : NaN;
|
|
5
5
|
}
|
|
6
6
|
function hn(n, t) {
|
|
@@ -8,7 +8,7 @@ function hn(n, t) {
|
|
|
8
8
|
}
|
|
9
9
|
function _(n) {
|
|
10
10
|
let t, e, r;
|
|
11
|
-
n.length !== 2 ? (t =
|
|
11
|
+
n.length !== 2 ? (t = F, e = (u, c) => F(n(u), c), r = (u, c) => n(u) - c) : (t = n === F || n === hn ? n : mn, e = n, r = n);
|
|
12
12
|
function i(u, c, o = 0, s = u.length) {
|
|
13
13
|
if (o < s) {
|
|
14
14
|
if (t(c, c) !== 0) return s;
|
|
@@ -41,18 +41,18 @@ function mn() {
|
|
|
41
41
|
function ln(n) {
|
|
42
42
|
return n === null ? NaN : +n;
|
|
43
43
|
}
|
|
44
|
-
const sn = _(
|
|
44
|
+
const sn = _(F), dn = sn.right;
|
|
45
45
|
_(ln).center;
|
|
46
46
|
const gn = Math.sqrt(50), yn = Math.sqrt(10), Mn = Math.sqrt(2);
|
|
47
|
-
function
|
|
47
|
+
function R(n, t, e) {
|
|
48
48
|
const r = (t - n) / Math.max(0, e), i = Math.floor(Math.log10(r)), f = r / Math.pow(10, i), a = f >= gn ? 10 : f >= yn ? 5 : f >= Mn ? 2 : 1;
|
|
49
49
|
let u, c, o;
|
|
50
|
-
return i < 0 ? (o = Math.pow(10, -i) / a, u = Math.round(n * o), c = Math.round(t * o), u / o < n && ++u, c / o > t && --c, o = -o) : (o = Math.pow(10, i) * a, u = Math.round(n / o), c = Math.round(t / o), u * o < n && ++u, c * o > t && --c), c < u && 0.5 <= e && e < 2 ?
|
|
50
|
+
return i < 0 ? (o = Math.pow(10, -i) / a, u = Math.round(n * o), c = Math.round(t * o), u / o < n && ++u, c / o > t && --c, o = -o) : (o = Math.pow(10, i) * a, u = Math.round(n / o), c = Math.round(t / o), u * o < n && ++u, c * o > t && --c), c < u && 0.5 <= e && e < 2 ? R(n, t, e * 2) : [u, c, o];
|
|
51
51
|
}
|
|
52
52
|
function pn(n, t, e) {
|
|
53
53
|
if (t = +t, n = +n, e = +e, !(e > 0)) return [];
|
|
54
54
|
if (n === t) return [n];
|
|
55
|
-
const r = t < n, [i, f, a] = r ?
|
|
55
|
+
const r = t < n, [i, f, a] = r ? R(t, n, e) : R(n, t, e);
|
|
56
56
|
if (!(f >= i)) return [];
|
|
57
57
|
const u = f - i + 1, c = new Array(u);
|
|
58
58
|
if (r)
|
|
@@ -62,12 +62,12 @@ function pn(n, t, e) {
|
|
|
62
62
|
else for (let o = 0; o < u; ++o) c[o] = (i + o) * a;
|
|
63
63
|
return c;
|
|
64
64
|
}
|
|
65
|
-
function
|
|
66
|
-
return t = +t, n = +n, e = +e,
|
|
65
|
+
function L(n, t, e) {
|
|
66
|
+
return t = +t, n = +n, e = +e, R(n, t, e)[2];
|
|
67
67
|
}
|
|
68
68
|
function wn(n, t, e) {
|
|
69
69
|
t = +t, n = +n, e = +e;
|
|
70
|
-
const r = t < n, i = r ?
|
|
70
|
+
const r = t < n, i = r ? L(t, n, e) : L(n, t, e);
|
|
71
71
|
return (r ? -1 : 1) * (i < 0 ? 1 / -i : i);
|
|
72
72
|
}
|
|
73
73
|
function Nn(n, t) {
|
|
@@ -83,7 +83,7 @@ function kn(n) {
|
|
|
83
83
|
}
|
|
84
84
|
function xn(n, t) {
|
|
85
85
|
var e = t ? t.length : 0, r = n ? Math.min(e, n.length) : 0, i = new Array(r), f = new Array(e), a;
|
|
86
|
-
for (a = 0; a < r; ++a) i[a] =
|
|
86
|
+
for (a = 0; a < r; ++a) i[a] = C(n[a], t[a]);
|
|
87
87
|
for (; a < e; ++a) f[a] = t[a];
|
|
88
88
|
return function(u) {
|
|
89
89
|
for (a = 0; a < r; ++a) f[a] = i[a](u);
|
|
@@ -100,15 +100,15 @@ function vn(n, t) {
|
|
|
100
100
|
var e = {}, r = {}, i;
|
|
101
101
|
(n === null || typeof n != "object") && (n = {}), (t === null || typeof t != "object") && (t = {});
|
|
102
102
|
for (i in t)
|
|
103
|
-
i in n ? e[i] =
|
|
103
|
+
i in n ? e[i] = C(n[i], t[i]) : r[i] = t[i];
|
|
104
104
|
return function(f) {
|
|
105
105
|
for (i in e) r[i] = e[i](f);
|
|
106
106
|
return r;
|
|
107
107
|
};
|
|
108
108
|
}
|
|
109
|
-
function
|
|
109
|
+
function C(n, t) {
|
|
110
110
|
var e = typeof t, r;
|
|
111
|
-
return t == null || e === "boolean" ? un(t) : (e === "number" ?
|
|
111
|
+
return t == null || e === "boolean" ? un(t) : (e === "number" ? I : e === "string" ? (r = Y(t)) ? (t = r, U) : fn : t instanceof Y ? U : t instanceof Date ? An : kn(t) ? Nn : Array.isArray(t) ? xn : typeof t.valueOf != "function" && typeof t.toString != "function" || isNaN(t) ? vn : I)(n, t);
|
|
112
112
|
}
|
|
113
113
|
function Sn(n, t) {
|
|
114
114
|
return n = +n, t = +t, function(e) {
|
|
@@ -118,7 +118,7 @@ function Sn(n, t) {
|
|
|
118
118
|
function bn(n) {
|
|
119
119
|
return Math.abs(n = Math.round(n)) >= 1e21 ? n.toLocaleString("en").replace(/,/g, "") : n.toString(10);
|
|
120
120
|
}
|
|
121
|
-
function
|
|
121
|
+
function E(n, t) {
|
|
122
122
|
if ((e = (n = t ? n.toExponential(t - 1) : n.toExponential()).indexOf("e")) < 0) return null;
|
|
123
123
|
var e, r = n.slice(0, e);
|
|
124
124
|
return [
|
|
@@ -127,7 +127,7 @@ function R(n, t) {
|
|
|
127
127
|
];
|
|
128
128
|
}
|
|
129
129
|
function v(n) {
|
|
130
|
-
return n =
|
|
130
|
+
return n = E(Math.abs(n)), n ? n[1] : NaN;
|
|
131
131
|
}
|
|
132
132
|
function jn(n, t) {
|
|
133
133
|
return function(e, r) {
|
|
@@ -147,7 +147,7 @@ var zn = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?
|
|
|
147
147
|
function D(n) {
|
|
148
148
|
if (!(t = zn.exec(n))) throw new Error("invalid format: " + n);
|
|
149
149
|
var t;
|
|
150
|
-
return new
|
|
150
|
+
return new B({
|
|
151
151
|
fill: t[1],
|
|
152
152
|
align: t[2],
|
|
153
153
|
sign: t[3],
|
|
@@ -160,14 +160,14 @@ function D(n) {
|
|
|
160
160
|
type: t[10]
|
|
161
161
|
});
|
|
162
162
|
}
|
|
163
|
-
D.prototype =
|
|
164
|
-
function
|
|
163
|
+
D.prototype = B.prototype;
|
|
164
|
+
function B(n) {
|
|
165
165
|
this.fill = n.fill === void 0 ? " " : n.fill + "", this.align = n.align === void 0 ? ">" : n.align + "", this.sign = n.sign === void 0 ? "-" : n.sign + "", this.symbol = n.symbol === void 0 ? "" : n.symbol + "", this.zero = !!n.zero, this.width = n.width === void 0 ? void 0 : +n.width, this.comma = !!n.comma, this.precision = n.precision === void 0 ? void 0 : +n.precision, this.trim = !!n.trim, this.type = n.type === void 0 ? "" : n.type + "";
|
|
166
166
|
}
|
|
167
|
-
|
|
167
|
+
B.prototype.toString = function() {
|
|
168
168
|
return this.fill + this.align + this.sign + this.symbol + (this.zero ? "0" : "") + (this.width === void 0 ? "" : Math.max(1, this.width | 0)) + (this.comma ? "," : "") + (this.precision === void 0 ? "" : "." + Math.max(0, this.precision | 0)) + (this.trim ? "~" : "") + this.type;
|
|
169
169
|
};
|
|
170
|
-
function
|
|
170
|
+
function $n(n) {
|
|
171
171
|
n: for (var t = n.length, e = 1, r = -1, i; e < t; ++e)
|
|
172
172
|
switch (n[e]) {
|
|
173
173
|
case ".":
|
|
@@ -184,14 +184,14 @@ function Fn(n) {
|
|
|
184
184
|
return r > 0 ? n.slice(0, r) + n.slice(i + 1) : n;
|
|
185
185
|
}
|
|
186
186
|
var nn;
|
|
187
|
-
function
|
|
188
|
-
var e =
|
|
187
|
+
function Fn(n, t) {
|
|
188
|
+
var e = E(n, t);
|
|
189
189
|
if (!e) return n + "";
|
|
190
190
|
var r = e[0], i = e[1], f = i - (nn = Math.max(-8, Math.min(8, Math.floor(i / 3))) * 3) + 1, a = r.length;
|
|
191
|
-
return f === a ? r : f > a ? r + new Array(f - a + 1).join("0") : f > 0 ? r.slice(0, f) + "." + r.slice(f) : "0." + new Array(1 - f).join("0") +
|
|
191
|
+
return f === a ? r : f > a ? r + new Array(f - a + 1).join("0") : f > 0 ? r.slice(0, f) + "." + r.slice(f) : "0." + new Array(1 - f).join("0") + E(n, Math.max(0, t + f - 1))[0];
|
|
192
192
|
}
|
|
193
193
|
function Z(n, t) {
|
|
194
|
-
var e =
|
|
194
|
+
var e = E(n, t);
|
|
195
195
|
if (!e) return n + "";
|
|
196
196
|
var r = e[0], i = e[1];
|
|
197
197
|
return i < 0 ? "0." + new Array(-i).join("0") + r : r.length > i + 1 ? r.slice(0, i + 1) + "." + r.slice(i + 1) : r + new Array(i - r.length + 2).join("0");
|
|
@@ -207,7 +207,7 @@ const H = {
|
|
|
207
207
|
o: (n) => Math.round(n).toString(8),
|
|
208
208
|
p: (n, t) => Z(n * 100, t),
|
|
209
209
|
r: Z,
|
|
210
|
-
s:
|
|
210
|
+
s: Fn,
|
|
211
211
|
X: (n) => Math.round(n).toString(16).toUpperCase(),
|
|
212
212
|
x: (n) => Math.round(n).toString(16)
|
|
213
213
|
};
|
|
@@ -215,12 +215,12 @@ function J(n) {
|
|
|
215
215
|
return n;
|
|
216
216
|
}
|
|
217
217
|
var K = Array.prototype.map, Q = ["y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"];
|
|
218
|
-
function
|
|
218
|
+
function Rn(n) {
|
|
219
219
|
var t = n.grouping === void 0 || n.thousands === void 0 ? J : jn(K.call(n.grouping, Number), n.thousands + ""), e = n.currency === void 0 ? "" : n.currency[0] + "", r = n.currency === void 0 ? "" : n.currency[1] + "", i = n.decimal === void 0 ? "." : n.decimal + "", f = n.numerals === void 0 ? J : Pn(K.call(n.numerals, String)), a = n.percent === void 0 ? "%" : n.percent + "", u = n.minus === void 0 ? "−" : n.minus + "", c = n.nan === void 0 ? "NaN" : n.nan + "";
|
|
220
220
|
function o(h) {
|
|
221
221
|
h = D(h);
|
|
222
|
-
var l = h.fill, p = h.align, y = h.sign, S = h.symbol, k = h.zero, b = h.width, T = h.comma, w = h.precision,
|
|
223
|
-
d === "n" ? (T = !0, d = "g") : H[d] || (w === void 0 && (w = 12),
|
|
222
|
+
var l = h.fill, p = h.align, y = h.sign, S = h.symbol, k = h.zero, b = h.width, T = h.comma, w = h.precision, G = h.trim, d = h.type;
|
|
223
|
+
d === "n" ? (T = !0, d = "g") : H[d] || (w === void 0 && (w = 12), G = !0, d = "g"), (k || l === "0" && p === "=") && (k = !0, l = "0", p = "=");
|
|
224
224
|
var en = S === "$" ? e : S === "#" && /[boxX]/.test(d) ? "0" + d.toLowerCase() : "", on = S === "$" ? r : /[%p]/.test(d) ? a : "", O = H[d], an = /[defgprs%]/.test(d);
|
|
225
225
|
w = w === void 0 ? 6 : /[gprs]/.test(d) ? Math.max(1, Math.min(21, w)) : Math.max(0, Math.min(20, w));
|
|
226
226
|
function V(m) {
|
|
@@ -230,7 +230,7 @@ function En(n) {
|
|
|
230
230
|
else {
|
|
231
231
|
m = +m;
|
|
232
232
|
var P = m < 0 || 1 / m < 0;
|
|
233
|
-
if (m = isNaN(m) ? c : O(Math.abs(m), w),
|
|
233
|
+
if (m = isNaN(m) ? c : O(Math.abs(m), w), G && (m = $n(m)), P && +m == 0 && y !== "+" && (P = !1), N = (P ? y === "(" ? y : u : y === "-" || y === "(" ? "" : y) + N, g = (d === "s" ? Q[8 + nn / 3] : "") + g + (P && y === "(" ? ")" : ""), an) {
|
|
234
234
|
for (x = -1, X = m.length; ++x < X; )
|
|
235
235
|
if (j = m.charCodeAt(x), 48 > j || j > 57) {
|
|
236
236
|
g = (j === 46 ? i + m.slice(x + 1) : m.slice(x)) + g, m = m.slice(0, x);
|
|
@@ -271,14 +271,14 @@ function En(n) {
|
|
|
271
271
|
formatPrefix: s
|
|
272
272
|
};
|
|
273
273
|
}
|
|
274
|
-
var
|
|
275
|
-
|
|
274
|
+
var $, tn, rn;
|
|
275
|
+
En({
|
|
276
276
|
thousands: ",",
|
|
277
277
|
grouping: [3],
|
|
278
278
|
currency: ["$", ""]
|
|
279
279
|
});
|
|
280
|
-
function
|
|
281
|
-
return
|
|
280
|
+
function En(n) {
|
|
281
|
+
return $ = Rn(n), tn = $.format, rn = $.formatPrefix, $;
|
|
282
282
|
}
|
|
283
283
|
function Dn(n) {
|
|
284
284
|
return Math.max(0, -v(Math.abs(n)));
|
|
@@ -286,42 +286,42 @@ function Dn(n) {
|
|
|
286
286
|
function Tn(n, t) {
|
|
287
287
|
return Math.max(0, Math.max(-8, Math.min(8, Math.floor(v(t) / 3))) * 3 - v(Math.abs(n)));
|
|
288
288
|
}
|
|
289
|
-
function
|
|
289
|
+
function In(n, t) {
|
|
290
290
|
return n = Math.abs(n), t = Math.abs(t) - n, Math.max(0, v(t) - v(n)) + 1;
|
|
291
291
|
}
|
|
292
|
-
function
|
|
292
|
+
function Ln(n) {
|
|
293
293
|
return function() {
|
|
294
294
|
return n;
|
|
295
295
|
};
|
|
296
296
|
}
|
|
297
|
-
function
|
|
297
|
+
function qn(n) {
|
|
298
298
|
return +n;
|
|
299
299
|
}
|
|
300
300
|
var W = [0, 1];
|
|
301
301
|
function A(n) {
|
|
302
302
|
return n;
|
|
303
303
|
}
|
|
304
|
-
function
|
|
304
|
+
function q(n, t) {
|
|
305
305
|
return (t -= n = +n) ? function(e) {
|
|
306
306
|
return (e - n) / t;
|
|
307
|
-
} :
|
|
307
|
+
} : Ln(isNaN(t) ? NaN : 0.5);
|
|
308
308
|
}
|
|
309
|
-
function
|
|
309
|
+
function Cn(n, t) {
|
|
310
310
|
var e;
|
|
311
311
|
return n > t && (e = n, n = t, t = e), function(r) {
|
|
312
312
|
return Math.max(n, Math.min(t, r));
|
|
313
313
|
};
|
|
314
314
|
}
|
|
315
|
-
function
|
|
315
|
+
function Bn(n, t, e) {
|
|
316
316
|
var r = n[0], i = n[1], f = t[0], a = t[1];
|
|
317
|
-
return i < r ? (r =
|
|
317
|
+
return i < r ? (r = q(i, r), f = e(a, f)) : (r = q(r, i), f = e(f, a)), function(u) {
|
|
318
318
|
return f(r(u));
|
|
319
319
|
};
|
|
320
320
|
}
|
|
321
|
-
function
|
|
321
|
+
function Gn(n, t, e) {
|
|
322
322
|
var r = Math.min(n.length, t.length) - 1, i = new Array(r), f = new Array(r), a = -1;
|
|
323
323
|
for (n[r] < n[0] && (n = n.slice().reverse(), t = t.slice().reverse()); ++a < r; )
|
|
324
|
-
i[a] =
|
|
324
|
+
i[a] = q(n[a], n[a + 1]), f[a] = e(t[a], t[a + 1]);
|
|
325
325
|
return function(u) {
|
|
326
326
|
var c = dn(n, u, 1, r) - 1;
|
|
327
327
|
return f[c](i[c](u));
|
|
@@ -331,18 +331,18 @@ function On(n, t) {
|
|
|
331
331
|
return t.domain(n.domain()).range(n.range()).interpolate(n.interpolate()).clamp(n.clamp()).unknown(n.unknown());
|
|
332
332
|
}
|
|
333
333
|
function Vn() {
|
|
334
|
-
var n = W, t = W, e =
|
|
334
|
+
var n = W, t = W, e = C, r, i, f, a = A, u, c, o;
|
|
335
335
|
function s() {
|
|
336
336
|
var l = Math.min(n.length, t.length);
|
|
337
|
-
return a !== A && (a =
|
|
337
|
+
return a !== A && (a = Cn(n[0], n[l - 1])), u = l > 2 ? Gn : Bn, c = o = null, h;
|
|
338
338
|
}
|
|
339
339
|
function h(l) {
|
|
340
340
|
return l == null || isNaN(l = +l) ? f : (c || (c = u(n.map(r), t, e)))(r(a(l)));
|
|
341
341
|
}
|
|
342
342
|
return h.invert = function(l) {
|
|
343
|
-
return a(i((o || (o = u(t, n.map(r),
|
|
343
|
+
return a(i((o || (o = u(t, n.map(r), I)))(l)));
|
|
344
344
|
}, h.domain = function(l) {
|
|
345
|
-
return arguments.length ? (n = Array.from(l,
|
|
345
|
+
return arguments.length ? (n = Array.from(l, qn), s()) : n.slice();
|
|
346
346
|
}, h.range = function(l) {
|
|
347
347
|
return arguments.length ? (t = Array.from(l), s()) : t.slice();
|
|
348
348
|
}, h.rangeRound = function(l) {
|
|
@@ -372,7 +372,7 @@ function Un(n, t, e, r) {
|
|
|
372
372
|
case "g":
|
|
373
373
|
case "p":
|
|
374
374
|
case "r": {
|
|
375
|
-
r.precision == null && !isNaN(f =
|
|
375
|
+
r.precision == null && !isNaN(f = In(i, Math.max(Math.abs(n), Math.abs(t)))) && (r.precision = f - (r.type === "e"));
|
|
376
376
|
break;
|
|
377
377
|
}
|
|
378
378
|
case "f":
|
|
@@ -395,7 +395,7 @@ function Yn(n) {
|
|
|
395
395
|
e == null && (e = 10);
|
|
396
396
|
var r = t(), i = 0, f = r.length - 1, a = r[i], u = r[f], c, o, s = 10;
|
|
397
397
|
for (u < a && (o = a, a = u, u = o, o = i, i = f, f = o); s-- > 0; ) {
|
|
398
|
-
if (o =
|
|
398
|
+
if (o = L(a, u, e), o === c)
|
|
399
399
|
return r[i] = a, r[f] = u, t(r);
|
|
400
400
|
if (o > 0)
|
|
401
401
|
a = Math.floor(a / o) * o, u = Math.ceil(u / o) * o;
|
|
@@ -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.B9a8_NYJ.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 во время изменения размеров,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./layers.CHFi7PC4.js"),z=require("./layers.BLd2spTm.js"),i=require("./layers.Bn-X5mPt.js"),j=require("./layers.SrRljbf9.js");require("./layers.B9a8_NYJ.js");require("lodash-es/memoize.js");require("lodash-es/merge.js");require("lodash-es/isEmpty.js");require("lodash-es");require("./layers.Cyzu9PKQ.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}`,q="fill:none",H="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,f=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:`${f} ${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 g=o+v;t.setNode(g,E),t.setNode(d.id,d),t.setNode(o,_),t.setParent(o,g),t.setParent(d.id,g);let T=o,A=d.id;e.note.position==="left of"&&(T=d.id,A=o),t.setEdge(T,A,{arrowhead:"none",arrowType:"",style:q,labelStyle:"",classes:ot,arrowheadStyle:H,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 f={id:"edge"+S,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:q,labelStyle:"",label:i.common$1.sanitizeText(o.description,i.getConfig()),arrowheadStyle:H,labelpos:U,labelType:V,thickness:Y,classes:k};t.setEdge(o.state1.id,o.state2.id,f,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,f=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:f,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}"]`),g=d.select("#"+n+" g");await j.render(g,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;
|
|
@@ -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.DU_zIQ6M.js");require("./layers.B9a8_NYJ.js");var e=typeof document<"u"?document.currentScript:null,n=(typeof document>"u"?require("url").pathToFileURL(__filename).href:e&&e.tagName.toUpperCase()==="SCRIPT"&&e.src||new URL("layers.C1SX3CJH.js",document.baseURI).href)?new URL(typeof document>"u"?require("url").pathToFileURL(__filename).href:e&&e.tagName.toUpperCase()==="SCRIPT"&&e.src||new URL("layers.C1SX3CJH.js",document.baseURI).href):void 0;typeof window>"u"&&typeof self<"u"&&(self.onmessage=async r=>{switch(r.data.command){case a.CB.Subset:let t=await a.NQ(r.data.arrayBuffer,r.data.codePoints);self.postMessage(t,{transfer:[t]});break}});exports.WorkerUrl=n;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./layers.
|
|
1
|
+
import "./layers.D9B9kI_I.js";
|
|
2
2
|
var e = { paste: "Einfügen", pasteAsPlaintext: "Als reinen Text einfügen", pasteCharts: "Diagramme einfügen", selectAll: "Alle auswählen", multiSelect: "Element zur Auswahl hinzufügen", moveCanvas: "Leinwand verschieben", cut: "Ausschneiden", copy: "Kopieren", copyAsPng: "In Zwischenablage kopieren (PNG)", copyAsSvg: "In Zwischenablage kopieren (SVG)", copyText: "In die Zwischenablage als Text kopieren", copySource: "Quelle in Zwischenablage kopieren", convertToCode: "In Code konvertieren", bringForward: "Nach vorne", sendToBack: "In den Hintergrund", bringToFront: "In den Vordergrund", sendBackward: "Nach hinten", delete: "Löschen", copyStyles: "Formatierung kopieren", pasteStyles: "Formatierung übernehmen", stroke: "Strich", background: "Hintergrund", fill: "Füllung", strokeWidth: "Strichstärke", strokeStyle: "Konturstil", strokeStyle_solid: "Durchgezogen", strokeStyle_dashed: "Gestrichelt", strokeStyle_dotted: "Gepunktet", sloppiness: "Sauberkeit", opacity: "Deckkraft", textAlign: "Textausrichtung", edges: "Kanten", sharp: "Scharf", round: "Rund", arrowheads: "Pfeilspitzen", arrowhead_none: "Keine", arrowhead_arrow: "Pfeil", arrowhead_bar: "Balken", arrowhead_circle: "Kreis", arrowhead_circle_outline: "Kreis (Umrandung)", arrowhead_triangle: "Dreieck", arrowhead_triangle_outline: "Dreieck (Umrandung)", arrowhead_diamond: "Raute", arrowhead_diamond_outline: "Raute (Umrandung)", fontSize: "Schriftgröße", fontFamily: "Schriftfamilie", addWatermark: '"Made with Excalidraw" hinzufügen', handDrawn: "Handgezeichnet", normal: "Normal", code: "Code", small: "Klein", medium: "Mittel", large: "Groß", veryLarge: "Sehr groß", solid: "Deckend", hachure: "Schraffiert", zigzag: "Zickzack", crossHatch: "Kreuzschraffiert", thin: "Dünn", bold: "Fett", left: "Links", center: "Zentriert", right: "Rechts", extraBold: "Extra Fett", architect: "Architekt", artist: "Künstler", cartoonist: "Karikaturist", fileTitle: "Dateiname", colorPicker: "Farbauswähler", canvasColors: "Auf Leinwand verwendet", canvasBackground: "Zeichenflächenhintergrund", drawingCanvas: "Leinwand", layers: "Ebenen", actions: "Aktionen", language: "Sprache", liveCollaboration: "Live-Zusammenarbeit...", duplicateSelection: "Duplizieren", untitled: "Unbenannt", name: "Name", yourName: "Dein Name", madeWithExcalidraw: "Made with Excalidraw", group: "Auswahl gruppieren", ungroup: "Gruppierung aufheben", collaborators: "Mitarbeitende", showGrid: "Raster anzeigen", addToLibrary: "Zur Bibliothek hinzufügen", removeFromLibrary: "Aus Bibliothek entfernen", libraryLoadingMessage: "Lade Bibliothek…", libraries: "Bibliotheken durchsuchen", loadingScene: "Lade Zeichnung…", align: "Ausrichten", alignTop: "Obere Kanten", alignBottom: "Untere Kanten", alignLeft: "Linke Kanten", alignRight: "Rechte Kanten", centerVertically: "Vertikal zentrieren", centerHorizontally: "Horizontal zentrieren", distributeHorizontally: "Horizontal verteilen", distributeVertically: "Vertikal verteilen", flipHorizontal: "Horizontal spiegeln", flipVertical: "Vertikal spiegeln", viewMode: "Ansichtsmodus", share: "Teilen", showStroke: "Auswahl für Strichfarbe anzeigen", showBackground: "Hintergrundfarbe auswählen", toggleTheme: "Design umschalten", personalLib: "Persönliche Bibliothek", excalidrawLib: "Excalidraw Bibliothek", decreaseFontSize: "Schriftgröße verkleinern", increaseFontSize: "Schrift vergrößern", unbindText: "Text lösen", bindText: "Text an Container binden", createContainerFromText: "Text in Container einbetten", link: { edit: "Link bearbeiten", editEmbed: "Link bearbeiten & einbetten", create: "Link erstellen", createEmbed: "Link erstellen & einbetten", label: "Link", labelEmbed: "Verlinken & einbetten", empty: "Kein Link festgelegt" }, lineEditor: { edit: "Linie bearbeiten", exit: "Linieneditor verlassen" }, elementLock: { lock: "Sperren", unlock: "Entsperren", lockAll: "Alle sperren", unlockAll: "Alle entsperren" }, statusPublished: "Veröffentlicht", sidebarLock: "Seitenleiste offen lassen", selectAllElementsInFrame: "Alle Elemente im Rahmen auswählen", removeAllElementsFromFrame: "Alle Elemente aus dem Rahmen entfernen", eyeDropper: "Farbe von der Zeichenfläche auswählen", textToDiagram: "Text zu Diagramm", prompt: "Eingabe" }, n = { noItems: "Noch keine Elemente hinzugefügt...", hint_emptyLibrary: "Wähle ein Element auf der Zeichenfläche, um es hier hinzuzufügen. Oder installiere eine Bibliothek aus dem öffentlichen Verzeichnis.", hint_emptyPrivateLibrary: "Wähle ein Element von der Zeichenfläche, um es hier hinzuzufügen." }, i = { clearReset: "Zeichenfläche löschen & Hintergrundfarbe zurücksetzen", exportJSON: "In Datei exportieren", exportImage: "Exportiere Bild...", export: "Speichern als...", copyToClipboard: "In Zwischenablage kopieren", save: "In aktueller Datei speichern", saveAs: "Speichern unter", load: "Öffnen", getShareableLink: "Teilbaren Link erhalten", close: "Schließen", selectLanguage: "Sprache auswählen", scrollBackToContent: "Zurück zum Inhalt", zoomIn: "Vergrößern", zoomOut: "Verkleinern", resetZoom: "Zoom zurücksetzen", menu: "Menü", done: "Fertig", edit: "Bearbeiten", undo: "Rückgängig machen", redo: "Wiederholen", resetLibrary: "Bibliothek zurücksetzen", createNewRoom: "Neuen Raum erstellen", fullScreen: "Vollbildanzeige", darkMode: "Dunkles Design", lightMode: "Helles Design", zenMode: "Zen-Modus", objectsSnapMode: "Einrasten an Objekten", exitZenMode: "Zen-Modus verlassen", cancel: "Abbrechen", clear: "Löschen", remove: "Entfernen", embed: "Einbettung umschalten", publishLibrary: "Veröffentlichen", submit: "Absenden", confirm: "Bestätigen", embeddableInteractionButton: "Klicken, um zu interagieren" }, r = { clearReset: "Dies wird die ganze Zeichenfläche löschen. Bist du dir sicher?", couldNotCreateShareableLink: "Konnte keinen teilbaren Link erstellen.", couldNotCreateShareableLinkTooBig: "Konnte keinen teilbaren Link erstellen: Die Zeichnung ist zu groß", couldNotLoadInvalidFile: "Ungültige Datei konnte nicht geladen werden", importBackendFailed: "Import vom Server ist fehlgeschlagen.", cannotExportEmptyCanvas: "Leere Zeichenfläche kann nicht exportiert werden.", couldNotCopyToClipboard: "Kopieren in die Zwischenablage fehlgeschlagen.", decryptFailed: "Daten konnten nicht entschlüsselt werden.", uploadedSecurly: "Der Upload wurde mit Ende-zu-Ende-Verschlüsselung gespeichert. Weder Excalidraw noch Dritte können den Inhalt einsehen.", loadSceneOverridePrompt: "Das Laden einer externen Zeichnung ersetzt den vorhandenen Inhalt. Möchtest du fortfahren?", collabStopOverridePrompt: `Das Stoppen der Sitzung wird deine vorherige, lokal gespeicherte Zeichnung überschreiben. Bist du dir sicher?
|
|
3
3
|
|
|
4
4
|
(Wenn du deine lokale Zeichnung behalten möchtest, schließe stattdessen den Browser-Tab.)`, errorAddingToLibrary: "Das Element konnte nicht zur Bibliothek hinzugefügt werden", errorRemovingFromLibrary: "Das Element konnte nicht aus der Bibliothek entfernt werden", confirmAddLibrary: "Dies fügt {{numShapes}} Form(en) zu deiner Bibliothek hinzu. Bist du dir sicher?", imageDoesNotContainScene: "Dieses Bild scheint keine Szenendaten zu enthalten. Hast Du das Einbetten der Szene während des Exports aktiviert?", cannotRestoreFromImage: "Die Zeichnung konnte aus dieser Bilddatei nicht wiederhergestellt werden", invalidSceneUrl: "Die Szene konnte nicht von der angegebenen URL importiert werden. Sie ist entweder fehlerhaft oder enthält keine gültigen Excalidraw JSON-Daten.", resetLibrary: "Dieses löscht deine Bibliothek. Bist du sicher?", removeItemsFromsLibrary: "{{count}} Element(e) aus der Bibliothek löschen?", invalidEncryptionKey: "Verschlüsselungsschlüssel muss 22 Zeichen lang sein. Die Live-Zusammenarbeit ist deaktiviert.", collabOfflineWarning: `Keine Internetverbindung verfügbar.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./layers.CHFi7PC4.js"),t=require("./layers.Bn-X5mPt.js");require("lodash-es");const z=require("./layers.Cyzu9PKQ.js"),T=require("./layers.BLd2spTm.js");require("./layers.B9a8_NYJ.js");require("lodash-es/memoize.js");require("lodash-es/merge.js");require("lodash-es/isEmpty.js");const L=require("./layers.DhHWB_mo.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),q=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),A=(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),d=r.node().getBBox();return e.insert("rect",":first-child").attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding).attr("width",d.width+2*t.getConfig().state.padding).attr("height",d.height+2*t.getConfig().state.padding).attr("rx",t.getConfig().state.radius),r},G=(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(),g=Math.max(p.width,a.width);return C.attr("x2",g+3*t.getConfig().state.padding),e.insert("rect",":first-child").attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding).attr("width",g+2*t.getConfig().state.padding).attr("height",p.height+l+2*t.getConfig().state.padding).attr("rx",t.getConfig().state.radius),e},W=(e,n,r)=>{const d=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 g=Math.max(p,f);g===f&&(g=g+a);let c;const w=e.node().getBBox();n.doc,c=i-d,p>f&&(c=(f-g)/2+d),Math.abs(i-w.x)<d&&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",g).attr("height",w.height+t.getConfig().state.textHeight+t.getConfig().state.titleShift+1).attr("rx","0"),s.attr("x",c+d),p<=f&&s.attr("x",i+(g-a)/2-p/2+d),e.insert("rect",":first-child").attr("x",c).attr("y",t.getConfig().state.titleShift-t.getConfig().state.textHeight-t.getConfig().state.padding).attr("width",g).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",g).attr("height",w.height+3+2*t.getConfig().state.textHeight).attr("rx",t.getConfig().state.radius),e},v=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)),R=(e,n)=>{let r=t.getConfig().state.forkWidth,d=t.getConfig().state.forkHeight;if(n.parentId){let a=r;r=d,d=a}return e.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",d).attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding)},U=(e,n,r,d)=>{let a=0;const l=d.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 g=l.append("tspan");if(g.text(p),s===0){const c=g.node().getBBox();s+=c.height}a+=s,g.attr("x",n+t.getConfig().state.noteMargin),g.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),d=n.append("g"),{textWidth:a,textHeight:l}=U(e,0,0,d);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,d={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"&&v(a),(n.type==="fork"||n.type==="join")&&R(a,n),n.type==="note"&&F(n.note.text,a),n.type==="divider"&&q(a),n.type==="default"&&n.descriptions.length===0&&A(a,n),n.type==="default"&&n.descriptions.length>0&&G(a,n);const l=a.node().getBBox();return d.width=l.width+2*t.getConfig().state.padding,d.height=l.height+2*t.getConfig().state.padding,d};let H=0;const O=function(e,n,r){const d=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+"#"+d(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),g=t.common$1.getRows(r.title);let c=0;const w=[];let y=0,S=0;for(let x=0;x<=g.length;x++){const h=s.append("text").attr("text-anchor","middle").text(g[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*g.length;if(g.length>1){const x=(g.length-1)*c*.5;w.forEach((h,u)=>h.attr("y",p+u*c-x)),E=c*g.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,d){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=d.db.getRootDoc();$(C,s,void 0,!1,f,i,d);const p=b.padding,g=s.node().getBBox(),c=g.width+p*2,w=g.height+p*2,y=c*1.75;t.configureSvgSize(s,w,y,b.useMaxWidth),s.attr("viewBox",`${g.x-b.padding} ${g.y-b.padding} `+c+" "+w)},I=e=>e?e.length*b.fontSizeFactor:1,$=(e,n,r,d,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(),g=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,!d,a,l,f);{u=W(u,x,d);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;g.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,10 +1,13 @@
|
|
|
1
|
-
import { s as P, d as N, p as W } from "./layers.
|
|
2
|
-
import { g as t, d as H, l as b, e as R, j as T, r as v, u as U } from "./layers.
|
|
1
|
+
import { s as P, d as N, p as W } from "./layers.JnIQDm74.js";
|
|
2
|
+
import { g as t, d as H, l as b, e as R, j as T, r as v, u as U } from "./layers.BbeMJlU4.js";
|
|
3
3
|
import "lodash-es";
|
|
4
4
|
import { l as C } from "./layers.D4T8fTcj.js";
|
|
5
5
|
import { G as F } from "./layers.BJDrjORS.js";
|
|
6
|
-
import "./layers.
|
|
7
|
-
import
|
|
6
|
+
import "./layers.D9B9kI_I.js";
|
|
7
|
+
import "lodash-es/memoize.js";
|
|
8
|
+
import "lodash-es/merge.js";
|
|
9
|
+
import "lodash-es/isEmpty.js";
|
|
10
|
+
import { l as $ } from "./layers.DOfjoqoq.js";
|
|
8
11
|
const O = (e) => e.append("circle").attr("class", "start-state").attr("r", t().state.sizeUnit).attr("cx", t().state.padding + t().state.sizeUnit).attr("cy", t().state.padding + t().state.sizeUnit), X = (e) => e.append("line").style("stroke", "grey").style("stroke-dasharray", "3").attr("x1", t().state.textHeight).attr("class", "divider").attr("x2", t().state.textHeight * 2).attr("y1", 0).attr("y2", 0), J = (e, i) => {
|
|
9
12
|
const o = e.append("text").attr("x", 2 * t().state.padding).attr("y", t().state.textHeight + 2 * t().state.padding).attr("font-size", t().state.fontSize).attr("class", "state-title").text(i.id), c = o.node().getBBox();
|
|
10
13
|
return e.insert("rect", ":first-child").attr("x", t().state.padding).attr("y", t().state.padding).attr("width", c.width + 2 * t().state.padding).attr("height", c.height + 2 * t().state.padding).attr("rx", t().state.radius), o;
|
|
@@ -254,7 +257,7 @@ const z = {}, Q = function() {
|
|
|
254
257
|
}, et = {
|
|
255
258
|
setConf: Q,
|
|
256
259
|
draw: D
|
|
257
|
-
},
|
|
260
|
+
}, ht = {
|
|
258
261
|
parser: W,
|
|
259
262
|
db: N,
|
|
260
263
|
renderer: et,
|
|
@@ -264,5 +267,5 @@ const z = {}, Q = function() {
|
|
|
264
267
|
}
|
|
265
268
|
};
|
|
266
269
|
export {
|
|
267
|
-
|
|
270
|
+
ht as diagram
|
|
268
271
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const a=require("./layers.
|
|
1
|
+
"use strict";const a=require("./layers.B9a8_NYJ.js"),c=require("./layers.Bn-X5mPt.js"),o=(s,t)=>{const e=s.append("rect");if(e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),t.name&&e.attr("name",t.name),t.rx!==void 0&&e.attr("rx",t.rx),t.ry!==void 0&&e.attr("ry",t.ry),t.attrs!==void 0)for(const r in t.attrs)e.attr(r,t.attrs[r]);return t.class!==void 0&&e.attr("class",t.class),e},l=(s,t)=>{const e={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};o(s,e).lower()},d=(s,t)=>{const e=t.text.replace(c.lineBreakRegex," "),r=s.append("text");r.attr("x",t.x),r.attr("y",t.y),r.attr("class","legend"),r.style("text-anchor",t.anchor),t.class!==void 0&&r.attr("class",t.class);const n=r.append("tspan");return n.attr("x",t.x+t.textMargin*2),n.text(e),r},x=(s,t,e,r)=>{const n=s.append("image");n.attr("x",t),n.attr("y",e);const i=a.distExports.sanitizeUrl(r);n.attr("xlink:href",i)},g=(s,t,e,r)=>{const n=s.append("use");n.attr("x",t),n.attr("y",e);const i=a.distExports.sanitizeUrl(r);n.attr("xlink:href",`#${i}`)},h=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),y=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0});exports.drawBackgroundRect=l;exports.drawEmbeddedImage=g;exports.drawImage=x;exports.drawRect=o;exports.drawText=d;exports.getNoteRect=h;exports.getTextObj=y;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),i=require("react"),B=require("@lexical/react/LexicalComposerContext"),P=require("@lexical/react/useLexicalEditable"),Y=require("@lexical/react/useLexicalNodeSelection"),W=require("@lexical/utils"),a=require("lexical"),c=require("./layers.BE2A8-RV.js"),v=require("./layers.B9jCYEPd.js"),F=require("react-i18next"),C=require("@mantine/core"),G=require("@tabler/icons-react");function H({imageContainerRef:n,editor:u,rootClassName:S=null,width:N="inherit",height:h="inherit",nodeKey:e,alignment:E,setModalOpen:d,previewSVG:M}){const O=i.useMemo(()=>M??"",[M]),[f,j]=i.useState(!1),{t:x}=F.useTranslation(),b=(r,m)=>{u.update(()=>{a.$setSelection(null);const g=a.$getNodeByKey(e);return c.$isExcalidrawNode(g)&&g.setWidthAndHeight(r,m),!0})},I=()=>{c.deleteNode(u,e)};return s.jsx(c.ResizableContainer,{editor:u,isIcon:!1,isEmbed:!0,width:c.parseContainerSize(N),height:c.parseContainerSize(h),onResizeEnd:b,alignment:E,children:s.jsxs(C.Box,{className:"media-wrapper excaildraw",children:[s.jsxs("div",{className:"media-actions",children:[s.jsx(C.Tooltip,{label:x("editor.link.edit"),children:s.jsx(C.ActionIcon,{color:"gray","aria-label":"Settings",className:"media-action",variant:"default",size:24,onClick:()=>{d(!0)},children:s.jsx(G.IconEdit,{size:14})})}),s.jsx(c.AlignmentImage,{opened:f,setOpened:j,t:x,editor:u,nodeKey:e}),s.jsx(C.Tooltip,{label:x("editor.actions.delete"),children:s.jsx(C.ActionIcon,{color:"gray","aria-label":"Settings",className:"media-action",variant:"default",size:24,onClick:I,children:s.jsx(c.Icon,{name:"trash",size:"14"})})})]}),s.jsx(C.Box,{w:"100%",ref:r=>{r&&n&&(n.current=r)},className:S??"",dangerouslySetInnerHTML:{__html:O}})]})})}function V({nodeKey:n,data:u,width:S,height:N,alignment:h}){var q;const[e]=B.useLexicalComposerContext(),E=P.useLexicalEditable(),d=i.useMemo(()=>v.parseExcalidrawData(u),[u]),M=((q=d==null?void 0:d.elements)==null?void 0:q.length)===0&&!d.previewSVG,[O,f]=i.useState(M&&e.isEditable()),[j,x]=i.useState(!1),b=i.useRef(null),I=i.useRef(null),r=i.useRef(null),[m,g,R]=Y.useLexicalNodeSelection(n),w=i.useCallback(t=>(m&&(t.preventDefault(),e.update(()=>{const o=a.$getNodeByKey(n);o&&o.remove()})),!1),[e,m,n]);i.useEffect(()=>{if(!E){m&&R();return}return W.mergeRegister(e.registerCommand(a.CLICK_COMMAND,t=>{const o=I.current,p=t.target;return o!==null&&o.contains(p)?(t.shiftKey||R(),g(!m),t.detail>1&&f(!0),!0):!1},a.COMMAND_PRIORITY_LOW),e.registerCommand(a.KEY_DELETE_COMMAND,w,a.COMMAND_PRIORITY_LOW),e.registerCommand(a.KEY_BACKSPACE_COMMAND,w,a.COMMAND_PRIORITY_LOW))},[R,e,m,w,g,E]);const y=i.useCallback(()=>(f(!1),e.update(()=>{const t=a.$getNodeByKey(n);t&&t.remove()})),[e,n]),L=(t,o,p,A)=>e.update(()=>{const D=a.$getNodeByKey(n);c.$isExcalidrawNode(D)&&(t&&t.length>0||Object.keys(p).length>0?D.setData(JSON.stringify({appState:o,elements:t,files:p,previewSVG:A})):D.remove())}),{elements:l=[],files:k={},appState:T={},previewSVG:$}=d,_=i.useCallback(()=>{f(!1),x(!1),r.current=!1,(l==null?void 0:l.length)===0&&e.update(()=>{const t=a.$getNodeByKey(n);t&&t.remove()})},[e,n,l==null?void 0:l.length]),z=i.useCallback(()=>{r.current?x(!0):_()},[]);return s.jsxs(s.Fragment,{children:[s.jsx(v.ConfirmModal,{isCloseModal:j,confirmClose:_,setCloseModalOpen:x}),s.jsx(v.ExcalidrawModal,{initialElements:l,isEdited:r,initialFiles:k,initialAppState:T,isShown:O,onDelete:y,onClose:z,onSave:(t,o,p,A)=>{L(t,o,p,A),f(!1)},closeOnClickOutside:!1}),(l==null?void 0:l.length)&&s.jsx("div",{style:{display:"flex",justifyContent:h},children:s.jsx(H,{imageContainerRef:b,className:"image",width:S,height:N,editor:e,nodeKey:n,alignment:h,setModalOpen:f,previewSVG:$})})]})}exports.default=V;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { w as ln, c as H } from "./layers.DLwuMfdd.js";
|
|
2
|
-
import { B as rn, D as M, E as D, F as an, G as y, H as on, I as j, J as _, K as un, L as t, M as sn, N as tn, O as fn } from "./layers.
|
|
2
|
+
import { B as rn, D as M, E as D, F as an, G as y, H as on, I as j, J as _, K as un, L as t, M as sn, N as tn, O as fn } from "./layers.BbeMJlU4.js";
|
|
3
3
|
function cn(l) {
|
|
4
4
|
return l.innerRadius;
|
|
5
5
|
}
|
|
@@ -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.B9a8_NYJ.js");var u={paste:"Вставити",pasteAsPlaintext:"Вставити як простий текст",pasteCharts:"Вставити діаграми",selectAll:"Вибрати все",multiSelect:"Додати елемент до вибраного",moveCanvas:"Перемістити полотно",cut:"Вирізати",copy:"Копіювати",copyAsPng:"Копіювати як PNG",copyAsSvg:"Копіювати як SVG",copyText:"Копіювати в буфер обміну як текст",copySource:"",convertToCode:"",bringForward:"Перемістити вперед",sendToBack:"На задній план",bringToFront:"На передній план",sendBackward:"Перемістити назад",delete:"Видалити",copyStyles:"Копіювати стилі",pasteStyles:"Вставити стилі",stroke:"Контур",background:"Тло",fill:"Заповнити",strokeWidth:"Товщина контуру",strokeStyle:"Стиль контуру",strokeStyle_solid:"Суцільний",strokeStyle_dashed:"Пунктир",strokeStyle_dotted:"Крапки",sloppiness:"Охайність",opacity:"Прозорість",textAlign:"Вирівнювання тексту",edges:"Краї",sharp:"Гострі",round:"Круглі",arrowheads:"Закінчення стрілки",arrowhead_none:"Жоден",arrowhead_arrow:"Стрілка",arrowhead_bar:"Колона",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Трикутник",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Розмір шрифту",fontFamily:"Шрифт",addWatermark:"Додати «Накреслене в Excalidraw»",handDrawn:"Ручний апарат",normal:"Звичайний",code:"Код",small:"Малий",medium:"Середній",large:"Великий",veryLarge:"Дуже великий",solid:"Суцільна",hachure:"Штриховка",zigzag:"Зиґзаґ",crossHatch:"Перехресна штриховка",thin:"Тонкий",bold:"Жирний",left:"Зліва",center:"По центру",right:"Справа",extraBold:"Товстий",architect:"Архітектор",artist:"Художник",cartoonist:"Карикатурист",fileTitle:"Назва файла",colorPicker:"Палітра кольорів",canvasColors:"Використовується на полотні",canvasBackground:"Тло полотна",drawingCanvas:"Полотно",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:"Виберіть елемент на полотні, щоб додати його сюди."},D={clearReset:"Очистити полотно",exportJSON:"Експорт у файл",exportImage:"Експорт зображення...",export:"Зберегти як...",copyToClipboard:"Скопіювати до буферу обміну",save:"Зберегти до поточного файлу",saveAs:"Зберегти як",load:"Відкрити",getShareableLink:"Отримати посилання",close:"Закрити",selectLanguage:"Обрати мову",scrollBackToContent:"Повернутися до вмісту",zoomIn:"Збільшити",zoomOut:"Зменшити",resetZoom:"Скинути масштаб",menu:"Меню",done:"Готово",edit:"Редагувати",undo:"Відмінити",redo:"Повторити",resetLibrary:"Очистити бібліотеку",createNewRoom:"Створити нову кімнату",fullScreen:"Повноекранний режим",darkMode:"Темна тема",lightMode:"Світла тема",zenMode:"Режим Дзен",objectsSnapMode:"",exitZenMode:"Вийти з дзен-режиму",cancel:"Скасувати",clear:"Очистити",remove:"Видалити",embed:"Перемкнути вкладення",publishLibrary:"Опублікувати",submit:"Надіслати",confirm:"Підтвердити",embeddableInteractionButton:"Натисніть для взаємодії"},e={clearReset:"Це очистить все полотно. Впевнені?",couldNotCreateShareableLink:"Не вдалося створити посилання.",couldNotCreateShareableLinkTooBig:"Не вдалося створити посилання для обміну: сцена занадто велика",couldNotLoadInvalidFile:"Файл з помилками не відкрився",importBackendFailed:"Імпортування невдале.",cannotExportEmptyCanvas:"Не вийшло експортувати пусте полотно.",couldNotCopyToClipboard:"Не вдалося скопіювати до буфера обміну.",decryptFailed:"Не вдалося розшифрувати дані.",uploadedSecurly:"Це завантаження було захищене наскрізним шифруванням, а це означає що сервер Excalidraw та інші не зможуть прочитати вміст.",loadSceneOverridePrompt:"Завантаження зовнішнього креслення замінить ваш наявний контент. Продовжити?",collabStopOverridePrompt:`Зупинка сесії перезапише ваш попередній, локально збережений малюнок. Ви впевнені?
|
|
2
2
|
|
|
3
3
|
(Якщо ви хочете зберегти локальний малюнок, просто закрийте замість нього вкладку браузера.)`,errorAddingToLibrary:"Не вдалося додати елемент до бібліотеки",errorRemovingFromLibrary:"Не вдалося видалити елемент з бібліотеки",confirmAddLibrary:"Це призведе до додавання {{numShapes}} фігур до вашої бібліотеки. Ви впевнені?",imageDoesNotContainScene:"Виглядає ніби зображення не містить корисної інформації. Ви увімкнули вбудовування сцени при експорті?",cannotRestoreFromImage:"Сцена не може бути відновлена з цього файлу зображення",invalidSceneUrl:"Не вдалося імпортувати сцену з наданого URL. Він або недоформований, або не містить дійсних даних Excalidraw JSON.",resetLibrary:"Це призведе до очищення бібліотеки. Ви впевнені?",removeItemsFromsLibrary:"Видалити {{count}} елемент(ів) з бібліотеки?",invalidEncryptionKey:"Ключ шифрування повинен бути довжиною до 22 символів. Спільну роботу вимкнено.",collabOfflineWarning:`Немає підключення до Інтернету.
|
|
4
4
|
Ваші зміни не будуть збережені!`},F={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>запит на розв'язання проблеми</issueLink> на нашому GitHub або напишіть нам у <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"Вбудовані елементи не можна додати в бібліотеку.",iframe:"",image:"Підтримка додавання зображень в бібліотеку найближчим часом!"},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},r={selection:"Виділення",image:"Вставити зображення",rectangle:"Прямокутник",diamond:"Ромб",ellipse:"Еліпс",arrow:"Стрілка",line:"Лінія",freedraw:"Малювати",text:"Текст",library:"Бібліотека",lock:"Залишити обраний інструмент після креслення",penMode:"Режим пера - запобігання дотику",link:"Додати/Оновити посилання для вибраної форми",eraser:"Очищувач",frame:"Інструмент фрейму",magicframe:"",embeddable:"Веб вкладення",laser:"",hand:"Рука (інструмент для панорамування)",extraTools:"Інші інструменти",mermaidToExcalidraw:"",magicSettings:""},o={canvasActions:"Дії з полотном",selectedShapeActions:"Вибрані дії з фігурою",shapes:"Фігури"},t={canvasPanning:"Щоб перемістити полотно, утримуйте коліщатко миші або пробіл під час перетягування, або скористайтеся інструментом Рука",linearElement:"Натисніть щоб додати кілька точок. Перетягніть щоб намалювати одну лінію",freeDraw:"Натисніть і потягніть, відпустіть коли завершите",text:"Порада: можна також додати текст, двічі клацнувши по будь-якому місці інструментом вибору",embeddable:"Клікніть та перетягніть для створення вбудованого вебсайту",text_selected:"Подвійний клік або натисніть клавішу ENTER, щоб редагувати текст",text_editing:"Натисніть клавішу Escape або Ctrl/Cmd+ENTER, щоб завершити редагування",linearElementMulti:"Натисніть на останню точку, клацніть Esc або Enter щоб завершити",lockAngle:"Ви можете обмежити кут, утримуюючи SHIFT",resize:`Ви можете зберегти пропорції, утримуючи SHIFT під час зміни розміру,
|