@tldraw/editor 3.16.0-canary.39bd199a7aa6 → 3.16.0-canary.3fbab9bfb8e0

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 (91) hide show
  1. package/dist-cjs/index.d.ts +10 -0
  2. package/dist-cjs/index.js +1 -1
  3. package/dist-cjs/lib/TldrawEditor.js +1 -1
  4. package/dist-cjs/lib/TldrawEditor.js.map +2 -2
  5. package/dist-cjs/lib/components/MenuClickCapture.js +0 -5
  6. package/dist-cjs/lib/components/MenuClickCapture.js.map +2 -2
  7. package/dist-cjs/lib/components/default-components/DefaultCollaboratorHint.js +1 -1
  8. package/dist-cjs/lib/components/default-components/DefaultCollaboratorHint.js.map +1 -1
  9. package/dist-cjs/lib/components/default-components/DefaultErrorFallback.js +1 -1
  10. package/dist-cjs/lib/components/default-components/DefaultErrorFallback.js.map +2 -2
  11. package/dist-cjs/lib/components/default-components/DefaultScribble.js +1 -1
  12. package/dist-cjs/lib/components/default-components/DefaultScribble.js.map +2 -2
  13. package/dist-cjs/lib/components/default-components/DefaultShapeIndicator.js +9 -1
  14. package/dist-cjs/lib/components/default-components/DefaultShapeIndicator.js.map +2 -2
  15. package/dist-cjs/lib/config/TLUserPreferences.js +9 -3
  16. package/dist-cjs/lib/config/TLUserPreferences.js.map +2 -2
  17. package/dist-cjs/lib/editor/Editor.js +27 -15
  18. package/dist-cjs/lib/editor/Editor.js.map +2 -2
  19. package/dist-cjs/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.js +9 -4
  20. package/dist-cjs/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.js.map +2 -2
  21. package/dist-cjs/lib/exports/getSvgJsx.js +1 -2
  22. package/dist-cjs/lib/exports/getSvgJsx.js.map +2 -2
  23. package/dist-cjs/lib/hooks/useCanvasEvents.js +24 -20
  24. package/dist-cjs/lib/hooks/useCanvasEvents.js.map +2 -2
  25. package/dist-cjs/lib/license/Watermark.js +6 -6
  26. package/dist-cjs/lib/license/Watermark.js.map +1 -1
  27. package/dist-cjs/lib/options.js +7 -0
  28. package/dist-cjs/lib/options.js.map +2 -2
  29. package/dist-cjs/version.js +3 -3
  30. package/dist-cjs/version.js.map +1 -1
  31. package/dist-esm/index.d.mts +10 -0
  32. package/dist-esm/index.mjs +1 -1
  33. package/dist-esm/lib/TldrawEditor.mjs +1 -1
  34. package/dist-esm/lib/TldrawEditor.mjs.map +2 -2
  35. package/dist-esm/lib/components/MenuClickCapture.mjs +0 -5
  36. package/dist-esm/lib/components/MenuClickCapture.mjs.map +2 -2
  37. package/dist-esm/lib/components/default-components/DefaultCollaboratorHint.mjs +1 -1
  38. package/dist-esm/lib/components/default-components/DefaultCollaboratorHint.mjs.map +1 -1
  39. package/dist-esm/lib/components/default-components/DefaultErrorFallback.mjs +1 -1
  40. package/dist-esm/lib/components/default-components/DefaultErrorFallback.mjs.map +2 -2
  41. package/dist-esm/lib/components/default-components/DefaultScribble.mjs +1 -1
  42. package/dist-esm/lib/components/default-components/DefaultScribble.mjs.map +2 -2
  43. package/dist-esm/lib/components/default-components/DefaultShapeIndicator.mjs +9 -1
  44. package/dist-esm/lib/components/default-components/DefaultShapeIndicator.mjs.map +2 -2
  45. package/dist-esm/lib/config/TLUserPreferences.mjs +9 -3
  46. package/dist-esm/lib/config/TLUserPreferences.mjs.map +2 -2
  47. package/dist-esm/lib/editor/Editor.mjs +27 -15
  48. package/dist-esm/lib/editor/Editor.mjs.map +2 -2
  49. package/dist-esm/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.mjs +9 -4
  50. package/dist-esm/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.mjs.map +2 -2
  51. package/dist-esm/lib/exports/getSvgJsx.mjs +2 -2
  52. package/dist-esm/lib/exports/getSvgJsx.mjs.map +2 -2
  53. package/dist-esm/lib/hooks/useCanvasEvents.mjs +25 -21
  54. package/dist-esm/lib/hooks/useCanvasEvents.mjs.map +2 -2
  55. package/dist-esm/lib/license/Watermark.mjs +6 -6
  56. package/dist-esm/lib/license/Watermark.mjs.map +1 -1
  57. package/dist-esm/lib/options.mjs +7 -0
  58. package/dist-esm/lib/options.mjs.map +2 -2
  59. package/dist-esm/version.mjs +3 -3
  60. package/dist-esm/version.mjs.map +1 -1
  61. package/editor.css +293 -288
  62. package/package.json +14 -37
  63. package/src/lib/TldrawEditor.tsx +5 -5
  64. package/src/lib/components/MenuClickCapture.tsx +0 -8
  65. package/src/lib/components/default-components/DefaultCollaboratorHint.tsx +1 -1
  66. package/src/lib/components/default-components/DefaultErrorFallback.tsx +1 -1
  67. package/src/lib/components/default-components/DefaultScribble.tsx +1 -1
  68. package/src/lib/components/default-components/DefaultShapeIndicator.tsx +5 -1
  69. package/src/lib/config/TLUserPreferences.ts +8 -1
  70. package/src/lib/editor/Editor.test.ts +12 -11
  71. package/src/lib/editor/Editor.ts +37 -20
  72. package/src/lib/editor/managers/ClickManager/ClickManager.test.ts +15 -14
  73. package/src/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.test.ts +16 -15
  74. package/src/lib/editor/managers/FocusManager/FocusManager.test.ts +49 -48
  75. package/src/lib/editor/managers/FontManager/FontManager.test.ts +24 -23
  76. package/src/lib/editor/managers/HistoryManager/HistoryManager.test.ts +7 -6
  77. package/src/lib/editor/managers/ScribbleManager/ScribbleManager.test.ts +12 -11
  78. package/src/lib/editor/managers/SnapManager/SnapManager.test.ts +57 -50
  79. package/src/lib/editor/managers/TextManager/TextManager.test.ts +51 -26
  80. package/src/lib/editor/managers/TickManager/TickManager.test.ts +14 -13
  81. package/src/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.test.ts +34 -26
  82. package/src/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.ts +6 -1
  83. package/src/lib/exports/getSvgJsx.tsx +2 -2
  84. package/src/lib/hooks/useCanvasEvents.ts +39 -32
  85. package/src/lib/license/LicenseManager.test.ts +3 -1
  86. package/src/lib/license/Watermark.test.tsx +2 -1
  87. package/src/lib/license/Watermark.tsx +6 -6
  88. package/src/lib/options.ts +8 -0
  89. package/src/lib/utils/sync/LocalIndexedDb.test.ts +2 -1
  90. package/src/lib/utils/sync/TLLocalSyncClient.test.ts +15 -15
  91. package/src/version.ts +3 -3
