@excalidraw/common 0.18.0-3bdaafe → 0.18.0-3c916c5

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 (378) hide show
  1. package/dist/dev/index.js +1867 -345
  2. package/dist/dev/index.js.map +4 -4
  3. package/dist/prod/index.js +3 -3
  4. package/dist/types/common/debug.d.ts +21 -0
  5. package/dist/types/common/src/appEventBus.d.ts +27 -0
  6. package/dist/types/common/src/bounds.d.ts +10 -0
  7. package/dist/types/common/src/colors.d.ts +81 -39
  8. package/dist/types/common/src/constants.d.ts +103 -35
  9. package/dist/types/common/src/editorInterface.d.ts +34 -0
  10. package/dist/types/common/src/font-metadata.d.ts +1 -3
  11. package/dist/types/common/src/index.d.ts +5 -0
  12. package/dist/types/common/src/keys.d.ts +5 -1
  13. package/dist/types/common/src/points.d.ts +1 -1
  14. package/dist/types/common/src/random.d.ts +7 -0
  15. package/dist/types/common/src/utility-types.d.ts +0 -1
  16. package/dist/types/common/src/utils.d.ts +59 -78
  17. package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
  18. package/dist/types/element/src/Scene.d.ts +12 -8
  19. package/dist/types/element/src/align.d.ts +5 -2
  20. package/dist/types/element/src/arrowEndpointText.d.ts +49 -0
  21. package/dist/types/element/src/arrowheads.d.ts +3 -0
  22. package/dist/types/element/src/arrows/focus.d.ts +30 -0
  23. package/dist/types/element/src/arrows/helpers.d.ts +5 -0
  24. package/dist/types/element/src/binding.d.ts +145 -49
  25. package/dist/types/element/src/bounds.d.ts +34 -19
  26. package/dist/types/element/src/bucketFill.d.ts +110 -0
  27. package/dist/types/element/src/collision.d.ts +24 -3
  28. package/dist/types/element/src/comparisons.d.ts +10 -7
  29. package/dist/types/element/src/convertToShape.d.ts +23 -0
  30. package/dist/types/element/src/cropElement.d.ts +36 -4
  31. package/dist/types/element/src/delta.d.ts +30 -2
  32. package/dist/types/element/src/distribute.d.ts +6 -2
  33. package/dist/types/element/src/dragElements.d.ts +37 -5
  34. package/dist/types/element/src/duplicate.d.ts +67 -6
  35. package/dist/types/element/src/elbowArrow.d.ts +7 -0
  36. package/dist/types/element/src/embeddable.d.ts +3 -2
  37. package/dist/types/element/src/flowchart.d.ts +9 -11
  38. package/dist/types/element/src/fractionalIndex.d.ts +4 -4
  39. package/dist/types/element/src/frame.d.ts +35 -12
  40. package/dist/types/element/src/groups.d.ts +10 -15
  41. package/dist/types/element/src/heading.d.ts +2 -1
  42. package/dist/types/element/src/image.d.ts +6 -13
  43. package/dist/types/element/src/index.d.ts +11 -4
  44. package/dist/types/element/src/linearElementEditor.d.ts +51 -30
  45. package/dist/types/element/src/listMarker.d.ts +39 -0
  46. package/dist/types/element/src/mutateElement.d.ts +6 -2
  47. package/dist/types/element/src/newElement.d.ts +61 -9
  48. package/dist/types/element/src/renderElement.d.ts +33 -12
  49. package/dist/types/element/src/renderEnvironment.d.ts +66 -0
  50. package/dist/types/element/src/resizeElements.d.ts +24 -14
  51. package/dist/types/element/src/resizeTest.d.ts +6 -5
  52. package/dist/types/element/src/selection.d.ts +11 -17
  53. package/dist/types/element/src/shape.d.ts +38 -9
  54. package/dist/types/element/src/sizeHelpers.d.ts +6 -0
  55. package/dist/types/element/src/sortElements.d.ts +10 -0
  56. package/dist/types/element/src/stickyNote.d.ts +191 -0
  57. package/dist/types/element/src/textElement.d.ts +23 -11
  58. package/dist/types/element/src/textMeasurements.d.ts +16 -14
  59. package/dist/types/element/src/textWrapping.d.ts +28 -1
  60. package/dist/types/{excalidraw/data → element/src}/transform.d.ts +32 -9
  61. package/dist/types/element/src/transformHandles.d.ts +8 -27
  62. package/dist/types/element/src/typeChecks.d.ts +30 -31
  63. package/dist/types/element/src/types.d.ts +55 -20
  64. package/dist/types/element/src/utils.d.ts +22 -6
  65. package/dist/types/element/src/zindex.d.ts +7 -1
  66. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +248 -219
  67. package/dist/types/excalidraw/actions/actionAlign.d.ts +12 -13
  68. package/dist/types/excalidraw/actions/actionBoundText.d.ts +116 -272
  69. package/dist/types/excalidraw/actions/actionCanvas.d.ts +578 -1611
  70. package/dist/types/excalidraw/actions/actionClipboard.d.ts +177 -899
  71. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +73 -64
  72. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +4 -562
  73. package/dist/types/excalidraw/actions/actionDeselect.d.ts +182 -0
  74. package/dist/types/excalidraw/actions/actionDistribute.d.ts +4 -6
  75. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -4
  76. package/dist/types/excalidraw/actions/actionElementLink.d.ts +80 -77
  77. package/dist/types/excalidraw/actions/actionElementLock.d.ts +149 -130
  78. package/dist/types/excalidraw/actions/actionExport.d.ts +229 -1415
  79. package/dist/types/excalidraw/actions/actionFinalize.d.ts +11 -394
  80. package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -3
  81. package/dist/types/excalidraw/actions/actionFrame.d.ts +247 -875
  82. package/dist/types/excalidraw/actions/actionGroup.d.ts +160 -149
  83. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +261 -238
  84. package/dist/types/excalidraw/actions/actionLink.d.ts +86 -77
  85. package/dist/types/excalidraw/actions/actionMenu.d.ts +75 -438
  86. package/dist/types/excalidraw/actions/actionNavigate.d.ts +18 -359
  87. package/dist/types/excalidraw/actions/actionProperties.d.ts +238 -2533
  88. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +80 -75
  89. package/dist/types/excalidraw/actions/actionStyles.d.ts +74 -64
  90. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +4 -4
  91. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +195 -0
  92. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +88 -80
  93. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +195 -0
  94. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +87 -78
  95. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +76 -74
  96. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +2 -2
  97. package/dist/types/excalidraw/actions/actionToggleShowHints.d.ts +197 -0
  98. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +86 -77
  99. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +87 -78
  100. package/dist/types/excalidraw/actions/actionToggleWrap.d.ts +12 -0
  101. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +87 -78
  102. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -9
  103. package/dist/types/excalidraw/actions/colorTargets.d.ts +39 -0
  104. package/dist/types/excalidraw/actions/index.d.ts +7 -3
  105. package/dist/types/excalidraw/actions/manager.d.ts +1 -0
  106. package/dist/types/excalidraw/actions/register.d.ts +2 -2
  107. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  108. package/dist/types/excalidraw/actions/types.d.ts +11 -7
  109. package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
  110. package/dist/types/excalidraw/appState.d.ts +66 -35
  111. package/dist/types/excalidraw/charts/charts.bar.d.ts +3 -0
  112. package/dist/types/excalidraw/charts/charts.constants.d.ts +48 -0
  113. package/dist/types/excalidraw/charts/charts.helpers.d.ts +33 -0
  114. package/dist/types/excalidraw/charts/charts.line.d.ts +3 -0
  115. package/dist/types/excalidraw/charts/charts.parse.d.ts +10 -0
  116. package/dist/types/excalidraw/charts/charts.radar.d.ts +3 -0
  117. package/dist/types/excalidraw/charts/charts.types.d.ts +18 -0
  118. package/dist/types/excalidraw/charts/index.d.ts +8 -0
  119. package/dist/types/excalidraw/clipboard.d.ts +58 -21
  120. package/dist/types/excalidraw/components/Actions.d.ts +33 -11
  121. package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
  122. package/dist/types/excalidraw/components/App.arrowText.d.ts +70 -0
  123. package/dist/types/excalidraw/components/App.bucketFill.d.ts +48 -0
  124. package/dist/types/excalidraw/components/App.clipboard.d.ts +31 -0
  125. package/dist/types/excalidraw/components/App.cursor.d.ts +38 -0
  126. package/dist/types/excalidraw/components/App.d.ts +415 -154
  127. package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
  128. package/dist/types/excalidraw/components/App.duplicate.d.ts +101 -0
  129. package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
  130. package/dist/types/excalidraw/components/App.host.d.ts +102 -0
  131. package/dist/types/excalidraw/components/App.modifiers.d.ts +38 -0
  132. package/dist/types/excalidraw/components/App.pan.d.ts +62 -0
  133. package/dist/types/excalidraw/components/App.selection.d.ts +265 -0
  134. package/dist/types/excalidraw/components/App.selectionTool.d.ts +93 -0
  135. package/dist/types/excalidraw/components/App.text.d.ts +146 -0
  136. package/dist/types/excalidraw/components/App.textTool.d.ts +140 -0
  137. package/dist/types/excalidraw/components/App.toolDrag.d.ts +63 -0
  138. package/dist/types/excalidraw/components/App.viewport.d.ts +123 -0
  139. package/dist/types/excalidraw/components/App.wheel.d.ts +26 -0
  140. package/dist/types/excalidraw/components/App.wrap.d.ts +31 -0
  141. package/dist/types/excalidraw/components/AppStateObserver.d.ts +37 -0
  142. package/dist/types/excalidraw/components/Card.d.ts +1 -3
  143. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -4
  144. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +9 -4
  145. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +3 -1
  146. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +7 -1
  147. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +10 -2
  148. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +5 -2
  149. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +8 -1
  150. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -2
  151. package/dist/types/excalidraw/components/ColorPicker/colorTopPicksDnD.d.ts +11 -0
  152. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -2
  153. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -0
  154. package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
  155. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +2 -4
  156. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +6 -5
  157. package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
  158. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  159. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
  160. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
  161. package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
  162. package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
  163. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -2
  164. package/dist/types/excalidraw/components/FileDropOverlay.d.ts +2 -0
  165. package/dist/types/excalidraw/components/FilledButton.d.ts +2 -1
  166. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +5 -1
  167. package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +6 -1
  168. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +3 -1
  169. package/dist/types/excalidraw/components/FontPicker/fontTopPicksDnD.d.ts +12 -0
  170. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +0 -1
  171. package/dist/types/excalidraw/components/HelpDialog.d.ts +1 -1
  172. package/dist/types/excalidraw/components/HintViewer.d.ts +4 -3
  173. package/dist/types/excalidraw/components/IconButton.d.ts +48 -0
  174. package/dist/types/excalidraw/components/IconPicker.d.ts +14 -9
  175. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
  176. package/dist/types/excalidraw/components/Island.d.ts +7 -0
  177. package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
  178. package/dist/types/excalidraw/components/LayerUI.d.ts +6 -2
  179. package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
  180. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  181. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
  182. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +7 -3
  183. package/dist/types/excalidraw/components/LibraryUnit.d.ts +9 -5
  184. package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
  185. package/dist/types/excalidraw/components/LockButton.d.ts +3 -4
  186. package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
  187. package/dist/types/excalidraw/components/MobileMenu.d.ts +5 -7
  188. package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
  189. package/dist/types/excalidraw/components/Modal.d.ts +0 -1
  190. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
  191. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  192. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +4 -5
  193. package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
  194. package/dist/types/excalidraw/components/Popover.d.ts +2 -3
  195. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +2 -1
  196. package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
  197. package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
  198. package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
  199. package/dist/types/excalidraw/components/Range.d.ts +10 -4
  200. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  201. package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
  202. package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
  203. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +16 -22
  204. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
  205. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
  206. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
  207. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
  208. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
  209. package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
  210. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  211. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
  212. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
  213. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  214. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -3
  215. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  216. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
  217. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  218. package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
  219. package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
  220. package/dist/types/excalidraw/components/Stats/utils.d.ts +4 -2
  221. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
  222. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +23 -0
  223. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
  224. package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +27 -0
  225. package/dist/types/excalidraw/components/TTDDialog/Chat/index.d.ts +3 -0
  226. package/dist/types/excalidraw/components/TTDDialog/Chat/useChatAgent.d.ts +8 -0
  227. package/dist/types/excalidraw/components/TTDDialog/CodeMirrorEditor.d.ts +11 -0
  228. package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +4 -2
  229. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +13 -0
  230. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +12 -29
  231. package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +3 -3
  232. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +9 -3
  233. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +13 -9
  234. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
  235. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
  236. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
  237. package/dist/types/excalidraw/components/TTDDialog/TTDPreviewPanel.d.ts +12 -0
  238. package/dist/types/excalidraw/components/TTDDialog/TTDWelcomeMessage.d.ts +1 -0
  239. package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +10 -0
  240. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +19 -16
  241. package/dist/types/excalidraw/components/TTDDialog/hooks/useChatManagement.d.ts +13 -0
  242. package/dist/types/excalidraw/components/TTDDialog/hooks/useMermaidRenderer.d.ts +14 -0
  243. package/dist/types/excalidraw/components/TTDDialog/hooks/useTextGeneration.d.ts +8 -0
  244. package/dist/types/excalidraw/components/TTDDialog/mermaid-lang-lite.d.ts +2 -0
  245. package/dist/types/excalidraw/components/TTDDialog/types.d.ts +108 -0
  246. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +22 -0
  247. package/dist/types/excalidraw/components/TTDDialog/utils/chat.d.ts +10 -0
  248. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidAutoFix.d.ts +1 -0
  249. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidError.d.ts +26 -0
  250. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidValidation.d.ts +1 -0
  251. package/dist/types/excalidraw/components/TextField.d.ts +1 -0
  252. package/dist/types/excalidraw/components/Toast.d.ts +11 -7
  253. package/dist/types/excalidraw/components/ToolPopover.d.ts +22 -0
  254. package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
  255. package/dist/types/excalidraw/components/Tools.d.ts +151 -0
  256. package/dist/types/excalidraw/components/Tooltip.d.ts +26 -2
  257. package/dist/types/excalidraw/components/TopPicksDnD/TopPicksContextMenu.d.ts +14 -0
  258. package/dist/types/excalidraw/components/TopPicksDnD/TopPicksTip.d.ts +11 -0
  259. package/dist/types/excalidraw/components/TopPicksDnD/topPicksDnD.d.ts +58 -0
  260. package/dist/types/excalidraw/components/Trans.d.ts +2 -2
  261. package/dist/types/excalidraw/components/UserList.d.ts +3 -2
  262. package/dist/types/excalidraw/components/ViewportStatusFrame/ViewportStatusFrame.d.ts +11 -0
  263. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +9 -4
  264. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +3 -0
  265. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
  266. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +47 -35
  267. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +7 -5
  268. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
  269. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +13 -22
  270. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCheckbox.d.ts +5 -0
  271. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +5 -4
  272. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -2
  273. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
  274. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
  275. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSub.d.ts +23 -0
  276. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubContent.d.ts +8 -0
  277. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubTrigger.d.ts +12 -0
  278. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
  279. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +2 -2
  280. package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +2 -0
  281. package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
  282. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
  283. package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +3 -2
  284. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +16 -5
  285. package/dist/types/excalidraw/components/icons.d.ts +56 -22
  286. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +26 -3
  287. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +39 -35
  288. package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
  289. package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
  290. package/dist/types/excalidraw/data/blob.d.ts +373 -15
  291. package/dist/types/excalidraw/data/encode.d.ts +4 -4
  292. package/dist/types/excalidraw/data/encryption.d.ts +5 -5
  293. package/dist/types/excalidraw/data/filesystem.d.ts +5 -7
  294. package/dist/types/excalidraw/data/index.d.ts +11 -12
  295. package/dist/types/excalidraw/data/json.d.ts +192 -3
  296. package/dist/types/excalidraw/data/library.d.ts +25 -10
  297. package/dist/types/excalidraw/data/resave.d.ts +7 -2
  298. package/dist/types/excalidraw/data/restore.d.ts +25 -10
  299. package/dist/types/excalidraw/data/types.d.ts +4 -1
  300. package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
  301. package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
  302. package/dist/types/excalidraw/eraser/index.d.ts +2 -3
  303. package/dist/types/excalidraw/errors.d.ts +14 -0
  304. package/dist/types/excalidraw/fonts/Fonts.d.ts +12 -8
  305. package/dist/types/excalidraw/history.d.ts +10 -4
  306. package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
  307. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +2 -2
  308. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +4 -3
  309. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
  310. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
  311. package/dist/types/excalidraw/i18n.d.ts +2 -2
  312. package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
  313. package/dist/types/excalidraw/lasso/index.d.ts +2 -3
  314. package/dist/types/excalidraw/lasso/utils.d.ts +2 -0
  315. package/dist/types/excalidraw/mermaid.d.ts +7 -0
  316. package/dist/types/excalidraw/reactUtils.d.ts +1 -1
  317. package/dist/types/excalidraw/renderOverrides.d.ts +9 -0
  318. package/dist/types/excalidraw/renderer/animation.d.ts +23 -0
  319. package/dist/types/excalidraw/renderer/helpers.d.ts +31 -8
  320. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +7 -15
  321. package/dist/types/excalidraw/renderer/staticScene.d.ts +11 -6
  322. package/dist/types/excalidraw/scene/Renderer.d.ts +492 -20
  323. package/dist/types/excalidraw/scene/export.d.ts +344 -21
  324. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  325. package/dist/types/excalidraw/scene/types.d.ts +51 -9
  326. package/dist/types/excalidraw/shortcut.d.ts +1 -0
  327. package/dist/types/excalidraw/snapping.d.ts +12 -12
  328. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
  329. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
  330. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
  331. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
  332. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
  333. package/dist/types/excalidraw/textAutoResizeHandle.d.ts +15 -0
  334. package/dist/types/excalidraw/types.d.ts +697 -61
  335. package/dist/types/excalidraw/viewport.d.ts +302 -0
  336. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +19 -5
  337. package/dist/types/fractional-indexing/src/index.d.ts +29 -0
  338. package/dist/types/laser-pointer/src/index.d.ts +2 -0
  339. package/dist/types/laser-pointer/src/math.d.ts +16 -0
  340. package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
  341. package/dist/types/laser-pointer/src/state.d.ts +36 -0
  342. package/dist/types/math/src/constants.d.ts +0 -1
  343. package/dist/types/math/src/curve.d.ts +23 -13
  344. package/dist/types/math/src/index.d.ts +1 -0
  345. package/dist/types/math/src/pca.d.ts +79 -0
  346. package/dist/types/math/src/point.d.ts +8 -2
  347. package/dist/types/math/src/polygon.d.ts +26 -2
  348. package/dist/types/math/src/range.d.ts +1 -3
  349. package/dist/types/math/src/segment.d.ts +10 -3
  350. package/dist/types/math/src/types.d.ts +25 -1
  351. package/dist/types/utils/src/index.d.ts +4 -3
  352. package/dist/types/utils/src/shape.d.ts +8 -8
  353. package/package.json +7 -1
  354. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +0 -185
  355. package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
  356. package/dist/types/excalidraw/charts.d.ts +0 -27
  357. package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +0 -4
  358. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -16
  359. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +0 -10
  360. package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
  361. package/dist/types/excalidraw/components/InitializeApp.d.ts +0 -10
  362. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +0 -9
  363. package/dist/types/excalidraw/components/ToolButton.d.ts +0 -49
  364. package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +0 -8
  365. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -10
  366. package/dist/types/excalidraw/components/shapes.d.ts +0 -190
  367. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -58
  368. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +0 -19
  369. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +0 -85
  370. package/dist/types/excalidraw/cursor.d.ts +0 -5
  371. package/dist/types/excalidraw/data/reconcile.d.ts +0 -7
  372. package/dist/types/excalidraw/index.d.ts +0 -47
  373. package/dist/types/excalidraw/polyfill.d.ts +0 -2
  374. package/dist/types/excalidraw/scene/scroll.d.ts +0 -23
  375. package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
  376. package/dist/types/utils/src/bbox.d.ts +0 -9
  377. package/dist/types/utils/src/export.d.ts +0 -35
  378. package/dist/types/utils/src/withinBounds.d.ts +0 -19
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
3
2
  import "./Stats.scss";
