@bigbluebutton/tldraw 2.0.0-alpha.34 → 2.0.0-alpha.35

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 (379) hide show
  1. package/dist-cjs/index.js +4 -4
  2. package/dist-cjs/index.js.map +1 -1
  3. package/dist-cjs/lib/Tldraw.js +1 -2
  4. package/dist-cjs/lib/Tldraw.js.map +1 -1
  5. package/dist-cjs/lib/canvas/TldrawHandles.js +1 -2
  6. package/dist-cjs/lib/canvas/TldrawHandles.js.map +1 -1
  7. package/dist-cjs/lib/canvas/TldrawHoveredShapeIndicator.js +1 -2
  8. package/dist-cjs/lib/canvas/TldrawHoveredShapeIndicator.js.map +1 -1
  9. package/dist-cjs/lib/canvas/TldrawScribble.js +1 -2
  10. package/dist-cjs/lib/canvas/TldrawScribble.js.map +1 -1
  11. package/dist-cjs/lib/canvas/TldrawSelectionBackground.js +1 -2
  12. package/dist-cjs/lib/canvas/TldrawSelectionBackground.js.map +1 -1
  13. package/dist-cjs/lib/canvas/TldrawSelectionForeground.js +1 -2
  14. package/dist-cjs/lib/canvas/TldrawSelectionForeground.js.map +1 -1
  15. package/dist-cjs/lib/defaultExternalContentHandlers.js +3 -6
  16. package/dist-cjs/lib/defaultExternalContentHandlers.js.map +1 -1
  17. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js +7 -14
  18. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js.map +1 -1
  19. package/dist-cjs/lib/shapes/arrow/toolStates/Idle.js +1 -2
  20. package/dist-cjs/lib/shapes/arrow/toolStates/Idle.js.map +1 -1
  21. package/dist-cjs/lib/shapes/arrow/toolStates/Pointing.js +6 -12
  22. package/dist-cjs/lib/shapes/arrow/toolStates/Pointing.js.map +1 -1
  23. package/dist-cjs/lib/shapes/draw/toolStates/Drawing.js +12 -24
  24. package/dist-cjs/lib/shapes/draw/toolStates/Drawing.js.map +1 -1
  25. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js +1 -2
  26. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js.map +1 -1
  27. package/dist-cjs/lib/shapes/frame/FrameShapeTool.js +4 -8
  28. package/dist-cjs/lib/shapes/frame/FrameShapeTool.js.map +1 -1
  29. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js +3 -6
  30. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js.map +1 -1
  31. package/dist-cjs/lib/shapes/frame/components/FrameHeading.js +1 -2
  32. package/dist-cjs/lib/shapes/frame/components/FrameHeading.js.map +1 -1
  33. package/dist-cjs/lib/shapes/frame/components/FrameLabelInput.js +4 -8
  34. package/dist-cjs/lib/shapes/frame/components/FrameLabelInput.js.map +1 -1
  35. package/dist-cjs/lib/shapes/geo/toolStates/Idle.js +1 -2
  36. package/dist-cjs/lib/shapes/geo/toolStates/Idle.js.map +1 -1
  37. package/dist-cjs/lib/shapes/geo/toolStates/Pointing.js +2 -4
  38. package/dist-cjs/lib/shapes/geo/toolStates/Pointing.js.map +1 -1
  39. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js +5 -10
  40. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js.map +1 -1
  41. package/dist-cjs/lib/shapes/line/components/svg.js +1 -2
  42. package/dist-cjs/lib/shapes/line/components/svg.js.map +1 -1
  43. package/dist-cjs/lib/shapes/line/toolStates/Pointing.js +5 -10
  44. package/dist-cjs/lib/shapes/line/toolStates/Pointing.js.map +1 -1
  45. package/dist-cjs/lib/shapes/poll/components/CustomizedAxisTick.js +1 -2
  46. package/dist-cjs/lib/shapes/poll/components/CustomizedAxisTick.js.map +1 -1
  47. package/dist-cjs/lib/shapes/poll/components/poll-content.js +1 -2
  48. package/dist-cjs/lib/shapes/poll/components/poll-content.js.map +1 -1
  49. package/dist-cjs/lib/shapes/shared/TextHelpers.js +2 -4
  50. package/dist-cjs/lib/shapes/shared/TextHelpers.js.map +1 -1
  51. package/dist-cjs/lib/shapes/shared/createTextSvgElementFromSpans.js +1 -2
  52. package/dist-cjs/lib/shapes/shared/createTextSvgElementFromSpans.js.map +1 -1
  53. package/dist-cjs/lib/shapes/shared/defaultStyleDefs.js +8 -16
  54. package/dist-cjs/lib/shapes/shared/defaultStyleDefs.js.map +1 -1
  55. package/dist-cjs/lib/shapes/shared/freehand/getStrokePoints.js +6 -12
  56. package/dist-cjs/lib/shapes/shared/freehand/getStrokePoints.js.map +1 -1
  57. package/dist-cjs/lib/shapes/shared/freehand/setStrokePointRadii.js +1 -2
  58. package/dist-cjs/lib/shapes/shared/freehand/setStrokePointRadii.js.map +1 -1
  59. package/dist-cjs/lib/shapes/shared/freehand/svgInk.js +2 -4
  60. package/dist-cjs/lib/shapes/shared/freehand/svgInk.js.map +1 -1
  61. package/dist-cjs/lib/shapes/shared/useEditableText.js +5 -10
  62. package/dist-cjs/lib/shapes/shared/useEditableText.js.map +1 -1
  63. package/dist-cjs/lib/shapes/text/TextShapeUtil.js +6 -12
  64. package/dist-cjs/lib/shapes/text/TextShapeUtil.js.map +1 -1
  65. package/dist-cjs/lib/shapes/text/toolStates/Idle.js +1 -2
  66. package/dist-cjs/lib/shapes/text/toolStates/Idle.js.map +1 -1
  67. package/dist-cjs/lib/shapes/text/toolStates/Pointing.js +1 -2
  68. package/dist-cjs/lib/shapes/text/toolStates/Pointing.js.map +1 -1
  69. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js +2 -4
  70. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js.map +1 -1
  71. package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js +2 -4
  72. package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js.map +1 -1
  73. package/dist-cjs/lib/tools/SelectTool/DragAndDropManager.js +1 -2
  74. package/dist-cjs/lib/tools/SelectTool/DragAndDropManager.js.map +1 -1
  75. package/dist-cjs/lib/tools/SelectTool/childStates/Brushing.js +25 -30
  76. package/dist-cjs/lib/tools/SelectTool/childStates/Brushing.js.map +1 -1
  77. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/Idle.js +12 -24
  78. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/Idle.js.map +1 -1
  79. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/TranslatingCrop.js +1 -2
  80. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/TranslatingCrop.js.map +1 -1
  81. package/dist-cjs/lib/tools/SelectTool/childStates/Cropping.js +8 -16
  82. package/dist-cjs/lib/tools/SelectTool/childStates/Cropping.js.map +1 -1
  83. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js +3 -6
  84. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js.map +1 -1
  85. package/dist-cjs/lib/tools/SelectTool/childStates/EditingShape.js +2 -4
  86. package/dist-cjs/lib/tools/SelectTool/childStates/EditingShape.js.map +1 -1
  87. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js +21 -42
  88. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js.map +1 -1
  89. package/dist-cjs/lib/tools/SelectTool/childStates/PointingCropHandle.js +1 -2
  90. package/dist-cjs/lib/tools/SelectTool/childStates/PointingCropHandle.js.map +1 -1
  91. package/dist-cjs/lib/tools/SelectTool/childStates/PointingSelection.js +1 -2
  92. package/dist-cjs/lib/tools/SelectTool/childStates/PointingSelection.js.map +1 -1
  93. package/dist-cjs/lib/tools/SelectTool/childStates/PointingShape.js +1 -2
  94. package/dist-cjs/lib/tools/SelectTool/childStates/PointingShape.js.map +1 -1
  95. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js +5 -10
  96. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js.map +1 -1
  97. package/dist-cjs/lib/tools/SelectTool/childStates/Rotating.js +2 -4
  98. package/dist-cjs/lib/tools/SelectTool/childStates/Rotating.js.map +1 -1
  99. package/dist-cjs/lib/tools/SelectTool/childStates/ScribbleBrushing.js +1 -2
  100. package/dist-cjs/lib/tools/SelectTool/childStates/ScribbleBrushing.js.map +1 -1
  101. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js +4 -8
  102. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js.map +1 -1
  103. package/dist-cjs/lib/tools/SelectTool/children/DraggingHandle.js +3 -6
  104. package/dist-cjs/lib/tools/SelectTool/children/DraggingHandle.js.map +1 -1
  105. package/dist-cjs/lib/tools/selection-logic/updateHoveredId.js +1 -2
  106. package/dist-cjs/lib/tools/selection-logic/updateHoveredId.js.map +1 -1
  107. package/dist-cjs/lib/ui/assetUrls.js +1 -2
  108. package/dist-cjs/lib/ui/assetUrls.js.map +1 -1
  109. package/dist-cjs/lib/ui/components/ActionsMenu.js +2 -4
  110. package/dist-cjs/lib/ui/components/ActionsMenu.js.map +1 -1
  111. package/dist-cjs/lib/ui/components/BackToContent.js +1 -2
  112. package/dist-cjs/lib/ui/components/BackToContent.js.map +1 -1
  113. package/dist-cjs/lib/ui/components/ContextMenu.js +3 -6
  114. package/dist-cjs/lib/ui/components/ContextMenu.js.map +1 -1
  115. package/dist-cjs/lib/ui/components/DebugPanel.js +2 -4
  116. package/dist-cjs/lib/ui/components/DebugPanel.js.map +1 -1
  117. package/dist-cjs/lib/ui/components/EditLinkDialog.js +2 -4
  118. package/dist-cjs/lib/ui/components/EditLinkDialog.js.map +1 -1
  119. package/dist-cjs/lib/ui/components/EmbedDialog.js +1 -2
  120. package/dist-cjs/lib/ui/components/EmbedDialog.js.map +1 -1
  121. package/dist-cjs/lib/ui/components/FollowingIndicator.js +2 -4
  122. package/dist-cjs/lib/ui/components/FollowingIndicator.js.map +1 -1
  123. package/dist-cjs/lib/ui/components/HelpMenu.js +2 -4
  124. package/dist-cjs/lib/ui/components/HelpMenu.js.map +1 -1
  125. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog.js +2 -4
  126. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog.js.map +1 -1
  127. package/dist-cjs/lib/ui/components/Menu.js +5 -10
  128. package/dist-cjs/lib/ui/components/Menu.js.map +1 -1
  129. package/dist-cjs/lib/ui/components/NavigationZone/Minimap.js +3 -6
  130. package/dist-cjs/lib/ui/components/NavigationZone/Minimap.js.map +1 -1
  131. package/dist-cjs/lib/ui/components/PageMenu/PageMenu.js +5 -10
  132. package/dist-cjs/lib/ui/components/PageMenu/PageMenu.js.map +1 -1
  133. package/dist-cjs/lib/ui/components/PenModeToggle.js +1 -2
  134. package/dist-cjs/lib/ui/components/PenModeToggle.js.map +1 -1
  135. package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js +1 -2
  136. package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js.map +1 -1
  137. package/dist-cjs/lib/ui/components/StylePanel/StylePanel.js +1 -2
  138. package/dist-cjs/lib/ui/components/StylePanel/StylePanel.js.map +1 -1
  139. package/dist-cjs/lib/ui/components/Toasts.js +1 -2
  140. package/dist-cjs/lib/ui/components/Toasts.js.map +1 -1
  141. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js +1 -2
  142. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js.map +1 -1
  143. package/dist-cjs/lib/ui/components/TrashButton.js +1 -2
  144. package/dist-cjs/lib/ui/components/TrashButton.js.map +1 -1
  145. package/dist-cjs/lib/ui/components/primitives/ButtonPicker.js +2 -4
  146. package/dist-cjs/lib/ui/components/primitives/ButtonPicker.js.map +1 -1
  147. package/dist-cjs/lib/ui/components/primitives/Input.js +1 -2
  148. package/dist-cjs/lib/ui/components/primitives/Input.js.map +1 -1
  149. package/dist-cjs/lib/ui/components/primitives/Slider.js +1 -2
  150. package/dist-cjs/lib/ui/components/primitives/Slider.js.map +1 -1
  151. package/dist-cjs/lib/ui/hooks/clipboard/pasteExcalidrawContent.js +2 -4
  152. package/dist-cjs/lib/ui/hooks/clipboard/pasteExcalidrawContent.js.map +1 -1
  153. package/dist-cjs/lib/ui/hooks/menuHelpers.js +5 -10
  154. package/dist-cjs/lib/ui/hooks/menuHelpers.js.map +1 -1
  155. package/dist-cjs/lib/ui/hooks/useActions.js +73 -146
  156. package/dist-cjs/lib/ui/hooks/useActions.js.map +1 -1
  157. package/dist-cjs/lib/ui/hooks/useClipboardEvents.js +6 -12
  158. package/dist-cjs/lib/ui/hooks/useClipboardEvents.js.map +1 -1
  159. package/dist-cjs/lib/ui/hooks/useHighDpiCanvas.js +1 -2
  160. package/dist-cjs/lib/ui/hooks/useHighDpiCanvas.js.map +1 -1
  161. package/dist-cjs/lib/ui/hooks/useInsertMedia.js +1 -2
  162. package/dist-cjs/lib/ui/hooks/useInsertMedia.js.map +1 -1
  163. package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js +8 -16
  164. package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js.map +1 -1
  165. package/dist-cjs/lib/ui/hooks/useMenuIsOpen.js +1 -2
  166. package/dist-cjs/lib/ui/hooks/useMenuIsOpen.js.map +1 -1
  167. package/dist-cjs/lib/ui/hooks/useMenuSchema.js +2 -4
  168. package/dist-cjs/lib/ui/hooks/useMenuSchema.js.map +1 -1
  169. package/dist-cjs/lib/ui/hooks/usePreloadAssets.js +2 -4
  170. package/dist-cjs/lib/ui/hooks/usePreloadAssets.js.map +1 -1
  171. package/dist-cjs/lib/ui/hooks/usePreloadIcons.js +1 -2
  172. package/dist-cjs/lib/ui/hooks/usePreloadIcons.js.map +1 -1
  173. package/dist-cjs/lib/ui/hooks/usePrint.js +2 -4
  174. package/dist-cjs/lib/ui/hooks/usePrint.js.map +1 -1
  175. package/dist-cjs/lib/ui/hooks/useRevelantStyles.js +1 -2
  176. package/dist-cjs/lib/ui/hooks/useRevelantStyles.js.map +1 -1
  177. package/dist-cjs/lib/utils/assets/is-gif-animated.js +9 -0
  178. package/dist-cjs/lib/utils/assets/is-gif-animated.js.map +1 -1
  179. package/dist-cjs/lib/utils/export/export.js +2 -4
  180. package/dist-cjs/lib/utils/export/export.js.map +1 -1
  181. package/dist-cjs/lib/utils/export/exportAs.js +1 -2
  182. package/dist-cjs/lib/utils/export/exportAs.js.map +1 -1
  183. package/dist-cjs/lib/utils/frames/frames.js +4 -8
  184. package/dist-cjs/lib/utils/frames/frames.js.map +1 -1
  185. package/dist-cjs/lib/utils/static-assets/assetUrls.js +1 -2
  186. package/dist-cjs/lib/utils/static-assets/assetUrls.js.map +1 -1
  187. package/dist-cjs/lib/utils/tldr/buildFromV1Document.js +10 -20
  188. package/dist-cjs/lib/utils/tldr/buildFromV1Document.js.map +1 -1
  189. package/dist-cjs/lib/utils/tldr/file.js +1 -2
  190. package/dist-cjs/lib/utils/tldr/file.js.map +1 -1
  191. package/dist-esm/lib/Tldraw.mjs +1 -2
  192. package/dist-esm/lib/Tldraw.mjs.map +1 -1
  193. package/dist-esm/lib/canvas/TldrawHandles.mjs +1 -2
  194. package/dist-esm/lib/canvas/TldrawHandles.mjs.map +1 -1
  195. package/dist-esm/lib/canvas/TldrawHoveredShapeIndicator.mjs +1 -2
  196. package/dist-esm/lib/canvas/TldrawHoveredShapeIndicator.mjs.map +1 -1
  197. package/dist-esm/lib/canvas/TldrawScribble.mjs +1 -2
  198. package/dist-esm/lib/canvas/TldrawScribble.mjs.map +1 -1
  199. package/dist-esm/lib/canvas/TldrawSelectionBackground.mjs +1 -2
  200. package/dist-esm/lib/canvas/TldrawSelectionBackground.mjs.map +1 -1
  201. package/dist-esm/lib/canvas/TldrawSelectionForeground.mjs +1 -2
  202. package/dist-esm/lib/canvas/TldrawSelectionForeground.mjs.map +1 -1
  203. package/dist-esm/lib/defaultExternalContentHandlers.mjs +3 -6
  204. package/dist-esm/lib/defaultExternalContentHandlers.mjs.map +1 -1
  205. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs +7 -14
  206. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs.map +1 -1
  207. package/dist-esm/lib/shapes/arrow/toolStates/Idle.mjs +1 -2
  208. package/dist-esm/lib/shapes/arrow/toolStates/Idle.mjs.map +1 -1
  209. package/dist-esm/lib/shapes/arrow/toolStates/Pointing.mjs +6 -12
  210. package/dist-esm/lib/shapes/arrow/toolStates/Pointing.mjs.map +1 -1
  211. package/dist-esm/lib/shapes/draw/toolStates/Drawing.mjs +12 -24
  212. package/dist-esm/lib/shapes/draw/toolStates/Drawing.mjs.map +1 -1
  213. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs +1 -2
  214. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs.map +1 -1
  215. package/dist-esm/lib/shapes/frame/FrameShapeTool.mjs +4 -8
  216. package/dist-esm/lib/shapes/frame/FrameShapeTool.mjs.map +1 -1
  217. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs +3 -6
  218. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs.map +1 -1
  219. package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs +1 -2
  220. package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs.map +1 -1
  221. package/dist-esm/lib/shapes/frame/components/FrameLabelInput.mjs +4 -8
  222. package/dist-esm/lib/shapes/frame/components/FrameLabelInput.mjs.map +1 -1
  223. package/dist-esm/lib/shapes/geo/toolStates/Idle.mjs +1 -2
  224. package/dist-esm/lib/shapes/geo/toolStates/Idle.mjs.map +1 -1
  225. package/dist-esm/lib/shapes/geo/toolStates/Pointing.mjs +2 -4
  226. package/dist-esm/lib/shapes/geo/toolStates/Pointing.mjs.map +1 -1
  227. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs +5 -10
  228. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs.map +1 -1
  229. package/dist-esm/lib/shapes/line/components/svg.mjs +1 -2
  230. package/dist-esm/lib/shapes/line/components/svg.mjs.map +1 -1
  231. package/dist-esm/lib/shapes/line/toolStates/Pointing.mjs +5 -10
  232. package/dist-esm/lib/shapes/line/toolStates/Pointing.mjs.map +1 -1
  233. package/dist-esm/lib/shapes/poll/components/CustomizedAxisTick.mjs +1 -2
  234. package/dist-esm/lib/shapes/poll/components/CustomizedAxisTick.mjs.map +1 -1
  235. package/dist-esm/lib/shapes/poll/components/poll-content.mjs +1 -2
  236. package/dist-esm/lib/shapes/poll/components/poll-content.mjs.map +1 -1
  237. package/dist-esm/lib/shapes/shared/TextHelpers.mjs +2 -4
  238. package/dist-esm/lib/shapes/shared/TextHelpers.mjs.map +1 -1
  239. package/dist-esm/lib/shapes/shared/createTextSvgElementFromSpans.mjs +1 -2
  240. package/dist-esm/lib/shapes/shared/createTextSvgElementFromSpans.mjs.map +1 -1
  241. package/dist-esm/lib/shapes/shared/defaultStyleDefs.mjs +8 -16
  242. package/dist-esm/lib/shapes/shared/defaultStyleDefs.mjs.map +1 -1
  243. package/dist-esm/lib/shapes/shared/freehand/getStrokePoints.mjs +6 -12
  244. package/dist-esm/lib/shapes/shared/freehand/getStrokePoints.mjs.map +1 -1
  245. package/dist-esm/lib/shapes/shared/freehand/setStrokePointRadii.mjs +1 -2
  246. package/dist-esm/lib/shapes/shared/freehand/setStrokePointRadii.mjs.map +1 -1
  247. package/dist-esm/lib/shapes/shared/freehand/svgInk.mjs +2 -4
  248. package/dist-esm/lib/shapes/shared/freehand/svgInk.mjs.map +1 -1
  249. package/dist-esm/lib/shapes/shared/useEditableText.mjs +5 -10
  250. package/dist-esm/lib/shapes/shared/useEditableText.mjs.map +1 -1
  251. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs +6 -12
  252. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs.map +1 -1
  253. package/dist-esm/lib/shapes/text/toolStates/Idle.mjs +1 -2
  254. package/dist-esm/lib/shapes/text/toolStates/Idle.mjs.map +1 -1
  255. package/dist-esm/lib/shapes/text/toolStates/Pointing.mjs +1 -2
  256. package/dist-esm/lib/shapes/text/toolStates/Pointing.mjs.map +1 -1
  257. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs +2 -4
  258. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs.map +1 -1
  259. package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs +2 -4
  260. package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs.map +1 -1
  261. package/dist-esm/lib/tools/SelectTool/DragAndDropManager.mjs +1 -2
  262. package/dist-esm/lib/tools/SelectTool/DragAndDropManager.mjs.map +1 -1
  263. package/dist-esm/lib/tools/SelectTool/childStates/Brushing.mjs +25 -30
  264. package/dist-esm/lib/tools/SelectTool/childStates/Brushing.mjs.map +1 -1
  265. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/Idle.mjs +12 -24
  266. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/Idle.mjs.map +1 -1
  267. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/TranslatingCrop.mjs +1 -2
  268. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/TranslatingCrop.mjs.map +1 -1
  269. package/dist-esm/lib/tools/SelectTool/childStates/Cropping.mjs +8 -16
  270. package/dist-esm/lib/tools/SelectTool/childStates/Cropping.mjs.map +1 -1
  271. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs +3 -6
  272. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs.map +1 -1
  273. package/dist-esm/lib/tools/SelectTool/childStates/EditingShape.mjs +2 -4
  274. package/dist-esm/lib/tools/SelectTool/childStates/EditingShape.mjs.map +1 -1
  275. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs +21 -42
  276. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs.map +1 -1
  277. package/dist-esm/lib/tools/SelectTool/childStates/PointingCropHandle.mjs +1 -2
  278. package/dist-esm/lib/tools/SelectTool/childStates/PointingCropHandle.mjs.map +1 -1
  279. package/dist-esm/lib/tools/SelectTool/childStates/PointingSelection.mjs +1 -2
  280. package/dist-esm/lib/tools/SelectTool/childStates/PointingSelection.mjs.map +1 -1
  281. package/dist-esm/lib/tools/SelectTool/childStates/PointingShape.mjs +1 -2
  282. package/dist-esm/lib/tools/SelectTool/childStates/PointingShape.mjs.map +1 -1
  283. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs +5 -10
  284. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs.map +1 -1
  285. package/dist-esm/lib/tools/SelectTool/childStates/Rotating.mjs +2 -4
  286. package/dist-esm/lib/tools/SelectTool/childStates/Rotating.mjs.map +1 -1
  287. package/dist-esm/lib/tools/SelectTool/childStates/ScribbleBrushing.mjs +1 -2
  288. package/dist-esm/lib/tools/SelectTool/childStates/ScribbleBrushing.mjs.map +1 -1
  289. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs +4 -8
  290. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs.map +1 -1
  291. package/dist-esm/lib/tools/SelectTool/children/DraggingHandle.mjs +3 -6
  292. package/dist-esm/lib/tools/SelectTool/children/DraggingHandle.mjs.map +1 -1
  293. package/dist-esm/lib/tools/selection-logic/updateHoveredId.mjs +1 -2
  294. package/dist-esm/lib/tools/selection-logic/updateHoveredId.mjs.map +1 -1
  295. package/dist-esm/lib/ui/assetUrls.mjs +1 -2
  296. package/dist-esm/lib/ui/assetUrls.mjs.map +1 -1
  297. package/dist-esm/lib/ui/components/ActionsMenu.mjs +2 -4
  298. package/dist-esm/lib/ui/components/ActionsMenu.mjs.map +1 -1
  299. package/dist-esm/lib/ui/components/BackToContent.mjs +1 -2
  300. package/dist-esm/lib/ui/components/BackToContent.mjs.map +1 -1
  301. package/dist-esm/lib/ui/components/ContextMenu.mjs +3 -6
  302. package/dist-esm/lib/ui/components/ContextMenu.mjs.map +1 -1
  303. package/dist-esm/lib/ui/components/DebugPanel.mjs +2 -4
  304. package/dist-esm/lib/ui/components/DebugPanel.mjs.map +1 -1
  305. package/dist-esm/lib/ui/components/EditLinkDialog.mjs +2 -4
  306. package/dist-esm/lib/ui/components/EditLinkDialog.mjs.map +1 -1
  307. package/dist-esm/lib/ui/components/EmbedDialog.mjs +1 -2
  308. package/dist-esm/lib/ui/components/EmbedDialog.mjs.map +1 -1
  309. package/dist-esm/lib/ui/components/FollowingIndicator.mjs +2 -4
  310. package/dist-esm/lib/ui/components/FollowingIndicator.mjs.map +1 -1
  311. package/dist-esm/lib/ui/components/HelpMenu.mjs +2 -4
  312. package/dist-esm/lib/ui/components/HelpMenu.mjs.map +1 -1
  313. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog.mjs +2 -4
  314. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog.mjs.map +1 -1
  315. package/dist-esm/lib/ui/components/Menu.mjs +5 -10
  316. package/dist-esm/lib/ui/components/Menu.mjs.map +1 -1
  317. package/dist-esm/lib/ui/components/NavigationZone/Minimap.mjs +3 -6
  318. package/dist-esm/lib/ui/components/NavigationZone/Minimap.mjs.map +1 -1
  319. package/dist-esm/lib/ui/components/PageMenu/PageMenu.mjs +5 -10
  320. package/dist-esm/lib/ui/components/PageMenu/PageMenu.mjs.map +1 -1
  321. package/dist-esm/lib/ui/components/PenModeToggle.mjs +1 -2
  322. package/dist-esm/lib/ui/components/PenModeToggle.mjs.map +1 -1
  323. package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs +1 -2
  324. package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs.map +1 -1
  325. package/dist-esm/lib/ui/components/StylePanel/StylePanel.mjs +1 -2
  326. package/dist-esm/lib/ui/components/StylePanel/StylePanel.mjs.map +1 -1
  327. package/dist-esm/lib/ui/components/Toasts.mjs +1 -2
  328. package/dist-esm/lib/ui/components/Toasts.mjs.map +1 -1
  329. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs +1 -2
  330. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs.map +1 -1
  331. package/dist-esm/lib/ui/components/TrashButton.mjs +1 -2
  332. package/dist-esm/lib/ui/components/TrashButton.mjs.map +1 -1
  333. package/dist-esm/lib/ui/components/primitives/ButtonPicker.mjs +2 -4
  334. package/dist-esm/lib/ui/components/primitives/ButtonPicker.mjs.map +1 -1
  335. package/dist-esm/lib/ui/components/primitives/Input.mjs +1 -2
  336. package/dist-esm/lib/ui/components/primitives/Input.mjs.map +1 -1
  337. package/dist-esm/lib/ui/components/primitives/Slider.mjs +1 -2
  338. package/dist-esm/lib/ui/components/primitives/Slider.mjs.map +1 -1
  339. package/dist-esm/lib/ui/hooks/clipboard/pasteExcalidrawContent.mjs +2 -4
  340. package/dist-esm/lib/ui/hooks/clipboard/pasteExcalidrawContent.mjs.map +1 -1
  341. package/dist-esm/lib/ui/hooks/menuHelpers.mjs +5 -10
  342. package/dist-esm/lib/ui/hooks/menuHelpers.mjs.map +1 -1
  343. package/dist-esm/lib/ui/hooks/useActions.mjs +73 -146
  344. package/dist-esm/lib/ui/hooks/useActions.mjs.map +1 -1
  345. package/dist-esm/lib/ui/hooks/useClipboardEvents.mjs +6 -12
  346. package/dist-esm/lib/ui/hooks/useClipboardEvents.mjs.map +1 -1
  347. package/dist-esm/lib/ui/hooks/useHighDpiCanvas.mjs +1 -2
  348. package/dist-esm/lib/ui/hooks/useHighDpiCanvas.mjs.map +1 -1
  349. package/dist-esm/lib/ui/hooks/useInsertMedia.mjs +1 -2
  350. package/dist-esm/lib/ui/hooks/useInsertMedia.mjs.map +1 -1
  351. package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs +8 -16
  352. package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs.map +1 -1
  353. package/dist-esm/lib/ui/hooks/useMenuIsOpen.mjs +1 -2
  354. package/dist-esm/lib/ui/hooks/useMenuIsOpen.mjs.map +1 -1
  355. package/dist-esm/lib/ui/hooks/useMenuSchema.mjs +2 -4
  356. package/dist-esm/lib/ui/hooks/useMenuSchema.mjs.map +1 -1
  357. package/dist-esm/lib/ui/hooks/usePreloadAssets.mjs +2 -4
  358. package/dist-esm/lib/ui/hooks/usePreloadAssets.mjs.map +1 -1
  359. package/dist-esm/lib/ui/hooks/usePreloadIcons.mjs +1 -2
  360. package/dist-esm/lib/ui/hooks/usePreloadIcons.mjs.map +1 -1
  361. package/dist-esm/lib/ui/hooks/usePrint.mjs +2 -4
  362. package/dist-esm/lib/ui/hooks/usePrint.mjs.map +1 -1
  363. package/dist-esm/lib/ui/hooks/useRevelantStyles.mjs +1 -2
  364. package/dist-esm/lib/ui/hooks/useRevelantStyles.mjs.map +1 -1
  365. package/dist-esm/lib/utils/assets/is-gif-animated.mjs +9 -0
  366. package/dist-esm/lib/utils/assets/is-gif-animated.mjs.map +1 -1
  367. package/dist-esm/lib/utils/export/export.mjs +2 -4
  368. package/dist-esm/lib/utils/export/export.mjs.map +1 -1
  369. package/dist-esm/lib/utils/export/exportAs.mjs +1 -2
  370. package/dist-esm/lib/utils/export/exportAs.mjs.map +1 -1
  371. package/dist-esm/lib/utils/frames/frames.mjs +4 -8
  372. package/dist-esm/lib/utils/frames/frames.mjs.map +1 -1
  373. package/dist-esm/lib/utils/static-assets/assetUrls.mjs +1 -2
  374. package/dist-esm/lib/utils/static-assets/assetUrls.mjs.map +1 -1
  375. package/dist-esm/lib/utils/tldr/buildFromV1Document.mjs +10 -20
  376. package/dist-esm/lib/utils/tldr/buildFromV1Document.mjs.map +1 -1
  377. package/dist-esm/lib/utils/tldr/file.mjs +1 -2
  378. package/dist-esm/lib/utils/tldr/file.mjs.map +1 -1
  379. package/package.json +2 -2