@@ -4748,7 +4748,16 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
4748
4748
  }
4749
4749
  this.createShapes(shapesToCreate);
4750
4750
  this.createBindings(bindingsToCreate);
4751
- this.setSelectedShapes((0, import_utils.compact)(ids.map((id) => shapeIds.get(id))));
4751
+ this.setSelectedShapes(
4752
+ (0, import_utils.compact)(
4753
+ ids.map((oldId) => {
4754
+ const newId = shapeIds.get(oldId);
4755
+ if (!newId) return null;
4756
+ if (!this.getShape(newId)) return null;
4757
+ return newId;
4758
+ })
4759
+ )
4760
+ );
4752
4761
  if (offset !== void 0) {
4753
4762
  const selectionPageBounds = this.getSelectionPageBounds();
4754
4763
  const viewportPageBounds = this.getViewportPageBounds();
@@ -5827,21 +5836,24 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
5827
5836
  }
5828
5837
  if (!partial.parentId || !(this.store.has(partial.parentId) || shapes.some((p) => p.id === partial.parentId))) {
5829
5838
  let parentId = this.getFocusedGroupId();
5830
- for (let i = currentPageShapesSorted.length - 1; i >= 0; i--) {
5831
- const parent = currentPageShapesSorted[i];
5832
- const util = this.getShapeUtil(parent);
5833
- if (util.canReceiveNewChildrenOfType(parent, partial.type) && !this.isShapeHidden(parent) && this.isPointInShape(
5834
- parent,
5835
- // If no parent is provided, then we can treat the
5836
- // shape's provided x/y as being in the page's space.
5837
- { x: partial.x ?? 0, y: partial.y ?? 0 },
5838
- {
5839
- margin: 0,
5840
- hitInside: true
5839
+ const isPositioned = partial.x !== void 0 && partial.y !== void 0;
5840
+ if (isPositioned) {
5841
+ for (let i = currentPageShapesSorted.length - 1; i >= 0; i--) {
5842
+ const parent = currentPageShapesSorted[i];
5843
+ const util = this.getShapeUtil(parent);
5844
+ if (util.canReceiveNewChildrenOfType(parent, partial.type) && !this.isShapeHidden(parent) && this.isPointInShape(
5845
+ parent,
5846
+ // If no parent is provided, then we can treat the
5847
+ // shape's provided x/y as being in the page's space.
5848
+ { x: partial.x ?? 0, y: partial.y ?? 0 },
5849
+ {
5850
+ margin: 0,
5851
+ hitInside: true
5852
+ }
5853
+ )) {
5854
+ parentId = parent.id;
5855
+ break;
5841
5856
  }
5842
- )) {
5843
- parentId = parent.id;
5844
- break;
5845
5857
  }
5846
5858
  }
5847
5859
  const prevParentId = partial.parentId;