@tldraw/editor 5.6.0-canary.41de65b8a92d → 5.6.0-canary.4f75edece146

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 (50) hide show
  1. package/dist-cjs/index.d.ts +5 -1
  2. package/dist-cjs/index.js +1 -1
  3. package/dist-cjs/lib/editor/Editor.js +18 -10
  4. package/dist-cjs/lib/editor/Editor.js.map +2 -2
  5. package/dist-cjs/lib/editor/derivations/shapeIdsInCurrentPage.js +10 -3
  6. package/dist-cjs/lib/editor/derivations/shapeIdsInCurrentPage.js.map +2 -2
  7. package/dist-cjs/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.js +1 -1
  8. package/dist-cjs/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.js.map +2 -2
  9. package/dist-cjs/lib/editor/managers/FontManager/FontManager.js +19 -2
  10. package/dist-cjs/lib/editor/managers/FontManager/FontManager.js.map +2 -2
  11. package/dist-cjs/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.js +7 -1
  12. package/dist-cjs/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.js.map +2 -2
  13. package/dist-cjs/lib/hooks/useDocumentEvents.js +28 -3
  14. package/dist-cjs/lib/hooks/useDocumentEvents.js.map +2 -2
  15. package/dist-cjs/lib/options.js +1 -1
  16. package/dist-cjs/lib/options.js.map +1 -1
  17. package/dist-cjs/version.js +3 -3
  18. package/dist-cjs/version.js.map +1 -1
  19. package/dist-esm/index.d.mts +5 -1
  20. package/dist-esm/index.mjs +1 -1
  21. package/dist-esm/lib/editor/Editor.mjs +18 -10
  22. package/dist-esm/lib/editor/Editor.mjs.map +2 -2
  23. package/dist-esm/lib/editor/derivations/shapeIdsInCurrentPage.mjs +10 -3
  24. package/dist-esm/lib/editor/derivations/shapeIdsInCurrentPage.mjs.map +2 -2
  25. package/dist-esm/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.mjs +1 -1
  26. package/dist-esm/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.mjs.map +2 -2
  27. package/dist-esm/lib/editor/managers/FontManager/FontManager.mjs +20 -3
  28. package/dist-esm/lib/editor/managers/FontManager/FontManager.mjs.map +2 -2
  29. package/dist-esm/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.mjs +7 -1
  30. package/dist-esm/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.mjs.map +2 -2
  31. package/dist-esm/lib/hooks/useDocumentEvents.mjs +28 -3
  32. package/dist-esm/lib/hooks/useDocumentEvents.mjs.map +2 -2
  33. package/dist-esm/lib/options.mjs +1 -1
  34. package/dist-esm/lib/options.mjs.map +1 -1
  35. package/dist-esm/version.mjs +3 -3
  36. package/dist-esm/version.mjs.map +1 -1
  37. package/editor.css +1 -1
  38. package/package.json +7 -7
  39. package/src/lib/editor/Editor.ts +31 -16
  40. package/src/lib/editor/derivations/shapeIdsInCurrentPage.ts +19 -3
  41. package/src/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.test.ts +17 -0
  42. package/src/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.ts +2 -2
  43. package/src/lib/editor/managers/FontManager/FontManager.test.ts +1 -0
  44. package/src/lib/editor/managers/FontManager/FontManager.ts +26 -3
  45. package/src/lib/editor/managers/HistoryManager/HistoryManager.test.ts +32 -0
  46. package/src/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.ts +16 -7
  47. package/src/lib/hooks/useDocumentEvents.ts +51 -3
  48. package/src/lib/options.ts +1 -1
  49. package/src/lib/test/useDocumentEvents.test.tsx +153 -22
  50. package/src/version.ts +3 -3
@@ -1059,7 +1059,7 @@ export declare const defaultTldrawOptions: {
1059
1059
  readonly step: 1;
1060
1060
  }];
1061
1061
  readonly handleRadius: 12;
1062
- readonly hitTestMargin: 3;
1062
+ readonly hitTestMargin: 4.5;
1063
1063
  readonly laserDelayMs: 1200;
1064
1064
  readonly laserFadeoutMs: 500;
1065
1065
  readonly longPressDurationMs: 500;
