@excalidraw/excalidraw 0.18.0-9036812b6 → 0.18.0-91c7748

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 (71) hide show
  1. package/dist/dev/{chunk-FRLWKCNE.js → chunk-LJB4UXX2.js} +37 -31
  2. package/dist/dev/chunk-LJB4UXX2.js.map +7 -0
  3. package/dist/dev/data/{image-T2LJEHDP.js → image-OLV524AK.js} +2 -2
  4. package/dist/dev/index.css +126 -1
  5. package/dist/dev/index.css.map +2 -2
  6. package/dist/dev/index.js +2365 -1295
  7. package/dist/dev/index.js.map +4 -4
  8. package/dist/prod/chunk-PYEQN4AH.js +4 -0
  9. package/dist/prod/data/{image-53OPA26C.js → image-IFOCRD4I.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 +19 -4
  13. package/dist/types/common/src/utils.d.ts +1 -0
  14. package/dist/types/element/src/Scene.d.ts +6 -2
  15. package/dist/types/element/src/bounds.d.ts +1 -1
  16. package/dist/types/element/src/delta.d.ts +6 -3
  17. package/dist/types/element/src/index.d.ts +1 -0
  18. package/dist/types/element/src/positionElementsOnGrid.d.ts +2 -0
  19. package/dist/types/element/src/renderElement.d.ts +4 -1
  20. package/dist/types/element/src/store.d.ts +6 -1
  21. package/dist/types/element/src/textElement.d.ts +1 -1
  22. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +6 -3
  23. package/dist/types/excalidraw/actions/actionBoundText.d.ts +4 -2
  24. package/dist/types/excalidraw/actions/actionCanvas.d.ts +29 -15
  25. package/dist/types/excalidraw/actions/actionClipboard.d.ts +12 -6
  26. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +2 -1
  27. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +6 -3
  28. package/dist/types/excalidraw/actions/actionElementLink.d.ts +2 -1
  29. package/dist/types/excalidraw/actions/actionElementLock.d.ts +4 -2
  30. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +2 -1
  31. package/dist/types/excalidraw/actions/actionExport.d.ts +18 -9
  32. package/dist/types/excalidraw/actions/actionFinalize.d.ts +4 -2
  33. package/dist/types/excalidraw/actions/actionFrame.d.ts +8 -4
  34. package/dist/types/excalidraw/actions/actionGroup.d.ts +4 -2
  35. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +3 -2
  36. package/dist/types/excalidraw/actions/actionLink.d.ts +2 -1
  37. package/dist/types/excalidraw/actions/actionMenu.d.ts +6 -3
  38. package/dist/types/excalidraw/actions/actionNavigate.d.ts +4 -2
  39. package/dist/types/excalidraw/actions/actionProperties.d.ts +48 -24
  40. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +2 -1
  41. package/dist/types/excalidraw/actions/actionStyles.d.ts +2 -1
  42. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +2 -1
  43. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +2 -1
  44. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +2 -1
  45. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +2 -1
  46. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +2 -1
  47. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +2 -1
  48. package/dist/types/excalidraw/actions/index.d.ts +1 -1
  49. package/dist/types/excalidraw/actions/types.d.ts +1 -1
  50. package/dist/types/excalidraw/appState.d.ts +1 -0
  51. package/dist/types/excalidraw/clipboard.d.ts +64 -1
  52. package/dist/types/excalidraw/components/Actions.d.ts +8 -1
  53. package/dist/types/excalidraw/components/App.d.ts +11 -8
  54. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +2 -1
  55. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +2 -1
  56. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +2 -1
  57. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -0
  58. package/dist/types/excalidraw/components/icons.d.ts +6 -0
  59. package/dist/types/excalidraw/components/shapes.d.ts +129 -1
  60. package/dist/types/excalidraw/data/blob.d.ts +1 -5
  61. package/dist/types/excalidraw/data/restore.d.ts +6 -1
  62. package/dist/types/excalidraw/data/types.d.ts +4 -1
  63. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
  64. package/dist/types/excalidraw/index.d.ts +1 -1
  65. package/dist/types/excalidraw/types.d.ts +6 -1
  66. package/dist/types/math/src/segment.d.ts +1 -0
  67. package/history.ts +1 -1
  68. package/package.json +5 -5
  69. package/dist/dev/chunk-FRLWKCNE.js.map +0 -7
  70. package/dist/prod/chunk-YZO7PSYQ.js +0 -4
  71. /package/dist/dev/data/{image-T2LJEHDP.js.map → image-OLV524AK.js.map} +0 -0
@@ -137,7 +137,8 @@ var getDefaultAppState = () => {
137
137
  croppingElementId: null,
138
138
  searchMatches: null,
139
139
  lockedMultiSelections: {},
140
- activeLockedId: null
140
+ activeLockedId: null,
141
+ stylesPanelMode: "full"
141
142
  };
142
143
  };
