@excalidraw/element 0.18.0-01d4789e1 → 0.18.0-042a6979d

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/dist/dev/index.js CHANGED
@@ -14912,6 +14912,9 @@ var AppStateDelta = class _AppStateDelta {
14912
14912
  return new _AppStateDelta(inversedDelta);
14913
14913
  }
14914
14914
  squash(delta) {
14915
+ if (delta.isEmpty()) {
14916
+ return this;
14917
+ }
14915
14918
  const mergedDeletedSelectedElementIds = Delta.mergeObjects(
14916
14919
  this.delta.deleted.selectedElementIds ?? {},
14917
14920
  delta.delta.deleted.selectedElementIds ?? {}
@@ -14920,36 +14923,54 @@ var AppStateDelta = class _AppStateDelta {
14920
14923
  this.delta.inserted.selectedElementIds ?? {},
14921
14924
  delta.delta.inserted.selectedElementIds ?? {}
14922
14925
  );
14926
+ const mergedDeletedSelectedGroupIds = Delta.mergeObjects(
14927
+ this.delta.deleted.selectedGroupIds ?? {},
14928
+ delta.delta.deleted.selectedGroupIds ?? {}
14929
+ );
14923
14930
  const mergedInsertedSelectedGroupIds = Delta.mergeObjects(
14924
14931
  this.delta.inserted.selectedGroupIds ?? {},
14925
14932
  delta.delta.inserted.selectedGroupIds ?? {}
14926
14933
  );
14927
- const mergedDeletedSelectedGroupIds = Delta.mergeObjects(
14928
- this.delta.deleted.selectedGroupIds ?? {},
14929
- delta.delta.deleted.selectedGroupIds ?? {}
14934
+ const mergedDeletedLockedMultiSelections = Delta.mergeObjects(
14935
+ this.delta.deleted.lockedMultiSelections ?? {},
14936
+ delta.delta.deleted.lockedMultiSelections ?? {}
14930
14937
  );
14931
- const mergedDelta = Delta.create(
14932
- {
14933
- selectedElementIds: mergedDeletedSelectedElementIds,
14934
- selectedGroupIds: mergedDeletedSelectedGroupIds
14935
- },
14936
- {
14937
- selectedElementIds: mergedInsertedSelectedElementIds,
14938
- selectedGroupIds: mergedInsertedSelectedGroupIds
14939
- }
14938
+ const mergedInsertedLockedMultiSelections = Delta.mergeObjects(
14939
+ this.delta.inserted.lockedMultiSelections ?? {},
14940
+ delta.delta.inserted.lockedMultiSelections ?? {}
14941
+ );
14942
+ const mergedInserted = {};
14943
+ const mergedDeleted = {};
14944
+ if (Object.keys(mergedDeletedSelectedElementIds).length || Object.keys(mergedInsertedSelectedElementIds).length) {
14945
+ mergedDeleted.selectedElementIds = mergedDeletedSelectedElementIds;
14946
+ mergedInserted.selectedElementIds = mergedInsertedSelectedElementIds;
14947
+ }
14948
+ if (Object.keys(mergedDeletedSelectedGroupIds).length || Object.keys(mergedInsertedSelectedGroupIds).length) {
14949
+ mergedDeleted.selectedGroupIds = mergedDeletedSelectedGroupIds;
14950
+ mergedInserted.selectedGroupIds = mergedInsertedSelectedGroupIds;
14951
+ }
14952
+ if (Object.keys(mergedDeletedLockedMultiSelections).length || Object.keys(mergedInsertedLockedMultiSelections).length) {
14953
+ mergedDeleted.lockedMultiSelections = mergedDeletedLockedMultiSelections;
14954
+ mergedInserted.lockedMultiSelections = mergedInsertedLockedMultiSelections;
14955
+ }
14956
+ this.delta = Delta.merge(
14957
+ this.delta,
14958
+ delta.delta,
14959
+ Delta.create(mergedDeleted, mergedInserted)
14940
14960
  );
14941
- this.delta = Delta.merge(this.delta, delta.delta, mergedDelta);
14942
14961
  return this;
14943
14962
  }
14944
14963
  applyTo(appState, nextElements) {
14945
14964
  try {
14946
14965
  const {
14947
14966
  selectedElementIds: deletedSelectedElementIds = {},
14948
- selectedGroupIds: deletedSelectedGroupIds = {}
14967
+ selectedGroupIds: deletedSelectedGroupIds = {},
14968
+ lockedMultiSelections: deletedLockedMultiSelections = {}
14949
14969
  } = this.delta.deleted;
14950
14970
  const {
14951
14971
  selectedElementIds: insertedSelectedElementIds = {},
14952
14972
  selectedGroupIds: insertedSelectedGroupIds = {},
14973
+ lockedMultiSelections: insertedLockedMultiSelections = {},
14953
14974
  selectedLinearElement: insertedSelectedLinearElement,
14954
14975
  ...directlyApplicablePartial
14955
14976
  } = this.delta.inserted;
@@ -14963,6 +14984,11 @@ var AppStateDelta = class _AppStateDelta {
14963
14984
  insertedSelectedGroupIds,
14964
14985
  deletedSelectedGroupIds
14965
14986
  );
14987
+ const mergedLockedMultiSelections = Delta.mergeObjects(
14988
+ appState.lockedMultiSelections,
14989
+ insertedLockedMultiSelections,
14990
+ deletedLockedMultiSelections
14991
+ );
14966
14992
  const selectedLinearElement = insertedSelectedLinearElement && nextElements.has(insertedSelectedLinearElement.elementId) ? new LinearElementEditor(
14967
14993
  nextElements.get(
14968
14994
  insertedSelectedLinearElement.elementId
@@ -14975,6 +15001,7 @@ var AppStateDelta = class _AppStateDelta {
14975
15001
  ...directlyApplicablePartial,
14976
15002
  selectedElementIds: mergedSelectedElementIds,
14977
15003
  selectedGroupIds: mergedSelectedGroupIds,
15004
+ lockedMultiSelections: mergedLockedMultiSelections,
14978
15005
  selectedLinearElement: typeof insertedSelectedLinearElement !== "undefined" ? selectedLinearElement : appState.selectedLinearElement
14979
15006
  };
14980
15007
  const constainsVisibleChanges = this.filterInvisibleChanges(
@@ -15178,12 +15205,6 @@ var AppStateDelta = class _AppStateDelta {
15178
15205
  "lockedMultiSelections",
15179
15206
  (prevValue) => prevValue ?? {}
15180
15207
  );
15181
- Delta.diffObjects(
15182
- deleted,
15183
- inserted,
15184
- "activeLockedId",
15185
- (prevValue) => prevValue ?? null
15186
- );
15187
15208
  } catch (e) {
15188
15209
  console.error(`Couldn't postprocess appstate change deltas.`);
15189
15210
  if (isTestEnv8() || isDevEnv7()) {
@@ -15513,6 +15534,9 @@ var ElementsDelta = class _ElementsDelta {
15513
15534
  }
15514
15535
  }
15515
15536
  squash(delta) {
15537
+ if (delta.isEmpty()) {
15538
+ return this;
15539
+ }
15516
15540
  const { added, removed, updated } = delta;
15517
15541
  const mergeBoundElements = (prevDelta, nextDelta) => {
15518
15542
  const mergedDeletedBoundElements = Delta.mergeArrays(
@@ -15527,6 +15551,9 @@ var ElementsDelta = class _ElementsDelta {
15527
15551
  void 0,
15528
15552
  (x) => x.id
15529
15553
  ) ?? [];
15554
+ if (!mergedDeletedBoundElements.length && !mergedInsertedBoundElements.length) {
15555
+ return;
15556
+ }
15530
15557
  return Delta.create(
15531
15558
  {
15532
15559
  boundElements: mergedDeletedBoundElements