tldraw 3.16.0-next.6611943ca24a → 3.16.0-next.8eb6d5c2d8f4

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 (336) hide show
  1. package/dist-cjs/index.d.ts +251 -114
  2. package/dist-cjs/index.js +34 -15
  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/defaultExternalContentHandlers.js +15 -4
  7. package/dist-cjs/lib/defaultExternalContentHandlers.js.map +2 -2
  8. package/dist-cjs/lib/shapes/arrow/arrow-types.js.map +1 -1
  9. package/dist-cjs/lib/shapes/arrow/arrowLabel.js +6 -0
  10. package/dist-cjs/lib/shapes/arrow/arrowLabel.js.map +3 -3
  11. package/dist-cjs/lib/shapes/arrow/arrowTargetState.js +3 -2
  12. package/dist-cjs/lib/shapes/arrow/arrowTargetState.js.map +2 -2
  13. package/dist-cjs/lib/shapes/arrow/toolStates/Pointing.js +1 -1
  14. package/dist-cjs/lib/shapes/arrow/toolStates/Pointing.js.map +2 -2
  15. package/dist-cjs/lib/shapes/bookmark/BookmarkShapeUtil.js +4 -4
  16. package/dist-cjs/lib/shapes/bookmark/BookmarkShapeUtil.js.map +2 -2
  17. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js +8 -1
  18. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js.map +2 -2
  19. package/dist-cjs/lib/shapes/frame/components/FrameLabelInput.js +8 -2
  20. package/dist-cjs/lib/shapes/frame/components/FrameLabelInput.js.map +2 -2
  21. package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js +1 -0
  22. package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js.map +2 -2
  23. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js +3 -0
  24. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js.map +2 -2
  25. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js +2 -1
  26. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js.map +2 -2
  27. package/dist-cjs/lib/shapes/shared/HyperlinkButton.js +4 -4
  28. package/dist-cjs/lib/shapes/shared/HyperlinkButton.js.map +2 -2
  29. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js +1 -3
  30. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js.map +2 -2
  31. package/dist-cjs/lib/shapes/shared/useEditablePlainText.js +3 -5
  32. package/dist-cjs/lib/shapes/shared/useEditablePlainText.js.map +2 -2
  33. package/dist-cjs/lib/shapes/shared/useImageOrVideoAsset.js +0 -2
  34. package/dist-cjs/lib/shapes/shared/useImageOrVideoAsset.js.map +2 -2
  35. package/dist-cjs/lib/shapes/text/PlainTextArea.js +3 -2
  36. package/dist-cjs/lib/shapes/text/PlainTextArea.js.map +2 -2
  37. package/dist-cjs/lib/shapes/text/RichTextArea.js +3 -3
  38. package/dist-cjs/lib/shapes/text/RichTextArea.js.map +2 -2
  39. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js +3 -1
  40. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js.map +2 -2
  41. package/dist-cjs/lib/ui/TldrawUi.js +13 -12
  42. package/dist-cjs/lib/ui/TldrawUi.js.map +2 -2
  43. package/dist-cjs/lib/ui/components/A11y.js +1 -1
  44. package/dist-cjs/lib/ui/components/A11y.js.map +2 -2
  45. package/dist-cjs/lib/ui/components/AccessibilityMenu.js +1 -1
  46. package/dist-cjs/lib/ui/components/AccessibilityMenu.js.map +2 -2
  47. package/dist-cjs/lib/ui/components/{FollowingIndicator.js → DefaultFollowingIndicator.js} +6 -6
  48. package/dist-cjs/lib/ui/components/DefaultFollowingIndicator.js.map +7 -0
  49. package/dist-cjs/lib/ui/components/InputModeMenu.js +77 -0
  50. package/dist-cjs/lib/ui/components/InputModeMenu.js.map +7 -0
  51. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js +5 -5
  52. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js.map +1 -1
  53. package/dist-cjs/lib/ui/components/LanguageMenu.js +1 -0
  54. package/dist-cjs/lib/ui/components/LanguageMenu.js.map +2 -2
  55. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js +2 -0
  56. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js.map +2 -2
  57. package/dist-cjs/lib/ui/components/Minimap/DefaultMinimap.js +2 -1
  58. package/dist-cjs/lib/ui/components/Minimap/DefaultMinimap.js.map +2 -2
  59. package/dist-cjs/lib/ui/components/PageMenu/DefaultPageMenu.js +1 -1
  60. package/dist-cjs/lib/ui/components/PageMenu/DefaultPageMenu.js.map +2 -2
  61. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js +13 -6
  62. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js.map +2 -2
  63. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js +255 -316
  64. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js.map +2 -2
  65. package/dist-cjs/lib/ui/components/StylePanel/StylePanelButtonPicker.js +147 -0
  66. package/dist-cjs/lib/ui/components/StylePanel/StylePanelButtonPicker.js.map +7 -0
  67. package/dist-cjs/lib/ui/components/StylePanel/StylePanelContext.js +70 -0
  68. package/dist-cjs/lib/ui/components/StylePanel/StylePanelContext.js.map +7 -0
  69. package/dist-cjs/lib/ui/components/StylePanel/{DoubleDropdownPicker.js → StylePanelDoubleDropdownPicker.js} +23 -22
  70. package/dist-cjs/lib/ui/components/StylePanel/StylePanelDoubleDropdownPicker.js.map +7 -0
  71. package/dist-cjs/lib/ui/components/StylePanel/{DropdownPicker.js → StylePanelDropdownPicker.js} +23 -20
  72. package/dist-cjs/lib/ui/components/StylePanel/StylePanelDropdownPicker.js.map +7 -0
  73. package/dist-cjs/lib/ui/components/StylePanel/StylePanelSubheading.js +28 -0
  74. package/dist-cjs/lib/ui/components/StylePanel/StylePanelSubheading.js.map +7 -0
  75. package/dist-cjs/lib/ui/components/Toolbar/AltTextEditor.js +2 -0
  76. package/dist-cjs/lib/ui/components/Toolbar/AltTextEditor.js.map +2 -2
  77. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbarContent.js +38 -9
  78. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbarContent.js.map +2 -2
  79. package/dist-cjs/lib/ui/components/Toolbar/DefaultVideoToolbarContent.js +15 -3
  80. package/dist-cjs/lib/ui/components/Toolbar/DefaultVideoToolbarContent.js.map +2 -2
  81. package/dist-cjs/lib/ui/components/Toolbar/LinkEditor.js +2 -1
  82. package/dist-cjs/lib/ui/components/Toolbar/LinkEditor.js.map +2 -2
  83. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js +1 -1
  84. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js.map +2 -2
  85. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js +6 -2
  86. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js.map +2 -2
  87. package/dist-cjs/lib/ui/components/menu-items.js +6 -4
  88. package/dist-cjs/lib/ui/components/menu-items.js.map +2 -2
  89. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js +11 -2
  90. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js.map +2 -2
  91. package/dist-cjs/lib/ui/components/primitives/TldrawUiInput.js +5 -3
  92. package/dist-cjs/lib/ui/components/primitives/TldrawUiInput.js.map +2 -2
  93. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js +18 -5
  94. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js.map +2 -2
  95. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js +3 -0
  96. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js.map +2 -2
  97. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js +63 -14
  98. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js.map +2 -2
  99. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.js +3 -0
  100. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.js.map +2 -2
  101. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js +8 -8
  102. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js.map +2 -2
  103. package/dist-cjs/lib/ui/context/actions.js +18 -33
  104. package/dist-cjs/lib/ui/context/actions.js.map +2 -2
  105. package/dist-cjs/lib/ui/context/components.js +2 -0
  106. package/dist-cjs/lib/ui/context/components.js.map +2 -2
  107. package/dist-cjs/lib/ui/context/events.js.map +2 -2
  108. package/dist-cjs/lib/ui/hooks/useClipboardEvents.js +1 -1
  109. package/dist-cjs/lib/ui/hooks/useClipboardEvents.js.map +2 -2
  110. package/dist-cjs/lib/ui/hooks/useExportAs.js +3 -2
  111. package/dist-cjs/lib/ui/hooks/useExportAs.js.map +2 -2
  112. package/dist-cjs/lib/ui/hooks/useTools.js +1 -1
  113. package/dist-cjs/lib/ui/hooks/useTools.js.map +2 -2
  114. package/dist-cjs/lib/ui/hooks/useTranslation/TLUiTranslationKey.js.map +1 -1
  115. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js +13 -3
  116. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js.map +2 -2
  117. package/dist-cjs/lib/ui/kbd-utils.js +9 -3
  118. package/dist-cjs/lib/ui/kbd-utils.js.map +2 -2
  119. package/dist-cjs/lib/ui/version.js +3 -3
  120. package/dist-cjs/lib/ui/version.js.map +1 -1
  121. package/dist-cjs/lib/utils/export/copyAs.js +1 -2
  122. package/dist-cjs/lib/utils/export/copyAs.js.map +2 -2
  123. package/dist-cjs/lib/utils/export/export.js +0 -20
  124. package/dist-cjs/lib/utils/export/export.js.map +2 -2
  125. package/dist-cjs/lib/utils/export/exportAs.js +1 -2
  126. package/dist-cjs/lib/utils/export/exportAs.js.map +2 -2
  127. package/dist-esm/index.d.mts +251 -114
  128. package/dist-esm/index.mjs +67 -31
  129. package/dist-esm/index.mjs.map +2 -2
  130. package/dist-esm/lib/Tldraw.mjs +14 -4
  131. package/dist-esm/lib/Tldraw.mjs.map +2 -2
  132. package/dist-esm/lib/defaultExternalContentHandlers.mjs +15 -4
  133. package/dist-esm/lib/defaultExternalContentHandlers.mjs.map +2 -2
  134. package/dist-esm/lib/shapes/arrow/arrowLabel.mjs +6 -0
  135. package/dist-esm/lib/shapes/arrow/arrowLabel.mjs.map +3 -3
  136. package/dist-esm/lib/shapes/arrow/arrowTargetState.mjs +3 -2
  137. package/dist-esm/lib/shapes/arrow/arrowTargetState.mjs.map +2 -2
  138. package/dist-esm/lib/shapes/arrow/toolStates/Pointing.mjs +1 -1
  139. package/dist-esm/lib/shapes/arrow/toolStates/Pointing.mjs.map +2 -2
  140. package/dist-esm/lib/shapes/bookmark/BookmarkShapeUtil.mjs +4 -5
  141. package/dist-esm/lib/shapes/bookmark/BookmarkShapeUtil.mjs.map +2 -2
  142. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs +8 -1
  143. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs.map +2 -2
  144. package/dist-esm/lib/shapes/frame/components/FrameLabelInput.mjs +9 -3
  145. package/dist-esm/lib/shapes/frame/components/FrameLabelInput.mjs.map +2 -2
  146. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs +1 -0
  147. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs.map +2 -2
  148. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs +3 -0
  149. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs.map +2 -2
  150. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs +2 -1
  151. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs.map +2 -2
  152. package/dist-esm/lib/shapes/shared/HyperlinkButton.mjs +5 -5
  153. package/dist-esm/lib/shapes/shared/HyperlinkButton.mjs.map +2 -2
  154. package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs +1 -3
  155. package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs.map +2 -2
  156. package/dist-esm/lib/shapes/shared/useEditablePlainText.mjs +3 -6
  157. package/dist-esm/lib/shapes/shared/useEditablePlainText.mjs.map +2 -2
  158. package/dist-esm/lib/shapes/shared/useImageOrVideoAsset.mjs +0 -2
  159. package/dist-esm/lib/shapes/shared/useImageOrVideoAsset.mjs.map +2 -2
  160. package/dist-esm/lib/shapes/text/PlainTextArea.mjs +4 -3
  161. package/dist-esm/lib/shapes/text/PlainTextArea.mjs.map +2 -2
  162. package/dist-esm/lib/shapes/text/RichTextArea.mjs +3 -4
  163. package/dist-esm/lib/shapes/text/RichTextArea.mjs.map +2 -2
  164. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs +3 -1
  165. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs.map +2 -2
  166. package/dist-esm/lib/ui/TldrawUi.mjs +13 -12
  167. package/dist-esm/lib/ui/TldrawUi.mjs.map +2 -2
  168. package/dist-esm/lib/ui/components/A11y.mjs +1 -2
  169. package/dist-esm/lib/ui/components/A11y.mjs.map +2 -2
  170. package/dist-esm/lib/ui/components/AccessibilityMenu.mjs +3 -3
  171. package/dist-esm/lib/ui/components/AccessibilityMenu.mjs.map +2 -2
  172. package/dist-esm/lib/ui/components/{FollowingIndicator.mjs → DefaultFollowingIndicator.mjs} +3 -3
  173. package/dist-esm/lib/ui/components/DefaultFollowingIndicator.mjs.map +7 -0
  174. package/dist-esm/lib/ui/components/InputModeMenu.mjs +57 -0
  175. package/dist-esm/lib/ui/components/InputModeMenu.mjs.map +7 -0
  176. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs +5 -5
  177. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs.map +1 -1
  178. package/dist-esm/lib/ui/components/LanguageMenu.mjs +1 -0
  179. package/dist-esm/lib/ui/components/LanguageMenu.mjs.map +2 -2
  180. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs +2 -0
  181. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs.map +2 -2
  182. package/dist-esm/lib/ui/components/Minimap/DefaultMinimap.mjs +2 -1
  183. package/dist-esm/lib/ui/components/Minimap/DefaultMinimap.mjs.map +2 -2
  184. package/dist-esm/lib/ui/components/PageMenu/DefaultPageMenu.mjs +1 -2
  185. package/dist-esm/lib/ui/components/PageMenu/DefaultPageMenu.mjs.map +2 -2
  186. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs +18 -7
  187. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs.map +2 -2
  188. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs +257 -320
  189. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs.map +2 -2
  190. package/dist-esm/lib/ui/components/StylePanel/StylePanelButtonPicker.mjs +135 -0
  191. package/dist-esm/lib/ui/components/StylePanel/StylePanelButtonPicker.mjs.map +7 -0
  192. package/dist-esm/lib/ui/components/StylePanel/StylePanelContext.mjs +50 -0
  193. package/dist-esm/lib/ui/components/StylePanel/StylePanelContext.mjs.map +7 -0
  194. package/dist-esm/lib/ui/components/StylePanel/{DoubleDropdownPicker.mjs → StylePanelDoubleDropdownPicker.mjs} +20 -19
  195. package/dist-esm/lib/ui/components/StylePanel/StylePanelDoubleDropdownPicker.mjs.map +7 -0
  196. package/dist-esm/lib/ui/components/StylePanel/{DropdownPicker.mjs → StylePanelDropdownPicker.mjs} +20 -17
  197. package/dist-esm/lib/ui/components/StylePanel/StylePanelDropdownPicker.mjs.map +7 -0
  198. package/dist-esm/lib/ui/components/StylePanel/StylePanelSubheading.mjs +8 -0
  199. package/dist-esm/lib/ui/components/StylePanel/StylePanelSubheading.mjs.map +7 -0
  200. package/dist-esm/lib/ui/components/Toolbar/AltTextEditor.mjs +2 -0
  201. package/dist-esm/lib/ui/components/Toolbar/AltTextEditor.mjs.map +2 -2
  202. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbarContent.mjs +38 -9
  203. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbarContent.mjs.map +2 -2
  204. package/dist-esm/lib/ui/components/Toolbar/DefaultVideoToolbarContent.mjs +15 -3
  205. package/dist-esm/lib/ui/components/Toolbar/DefaultVideoToolbarContent.mjs.map +2 -2
  206. package/dist-esm/lib/ui/components/Toolbar/LinkEditor.mjs +2 -1
  207. package/dist-esm/lib/ui/components/Toolbar/LinkEditor.mjs.map +2 -2
  208. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs +1 -1
  209. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs.map +2 -2
  210. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs +6 -2
  211. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs.map +2 -2
  212. package/dist-esm/lib/ui/components/menu-items.mjs +6 -4
  213. package/dist-esm/lib/ui/components/menu-items.mjs.map +2 -2
  214. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs +11 -3
  215. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs.map +2 -2
  216. package/dist-esm/lib/ui/components/primitives/TldrawUiInput.mjs +6 -4
  217. package/dist-esm/lib/ui/components/primitives/TldrawUiInput.mjs.map +2 -2
  218. package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs +18 -5
  219. package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs.map +2 -2
  220. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs +3 -0
  221. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs.map +2 -2
  222. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs +64 -14
  223. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs.map +2 -2
  224. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.mjs +3 -0
  225. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.mjs.map +2 -2
  226. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs +8 -8
  227. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs.map +2 -2
  228. package/dist-esm/lib/ui/context/actions.mjs +18 -33
  229. package/dist-esm/lib/ui/context/actions.mjs.map +2 -2
  230. package/dist-esm/lib/ui/context/components.mjs +2 -0
  231. package/dist-esm/lib/ui/context/components.mjs.map +2 -2
  232. package/dist-esm/lib/ui/context/events.mjs.map +2 -2
  233. package/dist-esm/lib/ui/hooks/useClipboardEvents.mjs +1 -2
  234. package/dist-esm/lib/ui/hooks/useClipboardEvents.mjs.map +2 -2
  235. package/dist-esm/lib/ui/hooks/useExportAs.mjs +3 -2
  236. package/dist-esm/lib/ui/hooks/useExportAs.mjs.map +2 -2
  237. package/dist-esm/lib/ui/hooks/useTools.mjs +1 -1
  238. package/dist-esm/lib/ui/hooks/useTools.mjs.map +2 -2
  239. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs +13 -3
  240. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs.map +2 -2
  241. package/dist-esm/lib/ui/kbd-utils.mjs +9 -3
  242. package/dist-esm/lib/ui/kbd-utils.mjs.map +2 -2
  243. package/dist-esm/lib/ui/version.mjs +3 -3
  244. package/dist-esm/lib/ui/version.mjs.map +1 -1
  245. package/dist-esm/lib/utils/export/copyAs.mjs +1 -2
  246. package/dist-esm/lib/utils/export/copyAs.mjs.map +2 -2
  247. package/dist-esm/lib/utils/export/export.mjs +0 -20
  248. package/dist-esm/lib/utils/export/export.mjs.map +2 -2
  249. package/dist-esm/lib/utils/export/exportAs.mjs +1 -2
  250. package/dist-esm/lib/utils/export/exportAs.mjs.map +2 -2
  251. package/package.json +3 -3
  252. package/src/index.ts +49 -23
  253. package/src/lib/Tldraw.tsx +15 -2
  254. package/src/lib/defaultExternalContentHandlers.ts +26 -4
  255. package/src/lib/shapes/arrow/ArrowShapeOptions.test.ts +83 -13
  256. package/src/lib/shapes/arrow/ArrowShapeTool.test.ts +99 -5
  257. package/src/lib/shapes/arrow/ArrowShapeUtil.test.ts +41 -0
  258. package/src/lib/shapes/arrow/arrow-types.ts +3 -5
  259. package/src/lib/shapes/arrow/arrowLabel.ts +8 -0
  260. package/src/lib/shapes/arrow/arrowTargetState.ts +34 -3
  261. package/src/lib/shapes/arrow/toolStates/Pointing.tsx +1 -1
  262. package/src/lib/shapes/bookmark/BookmarkShapeUtil.tsx +4 -5
  263. package/src/lib/shapes/frame/FrameShapeUtil.tsx +9 -0
  264. package/src/lib/shapes/frame/components/FrameLabelInput.tsx +10 -3
  265. package/src/lib/shapes/geo/GeoShapeUtil.tsx +1 -0
  266. package/src/lib/shapes/image/ImageShapeUtil.tsx +3 -0
  267. package/src/lib/shapes/note/NoteShapeUtil.tsx +1 -0
  268. package/src/lib/shapes/shared/HyperlinkButton.tsx +5 -5
  269. package/src/lib/shapes/shared/PlainTextLabel.tsx +0 -6
  270. package/src/lib/shapes/shared/useEditablePlainText.ts +3 -10
  271. package/src/lib/shapes/shared/useImageOrVideoAsset.ts +0 -7
  272. package/src/lib/shapes/text/PlainTextArea.tsx +4 -3
  273. package/src/lib/shapes/text/RichTextArea.tsx +3 -4
  274. package/src/lib/tools/SelectTool/childStates/DraggingHandle.tsx +6 -2
  275. package/src/lib/ui/TldrawUi.tsx +16 -10
  276. package/src/lib/ui/components/A11y.tsx +1 -2
  277. package/src/lib/ui/components/AccessibilityMenu.tsx +2 -2
  278. package/src/lib/ui/components/{FollowingIndicator.tsx → DefaultFollowingIndicator.tsx} +2 -1
  279. package/src/lib/ui/components/InputModeMenu.tsx +65 -0
  280. package/src/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.tsx +5 -5
  281. package/src/lib/ui/components/LanguageMenu.tsx +1 -0
  282. package/src/lib/ui/components/MainMenu/DefaultMainMenuContent.tsx +4 -0
  283. package/src/lib/ui/components/Minimap/DefaultMinimap.tsx +2 -1
  284. package/src/lib/ui/components/PageMenu/DefaultPageMenu.tsx +1 -2
  285. package/src/lib/ui/components/StylePanel/DefaultStylePanel.tsx +30 -14
  286. package/src/lib/ui/components/StylePanel/DefaultStylePanelContent.tsx +262 -381
  287. package/src/lib/ui/components/{primitives/TldrawUiButtonPicker.tsx → StylePanel/StylePanelButtonPicker.tsx} +70 -50
  288. package/src/lib/ui/components/StylePanel/StylePanelContext.tsx +65 -0
  289. package/src/lib/ui/components/StylePanel/{DoubleDropdownPicker.tsx → StylePanelDoubleDropdownPicker.tsx} +28 -19
  290. package/src/lib/ui/components/StylePanel/StylePanelDropdownPicker.tsx +119 -0
  291. package/src/lib/ui/components/StylePanel/StylePanelSubheading.tsx +9 -0
  292. package/src/lib/ui/components/Toolbar/AltTextEditor.tsx +2 -0
  293. package/src/lib/ui/components/Toolbar/DefaultImageToolbarContent.tsx +32 -15
  294. package/src/lib/ui/components/Toolbar/DefaultVideoToolbarContent.tsx +12 -4
  295. package/src/lib/ui/components/Toolbar/LinkEditor.tsx +1 -0
  296. package/src/lib/ui/components/Toolbar/OverflowingToolbar.tsx +1 -1
  297. package/src/lib/ui/components/Toolbar/ToggleToolLockedButton.tsx +9 -2
  298. package/src/lib/ui/components/menu-items.tsx +5 -3
  299. package/src/lib/ui/components/primitives/TldrawUiContextualToolbar.tsx +7 -3
  300. package/src/lib/ui/components/primitives/TldrawUiInput.tsx +6 -3
  301. package/src/lib/ui/components/primitives/TldrawUiSlider.tsx +52 -32
  302. package/src/lib/ui/components/primitives/TldrawUiToolbar.tsx +5 -1
  303. package/src/lib/ui/components/primitives/TldrawUiTooltip.tsx +88 -29
  304. package/src/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.tsx +4 -0
  305. package/src/lib/ui/components/primitives/menus/TldrawUiMenuItem.tsx +9 -9
  306. package/src/lib/ui/context/actions.tsx +25 -35
  307. package/src/lib/ui/context/components.tsx +3 -0
  308. package/src/lib/ui/context/events.tsx +3 -2
  309. package/src/lib/ui/hooks/useClipboardEvents.ts +1 -2
  310. package/src/lib/ui/hooks/useExportAs.ts +3 -2
  311. package/src/lib/ui/hooks/useTools.tsx +1 -1
  312. package/src/lib/ui/hooks/useTranslation/TLUiTranslationKey.ts +12 -2
  313. package/src/lib/ui/hooks/useTranslation/defaultTranslation.ts +13 -3
  314. package/src/lib/ui/kbd-utils.ts +10 -3
  315. package/src/lib/ui/version.ts +3 -3
  316. package/src/lib/ui.css +41 -4
  317. package/src/lib/utils/export/copyAs.ts +1 -24
  318. package/src/lib/utils/export/export.ts +0 -36
  319. package/src/lib/utils/export/exportAs.ts +1 -32
  320. package/src/test/TestEditor.ts +8 -2
  321. package/src/test/commands/setCamera.test.ts +13 -0
  322. package/src/test/custom-clipping.test.ts +436 -0
  323. package/src/test/frames.test.ts +15 -0
  324. package/src/test/getCulledShapes.test.tsx +71 -2
  325. package/tldraw.css +57 -7
  326. package/dist-cjs/lib/ui/components/FollowingIndicator.js.map +0 -7
  327. package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js.map +0 -7
  328. package/dist-cjs/lib/ui/components/StylePanel/DropdownPicker.js.map +0 -7
  329. package/dist-cjs/lib/ui/components/primitives/TldrawUiButtonPicker.js +0 -131
  330. package/dist-cjs/lib/ui/components/primitives/TldrawUiButtonPicker.js.map +0 -7
  331. package/dist-esm/lib/ui/components/FollowingIndicator.mjs.map +0 -7
  332. package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs.map +0 -7
  333. package/dist-esm/lib/ui/components/StylePanel/DropdownPicker.mjs.map +0 -7
  334. package/dist-esm/lib/ui/components/primitives/TldrawUiButtonPicker.mjs +0 -115
  335. package/dist-esm/lib/ui/components/primitives/TldrawUiButtonPicker.mjs.map +0 -7
  336. package/src/lib/ui/components/StylePanel/DropdownPicker.tsx +0 -110
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,6 @@ __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,
214
225
  TldrawUiColumn: () => import_layout.TldrawUiColumn,
