@layers-app/editor 0.3.10 → 0.3.11
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.js +6 -6
- package/dist/{layers.aWv9gYR0.js → layers.BnjxHNDK.js} +85 -85
- package/dist/{layers.CIe6IWwR.js → layers.C125HTat.js} +1 -1
- package/dist/layers.Cjs5EBWM.js +343 -0
- package/dist/{layers.BCi5-29W.js → layers.DPccTctI.js} +17 -17
- package/dist/layers.DZ8DrrVn.js +53491 -0
- package/dist/layers.QVaGPbs3.js +161 -0
- package/dist/{layers.B1OkrScy.js → layers.VK3NB7Nd.js} +1 -1
- package/dist/{layers.CXdHS8ME.js → layers.YZkXZvVS.js} +10897 -11432
- package/package.json +15 -22
- package/dist/layers.0O-HO6IA.js +0 -42
- package/dist/layers.0ONhG6ew.js +0 -1283
- package/dist/layers.1g-B3F0-.js +0 -10
- package/dist/layers.2UOO6NPF.js +0 -1
- package/dist/layers.4YQUM2o7.js +0 -32
- package/dist/layers.4nj6Lu4f.js +0 -21938
- package/dist/layers.52famHy6.js +0 -1
- package/dist/layers.5I_IaZtB.js +0 -32
- package/dist/layers.5zC40cdV.js +0 -4
- package/dist/layers.7JqFgE4-.js +0 -15
- package/dist/layers.8fJJJO7B.js +0 -425
- package/dist/layers.9QK1wiQj.js +0 -1
- package/dist/layers.9YzbhWId.js +0 -21763
- package/dist/layers.9pNaFvaX.js +0 -1
- package/dist/layers.9tDhGbsk.js +0 -1
- package/dist/layers.AjgD53rQ.js +0 -1
- package/dist/layers.B-qy_g4-.js +0 -13
- package/dist/layers.B19hGmey.js +0 -1
- package/dist/layers.B1ni4mxG.js +0 -36
- package/dist/layers.B2AGu32C.js +0 -11692
- package/dist/layers.B2t-s3Lr.js +0 -6
- package/dist/layers.B3D4g2HH.js +0 -1
- package/dist/layers.B3YugRxw.js +0 -793
- package/dist/layers.B47MBsc7.js +0 -118
- package/dist/layers.B5hfyctM.js +0 -8
- package/dist/layers.B63KPCAA.js +0 -9
- package/dist/layers.B8PWivoQ.js +0 -40
- package/dist/layers.BAdPyX9t.js +0 -7
- package/dist/layers.BAm8tKx8.js +0 -40
- package/dist/layers.BAtv1CM7.js +0 -1
- package/dist/layers.BCZU7qmb.js +0 -11
- package/dist/layers.BG2XT6bu.js +0 -39
- package/dist/layers.BG2lFV8Q.js +0 -161
- package/dist/layers.BGByoe0m.js +0 -37
- package/dist/layers.BHYgMpdU.js +0 -2
- package/dist/layers.BIeVwYKL.js +0 -1
- package/dist/layers.BKQ2-TA6.js +0 -35
- package/dist/layers.BL7yj6jI.js +0 -42
- package/dist/layers.BLBW8FvN.js +0 -36
- package/dist/layers.BLBrBUT9.js +0 -257
- package/dist/layers.BLiY1HIQ.js +0 -2
- package/dist/layers.BMHNM70S.js +0 -802
- package/dist/layers.BMlAGxNa.js +0 -1
- package/dist/layers.BMmPJdA-.js +0 -139
- package/dist/layers.BRhYJnwf.js +0 -34
- package/dist/layers.BSSwgQP4.js +0 -14
- package/dist/layers.BSTBZrFn.js +0 -1
- package/dist/layers.BSmyi-2W.js +0 -2479
- package/dist/layers.BVgbqt8Z.js +0 -8
- package/dist/layers.BY3vgRLa.js +0 -1619
- package/dist/layers.BZ4fzqMZ.js +0 -44
- package/dist/layers.BZGWH3Cr.js +0 -6
- package/dist/layers.Ba1QnqD6.js +0 -268
- package/dist/layers.BamW7DBf.js +0 -39
- package/dist/layers.BbCfEXyj.js +0 -55
- package/dist/layers.BcuKH1X9.js +0 -11
- package/dist/layers.BdtKVDwG.js +0 -202
- package/dist/layers.Bf086Zg-.js +0 -11
- package/dist/layers.BgOa2ZQq.js +0 -7
- package/dist/layers.BgSFSWxA.js +0 -1
- package/dist/layers.BgU5v1oL.js +0 -39
- package/dist/layers.BgV4j9Nb.js +0 -40
- package/dist/layers.BhFtwnU6.js +0 -1
- package/dist/layers.Bhlh_Lb0.js +0 -423
- package/dist/layers.BiJ8hfRt.js +0 -1510
- package/dist/layers.Bjz6Sxuh.js +0 -61
- package/dist/layers.BoSwtXdp.js +0 -36
- package/dist/layers.BpilXLfW.js +0 -6
- package/dist/layers.Bq3fSgMC.js +0 -1
- package/dist/layers.BqYF5Wn-.js +0 -8
- package/dist/layers.BrNer6r9.js +0 -9
- package/dist/layers.Bs-tmR42.js +0 -1
- package/dist/layers.Bsy26Dgb.js +0 -9
- package/dist/layers.Bsyoxmr3.js +0 -38
- package/dist/layers.Bw3IwJS4.js +0 -931
- package/dist/layers.BwCHjgy_.js +0 -52
- package/dist/layers.BwQO9dS8.js +0 -65
- package/dist/layers.Bw_mvLXS.js +0 -2235
- package/dist/layers.BxljeGSf.js +0 -2966
- package/dist/layers.BxtXwRBq.js +0 -42
- package/dist/layers.ByLBhn1N.js +0 -84
- package/dist/layers.Bysth3Gx.js +0 -33
- package/dist/layers.BzEvPu_n.js +0 -9
- package/dist/layers.C0zcnhpp.js +0 -37
- package/dist/layers.C1KJbm2d.js +0 -10
- package/dist/layers.C2B7YCnj.js +0 -7
- package/dist/layers.C2m4apzR.js +0 -39
- package/dist/layers.C37MKWId.js +0 -10
- package/dist/layers.C55wllfV.js +0 -9148
- package/dist/layers.C5RBh30O.js +0 -1
- package/dist/layers.C6_vCH6p.js +0 -1
- package/dist/layers.C7lIplJU.js +0 -247
- package/dist/layers.C8_lu5UH.js +0 -23
- package/dist/layers.C8r8J3P2.js +0 -139
- package/dist/layers.C9H7Y0FE.js +0 -10
- package/dist/layers.CEYmizt4.js +0 -38
- package/dist/layers.CFnyQPRT.js +0 -39
- package/dist/layers.CFoUxBD9.js +0 -36
- package/dist/layers.CH0Y8svW.js +0 -9
- package/dist/layers.CHZsXQcr.js +0 -1
- package/dist/layers.CHm7GEXp.js +0 -1
- package/dist/layers.CJompNyf.js +0 -282
- package/dist/layers.CKRpzRNC.js +0 -41
- package/dist/layers.CL7Vtav2.js +0 -1126
- package/dist/layers.CMb7-d7c.js +0 -320
- package/dist/layers.COAF7f8g.js +0 -1
- package/dist/layers.CRMGGzG_.js +0 -1
- package/dist/layers.CTnykjar.js +0 -7
- package/dist/layers.CUp4CMxi.js +0 -1
- package/dist/layers.CY7AkIEG.js +0 -96
- package/dist/layers.C__Q8WfO.js +0 -42
- package/dist/layers.C_k7A3Mz.js +0 -4
- package/dist/layers.CbHImeup.js +0 -501
- package/dist/layers.CcruShdv.js +0 -9
- package/dist/layers.CeuSQNzd.js +0 -39
- package/dist/layers.CftGMfFK.js +0 -1
- package/dist/layers.CgP9of2S.js +0 -41
- package/dist/layers.Ck51CP9N.js +0 -70
- package/dist/layers.CkdiwuzV.js +0 -39
- package/dist/layers.CngXbKrP.js +0 -6
- package/dist/layers.CoqLozCl.js +0 -1
- package/dist/layers.CpxqY-jd.js +0 -6
- package/dist/layers.CqNmSCMj.js +0 -19
- package/dist/layers.CqVTtuYm.js +0 -6
- package/dist/layers.CrF5v5NG.js +0 -38
- package/dist/layers.CrQXROLL.js +0 -5
- package/dist/layers.CrtDarq7.js +0 -32
- package/dist/layers.Cs24L6er.js +0 -261
- package/dist/layers.CsRSoujK.js +0 -207
- package/dist/layers.Ct5A2AuM.js +0 -51
- package/dist/layers.CtQab1jh.js +0 -10
- package/dist/layers.CuECE6wg.js +0 -5
- package/dist/layers.Cud1By9I.js +0 -1
- package/dist/layers.CuuUIwmp.js +0 -1
- package/dist/layers.CwisDuwP.js +0 -33
- package/dist/layers.CyR9faht.js +0 -10
- package/dist/layers.D-WddaLv.js +0 -5
- package/dist/layers.D-zqjapg.js +0 -7
- package/dist/layers.D0LDNQ9o.js +0 -1359
- package/dist/layers.D0zn4_Mx.js +0 -1
- package/dist/layers.D1LKQvHR.js +0 -8
- package/dist/layers.D2NzxX2a.js +0 -7
- package/dist/layers.D325bOwU.js +0 -41
- package/dist/layers.D3r6Uv1D.js +0 -40
- package/dist/layers.D4fGb2cV.js +0 -1272
- package/dist/layers.D6dtx0Il.js +0 -32
- package/dist/layers.D7jGxypv.js +0 -8
- package/dist/layers.DALQQ8Jh.js +0 -960
- package/dist/layers.DAq8zxBu.js +0 -10
- package/dist/layers.DC5byRJg.js +0 -3
- package/dist/layers.DCQ4LYm3.js +0 -48146
- package/dist/layers.DCrCZ4Iw.js +0 -220
- package/dist/layers.DE9KqC57.js +0 -10
- package/dist/layers.DEZqmeoy.js +0 -4
- package/dist/layers.DF0CR_A4.js +0 -1265
- package/dist/layers.DG0jm2Nx.js +0 -40
- package/dist/layers.DH8m0bpe.js +0 -40
- package/dist/layers.DKaByMlh.js +0 -40
- package/dist/layers.DLJXsUyO.js +0 -59
- package/dist/layers.DLwuMfdd.js +0 -84
- package/dist/layers.DMkBISW1.js +0 -1
- package/dist/layers.DMqAEBD9.js +0 -8
- package/dist/layers.DN9HoVxI.js +0 -18
- package/dist/layers.DOeTmzDz.js +0 -41
- package/dist/layers.DOrgOHBr.js +0 -1
- package/dist/layers.DRTDeNDp.js +0 -9
- package/dist/layers.DS0zmYTv.js +0 -790
- package/dist/layers.DSpBzg-g.js +0 -39
- package/dist/layers.DT9K5vqK.js +0 -9
- package/dist/layers.DU4R3b7-.js +0 -373
- package/dist/layers.DUUGwrsX.js +0 -9
- package/dist/layers.DUeoP9C_.js +0 -35
- package/dist/layers.DV_nYDft.js +0 -8
- package/dist/layers.DWRS8OMs.js +0 -5
- package/dist/layers.DY-LYN9J.js +0 -1
- package/dist/layers.DZi_xtue.js +0 -8
- package/dist/layers.D_Gt3BTM.js +0 -803
- package/dist/layers.D_IV_Isr.js +0 -10
- package/dist/layers.D_ueJnG9.js +0 -4
- package/dist/layers.DaI9YYuA.js +0 -35
- package/dist/layers.DbaKVP5e.js +0 -1
- package/dist/layers.Dct-KMDd.js +0 -7
- package/dist/layers.DctVUFXU.js +0 -7
- package/dist/layers.DelKGHRg.js +0 -10
- package/dist/layers.DenbWMKi.js +0 -6
- package/dist/layers.Dhv7yWkp.js +0 -40
- package/dist/layers.DjUOC4st.js +0 -16
- package/dist/layers.DkUmi55f.js +0 -230
- package/dist/layers.Dng9-1hf.js +0 -1
- package/dist/layers.DqiivndF.js +0 -84
- package/dist/layers.Dr9YWgvN.js +0 -5
- package/dist/layers.DrWX1ycB.js +0 -11
- package/dist/layers.Ds4pa4-Y.js +0 -37
- package/dist/layers.Due5h_RY.js +0 -186
- package/dist/layers.DvIm8rgw.js +0 -769
- package/dist/layers.DxA6ocdw.js +0 -70
- package/dist/layers.DxyLWJqF.js +0 -6
- package/dist/layers.Dy1naDTQ.js +0 -14
- package/dist/layers.DyC-LKRA.js +0 -8
- package/dist/layers.DytGTqf8.js +0 -1088
- package/dist/layers.FQ_E02QW.js +0 -37
- package/dist/layers.FTHV-Y5l.js +0 -41
- package/dist/layers.GlCiDO9w.js +0 -1089
- package/dist/layers.JWCLFILJ.js +0 -1
- package/dist/layers.KEj1ospI.js +0 -1580
- package/dist/layers.KiDruC_P.js +0 -8
- package/dist/layers.Lizv1OMz.js +0 -1
- package/dist/layers.MlHvpwem.js +0 -40
- package/dist/layers.Mm28Q5GR.js +0 -904
- package/dist/layers.QA_0DDl0.js +0 -32
- package/dist/layers.RKQb3yWw.js +0 -40
- package/dist/layers.Rt0GeQX8.js +0 -8
- package/dist/layers.Th8DM3Nm.js +0 -32
- package/dist/layers.VUfdRL5t.js +0 -42
- package/dist/layers.WE4L5H9a.js +0 -7
- package/dist/layers.Wxscoddr.js +0 -1
- package/dist/layers.X3AnuPZA.js +0 -116
- package/dist/layers._VrzPGNk.js +0 -160
- package/dist/layers.b0h5ZBmD.js +0 -61
- package/dist/layers.bxJG2pW0.js +0 -11
- package/dist/layers.cO9a_CSG.js +0 -1034
- package/dist/layers.dE-Zsmej.js +0 -41
- package/dist/layers.f35vZvjY.js +0 -9
- package/dist/layers.hifDeB_3.js +0 -122
- package/dist/layers.ib97KSUu.js +0 -41
- package/dist/layers.lCpg7dOn.js +0 -21
- package/dist/layers.n5GYoY3M.js +0 -1
- package/dist/layers.noKqP2-f.js +0 -41
- package/dist/layers.p6FtxLKx.js +0 -39
- package/dist/layers.wSwlPOh0.js +0 -2
- package/dist/layers.z1Zi6yTK.js +0 -437
package/dist/layers.DSpBzg-g.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import "./layers.9YzbhWId.js";
|
|
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: "کتابخانه", decreaseFontSize: "کاهش اندازه فونت", increaseFontSize: "افزایش دادن اندازه فونت", unbindText: "بازکردن نوشته", bindText: "بستن نوشته", createContainerFromText: "متن را در یک جایگاه بپیچید", link: { edit: "ویرایش لینک", editEmbed: "", create: "ایجاد پیوند", createEmbed: "", label: "لینک", labelEmbed: "", empty: "" }, lineEditor: { edit: "ویرایش لینک", exit: "خروج از ویرایشگر" }, elementLock: { lock: "قفل", unlock: "باز کردن", lockAll: "قفل همه", unlockAll: "باز کردن قفل همه" }, statusPublished: "منتشر شده", sidebarLock: "باز نگه داشتن سایدبار", selectAllElementsInFrame: "", removeAllElementsFromFrame: "", eyeDropper: "انتخاب رنگ از کرباس", textToDiagram: "", prompt: "" }, C = { noItems: "آیتمی به اینجا اضافه نشده...", hint_emptyLibrary: "یک آیتم روی بوم را برای اضافه شده به اینجا انتخاب کنید، یا یک کتابخانه از مخزن عمومی در بخش پایین را نصب کنید.", hint_emptyPrivateLibrary: "یک آیتم روی بوم را برای اضافه شدن به اینجا انتخاب کنید." }, A = { 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: "" }, F = { clearReset: "این کار کل صفحه را پاک میکند. آیا مطمئنید؟", couldNotCreateShareableLink: "عدم توانایی در ساخت یک لینک قابل اشتراک.", couldNotCreateShareableLinkTooBig: "لینک قابل اشتراک گذاری ایجاد نشد: محتوای صحنه بسیار بزرگ است", couldNotLoadInvalidFile: "عدم توانایی در بازگذاری فایل نامعتبر", importBackendFailed: "بارگیری از پشت صحنه با شکست مواجه شد.", cannotExportEmptyCanvas: "بوم خالی قابل تبدیل نیست.", couldNotCopyToClipboard: "به کلیپ بورد کپی نشد.", decryptFailed: "رمزگشایی داده ها امکان پذیر نیست.", uploadedSecurly: "آپلود با رمزگذاری دو طرفه انجام میشود، به این معنی که سرور Excalidraw و اشخاص ثالث نمی توانند مطالب شما را بخوانند.", loadSceneOverridePrompt: "بارگزاری یک طرح خارجی محتوای فعلی رو از بین میبرد. آیا میخواهید ادامه دهید؟", collabStopOverridePrompt: `با توقف بوم نقاشی، نقشه قبلی و ذخیره شده محلی شما را بازنویسی می کند. مطمئنی؟
|
|
3
|
-
|
|
4
|
-
(اگر می خواهید نقاشی محلی خود را حفظ کنید، به سادگی برگه مرورگر را ببندید.)`, errorAddingToLibrary: "مورد به کتابخانه اضافه نشد", errorRemovingFromLibrary: "مورد از کتابخانه حذف نشد", confirmAddLibrary: "{{numShapes}} از اشکال به کتابخانه شما اضافه خواهد شد. مطمئن هستید؟", imageDoesNotContainScene: "به نظر نمی رسد این تصویر حاوی داده های بوم نقاشی باشد. آیا جاسازی صحنه را در حین خروجی فعال کرده اید?", cannotRestoreFromImage: "صحنه را نمی توان از این فایل تصویری بازیابی کرد", invalidSceneUrl: "بوم نقاشی از آدرس ارائه شده وارد نشد. این یا نادرست است، یا حاوی داده Excalidraw JSON معتبر نیست.", resetLibrary: "ین کار کل صفحه را پاک میکند. آیا مطمئنید?", removeItemsFromsLibrary: "حذف {{count}} آیتم(ها) از کتابخانه?", invalidEncryptionKey: "کلید رمزگذاری باید 22 کاراکتر باشد. همکاری زنده غیرفعال است.", collabOfflineWarning: `اتصال به اینترنت در دسترس نیست.
|
|
5
|
-
تغییرات شما ذخیره نمی شود!` }, e = { unsupportedFileType: "نوع فایل پشتیبانی نشده.", imageInsertError: "عکس ارسال نشد. بعداً دوباره تلاش کنید...", fileTooBig: "فایل خیلی بزرگ است حداکثر اندازه مجاز {{maxSize}}.", svgImageInsertError: "تصویر SVG وارد نشد. نشانه گذاری SVG نامعتبر به نظر می رسد.", failedToFetchImage: "", invalidSVGString: "SVG نادرست.", cannotResolveCollabServer: "به سرور collab متصل نشد. لطفا صفحه را مجددا بارگذاری کنید و دوباره تلاش کنید.", 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: "" }, a = { selection: "گزینش", image: "وارد کردن تصویر", rectangle: "مستطیل", diamond: "لوزی", ellipse: "بیضی", arrow: "پیکان", line: "خط", freedraw: "کشیدن", text: "متن", library: "کتابخانه", lock: "ابزار انتخاب شده را بعد از کشیدن نگه دار", penMode: "حالت قلم - جلوگیری از تماس", link: "افزودن/بهروزرسانی پیوند برای شکل انتخابی", eraser: "پاک کن", frame: "", magicframe: "", embeddable: "", laser: "", hand: "دست (ابزار پانینگ)", extraTools: "ابزارهای بیشتر", mermaidToExcalidraw: "", magicSettings: "" }, r = { canvasActions: "عملیات روی بوم", selectedShapeActions: "عملیات روی شکل انتخاب شده", shapes: "شکلها" }, o = { canvasPanning: "برای حرکت دادن بوم، چرخ ماوس یا فاصله را در حین کشیدن نگه دارید یا از ابزار دستی استفاده کنید", linearElement: "برای چند نقطه کلیک و برای یک خط بکشید", freeDraw: "کلیک کنید و بکشید و وقتی کار تمام شد رها کنید", text: "نکته: با برنامه انتخاب شده شما میتوانید با دوبار کلیک کردن هرکجا میخواید متن اظاف کنید", embeddable: "", text_selected: "دوبار کلیک کنید یا Enter را فشار دهید تا نقاط را ویرایش کنید", text_editing: "Escape یا CtrlOrCmd+ENTER را فشار دهید تا ویرایش تمام شود", linearElementMulti: "روی آخرین نقطه کلیک کنید یا کلید ESC را بزنید یا کلید Enter را بزنید برای اتمام کار", lockAngle: "با نگه داشتن SHIFT هنگام چرخش می توانید زاویه ها را محدود کنید", resize: "می توانید با نگه داشتن SHIFT در هنگام تغییر اندازه، نسبت ها را محدود کنید،ALT را برای تغییر اندازه از مرکز نگه دارید", resizeImage: `با نگه داشتن SHIFT می توانید آزادانه اندازه را تغییر دهید،
|
|
6
|
-
برای تغییر اندازه از مرکز، ALT را نگه دارید`, rotate: "با نگه داشتن SHIFT هنگام چرخش می توانید زاویه ها را محدود کنید", lineEditor_info: "CtrlOrCmd را نگه دارید و دوبار کلیک کنید یا CtrlOrCmd + Enter را فشار دهید تا نقاط را ویرایش کنید.", lineEditor_pointSelected: "برای حذف نقطه Delete برای کپی زدن Ctrl یا Cmd+D را بزنید و یا برای جابجایی بکشید", lineEditor_nothingSelected: `یک نقطه را برای ویرایش انتخاب کنید (SHIFT را برای انتخاب چندگانه نگه دارید)،
|
|
7
|
-
یا Alt را نگه دارید و برای افزودن نقاط جدید کلیک کنید`, placeImage: "برای قرار دادن تصویر کلیک کنید، یا کلیک کنید و بکشید تا اندازه آن به صورت دستی تنظیم شود", publishLibrary: "کتابخانه خود را منتشر کنید", bindTextToElement: "برای افزودن اینتر را بزنید", deepBoxSelect: "CtrlOrCmd را برای انتخاب عمیق و جلوگیری از کشیدن نگه دارید", eraserRevert: "Alt را نگه دارید تا عناصر علامت گذاری شده برای حذف برگردند", firefox_clipboard_write: 'احتمالاً میتوان این ویژگی را با تنظیم پرچم «dom.events.asyncClipboard.clipboardItem» روی «true» فعال کرد. برای تغییر پرچم های مرورگر در فایرفاکس، از صفحه "about:config" دیدن کنید.', disableSnapping: "" }, t = { cannotShowPreview: "پیش نمایش نشان داده نمی شود", canvasTooBig: "بوم نقاشی بسیار بزرگ است.", canvasTooBigTip: "نکته: سعی کنید دورترین عناصر را کمی به همدیگر نزدیک کنید." }, i = { headingMain: "", clearCanvasMessage: "اگر بازنشانی صفحه مشکل را حل نکرد این را امتحان کنید ", clearCanvasCaveat: " این باعث میشود کارهای شما ذخیره نشود ", trackedToSentry: "", openIssueMessage: "", sceneContent: "محتوای صحنه:" }, l = { desc_intro: "می توانید افرادی را به صحنه فعلی خود دعوت کنید تا با شما همکاری کنند.", desc_privacy: "نگران نباشید، این جلسه از رمزگذاری دوطرفه استفاده می کند، پس هر چیزی بکشید خصوصی خواهد ماند. حتی سرور ما نمیتواند ببیند چیزی که شما طراحی میکنید.", button_startSession: "شروع جلسه", button_stopSession: "پایان جلسه", desc_inProgressIntro: "جلسه همکاری آنلاین در حال انجام است.", desc_shareLink: "این لینک را با هر کسی که می خواهید با او همکاری کنید به اشتراک بگذارید:", desc_exitSession: "با پایان دادن جلسه، شما از اتاق حذف میکند، اما می توانید به صورت محلی کار خود را با بوم ادامه دهید. توجه داشته باشید که این مورد بر سایر افراد تأثیر نمی گذارد و همچنان می توانند در نسخه خود همکاری کنند.", shareTitle: "به یک جلسه همکاری زنده در Excalidraw بپیوندید" }, n = { title: "خطا" }, s = { disk_title: "ذخیره در دیسک", disk_details: "داده های صحنه را به فایلی که بعداً می توانید از آن وارد کنید صادر کنید.", disk_button: "ذخیره در فایل", link_title: "لینک قابل اشتراکگذاری", link_details: "خروجی به عنوان یک پیوند فقط خواندنی.", link_button: "خروجی در فایل", excalidrawplus_description: "صحنه را در فضای کاری Excalidraw+ خود ذخیره کنید.", excalidrawplus_button: "خروجی گرفتن", excalidrawplus_exportError: "در حال حاضر نمیتوان به Excalidraw+ صادر کرد..." }, E = { blog: "بلاگ ما را بخوانید", click: "کلیک", deepSelect: "انتخاب عمیق", deepBoxSelect: "انتخاب عمیق در کادر، و جلوگیری از کشیدن", curvedArrow: "فلش خمیده", curvedLine: "منحنی", documentation: "مستندات", doubleClick: "دابل کلیک", drag: "کشیدن", editor: "ویرایشگر", editLineArrowPoints: "نقاط خط/پیکان را ویرایش کنید", editText: "ویرایش متن / افزودن برچسب", github: "اشکالی می بینید؟ گزارش دهید", howto: "راهنمای ما را دنبال کنید", or: "یا", preventBinding: "مانع شدن از چسبیدن فلش ها", tools: "ابزار", shortcuts: "میانبرهای صفحه کلید", textFinish: "پایان ویرایش (ویرایشگر متن)", textNewLine: "افزودن خط جدید (ویرایشگر متن)", title: "راهنما", view: "مشاهده", zoomToFit: "بزرگنمایی برای دیدن تمام آیتم ها", zoomToSelection: "بزرگنمایی قسمت انتخاب شده", toggleElementLock: "قفل/بازکردن انتخاب شده ها", movePageUpDown: "حرکت صفحه به بالا/پایین", movePageLeftRight: "حرکت صفحه به چپ/راست" }, d = { title: "پاک کردن بوم" }, c = { title: "انتشار کتابخانه", itemName: "نام آیتم", authorName: "نام نویسنده", githubUsername: "نام کاربری گیت هاب", twitterUsername: "نام کاربری توییتر", libraryName: "نام کتابخانه", libraryDesc: "توضیحات کتابخانه", website: "تارنما", placeholder: { authorName: "نام یا نام کاربری شما", libraryName: "اسم کتابخانه", libraryDesc: "شرحی از کتابخانه شما برای کمک به مردم برای درک استفاده از آن", githubHandle: "دسته GitHub (اختیاری)، بنابراین می توانید پس از ارسال برای بررسی، کتابخانه را ویرایش کنید", twitterHandle: "نام کاربری توییتر (اختیاری)، بنابراین می دانیم هنگام تبلیغ در توییتر به چه کسی اعتبار دهیم", website: "پیوند به وب سایت شخصی شما یا هر جای دیگر (اختیاری)" }, errors: { required: "لازم", website: "وارد کردن آدرس درست" }, noteDescription: "", noteGuidelines: "", noteLicense: "", noteItems: "هر مورد کتابخانه باید نام خاص خود را داشته باشد تا قابل فیلتر باشد. اقلام کتابخانه زیر شامل خواهد شد:", atleastOneLibItem: "لطفاً حداقل یک مورد از کتابخانه را برای شروع انتخاب کنید", republishWarning: "توجه: برخی از موارد انتخاب شده به عنوان قبلاً منتشر شده/ارسال شده علامت گذاری شده اند. شما فقط باید هنگام بهروزرسانی یک کتابخانه موجود یا ارسال، موارد را دوباره ارسال کنید." }, m = { title: "کتابخانه ارسال شد", content: "تشکر از شما {{authorName}}. کتابخانه شما برای بررسی ارسال شده است. می توانید وضعیت را پیگیری کنید" }, p = { resetLibrary: "تنظیم مجدد کتابخانه", removeItemsFromLib: "موارد انتخاب شده از موارد پسندیده حذف شوند" }, b = { header: "", label: { withBackground: "پس زمینه", onlySelected: "", darkMode: "حالت تیره", embedScene: "", scale: "", padding: "" }, tooltip: { embedScene: "" }, title: { exportToPng: "", exportToSvg: "", copyPngToClipboard: "" }, button: { exportToPng: "PNG", exportToSvg: "SVG", copyPngToClipboard: "کپی در کلیپبورد" } }, g = { tooltip: "شما در یک محیط رمزگزاری شده دو طرفه در حال طراحی هستید پس Excalidraw هرگز طرح های شما را نمیبند.", link: "پست وبلاگ در مورد رمزگذاری سرتاسر در Excalidraw" }, D = { angle: "زاویه", element: "اِلمان", elements: "اِلمان ها", height: "ارتفاع", scene: "صحنه", selected: "انتخاب شده", storage: "حافظه", title: "آمار برای نردها", total: "مجموع", version: "نسخه", versionCopy: "برای کپی کردن کلیک کنید", versionNotAvailable: "نسخه غیرقابل دسترس", width: "عرض" }, h = { addedToLibrary: "به مجموعه اضافه شد", copyStyles: "کپی سبک.", copyToClipboard: "در کلیپبورد کپی شد.", copyToClipboardAsPng: `کپی {{exportSelection}} در کلیپبورد به عنوان PNG
|
|
8
|
-
({{exportColorScheme}})`, fileSaved: "فایل ذخیره شد.", fileSavedToFilename: "ذخیره در {filename}", canvas: "بوم", selection: "انتخاب", pasteAsSingleElement: `از {{shortcut}} برای چسباندن به عنوان یک عنصر استفاده کنید،
|
|
9
|
-
یا در یک ویرایشگر متن موجود جایگذاری کنید`, unableToEmbed: "", unrecognizedLinkFormat: "" }, y = { transparent: "شفاف", black: "سیاه", white: "سفید", red: "قرمز", pink: "صورتی", grape: "یاقوتی", violet: "بنفش", gray: "خاکستری", blue: "آبی", cyan: "فیروزهای", teal: "سبزآبی", green: "سبز", yellow: "زرد", orange: "نارنجی", bronze: "برنزی" }, S = { app: { center_heading: "تمام داده های شما به صورت محلی در مرورگر شما ذخیره می شود.", center_heading_plus: "آیا میخواهید به جای آن به Excalidraw+ بروید؟", menuHint: "خروجی، ترجیحات، زبان ها، ..." }, defaults: { menuHint: "خروجی، ترجیحات، وبیشتر ...", center_heading: "نمودارها .ساخته شده. ساده.", toolbarHint: "ابزاری را انتخاب کنید و نقاشی را شروع کنید!", helpHint: "میانبرها و راهنما" } }, v = { mostUsedCustomColors: "", colors: "رنگها", shades: "جلوهها", hexCode: "کدِ هگز", noShades: "" }, x = { action: { exportToImage: { title: "", button: "", description: "" }, saveToDisk: { title: "ذخیره در دیسک", button: "ذخیره در دیسک", description: "" }, excalidrawPlus: { title: "", button: "", description: "" } }, modal: { loadFromFile: { title: "بارگذاری از فایل", button: "بارگذاری از فایل", description: "" }, shareableLink: { title: "", button: "", description: "" } } }, w = { title: "", button: "", description: "", syntax: "", preview: "پیشنمایش" }, T = { labels: u, library: C, buttons: A, alerts: F, errors: e, toolBar: a, headings: r, hints: o, canvasError: t, errorSplash: i, roomDialog: l, errorDialog: n, exportDialog: s, helpDialog: E, clearCanvasDialog: d, publishDialog: c, publishSuccessDialog: m, confirmDialog: p, imageExportDialog: b, encrypted: g, stats: D, toast: h, colors: y, welcomeScreen: S, colorPicker: v, overwriteConfirm: x, mermaid: w };
|
|
10
|
-
export {
|
|
11
|
-
F as alerts,
|
|
12
|
-
A as buttons,
|
|
13
|
-
t as canvasError,
|
|
14
|
-
d as clearCanvasDialog,
|
|
15
|
-
v as colorPicker,
|
|
16
|
-
y as colors,
|
|
17
|
-
p as confirmDialog,
|
|
18
|
-
T as default,
|
|
19
|
-
g as encrypted,
|
|
20
|
-
n as errorDialog,
|
|
21
|
-
i as errorSplash,
|
|
22
|
-
e as errors,
|
|
23
|
-
s as exportDialog,
|
|
24
|
-
r as headings,
|
|
25
|
-
E as helpDialog,
|
|
26
|
-
o as hints,
|
|
27
|
-
b as imageExportDialog,
|
|
28
|
-
u as labels,
|
|
29
|
-
C as library,
|
|
30
|
-
w as mermaid,
|
|
31
|
-
x as overwriteConfirm,
|
|
32
|
-
c as publishDialog,
|
|
33
|
-
m as publishSuccessDialog,
|
|
34
|
-
l as roomDialog,
|
|
35
|
-
D as stats,
|
|
36
|
-
h as toast,
|
|
37
|
-
a as toolBar,
|
|
38
|
-
S as welcomeScreen
|
|
39
|
-
};
|
package/dist/layers.DT9K5vqK.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./layers.DkUmi55f.js");var e={paste:"Colar",pasteAsPlaintext:"Colar como texto sem formatação",pasteCharts:"Colar gráficos",selectAll:"Selecionar tudo",multiSelect:"Adicionar elemento à seleção",moveCanvas:"Mover tela",cut:"Recortar",copy:"Copiar",copyAsPng:"Copiar para a área de transferência como PNG",copyAsSvg:"Copiar para a área de transferência como SVG",copyText:"Copiar para área de transferência como texto",copySource:"",convertToCode:"",bringForward:"Trazer para a frente",sendToBack:"Enviar para o fundo",bringToFront:"Trazer para o primeiro plano",sendBackward:"Enviar para trás",delete:"Apagar",copyStyles:"Copiar os estilos",pasteStyles:"Colar os estilos",stroke:"Contorno",background:"Fundo",fill:"Preenchimento",strokeWidth:"Espessura do traço",strokeStyle:"Estilo de traço",strokeStyle_solid:"Sólido",strokeStyle_dashed:"Tracejado",strokeStyle_dotted:"Pontilhado",sloppiness:"Precisão do traço",opacity:"Opacidade",textAlign:"Alinhamento do texto",edges:"Arestas",sharp:"Pontudo",round:"Arredondado",arrowheads:"Pontas",arrowhead_none:"Nenhuma",arrowhead_arrow:"Flecha",arrowhead_bar:"Barra",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Triângulo",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Tamanho da fonte",fontFamily:"Família da fonte",addWatermark:'Adicionar "Feito com Excalidraw"',handDrawn:"Manuscrito",normal:"Normal",code:"Código",small:"Pequeno",medium:"Médio",large:"Grande",veryLarge:"Muito grande",solid:"Sólido",hachure:"Hachura",zigzag:"Zigue-zague",crossHatch:"Hachura cruzada",thin:"Fino",bold:"Espesso",left:"Esquerda",center:"Centralizar",right:"Direita",extraBold:"Muito espesso",architect:"Arquiteto",artist:"Artista",cartoonist:"Cartunista",fileTitle:"Nome do arquivo",colorPicker:"Seletor de cores",canvasColors:"Usado na tela",canvasBackground:"Fundo da tela",drawingCanvas:"Tela de desenho",layers:"Camadas",actions:"Ações",language:"Idioma",liveCollaboration:"Colaboração ao vivo...",duplicateSelection:"Duplicar",untitled:"Sem título",name:"Nome",yourName:"Seu nome",madeWithExcalidraw:"Feito com Excalidraw",group:"Agrupar seleção",ungroup:"Desagrupar seleção",collaborators:"Colaboradores",showGrid:"Mostrar grade",addToLibrary:"Adicionar à biblioteca",removeFromLibrary:"Remover da biblioteca",libraryLoadingMessage:"Carregando biblioteca…",libraries:"Procurar bibliotecas",loadingScene:"Carregando cena…",align:"Alinhamento",alignTop:"Alinhar ao topo",alignBottom:"Alinhar embaixo",alignLeft:"Alinhar à esquerda",alignRight:"Alinhar à direita",centerVertically:"Centralizar verticalmente",centerHorizontally:"Centralizar horizontalmente",distributeHorizontally:"Distribuir horizontalmente",distributeVertically:"Distribuir verticalmente",flipHorizontal:"Inverter horizontalmente",flipVertical:"Inverter verticalmente",viewMode:"Modo de visualização",share:"Compartilhar",showStroke:"Exibir seletor de cores do traço",showBackground:"Exibir seletor de cores do fundo",toggleTheme:"Alternar tema",personalLib:"Biblioteca Pessoal",excalidrawLib:"Biblioteca do Excalidraw",decreaseFontSize:"Diminuir o tamanho da fonte",increaseFontSize:"Aumentar o tamanho da fonte",unbindText:"Desvincular texto",bindText:"Vincular texto ao contêiner",createContainerFromText:"Envolver texto em um contêiner",link:{edit:"Editar link",editEmbed:"",create:"Criar link",createEmbed:"",label:"Link",labelEmbed:"",empty:""},lineEditor:{edit:"Editar linha",exit:"Sair do editor de linha"},elementLock:{lock:"Bloquear",unlock:"Desbloquear",lockAll:"Bloquear tudo",unlockAll:"Desbloquear tudo"},statusPublished:"Publicado",sidebarLock:"Manter barra lateral aberta",selectAllElementsInFrame:"Selecionar todos os elementos no quadro",removeAllElementsFromFrame:"Remover todos os elementos do quadro",eyeDropper:"Escolher cor da tela",textToDiagram:"",prompt:""},a={noItems:"Nenhum item adicionado ainda...",hint_emptyLibrary:"Selecione um item na tela para adicioná-lo aqui, ou instale uma biblioteca do repositório público, abaixo.",hint_emptyPrivateLibrary:"Selecione um item na tela para adicioná-lo aqui."},o={clearReset:"Limpar o canvas e redefinir a cor de fundo",exportJSON:"Exportar arquivo",exportImage:"Exportar imagem...",export:"Salvar como...",copyToClipboard:"Copiar para o clipboard",save:"Salvar para o arquivo atual",saveAs:"Salvar como",load:"Abrir",getShareableLink:"Obter um link de compartilhamento",close:"Fechar",selectLanguage:"Selecionar idioma",scrollBackToContent:"Voltar para o conteúdo",zoomIn:"Aumentar zoom",zoomOut:"Diminuir zoom",resetZoom:"Redefinir zoom",menu:"Menu",done:"Concluído",edit:"Editar",undo:"Desfazer",redo:"Refazer",resetLibrary:"Redefinir biblioteca",createNewRoom:"Criar nova sala",fullScreen:"Tela cheia",darkMode:"Modo escuro",lightMode:"Modo claro",zenMode:"Modo Zen",objectsSnapMode:"",exitZenMode:"Sair do modo zen",cancel:"Cancelar",clear:"Limpar",remove:"Remover",embed:"",publishLibrary:"Publicar",submit:"Enviar",confirm:"Confirmar",embeddableInteractionButton:""},r={clearReset:"Isto irá limpar toda a tela. Você tem certeza?",couldNotCreateShareableLink:"Não foi possível criar um link de compartilhamento.",couldNotCreateShareableLinkTooBig:"Não foi possível criar um link compartilhável: a cena é muito grande",couldNotLoadInvalidFile:"Não foi possível carregar o arquivo inválido",importBackendFailed:"A importação do servidor falhou.",cannotExportEmptyCanvas:"Não é possível exportar um canvas vazio.",couldNotCopyToClipboard:"Não foi possível copiar para a área de transferência.",decryptFailed:"Não foi possível descriptografar os dados.",uploadedSecurly:"O upload foi protegido com criptografia de ponta a ponta, o que significa que o servidor do Excalidraw e terceiros não podem ler o conteúdo.",loadSceneOverridePrompt:"Carregar um desenho externo substituirá o seu conteúdo existente. Deseja continuar?",collabStopOverridePrompt:`Ao interromper a sessão, você substituirá seu desenho anterior, armazenado localmente. Você tem certeza?
|
|
2
|
-
|
|
3
|
-
(Se você deseja manter seu desenho local, simplesmente feche a aba do navegador.)`,errorAddingToLibrary:"Não foi possível adicionar o item à biblioteca",errorRemovingFromLibrary:"Não foi possível remover o item da biblioteca",confirmAddLibrary:"Isso adicionará {{numShapes}} forma(s) à sua biblioteca. Tem certeza?",imageDoesNotContainScene:"Esta imagem parece não conter dados de cenas. Você ativou a incorporação da cena durante a exportação?",cannotRestoreFromImage:"Não foi possível restaurar a cena deste arquivo de imagem",invalidSceneUrl:"Não foi possível importar a cena da URL fornecida. Ela está incompleta ou não contém dados JSON válidos do Excalidraw.",resetLibrary:"Isto limpará a sua biblioteca. Você tem certeza?",removeItemsFromsLibrary:"Excluir {{count}} item(ns) da biblioteca?",invalidEncryptionKey:"A chave de encriptação deve ter 22 caracteres. A colaboração ao vivo está desabilitada.",collabOfflineWarning:`Sem conexão com a internet disponível.
|
|
4
|
-
Suas alterações não serão salvas!`},i={unsupportedFileType:"Tipo de arquivo não suportado.",imageInsertError:"Não foi possível inserir imagem. Tente novamente mais tarde...",fileTooBig:"O arquivo é muito grande. O tamanho máximo permitido é {{maxSize}}.",svgImageInsertError:"Não foi possível inserir a imagem SVG. A marcação SVG parece inválida.",failedToFetchImage:"",invalidSVGString:"SVG Inválido.",cannotResolveCollabServer:"Não foi possível conectar-se ao servidor colaborativo. Por favor, recarregue a página e tente novamente.",importLibraryError:"Não foi possível carregar a biblioteca",collabSaveFailed:"Não foi possível salvar no banco de dados do servidor. Se os problemas persistirem, salve o arquivo localmente para garantir que não perca o seu trabalho.",collabSaveFailed_sizeExceeded:"Não foi possível salvar no banco de dados do servidor, a tela parece ser muito grande. Se os problemas persistirem, salve o arquivo localmente para garantir que não perca o seu trabalho.",imageToolNotSupported:"",brave_measure_text_error:{line1:"Parece que você está usando o navegador Brave com a configuração <bold>Bloquear Impressões Digitais</bold> no modo agressivo.",line2:"Isso pode acabar quebrando <bold>Elementos de Texto</bold> em seus desenhos.",line3:"Recomendamos fortemente desativar essa configuração. Você pode acessar o <link>passo a passo</link> sobre como fazer isso.",line4:"Se desativar essa configuração não corrigir a exibição de elementos de texto, por favor abra uma <issueLink>issue</issueLink> em nosso GitHub, ou mande uma mensagem em nosso <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},t={selection:"Seleção",image:"Inserir imagem",rectangle:"Retângulo",diamond:"Losango",ellipse:"Elipse",arrow:"Flecha",line:"Linha",freedraw:"Desenhar",text:"Texto",library:"Biblioteca",lock:"Manter ativa a ferramenta selecionada após desenhar",penMode:"Modo caneta — impede o toque",link:"Adicionar/Atualizar link para uma forma selecionada",eraser:"Borracha",frame:"Ferramenta de quadro",magicframe:"",embeddable:"",laser:"",hand:"Mão (ferramenta de rolagem)",extraTools:"Mais ferramentas",mermaidToExcalidraw:"",magicSettings:""},s={canvasActions:"Ações da tela",selectedShapeActions:"Ações das formas selecionadas",shapes:"Formas"},n={canvasPanning:"Para mover a tela, segure a roda do mouse ou a barra de espaço enquanto arrasta ou use a ferramenta de mão",linearElement:"Clique para iniciar vários pontos, arraste para uma única linha",freeDraw:"Toque e arraste, solte quando terminar",text:"Dica: você também pode adicionar texto clicando duas vezes em qualquer lugar com a ferramenta de seleção",embeddable:"",text_selected:"Clique duplo ou tecle ENTER para editar o texto",text_editing:"Pressione Esc ou Ctrl/Cmd+ENTER para encerrar a edição",linearElementMulti:"Clique no último ponto ou pressione Escape ou Enter para terminar",lockAngle:"Você pode restringir o ângulo segurando o SHIFT",resize:`Você pode restringir proporções segurando SHIFT enquanto redimensiona,
|
|
5
|
-
segure ALT para redimensionar do centro`,resizeImage:`Você pode redimensionar livremente segurando SHIFT,
|
|
6
|
-
segure ALT para redimensionar a partir do centro`,rotate:"Você pode restringir os ângulos segurando SHIFT enquanto gira",lineEditor_info:"Pressione CtrlOuCmd e duplo-clique ou pressione CtrlOuCmd + Enter para editar pontos",lineEditor_pointSelected:`Pressione Delete para remover o(s) ponto(s),
|
|
7
|
-
Ctrl/Cmd+D para duplicar ou arraste para mover`,lineEditor_nothingSelected:"Selecione um ponto para editar (segure SHIFT para selecionar vários) ou segure Alt e clique para adicionar novos pontos",placeImage:"Clique para colocar a imagem, ou clique e arraste para definir manualmente o seu tamanho",publishLibrary:"Publicar sua própria biblioteca",bindTextToElement:"Pressione Enter para adicionar o texto",deepBoxSelect:"Segure Ctrl/Cmd para seleção profunda e para evitar arrastar",eraserRevert:"Segure a tecla Alt para inverter os elementos marcados para exclusão",firefox_clipboard_write:'Esse recurso pode ser ativado configurando a opção "dom.events.asyncClipboard.clipboardItem" como "true". Para alterar os sinalizadores do navegador no Firefox, visite a página "about:config".',disableSnapping:""},l={cannotShowPreview:"Não é possível mostrar pré-visualização",canvasTooBig:"A tela pode ser muito grande.",canvasTooBigTip:"Dica: tente aproximar um pouco os elementos mais distantes."},d={headingMain:"Foi encontrado um erro. Tente <button>recarregar a página.</button>",clearCanvasMessage:"Se recarregar a página não funcionar, tente <button>limpando a tela.</button>",clearCanvasCaveat:" Isso resultará em perda de trabalho ",trackedToSentry:"O erro com o identificador {{eventId}} foi rastreado no nosso sistema.",openIssueMessage:"Fomos muito cautelosos para não incluir suas informações de cena no erro. Se sua cena não for privada, por favor, considere seguir nosso <button>rastreador de bugs.</button> Por favor, inclua informações abaixo, copiando e colando para a issue do GitHub.",sceneContent:"Conteúdo da cena:"},c={desc_intro:"Você pode convidar pessoas para sua cena atual para colaborar com você.",desc_privacy:"Não se preocupe, a sessão usa criptografia de ponta a ponta; portanto, o que você desenhar permanecerá privado. Nem mesmo nosso servidor poderá ver o que você cria.",button_startSession:"Iniciar sessão",button_stopSession:"Parar sessão",desc_inProgressIntro:"A sessão de colaboração ao vivo está agora em andamento.",desc_shareLink:"Compartilhe este link com qualquer pessoa com quem você queira colaborar:",desc_exitSession:"Interrompendo a sessão você irá se desconectar da sala, mas você poderá continuar trabalhando com a cena localmente. Observe que isso não afetará outras pessoas, e elas ainda poderão colaborar em suas versões.",shareTitle:"Participe de uma sessão ao vivo de colaboração no Excalidraw"},m={title:"Erro"},x={disk_title:"Salvar no computador",disk_details:"Exportar os dados da cena para um arquivo que você poderá importar mais tarde.",disk_button:"Salvar em um arquivo",link_title:"Link compartilhável",link_details:"Exportar como link de apenas leitura.",link_button:"Exportar link",excalidrawplus_description:"Salvar a cena na sua área de trabalho Excalidraw+.",excalidrawplus_button:"Exportar",excalidrawplus_exportError:"Não é possível exportar para o Excalidraw+ neste momento..."},u={blog:"Leia o nosso blog",click:"clicar",deepSelect:"Seleção profunda",deepBoxSelect:"Use a seleção profunda dentro da caixa para previnir arrastar",curvedArrow:"Seta curva",curvedLine:"Linha curva",documentation:"Documentação",doubleClick:"clique duplo",drag:"arrastar",editor:"Editor",editLineArrowPoints:"Editar linha/ponta da seta",editText:"Editar texto / adicionar etiqueta",github:"Encontrou algum problema? Nos informe",howto:"Siga nossos guias",or:"ou",preventBinding:"Evitar fixação de seta",tools:"Ferramentas",shortcuts:"Atalhos de teclado",textFinish:"Encerrar edição (editor de texto)",textNewLine:"Adicionar nova linha (editor de texto)",title:"Ajudar",view:"Visualizar",zoomToFit:"Ampliar para encaixar todos os elementos",zoomToSelection:"Ampliar a seleção",toggleElementLock:"Bloquear/desbloquear seleção",movePageUpDown:"Mover a página para cima/baixo",movePageLeftRight:"Mover a página para esquerda/direita"},p={title:"Limpar a tela"},E={title:"Publicar biblioteca",itemName:"Nome do item",authorName:"Nome do autor",githubUsername:"Nome de usuário do GitHub",twitterUsername:"Nome de usuário do Twitter",libraryName:"Nome da Biblioteca",libraryDesc:"Descrição da biblioteca",website:"Site",placeholder:{authorName:"Seu nome ou nome de usuário",libraryName:"Nome da sua biblioteca",libraryDesc:"Descrição para ajudar as pessoas a entenderem o uso da sua da sua biblioteca",githubHandle:"Identificador do GitHub (opcional), para que você possa editar a biblioteca depois de enviar para revisão",twitterHandle:"Nome de usuário do Twitter (opcional), para que saibamos quem deve ser creditado se promovermos no Twitter",website:"Link para o seu site pessoal ou outro lugar (opcional)"},errors:{required:"Obrigatório",website:"Informe uma URL válida"},noteDescription:"Envie sua biblioteca para ser incluída no <link>repositório de biblioteca pública</link>para outras pessoas usarem em seus desenhos.",noteGuidelines:"A biblioteca precisa ser aprovada manualmente primeiro. Por favor leia o <link>orientações</link> antes de enviar. Você precisará de uma conta do GitHub para se comunicar e fazer alterações quando solicitado, mas não é estritamente necessário.",noteLicense:"Ao enviar, você concorda que a biblioteca será publicada sob a <link>Licença MIT, </link>o que, em suma, significa que qualquer pessoa pode utilizá-los sem restrições.",noteItems:"Cada item da biblioteca deve ter seu próprio nome para que seja filtrável. Os seguintes itens da biblioteca serão incluídos:",atleastOneLibItem:"Por favor, selecione pelo menos um item da biblioteca para começar",republishWarning:"Nota: alguns dos itens selecionados estão marcados como já publicado/enviado. Você só deve reenviar itens ao atualizar uma biblioteca existente ou submissão."},b={title:"Biblioteca enviada",content:"Obrigado {{authorName}}. Sua biblioteca foi enviada para análise. Você pode acompanhar o status<link>aqui</link>"},v={resetLibrary:"Redefinir biblioteca",removeItemsFromLib:"Remover itens selecionados da biblioteca"},g={header:"Exportar imagem",label:{withBackground:"Fundo",onlySelected:"Somente selecionados",darkMode:"Modo escuro",embedScene:"Incorporar cena",scale:"Escala",padding:"Margem interna"},tooltip:{embedScene:`Os dados da cena serão salvos no arquivo PNG/SVG exportado para que a cena possa ser restaurada a partir dele.
|
|
8
|
-
Isso aumentará o tamanho do arquivo exportado.`},title:{exportToPng:"Exportar como PNG",exportToSvg:"Exportar como SVG",copyPngToClipboard:"Copiar PNG para área de transferência"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Copiar para a área de transferência"}},h={tooltip:"Seus desenhos são criptografados de ponta a ponta, então os servidores do Excalidraw nunca os verão.",link:"Publicação de blog com criptografia de ponta a ponta no Excalidraw"},f={angle:"Ângulo",element:"Elemento",elements:"Elementos",height:"Altura",scene:"Cena",selected:"Selecionado",storage:"Armazenamento",title:"Estatísticas para nerds",total:"Total",version:"Versão",versionCopy:"Clique para copiar",versionNotAvailable:"Versão não disponível",width:"Largura"},S={addedToLibrary:"Adicionado à biblioteca",copyStyles:"Estilos copiados.",copyToClipboard:"Copiado para área de transferência.",copyToClipboardAsPng:"{{exportSelection}} copiado para a área de transferência como PNG ({{exportColorScheme}})",fileSaved:"Arquivo salvo.",fileSavedToFilename:"Salvo em {filename}",canvas:"tela",selection:"seleção",pasteAsSingleElement:`Use {{shortcut}} para colar como um único elemento,
|
|
9
|
-
ou cole em um editor de texto já existente`,unableToEmbed:"",unrecognizedLinkFormat:""},A={transparent:"Transparente",black:"Preto",white:"Branco",red:"Vermelho",pink:"Rosa",grape:"Uva",violet:"Violeta",gray:"Cinza",blue:"Azul",cyan:"Ciano",teal:"Verde-azulado",green:"Verde",yellow:"Amarelo",orange:"Laranja",bronze:"Bronze"},C={app:{center_heading:"Todos os dados são salvos localmente no seu navegador.",center_heading_plus:"Você queria ir para o Excalidraw+ em vez disso?",menuHint:"Exportar, preferências, idiomas..."},defaults:{menuHint:"Exportar, preferências e mais...",center_heading:"Diagramas, Feito. Simples.",toolbarHint:"Escolha uma ferramenta e comece a desenhar!",helpHint:"Atalhos e ajuda"}},F={mostUsedCustomColors:"Cores personalizadas mais usadas",colors:"Cores",shades:"Tons",hexCode:"Código hexadecimal",noShades:"Sem tons disponíveis para essa cor"},q={action:{exportToImage:{title:"Exportar como imagem",button:"Exportar como imagem",description:"Exportar os dados da cena para um arquivo que você poderá importar mais tarde."},saveToDisk:{title:"Salvar no computador",button:"Salvar no computador",description:"Exportar os dados da cena para um arquivo que você poderá importar mais tarde."},excalidrawPlus:{title:"Excalidraw+",button:"Exportar para Excalidraw+",description:"Salvar a cena na sua área de trabalho Excalidraw+."}},modal:{loadFromFile:{title:"Carregar de arquivo",button:"Carregar de arquivo",description:"Carregar de um arquivo irá <bold> substituir o conteúdo existente</bold>.<br></br>Você pode salvar seu desenho primeiro usando uma das opções abaixo."},shareableLink:{title:"Carregar de um link",button:"Substituir meu conteúdo",description:"Carregar um desenho externo irá <bold> substituir seu conteúdo existente</bold>.<br></br>Você pode salvar seu desenho antes utilizando uma das opções abaixo."}}},y={title:"",button:"",description:"",syntax:"",preview:""},T={labels:e,library:a,buttons:o,alerts:r,errors:i,toolBar:t,headings:s,hints:n,canvasError:l,errorSplash:d,roomDialog:c,errorDialog:m,exportDialog:x,helpDialog:u,clearCanvasDialog:p,publishDialog:E,publishSuccessDialog:b,confirmDialog:v,imageExportDialog:g,encrypted:h,stats:f,toast:S,colors:A,welcomeScreen:C,colorPicker:F,overwriteConfirm:q,mermaid:y};exports.alerts=r;exports.buttons=o;exports.canvasError=l;exports.clearCanvasDialog=p;exports.colorPicker=F;exports.colors=A;exports.confirmDialog=v;exports.default=T;exports.encrypted=h;exports.errorDialog=m;exports.errorSplash=d;exports.errors=i;exports.exportDialog=x;exports.headings=s;exports.helpDialog=u;exports.hints=n;exports.imageExportDialog=g;exports.labels=e;exports.library=a;exports.mermaid=y;exports.overwriteConfirm=q;exports.publishDialog=E;exports.publishSuccessDialog=b;exports.roomDialog=c;exports.stats=f;exports.toast=S;exports.toolBar=t;exports.welcomeScreen=C;
|
package/dist/layers.DU4R3b7-.js
DELETED
|
@@ -1,373 +0,0 @@
|
|
|
1
|
-
import * as v from "lodash-es";
|
|
2
|
-
import { l as M } from "./layers.D4fGb2cV.js";
|
|
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.DytGTqf8.js";
|
|
5
|
-
import { l as s, g as T, t as S, d as J } from "./layers.C55wllfV.js";
|
|
6
|
-
import { c as Y } from "./layers.BxljeGSf.js";
|
|
7
|
-
function m(e) {
|
|
8
|
-
var t = {
|
|
9
|
-
options: {
|
|
10
|
-
directed: e.isDirected(),
|
|
11
|
-
multigraph: e.isMultigraph(),
|
|
12
|
-
compound: e.isCompound()
|
|
13
|
-
},
|
|
14
|
-
nodes: Z(e),
|
|
15
|
-
edges: I(e)
|
|
16
|
-
};
|
|
17
|
-
return v.isUndefined(e.graph()) || (t.value = v.clone(e.graph())), t;
|
|
18
|
-
}
|
|
19
|
-
function Z(e) {
|
|
20
|
-
return v.map(e.nodes(), function(t) {
|
|
21
|
-
var n = e.node(t), r = e.parent(t), i = { v: t };
|
|
22
|
-
return v.isUndefined(n) || (i.value = n), v.isUndefined(r) || (i.parent = r), i;
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
function I(e) {
|
|
26
|
-
return v.map(e.edges(), function(t) {
|
|
27
|
-
var n = e.edge(t), r = { v: t.v, w: t.w };
|
|
28
|
-
return v.isUndefined(t.name) || (r.name = t.name), v.isUndefined(n) || (r.value = n), r;
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
let l = {}, g = {}, L = {};
|
|
32
|
-
const tt = () => {
|
|
33
|
-
g = {}, L = {}, l = {};
|
|
34
|
-
}, B = (e, t) => (s.trace("In isDescendant", t, " ", e, " = ", g[t].includes(e)), !!g[t].includes(e)), et = (e, t) => (s.info("Descendants of ", t, " is ", g[t]), s.info("Edge is ", e), e.v === t || e.w === t ? !1 : g[t] ? g[t].includes(e.v) || B(e.v, t) || B(e.w, t) || g[t].includes(e.w) : (s.debug("Tilt, ", t, ",not in descendants"), !1)), R = (e, t, n, r) => {
|
|
35
|
-
s.warn(
|
|
36
|
-
"Copying children of ",
|
|
37
|
-
e,
|
|
38
|
-
"root",
|
|
39
|
-
r,
|
|
40
|
-
"data",
|
|
41
|
-
t.node(e),
|
|
42
|
-
r
|
|
43
|
-
);
|
|
44
|
-
const i = t.children(e) || [];
|
|
45
|
-
e !== r && i.push(e), s.warn("Copying (nodes) clusterId", e, "nodes", i), i.forEach((a) => {
|
|
46
|
-
if (t.children(a).length > 0)
|
|
47
|
-
R(a, t, n, r);
|
|
48
|
-
else {
|
|
49
|
-
const d = t.node(a);
|
|
50
|
-
s.info("cp ", a, " to ", r, " with parent ", e), n.setNode(a, d), r !== t.parent(a) && (s.warn("Setting parent", a, t.parent(a)), n.setParent(a, t.parent(a))), e !== r && a !== e ? (s.debug("Setting parent", a, e), n.setParent(a, e)) : (s.info("In copy ", e, "root", r, "data", t.node(e), r), s.debug(
|
|
51
|
-
"Not Setting parent for node=",
|
|
52
|
-
a,
|
|
53
|
-
"cluster!==rootId",
|
|
54
|
-
e !== r,
|
|
55
|
-
"node!==clusterId",
|
|
56
|
-
a !== e
|
|
57
|
-
));
|
|
58
|
-
const u = t.edges(a);
|
|
59
|
-
s.debug("Copying Edges", u), u.forEach((f) => {
|
|
60
|
-
s.info("Edge", f);
|
|
61
|
-
const h = t.edge(f.v, f.w, f.name);
|
|
62
|
-
s.info("Edge data", h, r);
|
|
63
|
-
try {
|
|
64
|
-
et(f, r) ? (s.info("Copying as ", f.v, f.w, h, f.name), n.setEdge(f.v, f.w, h, f.name), s.info("newGraph edges ", n.edges(), n.edge(n.edges()[0]))) : s.info(
|
|
65
|
-
"Skipping copy of edge ",
|
|
66
|
-
f.v,
|
|
67
|
-
"-->",
|
|
68
|
-
f.w,
|
|
69
|
-
" rootId: ",
|
|
70
|
-
r,
|
|
71
|
-
" clusterId:",
|
|
72
|
-
e
|
|
73
|
-
);
|
|
74
|
-
} catch (w) {
|
|
75
|
-
s.error(w);
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
s.debug("Removing node", a), t.removeNode(a);
|
|
80
|
-
});
|
|
81
|
-
}, P = (e, t) => {
|
|
82
|
-
const n = t.children(e);
|
|
83
|
-
let r = [...n];
|
|
84
|
-
for (const i of n)
|
|
85
|
-
L[i] = e, r = [...r, ...P(i, t)];
|
|
86
|
-
return r;
|
|
87
|
-
}, C = (e, t) => {
|
|
88
|
-
s.trace("Searching", e);
|
|
89
|
-
const n = t.children(e);
|
|
90
|
-
if (s.trace("Searching children of id ", e, n), n.length < 1)
|
|
91
|
-
return s.trace("This is a valid node", e), e;
|
|
92
|
-
for (const r of n) {
|
|
93
|
-
const i = C(r, t);
|
|
94
|
-
if (i)
|
|
95
|
-
return s.trace("Found replacement for", e, " => ", i), i;
|
|
96
|
-
}
|
|
97
|
-
}, X = (e) => !l[e] || !l[e].externalConnections ? e : l[e] ? l[e].id : e, nt = (e, t) => {
|
|
98
|
-
if (!e || t > 10) {
|
|
99
|
-
s.debug("Opting out, no graph ");
|
|
100
|
-
return;
|
|
101
|
-
} else
|
|
102
|
-
s.debug("Opting in, graph ");
|
|
103
|
-
e.nodes().forEach(function(n) {
|
|
104
|
-
e.children(n).length > 0 && (s.warn(
|
|
105
|
-
"Cluster identified",
|
|
106
|
-
n,
|
|
107
|
-
" Replacement id in edges: ",
|
|
108
|
-
C(n, e)
|
|
109
|
-
), g[n] = P(n, e), l[n] = { id: C(n, e), clusterData: e.node(n) });
|
|
110
|
-
}), e.nodes().forEach(function(n) {
|
|
111
|
-
const r = e.children(n), i = e.edges();
|
|
112
|
-
r.length > 0 ? (s.debug("Cluster identified", n, g), i.forEach((a) => {
|
|
113
|
-
if (a.v !== n && a.w !== n) {
|
|
114
|
-
const d = B(a.v, n), u = B(a.w, n);
|
|
115
|
-
d ^ u && (s.warn("Edge: ", a, " leaves cluster ", n), s.warn("Descendants of XXX ", n, ": ", g[n]), l[n].externalConnections = !0);
|
|
116
|
-
}
|
|
117
|
-
})) : s.debug("Not a cluster ", n, g);
|
|
118
|
-
});
|
|
119
|
-
for (let n of Object.keys(l)) {
|
|
120
|
-
const r = l[n].id, i = e.parent(r);
|
|
121
|
-
i !== n && l[i] && !l[i].externalConnections && (l[n].id = i);
|
|
122
|
-
}
|
|
123
|
-
e.edges().forEach(function(n) {
|
|
124
|
-
const r = e.edge(n);
|
|
125
|
-
s.warn("Edge " + n.v + " -> " + n.w + ": " + JSON.stringify(n)), s.warn("Edge " + n.v + " -> " + n.w + ": " + JSON.stringify(e.edge(n)));
|
|
126
|
-
let i = n.v, a = n.w;
|
|
127
|
-
if (s.warn(
|
|
128
|
-
"Fix XXX",
|
|
129
|
-
l,
|
|
130
|
-
"ids:",
|
|
131
|
-
n.v,
|
|
132
|
-
n.w,
|
|
133
|
-
"Translating: ",
|
|
134
|
-
l[n.v],
|
|
135
|
-
" --- ",
|
|
136
|
-
l[n.w]
|
|
137
|
-
), l[n.v] && l[n.w] && l[n.v] === l[n.w]) {
|
|
138
|
-
s.warn("Fixing and trixing link to self - removing XXX", n.v, n.w, n.name), s.warn("Fixing and trixing - removing XXX", n.v, n.w, n.name), i = X(n.v), a = X(n.w), e.removeEdge(n.v, n.w, n.name);
|
|
139
|
-
const d = n.w + "---" + n.v;
|
|
140
|
-
e.setNode(d, {
|
|
141
|
-
domId: d,
|
|
142
|
-
id: d,
|
|
143
|
-
labelStyle: "",
|
|
144
|
-
labelText: r.label,
|
|
145
|
-
padding: 0,
|
|
146
|
-
shape: "labelRect",
|
|
147
|
-
style: ""
|
|
148
|
-
});
|
|
149
|
-
const u = structuredClone(r), f = structuredClone(r);
|
|
150
|
-
u.label = "", u.arrowTypeEnd = "none", f.label = "", u.fromCluster = n.v, f.toCluster = n.v, e.setEdge(i, d, u, n.name + "-cyclic-special"), e.setEdge(d, a, f, n.name + "-cyclic-special");
|
|
151
|
-
} else if (l[n.v] || l[n.w]) {
|
|
152
|
-
if (s.warn("Fixing and trixing - removing XXX", n.v, n.w, n.name), i = X(n.v), a = X(n.w), e.removeEdge(n.v, n.w, n.name), i !== n.v) {
|
|
153
|
-
const d = e.parent(i);
|
|
154
|
-
l[d].externalConnections = !0, r.fromCluster = n.v;
|
|
155
|
-
}
|
|
156
|
-
if (a !== n.w) {
|
|
157
|
-
const d = e.parent(a);
|
|
158
|
-
l[d].externalConnections = !0, r.toCluster = n.w;
|
|
159
|
-
}
|
|
160
|
-
s.warn("Fix Replacing with XXX", i, a, n.name), e.setEdge(i, a, r, n.name);
|
|
161
|
-
}
|
|
162
|
-
}), s.warn("Adjusted Graph", m(e)), k(e, 0), s.trace(l);
|
|
163
|
-
}, k = (e, t) => {
|
|
164
|
-
if (s.warn("extractor - ", t, m(e), e.children("D")), t > 10) {
|
|
165
|
-
s.error("Bailing out");
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
let n = e.nodes(), r = !1;
|
|
169
|
-
for (const i of n) {
|
|
170
|
-
const a = e.children(i);
|
|
171
|
-
r = r || a.length > 0;
|
|
172
|
-
}
|
|
173
|
-
if (!r) {
|
|
174
|
-
s.debug("Done, no node has children", e.nodes());
|
|
175
|
-
return;
|
|
176
|
-
}
|
|
177
|
-
s.debug("Nodes = ", n, t);
|
|
178
|
-
for (const i of n)
|
|
179
|
-
if (s.debug(
|
|
180
|
-
"Extracting node",
|
|
181
|
-
i,
|
|
182
|
-
l,
|
|
183
|
-
l[i] && !l[i].externalConnections,
|
|
184
|
-
!e.parent(i),
|
|
185
|
-
e.node(i),
|
|
186
|
-
e.children("D"),
|
|
187
|
-
" Depth ",
|
|
188
|
-
t
|
|
189
|
-
), !l[i])
|
|
190
|
-
s.debug("Not a cluster", i, t);
|
|
191
|
-
else if (!l[i].externalConnections && // !graph.parent(node) &&
|
|
192
|
-
e.children(i) && e.children(i).length > 0) {
|
|
193
|
-
s.warn(
|
|
194
|
-
"Cluster without external connections, without a parent and with children",
|
|
195
|
-
i,
|
|
196
|
-
t
|
|
197
|
-
);
|
|
198
|
-
let d = e.graph().rankdir === "TB" ? "LR" : "TB";
|
|
199
|
-
l[i] && l[i].clusterData && l[i].clusterData.dir && (d = l[i].clusterData.dir, s.warn("Fixing dir", l[i].clusterData.dir, d));
|
|
200
|
-
const u = new U({
|
|
201
|
-
multigraph: !0,
|
|
202
|
-
compound: !0
|
|
203
|
-
}).setGraph({
|
|
204
|
-
rankdir: d,
|
|
205
|
-
// Todo: set proper spacing
|
|
206
|
-
nodesep: 50,
|
|
207
|
-
ranksep: 50,
|
|
208
|
-
marginx: 8,
|
|
209
|
-
marginy: 8
|
|
210
|
-
}).setDefaultEdgeLabel(function() {
|
|
211
|
-
return {};
|
|
212
|
-
});
|
|
213
|
-
s.warn("Old graph before copy", m(e)), R(i, e, u, i), e.setNode(i, {
|
|
214
|
-
clusterNode: !0,
|
|
215
|
-
id: i,
|
|
216
|
-
clusterData: l[i].clusterData,
|
|
217
|
-
labelText: l[i].labelText,
|
|
218
|
-
graph: u
|
|
219
|
-
}), s.warn("New graph after copy node: (", i, ")", m(u)), s.debug("Old graph after copy", m(e));
|
|
220
|
-
} else
|
|
221
|
-
s.warn(
|
|
222
|
-
"Cluster ** ",
|
|
223
|
-
i,
|
|
224
|
-
" **not meeting the criteria !externalConnections:",
|
|
225
|
-
!l[i].externalConnections,
|
|
226
|
-
" no parent: ",
|
|
227
|
-
!e.parent(i),
|
|
228
|
-
" children ",
|
|
229
|
-
e.children(i) && e.children(i).length > 0,
|
|
230
|
-
e.children("D"),
|
|
231
|
-
t
|
|
232
|
-
), s.debug(l);
|
|
233
|
-
n = e.nodes(), s.warn("New list of nodes", n);
|
|
234
|
-
for (const i of n) {
|
|
235
|
-
const a = e.node(i);
|
|
236
|
-
s.warn(" Now next level", i, a), a.clusterNode && k(a.graph, t + 1);
|
|
237
|
-
}
|
|
238
|
-
}, F = (e, t) => {
|
|
239
|
-
if (t.length === 0)
|
|
240
|
-
return [];
|
|
241
|
-
let n = Object.assign(t);
|
|
242
|
-
return t.forEach((r) => {
|
|
243
|
-
const i = e.children(r), a = F(e, i);
|
|
244
|
-
n = [...n, ...a];
|
|
245
|
-
}), n;
|
|
246
|
-
}, it = (e) => F(e, e.children()), st = (e, t) => {
|
|
247
|
-
s.info("Creating subgraph rect for ", t.id, t);
|
|
248
|
-
const n = T(), r = e.insert("g").attr("class", "cluster" + (t.class ? " " + t.class : "")).attr("id", t.id), i = r.insert("rect", ":first-child"), a = S(n.flowchart.htmlLabels), d = r.insert("g").attr("class", "cluster-label"), u = t.labelType === "markdown" ? Y(d, t.labelText, { style: t.labelStyle, useHtmlLabels: a }) : d.node().appendChild($(t.labelText, t.labelStyle, void 0, !0));
|
|
249
|
-
let f = u.getBBox();
|
|
250
|
-
if (S(n.flowchart.htmlLabels)) {
|
|
251
|
-
const c = u.children[0], o = J(u);
|
|
252
|
-
f = c.getBoundingClientRect(), o.attr("width", f.width), o.attr("height", f.height);
|
|
253
|
-
}
|
|
254
|
-
const h = 0 * t.padding, w = h / 2, x = t.width <= f.width + h ? f.width + h : t.width;
|
|
255
|
-
t.width <= f.width + h ? t.diff = (f.width - t.width) / 2 - t.padding / 2 : t.diff = -t.padding / 2, s.trace("Data ", t, JSON.stringify(t)), i.attr("style", t.style).attr("rx", t.rx).attr("ry", t.ry).attr("x", t.x - x / 2).attr("y", t.y - t.height / 2 - w).attr("width", x).attr("height", t.height + h);
|
|
256
|
-
const { subGraphTitleTopMargin: E } = D(n);
|
|
257
|
-
a ? d.attr(
|
|
258
|
-
"transform",
|
|
259
|
-
// This puts the label on top of the box instead of inside it
|
|
260
|
-
`translate(${t.x - f.width / 2}, ${t.y - t.height / 2 + E})`
|
|
261
|
-
) : d.attr(
|
|
262
|
-
"transform",
|
|
263
|
-
// This puts the label on top of the box instead of inside it
|
|
264
|
-
`translate(${t.x}, ${t.y - t.height / 2 + E})`
|
|
265
|
-
);
|
|
266
|
-
const y = i.node().getBBox();
|
|
267
|
-
return t.width = y.width, t.height = y.height, t.intersect = function(c) {
|
|
268
|
-
return p(t, c);
|
|
269
|
-
}, r;
|
|
270
|
-
}, rt = (e, t) => {
|
|
271
|
-
const n = e.insert("g").attr("class", "note-cluster").attr("id", t.id), r = n.insert("rect", ":first-child"), i = 0 * t.padding, a = i / 2;
|
|
272
|
-
r.attr("rx", t.rx).attr("ry", t.ry).attr("x", t.x - t.width / 2 - a).attr("y", t.y - t.height / 2 - a).attr("width", t.width + i).attr("height", t.height + i).attr("fill", "none");
|
|
273
|
-
const d = r.node().getBBox();
|
|
274
|
-
return t.width = d.width, t.height = d.height, t.intersect = function(u) {
|
|
275
|
-
return p(t, u);
|
|
276
|
-
}, n;
|
|
277
|
-
}, at = (e, t) => {
|
|
278
|
-
const n = T(), r = e.insert("g").attr("class", t.classes).attr("id", t.id), i = r.insert("rect", ":first-child"), a = r.insert("g").attr("class", "cluster-label"), d = r.append("rect"), u = a.node().appendChild($(t.labelText, t.labelStyle, void 0, !0));
|
|
279
|
-
let f = u.getBBox();
|
|
280
|
-
if (S(n.flowchart.htmlLabels)) {
|
|
281
|
-
const c = u.children[0], o = J(u);
|
|
282
|
-
f = c.getBoundingClientRect(), o.attr("width", f.width), o.attr("height", f.height);
|
|
283
|
-
}
|
|
284
|
-
f = u.getBBox();
|
|
285
|
-
const h = 0 * t.padding, w = h / 2, x = t.width <= f.width + t.padding ? f.width + t.padding : t.width;
|
|
286
|
-
t.width <= f.width + t.padding ? t.diff = (f.width + t.padding * 0 - t.width) / 2 : t.diff = -t.padding / 2, i.attr("class", "outer").attr("x", t.x - x / 2 - w).attr("y", t.y - t.height / 2 - w).attr("width", x + h).attr("height", t.height + h), d.attr("class", "inner").attr("x", t.x - x / 2 - w).attr("y", t.y - t.height / 2 - w + f.height - 1).attr("width", x + h).attr("height", t.height + h - f.height - 3);
|
|
287
|
-
const { subGraphTitleTopMargin: E } = D(n);
|
|
288
|
-
a.attr(
|
|
289
|
-
"transform",
|
|
290
|
-
`translate(${t.x - f.width / 2}, ${t.y - t.height / 2 - t.padding / 3 + (S(n.flowchart.htmlLabels) ? 5 : 3) + E})`
|
|
291
|
-
);
|
|
292
|
-
const y = i.node().getBBox();
|
|
293
|
-
return t.height = y.height, t.intersect = function(c) {
|
|
294
|
-
return p(t, c);
|
|
295
|
-
}, r;
|
|
296
|
-
}, ct = (e, t) => {
|
|
297
|
-
const n = e.insert("g").attr("class", t.classes).attr("id", t.id), r = n.insert("rect", ":first-child"), i = 0 * t.padding, a = i / 2;
|
|
298
|
-
r.attr("class", "divider").attr("x", t.x - t.width / 2 - a).attr("y", t.y - t.height / 2).attr("width", t.width + i).attr("height", t.height + i);
|
|
299
|
-
const d = r.node().getBBox();
|
|
300
|
-
return t.width = d.width, t.height = d.height, t.diff = -t.padding / 2, t.intersect = function(u) {
|
|
301
|
-
return p(t, u);
|
|
302
|
-
}, n;
|
|
303
|
-
}, ot = { rect: st, roundedWithTitle: at, noteGroup: rt, divider: ct };
|
|
304
|
-
let G = {};
|
|
305
|
-
const lt = (e, t) => {
|
|
306
|
-
s.trace("Inserting cluster");
|
|
307
|
-
const n = t.shape || "rect";
|
|
308
|
-
G[t.id] = ot[n](e, t);
|
|
309
|
-
}, ft = () => {
|
|
310
|
-
G = {};
|
|
311
|
-
}, j = async (e, t, n, r, i, a) => {
|
|
312
|
-
s.info("Graph in recursive render: XXX", m(t), i);
|
|
313
|
-
const d = t.graph().rankdir;
|
|
314
|
-
s.trace("Dir in recursive render - dir:", d);
|
|
315
|
-
const u = e.insert("g").attr("class", "root");
|
|
316
|
-
t.nodes() ? s.info("Recursive render XXX", t.nodes()) : s.info("No nodes found for", t), t.edges().length > 0 && s.trace("Recursive edges", t.edge(t.edges()[0]));
|
|
317
|
-
const f = u.insert("g").attr("class", "clusters"), h = u.insert("g").attr("class", "edgePaths"), w = u.insert("g").attr("class", "edgeLabels"), x = u.insert("g").attr("class", "nodes");
|
|
318
|
-
await Promise.all(
|
|
319
|
-
t.nodes().map(async function(c) {
|
|
320
|
-
const o = t.node(c);
|
|
321
|
-
if (i !== void 0) {
|
|
322
|
-
const b = JSON.parse(JSON.stringify(i.clusterData));
|
|
323
|
-
s.info("Setting data for cluster XXX (", c, ") ", b, i), t.setNode(i.id, b), t.parent(c) || (s.trace("Setting parent", c, i.id), t.setParent(c, i.id, b));
|
|
324
|
-
}
|
|
325
|
-
if (s.info("(Insert) Node XXX" + c + ": " + JSON.stringify(t.node(c))), o && o.clusterNode) {
|
|
326
|
-
s.info("Cluster identified", c, o.width, t.node(c));
|
|
327
|
-
const b = await j(
|
|
328
|
-
x,
|
|
329
|
-
o.graph,
|
|
330
|
-
n,
|
|
331
|
-
r,
|
|
332
|
-
t.node(c),
|
|
333
|
-
a
|
|
334
|
-
), N = b.elem;
|
|
335
|
-
H(o, N), o.diff = b.diff || 0, s.info("Node bounds (abc123)", c, o, o.width, o.x, o.y), V(N, o), s.warn("Recursive render complete ", N, o);
|
|
336
|
-
} else
|
|
337
|
-
t.children(c).length > 0 ? (s.info("Cluster - the non recursive path XXX", c, o.id, o, t), s.info(C(o.id, t)), l[o.id] = { id: C(o.id, t), node: o }) : (s.info("Node - the non recursive path", c, o.id, o), await _(x, t.node(c), d));
|
|
338
|
-
})
|
|
339
|
-
), t.edges().forEach(function(c) {
|
|
340
|
-
const o = t.edge(c.v, c.w, c.name);
|
|
341
|
-
s.info("Edge " + c.v + " -> " + c.w + ": " + JSON.stringify(c)), s.info("Edge " + c.v + " -> " + c.w + ": ", c, " ", JSON.stringify(t.edge(c))), s.info("Fix", l, "ids:", c.v, c.w, "Translating: ", l[c.v], l[c.w]), W(w, o);
|
|
342
|
-
}), t.edges().forEach(function(c) {
|
|
343
|
-
s.info("Edge " + c.v + " -> " + c.w + ": " + JSON.stringify(c));
|
|
344
|
-
}), s.info("#############################################"), s.info("### Layout ###"), s.info("#############################################"), s.info(t), M(t), s.info("Graph after layout:", m(t));
|
|
345
|
-
let E = 0;
|
|
346
|
-
const { subGraphTitleTotalMargin: y } = D(a);
|
|
347
|
-
return it(t).forEach(function(c) {
|
|
348
|
-
const o = t.node(c);
|
|
349
|
-
s.info("Position " + c + ": " + JSON.stringify(t.node(c))), s.info(
|
|
350
|
-
"Position " + c + ": (" + o.x,
|
|
351
|
-
"," + o.y,
|
|
352
|
-
") width: ",
|
|
353
|
-
o.width,
|
|
354
|
-
" height: ",
|
|
355
|
-
o.height
|
|
356
|
-
), o && o.clusterNode ? (o.y += y, O(o)) : t.children(c).length > 0 ? (o.height += y, lt(f, o), l[o.id].node = o) : (o.y += y / 2, O(o));
|
|
357
|
-
}), t.edges().forEach(function(c) {
|
|
358
|
-
const o = t.edge(c);
|
|
359
|
-
s.info("Edge " + c.v + " -> " + c.w + ": " + JSON.stringify(o), o), o.points.forEach((N) => N.y += y / 2);
|
|
360
|
-
const b = q(h, c, o, l, n, t, r);
|
|
361
|
-
z(o, b);
|
|
362
|
-
}), t.nodes().forEach(function(c) {
|
|
363
|
-
const o = t.node(c);
|
|
364
|
-
s.info(c, o.type, o.diff), o.type === "group" && (E = o.diff);
|
|
365
|
-
}), { elem: u, diff: E };
|
|
366
|
-
}, xt = async (e, t, n, r, i) => {
|
|
367
|
-
A(e, n, r, i), K(), Q(), ft(), tt(), s.warn("Graph at first:", JSON.stringify(m(t))), nt(t), s.warn("Graph after:", JSON.stringify(m(t)));
|
|
368
|
-
const a = T();
|
|
369
|
-
await j(e, t, r, i, void 0, a);
|
|
370
|
-
};
|
|
371
|
-
export {
|
|
372
|
-
xt as r
|
|
373
|
-
};
|
package/dist/layers.DUUGwrsX.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./layers.DkUmi55f.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
|
-
|
|
3
|
-
(Если вы хотите оставить ваш локальный рисунок, просто закройте вкладку браузера)`,errorAddingToLibrary:"Не удалось добавить объект в библиотеку",errorRemovingFromLibrary:"Не удалось удалить объект из библиотеки",confirmAddLibrary:"Будет добавлено {{numShapes}} фигур в вашу библиотеку. Продолжить?",imageDoesNotContainScene:"Это изображение не содержит данных сцены. Вы включили встраивание сцены во время экспорта?",cannotRestoreFromImage:"Сцена не может быть восстановлена из этого изображения",invalidSceneUrl:"Невозможно импортировать сцену с предоставленного URL. Неверный формат, или не содержит верных Excalidraw JSON данных.",resetLibrary:"Это очистит вашу библиотеку. Вы уверены?",removeItemsFromsLibrary:"Удалить {{count}} объект(ов) из библиотеки?",invalidEncryptionKey:"Ключ шифрования должен состоять из 22 символов. Одновременное редактирование отключено.",collabOfflineWarning:`Отсутствует интернет-соединение.
|
|
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 во время изменения размеров,
|
|
5
|
-
удерживайте ALT чтобы изменить размер из центра`,resizeImage:`Вы можете свободно изменять размеры, удерживая кнопку SHIFT,
|
|
6
|
-
удерживайте кнопку ALT, чтобы изменять размер относительно центра`,rotate:"Вы можете ограничить углы, удерживая SHIFT во время вращения",lineEditor_info:"Удерживайте CtrlOrCmd и дважды кликните или нажмите CtrlOrCmd + Enter для редактирования точек",lineEditor_pointSelected:`Нажмите Delete для удаления точки (точек),
|
|
7
|
-
Ctrl+D или Cmd+D для дублирования, перетащите для перемещения`,lineEditor_nothingSelected:`Выберите точку для редактирования (удерживайте SHIFT выбора нескольких точек),
|
|
8
|
-
или удерживайте Alt и кликните для добавления новых точек`,placeImage:"Щелкните, чтобы разместить изображение, или нажмите и перетащите, чтобы установить его размер вручную",publishLibrary:"Опубликовать свою собственную библиотеку",bindTextToElement:"Нажмите Enter для добавления текста",deepBoxSelect:"Удерживайте Ctrl или Cmd для глубокого выделения, чтобы предотвратить перетаскивание",eraserRevert:"Удерживайте Alt, чтобы вернуть элементы, отмеченные для удаления",firefox_clipboard_write:'Эта функция может быть включена при изменении значения флага "dom.events.asyncClipboard.clipboardItem" на "true". Чтобы изменить флаги браузера в Firefox, посетите страницу "about:config".',disableSnapping:""},F={cannotShowPreview:"Не удается отобразить предпросмотр",canvasTooBig:"Сцена слишком большая.",canvasTooBigTip:"Совет: попробуйте сблизить элементы рисунка."},o={headingMain:"Возникла ошибка. Попробуйте <button>перезагрузить страницу.</button>",clearCanvasMessage:"Если перезагрузка страницы не помогла, попробуйте <button>очистить холст.</button>",clearCanvasCaveat:" Текущая работа будет утеряна ",trackedToSentry:"Ошибка с идентификатором {{eventId}} отслеживается в нашей системе.",openIssueMessage:"Для безопасности информация о вашей сцене не включена в ошибку. Если в сцене нет ничего конфиденциального, пожалуйста следуйте нашим <button>баг трекере.</button> Пожалуйста, приложите информацию ниже, скопировав и вставив её, в issue GitHub.",sceneContent:"Содержание сцены:"},a={desc_intro:"Вы можете пригласить людей в текущую сцену для совместной работы.",desc_privacy:"Не беспокойтесь — во время сеанса используется сквозное шифрование. Всё, что вы нарисуете, останется конфиденциальным и не будет доступно даже нашему серверу.",button_startSession:"Начать сеанс",button_stopSession:"Завершить сеанс",desc_inProgressIntro:"Сеанс совместной работы запущен.",desc_shareLink:"Поделитесь этой ссылкой со всеми участниками:",desc_exitSession:"Завершив сеанс, вы выйдете из комнаты, но сможете продолжить работать с документом локально. Это не повлияет на работу других пользователей — они смогут продолжить совместную работу с их версией документа.",shareTitle:"Присоединиться к активной совместной сессии на Excalidraw"},i={title:"Ошибка"},A={disk_title:"Сохранить на диск",disk_details:"Экспортировать данные сцены в файл, из которого можно импортировать позже.",disk_button:"Сохранить в файл",link_title:"Поделитесь ссылкой",link_details:"Экспорт ссылки только для чтения.",link_button:"Экспорт в ссылку",excalidrawplus_description:"Сохраните сцену в ваше рабочее пространство Excalidraw+.",excalidrawplus_button:"Экспорт",excalidrawplus_exportError:"Не удалось экспортировать в Excalidraw+ на данный момент..."},l={blog:"Прочитайте наш блог",click:"нажать",deepSelect:"Глубокое выделение",deepBoxSelect:"Глубокое выделение рамкой, и предотвращение перетаскивания",curvedArrow:"Изогнутая стрелка",curvedLine:"Изогнутая линия",documentation:"Документация",doubleClick:"двойной клик",drag:"перетащить",editor:"Редактор",editLineArrowPoints:"Редактировать концы линий/стрелок",editText:"Редактировать текст / добавить метку",github:"Нашли проблему? Отправьте",howto:"Следуйте нашим инструкциям",or:"или",preventBinding:"Предотвращать привязку стрелок",tools:"Инструменты",shortcuts:"Горячие клавиши",textFinish:"Закончить редактирование (текстовый редактор)",textNewLine:"Добавить новую строку (текстовый редактор)",title:"Помощь",view:"Просмотр",zoomToFit:"Отмастштабировать, чтобы поместились все элементы",zoomToSelection:"Увеличить до выделенного",toggleElementLock:"Заблокировать/разблокировать выделение",movePageUpDown:"Сдвинуть страницу вверх/вниз",movePageLeftRight:"Сдвинуть страницу вправо/влево"},n={title:"Очистить холст"},d={title:"Опубликовать библиотеку",itemName:"Название объекта",authorName:"Имя автора",githubUsername:"Имя пользователя GitHub",twitterUsername:"Имя пользователя в Twitter",libraryName:"Название библиотеки",libraryDesc:"Описание библиотеки",website:"Веб-сайт",placeholder:{authorName:"Ваше имя или имя пользователя",libraryName:"Название вашей библиотеки",libraryDesc:"Описание вашей библиотеки, которое поможет людям понять её назначение",githubHandle:"Имя пользователя GitHub (необязательно), чтобы вы смогли редактировать библиотеку после её отправки на проверку",twitterHandle:"Имя пользователя в Twitter (необязательно), чтобы мы знали, кого упомянуть при продвижении в Twitter",website:"Ссылка на ваш личный или какой-то другой сайт (необязательно)"},errors:{required:"Обязательно",website:"Введите допустимый URL-адрес"},noteDescription:"Отправить вашу библиотеку для включения в <link>хранилище публичных библиотек</link>, чтобы другие люди могли использовать объекты из вашей библиотеки в своих рисунках.",noteGuidelines:"Библиотека должна быть подтверждена вручную. Пожалуйста, прочтите <link>рекомендации</link> перед отправкой. Вам понадобится учетная запись GitHub, чтобы общаться и вносить изменения при необходимости, но это не обязательно.",noteLicense:"Выполняя отправку, вы соглашаетесь с тем, что библиотека будет опубликована под <link>лицензией MIT, </link>, что, вкратце, означает, что каждый может использовать её без ограничений.",noteItems:"Каждый объект в библиотеке должен иметь свое собственное имя, чтобы по нему можно было фильтровать. Следующие объекты библиотеки будут включены:",atleastOneLibItem:"Пожалуйста, выберите хотя бы один объект в библиотеке, чтобы начать",republishWarning:"Примечание: некоторые из выбранных элементов помечены как уже опубликованные/отправленные. Вы должны повторно отправить элементы только при обновлении существующей библиотеки или сдаче работы."},s={title:"Библиотека отправлена",content:"Благодарим вас, {{authorName}}. Ваша библиотека была отправлена на проверку. Вы можете отслеживать статус<link>здесь</link>"},c={resetLibrary:"Сброс библиотеки",removeItemsFromLib:"Удалить выбранные объекты из библиотеки"},m={header:"Экспортировать изображение",label:{withBackground:"Фон",onlySelected:"Только выделенное",darkMode:"Темная тема",embedScene:"Встроить сцену",scale:"Масштаб",padding:"Отступ"},tooltip:{embedScene:"Сцена будет сохранена в PNG/SVG файл так, чтобы всю сцену можно будет восстановить из этого файла. Это увеличит размер файла."},title:{exportToPng:"Экспорт в PNG",exportToSvg:"Экспорт в SVG",copyPngToClipboard:"Скопировать PNG в буфер обмена"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Скопировать в буфер обмена"}},b={tooltip:"Ваши данные защищены сквозным (End-to-end) шифрованием. Серверы Excalidraw никогда не получат доступ к ним.",link:"Запись блога о сквозном шифровании в Excalidraw"},p={angle:"Угол",element:"Элемент",elements:"Элементы",height:"Высота",scene:"Сцены",selected:"Выбран",storage:"Хранилище",title:"Статистика для ботаников",total:"Всего",version:"Версия",versionCopy:"Копировать",versionNotAvailable:"Версия не доступна",width:"Ширина"},g={addedToLibrary:"Добавлено в библиотеку",copyStyles:"Скопированы стили.",copyToClipboard:"Скопировано в буфер обмена.",copyToClipboardAsPng:"{{exportSelection}} скопировано как PNG ({{exportColorScheme}})",fileSaved:"Файл сохранён.",fileSavedToFilename:"Сохранено в {filename}",canvas:"холст",selection:"выделение",pasteAsSingleElement:`Используйте {{shortcut}}, чтобы вставить один объект,
|
|
9
|
-
или вставьте в существующий текстовый редактор`,unableToEmbed:"",unrecognizedLinkFormat:""},h={transparent:"Прозрачный",black:"Чёрный",white:"Белый",red:"Красный",pink:"Розовый",grape:"Виноградный",violet:"Фиолетовый",gray:"Серый",blue:"Синий",cyan:"Голубой",teal:"Бирюзовый",green:"Зелёный",yellow:"Жёлтый",orange:"Оранжевый",bronze:"Бронзовый"},S={app:{center_heading:"Все ваши данные сохраняются локально в вашем браузере.",center_heading_plus:"Хотите перейти на Excalidraw+?",menuHint:"Экспорт, настройки, языки, ..."},defaults:{menuHint:"Экспорт, настройки и другое...",center_heading:"Диаграммы. Просто.",toolbarHint:"Выберите инструмент и начните рисовать!",helpHint:"Сочетания клавиш и помощь"}},y={mostUsedCustomColors:"Часто используемые пользовательские цвета",colors:"Цвета",shades:"Оттенки",hexCode:"Шестнадцатеричный код",noShades:"Нет доступных оттенков для этого цвета"},v={action:{exportToImage:{title:"Экспортировать как изображение",button:"Экспортировать как изображение",description:""},saveToDisk:{title:"Сохранить на диск",button:"Сохранить на диск",description:""},excalidrawPlus:{title:"Excalidraw+",button:"Экспорт в Excalidraw+",description:""}},modal:{loadFromFile:{title:"Загрузить из файла",button:"Загрузить из файла",description:""},shareableLink:{title:"Загрузить по ссылке",button:"",description:""}}},w={title:"Из Mermaid в Excalidraw",button:"Вставить",description:"",syntax:"Синтаксис Mermaid",preview:"Предпросмотр"},x={labels:u,library:E,buttons:e,alerts:D,errors:B,toolBar:C,headings:r,hints:t,canvasError:F,errorSplash:o,roomDialog:a,errorDialog:i,exportDialog:A,helpDialog:l,clearCanvasDialog:n,publishDialog:d,publishSuccessDialog:s,confirmDialog:c,imageExportDialog:m,encrypted:b,stats:p,toast:g,colors:h,welcomeScreen:S,colorPicker:y,overwriteConfirm:v,mermaid:w};exports.alerts=D;exports.buttons=e;exports.canvasError=F;exports.clearCanvasDialog=n;exports.colorPicker=y;exports.colors=h;exports.confirmDialog=c;exports.default=x;exports.encrypted=b;exports.errorDialog=i;exports.errorSplash=o;exports.errors=B;exports.exportDialog=A;exports.headings=r;exports.helpDialog=l;exports.hints=t;exports.imageExportDialog=m;exports.labels=u;exports.library=E;exports.mermaid=w;exports.overwriteConfirm=v;exports.publishDialog=d;exports.publishSuccessDialog=s;exports.roomDialog=a;exports.stats=p;exports.toast=g;exports.toolBar=C;exports.welcomeScreen=S;
|