@excalidraw/excalidraw 0.18.0-b7aac689a → 0.18.0-b9d27d3

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 (65) hide show
  1. package/dist/dev/{chunk-CBGOW5JB.js → chunk-WWDIUJ2Q.js} +34 -31
  2. package/dist/dev/chunk-WWDIUJ2Q.js.map +7 -0
  3. package/dist/dev/data/{image-SURZSZNX.js → image-VTYIFRQE.js} +2 -2
  4. package/dist/dev/index.css +4 -0
  5. package/dist/dev/index.css.map +2 -2
  6. package/dist/dev/index.js +2183 -1916
  7. package/dist/dev/index.js.map +4 -4
  8. package/dist/prod/chunk-VTWWEYSQ.js +4 -0
  9. package/dist/prod/data/{image-HXEZYJPQ.js → image-YQ6UXXDA.js} +1 -1
  10. package/dist/prod/index.css +1 -1
  11. package/dist/prod/index.js +22 -22
  12. package/dist/types/common/src/constants.d.ts +13 -3
  13. package/dist/types/element/src/Scene.d.ts +6 -2
  14. package/dist/types/element/src/align.d.ts +2 -1
  15. package/dist/types/element/src/bounds.d.ts +1 -1
  16. package/dist/types/element/src/delta.d.ts +16 -4
  17. package/dist/types/element/src/distribute.d.ts +2 -1
  18. package/dist/types/element/src/groups.d.ts +1 -0
  19. package/dist/types/element/src/index.d.ts +1 -0
  20. package/dist/types/element/src/linearElementEditor.d.ts +2 -1
  21. package/dist/types/element/src/positionElementsOnGrid.d.ts +2 -0
  22. package/dist/types/element/src/store.d.ts +6 -1
  23. package/dist/types/element/src/textElement.d.ts +1 -1
  24. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +0 -3
  25. package/dist/types/excalidraw/actions/actionBoundText.d.ts +0 -2
  26. package/dist/types/excalidraw/actions/actionCanvas.d.ts +15 -14
  27. package/dist/types/excalidraw/actions/actionClipboard.d.ts +3 -8
  28. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +0 -1
  29. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +3 -6
  30. package/dist/types/excalidraw/actions/actionElementLink.d.ts +0 -1
  31. package/dist/types/excalidraw/actions/actionElementLock.d.ts +0 -2
  32. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +0 -1
  33. package/dist/types/excalidraw/actions/actionExport.d.ts +0 -9
  34. package/dist/types/excalidraw/actions/actionFinalize.d.ts +2 -3
  35. package/dist/types/excalidraw/actions/actionFrame.d.ts +0 -4
  36. package/dist/types/excalidraw/actions/actionGroup.d.ts +0 -2
  37. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +33 -3
  38. package/dist/types/excalidraw/actions/actionLink.d.ts +0 -1
  39. package/dist/types/excalidraw/actions/actionMenu.d.ts +0 -3
  40. package/dist/types/excalidraw/actions/actionNavigate.d.ts +0 -2
  41. package/dist/types/excalidraw/actions/actionProperties.d.ts +0 -15
  42. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +0 -1
  43. package/dist/types/excalidraw/actions/actionStyles.d.ts +0 -1
  44. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +0 -1
  45. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +0 -1
  46. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +0 -1
  47. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +0 -1
  48. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +0 -1
  49. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +0 -1
  50. package/dist/types/excalidraw/clipboard.d.ts +62 -1
  51. package/dist/types/excalidraw/components/Actions.d.ts +0 -4
  52. package/dist/types/excalidraw/components/App.d.ts +11 -8
  53. package/dist/types/excalidraw/components/Ellipsify.d.ts +4 -0
  54. package/dist/types/excalidraw/components/shapes.d.ts +129 -1
  55. package/dist/types/excalidraw/data/blob.d.ts +1 -5
  56. package/dist/types/excalidraw/data/reconcile.d.ts +1 -0
  57. package/dist/types/excalidraw/data/restore.d.ts +6 -1
  58. package/dist/types/excalidraw/index.d.ts +2 -1
  59. package/dist/types/excalidraw/renderer/staticScene.d.ts +4 -1
  60. package/dist/types/excalidraw/types.d.ts +7 -4
  61. package/history.ts +1 -1
  62. package/package.json +5 -5
  63. package/dist/dev/chunk-CBGOW5JB.js.map +0 -7
  64. package/dist/prod/chunk-IRHK23LL.js +0 -4
  65. /package/dist/dev/data/{image-SURZSZNX.js.map → image-VTYIFRQE.js.map} +0 -0
