@bendyline/squisq-editor-react 1.3.0 → 1.5.0

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 (461) hide show
  1. package/dist/DocumentSettingsDialog.d.ts +26 -0
  2. package/dist/DocumentSettingsDialog.d.ts.map +1 -0
  3. package/dist/DocumentSettingsDialog.js +115 -0
  4. package/dist/DocumentSettingsDialog.js.map +1 -0
  5. package/dist/EditorContext.d.ts +248 -4
  6. package/dist/EditorContext.d.ts.map +1 -1
  7. package/dist/EditorContext.js +248 -10
  8. package/dist/EditorContext.js.map +1 -1
  9. package/dist/EditorShell.d.ts +184 -4
  10. package/dist/EditorShell.d.ts.map +1 -1
  11. package/dist/EditorShell.js +184 -12
  12. package/dist/EditorShell.js.map +1 -1
  13. package/dist/EmojiPicker.d.ts +50 -0
  14. package/dist/EmojiPicker.d.ts.map +1 -0
  15. package/dist/EmojiPicker.js +182 -0
  16. package/dist/EmojiPicker.js.map +1 -0
  17. package/dist/ImageEditor.d.ts +68 -0
  18. package/dist/ImageEditor.d.ts.map +1 -0
  19. package/dist/ImageEditor.js +166 -0
  20. package/dist/ImageEditor.js.map +1 -0
  21. package/dist/ImageNodeView.d.ts +13 -1
  22. package/dist/ImageNodeView.d.ts.map +1 -1
  23. package/dist/ImageNodeView.js +172 -19
  24. package/dist/ImageNodeView.js.map +1 -1
  25. package/dist/ImageViewer.d.ts +26 -0
  26. package/dist/ImageViewer.d.ts.map +1 -0
  27. package/dist/ImageViewer.js +119 -0
  28. package/dist/ImageViewer.js.map +1 -0
  29. package/dist/InlineIcon.d.ts +17 -0
  30. package/dist/InlineIcon.d.ts.map +1 -0
  31. package/dist/InlineIcon.js +72 -0
  32. package/dist/InlineIcon.js.map +1 -0
  33. package/dist/InlinePreviewGutter.d.ts +52 -0
  34. package/dist/InlinePreviewGutter.d.ts.map +1 -0
  35. package/dist/InlinePreviewGutter.js +397 -0
  36. package/dist/InlinePreviewGutter.js.map +1 -0
  37. package/dist/LinkDialog.d.ts +43 -0
  38. package/dist/LinkDialog.d.ts.map +1 -0
  39. package/dist/LinkDialog.js +102 -0
  40. package/dist/LinkDialog.js.map +1 -0
  41. package/dist/MediaBin.d.ts +12 -1
  42. package/dist/MediaBin.d.ts.map +1 -1
  43. package/dist/MediaBin.js +13 -3
  44. package/dist/MediaBin.js.map +1 -1
  45. package/dist/MentionExtension.js +10 -7
  46. package/dist/MentionExtension.js.map +1 -1
  47. package/dist/OutlinePanel.d.ts +17 -0
  48. package/dist/OutlinePanel.d.ts.map +1 -0
  49. package/dist/OutlinePanel.js +167 -0
  50. package/dist/OutlinePanel.js.map +1 -0
  51. package/dist/PlainHtmlPreview.d.ts +50 -0
  52. package/dist/PlainHtmlPreview.d.ts.map +1 -0
  53. package/dist/PlainHtmlPreview.js +155 -0
  54. package/dist/PlainHtmlPreview.js.map +1 -0
  55. package/dist/PreviewControls.d.ts +15 -1
  56. package/dist/PreviewControls.d.ts.map +1 -1
  57. package/dist/PreviewControls.js +75 -18
  58. package/dist/PreviewControls.js.map +1 -1
  59. package/dist/PreviewPanel.d.ts +11 -10
  60. package/dist/PreviewPanel.d.ts.map +1 -1
  61. package/dist/PreviewPanel.js +20 -17
  62. package/dist/PreviewPanel.js.map +1 -1
  63. package/dist/RawEditor.d.ts.map +1 -1
  64. package/dist/RawEditor.js +198 -4
  65. package/dist/RawEditor.js.map +1 -1
  66. package/dist/RecorderEntry.d.ts +24 -0
  67. package/dist/RecorderEntry.d.ts.map +1 -0
  68. package/dist/RecorderEntry.js +139 -0
  69. package/dist/RecorderEntry.js.map +1 -0
  70. package/dist/TemplateAnnotation.d.ts.map +1 -1
  71. package/dist/TemplateAnnotation.js +32 -6
  72. package/dist/TemplateAnnotation.js.map +1 -1
  73. package/dist/TemplatePicker.d.ts +53 -0
  74. package/dist/TemplatePicker.d.ts.map +1 -0
  75. package/dist/TemplatePicker.js +388 -0
  76. package/dist/TemplatePicker.js.map +1 -0
  77. package/dist/ThemeCustomizerPanel.d.ts +32 -0
  78. package/dist/ThemeCustomizerPanel.d.ts.map +1 -0
  79. package/dist/ThemeCustomizerPanel.js +256 -0
  80. package/dist/ThemeCustomizerPanel.js.map +1 -0
  81. package/dist/ThemePicker.d.ts +33 -0
  82. package/dist/ThemePicker.d.ts.map +1 -0
  83. package/dist/ThemePicker.js +148 -0
  84. package/dist/ThemePicker.js.map +1 -0
  85. package/dist/Toolbar.d.ts.map +1 -1
  86. package/dist/Toolbar.js +508 -33
  87. package/dist/Toolbar.js.map +1 -1
  88. package/dist/VersionHistoryPanel.d.ts +14 -0
  89. package/dist/VersionHistoryPanel.d.ts.map +1 -0
  90. package/dist/VersionHistoryPanel.js +147 -0
  91. package/dist/VersionHistoryPanel.js.map +1 -0
  92. package/dist/ViewMenuPanel.d.ts +13 -0
  93. package/dist/ViewMenuPanel.d.ts.map +1 -0
  94. package/dist/ViewMenuPanel.js +58 -0
  95. package/dist/ViewMenuPanel.js.map +1 -0
  96. package/dist/WysiwygEditor.d.ts.map +1 -1
  97. package/dist/WysiwygEditor.js +198 -9
  98. package/dist/WysiwygEditor.js.map +1 -1
  99. package/dist/__tests__/detectMarkdown.test.js +0 -14
  100. package/dist/__tests__/detectMarkdown.test.js.map +1 -1
  101. package/dist/__tests__/documentSettingsDialog.test.d.ts +2 -0
  102. package/dist/__tests__/documentSettingsDialog.test.d.ts.map +1 -0
  103. package/dist/__tests__/documentSettingsDialog.test.js +132 -0
  104. package/dist/__tests__/documentSettingsDialog.test.js.map +1 -0
  105. package/dist/__tests__/emojiPicker.test.d.ts +2 -0
  106. package/dist/__tests__/emojiPicker.test.d.ts.map +1 -0
  107. package/dist/__tests__/emojiPicker.test.js +111 -0
  108. package/dist/__tests__/emojiPicker.test.js.map +1 -0
  109. package/dist/__tests__/fileKind.test.js +13 -0
  110. package/dist/__tests__/fileKind.test.js.map +1 -1
  111. package/dist/__tests__/imageEditAffordance.test.d.ts +2 -0
  112. package/dist/__tests__/imageEditAffordance.test.d.ts.map +1 -0
  113. package/dist/__tests__/imageEditAffordance.test.js +188 -0
  114. package/dist/__tests__/imageEditAffordance.test.js.map +1 -0
  115. package/dist/__tests__/imageEditorShell.test.d.ts +2 -0
  116. package/dist/__tests__/imageEditorShell.test.d.ts.map +1 -0
  117. package/dist/__tests__/imageEditorShell.test.js +52 -0
  118. package/dist/__tests__/imageEditorShell.test.js.map +1 -0
  119. package/dist/__tests__/imageEditorState.test.d.ts +3 -0
  120. package/dist/__tests__/imageEditorState.test.d.ts.map +1 -0
  121. package/dist/__tests__/imageEditorState.test.js +148 -0
  122. package/dist/__tests__/imageEditorState.test.js.map +1 -0
  123. package/dist/__tests__/inlinePreviewGutter.test.d.ts +2 -0
  124. package/dist/__tests__/inlinePreviewGutter.test.d.ts.map +1 -0
  125. package/dist/__tests__/inlinePreviewGutter.test.js +51 -0
  126. package/dist/__tests__/inlinePreviewGutter.test.js.map +1 -0
  127. package/dist/__tests__/inlinePreviewGutterAllBlocks.test.d.ts +2 -0
  128. package/dist/__tests__/inlinePreviewGutterAllBlocks.test.d.ts.map +1 -0
  129. package/dist/__tests__/inlinePreviewGutterAllBlocks.test.js +63 -0
  130. package/dist/__tests__/inlinePreviewGutterAllBlocks.test.js.map +1 -0
  131. package/dist/__tests__/jsonEditor.test.d.ts +2 -0
  132. package/dist/__tests__/jsonEditor.test.d.ts.map +1 -0
  133. package/dist/__tests__/jsonEditor.test.js +134 -0
  134. package/dist/__tests__/jsonEditor.test.js.map +1 -0
  135. package/dist/__tests__/layersPanel.test.d.ts +2 -0
  136. package/dist/__tests__/layersPanel.test.d.ts.map +1 -0
  137. package/dist/__tests__/layersPanel.test.js +84 -0
  138. package/dist/__tests__/layersPanel.test.js.map +1 -0
  139. package/dist/__tests__/linkDialogDocPicker.test.d.ts +7 -0
  140. package/dist/__tests__/linkDialogDocPicker.test.d.ts.map +1 -0
  141. package/dist/__tests__/linkDialogDocPicker.test.js +75 -0
  142. package/dist/__tests__/linkDialogDocPicker.test.js.map +1 -0
  143. package/dist/__tests__/mediaAttachmentFlow.test.d.ts +2 -0
  144. package/dist/__tests__/mediaAttachmentFlow.test.d.ts.map +1 -0
  145. package/dist/__tests__/mediaAttachmentFlow.test.js +99 -0
  146. package/dist/__tests__/mediaAttachmentFlow.test.js.map +1 -0
  147. package/dist/__tests__/outlinePanel.test.d.ts +2 -0
  148. package/dist/__tests__/outlinePanel.test.d.ts.map +1 -0
  149. package/dist/__tests__/outlinePanel.test.js +68 -0
  150. package/dist/__tests__/outlinePanel.test.js.map +1 -0
  151. package/dist/__tests__/plainHtmlPreview.test.d.ts +2 -0
  152. package/dist/__tests__/plainHtmlPreview.test.d.ts.map +1 -0
  153. package/dist/__tests__/plainHtmlPreview.test.js +87 -0
  154. package/dist/__tests__/plainHtmlPreview.test.js.map +1 -0
  155. package/dist/__tests__/propertiesPanel.test.d.ts +2 -0
  156. package/dist/__tests__/propertiesPanel.test.d.ts.map +1 -0
  157. package/dist/__tests__/propertiesPanel.test.js +64 -0
  158. package/dist/__tests__/propertiesPanel.test.js.map +1 -0
  159. package/dist/__tests__/recorderFormats.test.d.ts +2 -0
  160. package/dist/__tests__/recorderFormats.test.d.ts.map +1 -0
  161. package/dist/__tests__/recorderFormats.test.js +121 -0
  162. package/dist/__tests__/recorderFormats.test.js.map +1 -0
  163. package/dist/__tests__/recorderTimingJson.test.d.ts +2 -0
  164. package/dist/__tests__/recorderTimingJson.test.d.ts.map +1 -0
  165. package/dist/__tests__/recorderTimingJson.test.js +37 -0
  166. package/dist/__tests__/recorderTimingJson.test.js.map +1 -0
  167. package/dist/__tests__/templateAnnotationRoundTrip.test.d.ts +2 -0
  168. package/dist/__tests__/templateAnnotationRoundTrip.test.d.ts.map +1 -0
  169. package/dist/__tests__/templateAnnotationRoundTrip.test.js +31 -0
  170. package/dist/__tests__/templateAnnotationRoundTrip.test.js.map +1 -0
  171. package/dist/__tests__/tiptapBridge.test.js +26 -0
  172. package/dist/__tests__/tiptapBridge.test.js.map +1 -1
  173. package/dist/__tests__/tiptapImageRoundTrip.test.d.ts +2 -0
  174. package/dist/__tests__/tiptapImageRoundTrip.test.d.ts.map +1 -0
  175. package/dist/__tests__/tiptapImageRoundTrip.test.js +68 -0
  176. package/dist/__tests__/tiptapImageRoundTrip.test.js.map +1 -0
  177. package/dist/__tests__/useImageEditor.test.d.ts +2 -0
  178. package/dist/__tests__/useImageEditor.test.d.ts.map +1 -0
  179. package/dist/__tests__/useImageEditor.test.js +131 -0
  180. package/dist/__tests__/useImageEditor.test.js.map +1 -0
  181. package/dist/__tests__/useMediaRecorder.test.d.ts +2 -0
  182. package/dist/__tests__/useMediaRecorder.test.d.ts.map +1 -0
  183. package/dist/__tests__/useMediaRecorder.test.js +153 -0
  184. package/dist/__tests__/useMediaRecorder.test.js.map +1 -0
  185. package/dist/__tests__/versionHistory.test.d.ts +2 -0
  186. package/dist/__tests__/versionHistory.test.d.ts.map +1 -0
  187. package/dist/__tests__/versionHistory.test.js +124 -0
  188. package/dist/__tests__/versionHistory.test.js.map +1 -0
  189. package/dist/blockSlice.d.ts +24 -0
  190. package/dist/blockSlice.d.ts.map +1 -0
  191. package/dist/blockSlice.js +63 -0
  192. package/dist/blockSlice.js.map +1 -0
  193. package/dist/buildPreviewDoc.d.ts.map +1 -1
  194. package/dist/buildPreviewDoc.js +52 -2
  195. package/dist/buildPreviewDoc.js.map +1 -1
  196. package/dist/emojiData.d.ts +81 -0
  197. package/dist/emojiData.d.ts.map +1 -0
  198. package/dist/emojiData.js +1283 -0
  199. package/dist/emojiData.js.map +1 -0
  200. package/dist/fileKind.d.ts +6 -2
  201. package/dist/fileKind.d.ts.map +1 -1
  202. package/dist/fileKind.js +25 -4
  203. package/dist/fileKind.js.map +1 -1
  204. package/dist/hooks/useFileDrop.d.ts.map +1 -1
  205. package/dist/hooks/useFileDrop.js +40 -4
  206. package/dist/hooks/useFileDrop.js.map +1 -1
  207. package/dist/imageEditor/CanvasSurface.d.ts +31 -0
  208. package/dist/imageEditor/CanvasSurface.d.ts.map +1 -0
  209. package/dist/imageEditor/CanvasSurface.js +264 -0
  210. package/dist/imageEditor/CanvasSurface.js.map +1 -0
  211. package/dist/imageEditor/ImageVersionHistoryDropdown.d.ts +39 -0
  212. package/dist/imageEditor/ImageVersionHistoryDropdown.d.ts.map +1 -0
  213. package/dist/imageEditor/ImageVersionHistoryDropdown.js +283 -0
  214. package/dist/imageEditor/ImageVersionHistoryDropdown.js.map +1 -0
  215. package/dist/imageEditor/LayersPanel.d.ts +14 -0
  216. package/dist/imageEditor/LayersPanel.d.ts.map +1 -0
  217. package/dist/imageEditor/LayersPanel.js +43 -0
  218. package/dist/imageEditor/LayersPanel.js.map +1 -0
  219. package/dist/imageEditor/PropertiesPanel.d.ts +14 -0
  220. package/dist/imageEditor/PropertiesPanel.d.ts.map +1 -0
  221. package/dist/imageEditor/PropertiesPanel.js +97 -0
  222. package/dist/imageEditor/PropertiesPanel.js.map +1 -0
  223. package/dist/imageEditor/Toolbar.d.ts +30 -0
  224. package/dist/imageEditor/Toolbar.d.ts.map +1 -0
  225. package/dist/imageEditor/Toolbar.js +108 -0
  226. package/dist/imageEditor/Toolbar.js.map +1 -0
  227. package/dist/imageEditor/icons.d.ts +24 -0
  228. package/dist/imageEditor/icons.d.ts.map +1 -0
  229. package/dist/imageEditor/icons.js +45 -0
  230. package/dist/imageEditor/icons.js.map +1 -0
  231. package/dist/imageEditor/layers/EditorImageLayer.d.ts +16 -0
  232. package/dist/imageEditor/layers/EditorImageLayer.d.ts.map +1 -0
  233. package/dist/imageEditor/layers/EditorImageLayer.js +37 -0
  234. package/dist/imageEditor/layers/EditorImageLayer.js.map +1 -0
  235. package/dist/imageEditor/layers/EditorShapeLayer.d.ts +15 -0
  236. package/dist/imageEditor/layers/EditorShapeLayer.d.ts.map +1 -0
  237. package/dist/imageEditor/layers/EditorShapeLayer.js +20 -0
  238. package/dist/imageEditor/layers/EditorShapeLayer.js.map +1 -0
  239. package/dist/imageEditor/layers/EditorTextLayer.d.ts +18 -0
  240. package/dist/imageEditor/layers/EditorTextLayer.d.ts.map +1 -0
  241. package/dist/imageEditor/layers/EditorTextLayer.js +13 -0
  242. package/dist/imageEditor/layers/EditorTextLayer.js.map +1 -0
  243. package/dist/imageEditor/layers/SelectionHandles.d.ts +17 -0
  244. package/dist/imageEditor/layers/SelectionHandles.d.ts.map +1 -0
  245. package/dist/imageEditor/layers/SelectionHandles.js +19 -0
  246. package/dist/imageEditor/layers/SelectionHandles.js.map +1 -0
  247. package/dist/imageEditor/state.d.ts +76 -0
  248. package/dist/imageEditor/state.d.ts.map +1 -0
  249. package/dist/imageEditor/state.js +87 -0
  250. package/dist/imageEditor/state.js.map +1 -0
  251. package/dist/imageEditor/useImageEditor.d.ts +53 -0
  252. package/dist/imageEditor/useImageEditor.d.ts.map +1 -0
  253. package/dist/imageEditor/useImageEditor.js +244 -0
  254. package/dist/imageEditor/useImageEditor.js.map +1 -0
  255. package/dist/imageEditor/useImageEditorTokens.d.ts +16 -0
  256. package/dist/imageEditor/useImageEditorTokens.d.ts.map +1 -0
  257. package/dist/imageEditor/useImageEditorTokens.js +45 -0
  258. package/dist/imageEditor/useImageEditorTokens.js.map +1 -0
  259. package/dist/index.d.ts +48 -1
  260. package/dist/index.d.ts.map +1 -1
  261. package/dist/index.js +36 -0
  262. package/dist/index.js.map +1 -1
  263. package/dist/jsonEditor/EmbeddedRichTextField.d.ts +15 -0
  264. package/dist/jsonEditor/EmbeddedRichTextField.d.ts.map +1 -0
  265. package/dist/jsonEditor/EmbeddedRichTextField.js +74 -0
  266. package/dist/jsonEditor/EmbeddedRichTextField.js.map +1 -0
  267. package/dist/jsonEditor/JsonEditor.d.ts +36 -0
  268. package/dist/jsonEditor/JsonEditor.d.ts.map +1 -0
  269. package/dist/jsonEditor/JsonEditor.js +15 -0
  270. package/dist/jsonEditor/JsonEditor.js.map +1 -0
  271. package/dist/jsonEditor/JsonEditorContext.d.ts +28 -0
  272. package/dist/jsonEditor/JsonEditorContext.d.ts.map +1 -0
  273. package/dist/jsonEditor/JsonEditorContext.js +41 -0
  274. package/dist/jsonEditor/JsonEditorContext.js.map +1 -0
  275. package/dist/jsonEditor/RenderNode.d.ts +16 -0
  276. package/dist/jsonEditor/RenderNode.d.ts.map +1 -0
  277. package/dist/jsonEditor/RenderNode.js +32 -0
  278. package/dist/jsonEditor/RenderNode.js.map +1 -0
  279. package/dist/jsonEditor/editors.d.ts +36 -0
  280. package/dist/jsonEditor/editors.d.ts.map +1 -0
  281. package/dist/jsonEditor/editors.js +347 -0
  282. package/dist/jsonEditor/editors.js.map +1 -0
  283. package/dist/jsonEditor/index.d.ts +3 -0
  284. package/dist/jsonEditor/index.d.ts.map +1 -0
  285. package/dist/jsonEditor/index.js +2 -0
  286. package/dist/jsonEditor/index.js.map +1 -0
  287. package/dist/jsonEditor/useJsonEditorTokens.d.ts +13 -0
  288. package/dist/jsonEditor/useJsonEditorTokens.d.ts.map +1 -0
  289. package/dist/jsonEditor/useJsonEditorTokens.js +38 -0
  290. package/dist/jsonEditor/useJsonEditorTokens.js.map +1 -0
  291. package/dist/recorder/RecorderButton.d.ts +31 -0
  292. package/dist/recorder/RecorderButton.d.ts.map +1 -0
  293. package/dist/recorder/RecorderButton.js +24 -0
  294. package/dist/recorder/RecorderButton.js.map +1 -0
  295. package/dist/recorder/RecorderModal.d.ts +59 -0
  296. package/dist/recorder/RecorderModal.d.ts.map +1 -0
  297. package/dist/recorder/RecorderModal.js +333 -0
  298. package/dist/recorder/RecorderModal.js.map +1 -0
  299. package/dist/recorder/RecorderPanel.d.ts +25 -0
  300. package/dist/recorder/RecorderPanel.d.ts.map +1 -0
  301. package/dist/recorder/RecorderPanel.js +30 -0
  302. package/dist/recorder/RecorderPanel.js.map +1 -0
  303. package/dist/recorder/formats.d.ts +51 -0
  304. package/dist/recorder/formats.d.ts.map +1 -0
  305. package/dist/recorder/formats.js +144 -0
  306. package/dist/recorder/formats.js.map +1 -0
  307. package/dist/recorder/hooks/useMediaRecorder.d.ts +90 -0
  308. package/dist/recorder/hooks/useMediaRecorder.d.ts.map +1 -0
  309. package/dist/recorder/hooks/useMediaRecorder.js +277 -0
  310. package/dist/recorder/hooks/useMediaRecorder.js.map +1 -0
  311. package/dist/recorder/hooks/useStreamPreview.d.ts +22 -0
  312. package/dist/recorder/hooks/useStreamPreview.d.ts.map +1 -0
  313. package/dist/recorder/hooks/useStreamPreview.js +44 -0
  314. package/dist/recorder/hooks/useStreamPreview.js.map +1 -0
  315. package/dist/recorder/sources/cameraStream.d.ts +22 -0
  316. package/dist/recorder/sources/cameraStream.d.ts.map +1 -0
  317. package/dist/recorder/sources/cameraStream.js +24 -0
  318. package/dist/recorder/sources/cameraStream.js.map +1 -0
  319. package/dist/recorder/sources/micStream.d.ts +15 -0
  320. package/dist/recorder/sources/micStream.d.ts.map +1 -0
  321. package/dist/recorder/sources/micStream.js +24 -0
  322. package/dist/recorder/sources/micStream.js.map +1 -0
  323. package/dist/recorder/sources/screenStream.d.ts +53 -0
  324. package/dist/recorder/sources/screenStream.d.ts.map +1 -0
  325. package/dist/recorder/sources/screenStream.js +114 -0
  326. package/dist/recorder/sources/screenStream.js.map +1 -0
  327. package/dist/recorder/timingJson.d.ts +51 -0
  328. package/dist/recorder/timingJson.d.ts.map +1 -0
  329. package/dist/recorder/timingJson.js +42 -0
  330. package/dist/recorder/timingJson.js.map +1 -0
  331. package/dist/tiptap/TiptapAudio.d.ts +26 -0
  332. package/dist/tiptap/TiptapAudio.d.ts.map +1 -0
  333. package/dist/tiptap/TiptapAudio.js +58 -0
  334. package/dist/tiptap/TiptapAudio.js.map +1 -0
  335. package/dist/tiptap/TiptapVideo.d.ts +30 -0
  336. package/dist/tiptap/TiptapVideo.d.ts.map +1 -0
  337. package/dist/tiptap/TiptapVideo.js +66 -0
  338. package/dist/tiptap/TiptapVideo.js.map +1 -0
  339. package/dist/tiptap/useResolvedMediaSrc.d.ts +2 -0
  340. package/dist/tiptap/useResolvedMediaSrc.d.ts.map +1 -0
  341. package/dist/tiptap/useResolvedMediaSrc.js +42 -0
  342. package/dist/tiptap/useResolvedMediaSrc.js.map +1 -0
  343. package/dist/tiptapBridge.d.ts.map +1 -1
  344. package/dist/tiptapBridge.js +210 -16
  345. package/dist/tiptapBridge.js.map +1 -1
  346. package/dist/useHeadingLayout.d.ts +54 -0
  347. package/dist/useHeadingLayout.d.ts.map +1 -0
  348. package/dist/useHeadingLayout.js +260 -0
  349. package/dist/useHeadingLayout.js.map +1 -0
  350. package/dist/utils/collectInlineFontAwesomeCss.d.ts +21 -0
  351. package/dist/utils/collectInlineFontAwesomeCss.d.ts.map +1 -0
  352. package/dist/utils/collectInlineFontAwesomeCss.js +68 -0
  353. package/dist/utils/collectInlineFontAwesomeCss.js.map +1 -0
  354. package/dist/utils/dropUtils.d.ts +21 -2
  355. package/dist/utils/dropUtils.d.ts.map +1 -1
  356. package/dist/utils/dropUtils.js +43 -4
  357. package/dist/utils/dropUtils.js.map +1 -1
  358. package/dist/utils/normalizeMalformedAssetUrl.d.ts +15 -0
  359. package/dist/utils/normalizeMalformedAssetUrl.d.ts.map +1 -0
  360. package/dist/utils/normalizeMalformedAssetUrl.js +27 -0
  361. package/dist/utils/normalizeMalformedAssetUrl.js.map +1 -0
  362. package/package.json +8 -5
  363. package/src/DocumentSettingsDialog.tsx +266 -0
  364. package/src/EditorContext.tsx +534 -10
  365. package/src/EditorShell.tsx +691 -63
  366. package/src/EmojiPicker.tsx +332 -0
  367. package/src/ImageEditor.tsx +327 -0
  368. package/src/ImageNodeView.tsx +222 -21
  369. package/src/ImageViewer.tsx +221 -0
  370. package/src/InlineIcon.ts +84 -0
  371. package/src/InlinePreviewGutter.tsx +582 -0
  372. package/src/LinkDialog.tsx +276 -0
  373. package/src/MediaBin.tsx +22 -3
  374. package/src/MentionExtension.tsx +10 -7
  375. package/src/OutlinePanel.tsx +295 -0
  376. package/src/PlainHtmlPreview.tsx +211 -0
  377. package/src/PreviewControls.tsx +130 -24
  378. package/src/PreviewPanel.tsx +38 -21
  379. package/src/RawEditor.tsx +215 -4
  380. package/src/RecorderEntry.tsx +164 -0
  381. package/src/TemplateAnnotation.ts +32 -6
  382. package/src/TemplatePicker.tsx +818 -0
  383. package/src/ThemeCustomizerPanel.tsx +595 -0
  384. package/src/ThemePicker.tsx +319 -0
  385. package/src/Toolbar.tsx +708 -111
  386. package/src/VersionHistoryPanel.tsx +329 -0
  387. package/src/ViewMenuPanel.tsx +188 -0
  388. package/src/WysiwygEditor.tsx +229 -9
  389. package/src/__tests__/detectMarkdown.test.ts +0 -15
  390. package/src/__tests__/documentSettingsDialog.test.tsx +147 -0
  391. package/src/__tests__/emojiPicker.test.tsx +133 -0
  392. package/src/__tests__/fileKind.test.ts +16 -0
  393. package/src/__tests__/imageEditAffordance.test.tsx +268 -0
  394. package/src/__tests__/imageEditorShell.test.tsx +57 -0
  395. package/src/__tests__/imageEditorState.test.ts +171 -0
  396. package/src/__tests__/inlinePreviewGutter.test.tsx +62 -0
  397. package/src/__tests__/inlinePreviewGutterAllBlocks.test.tsx +103 -0
  398. package/src/__tests__/jsonEditor.test.tsx +168 -0
  399. package/src/__tests__/layersPanel.test.tsx +97 -0
  400. package/src/__tests__/linkDialogDocPicker.test.tsx +137 -0
  401. package/src/__tests__/mediaAttachmentFlow.test.ts +110 -0
  402. package/src/__tests__/outlinePanel.test.tsx +79 -0
  403. package/src/__tests__/plainHtmlPreview.test.tsx +107 -0
  404. package/src/__tests__/propertiesPanel.test.tsx +69 -0
  405. package/src/__tests__/recorderFormats.test.ts +146 -0
  406. package/src/__tests__/recorderTimingJson.test.ts +41 -0
  407. package/src/__tests__/templateAnnotationRoundTrip.test.ts +34 -0
  408. package/src/__tests__/tiptapBridge.test.ts +29 -0
  409. package/src/__tests__/tiptapImageRoundTrip.test.ts +73 -0
  410. package/src/__tests__/useImageEditor.test.tsx +159 -0
  411. package/src/__tests__/useMediaRecorder.test.ts +186 -0
  412. package/src/__tests__/versionHistory.test.tsx +197 -0
  413. package/src/blockSlice.ts +75 -0
  414. package/src/buildPreviewDoc.ts +61 -6
  415. package/src/emojiData.ts +1337 -0
  416. package/src/fileKind.ts +30 -6
  417. package/src/hooks/useFileDrop.ts +40 -4
  418. package/src/imageEditor/CanvasSurface.tsx +402 -0
  419. package/src/imageEditor/ImageVersionHistoryDropdown.tsx +396 -0
  420. package/src/imageEditor/LayersPanel.tsx +143 -0
  421. package/src/imageEditor/PropertiesPanel.tsx +428 -0
  422. package/src/imageEditor/Toolbar.tsx +242 -0
  423. package/src/imageEditor/icons.tsx +144 -0
  424. package/src/imageEditor/image-editor.css +450 -0
  425. package/src/imageEditor/layers/EditorImageLayer.tsx +45 -0
  426. package/src/imageEditor/layers/EditorShapeLayer.tsx +62 -0
  427. package/src/imageEditor/layers/EditorTextLayer.tsx +45 -0
  428. package/src/imageEditor/layers/SelectionHandles.tsx +86 -0
  429. package/src/imageEditor/state.ts +153 -0
  430. package/src/imageEditor/useImageEditor.ts +328 -0
  431. package/src/imageEditor/useImageEditorTokens.ts +70 -0
  432. package/src/index.ts +82 -0
  433. package/src/jsonEditor/EmbeddedRichTextField.tsx +81 -0
  434. package/src/jsonEditor/JsonEditor.tsx +81 -0
  435. package/src/jsonEditor/JsonEditorContext.tsx +75 -0
  436. package/src/jsonEditor/RenderNode.tsx +66 -0
  437. package/src/jsonEditor/editors.tsx +678 -0
  438. package/src/jsonEditor/index.ts +2 -0
  439. package/src/jsonEditor/json-editor.css +463 -0
  440. package/src/jsonEditor/useJsonEditorTokens.ts +63 -0
  441. package/src/recorder/RecorderButton.tsx +72 -0
  442. package/src/recorder/RecorderModal.tsx +596 -0
  443. package/src/recorder/RecorderPanel.tsx +93 -0
  444. package/src/recorder/formats.ts +159 -0
  445. package/src/recorder/hooks/useMediaRecorder.ts +378 -0
  446. package/src/recorder/hooks/useStreamPreview.ts +47 -0
  447. package/src/recorder/sources/cameraStream.ts +32 -0
  448. package/src/recorder/sources/micStream.ts +25 -0
  449. package/src/recorder/sources/screenStream.ts +162 -0
  450. package/src/recorder/timingJson.ts +66 -0
  451. package/src/styles/editor.css +2490 -51
  452. package/src/styles/image-edit-affordance.css +201 -0
  453. package/src/styles/index.css +10 -0
  454. package/src/tiptap/TiptapAudio.tsx +86 -0
  455. package/src/tiptap/TiptapVideo.tsx +119 -0
  456. package/src/tiptap/useResolvedMediaSrc.ts +47 -0
  457. package/src/tiptapBridge.ts +227 -22
  458. package/src/useHeadingLayout.ts +294 -0
  459. package/src/utils/collectInlineFontAwesomeCss.ts +69 -0
  460. package/src/utils/dropUtils.ts +54 -6
  461. package/src/utils/normalizeMalformedAssetUrl.ts +22 -0
