@tldraw/editor 5.2.0-canary.7e69fa3c70ec → 5.2.0-canary.c61eb676972d
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 +4 -7
- package/dist-cjs/index.js +1 -1
- package/dist-cjs/lib/editor/Editor.js +11 -10
- package/dist-cjs/lib/editor/Editor.js.map +3 -3
- package/dist-cjs/lib/editor/managers/ClickManager/ClickManager.js +8 -58
- package/dist-cjs/lib/editor/managers/ClickManager/ClickManager.js.map +2 -2
- package/dist-cjs/lib/editor/managers/FocusManager/FocusManager.js +1 -2
- package/dist-cjs/lib/editor/managers/FocusManager/FocusManager.js.map +2 -2
- package/dist-cjs/lib/editor/tools/StateNode.js.map +2 -2
- package/dist-cjs/lib/editor/types/event-types.js +0 -2
- package/dist-cjs/lib/editor/types/event-types.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 +4 -7
- package/dist-esm/index.mjs +1 -1
- package/dist-esm/lib/editor/Editor.mjs +11 -10
- package/dist-esm/lib/editor/Editor.mjs.map +3 -3
- package/dist-esm/lib/editor/managers/ClickManager/ClickManager.mjs +8 -58
- package/dist-esm/lib/editor/managers/ClickManager/ClickManager.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/FocusManager/FocusManager.mjs +1 -2
- package/dist-esm/lib/editor/managers/FocusManager/FocusManager.mjs.map +2 -2
- package/dist-esm/lib/editor/tools/StateNode.mjs.map +2 -2
- package/dist-esm/lib/editor/types/event-types.mjs +0 -2
- package/dist-esm/lib/editor/types/event-types.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 +20 -14
- package/src/lib/editor/managers/ClickManager/ClickManager.test.ts +54 -74
- package/src/lib/editor/managers/ClickManager/ClickManager.ts +15 -65
- package/src/lib/editor/managers/FocusManager/FocusManager.test.ts +4 -4
- package/src/lib/editor/managers/FocusManager/FocusManager.ts +1 -2
- package/src/lib/editor/tools/StateNode.ts +0 -2
- package/src/lib/editor/types/event-types.ts +2 -6
- package/src/version.ts +3 -3
package/dist-cjs/index.d.ts
CHANGED
|
@@ -746,6 +746,7 @@ export declare class ClickManager {
|
|
|
746
746
|
private _clickTimeout?;
|
|
747
747
|
private _clickScreenPoint?;
|
|
748
748
|
private _previousScreenPoint?;
|
|
749
|
+
private _isPressingWhilePending;
|
|
749
750
|
_getClickTimeout(state: TLClickState, id?: string): void;
|
|
750
751
|
/* Excluded from this release type: _clickState */
|
|
751
752
|
/**
|
|
@@ -7166,8 +7167,6 @@ export declare abstract class StateNode implements Partial<TLEventHandlers> {
|
|
|
7166
7167
|
onLongPress?(info: TLPointerEventInfo): void;
|
|
7167
7168
|
onPointerUp?(info: TLPointerEventInfo): void;
|
|
7168
7169
|
onDoubleClick?(info: TLClickEventInfo): void;
|
|
7169
|
-
onTripleClick?(info: TLClickEventInfo): void;
|
|
7170
|
-
onQuadrupleClick?(info: TLClickEventInfo): void;
|
|
7171
7170
|
onRightClick?(info: TLPointerEventInfo): void;
|
|
7172
7171
|
onMiddleClick?(info: TLPointerEventInfo): void;
|
|
7173
7172
|
onKeyDown?(info: TLKeyboardEventInfo): void;
|
|
@@ -7567,17 +7566,17 @@ export declare type TLClickEvent = (info: TLClickEventInfo) => void;
|
|
|
7567
7566
|
export declare type TLClickEventInfo = TLBaseEventInfo & {
|
|
7568
7567
|
button: number;
|
|
7569
7568
|
name: TLCLickEventName;
|
|
7570
|
-
phase: 'down' | 'settle' | 'up';
|
|
7569
|
+
phase: 'down' | 'settle-down' | 'settle-up' | 'up';
|
|
7571
7570
|
point: VecLike;
|
|
7572
7571
|
pointerId: number;
|
|
7573
7572
|
type: 'click';
|
|
7574
7573
|
} & TLPointerEventTarget;
|
|
7575
7574
|
|
|
7576
7575
|
/** @public */
|
|
7577
|
-
export declare type TLCLickEventName = 'double_click'
|
|
7576
|
+
export declare type TLCLickEventName = 'double_click';
|
|
7578
7577
|
|
|
7579
7578
|
/** @public */
|
|
7580
|
-
export declare type TLClickState = 'idle' | 'overflow' | 'pendingDouble' | 'pendingOverflow'
|
|
7579
|
+
export declare type TLClickState = 'idle' | 'overflow' | 'pendingDouble' | 'pendingOverflow';
|
|
7581
7580
|
|
|
7582
7581
|
/**
|
|
7583
7582
|
* Raw clipboard paste payload, before tldraw parses clipboard contents into {@link TLExternalContent}.
|
|
@@ -8357,8 +8356,6 @@ export declare interface TLEventHandlers {
|
|
|
8357
8356
|
onLongPress: TLPointerEvent;
|
|
8358
8357
|
onRightClick: TLPointerEvent;
|
|
8359
8358
|
onDoubleClick: TLClickEvent;
|
|
8360
|
-
onTripleClick: TLClickEvent;
|
|
8361
|
-
onQuadrupleClick: TLClickEvent;
|
|
8362
8359
|
onMiddleClick: TLPointerEvent;
|
|
8363
8360
|
onPointerUp: TLPointerEvent;
|
|
8364
8361
|
onKeyDown: TLKeyboardEvent;
|
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.2.0-canary.
|
|
383
|
+
"5.2.0-canary.c61eb676972d",
|
|
384
384
|
"cjs"
|
|
385
385
|
);
|
|
386
386
|
//# sourceMappingURL=index.js.map
|
|
@@ -2340,6 +2340,11 @@ class Editor extends import_eventemitter3.default {
|
|
|
2340
2340
|
getConstrainedCamera(point, opts) {
|
|
2341
2341
|
const currentCamera = this.getCamera();
|
|
2342
2342
|
let { x, y, z = currentCamera.z } = point;
|
|
2343
|
+
const preserveFocalPoint = (current, requested, rz, z2) => {
|
|
2344
|
+
const cz = currentCamera.z;
|
|
2345
|
+
if (rz === cz) return current;
|
|
2346
|
+
return current + (requested - current) * (1 / z2 - 1 / cz) / (1 / rz - 1 / cz);
|
|
2347
|
+
};
|
|
2343
2348
|
if (!opts?.force) {
|
|
2344
2349
|
const cameraOptions = this.getCameraOptions();
|
|
2345
2350
|
const zoomMin = cameraOptions.zoomSteps[0];
|
|
@@ -2359,14 +2364,10 @@ class Editor extends import_eventemitter3.default {
|
|
|
2359
2364
|
z = this.getInitialZoom();
|
|
2360
2365
|
}
|
|
2361
2366
|
if (z < minZ || z > maxZ) {
|
|
2362
|
-
const
|
|
2363
|
-
const cxA = -cx + vsb.w / cz / 2;
|
|
2364
|
-
const cyA = -cy + vsb.h / cz / 2;
|
|
2367
|
+
const rz = z;
|
|
2365
2368
|
z = (0, import_utils2.clamp)(z, minZ, maxZ);
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
x = cx + cxB - cxA;
|
|
2369
|
-
y = cy + cyB - cyA;
|
|
2369
|
+
x = preserveFocalPoint(currentCamera.x, x, rz, z);
|
|
2370
|
+
y = preserveFocalPoint(currentCamera.y, y, rz, z);
|
|
2370
2371
|
}
|
|
2371
2372
|
const minX = px / z - bounds.x;
|
|
2372
2373
|
const minY = py / z - bounds.y;
|
|
@@ -2435,10 +2436,10 @@ class Editor extends import_eventemitter3.default {
|
|
|
2435
2436
|
}
|
|
2436
2437
|
} else {
|
|
2437
2438
|
if (z > zoomMax || z < zoomMin) {
|
|
2438
|
-
const
|
|
2439
|
+
const rz = z;
|
|
2439
2440
|
z = (0, import_utils2.clamp)(z, zoomMin, zoomMax);
|
|
2440
|
-
x =
|
|
2441
|
-
y =
|
|
2441
|
+
x = preserveFocalPoint(currentCamera.x, x, rz, z);
|
|
2442
|
+
y = preserveFocalPoint(currentCamera.y, y, rz, z);
|
|
2442
2443
|
}
|
|
2443
2444
|
}
|
|
2444
2445
|
}
|