@tldraw/editor 3.8.0-canary.13943ae415b5 → 3.8.0-canary.14f2faba6b93

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 +169 -52
  2. package/dist-cjs/index.js +11 -8
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/components/default-components/DefaultCanvas.js +1 -1
  5. package/dist-cjs/lib/components/default-components/DefaultCanvas.js.map +2 -2
  6. package/dist-cjs/lib/config/TLSessionStateSnapshot.js.map +2 -2
  7. package/dist-cjs/lib/editor/Editor.js +31 -18
  8. package/dist-cjs/lib/editor/Editor.js.map +2 -2
  9. package/dist-cjs/lib/editor/managers/SnapManager/BoundsSnaps.js.map +2 -2
  10. package/dist-cjs/lib/editor/managers/TextManager.js +1 -0
  11. package/dist-cjs/lib/editor/managers/TextManager.js.map +2 -2
  12. package/dist-cjs/lib/editor/shapes/ShapeUtil.js +13 -0
  13. package/dist-cjs/lib/editor/shapes/ShapeUtil.js.map +2 -2
  14. package/dist-cjs/lib/editor/shapes/shared/resizeScaled.js +66 -0
  15. package/dist-cjs/lib/editor/shapes/shared/resizeScaled.js.map +7 -0
  16. package/dist-cjs/lib/editor/types/emit-types.js.map +1 -1
  17. package/dist-cjs/lib/editor/types/external-content.js.map +1 -1
  18. package/dist-cjs/lib/exports/StyleEmbedder.js.map +2 -2
  19. package/dist-cjs/lib/hooks/useCanvasEvents.js +19 -8
  20. package/dist-cjs/lib/hooks/useCanvasEvents.js.map +2 -2
  21. package/dist-cjs/lib/hooks/useDocumentEvents.js +1 -3
  22. package/dist-cjs/lib/hooks/useDocumentEvents.js.map +2 -2
  23. package/dist-cjs/lib/hooks/usePassThroughWheelEvents.js +4 -0
  24. package/dist-cjs/lib/hooks/usePassThroughWheelEvents.js.map +3 -3
  25. package/dist-cjs/lib/options.js +2 -2
  26. package/dist-cjs/lib/options.js.map +2 -2
  27. package/dist-cjs/lib/utils/dom.js +6 -0
  28. package/dist-cjs/lib/utils/dom.js.map +2 -2
  29. package/dist-cjs/version.js +3 -3
  30. package/dist-cjs/version.js.map +1 -1
  31. package/dist-esm/index.d.mts +169 -52
  32. package/dist-esm/index.mjs +5 -1
  33. package/dist-esm/index.mjs.map +2 -2
  34. package/dist-esm/lib/components/default-components/DefaultCanvas.mjs +1 -1
  35. package/dist-esm/lib/components/default-components/DefaultCanvas.mjs.map +2 -2
  36. package/dist-esm/lib/config/TLSessionStateSnapshot.mjs.map +2 -2
  37. package/dist-esm/lib/editor/Editor.mjs +31 -18
  38. package/dist-esm/lib/editor/Editor.mjs.map +2 -2
  39. package/dist-esm/lib/editor/managers/SnapManager/BoundsSnaps.mjs.map +2 -2
  40. package/dist-esm/lib/editor/managers/TextManager.mjs +1 -0
  41. package/dist-esm/lib/editor/managers/TextManager.mjs.map +2 -2
  42. package/dist-esm/lib/editor/shapes/ShapeUtil.mjs +13 -0
  43. package/dist-esm/lib/editor/shapes/ShapeUtil.mjs.map +2 -2
  44. package/dist-esm/lib/editor/shapes/shared/resizeScaled.mjs +46 -0
  45. package/dist-esm/lib/editor/shapes/shared/resizeScaled.mjs.map +7 -0
  46. package/dist-esm/lib/exports/StyleEmbedder.mjs.map +2 -2
  47. package/dist-esm/lib/hooks/useCanvasEvents.mjs +19 -8
  48. package/dist-esm/lib/hooks/useCanvasEvents.mjs.map +2 -2
  49. package/dist-esm/lib/hooks/useDocumentEvents.mjs +2 -4
  50. package/dist-esm/lib/hooks/useDocumentEvents.mjs.map +2 -2
  51. package/dist-esm/lib/hooks/usePassThroughWheelEvents.mjs +4 -0
  52. package/dist-esm/lib/hooks/usePassThroughWheelEvents.mjs.map +3 -3
  53. package/dist-esm/lib/options.mjs +2 -2
  54. package/dist-esm/lib/options.mjs.map +2 -2
  55. package/dist-esm/lib/utils/dom.mjs +6 -0
  56. package/dist-esm/lib/utils/dom.mjs.map +2 -2
  57. package/dist-esm/version.mjs +3 -3
  58. package/dist-esm/version.mjs.map +1 -1
  59. package/editor.css +2 -1
  60. package/package.json +20 -20
  61. package/src/index.ts +18 -1
  62. package/src/lib/components/default-components/DefaultCanvas.tsx +1 -1
  63. package/src/lib/config/TLSessionStateSnapshot.ts +3 -1
  64. package/src/lib/editor/Editor.ts +65 -36
  65. package/src/lib/editor/managers/SnapManager/BoundsSnaps.ts +4 -4
  66. package/src/lib/editor/managers/TextManager.ts +1 -0
  67. package/src/lib/editor/shapes/ShapeUtil.ts +49 -1
  68. package/src/lib/editor/shapes/shared/resizeScaled.ts +61 -0
  69. package/src/lib/editor/types/emit-types.ts +1 -0
  70. package/src/lib/editor/types/external-content.ts +104 -50
  71. package/src/lib/exports/StyleEmbedder.ts +1 -1
  72. package/src/lib/hooks/useCanvasEvents.ts +20 -8
  73. package/src/lib/hooks/useDocumentEvents.ts +2 -11
  74. package/src/lib/hooks/usePassThroughWheelEvents.ts +7 -0
  75. package/src/lib/options.ts +5 -2
  76. package/src/lib/utils/dom.ts +12 -0
  77. package/src/version.ts +3 -3
