@tldraw/editor 5.1.0-next.d7c83ba698ae → 5.1.0
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-cjs/index.d.ts +19 -2
- package/dist-cjs/index.js +1 -1
- package/dist-cjs/lib/editor/Editor.js +3 -5
- package/dist-cjs/lib/editor/Editor.js.map +2 -2
- package/dist-cjs/lib/editor/derivations/notVisibleShapes.js +23 -21
- package/dist-cjs/lib/editor/derivations/notVisibleShapes.js.map +2 -2
- package/dist-cjs/lib/editor/managers/CollaboratorsManager/CollaboratorsManager.js +27 -8
- package/dist-cjs/lib/editor/managers/CollaboratorsManager/CollaboratorsManager.js.map +2 -2
- package/dist-cjs/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.js +4 -2
- package/dist-cjs/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.js.map +2 -2
- package/dist-cjs/lib/editor/managers/FocusManager/FocusManager.js +2 -2
- package/dist-cjs/lib/editor/managers/FocusManager/FocusManager.js.map +2 -2
- package/dist-cjs/lib/editor/managers/FontManager/FontManager.js +8 -0
- package/dist-cjs/lib/editor/managers/FontManager/FontManager.js.map +2 -2
- package/dist-cjs/lib/editor/managers/InputsManager/InputsManager.js +7 -1
- package/dist-cjs/lib/editor/managers/InputsManager/InputsManager.js.map +2 -2
- package/dist-cjs/lib/editor/managers/SpatialIndexManager/RBushIndex.js +13 -15
- package/dist-cjs/lib/editor/managers/SpatialIndexManager/RBushIndex.js.map +2 -2
- package/dist-cjs/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.js +43 -24
- package/dist-cjs/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.js.map +2 -2
- package/dist-cjs/lib/editor/overlays/OverlayManager.js +5 -0
- package/dist-cjs/lib/editor/overlays/OverlayManager.js.map +2 -2
- package/dist-cjs/lib/editor/overlays/OverlayUtil.js +5 -0
- package/dist-cjs/lib/editor/overlays/OverlayUtil.js.map +2 -2
- package/dist-cjs/lib/editor/shapes/group/GroupShapeUtil.js +1 -1
- package/dist-cjs/lib/editor/shapes/group/GroupShapeUtil.js.map +2 -2
- package/dist-cjs/lib/hooks/usePeerIds.js.map +2 -2
- package/dist-cjs/lib/options.js +1 -0
- package/dist-cjs/lib/options.js.map +2 -2
- package/dist-cjs/lib/utils/dom.js +1 -0
- package/dist-cjs/lib/utils/dom.js.map +2 -2
- package/dist-cjs/version.js +3 -3
- package/dist-cjs/version.js.map +1 -1
- package/dist-esm/index.d.mts +19 -2
- package/dist-esm/index.mjs +1 -1
- package/dist-esm/lib/editor/Editor.mjs +3 -5
- package/dist-esm/lib/editor/Editor.mjs.map +2 -2
- package/dist-esm/lib/editor/derivations/notVisibleShapes.mjs +23 -21
- package/dist-esm/lib/editor/derivations/notVisibleShapes.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/CollaboratorsManager/CollaboratorsManager.mjs +27 -11
- package/dist-esm/lib/editor/managers/CollaboratorsManager/CollaboratorsManager.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.mjs +4 -2
- package/dist-esm/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/FocusManager/FocusManager.mjs +2 -2
- package/dist-esm/lib/editor/managers/FocusManager/FocusManager.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/FontManager/FontManager.mjs +8 -0
- package/dist-esm/lib/editor/managers/FontManager/FontManager.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/InputsManager/InputsManager.mjs +7 -1
- package/dist-esm/lib/editor/managers/InputsManager/InputsManager.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/SpatialIndexManager/RBushIndex.mjs +13 -15
- package/dist-esm/lib/editor/managers/SpatialIndexManager/RBushIndex.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.mjs +43 -24
- package/dist-esm/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.mjs.map +2 -2
- package/dist-esm/lib/editor/overlays/OverlayManager.mjs +5 -0
- package/dist-esm/lib/editor/overlays/OverlayManager.mjs.map +2 -2
- package/dist-esm/lib/editor/overlays/OverlayUtil.mjs +5 -0
- package/dist-esm/lib/editor/overlays/OverlayUtil.mjs.map +2 -2
- package/dist-esm/lib/editor/shapes/group/GroupShapeUtil.mjs +1 -1
- package/dist-esm/lib/editor/shapes/group/GroupShapeUtil.mjs.map +2 -2
- package/dist-esm/lib/hooks/usePeerIds.mjs.map +2 -2
- package/dist-esm/lib/options.mjs +1 -0
- package/dist-esm/lib/options.mjs.map +2 -2
- package/dist-esm/lib/utils/dom.mjs +1 -0
- package/dist-esm/lib/utils/dom.mjs.map +2 -2
- package/dist-esm/version.mjs +3 -3
- package/dist-esm/version.mjs.map +1 -1
- package/package.json +7 -7
- package/src/lib/editor/Editor.ts +3 -5
- package/src/lib/editor/derivations/notVisibleShapes.ts +34 -26
- package/src/lib/editor/managers/CollaboratorsManager/CollaboratorsManager.test.ts +132 -0
- package/src/lib/editor/managers/CollaboratorsManager/CollaboratorsManager.ts +40 -12
- package/src/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.ts +12 -2
- package/src/lib/editor/managers/FocusManager/FocusManager.test.ts +7 -0
- package/src/lib/editor/managers/FocusManager/FocusManager.ts +2 -2
- package/src/lib/editor/managers/FontManager/FontManager.test.ts +33 -2
- package/src/lib/editor/managers/FontManager/FontManager.ts +20 -2
- package/src/lib/editor/managers/InputsManager/InputsManager.ts +11 -2
- package/src/lib/editor/managers/SpatialIndexManager/RBushIndex.ts +13 -14
- package/src/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.ts +67 -40
- package/src/lib/editor/overlays/OverlayManager.ts +6 -0
- package/src/lib/editor/overlays/OverlayUtil.ts +5 -0
- package/src/lib/editor/shapes/group/GroupShapeUtil.tsx +1 -1
- package/src/lib/hooks/usePeerIds.ts +1 -0
- package/src/lib/options.ts +8 -0
- package/src/lib/utils/dom.ts +1 -0
- package/src/version.ts +3 -3
- package/dist-cjs/lib/utils/collaboratorState.js +0 -42
- package/dist-cjs/lib/utils/collaboratorState.js.map +0 -7
- package/dist-esm/lib/utils/collaboratorState.mjs +0 -22
- package/dist-esm/lib/utils/collaboratorState.mjs.map +0 -7
- package/src/lib/utils/collaboratorState.ts +0 -54
package/dist-esm/index.d.mts
CHANGED
|
@@ -780,6 +780,8 @@ export declare function clockwiseAngleDist(a0: number, a1: number): number;
|
|
|
780
780
|
export declare class CollaboratorsManager {
|
|
781
781
|
private readonly editor;
|
|
782
782
|
constructor(editor: Editor);
|
|
783
|
+
private _visibilityClockStarted;
|
|
784
|
+
private _startVisibilityClock;
|
|
783
785
|
/**
|
|
784
786
|
* Drives reactive re-evaluation of {@link CollaboratorsManager.getVisibleCollaborators}.
|
|
785
787
|
* Ticked on a fixed interval so callers don't need to manage their own activity timers.
|
|
@@ -1059,6 +1061,7 @@ export declare const defaultTldrawOptions: {
|
|
|
1059
1061
|
readonly onClipboardPasteRaw: undefined;
|
|
1060
1062
|
readonly quickZoomPreservesScreenBounds: true;
|
|
1061
1063
|
readonly rightClickPanning: true;
|
|
1064
|
+
readonly selectLockedShapes: false;
|
|
1062
1065
|
readonly snapThreshold: 8;
|
|
1063
1066
|
readonly spacebarPanning: true;
|
|
1064
1067
|
readonly temporaryAssetPreviewLifetimeMs: 180000;
|
|
@@ -4577,8 +4580,9 @@ export declare class FontManager {
|
|
|
4577
4580
|
constructor(editor: Editor, assetUrls?: {
|
|
4578
4581
|
[key: string]: string | undefined;
|
|
4579
4582
|
} | undefined);
|
|
4580
|
-
|
|
4581
|
-
private
|
|
4583
|
+
dispose(): void;
|
|
4584
|
+
private shapeFontFacesCache;
|
|
4585
|
+
private shapeFontLoadStateCache;
|
|
4582
4586
|
getShapeFontFaces(shape: TLShape | TLShapeId): TLFontFace[];
|
|
4583
4587
|
trackFontsForShape(shape: TLShape | TLShapeId): void;
|
|
4584
4588
|
loadRequiredFontsForCurrentPage(limit?: number): Promise<void>;
|
|
@@ -5551,6 +5555,7 @@ export declare class OverlayManager {
|
|
|
5551
5555
|
constructor(editor: Editor);
|
|
5552
5556
|
/* Excluded from this release type: _overlayUtils */
|
|
5553
5557
|
/* Excluded from this release type: registerUtil */
|
|
5558
|
+
dispose(): void;
|
|
5554
5559
|
/**
|
|
5555
5560
|
* Get an overlay util by type string, overlay instance, or by passing
|
|
5556
5561
|
* a util class as a generic parameter for type-safe lookup.
|
|
@@ -5722,6 +5727,10 @@ export declare abstract class OverlayUtil<T extends TLOverlay = TLOverlay> {
|
|
|
5722
5727
|
* at minimap scale (e.g. brushes, collaborator cursors) should opt in.
|
|
5723
5728
|
*/
|
|
5724
5729
|
renderMinimap(_ctx: CanvasRenderingContext2D, _overlays: T[], _zoom: number): void;
|
|
5730
|
+
/**
|
|
5731
|
+
* Clean up any resources held by this overlay util.
|
|
5732
|
+
*/
|
|
5733
|
+
dispose(): void;
|
|
5725
5734
|
}
|
|
5726
5735
|
|
|
5727
5736
|
/**
|
|
@@ -8022,6 +8031,13 @@ export declare interface TldrawOptions {
|
|
|
8022
8031
|
* The distance (in screen pixels) at which shapes snap to guides and other shapes.
|
|
8023
8032
|
*/
|
|
8024
8033
|
readonly snapThreshold: number;
|
|
8034
|
+
/**
|
|
8035
|
+
* Whether locked shapes can be selected with a left click. When false (default), left-clicking
|
|
8036
|
+
* a locked shape is treated as a click on the canvas — only right-click selects it. When true,
|
|
8037
|
+
* locked shapes can be selected via left click and included in brush and scribble selections,
|
|
8038
|
+
* but the editor's lock guards still prevent moving, resizing, editing, or deleting them.
|
|
8039
|
+
*/
|
|
8040
|
+
readonly selectLockedShapes: boolean;
|
|
8025
8041
|
/**
|
|
8026
8042
|
* Options for the editor's camera. These are the initial camera options.
|
|
8027
8043
|
* Use {@link Editor.setCameraOptions} to update camera options at runtime.
|
|
@@ -9630,6 +9646,7 @@ export declare function usePassThroughWheelEvents(ref: RefObject<HTMLElement | n
|
|
|
9630
9646
|
|
|
9631
9647
|
/**
|
|
9632
9648
|
* Reactive list of peer user IDs for collaborators currently shown in the UI.
|
|
9649
|
+
* This list includes user ids who are not on the user's current page.
|
|
9633
9650
|
* Mirrors {@link Editor.getVisibleCollaborators} — peers fade out as they
|
|
9634
9651
|
* transition to idle/inactive, without requiring a manual re-render.
|
|
9635
9652
|
*
|
package/dist-esm/index.mjs
CHANGED
|
@@ -300,7 +300,7 @@ import { LocalIndexedDb, Table } from "./lib/utils/sync/LocalIndexedDb.mjs";
|
|
|
300
300
|
import { uniq } from "./lib/utils/uniq.mjs";
|
|
301
301
|
registerTldrawLibraryVersion(
|
|
302
302
|
"@tldraw/editor",
|
|
303
|
-
"5.1.0
|
|
303
|
+
"5.1.0",
|
|
304
304
|
"esm"
|
|
305
305
|
);
|
|
306
306
|
import { getColorValue } from "./lib/editor/managers/ThemeManager/defaultThemes.mjs";
|
|
@@ -192,6 +192,7 @@ class Editor extends EventEmitter {
|
|
|
192
192
|
this._setCameraState("idle");
|
|
193
193
|
});
|
|
194
194
|
this.fonts = new FontManager(this, fontAssetUrls);
|
|
195
|
+
this.disposables.add(() => this.fonts.dispose());
|
|
195
196
|
this.inputs = new InputsManager(this);
|
|
196
197
|
this.performance = new PerformanceManager(this);
|
|
197
198
|
this.disposables.add(() => this.performance.dispose());
|
|
@@ -257,6 +258,7 @@ class Editor extends EventEmitter {
|
|
|
257
258
|
}
|
|
258
259
|
this.scribbles = new ScribbleManager(this);
|
|
259
260
|
this.overlays = new OverlayManager(this);
|
|
261
|
+
this.disposables.add(() => this.overlays.dispose());
|
|
260
262
|
if (overlayUtilConstructors) {
|
|
261
263
|
for (const Util of overlayUtilConstructors) {
|
|
262
264
|
const util = new Util(this);
|
|
@@ -7525,11 +7527,7 @@ class Editor extends EventEmitter {
|
|
|
7525
7527
|
*/
|
|
7526
7528
|
blur({ blurContainer = true } = {}) {
|
|
7527
7529
|
if (!this.getIsFocused()) return this;
|
|
7528
|
-
|
|
7529
|
-
this.focusManager.blur();
|
|
7530
|
-
} else {
|
|
7531
|
-
this.complete();
|
|
7532
|
-
}
|
|
7530
|
+
this.focusManager.blur({ blurContainer });
|
|
7533
7531
|
this.updateInstanceState({ isFocused: false });
|
|
7534
7532
|
return this;
|
|
7535
7533
|
}
|