package/dist-cjs/index.js CHANGED
@@ -27,8 +27,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
27
  mod
28
28
  ));
29
29
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
- var src_exports = {};
31
- __export(src_exports, {
30
+ var index_exports = {};
31
+ __export(index_exports, {
32
32
  ArrowShapeTool: () => import_ArrowShapeTool.ArrowShapeTool,
33
33
  ArrowShapeUtil: () => import_ArrowShapeUtil.ArrowShapeUtil,
34
34
  AssetUrlsProvider: () => import_useAssetUrls.AssetUrlsProvider,
@@ -130,8 +130,8 @@ __export(src_exports, {
130
130
  useTranslation: () => import_useTranslation.useTranslation,
131
131
  useUiEvents: () => import_useEventsProvider.useUiEvents
132
132
  });
133
- module.exports = __toCommonJS(src_exports);
134
- __reExport(src_exports, require("@bigbluebutton/editor"), module.exports);
133
+ module.exports = __toCommonJS(index_exports);
134
+ __reExport(index_exports, require("@bigbluebutton/editor"), module.exports);
135
135
  var import_Tldraw = require("./lib/Tldraw");
136
136
  var import_TldrawCropHandles = require("./lib/canvas/TldrawCropHandles");
137
137
  var import_TldrawHandles = require("./lib/canvas/TldrawHandles");
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
4
  "sourcesContent": ["/// <reference types=\"react\" />\n\n// eslint-disable-next-line local/no-export-star\nexport * from '@bigbluebutton/editor'\nexport { Tldraw, type TldrawProps } from './lib/Tldraw'\nexport { TldrawCropHandles, type TldrawCropHandlesProps } from './lib/canvas/TldrawCropHandles'\nexport { TldrawHandles } from './lib/canvas/TldrawHandles'\nexport { TldrawHoveredShapeIndicator } from './lib/canvas/TldrawHoveredShapeIndicator'\nexport { TldrawScribble } from './lib/canvas/TldrawScribble'\nexport { TldrawSelectionBackground } from './lib/canvas/TldrawSelectionBackground'\nexport { TldrawSelectionForeground } from './lib/canvas/TldrawSelectionForeground'\nexport { defaultShapeTools } from './lib/defaultShapeTools'\nexport { defaultShapeUtils } from './lib/defaultShapeUtils'\nexport { defaultTools } from './lib/defaultTools'\nexport { ArrowShapeTool } from './lib/shapes/arrow/ArrowShapeTool'\nexport { ArrowShapeUtil } from './lib/shapes/arrow/ArrowShapeUtil'\nexport { BookmarkShapeUtil } from './lib/shapes/bookmark/BookmarkShapeUtil'\nexport { DrawShapeTool } from './lib/shapes/draw/DrawShapeTool'\nexport { DrawShapeUtil } from './lib/shapes/draw/DrawShapeUtil'\nexport { EmbedShapeUtil } from './lib/shapes/embed/EmbedShapeUtil'\nexport { FrameShapeTool } from './lib/shapes/frame/FrameShapeTool'\nexport { FrameShapeUtil } 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 { HighlightShapeUtil } 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 } from './lib/shapes/note/NoteShapeUtil'\nexport { TextShapeTool } from './lib/shapes/text/TextShapeTool'\nexport { TextShapeUtil } from './lib/shapes/text/TextShapeUtil'\nexport { VideoShapeUtil } from './lib/shapes/video/VideoShapeUtil'\nexport { EraserTool } from './lib/tools/EraserTool/EraserTool'\nexport { HandTool } from './lib/tools/HandTool/HandTool'\nexport { LaserTool } from './lib/tools/LaserTool/LaserTool'\nexport { SelectTool } from './lib/tools/SelectTool/SelectTool'\nexport { ZoomTool } from './lib/tools/ZoomTool/ZoomTool'\n// UI\nexport { TldrawUi, type TldrawUiBaseProps, type TldrawUiProps } from './lib/ui/TldrawUi'\nexport {\n\tTldrawUiContextProvider,\n\ttype TldrawUiContextProviderProps,\n} from './lib/ui/TldrawUiContextProvider'\nexport { setDefaultUiAssetUrls, type TLUiAssetUrlOverrides } from './lib/ui/assetUrls'\nexport { ContextMenu, type TLUiContextMenuProps } from './lib/ui/components/ContextMenu'\nexport { OfflineIndicator } from './lib/ui/components/OfflineIndicator/OfflineIndicator'\nexport { Spinner } from './lib/ui/components/Spinner'\nexport { Button, type TLUiButtonProps } from './lib/ui/components/primitives/Button'\nexport { Icon, type TLUiIconProps } from './lib/ui/components/primitives/Icon'\nexport { Input, type TLUiInputProps } from './lib/ui/components/primitives/Input'\nexport {\n\tcompactMenuItems,\n\tfindMenuItem,\n\tmenuCustom,\n\tmenuGroup,\n\tmenuItem,\n\tmenuSubmenu,\n\ttype TLUiCustomMenuItem,\n\ttype TLUiMenuChild,\n\ttype TLUiMenuGroup,\n\ttype TLUiMenuItem,\n\ttype TLUiMenuSchema,\n\ttype TLUiSubMenu,\n} from './lib/ui/hooks/menuHelpers'\nexport {\n\tuseActions,\n\ttype TLUiActionItem,\n\ttype TLUiActionsContextType,\n} from './lib/ui/hooks/useActions'\nexport {\n\tuseActionsMenuSchema,\n\ttype TLUiActionsMenuSchemaContextType,\n} from './lib/ui/hooks/useActionsMenuSchema'\nexport { AssetUrlsProvider, useAssetUrls } from './lib/ui/hooks/useAssetUrls'\nexport { BreakPointProvider, useBreakpoint } from './lib/ui/hooks/useBreakpoint'\nexport { useCanRedo } from './lib/ui/hooks/useCanRedo'\nexport { useCanUndo } from './lib/ui/hooks/useCanUndo'\nexport { useMenuClipboardEvents, useNativeClipboardEvents } from './lib/ui/hooks/useClipboardEvents'\nexport {\n\tuseContextMenuSchema,\n\ttype TLUiContextTTLUiMenuSchemaContextType,\n} from './lib/ui/hooks/useContextMenuSchema'\nexport { useCopyAs } from './lib/ui/hooks/useCopyAs'\nexport {\n\tuseDialogs,\n\ttype TLUiDialog,\n\ttype TLUiDialogProps,\n\ttype TLUiDialogsContextType,\n} from './lib/ui/hooks/useDialogsProvider'\nexport {\n\tUiEventsProvider,\n\tuseUiEvents,\n\ttype EventsProviderProps,\n\ttype TLUiEventContextType,\n\ttype TLUiEventHandler,\n\ttype TLUiEventMap,\n\ttype TLUiEventSource,\n} from './lib/ui/hooks/useEventsProvider'\nexport { useExportAs } from './lib/ui/hooks/useExportAs'\nexport {\n\tuseHelpMenuSchema,\n\ttype TLUiHelpMenuSchemaContextType,\n} from './lib/ui/hooks/useHelpMenuSchema'\nexport { useKeyboardShortcuts } from './lib/ui/hooks/useKeyboardShortcuts'\nexport {\n\tuseKeyboardShortcutsSchema,\n\ttype TLUiKeyboardShortcutsSchemaContextType,\n\ttype TLUiKeyboardShortcutsSchemaProviderProps,\n} from './lib/ui/hooks/useKeyboardShortcutsSchema'\nexport { useLocalStorageState } from './lib/ui/hooks/useLocalStorageState'\nexport { useMenuIsOpen } from './lib/ui/hooks/useMenuIsOpen'\nexport {\n\tuseMenuSchema,\n\ttype TLUiMenuSchemaContextType,\n\ttype TLUiMenuSchemaProviderProps,\n} from './lib/ui/hooks/useMenuSchema'\nexport { useReadonly } from './lib/ui/hooks/useReadonly'\nexport {\n\tuseToasts,\n\ttype TLUiToast,\n\ttype TLUiToastAction,\n\ttype TLUiToastsContextType,\n} from './lib/ui/hooks/useToastsProvider'\nexport {\n\ttoolbarItem,\n\tuseToolbarSchema,\n\ttype TLUiToolbarItem,\n\ttype TLUiToolbarSchemaContextType,\n} from './lib/ui/hooks/useToolbarSchema'\nexport {\n\tuseTools,\n\ttype TLUiToolItem,\n\ttype TLUiToolsContextType,\n\ttype TLUiToolsProviderProps,\n} from './lib/ui/hooks/useTools'\nexport { type TLUiTranslationKey } from './lib/ui/hooks/useTranslation/TLUiTranslationKey'\nexport { type TLUiTranslation } from './lib/ui/hooks/useTranslation/translations'\nexport {\n\tuseTranslation as useTranslation,\n\ttype TLUiTranslationContextType,\n} from './lib/ui/hooks/useTranslation/useTranslation'\nexport { type TLUiIconType } from './lib/ui/icon-types'\nexport { useDefaultHelpers, type TLUiOverrides } from './lib/ui/overrides'\nexport {\n\tDEFAULT_ACCEPTED_IMG_TYPE,\n\tDEFAULT_ACCEPTED_VID_TYPE,\n\tcontainBoxSize,\n\tgetResizedImageDataUrl,\n\tisGifAnimated,\n} from './lib/utils/assets/assets'\nexport { getEmbedInfo } from './lib/utils/embeds/embeds'\nexport { copyAs } from './lib/utils/export/copyAs'\nexport { getSvgAsImage } from './lib/utils/export/export'\nexport { exportAs } from './lib/utils/export/exportAs'\nexport { fitFrameToContent, removeFrame } from './lib/utils/frames/frames'\nexport { setDefaultEditorAssetUrls } from './lib/utils/static-assets/assetUrls'\nexport { truncateStringWithEllipsis } from './lib/utils/text/text'\nexport {\n\tbuildFromV1Document,\n\ttype LegacyTldrawDocument,\n} from './lib/utils/tldr/buildFromV1Document'\nexport {\n\tTLDRAW_FILE_EXTENSION,\n\tparseAndLoadDocument,\n\tparseTldrawJsonFile,\n\tserializeTldrawJson,\n\tserializeTldrawJsonBlob,\n\ttype TldrawFile,\n} from './lib/utils/tldr/file'\nexport { Dialog, DropdownMenu }\nimport * as Dialog from './lib/ui/components/primitives/Dialog'\nimport * as DropdownMenu from './lib/ui/components/primitives/DropdownMenu'\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;AAGA,wBAAc,kCAHd;AAIA,oBAAyC;AACzC,+BAA+D;AAC/D,2BAA8B;AAC9B,yCAA4C;AAC5C,4BAA+B;AAC/B,uCAA0C;AAC1C,uCAA0C;AAC1C,+BAAkC;AAClC,+BAAkC;AAClC,0BAA6B;AAC7B,4BAA+B;AAC/B,4BAA+B;AAC/B,+BAAkC;AAClC,2BAA8B;AAC9B,2BAA8B;AAC9B,4BAA+B;AAC/B,4BAA+B;AAC/B,4BAA+B;AAC/B,0BAA6B;AAC7B,0BAA6B;AAC7B,gCAAmC;AACnC,gCAAmC;AACnC,4BAA+B;AAC/B,2BAA8B;AAC9B,2BAA8B;AAC9B,2BAA8B;AAC9B,2BAA8B;AAC9B,2BAA8B;AAC9B,2BAA8B;AAC9B,4BAA+B;AAC/B,wBAA2B;AAC3B,sBAAyB;AACzB,uBAA0B;AAC1B,wBAA2B;AAC3B,sBAAyB;AAEzB,sBAAqE;AACrE,qCAGO;AACP,uBAAkE;AAClE,yBAAuD;AACvD,8BAAiC;AACjC,qBAAwB;AACxB,oBAA6C;AAC7C,kBAAyC;AACzC,mBAA2C;AAC3C,yBAaO;AACP,wBAIO;AACP,kCAGO;AACP,0BAAgD;AAChD,2BAAkD;AAClD,wBAA2B;AAC3B,wBAA2B;AAC3B,gCAAiE;AACjE,kCAGO;AACP,uBAA0B;AAC1B,gCAKO;AACP,+BAQO;AACP,yBAA4B;AAC5B,+BAGO;AACP,kCAAqC;AACrC,wCAIO;AACP,kCAAqC;AACrC,2BAA8B;AAC9B,2BAIO;AACP,yBAA4B;AAC5B,+BAKO;AACP,8BAKO;AACP,sBAKO;AAGP,4BAGO;AAEP,uBAAsD;AACtD,oBAMO;AACP,oBAA6B;AAC7B,oBAAuB;AACvB,oBAA8B;AAC9B,sBAAyB;AACzB,oBAA+C;AAC/C,IAAAA,oBAA0C;AAC1C,kBAA2C;AAC3C,iCAGO;AACP,kBAOO;AAEP,aAAwB;AACxB,mBAA8B;",
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;AAGA,0BAAc,kCAHd;AAIA,oBAAyC;AACzC,+BAA+D;AAC/D,2BAA8B;AAC9B,yCAA4C;AAC5C,4BAA+B;AAC/B,uCAA0C;AAC1C,uCAA0C;AAC1C,+BAAkC;AAClC,+BAAkC;AAClC,0BAA6B;AAC7B,4BAA+B;AAC/B,4BAA+B;AAC/B,+BAAkC;AAClC,2BAA8B;AAC9B,2BAA8B;AAC9B,4BAA+B;AAC/B,4BAA+B;AAC/B,4BAA+B;AAC/B,0BAA6B;AAC7B,0BAA6B;AAC7B,gCAAmC;AACnC,gCAAmC;AACnC,4BAA+B;AAC/B,2BAA8B;AAC9B,2BAA8B;AAC9B,2BAA8B;AAC9B,2BAA8B;AAC9B,2BAA8B;AAC9B,2BAA8B;AAC9B,4BAA+B;AAC/B,wBAA2B;AAC3B,sBAAyB;AACzB,uBAA0B;AAC1B,wBAA2B;AAC3B,sBAAyB;AAEzB,sBAAqE;AACrE,qCAGO;AACP,uBAAkE;AAClE,yBAAuD;AACvD,8BAAiC;AACjC,qBAAwB;AACxB,oBAA6C;AAC7C,kBAAyC;AACzC,mBAA2C;AAC3C,yBAaO;AACP,wBAIO;AACP,kCAGO;AACP,0BAAgD;AAChD,2BAAkD;AAClD,wBAA2B;AAC3B,wBAA2B;AAC3B,gCAAiE;AACjE,kCAGO;AACP,uBAA0B;AAC1B,gCAKO;AACP,+BAQO;AACP,yBAA4B;AAC5B,+BAGO;AACP,kCAAqC;AACrC,wCAIO;AACP,kCAAqC;AACrC,2BAA8B;AAC9B,2BAIO;AACP,yBAA4B;AAC5B,+BAKO;AACP,8BAKO;AACP,sBAKO;AAGP,4BAGO;AAEP,uBAAsD;AACtD,oBAMO;AACP,oBAA6B;AAC7B,oBAAuB;AACvB,oBAA8B;AAC9B,sBAAyB;AACzB,oBAA+C;AAC/C,IAAAA,oBAA0C;AAC1C,kBAA2C;AAC3C,iCAGO;AACP,kBAOO;AAEP,aAAwB;AACxB,mBAA8B;",
6
6
  "names": ["import_assetUrls"]
7
7
  }
@@ -116,8 +116,7 @@ function InsideOfEditorContext({
116
116
  };
117
117
  });
118
118
  (0, import_react.useLayoutEffect)(() => {
119
- if (editor)
120
- return onMountEvent?.(editor);
119
+ if (editor) return onMountEvent?.(editor);
121
120
  }, [editor, onMountEvent]);
122
121
  return null;
123
122
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/Tldraw.tsx"],
4
4
  "sourcesContent": ["import {\n\tCanvas,\n\tEditor,\n\tErrorScreen,\n\tLoadingScreen,\n\tStoreSnapshot,\n\tTLOnMountHandler,\n\tTLRecord,\n\tTLStore,\n\tTLStoreWithStatus,\n\tTldrawEditor,\n\tTldrawEditorBaseProps,\n\tTldrawEditorProps,\n\tassert,\n\tuseEditor,\n\tuseShallowArrayIdentity,\n\tuseShallowObjectIdentity,\n} from '@bigbluebutton/editor'\nimport { useCallback, useDebugValue, useLayoutEffect, useMemo, useRef } from 'react'\nimport { TldrawHandles } from './canvas/TldrawHandles'\nimport { TldrawHoveredShapeIndicator } from './canvas/TldrawHoveredShapeIndicator'\nimport { TldrawScribble } from './canvas/TldrawScribble'\nimport { TldrawSelectionBackground } from './canvas/TldrawSelectionBackground'\nimport { TldrawSelectionForeground } from './canvas/TldrawSelectionForeground'\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 { TldrawUi, TldrawUiProps } from './ui/TldrawUi'\nimport { ContextMenu } from './ui/components/ContextMenu'\nimport { usePreloadAssets } from './ui/hooks/usePreloadAssets'\nimport { useDefaultEditorAssetsWithOverrides } from './utils/static-assets/assetUrls'\n\n/** @public */\nexport type TldrawProps = TldrawEditorBaseProps &\n\t(\n\t\t| {\n\t\t\t\tstore: TLStore | TLStoreWithStatus\n\t\t }\n\t\t| {\n\t\t\t\tstore?: undefined\n\t\t\t\tpersistenceKey?: string\n\t\t\t\tsessionId?: string\n\t\t\t\tdefaultName?: string\n\t\t\t\t/**\n\t\t\t\t * A snapshot to load for the store's initial data / schema.\n\t\t\t\t */\n\t\t\t\tsnapshot?: StoreSnapshot<TLRecord>\n\t\t }\n\t) &\n\tTldrawUiProps &\n\tPartial<TLExternalContentProps>\n\n/** @public */\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\t...rest\n\t} = props\n\n\tconst components = useShallowObjectIdentity(rest.components ?? {})\n\tconst shapeUtils = useShallowArrayIdentity(rest.shapeUtils ?? [])\n\tconst tools = useShallowArrayIdentity(rest.tools ?? [])\n\n\tconst withDefaults: TldrawEditorProps = {\n\t\tinitialState: 'select',\n\t\t...rest,\n\t\tcomponents: useMemo(\n\t\t\t() => ({\n\t\t\t\tScribble: TldrawScribble,\n\t\t\t\tCollaboratorScribble: TldrawScribble,\n\t\t\t\tSelectionForeground: TldrawSelectionForeground,\n\t\t\t\tSelectionBackground: TldrawSelectionBackground,\n\t\t\t\tHandles: TldrawHandles,\n\t\t\t\tHoveredShapeIndicator: TldrawHoveredShapeIndicator,\n\t\t\t\t...components,\n\t\t\t}),\n\t\t\t[components]\n\t\t),\n\t\tshapeUtils: useMemo(() => [...defaultShapeUtils, ...shapeUtils], [shapeUtils]),\n\t\ttools: useMemo(() => [...defaultTools, ...defaultShapeTools, ...tools], [tools]),\n\t}\n\n\tconst assets = useDefaultEditorAssetsWithOverrides(rest.assetUrls)\n\n\tconst { done: preloadingComplete, error: preloadingError } = usePreloadAssets(assets)\n\n\tif (preloadingError) {\n\t\treturn <ErrorScreen>Could not load assets. Please refresh the page.</ErrorScreen>\n\t}\n\n\tif (!preloadingComplete) {\n\t\treturn <LoadingScreen>Loading assets...</LoadingScreen>\n\t}\n\n\treturn (\n\t\t<TldrawEditor {...withDefaults}>\n\t\t\t<TldrawUi {...withDefaults}>\n\t\t\t\t<ContextMenu>\n\t\t\t\t\t<Canvas />\n\t\t\t\t</ContextMenu>\n\t\t\t\t<InsideOfEditorContext\n\t\t\t\t\tmaxImageDimension={maxImageDimension}\n\t\t\t\t\tmaxAssetSize={maxAssetSize}\n\t\t\t\t\tacceptedImageMimeTypes={acceptedImageMimeTypes}\n\t\t\t\t\tacceptedVideoMimeTypes={acceptedVideoMimeTypes}\n\t\t\t\t\tonMount={onMount}\n\t\t\t\t/>\n\t\t\t\t{children}\n\t\t\t</TldrawUi>\n\t\t</TldrawEditor>\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.\nfunction InsideOfEditorContext({\n\tmaxImageDimension = 1000,\n\tmaxAssetSize = 10 * 1024 * 1024, // 10mb\n\tacceptedImageMimeTypes = ['image/jpeg', 'image/png', 'image/gif', 'image/svg+xml'],\n\tacceptedVideoMimeTypes = ['video/mp4', 'video/quicktime'],\n\tonMount,\n}: Partial<TLExternalContentProps & { onMount: TLOnMountHandler }>) {\n\tconst editor = useEditor()\n\n\tconst onMountEvent = useEvent((editor: Editor) => {\n\t\tconst unsubs: (void | (() => void) | undefined)[] = []\n\n\t\tunsubs.push(...registerDefaultSideEffects(editor))\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})\n\n\t\t// ...then we run the onMount prop, which may override the above\n\t\tunsubs.push(onMount?.(editor))\n\n\t\treturn () => {\n\t\t\tunsubs.forEach((fn) => fn?.())\n\t\t}\n\t})\n\n\tuseLayoutEffect(() => {\n\t\tif (editor) return onMountEvent?.(editor)\n\t}, [editor, onMountEvent])\n\n\treturn null\n}\n\n// duped from tldraw editor\nfunction useEvent<Args extends Array<unknown>, Result>(\n\thandler: (...args: Args) => Result\n): (...args: Args) => Result {\n\tconst handlerRef = useRef<(...args: Args) => Result>()\n\n\tuseLayoutEffect(() => {\n\t\thandlerRef.current = handler\n\t})\n\n\tuseDebugValue(handler)\n\n\treturn useCallback((...args: Args) => {\n\t\tconst fn = handlerRef.current\n\t\tassert(fn, 'fn does not exist')\n\t\treturn fn(...args)\n\t}, [])\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAiGS;AAjGT,oBAiBO;AACP,mBAA6E;AAC7E,2BAA8B;AAC9B,yCAA4C;AAC5C,4BAA+B;AAC/B,uCAA0C;AAC1C,uCAA0C;AAC1C,4CAGO;AACP,+BAAkC;AAClC,+BAAkC;AAClC,gCAA2C;AAC3C,0BAA6B;AAC7B,sBAAwC;AACxC,yBAA4B;AAC5B,8BAAiC;AACjC,uBAAoD;AAuB7C,SAAS,OAAO,OAAoB;AAC1C,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACJ,IAAI;AAEJ,QAAM,iBAAa,wCAAyB,KAAK,cAAc,CAAC,CAAC;AACjE,QAAM,iBAAa,uCAAwB,KAAK,cAAc,CAAC,CAAC;AAChE,QAAM,YAAQ,uCAAwB,KAAK,SAAS,CAAC,CAAC;AAEtD,QAAM,eAAkC;AAAA,IACvC,cAAc;AAAA,IACd,GAAG;AAAA,IACH,gBAAY;AAAA,MACX,OAAO;AAAA,QACN,UAAU;AAAA,QACV,sBAAsB;AAAA,QACtB,qBAAqB;AAAA,QACrB,qBAAqB;AAAA,QACrB,SAAS;AAAA,QACT,uBAAuB;AAAA,QACvB,GAAG;AAAA,MACJ;AAAA,MACA,CAAC,UAAU;AAAA,IACZ;AAAA,IACA,gBAAY,sBAAQ,MAAM,CAAC,GAAG,4CAAmB,GAAG,UAAU,GAAG,CAAC,UAAU,CAAC;AAAA,IAC7E,WAAO,sBAAQ,MAAM,CAAC,GAAG,kCAAc,GAAG,4CAAmB,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC;AAAA,EAChF;AAEA,QAAM,aAAS,sDAAoC,KAAK,SAAS;AAEjE,QAAM,EAAE,MAAM,oBAAoB,OAAO,gBAAgB,QAAI,0CAAiB,MAAM;AAEpF,MAAI,iBAAiB;AACpB,WAAO,4CAAC,6BAAY,6DAA+C;AAAA,EACpE;AAEA,MAAI,CAAC,oBAAoB;AACxB,WAAO,4CAAC,+BAAc,+BAAiB;AAAA,EACxC;AAEA,SACC,4CAAC,8BAAc,GAAG,cACjB,uDAAC,4BAAU,GAAG,cACb;AAAA,gDAAC,kCACA,sDAAC,wBAAO,GACT;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACD;AAAA,IACC;AAAA,KACF,GACD;AAEF;AAGA,SAAS,sBAAsB;AAAA,EAC9B,oBAAoB;AAAA,EACpB,eAAe,KAAK,OAAO;AAAA;AAAA,EAC3B,yBAAyB,CAAC,cAAc,aAAa,aAAa,eAAe;AAAA,EACjF,yBAAyB,CAAC,aAAa,iBAAiB;AAAA,EACxD;AACD,GAAoE;AACnE,QAAM,aAAS,yBAAU;AAEzB,QAAM,eAAe,SAAS,CAACA,YAAmB;AACjD,UAAM,SAA8C,CAAC;AAErD,WAAO,KAAK,OAAG,sDAA2BA,OAAM,CAAC;AAGjD,sFAAuCA,SAAQ;AAAA,MAC9C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAC;AAGD,WAAO,KAAK,UAAUA,OAAM,CAAC;AAE7B,WAAO,MAAM;AACZ,aAAO,QAAQ,CAAC,OAAO,KAAK,CAAC;AAAA,IAC9B;AAAA,EACD,CAAC;AAED,oCAAgB,MAAM;AACrB,QAAI;AAAQ,aAAO,eAAe,MAAM;AAAA,EACzC,GAAG,CAAC,QAAQ,YAAY,CAAC;AAEzB,SAAO;AACR;AAGA,SAAS,SACR,SAC4B;AAC5B,QAAM,iBAAa,qBAAkC;AAErD,oCAAgB,MAAM;AACrB,eAAW,UAAU;AAAA,EACtB,CAAC;AAED,kCAAc,OAAO;AAErB,aAAO,0BAAY,IAAI,SAAe;AACrC,UAAM,KAAK,WAAW;AACtB,8BAAO,IAAI,mBAAmB;AAC9B,WAAO,GAAG,GAAG,IAAI;AAAA,EAClB,GAAG,CAAC,CAAC;AACN;",
5
+ "mappings": "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",
6
6
  "names": ["editor"]
7
7
  }
@@ -30,8 +30,7 @@ const TldrawHandles = ({ children }) => {
30
30
  () => editor.isInAny("select.idle", "select.pointing_handle"),
31
31
  [editor]
32
32
  );
33
- if (!shouldDisplayHandles)
34
- return null;
33
+ if (!shouldDisplayHandles) return null;
35
34
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { className: "tl-user-handles tl-overlays__item", children });
36
35
  };
37
36
  //# sourceMappingURL=TldrawHandles.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/lib/canvas/TldrawHandles.tsx"],
4
4
  "sourcesContent": ["import { TLHandlesComponent, useEditor, useValue } from '@bigbluebutton/editor'\n\n/** @public */\nexport const TldrawHandles: TLHandlesComponent = ({ children }) => {\n\tconst editor = useEditor()\n\tconst shouldDisplayHandles = useValue(\n\t\t'shouldDisplayHandles',\n\t\t() => editor.isInAny('select.idle', 'select.pointing_handle'),\n\t\t[editor]\n\t)\n\n\tif (!shouldDisplayHandles) return null\n\n\treturn <svg className=\"tl-user-handles tl-overlays__item\">{children}</svg>\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAaQ;AAbR,oBAAwD;AAGjD,MAAM,gBAAoC,CAAC,EAAE,SAAS,MAAM;AAClE,QAAM,aAAS,yBAAU;AACzB,QAAM,2BAAuB;AAAA,IAC5B;AAAA,IACA,MAAM,OAAO,QAAQ,eAAe,wBAAwB;AAAA,IAC5D,CAAC,MAAM;AAAA,EACR;AAEA,MAAI,CAAC;AAAsB,WAAO;AAElC,SAAO,4CAAC,SAAI,WAAU,qCAAqC,UAAS;AACrE;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAaQ;AAbR,oBAAwD;AAGjD,MAAM,gBAAoC,CAAC,EAAE,SAAS,MAAM;AAClE,QAAM,aAAS,yBAAU;AACzB,QAAM,2BAAuB;AAAA,IAC5B;AAAA,IACA,MAAM,OAAO,QAAQ,eAAe,wBAAwB;AAAA,IAC5D,CAAC,MAAM;AAAA,EACR;AAEA,MAAI,CAAC,qBAAsB,QAAO;AAElC,SAAO,4CAAC,SAAI,WAAU,qCAAqC,UAAS;AACrE;",
6
6
  "names": []
7
7
  }
@@ -35,8 +35,7 @@ const TldrawHoveredShapeIndicator = ({ shapeId }) => {
35
35
  },
36
36
  [editor]
37
37
  );
