@dwelle/excalidraw 0.5.0-2dbdd6f → 0.5.0-2e5786f
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/CHANGELOG.md +229 -0
- package/README.md +111 -14
- package/dist/dev/{chunk-EWKWI3K7.js → chunk-IUKF2BNN.js} +59 -5
- package/dist/dev/chunk-IUKF2BNN.js.map +7 -0
- package/dist/dev/chunk-Q67DF2PJ.js +69 -0
- package/dist/dev/chunk-Q67DF2PJ.js.map +7 -0
- package/dist/dev/{chunk-JBODKHIT.js → chunk-XFZZLSOF.js} +16745 -11631
- package/dist/dev/chunk-XFZZLSOF.js.map +7 -0
- package/dist/dev/{chunk-NYLL7DNJ.js → chunk-XRXU5XOA.js} +2 -2
- package/dist/dev/components/TTDDialog/{CodeMirrorEditor-PY5ZVWKQ.js → CodeMirrorEditor-GYLDZZSD.js} +2 -2
- package/dist/dev/data/{image-WSL7K3G4.js → image-KVOR7M3R.js} +3 -3
- package/dist/dev/index.css +1065 -724
- package/dist/dev/index.css.map +3 -3
- package/dist/dev/index.js +16584 -10255
- package/dist/dev/index.js.map +4 -4
- package/dist/dev/locales/{ar-SA-AGVJN2FU.js → ar-SA-EW44IW4V.js} +91 -46
- package/dist/dev/locales/ar-SA-EW44IW4V.js.map +7 -0
- package/dist/dev/locales/{az-AZ-62IXPX5D.js → az-AZ-AI7WAYA2.js} +49 -4
- package/dist/dev/locales/az-AZ-AI7WAYA2.js.map +7 -0
- package/dist/dev/locales/{bg-BG-UBDZF4KA.js → bg-BG-43ZNGDXF.js} +49 -4
- package/dist/dev/locales/bg-BG-43ZNGDXF.js.map +7 -0
- package/dist/dev/locales/{bn-BD-4TAUVZOD.js → bn-BD-PU4CN7NP.js} +49 -4
- package/dist/dev/locales/bn-BD-PU4CN7NP.js.map +7 -0
- package/dist/dev/locales/{bn-IN-PUGL2LDE.js → bn-IN-54CF43JL.js} +49 -4
- package/dist/dev/locales/bn-IN-54CF43JL.js.map +7 -0
- package/dist/dev/locales/{ca-ES-GEEW5L7T.js → ca-ES-RHJO3QDO.js} +50 -5
- package/dist/dev/locales/ca-ES-RHJO3QDO.js.map +7 -0
- package/dist/dev/locales/{cs-CZ-LNVE3QM5.js → cs-CZ-ZRSAO3BA.js} +49 -4
- package/dist/dev/locales/cs-CZ-ZRSAO3BA.js.map +7 -0
- package/dist/dev/locales/{da-DK-CAYJG7FJ.js → da-DK-OAB6DEJX.js} +49 -4
- package/dist/dev/locales/da-DK-OAB6DEJX.js.map +7 -0
- package/dist/dev/locales/{de-CH-GCXOD4LK.js → de-CH-QF7JLXTF.js} +157 -112
- package/dist/dev/locales/de-CH-QF7JLXTF.js.map +7 -0
- package/dist/dev/locales/{de-DE-CGDBECYD.js → de-DE-5ZO4KOPT.js} +157 -112
- package/dist/dev/locales/de-DE-5ZO4KOPT.js.map +7 -0
- package/dist/dev/locales/{el-GR-G5QZC24A.js → el-GR-F74ZSUEO.js} +50 -5
- package/dist/dev/locales/el-GR-F74ZSUEO.js.map +7 -0
- package/dist/dev/locales/{en-A3UOWEYW.js → en-BC4BNQRX.js} +8 -2
- package/dist/dev/locales/{es-ES-UMEOH76W.js → es-ES-3B3IENPS.js} +144 -99
- package/dist/dev/locales/es-ES-3B3IENPS.js.map +7 -0
- package/dist/dev/locales/{eu-ES-IWRZXJC5.js → eu-ES-NH447TVU.js} +203 -158
- package/dist/dev/locales/eu-ES-NH447TVU.js.map +7 -0
- package/dist/dev/locales/{fa-IR-QOYVIIJA.js → fa-IR-V44PNTTK.js} +68 -23
- package/dist/dev/locales/fa-IR-V44PNTTK.js.map +7 -0
- package/dist/dev/locales/{fi-FI-BXRW65OA.js → fi-FI-ZXSYWCC4.js} +49 -4
- package/dist/dev/locales/fi-FI-ZXSYWCC4.js.map +7 -0
- package/dist/dev/locales/{fr-FR-R2QH5VCW.js → fr-FR-RJSOSEYS.js} +88 -43
- package/dist/dev/locales/fr-FR-RJSOSEYS.js.map +7 -0
- package/dist/dev/locales/{gl-ES-4ES3ZADP.js → gl-ES-NAUVMVFY.js} +49 -4
- package/dist/dev/locales/gl-ES-NAUVMVFY.js.map +7 -0
- package/dist/dev/locales/{he-IL-TRQRRYPH.js → he-IL-JBKWWR75.js} +145 -100
- package/dist/dev/locales/he-IL-JBKWWR75.js.map +7 -0
- package/dist/dev/locales/{hi-IN-U46BOJEC.js → hi-IN-SD773MVZ.js} +50 -5
- package/dist/dev/locales/hi-IN-SD773MVZ.js.map +7 -0
- package/dist/dev/locales/{hu-HU-JDULJ6XL.js → hu-HU-OTA7GOAV.js} +49 -4
- package/dist/dev/locales/hu-HU-OTA7GOAV.js.map +7 -0
- package/dist/dev/locales/{id-ID-BLIXNCUT.js → id-ID-KGCGQFTT.js} +139 -94
- package/dist/dev/locales/id-ID-KGCGQFTT.js.map +7 -0
- package/dist/dev/locales/{it-IT-6TBW7RUK.js → it-IT-EWGEXMVK.js} +54 -9
- package/dist/dev/locales/it-IT-EWGEXMVK.js.map +7 -0
- package/dist/dev/locales/{ja-JP-6HYAQFYX.js → ja-JP-YMGRGBPS.js} +189 -144
- package/dist/dev/locales/ja-JP-YMGRGBPS.js.map +7 -0
- package/dist/dev/locales/{kaa-Z5UP62XJ.js → kaa-RRE7XUCW.js} +49 -4
- package/dist/dev/locales/kaa-RRE7XUCW.js.map +7 -0
- package/dist/dev/locales/{kab-KAB-Z7STWQKS.js → kab-KAB-ZCYVOJU4.js} +49 -4
- package/dist/dev/locales/kab-KAB-ZCYVOJU4.js.map +7 -0
- package/dist/dev/locales/{kk-KZ-BWHY45DX.js → kk-KZ-TO6XEFJC.js} +49 -4
- package/dist/dev/locales/kk-KZ-TO6XEFJC.js.map +7 -0
- package/dist/dev/locales/{km-KH-HGLNWNRU.js → km-KH-3HTDL5HB.js} +49 -4
- package/dist/dev/locales/km-KH-3HTDL5HB.js.map +7 -0
- package/dist/dev/locales/{ko-KR-CO36WKPC.js → ko-KR-O4L4O7L6.js} +133 -88
- package/dist/dev/locales/ko-KR-O4L4O7L6.js.map +7 -0
- package/dist/dev/locales/{ku-TR-AACVIARC.js → ku-TR-AFJWDY67.js} +49 -4
- package/dist/dev/locales/ku-TR-AFJWDY67.js.map +7 -0
- package/dist/dev/locales/{lt-LT-CFYYFLDV.js → lt-LT-7QOT2VDQ.js} +49 -4
- package/dist/dev/locales/lt-LT-7QOT2VDQ.js.map +7 -0
- package/dist/dev/locales/{lv-LV-QCBBOFFU.js → lv-LV-WV6C4NYF.js} +49 -4
- package/dist/dev/locales/lv-LV-WV6C4NYF.js.map +7 -0
- package/dist/dev/locales/{mr-IN-B2CM5GK5.js → mr-IN-3TLYWOEI.js} +52 -7
- package/dist/dev/locales/mr-IN-3TLYWOEI.js.map +7 -0
- package/dist/dev/locales/{my-MM-756BNN36.js → my-MM-NNL2QJT3.js} +49 -4
- package/dist/dev/locales/my-MM-NNL2QJT3.js.map +7 -0
- package/dist/dev/locales/{nb-NO-5BLHQI4J.js → nb-NO-PG3XLMEV.js} +50 -5
- package/dist/dev/locales/nb-NO-PG3XLMEV.js.map +7 -0
- package/dist/dev/locales/{nl-NL-225BLGAH.js → nl-NL-MMOYEKKQ.js} +59 -14
- package/dist/dev/locales/nl-NL-MMOYEKKQ.js.map +7 -0
- package/dist/dev/locales/{nn-NO-4J7MR6GH.js → nn-NO-AAC2I2YX.js} +49 -4
- package/dist/dev/locales/nn-NO-AAC2I2YX.js.map +7 -0
- package/dist/dev/locales/{oc-FR-XCETH7KF.js → oc-FR-SR6MFB4N.js} +50 -5
- package/dist/dev/locales/oc-FR-SR6MFB4N.js.map +7 -0
- package/dist/dev/locales/{pa-IN-32NBAN5L.js → pa-IN-ADGMQLQI.js} +49 -4
- package/dist/dev/locales/pa-IN-ADGMQLQI.js.map +7 -0
- package/dist/dev/locales/{percentages-ZRLRVMSI.js → percentages-X2QIQ6XJ.js} +2 -2
- package/dist/dev/locales/{pl-PL-R6OJ54BT.js → pl-PL-FNIPTMVP.js} +50 -5
- package/dist/dev/locales/pl-PL-FNIPTMVP.js.map +7 -0
- package/dist/dev/locales/{pt-BR-7AFGAKGR.js → pt-BR-67FMCDNE.js} +136 -91
- package/dist/dev/locales/pt-BR-67FMCDNE.js.map +7 -0
- package/dist/dev/locales/{pt-PT-S6BMW6MY.js → pt-PT-4G3GI4SF.js} +135 -90
- package/dist/dev/locales/pt-PT-4G3GI4SF.js.map +7 -0
- package/dist/dev/locales/{ro-RO-4JVGQHS2.js → ro-RO-CUZFN555.js} +54 -9
- package/dist/dev/locales/ro-RO-CUZFN555.js.map +7 -0
- package/dist/dev/locales/{ru-RU-IESI752T.js → ru-RU-4GHINTII.js} +56 -11
- package/dist/dev/locales/ru-RU-4GHINTII.js.map +7 -0
- package/dist/dev/locales/{si-LK-H75E7PKD.js → si-LK-SSNT7T4A.js} +50 -5
- package/dist/dev/locales/si-LK-SSNT7T4A.js.map +7 -0
- package/dist/dev/locales/{sk-SK-EUK2NR2F.js → sk-SK-J7TKZQEH.js} +87 -42
- package/dist/dev/locales/sk-SK-J7TKZQEH.js.map +7 -0
- package/dist/dev/locales/{sl-SI-AKW7R5PW.js → sl-SI-SIBMLDYY.js} +135 -90
- package/dist/dev/locales/sl-SI-SIBMLDYY.js.map +7 -0
- package/dist/dev/locales/{sv-SE-QIBOOXLJ.js → sv-SE-6GYGFZNL.js} +132 -87
- package/dist/dev/locales/sv-SE-6GYGFZNL.js.map +7 -0
- package/dist/dev/locales/{ta-IN-LBK2NQ5K.js → ta-IN-7AW6CTGA.js} +49 -4
- package/dist/dev/locales/ta-IN-7AW6CTGA.js.map +7 -0
- package/dist/dev/locales/{th-TH-YJ2E6GVT.js → th-TH-FP7ULYYM.js} +98 -53
- package/dist/dev/locales/th-TH-FP7ULYYM.js.map +7 -0
- package/dist/dev/locales/{tr-TR-Y5GO2XJW.js → tr-TR-UDQGNXAG.js} +126 -81
- package/dist/dev/locales/tr-TR-UDQGNXAG.js.map +7 -0
- package/dist/dev/locales/{uk-UA-XYAFHHJW.js → uk-UA-25HL2NCU.js} +109 -64
- package/dist/dev/locales/uk-UA-25HL2NCU.js.map +7 -0
- package/dist/dev/locales/{uz-UZ-LF3CBRYE.js → uz-UZ-OPSBAY4H.js} +49 -4
- package/dist/dev/locales/uz-UZ-OPSBAY4H.js.map +7 -0
- package/dist/dev/locales/{vi-VN-WDPZEUOJ.js → vi-VN-DK367UGA.js} +49 -4
- package/dist/dev/locales/vi-VN-DK367UGA.js.map +7 -0
- package/dist/dev/locales/{zh-CN-SZ37453H.js → zh-CN-QCVKNWUH.js} +88 -43
- package/dist/dev/locales/zh-CN-QCVKNWUH.js.map +7 -0
- package/dist/dev/locales/{zh-HK-QDQ5QNBC.js → zh-HK-WFGYHWPG.js} +49 -4
- package/dist/dev/locales/zh-HK-WFGYHWPG.js.map +7 -0
- package/dist/dev/locales/{zh-TW-CYU6GFBV.js → zh-TW-WHQS4ZSD.js} +134 -89
- package/dist/dev/locales/zh-TW-WHQS4ZSD.js.map +7 -0
- package/dist/dev/subset-shared.chunk.js +1 -1
- package/dist/dev/subset-worker.chunk.js +1 -1
- package/dist/prod/chunk-DYU5D34O.js +1 -0
- package/dist/prod/chunk-FZAZBDSE.js +12 -0
- package/dist/prod/chunk-OKMKEMDC.js +35 -0
- package/dist/prod/{chunk-ZV7TQH6J.js → chunk-RX4U73MO.js} +1 -1
- package/dist/prod/components/TTDDialog/{CodeMirrorEditor-M5ZUJBXD.js → CodeMirrorEditor-TTO5E5XX.js} +1 -1
- package/dist/prod/data/image-QH2OFXIG.js +1 -0
- package/dist/prod/index.css +1 -1
- package/dist/prod/index.js +67 -98
- package/dist/prod/locales/ar-SA-5WIASEJP.js +10 -0
- package/dist/prod/locales/az-AZ-V5EUQD6C.js +1 -0
- package/dist/prod/locales/bg-BG-EXASCMTR.js +5 -0
- package/dist/prod/locales/bn-BD-U4SYNFCO.js +3 -0
- package/dist/prod/locales/bn-IN-HKDJIITE.js +3 -0
- package/dist/prod/locales/ca-ES-2KGUU5XB.js +8 -0
- package/dist/prod/locales/cs-CZ-VUCGPRML.js +7 -0
- package/dist/prod/locales/da-DK-NNDP2IVP.js +2 -0
- package/dist/prod/locales/de-CH-I7RAVIZN.js +11 -0
- package/dist/prod/locales/de-DE-WBQ3DQLR.js +11 -0
- package/dist/prod/locales/el-GR-TYQHVGXW.js +7 -0
- package/dist/prod/locales/en-R7FWCZ5G.js +1 -0
- package/dist/prod/locales/es-ES-JEUOREKJ.js +12 -0
- package/dist/prod/locales/eu-ES-SO5DEEAN.js +8 -0
- package/dist/prod/locales/fa-IR-I4JNTJHK.js +9 -0
- package/dist/prod/locales/fi-FI-REAEF6HQ.js +6 -0
- package/dist/prod/locales/fr-FR-SUCL7J6B.js +12 -0
- package/dist/prod/locales/gl-ES-KHCSOGVH.js +6 -0
- package/dist/prod/locales/he-IL-JYXVXV2Q.js +9 -0
- package/dist/prod/locales/hi-IN-BU52H3BO.js +3 -0
- package/dist/prod/locales/hu-HU-OWADXDQ3.js +3 -0
- package/dist/prod/locales/id-ID-2WY7E4VX.js +8 -0
- package/dist/prod/locales/it-IT-INVHSAJF.js +12 -0
- package/dist/prod/locales/ja-JP-JBNTKYP4.js +12 -0
- package/dist/prod/locales/kaa-TC3VIB7V.js +1 -0
- package/dist/prod/locales/kab-KAB-UOUDSQKM.js +4 -0
- package/dist/prod/locales/kk-KZ-P5H2X7YS.js +1 -0
- package/dist/prod/locales/km-KH-IHMV2US7.js +7 -0
- package/dist/prod/locales/ko-KR-ZTMANIDF.js +5 -0
- package/dist/prod/locales/ku-TR-GPJTRB5G.js +6 -0
- package/dist/prod/locales/lt-LT-V3XDOK3P.js +3 -0
- package/dist/prod/locales/lv-LV-DVQ3FADO.js +4 -0
- package/dist/prod/locales/mr-IN-VZ6HH5FE.js +9 -0
- package/dist/prod/locales/my-MM-XYKWHRK6.js +1 -0
- package/dist/prod/locales/nb-NO-UNO2GGZJ.js +8 -0
- package/dist/prod/locales/nl-NL-76EFHT4P.js +13 -0
- package/dist/prod/locales/nn-NO-CFKD7ABE.js +4 -0
- package/dist/prod/locales/oc-FR-YBJTCJ3J.js +4 -0
- package/dist/prod/locales/pa-IN-SNOXSMRV.js +4 -0
- package/dist/prod/locales/percentages-LWOC67ZH.js +1 -0
- package/dist/prod/locales/pl-PL-BSY6YFZ3.js +12 -0
- package/dist/prod/locales/pt-BR-CZDV62R3.js +10 -0
- package/dist/prod/locales/pt-PT-JO57XJJW.js +12 -0
- package/dist/prod/locales/ro-RO-UZ5ICYYN.js +12 -0
- package/dist/prod/locales/ru-RU-AN7JPREC.js +10 -0
- package/dist/prod/locales/si-LK-7CBLD6QQ.js +1 -0
- package/dist/prod/locales/sk-SK-SWR6DKBI.js +7 -0
- package/dist/prod/locales/sl-SI-QY5KCFGA.js +8 -0
- package/dist/prod/locales/sv-SE-O3OFCY3J.js +12 -0
- package/dist/prod/locales/ta-IN-V6NHHU6Z.js +6 -0
- package/dist/prod/locales/th-TH-WLSZUSBX.js +1 -0
- package/dist/prod/locales/tr-TR-GUFYG22B.js +4 -0
- package/dist/prod/locales/uk-UA-K6SV5NFQ.js +6 -0
- package/dist/prod/locales/uz-UZ-TVKTZO2G.js +1 -0
- package/dist/prod/locales/vi-VN-7FKFXJNO.js +7 -0
- package/dist/prod/locales/zh-CN-AOKVLNNK.js +11 -0
- package/dist/prod/locales/zh-HK-CDKPF5DC.js +1 -0
- package/dist/prod/locales/zh-TW-ZVGYESGW.js +13 -0
- package/dist/prod/subset-shared.chunk.js +1 -1
- package/dist/prod/subset-worker.chunk.js +1 -1
- package/dist/types/common/src/appEventBus.d.ts +27 -0
- package/dist/types/common/src/colors.d.ts +23 -1
- package/dist/types/common/src/constants.d.ts +66 -7
- package/dist/types/common/src/index.d.ts +2 -0
- package/dist/types/common/src/keys.d.ts +4 -0
- package/dist/types/common/src/points.d.ts +1 -1
- package/dist/types/common/src/random.d.ts +7 -0
- package/dist/types/common/src/utils.d.ts +7 -46
- package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
- package/dist/types/element/src/Scene.d.ts +7 -5
- package/dist/types/element/src/align.d.ts +2 -2
- package/dist/types/element/src/arrowEndpointText.d.ts +49 -0
- package/dist/types/element/src/arrows/focus.d.ts +5 -2
- package/dist/types/element/src/binding.d.ts +28 -13
- package/dist/types/element/src/bounds.d.ts +22 -7
- package/dist/types/element/src/bucketFill.d.ts +110 -0
- package/dist/types/element/src/collision.d.ts +14 -5
- package/dist/types/element/src/comparisons.d.ts +8 -5
- package/dist/types/element/src/convertToShape.d.ts +23 -0
- package/dist/types/element/src/delta.d.ts +23 -1
- package/dist/types/element/src/distribute.d.ts +2 -2
- package/dist/types/element/src/dragElements.d.ts +27 -0
- package/dist/types/element/src/duplicate.d.ts +64 -3
- package/dist/types/element/src/embeddable.d.ts +2 -2
- package/dist/types/element/src/flowchart.d.ts +11 -7
- package/dist/types/element/src/fractionalIndex.d.ts +2 -2
- package/dist/types/element/src/frame.d.ts +11 -10
- package/dist/types/element/src/groups.d.ts +9 -9
- package/dist/types/element/src/index.d.ts +6 -1
- package/dist/types/element/src/linearElementEditor.d.ts +27 -10
- package/dist/types/element/src/listMarker.d.ts +34 -0
- package/dist/types/element/src/mutateElement.d.ts +1 -1
- package/dist/types/element/src/newElement.d.ts +53 -3
- package/dist/types/element/src/renderElement.d.ts +21 -7
- package/dist/types/element/src/resizeElements.d.ts +2 -2
- package/dist/types/element/src/selection.d.ts +7 -7
- package/dist/types/element/src/shape.d.ts +27 -1
- package/dist/types/element/src/sizeHelpers.d.ts +6 -0
- package/dist/types/element/src/sortElements.d.ts +10 -0
- package/dist/types/element/src/stickyNote.d.ts +183 -0
- package/dist/types/element/src/textElement.d.ts +20 -9
- package/dist/types/element/src/transform.d.ts +26 -7
- package/dist/types/element/src/typeChecks.d.ts +29 -27
- package/dist/types/element/src/types.d.ts +43 -7
- package/dist/types/element/src/utils.d.ts +15 -4
- package/dist/types/element/src/zindex.d.ts +2 -2
- package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +92 -26
- package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -6
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +62 -18
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +385 -753
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +62 -18
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +31 -9
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +96 -29
- package/dist/types/excalidraw/actions/actionDeselect.d.ts +182 -0
- package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
- package/dist/types/excalidraw/actions/actionElementLink.d.ts +31 -9
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +63 -19
- package/dist/types/excalidraw/actions/actionExport.d.ts +165 -395
- package/dist/types/excalidraw/actions/actionFinalize.d.ts +1 -0
- package/dist/types/excalidraw/actions/actionFrame.d.ts +156 -213
- package/dist/types/excalidraw/actions/actionGroup.d.ts +77 -33
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +86 -12
- package/dist/types/excalidraw/actions/actionLink.d.ts +32 -10
- package/dist/types/excalidraw/actions/actionMenu.d.ts +31 -9
- package/dist/types/excalidraw/actions/actionProperties.d.ts +100 -40
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +37 -15
- package/dist/types/excalidraw/actions/actionStyles.d.ts +31 -9
- package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +1 -1
- package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +32 -10
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +35 -14
- package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +32 -10
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +32 -10
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +35 -14
- package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
- package/dist/types/excalidraw/actions/{actionEmbeddable.d.ts → actionToggleShowHints.d.ts} +47 -22
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +32 -10
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +33 -11
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +32 -10
- package/dist/types/excalidraw/actions/colorTargets.d.ts +39 -0
- package/dist/types/excalidraw/actions/index.d.ts +3 -2
- package/dist/types/excalidraw/actions/manager.d.ts +1 -0
- package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
- package/dist/types/excalidraw/actions/types.d.ts +8 -4
- package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
- package/dist/types/excalidraw/appState.d.ts +51 -27
- package/dist/types/excalidraw/clipboard.d.ts +2 -3
- package/dist/types/excalidraw/components/Actions.d.ts +17 -12
- package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
- package/dist/types/excalidraw/components/App.arrowText.d.ts +70 -0
- package/dist/types/excalidraw/components/App.bucketFill.d.ts +48 -0
- package/dist/types/excalidraw/components/App.clipboard.d.ts +31 -0
- package/dist/types/excalidraw/components/App.cursor.d.ts +38 -0
- package/dist/types/excalidraw/components/App.d.ts +342 -123
- package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
- package/dist/types/excalidraw/components/App.duplicate.d.ts +101 -0
- package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
- package/dist/types/excalidraw/components/App.modifiers.d.ts +38 -0
- package/dist/types/excalidraw/components/App.pan.d.ts +62 -0
- package/dist/types/excalidraw/components/App.selectionTool.d.ts +57 -0
- package/dist/types/excalidraw/components/App.text.d.ts +146 -0
- package/dist/types/excalidraw/components/App.textTool.d.ts +140 -0
- package/dist/types/excalidraw/components/App.toolDrag.d.ts +63 -0
- package/dist/types/excalidraw/components/App.viewport.d.ts +113 -0
- package/dist/types/excalidraw/components/App.wheel.d.ts +26 -0
- package/dist/types/excalidraw/components/AppStateObserver.d.ts +37 -0
- package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +9 -3
- package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +3 -1
- package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +5 -1
- package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +9 -2
- package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +4 -2
- package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +8 -1
- package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -1
- package/dist/types/excalidraw/components/ColorPicker/colorTopPicksDnD.d.ts +11 -0
- package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -1
- package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
- package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
- package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
- package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -1
- package/dist/types/excalidraw/components/FileDropOverlay.d.ts +2 -0
- package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +4 -1
- package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +6 -1
- package/dist/types/excalidraw/components/FontPicker/fontTopPicksDnD.d.ts +12 -0
- package/dist/types/excalidraw/components/IconButton.d.ts +48 -0
- package/dist/types/excalidraw/components/Island.d.ts +7 -0
- package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
- package/dist/types/excalidraw/components/LayerUI.d.ts +5 -3
- package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
- package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +6 -2
- package/dist/types/excalidraw/components/LibraryUnit.d.ts +7 -2
- package/dist/types/excalidraw/components/LockButton.d.ts +3 -4
- package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
- package/dist/types/excalidraw/components/MobileMenu.d.ts +4 -4
- package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
- package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
- package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
- package/dist/types/excalidraw/components/Popover.d.ts +1 -3
- package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
- package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
- package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
- package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +1 -1
- package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
- package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
- package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +4 -4
- package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +3 -3
- package/dist/types/excalidraw/components/TTDDialog/utils/TTDStreamFetch.d.ts +2 -1
- package/dist/types/excalidraw/components/Toast.d.ts +8 -4
- package/dist/types/excalidraw/components/ToolPopover.d.ts +3 -6
- package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
- package/dist/types/excalidraw/components/Tools.d.ts +151 -0
- package/dist/types/excalidraw/components/Tooltip.d.ts +15 -1
- package/dist/types/excalidraw/components/TopPicksDnD/TopPicksContextMenu.d.ts +14 -0
- package/dist/types/excalidraw/components/TopPicksDnD/TopPicksTip.d.ts +11 -0
- package/dist/types/excalidraw/components/TopPicksDnD/topPicksDnD.d.ts +58 -0
- package/dist/types/excalidraw/components/UserList.d.ts +3 -2
- package/dist/types/excalidraw/components/ViewportStatusFrame/ViewportStatusFrame.d.ts +11 -0
- package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +3 -1
- package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +3 -0
- package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -1
- package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
- package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +2 -2
- package/dist/types/excalidraw/components/icons.d.ts +7 -1
- package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +10 -4
- package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
- package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
- package/dist/types/excalidraw/data/blob.d.ts +201 -156
- package/dist/types/excalidraw/data/filesystem.d.ts +3 -5
- package/dist/types/excalidraw/data/index.d.ts +6 -7
- package/dist/types/excalidraw/data/json.d.ts +109 -78
- package/dist/types/excalidraw/data/library.d.ts +1 -1
- package/dist/types/excalidraw/data/resave.d.ts +7 -2
- package/dist/types/excalidraw/data/restore.d.ts +1 -1
- package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
- package/dist/types/excalidraw/eraser/index.d.ts +2 -3
- package/dist/types/excalidraw/fonts/Fonts.d.ts +3 -2
- package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
- package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
- package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +5 -5
- package/dist/types/excalidraw/index.d.ts +33 -8
- package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
- package/dist/types/excalidraw/lasso/index.d.ts +2 -3
- package/dist/types/excalidraw/lasso/utils.d.ts +2 -0
- package/dist/types/excalidraw/renderOverrides.d.ts +9 -0
- package/dist/types/excalidraw/renderer/animation.d.ts +5 -1
- package/dist/types/excalidraw/renderer/helpers.d.ts +25 -0
- package/dist/types/excalidraw/renderer/interactiveScene.d.ts +2 -4
- package/dist/types/excalidraw/scene/Renderer.d.ts +489 -20
- package/dist/types/excalidraw/scene/export.d.ts +3 -3
- package/dist/types/excalidraw/scene/index.d.ts +2 -2
- package/dist/types/excalidraw/scene/types.d.ts +7 -5
- package/dist/types/excalidraw/snapping.d.ts +7 -7
- package/dist/types/excalidraw/types.d.ts +601 -72
- package/dist/types/excalidraw/viewport.d.ts +302 -0
- package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +13 -3
- package/dist/types/fractional-indexing/src/index.d.ts +29 -0
- package/dist/types/laser-pointer/src/index.d.ts +2 -0
- package/dist/types/laser-pointer/src/math.d.ts +16 -0
- package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
- package/dist/types/laser-pointer/src/state.d.ts +36 -0
- package/dist/types/math/src/constants.d.ts +0 -1
- package/dist/types/math/src/curve.d.ts +23 -13
- package/dist/types/math/src/index.d.ts +1 -0
- package/dist/types/math/src/pca.d.ts +79 -0
- package/dist/types/math/src/point.d.ts +1 -0
- package/dist/types/math/src/polygon.d.ts +25 -1
- package/dist/types/math/src/segment.d.ts +6 -0
- package/dist/types/utils/src/shape.d.ts +2 -2
- package/package.json +4 -5
- package/dist/dev/chunk-EWKWI3K7.js.map +0 -7
- package/dist/dev/chunk-JBODKHIT.js.map +0 -7
- package/dist/dev/chunk-URPEKBQ3.js +0 -69
- package/dist/dev/chunk-URPEKBQ3.js.map +0 -7
- package/dist/dev/locales/ar-SA-AGVJN2FU.js.map +0 -7
- package/dist/dev/locales/az-AZ-62IXPX5D.js.map +0 -7
- package/dist/dev/locales/bg-BG-UBDZF4KA.js.map +0 -7
- package/dist/dev/locales/bn-BD-4TAUVZOD.js.map +0 -7
- package/dist/dev/locales/bn-IN-PUGL2LDE.js.map +0 -7
- package/dist/dev/locales/ca-ES-GEEW5L7T.js.map +0 -7
- package/dist/dev/locales/cs-CZ-LNVE3QM5.js.map +0 -7
- package/dist/dev/locales/da-DK-CAYJG7FJ.js.map +0 -7
- package/dist/dev/locales/de-CH-GCXOD4LK.js.map +0 -7
- package/dist/dev/locales/de-DE-CGDBECYD.js.map +0 -7
- package/dist/dev/locales/el-GR-G5QZC24A.js.map +0 -7
- package/dist/dev/locales/es-ES-UMEOH76W.js.map +0 -7
- package/dist/dev/locales/eu-ES-IWRZXJC5.js.map +0 -7
- package/dist/dev/locales/fa-IR-QOYVIIJA.js.map +0 -7
- package/dist/dev/locales/fi-FI-BXRW65OA.js.map +0 -7
- package/dist/dev/locales/fr-FR-R2QH5VCW.js.map +0 -7
- package/dist/dev/locales/gl-ES-4ES3ZADP.js.map +0 -7
- package/dist/dev/locales/he-IL-TRQRRYPH.js.map +0 -7
- package/dist/dev/locales/hi-IN-U46BOJEC.js.map +0 -7
- package/dist/dev/locales/hu-HU-JDULJ6XL.js.map +0 -7
- package/dist/dev/locales/id-ID-BLIXNCUT.js.map +0 -7
- package/dist/dev/locales/it-IT-6TBW7RUK.js.map +0 -7
- package/dist/dev/locales/ja-JP-6HYAQFYX.js.map +0 -7
- package/dist/dev/locales/kaa-Z5UP62XJ.js.map +0 -7
- package/dist/dev/locales/kab-KAB-Z7STWQKS.js.map +0 -7
- package/dist/dev/locales/kk-KZ-BWHY45DX.js.map +0 -7
- package/dist/dev/locales/km-KH-HGLNWNRU.js.map +0 -7
- package/dist/dev/locales/ko-KR-CO36WKPC.js.map +0 -7
- package/dist/dev/locales/ku-TR-AACVIARC.js.map +0 -7
- package/dist/dev/locales/lt-LT-CFYYFLDV.js.map +0 -7
- package/dist/dev/locales/lv-LV-QCBBOFFU.js.map +0 -7
- package/dist/dev/locales/mr-IN-B2CM5GK5.js.map +0 -7
- package/dist/dev/locales/my-MM-756BNN36.js.map +0 -7
- package/dist/dev/locales/nb-NO-5BLHQI4J.js.map +0 -7
- package/dist/dev/locales/nl-NL-225BLGAH.js.map +0 -7
- package/dist/dev/locales/nn-NO-4J7MR6GH.js.map +0 -7
- package/dist/dev/locales/oc-FR-XCETH7KF.js.map +0 -7
- package/dist/dev/locales/pa-IN-32NBAN5L.js.map +0 -7
- package/dist/dev/locales/pl-PL-R6OJ54BT.js.map +0 -7
- package/dist/dev/locales/pt-BR-7AFGAKGR.js.map +0 -7
- package/dist/dev/locales/pt-PT-S6BMW6MY.js.map +0 -7
- package/dist/dev/locales/ro-RO-4JVGQHS2.js.map +0 -7
- package/dist/dev/locales/ru-RU-IESI752T.js.map +0 -7
- package/dist/dev/locales/si-LK-H75E7PKD.js.map +0 -7
- package/dist/dev/locales/sk-SK-EUK2NR2F.js.map +0 -7
- package/dist/dev/locales/sl-SI-AKW7R5PW.js.map +0 -7
- package/dist/dev/locales/sv-SE-QIBOOXLJ.js.map +0 -7
- package/dist/dev/locales/ta-IN-LBK2NQ5K.js.map +0 -7
- package/dist/dev/locales/th-TH-YJ2E6GVT.js.map +0 -7
- package/dist/dev/locales/tr-TR-Y5GO2XJW.js.map +0 -7
- package/dist/dev/locales/uk-UA-XYAFHHJW.js.map +0 -7
- package/dist/dev/locales/uz-UZ-LF3CBRYE.js.map +0 -7
- package/dist/dev/locales/vi-VN-WDPZEUOJ.js.map +0 -7
- package/dist/dev/locales/zh-CN-SZ37453H.js.map +0 -7
- package/dist/dev/locales/zh-HK-QDQ5QNBC.js.map +0 -7
- package/dist/dev/locales/zh-TW-CYU6GFBV.js.map +0 -7
- package/dist/prod/chunk-33L4EPXN.js +0 -34
- package/dist/prod/chunk-3PELD44J.js +0 -1
- package/dist/prod/chunk-DF5Y7EC7.js +0 -12
- package/dist/prod/data/image-57VVPCM3.js +0 -1
- package/dist/prod/locales/ar-SA-NXDWD63E.js +0 -8
- package/dist/prod/locales/az-AZ-MXSORGZV.js +0 -1
- package/dist/prod/locales/bg-BG-O6MV2KSF.js +0 -5
- package/dist/prod/locales/bn-BD-T2VJNT7N.js +0 -3
- package/dist/prod/locales/bn-IN-MMW2ORAC.js +0 -3
- package/dist/prod/locales/ca-ES-MKBCGNOG.js +0 -8
- package/dist/prod/locales/cs-CZ-V77HGUP7.js +0 -7
- package/dist/prod/locales/da-DK-I5RFNTM4.js +0 -2
- package/dist/prod/locales/de-CH-WLRDEVBV.js +0 -7
- package/dist/prod/locales/de-DE-DTI4WUSC.js +0 -7
- package/dist/prod/locales/el-GR-ZXDJ2OS4.js +0 -7
- package/dist/prod/locales/en-QI57FMQH.js +0 -1
- package/dist/prod/locales/es-ES-DYQHAD43.js +0 -7
- package/dist/prod/locales/eu-ES-QDSYU5Y3.js +0 -7
- package/dist/prod/locales/fa-IR-26LZG4PM.js +0 -9
- package/dist/prod/locales/fi-FI-6YS4KDE4.js +0 -6
- package/dist/prod/locales/fr-FR-BRLLPTZC.js +0 -12
- package/dist/prod/locales/gl-ES-OKUZTLYG.js +0 -6
- package/dist/prod/locales/he-IL-26MGYIU7.js +0 -8
- package/dist/prod/locales/hi-IN-Q4ZOGTP2.js +0 -3
- package/dist/prod/locales/hu-HU-P2OXPSN5.js +0 -3
- package/dist/prod/locales/id-ID-2EIKXYN6.js +0 -8
- package/dist/prod/locales/it-IT-4CFKVXI2.js +0 -12
- package/dist/prod/locales/ja-JP-MAND2Z4V.js +0 -7
- package/dist/prod/locales/kaa-HQRTCXTJ.js +0 -1
- package/dist/prod/locales/kab-KAB-JKIKKTGH.js +0 -4
- package/dist/prod/locales/kk-KZ-HXQ63ZFC.js +0 -1
- package/dist/prod/locales/km-KH-PKL3LSGX.js +0 -7
- package/dist/prod/locales/ko-KR-KXLREZX3.js +0 -5
- package/dist/prod/locales/ku-TR-MJ4IER3X.js +0 -6
- package/dist/prod/locales/lt-LT-H6WFQ6FJ.js +0 -3
- package/dist/prod/locales/lv-LV-GOCK6SJW.js +0 -4
- package/dist/prod/locales/mr-IN-IXVLDMEQ.js +0 -9
- package/dist/prod/locales/my-MM-YG6MYTTD.js +0 -1
- package/dist/prod/locales/nb-NO-XGWJISD2.js +0 -8
- package/dist/prod/locales/nl-NL-XVDVCPNC.js +0 -13
- package/dist/prod/locales/nn-NO-EMX5MJX5.js +0 -4
- package/dist/prod/locales/oc-FR-ROEINTVO.js +0 -4
- package/dist/prod/locales/pa-IN-ZYN6SUDY.js +0 -4
- package/dist/prod/locales/percentages-5DKR754L.js +0 -1
- package/dist/prod/locales/pl-PL-6VTG7PHC.js +0 -12
- package/dist/prod/locales/pt-BR-5YFKRR5G.js +0 -6
- package/dist/prod/locales/pt-PT-GEIXXZ67.js +0 -8
- package/dist/prod/locales/ro-RO-E2P6TFZI.js +0 -12
- package/dist/prod/locales/ru-RU-YBIIY43T.js +0 -10
- package/dist/prod/locales/si-LK-673C2CI2.js +0 -1
- package/dist/prod/locales/sk-SK-CKZHQ4AP.js +0 -7
- package/dist/prod/locales/sl-SI-557H2GWM.js +0 -6
- package/dist/prod/locales/sv-SE-XOPKKDWS.js +0 -8
- package/dist/prod/locales/ta-IN-XBH7DQI3.js +0 -6
- package/dist/prod/locales/th-TH-TOCWH3R4.js +0 -1
- package/dist/prod/locales/tr-TR-GXW6CYY5.js +0 -4
- package/dist/prod/locales/uk-UA-IJKTNUDG.js +0 -6
- package/dist/prod/locales/uz-UZ-TBZZEA4V.js +0 -1
- package/dist/prod/locales/vi-VN-MULSGNVB.js +0 -7
- package/dist/prod/locales/zh-CN-MVX3E32U.js +0 -11
- package/dist/prod/locales/zh-HK-JNU5RLIE.js +0 -1
- package/dist/prod/locales/zh-TW-LENVCA6T.js +0 -9
- package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
- package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +0 -10
- package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
- package/dist/types/excalidraw/components/MobileToolBar.d.ts +0 -10
- package/dist/types/excalidraw/components/ToolButton.d.ts +0 -49
- package/dist/types/excalidraw/components/shapes.d.ts +0 -263
- package/dist/types/excalidraw/cursor.d.ts +0 -5
- package/dist/types/excalidraw/scene/scroll.d.ts +0 -18
- package/dist/types/excalidraw/scene/scrollConstraints.d.ts +0 -46
- package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
- package/dist/types/utils/src/bbox.d.ts +0 -9
- package/dist/types/utils/src/index.d.ts +0 -4
- package/dist/types/utils/src/withinBounds.d.ts +0 -19
- /package/dist/dev/{chunk-NYLL7DNJ.js.map → chunk-XRXU5XOA.js.map} +0 -0
- /package/dist/dev/components/TTDDialog/{CodeMirrorEditor-PY5ZVWKQ.js.map → CodeMirrorEditor-GYLDZZSD.js.map} +0 -0
- /package/dist/dev/data/{image-WSL7K3G4.js.map → image-KVOR7M3R.js.map} +0 -0
- /package/dist/dev/locales/{en-A3UOWEYW.js.map → en-BC4BNQRX.js.map} +0 -0
- /package/dist/dev/locales/{percentages-ZRLRVMSI.js.map → percentages-X2QIQ6XJ.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../chunk-SRAX5OIU.js";var r={signUp:"",signIn:"",paste:"\u8CBC\u4E0A",pasteAsPlaintext:"",pasteCharts:"\u8CBC\u4E0A\u5716\u8868",chartType_bar:"",chartType_line:"",chartType_radar:"",chartType_plaintext:"",selectAll:"\u5168\u9078",multiSelect:"\u591A\u91CD\u9078\u53D6",moveCanvas:"\u79FB\u52D5\u756B\u5E03",cut:"\u526A\u4E0B",copy:"\u8907\u88FD",copyAsPng:"\u4EE5 PNG \u683C\u5F0F\u8907\u88FD",copyAsSvg:"\u4EE5 SVG \u683C\u5F0F\u8907\u88FD",copyText:"",copySource:"",convertToCode:"",bringForward:"\u5F80\u4E0A\u4E00\u5C64\u79FB\u52D5",sendToBack:"\u79FB\u5230\u6700\u5E95\u5C64",bringToFront:"\u79FB\u5230\u6700\u4E0A\u5C64",sendBackward:"\u5F80\u4E0B\u4E00\u5C64\u79FB\u52D5",delete:"\u522A\u9664",copyStyles:"\u8907\u88FD\u6A23\u5F0F",pasteStyles:"\u5957\u7528\u6A23\u5F0F",stroke:"\u7B46\u8DE1\u984F\u8272",changeStroke:"",background:"\u586B\u5145\u984F\u8272",changeBackground:"",fill:"\u80CC\u666F\u6A23\u5F0F",strokeWidth:"\u7B46\u8DE1\u5BEC\u5EA6",strokeStyle:"\u7B46\u8DE1\u7DDA\u689D",strokeStyle_solid:"\u5BE6\u7DDA",strokeStyle_dashed:"\u865B\u7DDA\uFF08\u8F03\u5BC6\uFF09",strokeStyle_dotted:"\u865B\u7DDA\uFF08\u8F03\u758F\uFF09",sloppiness:"\u7B46\u8DE1\u98A8\u683C",pressure:"",pressure_constant:"",pressure_variable:"",opacity:"\u900F\u660E\u5EA6",textAlign:"\u6587\u5B57\u5C0D\u9F4A",edges:"\u908A\u89D2\u6A23\u5F0F",sharp:"\u92B3\u89D2",round:"\u5713\u89D2",arrowheads:"\u7BAD\u5634",arrowhead_none:"\u7121\u7BAD\u5634",arrowhead_arrow:"\u666E\u901A\u7BAD\u5634",arrowhead_bar:"\u5E73\u982D\u689D\u72C0",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"\u4E09\u89D2\u7BAD\u5634",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",arrowhead_crowfoot_many:"",arrowhead_crowfoot_one:"",arrowhead_crowfoot_one_or_many:"",arrowhead_cardinality_one:"",arrowhead_cardinality_many:"",arrowhead_cardinality_one_or_many:"",arrowhead_cardinality_exactly_one:"",arrowhead_cardinality_zero_or_one:"",arrowhead_cardinality_zero_or_many:"",more_options:"",cardinality:"",arrowtypes:"",arrowtype_sharp:"",arrowtype_round:"",arrowtype_elbowed:"",fontSize:"\u5B57\u578B\u5927\u5C0F",fontFamily:"\u5B57\u9AD4",addWatermark:"\u52A0\u5165\u300C\u4F7F\u7528 Excalidraw \u88FD\u5716\u300D\u6C34\u5370",handDrawn:"\u624B\u7E6A\u9AD4",normal:"\u96FB\u8166\u5B57\u9AD4",code:"\u7B49\u5BEC\u9AD4",small:"\u7D30",medium:"\u4E2D",large:"\u5927",veryLarge:"\u52C1\u5927",solid:"\u5BE6\u5FC3",hachure:"\u659C\u7DDA",zigzag:"",crossHatch:"\u4EA4\u53C9\u683C\u4ED4",thin:"\u5E7C",bold:"\u7C97",left:"\u9760\u5DE6\u5C0D\u9F4A",center:"\u7F6E\u4E2D\u5C0D\u9F4A",right:"\u9760\u53F3\u5C0D\u9F4A",extraBold:"\u52C1\u7C97",architect:"\u624B\u7E6A\u98A8\u683C",artist:"\u85DD\u8853\u5BB6\u98A8\u683C",cartoonist:"\u5361\u901A\u98A8\u683C",fileTitle:"\u6A94\u6848\u540D\u7A31",colorPicker:"",canvasColors:"",canvasBackground:"\u756B\u5E03\u80CC\u666F\u984F\u8272",drawingCanvas:"\u756B\u5E03",clearCanvas:"",layers:"\u5716\u5C64",actions:"\u52D5\u4F5C",language:"\u{1F30F} \u8A9E\u8A00",liveCollaboration:"",duplicateSelection:"\u88FD\u4F5C\u526F\u672C",untitled:"\u672A\u547D\u540D\u7684\u4F5C\u54C1",name:"",yourName:"\u4F60\u7684\u540D\u7A31",madeWithExcalidraw:"\u4F7F\u7528 Excalidraw \u88FD\u5716",group:"\u5EFA\u7ACB\u7269\u4EF6\u7FA4\u7D44",ungroup:"\u53D6\u6D88\u7269\u4EF6\u7FA4\u7D44",collaborators:"\u5DF2\u9023\u7DDA\u7684\u5354\u4F5C\u8005",you:"",toggleGrid:"",addToLibrary:"\u52A0\u5165\u4F5C\u54C1\u5EAB",removeFromLibrary:"\u5F9E\u4F5C\u54C1\u5EAB\u4E2D\u79FB\u9664",libraryLoadingMessage:"\u6B63\u5728\u8F09\u5165\u4F5C\u54C1\u5EAB\u2026",libraries:"\u700F\u89BD\u4F5C\u54C1\u5EAB",loadingScene:"\u8F09\u5165\u756B\u5E03\u4E2D\u2026",loadScene:"",align:"\u7269\u4EF6\u5C0D\u9F4A",alignTop:"\u6C34\u5E73\u7F6E\u9802",alignBottom:"\u6C34\u5E73\u7F6E\u5E95",alignLeft:"\u5782\u76F4\u9760\u5DE6\u5C0D\u9F4A",alignRight:"\u5782\u76F4\u9760\u53F3\u5C0D\u9F4A",centerVertically:"\u5782\u76F4\u7F6E\u4E2D",centerHorizontally:"\u6C34\u5E73\u7F6E\u4E2D",distributeHorizontally:"\u5DE6\u53F3\u7B49\u8DDD",distributeVertically:"\u4E0A\u4E0B\u7B49\u8DDD",flipHorizontal:"\u5DE6\u53F3\u53CD\u8F49",flipVertical:"\u4E0A\u4E0B\u53CD\u8F49",viewMode:"\u552F\u8B80\u6A21\u5F0F",share:"",showStroke:"",showBackground:"",showFonts:"",toggleTheme:"",theme:"",personalLib:"",excalidrawLib:"",decreaseFontSize:"",increaseFontSize:"",unbindText:"",bindText:"",createContainerFromText:"",link:{edit:"",editEmbed:"",create:"",label:"",labelEmbed:"",empty:"",hint:"",goToElement:""},lineEditor:{edit:"",editArrow:""},polygon:{breakPolygon:"",convertToPolygon:""},elementLock:{lock:"",unlock:"",lockAll:"",unlockAll:""},statusPublished:"",sidebarLock:"",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:"",followUs:"",discordChat:"",zoomToFitViewport:"",zoomToFitSelection:"",zoomToFit:"",installPWA:"",autoResize:"",imageCropping:"",unCroppedDimension:"",copyElementLink:"",linkToElement:"",wrapSelectionInFrame:"",tab:"",shapeSwitch:"",preferences:"",preferences_toolLock:"",boxSelectionMode:"",boxSelectionContain:"",boxSelectionOverlap:"",arrowBinding:"",midpointSnapping:""},t={title:"",desc:"",notFound:""},a={noItems:"",hint_emptyLibrary:"",hint_emptyPrivateLibrary:"",search:{inputPlaceholder:"",heading:"",noResults:"",clearSearch:""}},i={title:"",noMatch:"",singleResult:"",multipleResults:"",placeholder:"",frames:"",texts:""},l={clearReset:"\u6E05\u7A7A\u756B\u5E03",exportJSON:"",exportImage:"",export:"",copyToClipboard:"",copyLink:"",save:"",saveAs:"",load:"",getShareableLink:"",close:"",selectLanguage:"",scrollBackToContent:"",zoomIn:"",zoomOut:"",resetZoom:"",menu:"",done:"",edit:"",undo:"",redo:"",resetLibrary:"",createNewRoom:"",fullScreen:"",darkMode:"",lightMode:"",systemMode:"",zenMode:"",objectsSnapMode:"",exitZenMode:"",cancel:"",saveLibNames:"",clear:"",remove:"",embed:"",publishLibrary:"",submit:"",confirm:"",embeddableInteractionButton:""},n={clearReset:"\u3010\u203C\uFE0F \u8B66\u544A \u203C\uFE0F \u7121\u6CD5\u5FA9\u539F\u7684\u52D5\u4F5C\u3011\u4F60\u78BA\u5B9A\u8981\u6E05\u7A7A\u5462\u584A\u756B\u5E03\u55CE\uFF1F",couldNotCreateShareableLink:"",couldNotCreateShareableLinkTooBig:"",couldNotLoadInvalidFile:"",importBackendFailed:"",cannotExportEmptyCanvas:"\u7121\u5622\u53EF\u4EE5\u532F\u51FA\u558E\uFF5E\u756B\u5413\u5622\u5148\uFF1F",couldNotCopyToClipboard:"",decryptFailed:"",uploadedSecurly:"",loadSceneOverridePrompt:"",collabStopOverridePrompt:"",errorAddingToLibrary:"",errorRemovingFromLibrary:"",confirmAddLibrary:"",imageDoesNotContainScene:"",cannotRestoreFromImage:"",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"",invalidEncryptionKey:"",collabOfflineWarning:"",localStorageQuotaExceeded:""},s={unsupportedFileType:"",imageInsertError:"",fileTooBig:"",svgImageInsertError:"",failedToFetchImage:"",cannotResolveCollabServer:"",importLibraryError:"",saveLibraryError:"",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},d={selection:"",lasso:"",image:"",rectangle:"",diamond:"",ellipse:"",arrow:"",line:"",freedraw:"",text:"",library:"",lock:"",penMode:"",link:"",eraser:"",frame:"",magicframe:"",embeddable:"",laser:"",autoshape:"",bucketfill:"",hand:"",extraTools:"",mermaidToExcalidraw:"",convertElementType:""},c={noRegion:"",tooComplex:""},p={rectangle:"",diamond:"",ellipse:"",arrow:"",line:"",freedraw:"",text:"",image:"",group:"",frame:"",magicframe:"",embeddable:"",selection:"",iframe:""},m={canvasActions:"\u756B\u5E03\u52D5\u4F5C",selectedShapeActions:"",shapes:""},g={dismissSearch:"",canvasPanning:"",linearElement:"",arrowTool:"",arrowBindModifiers:"",freeDraw:"",text:"",embeddable:"",autoshape:"",text_selected:"",text_editing:"",linearElementMulti:"",lockAngle:"",resize:"",resizeImage:"",rotate:"",toggleArrowhead:"",lineEditor_info:"",lineEditor_line_info:"",lineEditor_pointSelected:"",lineEditor_nothingSelected:"",publishLibrary:"",bindTextToElement:"",createFlowchart:"",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:"",enterCropEditor:"",leaveCropEditor:""},b={cannotShowPreview:"\u7121\u6CD5\u986F\u793A\u9810\u89BD",canvasTooBig:"\u584A\u756B\u5E03\u592A\u5927\u5566\uFF0C\u7E2E\u7D30\u5572\u5148\u5566\uFF1F",canvasTooBigTip:""},h={headingMain:"",clearCanvasMessage:"\u5982\u679C\u91CD\u65B0\u6574\u7406\u9801\u9762\u90FD\u4FC2\u7747\u5514\u5230\uFF0C\u4F60\u53EF\u4EE5<button>\u6E05\u7A7A\u756B\u5E03</button>",clearCanvasCaveat:"\uFF08\u6CE8\u610F\uFF1A\u5462\u500B\u52D5\u4F5C\u6703\u76F4\u63A5\u4E1F\u68C4\u4F60\u5605\u4F5C\u54C1\uFF0C\u4E26\u4E14\u7121\u6CD5\u5FA9\u539F\uFF09",trackedToSentry:"",openIssueMessage:"",sceneContent:""},u={or:""},y={desc_intro:"",desc_privacy:"",button_startSession:"",button_stopSession:"",desc_inProgressIntro:"",desc_shareLink:"",desc_exitSession:"",shareTitle:""},_={title:""},w={title:"",defaultMessage:""},v={disk_title:"",disk_details:"",disk_button:"",link_title:"",link_details:"",link_button:"",excalidrawplus_description:"",excalidrawplus_button:"",excalidrawplus_exportError:""},S={blog:"",click:"",deepSelect:"",deepBoxSelect:"",createFlowchart:"",navigateFlowchart:"",curvedArrow:"",curvedLine:"",documentation:"",doubleClick:"",drag:"",editor:"",editLineArrowPoints:"",editText:"",github:"",howto:"",or:"",preventBinding:"",tools:"",shortcuts:"",textFinish:"",textNewLine:"",title:"",view:"",zoomToFit:"",zoomToSelection:"",toggleElementLock:"",movePageUpDown:"",movePageLeftRight:"",cropStart:"",cropFinish:""},k={title:""},T={title:"",itemName:"",authorName:"",githubUsername:"",twitterUsername:"",libraryName:"",libraryDesc:"",website:"",placeholder:{authorName:"",libraryName:"",libraryDesc:"",githubHandle:"",twitterHandle:"",website:""},errors:{required:"",website:""},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"",atleastOneLibItem:"",republishWarning:""},x={title:"",content:""},L={resetLibrary:"",removeItemsFromLib:""},f={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},C={tooltip:"",link:""},F={angle:"",shapes:"",height:"",scene:"",selected:"",storage:"",fullTitle:"",title:"",generalStats:"",elementProperties:"",total:"",version:"",versionCopy:"",versionNotAvailable:"",width:""},E={addedToLibrary:"",copyStyles:"",copyToClipboard:"",copyToClipboardAsPng:"",copyToClipboardAsSvg:"",fileSaved:"",fileSavedToFilename:"",canvas:"\u756B\u5E03",selection:"",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:"",elementLinkCopied:""},P={transparent:"",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},A={app:{center_heading:"",center_heading_line2:"",center_heading_line3:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"",center_heading:"",toolbarHint:"",helpHint:""}},z={color:"",mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:"",invalidColor:"",invalidHexLength:"",topPicksTip:"",resetTopPicks:""},M={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},B={title:"",button:"",description:"",syntax:"",preview:"",label:"",inputPlaceholder:"",autoFixAvailable:""},D={error:""},I={inputPlaceholder:"",inputPlaceholderWithMessages:"",generating:"",rateLimitRemaining:"",role:{user:"",assistant:"",system:""},aiBeta:"",label:"",menu:"",newChat:"",deleteChat:"",deleteMessage:"",viewAsMermaid:"",placeholder:{title:"",description:"",hint:""},preview:"",insert:"",retry:"",errors:{promptTooShort:"",promptTooLong:"",generationFailed:"",invalidDiagram:"",fixInMermaid:"",aiRepair:"",requestAborted:"",requestFailed:"",mermaidParseError:""},rateLimit:{messageLimit:"",generalRateLimit:"",messageLimitInputPlaceholder:""},upsellBtnLabel:""},N={placeholder:""},R={badge:{old:""},sceneFonts:"",availableFonts:"",empty:""},H={empty:"",hint:{text:"",followStatus:"",inCall:"",micMuted:"",isSpeaking:""}},O={title:"",shortcuts:{select:"",confirm:"",close:""},recents:"",search:{placeholder:"",noMatch:""},itemNotAvailable:"",shortcutHint:""},U={ctrl:"",option:"",cmd:"",alt:"",escape:"",enter:"",shift:"",spacebar:"",delete:"",mmb:""},W={labels:r,elementLink:t,library:a,search:i,buttons:l,alerts:n,errors:s,toolBar:d,bucketfill:c,element:p,headings:m,hints:g,canvasError:b,errorSplash:h,shareDialog:u,roomDialog:y,errorDialog:_,progressDialog:w,exportDialog:v,helpDialog:S,clearCanvasDialog:k,publishDialog:T,publishSuccessDialog:x,confirmDialog:L,imageExportDialog:f,encrypted:C,stats:F,toast:E,colors:P,welcomeScreen:A,colorPicker:z,overwriteConfirm:M,mermaid:B,ttd:D,chat:I,quickSearch:N,fontList:R,userList:H,commandPalette:O,keys:U};export{n as alerts,c as bucketfill,l as buttons,b as canvasError,I as chat,k as clearCanvasDialog,z as colorPicker,P as colors,O as commandPalette,L as confirmDialog,W as default,p as element,t as elementLink,C as encrypted,_ as errorDialog,h as errorSplash,s as errors,v as exportDialog,R as fontList,m as headings,S as helpDialog,g as hints,f as imageExportDialog,U as keys,r as labels,a as library,B as mermaid,M as overwriteConfirm,w as progressDialog,T as publishDialog,x as publishSuccessDialog,N as quickSearch,y as roomDialog,i as search,u as shareDialog,F as stats,E as toast,d as toolBar,D as ttd,H as userList,A as welcomeScreen};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import"../chunk-SRAX5OIU.js";var r={signUp:"",signIn:"",paste:"\u8CBC\u4E0A",pasteAsPlaintext:"\u4EE5\u7D14\u6587\u5B57\u8CBC\u4E0A",pasteCharts:"\u8CBC\u4E0A\u5716\u8868",chartType_bar:"\u9577\u689D\u5716",chartType_line:"\u6298\u7DDA\u5716",chartType_radar:"\u96F7\u9054\u5716",chartType_plaintext:"\u7D14\u6587\u5B57",selectAll:"\u5168\u9078",multiSelect:"\u5C07\u7269\u4EF6\u52A0\u5165\u9078\u53D6\u7BC4\u570D",moveCanvas:"\u79FB\u52D5\u756B\u5E03",cut:"\u526A\u4E0B",copy:"\u8907\u88FD",copyAsPng:"\u4EE5 PNG \u683C\u5F0F\u5132\u5B58\u5230\u526A\u8CBC\u7C3F",copyAsSvg:"\u4EE5 SVG \u683C\u5F0F\u8907\u88FD\u5230\u526A\u8CBC\u7C3F",copyText:"\u4EE5\u6587\u5B57\u683C\u5F0F\u8907\u88FD\u81F3\u526A\u8CBC\u7C3F",copySource:"\u8907\u88FD\u4F86\u6E90\u81F3\u526A\u8CBC\u7C3F",convertToCode:"\u8F49\u63DB\u70BA\u7A0B\u5F0F\u78BC",bringForward:"\u4E0A\u79FB\u4E00\u5C64",sendToBack:"\u79FB\u5230\u6700\u5E95\u5C64",bringToFront:"\u7F6E\u65BC\u6700\u9802\u5C64",sendBackward:"\u5F80\u5F8C\u79FB\u4E00\u5C64",delete:"\u522A\u9664",copyStyles:"\u8907\u88FD\u6A23\u5F0F",pasteStyles:"\u8CBC\u4E0A\u6A23\u5F0F",stroke:"\u7B46\u756B",changeStroke:"\u8B8A\u66F4\u7B46\u756B\u984F\u8272",background:"\u80CC\u666F",changeBackground:"\u8B8A\u66F4\u80CC\u666F\u984F\u8272",fill:"\u586B\u6EFF",strokeWidth:"\u7B46\u8DE1\u5BEC\u5EA6",strokeStyle:"\u7B46\u756B\u6A23\u5F0F",strokeStyle_solid:"\u5BE6\u7DDA",strokeStyle_dashed:"\u865B\u7DDA",strokeStyle_dotted:"\u9EDE\u7DDA",sloppiness:"\u7DDA\u689D\u98A8\u683C",pressure:"\u58D3\u529B",pressure_constant:"\u5E38\u6578",pressure_variable:"\u8B8A\u6578",opacity:"\u900F\u660E\u5EA6",textAlign:"\u6587\u5B57\u5C0D\u9F4A",edges:"\u908A\u7DE3",sharp:"\u5C16\u92B3",round:"\u5E73\u6ED1",arrowheads:"\u7BAD\u982D",arrowhead_none:"\u7121",arrowhead_arrow:"\u7BAD\u982D",arrowhead_bar:"\u689D\u72C0\u7BAD\u982D",arrowhead_circle:"\u5713\u5F62",arrowhead_circle_outline:"\u5713\u5F62\uFF08\u5916\u6846\uFF09",arrowhead_triangle:"\u4E09\u89D2\u5F62",arrowhead_triangle_outline:"\u4E09\u89D2\u5F62\uFF08\u5916\u6846\uFF09",arrowhead_diamond:"\u83F1\u5F62",arrowhead_diamond_outline:"\u83F1\u5F62\uFF08\u5916\u6846\uFF09",arrowhead_crowfoot_many:"\u96DE\u722A\u7B26\u865F\uFF08\u591A\uFF09",arrowhead_crowfoot_one:"\u96DE\u722A\u7B26\u865F\uFF08\u4E00\uFF09",arrowhead_crowfoot_one_or_many:"\u96DE\u722A\u7B26\u865F\uFF08\u4E00\u6216\u591A\uFF09",arrowhead_cardinality_one:"\u57FA\u6578\uFF08\u4E00\uFF09",arrowhead_cardinality_many:"\u57FA\u6578\uFF08\u591A\u500B\uFF09",arrowhead_cardinality_one_or_many:"\u57FA\u6578\uFF08\u4E00\u500B\u6216\u591A\u500B\uFF09",arrowhead_cardinality_exactly_one:"\u57FA\u6578\uFF08\u6070\u597D\u70BA 1\uFF09",arrowhead_cardinality_zero_or_one:"\u57FA\u6578\uFF08\u96F6\u6216\u4E00\uFF09",arrowhead_cardinality_zero_or_many:"\u57FA\u6578\uFF08\u96F6\u6216\u591A\uFF09",more_options:"\u66F4\u591A\u9078\u9805",cardinality:"\u57FA\u6578",arrowtypes:"\u7BAD\u982D\u985E\u578B",arrowtype_sharp:"\u5C16\u92B3\u7BAD\u982D",arrowtype_round:"\u5F4E\u89D2\u7BAD\u982D",arrowtype_elbowed:"\u76F4\u89D2\u7BAD\u982D",fontSize:"\u5B57\u578B\u5927\u5C0F",fontFamily:"\u5B57\u578B\u7CFB\u5217",addWatermark:"\u52A0\u4E0A\u300C\u4EE5 Excalidraw \u88FD\u4F5C\u300D\u6D6E\u6C34\u5370",handDrawn:"\u624B\u5BEB",normal:"\u4E00\u822C",code:"\u4EE3\u78BC",small:"\u5C0F",medium:"\u4E2D",large:"\u5927",veryLarge:"\u7279\u5927",solid:"\u5BE6\u5FC3",hachure:"\u659C\u7DDA\u7B46\u89F8",zigzag:"\uFF3A\u5B57\u5F62",crossHatch:"\u4EA4\u53C9\u7B46\u89F8",thin:"\u7D30",bold:"\u7C97",left:"\u5DE6\u5074",center:"\u7F6E\u4E2D",right:"\u53F3\u5074",extraBold:"\u6975\u7C97",architect:"\u7CBE\u78BA",artist:"\u85DD\u8853",cartoonist:"\u5361\u901A",fileTitle:"\u6A94\u6848\u540D\u7A31",colorPicker:"\u8272\u5F69\u9078\u64C7\u5DE5\u5177",canvasColors:"\u4F7F\u7528\u65BC\u756B\u5E03",canvasBackground:"Canvas \u80CC\u666F",drawingCanvas:"\u7E6A\u5716 canvas",clearCanvas:"\u6E05\u9664\u756B\u5E03",layers:"\u5716\u5C64",actions:"\u52D5\u4F5C",language:"\u8A9E\u8A00",liveCollaboration:"\u5373\u6642\u5354\u4F5C...",duplicateSelection:"\u8907\u88FD",untitled:"\u7121\u6A19\u984C",name:"\u540D\u7A31",yourName:"\u4F60\u7684\u540D\u7A31",madeWithExcalidraw:"\u4EE5 Excalidraw \u88FD\u4F5C",group:"\u5EFA\u7ACB\u7FA4\u7D44",ungroup:"\u53D6\u6D88\u7FA4\u7D44",collaborators:"\u5354\u4F5C\u8005",you:"\u4F60",toggleGrid:"\u5207\u63DB\u7DB2\u683C",addToLibrary:"\u52A0\u5165\u8CC7\u6599\u5EAB",removeFromLibrary:"\u5F9E\u8CC7\u6599\u5EAB\u4E2D\u79FB\u9664",libraryLoadingMessage:"\u8CC7\u6599\u5EAB\u8B80\u53D6\u4E2D\u2026",libraries:"\u700F\u89BD\u8CC7\u6599\u5EAB",loadingScene:"\u5834\u666F\u8B80\u53D6\u4E2D\u2026",loadScene:"\u5F9E\u6A94\u6848\u8F09\u5165\u5834\u666F",align:"\u5C0D\u9F4A",alignTop:"\u5C0D\u9F4A\u9802\u90E8",alignBottom:"\u5C0D\u9F4A\u5E95\u90E8",alignLeft:"\u5C0D\u9F4A\u5DE6\u5074",alignRight:"\u5C0D\u9F4A\u53F3\u5074",centerVertically:"\u5782\u76F4\u7F6E\u4E2D",centerHorizontally:"\u6C34\u5E73\u7F6E\u4E2D",distributeHorizontally:"\u6C34\u5E73\u5206\u5E03",distributeVertically:"\u5782\u76F4\u5206\u5E03",flipHorizontal:"\u6C34\u5E73\u7FFB\u8F49",flipVertical:"\u5782\u76F4\u7FFB\u8F49",viewMode:"\u6AA2\u8996\u6A21\u5F0F",share:"\u5206\u4EAB",showStroke:"\u986F\u793A\u7DDA\u689D\u6AA2\u8272\u5668",showBackground:"\u986F\u793A\u80CC\u666F\u6AA2\u8272\u5668",showFonts:"\u986F\u793A\u5B57\u578B\u9078\u55AE",toggleTheme:"\u5207\u63DB\u6DFA\u8272/\u6DF1\u8272\u4E3B\u984C",theme:"\u4E3B\u984C",personalLib:"\u500B\u4EBA\u8CC7\u6599\u5EAB",excalidrawLib:"Excalidraw \u8CC7\u6599\u5EAB",decreaseFontSize:"\u7E2E\u5C0F\u6587\u5B57",increaseFontSize:"\u653E\u5927\u6587\u5B57",unbindText:"\u53D6\u6D88\u7D81\u5B9A\u6587\u5B57",bindText:"\u7D50\u5408\u6587\u5B57\u81F3\u5BB9\u5668",createContainerFromText:"\u5C07\u6587\u5B57\u5305\u65BC\u5BB9\u5668\u4E2D",link:{edit:"\u7DE8\u8F2F\u9023\u7D50",editEmbed:"\u7DE8\u8F2F\u53EF\u5D4C\u5165\u9023\u7D50",create:"\u65B0\u589E\u9023\u7D50",label:"\u9023\u7D50",labelEmbed:"\u9023\u7D50\u8207\u5D4C\u5165",empty:"\u672A\u8A2D\u5B9A\u9023\u7D50",hint:"\u5728\u6B64\u8F38\u5165\u6216\u8CBC\u4E0A\u9023\u7D50",goToElement:"\u79FB\u81F3\u76EE\u6A19\u5143\u7D20"},lineEditor:{edit:"\u7DE8\u8F2F\u7DDA\u689D",editArrow:"\u7DE8\u8F2F\u7BAD\u982D"},polygon:{breakPolygon:"\u89E3\u9664\u591A\u908A\u5F62",convertToPolygon:"\u8F49\u63DB\u70BA\u591A\u908A\u5F62"},elementLock:{lock:"\u9396\u5B9A",unlock:"\u89E3\u9396",lockAll:"\u5168\u90E8\u9396\u5B9A",unlockAll:"\u5168\u90E8\u89E3\u9396"},statusPublished:"\u5DF2\u767C\u5E03",sidebarLock:"\u5074\u6B04\u7DAD\u6301\u958B\u555F",selectAllElementsInFrame:"\u9078\u53D6\u6846\u67B6\u5167\u7684\u6240\u6709\u5143\u7D20",removeAllElementsFromFrame:"\u5F9E\u6846\u67B6\u5167\u79FB\u9664\u6240\u6709\u5143\u7D20",eyeDropper:"\u5F9E\u756B\u5E03\u4E2D\u9078\u53D6\u984F\u8272",textToDiagram:"\u6587\u5B57\u8F49\u5716\u8868",prompt:"\u63D0\u793A\u8A5E",followUs:"\u8FFD\u8E64\u6211\u5011",discordChat:"Discord \u804A\u5929\u5BA4",zoomToFitViewport:"\u7E2E\u653E\u81F3\u7B26\u5408 viewport",zoomToFitSelection:"\u7E2E\u653E\u81F3\u7B26\u5408\u9078\u53D6\u5340",zoomToFit:"\u7E2E\u653E\u81F3\u986F\u793A\u6240\u6709\u5143\u7D20",installPWA:"\u65BC\u672C\u6A5F\u5B89\u88DD Excalidraw (PWA)",autoResize:"\u555F\u7528\u6587\u5B57\u81EA\u52D5\u7E2E\u653E",imageCropping:"\u5716\u7247\u526A\u88C1",unCroppedDimension:"\u672A\u526A\u88C1\u5C3A\u5BF8",copyElementLink:"\u8907\u88FD\u6B64\u7269\u4EF6\u7684\u9023\u7D50",linkToElement:"\u9023\u7D50\u81F3\u7269\u4EF6",wrapSelectionInFrame:"\u5C07\u9078\u53D6\u5167\u5BB9\u653E\u5165\u6846\u67B6",tab:"Tab",shapeSwitch:"\u5207\u63DB\u5F62\u72C0",preferences:"\u504F\u597D\u8A2D\u5B9A",preferences_toolLock:"\u9396\u5B9A\u5DE5\u5177",boxSelectionMode:"\u9078\u53D6\u65B9\u5F0F",boxSelectionContain:"\u5B8C\u5168\u5305\u8986",boxSelectionOverlap:"\u90E8\u5206\u91CD\u758A",arrowBinding:"\u7BAD\u982D\u9023\u7D50",midpointSnapping:"\u8CBC\u9F4A\u4E2D\u9EDE"},o={title:"\u9023\u7D50\u81F3\u7269\u4EF6",desc:"\u9EDE\u64CA\u756B\u5E03\u4E0A\u7684\u5F62\u72C0\u6216\u8CBC\u4E0A\u9023\u7D50",notFound:"\u7121\u6CD5\u5728\u756B\u5E03\u4E0A\u627E\u5230\u9023\u7D50\u7684\u7269\u4EF6"},a={noItems:"\u5C1A\u672A\u52A0\u5165\u4EFB\u4F55\u7269\u4EF6...",hint_emptyLibrary:"\u9078\u53D6\u756B\u5E03\u4E0A\u7684\u7269\u4EF6\u4EE5\u52A0\u5165\uFF0C\u6216\u5F9E\u4E0B\u65B9\u7684\u516C\u958B\u5132\u5B58\u5EAB\u4E2D\u5B89\u88DD\u8CC7\u6599\u5EAB\u3002",hint_emptyPrivateLibrary:"\u9078\u64C7\u756B\u5E03\u4E0A\u7684\u7269\u4EF6\u4EE5\u5728\u6B64\u52A0\u5165\u3002",search:{inputPlaceholder:"\u641C\u5C0B\u8CC7\u6599\u5EAB",heading:"\u76F8\u7B26\u7684\u8CC7\u6599\u5EAB",noResults:"\u627E\u4E0D\u5230\u76F8\u7B26\u7684\u9805\u76EE...",clearSearch:"\u6E05\u9664\u641C\u5C0B"}},i={title:"\u5728\u756B\u5E03\u4E0A\u5C0B\u627E",noMatch:"\u672A\u627E\u5230\u7B26\u5408\u9805\u76EE\u2026",singleResult:"\u7D50\u679C",multipleResults:"\u7D50\u679C",placeholder:"\u5728\u756B\u5E03\u4E0A\u5C0B\u627E\u6587\u5B57\u2026",frames:"\u6846\u67B6",texts:"\u6587\u5B57"},l={clearReset:"\u91CD\u8A2D\u756B\u5E03",exportJSON:"\u532F\u51FA\u81F3\u6A94\u6848",exportImage:"\u532F\u51FA\u5716\u7247",export:"\u5132\u5B58\u81F3...",copyToClipboard:"\u8907\u88FD\u81F3\u526A\u8CBC\u7C3F",copyLink:"\u8907\u88FD\u9023\u7D50",save:"\u5132\u5B58\u76EE\u524D\u6A94\u6848",saveAs:"\u5132\u5B58\u70BA",load:"\u958B\u555F",getShareableLink:"\u53D6\u5F97\u5171\u4EAB\u9023\u7D50",close:"\u95DC\u9589",selectLanguage:"\u9078\u64C7\u8A9E\u8A00",scrollBackToContent:"\u6372\u52D5\u56DE\u5230\u5167\u5BB9",zoomIn:"\u653E\u5927",zoomOut:"\u7E2E\u5C0F",resetZoom:"\u91CD\u8A2D\u7E2E\u653E",menu:"\u9078\u55AE",done:"\u5B8C\u6210",edit:"\u7DE8\u8F2F",undo:"\u5FA9\u539F",redo:"\u91CD\u505A",resetLibrary:"\u91CD\u8A2D\u8CC7\u6599\u5EAB",createNewRoom:"\u5EFA\u7ACB\u65B0\u5354\u4F5C\u6703\u8B70\u5BA4",fullScreen:"\u5168\u87A2\u5E55",darkMode:"\u6DF1\u8272\u6A21\u5F0F",lightMode:"\u6DFA\u8272\u6A21\u5F0F",systemMode:"\u7CFB\u7D71\u6A21\u5F0F",zenMode:"\u5C08\u6CE8\u6A21\u5F0F",objectsSnapMode:"\u5438\u9644\u81F3\u7269\u4EF6",exitZenMode:"\u96E2\u958B\u5C08\u6CE8\u6A21\u5F0F",cancel:"\u53D6\u6D88",saveLibNames:"\u5132\u5B58\u540D\u7A31\u4E26\u96E2\u958B",clear:"\u6E05\u9664",remove:"\u522A\u9664",embed:"\u5207\u63DB\u5D4C\u5165",publishLibrary:"\u91CD\u65B0\u547D\u540D\u6216\u767C\u5E03",submit:"\u9001\u51FA",confirm:"\u78BA\u8A8D",embeddableInteractionButton:"\u9EDE\u64CA\u4EE5\u4E92\u52D5"},n={clearReset:"\u9019\u5C07\u6703\u6E05\u9664\u6574\u500B canvas\u3002\u4F60\u78BA\u5B9A\u55CE\uFF1F",couldNotCreateShareableLink:"\u7121\u6CD5\u5EFA\u7ACB\u5171\u4EAB\u9023\u7D50\u3002",couldNotCreateShareableLinkTooBig:"\u7121\u6CD5\u5EFA\u7ACB\u5171\u4EAB\u9023\u7D50\uFF1A\u5834\u666F\u592A\u5927",couldNotLoadInvalidFile:"\u7121\u6CD5\u8B80\u53D6\u5931\u6548\u7684\u6A94\u6848\u3002",importBackendFailed:"\u5F8C\u7AEF\u8B80\u53D6\u5931\u6557\u3002",cannotExportEmptyCanvas:"\u7121\u6CD5\u8F38\u51FA\u7A7A\u767D\u7684 canvas\u3002",couldNotCopyToClipboard:"\u7121\u6CD5\u8907\u88FD\u5230\u526A\u8CBC\u7C3F",decryptFailed:"\u7121\u6CD5\u89E3\u5BC6\u8CC7\u6599\u3002",uploadedSecurly:"\u4E0A\u50B3\u5DF2\u901A\u904E end-to-end \u52A0\u5BC6\uFF0CExcalidraw \u4F3A\u670D\u5668\u548C\u7B2C\u4E09\u65B9\u7121\u6CD5\u7686\u8B80\u53D6\u5176\u5167\u5BB9\u3002",loadSceneOverridePrompt:"\u8B80\u53D6\u5916\u90E8\u5716\u6A23\u5C07\u53D6\u4EE3\u76EE\u524D\u7684\u5167\u5BB9\u3002\u662F\u5426\u8981\u7E7C\u7E8C\uFF1F",collabStopOverridePrompt:`\u505C\u6B62\u9023\u7DDA\u5C07\u8986\u84CB\u60A8\u5148\u524D\u65BC\u672C\u6A5F\u5132\u5B58\u7684\u7E6A\u5716\u9032\u5EA6\uFF0C\u662F\u5426\u78BA\u8A8D\uFF1F
|
|
2
|
+
|
|
3
|
+
\uFF08\u5982\u8981\u4FDD\u7559\u539F\u6709\u7684\u672C\u6A5F\u7E6A\u5716\u9032\u5EA6\uFF0C\u76F4\u63A5\u95DC\u9589\u700F\u89BD\u5668\u5206\u9801\u5373\u53EF\u3002\uFF09`,errorAddingToLibrary:"\u7121\u6CD5\u65BC\u6B64\u8CC7\u6599\u5EAB\u52A0\u5165\u9805\u76EE",errorRemovingFromLibrary:"\u7121\u6CD5\u7531\u6B64\u8CC7\u6599\u5EAB\u79FB\u9664\u9805\u76EE",confirmAddLibrary:"\u9019\u5C07\u6703\u5C07 {{numShapes}} \u500B\u5716\u5F62\u52A0\u5165\u4F60\u7684\u8CC7\u6599\u5EAB\uFF0C\u4F60\u78BA\u5B9A\u55CE\uFF1F",imageDoesNotContainScene:"\u6B64\u5716\u6A94\u4E2D\u672A\u5305\u542B\u5834\u666F\u8CC7\u6599\u3002\u8F38\u51FA\u6A94\u6848\u6642\u662F\u5426\u6709\u5305\u542B\u5834\u666F\u8CC7\u6599\uFF1F",cannotRestoreFromImage:"\u7121\u6CD5\u7531\u6B64\u6A94\u6848\u56DE\u5FA9\u5834\u666F\u3002",invalidSceneUrl:"\u7121\u6CD5\u7531\u63D0\u4F9B\u7684 URL \u532F\u5165\u5834\u666F\u3002\u53EF\u80FD\u662F\u767C\u751F\u7570\u5E38\uFF0C\u6216\u672A\u5305\u542B\u6709\u6548\u7684 Excalidraw JSON \u8CC7\u6599\u3002",resetLibrary:"\u9019\u6703\u6E05\u9664\u60A8\u7684\u8CC7\u6599\u5EAB\uFF0C\u662F\u5426\u78BA\u5B9A\uFF1F",removeItemsFromsLibrary:"\u5F9E\u8CC7\u6599\u5EAB\u522A\u9664 {{count}} \u9805\uFF1F",invalidEncryptionKey:"\u52A0\u5BC6\u9375\u5FC5\u9808\u70BA22\u5B57\u5143\u3002\u5373\u6642\u5354\u4F5C\u5DF2\u505C\u7528\u3002",collabOfflineWarning:`\u6C92\u6709\u53EF\u7528\u7684\u7DB2\u8DEF\u9023\u7DDA\u3002
|
|
4
|
+
\u8B8A\u66F4\u7121\u6CD5\u5132\u5B58\uFF01`,localStorageQuotaExceeded:"\u700F\u89BD\u5668\u5132\u5B58\u7A7A\u9593\u5DF2\u6EFF\u3002\u8B8A\u66F4\u5C07\u4E0D\u6703\u88AB\u5132\u5B58\u3002"},s={unsupportedFileType:"\u4E0D\u652F\u63F4\u7684\u6A94\u6848\u985E\u578B\u3002",imageInsertError:"\u7121\u6CD5\u63D2\u5165\u5716\u7247\u3002\u8ACB\u7A0D\u5F8C\u518D\u8A66\u2026",fileTooBig:"\u6A94\u6848\u904E\u5927\u3002\u53EF\u63A5\u53D7\u7684\u6700\u5927\u5C3A\u5BF8\u70BA {{maxSize}} \u3002",svgImageInsertError:"\u7121\u6CD5\u63D2\u5165 SVG \u5716\u7247\u3002\u6B64 SVG \u6A94\u6848\u6709\u554F\u984C\u3002",failedToFetchImage:"\u7121\u6CD5\u7372\u53D6\u5716\u7247\u3002",cannotResolveCollabServer:"\u7121\u6CD5\u9023\u7D50\u81F3 collab \u4F3A\u670D\u5668\u3002\u8ACB\u91CD\u65B0\u6574\u7406\u5F8C\u518D\u8A66\u4E00\u6B21\u3002",importLibraryError:"\u7121\u6CD5\u8F09\u5165\u8CC7\u6599\u5EAB",saveLibraryError:"\u7121\u6CD5\u5C07\u8CC7\u6599\u5EAB\u5B58\u81F3\u5132\u5B58\u5340\u3002\u8ACB\u5C07\u8CC7\u6599\u5EAB\u5B58\u81F3\u672C\u6A5F\u6A94\u6848\u4EE5\u78BA\u4FDD\u4E0D\u6703\u5931\u53BB\u5DF2\u8B8A\u66F4\u7684\u90E8\u5206\u3002",collabSaveFailed:"\u7121\u6CD5\u5132\u5B58\u81F3\u5F8C\u7AEF\u8CC7\u6599\u5EAB\u3002\u82E5\u6B64\u554F\u984C\u6301\u7E8C\u767C\u751F\uFF0C\u8ACB\u5C07\u6A94\u6848\u5132\u5B58\u65BC\u672C\u6A5F\u4EE5\u78BA\u4FDD\u8CC7\u6599\u4E0D\u6703\u907A\u5931\u3002",collabSaveFailed_sizeExceeded:"\u7121\u6CD5\u5132\u5B58\u81F3\u5F8C\u7AEF\u8CC7\u6599\u5EAB\uFF0C\u53EF\u80FD\u7684\u539F\u56E0\u70BA\u756B\u5E03\u5C3A\u5BF8\u904E\u5927\u3002\u8ACB\u5C07\u6A94\u6848\u5132\u5B58\u65BC\u672C\u6A5F\u4EE5\u78BA\u4FDD\u8CC7\u6599\u4E0D\u6703\u907A\u5931\u3002",imageToolNotSupported:"\u5716\u7247\u5DF2\u505C\u7528",brave_measure_text_error:{line1:"\u770B\u8D77\u4F86\u60A8\u958B\u555F\u4E86 Brave \u700F\u89BD\u5668\u7684 <bold>Aggressively Block Fingerprinting</bold> \u8A2D\u5B9A\u3002",line2:"\u9019\u53EF\u80FD\u9020\u6210\u60A8\u756B\u5E03\u4E2D <bold>\u6587\u5B57\u5143\u7D20</bold> \u7684\u7570\u5E38\u3002",line3:"\u6211\u5011\u5F37\u70C8\u5EFA\u8B70\u60A8\u95DC\u9589\u6B64\u8A2D\u5B9A\u3002\u60A8\u53EF\u4EE5\u4F9D\u7167 <link>\u9019\u4E9B\u6B65\u9A5F</link> \u4F86\u9032\u884C\u3002",line4:"\u82E5\u95DC\u9589\u6B64\u8A2D\u5B9A\u4E26\u672A\u4FEE\u5FA9\u6587\u5B57\u5143\u7D20\u7684\u986F\u793A\u554F\u984C\uFF0C\u8ACB\u56DE\u5831\u65BC\u6211\u5011 GitHub \u4E0A\u7684 <issueLink>issue</issueLink>\uFF0C\u6216\u5728 <discordLink>Discord</discordLink> \u4E0A\u544A\u8A34\u6211\u5011\u3002"},libraryElementTypeError:{embeddable:"\u53EF\u5D4C\u5165\u5143\u7D20\u7121\u6CD5\u52A0\u5165\u8CC7\u6599\u5EAB",iframe:"IFrame \u5143\u7D20\u7121\u6CD5\u52A0\u5165\u8CC7\u6599\u5EAB",image:"\u5373\u5C07\u652F\u63F4\u52A0\u5165\u5716\u7247\u81F3\u8CC7\u6599\u5EAB\uFF01"},asyncPasteFailedOnRead:"\u7121\u6CD5\u8CBC\u4E0A\uFF08\u7121\u6CD5\u7531\u7CFB\u7D71\u526A\u8CBC\u7C3F\u8B80\u5165\uFF09",asyncPasteFailedOnParse:"\u7121\u6CD5\u8CBC\u4E0A",copyToSystemClipboardFailed:"\u7121\u6CD5\u8907\u88FD\u81F3\u526A\u8CBC\u7C3F"},c={selection:"\u9078\u53D6",lasso:"\u7E69\u7D22\u9078\u53D6",image:"\u63D2\u5165\u5716\u7247",rectangle:"\u9577\u65B9\u5F62",diamond:"\u83F1\u5F62",ellipse:"\u6A62\u5713",arrow:"\u7BAD\u982D",line:"\u7DDA\u689D",freedraw:"\u7E6A\u5716",text:"\u6587\u5B57",library:"\u8CC7\u6599\u5EAB",lock:"\u53EF\u9023\u7E8C\u4F7F\u7528\u9078\u53D6\u7684\u5DE5\u5177",penMode:"\u7B46\u6A21\u5F0F - \u907F\u514D\u89F8\u6478",link:"\u70BA\u6240\u9078\u7684\u5F62\u72C0\u589E\u52A0\b/\u66F4\u65B0\u9023\u7D50",eraser:"\u6A61\u76AE\u64E6",frame:"\u6846\u67B6\u5DE5\u5177",magicframe:"\u7DDA\u6846\u7A3F\u8F49\u70BA\u7A0B\u5F0F\u78BC",embeddable:"\u5D4C\u5165\u7DB2\u7AD9",laser:"\u96F7\u5C04\u7B46",autoshape:"\u756B\u51FA\u5F62\u72C0",bucketfill:"\u6CB9\u6F06\u6876\u586B\u5145\u5DE5\u5177",hand:"\u624B\u5F62\uFF08\u5E73\u79FB\u5DE5\u5177\uFF09",extraTools:"\u66F4\u591A\u5DE5\u5177",mermaidToExcalidraw:"Mermaid \u81F3 Excalidraw",convertElementType:"\u5207\u63DB\u5F62\u72C0\u985E\u578B"},d={noRegion:"\u627E\u4E0D\u5230\u53EF\u586B\u6EFF\u7684\u5C01\u9589\u5340\u57DF\u3002",tooComplex:"\u5340\u57DF\u592A\u8907\u96DC\uFF0C\u7121\u6CD5\u586B\u5145\u3002"},p={rectangle:"\u77E9\u5F62",diamond:"\u83F1\u5F62",ellipse:"\u6A62\u5713\u5F62",arrow:"\u7BAD\u982D",line:"\u7DDA\u689D",freedraw:"\u81EA\u7531\u7E6A\u5716",text:"\u6587\u5B57",image:"\u5716\u7247",group:"\u7FA4\u7D44",frame:"\u6846\u67B6",magicframe:"\u7DDA\u6846\u7A3F\u8F49\u70BA\u7A0B\u5F0F\u78BC",embeddable:"\u5D4C\u5165\u7DB2\u7AD9",selection:"\u5DF2\u9078\u9805\u76EE",iframe:"IFrame\u6846\u67B6"},m={canvasActions:"canvas \u52D5\u4F5C",selectedShapeActions:"\u9078\u53D6\u5716\u5F62\u52D5\u4F5C",shapes:"\u5F62\u72C0"},u={dismissSearch:"{{shortcut}} \u4EE5\u96B1\u85CF\u641C\u5C0B",canvasPanning:"\u5982\u8981\u79FB\u52D5\u756B\u5E03\uFF0C\u8ACB\u5728\u62D6\u66F3\u6642\u6309\u4F4F {{shortcut_1}} \u6216 {{shortcut_2}}\uFF0C\u6216\u4F7F\u7528\u624B\u5F62\u5DE5\u5177",linearElement:"\u9EDE\u64CA\u4EE5\u7E6A\u88FD\u591A\u9EDE\u66F2\u7DDA\uFF1B\u6216\u62D6\u66F3\u4EE5\u7E6A\u88FD\u76F4\u7DDA",arrowTool:"\u9EDE\u9078\u4EE5\u958B\u59CB\u5EFA\u7ACB\u591A\u9EDE\uFF0C\u62D6\u66F3\u53EF\u5EFA\u7ACB\u55AE\u4E00\u7DDA\u6BB5\u3002\u518D\u6B21\u6309\u4E0B {{shortcut}} \u4EE5\u8B8A\u66F4\u7BAD\u982D\u985E\u578B\u3002",arrowBindModifiers:"\u6309\u4F4F {{shortcut_1}} \u4EE5\u505C\u7528\u7D81\u5B9A\uFF0C\u6216\u6309\u4F4F {{shortcut_2}} \u4EE5\u7D81\u5B9A\u65BC\u56FA\u5B9A\u9EDE",freeDraw:"\u9EDE\u64CA\u4E26\u62D6\u66F3\u4F86\u7E6A\u5716\uFF0C\u653E\u958B\u5373\u7D50\u675F",text:"\u63D0\u793A\uFF1A\u4EA6\u53EF\u4F7F\u7528\u9078\u53D6\u5DE5\u5177\u5728\u4EFB\u4F55\u5730\u65B9\u96D9\u64CA\u4F86\u52A0\u5165\u6587\u5B57",embeddable:"\u9EDE\u64CA\u4E26\u62D6\u79FB\u4EE5\u5EFA\u7ACB\u5D4C\u5165\u7DB2\u7AD9",autoshape:"\u756B\u51FA\u77E9\u5F62\u3001\u5713\u5F62\u3001\u83F1\u5F62\u3001\u76F4\u7DDA\u548C\u7BAD\u982D",text_selected:"\u6309\u5169\u4E0B\u6ED1\u9F20\u6216\u6309 {{shortcut}} \u4EE5\u7DE8\u8F2F\u6587\u5B57",text_editing:"{{shortcut_1}} \u6216 {{shortcut_2}} \u4EE5\u7D50\u675F\u7DE8\u8F2F",linearElementMulti:"\u9EDE\u9078\u6700\u5F8C\u4E00\u500B\u9EDE\uFF0C\u6216\u6309\u4E0B {{shortcut_1}} \u6216 {{shortcut_2}} \u4EE5\u5B8C\u6210",lockAngle:"\u4F60\u53EF\u4EE5\u6309\u4F4F {{shortcut}} \u4EE5\u9396\u5B9A\u89D2\u5EA6",resize:`\u7E2E\u653E\u6642\u6309\u4F4F {{shortcut_1}} \u53EF\u4FDD\u6301\u7B49\u6BD4\u4F8B\uFF0C
|
|
5
|
+
\u6309\u4F4F {{shortcut_2}} \u5247\u53EF\u5F9E\u4E2D\u5FC3\u7E2E\u653E`,resizeImage:`\u6309\u4F4F {{shortcut_1}} \u53EF\u81EA\u7531\u7E2E\u653E\uFF0C
|
|
6
|
+
\u6309\u4F4F {{shortcut_2}} \u5247\u53EF\u5F9E\u4E2D\u5FC3\u7E2E\u653E`,rotate:"\u4F60\u53EF\u4EE5\u5728\u65CB\u8F49\u6642\u6309\u4F4F {{shortcut}} \u4EE5\u9396\u5B9A\u89D2\u5EA6",toggleArrowhead:"\u6309\u5169\u4E0B\u5207\u63DB\u7BAD\u982D",lineEditor_info:"\u6309\u4F4F {{shortcut_1}} \u4E26\u6309\u5169\u4E0B\u6216\u6309\u4E0B {{shortcut_2}} \u4EE5\u7DE8\u8F2F\u9EDE",lineEditor_line_info:"\u6309\u5169\u4E0B\u6216\u6309 {{shortcut}} \u4EE5\u7DE8\u8F2F\u9EDE",lineEditor_pointSelected:`\u6309\u4E0B {{shortcut_1}} \u79FB\u9664\u9EDE\uFF0C
|
|
7
|
+
{{shortcut_2}} \u91CD\u88FD\uFF0C\u6216\u62D6\u66F3\u4EE5\u79FB\u52D5`,lineEditor_nothingSelected:`\u9078\u53D6\u4E00\u500B\u9EDE\u4EE5\u9032\u884C\u7DE8\u8F2F\uFF08\u6309\u4F4F {{shortcut_1}} \u53EF\u591A\u9078\uFF09\uFF0C
|
|
8
|
+
\u6216\u6309\u4F4F {{shortcut_2}} \u4E26\u9EDE\u9078\u4EE5\u65B0\u589E\u9EDE`,publishLibrary:"\u767C\u5E03\u500B\u4EBA\u8CC7\u6599\u5EAB",bindTextToElement:"\u6309\u4E0B {{shortcut}} \u65B0\u589E\u6587\u5B57",createFlowchart:"\u6309\u4E0B {{shortcut}} \u5EFA\u7ACB\u6D41\u7A0B\u5716",deepBoxSelect:"\u6309\u4F4F {{shortcut}} \u4EE5\u9032\u884C\u6DF1\u5EA6\u9078\u53D6\uFF0C\u4E26\u9632\u6B62\u62D6\u66F3",eraserRevert:"\u6309\u4F4F {{shortcut}} \u4EE5\u9084\u539F\u6A19\u8A18\u70BA\u522A\u9664\u7684\u5143\u7D20",firefox_clipboard_write:`\u6B64\u529F\u80FD\u6709\u6A5F\u6703\u900F\u904E\u5C07 "dom.events.asyncClipboard.clipboardItem" \u8A2D\u5B9A\u70BA "true" \u4F86\u958B\u555F\u3002
|
|
9
|
+
\u82E5\u8981\u8B8A\u66F4 Firefox \u700F\u89BD\u5668\u7684\u6B64\u8A2D\u5B9A\u503C\uFF0C\u8ACB\u81F3 "about:config" \u9801\u9762\u3002`,disableSnapping:"\u6309\u4F4F {{shortcut}} \u4EE5\u505C\u7528\u8CBC\u9F4A\uFF08\u81EA\u52D5\u5C0D\u9F4A\uFF09",enterCropEditor:"\u6309\u5169\u4E0B\u5716\u7247\u6216\u6309\u4E0B {{shortcut}} \u4EE5\u88C1\u526A\u5716\u7247",leaveCropEditor:"\u9EDE\u9078\u5716\u7247\u5916\u90E8\uFF0C\u6216\u6309\u4E0B {{shortcut_1}} \u6216 {{shortcut_2}} \u4EE5\u5B8C\u6210\u88C1\u526A"},h={cannotShowPreview:"\u7121\u6CD5\u986F\u793A\u9810\u89BD",canvasTooBig:"\u756B\u5E03\u53EF\u80FD\u904E\u5927",canvasTooBigTip:"\u63D0\u793A\uFF1A\u53EF\u5617\u8A66\u5C07\u6700\u9060\u7684\u5143\u7D20\u79FB\u52D5\u81F3\u8F03\u96C6\u4E2D\u7684\u4F4D\u7F6E"},b={headingMain:"\u767C\u751F\u932F\u8AA4\uFF0C\u5617\u8A66<button>\u91CD\u65B0\u8F09\u5165\u9801\u9762\u3002</button>",clearCanvasMessage:"\u82E5\u91CD\u65B0\u8F09\u5165\u4ECD\u7121\u6CD5\u89E3\u6C7A\u554F\u984C\uFF0C\u5617\u8A66<button>\u6E05\u9664 canvas\u3002</button>",clearCanvasCaveat:"\u6B64\u52D5\u4F5C\u5C07\u9020\u6210\u76EE\u524D\u7684\u4F5C\u54C1\u88AB\u79FB\u9664\u3002",trackedToSentry:"\u6B64\u932F\u8AA4\u8207\u5176\u8B58\u5225\u78BC{{eventId}}\u5C07\u7531\u7CFB\u7D71\u8A18\u9304\u3002",openIssueMessage:"\u6211\u5011\u5C07\u8B39\u614E\u8655\u7406\uFF0C\u4F60\u7684\u4F5C\u54C1\u5167\u5BB9\u4E0D\u6703\u88AB\u5305\u542B\u5728\u932F\u8AA4\u5831\u544A\u4E2D\u3002\u82E5\u4F60\u7684\u4F5C\u54C1\u4E0D\u9700\u4FDD\u6301\u79C1\u5BC6\uFF0C\u8ACB\u8003\u616E\u4F7F\u7528\u6211\u5011\u7684<button>bug tracker\u3002</button>\u8ACB\u5C07\u4E0B\u5217\u8CC7\u8A0A\u8907\u88FD\u8CBC\u4E0A\u81F3 GitHub issue \u4E2D\u3002",sceneContent:"\u4F5C\u54C1\u5167\u5BB9\uFF1A"},g={or:"\u6216"},y={desc_intro:"\u9080\u8ACB\u5176\u4ED6\u4EBA\u4E00\u8D77\u5354\u4F5C",desc_privacy:"\u4E0D\u7528\u64D4\u5FC3\uFF0C\u6B64\u9023\u7DDA\u70BA\u7AEF\u5230\u7AEF\u52A0\u5BC6\u4E14\u5B8C\u5168\u79C1\u6709\uFF0C\u5373\u4F7F\u662F\u6211\u5011\u7684\u4F3A\u670D\u5668\u4E5F\u7121\u6CD5\u770B\u898B\u60A8\u7684\u7E6A\u5716\u3002",button_startSession:"\u958B\u59CB\u9023\u7DDA",button_stopSession:"\u505C\u6B62\u9023\u7DDA",desc_inProgressIntro:"\u5373\u6642\u5354\u4F5C\u9023\u7DDA\u6B63\u5728\u9032\u884C\u4E2D\u3002",desc_shareLink:"\u5C07\u6B64\u9023\u7D50\u5206\u4EAB\u7D66\u6B32\u5354\u4F5C\u7684\u5C0D\u8C61\uFF1A",desc_exitSession:"\u505C\u6B62\u9023\u7DDA\u5C07\u4E2D\u65B7\u4F60\u8207\u5354\u4F5C\u6703\u8B70\u5BA4\u7684\u9023\u7D50\uFF0C\u4F46\u4F60\u4ECD\u53EF\u65BC\u672C\u6A5F\u7DE8\u8F2F\u6B64\u4F5C\u54C1\u3002\u610F\u6307\u505C\u6B62\u9023\u7DDA\u5F8C\u4F60\u7684\u7DE8\u8F2F\u4E0D\u6703\u88AB\u5148\u524D\u5171\u540C\u5354\u4F5C\u7684\u4EBA\u770B\u898B\uFF0C\u4E14\u4ED6\u5011\u53EF\u7E7C\u7E8C\u5171\u540C\u5354\u4F5C\u53E6\u4E00\u500B\u7248\u672C\u3002",shareTitle:"\u52A0\u5165 Excalidraw \u4E0A\u7684\u5373\u6642\u5354\u4F5C\u6703\u8B70\u5BA4"},w={title:"\u932F\u8AA4"},_={title:"\u5132\u5B58\u4E2D",defaultMessage:"\u6B63\u5728\u6E96\u5099\u5132\u5B58..."},S={disk_title:"\u5132\u5B58\u81F3\u786C\u789F",disk_details:"\u5C07\u5834\u666F\u532F\u51FA\u70BA\u53EF\u4F9B\u532F\u5165\u4E4B\u6A94\u6848",disk_button:"\u5132\u5B58\u81F3\u6A94\u6848",link_title:"\u53EF\u5171\u4EAB\u9023\u7D50",link_details:"\u532F\u51FA\u70BA\u552F\u8B80\u9023\u7D50",link_button:"\u532F\u51FA\u70BA\u9023\u7D50",excalidrawplus_description:"\u5C07\u6B64\u5834\u666F\u5132\u5B58\u81F3\u4F60\u7684 Excalidraw+ \u5DE5\u4F5C\u5340",excalidrawplus_button:"\u8F38\u51FA",excalidrawplus_exportError:"\u76EE\u524D\u7121\u6CD5\u8F38\u51FA\u81F3 Excalidraw+"},v={blog:"\u95B1\u8B80\u90E8\u843D\u683C",click:"\u9EDE\u64CA",deepSelect:"\u6DF1\u5EA6\u9078\u53D6",deepBoxSelect:"\u5728\u5BB9\u5668\u5167\u6DF1\u5EA6\u9078\u53D6\u4E26\u907F\u514D\u62D6\u66F3",createFlowchart:"\u7531\u57FA\u672C\u578B\u5EFA\u7ACB\u6D41\u7A0B\u5716",navigateFlowchart:"\u5C0E\u89BD\u6D41\u7A0B\u5716",curvedArrow:"\u66F2\u7BAD\u982D",curvedLine:"\u66F2\u7DDA",documentation:"\u6587\u4EF6",doubleClick:"\u96D9\u64CA",drag:"\u62D6\u66F3",editor:"\u7DE8\u8F2F\u5668",editLineArrowPoints:"\u7DE8\u8F2F\u7DDA/\u7BAD\u982D\u63A7\u5236\u9EDE",editText:"\u7DE8\u8F2F\u6587\u5B57/\u589E\u52A0\u6A19\u7C64",github:"\u767C\u73FE\u7570\u5E38\uFF1F\u56DE\u5831\u554F\u984C",howto:"\u53C3\u7167\u6211\u5011\u7684\u8AAA\u660E",or:"\u6216",preventBinding:"\u907F\u514D\u7BAD\u865F\u9023\u7D50",tools:"\u5DE5\u5177",shortcuts:"\u9375\u76E4\u5FEB\u901F\u9375",textFinish:"\u5B8C\u6210\u7DE8\u8F2F\uFF08\u6587\u5B57\u7DE8\u8F2F\u5668\uFF09",textNewLine:"\u63DB\u884C\uFF08\u6587\u5B57\u7DE8\u8F2F\u5668\uFF09",title:"\u8AAA\u660E",view:"\u6AA2\u8996",zoomToFit:"\u653E\u5927\u81F3\u586B\u6EFF\u756B\u9762",zoomToSelection:"\u7E2E\u653E\u81F3\u9078\u53D6\u5340",toggleElementLock:"\u9396\u5B9A/\u89E3\u9396\u5DF2\u9078\u7684\u9805\u76EE",movePageUpDown:"\u5411\u4E0A/\u4E0B\u79FB\u52D5\u9801\u9762",movePageLeftRight:"\u5411\u5DE6/\u53F3\u79FB\u52D5\u9801\u9762",cropStart:"\u88C1\u5207\u5716\u7247",cropFinish:"\u5B8C\u6210\u5716\u7247\u88C1\u5207"},k={title:"\u6E05\u9664\u756B\u5E03"},x={title:"\u767C\u5E03\u8CC7\u6599\u5EAB",itemName:"\u9805\u76EE\u540D\u7A31",authorName:"\u4F5C\u8005\u540D\u7A31",githubUsername:"GitHub \u5E33\u865F",twitterUsername:"Twitter \u5E33\u865F",libraryName:"\u8CC7\u6599\u5EAB\u540D\u7A31",libraryDesc:"\u8CC7\u6599\u5EAB\u8AAA\u660E",website:"\u7DB2\u7AD9",placeholder:{authorName:"\u60A8\u7684\u540D\u7A31\u6216\u5E33\u865F",libraryName:"\u60A8\u7684\u8CC7\u6599\u5EAB\u540D\u7A31",libraryDesc:"\u63D0\u4F9B\u60A8\u7684\u8CC7\u6599\u5EAB\u8AAA\u660E\u4EE5\u5229\u4ED6\u4EBA\u7406\u89E3\u5176\u7528\u9014",githubHandle:"Github handle\uFF08\u9078\u586B\uFF09\uFF0C\u586B\u5BEB\u5F8C\u60A8\u53EF\u7DE8\u8F2F\u5DF2\u9001\u51FA\u5F85\u5BE9\u67E5\u7684\u8CC7\u6599\u5EAB",twitterHandle:"Twitter \u5E33\u865F\uFF08\u9078\u586B\uFF09\uFF0C\u586B\u5BEB\u5F8C\u82E5\u6211\u5011\u5728 Twitter \u63A8\u5EE3\u6642\u53EF\u63D0\u53CA\u60A8",website:"\u60A8\u500B\u4EBA\u7DB2\u7AD9\u6216\u5176\u4ED6\u7DB2\u7AD9\u7684\u9023\u7D50\uFF08\u9078\u586B\uFF09"},errors:{required:"\u5FC5\u586B",website:"\u8ACB\u8F38\u5165\u6709\u6548\u7684 URL"},noteDescription:"\u9001\u51FA\u60A8\u7684\u8CC7\u6599\u5EAB\u5F8C\u5C07\u88AB\u5305\u542B\u65BC<link>\u516C\u958B\u8CC7\u6599\u5EAB repository</link>\u4EE5\u5229\u4ED6\u4EBA\u5728\u5176\u7E6A\u5716\u4E2D\u4F7F\u7528\u3002",noteGuidelines:"\u8CC7\u6599\u5EAB\u9700\u5148\u7D93\u4EBA\u5DE5\u5BE9\u67E5\u3002\u8ACB\u95B1\u8B80<link>\u8AAA\u660E\u6587\u4EF6</link>\u518D\u9001\u51FA\u3002\u82E5\u9700\u6E9D\u901A\u8207\u4FEE\u6539\u6642\u8981\u900F\u904E GitHub \u5E33\u865F\u4F86\u9032\u884C\uFF0C\u4F46\u4E26\u975E\u5F37\u5236\u9700\u6C42\u3002",noteLicense:"\u9001\u51FA\u5373\u4EE3\u8868\u60A8\u540C\u610F\u6B64\u8CC7\u6599\u5EAB\u5C07\u767C\u5E03\u6642\u4F7F\u7528 <link>MIT \u6388\u6B0A\uFF0C</link>\u7C21\u55AE\u4F86\u8AAA\u662F\u6307\u4EFB\u4F55\u4EBA\u90FD\u80FD\u4E0D\u53D7\u9650\u5236\u7684\u4F7F\u7528\u3002",noteItems:"\u6BCF\u500B\u8CC7\u6599\u5EAB\u9805\u76EE\u90FD\u6709\u7368\u7ACB\u7684\u540D\u7A31\u6545\u53EF\u7BE9\u9078\u3002\u6703\u5305\u542B\u4E0B\u5217\u8CC7\u6599\u5EAB\u9805\u76EE\uFF1A",atleastOneLibItem:"\u8ACB\u9078\u64C7\u81F3\u5C11\u4E00\u9805\u8CC7\u6599\u5EAB\u9805\u76EE",republishWarning:"\u6CE8\u610F\uFF1A\u90E8\u5206\u9078\u53D6\u4E2D\u7684\u7269\u4EF6\u5148\u524D\u5DF2\u767C\u5E03/\u9001\u51FA\u904E\u3002\u5EFA\u8B70\u50C5\u5728\u8981\u66F4\u65B0\u73FE\u5B58\u8CC7\u6599\u5EAB\u6216\u5DF2\u9001\u51FA\u7684\u7269\u4EF6\u6642\u624D\u91CD\u65B0\u9001\u51FA\u9019\u4E9B\u7269\u4EF6\u3002"},T={title:"\u8CC7\u6599\u5EAB\u5DF2\u9001\u51FA",content:"\u611F\u8B1D {{authorName}} \u3002\u60A8\u7684\u8CC7\u6599\u5EAB\u5DF2\u9001\u51FA\u5F85\u5BE9\u67E5\u3002\u60A8\u53EF\u67E5\u770B\u76EE\u524D\u72C0\u614B<link>\u5728\u6B64</link>"},L={resetLibrary:"\u91CD\u8A2D\u8CC7\u6599\u5EAB",removeItemsFromLib:"\u5F9E\u8CC7\u6599\u5EAB\u79FB\u9664\u6240\u9078\u7684\u9805\u76EE"},E={header:"\u532F\u51FA\u5716\u7247",label:{withBackground:"\u80CC\u666F",onlySelected:"\u50C5\u9078\u53D6\u7269\u4EF6",darkMode:"\u6DF1\u8272\u6A21\u5F0F",embedScene:"\u5D4C\u5165\u5834\u666F",scale:"\u7E2E\u653E\u6BD4\u4F8B",padding:"\u5167\u9593\u8DDD"},tooltip:{embedScene:`\u7528\u65BC\u56DE\u5FA9\u5834\u666F\u7684\u5834\u666F\u8CC7\u6599\u6703\u88AB\u5305\u542B\u5728\u8F38\u51FA\u7684 PNG/SVG \u6A94\u6848\u4E2D\u3002
|
|
10
|
+
\u6703\u589E\u52A0\u8F38\u51FA\u7684\u6A94\u6848\u5927\u5C0F\u3002`},title:{exportToPng:"\u8F38\u51FA\u6210 PNG",exportToSvg:"\u8F38\u51FA\u6210 SVG",copyPngToClipboard:"\u8907\u88FD PNG \u81F3\u526A\u8CBC\u7C3F"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"\u8907\u88FD\u81F3\u526A\u8CBC\u7C3F"}},f={tooltip:"\u4F60\u7684\u4F5C\u54C1\u5DF2\u4F7F\u7528 end-to-end \u65B9\u5F0F\u52A0\u5BC6\uFF0CExcalidraw \u7684\u4F3A\u670D\u5668\u4E5F\u7121\u6CD5\u53D6\u5F97\u5176\u5167\u5BB9\u3002",link:"Excalidraw \u7AEF\u5230\u7AEF\u52A0\u5BC6\u7684\u76F8\u95DC\u90E8\u843D\u683C\u6587\u7AE0"},C={angle:"\u89D2\u5EA6",shapes:"\u5F62\u72C0",height:"\u9AD8\u5EA6",scene:"\u5834\u666F",selected:"\u5DF2\u9078",storage:"\u5132\u5B58",fullTitle:"\u756B\u5E03\u8207\u5F62\u72C0\u5C6C\u6027\u8A2D\u5B9A",title:"\u5C6C\u6027",generalStats:"\u4E00\u822C",elementProperties:"\u5F62\u72C0\u5C6C\u6027",total:"\u5408\u8A08",version:"\u7248\u672C",versionCopy:"\u9EDE\u64CA\u8907\u88FD",versionNotAvailable:"\u7121\u6CD5\u53D6\u5F97\u7248\u672C",width:"\u5BEC\u5EA6"},F={addedToLibrary:"\u52A0\u5165\u8CC7\u6599\u5EAB",copyStyles:"\u5DF2\u8907\u88FD\u6A23\u5F0F",copyToClipboard:"\u8907\u88FD\u81F3\u526A\u8CBC\u7C3F\u3002",copyToClipboardAsPng:`\u4EE5 PNG \u683C\u5F0F\u5C07 {{exportSelection}} \u8907\u88FD\u81F3\u526A\u8CBC\u7C3F
|
|
11
|
+
({{exportColorScheme}})`,copyToClipboardAsSvg:`\u4EE5 SVG \u683C\u5F0F\u5C07 {{exportSelection}} \u8907\u88FD\u81F3\u526A\u8CBC\u7C3F
|
|
12
|
+
({{exportColorScheme}})`,fileSaved:"\u5DF2\u5132\u5B58\u6A94\u6848\u3002",fileSavedToFilename:"\u5132\u5B58\u70BA {filename}",canvas:"\u756B\u5E03",selection:"\u5DF2\u9078\u9805\u76EE",pasteAsSingleElement:`\u4F7F\u7528 {{shortcut}} \u4EE5\u505A\u70BA\u55AE\u4E00\u7269\u4EF6\u8CBC\u4E0A\uFF0C
|
|
13
|
+
\u6216\u8CBC\u4E0A\u81F3\u73FE\u6709\u7684\u6587\u5B57\u7DE8\u8F2F\u5668`,unableToEmbed:"\u76EE\u524D\u4E0D\u5141\u8A31\u5D4C\u5165\u6B64\u7DB2\u5740\u3002\u60A8\u53EF\u81F3 GitHub \u63D0\u51FA issue \u4EE5\u8981\u6C42\u5C07\u6B64\u7DB2\u5740\u52A0\u5165\u5408\u683C\u540D\u55AE\u3002",unrecognizedLinkFormat:"\u60A8\u5D4C\u5165\u7684\u9023\u7D50\u683C\u5F0F\u4E0D\u7B26\u3002\u8ACB\u5617\u8A66\u8CBC\u5165\u539F\u7DB2\u7AD9\u6240\u63D0\u4F9B\u7684\u300C\u5D4C\u5165\u300D\u5B57\u4E32\u3002",elementLinkCopied:"\u9023\u7D50\u5DF2\u8907\u88FD\u81F3\u526A\u8CBC\u7C3F"},P={transparent:"\u900F\u660E",black:"\u9ED1",white:"\u767D",red:"\u7D05",pink:"\u7C89\u7D05",grape:"\u6DF1\u7D2B",violet:"\u85CD\u7D2B",gray:"\u7070",blue:"\u85CD",cyan:"\u9752",teal:"\u85CD\u7DA0",green:"\u7DA0",yellow:"\u9EC3",orange:"\u6A58",bronze:"\u9285"},A={app:{center_heading:"\u4F60\u7684\u7E6A\u5716\u5DF2\u5132\u5B58\u5728\u700F\u89BD\u5668\u7684\u5132\u5B58\u7A7A\u9593\u4E2D\u3002",center_heading_line2:"\u700F\u89BD\u5668\u5132\u5B58\u7A7A\u9593\u53EF\u80FD\u6703\u610F\u5916\u5730\u88AB\u6E05\u9664\u3002",center_heading_line3:"\u8ACB\u5B9A\u671F\u5C07\u4F5C\u54C1\u5132\u5B58\u70BA\u6A94\u6848\uFF0C\u4EE5\u907F\u514D\u907A\u5931\u3002",center_heading_plus:"\u60A8\u662F\u5426\u662F\u8981\u524D\u5F80 Excalidraw+ \uFF1F",menuHint:"\u8F38\u51FA\u3001\u504F\u597D\u8A2D\u5B9A\u3001\u8A9E\u8A00..."},defaults:{menuHint:"\u8F38\u51FA\u3001\u504F\u597D\u8A2D\u5B9A\u53CA\u5176\u4ED6...",center_heading:"\u5716\u8868\u3002\u88FD\u4F5C\u3002\u8D85\u7C21\u55AE\u3002",toolbarHint:"\u9078\u500B\u5DE5\u5177\u958B\u59CB\u756B\u5716\u5427\uFF01",helpHint:"\u5FEB\u901F\u9375\u8207\u8AAA\u660E"}},M={color:"\u984F\u8272",mostUsedCustomColors:"\u6700\u5E38\u4F7F\u7528\u7684\u81EA\u8A02\u984F\u8272",colors:"\u984F\u8272",shades:"\u6F38\u8B8A\u8272",hexCode:"Hex \u78BC",noShades:"\u6C92\u6709\u6B64\u984F\u8272\u7684\u6F38\u8B8A\u8272",invalidColor:"\u7121\u6548\u984F\u8272",invalidHexLength:"\u5341\u516D\u9032\u4F4D\u4EE3\u78BC\u5FC5\u9808\u70BA 3\u30014\u30016 \u6216 8 \u500B\u5B57\u5143\u3002",topPicksTip:"\u63D0\u793A\uFF1A\u5C07\u4EFB\u610F\u984F\u8272\u62D6\u66F3\u5230\u4F60\u7684\u6536\u85CF\u593E\u4E0A\u5373\u53EF\u56FA\u5B9A\u3002",resetTopPicks:"\u91CD\u8A2D\u70BA\u9810\u8A2D\u9996\u9078"},I={action:{exportToImage:{title:"\u532F\u51FA\u70BA\u5716\u7247",button:"\u532F\u51FA\u70BA\u5716\u7247",description:"\u5C07\u5834\u666F\u532F\u51FA\u70BA\u53EF\u4F9B\u532F\u5165\u7684\u5716\u7247\u6A94\u6848"},saveToDisk:{title:"\u5132\u5B58\u81F3\u786C\u789F",button:"\u5132\u5B58\u81F3\u786C\u789F",description:"\u5C07\u5834\u666F\u532F\u51FA\u70BA\u53EF\u4F9B\u532F\u5165\u7684\u6A94\u6848"},excalidrawPlus:{title:"Excalidraw+",button:"\u532F\u51FA\u81F3 Excalidraw+",description:"\u5C07\u6B64\u5834\u666F\u5132\u5B58\u81F3\u60A8\u7684 Excalidraw+ \u5DE5\u4F5C\u5340"}},modal:{loadFromFile:{title:"\u5F9E\u6A94\u6848\u8F09\u5165",button:"\u5F9E\u6A94\u6848\u8F09\u5165",description:"\u5F9E\u6A94\u6848\u8F09\u5165\u5C07<bold>\u53D6\u4EE3\u60A8\u76EE\u524D\u7684\u5167\u5BB9</bold>\u3002<br></br>\u53EF\u5148\u4F7F\u7528\u4E0B\u65B9\u7684\u9078\u9805\u5099\u4EFD\u60A8\u7684\u7E6A\u5716\u3002"},shareableLink:{title:"\u5F9E\u9023\u7D50\u8F09\u5165",button:"\u53D6\u4EE3\u6211\u7684\u5167\u5BB9",description:"\u8F09\u5165\u5916\u90E8\u7E6A\u5716\u5C07<bold>\u53D6\u4EE3\u60A8\u76EE\u524D\u7684\u5167\u5BB9</bold>\u3002<br></br>\u53EF\u5148\u4F7F\u7528\u4E0B\u65B9\u7684\u9078\u9805\u5099\u4EFD\u60A8\u7684\u7E6A\u5716\u3002"}}},B={title:"Mermaid \u81F3 Excalidraw",button:"\u63D2\u5165",description:"\u76EE\u524D\u50C5\u652F\u63F4 <flowchartLink>Flowchart</flowchartLink> \u3001 <sequenceLink>Sequence</sequenceLink> \u53CA <classLink>Class </classLink> \u5716\u8868\u3002\u5176\u9918\u6A94\u6848\u985E\u578B\u5728 Excalidraw \u5C07\u6703\u4EE5\u5716\u50CF\u5448\u73FE\u3002",syntax:"Mermaid \u8A9E\u6CD5",preview:"\u9810\u89BD",label:"Mermaid",inputPlaceholder:"\u5728\u9019\u88E1\u7DE8\u5BEB Mermaid \u5B9A\u7FA9...",autoFixAvailable:"\u81EA\u52D5\u4FEE\u6B63\u53EF\u7528"},D={error:"\u932F\u8AA4\uFF01"},N={inputPlaceholder:"\u5728\u9019\u88E1\u958B\u59CB\u8F38\u5165\u4F60\u7684\u5716\u8868\u69CB\u60F3...\uFF08{{shortcut}} \u63DB\u884C\uFF09",inputPlaceholderWithMessages:"\u7E7C\u7E8C\u8ABF\u6574\u4F60\u7684\u5716\u8868...",generating:"\u751F\u6210\u4E2D...",rateLimitRemaining:"\u4ECA\u65E5\u5269\u9918 {{count}} \u6B21\u8ACB\u6C42",role:{user:"\u4F60",assistant:"AI \u52A9\u7406",system:"\u7CFB\u7D71"},aiBeta:"AI Beta \u7248",label:"\u5C0D\u8A71",menu:"\u9078\u55AE",newChat:"\u65B0\u7684\u5C0D\u8A71",deleteChat:"\u522A\u9664\u5C0D\u8A71",deleteMessage:"\u522A\u9664\u8A0A\u606F",viewAsMermaid:"\u4EE5 Mermaid \u683C\u5F0F\u6AA2\u8996",placeholder:{title:"\u8B93\u6211\u5011\u958B\u59CB\u8A2D\u8A08\u4F60\u7684\u5716\u8868",description:"\u63CF\u8FF0\u4F60\u60F3\u8981\u5EFA\u7ACB\u7684\u5716\u8868\uFF0C\u6211\u5011\u5C07\u70BA\u4F60\u751F\u6210\u3002",hint:"\u5230\u76EE\u524D\u6211\u5011\u4E86\u89E3\u6D41\u7A0B\u5716\u3001\u5E8F\u5217\u5716\u3001\u985E\u5225\u5716\u3001\u72C0\u614B\u5716\u548C\u5BE6\u9AD4\u95DC\u4FC2\u5716\u3002"},preview:"\u9810\u89BD",insert:"\u63D2\u5165",retry:"\u91CD\u8A66",errors:{promptTooShort:"\u63D0\u793A\u8A5E\u592A\u77ED\uFF08\u81F3\u5C11 {{min}} \u500B\u5B57\u5143\uFF09",promptTooLong:"\u63D0\u793A\u8A5E\u592A\u9577\uFF08\u6700\u591A {{max}} \u500B\u5B57\u5143\uFF09",generationFailed:"\u751F\u6210\u5931\u6557",invalidDiagram:"\u751F\u6210\u7684\u5716\u8868\u8A9E\u6CD5\u7121\u6548 :(\u3002\u4F60\u53EF\u4EE5\u624B\u52D5\u7DE8\u8F2F\u3001\u5617\u8A66\u81EA\u52D5\u4FEE\u5FA9\uFF0C\u6216\u63DB\u500B\u63D0\u793A\u8A5E\u8A66\u8A66\u3002",fixInMermaid:"\u624B\u52D5\u7DE8\u8F2F Mermaid \u2192",aiRepair:"\u91CD\u65B0\u751F\u6210\uFF08\u81EA\u52D5\u4FEE\u5FA9\uFF09\u2192",requestAborted:"\u8ACB\u6C42\u5DF2\u4E2D\u6B62",requestFailed:"\u8ACB\u6C42\u5931\u6557",mermaidParseError:"Mermaid \u8A9E\u6CD5\u932F\u8AA4"},rateLimit:{messageLimit:"\u4F60\u5DF2\u9054\u5230\u514D\u8CBB\u65B9\u6848\u7684 AI \u4F7F\u7528\u4E0A\u9650\u3002\u8ACB\u8A66\u7528 Excalidraw+ \u4EE5\u53D6\u5F97\u66F4\u591A\u984D\u5EA6\uFF0C\u6216\u660E\u5929\u518D\u8A66\u3002",generalRateLimit:"\u5225\u5FC3\u6025\uFF0C\u4F60\u7684\u64CD\u4F5C\u901F\u5EA6\u592A\u5FEB\u4E86\uFF01\u8ACB\u7A0D\u7B49\u7247\u523B\u5F8C\u518D\u8A66\u3002",messageLimitInputPlaceholder:"\u4F60\u5DF2\u9054\u5230\u8A0A\u606F\u4E0A\u9650"},upsellBtnLabel:"\u5347\u7D1A\u81F3 Plus"},z={placeholder:"\u5FEB\u901F\u641C\u5C0B"},G={badge:{old:"\u820A\u7248"},sceneFonts:"\u5728\u6B64\u5834\u666F\u4E2D",availableFonts:"\u53EF\u7528\u5B57\u578B",empty:"\u627E\u4E0D\u5230\u5B57\u578B"},R={empty:"\u627E\u4E0D\u5230\u4F7F\u7528\u8005",hint:{text:"\u9EDE\u64CA\u4F7F\u7528\u8005\u4EE5\u9032\u884C\u8FFD\u8E64",followStatus:"\u60A8\u6B63\u5728\u8FFD\u8E64\u6B64\u4F7F\u7528\u8005",inCall:"\u4F7F\u7528\u8005\u6B63\u5728\u8A9E\u97F3\u901A\u8A71\u4E2D",micMuted:"\u4F7F\u7528\u8005\u7684\u9EA5\u514B\u98A8\u5DF2\u975C\u97F3",isSpeaking:"\u4F7F\u7528\u8005\u8AAA\u8A71\u4E2D"}},H={title:"\u6307\u4EE4\u9762\u677F",shortcuts:{select:"\u9078\u53D6",confirm:"\u78BA\u8A8D",close:"\u95DC\u9589"},recents:"\u6700\u8FD1\u4F7F\u7528",search:{placeholder:"\u641C\u5C0B\u9078\u55AE\u8207\u6307\u4EE4\u4E26\u627E\u51FA\u96B1\u85CF\u529F\u80FD",noMatch:"\u6C92\u6709\u7B26\u5408\u7684\u6307\u4EE4\u2026"},itemNotAvailable:"\u6307\u4EE4\u7121\u6CD5\u4F7F\u7528\u2026",shortcutHint:"\u4F7F\u7528 {{shortcut}} \u958B\u555F\u6307\u4EE4\u9762\u677F"},O={ctrl:"Ctrl",option:"Option",cmd:"Cmd",alt:"Alt",escape:"Esc",enter:"Enter",shift:"Shift",spacebar:"\u7A7A\u767D\u9375",delete:"Delete",mmb:"\u6EFE\u8F2A"},V={labels:r,elementLink:o,library:a,search:i,buttons:l,alerts:n,errors:s,toolBar:c,bucketfill:d,element:p,headings:m,hints:u,canvasError:h,errorSplash:b,shareDialog:g,roomDialog:y,errorDialog:w,progressDialog:_,exportDialog:S,helpDialog:v,clearCanvasDialog:k,publishDialog:x,publishSuccessDialog:T,confirmDialog:L,imageExportDialog:E,encrypted:f,stats:C,toast:F,colors:P,welcomeScreen:A,colorPicker:M,overwriteConfirm:I,mermaid:B,ttd:D,chat:N,quickSearch:z,fontList:G,userList:R,commandPalette:H,keys:O};export{n as alerts,d as bucketfill,l as buttons,h as canvasError,N as chat,k as clearCanvasDialog,M as colorPicker,P as colors,H as commandPalette,L as confirmDialog,V as default,p as element,o as elementLink,f as encrypted,w as errorDialog,b as errorSplash,s as errors,S as exportDialog,G as fontList,m as headings,v as helpDialog,u as hints,E as imageExportDialog,O as keys,r as labels,a as library,B as mermaid,I as overwriteConfirm,_ as progressDialog,x as publishDialog,T as publishSuccessDialog,z as quickSearch,y as roomDialog,i as search,g as shareDialog,C as stats,F as toast,c as toolBar,D as ttd,R as userList,A as welcomeScreen};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b,c,d}from"./chunk-Z5NKEFVG.js";import"./chunk-
|
|
1
|
+
import{a,b,c,d}from"./chunk-Z5NKEFVG.js";import"./chunk-RX4U73MO.js";import"./chunk-SRAX5OIU.js";export{a as Commands,b as subsetToBase64,c as subsetToBinary,d as toBase64};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as r,c as t}from"./chunk-Z5NKEFVG.js";import"./chunk-
|
|
1
|
+
import{a as r,c as t}from"./chunk-Z5NKEFVG.js";import"./chunk-RX4U73MO.js";import"./chunk-SRAX5OIU.js";var s=import.meta.url?new URL(import.meta.url):void 0;typeof window>"u"&&typeof self<"u"&&(self.onmessage=async e=>{switch(e.data.command){case r.Subset:let a=await t(e.data.arrayBuffer,e.data.codePoints);self.postMessage(a,{transfer:[a]});break}});export{s as WorkerUrl};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { UnsubscribeCallback } from "@excalidraw/excalidraw/types";
|
|
2
|
+
export type AppEventPayloadMap = Record<string, unknown[]>;
|
|
3
|
+
export type AppEventBehavior = {
|
|
4
|
+
cardinality: "once" | "many";
|
|
5
|
+
replay: "none" | "last";
|
|
6
|
+
};
|
|
7
|
+
export type AppEventBehaviorMap<Events extends AppEventPayloadMap> = {
|
|
8
|
+
[K in keyof Events]: AppEventBehavior;
|
|
9
|
+
};
|
|
10
|
+
type AwaitableAppEventKeys<Events extends AppEventPayloadMap, Behavior extends AppEventBehaviorMap<Events>> = {
|
|
11
|
+
[K in keyof Events]: Behavior[K]["cardinality"] extends "once" ? Behavior[K]["replay"] extends "last" ? K : never : never;
|
|
12
|
+
}[keyof Events];
|
|
13
|
+
type AppEventPromiseValue<Args extends any[]> = Args extends [infer Only] ? Only : Args;
|
|
14
|
+
export declare class AppEventBus<Events extends AppEventPayloadMap, Behavior extends AppEventBehaviorMap<Events>> {
|
|
15
|
+
private readonly behavior;
|
|
16
|
+
private readonly emitters;
|
|
17
|
+
private readonly lastPayload;
|
|
18
|
+
private readonly emittedOnce;
|
|
19
|
+
constructor(behavior: Behavior);
|
|
20
|
+
private getEmitter;
|
|
21
|
+
private toPromiseValue;
|
|
22
|
+
on<K extends keyof Events>(name: K, callback: (...args: Events[K]) => void): UnsubscribeCallback;
|
|
23
|
+
on<K extends AwaitableAppEventKeys<Events, Behavior>>(name: K): Promise<AppEventPromiseValue<Events[K]>>;
|
|
24
|
+
emit<K extends keyof Events>(name: K, ...args: Events[K]): void;
|
|
25
|
+
clear(): void;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export declare const applyDarkModeFilter: (color: string) => string;
|
|
1
|
+
export declare const applyDarkModeFilter: (color: string, enable?: boolean) => string;
|
|
2
|
+
export declare const removeDarkModeFilter: (color: string) => string;
|
|
2
3
|
export type ColorTuple = readonly [string, string, string, string, string];
|
|
3
4
|
export type ColorPaletteCustom = {
|
|
4
5
|
[key: string]: ColorTuple | string;
|
|
@@ -28,8 +29,16 @@ export declare const COLOR_PALETTE: {
|
|
|
28
29
|
};
|
|
29
30
|
export type ColorPalette = typeof COLOR_PALETTE;
|
|
30
31
|
export type ColorPickerColor = keyof typeof COLOR_PALETTE;
|
|
32
|
+
/** number of slots in the color-picker top-picks strip — the strip layout is
|
|
33
|
+
* sized for exactly this many swatches, and pick customization (replace /
|
|
34
|
+
* reorder) preserves it */
|
|
35
|
+
export declare const COLOR_TOP_PICKS_SLOTS = 5;
|
|
31
36
|
export declare const DEFAULT_ELEMENT_STROKE_PICKS: ColorTuple;
|
|
32
37
|
export declare const DEFAULT_ELEMENT_BACKGROUND_PICKS: ColorTuple;
|
|
38
|
+
export declare const BUCKET_FILL_BACKGROUND_PICKS: ColorTuple;
|
|
39
|
+
export declare const DEFAULT_STICKY_NOTE_BG = "#ffdf6b";
|
|
40
|
+
export declare const STICKY_NOTE_STROKE_PICKS: ColorTuple;
|
|
41
|
+
export declare const STICKY_NOTE_BACKGROUND_PICKS: ColorTuple;
|
|
33
42
|
export declare const DEFAULT_CANVAS_BACKGROUND_PICKS: ColorTuple;
|
|
34
43
|
export declare const DEFAULT_ELEMENT_STROKE_COLOR_PALETTE: {
|
|
35
44
|
readonly red: readonly ["#fff5f5", "#ffc9c9", "#ff8787", "#fa5252", "#e03131"];
|
|
@@ -67,12 +76,25 @@ export declare const DEFAULT_ELEMENT_BACKGROUND_COLOR_PALETTE: {
|
|
|
67
76
|
};
|
|
68
77
|
export declare const getAllColorsSpecificShade: (index: 0 | 1 | 2 | 3 | 4) => ("#fff5f5" | "#ffc9c9" | "#ff8787" | "#fa5252" | "#e03131" | "#fff0f6" | "#fcc2d7" | "#f783ac" | "#e64980" | "#c2255c" | "#f8f0fc" | "#eebefa" | "#da77f2" | "#be4bdb" | "#9c36b5" | "#f3f0ff" | "#d0bfff" | "#9775fa" | "#7950f2" | "#6741d9" | "#e7f5ff" | "#a5d8ff" | "#4dabf7" | "#228be6" | "#1971c2" | "#e3fafc" | "#99e9f2" | "#3bc9db" | "#15aabf" | "#0c8599" | "#e6fcf5" | "#96f2d7" | "#38d9a9" | "#12b886" | "#099268" | "#ebfbee" | "#b2f2bb" | "#69db7c" | "#40c057" | "#2f9e44" | "#fff9db" | "#ffec99" | "#ffd43b" | "#fab005" | "#f08c00" | "#fff4e6" | "#ffd8a8" | "#ffa94d" | "#fd7e14" | "#e8590c")[];
|
|
69
78
|
export declare const rgbToHex: (r: number, g: number, b: number, a?: number) => string;
|
|
79
|
+
/**
|
|
80
|
+
* @returns the color with its alpha replaced by `alpha` (as #RRGGBBAA), or the
|
|
81
|
+
* input unchanged if it's not a valid color
|
|
82
|
+
*/
|
|
83
|
+
export declare const setColorAlpha: (color: string, alpha: number) => string;
|
|
70
84
|
/**
|
|
71
85
|
* @returns #RRGGBB or #RRGGBBAA based on color containing non-opaque alpha,
|
|
72
86
|
* null if not valid color
|
|
73
87
|
*/
|
|
74
88
|
export declare const colorToHex: (color: string) => string | null;
|
|
75
89
|
export declare const isTransparent: (color: string) => boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Whether the color is fully opaque (alpha exactly 1).
|
|
92
|
+
*
|
|
93
|
+
* NOT the negation of `isTransparent`, which is true only at alpha 0 — a
|
|
94
|
+
* partial-alpha color (`#RRGGBBAA`, `rgba(…, 0.5)`) is neither transparent
|
|
95
|
+
* (it renders) nor opaque (what's beneath shows through it).
|
|
96
|
+
*/
|
|
97
|
+
export declare const isOpaqueColor: (color: string) => boolean;
|
|
76
98
|
export declare const COLOR_OUTLINE_CONTRAST_THRESHOLD = 240;
|
|
77
99
|
export declare const isColorDark: (color: string, threshold?: number) => boolean;
|
|
78
100
|
/**
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type { ExcalidrawElement, FontFamilyValues } from "@excalidraw/element/types";
|
|
2
2
|
import type { AppProps, AppState, NormalizedZoomValue } from "@excalidraw/excalidraw/types";
|
|
3
|
+
export { DEFAULT_STICKY_NOTE_BG } from "./colors";
|
|
3
4
|
export declare const supportsResizeObserver: boolean;
|
|
4
5
|
export declare const APP_NAME = "Excalidraw";
|
|
5
6
|
export declare const TEXT_AUTOWRAP_THRESHOLD = 36;
|
|
7
|
+
export declare const TEXT_VIEWPORT_PADDING = 20;
|
|
8
|
+
export declare const TEXT_MAX_WRAP_WIDTH = 800;
|
|
6
9
|
export declare const DRAGGING_THRESHOLD = 10;
|
|
7
10
|
export declare const MINIMUM_ARROW_SIZE = 20;
|
|
8
11
|
export declare const LINE_CONFIRM_THRESHOLD = 8;
|
|
@@ -52,6 +55,7 @@ export declare enum EVENT {
|
|
|
52
55
|
POINTER_MOVE = "pointermove",
|
|
53
56
|
POINTER_DOWN = "pointerdown",
|
|
54
57
|
POINTER_UP = "pointerup",
|
|
58
|
+
POINTER_CANCEL = "pointercancel",
|
|
55
59
|
STATE_CHANGE = "statechange",
|
|
56
60
|
WHEEL = "wheel",
|
|
57
61
|
TOUCH_START = "touchstart",
|
|
@@ -150,7 +154,53 @@ export declare const FRAME_STYLE: {
|
|
|
150
154
|
};
|
|
151
155
|
export declare const MIN_FONT_SIZE = 1;
|
|
152
156
|
export declare const DEFAULT_FONT_SIZE = 20;
|
|
157
|
+
export declare const STICKY_NOTE_MIN_FONT_SIZE = 16;
|
|
158
|
+
export declare const STICKY_NOTE_MAX_FONT_SIZE = 512;
|
|
159
|
+
export declare const STICKY_NOTE_FALLBACK_FONT_SIZE = 28;
|
|
160
|
+
export declare const STICKY_NOTE_FONT_STEP = 2;
|
|
161
|
+
export declare const STICKY_NOTE_PADDING = 16;
|
|
162
|
+
/**
|
|
163
|
+
* The creation-date footer: a 20px text row under the label body plus a 12px
|
|
164
|
+
* gap above it, inside the note's bottom padding. Reserved for every note —
|
|
165
|
+
* also when `created` is unknown — so geometry never depends on data
|
|
166
|
+
* availability. The label is chosen by width bucket, never measured, so
|
|
167
|
+
* painting stays measurement-free (the server has no text measurer):
|
|
168
|
+
* `minBodyWidthForYear` is the worst case ("30 May 2026") in the system sans
|
|
169
|
+
* stack at 12px, with margin for wider fallbacks such as DejaVu Sans.
|
|
170
|
+
*/
|
|
171
|
+
/**
|
|
172
|
+
* The creation-date footer of a sticky note. The label body ends `height`
|
|
173
|
+
* above the note's bottom padding, and the date's baseline sits
|
|
174
|
+
* `baselineFromBottom` above the note's bottom edge — so the 12px glyphs
|
|
175
|
+
* (~9px above the baseline, ~3px below) end up roughly 11px from the edge
|
|
176
|
+
* with a ~13px gap to the label body above them.
|
|
177
|
+
*/
|
|
178
|
+
export declare const STICKY_NOTE_FOOTER: {
|
|
179
|
+
readonly height: 20;
|
|
180
|
+
readonly fontSize: 12;
|
|
181
|
+
readonly fontFamily: "Helvetica, Arial, sans-serif";
|
|
182
|
+
readonly baselineFromBottom: 14;
|
|
183
|
+
readonly opacity: 1;
|
|
184
|
+
readonly minBodyWidthForYear: 80;
|
|
185
|
+
};
|
|
186
|
+
/**
|
|
187
|
+
* outer height → label body height: top + bottom padding + footer. The body
|
|
188
|
+
* is what the label is fitted into; a middle-aligned label is still centered
|
|
189
|
+
* in the whole padded note when it fits (see `computeBoundTextPosition`).
|
|
190
|
+
*/
|
|
191
|
+
export declare const STICKY_NOTE_BODY_INSET_Y: number;
|
|
192
|
+
export declare const DEFAULT_STICKY_NOTE_SIZE = 250;
|
|
193
|
+
export declare const STICKY_NOTE_MIN_SIZE = 75;
|
|
194
|
+
export declare const STICKY_NOTE_SHADOW_OFFSET = 3;
|
|
195
|
+
export declare const STICKY_NOTE_SHADOW_OPACITY = 0.16;
|
|
196
|
+
export declare const STICKY_NOTE_EDGE_SHADOW_WIDTH = 0.5;
|
|
197
|
+
export declare const STICKY_NOTE_EDGE_SHADOW_OPACITY = 0.08;
|
|
153
198
|
export declare const DEFAULT_FONT_FAMILY: FontFamilyValues;
|
|
199
|
+
/** number of slots in the font-picker top-picks strip — pick customization
|
|
200
|
+
* (replace / reorder) preserves it. Must equal `DEFAULT_FONTS.length` in
|
|
201
|
+
* `packages/excalidraw/components/FontPicker/FontPicker.tsx` (enforced by
|
|
202
|
+
* `fontTopPicks.test.ts`) */
|
|
203
|
+
export declare const FONT_TOP_PICKS_SLOTS = 3;
|
|
154
204
|
export declare const DEFAULT_TEXT_ALIGN = "left";
|
|
155
205
|
export declare const DEFAULT_VERTICAL_ALIGN = "top";
|
|
156
206
|
export declare const DEFAULT_VERSION = "{version}";
|
|
@@ -226,9 +276,12 @@ export declare const TOUCH_CTX_MENU_TIMEOUT = 500;
|
|
|
226
276
|
export declare const TITLE_TIMEOUT = 10000;
|
|
227
277
|
export declare const VERSION_TIMEOUT = 30000;
|
|
228
278
|
export declare const SCROLL_TIMEOUT = 100;
|
|
279
|
+
export declare const ZEN_MODE_TRANSITION_DURATION = 250;
|
|
229
280
|
export declare const ZOOM_STEP = 0.1;
|
|
230
281
|
export declare const MIN_ZOOM = 0.1;
|
|
231
282
|
export declare const MAX_ZOOM = 30;
|
|
283
|
+
/** 100% zoom, for computations that have no editor zoom to go by */
|
|
284
|
+
export declare const DEFAULT_ZOOM: AppState["zoom"];
|
|
232
285
|
export declare const HYPERLINK_TOOLTIP_DELAY = 300;
|
|
233
286
|
export declare const IDLE_THRESHOLD = 60000;
|
|
234
287
|
export declare const ACTIVE_THRESHOLD = 3000;
|
|
@@ -243,8 +296,7 @@ export declare const LIBRARY_SIDEBAR_WIDTH = 302;
|
|
|
243
296
|
export declare const MAX_DECIMALS_FOR_SVG_EXPORT = 2;
|
|
244
297
|
export declare const EXPORT_SCALES: number[];
|
|
245
298
|
export declare const DEFAULT_EXPORT_PADDING = 10;
|
|
246
|
-
export declare const
|
|
247
|
-
export declare const MAX_ALLOWED_FILE_BYTES: number;
|
|
299
|
+
export declare const DEFAULT_IMAGE_OPTIONS: AppProps["imageOptions"];
|
|
248
300
|
export declare const SVG_NS = "http://www.w3.org/2000/svg";
|
|
249
301
|
export declare const SVG_DOCUMENT_PREAMBLE = "<?xml version=\"1.0\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n";
|
|
250
302
|
export declare const ENCRYPTION_KEY_BITS = 128;
|
|
@@ -266,6 +318,7 @@ export declare const TEXT_ALIGN: {
|
|
|
266
318
|
RIGHT: string;
|
|
267
319
|
};
|
|
268
320
|
export declare const ELEMENT_READY_TO_ERASE_OPACITY = 20;
|
|
321
|
+
export declare const ELEMENT_PENDING_DRAW_SHAPE_OPACITY = 70;
|
|
269
322
|
export declare const DEFAULT_PROPORTIONAL_RADIUS = 0.25;
|
|
270
323
|
export declare const DEFAULT_ADAPTIVE_RADIUS = 32;
|
|
271
324
|
export declare const ROUNDNESS: {
|
|
@@ -278,11 +331,12 @@ export declare const ROUGHNESS: {
|
|
|
278
331
|
readonly artist: 1;
|
|
279
332
|
readonly cartoonist: 2;
|
|
280
333
|
};
|
|
281
|
-
export
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
334
|
+
export type StrokeWidthKey = "thin" | "medium" | "bold";
|
|
335
|
+
export declare const STROKE_WIDTH_KEYS: readonly StrokeWidthKey[];
|
|
336
|
+
export declare const STROKE_WIDTH: Readonly<Record<StrokeWidthKey | "extraBold", ExcalidrawElement["strokeWidth"]>>;
|
|
337
|
+
export declare const FREEDRAW_STROKE_WIDTH: Readonly<Record<StrokeWidthKey | "extraBold", ExcalidrawElement["strokeWidth"]>>;
|
|
338
|
+
export declare const getStrokeWidthByKey: (elementType: ExcalidrawElement["type"], strokeWidthKey: StrokeWidthKey) => ExcalidrawElement["strokeWidth"];
|
|
339
|
+
export declare const DEFAULT_ELEMENT_STROKE_WIDTH_KEY: StrokeWidthKey;
|
|
286
340
|
export declare const DEFAULT_ELEMENT_PROPS: {
|
|
287
341
|
strokeColor: ExcalidrawElement["strokeColor"];
|
|
288
342
|
backgroundColor: ExcalidrawElement["backgroundColor"];
|
|
@@ -315,8 +369,11 @@ export declare const TOOL_TYPE: {
|
|
|
315
369
|
readonly hand: "hand";
|
|
316
370
|
readonly frame: "frame";
|
|
317
371
|
readonly magicframe: "magicframe";
|
|
372
|
+
readonly stickynote: "stickynote";
|
|
318
373
|
readonly embeddable: "embeddable";
|
|
319
374
|
readonly laser: "laser";
|
|
375
|
+
readonly autoshape: "autoshape";
|
|
376
|
+
readonly bucketfill: "bucketfill";
|
|
320
377
|
};
|
|
321
378
|
export declare const EDITOR_LS_KEYS: {
|
|
322
379
|
readonly OAI_API_KEY: "excalidraw-oai-api-key";
|
|
@@ -356,3 +413,5 @@ export declare const BIND_MODE_TIMEOUT = 700;
|
|
|
356
413
|
export declare const MOBILE_ACTION_BUTTON_BG: {
|
|
357
414
|
readonly background: "var(--mobile-action-button-bg)";
|
|
358
415
|
};
|
|
416
|
+
export declare const DEFAULT_STROKE_STREAMLINE = 0.5;
|
|
417
|
+
export declare const DEFAULT_STROKE_STREAMLINE_PRECISE = 0.2;
|
|
@@ -11,5 +11,7 @@ export * from "./random";
|
|
|
11
11
|
export * from "./url";
|
|
12
12
|
export * from "./utils";
|
|
13
13
|
export * from "./emitter";
|
|
14
|
+
export * from "./appEventBus";
|
|
14
15
|
export * from "./editorInterface";
|
|
16
|
+
export * from "./versionedSnapshotStore";
|
|
15
17
|
export { Debug } from "../debug";
|
|
@@ -46,6 +46,7 @@ export declare const KEYS: {
|
|
|
46
46
|
readonly SUBTRACT: "-";
|
|
47
47
|
readonly SLASH: "/";
|
|
48
48
|
readonly A: "a";
|
|
49
|
+
readonly B: "b";
|
|
49
50
|
readonly C: "c";
|
|
50
51
|
readonly D: "d";
|
|
51
52
|
readonly E: "e";
|
|
@@ -54,6 +55,7 @@ export declare const KEYS: {
|
|
|
54
55
|
readonly H: "h";
|
|
55
56
|
readonly I: "i";
|
|
56
57
|
readonly L: "l";
|
|
58
|
+
readonly N: "n";
|
|
57
59
|
readonly O: "o";
|
|
58
60
|
readonly P: "p";
|
|
59
61
|
readonly Q: "q";
|
|
@@ -101,6 +103,7 @@ export declare const KeyCodeMap: Map<ValueOf<{
|
|
|
101
103
|
readonly SUBTRACT: "-";
|
|
102
104
|
readonly SLASH: "/";
|
|
103
105
|
readonly A: "a";
|
|
106
|
+
readonly B: "b";
|
|
104
107
|
readonly C: "c";
|
|
105
108
|
readonly D: "d";
|
|
106
109
|
readonly E: "e";
|
|
@@ -109,6 +112,7 @@ export declare const KeyCodeMap: Map<ValueOf<{
|
|
|
109
112
|
readonly H: "h";
|
|
110
113
|
readonly I: "i";
|
|
111
114
|
readonly L: "l";
|
|
115
|
+
readonly N: "n";
|
|
112
116
|
readonly O: "o";
|
|
113
117
|
readonly P: "p";
|
|
114
118
|
readonly Q: "q";
|
|
@@ -6,4 +6,4 @@ export declare const getSizeFromPoints: (points: readonly (GlobalPoint | LocalPo
|
|
|
6
6
|
};
|
|
7
7
|
/** @arg dimension, 0 for rescaling only x, 1 for y */
|
|
8
8
|
export declare const rescalePoints: <Point extends GlobalPoint | LocalPoint>(dimension: 0 | 1, newSize: number, points: readonly Point[], normalize: boolean) => Point[];
|
|
9
|
-
export declare const getGridPoint: (x: number, y: number, gridSize: NullableGridSize) =>
|
|
9
|
+
export declare const getGridPoint: (x: number, y: number, gridSize: NullableGridSize) => GlobalPoint;
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
export declare const randomInteger: () => number;
|
|
2
2
|
export declare const reseed: (seed: number) => void;
|
|
3
3
|
export declare const randomId: () => string;
|
|
4
|
+
/**
|
|
5
|
+
* Deterministic PRNG (mulberry32) for a given seed: same seed, same
|
|
6
|
+
* sequence — used where a render must be stable across frames and clients
|
|
7
|
+
* (e.g. the sticky note's corner jitter) and roughjs's `Random` is
|
|
8
|
+
* unsuitable (it degenerates for seed 0). Returns numbers in [0, 1).
|
|
9
|
+
*/
|
|
10
|
+
export declare const seededRandom: (seed: number) => () => number;
|
|
@@ -25,9 +25,7 @@ export declare const debounce: <T extends any[]>(fn: (...args: T) => void, timeo
|
|
|
25
25
|
flush(): void;
|
|
26
26
|
cancel(): void;
|
|
27
27
|
};
|
|
28
|
-
export declare const throttleRAF: <T extends any[]>(fn: (...args: T) => void
|
|
29
|
-
trailing?: boolean;
|
|
30
|
-
}) => {
|
|
28
|
+
export declare const throttleRAF: <T extends any[]>(fn: (...args: T) => void) => {
|
|
31
29
|
(...args: T): void;
|
|
32
30
|
flush(): void;
|
|
33
31
|
cancel(): void;
|
|
@@ -39,48 +37,6 @@ export declare const throttleRAF: <T extends any[]>(fn: (...args: T) => void, op
|
|
|
39
37
|
* @returns {number} The tweened value.
|
|
40
38
|
*/
|
|
41
39
|
export declare const easeOut: (k: number) => number;
|
|
42
|
-
/**
|
|
43
|
-
* Animates values from `fromValues` to `toValues` using the requestAnimationFrame API.
|
|
44
|
-
* Executes the `onStep` callback on each step with the interpolated values.
|
|
45
|
-
* Returns a function that can be called to cancel the animation.
|
|
46
|
-
*
|
|
47
|
-
* @example
|
|
48
|
-
* // Example usage:
|
|
49
|
-
* const fromValues = { x: 0, y: 0 };
|
|
50
|
-
* const toValues = { x: 100, y: 200 };
|
|
51
|
-
* const onStep = ({x, y}) => {
|
|
52
|
-
* setState(x, y)
|
|
53
|
-
* };
|
|
54
|
-
* const onCancel = () => {
|
|
55
|
-
* console.log("Animation canceled");
|
|
56
|
-
* };
|
|
57
|
-
*
|
|
58
|
-
* const cancelAnimation = easeToValuesRAF({
|
|
59
|
-
* fromValues,
|
|
60
|
-
* toValues,
|
|
61
|
-
* onStep,
|
|
62
|
-
* onCancel,
|
|
63
|
-
* });
|
|
64
|
-
*
|
|
65
|
-
* // To cancel the animation:
|
|
66
|
-
* cancelAnimation();
|
|
67
|
-
*/
|
|
68
|
-
export declare const easeToValuesRAF: <T extends Record<keyof T, number>, K extends keyof T>({ fromValues, toValues, onStep, duration, interpolateValue, onStart, onEnd, onCancel, }: {
|
|
69
|
-
fromValues: T;
|
|
70
|
-
toValues: T;
|
|
71
|
-
/**
|
|
72
|
-
* Interpolate a single value.
|
|
73
|
-
* Return undefined to be handled by the default interpolator.
|
|
74
|
-
*/
|
|
75
|
-
interpolateValue?: (fromValue: number, toValue: number,
|
|
76
|
-
/** no easing applied */
|
|
77
|
-
progress: number, key: K) => number | undefined;
|
|
78
|
-
onStep: (values: T) => void;
|
|
79
|
-
duration?: number;
|
|
80
|
-
onStart?: () => void;
|
|
81
|
-
onEnd?: () => void;
|
|
82
|
-
onCancel?: () => void;
|
|
83
|
-
}) => () => void;
|
|
84
40
|
export declare const chunk: <T extends any>(array: readonly T[], size: number) => T[][];
|
|
85
41
|
export declare const selectNode: (node: Element) => void;
|
|
86
42
|
export declare const removeSelection: () => void;
|
|
@@ -95,7 +51,7 @@ export declare const updateActiveTool: (appState: Pick<AppState, "activeTool">,
|
|
|
95
51
|
locked?: boolean;
|
|
96
52
|
fromSelection?: boolean;
|
|
97
53
|
}) & {
|
|
98
|
-
|
|
54
|
+
lastActiveTool?: ActiveTool | null;
|
|
99
55
|
}) => AppState["activeTool"];
|
|
100
56
|
export declare const isFullScreen: () => boolean;
|
|
101
57
|
export declare const allowFullScreen: () => Promise<void>;
|
|
@@ -131,6 +87,11 @@ export declare const getGlobalCSSVariable: (name: string) => string;
|
|
|
131
87
|
* See https://github.com/excalidraw/excalidraw/pull/1722#discussion_r436340171
|
|
132
88
|
*/
|
|
133
89
|
export declare const isRTL: (text: string) => boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Checks whether the text has any RTL character, i.e. whether it may be laid
|
|
92
|
+
* out bidirectionally.
|
|
93
|
+
*/
|
|
94
|
+
export declare const hasRTLChars: (text: string) => boolean;
|
|
134
95
|
export declare const tupleToCoors: (xyTuple: readonly [number, number]) => {
|
|
135
96
|
x: number;
|
|
136
97
|
y: number;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type VersionedSnapshot<T> = Readonly<{
|
|
2
|
+
version: number;
|
|
3
|
+
value: T;
|
|
4
|
+
}>;
|
|
5
|
+
export declare class VersionedSnapshotStore<T> {
|
|
6
|
+
private readonly isEqual;
|
|
7
|
+
private version;
|
|
8
|
+
private value;
|
|
9
|
+
private readonly waiters;
|
|
10
|
+
private readonly subscribers;
|
|
11
|
+
constructor(initialValue: T, isEqual?: (prev: T, next: T) => boolean);
|
|
12
|
+
getSnapshot(): VersionedSnapshot<T>;
|
|
13
|
+
set(nextValue: T): boolean;
|
|
14
|
+
update(updater: (prev: T) => T): boolean;
|
|
15
|
+
subscribe(subscriber: (snapshot: VersionedSnapshot<T>) => void): () => void;
|
|
16
|
+
pull(sinceVersion?: number): Promise<VersionedSnapshot<T>>;
|
|
17
|
+
}
|
|
@@ -40,7 +40,7 @@ export declare class Scene {
|
|
|
40
40
|
elements?: ElementsMapOrArray;
|
|
41
41
|
includeBoundTextElement?: boolean;
|
|
42
42
|
includeElementsInFrames?: boolean;
|
|
43
|
-
}):
|
|
43
|
+
}): NonDeletedExcalidrawElement[];
|
|
44
44
|
getNonDeletedFramesLikes(): readonly NonDeleted<ExcalidrawFrameLikeElement>[];
|
|
45
45
|
getElement<T extends ExcalidrawElement>(id: T["id"]): T | null;
|
|
46
46
|
getNonDeletedElement(id: ExcalidrawElement["id"]): NonDeleted<ExcalidrawElement> | null;
|
|
@@ -63,14 +63,16 @@ export declare class Scene {
|
|
|
63
63
|
triggerUpdate(): void;
|
|
64
64
|
onUpdate(cb: SceneStateCallback): SceneStateCallbackRemover;
|
|
65
65
|
destroy(): void;
|
|
66
|
-
|
|
67
|
-
insertElementsAtIndex(elements: ExcalidrawElement[],
|
|
66
|
+
/** low-level - generally use app.insertNewElements() */
|
|
67
|
+
insertElementsAtIndex(elements: ExcalidrawElement[],
|
|
68
|
+
/** null indicates end of the array */
|
|
69
|
+
index: number | null): void;
|
|
70
|
+
/** low-level - generally use app.insertNewElement() */
|
|
68
71
|
insertElement: (element: ExcalidrawElement) => void;
|
|
69
|
-
insertElements: (elements: ExcalidrawElement[]) => void;
|
|
70
72
|
getElementIndex(elementId: string): number;
|
|
71
73
|
getContainerElement: (element: (ExcalidrawElement & {
|
|
72
74
|
containerId: ExcalidrawElement["id"] | null;
|
|
73
|
-
}) | null) => import("@excalidraw/element/types").ExcalidrawLinearElement | import("@excalidraw/element/types").ExcalidrawSelectionElement | import("@excalidraw/element/types").ExcalidrawRectangleElement | import("@excalidraw/element/types").ExcalidrawDiamondElement | import("@excalidraw/element/types").ExcalidrawEllipseElement | import("@excalidraw/element/types").ExcalidrawEmbeddableElement | import("@excalidraw/element/types").ExcalidrawIframeElement | import("@excalidraw/element/types").ExcalidrawImageElement | import("@excalidraw/element/types").ExcalidrawFrameElement | import("@excalidraw/element/types").ExcalidrawMagicFrameElement | import("@excalidraw/element/types").ExcalidrawTextElement | import("@excalidraw/element/types").ExcalidrawFreeDrawElement | null;
|
|
75
|
+
}) | null) => import("@excalidraw/element/types").ExcalidrawLinearElement | import("@excalidraw/element/types").ExcalidrawSelectionElement | import("@excalidraw/element/types").ExcalidrawRectangleElement | import("@excalidraw/element/types").ExcalidrawStickyNoteElement | import("@excalidraw/element/types").ExcalidrawDiamondElement | import("@excalidraw/element/types").ExcalidrawEllipseElement | import("@excalidraw/element/types").ExcalidrawEmbeddableElement | import("@excalidraw/element/types").ExcalidrawIframeElement | import("@excalidraw/element/types").ExcalidrawImageElement | import("@excalidraw/element/types").ExcalidrawFrameElement | import("@excalidraw/element/types").ExcalidrawMagicFrameElement | import("@excalidraw/element/types").ExcalidrawTextElement | import("@excalidraw/element/types").ExcalidrawFreeDrawElement | null;
|
|
74
76
|
getElementsFromId: (id: string) => ExcalidrawElement[];
|
|
75
77
|
mutateElement<TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, options?: {
|
|
76
78
|
informMutation: boolean;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { AppState } from "@excalidraw/excalidraw/types";
|
|
2
2
|
import type { Scene } from "./Scene";
|
|
3
|
-
import type {
|
|
3
|
+
import type { NonDeletedExcalidrawElement } from "./types";
|
|
4
4
|
export interface Alignment {
|
|
5
5
|
position: "start" | "center" | "end";
|
|
6
6
|
axis: "x" | "y";
|
|
7
7
|
}
|
|
8
|
-
export declare const alignElements: (selectedElements:
|
|
8
|
+
export declare const alignElements: (selectedElements: NonDeletedExcalidrawElement[], alignment: Alignment, scene: Scene, appState: Readonly<AppState>) => NonDeletedExcalidrawElement[];
|