@@ -29,7 +29,6 @@ export interface TldrawOptions {
29
29
  readonly dragDistanceSquared: number
30
30
  readonly defaultSvgPadding: number
31
31
  readonly cameraSlideFriction: number
32
- readonly maxPointsPerDrawShape: number
33
32
  readonly gridSteps: readonly {
34
33
  readonly min: number
35
34
  readonly mid: number
@@ -66,6 +65,10 @@ export interface TldrawOptions {
66
65
  * external context providers. By default, this is `React.Fragment`.
67
66
  */
68
67
  readonly exportProvider: ComponentType<{ children: React.ReactNode }>
68
+ /**
69
+ * By default, the toolbar items are accessible via number shortcuts according to their order. To disable this, set this option to false.
70
+ */
71
+ readonly enableToolbarKeyboardShortcuts: boolean
69
72
  }
70
73
 
71
74
  /** @public */
@@ -81,7 +84,6 @@ export const defaultTldrawOptions = {
81
84
  dragDistanceSquared: 16, // 4 squared
82
85
  defaultSvgPadding: 32,
83
86
  cameraSlideFriction: 0.09,
84
- maxPointsPerDrawShape: 500,
85
87
  gridSteps: [
86
88
  { min: -1, mid: 0.15, step: 64 },
87
89
  { min: 0.05, mid: 0.375, step: 16 },
@@ -111,4 +113,5 @@ export const defaultTldrawOptions = {
111
113
  actionShortcutsLocation: 'swap',
112
114
  createTextOnCanvasDoubleClick: true,
113
115
  exportProvider: Fragment,
116
+ enableToolbarKeyboardShortcuts: true,
114
117
  } as const satisfies TldrawOptions
@@ -90,3 +90,15 @@ export const setStyleProperty = (
90
90
  if (!elm) return
91
91
  elm.style.setProperty(property, value as string)
92
92
  }
93
+
94
+ const INPUTS = ['input', 'select', 'button', 'textarea']
95
+
96
+ /** @internal */
97
+ export function activeElementShouldCaptureKeys() {
98
+ const { activeElement } = document
99
+ return !!(
100
+ activeElement &&
101
+ (activeElement.getAttribute('contenteditable') ||
102
+ INPUTS.indexOf(activeElement.tagName.toLowerCase()) > -1)
103
+ )
104
+ }
package/src/version.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  // This file is automatically generated by internal/scripts/refresh-assets.ts.
2
2
  // Do not edit manually. Or do, I'm a comment, not a cop.
3
3
 
4
- export const version = '3.8.0-canary.13943ae415b5'
4
+ export const version = '3.8.0-canary.14f2faba6b93'
5
5
  export const publishDates = {
6
6
  major: '2024-09-13T14:36:29.063Z',
7
- minor: '2025-01-23T09:20:12.413Z',
8
- patch: '2025-01-23T09:20:12.413Z',
7
+ minor: '2025-02-12T14:18:01.831Z',
8
+ patch: '2025-02-12T14:18:01.831Z',
9
9
  }