38
- if (!showHoveredShapeIndicator)
39
- return null;
38
+ if (!showHoveredShapeIndicator) return null;
40
39
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_editor.ShapeIndicator, { className: "tl-user-indicator__hovered", id: shapeId });
41
40
  };
42
41
  //# sourceMappingURL=TldrawHoveredShapeIndicator.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/lib/canvas/TldrawHoveredShapeIndicator.tsx"],
4
4
  "sourcesContent": ["import {\n\tShapeIndicator,\n\tTLHoveredShapeIndicatorComponent,\n\tuseEditor,\n\tuseValue,\n} from '@bigbluebutton/editor'\n\n/** @public */\nexport const TldrawHoveredShapeIndicator: TLHoveredShapeIndicatorComponent = ({ shapeId }) => {\n\tconst editor = useEditor()\n\tconst showHoveredShapeIndicator = useValue(\n\t\t'show hovered',\n\t\t() => {\n\t\t\t// When the editor is editing a shape and hovering that shape,\n\t\t\t// don't show its indicator; but DO show other hover indicators\n\t\t\tif (editor.isIn('select.editing_shape')) {\n\t\t\t\treturn editor.getHoveredShapeId() !== editor.getEditingShapeId()\n\t\t\t}\n\n\t\t\t// Otherise, only show the hovered indicator when the editor\n\t\t\t// is in the idle state\n\t\t\treturn editor.isInAny('select.idle')\n\t\t},\n\t\t[editor]\n\t)\n\tif (!showHoveredShapeIndicator) return null\n\treturn <ShapeIndicator className=\"tl-user-indicator__hovered\" id={shapeId} />\n}\n\n//\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA0BQ;AA1BR,oBAKO;AAGA,MAAM,8BAAgE,CAAC,EAAE,QAAQ,MAAM;AAC7F,QAAM,aAAS,yBAAU;AACzB,QAAM,gCAA4B;AAAA,IACjC;AAAA,IACA,MAAM;AAGL,UAAI,OAAO,KAAK,sBAAsB,GAAG;AACxC,eAAO,OAAO,kBAAkB,MAAM,OAAO,kBAAkB;AAAA,MAChE;AAIA,aAAO,OAAO,QAAQ,aAAa;AAAA,IACpC;AAAA,IACA,CAAC,MAAM;AAAA,EACR;AACA,MAAI,CAAC;AAA2B,WAAO;AACvC,SAAO,4CAAC,gCAAe,WAAU,8BAA6B,IAAI,SAAS;AAC5E;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA0BQ;AA1BR,oBAKO;AAGA,MAAM,8BAAgE,CAAC,EAAE,QAAQ,MAAM;AAC7F,QAAM,aAAS,yBAAU;AACzB,QAAM,gCAA4B;AAAA,IACjC;AAAA,IACA,MAAM;AAGL,UAAI,OAAO,KAAK,sBAAsB,GAAG;AACxC,eAAO,OAAO,kBAAkB,MAAM,OAAO,kBAAkB;AAAA,MAChE;AAIA,aAAO,OAAO,QAAQ,aAAa;AAAA,IACpC;AAAA,IACA,CAAC,MAAM;AAAA,EACR;AACA,MAAI,CAAC,0BAA2B,QAAO;AACvC,SAAO,4CAAC,gCAAe,WAAU,8BAA6B,IAAI,SAAS;AAC5E;",
6
6
  "names": []
7
7
  }
