@tldraw/editor 5.1.0-canary.d49babc6b87f → 5.1.0-canary.dfdd9d3ed2e5
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 +31 -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 +2 -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 +31 -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 +2 -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 +20 -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-cjs/index.d.ts
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.
|
|
@@ -998,6 +1000,7 @@ export declare const DefaultSvgDefs: () => null;
|
|
|
998
1000
|
export declare const defaultTldrawOptions: {
|
|
999
1001
|
readonly actionShortcutsLocation: "swap";
|
|
1000
1002
|
readonly adjacentShapeMargin: 10;
|
|
1003
|
+
readonly allowVideoAutoplay: true;
|
|
1001
1004
|
readonly animationMediumMs: 320;
|
|
1002
1005
|
readonly camera: TLCameraOptions;
|
|
1003
1006
|
readonly cameraMovingTimeoutMs: 64;
|
|
@@ -1059,6 +1062,7 @@ export declare const defaultTldrawOptions: {
|
|
|
1059
1062
|
readonly onClipboardPasteRaw: undefined;
|
|
1060
1063
|
readonly quickZoomPreservesScreenBounds: true;
|
|
1061
1064
|
readonly rightClickPanning: true;
|
|
1065
|
+
readonly selectLockedShapes: false;
|
|
1062
1066
|
readonly snapThreshold: 8;
|
|
1063
1067
|
readonly spacebarPanning: true;
|
|
1064
1068
|
readonly temporaryAssetPreviewLifetimeMs: 180000;
|
|
@@ -4577,8 +4581,9 @@ export declare class FontManager {
|
|
|
4577
4581
|
constructor(editor: Editor, assetUrls?: {
|
|
4578
4582
|
[key: string]: string | undefined;
|
|
4579
4583
|
} | undefined);
|
|
4580
|
-
|
|
4581
|
-
private
|
|
4584
|
+
dispose(): void;
|
|
4585
|
+
private shapeFontFacesCache;
|
|
4586
|
+
private shapeFontLoadStateCache;
|
|
4582
4587
|
getShapeFontFaces(shape: TLShape | TLShapeId): TLFontFace[];
|
|
4583
4588
|
trackFontsForShape(shape: TLShape | TLShapeId): void;
|
|
4584
4589
|
loadRequiredFontsForCurrentPage(limit?: number): Promise<void>;
|
|
@@ -5551,6 +5556,7 @@ export declare class OverlayManager {
|
|
|
5551
5556
|
constructor(editor: Editor);
|
|
5552
5557
|
/* Excluded from this release type: _overlayUtils */
|
|
5553
5558
|
/* Excluded from this release type: registerUtil */
|
|
5559
|
+
dispose(): void;
|
|
5554
5560
|
/**
|
|
5555
5561
|
* Get an overlay util by type string, overlay instance, or by passing
|
|
5556
5562
|
* a util class as a generic parameter for type-safe lookup.
|
|
@@ -5722,6 +5728,10 @@ export declare abstract class OverlayUtil<T extends TLOverlay = TLOverlay> {
|
|
|
5722
5728
|
* at minimap scale (e.g. brushes, collaborator cursors) should opt in.
|
|
5723
5729
|
*/
|
|
5724
5730
|
renderMinimap(_ctx: CanvasRenderingContext2D, _overlays: T[], _zoom: number): void;
|
|
5731
|
+
/**
|
|
5732
|
+
* Clean up any resources held by this overlay util.
|
|
5733
|
+
*/
|
|
5734
|
+
dispose(): void;
|
|
5725
5735
|
}
|
|
5726
5736
|
|
|
5727
5737
|
/**
|
|
@@ -8022,6 +8032,13 @@ export declare interface TldrawOptions {
|
|
|
8022
8032
|
* The distance (in screen pixels) at which shapes snap to guides and other shapes.
|
|
8023
8033
|
*/
|
|
8024
8034
|
readonly snapThreshold: number;
|
|
8035
|
+
/**
|
|
8036
|
+
* Whether locked shapes can be selected with a left click. When false (default), left-clicking
|
|
8037
|
+
* a locked shape is treated as a click on the canvas — only right-click selects it. When true,
|
|
8038
|
+
* locked shapes can be selected via left click and included in brush and scribble selections,
|
|
8039
|
+
* but the editor's lock guards still prevent moving, resizing, editing, or deleting them.
|
|
8040
|
+
*/
|
|
8041
|
+
readonly selectLockedShapes: boolean;
|
|
8025
8042
|
/**
|
|
8026
8043
|
* Options for the editor's camera. These are the initial camera options.
|
|
8027
8044
|
* Use {@link Editor.setCameraOptions} to update camera options at runtime.
|
|
@@ -8053,6 +8070,17 @@ export declare interface TldrawOptions {
|
|
|
8053
8070
|
* viewport's page dimensions regardless of overview zoom changes.
|
|
8054
8071
|
*/
|
|
8055
8072
|
readonly quickZoomPreservesScreenBounds: boolean;
|
|
8073
|
+
/**
|
|
8074
|
+
* Whether video shapes are allowed to autoplay. When `true` (the default), each
|
|
8075
|
+
* video respects its own `shape.props.autoplay` value. When `false`, no video
|
|
8076
|
+
* autoplays regardless of its shape prop — useful for host apps that want to
|
|
8077
|
+
* disable autoplay across the board, including for pasted or restored shapes.
|
|
8078
|
+
*
|
|
8079
|
+
* This does not change the per-shape `autoplay` prop on new video shapes — that
|
|
8080
|
+
* default is controlled by `VideoShapeOptions.autoplay` on `VideoShapeUtil`. The
|
|
8081
|
+
* `prefers-reduced-motion` media query continues to suppress autoplay independently.
|
|
8082
|
+
*/
|
|
8083
|
+
readonly allowVideoAutoplay: boolean;
|
|
8056
8084
|
/**
|
|
8057
8085
|
* Called before content is written to the clipboard during a copy or cut operation.
|
|
8058
8086
|
* Receives the serialized content (shapes, bindings, assets) and can filter or transform
|
|
@@ -9630,6 +9658,7 @@ export declare function usePassThroughWheelEvents(ref: RefObject<HTMLElement | n
|
|
|
9630
9658
|
|
|
9631
9659
|
/**
|
|
9632
9660
|
* Reactive list of peer user IDs for collaborators currently shown in the UI.
|
|
9661
|
+
* This list includes user ids who are not on the user's current page.
|
|
9633
9662
|
* Mirrors {@link Editor.getVisibleCollaborators} — peers fade out as they
|
|
9634
9663
|
* transition to idle/inactive, without requiring a manual re-render.
|
|
9635
9664
|
*
|
package/dist-cjs/index.js
CHANGED
|
@@ -380,7 +380,7 @@ var import_uniq = require("./lib/utils/uniq");
|
|
|
380
380
|
var import_defaultThemes2 = require("./lib/editor/managers/ThemeManager/defaultThemes");
|
|
381
381
|
(0, import_utils.registerTldrawLibraryVersion)(
|
|
382
382
|
"@tldraw/editor",
|
|
383
|
-
"5.1.0-canary.
|
|
383
|
+
"5.1.0-canary.dfdd9d3ed2e5",
|
|
384
384
|
"cjs"
|
|
385
385
|
);
|
|
386
386
|
//# sourceMappingURL=index.js.map
|
|
@@ -159,6 +159,7 @@ class Editor extends import_eventemitter3.default {
|
|
|
159
159
|
this._setCameraState("idle");
|
|
160
160
|
});
|
|
161
161
|
this.fonts = new import_FontManager.FontManager(this, fontAssetUrls);
|
|
162
|
+
this.disposables.add(() => this.fonts.dispose());
|
|
162
163
|
this.inputs = new import_InputsManager.InputsManager(this);
|
|
163
164
|
this.performance = new import_PerformanceManager.PerformanceManager(this);
|
|
164
165
|
this.disposables.add(() => this.performance.dispose());
|
|
@@ -224,6 +225,7 @@ class Editor extends import_eventemitter3.default {
|
|
|
224
225
|
}
|
|
225
226
|
this.scribbles = new import_ScribbleManager.ScribbleManager(this);
|
|
226
227
|
this.overlays = new import_OverlayManager.OverlayManager(this);
|
|
228
|
+
this.disposables.add(() => this.overlays.dispose());
|
|
227
229
|
if (overlayUtilConstructors) {
|
|
228
230
|
for (const Util of overlayUtilConstructors) {
|
|
229
231
|
const util = new Util(this);
|
|
@@ -7492,11 +7494,7 @@ class Editor extends import_eventemitter3.default {
|
|
|
7492
7494
|
*/
|
|
7493
7495
|
blur({ blurContainer = true } = {}) {
|
|
7494
7496
|
if (!this.getIsFocused()) return this;
|
|
7495
|
-
|
|
7496
|
-
this.focusManager.blur();
|
|
7497
|
-
} else {
|
|
7498
|
-
this.complete();
|
|
7499
|
-
}
|
|
7497
|
+
this.focusManager.blur({ blurContainer });
|
|
7500
7498
|
this.updateInstanceState({ isFocused: false });
|
|
7501
7499
|
return this;
|
|
7502
7500
|
}
|