@@ -4734,6 +4734,10 @@ export declare class FontManager {
4734
4734
  loadRequiredFontsForCurrentPage(limit?: number): Promise<void>;
4735
4735
  private readonly fontStates;
4736
4736
  private getFontState;
4737
+ private readonly fontLoadEpoch;
4738
+ /* Excluded from this release type: getFontLoadEpoch */
4739
+ private isFontLoadEpochBumpPending;
4740
+ private setFontState;
4737
4741
  ensureFontIsLoaded(font: TLFontFace): Promise<void>;
4738
4742
  private fontsToLoad;
4739
4743
  requestFonts(fonts: TLFontFace[]): void;
package/dist-cjs/index.js CHANGED
@@ -392,7 +392,7 @@ var import_uniq = require("./lib/utils/uniq");
392
392
  var import_defaultThemes2 = require("./lib/editor/managers/ThemeManager/defaultThemes");
393
393
  (0, import_utils.registerTldrawLibraryVersion)(
394
394
  "@tldraw/editor",
395
- "5.6.0-canary.41de65b8a92d",
395
+ "5.6.0-canary.4f75edece146",
396
396
  "cjs"
397
397
  );
398
398
  //# sourceMappingURL=index.js.map
@@ -1759,6 +1759,11 @@ class Editor extends import_eventemitter3.default {
1759
1759
  this._selectShapesAndZoom([sortedChildren[0].id]);
1760
1760
  }
1761
1761
  _selectShapesAndZoom(ids) {
1762
+ const selectedShapeIds = this.getSelectedShapeIds();
1763
+ const isSelectionChanging = ids.length !== selectedShapeIds.length || ids.some((id) => !selectedShapeIds.includes(id));
1764
+ if (isSelectionChanging) {
1765
+ this.markHistoryStoppingPoint("selecting adjacent shape");
1766
+ }
1762
1767
  this.setSelectedShapes(ids);
1763
1768
  this.zoomToSelectionIfOffscreen(256, {
1764
1769
  animation: {
@@ -5928,9 +5933,10 @@ class Editor extends import_eventemitter3.default {
5928
5933
  }
5929
5934
  }
5930
5935
  let workingShape = null;
5936
+ const initialPagePoint = import_Mat.Mat.applyToPoint(pageTransform, new import_Vec.Vec());
5931
5937
  if (util.onResize && util.canResize(initialShape)) {
5932
5938
  const newPagePoint = this._scalePagePoint(
5933
- import_Mat.Mat.applyToPoint(pageTransform, new import_Vec.Vec(0, 0)),
5939
+ initialPagePoint,
5934
5940
  scaleOrigin,
5935
5941
  scale,
5936
5942
  scaleAxisRotation
@@ -5943,7 +5949,6 @@ class Editor extends import_eventemitter3.default {
5943
5949
  );
5944
5950
  myScale.x = areWidthAndHeightAlignedWithCorrectAxis ? scale.x : scale.y;
5945
5951
  myScale.y = areWidthAndHeightAlignedWithCorrectAxis ? scale.y : scale.x;
5946
- const initialPagePoint = import_Mat.Mat.applyToPoint(pageTransform, new import_Vec.Vec());
5947
5952
  const { x, y } = this.getPointInParentSpace(initialShape.id, initialPagePoint);
5948
5953
  workingShape = initialShape;
5949
5954
  if (!opts.skipStartAndEndCallbacks) {
@@ -5989,24 +5994,26 @@ class Editor extends import_eventemitter3.default {
5989
5994
  scale,
5990
5995
  scaleAxisRotation
5991
5996
  );
5992
- const initialPageCenterInParentSpace = this.getPointInParentSpace(
5997
+ const repositionedPagePoint = import_Vec.Vec.Add(
5998
+ newPageCenter,
5999
+ import_Vec.Vec.Sub(initialPagePoint, initialPageCenter)
6000
+ );
6001
+ const repositionedLocalPoint = this.getPointInParentSpace(
5993
6002
  initialShape.id,
5994
- initialPageCenter
6003
+ repositionedPagePoint
5995
6004
  );
5996
- const newPageCenterInParentSpace = this.getPointInParentSpace(initialShape.id, newPageCenter);
5997
- const delta = import_Vec.Vec.Sub(newPageCenterInParentSpace, initialPageCenterInParentSpace);
5998
6005
  if (workingShape) {
5999
6006
  return {
6000
6007
  ...workingShape,
6001
- x: initialShape.x + delta.x,
6002
- y: initialShape.y + delta.y
6008
+ x: repositionedLocalPoint.x,
6009
+ y: repositionedLocalPoint.y
6003
6010
  };
6004
6011
  }
6005
6012
  return {
6006
6013
  id,
6007
6014
  type: initialShape.type,
6008
- x: initialShape.x + delta.x,
6009
- y: initialShape.y + delta.y
6015
+ x: repositionedLocalPoint.x,
6016
+ y: repositionedLocalPoint.y
6010
6017
  };
6011
6018
  }
6012
6019
  /** @internal */
@@ -8354,6 +8361,7 @@ class Editor extends import_eventemitter3.default {
8354
8361
  break;
8355
8362
  }
8356
8363
  case "key_repeat": {
8364
+ inputs.keys.add(info.code);
8357
8365
  break;
8358
8366
  }
8359
8367
  }