@@ -42,8 +42,7 @@ const TldrawScribble = ({
42
42
  opacity,
43
43
  className
44
44
  }) => {
45
- if (!scribble.points.length)
46
- return null;
45
+ if (!scribble.points.length) return null;
47
46
  const stroke = (0, import_getStroke.getStroke)(scribble.points, {
48
47
  size: scribble.size / zoom,
49
48
  start: { taper: scribble.taper, easing: import_editor.EASINGS.linear },
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/lib/canvas/TldrawScribble.tsx"],
4
4
  "sourcesContent": ["import { EASINGS, TLScribbleComponent, getSvgPathFromPoints } from '@bigbluebutton/editor'\nimport classNames from 'classnames'\nimport { getStroke } from '../shapes/shared/freehand/getStroke'\n\n/** @public */\nexport const TldrawScribble: TLScribbleComponent = ({\n\tscribble,\n\tzoom,\n\tcolor,\n\topacity,\n\tclassName,\n}) => {\n\tif (!scribble.points.length) return null\n\n\tconst stroke = getStroke(scribble.points, {\n\t\tsize: scribble.size / zoom,\n\t\tstart: { taper: scribble.taper, easing: EASINGS.linear },\n\t\tlast: scribble.state === 'stopping',\n\t\tsimulatePressure: false,\n\t\tstreamline: 0.32,\n\t})\n\n\tlet d: string\n\n\tif (stroke.length < 4) {\n\t\t// the stroke will be 3 points as a sort of shrugging fail state, so let's draw a dot instead\n\t\tconst r = scribble.size / zoom / 2\n\t\tconst { x, y } = scribble.points[scribble.points.length - 1]\n\t\td = `M ${x - r},${y} a ${r},${r} 0 1,0 ${r * 2},0 a ${r},${r} 0 1,0 ${-r * 2},0`\n\t} else {\n\t\t// If we do have a stroke, then draw the stroke path\n\t\td = getSvgPathFromPoints(stroke)\n\t}\n\n\treturn (\n\t\t<svg className={className ? classNames('tl-overlays__item', className) : className}>\n\t\t\t<path\n\t\t\t\tclassName=\"tl-scribble\"\n\t\t\t\td={d}\n\t\t\t\tfill={color ?? `var(--color-${scribble.color})`}\n\t\t\t\topacity={opacity ?? scribble.opacity}\n\t\t\t/>\n\t\t</svg>\n\t)\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAoCG;AApCH,oBAAmE;AACnE,wBAAuB;AACvB,uBAA0B;AAGnB,MAAM,iBAAsC,CAAC;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAAM;AACL,MAAI,CAAC,SAAS,OAAO;AAAQ,WAAO;AAEpC,QAAM,aAAS,4BAAU,SAAS,QAAQ;AAAA,IACzC,MAAM,SAAS,OAAO;AAAA,IACtB,OAAO,EAAE,OAAO,SAAS,OAAO,QAAQ,sBAAQ,OAAO;AAAA,IACvD,MAAM,SAAS,UAAU;AAAA,IACzB,kBAAkB;AAAA,IAClB,YAAY;AAAA,EACb,CAAC;AAED,MAAI;AAEJ,MAAI,OAAO,SAAS,GAAG;AAEtB,UAAM,IAAI,SAAS,OAAO,OAAO;AACjC,UAAM,EAAE,GAAG,EAAE,IAAI,SAAS,OAAO,SAAS,OAAO,SAAS,CAAC;AAC3D,QAAI,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;AAAA,EAC7E,OAAO;AAEN,YAAI,oCAAqB,MAAM;AAAA,EAChC;AAEA,SACC,4CAAC,SAAI,WAAW,gBAAY,kBAAAA,SAAW,qBAAqB,SAAS,IAAI,WACxE;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV;AAAA,MACA,MAAM,SAAS,eAAe,SAAS,KAAK;AAAA,MAC5C,SAAS,WAAW,SAAS;AAAA;AAAA,EAC9B,GACD;AAEF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAoCG;AApCH,oBAAmE;AACnE,wBAAuB;AACvB,uBAA0B;AAGnB,MAAM,iBAAsC,CAAC;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAAM;AACL,MAAI,CAAC,SAAS,OAAO,OAAQ,QAAO;AAEpC,QAAM,aAAS,4BAAU,SAAS,QAAQ;AAAA,IACzC,MAAM,SAAS,OAAO;AAAA,IACtB,OAAO,EAAE,OAAO,SAAS,OAAO,QAAQ,sBAAQ,OAAO;AAAA,IACvD,MAAM,SAAS,UAAU;AAAA,IACzB,kBAAkB;AAAA,IAClB,YAAY;AAAA,EACb,CAAC;AAED,MAAI;AAEJ,MAAI,OAAO,SAAS,GAAG;AAEtB,UAAM,IAAI,SAAS,OAAO,OAAO;AACjC,UAAM,EAAE,GAAG,EAAE,IAAI,SAAS,OAAO,SAAS,OAAO,SAAS,CAAC;AAC3D,QAAI,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;AAAA,EAC7E,OAAO;AAEN,YAAI,oCAAqB,MAAM;AAAA,EAChC;AAEA,SACC,4CAAC,SAAI,WAAW,gBAAY,kBAAAA,SAAW,qBAAqB,SAAS,IAAI,WACxE;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV;AAAA,MACA,MAAM,SAAS,eAAe,SAAS,KAAK;AAAA,MAC5C,SAAS,WAAW,SAAS;AAAA;AAAA,EAC9B,GACD;AAEF;",
6
6
  "names": ["classNames"]
7
7
  }
@@ -37,8 +37,7 @@ const TldrawSelectionBackground = ({ bounds, rotation }) => {
37
37
  ),
38
38
  [editor]
39
39
  );
40
- if (!shouldDisplay)
41
- return null;
40
+ if (!shouldDisplay) return null;
42
41
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_editor.DefaultSelectionBackground, { bounds, rotation });
43
42
  };
