@tldraw/editor 3.16.0-canary.efdec30fc411 → 3.16.0-canary.f55016ece635

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 (101) hide show
  1. package/dist-cjs/index.d.ts +18 -0
  2. package/dist-cjs/index.js +1 -1
  3. package/dist-cjs/lib/TldrawEditor.js +5 -1
  4. package/dist-cjs/lib/TldrawEditor.js.map +2 -2
  5. package/dist-cjs/lib/components/Shape.js +7 -10
  6. package/dist-cjs/lib/components/Shape.js.map +2 -2
  7. package/dist-cjs/lib/components/default-components/DefaultCanvas.js +4 -23
  8. package/dist-cjs/lib/components/default-components/DefaultCanvas.js.map +2 -2
  9. package/dist-cjs/lib/components/default-components/DefaultCollaboratorHint.js +1 -1
  10. package/dist-cjs/lib/components/default-components/DefaultCollaboratorHint.js.map +1 -1
  11. package/dist-cjs/lib/components/default-components/DefaultErrorFallback.js +1 -1
  12. package/dist-cjs/lib/components/default-components/DefaultErrorFallback.js.map +2 -2
  13. package/dist-cjs/lib/components/default-components/DefaultScribble.js +1 -1
  14. package/dist-cjs/lib/components/default-components/DefaultScribble.js.map +2 -2
  15. package/dist-cjs/lib/components/default-components/DefaultShapeIndicator.js +9 -1
  16. package/dist-cjs/lib/components/default-components/DefaultShapeIndicator.js.map +2 -2
  17. package/dist-cjs/lib/config/TLUserPreferences.js +1 -1
  18. package/dist-cjs/lib/config/TLUserPreferences.js.map +2 -2
  19. package/dist-cjs/lib/editor/Editor.js +27 -1
  20. package/dist-cjs/lib/editor/Editor.js.map +2 -2
  21. package/dist-cjs/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.js +1 -1
  22. package/dist-cjs/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.js.map +2 -2
  23. package/dist-cjs/lib/exports/getSvgJsx.js +1 -2
  24. package/dist-cjs/lib/exports/getSvgJsx.js.map +2 -2
  25. package/dist-cjs/lib/hooks/usePassThroughWheelEvents.js +4 -1
  26. package/dist-cjs/lib/hooks/usePassThroughWheelEvents.js.map +2 -2
  27. package/dist-cjs/lib/license/Watermark.js +6 -6
  28. package/dist-cjs/lib/license/Watermark.js.map +1 -1
  29. package/dist-cjs/lib/options.js +6 -0
  30. package/dist-cjs/lib/options.js.map +2 -2
  31. package/dist-cjs/version.js +3 -3
  32. package/dist-cjs/version.js.map +1 -1
  33. package/dist-esm/index.d.mts +18 -0
  34. package/dist-esm/index.mjs +1 -1
  35. package/dist-esm/lib/TldrawEditor.mjs +5 -1
  36. package/dist-esm/lib/TldrawEditor.mjs.map +2 -2
  37. package/dist-esm/lib/components/Shape.mjs +7 -10
  38. package/dist-esm/lib/components/Shape.mjs.map +2 -2
  39. package/dist-esm/lib/components/default-components/DefaultCanvas.mjs +4 -23
  40. package/dist-esm/lib/components/default-components/DefaultCanvas.mjs.map +2 -2
  41. package/dist-esm/lib/components/default-components/DefaultCollaboratorHint.mjs +1 -1
  42. package/dist-esm/lib/components/default-components/DefaultCollaboratorHint.mjs.map +1 -1
  43. package/dist-esm/lib/components/default-components/DefaultErrorFallback.mjs +1 -1
  44. package/dist-esm/lib/components/default-components/DefaultErrorFallback.mjs.map +2 -2
  45. package/dist-esm/lib/components/default-components/DefaultScribble.mjs +1 -1
  46. package/dist-esm/lib/components/default-components/DefaultScribble.mjs.map +2 -2
  47. package/dist-esm/lib/components/default-components/DefaultShapeIndicator.mjs +9 -1
  48. package/dist-esm/lib/components/default-components/DefaultShapeIndicator.mjs.map +2 -2
  49. package/dist-esm/lib/config/TLUserPreferences.mjs +1 -1
  50. package/dist-esm/lib/config/TLUserPreferences.mjs.map +2 -2
  51. package/dist-esm/lib/editor/Editor.mjs +27 -1
  52. package/dist-esm/lib/editor/Editor.mjs.map +2 -2
  53. package/dist-esm/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.mjs +1 -1
  54. package/dist-esm/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.mjs.map +2 -2
  55. package/dist-esm/lib/exports/getSvgJsx.mjs +2 -2
  56. package/dist-esm/lib/exports/getSvgJsx.mjs.map +2 -2
  57. package/dist-esm/lib/hooks/usePassThroughWheelEvents.mjs +4 -1
  58. package/dist-esm/lib/hooks/usePassThroughWheelEvents.mjs.map +2 -2
  59. package/dist-esm/lib/license/Watermark.mjs +6 -6
  60. package/dist-esm/lib/license/Watermark.mjs.map +1 -1
  61. package/dist-esm/lib/options.mjs +6 -0
  62. package/dist-esm/lib/options.mjs.map +2 -2
  63. package/dist-esm/version.mjs +3 -3
  64. package/dist-esm/version.mjs.map +1 -1
  65. package/editor.css +301 -290
  66. package/package.json +14 -37
  67. package/src/lib/TldrawEditor.tsx +6 -1
  68. package/src/lib/components/Shape.tsx +6 -12
  69. package/src/lib/components/default-components/DefaultCanvas.tsx +5 -22
  70. package/src/lib/components/default-components/DefaultCollaboratorHint.tsx +1 -1
  71. package/src/lib/components/default-components/DefaultErrorFallback.tsx +1 -1
  72. package/src/lib/components/default-components/DefaultScribble.tsx +1 -1
  73. package/src/lib/components/default-components/DefaultShapeIndicator.tsx +5 -1
  74. package/src/lib/config/TLUserPreferences.ts +1 -1
  75. package/src/lib/editor/Editor.test.ts +12 -11
  76. package/src/lib/editor/Editor.ts +29 -1
  77. package/src/lib/editor/managers/ClickManager/ClickManager.test.ts +15 -14
  78. package/src/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.test.ts +16 -15
  79. package/src/lib/editor/managers/FocusManager/FocusManager.test.ts +49 -48
  80. package/src/lib/editor/managers/FontManager/FontManager.test.ts +24 -23
  81. package/src/lib/editor/managers/HistoryManager/HistoryManager.test.ts +7 -6
  82. package/src/lib/editor/managers/ScribbleManager/ScribbleManager.test.ts +12 -11
  83. package/src/lib/editor/managers/SnapManager/SnapManager.test.ts +57 -50
  84. package/src/lib/editor/managers/TextManager/TextManager.test.ts +51 -26
  85. package/src/lib/editor/managers/TickManager/TickManager.test.ts +14 -13
  86. package/src/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.test.ts +21 -26
  87. package/src/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.ts +1 -1
  88. package/src/lib/exports/getSvgJsx.tsx +2 -2
  89. package/src/lib/hooks/usePassThroughWheelEvents.ts +6 -1
  90. package/src/lib/license/LicenseManager.test.ts +3 -1
  91. package/src/lib/license/Watermark.test.tsx +2 -1
  92. package/src/lib/license/Watermark.tsx +6 -6
  93. package/src/lib/options.ts +6 -0
  94. package/src/lib/utils/sync/LocalIndexedDb.test.ts +2 -1
  95. package/src/lib/utils/sync/TLLocalSyncClient.test.ts +15 -15
  96. package/src/version.ts +3 -3
  97. package/dist-cjs/lib/utils/nearestMultiple.js +0 -34
  98. package/dist-cjs/lib/utils/nearestMultiple.js.map +0 -7
  99. package/dist-esm/lib/utils/nearestMultiple.mjs +0 -14
  100. package/dist-esm/lib/utils/nearestMultiple.mjs.map +0 -7
  101. package/src/lib/utils/nearestMultiple.ts +0 -13
