@zsviczian/excalidraw 0.9.0-obsidian-9 → 0.9.0-obsidian-image-support-2

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.
Files changed (53) hide show
  1. package/CHANGELOG.md +3 -2
  2. package/dist/excalidraw-assets-dev/{image-cacb3d0c02eb2e346ecc.js → image-2767e46ad3f3f29617ea.js} +0 -10
  3. package/dist/excalidraw-assets-dev/vendor-b648d92c35e91de1648e.js +323 -0
  4. package/dist/excalidraw.development.js +327 -42
  5. package/dist/excalidraw.production.min.js +1 -1
  6. package/dist/excalidraw.production.min.js.LICENSE.txt +115 -0
  7. package/package.json +1 -1
  8. package/types/actions/actionCanvas.d.ts +3 -1
  9. package/types/actions/manager.d.ts +3 -11
  10. package/types/actions/types.d.ts +2 -8
  11. package/types/appState.d.ts +59 -4
  12. package/types/components/Actions.d.ts +5 -2
  13. package/types/components/App.d.ts +20 -5
  14. package/types/components/LayerUI.d.ts +4 -1
  15. package/types/components/LibraryUnit.d.ts +3 -2
  16. package/types/components/MobileMenu.d.ts +4 -1
  17. package/types/components/Spinner.d.ts +7 -0
  18. package/types/components/ToolButton.d.ts +5 -2
  19. package/types/constants.d.ts +1 -0
  20. package/types/createInverseContext.d.ts +1 -0
  21. package/types/data/blob.d.ts +3 -1
  22. package/types/data/encode.d.ts +2 -1
  23. package/types/data/json.d.ts +1 -1
  24. package/types/element/collision.d.ts +2 -2
  25. package/types/element/dragElements.d.ts +1 -1
  26. package/types/element/image.d.ts +13 -0
  27. package/types/element/index.d.ts +2 -1
  28. package/types/element/mutateElement.d.ts +1 -1
  29. package/types/element/newElement.d.ts +6 -2
  30. package/types/element/resizeElements.d.ts +3 -3
  31. package/types/element/typeChecks.d.ts +2 -1
  32. package/types/element/types.d.ts +14 -2
  33. package/types/errors.d.ts +3 -0
  34. package/types/excalidraw-app/app_constants.d.ts +19 -0
  35. package/types/excalidraw-app/collab/CollabWrapper.d.ts +92 -0
  36. package/types/excalidraw-app/collab/Portal.d.ts +28 -0
  37. package/types/excalidraw-app/collab/RoomDialog.d.ts +14 -0
  38. package/types/excalidraw-app/data/FileSync.d.ts +39 -0
  39. package/types/excalidraw-app/data/firebase.d.ts +22 -0
  40. package/types/excalidraw-app/data/index.d.ts +161 -0
  41. package/types/excalidraw-app/data/localStorage.d.ts +98 -0
  42. package/types/keys.d.ts +4 -3
  43. package/types/packages/excalidraw/dist/excalidraw-assets-dev/image-2767e46ad3f3f29617ea.d.ts +0 -0
  44. package/types/packages/excalidraw/dist/excalidraw-assets-dev/vendor-b648d92c35e91de1648e.d.ts +0 -0
  45. package/types/packages/utils.d.ts +1 -1
  46. package/types/renderer/renderElement.d.ts +3 -2
  47. package/types/renderer/renderScene.d.ts +3 -2
  48. package/types/scene/export.d.ts +2 -1
  49. package/types/scene/types.d.ts +4 -3
  50. package/types/shapes.d.ts +5 -1
  51. package/types/types.d.ts +23 -1
  52. package/types/zindex.d.ts +2 -2
  53. package/dist/excalidraw-assets-dev/vendor-7ad6c104c3421ae6511d.js +0 -356
package/CHANGELOG.md CHANGED
@@ -39,8 +39,8 @@ Please add the latest change on the top under the correct section.
39
39
 
40
40
  ## Excalidraw API
41
41
 
42
- - Added `onBeforeTextEdit` and `onBeforeTextSubmit` callback functions.
43
- - The `onBeforeTextEdit: (textElement: ExcalidrawTextElement) => string` callback is triggered when a text element is about to be edited. The string returned will replace the element's text. If null is returned, the TextElement will not be changed. Use this to pre-process text before editing.
42
+ - Added `onBeforeTextEdit` and `onBeforeTextSubmit` callback functions.
43
+ - The `onBeforeTextEdit: (textElement: ExcalidrawTextElement) => string` callback is triggered when a text element is about to be edited. The string returned will replace the element's text. If null is returned, the TextElement will not be changed. Use this to pre-process text before editing.
44
44
  - The `onBeforeTextSubmit: (textElement: ExcalidrawTextElement, textToSubmit:string, isDeleted:boolean) => string` callback is triggered when the editing of a TextElement is finished, but right before the result is submitted. The string returned will replace the text element's text. Use this to post-process text after editing has finished.