44
43
  //# sourceMappingURL=TldrawSelectionBackground.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/lib/canvas/TldrawSelectionBackground.tsx"],
4
4
  "sourcesContent": ["import {\n\tDefaultSelectionBackground,\n\tTLSelectionBackgroundComponent,\n\tuseEditor,\n\tuseValue,\n} from '@bigbluebutton/editor'\n\n/** @public */\nexport const TldrawSelectionBackground: TLSelectionBackgroundComponent = ({ bounds, rotation }) => {\n\tconst editor = useEditor()\n\n\tconst shouldDisplay = useValue(\n\t\t'should display',\n\t\t() =>\n\t\t\teditor.isInAny(\n\t\t\t\t'select.idle',\n\t\t\t\t'select.brushing',\n\t\t\t\t'select.scribble_brushing',\n\t\t\t\t'select.pointing_shape',\n\t\t\t\t'select.pointing_selection',\n\t\t\t\t'text.resizing'\n\t\t\t),\n\t\t[editor]\n\t)\n\n\tif (!shouldDisplay) return null\n\n\treturn <DefaultSelectionBackground bounds={bounds} rotation={rotation} />\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BQ;AA3BR,oBAKO;AAGA,MAAM,4BAA4D,CAAC,EAAE,QAAQ,SAAS,MAAM;AAClG,QAAM,aAAS,yBAAU;AAEzB,QAAM,oBAAgB;AAAA,IACrB;AAAA,IACA,MACC,OAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,CAAC,MAAM;AAAA,EACR;AAEA,MAAI,CAAC;AAAe,WAAO;AAE3B,SAAO,4CAAC,4CAA2B,QAAgB,UAAoB;AACxE;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BQ;AA3BR,oBAKO;AAGA,MAAM,4BAA4D,CAAC,EAAE,QAAQ,SAAS,MAAM;AAClG,QAAM,aAAS,yBAAU;AAEzB,QAAM,oBAAgB;AAAA,IACrB;AAAA,IACA,MACC,OAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,CAAC,MAAM;AAAA,EACR;AAEA,MAAI,CAAC,cAAe,QAAO;AAE3B,SAAO,4CAAC,4CAA2B,QAAgB,UAAoB;AACxE;",
6
6
  "names": []
7
7
  }
@@ -62,8 +62,7 @@ const TldrawSelectionForeground = (0, import_editor.track)(
62
62
  x: -expandOutlineBy,
63
63
  y: -expandOutlineBy
64
64
  });
65
- if (!bounds)
66
- return null;
65
+ if (!bounds) return null;
67
66
  bounds = bounds.clone().expandBy(expandOutlineBy).zeroFix();
68
67
  const zoom = editor.getZoomLevel();