143
144
  var APP_STATE_STORAGE_CONF = /* @__PURE__ */ ((config) => config)({
@@ -245,7 +246,8 @@ var APP_STATE_STORAGE_CONF = /* @__PURE__ */ ((config) => config)({
245
246
  croppingElementId: { browser: false, export: false, server: false },
246
247
  searchMatches: { browser: false, export: false, server: false },
247
248
  lockedMultiSelections: { browser: true, export: true, server: true },
248
- activeLockedId: { browser: false, export: false, server: false }
249
+ activeLockedId: { browser: false, export: false, server: false },
250
+ stylesPanelMode: { browser: true, export: false, server: false }
249
251
  });
250
252
  var _clearAppStateForStorage = (appState, exportType) => {
251
253
  const stateForExport = {};
@@ -4815,7 +4817,7 @@ var restoreElementWithProperties = (element, extra) => {
4815
4817
  delete ret.boundElementIds;
4816
4818
  return ret;
4817
4819
  };
4818
- var restoreElement = (element) => {
4820
+ var restoreElement = (element, opts) => {
4819
4821
  element = { ...element };
4820
4822
  switch (element.type) {
4821
4823
  case "text":
@@ -4847,7 +4849,7 @@ var restoreElement = (element) => {
4847
4849
  autoResize: element.autoResize ?? true,
4848
4850
  lineHeight
4849
4851
  });
4850
- if (!text && !element.isDeleted) {
4852
+ if (opts?.deleteInvisibleElements && !text && !element.isDeleted) {
4851
4853
  element = { ...element, originalText: text, isDeleted: true };
4852
4854
  element = bumpVersion(element);
4853
4855
  }
@@ -4923,7 +4925,7 @@ var restoreElement = (element) => {
4923
4925
  elbowed: true,
4924
4926
  startBinding: repairBinding(element, element.startBinding),
4925
4927
  endBinding: repairBinding(element, element.endBinding),
4926
- fixedSegments: element.fixedSegments,
4928
+ fixedSegments: element.fixedSegments?.length && base.points.length >= 4 ? element.fixedSegments : null,
4927
4929
  startIsSpecial: element.startIsSpecial,
4928
4930
  endIsSpecial: element.endIsSpecial
4929
4931
  }) : restoreElementWithProperties(element, base);
@@ -4996,22 +4998,26 @@ var restoreElements = (elements, localElements, opts) => {
4996
4998
  const localElementsMap = localElements ? arrayToMap2(localElements) : null;
4997
4999
  const restoredElements = syncInvalidIndices2(
4998
5000
  (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);
5001
+ if (element.type === "selection") {
5002
+ return elements2;
5003
+ }
5004
+ let migratedElement = restoreElement(element, {
5005
+ deleteInvisibleElements: opts?.deleteInvisibleElements
5006
+ });
5007
+ if (migratedElement) {
5008
+ const localElement = localElementsMap?.get(element.id);
5009
+ const shouldMarkAsDeleted = opts?.deleteInvisibleElements && isInvisiblySmallElement(element);
5010
+ if (shouldMarkAsDeleted || localElement && localElement.version > migratedElement.version) {
5011
+ migratedElement = bumpVersion(migratedElement, localElement?.version);
5014
5012
  }
5013
+ if (shouldMarkAsDeleted) {
5014
+ migratedElement = { ...migratedElement, isDeleted: true };
5015
+ }
5016
+ if (existingIds.has(migratedElement.id)) {
5017
+ migratedElement = { ...migratedElement, id: randomId() };
5018
+ }
5019
+ existingIds.add(migratedElement.id);
5020
+ elements2.push(migratedElement);
5015
5021
  }
5016
5022
  return elements2;
5017
5023
  }, [])
@@ -5215,7 +5221,7 @@ var parseFileContents = async (blob) => {
5215
5221
  let contents;
5216
5222
  if (blob.type === MIME_TYPES6.png) {
5217
5223
  try {
5218
- return await (await import("./data/image-T2LJEHDP.js")).decodePngMetadata(blob);
5224
+ return await (await import("./data/image-OLV524AK.js")).decodePngMetadata(blob);
5219
5225
  } catch (error) {
5220
5226
  if (error.message === "INVALID") {
5221
5227
  throw new ImageSceneDataError(
@@ -5310,7 +5316,11 @@ var loadSceneOrLibraryFromBlob = async (blob, localAppState, localElements, file
5310
5316
  },
5311
5317
  localAppState,
5312
5318
  localElements,
5313
- { repairBindings: true, refreshDimensions: false }
5319
+ {
5320
+ repairBindings: true,
5321
+ refreshDimensions: false,
5322
+ deleteInvisibleElements: true
5323
+ }
5314
5324
  )
5315
5325
  };
5316
5326
  } else if (isValidLibrary(data)) {
@@ -5455,16 +5465,11 @@ var ImageURLToFile = async (imageUrl, filename = "") => {
5455
5465
  }
5456
5466
  throw new Error("Error: unsupported file type", { cause: "UNSUPPORTED" });
5457
5467
  };
5458
- var getFileFromEvent = async (event) => {
5459
- const file = event.dataTransfer.files.item(0);
5460
- const fileHandle = await getFileHandle(event);
5461
- return { file: file ? await normalizeFile(file) : null, fileHandle };
5462
- };
5463
5468
  var getFileHandle = async (event) => {
5464
5469
  if (nativeFileSystemSupported) {
5465
5470
  try {
5466
- const item = event.dataTransfer.items[0];
5467
- const handle = await item.getAsFileSystemHandle() || null;
5471
+ const dataTransferItem = event instanceof DataTransferItem ? event : event.dataTransfer?.items?.[0];
5472
+ const handle = await dataTransferItem.getAsFileSystemHandle() || null;
5468
5473
  return handle;
5469
5474
  } catch (error) {
5470
5475
  console.warn(error.name, error.message);
@@ -5637,6 +5642,7 @@ export {
5637
5642
  exportToCanvas,
5638
5643
  exportToSvg,
5639
5644
  getExportSize,
5645
+ restoreElement,
5640
5646
  restoreElements,
5641
5647
  restoreAppState,
5642
5648
  restore,
@@ -5661,8 +5667,8 @@ export {
5661
5667
  resizeImageFile,
5662
5668
  SVGStringToFile,
5663
5669
  ImageURLToFile,
5664
- getFileFromEvent,
5670
+ getFileHandle,
5665
5671
  createFile,
5666
5672
  normalizeFile
5667
5673
  };
5668
- //# sourceMappingURL=chunk-FRLWKCNE.js.map
5674
+ //# sourceMappingURL=chunk-LJB4UXX2.js.map