@tldraw/editor 3.15.0-canary.d3401abd19b9 → 3.15.0-canary.db14db4f5395

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.
Files changed (77) hide show
  1. package/dist-cjs/index.d.ts +41 -49
  2. package/dist-cjs/index.js +16 -18
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/config/TLUserPreferences.js +1 -7
  5. package/dist-cjs/lib/config/TLUserPreferences.js.map +2 -2
  6. package/dist-cjs/lib/editor/Editor.js +2 -20
  7. package/dist-cjs/lib/editor/Editor.js.map +2 -2
  8. package/dist-cjs/lib/editor/managers/TextManager/TextManager.js +101 -96
  9. package/dist-cjs/lib/editor/managers/TextManager/TextManager.js.map +2 -2
  10. package/dist-cjs/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.js +2 -7
  11. package/dist-cjs/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.js.map +2 -2
  12. package/dist-cjs/lib/primitives/geometry/Arc2d.js +1 -1
  13. package/dist-cjs/lib/primitives/geometry/Arc2d.js.map +2 -2
  14. package/dist-cjs/lib/primitives/geometry/Circle2d.js +1 -1
  15. package/dist-cjs/lib/primitives/geometry/Circle2d.js.map +2 -2
  16. package/dist-cjs/lib/primitives/geometry/CubicBezier2d.js +1 -3
  17. package/dist-cjs/lib/primitives/geometry/CubicBezier2d.js.map +2 -2
  18. package/dist-cjs/lib/primitives/geometry/Ellipse2d.js +1 -1
  19. package/dist-cjs/lib/primitives/geometry/Ellipse2d.js.map +2 -2
  20. package/dist-cjs/lib/primitives/geometry/geometry-constants.js +2 -2
  21. package/dist-cjs/lib/primitives/geometry/geometry-constants.js.map +2 -2
  22. package/dist-cjs/lib/primitives/intersect.js +4 -4
  23. package/dist-cjs/lib/primitives/intersect.js.map +2 -2
  24. package/dist-cjs/lib/primitives/utils.js +0 -4
  25. package/dist-cjs/lib/primitives/utils.js.map +2 -2
  26. package/dist-cjs/lib/utils/sync/TLLocalSyncClient.js +1 -0
  27. package/dist-cjs/lib/utils/sync/TLLocalSyncClient.js.map +2 -2
  28. package/dist-cjs/version.js +3 -3
  29. package/dist-cjs/version.js.map +1 -1
  30. package/dist-esm/index.d.mts +41 -49
  31. package/dist-esm/index.mjs +41 -43
  32. package/dist-esm/index.mjs.map +2 -2
  33. package/dist-esm/lib/config/TLUserPreferences.mjs +1 -7
  34. package/dist-esm/lib/config/TLUserPreferences.mjs.map +2 -2
  35. package/dist-esm/lib/editor/Editor.mjs +2 -20
  36. package/dist-esm/lib/editor/Editor.mjs.map +2 -2
  37. package/dist-esm/lib/editor/managers/TextManager/TextManager.mjs +101 -96
  38. package/dist-esm/lib/editor/managers/TextManager/TextManager.mjs.map +2 -2
  39. package/dist-esm/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.mjs +2 -7
  40. package/dist-esm/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.mjs.map +2 -2
  41. package/dist-esm/lib/primitives/geometry/Arc2d.mjs +2 -2
  42. package/dist-esm/lib/primitives/geometry/Arc2d.mjs.map +2 -2
  43. package/dist-esm/lib/primitives/geometry/Circle2d.mjs +2 -2
  44. package/dist-esm/lib/primitives/geometry/Circle2d.mjs.map +2 -2
  45. package/dist-esm/lib/primitives/geometry/CubicBezier2d.mjs +1 -3
  46. package/dist-esm/lib/primitives/geometry/CubicBezier2d.mjs.map +2 -2
  47. package/dist-esm/lib/primitives/geometry/Ellipse2d.mjs +2 -2
  48. package/dist-esm/lib/primitives/geometry/Ellipse2d.mjs.map +2 -2
  49. package/dist-esm/lib/primitives/geometry/geometry-constants.mjs +2 -2
  50. package/dist-esm/lib/primitives/geometry/geometry-constants.mjs.map +2 -2
  51. package/dist-esm/lib/primitives/intersect.mjs +5 -5
  52. package/dist-esm/lib/primitives/intersect.mjs.map +2 -2
  53. package/dist-esm/lib/primitives/utils.mjs +0 -4
  54. package/dist-esm/lib/primitives/utils.mjs.map +2 -2
  55. package/dist-esm/lib/utils/sync/TLLocalSyncClient.mjs +1 -0
  56. package/dist-esm/lib/utils/sync/TLLocalSyncClient.mjs.map +2 -2
  57. package/dist-esm/version.mjs +3 -3
  58. package/dist-esm/version.mjs.map +1 -1
  59. package/package.json +7 -7
  60. package/src/index.ts +62 -63
  61. package/src/lib/config/TLUserPreferences.ts +0 -7
  62. package/src/lib/editor/Editor.test.ts +0 -407
  63. package/src/lib/editor/Editor.ts +4 -29
  64. package/src/lib/editor/managers/TextManager/TextManager.ts +128 -108
  65. package/src/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.test.ts +0 -21
  66. package/src/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.ts +0 -8
  67. package/src/lib/license/LicenseManager.test.ts +1 -1
  68. package/src/lib/primitives/geometry/Arc2d.ts +2 -2
  69. package/src/lib/primitives/geometry/Circle2d.ts +2 -2
  70. package/src/lib/primitives/geometry/CubicBezier2d.ts +1 -4
  71. package/src/lib/primitives/geometry/Ellipse2d.ts +2 -2
  72. package/src/lib/primitives/geometry/geometry-constants.ts +1 -2
  73. package/src/lib/primitives/intersect.ts +5 -12
  74. package/src/lib/primitives/utils.ts +0 -11
  75. package/src/lib/utils/sync/TLLocalSyncClient.ts +1 -0
  76. package/src/version.ts +3 -3
  77. package/src/lib/primitives/intersect.test.ts +0 -946