69
68
  const isChangingStyle = editor.getInstanceState().isChangingStyle;
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/lib/canvas/TldrawSelectionForeground.tsx"],
4
4
  "sourcesContent": ["import {\n\tBox2d,\n\tRotateCorner,\n\tTLEmbedShape,\n\tTLSelectionForegroundComponent,\n\tTLTextShape,\n\tgetCursor,\n\ttoDomPrecision,\n\ttrack,\n\tuseEditor,\n\tuseSelectionEvents,\n\tuseTransform,\n\tuseValue,\n} from '@bigbluebutton/editor'\nimport classNames from 'classnames'\nimport { useRef } from 'react'\nimport { useReadonly } from '../ui/hooks/useReadonly'\nimport { TldrawCropHandles } from './TldrawCropHandles'\n\n/** @public */\nexport const TldrawSelectionForeground: TLSelectionForegroundComponent = track(\n\tfunction TldrawSelectionForeground({ bounds, rotation }: { bounds: Box2d; rotation: number }) {\n\t\tconst editor = useEditor()\n\t\tconst rSvg = useRef<SVGSVGElement>(null)\n\n\t\tconst isReadonlyMode = useReadonly()\n\t\tconst topEvents = useSelectionEvents('top')\n\t\tconst rightEvents = useSelectionEvents('right')\n\t\tconst bottomEvents = useSelectionEvents('bottom')\n\t\tconst leftEvents = useSelectionEvents('left')\n\t\tconst topLeftEvents = useSelectionEvents('top_left')\n\t\tconst topRightEvents = useSelectionEvents('top_right')\n\t\tconst bottomRightEvents = useSelectionEvents('bottom_right')\n\t\tconst bottomLeftEvents = useSelectionEvents('bottom_left')\n\n\t\tconst isDefaultCursor =\n\t\t\t!editor.getIsMenuOpen() && editor.getInstanceState().cursor.type === 'default'\n\t\tconst isCoarsePointer = editor.getInstanceState().isCoarsePointer\n\n\t\tconst shapes = editor.getSelectedShapes()\n\t\tconst onlyShape = editor.getOnlySelectedShape()\n\t\tconst isLockedShape = onlyShape && editor.isShapeOrAncestorLocked(onlyShape)\n\n\t\t// if all shapes have an expandBy for the selection outline, we can expand by the l\n\t\tconst expandOutlineBy = onlyShape\n\t\t\t? editor.getShapeUtil(onlyShape).expandSelectionOutlinePx(onlyShape)\n\t\t\t: 0\n\n\t\tuseTransform(rSvg, bounds?.x, bounds?.y, 1, editor.getSelectionRotation(), {\n\t\t\tx: -expandOutlineBy,\n\t\t\ty: -expandOutlineBy,\n\t\t})\n\n\t\tif (!bounds) return null\n\t\tbounds = bounds.clone().expandBy(expandOutlineBy).zeroFix()\n\n\t\tconst zoom = editor.getZoomLevel()\n\t\tconst isChangingStyle = editor.getInstanceState().isChangingStyle\n\n\t\tconst width = bounds.width\n\t\tconst height = bounds.height\n\n\t\tconst size = 8 / zoom\n\t\tconst isTinyX = width < size * 2\n\t\tconst isTinyY = height < size * 2\n\n\t\tconst isSmallX = width < size * 4\n\t\tconst isSmallY = height < size * 4\n\t\tconst isSmallCropX = width < size * 5\n\t\tconst isSmallCropY = height < size * 5\n\n\t\tconst mobileHandleMultiplier = isCoarsePointer ? 1.75 : 1\n\t\tconst targetSize = (6 / zoom) * mobileHandleMultiplier\n\n\t\tconst targetSizeX = (isSmallX ? targetSize / 2 : targetSize) * (mobileHandleMultiplier * 0.75)\n\t\tconst targetSizeY = (isSmallY ? targetSize / 2 : targetSize) * (mobileHandleMultiplier * 0.75)\n\n\t\tconst showSelectionBounds =\n\t\t\t(onlyShape ? !editor.getShapeUtil(onlyShape).hideSelectionBoundsFg(onlyShape) : true) &&\n\t\t\t!isChangingStyle\n\n\t\tlet shouldDisplayBox =\n\t\t\t(showSelectionBounds &&\n\t\t\t\teditor.isInAny(\n\t\t\t\t\t'select.idle',\n\t\t\t\t\t'select.brushing',\n\t\t\t\t\t'select.scribble_brushing',\n\t\t\t\t\t'select.pointing_canvas',\n\t\t\t\t\t'select.pointing_selection',\n\t\t\t\t\t'select.pointing_shape',\n\t\t\t\t\t'select.crop.idle',\n\t\t\t\t\t'select.crop.pointing_crop',\n\t\t\t\t\t'select.pointing_resize_handle',\n\t\t\t\t\t'select.pointing_crop_handle'\n\t\t\t\t)) ||\n\t\t\t(showSelectionBounds &&\n\t\t\t\teditor.isIn('select.resizing') &&\n\t\t\t\tonlyShape &&\n\t\t\t\teditor.isShapeOfType<TLTextShape>(onlyShape, 'text'))\n\n\t\tif (onlyShape && shouldDisplayBox) {\n\t\t\tif (editor.environment.isFirefox && editor.isShapeOfType<TLEmbedShape>(onlyShape, 'embed')) {\n\t\t\t\tshouldDisplayBox = false\n\t\t\t}\n\t\t}\n\n\t\tconst showCropHandles =\n\t\t\teditor.isInAny(\n\t\t\t\t'select.pointing_crop_handle',\n\t\t\t\t'select.crop.idle',\n\t\t\t\t'select.crop.pointing_crop'\n\t\t\t) &&\n\t\t\t!isChangingStyle &&\n\t\t\t!isReadonlyMode\n\n\t\tconst shouldDisplayControls =\n\t\t\teditor.isInAny(\n\t\t\t\t'select.idle',\n\t\t\t\t'select.pointing_selection',\n\t\t\t\t'select.pointing_shape',\n\t\t\t\t'select.crop.idle'\n\t\t\t) &&\n\t\t\t!isChangingStyle &&\n\t\t\t!isReadonlyMode\n\n\t\tconst showCornerRotateHandles =\n\t\t\t!isCoarsePointer &&\n\t\t\t!(isTinyX || isTinyY) &&\n\t\t\t(shouldDisplayControls || showCropHandles) &&\n\t\t\t(onlyShape ? !editor.getShapeUtil(onlyShape).hideRotateHandle(onlyShape) : true) &&\n\t\t\t!isLockedShape\n\n\t\tconst showMobileRotateHandle =\n\t\t\tisCoarsePointer &&\n\t\t\t(!isSmallX || !isSmallY) &&\n\t\t\t(shouldDisplayControls || showCropHandles) &&\n\t\t\t(onlyShape ? !editor.getShapeUtil(onlyShape).hideRotateHandle(onlyShape) : true) &&\n\t\t\t!isLockedShape\n\n\t\tconst showResizeHandles =\n\t\t\tshouldDisplayControls &&\n\t\t\t(onlyShape\n\t\t\t\t? editor.getShapeUtil(onlyShape).canResize(onlyShape) &&\n\t\t\t\t !editor.getShapeUtil(onlyShape).hideResizeHandles(onlyShape)\n\t\t\t\t: true) &&\n\t\t\t!showCropHandles &&\n\t\t\t!isLockedShape\n\n\t\tconst hideAlternateCornerHandles = isTinyX || isTinyY\n\t\tconst showOnlyOneHandle = isTinyX && isTinyY\n\t\tconst hideAlternateCropHandles = isSmallCropX || isSmallCropY\n\n\t\tconst showHandles = showResizeHandles || showCropHandles\n\t\tconst hideRotateCornerHandles = !showCornerRotateHandles\n\t\tconst hideMobileRotateHandle = !shouldDisplayControls || !showMobileRotateHandle\n\t\tconst hideTopLeftCorner = !shouldDisplayControls || !showHandles\n\t\tconst hideTopRightCorner = !shouldDisplayControls || !showHandles || hideAlternateCornerHandles\n\t\tconst hideBottomLeftCorner =\n\t\t\t!shouldDisplayControls || !showHandles || hideAlternateCornerHandles\n\t\tconst hideBottomRightCorner =\n\t\t\t!shouldDisplayControls || !showHandles || (showOnlyOneHandle && !showCropHandles)\n\n\t\tlet hideEdgeTargetsDueToCoarsePointer = isCoarsePointer\n\n\t\tif (\n\t\t\thideEdgeTargetsDueToCoarsePointer &&\n\t\t\tshapes.every((shape) => editor.getShapeUtil(shape).isAspectRatioLocked(shape))\n\t\t) {\n\t\t\thideEdgeTargetsDueToCoarsePointer = false\n\t\t}\n\n\t\t// If we're showing crop handles, then show the edges too.\n\t\t// If we're showing resize handles, then show the edges only\n\t\t// if we're not hiding them for some other reason\n\t\tlet hideEdgeTargets = true\n\n\t\tif (showCropHandles) {\n\t\t\thideEdgeTargets = hideAlternateCropHandles\n\t\t} else if (showResizeHandles) {\n\t\t\thideEdgeTargets =\n\t\t\t\thideAlternateCornerHandles || showOnlyOneHandle || hideEdgeTargetsDueToCoarsePointer\n\t\t}\n\n\t\tconst textHandleHeight = Math.min(24 / zoom, height - targetSizeY * 3)\n\t\tconst showTextResizeHandles =\n\t\t\tshouldDisplayControls &&\n\t\t\tisCoarsePointer &&\n\t\t\tonlyShape &&\n\t\t\teditor.isShapeOfType<TLTextShape>(onlyShape, 'text') &&\n\t\t\ttextHandleHeight * zoom >= 4\n\n\t\treturn (\n\t\t\t<svg\n\t\t\t\tclassName=\"tl-overlays__item tl-selection__fg tl-svg-context\"\n\t\t\t\tdata-testid=\"selection-foreground\"\n\t\t\t>\n\t\t\t\t<g ref={rSvg}>\n\t\t\t\t\t{shouldDisplayBox && (\n\t\t\t\t\t\t<rect\n\t\t\t\t\t\t\tclassName={classNames('tl-selection__fg__outline')}\n\t\t\t\t\t\t\twidth={toDomPrecision(width)}\n\t\t\t\t\t\t\theight={toDomPrecision(height)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<RotateCornerHandle\n\t\t\t\t\t\tdata-testid=\"selection.rotate.top-left\"\n\t\t\t\t\t\tcx={0}\n\t\t\t\t\t\tcy={0}\n\t\t\t\t\t\ttargetSize={targetSize}\n\t\t\t\t\t\tcorner=\"top_left_rotate\"\n\t\t\t\t\t\tcursor={isDefaultCursor ? getCursor('nwse-rotate', rotation) : undefined}\n\t\t\t\t\t\tisHidden={hideRotateCornerHandles}\n\t\t\t\t\t/>\n\t\t\t\t\t<RotateCornerHandle\n\t\t\t\t\t\tdata-testid=\"selection.rotate.top-right\"\n\t\t\t\t\t\tcx={width + targetSize * 3}\n\t\t\t\t\t\tcy={0}\n\t\t\t\t\t\ttargetSize={targetSize}\n\t\t\t\t\t\tcorner=\"top_right_rotate\"\n\t\t\t\t\t\tcursor={isDefaultCursor ? getCursor('nesw-rotate', rotation) : undefined}\n\t\t\t\t\t\tisHidden={hideRotateCornerHandles}\n\t\t\t\t\t/>\n\t\t\t\t\t<RotateCornerHandle\n\t\t\t\t\t\tdata-testid=\"selection.rotate.bottom-left\"\n\t\t\t\t\t\tcx={0}\n\t\t\t\t\t\tcy={height + targetSize * 3}\n\t\t\t\t\t\ttargetSize={targetSize}\n\t\t\t\t\t\tcorner=\"bottom_left_rotate\"\n\t\t\t\t\t\tcursor={isDefaultCursor ? getCursor('swne-rotate', rotation) : undefined}\n\t\t\t\t\t\tisHidden={hideRotateCornerHandles}\n\t\t\t\t\t/>\n\t\t\t\t\t<RotateCornerHandle\n\t\t\t\t\t\tdata-testid=\"selection.rotate.bottom-right\"\n\t\t\t\t\t\tcx={width + targetSize * 3}\n\t\t\t\t\t\tcy={height + targetSize * 3}\n\t\t\t\t\t\ttargetSize={targetSize}\n\t\t\t\t\t\tcorner=\"bottom_right_rotate\"\n\t\t\t\t\t\tcursor={isDefaultCursor ? getCursor('senw-rotate', rotation) : undefined}\n\t\t\t\t\t\tisHidden={hideRotateCornerHandles}\n\t\t\t\t\t/>\n\t\t\t\t\t<MobileRotateHandle\n\t\t\t\t\t\tdata-testid=\"selection.rotate.mobile\"\n\t\t\t\t\t\tcx={isSmallX ? -targetSize * 1.5 : width / 2}\n\t\t\t\t\t\tcy={isSmallX ? height / 2 : -targetSize * 1.5}\n\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\tisHidden={hideMobileRotateHandle}\n\t\t\t\t\t/>\n\t\t\t\t\t{/* Targets */}\n\t\t\t\t\t<rect\n\t\t\t\t\t\tclassName={classNames('tl-transparent', {\n\t\t\t\t\t\t\t'tl-hidden': hideEdgeTargets,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tdata-testid=\"selection.resize.top\"\n\t\t\t\t\t\taria-label=\"top target\"\n\t\t\t\t\t\tpointerEvents=\"all\"\n\t\t\t\t\t\tx={0}\n\t\t\t\t\t\ty={toDomPrecision(0 - (isSmallY ? targetSizeY * 2 : targetSizeY))}\n\t\t\t\t\t\twidth={toDomPrecision(width)}\n\t\t\t\t\t\theight={toDomPrecision(Math.max(1, targetSizeY * 2))}\n\t\t\t\t\t\tstyle={isDefaultCursor ? { cursor: getCursor('ns-resize', rotation) } : undefined}\n\t\t\t\t\t\t{...topEvents}\n\t\t\t\t\t/>\n\t\t\t\t\t<rect\n\t\t\t\t\t\tclassName={classNames('tl-transparent', {\n\t\t\t\t\t\t\t'tl-hidden': hideEdgeTargets,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tdata-testid=\"selection.resize.right\"\n\t\t\t\t\t\taria-label=\"right target\"\n\t\t\t\t\t\tpointerEvents=\"all\"\n\t\t\t\t\t\tx={toDomPrecision(width - (isSmallX ? 0 : targetSizeX))}\n\t\t\t\t\t\ty={0}\n\t\t\t\t\t\theight={toDomPrecision(height)}\n\t\t\t\t\t\twidth={toDomPrecision(Math.max(1, targetSizeX * 2))}\n\t\t\t\t\t\tstyle={isDefaultCursor ? { cursor: getCursor('ew-resize', rotation) } : undefined}\n\t\t\t\t\t\t{...rightEvents}\n\t\t\t\t\t/>\n\t\t\t\t\t<rect\n\t\t\t\t\t\tclassName={classNames('tl-transparent', {\n\t\t\t\t\t\t\t'tl-hidden': hideEdgeTargets,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tdata-testid=\"selection.resize.bottom\"\n\t\t\t\t\t\taria-label=\"bottom target\"\n\t\t\t\t\t\tpointerEvents=\"all\"\n\t\t\t\t\t\tx={0}\n\t\t\t\t\t\ty={toDomPrecision(height - (isSmallY ? 0 : targetSizeY))}\n\t\t\t\t\t\twidth={toDomPrecision(width)}\n\t\t\t\t\t\theight={toDomPrecision(Math.max(1, targetSizeY * 2))}\n\t\t\t\t\t\tstyle={isDefaultCursor ? { cursor: getCursor('ns-resize', rotation) } : undefined}\n\t\t\t\t\t\t{...bottomEvents}\n\t\t\t\t\t/>\n\t\t\t\t\t<rect\n\t\t\t\t\t\tclassName={classNames('tl-transparent', {\n\t\t\t\t\t\t\t'tl-hidden': hideEdgeTargets,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tdata-testid=\"selection.resize.left\"\n\t\t\t\t\t\taria-label=\"left target\"\n\t\t\t\t\t\tpointerEvents=\"all\"\n\t\t\t\t\t\tx={toDomPrecision(0 - (isSmallX ? targetSizeX * 2 : targetSizeX))}\n\t\t\t\t\t\ty={0}\n\t\t\t\t\t\theight={toDomPrecision(height)}\n\t\t\t\t\t\twidth={toDomPrecision(Math.max(1, targetSizeX * 2))}\n\t\t\t\t\t\tstyle={isDefaultCursor ? { cursor: getCursor('ew-resize', rotation) } : undefined}\n\t\t\t\t\t\t{...leftEvents}\n\t\t\t\t\t/>\n\t\t\t\t\t{/* Corner Targets */}\n\t\t\t\t\t<rect\n\t\t\t\t\t\tclassName={classNames('tl-transparent', {\n\t\t\t\t\t\t\t'tl-hidden': hideTopLeftCorner,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tdata-testid=\"selection.target.top-left\"\n\t\t\t\t\t\taria-label=\"top-left target\"\n\t\t\t\t\t\tpointerEvents=\"all\"\n\t\t\t\t\t\tx={toDomPrecision(0 - (isSmallX ? targetSizeX * 2 : targetSizeX * 1.5))}\n\t\t\t\t\t\ty={toDomPrecision(0 - (isSmallY ? targetSizeY * 2 : targetSizeY * 1.5))}\n\t\t\t\t\t\twidth={toDomPrecision(targetSizeX * 3)}\n\t\t\t\t\t\theight={toDomPrecision(targetSizeY * 3)}\n\t\t\t\t\t\tstyle={isDefaultCursor ? { cursor: getCursor('nwse-resize', rotation) } : undefined}\n\t\t\t\t\t\t{...topLeftEvents}\n\t\t\t\t\t/>\n\t\t\t\t\t<rect\n\t\t\t\t\t\tclassName={classNames('tl-transparent', {\n\t\t\t\t\t\t\t'tl-hidden': hideTopRightCorner,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tdata-testid=\"selection.target.top-right\"\n\t\t\t\t\t\taria-label=\"top-right target\"\n\t\t\t\t\t\tpointerEvents=\"all\"\n\t\t\t\t\t\tx={toDomPrecision(width - (isSmallX ? 0 : targetSizeX * 1.5))}\n\t\t\t\t\t\ty={toDomPrecision(0 - (isSmallY ? targetSizeY * 2 : targetSizeY * 1.5))}\n\t\t\t\t\t\twidth={toDomPrecision(targetSizeX * 3)}\n\t\t\t\t\t\theight={toDomPrecision(targetSizeY * 3)}\n\t\t\t\t\t\tstyle={isDefaultCursor ? { cursor: getCursor('nesw-resize', rotation) } : undefined}\n\t\t\t\t\t\t{...topRightEvents}\n\t\t\t\t\t/>\n\t\t\t\t\t<rect\n\t\t\t\t\t\tclassName={classNames('tl-transparent', {\n\t\t\t\t\t\t\t'tl-hidden': hideBottomRightCorner,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tdata-testid=\"selection.target.bottom-right\"\n\t\t\t\t\t\taria-label=\"bottom-right target\"\n\t\t\t\t\t\tpointerEvents=\"all\"\n\t\t\t\t\t\tx={toDomPrecision(width - (isSmallX ? targetSizeX : targetSizeX * 1.5))}\n\t\t\t\t\t\ty={toDomPrecision(height - (isSmallY ? targetSizeY : targetSizeY * 1.5))}\n\t\t\t\t\t\twidth={toDomPrecision(targetSizeX * 3)}\n\t\t\t\t\t\theight={toDomPrecision(targetSizeY * 3)}\n\t\t\t\t\t\tstyle={isDefaultCursor ? { cursor: getCursor('nwse-resize', rotation) } : undefined}\n\t\t\t\t\t\t{...bottomRightEvents}\n\t\t\t\t\t/>\n\t\t\t\t\t<rect\n\t\t\t\t\t\tclassName={classNames('tl-transparent', {\n\t\t\t\t\t\t\t'tl-hidden': hideBottomLeftCorner,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tdata-testid=\"selection.target.bottom-left\"\n\t\t\t\t\t\taria-label=\"bottom-left target\"\n\t\t\t\t\t\tpointerEvents=\"all\"\n\t\t\t\t\t\tx={toDomPrecision(0 - (isSmallX ? targetSizeX * 3 : targetSizeX * 1.5))}\n\t\t\t\t\t\ty={toDomPrecision(height - (isSmallY ? 0 : targetSizeY * 1.5))}\n\t\t\t\t\t\twidth={toDomPrecision(targetSizeX * 3)}\n\t\t\t\t\t\theight={toDomPrecision(targetSizeY * 3)}\n\t\t\t\t\t\tstyle={isDefaultCursor ? { cursor: getCursor('nesw-resize', rotation) } : undefined}\n\t\t\t\t\t\t{...bottomLeftEvents}\n\t\t\t\t\t/>\n\t\t\t\t\t{/* Resize Handles */}\n\t\t\t\t\t{showResizeHandles && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<rect\n\t\t\t\t\t\t\t\tdata-testid=\"selection.resize.top-left\"\n\t\t\t\t\t\t\t\tclassName={classNames('tl-corner-handle', {\n\t\t\t\t\t\t\t\t\t'tl-hidden': hideTopLeftCorner,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\taria-label=\"top_left handle\"\n\t\t\t\t\t\t\t\tx={toDomPrecision(0 - size / 2)}\n\t\t\t\t\t\t\t\ty={toDomPrecision(0 - size / 2)}\n\t\t\t\t\t\t\t\twidth={toDomPrecision(size)}\n\t\t\t\t\t\t\t\theight={toDomPrecision(size)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<rect\n\t\t\t\t\t\t\t\tdata-testid=\"selection.resize.top-right\"\n\t\t\t\t\t\t\t\tclassName={classNames('tl-corner-handle', {\n\t\t\t\t\t\t\t\t\t'tl-hidden': hideTopRightCorner,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\taria-label=\"top_right handle\"\n\t\t\t\t\t\t\t\tx={toDomPrecision(width - size / 2)}\n\t\t\t\t\t\t\t\ty={toDomPrecision(0 - size / 2)}\n\t\t\t\t\t\t\t\twidth={toDomPrecision(size)}\n\t\t\t\t\t\t\t\theight={toDomPrecision(size)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<rect\n\t\t\t\t\t\t\t\tdata-testid=\"selection.resize.bottom-right\"\n\t\t\t\t\t\t\t\tclassName={classNames('tl-corner-handle', {\n\t\t\t\t\t\t\t\t\t'tl-hidden': hideBottomRightCorner,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\taria-label=\"bottom_right handle\"\n\t\t\t\t\t\t\t\tx={toDomPrecision(width - size / 2)}\n\t\t\t\t\t\t\t\ty={toDomPrecision(height - size / 2)}\n\t\t\t\t\t\t\t\twidth={toDomPrecision(size)}\n\t\t\t\t\t\t\t\theight={toDomPrecision(size)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<rect\n\t\t\t\t\t\t\t\tdata-testid=\"selection.resize.bottom-left\"\n\t\t\t\t\t\t\t\tclassName={classNames('tl-corner-handle', {\n\t\t\t\t\t\t\t\t\t'tl-hidden': hideBottomLeftCorner,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\taria-label=\"bottom_left handle\"\n\t\t\t\t\t\t\t\tx={toDomPrecision(0 - size / 2)}\n\t\t\t\t\t\t\t\ty={toDomPrecision(height - size / 2)}\n\t\t\t\t\t\t\t\twidth={toDomPrecision(size)}\n\t\t\t\t\t\t\t\theight={toDomPrecision(size)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t\t{showTextResizeHandles && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<rect\n\t\t\t\t\t\t\t\tdata-testid=\"selection.text-resize.left.handle\"\n\t\t\t\t\t\t\t\tclassName=\"tl-text-handle\"\n\t\t\t\t\t\t\t\taria-label=\"bottom_left handle\"\n\t\t\t\t\t\t\t\tx={toDomPrecision(0 - size / 4)}\n\t\t\t\t\t\t\t\ty={toDomPrecision(height / 2 - textHandleHeight / 2)}\n\t\t\t\t\t\t\t\trx={size / 4}\n\t\t\t\t\t\t\t\twidth={toDomPrecision(size / 2)}\n\t\t\t\t\t\t\t\theight={toDomPrecision(textHandleHeight)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<rect\n\t\t\t\t\t\t\t\tdata-testid=\"selection.text-resize.right.handle\"\n\t\t\t\t\t\t\t\tclassName=\"tl-text-handle\"\n\t\t\t\t\t\t\t\taria-label=\"bottom_left handle\"\n\t\t\t\t\t\t\t\trx={size / 4}\n\t\t\t\t\t\t\t\tx={toDomPrecision(width - size / 4)}\n\t\t\t\t\t\t\t\ty={toDomPrecision(height / 2 - textHandleHeight / 2)}\n\t\t\t\t\t\t\t\twidth={toDomPrecision(size / 2)}\n\t\t\t\t\t\t\t\theight={toDomPrecision(textHandleHeight)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t\t{/* Crop Handles */}\n\t\t\t\t\t{showCropHandles && (\n\t\t\t\t\t\t<TldrawCropHandles\n\t\t\t\t\t\t\t{...{\n\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\t\thideAlternateHandles: hideAlternateCropHandles,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</g>\n\t\t\t</svg>\n\t\t)\n\t}\n)\n\nexport const RotateCornerHandle = function RotateCornerHandle({\n\tcx,\n\tcy,\n\ttargetSize,\n\tcorner,\n\tcursor,\n\tisHidden,\n\t'data-testid': testId,\n}: {\n\tcx: number\n\tcy: number\n\ttargetSize: number\n\tcorner: RotateCorner\n\tcursor?: string\n\tisHidden: boolean\n\t'data-testid'?: string\n}) {\n\tconst events = useSelectionEvents(corner)\n\treturn (\n\t\t<rect\n\t\t\tclassName={classNames('tl-transparent', 'tl-rotate-corner', { 'tl-hidden': isHidden })}\n\t\t\tdata-testid={testId}\n\t\t\taria-label={`${corner} target`}\n\t\t\tpointerEvents=\"all\"\n\t\t\tx={toDomPrecision(cx - targetSize * 3)}\n\t\t\ty={toDomPrecision(cy - targetSize * 3)}\n\t\t\twidth={toDomPrecision(Math.max(1, targetSize * 3))}\n\t\t\theight={toDomPrecision(Math.max(1, targetSize * 3))}\n\t\t\tcursor={cursor}\n\t\t\t{...events}\n\t\t/>\n\t)\n}\n\nconst SQUARE_ROOT_PI = Math.sqrt(Math.PI)\n\nexport const MobileRotateHandle = function RotateHandle({\n\tcx,\n\tcy,\n\tsize,\n\tisHidden,\n\t'data-testid': testId,\n}: {\n\tcx: number\n\tcy: number\n\tsize: number\n\tisHidden: boolean\n\t'data-testid'?: string\n}) {\n\tconst events = useSelectionEvents('mobile_rotate')\n\n\tconst editor = useEditor()\n\tconst zoom = useValue('zoom level', () => editor.getZoomLevel(), [editor])\n\tconst bgRadius = Math.max(14 * (1 / zoom), 20 / Math.max(1, zoom))\n\n\treturn (\n\t\t<g>\n\t\t\t<circle\n\t\t\t\tdata-testid={testId}\n\t\t\t\tpointerEvents=\"all\"\n\t\t\t\tclassName={classNames('tl-transparent', 'tl-mobile-rotate__bg', { 'tl-hidden': isHidden })}\n\t\t\t\tcx={cx}\n\t\t\t\tcy={cy}\n\t\t\t\tr={bgRadius}\n\t\t\t\t{...events}\n\t\t\t/>\n\t\t\t<circle\n\t\t\t\tclassName={classNames('tl-mobile-rotate__fg', { 'tl-hidden': isHidden })}\n\t\t\t\tcx={cx}\n\t\t\t\tcy={cy}\n\t\t\t\tr={size / SQUARE_ROOT_PI}\n\t\t\t/>\n\t\t</g>\n\t)\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["TldrawSelectionForeground", "classNames", "RotateCornerHandle"]
7
7
  }