45
45
 
46
46
  ### Features
@@ -328,6 +328,7 @@ Please add the latest change on the top under the correct section.
328
328
  - #### BREAKING CHANGE
329
329
  Use `location.hash` when importing libraries to fix installation issues. This will require host apps to add a `hashchange` listener and call the newly exposed `excalidrawAPI.importLibrary(url)` API when applicable [#3320](https://github.com/excalidraw/excalidraw/pull/3320). Check the [readme](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#importlibrary) for more details.
330
330
  - Append `location.pathname` to `libraryReturnUrl` default url [#3325](https://github.com/excalidraw/excalidraw/pull/3325).
331
+ - Support image elements [#3424](https://github.com/excalidraw/excalidraw/pull/3424).
331
332
 
332
333
  ### Build
333
334
 
@@ -9,16 +9,6 @@
9
9
  */
10
10
  (globalThis["webpackChunkExcalidraw"] = globalThis["webpackChunkExcalidraw"] || []).push([["image"],{
11
11
 
12
- /***/ "../../data/encode.ts":
13
- /*!****************************!*\
14
- !*** ../../data/encode.ts ***!
15
- \****************************/
16
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
17
-
18
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"toByteString\": () => (/* binding */ toByteString),\n/* harmony export */ \"stringToBase64\": () => (/* binding */ stringToBase64),\n/* harmony export */ \"base64ToString\": () => (/* binding */ base64ToString),\n/* harmony export */ \"encode\": () => (/* binding */ encode),\n/* harmony export */ \"decode\": () => (/* binding */ decode)\n/* harmony export */ });\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pako */ \"../../../node_modules/pako/index.js\");\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(pako__WEBPACK_IMPORTED_MODULE_0__);\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\n\r\n// -----------------------------------------------------------------------------\r\n// byte (binary) strings\r\n// -----------------------------------------------------------------------------\r\n// fast, Buffer-compatible implem\r\nconst toByteString = (data) => {\r\n return new Promise((resolve, reject) => {\r\n const blob = typeof data === \"string\"\r\n ? new Blob([new TextEncoder().encode(data)])\r\n : new Blob([data]);\r\n const reader = new FileReader();\r\n reader.onload = (event) => {\r\n if (!event.target || typeof event.target.result !== \"string\") {\r\n return reject(new Error(\"couldn't convert to byte string\"));\r\n }\r\n resolve(event.target.result);\r\n };\r\n reader.readAsBinaryString(blob);\r\n });\r\n};\r\nconst byteStringToArrayBuffer = (byteString) => {\r\n const buffer = new ArrayBuffer(byteString.length);\r\n const bufferView = new Uint8Array(buffer);\r\n for (let i = 0, len = byteString.length; i < len; i++) {\r\n bufferView[i] = byteString.charCodeAt(i);\r\n }\r\n return buffer;\r\n};\r\nconst byteStringToString = (byteString) => {\r\n return new TextDecoder(\"utf-8\").decode(byteStringToArrayBuffer(byteString));\r\n};\r\n// -----------------------------------------------------------------------------\r\n// base64\r\n// -----------------------------------------------------------------------------\r\n/**\r\n * @param isByteString set to true if already byte string to prevent bloat\r\n * due to reencoding\r\n */\r\nconst stringToBase64 = (str, isByteString = false) => __awaiter(void 0, void 0, void 0, function* () {\r\n return isByteString ? btoa(str) : btoa(yield toByteString(str));\r\n});\r\n// async to align with stringToBase64\r\nconst base64ToString = (base64, isByteString = false) => __awaiter(void 0, void 0, void 0, function* () {\r\n return isByteString ? atob(base64) : byteStringToString(atob(base64));\r\n});\r\n/**\r\n * Encodes (and potentially compresses via zlib) text to byte string\r\n */\r\nconst encode = ({ text, compress, }) => __awaiter(void 0, void 0, void 0, function* () {\r\n let deflated;\r\n if (compress !== false) {\r\n try {\r\n deflated = yield toByteString((0,pako__WEBPACK_IMPORTED_MODULE_0__.deflate)(text));\r\n }\r\n catch (error) {\r\n console.error(\"encode: cannot deflate\", error);\r\n }\r\n }\r\n return {\r\n version: \"1\",\r\n encoding: \"bstring\",\r\n compressed: !!deflated,\r\n encoded: deflated || (yield toByteString(text)),\r\n };\r\n});\r\nconst decode = (data) => __awaiter(void 0, void 0, void 0, function* () {\r\n let decoded;\r\n switch (data.encoding) {\r\n case \"bstring\":\r\n // if compressed, do not double decode the bstring\r\n decoded = data.compressed\r\n ? data.encoded\r\n : yield byteStringToString(data.encoded);\r\n break;\r\n default:\r\n throw new Error(`decode: unknown encoding \"${data.encoding}\"`);\r\n }\r\n if (data.compressed) {\r\n return (0,pako__WEBPACK_IMPORTED_MODULE_0__.inflate)(new Uint8Array(byteStringToArrayBuffer(decoded)), {\r\n to: \"string\",\r\n });\r\n }\r\n return decoded;\r\n});\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Olsid2VicGFjazovLy8uLi8uLi9kYXRhL2VuY29kZS50cz85YjhlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmxhdGUsIGluZmxhdGUgfSBmcm9tIFwicGFrb1wiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gYnl0ZSAoYmluYXJ5KSBzdHJpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBmYXN0LCBCdWZmZXItY29tcGF0aWJsZSBpbXBsZW1cbmV4cG9ydCBjb25zdCB0b0J5dGVTdHJpbmcgPSAoZGF0YTogc3RyaW5nIHwgVWludDhBcnJheSk6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgYmxvYiA9XG4gICAgICB0eXBlb2YgZGF0YSA9PT0gXCJzdHJpbmdcIlxuICAgICAgICA/IG5ldyBCbG9iKFtuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoZGF0YSldKVxuICAgICAgICA6IG5ldyBCbG9iKFtkYXRhXSk7XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICByZWFkZXIub25sb2FkID0gKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoIWV2ZW50LnRhcmdldCB8fCB0eXBlb2YgZXZlbnQudGFyZ2V0LnJlc3VsdCAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBFcnJvcihcImNvdWxkbid0IGNvbnZlcnQgdG8gYnl0ZSBzdHJpbmdcIikpO1xuICAgICAgfVxuICAgICAgcmVzb2x2ZShldmVudC50YXJnZXQucmVzdWx0KTtcbiAgICB9O1xuICAgIHJlYWRlci5yZWFkQXNCaW5hcnlTdHJpbmcoYmxvYik7XG4gIH0pO1xufTtcblxuY29uc3QgYnl0ZVN0cmluZ1RvQXJyYXlCdWZmZXIgPSAoYnl0ZVN0cmluZzogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IGJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcihieXRlU3RyaW5nLmxlbmd0aCk7XG4gIGNvbnN0IGJ1ZmZlclZpZXcgPSBuZXcgVWludDhBcnJheShidWZmZXIpO1xuICBmb3IgKGxldCBpID0gMCwgbGVuID0gYnl0ZVN0cmluZy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIGJ1ZmZlclZpZXdbaV0gPSBieXRlU3RyaW5nLmNoYXJDb2RlQXQoaSk7XG4gIH1cbiAgcmV0dXJuIGJ1ZmZlcjtcbn07XG5cbmNvbnN0IGJ5dGVTdHJpbmdUb1N0cmluZyA9IChieXRlU3RyaW5nOiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIG5ldyBUZXh0RGVjb2RlcihcInV0Zi04XCIpLmRlY29kZShieXRlU3RyaW5nVG9BcnJheUJ1ZmZlcihieXRlU3RyaW5nKSk7XG59O1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gYmFzZTY0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKipcbiAqIEBwYXJhbSBpc0J5dGVTdHJpbmcgc2V0IHRvIHRydWUgaWYgYWxyZWFkeSBieXRlIHN0cmluZyB0byBwcmV2ZW50IGJsb2F0XG4gKiAgZHVlIHRvIHJlZW5jb2RpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IHN0cmluZ1RvQmFzZTY0ID0gYXN5bmMgKHN0cjogc3RyaW5nLCBpc0J5dGVTdHJpbmcgPSBmYWxzZSkgPT4ge1xuICByZXR1cm4gaXNCeXRlU3RyaW5nID8gYnRvYShzdHIpIDogYnRvYShhd2FpdCB0b0J5dGVTdHJpbmcoc3RyKSk7XG59O1xuXG4vLyBhc3luYyB0byBhbGlnbiB3aXRoIHN0cmluZ1RvQmFzZTY0XG5leHBvcnQgY29uc3QgYmFzZTY0VG9TdHJpbmcgPSBhc3luYyAoYmFzZTY0OiBzdHJpbmcsIGlzQnl0ZVN0cmluZyA9IGZhbHNlKSA9PiB7XG4gIHJldHVybiBpc0J5dGVTdHJpbmcgPyBhdG9iKGJhc2U2NCkgOiBieXRlU3RyaW5nVG9TdHJpbmcoYXRvYihiYXNlNjQpKTtcbn07XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB0ZXh0IGVuY29kaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG50eXBlIEVuY29kZWREYXRhID0ge1xuICBlbmNvZGVkOiBzdHJpbmc7XG4gIGVuY29kaW5nOiBcImJzdHJpbmdcIjtcbiAgLyoqIHdoZXRoZXIgdGV4dCBpcyBjb21wcmVzc2VkICh6bGliKSAqL1xuICBjb21wcmVzc2VkOiBib29sZWFuO1xuICAvKiogdmVyc2lvbiBmb3IgcG90ZW50aWFsIG1pZ3JhdGlvbiBwdXJwb3NlcyAqL1xuICB2ZXJzaW9uPzogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBFbmNvZGVzIChhbmQgcG90ZW50aWFsbHkgY29tcHJlc3NlcyB2aWEgemxpYikgdGV4dCB0byBieXRlIHN0cmluZ1xuICovXG5leHBvcnQgY29uc3QgZW5jb2RlID0gYXN5bmMgKHtcbiAgdGV4dCxcbiAgY29tcHJlc3MsXG59OiB7XG4gIHRleHQ6IHN0cmluZztcbiAgLyoqIGRlZmF1bHRzIHRvIGB0cnVlYC4gSWYgY29tcHJlc3Npb24gZmFpbHMsIGZhbGxzIGJhY2sgdG8gYnN0cmluZyBhbG9uZS4gKi9cbiAgY29tcHJlc3M/OiBib29sZWFuO1xufSk6IFByb21pc2U8RW5jb2RlZERhdGE+ID0+IHtcbiAgbGV0IGRlZmxhdGVkITogc3RyaW5nO1xuICBpZiAoY29tcHJlc3MgIT09IGZhbHNlKSB7XG4gICAgdHJ5IHtcbiAgICAgIGRlZmxhdGVkID0gYXdhaXQgdG9CeXRlU3RyaW5nKGRlZmxhdGUodGV4dCkpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFwiZW5jb2RlOiBjYW5ub3QgZGVmbGF0ZVwiLCBlcnJvcik7XG4gICAgfVxuICB9XG4gIHJldHVybiB7XG4gICAgdmVyc2lvbjogXCIxXCIsXG4gICAgZW5jb2Rpbmc6IFwiYnN0cmluZ1wiLFxuICAgIGNvbXByZXNzZWQ6ICEhZGVmbGF0ZWQsXG4gICAgZW5jb2RlZDogZGVmbGF0ZWQgfHwgKGF3YWl0IHRvQnl0ZVN0cmluZyh0ZXh0KSksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVjb2RlID0gYXN5bmMgKGRhdGE6IEVuY29kZWREYXRhKTogUHJvbWlzZTxzdHJpbmc+ID0+IHtcbiAgbGV0IGRlY29kZWQ6IHN0cmluZztcblxuICBzd2l0Y2ggKGRhdGEuZW5jb2RpbmcpIHtcbiAgICBjYXNlIFwiYnN0cmluZ1wiOlxuICAgICAgLy8gaWYgY29tcHJlc3NlZCwgZG8gbm90IGRvdWJsZSBkZWNvZGUgdGhlIGJzdHJpbmdcbiAgICAgIGRlY29kZWQgPSBkYXRhLmNvbXByZXNzZWRcbiAgICAgICAgPyBkYXRhLmVuY29kZWRcbiAgICAgICAgOiBhd2FpdCBieXRlU3RyaW5nVG9TdHJpbmcoZGF0YS5lbmNvZGVkKTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGRlY29kZTogdW5rbm93biBlbmNvZGluZyBcIiR7ZGF0YS5lbmNvZGluZ31cImApO1xuICB9XG5cbiAgaWYgKGRhdGEuY29tcHJlc3NlZCkge1xuICAgIHJldHVybiBpbmZsYXRlKG5ldyBVaW50OEFycmF5KGJ5dGVTdHJpbmdUb0FycmF5QnVmZmVyKGRlY29kZWQpKSwge1xuICAgICAgdG86IFwic3RyaW5nXCIsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZGVjb2RlZDtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../data/encode.ts\n");
19
-
20
- /***/ }),
21
-
22
12
  /***/ "../../data/image.ts":
23
13
  /*!***************************!*\
24
14
  !*** ../../data/image.ts ***!