@@ -63,7 +63,6 @@ var getDefaultAppState = () => {
63
63
  newElement: null,
64
64
  editingTextElement: null,
65
65
  editingGroupId: null,
66
- editingLinearElement: null,
67
66
  activeTool: {
68
67
  type: "selection",
69
68
  customType: null,
@@ -174,7 +173,6 @@ var APP_STATE_STORAGE_CONF = /* @__PURE__ */ ((config) => config)({
174
173
  newElement: { browser: false, export: false, server: false },
175
174
  editingTextElement: { browser: false, export: false, server: false },
176
175
  editingGroupId: { browser: true, export: false, server: false },
177
- editingLinearElement: { browser: false, export: false, server: false },
178
176
  activeTool: { browser: true, export: false, server: false },
179
177
  penMode: { browser: true, export: false, server: false },
180
178
  penDetected: { browser: true, export: false, server: false },
@@ -4817,7 +4815,7 @@ var restoreElementWithProperties = (element, extra) => {
4817
4815
  delete ret.boundElementIds;
4818
4816
  return ret;
4819
4817
  };
4820
- var restoreElement = (element) => {
4818
+ var restoreElement = (element, opts) => {
4821
4819
  element = { ...element };
4822
4820
  switch (element.type) {
4823
4821
  case "text":
@@ -4849,7 +4847,7 @@ var restoreElement = (element) => {
4849
4847
  autoResize: element.autoResize ?? true,
4850
4848
  lineHeight
4851
4849
  });
4852
- if (!text && !element.isDeleted) {
4850
+ if (opts?.deleteInvisibleElements && !text && !element.isDeleted) {
4853
4851
  element = { ...element, originalText: text, isDeleted: true };
4854
4852
  element = bumpVersion(element);
4855
4853
  }
@@ -4925,7 +4923,7 @@ var restoreElement = (element) => {
4925
4923
  elbowed: true,
4926
4924
  startBinding: repairBinding(element, element.startBinding),
4927
4925
  endBinding: repairBinding(element, element.endBinding),
4928
- fixedSegments: element.fixedSegments,
4926
+ fixedSegments: element.fixedSegments?.length && base.points.length >= 4 ? element.fixedSegments : null,
4929
4927
  startIsSpecial: element.startIsSpecial,
4930
4928
  endIsSpecial: element.endIsSpecial
4931
4929
  }) : restoreElementWithProperties(element, base);
@@ -4998,22 +4996,26 @@ var restoreElements = (elements, localElements, opts) => {
4998
4996
  const localElementsMap = localElements ? arrayToMap2(localElements) : null;
4999
4997
  const restoredElements = syncInvalidIndices2(
5000
4998
  (elements || []).reduce((elements2, element) => {
5001
- if (element.type !== "selection" && !isInvisiblySmallElement(element)) {
5002
- let migratedElement = restoreElement(element);
5003
- if (migratedElement) {
5004
- const localElement = localElementsMap?.get(element.id);
5005
- if (localElement && localElement.version > migratedElement.version) {
5006
- migratedElement = bumpVersion(
5007
- migratedElement,
5008
- localElement.version
5009
- );
5010
- }
5011
- if (existingIds.has(migratedElement.id)) {
5012
- migratedElement = { ...migratedElement, id: randomId() };
5013
- }
5014
- existingIds.add(migratedElement.id);
5015
- elements2.push(migratedElement);
4999
+ if (element.type === "selection") {
5000
+ return elements2;
5001
+ }
5002
+ let migratedElement = restoreElement(element, {
5003
+ deleteInvisibleElements: opts?.deleteInvisibleElements
5004
+ });
5005
+ if (migratedElement) {
5006
+ const localElement = localElementsMap?.get(element.id);
5007
+ const shouldMarkAsDeleted = opts?.deleteInvisibleElements && isInvisiblySmallElement(element);
5008
+ if (shouldMarkAsDeleted || localElement && localElement.version > migratedElement.version) {
5009
+ migratedElement = bumpVersion(migratedElement, localElement?.version);
5016
5010
  }
5011
+ if (shouldMarkAsDeleted) {
5012
+ migratedElement = { ...migratedElement, isDeleted: true };
5013
+ }
5014
+ if (existingIds.has(migratedElement.id)) {
5015
+ migratedElement = { ...migratedElement, id: randomId() };
5016
+ }
5017
+ existingIds.add(migratedElement.id);
5018
+ elements2.push(migratedElement);
5017
5019
  }
5018
5020
  return elements2;
5019
5021
  }, [])
@@ -5217,7 +5219,7 @@ var parseFileContents = async (blob) => {
5217
5219
  let contents;
5218
5220
  if (blob.type === MIME_TYPES6.png) {
5219
5221
  try {
5220
- return await (await import("./data/image-SURZSZNX.js")).decodePngMetadata(blob);
5222
+ return await (await import("./data/image-VTYIFRQE.js")).decodePngMetadata(blob);
5221
5223
  } catch (error) {
5222
5224
  if (error.message === "INVALID") {
5223
5225
  throw new ImageSceneDataError(
@@ -5312,7 +5314,11 @@ var loadSceneOrLibraryFromBlob = async (blob, localAppState, localElements, file
5312
5314
  },
5313
5315
  localAppState,
5314
5316
  localElements,
5315
- { repairBindings: true, refreshDimensions: false }
5317
+ {
5318
+ repairBindings: true,
5319
+ refreshDimensions: false,
5320
+ deleteInvisibleElements: true
5321
+ }
5316
5322
  )
5317
5323
  };
5318
5324
  } else if (isValidLibrary(data)) {
@@ -5457,16 +5463,11 @@ var ImageURLToFile = async (imageUrl, filename = "") => {
5457
5463
  }
5458
5464
  throw new Error("Error: unsupported file type", { cause: "UNSUPPORTED" });
5459
5465
  };
5460
- var getFileFromEvent = async (event) => {
5461
- const file = event.dataTransfer.files.item(0);
5462
- const fileHandle = await getFileHandle(event);
5463
- return { file: file ? await normalizeFile(file) : null, fileHandle };
5464
- };
5465
5466
  var getFileHandle = async (event) => {
5466
5467
  if (nativeFileSystemSupported) {
5467
5468
  try {
5468
- const item = event.dataTransfer.items[0];
5469
- const handle = await item.getAsFileSystemHandle() || null;
5469
+ const dataTransferItem = event instanceof DataTransferItem ? event : event.dataTransfer?.items?.[0];
5470
+ const handle = await dataTransferItem.getAsFileSystemHandle() || null;
5470
5471
  return handle;
5471
5472
  } catch (error) {
5472
5473
  console.warn(error.name, error.message);
@@ -5633,11 +5634,13 @@ export {
5633
5634
  strokeEllipseWithRotation,
5634
5635
  strokeRectWithRotation,
5635
5636
  drawHighlightForDiamondWithRotation,
5637
+ frameClip,
5636
5638
  renderStaticSceneThrottled,
5637
5639
  renderStaticScene,
5638
5640
  exportToCanvas,
5639
5641
  exportToSvg,
5640
5642
  getExportSize,
5643
+ restoreElement,
5641
5644
  restoreElements,
5642
5645
  restoreAppState,
5643
5646
  restore,
@@ -5662,8 +5665,8 @@ export {
5662
5665
  resizeImageFile,
5663
5666
  SVGStringToFile,
5664
5667
  ImageURLToFile,
5665
- getFileFromEvent,
5668
+ getFileHandle,
5666
5669
  createFile,
5667
5670
  normalizeFile
5668
5671
  };
5669
- //# sourceMappingURL=chunk-CBGOW5JB.js.map
5672
+ //# sourceMappingURL=chunk-WWDIUJ2Q.js.map