@@ -10,6 +10,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
10
10
  import { createContext, useContext, useState, useCallback, useMemo, useRef, useEffect, } from 'react';
11
11
  import { parseMarkdown, stringifyMarkdown } from '@bendyline/squisq/markdown';
12
12
  import { markdownToDoc } from '@bendyline/squisq/doc';
13
+ import { DocumentVersionManager, } from '@bendyline/squisq/versions';
13
14
  import { markdownToTiptap } from './tiptapBridge';
14
15
  import { resolveFileKind } from './fileKind';
15
16
  // ─── Context ─────────────────────────────────────────────
@@ -29,25 +30,161 @@ export function useEditorContext() {
29
30
  * Provides shared editor state to all child components.
30
31
  * Automatically parses markdown and generates a Doc whenever the source changes.
31
32
  */
32
- export function EditorProvider({ initialMarkdown = '', initialView = 'raw', articleId = 'untitled', theme: initialTheme = 'light', mediaProvider = null, imageDisplayMode = 'inline', mentionProvider = null, fileName, language, children, }) {
33
+ const DEFAULT_PRUNE_POLICY = { type: 'keep-last-n', n: 50 };
34
+ const DEFAULT_AUTOSAVE_IDLE_MS = 5000;
35
+ export function EditorProvider({ initialMarkdown = '', initialView = 'raw', articleId = 'untitled', theme: initialTheme = 'light', workspaceContainer = null, allowVersioning = false, versionBasename, versioningPrunePolicy = DEFAULT_PRUNE_POLICY, versioningAutoSaveIdleMs = DEFAULT_AUTOSAVE_IDLE_MS, onSaveVersion, mediaProvider = null, imageDisplayMode = 'inline', mentionProvider = null, documentLinkProvider = null, allowRecording = true, fileName, language, inlinePreview = false, showStatusBar = true, outline = false, blockTags = true, themeInheritance = 'fonts', viewPreferences, onViewPreferencesChange, children, }) {
36
+ // Resolve effective initial values: bundled `viewPreferences` wins over
37
+ // individual props when both are passed. Individual props remain valid
38
+ // for hosts that haven't migrated to the bundled API.
39
+ const effectiveInlinePreview = viewPreferences?.inlinePreview ?? inlinePreview;
40
+ const effectiveShowStatusBar = viewPreferences?.showStatusBar ?? showStatusBar;
41
+ const effectiveOutline = viewPreferences?.outline ?? outline;
42
+ const effectiveBlockTags = viewPreferences?.blockTags ?? blockTags;
43
+ const effectiveThemeInheritance = viewPreferences?.themeInheritance ?? themeInheritance;
33
44
  // Resolve once per provider mount. Changing fileName/language after mount
34
45
  // would require recreating the Monaco model anyway, so treat it as static.
35
46
  const { mode: editorMode, language: resolvedLanguage } = useMemo(() => resolveFileKind(fileName, language), [fileName, language]);
36
47
  // In code mode, WYSIWYG and Preview aren't rendered — force the starting
37
- // view to 'raw' so we don't boot into an unmounted surface.
48
+ // view to 'raw' so we don't boot into an unmounted surface. Image mode
49
+ // has no text-editing surface at all; keep the same fallback so that any
50
+ // host that switches into image mode doesn't end up in a stale view id.
38
51
  const [markdownSource, setMarkdownSourceRaw] = useState(initialMarkdown);
39
52
  const [markdownDoc, setMarkdownDocState] = useState(null);
40
53
  const [doc, setDoc] = useState(null);
41
- const [activeView, setActiveViewRaw] = useState(editorMode === 'code' ? 'raw' : initialView);
54
+ const [activeView, setActiveViewRaw] = useState(editorMode === 'markdown' ? initialView : 'raw');
42
55
  const setActiveView = useCallback((view) => {
43
- // In code mode only the raw view is valid; ignore any other requests.
56
+ // In code mode only the raw view is valid. In image mode no text view
57
+ // is valid at all — ignore any switch attempt.
44
58
  if (editorMode === 'code' && view !== 'raw')
45
59
  return;
60
+ if (editorMode === 'image')
61
+ return;
46
62
  setActiveViewRaw(view);
47
63
  }, [editorMode]);
48
64
  const [parseError, setParseError] = useState(null);
49
65
  const [isParsing, setIsParsing] = useState(false);
50
66
  const [theme, setTheme] = useState(initialTheme);
67
+ const [inlinePreviewVisible, setInlinePreviewVisibleRaw] = useState(effectiveInlinePreview);
68
+ // Sync visibility when the host changes the prop (e.g., toggle from outside).
69
+ useEffect(() => {
70
+ setInlinePreviewVisibleRaw(inlinePreview);
71
+ }, [inlinePreview]);
72
+ const [statusBarVisible, setStatusBarVisibleRaw] = useState(effectiveShowStatusBar);
73
+ useEffect(() => {
74
+ setStatusBarVisibleRaw(showStatusBar);
75
+ }, [showStatusBar]);
76
+ const [outlineVisible, setOutlineVisibleRaw] = useState(effectiveOutline);
77
+ useEffect(() => {
78
+ setOutlineVisibleRaw(outline);
79
+ }, [outline]);
80
+ const [blockTagsVisible, setBlockTagsVisibleRaw] = useState(effectiveBlockTags);
81
+ useEffect(() => {
82
+ setBlockTagsVisibleRaw(blockTags);
83
+ }, [blockTags]);
84
+ const [themeInheritanceState, setThemeInheritanceRaw] = useState(effectiveThemeInheritance);
85
+ useEffect(() => {
86
+ setThemeInheritanceRaw(themeInheritance);
87
+ }, [themeInheritance]);
88
+ const [imageEditTarget, setImageEditTarget] = useState(null);
89
+ const [mediaRevision, setMediaRevision] = useState(0);
90
+ const openImageEdit = useCallback((relativePath) => {
91
+ setImageEditTarget(relativePath);
92
+ }, []);
93
+ const closeImageEdit = useCallback(() => {
94
+ setImageEditTarget(null);
95
+ }, []);
96
+ const bumpMediaRevision = useCallback(() => {
97
+ setMediaRevision((n) => n + 1);
98
+ }, []);
99
+ // Sync from the bundled `viewPreferences` prop. Runs in addition to the
100
+ // individual prop syncs above. When both APIs are present, the bundled
101
+ // values are applied here last, keeping `viewPreferences` authoritative.
102
+ useEffect(() => {
103
+ if (!viewPreferences)
104
+ return;
105
+ if (viewPreferences.inlinePreview !== undefined) {
106
+ setInlinePreviewVisibleRaw(viewPreferences.inlinePreview);
107
+ }
108
+ if (viewPreferences.showStatusBar !== undefined) {
109
+ setStatusBarVisibleRaw(viewPreferences.showStatusBar);
110
+ }
111
+ if (viewPreferences.outline !== undefined) {
112
+ setOutlineVisibleRaw(viewPreferences.outline);
113
+ }
114
+ if (viewPreferences.blockTags !== undefined) {
115
+ setBlockTagsVisibleRaw(viewPreferences.blockTags);
116
+ }
117
+ if (viewPreferences.themeInheritance !== undefined) {
118
+ setThemeInheritanceRaw(viewPreferences.themeInheritance);
119
+ }
120
+ }, [viewPreferences]);
121
+ // Wrap the three setters so user-driven toggles emit a snapshot via
122
+ // `onViewPreferencesChange`. Refs hold the latest values + callback so
123
+ // each wrapper can build a current snapshot without re-creating itself
124
+ // on every state change (the setters are kept referentially stable for
125
+ // the context value's memoization).
126
+ const onViewPreferencesChangeRef = useRef(onViewPreferencesChange);
127
+ onViewPreferencesChangeRef.current = onViewPreferencesChange;
128
+ const inlinePreviewRef = useRef(inlinePreviewVisible);
129
+ inlinePreviewRef.current = inlinePreviewVisible;
130
+ const statusBarRef = useRef(statusBarVisible);
131
+ statusBarRef.current = statusBarVisible;
132
+ const outlineRef = useRef(outlineVisible);
133
+ outlineRef.current = outlineVisible;
134
+ const blockTagsRef = useRef(blockTagsVisible);
135
+ blockTagsRef.current = blockTagsVisible;
136
+ const themeInheritanceRef = useRef(themeInheritanceState);
137
+ themeInheritanceRef.current = themeInheritanceState;
138
+ const setInlinePreviewVisible = useCallback((visible) => {
139
+ setInlinePreviewVisibleRaw(visible);
140
+ onViewPreferencesChangeRef.current?.({
141
+ inlinePreview: visible,
142
+ showStatusBar: statusBarRef.current,
143
+ outline: outlineRef.current,
144
+ blockTags: blockTagsRef.current,
145
+ themeInheritance: themeInheritanceRef.current,
146
+ });
147
+ }, []);
148
+ const setStatusBarVisible = useCallback((visible) => {
149
+ setStatusBarVisibleRaw(visible);
150
+ onViewPreferencesChangeRef.current?.({
151
+ inlinePreview: inlinePreviewRef.current,
152
+ showStatusBar: visible,
153
+ outline: outlineRef.current,
154
+ blockTags: blockTagsRef.current,
155
+ themeInheritance: themeInheritanceRef.current,
156
+ });
157
+ }, []);
158
+ const setOutlineVisible = useCallback((visible) => {
159
+ setOutlineVisibleRaw(visible);
160
+ onViewPreferencesChangeRef.current?.({
161
+ inlinePreview: inlinePreviewRef.current,
162
+ showStatusBar: statusBarRef.current,
163
+ outline: visible,
164
+ blockTags: blockTagsRef.current,
165
+ themeInheritance: themeInheritanceRef.current,
166
+ });
167
+ }, []);
168
+ const setBlockTagsVisible = useCallback((visible) => {
169
+ setBlockTagsVisibleRaw(visible);
170
+ onViewPreferencesChangeRef.current?.({
171
+ inlinePreview: inlinePreviewRef.current,
172
+ showStatusBar: statusBarRef.current,
173
+ outline: outlineRef.current,
174
+ blockTags: visible,
175
+ themeInheritance: themeInheritanceRef.current,
176
+ });
177
+ }, []);
178
+ const setThemeInheritance = useCallback((mode) => {
179
+ setThemeInheritanceRaw(mode);
180
+ onViewPreferencesChangeRef.current?.({
181
+ inlinePreview: inlinePreviewRef.current,
182
+ showStatusBar: statusBarRef.current,
183
+ outline: outlineRef.current,
184
+ blockTags: blockTagsRef.current,
185
+ themeInheritance: mode,
186
+ });
187
+ }, []);
51
188
  const [tiptapEditor, setTiptapEditor] = useState(null);
52
189
  const [monacoEditor, setMonacoEditor] = useState(null);
53
190
  const articleIdRef = useRef(articleId);
@@ -86,12 +223,12 @@ export function EditorProvider({ initialMarkdown = '', initialView = 'raw', arti
86
223
  setIsParsing(false);
87
224
  }
88
225
  }, []);
89
- // Parse on source changes with debounce. Skipped in code mode — the
90
- // WYSIWYG/Preview surfaces that consume markdownDoc/doc aren't mounted,
91
- // so there's nothing to feed and no reason to run the markdown parser on
92
- // TypeScript / JSON / etc.
226
+ // Parse on source changes with debounce. Skipped in code/image mode —
227
+ // the WYSIWYG/Preview surfaces that consume markdownDoc/doc aren't
228
+ // mounted, so there's nothing to feed and no reason to run the markdown
229
+ // parser on TypeScript / JSON / a binary image asset.
93
230
  useEffect(() => {
94
- if (editorMode === 'code')
231
+ if (editorMode !== 'markdown')
95
232
  return;
96
233
  if (parseTimeoutRef.current) {
97
234
  clearTimeout(parseTimeoutRef.current);
@@ -107,7 +244,7 @@ export function EditorProvider({ initialMarkdown = '', initialView = 'raw', arti
107
244
  }, [markdownSource, doParse, editorMode]);
108
245
  // Initial parse
109
246
  useEffect(() => {
110
- if (editorMode === 'code')
247
+ if (editorMode !== 'markdown')
111
248
  return;
112
249
  if (initialMarkdown) {
113
250
  doParse(initialMarkdown);
@@ -158,6 +295,67 @@ export function EditorProvider({ initialMarkdown = '', initialView = 'raw', arti
158
295
  monacoEditor.setValue(text);
159
296
  }
160
297
  }, [tiptapEditor, monacoEditor]);
298
+ // ── Versioning ─────────────────────────────────────────
299
+ // Build a manager only when versioning is opted in *and* a workspace
300
+ // container exists. A versioning request without one is a misconfiguration
301
+ // — warn once so it surfaces in dev without breaking the editor.
302
+ const versioningWarnedRef = useRef(false);
303
+ useEffect(() => {
304
+ if (allowVersioning && !workspaceContainer && !versioningWarnedRef.current) {
305
+ console.warn('[squisq-editor] allowVersioning requires a `workspaceContainer` prop; versioning is disabled.');
306
+ versioningWarnedRef.current = true;
307
+ }
308
+ }, [allowVersioning, workspaceContainer]);
309
+ const versioning = useMemo(() => {
310
+ if (!allowVersioning || !workspaceContainer)
311
+ return null;
312
+ return new DocumentVersionManager(workspaceContainer, { basename: versionBasename });
313
+ }, [allowVersioning, workspaceContainer, versionBasename]);
314
+ const onSaveVersionRef = useRef(onSaveVersion);
315
+ onSaveVersionRef.current = onSaveVersion;
316
+ const prunePolicyRef = useRef(versioningPrunePolicy);
317
+ prunePolicyRef.current = versioningPrunePolicy;
318
+ const saveVersion = useCallback(async (options) => {
319
+ if (!versioning) {
320
+ const skipped = { saved: false, version: null, reason: 'no-document' };
321
+ onSaveVersionRef.current?.(skipped);
322
+ return skipped;
323
+ }
324
+ const result = await versioning.saveVersion(options);
325
+ onSaveVersionRef.current?.(result);
326
+ if (result.saved) {
327
+ // Fire-and-forget prune. Failures here shouldn't block the save.
328
+ versioning.pruneVersions(prunePolicyRef.current).catch((err) => {
329
+ console.warn('[squisq-editor] pruneVersions failed:', err instanceof Error ? err.message : err);
330
+ });
331
+ }
332
+ return result;
333
+ }, [versioning]);
334
+ // Auto-save: stamp a new snapshot after `versioningAutoSaveIdleMs` of
335
+ // idle. The "only save if different" check inside `saveVersion` makes
336
+ // most ticks no-ops, so this is cheap. Disabled when the idle delay is
337
+ // 0 or versioning isn't active.
338
+ //
339
+ // We pass the live `markdownSource` explicitly so saveVersion never has
340
+ // to fall back to `container.readDocument()`. That fallback would fail
341
+ // in setups where the markdown file lives outside the versioning
342
+ // container's scope (e.g. DocBlocks, where the container points at
343
+ // `<basename>_files/` while the doc itself lives in the parent
344
+ // directory). Using the editor's live state also ensures the snapshot
345
+ // captures the most recent edit even if the host's autosave to the
346
+ // container hasn't flushed yet.
347
+ useEffect(() => {
348
+ if (!versioning)
349
+ return;
350
+ if (versioningAutoSaveIdleMs <= 0)
351
+ return;
352
+ const timer = setTimeout(() => {
353
+ saveVersion({ content: markdownSource }).catch((err) => {
354
+ console.warn('[squisq-editor] auto-save version failed:', err instanceof Error ? err.message : err);
355
+ });
356
+ }, versioningAutoSaveIdleMs);
357
+ return () => clearTimeout(timer);
358
+ }, [markdownSource, versioning, versioningAutoSaveIdleMs, saveVersion]);
161
359
  const setMarkdownDoc = useCallback((newDoc) => {
162
360
  setMarkdownDocState(newDoc);
163
361
  // Stringify to update the raw source
@@ -191,19 +389,39 @@ export function EditorProvider({ initialMarkdown = '', initialView = 'raw', arti
191
389
  theme,
192
390
  editorMode,
193
391
  language: resolvedLanguage,
392
+ inlinePreviewVisible,
393
+ statusBarVisible,
394
+ outlineVisible,
395
+ blockTagsVisible,
396
+ themeInheritance: themeInheritanceState,
397
+ imageEditTarget,
398
+ mediaRevision,
399
+ allowRecording,
194
400
  tiptapEditor,
195
401
  monacoEditor,
402
+ workspaceContainer,
403
+ versioning,
404
+ saveVersion,
196
405
  mediaProvider,
197
406
  imageDisplayMode,
198
407
  mentionProvider,
408
+ documentLinkProvider,
199
409
  setMarkdownSource,
200
410
  setMarkdownDoc,
201
411
  setActiveView,
202
412
  setTiptapEditor,
203
413
  setMonacoEditor,
204
414
  setTheme,
415
+ setInlinePreviewVisible,
416
+ setStatusBarVisible,
417
+ setOutlineVisible,
418
+ setBlockTagsVisible,
419
+ setThemeInheritance,
205
420
  insertAtCursor,
206
421
  replaceAll,
422
+ openImageEdit,
423
+ closeImageEdit,
424
+ bumpMediaRevision,
207
425
  }), [
208
426
  markdownSource,
209
427
  markdownDoc,
@@ -214,19 +432,39 @@ export function EditorProvider({ initialMarkdown = '', initialView = 'raw', arti
214
432
  theme,
215
433
  editorMode,
216
434
  resolvedLanguage,
435
+ inlinePreviewVisible,
436
+ statusBarVisible,
437
+ outlineVisible,
438
+ blockTagsVisible,
439
+ themeInheritanceState,
217
440
  tiptapEditor,
218
441
  monacoEditor,
442
+ workspaceContainer,
443
+ versioning,
444
+ saveVersion,
219
445
  mediaProvider,
220
446
  imageDisplayMode,
221
447
  mentionProvider,
448
+ documentLinkProvider,
222
449
  setMarkdownSource,
223
450
  setMarkdownDoc,
224
451
  setActiveView,
225
452
  setTiptapEditor,
226
453
  setMonacoEditor,
227
454
  setTheme,
455
+ setInlinePreviewVisible,
456
+ setStatusBarVisible,
457
+ setOutlineVisible,
458
+ setBlockTagsVisible,
459
+ setThemeInheritance,
228
460
  insertAtCursor,
229
461
  replaceAll,
462
+ imageEditTarget,
463
+ mediaRevision,
464
+ allowRecording,
465
+ openImageEdit,
466
+ closeImageEdit,
467
+ bumpMediaRevision,
230
468
  ]);
231
469
  return _jsx(EditorContext.Provider, { value: value, children: children });
232
470
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EditorContext.js","sourceRoot":"","sources":["../src/EditorContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EditorContext.js","sourceRoot":"","sources":["../src/EditorContext.tsx"],"names":[],"mappings":"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"}
@@ -5,9 +5,10 @@
5
5
  * views, and StatusBar into a complete editing experience. Wraps everything
6
6
  * in an EditorProvider for shared state.
7
7
  */
8
- import { type EditorView, type ImageDisplayMode, type MentionProvider } from './EditorContext';
9
- import type { MediaProvider } from '@bendyline/squisq/schemas';
8
+ import { type EditorView, type ImageDisplayMode, type MentionProvider, type DocumentLinkProvider, type ViewPreferences, type ThemeInheritance } from './EditorContext';
9
+ import type { MediaProvider, Theme } from '@bendyline/squisq/schemas';
10
10
  import type { ContentContainer } from '@bendyline/squisq/storage';
11
+ import type { PrunePolicy, SaveVersionResult } from '@bendyline/squisq/versions';
11
12
  import type { ReactNode } from 'react';
12
13
  export type { EditorTheme } from './EditorContext';
13
14
  export interface EditorShellProps {
@@ -28,10 +29,74 @@ export interface EditorShellProps {
28
29
  className?: string;
29
30
  /** CSS height for the shell container (default: '100vh') */
30
31
  height?: string;
32
+ /**
33
+ * Minimum CSS height for the shell. When either `minHeight` or
34
+ * `maxHeight` is set, the shell switches to **auto-grow mode**:
35
+ * `height` is ignored, the root becomes `height: auto` between the
36
+ * bounds, and the content area scrolls internally when content
37
+ * exceeds `maxHeight`. Useful for chat composers that should grow
38
+ * with content up to some cap.
39
+ */
40
+ minHeight?: string;
41
+ /** See `minHeight`. Upper bound of the auto-grow range. */
42
+ maxHeight?: string;
31
43
  /** Optional MediaProvider for the Files panel. When set (even to null), a Files toggle appears in the toolbar. */
32
44
  mediaProvider?: MediaProvider | null;
33
- /** Optional ContentContainer for audio mapping (MP3 discovery + timing.json reading). */
45
+ /**
46
+ * The workspace-scoped `ContentContainer` for this document — the
47
+ * folder that contains the doc, its `_files/` sidecar, sibling
48
+ * documents, and any version snapshots. Used for:
49
+ * - audio mapping (MP3 discovery + timing.json reading);
50
+ * - version history snapshots (when `allowVersioning` is true);
51
+ * - reading sibling `.md` files for the recursive HTML export;
52
+ * - resolving per-document scoped views (e.g. the image-edit
53
+ * sidecar derived via `scopeContainer`).
54
+ * Doc-scoped concerns (per-doc media URLs, per-doc asset writes)
55
+ * flow through `mediaProvider` instead — typically derived from
56
+ * this container via `createMediaProviderFromContainer`.
57
+ */
58
+ workspaceContainer?: ContentContainer | null;
59
+ /**
60
+ * @deprecated Renamed to `workspaceContainer` to make the workspace-
61
+ * vs. doc-scoped distinction explicit. Still accepted as a fallback
62
+ * for now; remove in the next breaking release.
63
+ */
34
64
  container?: ContentContainer | null;
65
+ /**
66
+ * Enable version history. Snapshots are stored at
67
+ * `.versions/<basename>.<timestamp>.md` inside the same
68
+ * `workspaceContainer`, so they ride along with the document when
69
+ * the host serializes.
70
+ *
71
+ * Snapshots fire on idle (controlled by `versioningAutoSaveIdleMs`)
72
+ * and can also be triggered host-side via the manager exposed in the
73
+ * context (`useEditorContext().versioning`). Has no effect without a
74
+ * `workspaceContainer` — a `console.warn` flags the misconfiguration
75
+ * in dev.
76
+ */
77
+ allowVersioning?: boolean;
78
+ /**
79
+ * Override the document basename used in version filenames. Defaults
80
+ * to the basename of the container's primary document path.
81
+ */
82
+ versionBasename?: string;
83
+ /**
84
+ * Prune policy applied after each successful save. Defaults to
85
+ * `{ type: 'keep-last-n', n: 50 }` so the snapshot count stays bounded.
86
+ */
87
+ versioningPrunePolicy?: PrunePolicy;
88
+ /**
89
+ * Idle delay (ms) before the editor auto-saves a version. `0` disables
90
+ * auto-save entirely (snapshots are then only saved when the host
91
+ * calls `versioning.saveVersion()` from the context). Default: 5000.
92
+ */
93
+ versioningAutoSaveIdleMs?: number;
94
+ /**
95
+ * Notified after each `saveVersion` attempt. Fires for both successful
96
+ * saves (`reason: 'saved'`) and skips (`'unchanged'`, `'no-document'`,
97
+ * `'empty'`). Useful for hosts that want a "Last saved" indicator.
98
+ */
99
+ onSaveVersion?: (result: SaveVersionResult) => void;
35
100
  /** Show the Files toggle in the toolbar. Defaults to true when mediaProvider is passed. */
36
101
  showFilesToggle?: boolean;
37
102
  /** Content rendered at the left edge of the toolbar, before the view tabs. */
@@ -123,6 +188,24 @@ export interface EditorShellProps {
123
188
  * inline. Omit to disable mentions entirely.
124
189
  */
125
190
  mentionProvider?: MentionProvider | null;
191
+ /**
192
+ * Optional async provider for sibling-document suggestions in the
193
+ * link insert dialog. When supplied, the dialog gains a "Browse
194
+ * documents" picker so authors can pick a neighbor `.md` by name and
195
+ * insert a relative-path link without typing the URL by hand. Hosts
196
+ * that organize docs in a workspace (file-system, IndexedDB slot,
197
+ * remote API, …) implement this; the editor stays agnostic.
198
+ */
199
+ documentLinkProvider?: DocumentLinkProvider | null;
200
+ /**
201
+ * Whether the in-editor media recorder is surfaced in the toolbar.
202
+ * Defaults to true — when a `mediaProvider` is wired, a record
203
+ * button appears next to the version history. Pass `false` to
204
+ * suppress it (read-only embeds, surfaces where camera/screen
205
+ * permission prompts would be jarring). Without a `mediaProvider`,
206
+ * the button is hidden regardless of this prop.
207
+ */
208
+ allowRecording?: boolean;
126
209
  /**
127
210
  * Placeholder text shown in the WYSIWYG editor while the document is
128
211
  * empty. When omitted, the editor rotates through its own generic
@@ -139,10 +222,107 @@ export interface EditorShellProps {
139
222
  * accidental edits.
140
223
  */
141
224
  readOnly?: boolean;
225
+ /**
226
+ * Image source URL used when the resolved file mode is `image` (PNG,
227
+ * JPEG, GIF, WebP, BMP, ICO, AVIF). When this prop is set, the shell
228
+ * replaces its text-editing surfaces with a dedicated `ImageViewer`.
229
+ *
230
+ * Lifecycle of the URL is the caller's responsibility — when fed a
231
+ * `blob:` URL, the host should `URL.revokeObjectURL` on unmount or
232
+ * src change.
233
+ */
234
+ imageSrc?: string;
235
+ /** Alt text passed through to the underlying ImageViewer. */
236
+ imageAlt?: string;
237
+ /**
238
+ * Whether the image surface should render as a read-only viewer
239
+ * (`'view'`, default) or as the editable {@link ImageEditor}
240
+ * (`'edit'`). Editing requires {@link EditorShellProps.imageEditorContainer}
241
+ * — without it the shell falls back to view mode and logs a warning.
242
+ */
243
+ imageMode?: 'view' | 'edit';
244
+ /**
245
+ * Sidecar `ContentContainer` for the image being edited. Conventionally
246
+ * scoped to `<basename>_files/` via
247
+ * `scopeContainer(parentContainer, basename + '_files')`. The image
248
+ * editor persists `state.json`, layer assets in `assets/`, and (when
249
+ * `allowVersioning` is true) snapshots in `.versions/` inside it.
250
+ */
251
+ imageEditorContainer?: ContentContainer;
252
+ /**
253
+ * Called after the user clicks Export in the image editor and the
254
+ * raster blob is produced. When omitted, the editor triggers a
255
+ * default browser download.
256
+ */
257
+ onImageExport?: (blob: Blob, format: 'png' | 'jpeg' | 'webp') => void;
258
+ /**
259
+ * Show an inline preview gutter to the right of the WYSIWYG editor.
260
+ * The gutter renders one small SVG card per template-annotated block in
261
+ * the document, letting authors see their rendered output without
262
+ * leaving Edit mode. Auto-hidden via container query when the editor
263
+ * body is narrower than ~720px. Defaults to `false`.
264
+ */
265
+ inlinePreview?: boolean;
266
+ /**
267
+ * Width in pixels for the inline preview gutter. Defaults to 320.
268
+ * Only takes effect when {@link EditorShellProps.inlinePreview} is true.
269
+ */
270
+ inlinePreviewWidth?: number;
271
+ /**
272
+ * Show an outline pane on the left of the WYSIWYG editor — a
273
+ * hierarchical tree of the document's headings (h1 → h2 → h3) with
274
+ * click-to-scroll. Auto-hidden via container query on narrow editors.
275
+ * Defaults to `false`. The toolbar's View menu can toggle this at
276
+ * runtime regardless of the initial value.
277
+ */
278
+ outline?: boolean;
279
+ /**
280
+ * Width in pixels for the outline pane. Defaults to 240. Only takes
281
+ * effect when {@link EditorShellProps.outline} is true (or the View
282
+ * menu has toggled it on).
283
+ */
284
+ outlineWidth?: number;
285
+ /**
286
+ * Initial visibility of inline block-template tags on headings — the
287
+ * chip rendered next to each heading in the WYSIWYG view that opens
288
+ * the block-template picker. Defaults to true; the View menu can
289
+ * toggle it at runtime regardless of the initial value.
290
+ */
291
+ blockTags?: boolean;
292
+ /**
293
+ * How much of the active Squisq theme the WYSIWYG editing surface
294
+ * mirrors. Defaults to `'fonts'` — the historical behavior of
295
+ * inheriting body / heading fonts only. The View menu can change it
296
+ * at runtime.
297
+ */
298
+ themeInheritance?: ThemeInheritance;
299
+ /**
300
+ * Bundled view preferences — a serializable JSON blob covering the
301
+ * runtime-toggleable view options surfaced in the View menu. When
302
+ * provided, fields here override the corresponding individual props
303
+ * (`outline`, `inlinePreview`, `showStatusBar`). Pair with
304
+ * {@link onViewPreferencesChange} to externalize storage of these
305
+ * preferences in the host.
306
+ */
307
+ viewPreferences?: ViewPreferences;
308
+ /**
309
+ * Notified after each user-driven toggle in the View menu. The
310
+ * argument is a full snapshot of all view preferences — hosts can
311
+ * persist it as-is. Not called when {@link viewPreferences} is
312
+ * changed externally.
313
+ */
314
+ onViewPreferencesChange?: (prefs: ViewPreferences) => void;
315
+ /**
316
+ * Override the preview theme with an explicit `Theme` object. When set,
317
+ * `Doc.themeId` and the user's theme dropdown selection are ignored for
318
+ * the preview surface. Used by the theme customizer to live-preview an
319
+ * in-progress theme without mutating the document.
320
+ */
321
+ themeOverride?: Theme | null;
142
322
  }
143
323
  /**
144
324
  * Complete markdown editor shell with toolbar, view switcher, and three
145
325
  * editing modes: Raw (Monaco), WYSIWYG (Tiptap), and Preview.
146
326
  */
147
- export declare function EditorShell({ initialMarkdown, initialView, articleId, basePath, onChange, theme, className, height, mediaProvider, container, showFilesToggle, toolbarSlotLeft, toolbarSlotAfterActions, toolbarSlotRight, showPlayTab, submitOnEnter, fullWidth, uxFont, thinMargins, showStatusBar, imageDisplayMode, fileName, language, mentionProvider, placeholder, readOnly, }: EditorShellProps): import("react/jsx-runtime").JSX.Element;
327
+ export declare function EditorShell({ initialMarkdown, initialView, articleId, basePath, onChange, theme, className, height, minHeight, maxHeight, mediaProvider, workspaceContainer, container, allowVersioning, versionBasename, versioningPrunePolicy, versioningAutoSaveIdleMs, onSaveVersion, showFilesToggle, toolbarSlotLeft, toolbarSlotAfterActions, toolbarSlotRight, showPlayTab, submitOnEnter, fullWidth, uxFont, thinMargins, showStatusBar, imageDisplayMode, fileName, language, mentionProvider, documentLinkProvider, allowRecording, placeholder, readOnly, imageSrc, imageAlt, imageMode, imageEditorContainer, onImageExport, inlinePreview, inlinePreviewWidth, outline, outlineWidth, blockTags, themeInheritance, viewPreferences, onViewPreferencesChange, themeOverride, }: EditorShellProps): import("react/jsx-runtime").JSX.Element;
148
328
  //# sourceMappingURL=EditorShell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditorShell.d.ts","sourceRoot":"","sources":["../src/EditorShell.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAC;AAiBzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0BAA0B;IAC1B,+CAA+C;IAC/C,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,wDAAwD;IACxD,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kHAAkH;IAClH,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,yFAAyF;IACzF,SAAS,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,2FAA2F;IAC3F,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8EAA8E;IAC9E,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,0FAA0F;IAC1F,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAC1B,eAAoB,EACpB,WAAuB,EACvB,SAAsB,EACtB,QAAc,EACd,QAAQ,EACR,KAAe,EACf,SAAS,EACT,MAAgB,EAChB,aAAa,EACb,SAAS,EACT,eAAe,EACf,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,WAAkB,EAClB,aAAa,EACb,SAAiB,EACjB,MAAM,EACN,WAAmB,EACnB,aAAoB,EACpB,gBAA2B,EAC3B,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,WAAW,EACX,QAAgB,GACjB,EAAE,gBAAgB,2CA2ClB"}
1
+ {"version":3,"file":"EditorShell.d.ts","sourceRoot":"","sources":["../src/EditorShell.tsx"],"names":[],"mappings":"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"}