@excalidraw/element 0.18.0-c141960 → 0.18.0-c1dbbdf

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 (233) hide show
  1. package/dist/dev/index.js +2698 -954
  2. package/dist/dev/index.js.map +4 -4
  3. package/dist/prod/index.js +18 -18
  4. package/dist/types/common/debug.d.ts +21 -0
  5. package/dist/types/common/src/bounds.d.ts +10 -0
  6. package/dist/types/common/src/colors.d.ts +59 -39
  7. package/dist/types/common/src/constants.d.ts +17 -11
  8. package/dist/types/common/src/editorInterface.d.ts +1 -1
  9. package/dist/types/common/src/font-metadata.d.ts +1 -3
  10. package/dist/types/common/src/index.d.ts +2 -1
  11. package/dist/types/common/src/keys.d.ts +1 -1
  12. package/dist/types/common/src/utility-types.d.ts +0 -1
  13. package/dist/types/common/src/utils.d.ts +46 -38
  14. package/dist/types/element/src/Scene.d.ts +5 -3
  15. package/dist/types/element/src/arrows/focus.d.ts +27 -0
  16. package/dist/types/element/src/arrows/helpers.d.ts +5 -0
  17. package/dist/types/element/src/binding.d.ts +19 -12
  18. package/dist/types/element/src/bounds.d.ts +2 -10
  19. package/dist/types/element/src/collision.d.ts +4 -3
  20. package/dist/types/element/src/comparisons.d.ts +7 -7
  21. package/dist/types/element/src/distribute.d.ts +2 -1
  22. package/dist/types/element/src/dragElements.d.ts +3 -3
  23. package/dist/types/element/src/duplicate.d.ts +3 -3
  24. package/dist/types/element/src/elbowArrow.d.ts +2 -0
  25. package/dist/types/element/src/fractionalIndex.d.ts +2 -2
  26. package/dist/types/element/src/frame.d.ts +5 -1
  27. package/dist/types/element/src/heading.d.ts +2 -1
  28. package/dist/types/element/src/image.d.ts +1 -11
  29. package/dist/types/element/src/index.d.ts +3 -0
  30. package/dist/types/element/src/linearElementEditor.d.ts +6 -2
  31. package/dist/types/element/src/mutateElement.d.ts +5 -1
  32. package/dist/types/element/src/newElement.d.ts +6 -6
  33. package/dist/types/element/src/renderElement.d.ts +0 -6
  34. package/dist/types/element/src/resizeElements.d.ts +10 -10
  35. package/dist/types/element/src/resizeTest.d.ts +1 -1
  36. package/dist/types/element/src/selection.d.ts +3 -7
  37. package/dist/types/element/src/shape.d.ts +8 -7
  38. package/dist/types/element/src/textMeasurements.d.ts +1 -3
  39. package/dist/types/{excalidraw/data → element/src}/transform.d.ts +3 -3
  40. package/dist/types/element/src/transformHandles.d.ts +3 -23
  41. package/dist/types/element/src/typeChecks.d.ts +2 -4
  42. package/dist/types/element/src/types.d.ts +1 -1
  43. package/dist/types/element/src/utils.d.ts +8 -4
  44. package/dist/types/{common → element}/src/visualdebug.d.ts +20 -2
  45. package/dist/types/element/src/zindex.d.ts +1 -1
  46. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +92 -153
  47. package/dist/types/excalidraw/actions/actionAlign.d.ts +0 -1
  48. package/dist/types/excalidraw/actions/actionBoundText.d.ts +64 -105
  49. package/dist/types/excalidraw/actions/actionCanvas.d.ts +383 -618
  50. package/dist/types/excalidraw/actions/actionClipboard.d.ts +64 -105
  51. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +31 -52
  52. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +106 -169
  53. package/dist/types/excalidraw/actions/actionDistribute.d.ts +0 -1
  54. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +0 -1
  55. package/dist/types/excalidraw/actions/actionElementLink.d.ts +24 -49
  56. package/dist/types/excalidraw/actions/actionElementLock.d.ts +65 -106
  57. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +32 -53
  58. package/dist/types/excalidraw/actions/actionExport.d.ts +126 -211
  59. package/dist/types/excalidraw/actions/actionFinalize.d.ts +1 -2
  60. package/dist/types/excalidraw/actions/actionFlip.d.ts +0 -1
  61. package/dist/types/excalidraw/actions/actionFrame.d.ts +221 -338
  62. package/dist/types/excalidraw/actions/actionGroup.d.ts +68 -117
  63. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +134 -189
  64. package/dist/types/excalidraw/actions/actionLink.d.ts +32 -53
  65. package/dist/types/excalidraw/actions/actionMenu.d.ts +23 -48
  66. package/dist/types/excalidraw/actions/actionNavigate.d.ts +14 -17
  67. package/dist/types/excalidraw/actions/actionProperties.d.ts +79 -120
  68. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +34 -59
  69. package/dist/types/excalidraw/actions/actionStyles.d.ts +30 -51
  70. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +172 -0
  71. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +32 -53
  72. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +172 -0
  73. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +32 -53
  74. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +22 -47
  75. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +32 -53
  76. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +32 -53
  77. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +32 -53
  78. package/dist/types/excalidraw/actions/actionZindex.d.ts +0 -1
  79. package/dist/types/excalidraw/actions/index.d.ts +2 -0
  80. package/dist/types/excalidraw/actions/manager.d.ts +1 -1
  81. package/dist/types/excalidraw/actions/register.d.ts +2 -2
  82. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  83. package/dist/types/excalidraw/actions/types.d.ts +1 -1
  84. package/dist/types/excalidraw/appState.d.ts +12 -10
  85. package/dist/types/excalidraw/charts/charts.bar.d.ts +2 -0
  86. package/dist/types/excalidraw/charts/charts.constants.d.ts +48 -0
  87. package/dist/types/excalidraw/charts/charts.helpers.d.ts +32 -0
  88. package/dist/types/excalidraw/charts/charts.line.d.ts +2 -0
  89. package/dist/types/excalidraw/charts/charts.parse.d.ts +10 -0
  90. package/dist/types/excalidraw/charts/charts.radar.d.ts +2 -0
  91. package/dist/types/excalidraw/charts/charts.types.d.ts +18 -0
  92. package/dist/types/excalidraw/charts/index.d.ts +7 -0
  93. package/dist/types/excalidraw/clipboard.d.ts +11 -35
  94. package/dist/types/excalidraw/components/Actions.d.ts +1 -1
  95. package/dist/types/excalidraw/components/App.d.ts +43 -44
  96. package/dist/types/excalidraw/components/Card.d.ts +1 -3
  97. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -4
  98. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +0 -1
  99. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +0 -1
  100. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +0 -1
  101. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +1 -2
  102. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
  103. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  104. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
  105. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
  106. package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
  107. package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
  108. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -1
  109. package/dist/types/excalidraw/components/EyeDropper.d.ts +0 -1
  110. package/dist/types/excalidraw/components/FilledButton.d.ts +1 -0
  111. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +0 -1
  112. package/dist/types/excalidraw/components/HelpDialog.d.ts +1 -1
  113. package/dist/types/excalidraw/components/InlineIcon.d.ts +2 -2
  114. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  115. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
  116. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -3
  117. package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
  118. package/dist/types/excalidraw/components/MobileToolBar.d.ts +0 -1
  119. package/dist/types/excalidraw/components/Modal.d.ts +0 -1
  120. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
  121. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +4 -5
  122. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -1
  123. package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
  124. package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
  125. package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
  126. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +15 -21
  127. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
  128. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
  129. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
  130. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
  131. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
  132. package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
  133. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
  134. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
  135. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +0 -1
  136. package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
  137. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
  138. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +23 -0
  139. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
  140. package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +27 -0
  141. package/dist/types/excalidraw/components/TTDDialog/Chat/index.d.ts +3 -0
  142. package/dist/types/excalidraw/components/TTDDialog/Chat/useChatAgent.d.ts +8 -0
  143. package/dist/types/excalidraw/components/TTDDialog/CodeMirrorEditor.d.ts +11 -0
  144. package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +3 -2
  145. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +13 -0
  146. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +12 -29
  147. package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +3 -3
  148. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +5 -2
  149. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +13 -9
  150. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
  151. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
  152. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
  153. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
  154. package/dist/types/excalidraw/components/TTDDialog/TTDPreviewPanel.d.ts +9 -0
  155. package/dist/types/excalidraw/components/TTDDialog/TTDWelcomeMessage.d.ts +1 -0
  156. package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +9 -0
  157. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +16 -16
  158. package/dist/types/excalidraw/components/TTDDialog/hooks/useChatManagement.d.ts +13 -0
  159. package/dist/types/excalidraw/components/TTDDialog/hooks/useMermaidRenderer.d.ts +14 -0
  160. package/dist/types/excalidraw/components/TTDDialog/hooks/useTextGeneration.d.ts +7 -0
  161. package/dist/types/excalidraw/components/TTDDialog/mermaid-lang-lite.d.ts +2 -0
  162. package/dist/types/excalidraw/components/TTDDialog/types.d.ts +95 -0
  163. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +22 -0
  164. package/dist/types/excalidraw/components/TTDDialog/utils/TTDStreamFetch.d.ts +24 -0
  165. package/dist/types/excalidraw/components/TTDDialog/utils/chat.d.ts +10 -0
  166. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidAutoFix.d.ts +1 -0
  167. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidError.d.ts +10 -0
  168. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidValidation.d.ts +1 -0
  169. package/dist/types/excalidraw/components/Toast.d.ts +3 -3
  170. package/dist/types/excalidraw/components/Trans.d.ts +2 -2
  171. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +48 -38
  172. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +7 -6
  173. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
  174. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +13 -22
  175. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCheckbox.d.ts +5 -0
  176. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +5 -4
  177. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +0 -1
  178. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
  179. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
  180. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSub.d.ts +23 -0
  181. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubContent.d.ts +8 -0
  182. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubTrigger.d.ts +12 -0
  183. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
  184. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +2 -2
  185. package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +2 -0
  186. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
  187. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +1 -1
  188. package/dist/types/excalidraw/components/icons.d.ts +22 -13
  189. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +2 -13
  190. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +19 -2
  191. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +39 -32
  192. package/dist/types/excalidraw/components/shapes.d.ts +74 -1
  193. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +6 -6
  194. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +15 -16
  195. package/dist/types/excalidraw/data/blob.d.ts +323 -3
  196. package/dist/types/excalidraw/data/encode.d.ts +4 -4
  197. package/dist/types/excalidraw/data/encryption.d.ts +5 -5
  198. package/dist/types/excalidraw/data/filesystem.d.ts +2 -2
  199. package/dist/types/excalidraw/data/index.d.ts +3 -3
  200. package/dist/types/excalidraw/data/json.d.ts +160 -2
  201. package/dist/types/excalidraw/data/library.d.ts +24 -9
  202. package/dist/types/excalidraw/data/restore.d.ts +25 -10
  203. package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
  204. package/dist/types/excalidraw/errors.d.ts +14 -0
  205. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +1 -2
  206. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
  207. package/dist/types/excalidraw/i18n.d.ts +2 -2
  208. package/dist/types/excalidraw/index.d.ts +6 -4
  209. package/dist/types/excalidraw/renderer/helpers.d.ts +6 -4
  210. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +8 -6
  211. package/dist/types/excalidraw/scene/Renderer.d.ts +5 -2
  212. package/dist/types/excalidraw/scene/export.d.ts +2 -2
  213. package/dist/types/excalidraw/scene/scroll.d.ts +1 -6
  214. package/dist/types/excalidraw/scene/types.d.ts +7 -2
  215. package/dist/types/excalidraw/snapping.d.ts +5 -5
  216. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
  217. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
  218. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
  219. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
  220. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
  221. package/dist/types/excalidraw/types.d.ts +25 -14
  222. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +2 -2
  223. package/dist/types/math/src/point.d.ts +6 -1
  224. package/dist/types/math/src/polygon.d.ts +2 -2
  225. package/dist/types/math/src/range.d.ts +1 -3
  226. package/dist/types/math/src/segment.d.ts +3 -3
  227. package/dist/types/math/src/types.d.ts +25 -1
  228. package/dist/types/utils/src/bbox.d.ts +1 -1
  229. package/dist/types/utils/src/export.d.ts +5 -5
  230. package/dist/types/utils/src/shape.d.ts +6 -6
  231. package/dist/types/utils/src/withinBounds.d.ts +2 -2
  232. package/package.json +9 -3
  233. package/dist/types/excalidraw/charts.d.ts +0 -27