215
226
  TldrawUiComponentsProvider: () => import_components.TldrawUiComponentsProvider,
216
227
  TldrawUiContextProvider: () => import_TldrawUiContextProvider.TldrawUiContextProvider,
@@ -233,6 +244,7 @@ __export(index_exports, {
233
244
  TldrawUiEventsProvider: () => import_events.TldrawUiEventsProvider,
234
245
  TldrawUiGrid: () => import_layout.TldrawUiGrid,
235
246
  TldrawUiIcon: () => import_TldrawUiIcon.TldrawUiIcon,
247
+ TldrawUiInFrontOfTheCanvas: () => import_TldrawUi.TldrawUiInFrontOfTheCanvas,
236
248
  TldrawUiInput: () => import_TldrawUiInput.TldrawUiInput,
237
249
  TldrawUiKbd: () => import_TldrawUiKbd.TldrawUiKbd,
238
250
  TldrawUiMenuActionCheckboxItem: () => import_TldrawUiMenuActionCheckboxItem.TldrawUiMenuActionCheckboxItem,
@@ -261,6 +273,7 @@ __export(index_exports, {
261
273
  ToggleDebugModeItem: () => import_menu_items.ToggleDebugModeItem,
262
274
  ToggleDynamicSizeModeItem: () => import_menu_items.ToggleDynamicSizeModeItem,
263
275
  ToggleEdgeScrollingItem: () => import_menu_items.ToggleEdgeScrollingItem,
276
+ ToggleEnhancedA11yModeItem: () => import_menu_items.ToggleEnhancedA11yModeItem,
264
277
  ToggleFocusModeItem: () => import_menu_items.ToggleFocusModeItem,
265
278
  ToggleGridItem: () => import_menu_items.ToggleGridItem,
266
279
  ToggleKeyboardShortcutsItem: () => import_menu_items.ToggleKeyboardShortcutsItem,
@@ -271,7 +284,6 @@ __export(index_exports, {
271
284
  ToggleToolLockItem: () => import_menu_items.ToggleToolLockItem,
272
285
  ToggleToolLockedButton: () => import_ToggleToolLockedButton.ToggleToolLockedButton,
273
286
  ToggleTransparentBgMenuItem: () => import_menu_items.ToggleTransparentBgMenuItem,
274
- ToggleUiLabelsItem: () => import_menu_items.ToggleUiLabelsItem,
275
287
  ToggleWrapModeItem: () => import_menu_items.ToggleWrapModeItem,
276
288
  ToolbarItem: () => import_DefaultToolbarContent.ToolbarItem,
277
289
  TrapezoidToolbarItem: () => import_DefaultToolbarContent.TrapezoidToolbarItem,
@@ -290,6 +302,7 @@ __export(index_exports, {
290
302
  allDefaultFontFaces: () => import_defaultFonts.allDefaultFontFaces,
291
303
  buildFromV1Document: () => import_buildFromV1Document.buildFromV1Document,
292
304
  centerSelectionAroundPoint: () => import_defaultExternalContentHandlers.centerSelectionAroundPoint,
305
+ clearArrowTargetState: () => import_arrowTargetState.clearArrowTargetState,
293
306
  containBoxSize: () => import_assets.containBoxSize,
294
307
  copyAs: () => import_copyAs.copyAs,
295
308
  createEmptyBookmarkShape: () => import_defaultExternalContentHandlers.createEmptyBookmarkShape,
@@ -313,10 +326,10 @@ __export(index_exports, {
313
326
  downsizeImage: () => import_assets.downsizeImage,
314
327
  embedShapePermissionDefaults: () => import_defaultEmbedDefinitions.embedShapePermissionDefaults,
315
328
  exportAs: () => import_exportAs.exportAs,
316
- exportToBlob: () => import_export.exportToBlob,
317
329
  fitFrameToContent: () => import_frames.fitFrameToContent,
318
330
  getArrowBindings: () => import_shared.getArrowBindings,
319
331
  getArrowInfo: () => import_shared.getArrowInfo,
332
+ getArrowTargetState: () => import_arrowTargetState.getArrowTargetState,
320
333
  getArrowTerminalsInArrowSpace: () => import_shared.getArrowTerminalsInArrowSpace,
321
334
  getAssetInfo: () => import_defaultExternalContentHandlers.getAssetInfo,
322
335
  getCropBox: () => import_crop.getCropBox,
@@ -327,6 +340,7 @@ __export(index_exports, {
327
340
  getStrokePoints: () => import_getStrokePoints.getStrokePoints,
328
341
  getSvgPathFromStrokePoints: () => import_svg.getSvgPathFromStrokePoints,
329
342
  getUncroppedSize: () => import_crop.getUncroppedSize,
343
+ notifyIfFileNotAllowed: () => import_defaultExternalContentHandlers.notifyIfFileNotAllowed,
330
344
  onDragFromToolbarToCreateShape: () => import_useTools.onDragFromToolbarToCreateShape,
331
345
  parseAndLoadDocument: () => import_file.parseAndLoadDocument,
332
346
  parseTldrawJsonFile: () => import_file.parseTldrawJsonFile,
@@ -346,9 +360,9 @@ __export(index_exports, {
346
360
  tipTapDefaultExtensions: () => import_richText.tipTapDefaultExtensions,
347
361
  truncateStringWithEllipsis: () => import_text.truncateStringWithEllipsis,
348
362
  unwrapLabel: () => import_actions.unwrapLabel,
363
+ updateArrowTargetState: () => import_arrowTargetState.updateArrowTargetState,
349
364
  useA11y: () => import_a11y.useA11y,
350
365
  useActions: () => import_actions.useActions,
351
- useAsset: () => import_useImageOrVideoAsset.useAsset,
352
366
  useAssetUrls: () => import_asset_urls.useAssetUrls,
353
367
  useBreakpoint: () => import_breakpoints.useBreakpoint,
354
368
  useCanRedo: () => import_menu_hooks.useCanRedo,
@@ -361,7 +375,6 @@ __export(index_exports, {
361
375
  useDialogs: () => import_dialogs.useDialogs,
362
376
  useEditablePlainText: () => import_useEditablePlainText.useEditablePlainText,
363
377
  useEditableRichText: () => import_useEditableRichText.useEditableRichText,
364
- useEditableText: () => import_useEditablePlainText.useEditableText,
365
378
  useExportAs: () => import_useExportAs.useExportAs,
366
379
  useImageOrVideoAsset: () => import_useImageOrVideoAsset.useImageOrVideoAsset,
367
380
  useIsToolSelected: () => import_DefaultToolbarContent.useIsToolSelected,
@@ -375,6 +388,7 @@ __export(index_exports, {
375
388
  useRelevantStyles: () => import_useRelevantStyles.useRelevantStyles,
376
389
  useSelectedShapesAnnouncer: () => import_A11y.useSelectedShapesAnnouncer,
377
390
  useShowCollaborationUi: () => import_useCollaborationStatus.useShowCollaborationUi,
391
+ useStylePanelContext: () => import_StylePanelContext.useStylePanelContext,
378
392
  useTldrawUiComponents: () => import_components.useTldrawUiComponents,
379
393
  useTldrawUiOrientation: () => import_layout.useTldrawUiOrientation,
380
394
  useToasts: () => import_toasts.useToasts,
@@ -390,6 +404,7 @@ var import_usePrefersReducedMotion = require("./lib/shapes/shared/usePrefersRedu
390
404
  var import_A11y = require("./lib/ui/components/A11y");
391
405
  var import_AccessibilityMenu = require("./lib/ui/components/AccessibilityMenu");
392
406
  var import_ColorSchemeMenu = require("./lib/ui/components/ColorSchemeMenu");
407
+ var import_DefaultFollowingIndicator = require("./lib/ui/components/DefaultFollowingIndicator");
393
408
  var import_Dialogs = require("./lib/ui/components/Dialogs");
394
409
  var import_layout = require("./lib/ui/components/primitives/layout");
395
410
  var import_TldrawUiMenuActionCheckboxItem = require("./lib/ui/components/primitives/menus/TldrawUiMenuActionCheckboxItem");
@@ -414,6 +429,7 @@ var import_defaultSideEffects = require("./lib/defaultSideEffects");
414
429
  var import_defaultTools = require("./lib/defaultTools");
415
430
  var import_ArrowShapeTool = require("./lib/shapes/arrow/ArrowShapeTool");
416
431
  var import_ArrowShapeUtil = require("./lib/shapes/arrow/ArrowShapeUtil");
432
+ var import_arrowTargetState = require("./lib/shapes/arrow/arrowTargetState");
417
433
  var import_shared = require("./lib/shapes/arrow/shared");
418
434
  var import_BookmarkShapeUtil = require("./lib/shapes/bookmark/BookmarkShapeUtil");
419
435
  var import_DrawShapeTool = require("./lib/shapes/draw/DrawShapeTool");
@@ -488,7 +504,6 @@ var import_TldrawUiMenuContext = require("./lib/ui/components/primitives/menus/T
488
504
  var import_TldrawUiMenuGroup = require("./lib/ui/components/primitives/menus/TldrawUiMenuGroup");
489
505
  var import_TldrawUiMenuItem = require("./lib/ui/components/primitives/menus/TldrawUiMenuItem");
490
506
  var import_TldrawUiMenuSubmenu = require("./lib/ui/components/primitives/menus/TldrawUiMenuSubmenu");
491
- var import_TldrawUiButtonPicker = require("./lib/ui/components/primitives/TldrawUiButtonPicker");
492
507
  var import_TldrawUiContextualToolbar = require("./lib/ui/components/primitives/TldrawUiContextualToolbar");
493
508
  var import_TldrawUiDialog = require("./lib/ui/components/primitives/TldrawUiDialog");
494
509
  var import_TldrawUiDropdownMenu = require("./lib/ui/components/primitives/TldrawUiDropdownMenu");
@@ -506,6 +521,11 @@ var import_PeopleMenu = require("./lib/ui/components/SharePanel/PeopleMenu");
506
521
  var import_Spinner = require("./lib/ui/components/Spinner");
507
522
  var import_DefaultStylePanel = require("./lib/ui/components/StylePanel/DefaultStylePanel");
508
523
  var import_DefaultStylePanelContent = require("./lib/ui/components/StylePanel/DefaultStylePanelContent");
524
+ var import_StylePanelButtonPicker = require("./lib/ui/components/StylePanel/StylePanelButtonPicker");
525
+ var import_StylePanelContext = require("./lib/ui/components/StylePanel/StylePanelContext");
526
+ var import_StylePanelDoubleDropdownPicker = require("./lib/ui/components/StylePanel/StylePanelDoubleDropdownPicker");
527
+ var import_StylePanelDropdownPicker = require("./lib/ui/components/StylePanel/StylePanelDropdownPicker");
528
+ var import_StylePanelSubheading = require("./lib/ui/components/StylePanel/StylePanelSubheading");
509
529
  var import_DefaultImageToolbar = require("./lib/ui/components/Toolbar/DefaultImageToolbar");
510
530
  var import_DefaultImageToolbarContent = require("./lib/ui/components/Toolbar/DefaultImageToolbarContent");
511
531
  var import_DefaultRichTextToolbar = require("./lib/ui/components/Toolbar/DefaultRichTextToolbar");
@@ -549,7 +569,6 @@ var import_preload_font = require("./lib/utils/assets/preload-font");
549
569
  var import_embeds = require("./lib/utils/embeds/embeds");
550
570
  var import_putExcalidrawContent = require("./lib/utils/excalidraw/putExcalidrawContent");
551
571
  var import_copyAs = require("./lib/utils/export/copyAs");
552
- var import_export = require("./lib/utils/export/export");
553
572
  var import_exportAs = require("./lib/utils/export/exportAs");
554
573
  var import_frames = require("./lib/utils/frames/frames");
555
574
  var import_assetUrls2 = require("./lib/utils/static-assets/assetUrls");
@@ -560,7 +579,7 @@ var import_buildFromV1Document = require("./lib/utils/tldr/buildFromV1Document")
560
579
  var import_file = require("./lib/utils/tldr/file");
561
580
  (0, import_editor.registerTldrawLibraryVersion)(
562
581
  "tldraw",
563
- "3.16.0-next.6611943ca24a",
582
+ "3.16.0-next.8eb6d5c2d8f4",
564
583
  "cjs"
565
584
  );
566
585
  //# 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\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\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 {\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\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, 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\tclearArrowTargetState,\n\tgetArrowTargetState,\n\tupdateArrowTargetState,\n\ttype ArrowTargetState,\n\ttype UpdateArrowTargetStateOpts,\n} from './lib/shapes/arrow/arrowTargetState'\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\tToggleEnhancedA11yModeItem,\n\tToggleFocusModeItem,\n\tToggleGridItem,\n\tToggleKeyboardShortcutsItem,\n\tToggleLockMenuItem,\n\tTogglePasteAtCursorItem,\n\tToggleReduceMotionItem,\n\tToggleSnapModeItem,\n\tToggleToolLockItem,\n\tToggleTransparentBgMenuItem,\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
  }
@@ -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,
@@ -590,8 +591,18 @@ function runFileChecks(file, options) {
590
591
  return false;
591
592
  }
592
593
  if (file.size > maxAssetSize) {
594
+ const formatBytes = (bytes) => {
595
+ if (bytes === 0) return "0 bytes";
596
+ const units = ["bytes", "KB", "MB", "GB", "TB", "PB"];
597
+ const base = 1024;
598
+ const unitIndex = Math.floor(Math.log(bytes) / Math.log(base));
599
+ const value = bytes / Math.pow(base, unitIndex);
600
+ const formatted = value % 1 === 0 ? value.toString() : value.toFixed(1);
601
+ return `${formatted} ${units[unitIndex]}`;
602
+ };
593
603
  toasts.addToast({
594
604
  title: msg("assets.files.size-too-big"),
605
+ description: msg("assets.files.maximum-size").replace("{size}", formatBytes(maxAssetSize)),
595
606
  severity: "error"
596
607
  });
597
608
  return false;