package/src/index.ts CHANGED
@@ -18,6 +18,27 @@ export * from '@tldraw/utils'
18
18
  // eslint-disable-next-line local/no-export-star
19
19
  export * from '@tldraw/validate'
20
20
 
21
+ export {
22
+ ErrorScreen,
23
+ LoadingScreen,
24
+ TldrawEditor,
25
+ useOnMount,
26
+ type LoadingScreenProps,
27
+ type TLOnMountHandler,
28
+ type TldrawEditorBaseProps,
29
+ type TldrawEditorProps,
30
+ type TldrawEditorStoreProps,
31
+ type TldrawEditorWithStoreProps,
32
+ type TldrawEditorWithoutStoreProps,
33
+ } from './lib/TldrawEditor'
34
+ export {
35
+ ErrorBoundary,
36
+ OptionalErrorBoundary,
37
+ type TLErrorBoundaryProps,
38
+ } from './lib/components/ErrorBoundary'
39
+ export { HTMLContainer, type HTMLContainerProps } from './lib/components/HTMLContainer'
40
+ export { MenuClickCapture } from './lib/components/MenuClickCapture'
41
+ export { SVGContainer, type SVGContainerProps } from './lib/components/SVGContainer'
21
42
  export { DefaultBackground } from './lib/components/default-components/DefaultBackground'
22
43
  export { DefaultBrush, type TLBrushProps } from './lib/components/default-components/DefaultBrush'