4
3
  import type { AppClassProperties, AppState, ExcalidrawProps } from "../../types";
@@ -12,18 +11,18 @@ export declare const Stats: {
12
11
  StatsRow: {
13
12
  ({ children, columns, heading, style, ...rest }: {
14
13
  children: React.ReactNode;
15
- columns?: number | undefined;
16
- heading?: boolean | undefined;
17
- style?: import("react").CSSProperties | undefined;
18
- } & import("react").HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
14
+ columns?: number;
15
+ heading?: boolean;
16
+ style?: React.CSSProperties;
17
+ } & React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
19
18
  displayName: string;
20
19
  };
21
20
  StatsRows: {
22
21
  ({ children, order, style, ...rest }: {
23
22
  children: React.ReactNode;
24
- order?: number | undefined;
25
- style?: import("react").CSSProperties | undefined;
26
- } & import("react").HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
23
+ order?: number;
24
+ style?: React.CSSProperties;
25
+ } & React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
27
26
  displayName: string;
28
27
  };
29
28
  };
@@ -1,5 +1,5 @@
1
1
  import type { ElementsMap, ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
- import type { Scene } from "@excalidraw/element";
2
+ import type { RenderEnvironment, Scene } from "@excalidraw/element";
3
3
  import type { AppState } from "../../types";
4
4
  export type StatsInputProperty = "x" | "y" | "width" | "height" | "angle" | "fontSize" | "gridStep";
5
5
  export declare const SMALLEST_DELTA = 0.01;
@@ -15,5 +15,7 @@ export declare const newOrigin: (x1: number, y1: number, w1: number, h1: number,
15
15
  x: number;
16
16
  y: number;
17
17
  };
18
- export declare const moveElement: (newTopLeftX: number, newTopLeftY: number, originalElement: ExcalidrawElement, scene: Scene, originalElementsMap: ElementsMap, shouldInformMutation?: boolean) => void;
18
+ export declare const moveElement: (newTopLeftX: number, newTopLeftY: number, originalElement: NonDeletedExcalidrawElement, scene: Scene, appState: AppState, originalElementsMap: ElementsMap, shouldInformMutation?: boolean,
19
+ /** measures the labels of the bound arrows the move moves */
20
+ renderEnvironment?: RenderEnvironment) => void;
19
21
  export declare const getAtomicUnits: (targetElements: readonly ExcalidrawElement[], appState: AppState) => AtomicUnit[];
@@ -0,0 +1,15 @@
1
+ import type { SavedChat } from "../types";
2
+ interface ChatHistoryMenuProps {
3
+ isOpen: boolean;
4
+ onToggle: () => void;
5
+ onClose: () => void;
6
+ onNewChat: () => void;
7
+ onRestoreChat: (chat: SavedChat) => void;
8
+ onDeleteChat: (chatId: string, event: React.MouseEvent) => void;
9
+ savedChats: SavedChat[];
10
+ activeSessionId: string;
11
+ disabled?: boolean;
12
+ isNewChatBtnVisible?: boolean;
13
+ }
14
+ export declare const ChatHistoryMenu: ({ isOpen, onToggle, onClose, onNewChat, onRestoreChat, onDeleteChat, isNewChatBtnVisible, savedChats, activeSessionId, disabled, }: ChatHistoryMenuProps) => import("react/jsx-runtime").JSX.Element;
15
+ export {};
@@ -0,0 +1,23 @@
1
+ import type { TChat, TTTDDialog } from "../types";
2
+ export declare const ChatInterface: ({ chatId, messages, currentPrompt, onPromptChange, onGenerate, isGenerating, rateLimits, onAbort, onMermaidTabClick, onAiRepairClick, onDeleteMessage, onInsertMessage, onRetry, renderWelcomeScreen, renderWarning, }: {
3
+ chatId: string;
4
+ messages: TChat.ChatMessage[];
5
+ currentPrompt: string;
6
+ onPromptChange: (prompt: string) => void;
7
+ onGenerate: TTTDDialog.OnGenerate;
8
+ isGenerating: boolean;
9
+ rateLimits?: {
10
+ rateLimit: number;
11
+ rateLimitRemaining: number;
12
+ } | null;
13
+ onViewAsMermaid?: () => void;
14
+ generatedResponse?: string | null;
15
+ onAbort?: () => void;
16
+ onMermaidTabClick?: (message: TChat.ChatMessage) => void;
17
+ onAiRepairClick?: (message: TChat.ChatMessage) => void;
18
+ onDeleteMessage?: (messageId: string) => void;
19
+ onInsertMessage?: (message: TChat.ChatMessage) => void;
20
+ onRetry?: (message: TChat.ChatMessage) => void;
21
+ renderWelcomeScreen?: TTTDDialog.renderWelcomeScreen;
22
+ renderWarning?: TTTDDialog.renderWarning;
23
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ import type { TChat, TTTDDialog } from "../types";
3
+ export declare const ChatMessage: React.FC<{
4
+ message: TChat.ChatMessage;
5
+ onMermaidTabClick?: (message: TChat.ChatMessage) => void;
6
+ onAiRepairClick?: (message: TChat.ChatMessage) => void;
7
+ onDeleteMessage?: (messageId: string) => void;
8
+ onInsertMessage?: (message: TChat.ChatMessage) => void;
9
+ onRetry?: (message: TChat.ChatMessage) => void;
10
+ rateLimitRemaining?: number;
11
+ isLastMessage?: boolean;
12
+ renderWarning?: TTTDDialog.renderWarning;
13
+ allowFixingParseError?: boolean;
14
+ }>;
@@ -0,0 +1,27 @@
1
+ import type { SavedChat, TChat, TTTDDialog } from "../types";
2
+ export declare const TTDChatPanel: ({ chatId, messages, currentPrompt, onPromptChange, onGenerate, isGenerating, generatedResponse, isMenuOpen, onMenuToggle, onMenuClose, onNewChat, onRestoreChat, onDeleteChat, savedChats, activeSessionId, onAbort, onMermaidTabClick, onAiRepairClick, onDeleteMessage, onInsertMessage, onRetry, onViewAsMermaid, renderWelcomeScreen, renderWarning, }: {
3
+ chatId: string;
4
+ messages: TChat.ChatMessage[];
5
+ currentPrompt: string;
6
+ onPromptChange: (prompt: string) => void;
7
+ onGenerate: TTTDDialog.OnGenerate;
8
+ isGenerating: boolean;
9
+ generatedResponse: string | null | undefined;
10
+ isMenuOpen: boolean;
11
+ onMenuToggle: () => void;
12
+ onMenuClose: () => void;
13
+ onNewChat: () => void;
14
+ onRestoreChat: (chat: SavedChat) => void;
15
+ onDeleteChat: (chatId: string, event: React.MouseEvent) => void;
16
+ savedChats: SavedChat[];
17
+ activeSessionId: string;
18
+ onAbort: () => void;
19
+ onMermaidTabClick: (message: TChat.ChatMessage) => void;
20
+ onAiRepairClick: (message: TChat.ChatMessage) => void;
21
+ onDeleteMessage: (messageId: string) => void;
22
+ onInsertMessage: (message: TChat.ChatMessage) => void;
23
+ onRetry?: (message: TChat.ChatMessage) => void;
24
+ onViewAsMermaid: () => void;
25
+ renderWelcomeScreen?: TTTDDialog.renderWelcomeScreen;
26
+ renderWarning?: TTTDDialog.renderWarning;
27
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export { ChatInterface } from "./ChatInterface";
2
+ export { ChatMessage } from "./ChatMessage";
3
+ export { useChatAgent } from "./useChatAgent";
@@ -0,0 +1,8 @@
1
+ export declare const useChatAgent: () => {
2
+ addUserMessage: (content: string) => void;
3
+ addAssistantMessage: () => void;
4
+ setAssistantError: (errorMessage: string, errorType?: "parse" | "network" | "other", errorDetails?: Error | unknown) => void;
5
+ chatHistory: import("../types").TChat.ChatHistory;
6
+ setChatHistory: (args_0: import("../types").TChat.ChatHistory | ((prev: import("../types").TChat.ChatHistory) => import("../types").TChat.ChatHistory)) => void;
7
+ setLastRetryAttempt: () => void;
8
+ };
@@ -0,0 +1,11 @@
1
+ import type { Theme } from "@excalidraw/element/types";
2
+ export interface CodeMirrorEditorProps {
3
+ value: string;
4
+ onChange: (value: string) => void;
5
+ onKeyboardSubmit?: () => void;
6
+ placeholder?: string;
7
+ theme: Theme;
8
+ errorLine?: number | null;
9
+ }
10
+ declare const CodeMirrorEditor: ({ value, onChange, onKeyboardSubmit, placeholder, theme, errorLine, }: CodeMirrorEditorProps) => import("react/jsx-runtime").JSX.Element;
11
+ export default CodeMirrorEditor;
@@ -1,6 +1,8 @@
1
1
  import "./MermaidToExcalidraw.scss";
2
- import type { MermaidToExcalidrawLibProps } from "./common";
3
- declare const MermaidToExcalidraw: ({ mermaidToExcalidrawLib, }: {
2
+ import type { MermaidToExcalidrawLibProps } from "./types";
3
+ declare const MermaidToExcalidraw: ({ mermaidToExcalidrawLib, onRetryLoad, isActive, }: {
4
4
  mermaidToExcalidrawLib: MermaidToExcalidrawLibProps;
5
+ onRetryLoad?: () => void;
6
+ isActive?: boolean;
5
7
  }) => import("react/jsx-runtime").JSX.Element;
6
8
  export default MermaidToExcalidraw;
@@ -0,0 +1,13 @@
1
+ import type { RateLimits, TChat } from "./types";
2
+ export declare const rateLimitsAtom: import("jotai").PrimitiveAtom<RateLimits | null> & {
3
+ init: RateLimits | null;
4
+ };
5
+ export declare const showPreviewAtom: import("jotai").PrimitiveAtom<boolean> & {
6
+ init: boolean;
7
+ };
8
+ export declare const errorAtom: import("jotai").PrimitiveAtom<Error | null> & {
9
+ init: Error | null;
10
+ };
11
+ export declare const chatHistoryAtom: import("jotai").PrimitiveAtom<TChat.ChatHistory> & {
12
+ init: TChat.ChatHistory;
13
+ };
@@ -1,30 +1,13 @@
1
- /// <reference types="react" />
2
1
  import "./TTDDialog.scss";
3
- type OnTestSubmitRetValue = {
4
- rateLimit?: number | null;
5
- rateLimitRemaining?: number | null;
6
- } & ({
7
- generatedResponse: string | undefined;
8
- error?: null | undefined;
9
- } | {
10
- error: Error;
11
- generatedResponse?: null | undefined;
12
- });
13
- export declare const TTDDialog: (props: {
14
- onTextSubmit(value: string): Promise<OnTestSubmitRetValue>;
15
- } | {
16
- __fallback: true;
17
- }) => import("react/jsx-runtime").JSX.Element | null;
18
- /**
19
- * Text to diagram (TTD) dialog
20
- */
21
- export declare const TTDDialogBase: import("react").FC<({
22
- tab: "text-to-diagram" | "mermaid";
23
- } & ({
24
- onTextSubmit(value: string): Promise<OnTestSubmitRetValue>;
25
- } | {
26
- __fallback: true;
27
- })) & {
28
- __fallback?: boolean | undefined;
29
- }>;
30
- export {};
2
+ import type { TTDPersistenceAdapter, TTTDDialog } from "./types";
3
+ export declare const TTDDialog: {
4
+ (props: {
5
+ onTextSubmit: TTTDDialog.onTextSubmit;
6
+ renderWelcomeScreen?: TTTDDialog.renderWelcomeScreen;
7
+ renderWarning?: TTTDDialog.renderWarning;
8
+ persistenceAdapter: TTDPersistenceAdapter;
9
+ } | {
10
+ __fallback: true;
11
+ }): import("react/jsx-runtime").JSX.Element | null;
12
+ WelcomeMessage: () => import("react/jsx-runtime").JSX.Element;
13
+ };
@@ -1,9 +1,9 @@
1
- import type { ChangeEventHandler } from "react";
2
1
  interface TTDDialogInputProps {
3
2
  input: string;
4
3
  placeholder: string;
5
- onChange: ChangeEventHandler<HTMLTextAreaElement>;
4
+ onChange: (value: string) => void;
6
5
  onKeyboardSubmit?: () => void;
6
+ errorLine?: number | null;
7
7
  }
8
- export declare const TTDDialogInput: ({ input, placeholder, onChange, onKeyboardSubmit, }: TTDDialogInputProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const TTDDialogInput: ({ input, placeholder, onChange, onKeyboardSubmit, errorLine, }: TTDDialogInputProps) => import("react/jsx-runtime").JSX.Element | null;
9
9
  export {};
@@ -1,8 +1,14 @@
1
- /// <reference types="react" />
1
+ import type { MermaidToExcalidrawLibProps } from "./types";
2
2
  interface TTDDialogOutputProps {
3
3
  error: Error | null;
4
4
  canvasRef: React.RefObject<HTMLDivElement | null>;
5
- loaded: boolean;
5
+ loadStatus: MermaidToExcalidrawLibProps["status"];
6
+ loadErrorReloadRequired?: boolean;
7
+ onRetryLoad?: () => void;
8
+ hideErrorDetails?: boolean;
9
+ sourceText?: string;
10
+ autoFixAvailable?: boolean;
11
+ onApplyAutoFix?: () => void;
6
12
  }
7
- export declare const TTDDialogOutput: ({ error, canvasRef, loaded, }: TTDDialogOutputProps) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const TTDDialogOutput: ({ error, canvasRef, loadStatus, loadErrorReloadRequired, onRetryLoad, hideErrorDetails, sourceText, autoFixAvailable, onApplyAutoFix, }: TTDDialogOutputProps) => import("react/jsx-runtime").JSX.Element;
8
14
  export {};
@@ -1,17 +1,21 @@
1
1
  import type { ReactNode } from "react";
2
- interface TTDDialogPanelProps {
2
+ export type TTDPanelAction = {
3
3
  label: string;
4
+ action?: () => void;
5
+ icon?: ReactNode;
6
+ variant: "button" | "link" | "rateLimit";
7
+ disabled?: boolean;
8
+ className?: string;
9
+ };
10
+ interface TTDDialogPanelProps {
11
+ label?: string | ReactNode;
4
12
  children: ReactNode;
5
- panelAction?: {
6
- label: string;
7
- action: () => void;
8
- icon?: ReactNode;
9
- };
10
- panelActionDisabled?: boolean;
13
+ panelActions?: TTDPanelAction[];
11
14
  onTextSubmitInProgess?: boolean;
12
15
  renderTopRight?: () => ReactNode;
13
16
  renderSubmitShortcut?: () => ReactNode;
14
- renderBottomRight?: () => ReactNode;
17
+ className?: string;
18
+ panelActionJustifyContent?: "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly";
15
19
  }
16
- export declare const TTDDialogPanel: ({ label, children, panelAction, panelActionDisabled, onTextSubmitInProgess, renderTopRight, renderSubmitShortcut, renderBottomRight, }: TTDDialogPanelProps) => import("react/jsx-runtime").JSX.Element;
20
+ export declare const TTDDialogPanel: ({ label, children, panelActions, onTextSubmitInProgess, renderTopRight, renderSubmitShortcut, className, panelActionJustifyContent, }: TTDDialogPanelProps) => import("react/jsx-runtime").JSX.Element;
17
21
  export {};
@@ -1,8 +1,7 @@
1
- /// <reference types="react" />
2
1
  export declare const TTDDialogTab: {
3
2
  ({ tab, children, ...rest }: {
4
3
  tab: string;
5
4
  children: React.ReactNode;
6
- } & import("react").HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
5
+ } & React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
7
6
  displayName: string;
8
7
  };
@@ -1,9 +1,8 @@
1
- /// <reference types="react" />
2
1
  export declare const TTDDialogTabTrigger: {
3
2
  ({ children, tab, onSelect, ...rest }: {
4
3
  children: React.ReactNode;
5
4
  tab: string;
6
5
  onSelect?: React.ReactEventHandler<HTMLButtonElement> | undefined;
7
- } & Omit<import("react").HTMLAttributes<HTMLButtonElement>, "onSelect">): import("react/jsx-runtime").JSX.Element;
6
+ } & Omit<React.HTMLAttributes<HTMLButtonElement>, "onSelect">): import("react/jsx-runtime").JSX.Element;
8
7
  displayName: string;
9
8
  };
@@ -1,7 +1,6 @@
1
- /// <reference types="react" />
2
1
  export declare const TTDDialogTabTriggers: {
3
2
  ({ children, ...rest }: {
4
3
  children: React.ReactNode;
5
- } & import("react").HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
4
+ } & React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
6
5
  displayName: string;
7
6
  };
@@ -0,0 +1,12 @@
1
+ import type { MermaidToExcalidrawLibProps } from "./types";
2
+ interface TTDPreviewPanelProps {
3
+ canvasRef: React.RefObject<HTMLDivElement | null>;
4
+ error: Error | null;
5
+ loadStatus: MermaidToExcalidrawLibProps["status"];
6
+ loadErrorReloadRequired?: boolean;
7
+ onRetryLoad?: () => void;
8
+ onInsert: () => void;
9
+ hideErrorDetails?: boolean;
10
+ }
11
+ export declare const TTDPreviewPanel: ({ canvasRef, error, loadStatus, loadErrorReloadRequired, onRetryLoad, onInsert, hideErrorDetails, }: TTDPreviewPanelProps) => import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1 @@
1
+ export declare const TTDWelcomeMessage: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import type { MermaidToExcalidrawLibProps, TTDPersistenceAdapter, TTTDDialog } from "./types";
2
+ export declare const TextToDiagram: ({ mermaidToExcalidrawLib, onRetryLoad, onTextSubmit, renderWelcomeScreen, renderWarning, persistenceAdapter, }: {
3
+ mermaidToExcalidrawLib: MermaidToExcalidrawLibProps;
4
+ onRetryLoad?: () => void;
5
+ onTextSubmit(props: TTTDDialog.OnTextSubmitProps): Promise<TTTDDialog.OnTextSubmitRetValue>;
6
+ renderWelcomeScreen?: TTTDDialog.renderWelcomeScreen;
7
+ renderWarning?: TTTDDialog.renderWarning;
8
+ persistenceAdapter: TTDPersistenceAdapter;
9
+ }) => import("react/jsx-runtime").JSX.Element;
10
+ export default TextToDiagram;
@@ -1,15 +1,12 @@
1
- /// <reference types="react" />
2
- import type { MermaidConfig } from "@excalidraw/mermaid-to-excalidraw";
3
- import type { MermaidToExcalidrawResult } from "@excalidraw/mermaid-to-excalidraw/dist/interfaces";
4
- import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
1
+ import type { RenderEnvironment } from "@excalidraw/element";
2
+ import type { NonDeletedExcalidrawElement, Theme } from "@excalidraw/element/types";
3
+ import type { MermaidToExcalidrawLibProps } from "./types";
5
4
  import type { AppClassProperties, BinaryFiles } from "../../types";
6
- export interface MermaidToExcalidrawLibProps {
7
- loaded: boolean;
8
- api: Promise<{
9
- parseMermaidToExcalidraw: (definition: string, config?: MermaidConfig) => Promise<MermaidToExcalidrawResult>;
10
- }>;
11
- }
12
- interface ConvertMermaidToExcalidrawFormatProps {
5
+ export declare const resetPreview: ({ canvasRef, setError, }: {
6
+ canvasRef: React.RefObject<HTMLDivElement | null>;
7
+ setError: (error: Error | null) => void;
8
+ }) => void;
9
+ export declare const convertMermaidToExcalidraw: ({ canvasRef, mermaidToExcalidrawLib, mermaidDefinition, setError, data, theme, renderEnvironment, }: {
13
10
  canvasRef: React.RefObject<HTMLDivElement | null>;
14
11
  mermaidToExcalidrawLib: MermaidToExcalidrawLibProps;
15
12
  mermaidDefinition: string;
@@ -18,8 +15,15 @@ interface ConvertMermaidToExcalidrawFormatProps {
18
15
  elements: readonly NonDeletedExcalidrawElement[];
19
16
  files: BinaryFiles | null;
20
17
  }>;
21
- }
22
- export declare const convertMermaidToExcalidraw: ({ canvasRef, mermaidToExcalidrawLib, mermaidDefinition, setError, data, }: ConvertMermaidToExcalidrawFormatProps) => Promise<void>;
18
+ theme: Theme;
19
+ /** the host's environment (`app.renderEnvironment`), to measure labels with */
20
+ renderEnvironment?: RenderEnvironment;
21
+ }) => Promise<{
22
+ success: true;
23
+ } | {
24
+ success: false;
25
+ error?: Error;
26
+ }>;
23
27
  export declare const saveMermaidDataToStorage: (mermaidDefinition: string) => void;
24
28
  export declare const insertToEditor: ({ app, data, text, shouldSaveMermaidDataToStorage, }: {
25
29
  app: AppClassProperties;
@@ -27,7 +31,6 @@ export declare const insertToEditor: ({ app, data, text, shouldSaveMermaidDataTo
27
31
  elements: readonly NonDeletedExcalidrawElement[];
28
32
  files: BinaryFiles | null;
29
33
  }>;
30
- text?: string | undefined;
31
- shouldSaveMermaidDataToStorage?: boolean | undefined;
34
+ text?: string;
35
+ shouldSaveMermaidDataToStorage?: boolean;
32
36
  }) => void;
33
- export {};
@@ -0,0 +1,13 @@
1
+ import type { SavedChat, TTDPersistenceAdapter } from "../types";
2
+ interface UseChatManagementProps {
3
+ persistenceAdapter: TTDPersistenceAdapter;
4
+ }
5
+ export declare const useChatManagement: ({ persistenceAdapter, }: UseChatManagementProps) => {
6
+ isMenuOpen: boolean;
7
+ onRestoreChat: (chat: SavedChat) => void;
8
+ handleDeleteChat: (chatId: string, event: React.MouseEvent) => Promise<void>;
9
+ handleNewChat: () => Promise<void>;
10
+ handleMenuToggle: () => void;
11
+ handleMenuClose: () => void;
12
+ };
13
+ export {};
@@ -0,0 +1,14 @@
1
+ import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { BinaryFiles } from "../../../types";
3
+ import type { MermaidToExcalidrawLibProps } from "../types";
4
+ interface UseMermaidRendererProps {
5
+ mermaidToExcalidrawLib: MermaidToExcalidrawLibProps;
6
+ canvasRef: React.RefObject<HTMLDivElement | null>;
7
+ }
8
+ export declare const useMermaidRenderer: ({ mermaidToExcalidrawLib, canvasRef, }: UseMermaidRendererProps) => {
9
+ data: import("react").RefObject<{
10
+ elements: readonly NonDeletedExcalidrawElement[];
11
+ files: BinaryFiles | null;
12
+ }>;
13
+ };
14
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { MermaidToExcalidrawLibProps, TTTDDialog } from "../types";
2
+ export declare const useTextGeneration: ({ onTextSubmit, mermaidToExcalidrawLib, }: {
3
+ onTextSubmit: (props: TTTDDialog.OnTextSubmitProps) => Promise<TTTDDialog.OnTextSubmitRetValue>;
4
+ mermaidToExcalidrawLib: MermaidToExcalidrawLibProps;
5
+ }) => {
6
+ onGenerate: TTTDDialog.OnGenerate;
7
+ handleAbort: () => void;
8
+ };
@@ -0,0 +1,2 @@
1
+ import { StreamLanguage } from "@codemirror/language";
2
+ export declare function mermaidLite(): StreamLanguage<unknown>;
@@ -0,0 +1,108 @@
1
+ import type { RequestError } from "@excalidraw/excalidraw/errors";
2
+ import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
3
+ import type { MermaidConfig } from "@excalidraw/mermaid-to-excalidraw";
4
+ import type { MermaidToExcalidrawResult } from "@excalidraw/mermaid-to-excalidraw/dist/interfaces";
5
+ import type { BinaryFiles } from "../../types";
6
+ export type LLMMessage = {
7
+ role: "user" | "assistant";
8
+ content: string;
9
+ };
10
+ export type MermaidData = {
11
+ elements: readonly NonDeletedExcalidrawElement[];
12
+ files: BinaryFiles | null;
13
+ };
14
+ export interface RateLimits {
15
+ rateLimit: number;
16
+ rateLimitRemaining: number;
17
+ }
18
+ export declare namespace TChat {
19
+ type ChatMessage = {
20
+ id: string;
21
+ timestamp: Date;
22
+ isGenerating?: boolean;
23
+ error?: string;
24
+ errorDetails?: string;
25
+ errorType?: "parse" | "network" | "other";
26
+ lastAttemptAt?: number;
27
+ type: "user" | "assistant" | "warning";
28
+ warningType?: /* daily rate limit */ "messageLimitExceeded" | /* general 429 */ "rateLimitExceeded";
29
+ content?: string;
30
+ /**
31
+ * What an assistant's diagram was rendered with: Pele, since
32
+ * `@excalidraw/mermaid-to-excalidraw` v3. Not set on (saved) messages
33
+ * from before, which were rendered with Mermaid.
34
+ */
35
+ renderer?: "pele";
36
+ };
37
+ type ChatHistory = {
38
+ id: string;
39
+ messages: ChatMessage[];
40
+ currentPrompt: string;
41
+ };
42
+ }
43
+ export interface SavedChat {
44
+ id: string;
45
+ title: string;
46
+ messages: TChat.ChatMessage[];
47
+ currentPrompt: string;
48
+ timestamp: number;
49
+ }
50
+ export type SavedChats = SavedChat[];
51
+ /**
52
+ * Interface for TTD chat persistence. Preferably should be stable
53
+ * (e.g. static class/singleton)
54
+ */
55
+ export interface TTDPersistenceAdapter {
56
+ /**
57
+ * Load saved chats from storage.
58
+ */
59
+ loadChats(): Promise<SavedChats>;
60
+ /**
61
+ * Save chats to storage.
62
+ */
63
+ saveChats(chats: SavedChats): Promise<void>;
64
+ }
65
+ export interface MermaidToExcalidrawLibProps {
66
+ /** loading state of the (lazy) lib. "error" e.g. while offline */
67
+ status: "loading" | "loaded" | "error";
68
+ /**
69
+ * set when loading failed while online (e.g. stale app version after
70
+ * a deploy, or the browser cached the failed fetch), i.e. only a page
71
+ * reload will likely recover
72
+ */
73
+ reloadRequired?: boolean;
74
+ api: Promise<{
75
+ parseMermaidToExcalidraw: (definition: string, config?: MermaidConfig) => Promise<MermaidToExcalidrawResult>;
76
+ }>;
77
+ }
78
+ export declare namespace TTTDDialog {
79
+ type OnGenerate = (opts: {
80
+ prompt: string;
81
+ isRepairFlow?: boolean;
82
+ }) => Promise<void>;
83
+ type OnTextSubmitProps = {
84
+ messages: LLMMessage[];
85
+ onChunk?: (chunk: string) => void;
86
+ onStreamCreated?: () => void;
87
+ signal?: AbortSignal;
88
+ };
89
+ type OnTextSubmitRetValue = {
90
+ rateLimit?: number | null;
91
+ rateLimitRemaining?: number | null;
92
+ } & ({
93
+ generatedResponse: string;
94
+ error: null;
95
+ } | {
96
+ error: RequestError;
97
+ generatedResponse?: null;
98
+ });
99
+ type onTextSubmit = (props: OnTextSubmitProps) => Promise<OnTextSubmitRetValue>;
100
+ /**
101
+ * return undefined to use default rendering
102
+ */
103
+ type renderWarning = (chatMessage: TChat.ChatMessage) => React.ReactNode | undefined;
104
+ type renderWelcomeScreen = (props: {
105
+ /** null if not rate limit data currently available */
106
+ rateLimits: RateLimits | null;
107
+ }) => React.ReactNode | undefined;
108
+ }
@@ -0,0 +1,22 @@
1
+ import type { SavedChat, SavedChats, TTDPersistenceAdapter } from "./types";
2
+ interface UseTTDChatStorageProps {
3
+ persistenceAdapter: TTDPersistenceAdapter;
4
+ }
5
+ interface UseTTDChatStorageReturn {
6
+ savedChats: SavedChats;
7
+ saveCurrentChat: () => Promise<void>;
8
+ deleteChat: (chatId: string) => Promise<SavedChats>;
9
+ restoreChat: (chat: SavedChat) => SavedChat;
10
+ createNewChatId: () => Promise<string>;
11
+ }
12
+ export declare const savedChatsAtom: import("jotai").PrimitiveAtom<SavedChats> & {
13
+ init: SavedChats;
14
+ };
15
+ export declare const isLoadingChatsAtom: import("jotai").PrimitiveAtom<boolean> & {
16
+ init: boolean;
17
+ };
18
+ export declare const chatsLoadedAtom: import("jotai").PrimitiveAtom<boolean> & {
19
+ init: boolean;
20
+ };
21
+ export declare const useTTDChatStorage: ({ persistenceAdapter, }: UseTTDChatStorageProps) => UseTTDChatStorageReturn;
22
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { LLMMessage, TChat } from "../types";
2
+ export declare const updateAssistantContent: (chatHistory: TChat.ChatHistory, payload: Partial<TChat.ChatMessage>) => TChat.ChatHistory;
3
+ export declare const getLastAssistantMessage: (chatHistory: TChat.ChatHistory) => TChat.ChatMessage;
4
+ export declare const addMessages: (chatHistory: TChat.ChatHistory, messages: Array<Omit<TChat.ChatMessage, "id" | "timestamp">>) => {
5
+ messages: TChat.ChatMessage[];
6
+ id: string;
7
+ currentPrompt: string;
8
+ };
9
+ export declare const removeLastAssistantMessage: (chatHistory: TChat.ChatHistory) => TChat.ChatHistory;
10
+ export declare const getMessagesForLLM: (chatHistory: TChat.ChatHistory) => LLMMessage[];
@@ -0,0 +1 @@
1
+ export declare const getMermaidAutoFixCandidates: (sourceText: string, errorMessage: string) => string[];
@@ -0,0 +1,26 @@
1
+ /** a lazy-loaded chunk (e.g. one of Pele's diagram chunks) failed to load */
2
+ export declare const isModuleLoadError: (error: unknown) => boolean;
3
+ export declare const isMermaidParseSyntaxError: (message: string) => boolean;
4
+ /** the definition doesn't start with a (known) diagram type */
5
+ export declare const isMermaidUnknownDiagramError: (message: string) => boolean;
6
+ export declare const isMermaidAutoFixableError: (message: string) => boolean;
7
+ export type MermaidDiagramType = "flowchart" | "sequence" | "class" | "state" | "er";
8
+ /**
9
+ * Index of the line that declares the diagram type: the first one that isn't
10
+ * empty, a comment, a directive (`%%{...}%%`) or front matter (`---` block).
11
+ */
12
+ export declare const getMermaidHeaderLineIndex: (sourceText: string) => number | null;
13
+ /** The diagram type the definition declares (of those Excalidraw converts). */
14
+ export declare const getMermaidDiagramType: (sourceText: string) => MermaidDiagramType | null;
15
+ export declare const isMermaidCaretLine: (line: string) => boolean;
16
+ export declare const getMermaidInactiveParticipant: (message: string) => string | null;
17
+ export declare const getMermaidErrorLineNumber: (message: string, sourceText?: string) => number | null;
18
+ /** A line closing a block that `end`s */
19
+ export declare const MERMAID_END_LINE: RegExp;
20
+ export declare const getMermaidEndBlockOpener: (type: MermaidDiagramType | null) => RegExp | null;
21
+ export declare const getMermaidSyntaxErrorGuidance: (message: string, sourceText?: string) => {
22
+ summary: string;
23
+ likelyCauses: string[];
24
+ } | null;
25
+ /** The parse error, without the tokens it expected */
26
+ export declare const formatMermaidParseErrorMessage: (message: string) => string;
@@ -0,0 +1 @@
1
+ export declare const isValidMermaidSyntax: (content: string) => boolean;