@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-cjs/index.d.ts
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-cjs/index.js
CHANGED
|
@@ -50,11 +50,13 @@ __export(index_exports, {
|
|
|
50
50
|
DefaultSpinner: () => import_DefaultSpinner.DefaultSpinner,
|
|
51
51
|
DefaultSvgDefs: () => import_DefaultSvgDefs.DefaultSvgDefs,
|
|
52
52
|
EASINGS: () => import_easings.EASINGS,
|
|
53
|
+
EMPTY_ARRAY: () => import_state.EMPTY_ARRAY,
|
|
53
54
|
EVENT_NAME_MAP: () => import_event_types.EVENT_NAME_MAP,
|
|
54
55
|
Edge2d: () => import_Edge2d.Edge2d,
|
|
55
56
|
EdgeScrollManager: () => import_EdgeScrollManager.EdgeScrollManager,
|
|
56
57
|
Editor: () => import_Editor.Editor,
|
|
57
58
|
EditorContext: () => import_useEditor.EditorContext,
|
|
59
|
+
EffectScheduler: () => import_state.EffectScheduler,
|
|
58
60
|
Ellipse2d: () => import_Ellipse2d.Ellipse2d,
|
|
59
61
|
ErrorBoundary: () => import_ErrorBoundary.ErrorBoundary,
|
|
60
62
|
ErrorScreen: () => import_TldrawEditor.ErrorScreen,
|
|
@@ -103,6 +105,7 @@ __export(index_exports, {
|
|
|
103
105
|
applyRotationToSnapshotShapes: () => import_rotation.applyRotationToSnapshotShapes,
|
|
104
106
|
approximately: () => import_utils2.approximately,
|
|
105
107
|
areAnglesCompatible: () => import_utils2.areAnglesCompatible,
|
|
108
|
+
atom: () => import_state.atom,
|
|
106
109
|
average: () => import_utils2.average,
|
|
107
110
|
canonicalizeRotation: () => import_utils2.canonicalizeRotation,
|
|
108
111
|
centerOfCircleFromThreePoints: () => import_utils2.centerOfCircleFromThreePoints,
|
|
@@ -110,6 +113,7 @@ __export(index_exports, {
|
|
|
110
113
|
clampRadians: () => import_utils2.clampRadians,
|
|
111
114
|
clampToBrowserMaxCanvasSize: () => import_browserCanvasMaxSize.clampToBrowserMaxCanvasSize,
|
|
112
115
|
clockwiseAngleDist: () => import_utils2.clockwiseAngleDist,
|
|
116
|
+
computed: () => import_state.computed,
|
|
113
117
|
coreShapes: () => import_defaultShapes.coreShapes,
|
|
114
118
|
counterClockwiseAngleDist: () => import_utils2.counterClockwiseAngleDist,
|
|
115
119
|
createDeepLinkString: () => import_deepLinks.createDeepLinkString,
|
|
@@ -172,6 +176,7 @@ __export(index_exports, {
|
|
|
172
176
|
preventDefault: () => import_dom.preventDefault,
|
|
173
177
|
radiansToDegrees: () => import_utils2.radiansToDegrees,
|
|
174
178
|
rangeIntersection: () => import_utils2.rangeIntersection,
|
|
179
|
+
react: () => import_state.react,
|
|
175
180
|
refreshPage: () => import_refreshPage.refreshPage,
|
|
176
181
|
releasePointerCapture: () => import_dom.releasePointerCapture,
|
|
177
182
|
resizeBox: () => import_resizeBox.resizeBox,
|
|
@@ -192,7 +197,12 @@ __export(index_exports, {
|
|
|
192
197
|
toDomPrecision: () => import_utils2.toDomPrecision,
|
|
193
198
|
toFixed: () => import_utils2.toFixed,
|
|
194
199
|
toPrecision: () => import_utils2.toPrecision,
|
|
200
|
+
track: () => import_state_react.track,
|
|
201
|
+
transact: () => import_state.transact,
|
|
202
|
+
transaction: () => import_state.transaction,
|
|
195
203
|
uniq: () => import_uniq.uniq,
|
|
204
|
+
useAtom: () => import_state_react.useAtom,
|
|
205
|
+
useComputed: () => import_state_react.useComputed,
|
|
196
206
|
useContainer: () => import_useContainer.useContainer,
|
|
197
207
|
useContainerIfExists: () => import_useContainer.useContainerIfExists,
|
|
198
208
|
useDelaySvgExport: () => import_SvgExportContext.useDelaySvgExport,
|
|
@@ -210,20 +220,25 @@ __export(index_exports, {
|
|
|
210
220
|
usePassThroughWheelEvents: () => import_usePassThroughWheelEvents.usePassThroughWheelEvents,
|
|
211
221
|
usePeerIds: () => import_usePeerIds.usePeerIds,
|
|
212
222
|
usePresence: () => import_usePresence.usePresence,
|
|
223
|
+
useQuickReactor: () => import_state_react.useQuickReactor,
|
|
213
224
|
useReactiveEvent: () => import_useEvent.useReactiveEvent,
|
|
225
|
+
useReactor: () => import_state_react.useReactor,
|
|
214
226
|
useRefState: () => import_useRefState.useRefState,
|
|
215
227
|
useSelectionEvents: () => import_useSelectionEvents.useSelectionEvents,
|
|
216
228
|
useShallowArrayIdentity: () => import_useIdentity.useShallowArrayIdentity,
|
|
217
229
|
useShallowObjectIdentity: () => import_useIdentity.useShallowObjectIdentity,
|
|
218
230
|
useSharedSafeId: () => import_useSafeId.useSharedSafeId,
|
|
231
|
+
useStateTracking: () => import_state_react.useStateTracking,
|
|
219
232
|
useSvgExportContext: () => import_SvgExportContext.useSvgExportContext,
|
|
220
233
|
useTLSchemaFromUtils: () => import_useTLStore.useTLSchemaFromUtils,
|
|
221
234
|
useTLStore: () => import_useTLStore.useTLStore,
|
|
222
235
|
useTldrawUser: () => import_createTLUser.useTldrawUser,
|
|
223
236
|
useTransform: () => import_useTransform.useTransform,
|
|
224
237
|
useUniqueSafeId: () => import_useSafeId.useUniqueSafeId,
|
|
238
|
+
useValue: () => import_state_react.useValue,
|
|
225
239
|
useViewportHeight: () => import_useViewportHeight.useViewportHeight,
|
|
226
|
-
userTypeValidator: () => import_TLUserPreferences.userTypeValidator
|
|
240
|
+
userTypeValidator: () => import_TLUserPreferences.userTypeValidator,
|
|
241
|
+
whyAmIRunning: () => import_state.whyAmIRunning
|
|
227
242
|
});
|
|
228
243
|
module.exports = __toCommonJS(index_exports);
|
|
229
244
|
var import_utils = require("@tldraw/utils");
|
|
@@ -232,8 +247,11 @@ var import_flat_map = require("core-js/stable/array/flat-map.js");
|
|
|
232
247
|
var import_flat = require("core-js/stable/array/flat.js");
|
|
233
248
|
var import_at2 = require("core-js/stable/string/at.js");
|
|
234
249
|
var import_replace_all = require("core-js/stable/string/replace-all.js");
|
|
235
|
-
|
|
236
|
-
|
|
250
|
+
var import_state = require("@tldraw/state");
|
|
251
|
+
var import_state_react = require("@tldraw/state-react");
|
|
252
|
+
var import_resizeScaled = require("./lib/editor/shapes/shared/resizeScaled");
|
|
253
|
+
var import_richText = require("./lib/utils/richText");
|
|
254
|
+
var import_LocalIndexedDb = require("./lib/utils/sync/LocalIndexedDb");
|
|
237
255
|
__reExport(index_exports, require("@tldraw/store"), module.exports);
|
|
238
256
|
__reExport(index_exports, require("@tldraw/tlschema"), module.exports);
|
|
239
257
|
__reExport(index_exports, require("@tldraw/utils"), module.exports);
|
|
@@ -284,7 +302,6 @@ var import_ShapeUtil = require("./lib/editor/shapes/ShapeUtil");
|
|
|
284
302
|
var import_GroupShapeUtil = require("./lib/editor/shapes/group/GroupShapeUtil");
|
|
285
303
|
var import_getPerfectDashProps = require("./lib/editor/shapes/shared/getPerfectDashProps");
|
|
286
304
|
var import_resizeBox = require("./lib/editor/shapes/shared/resizeBox");
|
|
287
|
-
var import_resizeScaled = require("./lib/editor/shapes/shared/resizeScaled");
|
|
288
305
|
var import_BaseBoxShapeTool = require("./lib/editor/tools/BaseBoxShapeTool/BaseBoxShapeTool");
|
|
289
306
|
var import_Pointing = require("./lib/editor/tools/BaseBoxShapeTool/children/Pointing");
|
|
290
307
|
var import_StateNode = require("./lib/editor/tools/StateNode");
|
|
@@ -349,10 +366,8 @@ var import_hardResetEditor = require("./lib/utils/hardResetEditor");
|
|
|
349
366
|
var import_keyboard = require("./lib/utils/keyboard");
|
|
350
367
|
var import_normalizeWheel = require("./lib/utils/normalizeWheel");
|
|
351
368
|
var import_refreshPage = require("./lib/utils/refreshPage");
|
|
352
|
-
var import_richText = require("./lib/utils/richText");
|
|
353
369
|
var import_rotation = require("./lib/utils/rotation");
|
|
354
370
|
var import_runtime = require("./lib/utils/runtime");
|
|
355
|
-
var import_LocalIndexedDb = require("./lib/utils/sync/LocalIndexedDb");
|
|
356
371
|
var import_hardReset = require("./lib/utils/sync/hardReset");
|
|
357
372
|
var import_uniq = require("./lib/utils/uniq");
|
|
358
373
|
var import_window_open = require("./lib/utils/window-open");
|
|
@@ -361,7 +376,7 @@ function debugEnableLicensing() {
|
|
|
361
376
|
}
|
|
362
377
|
(0, import_utils.registerTldrawLibraryVersion)(
|
|
363
378
|
"@tldraw/editor",
|
|
364
|
-
"3.13.0-canary.
|
|
379
|
+
"3.13.0-canary.8e04030e54fe",
|
|
365
380
|
"cjs"
|
|
366
381
|
);
|
|
367
382
|
//# sourceMappingURL=index.js.map
|