@@ -141,8 +141,7 @@ function registerDefaultExternalContentHandlers(editor, {
141
141
  type: "file",
142
142
  file: new File([text], "asset.svg", { type: "image/svg+xml" })
143
143
  });
144
- if (!asset)
145
- throw Error("Could not create an asset");
144
+ if (!asset) throw Error("Could not create an asset");
146
145
  createShapesForAssets(editor, [asset], position);
147
146
  });
148
147
  editor.registerExternalContentHandler("embed", ({ point, url, embed }) => {
@@ -271,8 +270,7 @@ function registerDefaultExternalContentHandlers(editor, {
271
270
  if (!asset) {
272
271
  shouldAlsoCreateAsset = true;
273
272
  const bookmarkAsset = await editor.getAssetForExternalContent({ type: "url", url });
274
- if (!bookmarkAsset)
275
- throw Error("Could not create an asset");
273
+ if (!bookmarkAsset) throw Error("Could not create an asset");
276
274
  asset = bookmarkAsset;
277
275
  }
278
276
  editor.batch(() => {
@@ -292,8 +290,7 @@ function registerDefaultExternalContentHandlers(editor, {
292
290
  });
293
291
  }
294
292
  async function createShapesForAssets(editor, assets, position) {
295
- if (!assets.length)
296
- return [];
293
+ if (!assets.length) return [];
297
294
  const currentPoint = import_editor.Vec2d.From(position);
298
295
  const partials = [];
299
296
  for (const asset of assets) {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/defaultExternalContentHandlers.ts"],
4
4
  "sourcesContent": ["import {\n\tAssetRecordType,\n\tEditor,\n\tMediaHelpers,\n\tTLAsset,\n\tTLAssetId,\n\tTLBookmarkShape,\n\tTLEmbedShape,\n\tTLShapeId,\n\tTLShapePartial,\n\tTLTextShape,\n\tTLTextShapeProps,\n\tVec2d,\n\tVecLike,\n\tcompact,\n\tcreateShapeId,\n\tgetHashForString,\n} from '@bigbluebutton/editor'\nimport { FONT_FAMILIES, FONT_SIZES, TEXT_PROPS } from './shapes/shared/default-shape-constants'\nimport { containBoxSize, getResizedImageDataUrl, isGifAnimated } from './utils/assets/assets'\nimport { getEmbedInfo } from './utils/embeds/embeds'\nimport { cleanupText, isRightToLeftLanguage, truncateStringWithEllipsis } from './utils/text/text'\n\n/** @public */\nexport type TLExternalContentProps = {\n\t// The maximum dimension (width or height) of an image. Images larger than this will be rescaled to fit. Defaults to infinity.\n\tmaxImageDimension: number\n\t// The maximum size (in bytes) of an asset. Assets larger than this will be rejected. Defaults to 10mb (10 * 1024 * 1024).\n\tmaxAssetSize: number\n\t// The mime types of images that are allowed to be handled. Defaults to ['image/jpeg', 'image/png', 'image/gif', 'image/svg+xml'].\n\tacceptedImageMimeTypes: string[]\n\t// The mime types of videos that are allowed to be handled. Defaults to ['video/mp4', 'video/webm', 'video/quicktime'].\n\tacceptedVideoMimeTypes: string[]\n}\n\nexport function registerDefaultExternalContentHandlers(\n\teditor: Editor,\n\t{\n\t\tmaxImageDimension,\n\t\tmaxAssetSize,\n\t\tacceptedImageMimeTypes,\n\t\tacceptedVideoMimeTypes,\n\t}: TLExternalContentProps\n) {\n\t// files -> asset\n\teditor.registerExternalAssetHandler('file', async ({ file }) => {\n\t\treturn await new Promise((resolve, reject) => {\n\t\t\tif (\n\t\t\t\t!acceptedImageMimeTypes.includes(file.type) &&\n\t\t\t\t!acceptedVideoMimeTypes.includes(file.type)\n\t\t\t) {\n\t\t\t\tconsole.warn(`File type not allowed: ${file.type}`)\n\t\t\t\treject()\n\t\t\t}\n\n\t\t\tif (file.size > maxAssetSize) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`File size too big: ${(file.size / 1024).toFixed()}kb > ${(\n\t\t\t\t\t\tmaxAssetSize / 1024\n\t\t\t\t\t).toFixed()}kb`\n\t\t\t\t)\n\t\t\t\treject()\n\t\t\t}\n\n\t\t\tconst reader = new FileReader()\n\t\t\treader.onerror = () => reject(reader.error)\n\t\t\treader.onload = async () => {\n\t\t\t\tlet dataUrl = reader.result as string\n\n\t\t\t\t// Hack to make .mov videos work via dataURL.\n\t\t\t\tif (file.type === 'video/quicktime' && dataUrl.includes('video/quicktime')) {\n\t\t\t\t\tdataUrl = dataUrl.replace('video/quicktime', 'video/mp4')\n\t\t\t\t}\n\n\t\t\t\tconst isImageType = acceptedImageMimeTypes.includes(file.type)\n\n\t\t\t\tlet size: {\n\t\t\t\t\tw: number\n\t\t\t\t\th: number\n\t\t\t\t}\n\t\t\t\tlet isAnimated: boolean\n\n\t\t\t\tif (isImageType) {\n\t\t\t\t\tsize = await MediaHelpers.getImageSizeFromSrc(dataUrl)\n\t\t\t\t\tisAnimated = file.type === 'image/gif' && (await isGifAnimated(file))\n\t\t\t\t} else {\n\t\t\t\t\tisAnimated = true\n\t\t\t\t\tsize = await MediaHelpers.getVideoSizeFromSrc(dataUrl)\n\t\t\t\t}\n\n\t\t\t\tif (isFinite(maxImageDimension)) {\n\t\t\t\t\tconst resizedSize = containBoxSize(size, { w: maxImageDimension, h: maxImageDimension })\n\t\t\t\t\tif (size !== resizedSize && (file.type === 'image/jpeg' || file.type === 'image/png')) {\n\t\t\t\t\t\tsize = resizedSize\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Always rescale the image\n\t\t\t\tif (file.type === 'image/jpeg' || file.type === 'image/png') {\n\t\t\t\t\tdataUrl = await getResizedImageDataUrl(dataUrl, size.w, size.h, {\n\t\t\t\t\t\ttype: file.type,\n\t\t\t\t\t\tquality: 0.92,\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tconst assetId: TLAssetId = AssetRecordType.createId(getHashForString(dataUrl))\n\n\t\t\t\tconst asset = AssetRecordType.create({\n\t\t\t\t\tid: assetId,\n\t\t\t\t\ttype: isImageType ? 'image' : 'video',\n\t\t\t\t\ttypeName: 'asset',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tname: file.name,\n\t\t\t\t\t\tsrc: dataUrl,\n\t\t\t\t\t\tw: size.w,\n\t\t\t\t\t\th: size.h,\n\t\t\t\t\t\tmimeType: file.type,\n\t\t\t\t\t\tisAnimated,\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tresolve(asset)\n\t\t\t}\n\n\t\t\treader.readAsDataURL(file)\n\t\t})\n\t})\n\n\t// urls -> bookmark asset\n\teditor.registerExternalAssetHandler('url', async ({ url }) => {\n\t\tlet meta: { image: string; title: string; description: string }\n\n\t\ttry {\n\t\t\tconst resp = await fetch(url, { method: 'GET', mode: 'no-cors' })\n\t\t\tconst html = await resp.text()\n\t\t\tconst doc = new DOMParser().parseFromString(html, 'text/html')\n\t\t\tmeta = {\n\t\t\t\timage: doc.head.querySelector('meta[property=\"og:image\"]')?.getAttribute('content') ?? '',\n\t\t\t\ttitle:\n\t\t\t\t\tdoc.head.querySelector('meta[property=\"og:title\"]')?.getAttribute('content') ??\n\t\t\t\t\ttruncateStringWithEllipsis(url, 32),\n\t\t\t\tdescription:\n\t\t\t\t\tdoc.head.querySelector('meta[property=\"og:description\"]')?.getAttribute('content') ?? '',\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error(error)\n\t\t\tmeta = { image: '', title: truncateStringWithEllipsis(url, 32), description: '' }\n\t\t}\n\n\t\t// Create the bookmark asset from the meta\n\t\treturn {\n\t\t\tid: AssetRecordType.createId(getHashForString(url)),\n\t\t\ttypeName: 'asset',\n\t\t\ttype: 'bookmark',\n\t\t\tprops: {\n\t\t\t\tsrc: url,\n\t\t\t\tdescription: meta.description,\n\t\t\t\timage: meta.image,\n\t\t\t\ttitle: meta.title,\n\t\t\t},\n\t\t\tmeta: {},\n\t\t}\n\t})\n\n\t// svg text\n\teditor.registerExternalContentHandler('svg-text', async ({ point, text }) => {\n\t\tconst position =\n\t\t\tpoint ??\n\t\t\t(editor.inputs.shiftKey ? editor.inputs.currentPagePoint : editor.getViewportPageCenter())\n\n\t\tconst svg = new DOMParser().parseFromString(text, 'image/svg+xml').querySelector('svg')\n\t\tif (!svg) {\n\t\t\tthrow new Error('No <svg/> element present')\n\t\t}\n\n\t\tlet width = parseFloat(svg.getAttribute('width') || '0')\n\t\tlet height = parseFloat(svg.getAttribute('height') || '0')\n\n\t\tif (!(width && height)) {\n\t\t\tdocument.body.appendChild(svg)\n\t\t\tconst box = svg.getBoundingClientRect()\n\t\t\tdocument.body.removeChild(svg)\n\n\t\t\twidth = box.width\n\t\t\theight = box.height\n\t\t}\n\n\t\tconst asset = await editor.getAssetForExternalContent({\n\t\t\ttype: 'file',\n\t\t\tfile: new File([text], 'asset.svg', { type: 'image/svg+xml' }),\n\t\t})\n\n\t\tif (!asset) throw Error('Could not create an asset')\n\n\t\tcreateShapesForAssets(editor, [asset], position)\n\t})\n\n\t// embeds\n\teditor.registerExternalContentHandler('embed', ({ point, url, embed }) => {\n\t\tconst position =\n\t\t\tpoint ??\n\t\t\t(editor.inputs.shiftKey ? editor.inputs.currentPagePoint : editor.getViewportPageCenter())\n\n\t\tconst { width, height } = embed\n\n\t\tconst id = createShapeId()\n\n\t\tconst shapePartial: TLShapePartial<TLEmbedShape> = {\n\t\t\tid,\n\t\t\ttype: 'embed',\n\t\t\tx: position.x - (width || 450) / 2,\n\t\t\ty: position.y - (height || 450) / 2,\n\t\t\tprops: {\n\t\t\t\tw: width,\n\t\t\t\th: height,\n\t\t\t\turl,\n\t\t\t},\n\t\t}\n\n\t\teditor.createShapes([shapePartial]).select(id)\n\t})\n\n\t// files\n\teditor.registerExternalContentHandler('files', async ({ point, files }) => {\n\t\tconst position =\n\t\t\tpoint ??\n\t\t\t(editor.inputs.shiftKey ? editor.inputs.currentPagePoint : editor.getViewportPageCenter())\n\n\t\tconst pagePoint = new Vec2d(position.x, position.y)\n\n\t\tconst assets: TLAsset[] = []\n\n\t\tawait Promise.all(\n\t\t\tfiles.map(async (file, i) => {\n\t\t\t\tif (file.size > maxAssetSize) {\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t`File size too big: ${(file.size / 1024).toFixed()}kb > ${(\n\t\t\t\t\t\t\tmaxAssetSize / 1024\n\t\t\t\t\t\t).toFixed()}kb`\n\t\t\t\t\t)\n\t\t\t\t\treturn null\n\t\t\t\t}\n\n\t\t\t\t// Use mime type instead of file ext, this is because\n\t\t\t\t// window.navigator.clipboard does not preserve file names\n\t\t\t\t// of copied files.\n\t\t\t\tif (!file.type) {\n\t\t\t\t\tthrow new Error('No mime type')\n\t\t\t\t}\n\n\t\t\t\t// We can only accept certain extensions (either images or a videos)\n\t\t\t\tif (!acceptedImageMimeTypes.concat(acceptedVideoMimeTypes).includes(file.type)) {\n\t\t\t\t\tconsole.warn(`${file.name} not loaded - Extension not allowed.`)\n\t\t\t\t\treturn null\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tconst asset = await editor.getAssetForExternalContent({ type: 'file', file })\n\n\t\t\t\t\tif (!asset) {\n\t\t\t\t\t\tthrow Error('Could not create an asset')\n\t\t\t\t\t}\n\n\t\t\t\t\tassets[i] = asset\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error(error)\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t})\n\t\t)\n\n\t\tcreateShapesForAssets(editor, compact(assets), pagePoint)\n\t})\n\n\t// text\n\teditor.registerExternalContentHandler('text', async ({ point, text }) => {\n\t\tconst p =\n\t\t\tpoint ??\n\t\t\t(editor.inputs.shiftKey ? editor.inputs.currentPagePoint : editor.getViewportPageCenter())\n\n\t\tconst defaultProps = editor.getShapeUtil<TLTextShape>('text').getDefaultProps()\n\n\t\tconst textToPaste = cleanupText(text)\n\n\t\t// Measure the text with default values\n\t\tlet w: number\n\t\tlet h: number\n\t\tlet autoSize: boolean\n\t\tlet align = 'middle' as TLTextShapeProps['align']\n\n\t\tconst isMultiLine = textToPaste.split('\\n').length > 1\n\n\t\t// check whether the text contains the most common characters in RTL languages\n\t\tconst isRtl = isRightToLeftLanguage(textToPaste)\n\n\t\tif (isMultiLine) {\n\t\t\talign = isMultiLine ? (isRtl ? 'end' : 'start') : 'middle'\n\t\t}\n\n\t\tconst rawSize = editor.textMeasure.measureText(textToPaste, {\n\t\t\t...TEXT_PROPS,\n\t\t\tfontFamily: FONT_FAMILIES[defaultProps.font],\n\t\t\tfontSize: FONT_SIZES[defaultProps.size],\n\t\t\tmaxWidth: null,\n\t\t})\n\n\t\tconst minWidth = Math.min(\n\t\t\tisMultiLine ? editor.getViewportPageBounds().width * 0.9 : 920,\n\t\t\tMath.max(200, editor.getViewportPageBounds().width * 0.9)\n\t\t)\n\n\t\tif (rawSize.w > minWidth) {\n\t\t\tconst shrunkSize = editor.textMeasure.measureText(textToPaste, {\n\t\t\t\t...TEXT_PROPS,\n\t\t\t\tfontFamily: FONT_FAMILIES[defaultProps.font],\n\t\t\t\tfontSize: FONT_SIZES[defaultProps.size],\n\t\t\t\tmaxWidth: minWidth,\n\t\t\t})\n\t\t\tw = shrunkSize.w\n\t\t\th = shrunkSize.h\n\t\t\tautoSize = false\n\t\t\talign = isRtl ? 'end' : 'start'\n\t\t} else {\n\t\t\t// autosize is fine\n\t\t\tw = rawSize.w\n\t\t\th = rawSize.h\n\t\t\tautoSize = true\n\t\t}\n\n\t\tif (p.y - h / 2 < editor.getViewportPageBounds().minY + 40) {\n\t\t\tp.y = editor.getViewportPageBounds().minY + 40 + h / 2\n\t\t}\n\n\t\teditor.createShapes<TLTextShape>([\n\t\t\t{\n\t\t\t\tid: createShapeId(),\n\t\t\t\ttype: 'text',\n\t\t\t\tx: p.x - w / 2,\n\t\t\t\ty: p.y - h / 2,\n\t\t\t\tprops: {\n\t\t\t\t\ttext: textToPaste,\n\t\t\t\t\t// if the text has more than one line, align it to the left\n\t\t\t\t\talign,\n\t\t\t\t\tautoSize,\n\t\t\t\t\tw,\n\t\t\t\t},\n\t\t\t},\n\t\t])\n\t})\n\n\t// url\n\teditor.registerExternalContentHandler('url', async ({ point, url }) => {\n\t\t// try to paste as an embed first\n\t\tconst embedInfo = getEmbedInfo(url)\n\n\t\tif (embedInfo) {\n\t\t\treturn editor.putExternalContent({\n\t\t\t\ttype: 'embed',\n\t\t\t\turl: embedInfo.url,\n\t\t\t\tpoint,\n\t\t\t\tembed: embedInfo.definition,\n\t\t\t})\n\t\t}\n\n\t\tconst position =\n\t\t\tpoint ??\n\t\t\t(editor.inputs.shiftKey ? editor.inputs.currentPagePoint : editor.getViewportPageCenter())\n\n\t\tconst assetId: TLAssetId = AssetRecordType.createId(getHashForString(url))\n\t\tconst shape = createEmptyBookmarkShape(editor, url, position)\n\n\t\t// Use an existing asset if we have one, or else else create a new one\n\t\tlet asset = editor.getAsset(assetId) as TLAsset\n\t\tlet shouldAlsoCreateAsset = false\n\t\tif (!asset) {\n\t\t\tshouldAlsoCreateAsset = true\n\t\t\tconst bookmarkAsset = await editor.getAssetForExternalContent({ type: 'url', url })\n\t\t\tif (!bookmarkAsset) throw Error('Could not create an asset')\n\t\t\tasset = bookmarkAsset\n\t\t}\n\n\t\teditor.batch(() => {\n\t\t\tif (shouldAlsoCreateAsset) {\n\t\t\t\teditor.createAssets([asset])\n\t\t\t}\n\n\t\t\teditor.updateShapes([\n\t\t\t\t{\n\t\t\t\t\tid: shape.id,\n\t\t\t\t\ttype: shape.type,\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tassetId: asset.id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t])\n\t\t})\n\t})\n}\n\nexport async function createShapesForAssets(\n\teditor: Editor,\n\tassets: TLAsset[],\n\tposition: VecLike\n): Promise<TLShapeId[]> {\n\tif (!assets.length) return []\n\n\tconst currentPoint = Vec2d.From(position)\n\tconst partials: TLShapePartial[] = []\n\n\tfor (const asset of assets) {\n\t\tswitch (asset.type) {\n\t\t\tcase 'bookmark': {\n\t\t\t\tpartials.push({\n\t\t\t\t\tid: createShapeId(),\n\t\t\t\t\ttype: 'bookmark',\n\t\t\t\t\tx: currentPoint.x - 150,\n\t\t\t\t\ty: currentPoint.y - 160,\n\t\t\t\t\topacity: 1,\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tassetId: asset.id,\n\t\t\t\t\t\turl: asset.props.src,\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tcurrentPoint.x += 300\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'image': {\n\t\t\t\tpartials.push({\n\t\t\t\t\tid: createShapeId(),\n\t\t\t\t\ttype: 'image',\n\t\t\t\t\tx: currentPoint.x - asset.props.w / 2,\n\t\t\t\t\ty: currentPoint.y - asset.props.h / 2,\n\t\t\t\t\topacity: 1,\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tassetId: asset.id,\n\t\t\t\t\t\tw: asset.props.w,\n\t\t\t\t\t\th: asset.props.h,\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tcurrentPoint.x += asset.props.w\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'video': {\n\t\t\t\tpartials.push({\n\t\t\t\t\tid: createShapeId(),\n\t\t\t\t\ttype: 'video',\n\t\t\t\t\tx: currentPoint.x - asset.props.w / 2,\n\t\t\t\t\ty: currentPoint.y - asset.props.h / 2,\n\t\t\t\t\topacity: 1,\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tassetId: asset.id,\n\t\t\t\t\t\tw: asset.props.w,\n\t\t\t\t\t\th: asset.props.h,\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tcurrentPoint.x += asset.props.w\n\t\t\t}\n\t\t}\n\t}\n\n\teditor.batch(() => {\n\t\t// Create any assets\n\t\tconst assetsToCreate = assets.filter((asset) => !editor.getAsset(asset.id))\n\t\tif (assetsToCreate.length) {\n\t\t\teditor.createAssets(assetsToCreate)\n\t\t}\n\n\t\t// Create the shapes\n\t\teditor.createShapes(partials).select(...partials.map((p) => p.id))\n\n\t\t// Re-position shapes so that the center of the group is at the provided point\n\t\tcenterSelectionAroundPoint(editor, position)\n\t})\n\n\treturn partials.map((p) => p.id)\n}\n\nfunction centerSelectionAroundPoint(editor: Editor, position: VecLike) {\n\t// Re-position shapes so that the center of the group is at the provided point\n\tconst viewportPageBounds = editor.getViewportPageBounds()\n\tlet selectionPageBounds = editor.getSelectionPageBounds()\n\n\tif (selectionPageBounds) {\n\t\tconst offset = selectionPageBounds!.center.sub(position)\n\n\t\teditor.updateShapes(\n\t\t\teditor.getSelectedShapes().map((shape) => {\n\t\t\t\tconst localRotation = editor.getShapeParentTransform(shape).decompose().rotation\n\t\t\t\tconst localDelta = Vec2d.Rot(offset, -localRotation)\n\t\t\t\treturn {\n\t\t\t\t\tid: shape.id,\n\t\t\t\t\ttype: shape.type,\n\t\t\t\t\tx: shape.x! - localDelta.x,\n\t\t\t\t\ty: shape.y! - localDelta.y,\n\t\t\t\t}\n\t\t\t})\n\t\t)\n\t}\n\n\t// Zoom out to fit the shapes, if necessary\n\tselectionPageBounds = editor.getSelectionPageBounds()\n\tif (selectionPageBounds && !viewportPageBounds.contains(selectionPageBounds)) {\n\t\teditor.zoomToSelection()\n\t}\n}\n\nexport function createEmptyBookmarkShape(\n\teditor: Editor,\n\turl: string,\n\tposition: VecLike\n): TLBookmarkShape {\n\tconst partial: TLShapePartial = {\n\t\tid: createShapeId(),\n\t\ttype: 'bookmark',\n\t\tx: position.x - 150,\n\t\ty: position.y - 160,\n\t\topacity: 1,\n\t\tprops: {\n\t\t\tassetId: null,\n\t\t\turl,\n\t\t},\n\t}\n\n\teditor.batch(() => {\n\t\teditor.createShapes([partial]).select(partial.id)\n\t\tcenterSelectionAroundPoint(editor, position)\n\t})\n\n\treturn editor.getShape(partial.id) as TLBookmarkShape\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -176,8 +176,7 @@ class ArrowShapeUtil extends import_editor.ShapeUtil {
176
176
  const B = import_editor.Vec2d.Add(med, v);
177
177
  const point2 = import_editor.Vec2d.NearestPointOnLineSegment(A, B, handle, false);
178
178
  let bend = import_editor.Vec2d.Dist(point2, med);
179
- if (import_editor.Vec2d.Clockwise(point2, end, med))
180
- bend *= -1;
179
+ if (import_editor.Vec2d.Clockwise(point2, end, med)) bend *= -1;
181
180
  return { id: shape.id, type: shape.type, props: { bend } };
182
181
  }
183
182
  const next = (0, import_editor.deepCopy)(shape);
@@ -380,8 +379,7 @@ class ArrowShapeUtil extends import_editor.ShapeUtil {
380
379
  const changeIndex = import_react.default.useMemo(() => {
381
380
  return this.editor.environment.isSafari ? globalRenderIndex += 1 : 0;
382
381
  }, [shape]);
383
- if (!info?.isValid)
384
- return null;
382
+ if (!info?.isValid) return null;
385
383
  const strokeWidth = import_default_shape_constants.STROKE_SIZES[shape.props.size];
386
384
  const as = info.start.arrowhead && (0, import_editor.getArrowheadPathForType)(info, "start", strokeWidth);
387
385
  const ae = info.end.arrowhead && (0, import_editor.getArrowheadPathForType)(info, "end", strokeWidth);
@@ -525,10 +523,8 @@ class ArrowShapeUtil extends import_editor.ShapeUtil {
525
523
  const bounds = geometry.bounds;
526
524
  const labelGeometry = shape.props.text.trim() ? geometry.children[1] : null;
527
525
  const isEditing = (0, import_editor.useIsEditing)(shape.id);
528
- if (!info)
529
- return null;
530
- if (import_editor.Vec2d.Equals(start, end))
531
- return null;
526
+ if (!info) return null;
527
+ if (import_editor.Vec2d.Equals(start, end)) return null;
532
528
  const strokeWidth = import_default_shape_constants.STROKE_SIZES[shape.props.size];
533
529
  const as = info.start.arrowhead && (0, import_editor.getArrowheadPathForType)(info, "start", strokeWidth);
534
530
  const ae = info.end.arrowhead && (0, import_editor.getArrowheadPathForType)(info, "end", strokeWidth);
@@ -642,8 +638,7 @@ class ArrowShapeUtil extends import_editor.ShapeUtil {
642
638
  const info = this.editor.getArrowInfo(shape);
643
639
  const strokeWidth = import_default_shape_constants.STROKE_SIZES[shape.props.size];
644
640
  const g = document.createElementNS("http://www.w3.org/2000/svg", "g");
645
- if (!info)
646
- return g;
641
+ if (!info) return g;
647
642
  const as = info.start.arrowhead && (0, import_editor.getArrowheadPathForType)(info, "start", strokeWidth);
648
643
  const ae = info.end.arrowhead && (0, import_editor.getArrowheadPathForType)(info, "end", strokeWidth);
649
644
  const geometry = this.editor.getShapeGeometry(shape);
@@ -661,10 +656,8 @@ class ArrowShapeUtil extends import_editor.ShapeUtil {
661
656
  rect.setAttribute("height", bounds.height + 200 + "");
662
657
  rect.setAttribute("fill", "white");
663
658
  mask.appendChild(rect);
664
- if (as)
665
- mask.appendChild(getArrowheadSvgMask(as, info.start.arrowhead));
666
- if (ae)
667
- mask.appendChild(getArrowheadSvgMask(ae, info.end.arrowhead));
659
+ if (as) mask.appendChild(getArrowheadSvgMask(as, info.start.arrowhead));
660
+ if (ae) mask.appendChild(getArrowheadSvgMask(ae, info.end.arrowhead));
668
661
  if (labelGeometry) {
669
662
  const labelMask = document.createElementNS("http://www.w3.org/2000/svg", "rect");
670
663
  labelMask.setAttribute("x", labelGeometry.x + "");