23
44
  export {
@@ -73,26 +94,6 @@ export {
73
94
  } from './lib/components/default-components/DefaultSnapIndictor'
74
95
  export { DefaultSpinner } from './lib/components/default-components/DefaultSpinner'
75
96
  export { DefaultSvgDefs } from './lib/components/default-components/DefaultSvgDefs'
76
- export {
77
- ErrorBoundary,
78
- OptionalErrorBoundary,
79
- type TLErrorBoundaryProps,
80
- } from './lib/components/ErrorBoundary'
81
- export { HTMLContainer, type HTMLContainerProps } from './lib/components/HTMLContainer'
82
- export { MenuClickCapture } from './lib/components/MenuClickCapture'
83
- export { SVGContainer, type SVGContainerProps } from './lib/components/SVGContainer'
84
- export {
85
- createTLSchemaFromUtils,
86
- createTLStore,
87
- inlineBase64AssetStore,
88
- type TLStoreBaseOptions,
89
- type TLStoreEventInfo,
90
- type TLStoreOptions,
91
- type TLStoreSchemaOptions,
92
- } from './lib/config/createTLStore'
93
- export { createTLUser, useTldrawUser, type TLUser } from './lib/config/createTLUser'
94
- export { type TLAnyBindingUtilConstructor } from './lib/config/defaultBindings'
95
- export { coreShapes, type TLAnyShapeUtilConstructor } from './lib/config/defaultShapes'
96
97
  export {
97
98
  getSnapshot,
98
99
  loadSnapshot,
@@ -100,23 +101,42 @@ export {
100
101
  type TLLoadSnapshotOptions,
101
102
  } from './lib/config/TLEditorSnapshot'
102
103
  export {
104
+ TAB_ID,
103
105
  createSessionStateSnapshotSignal,
104
106
  extractSessionStateFromLegacySnapshot,
105
107
  loadSessionStateSnapshotIntoStore,
106
- TAB_ID,
107
108
  type TLLoadSessionStateSnapshotOptions,
108
109
  type TLSessionStateSnapshot,
109
110
  } from './lib/config/TLSessionStateSnapshot'
110
111
  export {
112
+ USER_COLORS,
111
113
  defaultUserPreferences,
112
114
  getFreshUserPreferences,
113
115
  getUserPreferences,
114
116
  setUserPreferences,
115
- USER_COLORS,
116
117
  userTypeValidator,
117
118
  type TLUserPreferences,
118
119
  } from './lib/config/TLUserPreferences'
120
+ export {
121
+ createTLSchemaFromUtils,
122
+ createTLStore,
123
+ inlineBase64AssetStore,
124
+ type TLStoreBaseOptions,
125
+ type TLStoreEventInfo,
126
+ type TLStoreOptions,
127
+ type TLStoreSchemaOptions,
128
+ } from './lib/config/createTLStore'
129
+ export { createTLUser, useTldrawUser, type TLUser } from './lib/config/createTLUser'
130
+ export { type TLAnyBindingUtilConstructor } from './lib/config/defaultBindings'
131
+ export { coreShapes, type TLAnyShapeUtilConstructor } from './lib/config/defaultShapes'
119
132
  export { DEFAULT_ANIMATION_OPTIONS, DEFAULT_CAMERA_OPTIONS, SIDES } from './lib/constants'
133
+ export {
134
+ Editor,
135
+ type TLEditorOptions,
136
+ type TLEditorRunOptions,
137
+ type TLRenderingShape,
138
+ type TLResizeShapeOptions,
139
+ } from './lib/editor/Editor'
120
140
  export {
121
141
  BindingUtil,
122
142
  type BindingOnChangeOptions,
@@ -127,13 +147,6 @@ export {
127
147
  type BindingOnShapeIsolateOptions,
128
148
  type TLBindingUtilConstructor,
129
149
  } from './lib/editor/bindings/BindingUtil'
130
- export {
131
- Editor,
132
- type TLEditorOptions,
133
- type TLEditorRunOptions,
134
- type TLRenderingShape,
135
- type TLResizeShapeOptions,
136
- } from './lib/editor/Editor'
137
150
  export { ClickManager, type TLClickState } from './lib/editor/managers/ClickManager/ClickManager'
138
151
  export { EdgeScrollManager } from './lib/editor/managers/EdgeScrollManager/EdgeScrollManager'
139
152
  export {
@@ -166,7 +179,6 @@ export {
166
179
  } from './lib/editor/managers/TextManager/TextManager'
167
180
  export { UserPreferencesManager } from './lib/editor/managers/UserPreferencesManager/UserPreferencesManager'
168
181
  export { BaseBoxShapeUtil, type TLBaseBoxShape } from './lib/editor/shapes/BaseBoxShapeUtil'
169
- export { GroupShapeUtil } from './lib/editor/shapes/group/GroupShapeUtil'
170
182
  export {
171
183
  ShapeUtil,
172
184
  type TLCropInfo,
@@ -183,6 +195,7 @@ export {
183
195
  type TLShapeUtilCanvasSvgDef,
184
196
  type TLShapeUtilConstructor,
185
197
  } from './lib/editor/shapes/ShapeUtil'
198
+ export { GroupShapeUtil } from './lib/editor/shapes/group/GroupShapeUtil'
186
199
  export {
187
200
  getPerfectDashProps,
188
201
  type PerfectDashTerminal,
@@ -192,16 +205,22 @@ export { resizeScaled } from './lib/editor/shapes/shared/resizeScaled'
192
205
  export { BaseBoxShapeTool } from './lib/editor/tools/BaseBoxShapeTool/BaseBoxShapeTool'
193
206
  export { maybeSnapToGrid } from './lib/editor/tools/BaseBoxShapeTool/children/Pointing'
194
207
  export { StateNode, type TLStateNodeConstructor } from './lib/editor/tools/StateNode'
208
+ export {
209
+ useDelaySvgExport,
210
+ useSvgExportContext,
211
+ type SvgExportContext,
212
+ type SvgExportDef,
213
+ } from './lib/editor/types/SvgExportContext'
195
214
  export { type TLContent } from './lib/editor/types/clipboard-types'
196
215
  export { type TLEventMap, type TLEventMapHandler } from './lib/editor/types/emit-types'
197
216
  export {
198
217
  EVENT_NAME_MAP,
199
218
  type TLBaseEventInfo,
219
+ type TLCLickEventName,
200
220
  type TLCancelEvent,
201
221
  type TLCancelEventInfo,
202
222
  type TLClickEvent,
203
223
  type TLClickEventInfo,
204
- type TLCLickEventName,
205
224
  type TLCompleteEvent,
206
225
  type TLCompleteEventInfo,
207
226
  type TLEnterEventHandler,
@@ -270,12 +289,6 @@ export {
270
289
  type TLResizeHandle,
271
290
  type TLSelectionHandle,
272
291
  } from './lib/editor/types/selection-types'
273
- export {
274
- useDelaySvgExport,
275
- useSvgExportContext,
276
- type SvgExportContext,
277
- type SvgExportDef,
278
- } from './lib/editor/types/SvgExportContext'
279
292
  export { getSvgAsImage } from './lib/exports/getSvgAsImage'
280
293
  export { tlenv } from './lib/globals/environment'
281
294
  export { tlmenus } from './lib/globals/menus'
@@ -339,6 +352,8 @@ export {
339
352
  type SelectionEdge,
340
353
  type SelectionHandle,
341
354
  } from './lib/primitives/Box'
355
+ export { Mat, type MatLike, type MatModel } from './lib/primitives/Mat'
356
+ export { Vec, type VecLike } from './lib/primitives/Vec'
342
357
  export { EASINGS } from './lib/primitives/easings'
343
358
  export { Arc2d } from './lib/primitives/geometry/Arc2d'
344
359
  export { Circle2d } from './lib/primitives/geometry/Circle2d'
@@ -346,7 +361,6 @@ export { CubicBezier2d } from './lib/primitives/geometry/CubicBezier2d'
346
361
  export { CubicSpline2d } from './lib/primitives/geometry/CubicSpline2d'
347
362
  export { Edge2d } from './lib/primitives/geometry/Edge2d'
348
363
  export { Ellipse2d } from './lib/primitives/geometry/Ellipse2d'
349
- export { getVerticesCountForArcLength } from './lib/primitives/geometry/geometry-constants'
350
364
  export {
351
365
  Geometry2d,
352
366
  Geometry2dFilters,
@@ -374,8 +388,11 @@ export {
374
388
  polygonIntersectsPolyline,
375
389
  polygonsIntersect,
376
390
  } from './lib/primitives/intersect'
377
- export { Mat, type MatLike, type MatModel } from './lib/primitives/Mat'
378
391
  export {
392
+ HALF_PI,
393
+ PI,
394
+ PI2,
395
+ SIN,
379
396
  angleDistance,
380
397
  approximately,
381
398
  areAnglesCompatible,
@@ -392,36 +409,23 @@ export {
392
409
  getPointOnCircle,
393
410
  getPointsOnArc,
394
411
  getPolygonVertices,
395
- HALF_PI,
396
412
  isSafeFloat,
397
413
  perimeterOfEllipse,
398
- PI,
399
- PI2,
400
414
  pointInPolygon,
401
415
  precise,
402
416
  radiansToDegrees,
403
417
  rangeIntersection,
404
418
  shortAngleDist,
405
- SIN,
406
419
  snapAngle,
407
420
  toDomPrecision,
408
421
  toFixed,
409
422
  toPrecision,
410
423
  } from './lib/primitives/utils'
411
- export { Vec, type VecLike } from './lib/primitives/Vec'
412
424
  export {
413
- ErrorScreen,
414
- LoadingScreen,
415
- TldrawEditor,
416
- useOnMount,
417
- type LoadingScreenProps,
418
- type TldrawEditorBaseProps,
419
- type TldrawEditorProps,
420
- type TldrawEditorStoreProps,
421
- type TldrawEditorWithoutStoreProps,
422
- type TldrawEditorWithStoreProps,
423
- type TLOnMountHandler,
424
- } from './lib/TldrawEditor'
425
+ ReadonlySharedStyleMap,
426
+ SharedStyleMap,
427
+ type SharedStyle,
428
+ } from './lib/utils/SharedStylesMap'
425
429
  export { dataUrlToFile, getDefaultCdnBaseUrl } from './lib/utils/assets'
426
430
  export { clampToBrowserMaxCanvasSize, type CanvasMaxSize } from './lib/utils/browserCanvasMaxSize'
427
431
  export {
@@ -457,9 +461,9 @@ export {
457
461
  getFontsFromRichText,
458
462
  type RichTextFontVisitor,
459
463
  type RichTextFontVisitorState,
464
+ type TLTextOptions,
460
465
  type TiptapEditor,
461
466
  type TiptapNode,
462
- type TLTextOptions,
463
467
  } from './lib/utils/richText'
464
468
  export {
465
469
  applyRotationToSnapshotShapes,
@@ -467,14 +471,9 @@ export {
467
471
  type TLRotationSnapshot,
468
472
  } from './lib/utils/rotation'
469
473
  export { runtime, setRuntimeOverrides } from './lib/utils/runtime'
470
- export {
471
- ReadonlySharedStyleMap,
472
- SharedStyleMap,
473
- type SharedStyle,
474
- } from './lib/utils/SharedStylesMap'
475
- export { hardReset } from './lib/utils/sync/hardReset'
476
474
  export { LocalIndexedDb, Table, type StoreName } from './lib/utils/sync/LocalIndexedDb'
477
475
  export { type TLStoreWithStatus } from './lib/utils/sync/StoreWithStatus'
476
+ export { hardReset } from './lib/utils/sync/hardReset'
478
477
  export { uniq } from './lib/utils/uniq'
479
478
  export { openWindow } from './lib/utils/window-open'
480
479
 
@@ -17,7 +17,6 @@ export interface TLUserPreferences {
17
17
  // N.B. These are duplicated in TLdrawAppUser.
18
18
  locale?: string | null
19
19
  animationSpeed?: number | null
20
- areKeyboardShortcutsEnabled?: boolean | null
21
20
  edgeScrollSpeed?: number | null
22
21
  colorScheme?: 'light' | 'dark' | 'system'
23
22
  isSnapMode?: boolean | null
@@ -45,7 +44,6 @@ export const userTypeValidator: T.Validator<TLUserPreferences> = T.object<TLUser
45
44
  // N.B. These are duplicated in TLdrawAppUser.
46
45
  locale: T.string.nullable().optional(),
47
46
  animationSpeed: T.number.nullable().optional(),
48
- areKeyboardShortcutsEnabled: T.boolean.nullable().optional(),
49
47
  edgeScrollSpeed: T.number.nullable().optional(),
50
48
  colorScheme: T.literalEnum('light', 'dark', 'system').optional(),
51
49
  isSnapMode: T.boolean.nullable().optional(),
@@ -63,7 +61,6 @@ const Versions = {
63
61
  AddDynamicSizeMode: 6,
64
62
  AllowSystemColorScheme: 7,
65
63
  AddPasteAtCursor: 8,
66
- AddKeyboardShortcuts: 9,
67
64
  } as const
68
65
 
69
66
  const CURRENT_VERSION = Math.max(...Object.values(Versions))
@@ -99,9 +96,6 @@ function migrateSnapshot(data: { version: number; user: any }) {
99
96
  if (data.version < Versions.AddPasteAtCursor) {
100
97
  data.user.isPasteAtCursorMode = false
101
98
  }
102
- if (data.version < Versions.AddKeyboardShortcuts) {
103
- data.user.areKeyboardShortcutsEnabled = true
104
- }
105
99
 
106
100
  // finally
107
101
  data.version = CURRENT_VERSION
@@ -145,7 +139,6 @@ export const defaultUserPreferences = Object.freeze({
145
139
  // N.B. These are duplicated in TLdrawAppUser.
146
140
  edgeScrollSpeed: 1,
147
141
  animationSpeed: userPrefersReducedMotion() ? 0 : 1,
148
- areKeyboardShortcutsEnabled: true,
149
142
  isSnapMode: false,
150
143
  isWrapMode: false,
151
144
  isDynamicSizeMode: false,