@tldraw/editor 5.2.1 → 5.3.0-canary.01c51090a365

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 (75) hide show
  1. package/dist-cjs/index.d.ts +54 -9
  2. package/dist-cjs/index.js +3 -3
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/editor/Editor.js +50 -12
  5. package/dist-cjs/lib/editor/Editor.js.map +2 -2
  6. package/dist-cjs/lib/editor/managers/EditorManager.js +52 -0
  7. package/dist-cjs/lib/editor/managers/EditorManager.js.map +7 -0
  8. package/dist-cjs/lib/editor/managers/FocusManager/FocusManager.js +9 -11
  9. package/dist-cjs/lib/editor/managers/FocusManager/FocusManager.js.map +2 -2
  10. package/dist-cjs/lib/editor/managers/InputsManager/InputsManager.js +5 -9
  11. package/dist-cjs/lib/editor/managers/InputsManager/InputsManager.js.map +2 -2
  12. package/dist-cjs/lib/editor/managers/SpatialIndexManager/RBushIndex.js +18 -29
  13. package/dist-cjs/lib/editor/managers/SpatialIndexManager/RBushIndex.js.map +2 -2
  14. package/dist-cjs/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.js +96 -54
  15. package/dist-cjs/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.js.map +2 -2
  16. package/dist-cjs/lib/editor/managers/TextManager/TextManager.js +24 -19
  17. package/dist-cjs/lib/editor/managers/TextManager/TextManager.js.map +2 -2
  18. package/dist-cjs/lib/editor/managers/TickManager/TickManager.js +4 -7
  19. package/dist-cjs/lib/editor/managers/TickManager/TickManager.js.map +2 -2
  20. package/dist-cjs/lib/editor/shapes/BaseFrameLikeShapeUtil.js +3 -0
  21. package/dist-cjs/lib/editor/shapes/BaseFrameLikeShapeUtil.js.map +2 -2
  22. package/dist-cjs/lib/editor/shapes/ShapeUtil.js.map +1 -1
  23. package/dist-cjs/lib/editor/tools/BaseBoxShapeTool/children/Pointing.js +1 -2
  24. package/dist-cjs/lib/editor/tools/BaseBoxShapeTool/children/Pointing.js.map +2 -2
  25. package/dist-cjs/version.js +3 -3
  26. package/dist-cjs/version.js.map +1 -1
  27. package/dist-esm/index.d.mts +54 -9
  28. package/dist-esm/index.mjs +3 -3
  29. package/dist-esm/index.mjs.map +2 -2
  30. package/dist-esm/lib/editor/Editor.mjs +50 -12
  31. package/dist-esm/lib/editor/Editor.mjs.map +2 -2
  32. package/dist-esm/lib/editor/managers/EditorManager.mjs +32 -0
  33. package/dist-esm/lib/editor/managers/EditorManager.mjs.map +7 -0
  34. package/dist-esm/lib/editor/managers/FocusManager/FocusManager.mjs +9 -11
  35. package/dist-esm/lib/editor/managers/FocusManager/FocusManager.mjs.map +2 -2
  36. package/dist-esm/lib/editor/managers/InputsManager/InputsManager.mjs +5 -9
  37. package/dist-esm/lib/editor/managers/InputsManager/InputsManager.mjs.map +2 -2
  38. package/dist-esm/lib/editor/managers/SpatialIndexManager/RBushIndex.mjs +18 -29
  39. package/dist-esm/lib/editor/managers/SpatialIndexManager/RBushIndex.mjs.map +2 -2
  40. package/dist-esm/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.mjs +103 -56
  41. package/dist-esm/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.mjs.map +2 -2
  42. package/dist-esm/lib/editor/managers/TextManager/TextManager.mjs +24 -19
  43. package/dist-esm/lib/editor/managers/TextManager/TextManager.mjs.map +2 -2
  44. package/dist-esm/lib/editor/managers/TickManager/TickManager.mjs +4 -7
  45. package/dist-esm/lib/editor/managers/TickManager/TickManager.mjs.map +2 -2
  46. package/dist-esm/lib/editor/shapes/BaseFrameLikeShapeUtil.mjs +3 -0
  47. package/dist-esm/lib/editor/shapes/BaseFrameLikeShapeUtil.mjs.map +2 -2
  48. package/dist-esm/lib/editor/shapes/ShapeUtil.mjs.map +1 -1
  49. package/dist-esm/lib/editor/tools/BaseBoxShapeTool/children/Pointing.mjs +1 -2
  50. package/dist-esm/lib/editor/tools/BaseBoxShapeTool/children/Pointing.mjs.map +2 -2
  51. package/dist-esm/version.mjs +3 -3
  52. package/dist-esm/version.mjs.map +1 -1
  53. package/package.json +7 -7
  54. package/src/index.ts +1 -1
  55. package/src/lib/editor/Editor.ts +62 -17
  56. package/src/lib/editor/managers/EditorManager.test.ts +51 -0
  57. package/src/lib/editor/managers/EditorManager.ts +60 -0
  58. package/src/lib/editor/managers/FocusManager/FocusManager.test.ts +2 -1
  59. package/src/lib/editor/managers/FocusManager/FocusManager.ts +10 -14
  60. package/src/lib/editor/managers/InputsManager/InputsManager.ts +6 -9
  61. package/src/lib/editor/managers/SpatialIndexManager/RBushIndex.ts +19 -33
  62. package/src/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.ts +173 -86
  63. package/src/lib/editor/managers/TextManager/TextManager.test.ts +61 -1
  64. package/src/lib/editor/managers/TextManager/TextManager.ts +33 -19
  65. package/src/lib/editor/managers/TickManager/TickManager.test.ts +0 -10
  66. package/src/lib/editor/managers/TickManager/TickManager.ts +5 -6
  67. package/src/lib/editor/shapes/BaseFrameLikeShapeUtil.tsx +6 -1
  68. package/src/lib/editor/shapes/ShapeUtil.ts +1 -0
  69. package/src/lib/editor/tools/BaseBoxShapeTool/children/Pointing.ts +2 -2
  70. package/src/version.ts +3 -3
  71. package/dist-cjs/lib/editor/tools/cancelShapeCreationOnLongPress.js +0 -28
  72. package/dist-cjs/lib/editor/tools/cancelShapeCreationOnLongPress.js.map +0 -7
  73. package/dist-esm/lib/editor/tools/cancelShapeCreationOnLongPress.mjs +0 -8
  74. package/dist-esm/lib/editor/tools/cancelShapeCreationOnLongPress.mjs.map +0 -7
  75. package/src/lib/editor/tools/cancelShapeCreationOnLongPress.ts +0 -31
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var cancelShapeCreationOnLongPress_exports = {};
20
- __export(cancelShapeCreationOnLongPress_exports, {
21
- cancelShapeCreationOnLongPress: () => cancelShapeCreationOnLongPress
22
- });
23
- module.exports = __toCommonJS(cancelShapeCreationOnLongPress_exports);
24
- function cancelShapeCreationOnLongPress(editor, cancelPendingCreation) {
25
- if (!editor.getInstanceState().isCoarsePointer) return;
26
- cancelPendingCreation();
27
- }
28
- //# sourceMappingURL=cancelShapeCreationOnLongPress.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/lib/editor/tools/cancelShapeCreationOnLongPress.ts"],
4
- "sourcesContent": ["import type { Editor } from '../Editor'\n\n/**\n * Shared handler for a long-press in a discrete shape-creation tool's pointing\n * state (geo, note, line, text, arrow, frame). On a coarse pointer this cancels\n * any pending creation so the long-press leaves no shape behind (issue #8277).\n * It does not open a context menu \u2014 that is a select-tool surface, reached on\n * touch only from the select tool, and on desktop from a right-click (which the\n * editor routes through the select tool).\n *\n * Gated on `isCoarsePointer`: on a fine pointer (mouse) the long-press timer\n * powers the deliberate \"pause before drag to start a precise arrow\" gesture,\n * which we must not disturb. The bug only manifests on coarse pointers, because\n * that is also where the browser fires `contextmenu` at the long-press mark.\n *\n * The `cancelPendingCreation` callback is the tool's own cleanup \u2014 it knows\n * whether it needs to `bailToMark` a shape it created early or simply transition\n * back to idle. Continuous-gesture tools (draw, highlight, eraser, laser) are\n * excluded: their press is their own action, so they handle (or ignore) the\n * long-press themselves.\n *\n * @internal\n */\nexport function cancelShapeCreationOnLongPress(\n\teditor: Editor,\n\tcancelPendingCreation: () => void\n): void {\n\tif (!editor.getInstanceState().isCoarsePointer) return\n\n\tcancelPendingCreation()\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAuBO,SAAS,+BACf,QACA,uBACO;AACP,MAAI,CAAC,OAAO,iBAAiB,EAAE,gBAAiB;AAEhD,wBAAsB;AACvB;",
6
- "names": []
7
- }
@@ -1,8 +0,0 @@
1
- function cancelShapeCreationOnLongPress(editor, cancelPendingCreation) {
2
- if (!editor.getInstanceState().isCoarsePointer) return;
3
- cancelPendingCreation();
4
- }
5
- export {
6
- cancelShapeCreationOnLongPress
7
- };
8
- //# sourceMappingURL=cancelShapeCreationOnLongPress.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/lib/editor/tools/cancelShapeCreationOnLongPress.ts"],
4
- "sourcesContent": ["import type { Editor } from '../Editor'\n\n/**\n * Shared handler for a long-press in a discrete shape-creation tool's pointing\n * state (geo, note, line, text, arrow, frame). On a coarse pointer this cancels\n * any pending creation so the long-press leaves no shape behind (issue #8277).\n * It does not open a context menu \u2014 that is a select-tool surface, reached on\n * touch only from the select tool, and on desktop from a right-click (which the\n * editor routes through the select tool).\n *\n * Gated on `isCoarsePointer`: on a fine pointer (mouse) the long-press timer\n * powers the deliberate \"pause before drag to start a precise arrow\" gesture,\n * which we must not disturb. The bug only manifests on coarse pointers, because\n * that is also where the browser fires `contextmenu` at the long-press mark.\n *\n * The `cancelPendingCreation` callback is the tool's own cleanup \u2014 it knows\n * whether it needs to `bailToMark` a shape it created early or simply transition\n * back to idle. Continuous-gesture tools (draw, highlight, eraser, laser) are\n * excluded: their press is their own action, so they handle (or ignore) the\n * long-press themselves.\n *\n * @internal\n */\nexport function cancelShapeCreationOnLongPress(\n\teditor: Editor,\n\tcancelPendingCreation: () => void\n): void {\n\tif (!editor.getInstanceState().isCoarsePointer) return\n\n\tcancelPendingCreation()\n}\n"],
5
- "mappings": "AAuBO,SAAS,+BACf,QACA,uBACO;AACP,MAAI,CAAC,OAAO,iBAAiB,EAAE,gBAAiB;AAEhD,wBAAsB;AACvB;",
6
- "names": []
7
- }
@@ -1,31 +0,0 @@
1
- import type { Editor } from '../Editor'
2
-
3
- /**
4
- * Shared handler for a long-press in a discrete shape-creation tool's pointing
5
- * state (geo, note, line, text, arrow, frame). On a coarse pointer this cancels
6
- * any pending creation so the long-press leaves no shape behind (issue #8277).
7
- * It does not open a context menu — that is a select-tool surface, reached on
8
- * touch only from the select tool, and on desktop from a right-click (which the
9
- * editor routes through the select tool).
10
- *
11
- * Gated on `isCoarsePointer`: on a fine pointer (mouse) the long-press timer
12
- * powers the deliberate "pause before drag to start a precise arrow" gesture,
13
- * which we must not disturb. The bug only manifests on coarse pointers, because
14
- * that is also where the browser fires `contextmenu` at the long-press mark.
15
- *
16
- * The `cancelPendingCreation` callback is the tool's own cleanup — it knows
17
- * whether it needs to `bailToMark` a shape it created early or simply transition
18
- * back to idle. Continuous-gesture tools (draw, highlight, eraser, laser) are
19
- * excluded: their press is their own action, so they handle (or ignore) the
20
- * long-press themselves.
21
- *
22
- * @internal
23
- */
24
- export function cancelShapeCreationOnLongPress(
25
- editor: Editor,
26
- cancelPendingCreation: () => void
27
- ): void {
28
- if (!editor.getInstanceState().isCoarsePointer) return
29
-
30
- cancelPendingCreation()
31
- }