@@ -4782,7 +4782,16 @@ class Editor extends (_a = EventEmitter, _getIsShapeHiddenCache_dec = [computed]
4782
4782
  }
4783
4783
  this.createShapes(shapesToCreate);
4784
4784
  this.createBindings(bindingsToCreate);
4785
- this.setSelectedShapes(compact(ids.map((id) => shapeIds.get(id))));
4785
+ this.setSelectedShapes(
4786
+ compact(
4787
+ ids.map((oldId) => {
4788
+ const newId = shapeIds.get(oldId);
4789
+ if (!newId) return null;
4790
+ if (!this.getShape(newId)) return null;
4791
+ return newId;
4792
+ })
4793
+ )
4794
+ );
4786
4795
  if (offset !== void 0) {
4787
4796
  const selectionPageBounds = this.getSelectionPageBounds();
4788
4797
  const viewportPageBounds = this.getViewportPageBounds();
@@ -6967,6 +6976,23 @@ class Editor extends (_a = EventEmitter, _getIsShapeHiddenCache_dec = [computed]
6967
6976
  }
6968
6977
  }
6969
6978
  }
6979
+ /**
6980
+ * Get an exported image of the given shapes as a data URL.
6981
+ *
6982
+ * @param shapes - The shapes (or shape ids) to export.
6983
+ * @param opts - Options for the export.
6984
+ *
6985
+ * @returns A data URL of the image.
6986
+ * @public
6987
+ */
6988
+ async toImageDataUrl(shapes, opts = {}) {
6989
+ const { blob, width, height } = await this.toImage(shapes, opts);
6990
+ return {
6991
+ url: await FileHelpers.blobToDataUrl(blob),
6992
+ width,
6993
+ height
6994
+ };
6995
+ }
6970
6996
  /**
6971
6997
  * Update the input points from a pointer, pinch, or wheel event.
6972
6998
  *