tldraw 3.16.0-canary.ffdf566dd0a8 → 3.16.0-internal.71f83a8a571b

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 (515) hide show
  1. package/dist-cjs/index.d.ts +348 -113
  2. package/dist-cjs/index.js +40 -14
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/Tldraw.js +12 -2
  5. package/dist-cjs/lib/Tldraw.js.map +2 -2
  6. package/dist-cjs/lib/canvas/TldrawScribble.js +1 -1
  7. package/dist-cjs/lib/canvas/TldrawScribble.js.map +2 -2
  8. package/dist-cjs/lib/defaultExternalContentHandlers.js +5 -4
  9. package/dist-cjs/lib/defaultExternalContentHandlers.js.map +2 -2
  10. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js +3 -3
  11. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js.map +2 -2
  12. package/dist-cjs/lib/shapes/arrow/arrowLabel.js +6 -0
  13. package/dist-cjs/lib/shapes/arrow/arrowLabel.js.map +3 -3
  14. package/dist-cjs/lib/shapes/arrow/arrowTargetState.js.map +2 -2
  15. package/dist-cjs/lib/shapes/arrow/elbow/ElbowArrowDebug.js +3 -3
  16. package/dist-cjs/lib/shapes/arrow/elbow/ElbowArrowDebug.js.map +1 -1
  17. package/dist-cjs/lib/shapes/arrow/elbow/elbowArrowSnapLines.js.map +1 -1
  18. package/dist-cjs/lib/shapes/bookmark/BookmarkShapeUtil.js +4 -4
  19. package/dist-cjs/lib/shapes/bookmark/BookmarkShapeUtil.js.map +2 -2
  20. package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js +3 -3
  21. package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js.map +2 -2
  22. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js +1 -1
  23. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js.map +1 -1
  24. package/dist-cjs/lib/shapes/frame/FrameShapeTool.js.map +1 -1
  25. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js +20 -13
  26. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js.map +2 -2
  27. package/dist-cjs/lib/shapes/frame/components/FrameHeading.js +1 -1
  28. package/dist-cjs/lib/shapes/frame/components/FrameHeading.js.map +2 -2
  29. package/dist-cjs/lib/shapes/frame/components/FrameLabelInput.js +2 -2
  30. package/dist-cjs/lib/shapes/frame/components/FrameLabelInput.js.map +2 -2
  31. package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js +3 -2
  32. package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js.map +2 -2
  33. package/dist-cjs/lib/shapes/geo/components/GeoShapeBody.js +2 -1
  34. package/dist-cjs/lib/shapes/geo/components/GeoShapeBody.js.map +2 -2
  35. package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js +5 -1
  36. package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js.map +2 -2
  37. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js +6 -3
  38. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js.map +2 -2
  39. package/dist-cjs/lib/shapes/line/LineShapeUtil.js +5 -1
  40. package/dist-cjs/lib/shapes/line/LineShapeUtil.js.map +2 -2
  41. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js +6 -5
  42. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js.map +2 -2
  43. package/dist-cjs/lib/shapes/shared/HyperlinkButton.js +4 -4
  44. package/dist-cjs/lib/shapes/shared/HyperlinkButton.js.map +2 -2
  45. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js +1 -3
  46. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js.map +2 -2
  47. package/dist-cjs/lib/shapes/shared/RichTextLabel.js.map +2 -2
  48. package/dist-cjs/lib/shapes/shared/ShapeFill.js +4 -4
  49. package/dist-cjs/lib/shapes/shared/ShapeFill.js.map +2 -2
  50. package/dist-cjs/lib/shapes/shared/crop.js +1 -0
  51. package/dist-cjs/lib/shapes/shared/crop.js.map +2 -2
  52. package/dist-cjs/lib/shapes/shared/freehand/svg.js.map +2 -2
  53. package/dist-cjs/lib/shapes/shared/useEditablePlainText.js +3 -4
  54. package/dist-cjs/lib/shapes/shared/useEditablePlainText.js.map +2 -2
  55. package/dist-cjs/lib/shapes/shared/useEditableRichText.js.map +2 -2
  56. package/dist-cjs/lib/shapes/shared/useImageOrVideoAsset.js +0 -2
  57. package/dist-cjs/lib/shapes/shared/useImageOrVideoAsset.js.map +2 -2
  58. package/dist-cjs/lib/shapes/text/PlainTextArea.js +2 -2
  59. package/dist-cjs/lib/shapes/text/PlainTextArea.js.map +2 -2
  60. package/dist-cjs/lib/shapes/text/RichTextArea.js +3 -3
  61. package/dist-cjs/lib/shapes/text/RichTextArea.js.map +2 -2
  62. package/dist-cjs/lib/shapes/text/TextShapeUtil.js +2 -2
  63. package/dist-cjs/lib/shapes/text/TextShapeUtil.js.map +2 -2
  64. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js +3 -3
  65. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js.map +1 -1
  66. package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js +25 -1
  67. package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js.map +2 -2
  68. package/dist-cjs/lib/tools/EraserTool/childStates/Pointing.js +12 -0
  69. package/dist-cjs/lib/tools/EraserTool/childStates/Pointing.js.map +2 -2
  70. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js +1 -1
  71. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js.map +2 -2
  72. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js.map +2 -2
  73. package/dist-cjs/lib/ui/TldrawUi.js +27 -12
  74. package/dist-cjs/lib/ui/TldrawUi.js.map +3 -3
  75. package/dist-cjs/lib/ui/assetUrls.js +13 -10
  76. package/dist-cjs/lib/ui/assetUrls.js.map +2 -2
  77. package/dist-cjs/lib/ui/components/A11y.js +1 -1
  78. package/dist-cjs/lib/ui/components/A11y.js.map +2 -2
  79. package/dist-cjs/lib/ui/components/ActionsMenu/DefaultActionsMenu.js +12 -3
  80. package/dist-cjs/lib/ui/components/ActionsMenu/DefaultActionsMenu.js.map +2 -2
  81. package/dist-cjs/lib/ui/components/{FollowingIndicator.js → DefaultFollowingIndicator.js} +6 -6
  82. package/dist-cjs/lib/ui/components/DefaultFollowingIndicator.js.map +7 -0
  83. package/dist-cjs/lib/ui/components/DefaultMenuPanel.js +3 -2
  84. package/dist-cjs/lib/ui/components/DefaultMenuPanel.js.map +2 -2
  85. package/dist-cjs/lib/ui/components/EditLinkDialog.js +11 -1
  86. package/dist-cjs/lib/ui/components/EditLinkDialog.js.map +2 -2
  87. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js +6 -6
  88. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js.map +1 -1
  89. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js +4 -4
  90. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js.map +2 -2
  91. package/dist-cjs/lib/ui/components/MobileStylePanel.js +5 -3
  92. package/dist-cjs/lib/ui/components/MobileStylePanel.js.map +2 -2
  93. package/dist-cjs/lib/ui/components/NavigationPanel/DefaultNavigationPanel.js +1 -1
  94. package/dist-cjs/lib/ui/components/NavigationPanel/DefaultNavigationPanel.js.map +2 -2
  95. package/dist-cjs/lib/ui/components/PageMenu/DefaultPageMenu.js +3 -2
  96. package/dist-cjs/lib/ui/components/PageMenu/DefaultPageMenu.js.map +2 -2
  97. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenuItem.js +3 -2
  98. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenuItem.js.map +2 -2
  99. package/dist-cjs/lib/ui/components/SharePanel/UserPresenceColorPicker.js +2 -2
  100. package/dist-cjs/lib/ui/components/SharePanel/UserPresenceColorPicker.js.map +2 -2
  101. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js +9 -4
  102. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js.map +2 -2
  103. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js +255 -316
  104. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js.map +2 -2
  105. package/dist-cjs/lib/ui/components/{primitives/TldrawUiButtonPicker.js → StylePanel/StylePanelButtonPicker.js} +52 -56
  106. package/dist-cjs/lib/ui/components/StylePanel/StylePanelButtonPicker.js.map +7 -0
  107. package/dist-cjs/lib/ui/components/StylePanel/StylePanelContext.js +68 -0
  108. package/dist-cjs/lib/ui/components/StylePanel/StylePanelContext.js.map +7 -0
  109. package/dist-cjs/lib/ui/components/StylePanel/{DoubleDropdownPicker.js → StylePanelDoubleDropdownPicker.js} +26 -25
  110. package/dist-cjs/lib/ui/components/StylePanel/StylePanelDoubleDropdownPicker.js.map +7 -0
  111. package/dist-cjs/lib/ui/components/StylePanel/{DropdownPicker.js → StylePanelDropdownPicker.js} +47 -43
  112. package/dist-cjs/lib/ui/components/StylePanel/StylePanelDropdownPicker.js.map +7 -0
  113. package/dist-cjs/lib/ui/components/StylePanel/StylePanelSubheading.js +28 -0
  114. package/dist-cjs/lib/ui/components/StylePanel/StylePanelSubheading.js.map +7 -0
  115. package/dist-cjs/lib/ui/components/Toolbar/AltTextEditor.js +3 -2
  116. package/dist-cjs/lib/ui/components/Toolbar/AltTextEditor.js.map +2 -2
  117. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbarContent.js +39 -10
  118. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbarContent.js.map +2 -2
  119. package/dist-cjs/lib/ui/components/Toolbar/DefaultToolbar.js +66 -21
  120. package/dist-cjs/lib/ui/components/Toolbar/DefaultToolbar.js.map +3 -3
  121. package/dist-cjs/lib/ui/components/Toolbar/DefaultVideoToolbarContent.js +15 -3
  122. package/dist-cjs/lib/ui/components/Toolbar/DefaultVideoToolbarContent.js.map +2 -2
  123. package/dist-cjs/lib/ui/components/Toolbar/LinkEditor.js +3 -3
  124. package/dist-cjs/lib/ui/components/Toolbar/LinkEditor.js.map +2 -2
  125. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js +189 -80
  126. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js.map +3 -3
  127. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js +2 -2
  128. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js.map +2 -2
  129. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js +11 -2
  130. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js.map +2 -2
  131. package/dist-cjs/lib/ui/components/primitives/TldrawUiInput.js +2 -2
  132. package/dist-cjs/lib/ui/components/primitives/TldrawUiInput.js.map +2 -2
  133. package/dist-cjs/lib/ui/components/primitives/TldrawUiPopover.js +3 -2
  134. package/dist-cjs/lib/ui/components/primitives/TldrawUiPopover.js.map +3 -3
  135. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js +18 -5
  136. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js.map +2 -2
  137. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js +21 -4
  138. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js.map +2 -2
  139. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js +185 -158
  140. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js.map +2 -2
  141. package/dist-cjs/lib/ui/components/primitives/layout.js +76 -0
  142. package/dist-cjs/lib/ui/components/primitives/layout.js.map +7 -0
  143. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuContext.js.map +2 -2
  144. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuGroup.js +25 -12
  145. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuGroup.js.map +2 -2
  146. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js +154 -20
  147. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js.map +2 -2
  148. package/dist-cjs/lib/ui/context/actions.js +23 -10
  149. package/dist-cjs/lib/ui/context/actions.js.map +2 -2
  150. package/dist-cjs/lib/ui/context/components.js +2 -0
  151. package/dist-cjs/lib/ui/context/components.js.map +2 -2
  152. package/dist-cjs/lib/ui/context/events.js.map +2 -2
  153. package/dist-cjs/lib/ui/hooks/useClipboardEvents.js +1 -1
  154. package/dist-cjs/lib/ui/hooks/useClipboardEvents.js.map +2 -2
  155. package/dist-cjs/lib/ui/hooks/useExportAs.js +3 -2
  156. package/dist-cjs/lib/ui/hooks/useExportAs.js.map +2 -2
  157. package/dist-cjs/lib/ui/hooks/useTools.js +94 -9
  158. package/dist-cjs/lib/ui/hooks/useTools.js.map +2 -2
  159. package/dist-cjs/lib/ui/hooks/useTranslation/TLUiTranslationKey.js.map +1 -1
  160. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js +4 -2
  161. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js.map +2 -2
  162. package/dist-cjs/lib/ui/kbd-utils.js +9 -3
  163. package/dist-cjs/lib/ui/kbd-utils.js.map +2 -2
  164. package/dist-cjs/lib/ui/version.js +3 -3
  165. package/dist-cjs/lib/ui/version.js.map +1 -1
  166. package/dist-cjs/lib/utils/excalidraw/putExcalidrawContent.js.map +1 -1
  167. package/dist-cjs/lib/utils/export/copyAs.js +1 -2
  168. package/dist-cjs/lib/utils/export/copyAs.js.map +2 -2
  169. package/dist-cjs/lib/utils/export/export.js +0 -20
  170. package/dist-cjs/lib/utils/export/export.js.map +2 -2
  171. package/dist-cjs/lib/utils/export/exportAs.js +1 -2
  172. package/dist-cjs/lib/utils/export/exportAs.js.map +2 -2
  173. package/dist-esm/index.d.mts +348 -113
  174. package/dist-esm/index.mjs +75 -29
  175. package/dist-esm/index.mjs.map +2 -2
  176. package/dist-esm/lib/Tldraw.mjs +14 -4
  177. package/dist-esm/lib/Tldraw.mjs.map +2 -2
  178. package/dist-esm/lib/canvas/TldrawScribble.mjs +1 -1
  179. package/dist-esm/lib/canvas/TldrawScribble.mjs.map +2 -2
  180. package/dist-esm/lib/defaultExternalContentHandlers.mjs +5 -4
  181. package/dist-esm/lib/defaultExternalContentHandlers.mjs.map +2 -2
  182. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs +4 -3
  183. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs.map +2 -2
  184. package/dist-esm/lib/shapes/arrow/arrowLabel.mjs +6 -0
  185. package/dist-esm/lib/shapes/arrow/arrowLabel.mjs.map +3 -3
  186. package/dist-esm/lib/shapes/arrow/arrowTargetState.mjs.map +2 -2
  187. package/dist-esm/lib/shapes/arrow/elbow/ElbowArrowDebug.mjs +3 -3
  188. package/dist-esm/lib/shapes/arrow/elbow/ElbowArrowDebug.mjs.map +1 -1
  189. package/dist-esm/lib/shapes/arrow/elbow/elbowArrowSnapLines.mjs.map +1 -1
  190. package/dist-esm/lib/shapes/bookmark/BookmarkShapeUtil.mjs +5 -5
  191. package/dist-esm/lib/shapes/bookmark/BookmarkShapeUtil.mjs.map +2 -2
  192. package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs +4 -3
  193. package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs.map +2 -2
  194. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs +1 -1
  195. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs.map +1 -1
  196. package/dist-esm/lib/shapes/frame/FrameShapeTool.mjs.map +1 -1
  197. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs +21 -13
  198. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs.map +2 -2
  199. package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs +1 -1
  200. package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs.map +2 -2
  201. package/dist-esm/lib/shapes/frame/components/FrameLabelInput.mjs +3 -3
  202. package/dist-esm/lib/shapes/frame/components/FrameLabelInput.mjs.map +2 -2
  203. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs +4 -2
  204. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs.map +2 -2
  205. package/dist-esm/lib/shapes/geo/components/GeoShapeBody.mjs +2 -1
  206. package/dist-esm/lib/shapes/geo/components/GeoShapeBody.mjs.map +2 -2
  207. package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs +6 -1
  208. package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs.map +2 -2
  209. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs +6 -3
  210. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs.map +2 -2
  211. package/dist-esm/lib/shapes/line/LineShapeUtil.mjs +6 -1
  212. package/dist-esm/lib/shapes/line/LineShapeUtil.mjs.map +2 -2
  213. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs +7 -5
  214. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs.map +2 -2
  215. package/dist-esm/lib/shapes/shared/HyperlinkButton.mjs +5 -5
  216. package/dist-esm/lib/shapes/shared/HyperlinkButton.mjs.map +2 -2
  217. package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs +1 -3
  218. package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs.map +2 -2
  219. package/dist-esm/lib/shapes/shared/RichTextLabel.mjs.map +2 -2
  220. package/dist-esm/lib/shapes/shared/ShapeFill.mjs +5 -4
  221. package/dist-esm/lib/shapes/shared/ShapeFill.mjs.map +2 -2
  222. package/dist-esm/lib/shapes/shared/crop.mjs +1 -0
  223. package/dist-esm/lib/shapes/shared/crop.mjs.map +2 -2
  224. package/dist-esm/lib/shapes/shared/freehand/svg.mjs.map +2 -2
  225. package/dist-esm/lib/shapes/shared/useEditablePlainText.mjs +4 -5
  226. package/dist-esm/lib/shapes/shared/useEditablePlainText.mjs.map +2 -2
  227. package/dist-esm/lib/shapes/shared/useEditableRichText.mjs.map +2 -2
  228. package/dist-esm/lib/shapes/shared/useImageOrVideoAsset.mjs +0 -2
  229. package/dist-esm/lib/shapes/shared/useImageOrVideoAsset.mjs.map +2 -2
  230. package/dist-esm/lib/shapes/text/PlainTextArea.mjs +3 -3
  231. package/dist-esm/lib/shapes/text/PlainTextArea.mjs.map +2 -2
  232. package/dist-esm/lib/shapes/text/RichTextArea.mjs +3 -4
  233. package/dist-esm/lib/shapes/text/RichTextArea.mjs.map +2 -2
  234. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs +3 -2
  235. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs.map +2 -2
  236. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs +3 -3
  237. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs.map +1 -1
  238. package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs +26 -1
  239. package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs.map +2 -2
  240. package/dist-esm/lib/tools/EraserTool/childStates/Pointing.mjs +13 -0
  241. package/dist-esm/lib/tools/EraserTool/childStates/Pointing.mjs.map +2 -2
  242. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs +1 -1
  243. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs.map +2 -2
  244. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs.map +2 -2
  245. package/dist-esm/lib/ui/TldrawUi.mjs +29 -14
  246. package/dist-esm/lib/ui/TldrawUi.mjs.map +3 -3
  247. package/dist-esm/lib/ui/assetUrls.mjs +13 -10
  248. package/dist-esm/lib/ui/assetUrls.mjs.map +2 -2
  249. package/dist-esm/lib/ui/components/A11y.mjs +2 -2
  250. package/dist-esm/lib/ui/components/A11y.mjs.map +2 -2
  251. package/dist-esm/lib/ui/components/ActionsMenu/DefaultActionsMenu.mjs +12 -3
  252. package/dist-esm/lib/ui/components/ActionsMenu/DefaultActionsMenu.mjs.map +2 -2
  253. package/dist-esm/lib/ui/components/{FollowingIndicator.mjs → DefaultFollowingIndicator.mjs} +3 -3
  254. package/dist-esm/lib/ui/components/DefaultFollowingIndicator.mjs.map +7 -0
  255. package/dist-esm/lib/ui/components/DefaultMenuPanel.mjs +3 -2
  256. package/dist-esm/lib/ui/components/DefaultMenuPanel.mjs.map +2 -2
  257. package/dist-esm/lib/ui/components/EditLinkDialog.mjs +11 -1
  258. package/dist-esm/lib/ui/components/EditLinkDialog.mjs.map +2 -2
  259. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs +6 -6
  260. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs.map +1 -1
  261. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs +4 -4
  262. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs.map +2 -2
  263. package/dist-esm/lib/ui/components/MobileStylePanel.mjs +6 -3
  264. package/dist-esm/lib/ui/components/MobileStylePanel.mjs.map +2 -2
  265. package/dist-esm/lib/ui/components/NavigationPanel/DefaultNavigationPanel.mjs +1 -1
  266. package/dist-esm/lib/ui/components/NavigationPanel/DefaultNavigationPanel.mjs.map +2 -2
  267. package/dist-esm/lib/ui/components/PageMenu/DefaultPageMenu.mjs +4 -3
  268. package/dist-esm/lib/ui/components/PageMenu/DefaultPageMenu.mjs.map +2 -2
  269. package/dist-esm/lib/ui/components/SharePanel/PeopleMenuItem.mjs +3 -2
  270. package/dist-esm/lib/ui/components/SharePanel/PeopleMenuItem.mjs.map +2 -2
  271. package/dist-esm/lib/ui/components/SharePanel/UserPresenceColorPicker.mjs +2 -2
  272. package/dist-esm/lib/ui/components/SharePanel/UserPresenceColorPicker.mjs.map +2 -2
  273. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs +14 -5
  274. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs.map +2 -2
  275. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs +257 -320
  276. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs.map +2 -2
  277. package/dist-esm/lib/ui/components/StylePanel/StylePanelButtonPicker.mjs +126 -0
  278. package/dist-esm/lib/ui/components/StylePanel/StylePanelButtonPicker.mjs.map +7 -0
  279. package/dist-esm/lib/ui/components/StylePanel/StylePanelContext.mjs +48 -0
  280. package/dist-esm/lib/ui/components/StylePanel/StylePanelContext.mjs.map +7 -0
  281. package/dist-esm/lib/ui/components/StylePanel/{DoubleDropdownPicker.mjs → StylePanelDoubleDropdownPicker.mjs} +23 -22
  282. package/dist-esm/lib/ui/components/StylePanel/StylePanelDoubleDropdownPicker.mjs.map +7 -0
  283. package/dist-esm/lib/ui/components/StylePanel/{DropdownPicker.mjs → StylePanelDropdownPicker.mjs} +44 -40
  284. package/dist-esm/lib/ui/components/StylePanel/StylePanelDropdownPicker.mjs.map +7 -0
  285. package/dist-esm/lib/ui/components/StylePanel/StylePanelSubheading.mjs +8 -0
  286. package/dist-esm/lib/ui/components/StylePanel/StylePanelSubheading.mjs.map +7 -0
  287. package/dist-esm/lib/ui/components/Toolbar/AltTextEditor.mjs +3 -2
  288. package/dist-esm/lib/ui/components/Toolbar/AltTextEditor.mjs.map +2 -2
  289. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbarContent.mjs +39 -10
  290. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbarContent.mjs.map +2 -2
  291. package/dist-esm/lib/ui/components/Toolbar/DefaultToolbar.mjs +56 -21
  292. package/dist-esm/lib/ui/components/Toolbar/DefaultToolbar.mjs.map +2 -2
  293. package/dist-esm/lib/ui/components/Toolbar/DefaultVideoToolbarContent.mjs +15 -3
  294. package/dist-esm/lib/ui/components/Toolbar/DefaultVideoToolbarContent.mjs.map +2 -2
  295. package/dist-esm/lib/ui/components/Toolbar/LinkEditor.mjs +3 -3
  296. package/dist-esm/lib/ui/components/Toolbar/LinkEditor.mjs.map +2 -2
  297. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs +192 -81
  298. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs.map +3 -3
  299. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs +2 -2
  300. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs.map +2 -2
  301. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs +12 -3
  302. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs.map +2 -2
  303. package/dist-esm/lib/ui/components/primitives/TldrawUiInput.mjs +3 -3
  304. package/dist-esm/lib/ui/components/primitives/TldrawUiInput.mjs.map +2 -2
  305. package/dist-esm/lib/ui/components/primitives/TldrawUiPopover.mjs +3 -2
  306. package/dist-esm/lib/ui/components/primitives/TldrawUiPopover.mjs.map +2 -2
  307. package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs +18 -5
  308. package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs.map +2 -2
  309. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs +21 -4
  310. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs.map +2 -2
  311. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs +195 -160
  312. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs.map +2 -2
  313. package/dist-esm/lib/ui/components/primitives/layout.mjs +46 -0
  314. package/dist-esm/lib/ui/components/primitives/layout.mjs.map +7 -0
  315. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuContext.mjs.map +2 -2
  316. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuGroup.mjs +25 -12
  317. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuGroup.mjs.map +2 -2
  318. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs +162 -22
  319. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs.map +2 -2
  320. package/dist-esm/lib/ui/context/actions.mjs +23 -10
  321. package/dist-esm/lib/ui/context/actions.mjs.map +2 -2
  322. package/dist-esm/lib/ui/context/components.mjs +2 -0
  323. package/dist-esm/lib/ui/context/components.mjs.map +2 -2
  324. package/dist-esm/lib/ui/context/events.mjs.map +2 -2
  325. package/dist-esm/lib/ui/hooks/useClipboardEvents.mjs +2 -2
  326. package/dist-esm/lib/ui/hooks/useClipboardEvents.mjs.map +2 -2
  327. package/dist-esm/lib/ui/hooks/useExportAs.mjs +3 -2
  328. package/dist-esm/lib/ui/hooks/useExportAs.mjs.map +2 -2
  329. package/dist-esm/lib/ui/hooks/useTools.mjs +102 -10
  330. package/dist-esm/lib/ui/hooks/useTools.mjs.map +2 -2
  331. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs +4 -2
  332. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs.map +2 -2
  333. package/dist-esm/lib/ui/kbd-utils.mjs +9 -3
  334. package/dist-esm/lib/ui/kbd-utils.mjs.map +2 -2
  335. package/dist-esm/lib/ui/version.mjs +3 -3
  336. package/dist-esm/lib/ui/version.mjs.map +1 -1
  337. package/dist-esm/lib/utils/excalidraw/putExcalidrawContent.mjs.map +1 -1
  338. package/dist-esm/lib/utils/export/copyAs.mjs +1 -2
  339. package/dist-esm/lib/utils/export/copyAs.mjs.map +2 -2
  340. package/dist-esm/lib/utils/export/export.mjs +0 -20
  341. package/dist-esm/lib/utils/export/export.mjs.map +2 -2
  342. package/dist-esm/lib/utils/export/exportAs.mjs +1 -2
  343. package/dist-esm/lib/utils/export/exportAs.mjs.map +2 -2
  344. package/package.json +11 -34
  345. package/src/index.ts +56 -22
  346. package/src/lib/Tldraw.tsx +15 -2
  347. package/src/lib/canvas/TldrawScribble.tsx +1 -1
  348. package/src/lib/defaultExternalContentHandlers.ts +12 -4
  349. package/src/lib/shapes/arrow/ArrowShapeOptions.test.ts +2 -1
  350. package/src/lib/shapes/arrow/ArrowShapeTool.test.ts +6 -5
  351. package/src/lib/shapes/arrow/ArrowShapeUtil.test.ts +48 -6
  352. package/src/lib/shapes/arrow/ArrowShapeUtil.tsx +4 -3
  353. package/src/lib/shapes/arrow/arrowLabel.ts +8 -0
  354. package/src/lib/shapes/arrow/arrowTargetState.ts +1 -1
  355. package/src/lib/shapes/arrow/elbow/ElbowArrowDebug.tsx +3 -3
  356. package/src/lib/shapes/arrow/elbow/elbowArrowSnapLines.tsx +2 -2
  357. package/src/lib/shapes/bookmark/BookmarkShapeUtil.tsx +5 -5
  358. package/src/lib/shapes/draw/DrawShapeTool.test.ts +0 -5
  359. package/src/lib/shapes/draw/DrawShapeUtil.tsx +4 -3
  360. package/src/lib/shapes/embed/EmbedShapeUtil.tsx +1 -1
  361. package/src/lib/shapes/frame/FrameShapeTool.ts +1 -1
  362. package/src/lib/shapes/frame/FrameShapeUtil.tsx +30 -14
  363. package/src/lib/shapes/frame/components/FrameHeading.tsx +1 -1
  364. package/src/lib/shapes/frame/components/FrameLabelInput.tsx +3 -3
  365. package/src/lib/shapes/geo/GeoShapeUtil.tsx +4 -2
  366. package/src/lib/shapes/geo/components/GeoShapeBody.tsx +2 -2
  367. package/src/lib/shapes/highlight/HighlightShapeUtil.tsx +7 -1
  368. package/src/lib/shapes/image/ImageShapeUtil.tsx +6 -3
  369. package/src/lib/shapes/line/LineShapeUtil.test.tsx +8 -7
  370. package/src/lib/shapes/line/LineShapeUtil.tsx +6 -1
  371. package/src/lib/shapes/line/__snapshots__/LineShapeUtil.test.tsx.snap +2 -2
  372. package/src/lib/shapes/note/NoteShapeTool.test.ts +2 -1
  373. package/src/lib/shapes/note/NoteShapeUtil.tsx +10 -4
  374. package/src/lib/shapes/shared/HyperlinkButton.tsx +5 -5
  375. package/src/lib/shapes/shared/PlainTextLabel.tsx +2 -7
  376. package/src/lib/shapes/shared/RichTextLabel.tsx +2 -1
  377. package/src/lib/shapes/shared/ShapeFill.tsx +5 -4
  378. package/src/lib/shapes/shared/crop.ts +1 -0
  379. package/src/lib/shapes/shared/freehand/svg.ts +2 -0
  380. package/src/lib/shapes/shared/useEditablePlainText.ts +12 -12
  381. package/src/lib/shapes/shared/useEditableRichText.ts +7 -3
  382. package/src/lib/shapes/shared/useImageOrVideoAsset.ts +0 -7
  383. package/src/lib/shapes/text/PlainTextArea.tsx +3 -3
  384. package/src/lib/shapes/text/RichTextArea.tsx +3 -4
  385. package/src/lib/shapes/text/TextShapeTool.test.ts +6 -5
  386. package/src/lib/shapes/text/TextShapeUtil.tsx +3 -2
  387. package/src/lib/shapes/video/VideoShapeUtil.tsx +3 -3
  388. package/src/lib/tools/EraserTool/childStates/Erasing.ts +34 -1
  389. package/src/lib/tools/EraserTool/childStates/Pointing.ts +20 -0
  390. package/src/lib/tools/SelectTool/childStates/DraggingHandle.tsx +1 -1
  391. package/src/lib/tools/SelectTool/childStates/Translating.ts +0 -1
  392. package/src/lib/ui/TldrawUi.tsx +33 -12
  393. package/src/lib/ui/assetUrls.ts +13 -10
  394. package/src/lib/ui/components/A11y.tsx +2 -2
  395. package/src/lib/ui/components/ActionsMenu/DefaultActionsMenu.tsx +15 -3
  396. package/src/lib/ui/components/{FollowingIndicator.tsx → DefaultFollowingIndicator.tsx} +2 -1
  397. package/src/lib/ui/components/DefaultMenuPanel.tsx +4 -3
  398. package/src/lib/ui/components/EditLinkDialog.tsx +16 -6
  399. package/src/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.tsx +6 -6
  400. package/src/lib/ui/components/Minimap/MinimapManager.ts +4 -4
  401. package/src/lib/ui/components/MobileStylePanel.tsx +9 -6
  402. package/src/lib/ui/components/NavigationPanel/DefaultNavigationPanel.tsx +1 -1
  403. package/src/lib/ui/components/PageMenu/DefaultPageMenu.tsx +5 -4
  404. package/src/lib/ui/components/SharePanel/PeopleMenuItem.tsx +4 -3
  405. package/src/lib/ui/components/SharePanel/UserPresenceColorPicker.tsx +3 -3
  406. package/src/lib/ui/components/StylePanel/DefaultStylePanel.tsx +27 -13
  407. package/src/lib/ui/components/StylePanel/DefaultStylePanelContent.tsx +260 -385
  408. package/src/lib/ui/components/{primitives/TldrawUiButtonPicker.tsx → StylePanel/StylePanelButtonPicker.tsx} +66 -50
  409. package/src/lib/ui/components/StylePanel/StylePanelContext.tsx +63 -0
  410. package/src/lib/ui/components/StylePanel/{DoubleDropdownPicker.tsx → StylePanelDoubleDropdownPicker.tsx} +31 -22
  411. package/src/lib/ui/components/StylePanel/StylePanelDropdownPicker.tsx +119 -0
  412. package/src/lib/ui/components/StylePanel/StylePanelSubheading.tsx +9 -0
  413. package/src/lib/ui/components/Toolbar/AltTextEditor.tsx +5 -4
  414. package/src/lib/ui/components/Toolbar/DefaultImageToolbarContent.tsx +33 -16
  415. package/src/lib/ui/components/Toolbar/DefaultToolbar.tsx +55 -23
  416. package/src/lib/ui/components/Toolbar/DefaultVideoToolbarContent.tsx +12 -4
  417. package/src/lib/ui/components/Toolbar/LinkEditor.tsx +5 -5
  418. package/src/lib/ui/components/Toolbar/OverflowingToolbar.tsx +212 -61
  419. package/src/lib/ui/components/Toolbar/ToggleToolLockedButton.tsx +2 -2
  420. package/src/lib/ui/components/primitives/TldrawUiContextualToolbar.tsx +8 -3
  421. package/src/lib/ui/components/primitives/TldrawUiInput.tsx +3 -3
  422. package/src/lib/ui/components/primitives/TldrawUiPopover.tsx +4 -2
  423. package/src/lib/ui/components/primitives/TldrawUiSlider.tsx +52 -32
  424. package/src/lib/ui/components/primitives/TldrawUiToolbar.tsx +35 -9
  425. package/src/lib/ui/components/primitives/TldrawUiTooltip.tsx +232 -180
  426. package/src/lib/ui/components/primitives/layout.tsx +107 -0
  427. package/src/lib/ui/components/primitives/menus/TldrawUiMenuContext.tsx +0 -1
  428. package/src/lib/ui/components/primitives/menus/TldrawUiMenuGroup.tsx +29 -16
  429. package/src/lib/ui/components/primitives/menus/TldrawUiMenuItem.tsx +221 -19
  430. package/src/lib/ui/context/actions.tsx +23 -10
  431. package/src/lib/ui/context/components.tsx +3 -0
  432. package/src/lib/ui/context/events.tsx +2 -1
  433. package/src/lib/ui/hooks/useClipboardEvents.ts +2 -2
  434. package/src/lib/ui/hooks/useExportAs.ts +3 -2
  435. package/src/lib/ui/hooks/useTools.tsx +140 -10
  436. package/src/lib/ui/hooks/useTranslation/TLUiTranslationKey.ts +2 -0
  437. package/src/lib/ui/hooks/useTranslation/defaultTranslation.ts +4 -2
  438. package/src/lib/ui/kbd-utils.ts +10 -3
  439. package/src/lib/ui/version.ts +3 -3
  440. package/src/lib/ui.css +381 -306
  441. package/src/lib/utils/excalidraw/__snapshots__/putExcalidrawContent.test.tsx.snap +5 -5
  442. package/src/lib/utils/excalidraw/putExcalidrawContent.ts +6 -6
  443. package/src/lib/utils/export/copyAs.ts +1 -24
  444. package/src/lib/utils/export/export.ts +0 -36
  445. package/src/lib/utils/export/exportAs.ts +1 -32
  446. package/src/lib/utils/tldr/__snapshots__/buildFromV1Document.test.ts.snap +4 -4
  447. package/src/test/A11y.test.tsx +3 -2
  448. package/src/test/ClickManager.test.ts +7 -6
  449. package/src/test/Editor.test.tsx +55 -27
  450. package/src/test/EraserTool.test.ts +184 -13
  451. package/src/test/HandTool.test.ts +10 -9
  452. package/src/test/HighlightShape.test.ts +2 -1
  453. package/src/test/SelectTool.test.ts +3 -2
  454. package/src/test/TLUserPreferences.test.ts +4 -3
  455. package/src/test/TestEditor.ts +13 -15
  456. package/src/test/TldrawEditor.test.tsx +26 -19
  457. package/src/test/ZoomTool.test.ts +7 -6
  458. package/src/test/__snapshots__/drawing.test.ts.snap +2 -2
  459. package/src/test/__snapshots__/groups.test.tsx.snap +6 -6
  460. package/src/test/__snapshots__/resizing.test.ts.snap +2 -2
  461. package/src/test/arrows-megabus.test.tsx +5 -4
  462. package/src/test/bindings.test.tsx +24 -37
  463. package/src/test/bookmark-shapes.test.ts +1 -8
  464. package/src/test/commands/__snapshots__/getSvgString.test.ts.snap +23 -7
  465. package/src/test/commands/__snapshots__/packShapes.test.ts.snap +8 -8
  466. package/src/test/commands/__snapshots__/zoomToFit.test.ts.snap +2 -2
  467. package/src/test/commands/alignShapes.test.tsx +25 -24
  468. package/src/test/commands/animationSpeed.test.ts +2 -1
  469. package/src/test/commands/centerOnPoint.test.ts +3 -2
  470. package/src/test/commands/clipboard.test.ts +3 -2
  471. package/src/test/commands/createShapes.test.ts +2 -1
  472. package/src/test/commands/deleteShapes.test.ts +2 -1
  473. package/src/test/commands/distributeShapes.test.tsx +11 -10
  474. package/src/test/commands/getSvgString.test.ts +2 -1
  475. package/src/test/commands/packShapes.test.ts +5 -4
  476. package/src/test/commands/putContent.test.ts +1 -0
  477. package/src/test/commands/resizeShape.test.ts +2 -1
  478. package/src/test/commands/rotateShapes.test.ts +7 -6
  479. package/src/test/commands/setCamera.test.ts +4 -3
  480. package/src/test/commands/setCurrentPage.test.ts +3 -2
  481. package/src/test/commands/stackShapes.test.ts +11 -10
  482. package/src/test/commands/stretch.test.tsx +13 -12
  483. package/src/test/commands/updateShapes.test.ts +9 -5
  484. package/src/test/createDeepLink.test.tsx +2 -1
  485. package/src/test/cropping.test.ts +3 -2
  486. package/src/test/custom-clipping.test.ts +442 -0
  487. package/src/test/customSnapping.test.tsx +55 -41
  488. package/src/test/drawing.test.ts +2 -1
  489. package/src/test/flipShapes.test.ts +4 -3
  490. package/src/test/frames.test.ts +25 -24
  491. package/src/test/getCulledShapes.test.tsx +80 -4
  492. package/src/test/groups.test.tsx +5 -3
  493. package/src/test/handleDeepLink.test.tsx +2 -1
  494. package/src/test/maxShapes.test.ts +3 -2
  495. package/src/test/modifiers.test.ts +5 -4
  496. package/src/test/navigation.test.ts +12 -11
  497. package/src/test/panning.test.ts +2 -1
  498. package/src/test/perf/perf.test.ts +2 -1
  499. package/src/test/registerDeepLinkListener.test.tsx +10 -9
  500. package/src/test/resizing.test.ts +39 -38
  501. package/src/test/select.test.tsx +4 -3
  502. package/src/test/selection-omnibus.test.ts +11 -10
  503. package/src/test/shapeutils.test.ts +4 -3
  504. package/src/test/translating.test.ts +11 -10
  505. package/tldraw.css +689 -598
  506. package/dist-cjs/lib/ui/components/FollowingIndicator.js.map +0 -7
  507. package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js.map +0 -7
  508. package/dist-cjs/lib/ui/components/StylePanel/DropdownPicker.js.map +0 -7
  509. package/dist-cjs/lib/ui/components/primitives/TldrawUiButtonPicker.js.map +0 -7
  510. package/dist-esm/lib/ui/components/FollowingIndicator.mjs.map +0 -7
  511. package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs.map +0 -7
  512. package/dist-esm/lib/ui/components/StylePanel/DropdownPicker.mjs.map +0 -7
  513. package/dist-esm/lib/ui/components/primitives/TldrawUiButtonPicker.mjs +0 -115
  514. package/dist-esm/lib/ui/components/primitives/TldrawUiButtonPicker.mjs.map +0 -7
  515. package/src/lib/ui/components/StylePanel/DropdownPicker.tsx +0 -109
