@tldraw/editor 3.13.0-canary.88076103433b → 3.13.0-canary.8e04030e54fe
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 +98 -83
- package/dist-cjs/index.js +22 -7
- package/dist-cjs/index.js.map +2 -2
- package/dist-cjs/lib/components/default-components/DefaultCanvas.js +5 -9
- package/dist-cjs/lib/components/default-components/DefaultCanvas.js.map +2 -2
- package/dist-cjs/lib/editor/Editor.js +7 -19
- package/dist-cjs/lib/editor/Editor.js.map +2 -2
- package/dist-cjs/lib/editor/managers/SnapManager/HandleSnaps.js.map +2 -2
- package/dist-cjs/lib/editor/shapes/ShapeUtil.js +1 -1
- package/dist-cjs/lib/editor/shapes/ShapeUtil.js.map +2 -2
- package/dist-cjs/lib/editor/shapes/shared/getPerfectDashProps.js.map +2 -2
- package/dist-cjs/lib/hooks/useEditorComponents.js +2 -1
- package/dist-cjs/lib/hooks/useEditorComponents.js.map +2 -2
- package/dist-cjs/lib/primitives/Box.js +0 -16
- package/dist-cjs/lib/primitives/Box.js.map +2 -2
- package/dist-cjs/lib/primitives/Mat.js +1 -1
- package/dist-cjs/lib/primitives/Mat.js.map +2 -2
- package/dist-cjs/lib/primitives/Vec.js +0 -20
- package/dist-cjs/lib/primitives/Vec.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Arc2d.js +2 -2
- package/dist-cjs/lib/primitives/geometry/Arc2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Circle2d.js +1 -1
- package/dist-cjs/lib/primitives/geometry/Circle2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/CubicBezier2d.js +1 -1
- package/dist-cjs/lib/primitives/geometry/CubicBezier2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/CubicSpline2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Edge2d.js +1 -1
- package/dist-cjs/lib/primitives/geometry/Edge2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Ellipse2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Geometry2d.js +20 -91
- package/dist-cjs/lib/primitives/geometry/Geometry2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Group2d.js +2 -55
- package/dist-cjs/lib/primitives/geometry/Group2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Point2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Polyline2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Stadium2d.js.map +2 -2
- package/dist-cjs/lib/utils/debug-flags.js +2 -5
- package/dist-cjs/lib/utils/debug-flags.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 +98 -83
- package/dist-esm/index.mjs +41 -9
- package/dist-esm/index.mjs.map +2 -2
- package/dist-esm/lib/components/default-components/DefaultCanvas.mjs +5 -9
- package/dist-esm/lib/components/default-components/DefaultCanvas.mjs.map +2 -2
- package/dist-esm/lib/editor/Editor.mjs +7 -19
- package/dist-esm/lib/editor/Editor.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/SnapManager/HandleSnaps.mjs.map +2 -2
- package/dist-esm/lib/editor/shapes/ShapeUtil.mjs +1 -1
- package/dist-esm/lib/editor/shapes/ShapeUtil.mjs.map +2 -2
- package/dist-esm/lib/editor/shapes/shared/getPerfectDashProps.mjs.map +2 -2
- package/dist-esm/lib/hooks/useEditorComponents.mjs +4 -1
- package/dist-esm/lib/hooks/useEditorComponents.mjs.map +2 -2
- package/dist-esm/lib/primitives/Box.mjs +0 -16
- package/dist-esm/lib/primitives/Box.mjs.map +2 -2
- package/dist-esm/lib/primitives/Mat.mjs +1 -1
- package/dist-esm/lib/primitives/Mat.mjs.map +2 -2
- package/dist-esm/lib/primitives/Vec.mjs +0 -20
- package/dist-esm/lib/primitives/Vec.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Arc2d.mjs +2 -2
- package/dist-esm/lib/primitives/geometry/Arc2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Circle2d.mjs +1 -1
- package/dist-esm/lib/primitives/geometry/Circle2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/CubicBezier2d.mjs +1 -1
- package/dist-esm/lib/primitives/geometry/CubicBezier2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/CubicSpline2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Edge2d.mjs +1 -1
- package/dist-esm/lib/primitives/geometry/Edge2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Ellipse2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Geometry2d.mjs +21 -92
- package/dist-esm/lib/primitives/geometry/Geometry2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Group2d.mjs +2 -55
- package/dist-esm/lib/primitives/geometry/Group2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Point2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Polyline2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Stadium2d.mjs.map +2 -2
- package/dist-esm/lib/utils/debug-flags.mjs +2 -5
- package/dist-esm/lib/utils/debug-flags.mjs.map +2 -2
- package/dist-esm/version.mjs +3 -3
- package/dist-esm/version.mjs.map +1 -1
- package/editor.css +4 -36
- package/package.json +7 -7
- package/src/index.ts +31 -16
- package/src/lib/components/default-components/DefaultCanvas.tsx +5 -9
- package/src/lib/editor/Editor.test.ts +1 -1
- package/src/lib/editor/Editor.ts +7 -19
- package/src/lib/editor/managers/SnapManager/HandleSnaps.ts +1 -0
- package/src/lib/editor/shapes/ShapeUtil.ts +2 -10
- package/src/lib/editor/shapes/shared/getPerfectDashProps.ts +9 -9
- package/src/lib/hooks/useEditorComponents.tsx +5 -2
- package/src/lib/primitives/Box.ts +0 -20
- package/src/lib/primitives/Mat.ts +4 -5
- package/src/lib/primitives/Vec.ts +0 -23
- package/src/lib/primitives/geometry/Arc2d.ts +5 -5
- package/src/lib/primitives/geometry/Circle2d.ts +4 -4
- package/src/lib/primitives/geometry/CubicBezier2d.ts +4 -4
- package/src/lib/primitives/geometry/CubicSpline2d.ts +3 -3
- package/src/lib/primitives/geometry/Edge2d.ts +3 -3
- package/src/lib/primitives/geometry/Ellipse2d.ts +3 -3
- package/src/lib/primitives/geometry/Geometry2d.ts +35 -123
- package/src/lib/primitives/geometry/Group2d.ts +7 -70
- package/src/lib/primitives/geometry/Point2d.ts +2 -2
- package/src/lib/primitives/geometry/Polyline2d.ts +3 -3
- package/src/lib/primitives/geometry/Stadium2d.ts +3 -3
- package/src/lib/test/currentToolIdMask.test.ts +1 -1
- package/src/lib/test/user.test.ts +1 -1
- package/src/lib/utils/debug-flags.ts +2 -7
- package/src/lib/utils/sync/LocalIndexedDb.test.ts +1 -1
- package/src/lib/utils/sync/TLLocalSyncClient.test.ts +1 -1
- package/src/version.ts +3 -3
- package/src/lib/primitives/geometry/Geometry2d.test.ts +0 -42
package/dist-esm/index.d.mts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
|
|
3
3
|
import { Atom } from '@tldraw/state';
|
|
4
|
+
import { atom } from '@tldraw/state';
|
|
4
5
|
import { BoxModel } from '@tldraw/tlschema';
|
|
5
6
|
import { ComponentType } from 'react';
|
|
6
7
|
import { Computed } from '@tldraw/state';
|
|
8
|
+
import { computed } from '@tldraw/state';
|
|
7
9
|
import { Dispatch } from 'react';
|
|
8
10
|
import { Editor as Editor_2 } from '@tiptap/core';
|
|
9
11
|
import { EditorProviderProps } from '@tiptap/react';
|
|
12
|
+
import { EffectScheduler } from '@tldraw/state';
|
|
13
|
+
import { EMPTY_ARRAY } from '@tldraw/state';
|
|
10
14
|
import EventEmitter from 'eventemitter3';
|
|
11
15
|
import { ExoticComponent } from 'react';
|
|
12
16
|
import { HistoryEntry } from '@tldraw/store';
|
|
@@ -19,6 +23,7 @@ import { NamedExoticComponent } from 'react';
|
|
|
19
23
|
import { Node as Node_2 } from '@tiptap/pm/model';
|
|
20
24
|
import { PerformanceTracker } from '@tldraw/utils';
|
|
21
25
|
import { PointerEventHandler } from 'react';
|
|
26
|
+
import { react } from '@tldraw/state';
|
|
22
27
|
import { default as React_2 } from 'react';
|
|
23
28
|
import * as React_3 from 'react';
|
|
24
29
|
import { ReactElement } from 'react';
|
|
@@ -77,8 +82,18 @@ import { TLStoreSnapshot } from '@tldraw/tlschema';
|
|
|
77
82
|
import { TLUnknownBinding } from '@tldraw/tlschema';
|
|
78
83
|
import { TLUnknownShape } from '@tldraw/tlschema';
|
|
79
84
|
import { TLVideoAsset } from '@tldraw/tlschema';
|
|
85
|
+
import { track } from '@tldraw/state-react';
|
|
86
|
+
import { transact } from '@tldraw/state';
|
|
87
|
+
import { transaction } from '@tldraw/state';
|
|
80
88
|
import { UnknownRecord } from '@tldraw/store';
|
|
89
|
+
import { useAtom } from '@tldraw/state-react';
|
|
90
|
+
import { useComputed } from '@tldraw/state-react';
|
|
91
|
+
import { useQuickReactor } from '@tldraw/state-react';
|
|
92
|
+
import { useReactor } from '@tldraw/state-react';
|
|
93
|
+
import { useStateTracking } from '@tldraw/state-react';
|
|
94
|
+
import { useValue } from '@tldraw/state-react';
|
|
81
95
|
import { VecModel } from '@tldraw/tlschema';
|
|
96
|
+
import { whyAmIRunning } from '@tldraw/state';
|
|
82
97
|
|
|
83
98
|
/* Excluded from this release type: activeElementShouldCaptureKeys */
|
|
84
99
|
|
|
@@ -121,8 +136,8 @@ export declare class Arc2d extends Geometry2d {
|
|
|
121
136
|
start: Vec;
|
|
122
137
|
sweepFlag: number;
|
|
123
138
|
});
|
|
124
|
-
nearestPoint(point:
|
|
125
|
-
hitTestLineSegment(A:
|
|
139
|
+
nearestPoint(point: Vec): Vec;
|
|
140
|
+
hitTestLineSegment(A: Vec, B: Vec): boolean;
|
|
126
141
|
getVertices(): Vec[];
|
|
127
142
|
getSvgPathData(first?: boolean): string;
|
|
128
143
|
getLength(): number;
|
|
@@ -138,6 +153,10 @@ export declare class Arc2d extends Geometry2d {
|
|
|
138
153
|
*/
|
|
139
154
|
export declare function areAnglesCompatible(a: number, b: number): boolean;
|
|
140
155
|
|
|
156
|
+
export { Atom }
|
|
157
|
+
|
|
158
|
+
export { atom }
|
|
159
|
+
|
|
141
160
|
/** @public */
|
|
142
161
|
export declare function average(A: VecLike, B: VecLike): string;
|
|
143
162
|
|
|
@@ -458,16 +477,12 @@ export declare class Box {
|
|
|
458
477
|
set point(val: Vec);
|
|
459
478
|
get minX(): number;
|
|
460
479
|
set minX(n: number);
|
|
461
|
-
get left(): number;
|
|
462
480
|
get midX(): number;
|
|
463
481
|
get maxX(): number;
|
|
464
|
-
get right(): number;
|
|
465
482
|
get minY(): number;
|
|
466
483
|
set minY(n: number);
|
|
467
|
-
get top(): number;
|
|
468
484
|
get midY(): number;
|
|
469
485
|
get maxY(): number;
|
|
470
|
-
get bottom(): number;
|
|
471
486
|
get width(): number;
|
|
472
487
|
set width(n: number);
|
|
473
488
|
get height(): number;
|
|
@@ -563,8 +578,8 @@ export declare class Circle2d extends Geometry2d {
|
|
|
563
578
|
});
|
|
564
579
|
getBounds(): Box;
|
|
565
580
|
getVertices(): Vec[];
|
|
566
|
-
nearestPoint(point:
|
|
567
|
-
hitTestLineSegment(A:
|
|
581
|
+
nearestPoint(point: Vec): Vec;
|
|
582
|
+
hitTestLineSegment(A: Vec, B: Vec, distance?: number): boolean;
|
|
568
583
|
getSvgPathData(): string;
|
|
569
584
|
}
|
|
570
585
|
|
|
@@ -641,6 +656,8 @@ export declare class ClickManager {
|
|
|
641
656
|
*/
|
|
642
657
|
export declare function clockwiseAngleDist(a0: number, a1: number): number;
|
|
643
658
|
|
|
659
|
+
export { computed }
|
|
660
|
+
|
|
644
661
|
/**
|
|
645
662
|
* @public
|
|
646
663
|
* @react
|
|
@@ -728,10 +745,10 @@ export declare class CubicBezier2d extends Polyline2d {
|
|
|
728
745
|
});
|
|
729
746
|
getVertices(): Vec[];
|
|
730
747
|
midPoint(): Vec;
|
|
731
|
-
nearestPoint(A:
|
|
748
|
+
nearestPoint(A: Vec): Vec;
|
|
732
749
|
getSvgPathData(first?: boolean): string;
|
|
733
750
|
static GetAtT(segment: CubicBezier2d, t: number): Vec;
|
|
734
|
-
getLength(
|
|
751
|
+
getLength(precision?: number): number;
|
|
735
752
|
}
|
|
736
753
|
|
|
737
754
|
/** @public */
|
|
@@ -744,8 +761,8 @@ export declare class CubicSpline2d extends Geometry2d {
|
|
|
744
761
|
get segments(): CubicBezier2d[];
|
|
745
762
|
getLength(): number;
|
|
746
763
|
getVertices(): Vec[];
|
|
747
|
-
nearestPoint(A:
|
|
748
|
-
hitTestLineSegment(A:
|
|
764
|
+
nearestPoint(A: Vec): Vec;
|
|
765
|
+
hitTestLineSegment(A: Vec, B: Vec): boolean;
|
|
749
766
|
getSvgPathData(): string;
|
|
750
767
|
}
|
|
751
768
|
|
|
@@ -939,8 +956,8 @@ export declare class Edge2d extends Geometry2d {
|
|
|
939
956
|
getLength(): number;
|
|
940
957
|
midPoint(): Vec;
|
|
941
958
|
getVertices(): Vec[];
|
|
942
|
-
nearestPoint(point:
|
|
943
|
-
hitTestLineSegment(A:
|
|
959
|
+
nearestPoint(point: Vec): Vec;
|
|
960
|
+
hitTestLineSegment(A: Vec, B: Vec, distance?: number): boolean;
|
|
944
961
|
getSvgPathData(first?: boolean): string;
|
|
945
962
|
}
|
|
946
963
|
|
|
@@ -3977,6 +3994,8 @@ export declare class Editor extends EventEmitter<TLEventMap> {
|
|
|
3977
3994
|
/** @public */
|
|
3978
3995
|
export declare const EditorContext: React_2.Context<Editor | null>;
|
|
3979
3996
|
|
|
3997
|
+
export { EffectScheduler }
|
|
3998
|
+
|
|
3980
3999
|
/** @public */
|
|
3981
4000
|
export declare class Ellipse2d extends Geometry2d {
|
|
3982
4001
|
config: Omit<Geometry2dOptions, 'isClosed'> & {
|
|
@@ -3992,13 +4011,15 @@ export declare class Ellipse2d extends Geometry2d {
|
|
|
3992
4011
|
_edges?: Edge2d[];
|
|
3993
4012
|
get edges(): Edge2d[];
|
|
3994
4013
|
getVertices(): any[];
|
|
3995
|
-
nearestPoint(A:
|
|
3996
|
-
hitTestLineSegment(A:
|
|
4014
|
+
nearestPoint(A: Vec): Vec;
|
|
4015
|
+
hitTestLineSegment(A: Vec, B: Vec): boolean;
|
|
3997
4016
|
getBounds(): Box;
|
|
3998
4017
|
getLength(): number;
|
|
3999
4018
|
getSvgPathData(first?: boolean): string;
|
|
4000
4019
|
}
|
|
4001
4020
|
|
|
4021
|
+
export { EMPTY_ARRAY }
|
|
4022
|
+
|
|
4002
4023
|
/** @public */
|
|
4003
4024
|
export declare class ErrorBoundary extends React_3.Component<React_3.PropsWithRef<React_3.PropsWithChildren<TLErrorBoundaryProps>>, {
|
|
4004
4025
|
error: Error | null;
|
|
@@ -4066,27 +4087,18 @@ export declare abstract class Geometry2d {
|
|
|
4066
4087
|
constructor(opts: Geometry2dOptions);
|
|
4067
4088
|
isExcludedByFilter(filters?: Geometry2dFilters): boolean;
|
|
4068
4089
|
abstract getVertices(filters: Geometry2dFilters): Vec[];
|
|
4069
|
-
abstract nearestPoint(point:
|
|
4070
|
-
hitTestPoint(point:
|
|
4071
|
-
distanceToPoint(point:
|
|
4072
|
-
distanceToLineSegment(A:
|
|
4073
|
-
hitTestLineSegment(A:
|
|
4090
|
+
abstract nearestPoint(point: Vec, _filters?: Geometry2dFilters): Vec;
|
|
4091
|
+
hitTestPoint(point: Vec, margin?: number, hitInside?: boolean, _filters?: Geometry2dFilters): boolean;
|
|
4092
|
+
distanceToPoint(point: Vec, hitInside?: boolean, filters?: Geometry2dFilters): number;
|
|
4093
|
+
distanceToLineSegment(A: Vec, B: Vec, filters?: Geometry2dFilters): number;
|
|
4094
|
+
hitTestLineSegment(A: Vec, B: Vec, distance?: number, filters?: Geometry2dFilters): boolean;
|
|
4074
4095
|
intersectLineSegment(A: VecLike, B: VecLike, _filters?: Geometry2dFilters): VecLike[];
|
|
4075
4096
|
intersectCircle(center: VecLike, radius: number, _filters?: Geometry2dFilters): VecLike[];
|
|
4076
4097
|
intersectPolygon(polygon: VecLike[], _filters?: Geometry2dFilters): VecLike[];
|
|
4077
4098
|
intersectPolyline(polyline: VecLike[], _filters?: Geometry2dFilters): VecLike[];
|
|
4078
|
-
/**
|
|
4079
|
-
* Find a point along the edge of the geometry that is a fraction `t` along the entire way round.
|
|
4080
|
-
*/
|
|
4081
|
-
interpolateAlongEdge(t: number, _filters?: Geometry2dFilters): Vec;
|
|
4082
|
-
/**
|
|
4083
|
-
* Take `point`, find the closest point to it on the edge of the geometry, and return how far
|
|
4084
|
-
* along the edge it is as a fraction of the total length.
|
|
4085
|
-
*/
|
|
4086
|
-
uninterpolateAlongEdge(point: VecLike, _filters?: Geometry2dFilters): number;
|
|
4087
4099
|
/** @deprecated Iterate the vertices instead. */
|
|
4088
|
-
nearestPointOnLineSegment(A:
|
|
4089
|
-
isPointInBounds(point:
|
|
4100
|
+
nearestPointOnLineSegment(A: Vec, B: Vec): Vec;
|
|
4101
|
+
isPointInBounds(point: Vec, margin?: number): boolean;
|
|
4090
4102
|
transform(transform: MatModel, opts?: TransformedGeometry2dOptions): Geometry2d;
|
|
4091
4103
|
private _vertices;
|
|
4092
4104
|
get vertices(): Vec[];
|
|
@@ -4100,7 +4112,7 @@ export declare abstract class Geometry2d {
|
|
|
4100
4112
|
toSimpleSvgPath(): string;
|
|
4101
4113
|
private _length?;
|
|
4102
4114
|
get length(): number;
|
|
4103
|
-
getLength(
|
|
4115
|
+
getLength(): number;
|
|
4104
4116
|
abstract getSvgPathData(first: boolean): string;
|
|
4105
4117
|
}
|
|
4106
4118
|
|
|
@@ -4168,15 +4180,15 @@ export declare function getFreshUserPreferences(): TLUserPreferences;
|
|
|
4168
4180
|
export declare function getIncrementedName(name: string, others: string[]): string;
|
|
4169
4181
|
|
|
4170
4182
|
/** @public */
|
|
4171
|
-
export declare function getPerfectDashProps(totalLength: number, strokeWidth: number, opts?: {
|
|
4172
|
-
closed
|
|
4173
|
-
end
|
|
4174
|
-
forceSolid
|
|
4175
|
-
lengthRatio
|
|
4176
|
-
snap
|
|
4177
|
-
start
|
|
4178
|
-
style
|
|
4179
|
-
}): {
|
|
4183
|
+
export declare function getPerfectDashProps(totalLength: number, strokeWidth: number, opts?: Partial<{
|
|
4184
|
+
closed: boolean;
|
|
4185
|
+
end: 'none' | 'outset' | 'skip';
|
|
4186
|
+
forceSolid: boolean;
|
|
4187
|
+
lengthRatio: number;
|
|
4188
|
+
snap: number;
|
|
4189
|
+
start: 'none' | 'outset' | 'skip';
|
|
4190
|
+
style: TLDefaultDashStyle;
|
|
4191
|
+
}>): {
|
|
4180
4192
|
strokeDasharray: string;
|
|
4181
4193
|
strokeDashoffset: string;
|
|
4182
4194
|
};
|
|
@@ -4263,20 +4275,18 @@ export declare class Group2d extends Geometry2d {
|
|
|
4263
4275
|
children: Geometry2d[];
|
|
4264
4276
|
});
|
|
4265
4277
|
getVertices(filters: Geometry2dFilters): Vec[];
|
|
4266
|
-
nearestPoint(point:
|
|
4267
|
-
distanceToPoint(point:
|
|
4268
|
-
hitTestPoint(point:
|
|
4269
|
-
hitTestLineSegment(A:
|
|
4278
|
+
nearestPoint(point: Vec, filters?: Geometry2dFilters): Vec;
|
|
4279
|
+
distanceToPoint(point: Vec, hitInside?: boolean, filters?: Geometry2dFilters): number;
|
|
4280
|
+
hitTestPoint(point: Vec, margin: number, hitInside: boolean, filters?: Geometry2dFilters): boolean;
|
|
4281
|
+
hitTestLineSegment(A: Vec, B: Vec, zoom: number, filters?: Geometry2dFilters): boolean;
|
|
4270
4282
|
intersectLineSegment(A: VecLike, B: VecLike, filters?: Geometry2dFilters): VecLike[];
|
|
4271
4283
|
intersectCircle(center: VecLike, radius: number, filters?: Geometry2dFilters): VecLike[];
|
|
4272
4284
|
intersectPolygon(polygon: VecLike[], filters?: Geometry2dFilters): VecLike[];
|
|
4273
4285
|
intersectPolyline(polyline: VecLike[], filters?: Geometry2dFilters): VecLike[];
|
|
4274
|
-
interpolateAlongEdge(t: number, filters?: Geometry2dFilters): Vec;
|
|
4275
|
-
uninterpolateAlongEdge(point: VecLike, filters?: Geometry2dFilters): number;
|
|
4276
4286
|
transform(transform: Mat): Geometry2d;
|
|
4277
4287
|
getArea(): number;
|
|
4278
4288
|
toSimpleSvgPath(): string;
|
|
4279
|
-
getLength(
|
|
4289
|
+
getLength(): number;
|
|
4280
4290
|
getSvgPathData(): string;
|
|
4281
4291
|
}
|
|
4282
4292
|
|
|
@@ -4581,8 +4591,8 @@ export declare class Mat {
|
|
|
4581
4591
|
static Identity(): Mat;
|
|
4582
4592
|
static Translate(x: number, y: number): Mat;
|
|
4583
4593
|
static Rotate(r: number, cx?: number, cy?: number): Mat;
|
|
4584
|
-
static Scale(x: number, y: number):
|
|
4585
|
-
static Scale(x: number, y: number, cx: number, cy: number):
|
|
4594
|
+
static Scale(x: number, y: number): MatModel;
|
|
4595
|
+
static Scale(x: number, y: number, cx: number, cy: number): MatModel;
|
|
4586
4596
|
static Multiply(m1: MatModel, m2: MatModel): MatModel;
|
|
4587
4597
|
static Inverse(m: MatModel): MatModel;
|
|
4588
4598
|
static Absolute(m: MatLike): MatModel;
|
|
@@ -4677,7 +4687,7 @@ export declare class Point2d extends Geometry2d {
|
|
|
4677
4687
|
});
|
|
4678
4688
|
getVertices(): Vec[];
|
|
4679
4689
|
nearestPoint(): Vec;
|
|
4680
|
-
hitTestLineSegment(A:
|
|
4690
|
+
hitTestLineSegment(A: Vec, B: Vec, margin: number): boolean;
|
|
4681
4691
|
getSvgPathData(): string;
|
|
4682
4692
|
}
|
|
4683
4693
|
|
|
@@ -4722,8 +4732,8 @@ export declare class Polyline2d extends Geometry2d {
|
|
|
4722
4732
|
get segments(): Edge2d[];
|
|
4723
4733
|
getLength(): number;
|
|
4724
4734
|
getVertices(): Vec[];
|
|
4725
|
-
nearestPoint(A:
|
|
4726
|
-
hitTestLineSegment(A:
|
|
4735
|
+
nearestPoint(A: Vec): Vec;
|
|
4736
|
+
hitTestLineSegment(A: Vec, B: Vec, distance?: number): boolean;
|
|
4727
4737
|
getSvgPathData(): string;
|
|
4728
4738
|
}
|
|
4729
4739
|
|
|
@@ -4764,6 +4774,8 @@ export declare function radiansToDegrees(r: number): number;
|
|
|
4764
4774
|
*/
|
|
4765
4775
|
export declare function rangeIntersection(a0: number, a1: number, b0: number, b1: number): [number, number] | null;
|
|
4766
4776
|
|
|
4777
|
+
export { react }
|
|
4778
|
+
|
|
4767
4779
|
/**
|
|
4768
4780
|
* A map of {@link @tldraw/tlschema#StyleProp | StyleProps} to their {@link SharedStyle} values. See
|
|
4769
4781
|
* {@link Editor.getSharedStyles}.
|
|
@@ -5087,7 +5099,7 @@ export declare abstract class ShapeUtil<Shape extends TLUnknownShape = TLUnknown
|
|
|
5087
5099
|
*
|
|
5088
5100
|
* @public
|
|
5089
5101
|
*/
|
|
5090
|
-
|
|
5102
|
+
canEditInReadOnly(_shape: Shape): boolean;
|
|
5091
5103
|
/**
|
|
5092
5104
|
* Whether the shape can be cropped.
|
|
5093
5105
|
*
|
|
@@ -5438,14 +5450,7 @@ export declare abstract class ShapeUtil<Shape extends TLUnknownShape = TLUnknown
|
|
|
5438
5450
|
*/
|
|
5439
5451
|
onClick?(shape: Shape): TLShapePartial<Shape> | void;
|
|
5440
5452
|
/**
|
|
5441
|
-
* A callback called when a shape
|
|
5442
|
-
*
|
|
5443
|
-
* @param shape - The shape.
|
|
5444
|
-
* @public
|
|
5445
|
-
*/
|
|
5446
|
-
onEditStart?(shape: Shape): void;
|
|
5447
|
-
/**
|
|
5448
|
-
* A callback called when a shape finishes being edited.
|
|
5453
|
+
* A callback called when a shape finishes being editing.
|
|
5449
5454
|
*
|
|
5450
5455
|
* @param shape - The shape.
|
|
5451
5456
|
* @public
|
|
@@ -5484,6 +5489,8 @@ export declare function shortAngleDist(a0: number, a1: number): number;
|
|
|
5484
5489
|
/** @public */
|
|
5485
5490
|
export declare const SIDES: readonly ["top", "right", "bottom", "left"];
|
|
5486
5491
|
|
|
5492
|
+
export { Signal }
|
|
5493
|
+
|
|
5487
5494
|
/** @public */
|
|
5488
5495
|
export declare const SIN: (x: number) => number;
|
|
5489
5496
|
|
|
@@ -5535,8 +5542,8 @@ export declare class Stadium2d extends Geometry2d {
|
|
|
5535
5542
|
height: number;
|
|
5536
5543
|
width: number;
|
|
5537
5544
|
});
|
|
5538
|
-
nearestPoint(A:
|
|
5539
|
-
hitTestLineSegment(A:
|
|
5545
|
+
nearestPoint(A: Vec): Vec;
|
|
5546
|
+
hitTestLineSegment(A: Vec, B: Vec): boolean;
|
|
5540
5547
|
getVertices(): Vec[];
|
|
5541
5548
|
getBounds(): Box;
|
|
5542
5549
|
getLength(): number;
|
|
@@ -7417,6 +7424,12 @@ export declare function toFixed(v: number): number;
|
|
|
7417
7424
|
*/
|
|
7418
7425
|
export declare function toPrecision(n: number, precision?: number): number;
|
|
7419
7426
|
|
|
7427
|
+
export { track }
|
|
7428
|
+
|
|
7429
|
+
export { transact }
|
|
7430
|
+
|
|
7431
|
+
export { transaction }
|
|
7432
|
+
|
|
7420
7433
|
/** @public */
|
|
7421
7434
|
export declare class TransformedGeometry2d extends Geometry2d {
|
|
7422
7435
|
private readonly geometry;
|
|
@@ -7425,13 +7438,13 @@ export declare class TransformedGeometry2d extends Geometry2d {
|
|
|
7425
7438
|
private readonly decomposed;
|
|
7426
7439
|
constructor(geometry: Geometry2d, matrix: MatModel, opts?: TransformedGeometry2dOptions);
|
|
7427
7440
|
getVertices(filters: Geometry2dFilters): Vec[];
|
|
7428
|
-
nearestPoint(point:
|
|
7429
|
-
hitTestPoint(point:
|
|
7430
|
-
distanceToPoint(point:
|
|
7431
|
-
distanceToLineSegment(A:
|
|
7432
|
-
hitTestLineSegment(A:
|
|
7433
|
-
intersectLineSegment(A: VecLike, B: VecLike, filters?: Geometry2dFilters):
|
|
7434
|
-
intersectCircle(center: VecLike, radius: number, filters?: Geometry2dFilters):
|
|
7441
|
+
nearestPoint(point: Vec, filters?: Geometry2dFilters): Vec;
|
|
7442
|
+
hitTestPoint(point: Vec, margin?: number, hitInside?: boolean, filters?: Geometry2dFilters): boolean;
|
|
7443
|
+
distanceToPoint(point: Vec, hitInside?: boolean, filters?: Geometry2dFilters): number;
|
|
7444
|
+
distanceToLineSegment(A: Vec, B: Vec, filters?: Geometry2dFilters): number;
|
|
7445
|
+
hitTestLineSegment(A: Vec, B: Vec, distance?: number, filters?: Geometry2dFilters): boolean;
|
|
7446
|
+
intersectLineSegment(A: VecLike, B: VecLike, filters?: Geometry2dFilters): VecLike[];
|
|
7447
|
+
intersectCircle(center: VecLike, radius: number, filters?: Geometry2dFilters): VecLike[];
|
|
7435
7448
|
intersectPolygon(polygon: VecLike[], filters?: Geometry2dFilters): VecLike[];
|
|
7436
7449
|
intersectPolyline(polyline: VecLike[], filters?: Geometry2dFilters): VecLike[];
|
|
7437
7450
|
transform(transform: MatModel, opts?: TransformedGeometry2dOptions): Geometry2d;
|
|
@@ -7458,6 +7471,10 @@ export declare function uniq<T>(array: {
|
|
|
7458
7471
|
readonly length: number;
|
|
7459
7472
|
} | null | undefined): T[];
|
|
7460
7473
|
|
|
7474
|
+
export { useAtom }
|
|
7475
|
+
|
|
7476
|
+
export { useComputed }
|
|
7477
|
+
|
|
7461
7478
|
/** @public */
|
|
7462
7479
|
export declare function useContainer(): HTMLElement;
|
|
7463
7480
|
|
|
@@ -7527,9 +7544,12 @@ export declare function usePeerIds(): string[];
|
|
|
7527
7544
|
*/
|
|
7528
7545
|
export declare function usePresence(userId: string): null | TLInstancePresence;
|
|
7529
7546
|
|
|
7547
|
+
export { useQuickReactor }
|
|
7548
|
+
|
|
7530
7549
|
/* Excluded from this release type: USER_COLORS */
|
|
7531
7550
|
|
|
7532
7551
|
/* Excluded from this release type: useReactiveEvent */
|
|
7552
|
+
export { useReactor }
|
|
7533
7553
|
|
|
7534
7554
|
/* Excluded from this release type: useRefState */
|
|
7535
7555
|
|
|
@@ -7592,6 +7612,8 @@ export declare function useSelectionEvents(handle: TLSelectionHandle): {
|
|
|
7592
7612
|
*/
|
|
7593
7613
|
export declare function useSharedSafeId(id: string): SafeId;
|
|
7594
7614
|
|
|
7615
|
+
export { useStateTracking }
|
|
7616
|
+
|
|
7595
7617
|
/**
|
|
7596
7618
|
* Returns the current SVG export context. Returns null if the component isn't being rendered for an
|
|
7597
7619
|
* SVG export.
|
|
@@ -7625,6 +7647,8 @@ export declare function useTransform(ref: React.RefObject<HTMLElement | SVGEleme
|
|
|
7625
7647
|
*/
|
|
7626
7648
|
export declare function useUniqueSafeId(suffix?: string): SafeId;
|
|
7627
7649
|
|
|
7650
|
+
export { useValue }
|
|
7651
|
+
|
|
7628
7652
|
/** @public */
|
|
7629
7653
|
export declare function useViewportHeight(): number;
|
|
7630
7654
|
|
|
@@ -7696,7 +7720,6 @@ export declare class Vec {
|
|
|
7696
7720
|
static Per(A: VecLike): Vec;
|
|
7697
7721
|
static Abs(A: VecLike): Vec;
|
|
7698
7722
|
static Dist(A: VecLike, B: VecLike): number;
|
|
7699
|
-
static ManhattanDist(A: VecLike, B: VecLike): number;
|
|
7700
7723
|
static DistMin(A: VecLike, B: VecLike, n: number): boolean;
|
|
7701
7724
|
static Dist2(A: VecLike, B: VecLike): number;
|
|
7702
7725
|
/**
|
|
@@ -7744,15 +7767,7 @@ export declare class Vec {
|
|
|
7744
7767
|
static Cast(A: VecLike): Vec;
|
|
7745
7768
|
static Slope(A: VecLike, B: VecLike): number;
|
|
7746
7769
|
static IsNaN(A: VecLike): boolean;
|
|
7747
|
-
/**
|
|
7748
|
-
* Get the angle from position A to position B.
|
|
7749
|
-
*/
|
|
7750
7770
|
static Angle(A: VecLike, B: VecLike): number;
|
|
7751
|
-
/**
|
|
7752
|
-
* Get the angle between vector A and vector B. This will return the smallest angle between the
|
|
7753
|
-
* two vectors, between -π and π. The sign indicates direction of angle.
|
|
7754
|
-
*/
|
|
7755
|
-
static AngleBetween(A: VecLike, B: VecLike): number;
|
|
7756
7771
|
/**
|
|
7757
7772
|
* Linearly interpolate between two points.
|
|
7758
7773
|
* @param A - The first point.
|
|
@@ -7796,9 +7811,9 @@ export declare class Vec {
|
|
|
7796
7811
|
/** @public */
|
|
7797
7812
|
export declare type VecLike = Vec | VecModel;
|
|
7798
7813
|
|
|
7814
|
+
export { whyAmIRunning }
|
|
7815
|
+
|
|
7799
7816
|
|
|
7800
|
-
export * from "@tldraw/state";
|
|
7801
|
-
export * from "@tldraw/state-react";
|
|
7802
7817
|
export * from "@tldraw/store";
|
|
7803
7818
|
export * from "@tldraw/tlschema";
|
|
7804
7819
|
export * from "@tldraw/utils";
|
package/dist-esm/index.mjs
CHANGED
|
@@ -4,8 +4,30 @@ import "core-js/stable/array/flat-map.js";
|
|
|
4
4
|
import "core-js/stable/array/flat.js";
|
|
5
5
|
import "core-js/stable/string/at.js";
|
|
6
6
|
import "core-js/stable/string/replace-all.js";
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
import {
|
|
8
|
+
EMPTY_ARRAY,
|
|
9
|
+
EffectScheduler,
|
|
10
|
+
atom,
|
|
11
|
+
computed,
|
|
12
|
+
react,
|
|
13
|
+
transact,
|
|
14
|
+
transaction,
|
|
15
|
+
whyAmIRunning
|
|
16
|
+
} from "@tldraw/state";
|
|
17
|
+
import {
|
|
18
|
+
track,
|
|
19
|
+
useAtom,
|
|
20
|
+
useComputed,
|
|
21
|
+
useQuickReactor,
|
|
22
|
+
useReactor,
|
|
23
|
+
useStateTracking,
|
|
24
|
+
useValue
|
|
25
|
+
} from "@tldraw/state-react";
|
|
26
|
+
import { resizeScaled } from "./lib/editor/shapes/shared/resizeScaled.mjs";
|
|
27
|
+
import {
|
|
28
|
+
getFontsFromRichText
|
|
29
|
+
} from "./lib/utils/richText.mjs";
|
|
30
|
+
import { LocalIndexedDb, Table } from "./lib/utils/sync/LocalIndexedDb.mjs";
|
|
9
31
|
export * from "@tldraw/store";
|
|
10
32
|
export * from "@tldraw/tlschema";
|
|
11
33
|
export * from "@tldraw/utils";
|
|
@@ -119,7 +141,6 @@ import {
|
|
|
119
141
|
import { GroupShapeUtil } from "./lib/editor/shapes/group/GroupShapeUtil.mjs";
|
|
120
142
|
import { getPerfectDashProps } from "./lib/editor/shapes/shared/getPerfectDashProps.mjs";
|
|
121
143
|
import { resizeBox } from "./lib/editor/shapes/shared/resizeBox.mjs";
|
|
122
|
-
import { resizeScaled } from "./lib/editor/shapes/shared/resizeScaled.mjs";
|
|
123
144
|
import { BaseBoxShapeTool } from "./lib/editor/tools/BaseBoxShapeTool/BaseBoxShapeTool.mjs";
|
|
124
145
|
import { maybeSnapToGrid } from "./lib/editor/tools/BaseBoxShapeTool/children/Pointing.mjs";
|
|
125
146
|
import { StateNode } from "./lib/editor/tools/StateNode.mjs";
|
|
@@ -269,15 +290,11 @@ import { hardResetEditor } from "./lib/utils/hardResetEditor.mjs";
|
|
|
269
290
|
import { isAccelKey } from "./lib/utils/keyboard.mjs";
|
|
270
291
|
import { normalizeWheel } from "./lib/utils/normalizeWheel.mjs";
|
|
271
292
|
import { refreshPage } from "./lib/utils/refreshPage.mjs";
|
|
272
|
-
import {
|
|
273
|
-
getFontsFromRichText
|
|
274
|
-
} from "./lib/utils/richText.mjs";
|
|
275
293
|
import {
|
|
276
294
|
applyRotationToSnapshotShapes,
|
|
277
295
|
getRotationSnapshot
|
|
278
296
|
} from "./lib/utils/rotation.mjs";
|
|
279
297
|
import { runtime, setRuntimeOverrides } from "./lib/utils/runtime.mjs";
|
|
280
|
-
import { LocalIndexedDb, Table } from "./lib/utils/sync/LocalIndexedDb.mjs";
|
|
281
298
|
import { hardReset } from "./lib/utils/sync/hardReset.mjs";
|
|
282
299
|
import { uniq } from "./lib/utils/uniq.mjs";
|
|
283
300
|
import { openWindow } from "./lib/utils/window-open.mjs";
|
|
@@ -286,7 +303,7 @@ function debugEnableLicensing() {
|
|
|
286
303
|
}
|
|
287
304
|
registerTldrawLibraryVersion(
|
|
288
305
|
"@tldraw/editor",
|
|
289
|
-
"3.13.0-canary.
|
|
306
|
+
"3.13.0-canary.8e04030e54fe",
|
|
290
307
|
"esm"
|
|
291
308
|
);
|
|
292
309
|
export {
|
|
@@ -321,11 +338,13 @@ export {
|
|
|
321
338
|
DefaultSpinner,
|
|
322
339
|
DefaultSvgDefs,
|
|
323
340
|
EASINGS,
|
|
341
|
+
EMPTY_ARRAY,
|
|
324
342
|
EVENT_NAME_MAP,
|
|
325
343
|
Edge2d,
|
|
326
344
|
EdgeScrollManager,
|
|
327
345
|
Editor,
|
|
328
346
|
EditorContext,
|
|
347
|
+
EffectScheduler,
|
|
329
348
|
Ellipse2d,
|
|
330
349
|
ErrorBoundary,
|
|
331
350
|
ErrorScreen,
|
|
@@ -374,6 +393,7 @@ export {
|
|
|
374
393
|
applyRotationToSnapshotShapes,
|
|
375
394
|
approximately,
|
|
376
395
|
areAnglesCompatible,
|
|
396
|
+
atom,
|
|
377
397
|
average,
|
|
378
398
|
canonicalizeRotation,
|
|
379
399
|
centerOfCircleFromThreePoints,
|
|
@@ -381,6 +401,7 @@ export {
|
|
|
381
401
|
clampRadians,
|
|
382
402
|
clampToBrowserMaxCanvasSize,
|
|
383
403
|
clockwiseAngleDist,
|
|
404
|
+
computed,
|
|
384
405
|
coreShapes,
|
|
385
406
|
counterClockwiseAngleDist,
|
|
386
407
|
createDeepLinkString,
|
|
@@ -443,6 +464,7 @@ export {
|
|
|
443
464
|
preventDefault,
|
|
444
465
|
radiansToDegrees,
|
|
445
466
|
rangeIntersection,
|
|
467
|
+
react,
|
|
446
468
|
refreshPage,
|
|
447
469
|
releasePointerCapture,
|
|
448
470
|
resizeBox,
|
|
@@ -463,7 +485,12 @@ export {
|
|
|
463
485
|
toDomPrecision,
|
|
464
486
|
toFixed,
|
|
465
487
|
toPrecision,
|
|
488
|
+
track,
|
|
489
|
+
transact,
|
|
490
|
+
transaction,
|
|
466
491
|
uniq,
|
|
492
|
+
useAtom,
|
|
493
|
+
useComputed,
|
|
467
494
|
useContainer,
|
|
468
495
|
useContainerIfExists,
|
|
469
496
|
useDelaySvgExport,
|
|
@@ -481,19 +508,24 @@ export {
|
|
|
481
508
|
usePassThroughWheelEvents,
|
|
482
509
|
usePeerIds,
|
|
483
510
|
usePresence,
|
|
511
|
+
useQuickReactor,
|
|
484
512
|
useReactiveEvent,
|
|
513
|
+
useReactor,
|
|
485
514
|
useRefState,
|
|
486
515
|
useSelectionEvents,
|
|
487
516
|
useShallowArrayIdentity,
|
|
488
517
|
useShallowObjectIdentity,
|
|
489
518
|
useSharedSafeId,
|
|
519
|
+
useStateTracking,
|
|
490
520
|
useSvgExportContext,
|
|
491
521
|
useTLSchemaFromUtils,
|
|
492
522
|
useTLStore,
|
|
493
523
|
useTldrawUser,
|
|
494
524
|
useTransform,
|
|
495
525
|
useUniqueSafeId,
|
|
526
|
+
useValue,
|
|
496
527
|
useViewportHeight,
|
|
497
|
-
userTypeValidator
|
|
528
|
+
userTypeValidator,
|
|
529
|
+
whyAmIRunning
|
|
498
530
|
};
|
|
499
531
|
//# sourceMappingURL=index.mjs.map
|