@@ -0,0 +1,95 @@
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
+ type ChatHistory = {
32
+ id: string;
33
+ messages: ChatMessage[];
34
+ currentPrompt: string;
35
+ };
36
+ }
37
+ export interface SavedChat {
38
+ id: string;
39
+ title: string;
40
+ messages: TChat.ChatMessage[];
41
+ currentPrompt: string;
42
+ timestamp: number;
43
+ }
44
+ export type SavedChats = SavedChat[];
45
+ /**
46
+ * Interface for TTD chat persistence. Preferably should be stable
47
+ * (e.g. static class/singleton)
48
+ */
49
+ export interface TTDPersistenceAdapter {
50
+ /**
51
+ * Load saved chats from storage.
52
+ */
53
+ loadChats(): Promise<SavedChats>;
54
+ /**
55
+ * Save chats to storage.
56
+ */
57
+ saveChats(chats: SavedChats): Promise<void>;
58
+ }
59
+ export interface MermaidToExcalidrawLibProps {
60
+ loaded: boolean;
61
+ api: Promise<{
62
+ parseMermaidToExcalidraw: (definition: string, config?: MermaidConfig) => Promise<MermaidToExcalidrawResult>;
63
+ }>;
64
+ }
65
+ export declare namespace TTTDDialog {
66
+ type OnGenerate = (opts: {
67
+ prompt: string;
68
+ isRepairFlow?: boolean;
69
+ }) => Promise<void>;
70
+ type OnTextSubmitProps = {
71
+ messages: LLMMessage[];
72
+ onChunk?: (chunk: string) => void;
73
+ onStreamCreated?: () => void;
74
+ signal?: AbortSignal;
75
+ };
76
+ type OnTextSubmitRetValue = {
77
+ rateLimit?: number | null;
78
+ rateLimitRemaining?: number | null;
79
+ } & ({
80
+ generatedResponse: string;
81
+ error: null;
82
+ } | {
83
+ error: RequestError;
84
+ generatedResponse?: null;
85
+ });
86
+ type onTextSubmit = (props: OnTextSubmitProps) => Promise<OnTextSubmitRetValue>;
87
+ /**
88
+ * return undefined to use default rendering
89
+ */
90
+ type renderWarning = (chatMessage: TChat.ChatMessage) => React.ReactNode | undefined;
91
+ type renderWelcomeScreen = (props: {
92
+ /** null if not rate limit data currently available */
93
+ rateLimits: RateLimits | null;
94
+ }) => React.ReactNode | undefined;
95
+ }
@@ -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/vanilla/atom").PrimitiveAtom<SavedChats> & {
13
+ init: SavedChats;
14
+ };
15
+ export declare const isLoadingChatsAtom: import("jotai/vanilla/atom").PrimitiveAtom<boolean> & {
16
+ init: boolean;
17
+ };
18
+ export declare const chatsLoadedAtom: import("jotai/vanilla/atom").PrimitiveAtom<boolean> & {
19
+ init: boolean;
20
+ };
21
+ export declare const useTTDChatStorage: ({ persistenceAdapter, }: UseTTDChatStorageProps) => UseTTDChatStorageReturn;
22
+ export {};
@@ -0,0 +1,24 @@
1
+ import type { LLMMessage, TTTDDialog } from "@excalidraw/excalidraw/components/TTDDialog/types";
2
+ interface StreamingOptions {
3
+ url: string;
4
+ messages: readonly LLMMessage[];
5
+ onChunk?: (chunk: string) => void;
6
+ extractRateLimits?: boolean;
7
+ signal?: AbortSignal;
8
+ onStreamCreated?: () => void;
9
+ }
10
+ export type StreamChunk = {
11
+ type: "content";
12
+ delta: string;
13
+ } | {
14
+ type: "done";
15
+ finishReason: "stop" | "length" | "content_filter" | "tool_calls" | null;
16
+ } | {
17
+ type: "error";
18
+ error: {
19
+ message: string;
20
+ status?: number;
21
+ };
22
+ };
23
+ export declare function TTDStreamFetch(options: StreamingOptions): Promise<TTTDDialog.OnTextSubmitRetValue>;
24
+ 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,10 @@
1
+ export declare const isMermaidParseSyntaxError: (message: string) => boolean;
2
+ export declare const isMermaidAutoFixableError: (message: string) => boolean;
3
+ export declare const isMermaidCaretLine: (line: string) => boolean;
4
+ export declare const getMermaidInactiveParticipant: (message: string) => string | null;
5
+ export declare const getMermaidErrorLineNumber: (message: string, sourceText?: string) => number | null;
6
+ export declare const getMermaidSyntaxErrorGuidance: (message: string, sourceText?: string) => {
7
+ summary: string;
8
+ likelyCauses: string[];
9
+ } | null;
10
+ export declare const formatMermaidParseErrorMessage: (message: string) => string;
@@ -0,0 +1 @@
1
+ export declare const isValidMermaidSyntax: (content: string) => boolean;
@@ -3,7 +3,7 @@ import type { CSSProperties } from "react";
3
3
  export declare const Toast: ({ message, onClose, closable, duration, style, }: {
4
4
  message: string;
5
5
  onClose: () => void;
6
- closable?: boolean | undefined;
7
- duration?: number | undefined;
8
- style?: CSSProperties | undefined;
6
+ closable?: boolean;
7
+ duration?: number;
8
+ style?: CSSProperties;
9
9
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
2
  import type { TranslationKeys } from "../i18n";
3
3
  declare const Trans: ({ i18nKey, children, ...props }: {
4
- [key: string]: React.ReactNode | ((el: React.ReactNode) => React.ReactNode);
5
4
  i18nKey: TranslationKeys;
5
+ [key: string]: React.ReactNode | ((el: React.ReactNode) => React.ReactNode);
6
6
  }) => React.FunctionComponentElement<{
7
- children?: React.ReactNode;
7
+ children?: React.ReactNode | undefined;
8
8
  }>;
9
9
  export default Trans;
@@ -1,81 +1,69 @@
1
1
  import React from "react";
2
2
  import "./DropdownMenu.scss";
3
3
  declare const DropdownMenu: {
4
- ({ children, open, placement, }: {
4
+ ({ children, open, }: {
5
5
  children?: React.ReactNode;
6
6
  open: boolean;
7
- placement?: "top" | "bottom" | undefined;
8
7
  }): import("react/jsx-runtime").JSX.Element;
9
8
  Trigger: {
10
9
  ({ className, children, onToggle, title, ...rest }: {
11
- className?: string | undefined;
10
+ className?: string;
12
11
  children: React.ReactNode;
13
12
  onToggle: () => void;
14
- title?: string | undefined;
13
+ title?: string;
15
14
  } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onSelect">): import("react/jsx-runtime").JSX.Element;
16
15
  displayName: string;
17
16
  };
18
17
  Content: {
19
- ({ children, onClickOutside, className, onSelect, style, placement, }: {
18
+ ({ children, onClickOutside, className, onSelect, open, align, style, }: {
20
19
  children?: React.ReactNode;
21
- onClickOutside?: (() => void) | undefined;
22
- className?: string | undefined;
23
- onSelect?: ((event: Event) => void) | undefined;
24
- style?: React.CSSProperties | undefined;
25
- placement?: "top" | "bottom" | undefined;
20
+ onClickOutside?: () => void;
21
+ className?: string;
22
+ onSelect?: (event: Event) => void;
23
+ open?: boolean;
24
+ style?: React.CSSProperties;
25
+ align?: "start" | "center" | "end";
26
26
  }): import("react/jsx-runtime").JSX.Element;
27
27
  displayName: string;
28
28
  };
29
29
  Item: {
30
- ({ icon, value, order, children, shortcut, className, hovered, selected, textStyle, onSelect, onClick, ...rest }: {
31
- icon?: React.JSX.Element | undefined;
32
- value?: string | number | undefined;
33
- order?: number | undefined;
34
- onSelect?: ((event: Event) => void) | undefined;
35
- children: React.ReactNode;
36
- shortcut?: string | undefined;
37
- hovered?: boolean | undefined;
38
- selected?: boolean | undefined;
39
- textStyle?: React.CSSProperties | undefined;
40
- className?: string | undefined;
41
- } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onSelect">): import("react/jsx-runtime").JSX.Element;
30
+ ({ icon, badge, value, children, shortcut, className, selected, onSelect, ...rest }: import("./DropdownMenuItem").DropdownMenuItemProps): import("react/jsx-runtime").JSX.Element;
42
31
  displayName: string;
43
32
  Badge: {
44
33
  ({ type, children, }: {
45
- type?: import("../../../common/src/utility-types").ValueOf<{
46
- readonly GREEN: "green";
47
- readonly RED: "red";
48
- readonly BLUE: "blue";
49
- }> | undefined;
34
+ type?: import("@excalidraw/common/utility-types").ValueOf<typeof import("./DropdownMenuItem").DropDownMenuItemBadgeType>;
50
35
  children: React.ReactNode;
51
36
  }): import("react/jsx-runtime").JSX.Element;
52
37
  displayName: string;
53
38
  };
54
39
  };
40
+ ItemCheckbox: (props: Omit<import("./DropdownMenuItem").DropdownMenuItemProps, "icon"> & {
41
+ checked: boolean;
42
+ }) => import("react/jsx-runtime").JSX.Element;
55
43
  ItemLink: {
56
44
  ({ icon, shortcut, href, children, onSelect, className, selected, rel, ...rest }: {
57
45
  href: string;
58
- icon?: React.JSX.Element | undefined;
46
+ icon?: React.JSX.Element;
59
47
  children: React.ReactNode;
60
- shortcut?: string | undefined;
61
- className?: string | undefined;
62
- selected?: boolean | undefined;
63
- onSelect?: ((event: Event) => void) | undefined;
64
- rel?: string | undefined;
48
+ shortcut?: string;
49
+ className?: string;
50
+ selected?: boolean;
51
+ onSelect?: (event: Event) => void;
52
+ rel?: string;
65
53
  } & React.AnchorHTMLAttributes<HTMLAnchorElement>): import("react/jsx-runtime").JSX.Element;
66
54
  displayName: string;
67
55
  };
68
56
  ItemCustom: ({ children, className, selected, ...rest }: {
69
57
  children: React.ReactNode;
70
- className?: string | undefined;
71
- selected?: boolean | undefined;
58
+ className?: string;
59
+ selected?: boolean;
72
60
  } & React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
73
61
  Group: {
74
62
  ({ children, className, style, title, }: {
75
63
  children: React.ReactNode;
76
- className?: string | undefined;
77
- style?: React.CSSProperties | undefined;
78
- title?: string | undefined;
64
+ className?: string;
65
+ style?: React.CSSProperties;
66
+ title?: string;
79
67
  }): import("react/jsx-runtime").JSX.Element;
80
68
  displayName: string;
81
69
  };
@@ -83,6 +71,28 @@ declare const DropdownMenu: {
83
71
  (): import("react/jsx-runtime").JSX.Element;
84
72
  displayName: string;
85
73
  };
74
+ Sub: {
75
+ ({ children }: {
76
+ children?: React.ReactNode;
77
+ }): import("react/jsx-runtime").JSX.Element;
78
+ Trigger: {
79
+ ({ children, icon, shortcut, className, }: {
80
+ children: React.ReactNode;
81
+ icon?: React.JSX.Element;
82
+ shortcut?: string;
83
+ className?: string;
84
+ }): import("react/jsx-runtime").JSX.Element;
85
+ displayName: string;
86
+ };
87
+ Content: {
88
+ ({ children, className, }: {
89
+ children?: React.ReactNode;
90
+ className?: string;
91
+ }): import("react/jsx-runtime").JSX.Element;
92
+ displayName: string;
93
+ };
94
+ displayName: string;
95
+ };
86
96
  displayName: string;
87
97
  };
88
98
  export default DropdownMenu;
@@ -1,15 +1,16 @@
1
1
  import React from "react";
2
2
  declare const MenuContent: {
3
- ({ children, onClickOutside, className, onSelect, style, placement, }: {
3
+ ({ children, onClickOutside, className, onSelect, open, align, style, }: {
4
4
  children?: React.ReactNode;
5
- onClickOutside?: (() => void) | undefined;
6
- className?: string | undefined;
5
+ onClickOutside?: () => void;
6
+ className?: string;
7
7
  /**
8
8
  * Called when any menu item is selected (clicked on).
9
9
  */
10
- onSelect?: ((event: Event) => void) | undefined;
11
- style?: React.CSSProperties | undefined;
12
- placement?: "top" | "bottom" | undefined;
10
+ onSelect?: (event: Event) => void;
11
+ open?: boolean;
12
+ style?: React.CSSProperties;
13
+ align?: "start" | "center" | "end";
13
14
  }): import("react/jsx-runtime").JSX.Element;
14
15
  displayName: string;
15
16
  };
@@ -2,9 +2,9 @@ import React from "react";
2
2
  declare const MenuGroup: {
3
3
  ({ children, className, style, title, }: {
4
4
  children: React.ReactNode;
5
- className?: string | undefined;
6
- style?: React.CSSProperties | undefined;
7
- title?: string | undefined;
5
+ className?: string;
6
+ style?: React.CSSProperties;
7
+ title?: string;
8
8
  }): import("react/jsx-runtime").JSX.Element;
9
9
  displayName: string;
10
10
  };
@@ -1,27 +1,22 @@
1
1
  import React from "react";
2
2
  import type { ValueOf } from "@excalidraw/common/utility-types";
3
3
  import type { JSX } from "react";
4
+ export type DropdownMenuItemProps = {
5
+ icon?: JSX.Element;
6
+ badge?: React.ReactNode;
7
+ value?: string | number | undefined;
8
+ onSelect?: (event: Event) => void;
9
+ children: React.ReactNode;
10
+ shortcut?: string;
11
+ selected?: boolean;
12
+ className?: string;
13
+ } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onSelect">;
4
14
  declare const DropdownMenuItem: {
5
- ({ icon, value, order, children, shortcut, className, hovered, selected, textStyle, onSelect, onClick, ...rest }: {
6
- icon?: JSX.Element | undefined;
7
- value?: string | number | undefined;
8
- order?: number | undefined;
9
- onSelect?: ((event: Event) => void) | undefined;
10
- children: React.ReactNode;
11
- shortcut?: string | undefined;
12
- hovered?: boolean | undefined;
13
- selected?: boolean | undefined;
14
- textStyle?: React.CSSProperties | undefined;
15
- className?: string | undefined;
16
- } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onSelect">): import("react/jsx-runtime").JSX.Element;
15
+ ({ icon, badge, value, children, shortcut, className, selected, onSelect, ...rest }: DropdownMenuItemProps): import("react/jsx-runtime").JSX.Element;
17
16
  displayName: string;
18
17
  Badge: {
19
18
  ({ type, children, }: {
20
- type?: ValueOf<{
21
- readonly GREEN: "green";
22
- readonly RED: "red";
23
- readonly BLUE: "blue";
24
- }> | undefined;
19
+ type?: ValueOf<typeof DropDownMenuItemBadgeType>;
25
20
  children: React.ReactNode;
26
21
  }): import("react/jsx-runtime").JSX.Element;
27
22
  displayName: string;
@@ -34,11 +29,7 @@ export declare const DropDownMenuItemBadgeType: {
34
29
  };
35
30
  export declare const DropDownMenuItemBadge: {
36
31
  ({ type, children, }: {
37
- type?: ValueOf<{
38
- readonly GREEN: "green";
39
- readonly RED: "red";
40
- readonly BLUE: "blue";
41
- }> | undefined;
32
+ type?: ValueOf<typeof DropDownMenuItemBadgeType>;
42
33
  children: React.ReactNode;
43
34
  }): import("react/jsx-runtime").JSX.Element;
44
35
  displayName: string;
@@ -0,0 +1,5 @@
1
+ import type { DropdownMenuItemProps } from "./DropdownMenuItem";
2
+ declare const DropdownMenuItemCheckbox: (props: Omit<DropdownMenuItemProps, "icon"> & {
3
+ checked: boolean;
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ export default DropdownMenuItemCheckbox;
@@ -1,8 +1,9 @@
1
1
  import type { JSX } from "react";
2
- declare const MenuItemContent: ({ textStyle, icon, shortcut, children, }: {
3
- icon?: JSX.Element | undefined;
4
- shortcut?: string | undefined;
5
- textStyle?: import("react").CSSProperties | undefined;
2
+ declare const MenuItemContent: ({ textStyle, icon, shortcut, children, badge, }: {
3
+ icon?: JSX.Element;
4
+ shortcut?: string;
5
+ textStyle?: React.CSSProperties;
6
6
  children: React.ReactNode;
7
+ badge?: React.ReactNode;
7
8
  }) => import("react/jsx-runtime").JSX.Element;
8
9
  export default MenuItemContent;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  type Props<T> = {
3
2
  value: T;
4
3
  shortcut?: string;
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  declare const DropdownMenuItemCustom: ({ children, className, selected, ...rest }: {
3
3
  children: React.ReactNode;
4
- className?: string | undefined;
5
- selected?: boolean | undefined;
4
+ className?: string;
5
+ selected?: boolean;
6
6
  } & React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
7
7
  export default DropdownMenuItemCustom;
@@ -3,13 +3,13 @@ import type { JSX } from "react";
3
3
  declare const DropdownMenuItemLink: {
4
4
  ({ icon, shortcut, href, children, onSelect, className, selected, rel, ...rest }: {
5
5
  href: string;
6
- icon?: JSX.Element | undefined;
6
+ icon?: JSX.Element;
7
7
  children: React.ReactNode;
8
- shortcut?: string | undefined;
9
- className?: string | undefined;
10
- selected?: boolean | undefined;
11
- onSelect?: ((event: Event) => void) | undefined;
12
- rel?: string | undefined;
8
+ shortcut?: string;
9
+ className?: string;
10
+ selected?: boolean;
11
+ onSelect?: (event: Event) => void;
12
+ rel?: string;
13
13
  } & React.AnchorHTMLAttributes<HTMLAnchorElement>): import("react/jsx-runtime").JSX.Element;
14
14
  displayName: string;
15
15
  };
@@ -0,0 +1,23 @@
1
+ declare const DropdownMenuSub: {
2
+ ({ children }: {
3
+ children?: React.ReactNode;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ Trigger: {
6
+ ({ children, icon, shortcut, className, }: {
7
+ children: React.ReactNode;
8
+ icon?: import("react").JSX.Element;
9
+ shortcut?: string;
10
+ className?: string;
11
+ }): import("react/jsx-runtime").JSX.Element;
12
+ displayName: string;
13
+ };
14
+ Content: {
15
+ ({ children, className, }: {
16
+ children?: React.ReactNode;
17
+ className?: string;
18
+ }): import("react/jsx-runtime").JSX.Element;
19
+ displayName: string;
20
+ };
21
+ displayName: string;
22
+ };
23
+ export default DropdownMenuSub;
@@ -0,0 +1,8 @@
1
+ declare const DropdownMenuSubContent: {
2
+ ({ children, className, }: {
3
+ children?: React.ReactNode;
4
+ className?: string;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ displayName: string;
7
+ };
8
+ export default DropdownMenuSubContent;
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import type { JSX } from "react";
3
+ declare const DropdownMenuSubTrigger: {
4
+ ({ children, icon, shortcut, className, }: {
5
+ children: React.ReactNode;
6
+ icon?: JSX.Element;
7
+ shortcut?: string;
8
+ className?: string;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ displayName: string;
11
+ };
12
+ export default DropdownMenuSubTrigger;
@@ -1,11 +1,10 @@
1
- /// <reference types="react" />
2
1
  declare const MenuTrigger: {
3
2
  ({ className, children, onToggle, title, ...rest }: {
4
- className?: string | undefined;
3
+ className?: string;
5
4
  children: React.ReactNode;
6
5
  onToggle: () => void;
7
- title?: string | undefined;
8
- } & Omit<import("react").ButtonHTMLAttributes<HTMLButtonElement>, "onSelect">): import("react/jsx-runtime").JSX.Element;
6
+ title?: string;
7
+ } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onSelect">): import("react/jsx-runtime").JSX.Element;
9
8
  displayName: string;
10
9
  };
11
10
  export default MenuTrigger;
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  export declare const DropdownMenuContentPropsContext: React.Context<{
3
- onSelect?: ((event: Event) => void) | undefined;
3
+ onSelect?: (event: Event) => void;
4
4
  }>;
5
5
  export declare const getDropdownMenuItemClassName: (className?: string, selected?: boolean, hovered?: boolean) => string;
6
- export declare const useHandleDropdownMenuItemClick: (origOnClick: React.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement> | undefined, onSelect: ((event: Event) => void) | undefined) => (event: React.MouseEvent<HTMLAnchorElement | HTMLButtonElement, MouseEvent>) => void;
6
+ export declare const useHandleDropdownMenuItemSelect: (onSelect: ((event: Event) => void) | undefined) => (event: Event) => void;
@@ -1,3 +1,5 @@
1
1
  import React from "react";
2
2
  export declare const getMenuTriggerComponent: (children: React.ReactNode) => string | number | bigint | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null;
3
3
  export declare const getMenuContentComponent: (children: React.ReactNode) => string | number | bigint | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null;
4
+ export declare const getSubMenuTriggerComponent: (children: React.ReactNode) => string | number | bigint | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null;
5
+ export declare const getSubMenuContentComponent: (children: React.ReactNode) => string | number | bigint | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null;
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
2
  export declare const withInternalFallback: <P>(componentName: string, Component: React.FC<P>) => React.FC<P & {
3
- __fallback?: boolean | undefined;
3
+ __fallback?: boolean;
4
4
  }>;
@@ -1,5 +1,5 @@
1
1
  import type { GlobalPoint, Radians } from "@excalidraw/math";
2
- import type { Bounds } from "@excalidraw/element";
2
+ import type { Bounds } from "@excalidraw/common";
3
3
  import type { ElementsMap, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
4
4
  import type { AppState, UIAppState } from "../../types";
5
5
  export declare const DEFAULT_LINK_SIZE = 12;