package/dist-cjs/index.js CHANGED
@@ -33,7 +33,6 @@ __export(index_exports, {
33
33
  ArrowShapeUtil: () => import_ArrowShapeUtil.ArrowShapeUtil,
34
34
  ArrowToolbarItem: () => import_DefaultToolbarContent.ArrowToolbarItem,
35
35
  ArrowUpToolbarItem: () => import_DefaultToolbarContent.ArrowUpToolbarItem,
36
- ArrowheadStylePickerSet: () => import_DefaultStylePanelContent.ArrowheadStylePickerSet,
37
36
  AssetToolbarItem: () => import_DefaultToolbarContent.AssetToolbarItem,
38
37
  AssetUrlsProvider: () => import_asset_urls.AssetUrlsProvider,
39
38
  BookmarkShapeUtil: () => import_BookmarkShapeUtil.BookmarkShapeUtil,
@@ -43,7 +42,6 @@ __export(index_exports, {
43
42
  ClipboardMenuGroup: () => import_menu_items.ClipboardMenuGroup,
44
43
  CloudToolbarItem: () => import_DefaultToolbarContent.CloudToolbarItem,
45
44
  ColorSchemeMenu: () => import_ColorSchemeMenu.ColorSchemeMenu,
46
- CommonStylePickerSet: () => import_DefaultStylePanelContent.CommonStylePickerSet,
47
45
  ContextMenu: () => import_DefaultContextMenu.DefaultContextMenu,
48
46
  ConversionsMenuGroup: () => import_menu_items.ConversionsMenuGroup,
49
47
  ConvertToBookmarkMenuItem: () => import_menu_items.ConvertToBookmarkMenuItem,
@@ -64,6 +62,7 @@ __export(index_exports, {
64
62
  DefaultDebugMenu: () => import_DefaultDebugMenu.DefaultDebugMenu,
65
63
  DefaultDebugMenuContent: () => import_DefaultDebugMenuContent.DefaultDebugMenuContent,
66
64
  DefaultDialogs: () => import_Dialogs.DefaultDialogs,
65
+ DefaultFollowingIndicator: () => import_DefaultFollowingIndicator.DefaultFollowingIndicator,
67
66
  DefaultFontFaces: () => import_defaultFonts.DefaultFontFaces,
68
67
  DefaultHelpMenu: () => import_DefaultHelpMenu.DefaultHelpMenu,
69
68
  DefaultHelpMenuContent: () => import_DefaultHelpMenuContent.DefaultHelpMenuContent,
@@ -120,7 +119,6 @@ __export(index_exports, {
120
119
  FrameToolbarItem: () => import_DefaultToolbarContent.FrameToolbarItem,
121
120
  GeoShapeTool: () => import_GeoShapeTool.GeoShapeTool,
122
121
  GeoShapeUtil: () => import_GeoShapeUtil.GeoShapeUtil,
123
- GeoStylePickerSet: () => import_DefaultStylePanelContent.GeoStylePickerSet,
124
122
  GroupMenuItem: () => import_menu_items.GroupMenuItem,
125
123
  GroupOrUngroupMenuItem: () => import_DefaultActionsMenuContent.GroupOrUngroupMenuItem,
126
124
  HandTool: () => import_HandTool.HandTool,
@@ -148,7 +146,6 @@ __export(index_exports, {
148
146
  NoteShapeUtil: () => import_NoteShapeUtil.NoteShapeUtil,
149
147
  NoteToolbarItem: () => import_DefaultToolbarContent.NoteToolbarItem,
150
148
  OfflineIndicator: () => import_OfflineIndicator.OfflineIndicator,
151
- OpacitySlider: () => import_DefaultStylePanelContent.OpacitySlider,
152
149
  OvalToolbarItem: () => import_DefaultToolbarContent.OvalToolbarItem,
153
150
  OverflowingToolbar: () => import_OverflowingToolbar.OverflowingToolbar,
154
151
  PORTRAIT_BREAKPOINT: () => import_constants.PORTRAIT_BREAKPOINT,
@@ -176,9 +173,26 @@ __export(index_exports, {
176
173
  SelectTool: () => import_SelectTool.SelectTool,
177
174
  SelectToolbarItem: () => import_DefaultToolbarContent.SelectToolbarItem,
178
175
  Spinner: () => import_Spinner.Spinner,
179
- SplineStylePickerSet: () => import_DefaultStylePanelContent.SplineStylePickerSet,
180
176
  StackMenuItems: () => import_DefaultActionsMenuContent.StackMenuItems,
181
177
  StarToolbarItem: () => import_DefaultToolbarContent.StarToolbarItem,
178
+ StylePanelArrowKindPicker: () => import_DefaultStylePanelContent.StylePanelArrowKindPicker,
179
+ StylePanelArrowheadPicker: () => import_DefaultStylePanelContent.StylePanelArrowheadPicker,
180
+ StylePanelButtonPicker: () => import_StylePanelButtonPicker.StylePanelButtonPicker,
181
+ StylePanelColorPicker: () => import_DefaultStylePanelContent.StylePanelColorPicker,
182
+ StylePanelContextProvider: () => import_StylePanelContext.StylePanelContextProvider,
183
+ StylePanelDashPicker: () => import_DefaultStylePanelContent.StylePanelDashPicker,
184
+ StylePanelDoubleDropdownPicker: () => import_StylePanelDoubleDropdownPicker.StylePanelDoubleDropdownPicker,
185
+ StylePanelDropdownPicker: () => import_StylePanelDropdownPicker.StylePanelDropdownPicker,
186
+ StylePanelFillPicker: () => import_DefaultStylePanelContent.StylePanelFillPicker,
187
+ StylePanelFontPicker: () => import_DefaultStylePanelContent.StylePanelFontPicker,
188
+ StylePanelGeoShapePicker: () => import_DefaultStylePanelContent.StylePanelGeoShapePicker,
189
+ StylePanelLabelAlignPicker: () => import_DefaultStylePanelContent.StylePanelLabelAlignPicker,
190
+ StylePanelOpacityPicker: () => import_DefaultStylePanelContent.StylePanelOpacityPicker,
191
+ StylePanelSection: () => import_DefaultStylePanelContent.StylePanelSection,
192
+ StylePanelSizePicker: () => import_DefaultStylePanelContent.StylePanelSizePicker,
193
+ StylePanelSplinePicker: () => import_DefaultStylePanelContent.StylePanelSplinePicker,
194
+ StylePanelSubheading: () => import_StylePanelSubheading.StylePanelSubheading,
195
+ StylePanelTextAlignPicker: () => import_DefaultStylePanelContent.StylePanelTextAlignPicker,
182
196
  TEXT_PROPS: () => import_default_shape_constants.TEXT_PROPS,
183
197
  TLDRAW_FILE_EXTENSION: () => import_file.TLDRAW_FILE_EXTENSION,
184
198
  TLV1AlignStyle: () => import_buildFromV1Document.TLV1AlignStyle,
@@ -190,10 +204,8 @@ __export(index_exports, {
190
204
  TLV1ShapeType: () => import_buildFromV1Document.TLV1ShapeType,
191
205
  TLV1SizeStyle: () => import_buildFromV1Document.TLV1SizeStyle,
192
206
  TextDirection: () => import_textDirection.TextDirection,
193
- TextLabel: () => import_PlainTextLabel.TextLabel,
194
207
  TextShapeTool: () => import_TextShapeTool.TextShapeTool,
195
208
  TextShapeUtil: () => import_TextShapeUtil.TextShapeUtil,
196
- TextStylePickerSet: () => import_DefaultStylePanelContent.TextStylePickerSet,
197
209
  TextToolbarItem: () => import_DefaultToolbarContent.TextToolbarItem,
198
210
  Tldraw: () => import_Tldraw.Tldraw,
199
211
  TldrawArrowHints: () => import_TldrawOverlays.TldrawArrowHints,
@@ -210,7 +222,7 @@ __export(index_exports, {
210
222
  TldrawUiButtonCheck: () => import_TldrawUiButtonCheck.TldrawUiButtonCheck,
211
223
  TldrawUiButtonIcon: () => import_TldrawUiButtonIcon.TldrawUiButtonIcon,
212
224
  TldrawUiButtonLabel: () => import_TldrawUiButtonLabel.TldrawUiButtonLabel,
213
- TldrawUiButtonPicker: () => import_TldrawUiButtonPicker.TldrawUiButtonPicker,
225
+ TldrawUiColumn: () => import_layout.TldrawUiColumn,
214
226
  TldrawUiComponentsProvider: () => import_components.TldrawUiComponentsProvider,
215
227
  TldrawUiContextProvider: () => import_TldrawUiContextProvider.TldrawUiContextProvider,
216
228
  TldrawUiContextualToolbar: () => import_TldrawUiContextualToolbar.TldrawUiContextualToolbar,
@@ -230,7 +242,9 @@ __export(index_exports, {
230
242
  TldrawUiDropdownMenuSubTrigger: () => import_TldrawUiDropdownMenu.TldrawUiDropdownMenuSubTrigger,
231
243
  TldrawUiDropdownMenuTrigger: () => import_TldrawUiDropdownMenu.TldrawUiDropdownMenuTrigger,
232
244
  TldrawUiEventsProvider: () => import_events.TldrawUiEventsProvider,
245
+ TldrawUiGrid: () => import_layout.TldrawUiGrid,
233
246
  TldrawUiIcon: () => import_TldrawUiIcon.TldrawUiIcon,
247
+ TldrawUiInFrontOfTheCanvas: () => import_TldrawUi.TldrawUiInFrontOfTheCanvas,
234
248
  TldrawUiInput: () => import_TldrawUiInput.TldrawUiInput,
235
249
  TldrawUiKbd: () => import_TldrawUiKbd.TldrawUiKbd,
236
250
  TldrawUiMenuActionCheckboxItem: () => import_TldrawUiMenuActionCheckboxItem.TldrawUiMenuActionCheckboxItem,
@@ -241,9 +255,11 @@ __export(index_exports, {
241
255
  TldrawUiMenuItem: () => import_TldrawUiMenuItem.TldrawUiMenuItem,
242
256
  TldrawUiMenuSubmenu: () => import_TldrawUiMenuSubmenu.TldrawUiMenuSubmenu,
243
257
  TldrawUiMenuToolItem: () => import_TldrawUiMenuToolItem.TldrawUiMenuToolItem,
258
+ TldrawUiOrientationProvider: () => import_layout.TldrawUiOrientationProvider,
244
259
  TldrawUiPopover: () => import_TldrawUiPopover.TldrawUiPopover,
245
260
  TldrawUiPopoverContent: () => import_TldrawUiPopover.TldrawUiPopoverContent,
246
261
  TldrawUiPopoverTrigger: () => import_TldrawUiPopover.TldrawUiPopoverTrigger,
262
+ TldrawUiRow: () => import_layout.TldrawUiRow,
247
263
  TldrawUiSlider: () => import_TldrawUiSlider.TldrawUiSlider,
248
264
  TldrawUiToastsProvider: () => import_toasts.TldrawUiToastsProvider,
249
265
  TldrawUiToolbar: () => import_TldrawUiToolbar.TldrawUiToolbar,
@@ -309,7 +325,6 @@ __export(index_exports, {
309
325
  downsizeImage: () => import_assets.downsizeImage,
310
326
  embedShapePermissionDefaults: () => import_defaultEmbedDefinitions.embedShapePermissionDefaults,
311
327
  exportAs: () => import_exportAs.exportAs,
312
- exportToBlob: () => import_export.exportToBlob,
313
328
  fitFrameToContent: () => import_frames.fitFrameToContent,
314
329
  getArrowBindings: () => import_shared.getArrowBindings,
315
330
  getArrowInfo: () => import_shared.getArrowInfo,
@@ -320,7 +335,11 @@ __export(index_exports, {
320
335
  getEmbedInfo: () => import_embeds.getEmbedInfo,
321
336
  getHitShapeOnCanvasPointerDown: () => import_getHitShapeOnCanvasPointerDown.getHitShapeOnCanvasPointerDown,
322
337
  getMediaAssetInfoPartial: () => import_defaultExternalContentHandlers.getMediaAssetInfoPartial,
338
+ getStrokePoints: () => import_getStrokePoints.getStrokePoints,
339
+ getSvgPathFromStrokePoints: () => import_svg.getSvgPathFromStrokePoints,
323
340
  getUncroppedSize: () => import_crop.getUncroppedSize,
341
+ notifyIfFileNotAllowed: () => import_defaultExternalContentHandlers.notifyIfFileNotAllowed,
342
+ onDragFromToolbarToCreateShape: () => import_useTools.onDragFromToolbarToCreateShape,
324
343
  parseAndLoadDocument: () => import_file.parseAndLoadDocument,
325
344
  parseTldrawJsonFile: () => import_file.parseTldrawJsonFile,
326
345
  preloadFont: () => import_preload_font.preloadFont,
@@ -341,7 +360,6 @@ __export(index_exports, {
341
360
  unwrapLabel: () => import_actions.unwrapLabel,
342
361
  useA11y: () => import_a11y.useA11y,
343
362
  useActions: () => import_actions.useActions,
344
- useAsset: () => import_useImageOrVideoAsset.useAsset,
345
363
  useAssetUrls: () => import_asset_urls.useAssetUrls,
346
364
  useBreakpoint: () => import_breakpoints.useBreakpoint,
347
365
  useCanRedo: () => import_menu_hooks.useCanRedo,
@@ -354,7 +372,6 @@ __export(index_exports, {
354
372
  useDialogs: () => import_dialogs.useDialogs,
355
373
  useEditablePlainText: () => import_useEditablePlainText.useEditablePlainText,
356
374
  useEditableRichText: () => import_useEditableRichText.useEditableRichText,
357
- useEditableText: () => import_useEditablePlainText.useEditableText,
358
375
  useExportAs: () => import_useExportAs.useExportAs,
359
376
  useImageOrVideoAsset: () => import_useImageOrVideoAsset.useImageOrVideoAsset,
360
377
  useIsToolSelected: () => import_DefaultToolbarContent.useIsToolSelected,
@@ -368,7 +385,9 @@ __export(index_exports, {
368
385
  useRelevantStyles: () => import_useRelevantStyles.useRelevantStyles,
369
386
  useSelectedShapesAnnouncer: () => import_A11y.useSelectedShapesAnnouncer,
370
387
  useShowCollaborationUi: () => import_useCollaborationStatus.useShowCollaborationUi,
388
+ useStylePanelContext: () => import_StylePanelContext.useStylePanelContext,
371
389
  useTldrawUiComponents: () => import_components.useTldrawUiComponents,
390
+ useTldrawUiOrientation: () => import_layout.useTldrawUiOrientation,
372
391
  useToasts: () => import_toasts.useToasts,
373
392
  useTools: () => import_useTools.useTools,
374
393
  useTranslation: () => import_useTranslation2.useTranslation,
@@ -382,7 +401,9 @@ var import_usePrefersReducedMotion = require("./lib/shapes/shared/usePrefersRedu
382
401
  var import_A11y = require("./lib/ui/components/A11y");
383
402
  var import_AccessibilityMenu = require("./lib/ui/components/AccessibilityMenu");
384
403
  var import_ColorSchemeMenu = require("./lib/ui/components/ColorSchemeMenu");
404
+ var import_DefaultFollowingIndicator = require("./lib/ui/components/DefaultFollowingIndicator");
385
405
  var import_Dialogs = require("./lib/ui/components/Dialogs");
406
+ var import_layout = require("./lib/ui/components/primitives/layout");
386
407
  var import_TldrawUiMenuActionCheckboxItem = require("./lib/ui/components/primitives/menus/TldrawUiMenuActionCheckboxItem");
387
408
  var import_TldrawUiMenuActionItem = require("./lib/ui/components/primitives/menus/TldrawUiMenuActionItem");
388
409
  var import_TldrawUiMenuToolItem = require("./lib/ui/components/primitives/menus/TldrawUiMenuToolItem");
@@ -424,6 +445,8 @@ var import_NoteShapeUtil = require("./lib/shapes/note/NoteShapeUtil");
424
445
  var import_crop = require("./lib/shapes/shared/crop");
425
446
  var import_default_shape_constants = require("./lib/shapes/shared/default-shape-constants");
426
447
  var import_defaultFonts = require("./lib/shapes/shared/defaultFonts");
448
+ var import_getStrokePoints = require("./lib/shapes/shared/freehand/getStrokePoints");
449
+ var import_svg = require("./lib/shapes/shared/freehand/svg");
427
450
  var import_PlainTextLabel = require("./lib/shapes/shared/PlainTextLabel");
428
451
  var import_RichTextLabel = require("./lib/shapes/shared/RichTextLabel");
429
452
  var import_useDefaultColorTheme = require("./lib/shapes/shared/useDefaultColorTheme");
@@ -477,7 +500,6 @@ var import_TldrawUiMenuContext = require("./lib/ui/components/primitives/menus/T
477
500
  var import_TldrawUiMenuGroup = require("./lib/ui/components/primitives/menus/TldrawUiMenuGroup");
478
501
  var import_TldrawUiMenuItem = require("./lib/ui/components/primitives/menus/TldrawUiMenuItem");
479
502
  var import_TldrawUiMenuSubmenu = require("./lib/ui/components/primitives/menus/TldrawUiMenuSubmenu");
480
- var import_TldrawUiButtonPicker = require("./lib/ui/components/primitives/TldrawUiButtonPicker");
481
503
  var import_TldrawUiContextualToolbar = require("./lib/ui/components/primitives/TldrawUiContextualToolbar");
482
504
  var import_TldrawUiDialog = require("./lib/ui/components/primitives/TldrawUiDialog");
483
505
  var import_TldrawUiDropdownMenu = require("./lib/ui/components/primitives/TldrawUiDropdownMenu");
@@ -495,6 +517,11 @@ var import_PeopleMenu = require("./lib/ui/components/SharePanel/PeopleMenu");
495
517
  var import_Spinner = require("./lib/ui/components/Spinner");
496
518
  var import_DefaultStylePanel = require("./lib/ui/components/StylePanel/DefaultStylePanel");
497
519
  var import_DefaultStylePanelContent = require("./lib/ui/components/StylePanel/DefaultStylePanelContent");
520
+ var import_StylePanelButtonPicker = require("./lib/ui/components/StylePanel/StylePanelButtonPicker");
521
+ var import_StylePanelContext = require("./lib/ui/components/StylePanel/StylePanelContext");
522
+ var import_StylePanelDoubleDropdownPicker = require("./lib/ui/components/StylePanel/StylePanelDoubleDropdownPicker");
523
+ var import_StylePanelDropdownPicker = require("./lib/ui/components/StylePanel/StylePanelDropdownPicker");
524
+ var import_StylePanelSubheading = require("./lib/ui/components/StylePanel/StylePanelSubheading");
498
525
  var import_DefaultImageToolbar = require("./lib/ui/components/Toolbar/DefaultImageToolbar");
499
526
  var import_DefaultImageToolbarContent = require("./lib/ui/components/Toolbar/DefaultImageToolbarContent");
500
527
  var import_DefaultRichTextToolbar = require("./lib/ui/components/Toolbar/DefaultRichTextToolbar");
@@ -538,7 +565,6 @@ var import_preload_font = require("./lib/utils/assets/preload-font");
538
565
  var import_embeds = require("./lib/utils/embeds/embeds");
539
566
  var import_putExcalidrawContent = require("./lib/utils/excalidraw/putExcalidrawContent");
540
567
  var import_copyAs = require("./lib/utils/export/copyAs");
541
- var import_export = require("./lib/utils/export/export");
542
568
  var import_exportAs = require("./lib/utils/export/exportAs");
543
569
  var import_frames = require("./lib/utils/frames/frames");
544
570
  var import_assetUrls2 = require("./lib/utils/static-assets/assetUrls");
@@ -549,7 +575,7 @@ var import_buildFromV1Document = require("./lib/utils/tldr/buildFromV1Document")
549
575
  var import_file = require("./lib/utils/tldr/file");
550
576
  (0, import_editor.registerTldrawLibraryVersion)(
551
577
  "tldraw",
552
- "3.16.0-canary.ffdf566dd0a8",
578
+ "3.16.0-internal.71f83a8a571b",
553
579
  "cjs"
554
580
  );
555
581
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "sourcesContent": ["/// <reference types=\"react\" />\n\nimport { registerTldrawLibraryVersion } from '@tldraw/editor'\nexport {\n\tPathBuilder,\n\tPathBuilderGeometry2d,\n\ttype BasePathBuilderOpts,\n\ttype CubicBezierToPathBuilderCommand,\n\ttype DashedPathBuilderOpts,\n\ttype DrawPathBuilderDOpts,\n\ttype DrawPathBuilderOpts,\n\ttype LineToPathBuilderCommand,\n\ttype MoveToPathBuilderCommand,\n\ttype PathBuilderCommand,\n\ttype PathBuilderCommandBase,\n\ttype PathBuilderCommandInfo,\n\ttype PathBuilderCommandOpts,\n\ttype PathBuilderLineOpts,\n\ttype PathBuilderOpts,\n\ttype PathBuilderToDOpts,\n\ttype SolidPathBuilderOpts,\n} from './lib/shapes/shared/PathBuilder'\nexport { usePrefersReducedMotion } from './lib/shapes/shared/usePrefersReducedMotion'\nexport { DefaultA11yAnnouncer, useSelectedShapesAnnouncer } from './lib/ui/components/A11y'\nexport { AccessibilityMenu } from './lib/ui/components/AccessibilityMenu'\nexport { ColorSchemeMenu } from './lib/ui/components/ColorSchemeMenu'\nexport { DefaultDialogs } from './lib/ui/components/Dialogs'\nexport {\n\tTldrawUiMenuActionCheckboxItem,\n\ttype TLUiMenuActionCheckboxItemProps,\n} from './lib/ui/components/primitives/menus/TldrawUiMenuActionCheckboxItem'\nexport {\n\tTldrawUiMenuActionItem,\n\ttype TLUiMenuActionItemProps,\n} from './lib/ui/components/primitives/menus/TldrawUiMenuActionItem'\nexport {\n\tTldrawUiMenuToolItem,\n\ttype TLUiMenuToolItemProps,\n} from './lib/ui/components/primitives/menus/TldrawUiMenuToolItem'\nexport { DefaultToasts } from './lib/ui/components/Toasts'\nexport { TldrawUiTranslationProvider } from './lib/ui/hooks/useTranslation/useTranslation'\n// eslint-disable-next-line local/no-export-star\nexport * from '@tldraw/editor'\nexport { ArrowBindingUtil } from './lib/bindings/arrow/ArrowBindingUtil'\nexport { TldrawCropHandles, type TldrawCropHandlesProps } from './lib/canvas/TldrawCropHandles'\nexport { TldrawHandles } from './lib/canvas/TldrawHandles'\nexport { TldrawArrowHints, TldrawOverlays } from './lib/canvas/TldrawOverlays'\nexport { TldrawScribble } from './lib/canvas/TldrawScribble'\nexport { TldrawSelectionForeground } from './lib/canvas/TldrawSelectionForeground'\nexport { TldrawShapeIndicators } from './lib/canvas/TldrawShapeIndicators'\nexport { defaultBindingUtils } from './lib/defaultBindingUtils'\nexport {\n\tDEFAULT_EMBED_DEFINITIONS,\n\tembedShapePermissionDefaults,\n\ttype CustomEmbedDefinition,\n\ttype DefaultEmbedDefinitionType,\n\ttype EmbedDefinition,\n\ttype TLEmbedDefinition,\n\ttype TLEmbedShapePermissions,\n} from './lib/defaultEmbedDefinitions'\nexport {\n\tcenterSelectionAroundPoint,\n\tcreateEmptyBookmarkShape,\n\tcreateShapesForAssets,\n\tDEFAULT_MAX_ASSET_SIZE,\n\tDEFAULT_MAX_IMAGE_DIMENSION,\n\tdefaultHandleExternalEmbedContent,\n\tdefaultHandleExternalExcalidrawContent,\n\tdefaultHandleExternalFileAsset,\n\tdefaultHandleExternalFileContent,\n\tdefaultHandleExternalSvgTextContent,\n\tdefaultHandleExternalTextContent,\n\tdefaultHandleExternalTldrawContent,\n\tdefaultHandleExternalUrlAsset,\n\tdefaultHandleExternalUrlContent,\n\tgetAssetInfo,\n\tgetMediaAssetInfoPartial,\n\tregisterDefaultExternalContentHandlers,\n\ttype TLDefaultExternalContentHandlerOpts,\n\ttype TLExternalContentProps,\n} from './lib/defaultExternalContentHandlers'\nexport { defaultShapeTools } from './lib/defaultShapeTools'\nexport { defaultShapeUtils } from './lib/defaultShapeUtils'\nexport { registerDefaultSideEffects } from './lib/defaultSideEffects'\nexport { defaultTools } from './lib/defaultTools'\nexport {\n\ttype ArrowShapeOptions,\n\ttype TLArcArrowInfo,\n\ttype TLArcInfo,\n\ttype TLArrowInfo,\n\ttype TLArrowPoint,\n\ttype TLElbowArrowInfo,\n\ttype TLStraightArrowInfo,\n} from './lib/shapes/arrow/arrow-types'\nexport { ArrowShapeTool } from './lib/shapes/arrow/ArrowShapeTool'\nexport { ArrowShapeUtil } from './lib/shapes/arrow/ArrowShapeUtil'\nexport {\n\ttype ElbowArrowBox,\n\ttype ElbowArrowBoxEdges,\n\ttype ElbowArrowBoxes,\n\ttype ElbowArrowEdge,\n\ttype ElbowArrowInfo,\n\ttype ElbowArrowInfoWithoutRoute,\n\ttype ElbowArrowMidpointHandle,\n\ttype ElbowArrowOptions,\n\ttype ElbowArrowRange,\n\ttype ElbowArrowRoute,\n\ttype ElbowArrowSide,\n\ttype ElbowArrowSideReason,\n\ttype ElbowArrowTargetBox,\n} from './lib/shapes/arrow/elbow/definitions'\nexport {\n\tgetArrowBindings,\n\tgetArrowInfo,\n\tgetArrowTerminalsInArrowSpace,\n\ttype TLArrowBindings,\n} from './lib/shapes/arrow/shared'\nexport { BookmarkShapeUtil } from './lib/shapes/bookmark/BookmarkShapeUtil'\nexport { DrawShapeTool } from './lib/shapes/draw/DrawShapeTool'\nexport { DrawShapeUtil, type DrawShapeOptions } from './lib/shapes/draw/DrawShapeUtil'\nexport { EmbedShapeUtil } from './lib/shapes/embed/EmbedShapeUtil'\nexport { FrameShapeTool } from './lib/shapes/frame/FrameShapeTool'\nexport { FrameShapeUtil, type FrameShapeOptions } from './lib/shapes/frame/FrameShapeUtil'\nexport { GeoShapeTool } from './lib/shapes/geo/GeoShapeTool'\nexport { GeoShapeUtil } from './lib/shapes/geo/GeoShapeUtil'\nexport { HighlightShapeTool } from './lib/shapes/highlight/HighlightShapeTool'\nexport {\n\tHighlightShapeUtil,\n\ttype HighlightShapeOptions,\n} from './lib/shapes/highlight/HighlightShapeUtil'\nexport { ImageShapeUtil } from './lib/shapes/image/ImageShapeUtil'\nexport { LineShapeTool } from './lib/shapes/line/LineShapeTool'\nexport { LineShapeUtil } from './lib/shapes/line/LineShapeUtil'\nexport { NoteShapeTool } from './lib/shapes/note/NoteShapeTool'\nexport { NoteShapeUtil, type NoteShapeOptions } from './lib/shapes/note/NoteShapeUtil'\nexport {\n\tASPECT_RATIO_OPTIONS,\n\tASPECT_RATIO_TO_VALUE,\n\tgetCropBox,\n\tgetDefaultCrop,\n\tgetUncroppedSize,\n\ttype ASPECT_RATIO_OPTION,\n\ttype CropBoxOptions,\n} from './lib/shapes/shared/crop'\nexport {\n\tARROW_LABEL_FONT_SIZES,\n\tFONT_FAMILIES,\n\tFONT_SIZES,\n\tLABEL_FONT_SIZES,\n\tSTROKE_SIZES,\n\tTEXT_PROPS,\n} from './lib/shapes/shared/default-shape-constants'\nexport {\n\tallDefaultFontFaces,\n\tDefaultFontFaces,\n\ttype TLDefaultFont,\n\ttype TLDefaultFonts,\n} from './lib/shapes/shared/defaultFonts'\nexport {\n\tPlainTextLabel,\n\tTextLabel,\n\ttype PlainTextLabelProps,\n} from './lib/shapes/shared/PlainTextLabel'\nexport {\n\tRichTextLabel,\n\tRichTextSVG,\n\ttype RichTextLabelProps,\n\ttype RichTextSVGProps,\n} from './lib/shapes/shared/RichTextLabel'\nexport { useDefaultColorTheme } from './lib/shapes/shared/useDefaultColorTheme'\nexport { useEditablePlainText, useEditableText } from './lib/shapes/shared/useEditablePlainText'\nexport { useEditableRichText } from './lib/shapes/shared/useEditableRichText'\nexport {\n\tuseAsset,\n\tuseImageOrVideoAsset,\n\ttype UseImageOrVideoAssetOptions,\n} from './lib/shapes/shared/useImageOrVideoAsset'\nexport { PlainTextArea } from './lib/shapes/text/PlainTextArea'\nexport { RichTextArea, type TextAreaProps } from './lib/shapes/text/RichTextArea'\nexport { TextShapeTool } from './lib/shapes/text/TextShapeTool'\nexport { TextShapeUtil, type TextShapeOptions } from './lib/shapes/text/TextShapeUtil'\nexport { VideoShapeUtil, type VideoShapeOptions } from './lib/shapes/video/VideoShapeUtil'\nexport { type StyleValuesForUi } from './lib/styles'\nexport { Tldraw, type TLComponents, type TldrawBaseProps, type TldrawProps } from './lib/Tldraw'\nexport { TldrawImage, type TldrawImageProps } from './lib/TldrawImage'\nexport { EraserTool } from './lib/tools/EraserTool/EraserTool'\nexport { HandTool } from './lib/tools/HandTool/HandTool'\nexport { LaserTool } from './lib/tools/LaserTool/LaserTool'\nexport { getHitShapeOnCanvasPointerDown } from './lib/tools/selection-logic/getHitShapeOnCanvasPointerDown'\nexport { SelectTool } from './lib/tools/SelectTool/SelectTool'\nexport { ZoomTool } from './lib/tools/ZoomTool/ZoomTool'\nexport {\n\tsetDefaultUiAssetUrls,\n\ttype TLUiAssetUrlOverrides,\n\ttype TLUiAssetUrls,\n} from './lib/ui/assetUrls'\nexport {\n\tDefaultActionsMenu,\n\ttype TLUiActionsMenuProps,\n} from './lib/ui/components/ActionsMenu/DefaultActionsMenu'\nexport {\n\tAlignMenuItems,\n\tDefaultActionsMenuContent,\n\tDistributeMenuItems,\n\tGroupOrUngroupMenuItem,\n\tReorderMenuItems,\n\tRotateCWMenuItem,\n\tStackMenuItems,\n\tZoomOrRotateMenuItem,\n} from './lib/ui/components/ActionsMenu/DefaultActionsMenuContent'\nexport {\n\tDefaultContextMenu as ContextMenu,\n\tDefaultContextMenu,\n\ttype TLUiContextMenuProps,\n} from './lib/ui/components/ContextMenu/DefaultContextMenu'\nexport { DefaultContextMenuContent } from './lib/ui/components/ContextMenu/DefaultContextMenuContent'\nexport {\n\tDefaultDebugMenu,\n\ttype TLUiDebugMenuProps,\n} from './lib/ui/components/DebugMenu/DefaultDebugMenu'\nexport {\n\tDebugFlags,\n\tDefaultDebugMenuContent,\n\tExampleDialog,\n\tFeatureFlags,\n\ttype ExampleDialogProps,\n} from './lib/ui/components/DebugMenu/DefaultDebugMenuContent'\nexport { DefaultMenuPanel } from './lib/ui/components/DefaultMenuPanel'\nexport {\n\tDefaultHelperButtons,\n\ttype TLUiHelperButtonsProps,\n} from './lib/ui/components/HelperButtons/DefaultHelperButtons'\nexport { DefaultHelperButtonsContent } from './lib/ui/components/HelperButtons/DefaultHelperButtonsContent'\nexport {\n\tDefaultHelpMenu,\n\ttype TLUiHelpMenuProps,\n} from './lib/ui/components/HelpMenu/DefaultHelpMenu'\nexport {\n\tDefaultHelpMenuContent,\n\tKeyboardShortcutsMenuItem,\n} from './lib/ui/components/HelpMenu/DefaultHelpMenuContent'\nexport {\n\tDefaultKeyboardShortcutsDialog,\n\ttype TLUiKeyboardShortcutsDialogProps,\n} from './lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialog'\nexport { DefaultKeyboardShortcutsDialogContent } from './lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent'\nexport { LanguageMenu } from './lib/ui/components/LanguageMenu'\nexport {\n\tDefaultMainMenu,\n\ttype TLUiMainMenuProps,\n} from './lib/ui/components/MainMenu/DefaultMainMenu'\nexport {\n\tDefaultMainMenuContent,\n\tEditSubmenu,\n\tExportFileContentSubMenu,\n\tExtrasGroup,\n\tLockGroup,\n\tMiscMenuGroup,\n\tPreferencesGroup,\n\tUndoRedoGroup,\n\tViewSubmenu,\n} from './lib/ui/components/MainMenu/DefaultMainMenuContent'\nexport {\n\tArrangeMenuSubmenu,\n\tClipboardMenuGroup,\n\tConversionsMenuGroup,\n\tConvertToBookmarkMenuItem,\n\tConvertToEmbedMenuItem,\n\tCopyAsMenuGroup,\n\tCopyMenuItem,\n\tCursorChatItem,\n\tCutMenuItem,\n\tDeleteMenuItem,\n\tDuplicateMenuItem,\n\tEditLinkMenuItem,\n\tEditMenuSubmenu,\n\tFitFrameToContentMenuItem,\n\tGroupMenuItem,\n\tMoveToPageMenu,\n\tPasteMenuItem,\n\tPrintItem,\n\tRemoveFrameMenuItem,\n\tReorderMenuSubmenu,\n\tSelectAllMenuItem,\n\tToggleAutoSizeMenuItem,\n\tToggleDebugModeItem,\n\tToggleDynamicSizeModeItem,\n\tToggleEdgeScrollingItem,\n\tToggleFocusModeItem,\n\tToggleGridItem,\n\tToggleKeyboardShortcutsItem,\n\tToggleLockMenuItem,\n\tTogglePasteAtCursorItem,\n\tToggleReduceMotionItem,\n\tToggleSnapModeItem,\n\tToggleToolLockItem,\n\tToggleTransparentBgMenuItem,\n\tToggleUiLabelsItem,\n\tToggleWrapModeItem,\n\tUngroupMenuItem,\n\tUnlockAllMenuItem,\n\tZoomTo100MenuItem,\n\tZoomToFitMenuItem,\n\tZoomToSelectionMenuItem,\n} from './lib/ui/components/menu-items'\nexport { DefaultMinimap } from './lib/ui/components/Minimap/DefaultMinimap'\nexport { MobileStylePanel } from './lib/ui/components/MobileStylePanel'\nexport { DefaultNavigationPanel } from './lib/ui/components/NavigationPanel/DefaultNavigationPanel'\nexport { OfflineIndicator } from './lib/ui/components/OfflineIndicator/OfflineIndicator'\nexport { DefaultPageMenu } from './lib/ui/components/PageMenu/DefaultPageMenu'\nexport { PageItemInput, type PageItemInputProps } from './lib/ui/components/PageMenu/PageItemInput'\nexport {\n\tPageItemSubmenu,\n\ttype PageItemSubmenuProps,\n} from './lib/ui/components/PageMenu/PageItemSubmenu'\nexport {\n\tTldrawUiButton,\n\ttype TLUiButtonProps,\n} from './lib/ui/components/primitives/Button/TldrawUiButton'\nexport {\n\tTldrawUiButtonCheck,\n\ttype TLUiButtonCheckProps,\n} from './lib/ui/components/primitives/Button/TldrawUiButtonCheck'\nexport {\n\tTldrawUiButtonIcon,\n\ttype TLUiButtonIconProps,\n} from './lib/ui/components/primitives/Button/TldrawUiButtonIcon'\nexport {\n\tTldrawUiButtonLabel,\n\ttype TLUiButtonLabelProps,\n} from './lib/ui/components/primitives/Button/TldrawUiButtonLabel'\nexport {\n\tTldrawUiMenuCheckboxItem,\n\ttype TLUiMenuCheckboxItemProps,\n} from './lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem'\nexport {\n\tTldrawUiMenuContextProvider,\n\ttype TLUiMenuContextProviderProps,\n\ttype TLUiMenuContextType,\n} from './lib/ui/components/primitives/menus/TldrawUiMenuContext'\nexport {\n\tTldrawUiMenuGroup,\n\ttype TLUiMenuGroupProps,\n} from './lib/ui/components/primitives/menus/TldrawUiMenuGroup'\nexport {\n\tTldrawUiMenuItem,\n\ttype TLUiMenuItemProps,\n} from './lib/ui/components/primitives/menus/TldrawUiMenuItem'\nexport {\n\tTldrawUiMenuSubmenu,\n\ttype TLUiMenuSubmenuProps,\n} from './lib/ui/components/primitives/menus/TldrawUiMenuSubmenu'\nexport {\n\tTldrawUiButtonPicker,\n\ttype TLUiButtonPickerProps,\n} from './lib/ui/components/primitives/TldrawUiButtonPicker'\nexport {\n\tTldrawUiContextualToolbar,\n\ttype TLUiContextualToolbarProps,\n} from './lib/ui/components/primitives/TldrawUiContextualToolbar'\nexport {\n\tTldrawUiDialogBody,\n\tTldrawUiDialogCloseButton,\n\tTldrawUiDialogFooter,\n\tTldrawUiDialogHeader,\n\tTldrawUiDialogTitle,\n\ttype TLUiDialogBodyProps,\n\ttype TLUiDialogFooterProps,\n\ttype TLUiDialogHeaderProps,\n\ttype TLUiDialogTitleProps,\n} from './lib/ui/components/primitives/TldrawUiDialog'\nexport {\n\tTldrawUiDropdownMenuCheckboxItem,\n\tTldrawUiDropdownMenuContent,\n\tTldrawUiDropdownMenuGroup,\n\tTldrawUiDropdownMenuIndicator,\n\tTldrawUiDropdownMenuItem,\n\tTldrawUiDropdownMenuRoot,\n\tTldrawUiDropdownMenuSub,\n\tTldrawUiDropdownMenuSubTrigger,\n\tTldrawUiDropdownMenuTrigger,\n\ttype TLUiDropdownMenuCheckboxItemProps,\n\ttype TLUiDropdownMenuContentProps,\n\ttype TLUiDropdownMenuGroupProps,\n\ttype TLUiDropdownMenuItemProps,\n\ttype TLUiDropdownMenuRootProps,\n\ttype TLUiDropdownMenuSubProps,\n\ttype TLUiDropdownMenuSubTriggerProps,\n\ttype TLUiDropdownMenuTriggerProps,\n} from './lib/ui/components/primitives/TldrawUiDropdownMenu'\nexport {\n\tTldrawUiIcon,\n\ttype TLUiIconJsx,\n\ttype TLUiIconProps,\n} from './lib/ui/components/primitives/TldrawUiIcon'\nexport { TldrawUiInput, type TLUiInputProps } from './lib/ui/components/primitives/TldrawUiInput'\nexport { TldrawUiKbd, type TLUiKbdProps } from './lib/ui/components/primitives/TldrawUiKbd'\nexport {\n\tTldrawUiPopover,\n\tTldrawUiPopoverContent,\n\tTldrawUiPopoverTrigger,\n\ttype TLUiPopoverContentProps,\n\ttype TLUiPopoverProps,\n\ttype TLUiPopoverTriggerProps,\n} from './lib/ui/components/primitives/TldrawUiPopover'\nexport { TldrawUiSlider, type TLUiSliderProps } from './lib/ui/components/primitives/TldrawUiSlider'\nexport {\n\tTldrawUiToolbar,\n\tTldrawUiToolbarButton,\n\tTldrawUiToolbarToggleGroup,\n\tTldrawUiToolbarToggleItem,\n\ttype TLUiToolbarButtonProps,\n\ttype TLUiToolbarProps,\n\ttype TLUiToolbarToggleGroupProps,\n\ttype TLUiToolbarToggleItemProps,\n} from './lib/ui/components/primitives/TldrawUiToolbar'\nexport {\n\tTldrawUiTooltip,\n\tTldrawUiTooltipProvider,\n\ttype TldrawUiTooltipProps,\n\ttype TldrawUiTooltipProviderProps,\n} from './lib/ui/components/primitives/TldrawUiTooltip'\nexport {\n\tDefaultQuickActions,\n\ttype TLUiQuickActionsProps,\n} from './lib/ui/components/QuickActions/DefaultQuickActions'\nexport { DefaultQuickActionsContent } from './lib/ui/components/QuickActions/DefaultQuickActionsContent'\nexport { DefaultSharePanel } from './lib/ui/components/SharePanel/DefaultSharePanel'\nexport { PeopleMenu, type PeopleMenuProps } from './lib/ui/components/SharePanel/PeopleMenu'\nexport { Spinner } from './lib/ui/components/Spinner'\nexport {\n\tDefaultStylePanel,\n\ttype TLUiStylePanelProps,\n} from './lib/ui/components/StylePanel/DefaultStylePanel'\nexport {\n\tArrowheadStylePickerSet,\n\tCommonStylePickerSet,\n\tDefaultStylePanelContent,\n\tGeoStylePickerSet,\n\tOpacitySlider,\n\tSplineStylePickerSet,\n\tTextStylePickerSet,\n\ttype StylePickerSetProps,\n\ttype ThemeStylePickerSetProps,\n\ttype TLUiStylePanelContentProps,\n} from './lib/ui/components/StylePanel/DefaultStylePanelContent'\nexport {\n\tDefaultImageToolbar,\n\ttype TLUiImageToolbarProps,\n} from './lib/ui/components/Toolbar/DefaultImageToolbar'\nexport {\n\tDefaultImageToolbarContent,\n\ttype DefaultImageToolbarContentProps,\n} from './lib/ui/components/Toolbar/DefaultImageToolbarContent'\nexport {\n\tDefaultRichTextToolbar,\n\ttype TLUiRichTextToolbarProps,\n} from './lib/ui/components/Toolbar/DefaultRichTextToolbar'\nexport {\n\tDefaultRichTextToolbarContent,\n\ttype DefaultRichTextToolbarContentProps,\n} from './lib/ui/components/Toolbar/DefaultRichTextToolbarContent'\nexport {\n\tDefaultToolbar,\n\ttype DefaultToolbarProps,\n} from './lib/ui/components/Toolbar/DefaultToolbar'\nexport {\n\tArrowDownToolbarItem,\n\tArrowLeftToolbarItem,\n\tArrowRightToolbarItem,\n\tArrowToolbarItem,\n\tArrowUpToolbarItem,\n\tAssetToolbarItem,\n\tCheckBoxToolbarItem,\n\tCloudToolbarItem,\n\tDefaultToolbarContent,\n\tDiamondToolbarItem,\n\tDrawToolbarItem,\n\tEllipseToolbarItem,\n\tEraserToolbarItem,\n\tFrameToolbarItem,\n\tHandToolbarItem,\n\tHeartToolbarItem,\n\tHexagonToolbarItem,\n\tHighlightToolbarItem,\n\tLaserToolbarItem,\n\tLineToolbarItem,\n\tNoteToolbarItem,\n\tOvalToolbarItem,\n\tRectangleToolbarItem,\n\tRhombusToolbarItem,\n\tSelectToolbarItem,\n\tStarToolbarItem,\n\tTextToolbarItem,\n\tToolbarItem,\n\tTrapezoidToolbarItem,\n\tTriangleToolbarItem,\n\tuseIsToolSelected,\n\tXBoxToolbarItem,\n\ttype ToolbarItemProps,\n} from './lib/ui/components/Toolbar/DefaultToolbarContent'\nexport {\n\tDefaultVideoToolbar,\n\ttype TLUiVideoToolbarProps,\n} from './lib/ui/components/Toolbar/DefaultVideoToolbar'\nexport {\n\tDefaultVideoToolbarContent,\n\ttype DefaultVideoToolbarContentProps,\n} from './lib/ui/components/Toolbar/DefaultVideoToolbarContent'\nexport {\n\tOverflowingToolbar,\n\ttype OverflowingToolbarProps,\n} from './lib/ui/components/Toolbar/OverflowingToolbar'\nexport {\n\tToggleToolLockedButton,\n\ttype ToggleToolLockedButtonProps,\n} from './lib/ui/components/Toolbar/ToggleToolLockedButton'\nexport {\n\tCenteredTopPanelContainer,\n\ttype CenteredTopPanelContainerProps,\n} from './lib/ui/components/TopPanel/CenteredTopPanelContainer'\nexport { DefaultTopPanel } from './lib/ui/components/TopPanel/DefaultTopPanel'\nexport {\n\tDefaultZoomMenu,\n\ttype TLUiZoomMenuProps,\n} from './lib/ui/components/ZoomMenu/DefaultZoomMenu'\nexport { DefaultZoomMenuContent } from './lib/ui/components/ZoomMenu/DefaultZoomMenuContent'\nexport { PORTRAIT_BREAKPOINT } from './lib/ui/constants'\nexport {\n\tTldrawUiA11yProvider,\n\tuseA11y,\n\ttype A11yPriority,\n\ttype A11yProviderProps,\n\ttype TLUiA11y,\n\ttype TLUiA11yContextType,\n} from './lib/ui/context/a11y'\nexport {\n\tunwrapLabel,\n\tuseActions,\n\ttype ActionsProviderProps,\n\ttype TLUiActionItem,\n\ttype TLUiActionsContextType,\n} from './lib/ui/context/actions'\nexport { AssetUrlsProvider, useAssetUrls } from './lib/ui/context/asset-urls'\nexport {\n\tBreakPointProvider,\n\tuseBreakpoint,\n\ttype BreakPointProviderProps,\n} from './lib/ui/context/breakpoints'\nexport {\n\tTldrawUiComponentsProvider,\n\tuseTldrawUiComponents,\n\ttype TLUiComponents,\n\ttype TLUiComponentsProviderProps,\n} from './lib/ui/context/components'\nexport {\n\tTldrawUiDialogsProvider,\n\tuseDialogs,\n\ttype TLUiDialog,\n\ttype TLUiDialogProps,\n\ttype TLUiDialogsContextType,\n\ttype TLUiDialogsProviderProps,\n} from './lib/ui/context/dialogs'\nexport {\n\tTldrawUiEventsProvider,\n\tuseUiEvents,\n\ttype EventsProviderProps,\n\ttype TLUiEventContextType,\n\ttype TLUiEventData,\n\ttype TLUiEventHandler,\n\ttype TLUiEventMap,\n\ttype TLUiEventSource,\n} from './lib/ui/context/events'\nexport {\n\tTldrawUiContextProvider,\n\ttype TLUiContextProviderProps,\n} from './lib/ui/context/TldrawUiContextProvider'\nexport {\n\tTldrawUiToastsProvider,\n\tuseToasts,\n\ttype AlertSeverity,\n\ttype TLUiToast,\n\ttype TLUiToastAction,\n\ttype TLUiToastsContextType,\n\ttype TLUiToastsProviderProps,\n} from './lib/ui/context/toasts'\nexport { useCanRedo, useCanUndo, useUnlockedSelectedShapesCount } from './lib/ui/hooks/menu-hooks'\nexport { useMenuClipboardEvents, useNativeClipboardEvents } from './lib/ui/hooks/useClipboardEvents'\nexport {\n\tuseCollaborationStatus,\n\tuseShowCollaborationUi,\n} from './lib/ui/hooks/useCollaborationStatus'\nexport { useCopyAs } from './lib/ui/hooks/useCopyAs'\nexport { useExportAs } from './lib/ui/hooks/useExportAs'\nexport { useKeyboardShortcuts } from './lib/ui/hooks/useKeyboardShortcuts'\nexport { useLocalStorageState } from './lib/ui/hooks/useLocalStorageState'\nexport { useMenuIsOpen } from './lib/ui/hooks/useMenuIsOpen'\nexport { useReadonly } from './lib/ui/hooks/useReadonly'\nexport { useRelevantStyles } from './lib/ui/hooks/useRelevantStyles'\nexport {\n\tuseTools,\n\ttype TLUiToolItem,\n\ttype TLUiToolsContextType,\n\ttype TLUiToolsProviderProps,\n} from './lib/ui/hooks/useTools'\nexport { type TLUiTranslationKey } from './lib/ui/hooks/useTranslation/TLUiTranslationKey'\nexport { type TLUiTranslation } from './lib/ui/hooks/useTranslation/translations'\nexport {\n\tuseCurrentTranslation,\n\tuseTranslation,\n\ttype TLUiTranslationContextType,\n\ttype TLUiTranslationProviderProps,\n} from './lib/ui/hooks/useTranslation/useTranslation'\nexport { type TLUiIconType } from './lib/ui/icon-types'\nexport { useDefaultHelpers, type TLUiOverrideHelpers, type TLUiOverrides } from './lib/ui/overrides'\nexport { TldrawUi, type TldrawUiProps } from './lib/ui/TldrawUi'\nexport { containBoxSize, downsizeImage, type BoxWidthHeight } from './lib/utils/assets/assets'\nexport { preloadFont, type TLTypeFace } from './lib/utils/assets/preload-font'\nexport { getEmbedInfo, type TLEmbedResult } from './lib/utils/embeds/embeds'\nexport { putExcalidrawContent } from './lib/utils/excalidraw/putExcalidrawContent'\nexport { copyAs, type CopyAsOptions, type TLCopyType } from './lib/utils/export/copyAs'\nexport { exportToBlob } from './lib/utils/export/export'\nexport { downloadFile, exportAs, type ExportAsOptions } from './lib/utils/export/exportAs'\nexport { fitFrameToContent, removeFrame } from './lib/utils/frames/frames'\nexport {\n\tdefaultEditorAssetUrls,\n\tsetDefaultEditorAssetUrls,\n\ttype TLEditorAssetUrls,\n} from './lib/utils/static-assets/assetUrls'\nexport {\n\tdefaultAddFontsFromNode,\n\tKeyboardShiftEnterTweakExtension,\n\trenderHtmlFromRichText,\n\trenderHtmlFromRichTextForMeasurement,\n\trenderPlaintextFromRichText,\n\trenderRichTextFromHTML,\n\ttipTapDefaultExtensions,\n} from './lib/utils/text/richText'\nexport { truncateStringWithEllipsis } from './lib/utils/text/text'\nexport { TextDirection } from './lib/utils/text/textDirection'\nexport {\n\tbuildFromV1Document,\n\tTLV1AlignStyle,\n\tTLV1AssetType,\n\tTLV1ColorStyle,\n\tTLV1DashStyle,\n\tTLV1Decoration,\n\tTLV1FontStyle,\n\tTLV1ShapeType,\n\tTLV1SizeStyle,\n\ttype TLV1ArrowBinding,\n\ttype TLV1ArrowShape,\n\ttype TLV1Asset,\n\ttype TLV1BaseAsset,\n\ttype TLV1BaseBinding,\n\ttype TLV1BaseShape,\n\ttype TLV1Binding,\n\ttype TLV1Bounds,\n\ttype TLV1Document,\n\ttype TLV1DrawShape,\n\ttype TLV1EllipseShape,\n\ttype TLV1GroupShape,\n\ttype TLV1Handle,\n\ttype TLV1ImageAsset,\n\ttype TLV1ImageShape,\n\ttype TLV1Page,\n\ttype TLV1PageState,\n\ttype TLV1RectangleShape,\n\ttype TLV1Shape,\n\ttype TLV1ShapeStyles,\n\ttype TLV1StickyShape,\n\ttype TLV1TextShape,\n\ttype TLV1TriangleShape,\n\ttype TLV1VideoAsset,\n\ttype TLV1VideoShape,\n} from './lib/utils/tldr/buildFromV1Document'\nexport {\n\tparseAndLoadDocument,\n\tparseTldrawJsonFile,\n\tserializeTldrawJson,\n\tserializeTldrawJsonBlob,\n\tTLDRAW_FILE_EXTENSION,\n\ttype TldrawFile,\n\ttype TldrawFileParseError,\n} from './lib/utils/tldr/file'\n\nregisterTldrawLibraryVersion(\n\t(globalThis as any).TLDRAW_LIBRARY_NAME,\n\t(globalThis as any).TLDRAW_LIBRARY_VERSION,\n\t(globalThis as any).TLDRAW_LIBRARY_MODULES\n)\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;A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",
4
+ "sourcesContent": ["/// <reference types=\"react\" />\n\nimport { registerTldrawLibraryVersion } from '@tldraw/editor'\nexport {\n\tPathBuilder,\n\tPathBuilderGeometry2d,\n\ttype BasePathBuilderOpts,\n\ttype CubicBezierToPathBuilderCommand,\n\ttype DashedPathBuilderOpts,\n\ttype DrawPathBuilderDOpts,\n\ttype DrawPathBuilderOpts,\n\ttype LineToPathBuilderCommand,\n\ttype MoveToPathBuilderCommand,\n\ttype PathBuilderCommand,\n\ttype PathBuilderCommandBase,\n\ttype PathBuilderCommandInfo,\n\ttype PathBuilderCommandOpts,\n\ttype PathBuilderLineOpts,\n\ttype PathBuilderOpts,\n\ttype PathBuilderToDOpts,\n\ttype SolidPathBuilderOpts,\n} from './lib/shapes/shared/PathBuilder'\nexport { usePrefersReducedMotion } from './lib/shapes/shared/usePrefersReducedMotion'\nexport { DefaultA11yAnnouncer, useSelectedShapesAnnouncer } from './lib/ui/components/A11y'\nexport { AccessibilityMenu } from './lib/ui/components/AccessibilityMenu'\nexport { ColorSchemeMenu } from './lib/ui/components/ColorSchemeMenu'\nexport { DefaultFollowingIndicator } from './lib/ui/components/DefaultFollowingIndicator'\nexport { DefaultDialogs } from './lib/ui/components/Dialogs'\nexport {\n\tTldrawUiColumn,\n\tTldrawUiGrid,\n\tTldrawUiOrientationProvider,\n\tTldrawUiRow,\n\tuseTldrawUiOrientation,\n\ttype TldrawUiOrientationContext,\n\ttype TldrawUiOrientationProviderProps,\n\ttype TLUiLayoutProps,\n} from './lib/ui/components/primitives/layout'\nexport {\n\tTldrawUiMenuActionCheckboxItem,\n\ttype TLUiMenuActionCheckboxItemProps,\n} from './lib/ui/components/primitives/menus/TldrawUiMenuActionCheckboxItem'\nexport {\n\tTldrawUiMenuActionItem,\n\ttype TLUiMenuActionItemProps,\n} from './lib/ui/components/primitives/menus/TldrawUiMenuActionItem'\nexport {\n\tTldrawUiMenuToolItem,\n\ttype TLUiMenuToolItemProps,\n} from './lib/ui/components/primitives/menus/TldrawUiMenuToolItem'\nexport { DefaultToasts } from './lib/ui/components/Toasts'\nexport { TldrawUiTranslationProvider } from './lib/ui/hooks/useTranslation/useTranslation'\n// eslint-disable-next-line local/no-export-star\nexport * from '@tldraw/editor'\nexport { ArrowBindingUtil } from './lib/bindings/arrow/ArrowBindingUtil'\nexport { TldrawCropHandles, type TldrawCropHandlesProps } from './lib/canvas/TldrawCropHandles'\nexport { TldrawHandles } from './lib/canvas/TldrawHandles'\nexport { TldrawArrowHints, TldrawOverlays } from './lib/canvas/TldrawOverlays'\nexport { TldrawScribble } from './lib/canvas/TldrawScribble'\nexport { TldrawSelectionForeground } from './lib/canvas/TldrawSelectionForeground'\nexport { TldrawShapeIndicators } from './lib/canvas/TldrawShapeIndicators'\nexport { defaultBindingUtils } from './lib/defaultBindingUtils'\nexport {\n\tDEFAULT_EMBED_DEFINITIONS,\n\tembedShapePermissionDefaults,\n\ttype CustomEmbedDefinition,\n\ttype DefaultEmbedDefinitionType,\n\ttype EmbedDefinition,\n\ttype TLEmbedDefinition,\n\ttype TLEmbedShapePermissions,\n} from './lib/defaultEmbedDefinitions'\nexport {\n\tcenterSelectionAroundPoint,\n\tcreateEmptyBookmarkShape,\n\tcreateShapesForAssets,\n\tDEFAULT_MAX_ASSET_SIZE,\n\tDEFAULT_MAX_IMAGE_DIMENSION,\n\tdefaultHandleExternalEmbedContent,\n\tdefaultHandleExternalExcalidrawContent,\n\tdefaultHandleExternalFileAsset,\n\tdefaultHandleExternalFileContent,\n\tdefaultHandleExternalSvgTextContent,\n\tdefaultHandleExternalTextContent,\n\tdefaultHandleExternalTldrawContent,\n\tdefaultHandleExternalUrlAsset,\n\tdefaultHandleExternalUrlContent,\n\tgetAssetInfo,\n\tgetMediaAssetInfoPartial,\n\tnotifyIfFileNotAllowed,\n\tregisterDefaultExternalContentHandlers,\n\ttype TLDefaultExternalContentHandlerOpts,\n\ttype TLExternalContentProps,\n} from './lib/defaultExternalContentHandlers'\nexport { defaultShapeTools } from './lib/defaultShapeTools'\nexport { defaultShapeUtils } from './lib/defaultShapeUtils'\nexport { registerDefaultSideEffects } from './lib/defaultSideEffects'\nexport { defaultTools } from './lib/defaultTools'\nexport {\n\ttype ArrowShapeOptions,\n\ttype TLArcArrowInfo,\n\ttype TLArcInfo,\n\ttype TLArrowInfo,\n\ttype TLArrowPoint,\n\ttype TLElbowArrowInfo,\n\ttype TLStraightArrowInfo,\n} from './lib/shapes/arrow/arrow-types'\nexport { ArrowShapeTool } from './lib/shapes/arrow/ArrowShapeTool'\nexport { ArrowShapeUtil } from './lib/shapes/arrow/ArrowShapeUtil'\nexport {\n\ttype ElbowArrowBox,\n\ttype ElbowArrowBoxEdges,\n\ttype ElbowArrowBoxes,\n\ttype ElbowArrowEdge,\n\ttype ElbowArrowInfo,\n\ttype ElbowArrowInfoWithoutRoute,\n\ttype ElbowArrowMidpointHandle,\n\ttype ElbowArrowOptions,\n\ttype ElbowArrowRange,\n\ttype ElbowArrowRoute,\n\ttype ElbowArrowSide,\n\ttype ElbowArrowSideReason,\n\ttype ElbowArrowTargetBox,\n} from './lib/shapes/arrow/elbow/definitions'\nexport {\n\tgetArrowBindings,\n\tgetArrowInfo,\n\tgetArrowTerminalsInArrowSpace,\n\ttype TLArrowBindings,\n} from './lib/shapes/arrow/shared'\nexport { BookmarkShapeUtil } from './lib/shapes/bookmark/BookmarkShapeUtil'\nexport { DrawShapeTool } from './lib/shapes/draw/DrawShapeTool'\nexport { DrawShapeUtil, type DrawShapeOptions } from './lib/shapes/draw/DrawShapeUtil'\nexport { EmbedShapeUtil } from './lib/shapes/embed/EmbedShapeUtil'\nexport { FrameShapeTool } from './lib/shapes/frame/FrameShapeTool'\nexport { FrameShapeUtil, type FrameShapeOptions } from './lib/shapes/frame/FrameShapeUtil'\nexport { GeoShapeTool } from './lib/shapes/geo/GeoShapeTool'\nexport { GeoShapeUtil } from './lib/shapes/geo/GeoShapeUtil'\nexport { HighlightShapeTool } from './lib/shapes/highlight/HighlightShapeTool'\nexport {\n\tHighlightShapeUtil,\n\ttype HighlightShapeOptions,\n} from './lib/shapes/highlight/HighlightShapeUtil'\nexport { ImageShapeUtil } from './lib/shapes/image/ImageShapeUtil'\nexport { LineShapeTool } from './lib/shapes/line/LineShapeTool'\nexport { LineShapeUtil } from './lib/shapes/line/LineShapeUtil'\nexport { NoteShapeTool } from './lib/shapes/note/NoteShapeTool'\nexport { NoteShapeUtil, type NoteShapeOptions } from './lib/shapes/note/NoteShapeUtil'\nexport {\n\tASPECT_RATIO_OPTIONS,\n\tASPECT_RATIO_TO_VALUE,\n\tgetCropBox,\n\tgetDefaultCrop,\n\tgetUncroppedSize,\n\ttype ASPECT_RATIO_OPTION,\n\ttype CropBoxOptions,\n} from './lib/shapes/shared/crop'\nexport {\n\tARROW_LABEL_FONT_SIZES,\n\tFONT_FAMILIES,\n\tFONT_SIZES,\n\tLABEL_FONT_SIZES,\n\tSTROKE_SIZES,\n\tTEXT_PROPS,\n} from './lib/shapes/shared/default-shape-constants'\nexport {\n\tallDefaultFontFaces,\n\tDefaultFontFaces,\n\ttype TLDefaultFont,\n\ttype TLDefaultFonts,\n} from './lib/shapes/shared/defaultFonts'\nexport { getStrokePoints } from './lib/shapes/shared/freehand/getStrokePoints'\nexport { getSvgPathFromStrokePoints } from './lib/shapes/shared/freehand/svg'\nexport { type StrokeOptions, type StrokePoint } from './lib/shapes/shared/freehand/types'\nexport { PlainTextLabel, type PlainTextLabelProps } from './lib/shapes/shared/PlainTextLabel'\nexport {\n\tRichTextLabel,\n\tRichTextSVG,\n\ttype RichTextLabelProps,\n\ttype RichTextSVGProps,\n} from './lib/shapes/shared/RichTextLabel'\nexport { useDefaultColorTheme } from './lib/shapes/shared/useDefaultColorTheme'\nexport { useEditablePlainText } from './lib/shapes/shared/useEditablePlainText'\nexport { useEditableRichText } from './lib/shapes/shared/useEditableRichText'\nexport {\n\tuseImageOrVideoAsset,\n\ttype UseImageOrVideoAssetOptions,\n} from './lib/shapes/shared/useImageOrVideoAsset'\nexport { PlainTextArea } from './lib/shapes/text/PlainTextArea'\nexport { RichTextArea, type TextAreaProps } from './lib/shapes/text/RichTextArea'\nexport { TextShapeTool } from './lib/shapes/text/TextShapeTool'\nexport { TextShapeUtil, type TextShapeOptions } from './lib/shapes/text/TextShapeUtil'\nexport { VideoShapeUtil, type VideoShapeOptions } from './lib/shapes/video/VideoShapeUtil'\nexport { type StyleValuesForUi } from './lib/styles'\nexport { Tldraw, type TLComponents, type TldrawBaseProps, type TldrawProps } from './lib/Tldraw'\nexport { TldrawImage, type TldrawImageProps } from './lib/TldrawImage'\nexport { EraserTool } from './lib/tools/EraserTool/EraserTool'\nexport { HandTool } from './lib/tools/HandTool/HandTool'\nexport { LaserTool } from './lib/tools/LaserTool/LaserTool'\nexport { getHitShapeOnCanvasPointerDown } from './lib/tools/selection-logic/getHitShapeOnCanvasPointerDown'\nexport { SelectTool } from './lib/tools/SelectTool/SelectTool'\nexport { ZoomTool } from './lib/tools/ZoomTool/ZoomTool'\nexport {\n\tsetDefaultUiAssetUrls,\n\ttype TLUiAssetUrlOverrides,\n\ttype TLUiAssetUrls,\n} from './lib/ui/assetUrls'\nexport {\n\tDefaultActionsMenu,\n\ttype TLUiActionsMenuProps,\n} from './lib/ui/components/ActionsMenu/DefaultActionsMenu'\nexport {\n\tAlignMenuItems,\n\tDefaultActionsMenuContent,\n\tDistributeMenuItems,\n\tGroupOrUngroupMenuItem,\n\tReorderMenuItems,\n\tRotateCWMenuItem,\n\tStackMenuItems,\n\tZoomOrRotateMenuItem,\n} from './lib/ui/components/ActionsMenu/DefaultActionsMenuContent'\nexport {\n\tDefaultContextMenu as ContextMenu,\n\tDefaultContextMenu,\n\ttype TLUiContextMenuProps,\n} from './lib/ui/components/ContextMenu/DefaultContextMenu'\nexport { DefaultContextMenuContent } from './lib/ui/components/ContextMenu/DefaultContextMenuContent'\nexport {\n\tDefaultDebugMenu,\n\ttype TLUiDebugMenuProps,\n} from './lib/ui/components/DebugMenu/DefaultDebugMenu'\nexport {\n\tDebugFlags,\n\tDefaultDebugMenuContent,\n\tExampleDialog,\n\tFeatureFlags,\n\ttype ExampleDialogProps,\n} from './lib/ui/components/DebugMenu/DefaultDebugMenuContent'\nexport { DefaultMenuPanel } from './lib/ui/components/DefaultMenuPanel'\nexport {\n\tDefaultHelperButtons,\n\ttype TLUiHelperButtonsProps,\n} from './lib/ui/components/HelperButtons/DefaultHelperButtons'\nexport { DefaultHelperButtonsContent } from './lib/ui/components/HelperButtons/DefaultHelperButtonsContent'\nexport {\n\tDefaultHelpMenu,\n\ttype TLUiHelpMenuProps,\n} from './lib/ui/components/HelpMenu/DefaultHelpMenu'\nexport {\n\tDefaultHelpMenuContent,\n\tKeyboardShortcutsMenuItem,\n} from './lib/ui/components/HelpMenu/DefaultHelpMenuContent'\nexport {\n\tDefaultKeyboardShortcutsDialog,\n\ttype TLUiKeyboardShortcutsDialogProps,\n} from './lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialog'\nexport { DefaultKeyboardShortcutsDialogContent } from './lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent'\nexport { LanguageMenu } from './lib/ui/components/LanguageMenu'\nexport {\n\tDefaultMainMenu,\n\ttype TLUiMainMenuProps,\n} from './lib/ui/components/MainMenu/DefaultMainMenu'\nexport {\n\tDefaultMainMenuContent,\n\tEditSubmenu,\n\tExportFileContentSubMenu,\n\tExtrasGroup,\n\tLockGroup,\n\tMiscMenuGroup,\n\tPreferencesGroup,\n\tUndoRedoGroup,\n\tViewSubmenu,\n} from './lib/ui/components/MainMenu/DefaultMainMenuContent'\nexport {\n\tArrangeMenuSubmenu,\n\tClipboardMenuGroup,\n\tConversionsMenuGroup,\n\tConvertToBookmarkMenuItem,\n\tConvertToEmbedMenuItem,\n\tCopyAsMenuGroup,\n\tCopyMenuItem,\n\tCursorChatItem,\n\tCutMenuItem,\n\tDeleteMenuItem,\n\tDuplicateMenuItem,\n\tEditLinkMenuItem,\n\tEditMenuSubmenu,\n\tFitFrameToContentMenuItem,\n\tGroupMenuItem,\n\tMoveToPageMenu,\n\tPasteMenuItem,\n\tPrintItem,\n\tRemoveFrameMenuItem,\n\tReorderMenuSubmenu,\n\tSelectAllMenuItem,\n\tToggleAutoSizeMenuItem,\n\tToggleDebugModeItem,\n\tToggleDynamicSizeModeItem,\n\tToggleEdgeScrollingItem,\n\tToggleFocusModeItem,\n\tToggleGridItem,\n\tToggleKeyboardShortcutsItem,\n\tToggleLockMenuItem,\n\tTogglePasteAtCursorItem,\n\tToggleReduceMotionItem,\n\tToggleSnapModeItem,\n\tToggleToolLockItem,\n\tToggleTransparentBgMenuItem,\n\tToggleUiLabelsItem,\n\tToggleWrapModeItem,\n\tUngroupMenuItem,\n\tUnlockAllMenuItem,\n\tZoomTo100MenuItem,\n\tZoomToFitMenuItem,\n\tZoomToSelectionMenuItem,\n} from './lib/ui/components/menu-items'\nexport { DefaultMinimap } from './lib/ui/components/Minimap/DefaultMinimap'\nexport { MobileStylePanel } from './lib/ui/components/MobileStylePanel'\nexport { DefaultNavigationPanel } from './lib/ui/components/NavigationPanel/DefaultNavigationPanel'\nexport { OfflineIndicator } from './lib/ui/components/OfflineIndicator/OfflineIndicator'\nexport { DefaultPageMenu } from './lib/ui/components/PageMenu/DefaultPageMenu'\nexport { PageItemInput, type PageItemInputProps } from './lib/ui/components/PageMenu/PageItemInput'\nexport {\n\tPageItemSubmenu,\n\ttype PageItemSubmenuProps,\n} from './lib/ui/components/PageMenu/PageItemSubmenu'\nexport {\n\tTldrawUiButton,\n\ttype TLUiButtonProps,\n} from './lib/ui/components/primitives/Button/TldrawUiButton'\nexport {\n\tTldrawUiButtonCheck,\n\ttype TLUiButtonCheckProps,\n} from './lib/ui/components/primitives/Button/TldrawUiButtonCheck'\nexport {\n\tTldrawUiButtonIcon,\n\ttype TLUiButtonIconProps,\n} from './lib/ui/components/primitives/Button/TldrawUiButtonIcon'\nexport {\n\tTldrawUiButtonLabel,\n\ttype TLUiButtonLabelProps,\n} from './lib/ui/components/primitives/Button/TldrawUiButtonLabel'\nexport {\n\tTldrawUiMenuCheckboxItem,\n\ttype TLUiMenuCheckboxItemProps,\n} from './lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem'\nexport {\n\tTldrawUiMenuContextProvider,\n\ttype TLUiMenuContextProviderProps,\n\ttype TLUiMenuContextType,\n} from './lib/ui/components/primitives/menus/TldrawUiMenuContext'\nexport {\n\tTldrawUiMenuGroup,\n\ttype TLUiMenuGroupProps,\n} from './lib/ui/components/primitives/menus/TldrawUiMenuGroup'\nexport {\n\tTldrawUiMenuItem,\n\ttype TLUiMenuItemProps,\n} from './lib/ui/components/primitives/menus/TldrawUiMenuItem'\nexport {\n\tTldrawUiMenuSubmenu,\n\ttype TLUiMenuSubmenuProps,\n} from './lib/ui/components/primitives/menus/TldrawUiMenuSubmenu'\nexport {\n\tTldrawUiContextualToolbar,\n\ttype TLUiContextualToolbarProps,\n} from './lib/ui/components/primitives/TldrawUiContextualToolbar'\nexport {\n\tTldrawUiDialogBody,\n\tTldrawUiDialogCloseButton,\n\tTldrawUiDialogFooter,\n\tTldrawUiDialogHeader,\n\tTldrawUiDialogTitle,\n\ttype TLUiDialogBodyProps,\n\ttype TLUiDialogFooterProps,\n\ttype TLUiDialogHeaderProps,\n\ttype TLUiDialogTitleProps,\n} from './lib/ui/components/primitives/TldrawUiDialog'\nexport {\n\tTldrawUiDropdownMenuCheckboxItem,\n\tTldrawUiDropdownMenuContent,\n\tTldrawUiDropdownMenuGroup,\n\tTldrawUiDropdownMenuIndicator,\n\tTldrawUiDropdownMenuItem,\n\tTldrawUiDropdownMenuRoot,\n\tTldrawUiDropdownMenuSub,\n\tTldrawUiDropdownMenuSubTrigger,\n\tTldrawUiDropdownMenuTrigger,\n\ttype TLUiDropdownMenuCheckboxItemProps,\n\ttype TLUiDropdownMenuContentProps,\n\ttype TLUiDropdownMenuGroupProps,\n\ttype TLUiDropdownMenuItemProps,\n\ttype TLUiDropdownMenuRootProps,\n\ttype TLUiDropdownMenuSubProps,\n\ttype TLUiDropdownMenuSubTriggerProps,\n\ttype TLUiDropdownMenuTriggerProps,\n} from './lib/ui/components/primitives/TldrawUiDropdownMenu'\nexport {\n\tTldrawUiIcon,\n\ttype TLUiIconJsx,\n\ttype TLUiIconProps,\n} from './lib/ui/components/primitives/TldrawUiIcon'\nexport { TldrawUiInput, type TLUiInputProps } from './lib/ui/components/primitives/TldrawUiInput'\nexport { TldrawUiKbd, type TLUiKbdProps } from './lib/ui/components/primitives/TldrawUiKbd'\nexport {\n\tTldrawUiPopover,\n\tTldrawUiPopoverContent,\n\tTldrawUiPopoverTrigger,\n\ttype TLUiPopoverContentProps,\n\ttype TLUiPopoverProps,\n\ttype TLUiPopoverTriggerProps,\n} from './lib/ui/components/primitives/TldrawUiPopover'\nexport { TldrawUiSlider, type TLUiSliderProps } from './lib/ui/components/primitives/TldrawUiSlider'\nexport {\n\tTldrawUiToolbar,\n\tTldrawUiToolbarButton,\n\tTldrawUiToolbarToggleGroup,\n\tTldrawUiToolbarToggleItem,\n\ttype TLUiToolbarButtonProps,\n\ttype TLUiToolbarProps,\n\ttype TLUiToolbarToggleGroupProps,\n\ttype TLUiToolbarToggleItemProps,\n} from './lib/ui/components/primitives/TldrawUiToolbar'\nexport {\n\tTldrawUiTooltip,\n\tTldrawUiTooltipProvider,\n\ttype TldrawUiTooltipProps,\n\ttype TldrawUiTooltipProviderProps,\n} from './lib/ui/components/primitives/TldrawUiTooltip'\nexport {\n\tDefaultQuickActions,\n\ttype TLUiQuickActionsProps,\n} from './lib/ui/components/QuickActions/DefaultQuickActions'\nexport { DefaultQuickActionsContent } from './lib/ui/components/QuickActions/DefaultQuickActionsContent'\nexport { DefaultSharePanel } from './lib/ui/components/SharePanel/DefaultSharePanel'\nexport { PeopleMenu, type PeopleMenuProps } from './lib/ui/components/SharePanel/PeopleMenu'\nexport { Spinner } from './lib/ui/components/Spinner'\nexport {\n\tDefaultStylePanel,\n\ttype TLUiStylePanelProps,\n} from './lib/ui/components/StylePanel/DefaultStylePanel'\nexport {\n\tDefaultStylePanelContent,\n\tStylePanelArrowheadPicker,\n\tStylePanelArrowKindPicker,\n\tStylePanelColorPicker,\n\tStylePanelDashPicker,\n\tStylePanelFillPicker,\n\tStylePanelFontPicker,\n\tStylePanelGeoShapePicker,\n\tStylePanelLabelAlignPicker,\n\tStylePanelOpacityPicker,\n\tStylePanelSection,\n\tStylePanelSizePicker,\n\tStylePanelSplinePicker,\n\tStylePanelTextAlignPicker,\n\ttype StylePanelSectionProps,\n} from './lib/ui/components/StylePanel/DefaultStylePanelContent'\nexport {\n\tStylePanelButtonPicker,\n\ttype StylePanelButtonPickerProps,\n} from './lib/ui/components/StylePanel/StylePanelButtonPicker'\nexport {\n\tStylePanelContextProvider,\n\tuseStylePanelContext,\n\ttype StylePanelContext,\n\ttype StylePanelContextProviderProps,\n} from './lib/ui/components/StylePanel/StylePanelContext'\nexport {\n\tStylePanelDoubleDropdownPicker,\n\ttype StylePanelDoubleDropdownPickerProps,\n} from './lib/ui/components/StylePanel/StylePanelDoubleDropdownPicker'\nexport {\n\tStylePanelDropdownPicker,\n\ttype StylePanelDropdownPickerProps,\n} from './lib/ui/components/StylePanel/StylePanelDropdownPicker'\nexport {\n\tStylePanelSubheading,\n\ttype StylePanelSubheadingProps,\n} from './lib/ui/components/StylePanel/StylePanelSubheading'\nexport {\n\tDefaultImageToolbar,\n\ttype TLUiImageToolbarProps,\n} from './lib/ui/components/Toolbar/DefaultImageToolbar'\nexport {\n\tDefaultImageToolbarContent,\n\ttype DefaultImageToolbarContentProps,\n} from './lib/ui/components/Toolbar/DefaultImageToolbarContent'\nexport {\n\tDefaultRichTextToolbar,\n\ttype TLUiRichTextToolbarProps,\n} from './lib/ui/components/Toolbar/DefaultRichTextToolbar'\nexport {\n\tDefaultRichTextToolbarContent,\n\ttype DefaultRichTextToolbarContentProps,\n} from './lib/ui/components/Toolbar/DefaultRichTextToolbarContent'\nexport {\n\tDefaultToolbar,\n\ttype DefaultToolbarProps,\n} from './lib/ui/components/Toolbar/DefaultToolbar'\nexport {\n\tArrowDownToolbarItem,\n\tArrowLeftToolbarItem,\n\tArrowRightToolbarItem,\n\tArrowToolbarItem,\n\tArrowUpToolbarItem,\n\tAssetToolbarItem,\n\tCheckBoxToolbarItem,\n\tCloudToolbarItem,\n\tDefaultToolbarContent,\n\tDiamondToolbarItem,\n\tDrawToolbarItem,\n\tEllipseToolbarItem,\n\tEraserToolbarItem,\n\tFrameToolbarItem,\n\tHandToolbarItem,\n\tHeartToolbarItem,\n\tHexagonToolbarItem,\n\tHighlightToolbarItem,\n\tLaserToolbarItem,\n\tLineToolbarItem,\n\tNoteToolbarItem,\n\tOvalToolbarItem,\n\tRectangleToolbarItem,\n\tRhombusToolbarItem,\n\tSelectToolbarItem,\n\tStarToolbarItem,\n\tTextToolbarItem,\n\tToolbarItem,\n\tTrapezoidToolbarItem,\n\tTriangleToolbarItem,\n\tuseIsToolSelected,\n\tXBoxToolbarItem,\n\ttype ToolbarItemProps,\n} from './lib/ui/components/Toolbar/DefaultToolbarContent'\nexport {\n\tDefaultVideoToolbar,\n\ttype TLUiVideoToolbarProps,\n} from './lib/ui/components/Toolbar/DefaultVideoToolbar'\nexport {\n\tDefaultVideoToolbarContent,\n\ttype DefaultVideoToolbarContentProps,\n} from './lib/ui/components/Toolbar/DefaultVideoToolbarContent'\nexport {\n\tOverflowingToolbar,\n\ttype OverflowingToolbarProps,\n} from './lib/ui/components/Toolbar/OverflowingToolbar'\nexport {\n\tToggleToolLockedButton,\n\ttype ToggleToolLockedButtonProps,\n} from './lib/ui/components/Toolbar/ToggleToolLockedButton'\nexport {\n\tCenteredTopPanelContainer,\n\ttype CenteredTopPanelContainerProps,\n} from './lib/ui/components/TopPanel/CenteredTopPanelContainer'\nexport { DefaultTopPanel } from './lib/ui/components/TopPanel/DefaultTopPanel'\nexport {\n\tDefaultZoomMenu,\n\ttype TLUiZoomMenuProps,\n} from './lib/ui/components/ZoomMenu/DefaultZoomMenu'\nexport { DefaultZoomMenuContent } from './lib/ui/components/ZoomMenu/DefaultZoomMenuContent'\nexport { PORTRAIT_BREAKPOINT } from './lib/ui/constants'\nexport {\n\tTldrawUiA11yProvider,\n\tuseA11y,\n\ttype A11yPriority,\n\ttype A11yProviderProps,\n\ttype TLUiA11y,\n\ttype TLUiA11yContextType,\n} from './lib/ui/context/a11y'\nexport {\n\tunwrapLabel,\n\tuseActions,\n\ttype ActionsProviderProps,\n\ttype TLUiActionItem,\n\ttype TLUiActionsContextType,\n} from './lib/ui/context/actions'\nexport { AssetUrlsProvider, useAssetUrls } from './lib/ui/context/asset-urls'\nexport {\n\tBreakPointProvider,\n\tuseBreakpoint,\n\ttype BreakPointProviderProps,\n} from './lib/ui/context/breakpoints'\nexport {\n\tTldrawUiComponentsProvider,\n\tuseTldrawUiComponents,\n\ttype TLUiComponents,\n\ttype TLUiComponentsProviderProps,\n} from './lib/ui/context/components'\nexport {\n\tTldrawUiDialogsProvider,\n\tuseDialogs,\n\ttype TLUiDialog,\n\ttype TLUiDialogProps,\n\ttype TLUiDialogsContextType,\n\ttype TLUiDialogsProviderProps,\n} from './lib/ui/context/dialogs'\nexport {\n\tTldrawUiEventsProvider,\n\tuseUiEvents,\n\ttype EventsProviderProps,\n\ttype TLUiEventContextType,\n\ttype TLUiEventData,\n\ttype TLUiEventHandler,\n\ttype TLUiEventMap,\n\ttype TLUiEventSource,\n} from './lib/ui/context/events'\nexport {\n\tTldrawUiContextProvider,\n\ttype TLUiContextProviderProps,\n} from './lib/ui/context/TldrawUiContextProvider'\nexport {\n\tTldrawUiToastsProvider,\n\tuseToasts,\n\ttype AlertSeverity,\n\ttype TLUiToast,\n\ttype TLUiToastAction,\n\ttype TLUiToastsContextType,\n\ttype TLUiToastsProviderProps,\n} from './lib/ui/context/toasts'\nexport { useCanRedo, useCanUndo, useUnlockedSelectedShapesCount } from './lib/ui/hooks/menu-hooks'\nexport { useMenuClipboardEvents, useNativeClipboardEvents } from './lib/ui/hooks/useClipboardEvents'\nexport {\n\tuseCollaborationStatus,\n\tuseShowCollaborationUi,\n} from './lib/ui/hooks/useCollaborationStatus'\nexport { useCopyAs } from './lib/ui/hooks/useCopyAs'\nexport { useExportAs } from './lib/ui/hooks/useExportAs'\nexport { useKeyboardShortcuts } from './lib/ui/hooks/useKeyboardShortcuts'\nexport { useLocalStorageState } from './lib/ui/hooks/useLocalStorageState'\nexport { useMenuIsOpen } from './lib/ui/hooks/useMenuIsOpen'\nexport { useReadonly } from './lib/ui/hooks/useReadonly'\nexport { useRelevantStyles } from './lib/ui/hooks/useRelevantStyles'\nexport {\n\tonDragFromToolbarToCreateShape,\n\tuseTools,\n\ttype OnDragFromToolbarToCreateShapesOpts,\n\ttype TLUiToolItem,\n\ttype TLUiToolsContextType,\n\ttype TLUiToolsProviderProps,\n} from './lib/ui/hooks/useTools'\nexport { type TLUiTranslationKey } from './lib/ui/hooks/useTranslation/TLUiTranslationKey'\nexport { type TLUiTranslation } from './lib/ui/hooks/useTranslation/translations'\nexport {\n\tuseCurrentTranslation,\n\tuseTranslation,\n\ttype TLUiTranslationContextType,\n\ttype TLUiTranslationProviderProps,\n} from './lib/ui/hooks/useTranslation/useTranslation'\nexport { type TLUiIconType } from './lib/ui/icon-types'\nexport { useDefaultHelpers, type TLUiOverrideHelpers, type TLUiOverrides } from './lib/ui/overrides'\nexport { TldrawUi, TldrawUiInFrontOfTheCanvas, type TldrawUiProps } from './lib/ui/TldrawUi'\nexport { containBoxSize, downsizeImage, type BoxWidthHeight } from './lib/utils/assets/assets'\nexport { preloadFont, type TLTypeFace } from './lib/utils/assets/preload-font'\nexport { getEmbedInfo, type TLEmbedResult } from './lib/utils/embeds/embeds'\nexport { putExcalidrawContent } from './lib/utils/excalidraw/putExcalidrawContent'\nexport { copyAs, type CopyAsOptions, type TLCopyType } from './lib/utils/export/copyAs'\nexport { downloadFile, exportAs, type ExportAsOptions } from './lib/utils/export/exportAs'\nexport { fitFrameToContent, removeFrame } from './lib/utils/frames/frames'\nexport {\n\tdefaultEditorAssetUrls,\n\tsetDefaultEditorAssetUrls,\n\ttype TLEditorAssetUrls,\n} from './lib/utils/static-assets/assetUrls'\nexport {\n\tdefaultAddFontsFromNode,\n\tKeyboardShiftEnterTweakExtension,\n\trenderHtmlFromRichText,\n\trenderHtmlFromRichTextForMeasurement,\n\trenderPlaintextFromRichText,\n\trenderRichTextFromHTML,\n\ttipTapDefaultExtensions,\n} from './lib/utils/text/richText'\nexport { truncateStringWithEllipsis } from './lib/utils/text/text'\nexport { TextDirection } from './lib/utils/text/textDirection'\nexport {\n\tbuildFromV1Document,\n\tTLV1AlignStyle,\n\tTLV1AssetType,\n\tTLV1ColorStyle,\n\tTLV1DashStyle,\n\tTLV1Decoration,\n\tTLV1FontStyle,\n\tTLV1ShapeType,\n\tTLV1SizeStyle,\n\ttype TLV1ArrowBinding,\n\ttype TLV1ArrowShape,\n\ttype TLV1Asset,\n\ttype TLV1BaseAsset,\n\ttype TLV1BaseBinding,\n\ttype TLV1BaseShape,\n\ttype TLV1Binding,\n\ttype TLV1Bounds,\n\ttype TLV1Document,\n\ttype TLV1DrawShape,\n\ttype TLV1EllipseShape,\n\ttype TLV1GroupShape,\n\ttype TLV1Handle,\n\ttype TLV1ImageAsset,\n\ttype TLV1ImageShape,\n\ttype TLV1Page,\n\ttype TLV1PageState,\n\ttype TLV1RectangleShape,\n\ttype TLV1Shape,\n\ttype TLV1ShapeStyles,\n\ttype TLV1StickyShape,\n\ttype TLV1TextShape,\n\ttype TLV1TriangleShape,\n\ttype TLV1VideoAsset,\n\ttype TLV1VideoShape,\n} from './lib/utils/tldr/buildFromV1Document'\nexport {\n\tparseAndLoadDocument,\n\tparseTldrawJsonFile,\n\tserializeTldrawJson,\n\tserializeTldrawJsonBlob,\n\tTLDRAW_FILE_EXTENSION,\n\ttype TldrawFile,\n\ttype TldrawFileParseError,\n} from './lib/utils/tldr/file'\n\nregisterTldrawLibraryVersion(\n\t(globalThis as any).TLDRAW_LIBRARY_NAME,\n\t(globalThis as any).TLDRAW_LIBRARY_VERSION,\n\t(globalThis as any).TLDRAW_LIBRARY_MODULES\n)\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;A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",
6
6
  "names": ["import_useTranslation", "import_assetUrls"]
7
7
  }
@@ -67,6 +67,15 @@ function Tldraw(props) {
67
67
  ...rest
68
68
  } = props;
69
69
  const _components = (0, import_editor.useShallowObjectIdentity)(components);
70
+ const CustomInFrontOfTheCanvas = components?.InFrontOfTheCanvas;
71
+ const InFrontOfTheCanvas = (0, import_react.useMemo)(() => {
72
+ if (rest.hideUi) return CustomInFrontOfTheCanvas ?? null;
73
+ if (!CustomInFrontOfTheCanvas) return import_TldrawUi.TldrawUiInFrontOfTheCanvas;
74
+ return () => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
75
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUi.TldrawUiInFrontOfTheCanvas, {}),
76
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CustomInFrontOfTheCanvas, {})
77
+ ] });
78
+ }, [rest.hideUi, CustomInFrontOfTheCanvas]);
70
79
  const componentsWithDefault = (0, import_react.useMemo)(
71
80
  () => ({
72
81
  Scribble: import_TldrawScribble.TldrawScribble,
@@ -77,9 +86,10 @@ function Tldraw(props) {
77
86
  Overlays: import_TldrawOverlays.TldrawOverlays,
78
87
  Spinner: import_Spinner.Spinner,
79
88
  LoadingScreen: import_LoadingScreen.LoadingScreen,
80
- ..._components
89
+ ..._components,
90
+ InFrontOfTheCanvas
81
91
  }),
82
- [_components]
92
+ [_components, InFrontOfTheCanvas]
83
93
  );
84
94
  const _shapeUtils = (0, import_editor.useShallowArrayIdentity)(shapeUtils);
85
95
  const shapeUtilsWithDefaults = (0, import_react.useMemo)(
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/Tldraw.tsx"],
4
- "sourcesContent": ["import {\n\tDEFAULT_SUPPORTED_IMAGE_TYPES,\n\tDEFAULT_SUPPORT_VIDEO_TYPES,\n\tTLEditorComponents,\n\tTLOnMountHandler,\n\tTLTextOptions,\n\tTldrawEditor,\n\tTldrawEditorBaseProps,\n\tTldrawEditorStoreProps,\n\tdefaultUserPreferences,\n\tmergeArraysAndReplaceDefaults,\n\tuseEditor,\n\tuseEditorComponents,\n\tuseOnMount,\n\tuseShallowArrayIdentity,\n\tuseShallowObjectIdentity,\n} from '@tldraw/editor'\nimport { useMemo } from 'react'\nimport { TldrawHandles } from './canvas/TldrawHandles'\nimport { TldrawOverlays } from './canvas/TldrawOverlays'\nimport { TldrawScribble } from './canvas/TldrawScribble'\nimport { TldrawSelectionForeground } from './canvas/TldrawSelectionForeground'\nimport { TldrawShapeIndicators } from './canvas/TldrawShapeIndicators'\nimport { defaultBindingUtils } from './defaultBindingUtils'\nimport { TLEmbedDefinition } from './defaultEmbedDefinitions'\nimport {\n\tTLExternalContentProps,\n\tregisterDefaultExternalContentHandlers,\n} from './defaultExternalContentHandlers'\nimport { defaultShapeTools } from './defaultShapeTools'\nimport { defaultShapeUtils } from './defaultShapeUtils'\nimport { registerDefaultSideEffects } from './defaultSideEffects'\nimport { defaultTools } from './defaultTools'\nimport { EmbedShapeUtil } from './shapes/embed/EmbedShapeUtil'\nimport { allDefaultFontFaces } from './shapes/shared/defaultFonts'\nimport { TldrawUi, TldrawUiProps } from './ui/TldrawUi'\nimport { TLUiAssetUrlOverrides, useDefaultUiAssetUrlsWithOverrides } from './ui/assetUrls'\nimport { LoadingScreen } from './ui/components/LoadingScreen'\nimport { Spinner } from './ui/components/Spinner'\nimport { AssetUrlsProvider } from './ui/context/asset-urls'\nimport { TLUiComponents, useTldrawUiComponents } from './ui/context/components'\nimport { useUiEvents } from './ui/context/events'\nimport { useToasts } from './ui/context/toasts'\nimport {\n\tTldrawUiTranslationProvider,\n\tuseTranslation,\n} from './ui/hooks/useTranslation/useTranslation'\nimport { useMergedTranslationOverrides } from './ui/overrides'\nimport { useDefaultEditorAssetsWithOverrides } from './utils/static-assets/assetUrls'\nimport { defaultAddFontsFromNode, tipTapDefaultExtensions } from './utils/text/richText'\n\n/**\n * Override the default react components used by the editor and UI. Set components to null to\n * disable them entirely.\n *\n * @example\n * ```tsx\n * import {Tldraw, TLComponents} from 'tldraw'\n *\n * const components: TLComponents = {\n * Scribble: MyCustomScribble,\n * }\n *\n * export function MyApp() {\n * return <Tldraw components={components} />\n * }\n * ```\n *\n *\n * @public\n */\nexport interface TLComponents extends TLEditorComponents, TLUiComponents {}\n\n/** @public */\nexport interface TldrawBaseProps\n\textends TldrawUiProps,\n\t\tTldrawEditorBaseProps,\n\t\tTLExternalContentProps {\n\t/** Urls for custom assets.\n\t *\n\t * \u26A0\uFE0E Important! This must be memoized (with useMemo) or defined outside of any React component.\n\t */\n\tassetUrls?: TLUiAssetUrlOverrides\n\t/** Overrides for tldraw's components.\n\t *\n\t * \u26A0\uFE0E Important! This must be memoized (with useMemo) or defined outside of any React component.\n\t */\n\tcomponents?: TLComponents\n\t/** Custom definitions for tldraw's embeds.\n\t *\n\t * \u26A0\uFE0E Important! This must be memoized (with useMemo) or defined outside of any React component.\n\t */\n\tembeds?: TLEmbedDefinition[]\n}\n\n/** @public */\nexport type TldrawProps = TldrawBaseProps & TldrawEditorStoreProps\n\nconst allDefaultTools = [...defaultTools, ...defaultShapeTools]\n\n/** @public @react */\nexport function Tldraw(props: TldrawProps) {\n\tconst {\n\t\tchildren,\n\t\tmaxImageDimension,\n\t\tmaxAssetSize,\n\t\tacceptedImageMimeTypes,\n\t\tacceptedVideoMimeTypes,\n\t\tonMount,\n\t\tcomponents = {},\n\t\tshapeUtils = [],\n\t\tbindingUtils = [],\n\t\ttools = [],\n\t\tembeds,\n\t\ttextOptions,\n\t\t...rest\n\t} = props\n\n\tconst _components = useShallowObjectIdentity(components)\n\n\tconst componentsWithDefault = useMemo(\n\t\t() => ({\n\t\t\tScribble: TldrawScribble,\n\t\t\tShapeIndicators: TldrawShapeIndicators,\n\t\t\tCollaboratorScribble: TldrawScribble,\n\t\t\tSelectionForeground: TldrawSelectionForeground,\n\t\t\tHandles: TldrawHandles,\n\t\t\tOverlays: TldrawOverlays,\n\t\t\tSpinner,\n\t\t\tLoadingScreen,\n\t\t\t..._components,\n\t\t}),\n\t\t[_components]\n\t)\n\n\tconst _shapeUtils = useShallowArrayIdentity(shapeUtils)\n\tconst shapeUtilsWithDefaults = useMemo(\n\t\t() => mergeArraysAndReplaceDefaults('type', _shapeUtils, defaultShapeUtils),\n\t\t[_shapeUtils]\n\t)\n\n\tconst _bindingUtils = useShallowArrayIdentity(bindingUtils)\n\tconst bindingUtilsWithDefaults = useMemo(\n\t\t() => mergeArraysAndReplaceDefaults('type', _bindingUtils, defaultBindingUtils),\n\t\t[_bindingUtils]\n\t)\n\n\tconst _tools = useShallowArrayIdentity(tools)\n\tconst toolsWithDefaults = useMemo(\n\t\t() => mergeArraysAndReplaceDefaults('id', _tools, allDefaultTools),\n\t\t[_tools]\n\t)\n\n\tconst _imageMimeTypes = useShallowArrayIdentity(\n\t\tacceptedImageMimeTypes ?? DEFAULT_SUPPORTED_IMAGE_TYPES\n\t)\n\tconst _videoMimeTypes = useShallowArrayIdentity(\n\t\tacceptedVideoMimeTypes ?? DEFAULT_SUPPORT_VIDEO_TYPES\n\t)\n\n\tconst textOptionsWithDefaults = useMemo((): TLTextOptions => {\n\t\treturn {\n\t\t\taddFontsFromNode: defaultAddFontsFromNode,\n\t\t\t...textOptions,\n\t\t\ttipTapConfig: {\n\t\t\t\textensions: tipTapDefaultExtensions,\n\t\t\t\t...textOptions?.tipTapConfig,\n\t\t\t},\n\t\t}\n\t}, [textOptions])\n\n\tconst mediaMimeTypes = useMemo(\n\t\t() => [..._imageMimeTypes, ..._videoMimeTypes],\n\t\t[_imageMimeTypes, _videoMimeTypes]\n\t)\n\n\tconst assets = useDefaultEditorAssetsWithOverrides(rest.assetUrls)\n\n\tconst embedShapeUtil = shapeUtilsWithDefaults.find((util) => util.type === 'embed')\n\tif (embedShapeUtil && embeds) {\n\t\tEmbedShapeUtil.setEmbedDefinitions(embeds)\n\t}\n\n\treturn (\n\t\t// We provide an extra higher layer of asset+translations providers here so that\n\t\t// loading UI (which is rendered outside of TldrawUi) may be translated.\n\t\t// Ideally we would refactor to hoist all the UI context providers we can up here. Maybe later.\n\t\t<AssetUrlsProvider assetUrls={useDefaultUiAssetUrlsWithOverrides(rest.assetUrls)}>\n\t\t\t<TldrawUiTranslationProvider\n\t\t\t\toverrides={useMergedTranslationOverrides(rest.overrides)}\n\t\t\t\tlocale={rest.user?.userPreferences.get().locale ?? defaultUserPreferences.locale}\n\t\t\t>\n\t\t\t\t<TldrawEditor\n\t\t\t\t\tinitialState=\"select\"\n\t\t\t\t\t{...rest}\n\t\t\t\t\tcomponents={componentsWithDefault}\n\t\t\t\t\tshapeUtils={shapeUtilsWithDefaults}\n\t\t\t\t\tbindingUtils={bindingUtilsWithDefaults}\n\t\t\t\t\ttools={toolsWithDefaults}\n\t\t\t\t\ttextOptions={textOptionsWithDefaults}\n\t\t\t\t\tassetUrls={assets}\n\t\t\t\t>\n\t\t\t\t\t<TldrawUi {...rest} components={componentsWithDefault} mediaMimeTypes={mediaMimeTypes}>\n\t\t\t\t\t\t<InsideOfEditorAndUiContext\n\t\t\t\t\t\t\tmaxImageDimension={maxImageDimension}\n\t\t\t\t\t\t\tmaxAssetSize={maxAssetSize}\n\t\t\t\t\t\t\tacceptedImageMimeTypes={_imageMimeTypes}\n\t\t\t\t\t\t\tacceptedVideoMimeTypes={_videoMimeTypes}\n\t\t\t\t\t\t\tonMount={onMount}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</TldrawUi>\n\t\t\t\t</TldrawEditor>\n\t\t\t</TldrawUiTranslationProvider>\n\t\t</AssetUrlsProvider>\n\t)\n}\n\n// We put these hooks into a component here so that they can run inside of the context provided by TldrawEditor and TldrawUi.\nfunction InsideOfEditorAndUiContext({\n\tmaxImageDimension,\n\tmaxAssetSize,\n\tacceptedImageMimeTypes,\n\tacceptedVideoMimeTypes,\n\tonMount,\n}: TLExternalContentProps & {\n\tonMount?: TLOnMountHandler\n}) {\n\tconst editor = useEditor()\n\tconst toasts = useToasts()\n\tconst msg = useTranslation()\n\tconst trackEvent = useUiEvents()\n\n\tuseOnMount(() => {\n\t\tconst unsubs: (void | (() => void) | undefined)[] = []\n\n\t\tunsubs.push(registerDefaultSideEffects(editor))\n\n\t\t// now that the editor has mounted (and presumably pre-loaded the fonts actually in use in\n\t\t// the document), we want to preload the other default font faces in the background. These\n\t\t// won't be directly used, but mean that when adding text the user can switch between fonts\n\t\t// quickly, without having to wait for them to load in.\n\t\teditor.fonts.requestFonts(allDefaultFontFaces)\n\n\t\teditor.once('edit', () => trackEvent('edit', { source: 'unknown' }))\n\n\t\t// for content handling, first we register the default handlers...\n\t\tregisterDefaultExternalContentHandlers(editor, {\n\t\t\tmaxImageDimension,\n\t\t\tmaxAssetSize,\n\t\t\tacceptedImageMimeTypes,\n\t\t\tacceptedVideoMimeTypes,\n\t\t\ttoasts,\n\t\t\tmsg,\n\t\t})\n\n\t\t// ...then we call the store's on mount which may override them...\n\t\tunsubs.push(editor.store.props.onMount(editor))\n\n\t\t// ...then we run the user's onMount prop, which may override things again.\n\t\tunsubs.push(onMount?.(editor))\n\n\t\treturn () => {\n\t\t\tunsubs.forEach((fn) => fn?.())\n\t\t}\n\t})\n\n\tconst { Canvas } = useEditorComponents()\n\tconst { ContextMenu } = useTldrawUiComponents()\n\n\tif (ContextMenu) {\n\t\t// should wrap canvas\n\t\treturn <ContextMenu />\n\t}\n\n\tif (Canvas) {\n\t\treturn <Canvas />\n\t}\n\n\treturn null\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n\tDEFAULT_SUPPORTED_IMAGE_TYPES,\n\tDEFAULT_SUPPORT_VIDEO_TYPES,\n\tTLEditorComponents,\n\tTLOnMountHandler,\n\tTLTextOptions,\n\tTldrawEditor,\n\tTldrawEditorBaseProps,\n\tTldrawEditorStoreProps,\n\tdefaultUserPreferences,\n\tmergeArraysAndReplaceDefaults,\n\tuseEditor,\n\tuseEditorComponents,\n\tuseOnMount,\n\tuseShallowArrayIdentity,\n\tuseShallowObjectIdentity,\n} from '@tldraw/editor'\nimport { useMemo } from 'react'\nimport { TldrawHandles } from './canvas/TldrawHandles'\nimport { TldrawOverlays } from './canvas/TldrawOverlays'\nimport { TldrawScribble } from './canvas/TldrawScribble'\nimport { TldrawSelectionForeground } from './canvas/TldrawSelectionForeground'\nimport { TldrawShapeIndicators } from './canvas/TldrawShapeIndicators'\nimport { defaultBindingUtils } from './defaultBindingUtils'\nimport { TLEmbedDefinition } from './defaultEmbedDefinitions'\nimport {\n\tTLExternalContentProps,\n\tregisterDefaultExternalContentHandlers,\n} from './defaultExternalContentHandlers'\nimport { defaultShapeTools } from './defaultShapeTools'\nimport { defaultShapeUtils } from './defaultShapeUtils'\nimport { registerDefaultSideEffects } from './defaultSideEffects'\nimport { defaultTools } from './defaultTools'\nimport { EmbedShapeUtil } from './shapes/embed/EmbedShapeUtil'\nimport { allDefaultFontFaces } from './shapes/shared/defaultFonts'\nimport { TldrawUi, TldrawUiInFrontOfTheCanvas, TldrawUiProps } from './ui/TldrawUi'\nimport { TLUiAssetUrlOverrides, useDefaultUiAssetUrlsWithOverrides } from './ui/assetUrls'\nimport { LoadingScreen } from './ui/components/LoadingScreen'\nimport { Spinner } from './ui/components/Spinner'\nimport { AssetUrlsProvider } from './ui/context/asset-urls'\nimport { TLUiComponents, useTldrawUiComponents } from './ui/context/components'\nimport { useUiEvents } from './ui/context/events'\nimport { useToasts } from './ui/context/toasts'\nimport {\n\tTldrawUiTranslationProvider,\n\tuseTranslation,\n} from './ui/hooks/useTranslation/useTranslation'\nimport { useMergedTranslationOverrides } from './ui/overrides'\nimport { useDefaultEditorAssetsWithOverrides } from './utils/static-assets/assetUrls'\nimport { defaultAddFontsFromNode, tipTapDefaultExtensions } from './utils/text/richText'\n\n/**\n * Override the default react components used by the editor and UI. Set components to null to\n * disable them entirely.\n *\n * @example\n * ```tsx\n * import {Tldraw, TLComponents} from 'tldraw'\n *\n * const components: TLComponents = {\n * Scribble: MyCustomScribble,\n * }\n *\n * export function MyApp() {\n * return <Tldraw components={components} />\n * }\n * ```\n *\n *\n * @public\n */\nexport interface TLComponents extends TLEditorComponents, TLUiComponents {}\n\n/** @public */\nexport interface TldrawBaseProps\n\textends TldrawUiProps,\n\t\tTldrawEditorBaseProps,\n\t\tTLExternalContentProps {\n\t/** Urls for custom assets.\n\t *\n\t * \u26A0\uFE0E Important! This must be memoized (with useMemo) or defined outside of any React component.\n\t */\n\tassetUrls?: TLUiAssetUrlOverrides\n\t/** Overrides for tldraw's components.\n\t *\n\t * \u26A0\uFE0E Important! This must be memoized (with useMemo) or defined outside of any React component.\n\t */\n\tcomponents?: TLComponents\n\t/** Custom definitions for tldraw's embeds.\n\t *\n\t * \u26A0\uFE0E Important! This must be memoized (with useMemo) or defined outside of any React component.\n\t */\n\tembeds?: TLEmbedDefinition[]\n}\n\n/** @public */\nexport type TldrawProps = TldrawBaseProps & TldrawEditorStoreProps\n\nconst allDefaultTools = [...defaultTools, ...defaultShapeTools]\n\n/** @public @react */\nexport function Tldraw(props: TldrawProps) {\n\tconst {\n\t\tchildren,\n\t\tmaxImageDimension,\n\t\tmaxAssetSize,\n\t\tacceptedImageMimeTypes,\n\t\tacceptedVideoMimeTypes,\n\t\tonMount,\n\t\tcomponents = {},\n\t\tshapeUtils = [],\n\t\tbindingUtils = [],\n\t\ttools = [],\n\t\tembeds,\n\t\ttextOptions,\n\t\t...rest\n\t} = props\n\n\tconst _components = useShallowObjectIdentity(components)\n\n\tconst CustomInFrontOfTheCanvas = components?.InFrontOfTheCanvas\n\tconst InFrontOfTheCanvas = useMemo(() => {\n\t\tif (rest.hideUi) return CustomInFrontOfTheCanvas ?? null\n\t\tif (!CustomInFrontOfTheCanvas) return TldrawUiInFrontOfTheCanvas\n\n\t\treturn () => (\n\t\t\t<>\n\t\t\t\t<TldrawUiInFrontOfTheCanvas />\n\t\t\t\t<CustomInFrontOfTheCanvas />\n\t\t\t</>\n\t\t)\n\t}, [rest.hideUi, CustomInFrontOfTheCanvas])\n\tconst componentsWithDefault = useMemo(\n\t\t() => ({\n\t\t\tScribble: TldrawScribble,\n\t\t\tShapeIndicators: TldrawShapeIndicators,\n\t\t\tCollaboratorScribble: TldrawScribble,\n\t\t\tSelectionForeground: TldrawSelectionForeground,\n\t\t\tHandles: TldrawHandles,\n\t\t\tOverlays: TldrawOverlays,\n\t\t\tSpinner,\n\t\t\tLoadingScreen,\n\t\t\t..._components,\n\t\t\tInFrontOfTheCanvas,\n\t\t}),\n\t\t[_components, InFrontOfTheCanvas]\n\t)\n\n\tconst _shapeUtils = useShallowArrayIdentity(shapeUtils)\n\tconst shapeUtilsWithDefaults = useMemo(\n\t\t() => mergeArraysAndReplaceDefaults('type', _shapeUtils, defaultShapeUtils),\n\t\t[_shapeUtils]\n\t)\n\n\tconst _bindingUtils = useShallowArrayIdentity(bindingUtils)\n\tconst bindingUtilsWithDefaults = useMemo(\n\t\t() => mergeArraysAndReplaceDefaults('type', _bindingUtils, defaultBindingUtils),\n\t\t[_bindingUtils]\n\t)\n\n\tconst _tools = useShallowArrayIdentity(tools)\n\tconst toolsWithDefaults = useMemo(\n\t\t() => mergeArraysAndReplaceDefaults('id', _tools, allDefaultTools),\n\t\t[_tools]\n\t)\n\n\tconst _imageMimeTypes = useShallowArrayIdentity(\n\t\tacceptedImageMimeTypes ?? DEFAULT_SUPPORTED_IMAGE_TYPES\n\t)\n\tconst _videoMimeTypes = useShallowArrayIdentity(\n\t\tacceptedVideoMimeTypes ?? DEFAULT_SUPPORT_VIDEO_TYPES\n\t)\n\n\tconst textOptionsWithDefaults = useMemo((): TLTextOptions => {\n\t\treturn {\n\t\t\taddFontsFromNode: defaultAddFontsFromNode,\n\t\t\t...textOptions,\n\t\t\ttipTapConfig: {\n\t\t\t\textensions: tipTapDefaultExtensions,\n\t\t\t\t...textOptions?.tipTapConfig,\n\t\t\t},\n\t\t}\n\t}, [textOptions])\n\n\tconst mediaMimeTypes = useMemo(\n\t\t() => [..._imageMimeTypes, ..._videoMimeTypes],\n\t\t[_imageMimeTypes, _videoMimeTypes]\n\t)\n\n\tconst assets = useDefaultEditorAssetsWithOverrides(rest.assetUrls)\n\n\tconst embedShapeUtil = shapeUtilsWithDefaults.find((util) => util.type === 'embed')\n\tif (embedShapeUtil && embeds) {\n\t\tEmbedShapeUtil.setEmbedDefinitions(embeds)\n\t}\n\n\treturn (\n\t\t// We provide an extra higher layer of asset+translations providers here so that\n\t\t// loading UI (which is rendered outside of TldrawUi) may be translated.\n\t\t// Ideally we would refactor to hoist all the UI context providers we can up here. Maybe later.\n\t\t<AssetUrlsProvider assetUrls={useDefaultUiAssetUrlsWithOverrides(rest.assetUrls)}>\n\t\t\t<TldrawUiTranslationProvider\n\t\t\t\toverrides={useMergedTranslationOverrides(rest.overrides)}\n\t\t\t\tlocale={rest.user?.userPreferences.get().locale ?? defaultUserPreferences.locale}\n\t\t\t>\n\t\t\t\t<TldrawEditor\n\t\t\t\t\tinitialState=\"select\"\n\t\t\t\t\t{...rest}\n\t\t\t\t\tcomponents={componentsWithDefault}\n\t\t\t\t\tshapeUtils={shapeUtilsWithDefaults}\n\t\t\t\t\tbindingUtils={bindingUtilsWithDefaults}\n\t\t\t\t\ttools={toolsWithDefaults}\n\t\t\t\t\ttextOptions={textOptionsWithDefaults}\n\t\t\t\t\tassetUrls={assets}\n\t\t\t\t>\n\t\t\t\t\t<TldrawUi {...rest} components={componentsWithDefault} mediaMimeTypes={mediaMimeTypes}>\n\t\t\t\t\t\t<InsideOfEditorAndUiContext\n\t\t\t\t\t\t\tmaxImageDimension={maxImageDimension}\n\t\t\t\t\t\t\tmaxAssetSize={maxAssetSize}\n\t\t\t\t\t\t\tacceptedImageMimeTypes={_imageMimeTypes}\n\t\t\t\t\t\t\tacceptedVideoMimeTypes={_videoMimeTypes}\n\t\t\t\t\t\t\tonMount={onMount}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</TldrawUi>\n\t\t\t\t</TldrawEditor>\n\t\t\t</TldrawUiTranslationProvider>\n\t\t</AssetUrlsProvider>\n\t)\n}\n\n// We put these hooks into a component here so that they can run inside of the context provided by TldrawEditor and TldrawUi.\nfunction InsideOfEditorAndUiContext({\n\tmaxImageDimension,\n\tmaxAssetSize,\n\tacceptedImageMimeTypes,\n\tacceptedVideoMimeTypes,\n\tonMount,\n}: TLExternalContentProps & {\n\tonMount?: TLOnMountHandler\n}) {\n\tconst editor = useEditor()\n\tconst toasts = useToasts()\n\tconst msg = useTranslation()\n\tconst trackEvent = useUiEvents()\n\n\tuseOnMount(() => {\n\t\tconst unsubs: (void | (() => void) | undefined)[] = []\n\n\t\tunsubs.push(registerDefaultSideEffects(editor))\n\n\t\t// now that the editor has mounted (and presumably pre-loaded the fonts actually in use in\n\t\t// the document), we want to preload the other default font faces in the background. These\n\t\t// won't be directly used, but mean that when adding text the user can switch between fonts\n\t\t// quickly, without having to wait for them to load in.\n\t\teditor.fonts.requestFonts(allDefaultFontFaces)\n\n\t\teditor.once('edit', () => trackEvent('edit', { source: 'unknown' }))\n\n\t\t// for content handling, first we register the default handlers...\n\t\tregisterDefaultExternalContentHandlers(editor, {\n\t\t\tmaxImageDimension,\n\t\t\tmaxAssetSize,\n\t\t\tacceptedImageMimeTypes,\n\t\t\tacceptedVideoMimeTypes,\n\t\t\ttoasts,\n\t\t\tmsg,\n\t\t})\n\n\t\t// ...then we call the store's on mount which may override them...\n\t\tunsubs.push(editor.store.props.onMount(editor))\n\n\t\t// ...then we run the user's onMount prop, which may override things again.\n\t\tunsubs.push(onMount?.(editor))\n\n\t\treturn () => {\n\t\t\tunsubs.forEach((fn) => fn?.())\n\t\t}\n\t})\n\n\tconst { Canvas } = useEditorComponents()\n\tconst { ContextMenu } = useTldrawUiComponents()\n\n\tif (ContextMenu) {\n\t\t// should wrap canvas\n\t\treturn <ContextMenu />\n\t}\n\n\tif (Canvas) {\n\t\treturn <Canvas />\n\t}\n\n\treturn null\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_assetUrls"]
7
7
  }
@@ -57,7 +57,7 @@ function TldrawScribble({ scribble, zoom, color, opacity, className }) {
57
57
  {
58
58
  className: "tl-scribble",
59
59
  d,
60
- fill: color ?? `var(--color-${scribble.color})`,
60
+ fill: color ?? `var(--tl-color-${scribble.color})`,
61
61
  opacity: opacity ?? scribble.opacity
62
62
  }
63
63
  ) });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/lib/canvas/TldrawScribble.tsx"],
4
- "sourcesContent": ["import { EASINGS, TLScribbleProps, getSvgPathFromPoints } from '@tldraw/editor'\nimport classNames from 'classnames'\nimport { getStroke } from '../shapes/shared/freehand/getStroke'\n\n/** @public @react */\nexport function TldrawScribble({ scribble, zoom, color, opacity, className }: TLScribbleProps) {\n\tif (!scribble.points.length) return null\n\n\tconst stroke = getStroke(scribble.points, {\n\t\tsize: scribble.size / zoom,\n\t\tstart: { taper: scribble.taper, easing: EASINGS.linear },\n\t\tlast: scribble.state === 'stopping',\n\t\tsimulatePressure: false,\n\t\tstreamline: 0.32,\n\t})\n\n\tlet d: string\n\n\tif (stroke.length < 4) {\n\t\t// the stroke will be 3 points as a sort of shrugging fail state, so let's draw a dot instead\n\t\tconst r = scribble.size / zoom / 2\n\t\tconst { x, y } = scribble.points[scribble.points.length - 1]\n\t\td = `M ${x - r},${y} a ${r},${r} 0 1,0 ${r * 2},0 a ${r},${r} 0 1,0 ${-r * 2},0`\n\t} else {\n\t\t// If we do have a stroke, then draw the stroke path\n\t\td = getSvgPathFromPoints(stroke)\n\t}\n\n\treturn (\n\t\t<svg className={className ? classNames('tl-overlays__item', className) : className}>\n\t\t\t<path\n\t\t\t\tclassName=\"tl-scribble\"\n\t\t\t\td={d}\n\t\t\t\tfill={color ?? `var(--color-${scribble.color})`}\n\t\t\t\topacity={opacity ?? scribble.opacity}\n\t\t\t/>\n\t\t</svg>\n\t)\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA8BG;AA9BH,oBAA+D;AAC/D,wBAAuB;AACvB,uBAA0B;AAGnB,SAAS,eAAe,EAAE,UAAU,MAAM,OAAO,SAAS,UAAU,GAAoB;AAC9F,MAAI,CAAC,SAAS,OAAO,OAAQ,QAAO;AAEpC,QAAM,aAAS,4BAAU,SAAS,QAAQ;AAAA,IACzC,MAAM,SAAS,OAAO;AAAA,IACtB,OAAO,EAAE,OAAO,SAAS,OAAO,QAAQ,sBAAQ,OAAO;AAAA,IACvD,MAAM,SAAS,UAAU;AAAA,IACzB,kBAAkB;AAAA,IAClB,YAAY;AAAA,EACb,CAAC;AAED,MAAI;AAEJ,MAAI,OAAO,SAAS,GAAG;AAEtB,UAAM,IAAI,SAAS,OAAO,OAAO;AACjC,UAAM,EAAE,GAAG,EAAE,IAAI,SAAS,OAAO,SAAS,OAAO,SAAS,CAAC;AAC3D,QAAI,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;AAAA,EAC7E,OAAO;AAEN,YAAI,oCAAqB,MAAM;AAAA,EAChC;AAEA,SACC,4CAAC,SAAI,WAAW,gBAAY,kBAAAA,SAAW,qBAAqB,SAAS,IAAI,WACxE;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV;AAAA,MACA,MAAM,SAAS,eAAe,SAAS,KAAK;AAAA,MAC5C,SAAS,WAAW,SAAS;AAAA;AAAA,EAC9B,GACD;AAEF;",
4
+ "sourcesContent": ["import { EASINGS, TLScribbleProps, getSvgPathFromPoints } from '@tldraw/editor'\nimport classNames from 'classnames'\nimport { getStroke } from '../shapes/shared/freehand/getStroke'\n\n/** @public @react */\nexport function TldrawScribble({ scribble, zoom, color, opacity, className }: TLScribbleProps) {\n\tif (!scribble.points.length) return null\n\n\tconst stroke = getStroke(scribble.points, {\n\t\tsize: scribble.size / zoom,\n\t\tstart: { taper: scribble.taper, easing: EASINGS.linear },\n\t\tlast: scribble.state === 'stopping',\n\t\tsimulatePressure: false,\n\t\tstreamline: 0.32,\n\t})\n\n\tlet d: string\n\n\tif (stroke.length < 4) {\n\t\t// the stroke will be 3 points as a sort of shrugging fail state, so let's draw a dot instead\n\t\tconst r = scribble.size / zoom / 2\n\t\tconst { x, y } = scribble.points[scribble.points.length - 1]\n\t\td = `M ${x - r},${y} a ${r},${r} 0 1,0 ${r * 2},0 a ${r},${r} 0 1,0 ${-r * 2},0`\n\t} else {\n\t\t// If we do have a stroke, then draw the stroke path\n\t\td = getSvgPathFromPoints(stroke)\n\t}\n\n\treturn (\n\t\t<svg className={className ? classNames('tl-overlays__item', className) : className}>\n\t\t\t<path\n\t\t\t\tclassName=\"tl-scribble\"\n\t\t\t\td={d}\n\t\t\t\tfill={color ?? `var(--tl-color-${scribble.color})`}\n\t\t\t\topacity={opacity ?? scribble.opacity}\n\t\t\t/>\n\t\t</svg>\n\t)\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA8BG;AA9BH,oBAA+D;AAC/D,wBAAuB;AACvB,uBAA0B;AAGnB,SAAS,eAAe,EAAE,UAAU,MAAM,OAAO,SAAS,UAAU,GAAoB;AAC9F,MAAI,CAAC,SAAS,OAAO,OAAQ,QAAO;AAEpC,QAAM,aAAS,4BAAU,SAAS,QAAQ;AAAA,IACzC,MAAM,SAAS,OAAO;AAAA,IACtB,OAAO,EAAE,OAAO,SAAS,OAAO,QAAQ,sBAAQ,OAAO;AAAA,IACvD,MAAM,SAAS,UAAU;AAAA,IACzB,kBAAkB;AAAA,IAClB,YAAY;AAAA,EACb,CAAC;AAED,MAAI;AAEJ,MAAI,OAAO,SAAS,GAAG;AAEtB,UAAM,IAAI,SAAS,OAAO,OAAO;AACjC,UAAM,EAAE,GAAG,EAAE,IAAI,SAAS,OAAO,SAAS,OAAO,SAAS,CAAC;AAC3D,QAAI,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;AAAA,EAC7E,OAAO;AAEN,YAAI,oCAAqB,MAAM;AAAA,EAChC;AAEA,SACC,4CAAC,SAAI,WAAW,gBAAY,kBAAAA,SAAW,qBAAqB,SAAS,IAAI,WACxE;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV;AAAA,MACA,MAAM,SAAS,kBAAkB,SAAS,KAAK;AAAA,MAC/C,SAAS,WAAW,SAAS;AAAA;AAAA,EAC9B,GACD;AAEF;",
6
6
  "names": ["classNames"]
7
7
  }
@@ -35,6 +35,7 @@ __export(defaultExternalContentHandlers_exports, {
35
35
  defaultHandleExternalUrlContent: () => defaultHandleExternalUrlContent,
36
36
  getAssetInfo: () => getAssetInfo,
37
37
  getMediaAssetInfoPartial: () => getMediaAssetInfoPartial,
38
+ notifyIfFileNotAllowed: () => notifyIfFileNotAllowed,
38
39
  registerDefaultExternalContentHandlers: () => registerDefaultExternalContentHandlers
39
40
  });
40
41
  module.exports = __toCommonJS(defaultExternalContentHandlers_exports);
@@ -80,7 +81,7 @@ function registerDefaultExternalContentHandlers(editor, options) {
80
81
  });
81
82
  }
82
83
  async function defaultHandleExternalFileAsset(editor, { file, assetId }, options) {
83
- const isSuccess = runFileChecks(file, options);
84
+ const isSuccess = notifyIfFileNotAllowed(file, options);
84
85
  if (!isSuccess) (0, import_editor.assert)(false, "File checks failed");
85
86
  const assetInfo = await getAssetInfo(file, options, assetId);
86
87
  const result = await editor.uploadAsset(assetInfo, file);
@@ -89,7 +90,7 @@ async function defaultHandleExternalFileAsset(editor, { file, assetId }, options
89
90
  return import_editor.AssetRecordType.create(assetInfo);
90
91
  }
91
92
  async function defaultHandleExternalFileReplaceContent(editor, { file, shapeId, isImage }, options) {
92
- const isSuccess = runFileChecks(file, options);
93
+ const isSuccess = notifyIfFileNotAllowed(file, options);
93
94
  if (!isSuccess) (0, import_editor.assert)(false, "File checks failed");
94
95
  const shape = editor.getShape(shapeId);
95
96
  if (!shape) (0, import_editor.assert)(false, "Shape not found");
@@ -258,7 +259,7 @@ async function defaultHandleExternalFileContent(editor, { point, files }, option
258
259
  const assetPartials = [];
259
260
  const assetsToUpdate = [];
260
261
  for (const file of files) {
261
- const isSuccess = runFileChecks(file, options);
262
+ const isSuccess = notifyIfFileNotAllowed(file, options);
262
263
  if (!isSuccess) continue;
263
264
  const assetInfo = await getAssetInfo(file, options);
264
265
  if (acceptedImageMimeTypes.includes(file.type)) {
@@ -572,7 +573,7 @@ function createEmptyBookmarkShape(editor, url, position) {
572
573
  });
573
574
  return editor.getShape(partial.id);
574
575
  }
575
- function runFileChecks(file, options) {
576
+ function notifyIfFileNotAllowed(file, options) {
576
577
  const {
577
578
  acceptedImageMimeTypes = import_editor.DEFAULT_SUPPORTED_IMAGE_TYPES,
578
579
  acceptedVideoMimeTypes = import_editor.DEFAULT_SUPPORT_VIDEO_TYPES,