@excalidraw/excalidraw 0.18.0-c65b684e9 → 0.18.0-c6f8ef9

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.
@@ -4815,7 +4815,7 @@ var restoreElementWithProperties = (element, extra) => {
4815
4815
  delete ret.boundElementIds;
4816
4816
  return ret;
4817
4817
  };
4818
- var restoreElement = (element) => {
4818
+ var restoreElement = (element, opts) => {
4819
4819
  element = { ...element };
4820
4820
  switch (element.type) {
4821
4821
  case "text":
@@ -4847,7 +4847,7 @@ var restoreElement = (element) => {
4847
4847
  autoResize: element.autoResize ?? true,
4848
4848
  lineHeight
4849
4849
  });
4850
- if (!text && !element.isDeleted) {
4850
+ if (opts?.deleteInvisibleElements && !text && !element.isDeleted) {
4851
4851
  element = { ...element, originalText: text, isDeleted: true };
4852
4852
  element = bumpVersion(element);
4853
4853
  }
@@ -4996,22 +4996,26 @@ var restoreElements = (elements, localElements, opts) => {
4996
4996
  const localElementsMap = localElements ? arrayToMap2(localElements) : null;
4997
4997
  const restoredElements = syncInvalidIndices2(
4998
4998
  (elements || []).reduce((elements2, element) => {
4999
- if (element.type !== "selection" && !isInvisiblySmallElement(element)) {
5000
- let migratedElement = restoreElement(element);
5001
- if (migratedElement) {
5002
- const localElement = localElementsMap?.get(element.id);
5003
- if (localElement && localElement.version > migratedElement.version) {
5004
- migratedElement = bumpVersion(
5005
- migratedElement,
5006
- localElement.version
5007
- );
5008
- }
5009
- if (existingIds.has(migratedElement.id)) {
5010
- migratedElement = { ...migratedElement, id: randomId() };
5011
- }
5012
- existingIds.add(migratedElement.id);
5013
- 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);
5014
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);
5015
5019
  }
5016
5020
  return elements2;
5017
5021
  }, [])
@@ -5215,7 +5219,7 @@ var parseFileContents = async (blob) => {
5215
5219
  let contents;
5216
5220
  if (blob.type === MIME_TYPES6.png) {
5217
5221
  try {
5218
- return await (await import("./data/image-G3ZXYWE6.js")).decodePngMetadata(blob);
5222
+ return await (await import("./data/image-IWGLHPIX.js")).decodePngMetadata(blob);
5219
5223
  } catch (error) {
5220
5224
  if (error.message === "INVALID") {
5221
5225
  throw new ImageSceneDataError(
@@ -5310,7 +5314,11 @@ var loadSceneOrLibraryFromBlob = async (blob, localAppState, localElements, file
5310
5314
  },
5311
5315
  localAppState,
5312
5316
  localElements,
5313
- { repairBindings: true, refreshDimensions: false }
5317
+ {
5318
+ repairBindings: true,
5319
+ refreshDimensions: false,
5320
+ deleteInvisibleElements: true
5321
+ }
5314
5322
  )
5315
5323
  };
5316
5324
  } else if (isValidLibrary(data)) {
@@ -5637,6 +5645,7 @@ export {
5637
5645
  exportToCanvas,
5638
5646
  exportToSvg,
5639
5647
  getExportSize,
5648
+ restoreElement,
5640
5649
  restoreElements,
5641
5650
  restoreAppState,
5642
5651
  restore,
@@ -5665,4 +5674,4 @@ export {
5665
5674
  createFile,
5666
5675
  normalizeFile
5667
5676
  };
5668
- //# sourceMappingURL=chunk-65CT75SH.js.map
5677
+ //# sourceMappingURL=chunk-CRKRRBMD.js.map