@8btc/xcanvas 0.0.2 → 0.0.4
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/README.md +2 -2
- package/dist/{XCanvas-BxdLBkBz.js → XCanvas-CB8oO4UO.js} +220 -43
- package/dist/{ar-SA-G6X2FPQ2-DjqDLLYL.js → ar-SA-G6X2FPQ2-CO3hWZ_L.js} +1 -1
- package/dist/{arc-D1qX5GFf.js → arc-CYnUonsF.js} +1 -1
- package/dist/{az-AZ-76LH7QW2-D7LOsF3_.js → az-AZ-76LH7QW2-CjJtZWzg.js} +1 -1
- package/dist/{bg-BG-XCXSNQG7-WI4tFn23.js → bg-BG-XCXSNQG7-BVb8CvH8.js} +1 -1
- package/dist/{blockDiagram-38ab4fdb-DtemKfEh.js → blockDiagram-38ab4fdb-D8tnUdVm.js} +5 -5
- package/dist/{bn-BD-2XOGV67Q-Bugx_8fy.js → bn-BD-2XOGV67Q-C6NOv14l.js} +1 -1
- package/dist/{c4Diagram-3d4e48cf-Byd2vU9K.js → c4Diagram-3d4e48cf-CA8WGqIv.js} +2 -2
- package/dist/{ca-ES-6MX7JW3Y-6rFwKGsQ.js → ca-ES-6MX7JW3Y-Dk-lP-nT.js} +1 -1
- package/dist/{channel-BT_3Ze-Y.js → channel-DeisP17Z.js} +1 -1
- package/dist/{chunk-EIO257PC-C7qD7hGu.js → chunk-EIO257PC-CsDB2ftX.js} +1 -1
- package/dist/{classDiagram-70f12bd4-CwfYadk-.js → classDiagram-70f12bd4-DTZU0H00.js} +5 -5
- package/dist/{classDiagram-v2-f2320105-B28MuM8f.js → classDiagram-v2-f2320105-BadhCEFu.js} +5 -5
- package/dist/{clone-D2FUK8WY.js → clone-75eXcrG7.js} +1 -1
- package/dist/{createText-2e5e7dd3-Ca1JfQaJ.js → createText-2e5e7dd3-B9-JoT2J.js} +1 -1
- package/dist/{cs-CZ-2BRQDIVT-Dhd8XszK.js → cs-CZ-2BRQDIVT-Bc9fWVyf.js} +1 -1
- package/dist/{da-DK-5WZEPLOC-BhL87sSs.js → da-DK-5WZEPLOC-B7uphXHN.js} +1 -1
- package/dist/{de-DE-XR44H4JA-xSrZSV0J.js → de-DE-XR44H4JA-Dy8ondmU.js} +1 -1
- package/dist/{edges-e0da2a9e-9VbVapWU.js → edges-e0da2a9e-CQu9_UlT.js} +3 -3
- package/dist/{el-GR-BZB4AONW-DQORZ_pY.js → el-GR-BZB4AONW-BFN4ME4G.js} +1 -1
- package/dist/{en-B4ZKOASM-D2BVbEdz.js → en-B4ZKOASM-D3wZjzBP.js} +1 -1
- package/dist/{erDiagram-9861fffd-D4S9QDes.js → erDiagram-9861fffd-BNMWQJAw.js} +4 -4
- package/dist/{es-ES-U4NZUMDT-C0Q89-0V.js → es-ES-U4NZUMDT-dpS2lMKQ.js} +1 -1
- package/dist/{eu-ES-A7QVB2H4-BwBW3cEw.js → eu-ES-A7QVB2H4-s2DA3YCf.js} +1 -1
- package/dist/{fa-IR-HGAKTJCU-DtZ74rm4.js → fa-IR-HGAKTJCU-BNVamR_K.js} +1 -1
- package/dist/{fi-FI-Z5N7JZ37-QvQan48z.js → fi-FI-Z5N7JZ37-BpsUlbp_.js} +1 -1
- package/dist/{flowDb-956e92f1-S6T8ppJw.js → flowDb-956e92f1-BmZs4KB1.js} +1 -1
- package/dist/{flowDiagram-66a62f08-C6TTwS5_.js → flowDiagram-66a62f08-BPTQiBES.js} +6 -6
- package/dist/{flowDiagram-v2-96b9c2cf-CzfeUNGP.js → flowDiagram-v2-96b9c2cf-DzF-xtkG.js} +5 -5
- package/dist/{flowchart-elk-definition-4a651766-CRv1kWtk.js → flowchart-elk-definition-4a651766-B_iODeBM.js} +5 -5
- package/dist/{fr-FR-RHASNOE6-CZFiweNU.js → fr-FR-RHASNOE6-Dt5REDL2.js} +1 -1
- package/dist/{ganttDiagram-c361ad54-CAnfd8Sw.js → ganttDiagram-c361ad54-D2UeqZUU.js} +3 -3
- package/dist/{gitGraphDiagram-72cf32ee-CSGI-xRI.js → gitGraphDiagram-72cf32ee-USRuLe14.js} +1 -1
- package/dist/{gl-ES-HMX3MZ6V-Bqv2xL-V.js → gl-ES-HMX3MZ6V-DxZgLDtP.js} +1 -1
- package/dist/{graph-Ct2tKpKj.js → graph-C_b2NbS0.js} +1 -1
- package/dist/{he-IL-6SHJWFNN-kso30jhn.js → he-IL-6SHJWFNN-CoomUX4B.js} +1 -1
- package/dist/{hi-IN-IWLTKZ5I-Busk5oaa.js → hi-IN-IWLTKZ5I-BPm2wYyt.js} +1 -1
- package/dist/{hu-HU-A5ZG7DT2-xSR2C2H0.js → hu-HU-A5ZG7DT2-DxyMZsDQ.js} +1 -1
- package/dist/{id-ID-SAP4L64H-BQQZYm1L.js → id-ID-SAP4L64H-B6e9vg4q.js} +1 -1
- package/dist/{image-EDRW2JGV-Cx7o2kxD.js → image-EDRW2JGV-D8WRJNV5.js} +1 -1
- package/dist/{index-3862675e-B3j3w-v_.js → index-3862675e-o37EbAEl.js} +6 -6
- package/dist/{index-CLOU2Ikr.js → index-D_C0FKVU.js} +23 -23
- package/dist/index.css +21 -43
- package/dist/index.d.ts +9 -2
- package/dist/index.js +1 -1
- package/dist/index.umd.cjs +211 -34
- package/dist/{infoDiagram-f8f76790-NqA75uBo.js → infoDiagram-f8f76790-yR6-Za2i.js} +1 -1
- package/dist/{it-IT-JPQ66NNP-CAMVZrYt.js → it-IT-JPQ66NNP-CRT3esMv.js} +1 -1
- package/dist/{ja-JP-DBVTYXUO-CAX8A_Uj.js → ja-JP-DBVTYXUO-B6AAF-Jr.js} +1 -1
- package/dist/{journeyDiagram-49397b02-By5oBzsZ.js → journeyDiagram-49397b02-lNyagjXB.js} +3 -3
- package/dist/{kaa-6HZHGXH3-4-o94cPY.js → kaa-6HZHGXH3-BaZZg6sA.js} +1 -1
- package/dist/{kab-KAB-ZGHBKWFO-CgyjjBvZ.js → kab-KAB-ZGHBKWFO-D46CI3jH.js} +1 -1
- package/dist/{kk-KZ-P5N5QNE5-BEqZcwLA.js → kk-KZ-P5N5QNE5-Cmfnz7AK.js} +1 -1
- package/dist/{km-KH-HSX4SM5Z-DvKDbeH4.js → km-KH-HSX4SM5Z-iFFuhLD6.js} +1 -1
- package/dist/{ko-KR-MTYHY66A-DKCuAbKE.js → ko-KR-MTYHY66A-CmKfFWzE.js} +1 -1
- package/dist/{ku-TR-6OUDTVRD-CNUs4cCe.js → ku-TR-6OUDTVRD-B6KuNVIm.js} +1 -1
- package/dist/{layout-AJxYKqQV.js → layout-DTAkrYBJ.js} +2 -2
- package/dist/{line-DJIf5OM8.js → line-Dr3o9AYK.js} +1 -1
- package/dist/{linear-Cfj4s4vI.js → linear-CjRu8MB7.js} +1 -1
- package/dist/loading.gif +0 -0
- package/dist/{lt-LT-XHIRWOB4-gouzGdoW.js → lt-LT-XHIRWOB4-B_ahNyae.js} +1 -1
- package/dist/{lv-LV-5QDEKY6T-CTvg1XFv.js → lv-LV-5QDEKY6T-CkqP131J.js} +1 -1
- package/dist/{mindmap-definition-fc14e90a-CBlwH_UF.js → mindmap-definition-fc14e90a-DkbsCKfY.js} +3 -3
- package/dist/{mr-IN-CRQNXWMA-QeYm06Kq.js → mr-IN-CRQNXWMA-CZXMUxcc.js} +1 -1
- package/dist/{my-MM-5M5IBNSE-DG3k9ORf.js → my-MM-5M5IBNSE-C9fFW3p2.js} +1 -1
- package/dist/{nb-NO-T6EIAALU-Cj995Nmg.js → nb-NO-T6EIAALU-D00SrFRT.js} +1 -1
- package/dist/{nl-NL-IS3SIHDZ-B-2H7xey.js → nl-NL-IS3SIHDZ-D8NlOCQZ.js} +1 -1
- package/dist/{nn-NO-6E72VCQL-DrAwKKTN.js → nn-NO-6E72VCQL-9VstPxG8.js} +1 -1
- package/dist/{oc-FR-POXYY2M6-CeyJD7tq.js → oc-FR-POXYY2M6-mlYUROT8.js} +1 -1
- package/dist/{pa-IN-N4M65BXN-DHzi6mjo.js → pa-IN-N4M65BXN-CEEskuPR.js} +1 -1
- package/dist/{percentages-BXMCSKIN-CDYsTuua.js → percentages-BXMCSKIN-CJ0-KBf2.js} +1 -1
- package/dist/{pica-CzzcRNRD.js → pica-CRUcAi0U.js} +1 -1
- package/dist/{pieDiagram-8a3498a8-DueGoZOh.js → pieDiagram-8a3498a8-Br3kC-Ro.js} +2 -2
- package/dist/{pl-PL-T2D74RX3-BBNEV2c6.js → pl-PL-T2D74RX3-B0573z9z.js} +1 -1
- package/dist/{pt-BR-5N22H2LF-D2cTx_F0.js → pt-BR-5N22H2LF-CbgtE21X.js} +1 -1
- package/dist/{pt-PT-UZXXM6DQ-BddvLLsF.js → pt-PT-UZXXM6DQ-DMLyk0YO.js} +1 -1
- package/dist/{quadrantDiagram-120e2f19-Tb6_oGIn.js → quadrantDiagram-120e2f19-BAFv2oHo.js} +2 -2
- package/dist/{requirementDiagram-deff3bca-CEeg0ep-.js → requirementDiagram-deff3bca-Y9q1CAL-.js} +4 -4
- package/dist/{ro-RO-JPDTUUEW-DynuW50i.js → ro-RO-JPDTUUEW-QCuVyZw4.js} +1 -1
- package/dist/{ru-RU-B4JR7IUQ-B5Hecrew.js → ru-RU-B4JR7IUQ-C6-ZQk46.js} +1 -1
- package/dist/{sankeyDiagram-04a897e0-CGTLQ8Gm.js → sankeyDiagram-04a897e0-CPu3IjdF.js} +1 -1
- package/dist/{sequenceDiagram-704730f1-CZ72D-Nd.js → sequenceDiagram-704730f1-CRjkkTPo.js} +2 -2
- package/dist/{si-LK-N5RQ5JYF-BGMa93tc.js → si-LK-N5RQ5JYF-BrmxYIeg.js} +1 -1
- package/dist/{sk-SK-C5VTKIMK-BttCAlBm.js → sk-SK-C5VTKIMK-B5e16Gqd.js} +1 -1
- package/dist/{sl-SI-NN7IZMDC-DTC59nzG.js → sl-SI-NN7IZMDC-DKZF_90P.js} +1 -1
- package/dist/{stateDiagram-587899a1-XISZzz_f.js → stateDiagram-587899a1-D3C5NpRa.js} +5 -5
- package/dist/{stateDiagram-v2-d93cdb3a-DbCcmzTc.js → stateDiagram-v2-d93cdb3a-VJvWpWt8.js} +5 -5
- package/dist/{styles-6aaf32cf-CyfdkEib.js → styles-6aaf32cf-Cga1awyT.js} +1 -1
- package/dist/{styles-9a916d00-zQ92RrTB.js → styles-9a916d00-CZcajMZO.js} +1 -1
- package/dist/{styles-c10674c1-BWmkigmR.js → styles-c10674c1-Dw-v0-2y.js} +4 -4
- package/dist/{subset-shared.chunk-BuFt2PpZ.js → subset-shared.chunk-B3jKVF_v.js} +2 -2
- package/dist/{subset-worker.chunk-CgaFXU4O.js → subset-worker.chunk-BPZ9lRyO.js} +2 -2
- package/dist/{sv-SE-XGPEYMSR-BPDlPxC1.js → sv-SE-XGPEYMSR-C9aBKasF.js} +1 -1
- package/dist/{svgDrawCommon-08f97a94-CJ0lufOi.js → svgDrawCommon-08f97a94-3s9STiwU.js} +1 -1
- package/dist/{ta-IN-2NMHFXQM-CI1ZsNk9.js → ta-IN-2NMHFXQM-y-K66H5e.js} +1 -1
- package/dist/{th-TH-HPSO5L25-CUM-w2Qt.js → th-TH-HPSO5L25-EX7HwJMo.js} +1 -1
- package/dist/{timeline-definition-85554ec2-DV6084Gl.js → timeline-definition-85554ec2-C4RqT4VZ.js} +2 -2
- package/dist/{tr-TR-DEFEU3FU-CGpyf_vD.js → tr-TR-DEFEU3FU-KDM5AJhh.js} +1 -1
- package/dist/{uk-UA-QMV73CPH-Bg15Mv3J.js → uk-UA-QMV73CPH-tQwymE_T.js} +1 -1
- package/dist/{vi-VN-M7AON7JQ-AYmca9so.js → vi-VN-M7AON7JQ-Db9VVrBW.js} +1 -1
- package/dist/{xychartDiagram-e933f94c-P1e6EEaH.js → xychartDiagram-e933f94c-DJk5y6pY.js} +4 -4
- package/dist/{zh-CN-LNUGB5OW-Dem2Cc-c.js → zh-CN-LNUGB5OW-qTmXaYqw.js} +1 -1
- package/dist/{zh-HK-E62DVLB3-BjsDyiLI.js → zh-HK-E62DVLB3-C8EuHDeT.js} +1 -1
- package/dist/{zh-TW-RAJ6MFWO-IDAsc9Pz.js → zh-TW-RAJ6MFWO-QAxlxG2S.js} +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# xcanvas
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
画布
|
|
4
4
|
|
|
5
5
|
### 示例
|
|
6
6
|
|
|
@@ -60,7 +60,7 @@ export interface XCanvasAPI {
|
|
|
60
60
|
/**
|
|
61
61
|
* 将指定的 loading 元素替换为真实图片
|
|
62
62
|
*/
|
|
63
|
-
replaceLoadingWithImages: (id: string,
|
|
63
|
+
replaceLoadingWithImages: (id: string, urls: string[]) => Promise<void>;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
export type Events = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { atom, createStore as createStore$2, useAtom as useAtom$1, useAtomValue as useAtomValue$1, useSetAtom as useSetAtom$1 } from "jotai";
|
|
3
3
|
import * as React from "react";
|
|
4
|
-
import React__default, { useCallback, useReducer, useEffect, useDebugValue as useDebugValue$1, useContext, createContext, useRef, useLayoutEffect, useState, useMemo, createElement, forwardRef, Children, isValidElement, cloneElement, Fragment as Fragment$1, memo, useImperativeHandle, version, useDeferredValue } from "react";
|
|
4
|
+
import React__default, { useCallback, useReducer, useEffect, useDebugValue as useDebugValue$1, useContext, createContext, useRef, useLayoutEffect, useState, useMemo, createElement, forwardRef, Children, isValidElement, cloneElement, Fragment as Fragment$1, memo, useImperativeHandle, version as version$1, useDeferredValue } from "react";
|
|
5
5
|
import * as ReactDOM from "react-dom";
|
|
6
6
|
import ReactDOM__default, { flushSync, unstable_batchedUpdates, createPortal } from "react-dom";
|
|
7
7
|
var c$1 = { VITE_APP_BACKEND_V2_GET_URL: "https://json.excalidraw.com/api/v2/", VITE_APP_BACKEND_V2_POST_URL: "https://json.excalidraw.com/api/v2/post/", VITE_APP_LIBRARY_URL: "https://libraries.excalidraw.com", VITE_APP_LIBRARY_BACKEND: "https://us-central1-excalidraw-room-persistence.cloudfunctions.net/libraries", VITE_APP_PLUS_LP: "https://plus.excalidraw.com", VITE_APP_PLUS_APP: "https://app.excalidraw.com", VITE_APP_AI_BACKEND: "https://oss-ai.excalidraw.com", VITE_APP_WS_SERVER_URL: "https://oss-collab.excalidraw.com", VITE_APP_FIREBASE_CONFIG: '{"apiKey":"AIzaSyAd15pYlMci_xIp9ko6wkEsDzAAA0Dn0RU","authDomain":"excalidraw-room-persistence.firebaseapp.com","databaseURL":"https://excalidraw-room-persistence.firebaseio.com","projectId":"excalidraw-room-persistence","storageBucket":"excalidraw-room-persistence.appspot.com","messagingSenderId":"654800341332","appId":"1:654800341332:web:4a692de832b55bd57ce0c1"}', VITE_APP_ENABLE_TRACKING: "false", VITE_APP_PLUS_EXPORT_PUBLIC_KEY: `MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApQ0jM9Qz8TdFLzcuAZZX
|
|
@@ -8075,7 +8075,7 @@ var Vd = typeof Worker < "u", qd = async (e12, t3) => {
|
|
|
8075
8075
|
return Vd = false, bd$1() && (i3 instanceof zn || i3 instanceof Qn) || console.error("Failed to use workers for subsetting, falling back to the main thread.", i3), r3(e12, t3);
|
|
8076
8076
|
}
|
|
8077
8077
|
}) : r3(e12, t3);
|
|
8078
|
-
}, pa = null, ua = null, W6 = async () => (pa || (pa = import("./subset-worker.chunk-
|
|
8078
|
+
}, pa = null, ua = null, W6 = async () => (pa || (pa = import("./subset-worker.chunk-BPZ9lRyO.js")), pa), z6 = async () => (ua || (ua = import("./subset-shared.chunk-B3jKVF_v.js")), ua), ma = null, Q6 = () => (ma || (ma = mn(async () => {
|
|
8079
8079
|
let { WorkerUrl: e12 } = await W6();
|
|
8080
8080
|
return qo$1.create(e12);
|
|
8081
8081
|
})), ma);
|
|
@@ -13452,7 +13452,7 @@ var X2 = (e12) => {
|
|
|
13452
13452
|
var s6 = async (e12) => {
|
|
13453
13453
|
let t3;
|
|
13454
13454
|
if (e12.type === H.png) try {
|
|
13455
|
-
return await (await import("./image-EDRW2JGV-
|
|
13455
|
+
return await (await import("./image-EDRW2JGV-D8WRJNV5.js")).decodePngMetadata(e12);
|
|
13456
13456
|
} catch (n3) {
|
|
13457
13457
|
throw n3.message === "INVALID" ? new nn("Image doesn't contain scene", "IMAGE_NOT_CONTAINS_SCENE_DATA") : new nn("Error: cannot restore image");
|
|
13458
13458
|
}
|
|
@@ -13525,7 +13525,7 @@ var K9 = (e12) => e12 && e12.name.match(/\.(json|excalidraw|png|svg)$/)?.[1] ||
|
|
|
13525
13525
|
return new File([i3], t3, { type: o3 });
|
|
13526
13526
|
}, BY = (e12) => Di$1(e12.slice(e12.indexOf(",") + 1)), _Y = async (e12, t3) => {
|
|
13527
13527
|
if (e12.type === H.svg) return e12;
|
|
13528
|
-
let [n3, r3] = await Promise.all([import("./pica-
|
|
13528
|
+
let [n3, r3] = await Promise.all([import("./pica-CRUcAi0U.js").then((n8) => n8.p).then((i3) => i3.default), import("./image-blob-reduce.esm-BKPqMdie.js").then((i3) => i3.default)]), o3 = r3({ pica: n3({ features: ["js", "wasm"] }) });
|
|
13529
13529
|
if (t3.outputType) {
|
|
13530
13530
|
let { outputType: i3 } = t3;
|
|
13531
13531
|
o3._create_blob = function(a3) {
|
|
@@ -20476,7 +20476,7 @@ _$94cfa2cfccc8cc22$export$6531021b3bf36eae.constants = {
|
|
|
20476
20476
|
let $94cfa2cfccc8cc22$export$6531021b3bf36eae = _$94cfa2cfccc8cc22$export$6531021b3bf36eae;
|
|
20477
20477
|
var YE = createIsolation();
|
|
20478
20478
|
var { useAtom: ce, useSetAtom: Tr, useAtomValue: Ws, useStore: LM } = YE, VE = YE.Provider, st = createStore$2();
|
|
20479
|
-
var YT = g$2({ "./locales/ar-SA.json": () => import("./ar-SA-G6X2FPQ2-
|
|
20479
|
+
var YT = g$2({ "./locales/ar-SA.json": () => import("./ar-SA-G6X2FPQ2-CO3hWZ_L.js"), "./locales/az-AZ.json": () => import("./az-AZ-76LH7QW2-CjJtZWzg.js"), "./locales/bg-BG.json": () => import("./bg-BG-XCXSNQG7-BVb8CvH8.js"), "./locales/bn-BD.json": () => import("./bn-BD-2XOGV67Q-C6NOv14l.js"), "./locales/ca-ES.json": () => import("./ca-ES-6MX7JW3Y-Dk-lP-nT.js"), "./locales/cs-CZ.json": () => import("./cs-CZ-2BRQDIVT-Bc9fWVyf.js"), "./locales/da-DK.json": () => import("./da-DK-5WZEPLOC-B7uphXHN.js"), "./locales/de-DE.json": () => import("./de-DE-XR44H4JA-Dy8ondmU.js"), "./locales/el-GR.json": () => import("./el-GR-BZB4AONW-BFN4ME4G.js"), "./locales/en.json": () => import("./en-B4ZKOASM-D3wZjzBP.js"), "./locales/es-ES.json": () => import("./es-ES-U4NZUMDT-dpS2lMKQ.js"), "./locales/eu-ES.json": () => import("./eu-ES-A7QVB2H4-s2DA3YCf.js"), "./locales/fa-IR.json": () => import("./fa-IR-HGAKTJCU-BNVamR_K.js"), "./locales/fi-FI.json": () => import("./fi-FI-Z5N7JZ37-BpsUlbp_.js"), "./locales/fr-FR.json": () => import("./fr-FR-RHASNOE6-Dt5REDL2.js"), "./locales/gl-ES.json": () => import("./gl-ES-HMX3MZ6V-DxZgLDtP.js"), "./locales/he-IL.json": () => import("./he-IL-6SHJWFNN-CoomUX4B.js"), "./locales/hi-IN.json": () => import("./hi-IN-IWLTKZ5I-BPm2wYyt.js"), "./locales/hu-HU.json": () => import("./hu-HU-A5ZG7DT2-DxyMZsDQ.js"), "./locales/id-ID.json": () => import("./id-ID-SAP4L64H-B6e9vg4q.js"), "./locales/it-IT.json": () => import("./it-IT-JPQ66NNP-CRT3esMv.js"), "./locales/ja-JP.json": () => import("./ja-JP-DBVTYXUO-B6AAF-Jr.js"), "./locales/kaa.json": () => import("./kaa-6HZHGXH3-BaZZg6sA.js"), "./locales/kab-KAB.json": () => import("./kab-KAB-ZGHBKWFO-D46CI3jH.js"), "./locales/kk-KZ.json": () => import("./kk-KZ-P5N5QNE5-Cmfnz7AK.js"), "./locales/km-KH.json": () => import("./km-KH-HSX4SM5Z-iFFuhLD6.js"), "./locales/ko-KR.json": () => import("./ko-KR-MTYHY66A-CmKfFWzE.js"), "./locales/ku-TR.json": () => import("./ku-TR-6OUDTVRD-B6KuNVIm.js"), "./locales/lt-LT.json": () => import("./lt-LT-XHIRWOB4-B_ahNyae.js"), "./locales/lv-LV.json": () => import("./lv-LV-5QDEKY6T-CkqP131J.js"), "./locales/mr-IN.json": () => import("./mr-IN-CRQNXWMA-CZXMUxcc.js"), "./locales/my-MM.json": () => import("./my-MM-5M5IBNSE-C9fFW3p2.js"), "./locales/nb-NO.json": () => import("./nb-NO-T6EIAALU-D00SrFRT.js"), "./locales/nl-NL.json": () => import("./nl-NL-IS3SIHDZ-D8NlOCQZ.js"), "./locales/nn-NO.json": () => import("./nn-NO-6E72VCQL-9VstPxG8.js"), "./locales/oc-FR.json": () => import("./oc-FR-POXYY2M6-mlYUROT8.js"), "./locales/pa-IN.json": () => import("./pa-IN-N4M65BXN-CEEskuPR.js"), "./locales/percentages.json": () => import("./percentages-BXMCSKIN-CJ0-KBf2.js"), "./locales/pl-PL.json": () => import("./pl-PL-T2D74RX3-B0573z9z.js"), "./locales/pt-BR.json": () => import("./pt-BR-5N22H2LF-CbgtE21X.js"), "./locales/pt-PT.json": () => import("./pt-PT-UZXXM6DQ-DMLyk0YO.js"), "./locales/ro-RO.json": () => import("./ro-RO-JPDTUUEW-QCuVyZw4.js"), "./locales/ru-RU.json": () => import("./ru-RU-B4JR7IUQ-C6-ZQk46.js"), "./locales/si-LK.json": () => import("./si-LK-N5RQ5JYF-BrmxYIeg.js"), "./locales/sk-SK.json": () => import("./sk-SK-C5VTKIMK-B5e16Gqd.js"), "./locales/sl-SI.json": () => import("./sl-SI-NN7IZMDC-DKZF_90P.js"), "./locales/sv-SE.json": () => import("./sv-SE-XGPEYMSR-C9aBKasF.js"), "./locales/ta-IN.json": () => import("./ta-IN-2NMHFXQM-y-K66H5e.js"), "./locales/th-TH.json": () => import("./th-TH-HPSO5L25-EX7HwJMo.js"), "./locales/tr-TR.json": () => import("./tr-TR-DEFEU3FU-KDM5AJhh.js"), "./locales/uk-UA.json": () => import("./uk-UA-QMV73CPH-tQwymE_T.js"), "./locales/vi-VN.json": () => import("./vi-VN-M7AON7JQ-Db9VVrBW.js"), "./locales/zh-CN.json": () => import("./zh-CN-LNUGB5OW-qTmXaYqw.js"), "./locales/zh-HK.json": () => import("./zh-HK-E62DVLB3-C8EuHDeT.js"), "./locales/zh-TW.json": () => import("./zh-TW-RAJ6MFWO-QAxlxG2S.js") });
|
|
20480
20480
|
var VT = 85, _o = { code: "en", label: "English" }, xi = [_o, ...[{ code: "ar-SA", label: "العربية", rtl: true }, { code: "bg-BG", label: "Български" }, { code: "ca-ES", label: "Català" }, { code: "cs-CZ", label: "Česky" }, { code: "de-DE", label: "Deutsch" }, { code: "el-GR", label: "Ελληνικά" }, { code: "es-ES", label: "Español" }, { code: "eu-ES", label: "Euskara" }, { code: "fa-IR", label: "فارسی", rtl: true }, { code: "fi-FI", label: "Suomi" }, { code: "fr-FR", label: "Français" }, { code: "gl-ES", label: "Galego" }, { code: "he-IL", label: "עברית", rtl: true }, { code: "hi-IN", label: "हिन्दी" }, { code: "hu-HU", label: "Magyar" }, { code: "id-ID", label: "Bahasa Indonesia" }, { code: "it-IT", label: "Italiano" }, { code: "ja-JP", label: "日本語" }, { code: "kab-KAB", label: "Taqbaylit" }, { code: "kk-KZ", label: "Қазақ тілі" }, { code: "ko-KR", label: "한국어" }, { code: "ku-TR", label: "Kurdî" }, { code: "lt-LT", label: "Lietuvių" }, { code: "lv-LV", label: "Latviešu" }, { code: "my-MM", label: "Burmese" }, { code: "nb-NO", label: "Norsk bokmål" }, { code: "nl-NL", label: "Nederlands" }, { code: "nn-NO", label: "Norsk nynorsk" }, { code: "oc-FR", label: "Occitan" }, { code: "pa-IN", label: "ਪੰਜਾਬੀ" }, { code: "pl-PL", label: "Polski" }, { code: "pt-BR", label: "Português Brasileiro" }, { code: "pt-PT", label: "Português" }, { code: "ro-RO", label: "Română" }, { code: "ru-RU", label: "Русский" }, { code: "sk-SK", label: "Slovenčina" }, { code: "sv-SE", label: "Svenska" }, { code: "sl-SI", label: "Slovenščina" }, { code: "tr-TR", label: "Türkçe" }, { code: "uk-UA", label: "Українська" }, { code: "zh-CN", label: "简体中文" }, { code: "zh-TW", label: "繁體中文" }, { code: "vi-VN", label: "Tiếng Việt" }, { code: "mr-IN", label: "मराठी" }].filter((e12) => N[e12.code] >= VT).sort((e12, o3) => e12.label > o3.label ? 1 : -1)], Xs = "__test__";
|
|
20481
20481
|
c$1.DEV && xi.unshift({ code: Xs, label: "test language" }, { code: `${Xs}.rtl`, label: "test language (rtl)", rtl: true });
|
|
20482
20482
|
var bi = _o, Ks = {}, $s = async (e12) => {
|
|
@@ -21543,7 +21543,7 @@ var yn = (e12, { selectedElementIds: o3 }, t3) => {
|
|
|
21543
21543
|
let m3 = pp$1(o3, t3, r3, { exportBackground: n3, viewBackgroundColor: a3, exportPadding: i3, exportingFrame: c3 });
|
|
21544
21544
|
if (e12 === "png") {
|
|
21545
21545
|
let d3 = vY(m3);
|
|
21546
|
-
return t3.exportEmbedScene && (d3 = d3.then((p3) => import("./image-EDRW2JGV-
|
|
21546
|
+
return t3.exportEmbedScene && (d3 = d3.then((p3) => import("./image-EDRW2JGV-D8WRJNV5.js").then(({ encodePngMetadata: u3 }) => u3({ blob: p3, metadata: to$1(o3, t3, r3) })))), es(d3, { description: "Export to PNG", name: l3, extension: t3.exportEmbedScene ? "excalidraw.png" : "png", mimeTypes: [yo.png], fileHandle: s3 });
|
|
21547
21547
|
} else if (e12 === "clipboard") try {
|
|
21548
21548
|
let d3 = vY(m3);
|
|
21549
21549
|
await Bp(d3);
|
|
@@ -23884,7 +23884,7 @@ TTD mermaid definition render errror: ${M.message}`, "color: yellow"), le("ai",
|
|
|
23884
23884
|
}
|
|
23885
23885
|
}, b3 = useRef(f3);
|
|
23886
23886
|
b3.current = f3;
|
|
23887
|
-
let [x3, T3] = useState({ loaded: false, api: import("./index-
|
|
23887
|
+
let [x3, T3] = useState({ loaded: false, api: import("./index-D_C0FKVU.js").then((n8) => n8.b6) });
|
|
23888
23888
|
useEffect(() => {
|
|
23889
23889
|
(async () => {
|
|
23890
23890
|
await x3.api, T3((_3) => ({ ..._3, loaded: true }));
|
|
@@ -24600,7 +24600,7 @@ var Fe = (e12) => (o3) => {
|
|
|
24600
24600
|
}), ji = (() => {
|
|
24601
24601
|
let e12;
|
|
24602
24602
|
try {
|
|
24603
|
-
let t3 = version.split(".");
|
|
24603
|
+
let t3 = version$1.split(".");
|
|
24604
24604
|
e12 = Number(t3[0]) > 17;
|
|
24605
24605
|
} catch {
|
|
24606
24606
|
e12 = false;
|
|
@@ -25524,7 +25524,7 @@ var He = () => useContext(gT), Do = () => useContext(hT), me = () => useContext(
|
|
|
25524
25524
|
this.addElementsFromPasteOrLibrary({ elements: d3, files: m8.files || null, position: "cursor", retainSeed: r5 });
|
|
25525
25525
|
} else if (m8.text) {
|
|
25526
25526
|
if (m8.text && lT(m8.text)) {
|
|
25527
|
-
let u3 = await import("./index-
|
|
25527
|
+
let u3 = await import("./index-D_C0FKVU.js").then((n9) => n9.b6);
|
|
25528
25528
|
try {
|
|
25529
25529
|
let { elements: h3, files: f3 } = await u3.parseMermaidToExcalidraw(m8.text), b3 = Yi(h3, { regenerateIds: true });
|
|
25530
25530
|
this.addElementsFromPasteOrLibrary({ elements: b3, files: f3, position: "cursor" });
|
|
@@ -27380,7 +27380,7 @@ function CustomExcalidraw() {
|
|
|
27380
27380
|
}
|
|
27381
27381
|
return null;
|
|
27382
27382
|
};
|
|
27383
|
-
return /* @__PURE__ */ jsx("div", { className: "h-screen w-full relative", children: /* @__PURE__ */ jsx("div", { className: "w-full h-full", children: /* @__PURE__ */ jsx(
|
|
27383
|
+
return /* @__PURE__ */ jsx("div", { className: "h-screen w-full relative custom-excalidraw", children: /* @__PURE__ */ jsx("div", { className: "w-full h-full", children: /* @__PURE__ */ jsx(
|
|
27384
27384
|
IM,
|
|
27385
27385
|
{
|
|
27386
27386
|
excalidrawAPI: (api) => {
|
|
@@ -27389,13 +27389,20 @@ function CustomExcalidraw() {
|
|
|
27389
27389
|
initialData: {
|
|
27390
27390
|
elements: [],
|
|
27391
27391
|
appState: {
|
|
27392
|
-
|
|
27392
|
+
gridModeEnabled: true,
|
|
27393
|
+
zoom: { value: 0.2 }
|
|
27393
27394
|
}
|
|
27394
27395
|
},
|
|
27395
27396
|
viewModeEnabled: false,
|
|
27396
27397
|
zenModeEnabled: false,
|
|
27397
27398
|
validateEmbeddable: true,
|
|
27398
|
-
renderEmbeddable
|
|
27399
|
+
renderEmbeddable,
|
|
27400
|
+
UIOptions: {
|
|
27401
|
+
canvasActions: {
|
|
27402
|
+
toggleTheme: true
|
|
27403
|
+
}
|
|
27404
|
+
},
|
|
27405
|
+
theme: "dark"
|
|
27399
27406
|
}
|
|
27400
27407
|
) }) });
|
|
27401
27408
|
}
|
|
@@ -27438,11 +27445,42 @@ function fetchImageAsDataUrl(src) {
|
|
|
27438
27445
|
});
|
|
27439
27446
|
};
|
|
27440
27447
|
img.onerror = (err2) => {
|
|
27448
|
+
console.error(`failed to download image: ${src}`);
|
|
27441
27449
|
reject(err2);
|
|
27442
27450
|
};
|
|
27443
27451
|
img.src = src;
|
|
27444
27452
|
});
|
|
27445
27453
|
}
|
|
27454
|
+
function findPlaceForNewElements(appState, elements, newElements) {
|
|
27455
|
+
const padding = 100;
|
|
27456
|
+
const gap = 100;
|
|
27457
|
+
const canvasW = appState.width / appState.zoom.value;
|
|
27458
|
+
appState.height / appState.zoom.value;
|
|
27459
|
+
const minX = -appState.scrollX + padding;
|
|
27460
|
+
const minY = -appState.scrollY + padding;
|
|
27461
|
+
const maxX = minX + canvasW - padding * 2;
|
|
27462
|
+
let maxElY = -Infinity;
|
|
27463
|
+
elements.forEach((el2) => {
|
|
27464
|
+
maxElY = Math.max(maxElY, el2.y + el2.height);
|
|
27465
|
+
});
|
|
27466
|
+
const px2 = minX;
|
|
27467
|
+
const py = Math.max(maxElY, minY) + gap;
|
|
27468
|
+
let startX = px2;
|
|
27469
|
+
let startY = py;
|
|
27470
|
+
const ret = newElements.map((it2, index2) => {
|
|
27471
|
+
if (startX + it2.width > maxX) {
|
|
27472
|
+
startX = px2;
|
|
27473
|
+
startY += it2.height + gap;
|
|
27474
|
+
}
|
|
27475
|
+
const place = {
|
|
27476
|
+
x: startX,
|
|
27477
|
+
y: startY
|
|
27478
|
+
};
|
|
27479
|
+
startX += it2.width + gap;
|
|
27480
|
+
return place;
|
|
27481
|
+
});
|
|
27482
|
+
return ret;
|
|
27483
|
+
}
|
|
27446
27484
|
function ApiFactory() {
|
|
27447
27485
|
const excalidrawAPI = useAtomValue$1(excalidrawApiAtom);
|
|
27448
27486
|
const setApi = useSetAtom$1(apiAtom);
|
|
@@ -27450,6 +27488,48 @@ function ApiFactory() {
|
|
|
27450
27488
|
if (!excalidrawAPI) {
|
|
27451
27489
|
return;
|
|
27452
27490
|
}
|
|
27491
|
+
const insertImgs = async (urls) => {
|
|
27492
|
+
const rets = await Promise.all(
|
|
27493
|
+
urls.map(async (it2) => {
|
|
27494
|
+
const temp = await fetchImageAsDataUrl(it2);
|
|
27495
|
+
return {
|
|
27496
|
+
...temp,
|
|
27497
|
+
url: it2
|
|
27498
|
+
};
|
|
27499
|
+
})
|
|
27500
|
+
);
|
|
27501
|
+
rets.forEach((it2) => {
|
|
27502
|
+
excalidrawAPI.addFiles([
|
|
27503
|
+
{
|
|
27504
|
+
mimeType: "image/png",
|
|
27505
|
+
id: it2.url,
|
|
27506
|
+
dataURL: it2.dataUrl,
|
|
27507
|
+
created: Date.now()
|
|
27508
|
+
}
|
|
27509
|
+
]);
|
|
27510
|
+
});
|
|
27511
|
+
const places = findPlaceForNewElements(
|
|
27512
|
+
excalidrawAPI.getAppState(),
|
|
27513
|
+
excalidrawAPI.getSceneElements(),
|
|
27514
|
+
rets
|
|
27515
|
+
);
|
|
27516
|
+
const els = Yi(
|
|
27517
|
+
rets.map((it2, index2) => {
|
|
27518
|
+
return {
|
|
27519
|
+
type: "image",
|
|
27520
|
+
width: it2.width,
|
|
27521
|
+
height: it2.height,
|
|
27522
|
+
x: places[index2].x,
|
|
27523
|
+
y: places[index2].y,
|
|
27524
|
+
fileId: it2.url
|
|
27525
|
+
};
|
|
27526
|
+
})
|
|
27527
|
+
);
|
|
27528
|
+
const currentElements = excalidrawAPI.getSceneElements();
|
|
27529
|
+
excalidrawAPI.updateScene({
|
|
27530
|
+
elements: [...currentElements, ...els]
|
|
27531
|
+
});
|
|
27532
|
+
};
|
|
27453
27533
|
setApi({
|
|
27454
27534
|
rawApi: excalidrawAPI,
|
|
27455
27535
|
__printCanvasInfo: () => {
|
|
@@ -27460,34 +27540,11 @@ function ApiFactory() {
|
|
|
27460
27540
|
appState: excalidrawAPI.getAppState()
|
|
27461
27541
|
});
|
|
27462
27542
|
},
|
|
27463
|
-
|
|
27464
|
-
|
|
27465
|
-
|
|
27466
|
-
|
|
27467
|
-
|
|
27468
|
-
} = await fetchImageAsDataUrl(url);
|
|
27469
|
-
excalidrawAPI?.addFiles([
|
|
27470
|
-
{
|
|
27471
|
-
mimeType: "image/png",
|
|
27472
|
-
id: url,
|
|
27473
|
-
dataURL: imgDataUrl,
|
|
27474
|
-
created: Date.now()
|
|
27475
|
-
}
|
|
27476
|
-
]);
|
|
27477
|
-
const el2 = Yi([
|
|
27478
|
-
{
|
|
27479
|
-
type: "image",
|
|
27480
|
-
width,
|
|
27481
|
-
height,
|
|
27482
|
-
x: 0,
|
|
27483
|
-
y: 0,
|
|
27484
|
-
fileId: url
|
|
27485
|
-
}
|
|
27486
|
-
]);
|
|
27487
|
-
const currentElements = excalidrawAPI.getSceneElements();
|
|
27488
|
-
excalidrawAPI.updateScene({
|
|
27489
|
-
elements: [...currentElements, ...el2]
|
|
27490
|
-
});
|
|
27543
|
+
insertImgs,
|
|
27544
|
+
appendImgs: async (urls) => {
|
|
27545
|
+
const files = excalidrawAPI.getFiles();
|
|
27546
|
+
const newUrls = urls.filter((it2) => !files[it2]);
|
|
27547
|
+
await insertImgs(newUrls);
|
|
27491
27548
|
},
|
|
27492
27549
|
save: () => {
|
|
27493
27550
|
const appState = excalidrawAPI.getAppState();
|
|
@@ -27534,11 +27591,59 @@ function ApiFactory() {
|
|
|
27534
27591
|
},
|
|
27535
27592
|
files: excalidrawAPI.getFiles(),
|
|
27536
27593
|
getDimensions: () => {
|
|
27537
|
-
return { width: 1e3, height: 1e3, scale: 0.
|
|
27594
|
+
return { width: 1e3, height: 1e3, scale: 0.3 };
|
|
27538
27595
|
}
|
|
27539
27596
|
});
|
|
27540
27597
|
const base64 = canvas.toDataURL("image/png", 1);
|
|
27541
27598
|
return base64;
|
|
27599
|
+
},
|
|
27600
|
+
replaceLoadingWithImages: async (id2, urls) => {
|
|
27601
|
+
const elements = excalidrawAPI.getSceneElements();
|
|
27602
|
+
const loadingEl = elements.find(
|
|
27603
|
+
(it2) => it2.type === "embeddable" && it2.id === id2
|
|
27604
|
+
);
|
|
27605
|
+
if (!loadingEl) {
|
|
27606
|
+
insertImgs(urls);
|
|
27607
|
+
return;
|
|
27608
|
+
}
|
|
27609
|
+
const rets = await Promise.all(
|
|
27610
|
+
urls.map(async (it2) => {
|
|
27611
|
+
const temp = await fetchImageAsDataUrl(it2);
|
|
27612
|
+
return {
|
|
27613
|
+
...temp,
|
|
27614
|
+
url: it2
|
|
27615
|
+
};
|
|
27616
|
+
})
|
|
27617
|
+
);
|
|
27618
|
+
rets.forEach((it2) => {
|
|
27619
|
+
excalidrawAPI.addFiles([
|
|
27620
|
+
{
|
|
27621
|
+
mimeType: "image/png",
|
|
27622
|
+
id: it2.url,
|
|
27623
|
+
dataURL: it2.dataUrl,
|
|
27624
|
+
created: Date.now()
|
|
27625
|
+
}
|
|
27626
|
+
]);
|
|
27627
|
+
});
|
|
27628
|
+
let x3 = loadingEl.x;
|
|
27629
|
+
let y3 = loadingEl.y;
|
|
27630
|
+
const els = Yi(
|
|
27631
|
+
rets.map((it2, index2) => {
|
|
27632
|
+
const tempX = x3;
|
|
27633
|
+
x3 += it2.width + 100;
|
|
27634
|
+
return {
|
|
27635
|
+
type: "image",
|
|
27636
|
+
width: it2.width,
|
|
27637
|
+
height: it2.height,
|
|
27638
|
+
x: tempX,
|
|
27639
|
+
y: y3,
|
|
27640
|
+
fileId: it2.url
|
|
27641
|
+
};
|
|
27642
|
+
})
|
|
27643
|
+
);
|
|
27644
|
+
excalidrawAPI.updateScene({
|
|
27645
|
+
elements: [...elements.filter((it2) => it2.id !== id2), ...els]
|
|
27646
|
+
});
|
|
27542
27647
|
}
|
|
27543
27648
|
});
|
|
27544
27649
|
}, [excalidrawAPI, setApi]);
|
|
@@ -27570,12 +27675,80 @@ function FloatingMenu() {
|
|
|
27570
27675
|
const base64 = canvas.toDataURL("image/png", 1);
|
|
27571
27676
|
return base64;
|
|
27572
27677
|
};
|
|
27678
|
+
const insertLoading = () => {
|
|
27679
|
+
if (!excalidrawAPI) return;
|
|
27680
|
+
const appState = excalidrawAPI.getAppState();
|
|
27681
|
+
const selectedIds = appState.selectedElementIds;
|
|
27682
|
+
if (Object.keys(selectedIds).length === 0) {
|
|
27683
|
+
throw "没有选中任何元素";
|
|
27684
|
+
}
|
|
27685
|
+
const selectedElements = excalidrawAPI.getSceneElements().filter((element) => appState.selectedElementIds[element.id]);
|
|
27686
|
+
if (selectedElements.length === 0) {
|
|
27687
|
+
throw "没有选中任何可见元素";
|
|
27688
|
+
}
|
|
27689
|
+
let minY = Infinity;
|
|
27690
|
+
let maxX = -Infinity;
|
|
27691
|
+
let maxY = -Infinity;
|
|
27692
|
+
selectedElements.forEach((el22) => {
|
|
27693
|
+
minY = Math.min(minY, el22.y);
|
|
27694
|
+
maxX = Math.max(maxX, el22.x + el22.width);
|
|
27695
|
+
maxY = Math.max(maxY, el22.y + el22.height);
|
|
27696
|
+
});
|
|
27697
|
+
const h3 = maxY - minY;
|
|
27698
|
+
const el2 = Yi([
|
|
27699
|
+
{
|
|
27700
|
+
type: "embeddable",
|
|
27701
|
+
x: maxX + 100,
|
|
27702
|
+
y: minY,
|
|
27703
|
+
width: h3,
|
|
27704
|
+
height: h3,
|
|
27705
|
+
id: `loading-${Date.now()}`,
|
|
27706
|
+
link: "https://www.google.com",
|
|
27707
|
+
// 添加必需的基本样式属性
|
|
27708
|
+
strokeColor: "#000",
|
|
27709
|
+
backgroundColor: "transparent",
|
|
27710
|
+
fillStyle: "solid",
|
|
27711
|
+
strokeWidth: 1,
|
|
27712
|
+
strokeStyle: "solid",
|
|
27713
|
+
roundness: null,
|
|
27714
|
+
roughness: 1,
|
|
27715
|
+
opacity: 100,
|
|
27716
|
+
// 添加必需的变换属性
|
|
27717
|
+
angle: 0,
|
|
27718
|
+
seed: Math.random(),
|
|
27719
|
+
version: 1,
|
|
27720
|
+
versionNonce: Math.random(),
|
|
27721
|
+
// 添加必需的状态属性
|
|
27722
|
+
locked: false,
|
|
27723
|
+
isDeleted: false,
|
|
27724
|
+
groupIds: [],
|
|
27725
|
+
// 添加绑定框属性
|
|
27726
|
+
boundElements: [],
|
|
27727
|
+
updated: Date.now(),
|
|
27728
|
+
// 添加必需的索引和帧ID属性
|
|
27729
|
+
frameId: null,
|
|
27730
|
+
index: null,
|
|
27731
|
+
// 添加缺失的index属性
|
|
27732
|
+
customData: {
|
|
27733
|
+
type: "loading",
|
|
27734
|
+
component: "loading"
|
|
27735
|
+
}
|
|
27736
|
+
}
|
|
27737
|
+
]);
|
|
27738
|
+
const currentElements = excalidrawAPI.getSceneElements();
|
|
27739
|
+
excalidrawAPI.updateScene({
|
|
27740
|
+
elements: [...currentElements, ...el2]
|
|
27741
|
+
});
|
|
27742
|
+
return el2[0].id;
|
|
27743
|
+
};
|
|
27573
27744
|
const handleChatToEdit = async () => {
|
|
27574
27745
|
const dataUrl = await handleExport();
|
|
27746
|
+
const id2 = insertLoading();
|
|
27575
27747
|
emitter.emit("chat-to-edit", {
|
|
27576
27748
|
type: "chat-to-edit",
|
|
27577
27749
|
url: dataUrl,
|
|
27578
|
-
prompt
|
|
27750
|
+
prompt,
|
|
27751
|
+
id: id2
|
|
27579
27752
|
});
|
|
27580
27753
|
};
|
|
27581
27754
|
useEffect(() => {
|
|
@@ -27654,12 +27827,16 @@ function FloatingMenu() {
|
|
|
27654
27827
|
}
|
|
27655
27828
|
);
|
|
27656
27829
|
}
|
|
27830
|
+
const version = "0.0.4";
|
|
27831
|
+
const packageJson = {
|
|
27832
|
+
version
|
|
27833
|
+
};
|
|
27657
27834
|
function XCanvas({ registerApi, registerEventHandler }) {
|
|
27658
27835
|
const [api] = useAtom$1(apiAtom);
|
|
27659
27836
|
useEffect(() => {
|
|
27660
27837
|
if (api && registerApi) {
|
|
27661
27838
|
console.log(
|
|
27662
|
-
|
|
27839
|
+
`%c XCanvas bootstraped ${packageJson.version}`,
|
|
27663
27840
|
"background: #222; color: #bada55"
|
|
27664
27841
|
);
|
|
27665
27842
|
registerApi(api);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./XCanvas-
|
|
1
|
+
import "./XCanvas-CB8oO4UO.js";
|
|
2
2
|
var t = { 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: "" }, o = { 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: "اضغط للتفاعل" }, i = { clearReset: "هذا سيُزيل كامل اللوحة. هل أنت متأكد؟", couldNotCreateShareableLink: "تعذر إنشاء رابطة المشاركة.", couldNotCreateShareableLinkTooBig: "تعذر إنشاء رابط قابل للمشاركة: المشهد كبير جدًا", couldNotLoadInvalidFile: "تعذر التحميل، الملف غير صالح", importBackendFailed: "فشل الاستيراد من الخادوم.", cannotExportEmptyCanvas: "لا يمكن تصدير لوحة فارغة.", couldNotCopyToClipboard: "تعذر النسخ إلى الحافظة.", decryptFailed: "تعذر فك تشفير البيانات.", uploadedSecurly: "تم تأمين التحميل بتشفير النهاية إلى النهاية، مما يعني أن خادوم Excalidraw والأطراف الثالثة لا يمكنها قراءة المحتوى.", loadSceneOverridePrompt: "تحميل الرسم الخارجي سيحل محل المحتوى الموجود لديك. هل ترغب في المتابعة؟", collabStopOverridePrompt: `إيقاف الجلسة سيؤدي إلى الكتابة فوق رسومك السابقة المخزنة داخليا. هل أنت متأكد؟
|
|
3
3
|
|
|
4
4
|
(إذا كنت ترغب في الاحتفاظ برسمك المخزن داخليا، ببساطة أغلق علامة تبويب المتصفح بدلاً من ذلك.)`, errorAddingToLibrary: "تعذر إضافة العنصر للمكتبة", errorRemovingFromLibrary: "تعذر إزالة العنصر من المكتبة", confirmAddLibrary: "هذا سيضيف {{numShapes}} شكل إلى مكتبتك. هل أنت متأكد؟", imageDoesNotContainScene: "يبدو أن هذه الصورة لا تحتوي على أي بيانات مشهد. هل قمت بتمكين تضمين المشهد أثناء التصدير؟", cannotRestoreFromImage: "تعذر استعادة المشهد من ملف الصورة", invalidSceneUrl: "تعذر استيراد المشهد من عنوان URL المتوفر. إما أنها مشوهة، أو لا تحتوي على بيانات Excalidraw JSON صالحة.", resetLibrary: "هذا سوف يمسح مكتبتك. هل أنت متأكد؟", removeItemsFromsLibrary: "حذف {{count}} عنصر (عناصر) من المكتبة؟", invalidEncryptionKey: "مفتاح التشفير يجب أن يكون من 22 حرفاً. التعاون المباشر معطل.", collabOfflineWarning: `لا يوجد اتصال بالانترنت.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { w as withPath, c as constant } from "./path-Cp2qmpkd.js";
|
|
2
|
-
import { D as pi, E as cos, F as sin, G as halfPi, H as epsilon, I as tau, J as sqrt, K as min, L as abs, M as atan2, N as asin, O as max, P as acos } from "./index-
|
|
2
|
+
import { D as pi, E as cos, F as sin, G as halfPi, H as epsilon, I as tau, J as sqrt, K as min, L as abs, M as atan2, N as asin, O as max, P as acos } from "./index-D_C0FKVU.js";
|
|
3
3
|
function arcInnerRadius(d) {
|
|
4
4
|
return d.innerRadius;
|
|
5
5
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./XCanvas-
|
|
1
|
+
import "./XCanvas-CB8oO4UO.js";
|
|
2
2
|
var r = { paste: "Yapışdır", pasteAsPlaintext: "Düz mətn kimi yapışdırın", pasteCharts: "Diaqramları yapışdırın", selectAll: "Hamısını seç", multiSelect: "Seçimə element əlavə edin", moveCanvas: "Kanvası köçürün", cut: "Kəs", copy: "Kopyala", copyAsPng: "PNG olaraq panoya kopyala", copyAsSvg: "SVG olaraq panoya kopyala", copyText: "Mətn olaraq panoya kopyala", copySource: "", convertToCode: "", bringForward: "Önə daşı", sendToBack: "Geriyə göndərin", bringToFront: "Önə gətirin", sendBackward: "Geriyə göndərin", delete: "Sil", copyStyles: "Stilləri kopyalayın", pasteStyles: "Stilləri yapışdırın", stroke: "Strok rəngi", background: "Arxa fon", fill: "Doldur", strokeWidth: "Strok eni", strokeStyle: "Strok stili", strokeStyle_solid: "Solid", strokeStyle_dashed: "Kəsik", strokeStyle_dotted: "Nöqtəli", sloppiness: "Səliqəsizlik", opacity: "Şəffaflıq", textAlign: "Mətni uyğunlaşdır", edges: "Kənarlar", sharp: "Kəskin", round: "Dəyirmi", arrowheads: "Ox ucları", arrowhead_none: "Heç biri", arrowhead_arrow: "Ox", arrowhead_bar: "Çubuq", arrowhead_circle: "", arrowhead_circle_outline: "", arrowhead_triangle: "Üçbucaq", arrowhead_triangle_outline: "", arrowhead_diamond: "", arrowhead_diamond_outline: "", fontSize: "Şrift ölçüsü", fontFamily: "Şrift qrupu", addWatermark: '"Made with Excalidraw" əlavə et', handDrawn: "Əllə çəkilmiş", normal: "Normal", code: "Kod", small: "Kiçik", medium: "Orta", large: "Böyük", veryLarge: "Çox böyük", solid: "Solid", hachure: "Ştrix", zigzag: "Ziqzaq", crossHatch: "Çarpaz dəlik", thin: "İncə", bold: "Qalın", left: "Sol", center: "Mərkəz", right: "Sağ", extraBold: "Ekstra qalın", architect: "Memar", artist: "Rəssam", cartoonist: "Karikaturaçı", fileTitle: "Fayl adı", colorPicker: "Rəng seçən", canvasColors: "Kanvas üzərində istifadə olunur", canvasBackground: "Kanvas arxa fonu", drawingCanvas: "Kanvas çəkmək", layers: "Qatlar", actions: "Hərəkətlər", language: "Dil", liveCollaboration: "Canlı əməkdaşlıq...", duplicateSelection: "Dublikat", untitled: "Başlıqsız", name: "Ad", yourName: "Adınız", madeWithExcalidraw: "Excalidraw ilə hazırlanmışdır", group: "Qrup şəklində seçim", ungroup: "Qrupsuz seçim", 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: "" }, o = { noItems: "", hint_emptyLibrary: "", hint_emptyPrivateLibrary: "" }, t = { 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: "" }, i = { clearReset: "", couldNotCreateShareableLink: "", couldNotCreateShareableLinkTooBig: "", couldNotLoadInvalidFile: "", importBackendFailed: "", cannotExportEmptyCanvas: "", couldNotCopyToClipboard: "", decryptFailed: "", uploadedSecurly: "", loadSceneOverridePrompt: "", collabStopOverridePrompt: "", errorAddingToLibrary: "", errorRemovingFromLibrary: "", confirmAddLibrary: "", imageDoesNotContainScene: "", cannotRestoreFromImage: "", invalidSceneUrl: "", resetLibrary: "", removeItemsFromsLibrary: "", invalidEncryptionKey: "", collabOfflineWarning: "" }, l = { unsupportedFileType: "", imageInsertError: "", fileTooBig: "", svgImageInsertError: "", failedToFetchImage: "", invalidSVGString: "", cannotResolveCollabServer: "", importLibraryError: "", collabSaveFailed: "", collabSaveFailed_sizeExceeded: "", imageToolNotSupported: "", brave_measure_text_error: { line1: "", line2: "", line3: "", line4: "" }, libraryElementTypeError: { embeddable: "", iframe: "", image: "" }, asyncPasteFailedOnRead: "", asyncPasteFailedOnParse: "", copyToSystemClipboardFailed: "" }, n = { selection: "", image: "", rectangle: "", diamond: "", ellipse: "", arrow: "", line: "", freedraw: "", text: "", library: "", lock: "", penMode: "", link: "", eraser: "", frame: "", magicframe: "", embeddable: "", laser: "", hand: "", extraTools: "", mermaidToExcalidraw: "", magicSettings: "" }, s = { canvasActions: "", selectedShapeActions: "", shapes: "" }, d = { canvasPanning: "", linearElement: "", freeDraw: "", text: "", embeddable: "", text_selected: "", text_editing: "", linearElementMulti: "", lockAngle: "", resize: "", resizeImage: "", rotate: "", lineEditor_info: "", lineEditor_pointSelected: "", lineEditor_nothingSelected: "", placeImage: "", publishLibrary: "", bindTextToElement: "", deepBoxSelect: "", eraserRevert: "", firefox_clipboard_write: "", disableSnapping: "" }, c = { cannotShowPreview: "", canvasTooBig: "", canvasTooBigTip: "" }, m = { headingMain: "", clearCanvasMessage: "", clearCanvasCaveat: "", trackedToSentry: "", openIssueMessage: "", sceneContent: "" }, p = { desc_intro: "", desc_privacy: "", button_startSession: "", button_stopSession: "", desc_inProgressIntro: "", desc_shareLink: "", desc_exitSession: "", shareTitle: "" }, g = { title: "" }, b = { disk_title: "", disk_details: "", disk_button: "", link_title: "", link_details: "", link_button: "", excalidrawplus_description: "", excalidrawplus_button: "", excalidrawplus_exportError: "" }, u = { 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: "" }, y = { title: "" }, h = { title: "", itemName: "", authorName: "", githubUsername: "", twitterUsername: "", libraryName: "", libraryDesc: "", website: "", placeholder: { authorName: "", libraryName: "", libraryDesc: "", githubHandle: "", twitterHandle: "", website: "" }, errors: { required: "", website: "" }, noteDescription: "", noteGuidelines: "", noteLicense: "", noteItems: "", atleastOneLibItem: "", republishWarning: "" }, k = { title: "", content: "" }, S = { resetLibrary: "", removeItemsFromLib: "" }, v = { header: "", label: { withBackground: "", onlySelected: "", darkMode: "", embedScene: "", scale: "", padding: "" }, tooltip: { embedScene: "" }, title: { exportToPng: "", exportToSvg: "", copyPngToClipboard: "" }, button: { exportToPng: "", exportToSvg: "", copyPngToClipboard: "" } }, w = { tooltip: "", link: "" }, x = { angle: "", element: "", elements: "", height: "", scene: "", selected: "", storage: "", title: "", total: "", version: "", versionCopy: "", versionNotAvailable: "", width: "" }, T = { addedToLibrary: "", copyStyles: "", copyToClipboard: "", copyToClipboardAsPng: "", fileSaved: "", fileSavedToFilename: "", canvas: "", selection: "", pasteAsSingleElement: "", unableToEmbed: "", unrecognizedLinkFormat: "" }, _ = { transparent: "", black: "", white: "", red: "", pink: "", grape: "", violet: "", gray: "", blue: "", cyan: "", teal: "", green: "", yellow: "", orange: "", bronze: "" }, L = { app: { center_heading: "", center_heading_plus: "", menuHint: "" }, defaults: { menuHint: "", center_heading: "", toolbarHint: "", helpHint: "" } }, f = { mostUsedCustomColors: "", colors: "", shades: "", hexCode: "", noShades: "" }, C = { action: { exportToImage: { title: "", button: "", description: "" }, saveToDisk: { title: "", button: "", description: "" }, excalidrawPlus: { title: "", button: "", description: "" } }, modal: { loadFromFile: { title: "", button: "", description: "" }, shareableLink: { title: "", button: "", description: "" } } }, E = { title: "", button: "", description: "", syntax: "", preview: "" }, F = { labels: r, library: o, buttons: t, alerts: i, errors: l, toolBar: n, headings: s, hints: d, canvasError: c, errorSplash: m, roomDialog: p, errorDialog: g, exportDialog: b, helpDialog: u, clearCanvasDialog: y, publishDialog: h, publishSuccessDialog: k, confirmDialog: S, imageExportDialog: v, encrypted: w, stats: x, toast: T, colors: _, welcomeScreen: L, colorPicker: f, overwriteConfirm: C, mermaid: E };
|
|
3
3
|
export {
|
|
4
4
|
i as alerts,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./XCanvas-
|
|
1
|
+
import "./XCanvas-CB8oO4UO.js";
|
|
2
2
|
var o = { paste: "Постави", pasteAsPlaintext: "Постави като обикновен текст", pasteCharts: "Постави графики", selectAll: "Маркирай всичко", multiSelect: "Добави елемент към селекция", moveCanvas: "Премести платно", cut: "Изрежи", copy: "Копирай", copyAsPng: "Копиране в клипборда", copyAsSvg: "Копирано в клипборда като SVG", copyText: "", copySource: "", convertToCode: "", bringForward: "Преместване напред", sendToBack: "Изнасяне назад", bringToFront: "Изнасяне отпред", sendBackward: "Изпрати отзад", delete: "Изтрий", copyStyles: "Копирайте стилове", pasteStyles: "Постави стилове", stroke: "Щрих", background: "Фон", fill: "Наситеност", strokeWidth: "Ширина на щриха", strokeStyle: "Стил на линия", strokeStyle_solid: "Плътен", strokeStyle_dashed: "Пунктир", strokeStyle_dotted: "Пунктирано", sloppiness: "Небрежност", opacity: "Прозрачност", textAlign: "Подравняване на текста", edges: "Крайща", sharp: "Остър", round: "Закръглено", arrowheads: "Стрелки", arrowhead_none: "Без", arrowhead_arrow: "Стрелка", arrowhead_bar: "Връх на стрелката", arrowhead_circle: "", arrowhead_circle_outline: "", arrowhead_triangle: "Триъгълник", arrowhead_triangle_outline: "", arrowhead_diamond: "", arrowhead_diamond_outline: "", fontSize: "Размер на шрифта", fontFamily: "Семейство шрифтове", addWatermark: 'Добави "Направено с Excalidraw"', handDrawn: "Нарисувано на ръка", normal: "Нормален", code: "Код", small: "Малък", medium: "Среден", large: "Голям", veryLarge: "Много голям", solid: "Солиден", hachure: "Хералдика", zigzag: "Зигзаг", crossHatch: "Двойно-пресечено", thin: "Тънък", bold: "Ясно очертан", left: "Ляво", center: "Център", right: "Дясно", extraBold: "Много ясно очертан", architect: "Архитект", artist: "Художник", cartoonist: "Карикатурист", fileTitle: "Име на файл", colorPicker: "Избор на цвят", canvasColors: "Използван на платно", canvasBackground: "Фон на платно", drawingCanvas: "Платно за рисуване", layers: "Слоеве", actions: "Действия", language: "Език", liveCollaboration: "", duplicateSelection: "Дублирай", untitled: "Неозаглавено", name: "Име", yourName: "Вашето име", madeWithExcalidraw: "Направено с Excalidraw", group: "Групирай селекцията", ungroup: "Спри групирането на селекцията", collaborators: "Сътрудници", showGrid: "Показване на мрежа", addToLibrary: "Добавяне към библиотеката", removeFromLibrary: "Премахване от библиотеката", libraryLoadingMessage: "Зареждане на библиотеката…", libraries: "Разглеждане на библиотеките", loadingScene: "Зареждане на сцена…", align: "Подравняване", alignTop: "Подравняване отгоре", alignBottom: "Подравняване отдолу", alignLeft: "Подравняване отляво", alignRight: "Подравняване отдясно", centerVertically: "Центрирай вертикално", centerHorizontally: "Центрирай хоризонтално", distributeHorizontally: "Разпредели хоризонтално", distributeVertically: "Разпредели вертикално", flipHorizontal: "Хоризонтално обръщане", flipVertical: "Вертикално обръщане", viewMode: "Изглед", share: "Сподели", showStroke: "", showBackground: "", toggleTheme: "Включи тема", personalLib: "Лична Библиотека", excalidrawLib: "Excalidraw Библиотека", decreaseFontSize: "Намали размера на шрифта", increaseFontSize: "Увеличи размера на шрифта", unbindText: "", bindText: "", createContainerFromText: "", link: { edit: "Редактирай линк", editEmbed: "", create: "", createEmbed: "", label: "Линк", labelEmbed: "", empty: "" }, lineEditor: { edit: "", exit: "" }, elementLock: { lock: "Заключи", unlock: "Отключи", lockAll: "Заключи всички", unlockAll: "Отключи всички" }, statusPublished: "Публикувани", sidebarLock: "", selectAllElementsInFrame: "", removeAllElementsFromFrame: "", eyeDropper: "Избери цвят от платното", textToDiagram: "", prompt: "" }, r = { 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: "Режим Zen", objectsSnapMode: "", exitZenMode: "Спиране на Zen режим", cancel: "Отмени", clear: "Изчисти", remove: "Премахване", embed: "", publishLibrary: "Публикувай", submit: "Изпрати", confirm: "Потвърждаване", embeddableInteractionButton: "" }, i = { clearReset: "Това ще изчисти цялото платно. Сигурни ли сте?", couldNotCreateShareableLink: "Връзката не може да бъде създадена.", couldNotCreateShareableLinkTooBig: "Не може да се създаде връзка за споделяне: сцената е твърде голяма", couldNotLoadInvalidFile: "Невалиден файл не може да се зареди", importBackendFailed: "Импортирането от бекенд не беше успешно.", cannotExportEmptyCanvas: "Не може да се експортира празно платно.", couldNotCopyToClipboard: "Не можем да копираме в клипбоарда.", decryptFailed: "Данните не можаха да се дешифрират.", uploadedSecurly: "Качването е защитено с криптиране от край до край, което означава, че сървърът Excalidraw и трети страни не могат да четат съдържанието.", loadSceneOverridePrompt: "Зареждането на външна рисунка ще презапише настоящото ви съдържание. Желаете ли да продължите?", collabStopOverridePrompt: `Прекратяването на сесията ще презапише предишната, локално запазена, рисунка. Сигурни ли сте?
|
|
3
3
|
|
|
4
4
|
(Ако искате да продължите с локалната рисунка, просто затворете таба на браузъра.)`, errorAddingToLibrary: "Не можем да заредим от библиотеката", errorRemovingFromLibrary: "Не можем да премахнем елемент от библиотеката", confirmAddLibrary: "Ще се добавят {{numShapes}} фигура(и) във вашата библиотека. Сигурни ли сте?", imageDoesNotContainScene: "", cannotRestoreFromImage: "Не може да бъде възстановена сцена от този файл", invalidSceneUrl: "", resetLibrary: "", removeItemsFromsLibrary: "Изтрий {{count}} елемент(а) от библиотеката?", invalidEncryptionKey: "", collabOfflineWarning: "" }, l = { unsupportedFileType: "Този файлов формат не се поддържа.", imageInsertError: "", fileTooBig: "Файлът е твърде голям. Максималния допустим размер е {{maxSize}}.", svgImageInsertError: "", failedToFetchImage: "", invalidSVGString: "Невалиден SVG.", cannotResolveCollabServer: "", importLibraryError: "Не можем да заредим библиотеката", collabSaveFailed: "", collabSaveFailed_sizeExceeded: "", imageToolNotSupported: "", brave_measure_text_error: { line1: "", line2: "", line3: "Силно препоръчваме да изключите тази настройка. Можете да следвате <link>тези стъпки</link> за това как да го направите.", line4: "" }, libraryElementTypeError: { embeddable: "", iframe: "", image: "" }, asyncPasteFailedOnRead: "", asyncPasteFailedOnParse: "", copyToSystemClipboardFailed: "" }, n = { selection: "Селекция", image: "Вмъкване на изображение", rectangle: "Правоъгълник", diamond: "Диамант", ellipse: "Елипс", arrow: "Стрелка", line: "Линия", freedraw: "Рисуване", text: "Текст", library: "Библиотека", lock: "Поддържайте избрания инструмент активен след рисуване", penMode: "", link: "", eraser: "Гума", frame: "", magicframe: "", embeddable: "", laser: "", hand: "", extraTools: "Още инструменти", mermaidToExcalidraw: "", magicSettings: "" }, d = { canvasActions: "Действия по платното", selectedShapeActions: "Избрани действия", shapes: "Фигури" }, s = { canvasPanning: "", linearElement: "Кликнете, за да стартирате няколко точки, плъзнете за една линия", freeDraw: "Натиснете и влачете, пуснете като сте готови", text: "Подсказка: Можете също да добавите текст като натиснете някъде два път с инструмента за селекция", embeddable: "", text_selected: "", text_editing: "", linearElementMulti: "Кликнете върху последната точка или натиснете Escape или Enter, за да завършите", lockAngle: "Можете да ограничите ъгъла, като задържите SHIFT", resize: `Може да ограничите при преоразмеряване като задържите SHIFT,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { X as getConfig$1, a7 as rgba, d as select, e as configureSvgSize, l as log$1, r as clear$1, k as common$1, g as getConfig, $ as getStylesFromArray } from "./index-
|
|
2
|
-
import { c as clone } from "./clone-
|
|
3
|
-
import { i as insertMarkers$1, a as insertEdge, b as insertEdgeLabel, p as positionEdgeLabel, c as insertNode, d as positionNode } from "./edges-e0da2a9e-
|
|
4
|
-
import { G as Graph } from "./graph-
|
|
5
|
-
import { c as channel } from "./channel-
|
|
1
|
+
import { X as getConfig$1, a7 as rgba, d as select, e as configureSvgSize, l as log$1, r as clear$1, k as common$1, g as getConfig, $ as getStylesFromArray } from "./index-D_C0FKVU.js";
|
|
2
|
+
import { c as clone } from "./clone-75eXcrG7.js";
|
|
3
|
+
import { i as insertMarkers$1, a as insertEdge, b as insertEdgeLabel, p as positionEdgeLabel, c as insertNode, d as positionNode } from "./edges-e0da2a9e-CQu9_UlT.js";
|
|
4
|
+
import { G as Graph } from "./graph-C_b2NbS0.js";
|
|
5
|
+
import { c as channel } from "./channel-DeisP17Z.js";
|
|
6
6
|
import { o as ordinal } from "./ordinal-DSZU4PqD.js";
|
|
7
7
|
import { s as schemeTableau10 } from "./Tableau10-BqnYsPR6.js";
|
|
8
8
|
var _a, _b;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./XCanvas-
|
|
1
|
+
import "./XCanvas-CB8oO4UO.js";
|
|
2
2
|
var o = { paste: "পেস্ট করুন", pasteAsPlaintext: "প্লেইনটেক্সট হিসাবে পেস্ট করুন", pasteCharts: "চার্ট পেস্ট করুন", selectAll: "সবটা সিলেক্ট করুন", multiSelect: "একাধিক সিলেক্ট করুন", moveCanvas: "ক্যানভাস সরান", cut: "কাট করুন", copy: "কপি করুন", copyAsPng: "পীএনজী ছবির মতন কপি করুন", copyAsSvg: "এসভীজী ছবির মতন কপি করুন", 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: "এক্সক্যালিড্র দ্বারা প্রস্তুত", 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: "এক্সক্যালিড্র দ্বারা তৈরি", 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: "" }, r = { 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: "" }, i = { clearReset: "এটি পুরো ক্যানভাস সাফ করবে। আপনি কি নিশ্চিত?", couldNotCreateShareableLink: "ভাগ করা যায় এমন লিঙ্ক তৈরি করা যায়নি।", couldNotCreateShareableLinkTooBig: "ভাগ করা যায় এমন লিঙ্ক তৈরি করা যায়নি: দৃশ্যটি খুব বড়", couldNotLoadInvalidFile: "অবৈধ ফাইল লোড করা যায়নি", importBackendFailed: "ব্যাকেন্ড থেকে আপলোড ব্যর্থ হয়েছে।", cannotExportEmptyCanvas: "খালি ক্যানভাস নিবদ্ধ করা যাবে না।", couldNotCopyToClipboard: "ক্লিপবোর্ডে কপি করা যায়নি।", decryptFailed: "তথ্য ডিক্রিপ্ট করা যায়নি।", uploadedSecurly: "আপলোডটি এন্ড-টু-এন্ড এনক্রিপশনের মাধ্যমে সুরক্ষিত করা হয়েছে, যার অর্থ হল এক্সক্যালিড্র সার্ভার এবং তৃতীয় পক্ষের দ্বারা পড়তে পারা সম্ভব নয়।", loadSceneOverridePrompt: "বাহ্যিক অঙ্কন লোড করা আপনার বিদ্যমান দৃশ্য প্রতিস্থাপন করবে। আপনি কি অবিরত করতে চান?", collabStopOverridePrompt: `অধিবেশন বন্ধ করা আপনার পূর্ববর্তী, স্থানীয়ভাবে সঞ্চিত অঙ্কন ওভাররাইট করবে। আপনি কি নিশ্চিত?
|
|
3
3
|
|
|
4
4
|
(যদি আপনি আপনার স্থানীয় অঙ্কন রাখতে চান, তাহলে শুধু ব্রাউজার ট্যাবটি বন্ধ করুন।)`, errorAddingToLibrary: "বস্তুটি সংগ্রহে যোগ করা যায়নি", errorRemovingFromLibrary: "বস্তুটি সংগ্রহ থেকে বিয়োগ করা যায়নি", confirmAddLibrary: "এটি আপনার সংগ্রহে {{numShapes}} আকার(গুলি) যোগ করবে। আপনি কি নিশ্চিত?", imageDoesNotContainScene: "এই ছবিতে কোনো দৃশ্যের তথ্য আছে বলে মনে হয় না৷ আপনি কি নিবদ্ধ করার সময় দৃশ্য এমবেডিং করতে সক্ষম?", cannotRestoreFromImage: "এই ফাইল থেকে দৃশ্য পুনরুদ্ধার করা যায়নি", invalidSceneUrl: "সরবরাহ করা লিঙ্ক থেকে দৃশ্য লোড করা যায়নি৷ এটি হয় বিকৃত, অথবা বৈধ এক্সক্যালিড্র জেসন তথ্য নেই৷", resetLibrary: "এটি আপনার সংগ্রহ পরিষ্কার করবে। আপনি কি নিশ্চিত?", removeItemsFromsLibrary: "সংগ্রহ থেকে {{count}} বস্তু বিয়োগ করা হবে। আপনি কি নিশ্চিত?", invalidEncryptionKey: "অবৈধ এনক্রীপশন কী।", collabOfflineWarning: "" }, l = { unsupportedFileType: "অসমর্থিত ফাইল।", imageInsertError: "ছবি সন্নিবেশ করা যায়নি। পরে আবার চেষ্টা করুন...", fileTooBig: "ফাইলটি খুব বড়। সর্বাধিক অনুমোদিত আকার হল {{maxSize}}৷", svgImageInsertError: "এসভীজী ছবি সন্নিবেশ করা যায়নি। এসভীজী মার্কআপটি অবৈধ মনে হচ্ছে৷", failedToFetchImage: "", invalidSVGString: "এসভীজী মার্কআপটি অবৈধ মনে হচ্ছে৷", cannotResolveCollabServer: "কোল্যাব সার্ভারের সাথে সংযোগ করা যায়নি। পৃষ্ঠাটি পুনরায় লোড করে আবার চেষ্টা করুন।", importLibraryError: "সংগ্রহ লোড করা যায়নি", collabSaveFailed: "", collabSaveFailed_sizeExceeded: "", imageToolNotSupported: "", brave_measure_text_error: { line1: "", line2: "", line3: "", line4: "" }, libraryElementTypeError: { embeddable: "", iframe: "", image: "" }, asyncPasteFailedOnRead: "", asyncPasteFailedOnParse: "", copyToSystemClipboardFailed: "" }, n = { selection: "বাছাই", image: "চিত্র সন্নিবেশ", rectangle: "আয়তক্ষেত্র", diamond: "রুহিতন", ellipse: "উপবৃত্ত", arrow: "তীর", line: "রেখা", freedraw: "কলম", text: "লেখা", library: "সংগ্রহ", lock: "আঁকার পরে নির্বাচিত টুল সক্রিয় রাখুন", penMode: "", link: "একটি নির্বাচিত আকৃতির জন্য লিঙ্ক যোগ বা আপডেট করুন", eraser: "ঝাড়ন", frame: "", magicframe: "", embeddable: "", laser: "", hand: "", extraTools: "", mermaidToExcalidraw: "", magicSettings: "" }, s = { canvasActions: "ক্যানভাস কার্যকলাপ", selectedShapeActions: "বাছাই করা আকার(গুলি)র কার্যকলাপ", shapes: "আকার(গুলি)" }, d = { canvasPanning: "", linearElement: "একাধিক বিন্দু শুরু করতে ক্লিক করুন, একক লাইনের জন্য টেনে আনুন", freeDraw: "ক্লিক করুন এবং টেনে আনুন, আপনার কাজ শেষ হলে ছেড়ে দিন", text: "বিশেষ্য: আপনি নির্বাচন টুলের সাথে যে কোনো জায়গায় ডাবল-ক্লিক করে পাঠ্য যোগ করতে পারেন", embeddable: "", text_selected: "লেখা সম্পাদনা করতে ডাবল-ক্লিক করুন বা এন্টার টিপুন", text_editing: "লেখা সম্পাদনা শেষ করতে এসকেপ বা কন্ট্রোল/কম্যান্ড যোগে এন্টার টিপুন", linearElementMulti: "শেষ বিন্দুতে ক্লিক করুন অথবা শেষ করতে এসকেপ বা এন্টার টিপুন", lockAngle: "ঘোরানোর সময় আপনি শিফ্ট ধরে রেখে কোণ সীমাবদ্ধ করতে পারেন", resize: `আপনি আকার পরিবর্তন করার সময় শিফ্ট ধরে রেখে অনুপাতকে সীমাবদ্ধ করতে পারেন,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { g as getConfig, s as setAccDescription, a as getAccDescription, b as getAccTitle, c as setAccTitle, d as select, l as log$1, e as configureSvgSize, f as assignWithDepth$1, h as calculateTextWidth, i as sanitizeText$2, j as distExports, w as wrapLabel, k as common$1, m as calculateTextHeight } from "./index-
|
|
2
|
-
import { d as drawRect$1, g as getNoteRect } from "./svgDrawCommon-08f97a94-
|
|
1
|
+
import { g as getConfig, s as setAccDescription, a as getAccDescription, b as getAccTitle, c as setAccTitle, d as select, l as log$1, e as configureSvgSize, f as assignWithDepth$1, h as calculateTextWidth, i as sanitizeText$2, j as distExports, w as wrapLabel, k as common$1, m as calculateTextHeight } from "./index-D_C0FKVU.js";
|
|
2
|
+
import { d as drawRect$1, g as getNoteRect } from "./svgDrawCommon-08f97a94-3s9STiwU.js";
|
|
3
3
|
var parser = (function() {
|
|
4
4
|
var o = function(k, v, o2, l) {
|
|
5
5
|
for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)
|