@layers-app/editor 0.5.1 → 0.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2 -0
- package/dist/index.d.ts +315 -0
- package/dist/index.js +13 -0
- package/dist/layers.-R5PibOa.js +10 -0
- package/dist/layers.-mkaUFzn.js +65 -0
- package/dist/layers.1XpBjqYP.js +1 -0
- package/dist/layers.2Ibk-yAi.js +10 -0
- package/dist/layers.3DsBPqy5.js +10 -0
- package/dist/layers.4OVSS-76.js +320 -0
- package/dist/layers.52famHy6.js +1 -0
- package/dist/layers.7JqFgE4-.js +15 -0
- package/dist/layers.9Su9jHuK.js +9 -0
- package/dist/layers.9pNaFvaX.js +1 -0
- package/dist/layers.9rNftyw-.js +40 -0
- package/dist/layers.B-6jN1Zn.js +41 -0
- package/dist/layers.B0JnuQf0.js +11 -0
- package/dist/layers.B0dbAkLw.js +11 -0
- package/dist/layers.B19MhDZN.js +1265 -0
- package/dist/layers.B19hGmey.js +1 -0
- package/dist/layers.B1IDMpWZ.js +32 -0
- package/dist/layers.B1VK1Umd.js +41 -0
- package/dist/layers.B2IHCuq4.js +202 -0
- package/dist/layers.B2OBW6d_.js +1 -0
- package/dist/layers.B2RJoL8j.js +8 -0
- package/dist/layers.B3D4g2HH.js +1 -0
- package/dist/layers.B66ctuSP.js +1 -0
- package/dist/layers.B9uP5ibo.js +1619 -0
- package/dist/layers.BAtv1CM7.js +1 -0
- package/dist/layers.BDlQMLta.js +1034 -0
- package/dist/layers.BFlW1eUA.js +1088 -0
- package/dist/layers.BIRU7ZCl.js +35 -0
- package/dist/layers.BIeVwYKL.js +1 -0
- package/dist/layers.BJDrjORS.js +244 -0
- package/dist/layers.BJOHTiQN.js +1 -0
- package/dist/layers.BKLAyg9f.js +34 -0
- package/dist/layers.BKktUt3V.js +425 -0
- package/dist/layers.BLZg3-j8.js +44 -0
- package/dist/layers.BLd2spTm.js +1 -0
- package/dist/layers.BPHDdk7q.js +6 -0
- package/dist/layers.BQYTL9KT.js +4 -0
- package/dist/layers.BSTBZrFn.js +1 -0
- package/dist/layers.BUbQisBD.js +40 -0
- package/dist/layers.BY5MS01o.js +304 -0
- package/dist/layers.BY5x-OCj.js +1359 -0
- package/dist/layers.BZYqdVEt.js +5 -0
- package/dist/layers.B_blLMys.js +7 -0
- package/dist/layers.Bau1Nn-R.js +1 -0
- package/dist/layers.BbCfEXyj.js +55 -0
- package/dist/layers.BdC79PeD.js +8 -0
- package/dist/layers.BeQxuBmo.js +373 -0
- package/dist/layers.BgOa2ZQq.js +7 -0
- package/dist/layers.BhoEY-tV.js +1 -0
- package/dist/layers.BiJ8hfRt.js +1510 -0
- package/dist/layers.BipydXP9.js +437 -0
- package/dist/layers.BjNcxnlF.js +40 -0
- package/dist/layers.BjkZnui0.js +6 -0
- package/dist/layers.BjlXrUqq.js +1 -0
- package/dist/layers.BmEnHWGn.js +1126 -0
- package/dist/layers.Bm_lyqCL.js +6 -0
- package/dist/layers.Bo0o9BXc.js +61 -0
- package/dist/layers.Bowu41KP.js +791 -0
- package/dist/layers.BpVuHPkZ.js +33 -0
- package/dist/layers.BpilXLfW.js +6 -0
- package/dist/layers.BptubpVI.js +37 -0
- package/dist/layers.Bq8EFsFh.js +3 -0
- package/dist/layers.Brr7ESXx.js +2 -0
- package/dist/layers.BsTKIt_N.js +19 -0
- package/dist/layers.BshQq6Az.js +189 -0
- package/dist/layers.BsuVfEWr.js +1 -0
- package/dist/layers.Bwphu0_-.js +41 -0
- package/dist/layers.BxBoiyiz.js +2 -0
- package/dist/layers.BxqlTEGI.js +39 -0
- package/dist/layers.BznUuBVb.js +1 -0
- package/dist/layers.C0Lgw_Sx.js +11688 -0
- package/dist/layers.C24uY6Fe.js +931 -0
- package/dist/layers.C2fRZH80.js +1 -0
- package/dist/layers.C3KcBscd.js +1 -0
- package/dist/layers.C4CXznF_.js +37 -0
- package/dist/layers.C7M6CfP5.js +42 -0
- package/dist/layers.C7eXel2I.js +7 -0
- package/dist/layers.C8_lu5UH.js +23 -0
- package/dist/layers.CAm5BKM7.js +1 -0
- package/dist/layers.CBUXk-09.js +11 -0
- package/dist/layers.CDEWhNHi.js +10 -0
- package/dist/layers.CDL3opya.js +8 -0
- package/dist/layers.CE4FK9O5.js +40 -0
- package/dist/layers.CF-302Fh.js +9 -0
- package/dist/layers.CHZsXQcr.js +1 -0
- package/dist/layers.CHmvLyW1.js +8 -0
- package/dist/layers.CJUngdl8.js +37 -0
- package/dist/layers.CLAvgOJP.js +4 -0
- package/dist/layers.CLgsvcu7.js +10 -0
- package/dist/layers.CM9lYwoQ.js +36 -0
- package/dist/layers.CMMTUOh6.js +39 -0
- package/dist/layers.COYYECPe.js +48146 -0
- package/dist/layers.CQ6g1bgB.js +11 -0
- package/dist/layers.CR1i6QWh.js +803 -0
- package/dist/layers.CRKrzT-Y.js +11 -0
- package/dist/layers.CSNKiqFe.js +8 -0
- package/dist/layers.CSYpl3YM.js +960 -0
- package/dist/layers.CTK5IBtb.js +793 -0
- package/dist/layers.CVUgbWcY.js +21763 -0
- package/dist/layers.CXg7Sg55.js +802 -0
- package/dist/layers.C_RheIIS.js +904 -0
- package/dist/layers.C_eoPPmk.js +13 -0
- package/dist/layers.Ccvu-Dlo.js +1 -0
- package/dist/layers.CdGfvF7V.js +1 -0
- package/dist/layers.Cf9fVqKx.js +21938 -0
- package/dist/layers.Cisk2RXM.js +1 -0
- package/dist/layers.CkXqIRYC.js +38 -0
- package/dist/layers.ClJd7I1M.js +9 -0
- package/dist/layers.ClxhzI7j.js +8 -0
- package/dist/layers.CmqoZAnC.js +2479 -0
- package/dist/layers.CnrBP_N5.js +769 -0
- package/dist/layers.Cob5vYhh.js +5 -0
- package/dist/layers.Coygwekn.js +9 -0
- package/dist/layers.Cp5JhAmO.js +7 -0
- package/dist/layers.CqVTtuYm.js +6 -0
- package/dist/layers.CtHBfow6.js +282 -0
- package/dist/layers.CuoaVZrW.js +41 -0
- package/dist/layers.Cyzu9PKQ.js +1 -0
- package/dist/layers.D-7S1Qn6.js +7 -0
- package/dist/layers.D-cAGd4i.js +41 -0
- package/dist/layers.D-v-3mtK.js +9 -0
- package/dist/layers.D0MGpeyX.js +39 -0
- package/dist/layers.D0lTyC6R.js +35 -0
- package/dist/layers.D0zn4_Mx.js +1 -0
- package/dist/layers.D33cj9e8.js +1 -0
- package/dist/layers.D3A8IuMw.js +42 -0
- package/dist/layers.D40oNXih.js +1580 -0
- package/dist/layers.D4T8fTcj.js +1223 -0
- package/dist/layers.D4ydcUW5.js +7 -0
- package/dist/layers.D7jGxypv.js +8 -0
- package/dist/layers.DByfn15F.js +7 -0
- package/dist/layers.DCrkhQnl.js +9 -0
- package/dist/layers.DDVf9_XJ.js +501 -0
- package/dist/layers.DFF0tKf2.js +9 -0
- package/dist/layers.DGB6f2fp.js +186 -0
- package/dist/layers.DGF-imcj.js +6 -0
- package/dist/layers.DGlLGCMd.js +41 -0
- package/dist/layers.DH7bTclZ.js +1 -0
- package/dist/layers.DHrdv4EX.js +32 -0
- package/dist/layers.DIs-8Ynj.js +35 -0
- package/dist/layers.DIuulfCg.js +32 -0
- package/dist/layers.DJS98Zvr.js +42 -0
- package/dist/layers.DLwuMfdd.js +84 -0
- package/dist/layers.DMh-zb88.js +10 -0
- package/dist/layers.DMkBISW1.js +1 -0
- package/dist/layers.DN9HoVxI.js +18 -0
- package/dist/layers.DNray0Kg.js +51 -0
- package/dist/layers.DO8Lq71I.js +4 -0
- package/dist/layers.DOrgOHBr.js +1 -0
- package/dist/layers.DPg8YVWZ.js +118 -0
- package/dist/layers.DRRAWjJ-.js +84 -0
- package/dist/layers.DSnpK9v9.js +40 -0
- package/dist/layers.DT-qahkC.js +41 -0
- package/dist/layers.DT4gw4t8.js +8 -0
- package/dist/layers.DVjOEkHq.js +295 -0
- package/dist/layers.DW9Z4dLd.js +37 -0
- package/dist/layers.DWIf8ql6.js +8 -0
- package/dist/layers.DWynlv5x.js +1 -0
- package/dist/layers.DXKXZPx3.js +10 -0
- package/dist/layers.DXnKtB68.js +2966 -0
- package/dist/layers.DXr2kWj5.js +36 -0
- package/dist/layers.D_MRmmCY.js +40 -0
- package/dist/layers.D_Q80AXV.js +7 -0
- package/dist/layers.D_i2rLsg.js +46859 -0
- package/dist/layers.D_nCsZyv.js +6 -0
- package/dist/layers.Da1VjmYH.js +122 -0
- package/dist/layers.DaLcxrnP.js +4 -0
- package/dist/layers.DbaKVP5e.js +1 -0
- package/dist/layers.DeIaMdiM.js +2 -0
- package/dist/layers.Df5Qb1Ul.js +220 -0
- package/dist/layers.DfXjhAWm.js +207 -0
- package/dist/layers.Dfev0R1t.js +36 -0
- package/dist/layers.Dfw_b3vF.js +2235 -0
- package/dist/layers.Dh45zDPj.js +7 -0
- package/dist/layers.Di7HIxcn.js +268 -0
- package/dist/layers.DilKJOqa.js +139 -0
- package/dist/layers.DjUOC4st.js +16 -0
- package/dist/layers.DlWfA7qx.js +423 -0
- package/dist/layers.Dlp5s5ci.js +41 -0
- package/dist/layers.Dne14exG.js +14 -0
- package/dist/layers.DqpBjyTk.js +10 -0
- package/dist/layers.DrD0W7B3.js +5 -0
- package/dist/layers.DvdRZk6P.js +39 -0
- package/dist/layers.DxA6ocdw.js +70 -0
- package/dist/layers.DxIjFIXA.js +39 -0
- package/dist/layers.DxzveV49.js +96 -0
- package/dist/layers.Dy1naDTQ.js +14 -0
- package/dist/layers.ETa5WiKT.js +160 -0
- package/dist/layers.G9Ka5gtG.js +39 -0
- package/dist/layers.H0NAWny8.js +33 -0
- package/dist/layers.J8OYHqDO.js +32 -0
- package/dist/layers.JWCLFILJ.js +1 -0
- package/dist/layers.MNsWD8fy.js +139 -0
- package/dist/layers.MbNt5pO7.js +39 -0
- package/dist/layers.MsLi1AaR.js +10 -0
- package/dist/layers.NzblQjNP.js +36 -0
- package/dist/layers.PaRWxJTx.js +1 -0
- package/dist/layers.Pfqcm_x1.js +40 -0
- package/dist/layers.QUgQojU2.js +39 -0
- package/dist/layers.QeRtN6Gq.js +1 -0
- package/dist/layers.Rhe5fmYG.js +38 -0
- package/dist/layers.SuFOjX9h.js +9 -0
- package/dist/layers.UA4MYWds.js +1089 -0
- package/dist/layers.X8WQJwc7.js +70 -0
- package/dist/layers.XOnoorb1.js +116 -0
- package/dist/layers.YS67QCmr.js +40 -0
- package/dist/layers.YfvGPzEu.js +1 -0
- package/dist/layers.ZAlzzwQR.js +59 -0
- package/dist/layers.Zh3IN_BW.js +1283 -0
- package/dist/layers.akd0joBp.js +84 -0
- package/dist/layers.b0h5ZBmD.js +61 -0
- package/dist/layers.bfGibH2F.js +38 -0
- package/dist/layers.chFbbZh9.js +9166 -0
- package/dist/layers.e7K9sNTy.js +32 -0
- package/dist/layers.eOMmuyRq.js +52 -0
- package/dist/layers.f5SObLpT.js +6 -0
- package/dist/layers.ftDLkcXk.js +32 -0
- package/dist/layers.gdeLIrFt.js +10 -0
- package/dist/layers.hGSxVR0w.js +8 -0
- package/dist/layers.hMduvmS1.js +42 -0
- package/dist/layers.hYSHj9J1.js +230 -0
- package/dist/layers.hweLqW3I.js +261 -0
- package/dist/layers.i3cprua-.js +1 -0
- package/dist/layers.lCpg7dOn.js +21 -0
- package/dist/layers.pN-YTLfe.js +1 -0
- package/dist/layers.puGhbMne.js +257 -0
- package/dist/layers.rPpIRTrs.js +39 -0
- package/dist/layers.rfeShEsx.js +40 -0
- package/dist/layers.sf1uvSch.js +1 -0
- package/dist/layers.t3fpEPMO.js +8 -0
- package/dist/layers.v4_WldHC.js +9 -0
- package/dist/layers.vHrsDWns.js +40 -0
- package/dist/layers.yIm62nh0.js +5 -0
- package/dist/layers.z72AWJJl.js +42 -0
- package/dist/layers.zj3cbd1g.js +5 -0
- package/dist/layers.zysZLChz.js +9 -0
- package/package.json +1 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import "./layers.CVUgbWcY.js";
|
|
2
|
+
var u = { paste: "Dán", pasteAsPlaintext: "Dán kiểu văn bản thuần", pasteCharts: "Dán biểu đồ", selectAll: "Chọn tất cả", multiSelect: "Thêm mới vào Select", moveCanvas: "Di chuyển canvas", cut: "Cắt", copy: "Sao chép", copyAsPng: "Sao chép vào bộ nhớ tạm dưới dạng PNG", copyAsSvg: "Sao chép vào bộ nhớ tạm dưới dạng SVG", copyText: "Sao chép vào bộ nhớ tạm dưới dạng chữ", copySource: "", convertToCode: "", bringForward: "Đưa ra trước", sendToBack: "Hạ xuống dưới", bringToFront: "Đưa ra đầu tiên", sendBackward: "Hạ xuống cuối", delete: "Xóa", copyStyles: "Sao chép định dạng", pasteStyles: "Dán định dạng", stroke: "Nét", background: "Nền", fill: "Fill", strokeWidth: "Độ dày nét", strokeStyle: "Kiểu nét", strokeStyle_solid: "Khối", strokeStyle_dashed: "Gạch ngang", strokeStyle_dotted: "Nhiều chấm", sloppiness: "Hoa văn nét", opacity: "Độ trong suốt", textAlign: "Căn chỉnh văn bản", edges: "Cạnh", sharp: "Nhọn", round: "Tròn", arrowheads: "Đầu mũi tên", arrowhead_none: "Không", arrowhead_arrow: "Mũi tên", arrowhead_bar: "Thanh", arrowhead_circle: "", arrowhead_circle_outline: "", arrowhead_triangle: "Tam giác", arrowhead_triangle_outline: "", arrowhead_diamond: "", arrowhead_diamond_outline: "", fontSize: "Cỡ chữ", fontFamily: "Phông chữ", addWatermark: 'Làm với Excalidraw"', handDrawn: "Vẽ tay", normal: "Bình thường", code: "Mã", small: "Nhỏ", medium: "Vừa", large: "Lớn", veryLarge: "Rất lớn", solid: "Đặc", hachure: "Nét gạch gạch", zigzag: "Zigzag", crossHatch: "Nét gạch chéo", thin: "Mỏng", bold: "In đậm", left: "Trái", center: "Giữa", right: "Phải", extraBold: "Nét siêu đậm", architect: "Kiến trúc sư", artist: "Nghệ sỹ", cartoonist: "Hoạt hình", fileTitle: "Tên tập tin", colorPicker: "Chọn màu", canvasColors: "Đã dùng trên canvas", canvasBackground: "Nền canvas", drawingCanvas: "Canvas vẽ", layers: "Lớp", actions: "Chức năng", language: "Ngôn ngữ", liveCollaboration: "Hợp tác trực tiếp...", duplicateSelection: "Tạo bản sao", untitled: "Không có tiêu đề", name: "Tên", yourName: "Tên của bạn", madeWithExcalidraw: "Làm với Excalidraw", group: "Gộp nhóm lại lựa chọn", ungroup: "Tách nhóm lựa chọn", collaborators: "Cộng tác viên", showGrid: "Hiển thị lưới", addToLibrary: "Thêm vào thư viện", removeFromLibrary: "Xóa khỏi thư viện", libraryLoadingMessage: "Đang tải thư viện…", libraries: "Xem thư viện", loadingScene: "Đang tải về…", align: "Căn chỉnh", alignTop: "Căn trên", alignBottom: "Căn dưới", alignLeft: "Canh trái", alignRight: "Canh phải", centerVertically: "Giữa theo chiều dọc", centerHorizontally: "Giữa theo chiều ngang", distributeHorizontally: "Phân bố theo chiều ngang", distributeVertically: "Phân bố theo chiều dọc", flipHorizontal: "Lật ngang", flipVertical: "Lật dọc", viewMode: "Chế độ xem", share: "Chia sẻ", showStroke: "Hiển thị chọn màu", showBackground: "Hiện thị chọn màu nền", toggleTheme: "", personalLib: "Thư viện cá nhân", excalidrawLib: "Thư viện Excalidraw", decreaseFontSize: "Giảm cỡ chữ", increaseFontSize: "Tăng cỡ chữ", unbindText: "", bindText: "", createContainerFromText: "", link: { edit: "Sửa liên kết", editEmbed: "", create: "Tạo liên kết", createEmbed: "", label: "Liên kết", labelEmbed: "", empty: "" }, lineEditor: { edit: "Điều chỉnh nét", exit: "Thoát chỉnh nét" }, elementLock: { lock: "Khoá", unlock: "Mở khoá", lockAll: "Khóa tất cả", unlockAll: "Mở khóa tất cả" }, statusPublished: "Đã đăng tải", sidebarLock: "Giữ thanh bên luôn mở", selectAllElementsInFrame: "", removeAllElementsFromFrame: "", eyeDropper: "", textToDiagram: "", prompt: "" }, E = { noItems: "Chưa có món nào...", hint_emptyLibrary: "Chọn một món trên canvas để thêm nó vào đây, hoặc cài đặt thư viện từ kho lưu trữ công cộng, ở bên dưới.", hint_emptyPrivateLibrary: "Chọn một món trên canvas để thêm nó vào đây." }, n = { clearReset: "Reset canvas", exportJSON: "Xuất ra tập tin", exportImage: "Xuất file ảnh...", export: "Lưu vào...", copyToClipboard: "Sao chép vào bộ nhớ tạm", save: "Lưu vào tập tin hiện tại", saveAs: "Lưu thành", load: "Mở", getShareableLink: "Tạo liên kết để chia sẻ", close: "Đóng", selectLanguage: "Chọn ngôn ngữ", scrollBackToContent: "Cuộn về nội dung chính", zoomIn: "Phóng to", zoomOut: "Thu nhỏ", resetZoom: "Đặt lại thu phóng", menu: "Bảng chọn", done: "Xong", edit: "Chỉnh sửa", undo: "Hoàn tác", redo: "Làm lại", resetLibrary: "", createNewRoom: "Tạo phòng mới", fullScreen: "Toàn màn hình", darkMode: "Chế độ tối", lightMode: "Chế độ sáng", zenMode: "Chế độ zen", objectsSnapMode: "", exitZenMode: "Thoát chể độ zen", cancel: "Hủy", clear: "Làm sạch", remove: "Xóa", embed: "", publishLibrary: "Đăng tải", submit: "Gửi", confirm: "Xác nhận", embeddableInteractionButton: "" }, e = { clearReset: "Điều này sẽ dọn hết canvas. Bạn có chắc không?", couldNotCreateShareableLink: "Không thể tạo đường dẫn chia sẻ.", couldNotCreateShareableLinkTooBig: "Không thể tạo đường dẫn chia sẻ: bản vẽ quá lớn", couldNotLoadInvalidFile: "Không thể load tập tin không hợp lệ", importBackendFailed: "", cannotExportEmptyCanvas: "Không thể xuất canvas trống.", couldNotCopyToClipboard: "", decryptFailed: "Không thể giải mã dữ liệu.", uploadedSecurly: "", loadSceneOverridePrompt: "", collabStopOverridePrompt: `Dừng phiên sẽ ghi đè lên bản vẽ được lưu trữ cục bộ trước đó của bạn. Bạn có chắc không?
|
|
3
|
+
|
|
4
|
+
(Nếu bạn muốn giữ bản vẽ cục bộ của mình, chỉ cần đóng tab trình duyệt.)`, errorAddingToLibrary: "Không thể thêm món vào thư viện", errorRemovingFromLibrary: "Không thể xoá món khỏi thư viện", confirmAddLibrary: "Hình {{numShapes}} sẽ được thêm vào thư viện. Bạn chắc chứ?", imageDoesNotContainScene: "Hình ảnh này dường như không chứa bất kỳ dữ liệu cảnh nào. Bạn đã bật tính năng nhúng cảnh khi xuất chưa?", cannotRestoreFromImage: "", invalidSceneUrl: "", resetLibrary: "", removeItemsFromsLibrary: "Xoá {{count}} món từ thư viện?", invalidEncryptionKey: "Khóa mã hóa phải có 22 ký tự. Hợp tác trực tiếp bị vô hiệu hóa.", collabOfflineWarning: `Không có kết nối internet.
|
|
5
|
+
Thay đổi của bạn sẽ không được lưu!` }, t = { unsupportedFileType: "Loại tập tin không được hỗ trợ.", imageInsertError: "Không thể thêm ảnh. Hãy thử lại sau...", fileTooBig: "Tệp tin quá lớn. Dung lượng tối đa cho phép là {{maxSize}}.", svgImageInsertError: "Không thể thêm ảnh SVG. Mã SVG có vẻ sai.", failedToFetchImage: "", invalidSVGString: "SVG không hợp lệ.", cannotResolveCollabServer: "Không thể kết nối với máy chủ hợp tác. Hãy tải lại trang và thử lại.", importLibraryError: "Không thể tải thư viện", collabSaveFailed: "Không thể lưu vào cơ sở dữ liệu. Nếu vấn đề tiếp tục xảy ra, bạn nên lưu tệp vào máy để đảm bảo bạn không bị mất công việc.", collabSaveFailed_sizeExceeded: "Không thể lưu vào cơ sở dữ liệu, canvas có vẻ quá lớn. Bạn nên lưu tệp cục bộ để đảm bảo bạn không bị mất công việc.", imageToolNotSupported: "", brave_measure_text_error: { line1: "", line2: "", line3: "", line4: "" }, libraryElementTypeError: { embeddable: "", iframe: "", image: "" }, asyncPasteFailedOnRead: "", asyncPasteFailedOnParse: "", copyToSystemClipboardFailed: "" }, a = { selection: "Lựa chọn", image: "Chèn ảnh", rectangle: "Hình chữ nhật", diamond: "Kim cương", ellipse: "Hình elíp", arrow: "Mũi tên", line: "Đường kẻ", freedraw: "Vẽ", text: "Văn bản", library: "Thư viện", lock: "Giữ dụng cũ hiện tại sau khi vẽ", penMode: "Chế độ bút vẽ - ngăn ngừa chạm nhầm", link: "Thêm/ Chỉnh sửa liên kết cho hình được chọn", eraser: "Xóa", frame: "", magicframe: "", embeddable: "", laser: "", hand: "Tay kéo", extraTools: "", mermaidToExcalidraw: "", magicSettings: "" }, i = { canvasActions: "Hành động canvas", selectedShapeActions: "Các hành động cho hình dạng đã chọn", shapes: "Các hình khối" }, o = { canvasPanning: "Để di chuyển canvas, giữ con lăn chuột hoặc phím cách trong khi kéo, hoặc sử dụng công cụ cầm tay", linearElement: "Ấn để bắt đầu nhiểm điểm vẽ, kéo để vẽ một đường thẳng", freeDraw: "Ấn bà kéo, thả khi bạn xong", text: "Mẹo: bạn có thể thêm văn bản tại bất cứ đâu bằng cách ấn hai lần bằng tool lựa chọn", embeddable: "", text_selected: "Ấn 2 lần hoặc nhấn ENTER để chỉnh văn bản", text_editing: "Nhấn Escape hoặc Ctrl/Cmd+ENTER để hoàn thành chỉnh sửa", linearElementMulti: "Nhấn vào điểm cuối hoặc nhấn Escape hoặc Enter để kết thúc", lockAngle: "Bạn có thể chỉnh lại góc bằng cách giữ phím SHIFT", resize: `Bạn có thể chỉnh tỷ lệ bằng cách giữ SHIFT khi chỉnh kích cỡ,
|
|
6
|
+
giữ ALT để chỉnh kích cỡ từ trung tâm`, resizeImage: "", rotate: "", lineEditor_info: "", lineEditor_pointSelected: "", lineEditor_nothingSelected: "", placeImage: "", publishLibrary: "", bindTextToElement: "", deepBoxSelect: "", eraserRevert: "", firefox_clipboard_write: 'Tính năng này có thể được bật bằng cách đặt cờ "dom.events.asyncClipboard.clipboardItem" thành "true". Để thay đổi cờ trình duyệt trong Firefox, hãy truy cập trang "about:config".', disableSnapping: "" }, r = { cannotShowPreview: "Không thể xem trước", canvasTooBig: "Canvas này có thể hơi lớn.", canvasTooBigTip: "Mẹo: hãy thử di chuyển các elements nhất lại gần nhau hơn một chút." }, h = { headingMain: "", clearCanvasMessage: "Nếu không tải lại được, hãy thử <button>dọn canvas.</button>", clearCanvasCaveat: " Điều này sẽ dẫn đến mất dữ liệu bạn đã làm ", trackedToSentry: "", openIssueMessage: "", sceneContent: "" }, c = { desc_intro: "", desc_privacy: "", button_startSession: "", button_stopSession: "", desc_inProgressIntro: "", desc_shareLink: "", desc_exitSession: "", shareTitle: "" }, l = { title: "" }, x = { disk_title: "", disk_details: "", disk_button: "", link_title: "", link_details: "", link_button: "", excalidrawplus_description: "", excalidrawplus_button: "", excalidrawplus_exportError: "" }, s = { 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: "Dọn canvas" }, g = { title: "", itemName: "Tên món", authorName: "", githubUsername: "", twitterUsername: "", libraryName: "", libraryDesc: "", website: "", placeholder: { authorName: "", libraryName: "", libraryDesc: "", githubHandle: "", twitterHandle: "", website: "" }, errors: { required: "", website: "" }, noteDescription: "", noteGuidelines: "", noteLicense: "", noteItems: "Từng món trong thư viện phải có tên riêng để có thể lọc. Các món thư viện sau đây sẽ thêm:", atleastOneLibItem: "Vui lòng chọn ít nhất một món thư viện để bắt đầu", republishWarning: "Lưu ý: một số món đã chọn được đánh dấu là đã xuất bản/đã gửi. Bạn chỉ nên gửi lại các món khi cập nhật thư viện hiện có hoặc gửi." }, A = { title: "", content: "" }, C = { resetLibrary: "", removeItemsFromLib: "Xóa món đã chọn khỏi thư viện" }, m = { header: "", label: { withBackground: "", onlySelected: "", darkMode: "", embedScene: "", scale: "", padding: "" }, tooltip: { embedScene: "" }, title: { exportToPng: "", exportToSvg: "", copyPngToClipboard: "" }, button: { exportToPng: "", exportToSvg: "", copyPngToClipboard: "" } }, D = { tooltip: "", link: "" }, B = { angle: "", element: "", elements: "", height: "", scene: "", selected: "", storage: "", title: "", total: "", version: "", versionCopy: "", versionNotAvailable: "", width: "" }, F = { addedToLibrary: "", copyStyles: "", copyToClipboard: "", copyToClipboardAsPng: "", fileSaved: "", fileSavedToFilename: "", canvas: "canvas", selection: "", pasteAsSingleElement: "", unableToEmbed: "", unrecognizedLinkFormat: "" }, b = { transparent: "", black: "", white: "", red: "", pink: "", grape: "", violet: "", gray: "", blue: "", cyan: "", teal: "", green: "", yellow: "", orange: "", bronze: "" }, p = { app: { center_heading: "", center_heading_plus: "", menuHint: "" }, defaults: { menuHint: "", center_heading: "", toolbarHint: "", helpHint: "" } }, v = { mostUsedCustomColors: "", colors: "", shades: "", hexCode: "", noShades: "" }, y = { action: { exportToImage: { title: "", button: "", description: "" }, saveToDisk: { title: "", button: "", description: "" }, excalidrawPlus: { title: "", button: "", description: "" } }, modal: { loadFromFile: { title: "", button: "", description: "" }, shareableLink: { title: "", button: "", description: "" } } }, k = { title: "", button: "", description: "", syntax: "", preview: "" }, S = { labels: u, library: E, buttons: n, alerts: e, errors: t, toolBar: a, headings: i, hints: o, canvasError: r, errorSplash: h, roomDialog: c, errorDialog: l, exportDialog: x, helpDialog: s, clearCanvasDialog: d, publishDialog: g, publishSuccessDialog: A, confirmDialog: C, imageExportDialog: m, encrypted: D, stats: B, toast: F, colors: b, welcomeScreen: p, colorPicker: v, overwriteConfirm: y, mermaid: k };
|
|
7
|
+
export {
|
|
8
|
+
e as alerts,
|
|
9
|
+
n as buttons,
|
|
10
|
+
r as canvasError,
|
|
11
|
+
d as clearCanvasDialog,
|
|
12
|
+
v as colorPicker,
|
|
13
|
+
b as colors,
|
|
14
|
+
C as confirmDialog,
|
|
15
|
+
S as default,
|
|
16
|
+
D as encrypted,
|
|
17
|
+
l as errorDialog,
|
|
18
|
+
h as errorSplash,
|
|
19
|
+
t as errors,
|
|
20
|
+
x as exportDialog,
|
|
21
|
+
i as headings,
|
|
22
|
+
s as helpDialog,
|
|
23
|
+
o as hints,
|
|
24
|
+
m as imageExportDialog,
|
|
25
|
+
u as labels,
|
|
26
|
+
E as library,
|
|
27
|
+
k as mermaid,
|
|
28
|
+
y as overwriteConfirm,
|
|
29
|
+
g as publishDialog,
|
|
30
|
+
A as publishSuccessDialog,
|
|
31
|
+
c as roomDialog,
|
|
32
|
+
B as stats,
|
|
33
|
+
F as toast,
|
|
34
|
+
a as toolBar,
|
|
35
|
+
p as welcomeScreen
|
|
36
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import "./layers.CVUgbWcY.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: "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: "Выберите объект на холсте, чтобы добавить его сюда." }, 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: `Остановка сессии перезапишет ваш предыдущий, локально сохранённый рисунок. Вы уверены?
|
|
3
|
+
|
|
4
|
+
(Если вы хотите оставить ваш локальный рисунок, просто закройте вкладку браузера)`, errorAddingToLibrary: "Не удалось добавить объект в библиотеку", errorRemovingFromLibrary: "Не удалось удалить объект из библиотеки", confirmAddLibrary: "Будет добавлено {{numShapes}} фигур в вашу библиотеку. Продолжить?", imageDoesNotContainScene: "Это изображение не содержит данных сцены. Вы включили встраивание сцены во время экспорта?", cannotRestoreFromImage: "Сцена не может быть восстановлена из этого изображения", invalidSceneUrl: "Невозможно импортировать сцену с предоставленного URL. Неверный формат, или не содержит верных Excalidraw JSON данных.", resetLibrary: "Это очистит вашу библиотеку. Вы уверены?", removeItemsFromsLibrary: "Удалить {{count}} объект(ов) из библиотеки?", invalidEncryptionKey: "Ключ шифрования должен состоять из 22 символов. Одновременное редактирование отключено.", collabOfflineWarning: `Отсутствует интернет-соединение.
|
|
5
|
+
Ваши изменения не будут сохранены!` }, 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" }, a = { canvasActions: "Операции холста", selectedShapeActions: "Операции выбранной фигуры", shapes: "Фигуры" }, r = { canvasPanning: 'Чтобы двигать холст, удерживайте колесо мыши или пробел во время перетаскивания, или используйте инструмент "Рука"', linearElement: "Нажмите, чтобы начать несколько точек, перетащите для одной линии", freeDraw: "Нажмите и перетаскивайте, отпустите по завершении", text: "Совет: при выбранном инструменте выделения дважды щёлкните в любом месте, чтобы добавить текст", embeddable: "", text_selected: "Дважды щелкните мышью или нажмите ENTER, чтобы редактировать текст", text_editing: "Нажмите Escape либо Ctrl или Cmd + ENTER для завершения редактирования", linearElementMulti: "Кликните на последней точке или нажмите Escape или Enter чтобы закончить", lockAngle: "Вы можете ограничить угол удерживая SHIFT", resize: `Вы можете ограничить пропорции, удерживая SHIFT во время изменения размеров,
|
|
6
|
+
удерживайте ALT чтобы изменить размер из центра`, resizeImage: `Вы можете свободно изменять размеры, удерживая кнопку SHIFT,
|
|
7
|
+
удерживайте кнопку ALT, чтобы изменять размер относительно центра`, rotate: "Вы можете ограничить углы, удерживая SHIFT во время вращения", lineEditor_info: "Удерживайте CtrlOrCmd и дважды кликните или нажмите CtrlOrCmd + Enter для редактирования точек", lineEditor_pointSelected: `Нажмите Delete для удаления точки (точек),
|
|
8
|
+
Ctrl+D или Cmd+D для дублирования, перетащите для перемещения`, lineEditor_nothingSelected: `Выберите точку для редактирования (удерживайте SHIFT выбора нескольких точек),
|
|
9
|
+
или удерживайте 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: "Содержание сцены:" }, t = { 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: "Очистить холст" }, s = { 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: "Примечание: некоторые из выбранных элементов помечены как уже опубликованные/отправленные. Вы должны повторно отправить элементы только при обновлении существующей библиотеки или сдаче работы." }, d = { 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: "Скопировать в буфер обмена" } }, p = { tooltip: "Ваши данные защищены сквозным (End-to-end) шифрованием. Серверы Excalidraw никогда не получат доступ к ним.", link: "Запись блога о сквозном шифровании в Excalidraw" }, b = { 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}}, чтобы вставить один объект,
|
|
10
|
+
или вставьте в существующий текстовый редактор`, 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: "Нет доступных оттенков для этого цвета" }, w = { action: { exportToImage: { title: "Экспортировать как изображение", button: "Экспортировать как изображение", description: "" }, saveToDisk: { title: "Сохранить на диск", button: "Сохранить на диск", description: "" }, excalidrawPlus: { title: "Excalidraw+", button: "Экспорт в Excalidraw+", description: "" } }, modal: { loadFromFile: { title: "Загрузить из файла", button: "Загрузить из файла", description: "" }, shareableLink: { title: "Загрузить по ссылке", button: "", description: "" } } }, v = { title: "Из Mermaid в Excalidraw", button: "Вставить", description: "", syntax: "Синтаксис Mermaid", preview: "Предпросмотр" }, k = { labels: u, library: E, buttons: D, alerts: e, errors: B, toolBar: C, headings: a, hints: r, canvasError: F, errorSplash: o, roomDialog: t, errorDialog: i, exportDialog: A, helpDialog: l, clearCanvasDialog: n, publishDialog: s, publishSuccessDialog: d, confirmDialog: c, imageExportDialog: m, encrypted: p, stats: b, toast: g, colors: h, welcomeScreen: S, colorPicker: y, overwriteConfirm: w, mermaid: v };
|
|
11
|
+
export {
|
|
12
|
+
e as alerts,
|
|
13
|
+
D as buttons,
|
|
14
|
+
F as canvasError,
|
|
15
|
+
n as clearCanvasDialog,
|
|
16
|
+
y as colorPicker,
|
|
17
|
+
h as colors,
|
|
18
|
+
c as confirmDialog,
|
|
19
|
+
k as default,
|
|
20
|
+
p as encrypted,
|
|
21
|
+
i as errorDialog,
|
|
22
|
+
o as errorSplash,
|
|
23
|
+
B as errors,
|
|
24
|
+
A as exportDialog,
|
|
25
|
+
a as headings,
|
|
26
|
+
l as helpDialog,
|
|
27
|
+
r as hints,
|
|
28
|
+
m as imageExportDialog,
|
|
29
|
+
u as labels,
|
|
30
|
+
E as library,
|
|
31
|
+
v as mermaid,
|
|
32
|
+
w as overwriteConfirm,
|
|
33
|
+
s as publishDialog,
|
|
34
|
+
d as publishSuccessDialog,
|
|
35
|
+
t as roomDialog,
|
|
36
|
+
b as stats,
|
|
37
|
+
g as toast,
|
|
38
|
+
C as toolBar,
|
|
39
|
+
S as welcomeScreen
|
|
40
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("./layers.DxzveV49.js"),Bt=require("./layers.D4ydcUW5.js");require("./layers.hYSHj9J1.js");const Ot=require("./layers.CHZsXQcr.js"),Wt=require("./layers.B19hGmey.js"),ft=require("./layers.PaRWxJTx.js"),pt=require("./layers.DWynlv5x.js");function zt(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s<n;)o[s]=e+s*i;return o}function nt(){var e=Wt.ordinal().unknown(void 0),t=e.domain,i=e.range,s=0,n=1,o,c,f=!1,d=0,R=0,k=.5;delete e.unknown;function A(){var y=t().length,D=n<s,S=D?n:s,L=D?s:n;o=(L-S)/Math.max(1,y-d+R*2),f&&(o=Math.floor(o)),S+=(L-S-o*(y-d))*k,c=o*(1-d),f&&(S=Math.round(S),c=Math.round(c));var p=zt(y).map(function(_){return S+o*_});return i(D?p.reverse():p)}return e.domain=function(y){return arguments.length?(t(y),A()):t()},e.range=function(y){return arguments.length?([s,n]=y,s=+s,n=+n,A()):[s,n]},e.rangeRound=function(y){return[s,n]=y,s=+s,n=+n,f=!0,A()},e.bandwidth=function(){return c},e.step=function(){return o},e.round=function(y){return arguments.length?(f=!!y,A()):f},e.padding=function(y){return arguments.length?(d=Math.min(1,R=+y),A()):d},e.paddingInner=function(y){return arguments.length?(d=Math.min(1,y),A()):d},e.paddingOuter=function(y){return arguments.length?(R=+y,A()):R},e.align=function(y){return arguments.length?(k=Math.max(0,Math.min(1,y)),A()):k},e.copy=function(){return nt(t(),[s,n]).round(f).paddingInner(d).paddingOuter(R).align(k)},Ot.initRange.apply(A(),arguments)}var at=(function(){var e=function(B,r,l,u){for(l=l||{},u=B.length;u--;l[B[u]]=r);return l},t=[1,10,12,14,16,18,19,21,23],i=[2,6],s=[1,3],n=[1,5],o=[1,6],c=[1,7],f=[1,5,10,12,14,16,18,19,21,23,34,35,36],d=[1,25],R=[1,26],k=[1,28],A=[1,29],y=[1,30],D=[1,31],S=[1,32],L=[1,33],p=[1,34],_=[1,35],h=[1,36],v=[1,37],F=[1,43],lt=[1,42],ct=[1,47],U=[1,50],w=[1,10,12,14,16,18,19,21,23,34,35,36],K=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],E=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],ut=[1,64],Z={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:function(r,l,u,g,b,a,N){var x=a.length-1;switch(b){case 5:g.setOrientation(a[x]);break;case 9:g.setDiagramTitle(a[x].text.trim());break;case 12:g.setLineData({text:"",type:"text"},a[x]);break;case 13:g.setLineData(a[x-1],a[x]);break;case 14:g.setBarData({text:"",type:"text"},a[x]);break;case 15:g.setBarData(a[x-1],a[x]);break;case 16:this.$=a[x].trim(),g.setAccTitle(this.$);break;case 17:case 18:this.$=a[x].trim(),g.setAccDescription(this.$);break;case 19:this.$=a[x-1];break;case 20:this.$=[Number(a[x-2]),...a[x]];break;case 21:this.$=[Number(a[x])];break;case 22:g.setXAxisTitle(a[x]);break;case 23:g.setXAxisTitle(a[x-1]);break;case 24:g.setXAxisTitle({type:"text",text:""});break;case 25:g.setXAxisBand(a[x]);break;case 26:g.setXAxisRangeData(Number(a[x-2]),Number(a[x]));break;case 27:this.$=a[x-1];break;case 28:this.$=[a[x-2],...a[x]];break;case 29:this.$=[a[x]];break;case 30:g.setYAxisTitle(a[x]);break;case 31:g.setYAxisTitle(a[x-1]);break;case 32:g.setYAxisTitle({type:"text",text:""});break;case 33:g.setYAxisRangeData(Number(a[x-2]),Number(a[x]));break;case 37:this.$={text:a[x],type:"text"};break;case 38:this.$={text:a[x],type:"text"};break;case 39:this.$={text:a[x],type:"markdown"};break;case 40:this.$=a[x];break;case 41:this.$=a[x-1]+""+a[x];break}},table:[e(t,i,{3:1,4:2,7:4,5:s,34:n,35:o,36:c}),{1:[3]},e(t,i,{4:2,7:4,3:8,5:s,34:n,35:o,36:c}),e(t,i,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:n,35:o,36:c}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},e(f,[2,34]),e(f,[2,35]),e(f,[2,36]),{1:[2,1]},e(t,i,{4:2,7:4,3:21,5:s,34:n,35:o,36:c}),{1:[2,3]},e(f,[2,5]),e(t,[2,7],{4:22,34:n,35:o,36:c}),{11:23,37:24,38:d,39:R,40:27,41:k,42:A,43:y,44:D,45:S,46:L,47:p,48:_,49:h,50:v},{11:39,13:38,24:F,27:lt,29:40,30:41,37:24,38:d,39:R,40:27,41:k,42:A,43:y,44:D,45:S,46:L,47:p,48:_,49:h,50:v},{11:45,15:44,27:ct,33:46,37:24,38:d,39:R,40:27,41:k,42:A,43:y,44:D,45:S,46:L,47:p,48:_,49:h,50:v},{11:49,17:48,24:U,37:24,38:d,39:R,40:27,41:k,42:A,43:y,44:D,45:S,46:L,47:p,48:_,49:h,50:v},{11:52,17:51,24:U,37:24,38:d,39:R,40:27,41:k,42:A,43:y,44:D,45:S,46:L,47:p,48:_,49:h,50:v},{20:[1,53]},{22:[1,54]},e(w,[2,18]),{1:[2,2]},e(w,[2,8]),e(w,[2,9]),e(K,[2,37],{40:55,41:k,42:A,43:y,44:D,45:S,46:L,47:p,48:_,49:h,50:v}),e(K,[2,38]),e(K,[2,39]),e(E,[2,40]),e(E,[2,42]),e(E,[2,43]),e(E,[2,44]),e(E,[2,45]),e(E,[2,46]),e(E,[2,47]),e(E,[2,48]),e(E,[2,49]),e(E,[2,50]),e(E,[2,51]),e(w,[2,10]),e(w,[2,22],{30:41,29:56,24:F,27:lt}),e(w,[2,24]),e(w,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:d,39:R,40:27,41:k,42:A,43:y,44:D,45:S,46:L,47:p,48:_,49:h,50:v},e(w,[2,11]),e(w,[2,30],{33:60,27:ct}),e(w,[2,32]),{31:[1,61]},e(w,[2,12]),{17:62,24:U},{25:63,27:ut},e(w,[2,14]),{17:65,24:U},e(w,[2,16]),e(w,[2,17]),e(E,[2,41]),e(w,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},e(w,[2,31]),{27:[1,69]},e(w,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},e(w,[2,15]),e(w,[2,26]),e(w,[2,27]),{11:59,32:72,37:24,38:d,39:R,40:27,41:k,42:A,43:y,44:D,45:S,46:L,47:p,48:_,49:h,50:v},e(w,[2,33]),e(w,[2,19]),{25:73,27:ut},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:function(r,l){if(l.recoverable)this.trace(r);else{var u=new Error(r);throw u.hash=l,u}},parse:function(r){var l=this,u=[0],g=[],b=[null],a=[],N=this.table,x="",q=0,gt=0,Et=2,xt=1,Mt=a.slice.call(arguments,1),T=Object.create(this.lexer),O={yy:{}};for(var tt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,tt)&&(O.yy[tt]=this.yy[tt]);T.setInput(r,O.yy),O.yy.lexer=T,O.yy.parser=this,typeof T.yylloc>"u"&&(T.yylloc={});var it=T.yylloc;a.push(it);var It=T.options&&T.options.ranges;typeof O.yy.parseError=="function"?this.parseError=O.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Vt(){var V;return V=g.pop()||T.lex()||xt,typeof V!="number"&&(V instanceof Array&&(g=V,V=g.pop()),V=l.symbols_[V]||V),V}for(var P,W,M,et,z={},j,I,dt,G;;){if(W=u[u.length-1],this.defaultActions[W]?M=this.defaultActions[W]:((P===null||typeof P>"u")&&(P=Vt()),M=N[W]&&N[W][P]),typeof M>"u"||!M.length||!M[0]){var st="";G=[];for(j in N[W])this.terminals_[j]&&j>Et&&G.push("'"+this.terminals_[j]+"'");T.showPosition?st="Parse error on line "+(q+1)+`:
|
|
2
|
+
`+T.showPosition()+`
|
|
3
|
+
Expecting `+G.join(", ")+", got '"+(this.terminals_[P]||P)+"'":st="Parse error on line "+(q+1)+": Unexpected "+(P==xt?"end of input":"'"+(this.terminals_[P]||P)+"'"),this.parseError(st,{text:T.match,token:this.terminals_[P]||P,line:T.yylineno,loc:it,expected:G})}if(M[0]instanceof Array&&M.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+P);switch(M[0]){case 1:u.push(P),b.push(T.yytext),a.push(T.yylloc),u.push(M[1]),P=null,gt=T.yyleng,x=T.yytext,q=T.yylineno,it=T.yylloc;break;case 2:if(I=this.productions_[M[1]][1],z.$=b[b.length-I],z._$={first_line:a[a.length-(I||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(I||1)].first_column,last_column:a[a.length-1].last_column},It&&(z._$.range=[a[a.length-(I||1)].range[0],a[a.length-1].range[1]]),et=this.performAction.apply(z,[x,gt,q,O.yy,M[1],b,a].concat(Mt)),typeof et<"u")return et;I&&(u=u.slice(0,-1*I*2),b=b.slice(0,-1*I),a=a.slice(0,-1*I)),u.push(this.productions_[M[1]][0]),b.push(z.$),a.push(z._$),dt=N[u[u.length-2]][u[u.length-1]],u.push(dt);break;case 3:return!0}}return!0}},vt=(function(){var B={EOF:1,parseError:function(l,u){if(this.yy.parser)this.yy.parser.parseError(l,u);else throw new Error(l)},setInput:function(r,l){return this.yy=l||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var l=r.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var l=r.length,u=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var g=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),u.length-1&&(this.yylineno-=u.length-1);var b=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:u?(u.length===g.length?this.yylloc.first_column:0)+g[g.length-u.length].length-u[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),l=new Array(r.length+1).join("-");return r+this.upcomingInput()+`
|
|
5
|
+
`+l+"^"},test_match:function(r,l){var u,g,b;if(this.options.backtrack_lexer&&(b={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(b.yylloc.range=this.yylloc.range.slice(0))),g=r[0].match(/(?:\r\n?|\n).*/g),g&&(this.yylineno+=g.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:g?g[g.length-1].length-g[g.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(r[0].length),this.matched+=r[0],u=this.performAction.call(this,this.yy,this,l,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),u)return u;if(this._backtrack){for(var a in b)this[a]=b[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,l,u,g;this._more||(this.yytext="",this.match="");for(var b=this._currentRules(),a=0;a<b.length;a++)if(u=this._input.match(this.rules[b[a]]),u&&(!l||u[0].length>l[0].length)){if(l=u,g=a,this.options.backtrack_lexer){if(r=this.test_match(u,b[a]),r!==!1)return r;if(this._backtrack){l=!1;continue}else return!1}else if(!this.options.flex)break}return l?(r=this.test_match(l,b[g]),r!==!1?r:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
6
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var l=this.next();return l||this.lex()},begin:function(l){this.conditionStack.push(l)},popState:function(){var l=this.conditionStack.length-1;return l>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(l){return l=this.conditionStack.length-1-Math.abs(l||0),l>=0?this.conditionStack[l]:"INITIAL"},pushState:function(l){this.begin(l)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(l,u,g,b){switch(g){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return B})();Z.lexer=vt;function J(){this.yy={}}return J.prototype=Z,Z.Parser=J,new J})();at.parser=at;const Ft=at;function yt(e){return e.type==="bar"}function wt(e){return e.type==="band"}function X(e){return e.type==="linear"}class St{constructor(t){this.parentGroup=t}getMaxDimension(t,i){if(!this.parentGroup)return{width:t.reduce((o,c)=>Math.max(c.length,o),0)*i,height:i};const s={width:0,height:0},n=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",i);for(const o of t){const c=Bt.computeDimensionOfText(n,1,o),f=c?c.width:o.length*i,d=c?c.height:i;s.width=Math.max(s.width,f),s.height=Math.max(s.height,d)}return n.remove(),s}}const mt=.7,bt=.2;class Ct{constructor(t,i,s,n){this.axisConfig=t,this.title=i,this.textDimensionCalculator=s,this.axisThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(t){this.range=t,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){const t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(t=>t.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){mt*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(mt*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let i=t.height;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const s=this.getLabelDimension(),n=bt*t.width;this.outerPadding=Math.min(s.width/2,n);const o=s.height+this.axisConfig.labelPadding*2;this.labelTextHeight=s.height,o<=i&&(i-=o,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const s=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=s.height+this.axisConfig.titlePadding*2;this.titleTextHeight=s.height,n<=i&&(i-=n,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-i}calculateSpaceIfDrawnVertical(t){let i=t.width;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const s=this.getLabelDimension(),n=bt*t.height;this.outerPadding=Math.min(s.height/2,n);const o=s.width+this.axisConfig.labelPadding*2;o<=i&&(i-=o,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const s=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=s.height+this.axisConfig.titlePadding*2;this.titleTextHeight=s.height,n<=i&&(i-=n,this.showTitle=!0)}this.boundingRect.width=t.width-i,this.boundingRect.height=t.height}calculateSpace(t){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}getDrawableElementsForLeftAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${i},${this.boundingRect.y} L ${i},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(i),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const i=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${i},${this.getScaleValue(s)} L ${i-this.axisConfig.tickLength},${this.getScaleValue(s)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForBottomAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const i=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${this.getScaleValue(s)},${i} L ${this.getScaleValue(s)},${i+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForTopAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const i=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${this.getScaleValue(s)},${i+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(s)},${i+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}class Nt extends Ct{constructor(t,i,s,n,o){super(t,n,o,i),this.categories=s,this.scale=nt().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=nt().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),C.log$1.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)||this.getRange()[0]}}class Xt extends Ct{constructor(t,i,s,n,o){super(t,n,o,i),this.domain=s,this.scale=ft.linear().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const t=[...this.domain];this.axisPosition==="left"&&t.reverse(),this.scale=ft.linear().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}}function At(e,t,i,s){const n=new St(s);return wt(e)?new Nt(t,i,e.categories,e.title,n):new Xt(t,i,[e.min,e.max],e.title,n)}class Yt{constructor(t,i,s,n){this.textDimensionCalculator=t,this.chartConfig=i,this.chartData=s,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){const i=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),s=Math.max(i.width,t.width),n=i.height+2*this.chartConfig.titlePadding;return i.width<=s&&i.height<=n&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=s,this.boundingRect.height=n,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const t=[];return this.showChartTitle&&t.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),t}}function $t(e,t,i,s){const n=new St(s);return new Yt(n,e,t,i)}class Ht{constructor(t,i,s,n,o){this.plotData=t,this.xAxis=i,this.yAxis=s,this.orientation=n,this.plotIndex=o}getDrawableElement(){const t=this.plotData.data.map(s=>[this.xAxis.getScaleValue(s[0]),this.yAxis.getScaleValue(s[1])]);let i;return this.orientation==="horizontal"?i=pt.line().y(s=>s[0]).x(s=>s[1])(t):i=pt.line().x(s=>s[0]).y(s=>s[1])(t),i?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:i,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class Ut{constructor(t,i,s,n,o,c){this.barData=t,this.boundingRect=i,this.xAxis=s,this.yAxis=n,this.orientation=o,this.plotIndex=c}getDrawableElement(){const t=this.barData.data.map(o=>[this.xAxis.getScaleValue(o[0]),this.yAxis.getScaleValue(o[1])]),s=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),n=s/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(o=>({x:this.boundingRect.x,y:o[0]-n,height:s,width:o[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(o=>({x:o[0]-n,y:o[1],width:s,height:this.boundingRect.y+this.boundingRect.height-o[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}class qt{constructor(t,i,s){this.chartConfig=t,this.chartData=i,this.chartThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(t,i){this.xAxis=t,this.yAxis=i}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const t=[];for(const[i,s]of this.chartData.plots.entries())switch(s.type){case"line":{const n=new Ht(s,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...n.getDrawableElement())}break;case"bar":{const n=new Ut(s,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...n.getDrawableElement())}break}return t}}function jt(e,t,i){return new qt(e,t,i)}class Gt{constructor(t,i,s,n){this.chartConfig=t,this.chartData=i,this.componentStore={title:$t(t,i,s,n),plot:jt(t,i,s),xAxis:At(i.xAxis,t.xAxis,{titleColor:s.xAxisTitleColor,labelColor:s.xAxisLabelColor,tickColor:s.xAxisTickColor,axisLineColor:s.xAxisLineColor},n),yAxis:At(i.yAxis,t.yAxis,{titleColor:s.yAxisTitleColor,labelColor:s.yAxisLabelColor,tickColor:s.yAxisTickColor,axisLineColor:s.yAxisLineColor},n)}}calculateVerticalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,s=0,n=0,o=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),c=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),f=this.componentStore.plot.calculateSpace({width:o,height:c});t-=f.width,i-=f.height,f=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),n=f.height,i-=f.height,this.componentStore.xAxis.setAxisPosition("bottom"),f=this.componentStore.xAxis.calculateSpace({width:t,height:i}),i-=f.height,this.componentStore.yAxis.setAxisPosition("left"),f=this.componentStore.yAxis.calculateSpace({width:t,height:i}),s=f.width,t-=f.width,t>0&&(o+=t,t=0),i>0&&(c+=i,i=0),this.componentStore.plot.calculateSpace({width:o,height:c}),this.componentStore.plot.setBoundingBoxXY({x:s,y:n}),this.componentStore.xAxis.setRange([s,s+o]),this.componentStore.xAxis.setBoundingBoxXY({x:s,y:n+c}),this.componentStore.yAxis.setRange([n,n+c]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:n}),this.chartData.plots.some(d=>yt(d))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,s=0,n=0,o=0,c=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),f=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),d=this.componentStore.plot.calculateSpace({width:c,height:f});t-=d.width,i-=d.height,d=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),s=d.height,i-=d.height,this.componentStore.xAxis.setAxisPosition("left"),d=this.componentStore.xAxis.calculateSpace({width:t,height:i}),t-=d.width,n=d.width,this.componentStore.yAxis.setAxisPosition("top"),d=this.componentStore.yAxis.calculateSpace({width:t,height:i}),i-=d.height,o=s+d.height,t>0&&(c+=t,t=0),i>0&&(f+=i,i=0),this.componentStore.plot.calculateSpace({width:c,height:f}),this.componentStore.plot.setBoundingBoxXY({x:n,y:o}),this.componentStore.yAxis.setRange([n,n+c]),this.componentStore.yAxis.setBoundingBoxXY({x:n,y:s}),this.componentStore.xAxis.setRange([o,o+f]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:o}),this.chartData.plots.some(R=>yt(R))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const t=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const i of Object.values(this.componentStore))t.push(...i.getDrawableElements());return t}}class Qt{static build(t,i,s,n){return new Gt(t,i,s,n).getDrawableElement()}}let Y=0,_t,$=Tt(),H=kt(),m=Rt(),ot=H.plotColorPalette.split(",").map(e=>e.trim()),Q=!1,rt=!1;function kt(){const e=C.getThemeVariables$2(),t=C.getConfig$1();return C.cleanAndMerge(e.xyChart,t.themeVariables.xyChart)}function Tt(){const e=C.getConfig$1();return C.cleanAndMerge(C.defaultConfig$2.xyChart,e.xyChart)}function Rt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function ht(e){const t=C.getConfig$1();return C.sanitizeText$2(e.trim(),t)}function Kt(e){_t=e}function Zt(e){e==="horizontal"?$.chartOrientation="horizontal":$.chartOrientation="vertical"}function Jt(e){m.xAxis.title=ht(e.text)}function Dt(e,t){m.xAxis={type:"linear",title:m.xAxis.title,min:e,max:t},Q=!0}function ti(e){m.xAxis={type:"band",title:m.xAxis.title,categories:e.map(t=>ht(t.text))},Q=!0}function ii(e){m.yAxis.title=ht(e.text)}function ei(e,t){m.yAxis={type:"linear",title:m.yAxis.title,min:e,max:t},rt=!0}function si(e){const t=Math.min(...e),i=Math.max(...e),s=X(m.yAxis)?m.yAxis.min:1/0,n=X(m.yAxis)?m.yAxis.max:-1/0;m.yAxis={type:"linear",title:m.yAxis.title,min:Math.min(s,t),max:Math.max(n,i)}}function Pt(e){let t=[];if(e.length===0)return t;if(!Q){const i=X(m.xAxis)?m.xAxis.min:1/0,s=X(m.xAxis)?m.xAxis.max:-1/0;Dt(Math.min(i,1),Math.max(s,e.length))}if(rt||si(e),wt(m.xAxis)&&(t=m.xAxis.categories.map((i,s)=>[i,e[s]])),X(m.xAxis)){const i=m.xAxis.min,s=m.xAxis.max,n=(s-i+1)/e.length,o=[];for(let c=i;c<=s;c+=n)o.push(`${c}`);t=o.map((c,f)=>[c,e[f]])}return t}function Lt(e){return ot[e===0?0:e%ot.length]}function ni(e,t){const i=Pt(t);m.plots.push({type:"line",strokeFill:Lt(Y),strokeWidth:2,data:i}),Y++}function ai(e,t){const i=Pt(t);m.plots.push({type:"bar",fill:Lt(Y),data:i}),Y++}function oi(){if(m.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return m.title=C.getDiagramTitle(),Qt.build($,m,H,_t)}function ri(){return H}function hi(){return $}const li=function(){C.clear(),Y=0,$=Tt(),m=Rt(),H=kt(),ot=H.plotColorPalette.split(",").map(e=>e.trim()),Q=!1,rt=!1},ci={getDrawableElem:oi,clear:li,setAccTitle:C.setAccTitle,getAccTitle:C.getAccTitle,setDiagramTitle:C.setDiagramTitle,getDiagramTitle:C.getDiagramTitle,getAccDescription:C.getAccDescription,setAccDescription:C.setAccDescription,setOrientation:Zt,setXAxisTitle:Jt,setXAxisRangeData:Dt,setXAxisBand:ti,setYAxisTitle:ii,setYAxisRangeData:ei,setLineData:ni,setBarData:ai,setTmpSVGG:Kt,getChartThemeConfig:ri,getChartConfig:hi},ui=(e,t,i,s)=>{const n=s.db,o=n.getChartThemeConfig(),c=n.getChartConfig();function f(p){return p==="top"?"text-before-edge":"middle"}function d(p){return p==="left"?"start":p==="right"?"end":"middle"}function R(p){return`translate(${p.x}, ${p.y}) rotate(${p.rotation||0})`}C.log$1.debug(`Rendering xychart chart
|
|
7
|
+
`+e);const k=C.selectSvgElement(t),A=k.append("g").attr("class","main"),y=A.append("rect").attr("width",c.width).attr("height",c.height).attr("class","background");C.configureSvgSize(k,c.height,c.width,!0),k.attr("viewBox",`0 0 ${c.width} ${c.height}`),y.attr("fill",o.backgroundColor),n.setTmpSVGG(k.append("g").attr("class","mermaid-tmp-group"));const D=n.getDrawableElem(),S={};function L(p){let _=A,h="";for(const[v]of p.entries()){let F=A;v>0&&S[h]&&(F=S[h]),h+=p[v],_=S[h],_||(_=S[h]=F.append("g").attr("class",p[v]))}return _}for(const p of D){if(p.data.length===0)continue;const _=L(p.groupTexts);switch(p.type){case"rect":_.selectAll("rect").data(p.data).enter().append("rect").attr("x",h=>h.x).attr("y",h=>h.y).attr("width",h=>h.width).attr("height",h=>h.height).attr("fill",h=>h.fill).attr("stroke",h=>h.strokeFill).attr("stroke-width",h=>h.strokeWidth);break;case"text":_.selectAll("text").data(p.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",h=>h.fill).attr("font-size",h=>h.fontSize).attr("dominant-baseline",h=>f(h.verticalPos)).attr("text-anchor",h=>d(h.horizontalPos)).attr("transform",h=>R(h)).text(h=>h.text);break;case"path":_.selectAll("path").data(p.data).enter().append("path").attr("d",h=>h.path).attr("fill",h=>h.fill?h.fill:"none").attr("stroke",h=>h.strokeFill).attr("stroke-width",h=>h.strokeWidth);break}}},gi={draw:ui},xi={parser:Ft,db:ci,renderer:gi};exports.diagram=xi;
|