@bendyline/squisq-editor-react 1.4.0 → 1.5.1

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 (446) 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 +173 -4
  10. package/dist/EditorShell.d.ts.map +1 -1
  11. package/dist/EditorShell.js +110 -10
  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/MentionExtension.js +10 -7
  42. package/dist/MentionExtension.js.map +1 -1
  43. package/dist/OutlinePanel.d.ts +17 -0
  44. package/dist/OutlinePanel.d.ts.map +1 -0
  45. package/dist/OutlinePanel.js +167 -0
  46. package/dist/OutlinePanel.js.map +1 -0
  47. package/dist/PlainHtmlPreview.d.ts +50 -0
  48. package/dist/PlainHtmlPreview.d.ts.map +1 -0
  49. package/dist/PlainHtmlPreview.js +155 -0
  50. package/dist/PlainHtmlPreview.js.map +1 -0
  51. package/dist/PreviewControls.d.ts +15 -1
  52. package/dist/PreviewControls.d.ts.map +1 -1
  53. package/dist/PreviewControls.js +75 -18
  54. package/dist/PreviewControls.js.map +1 -1
  55. package/dist/PreviewPanel.d.ts +11 -10
  56. package/dist/PreviewPanel.d.ts.map +1 -1
  57. package/dist/PreviewPanel.js +20 -17
  58. package/dist/PreviewPanel.js.map +1 -1
  59. package/dist/RawEditor.d.ts.map +1 -1
  60. package/dist/RawEditor.js +198 -4
  61. package/dist/RawEditor.js.map +1 -1
  62. package/dist/RecorderEntry.d.ts +24 -0
  63. package/dist/RecorderEntry.d.ts.map +1 -0
  64. package/dist/RecorderEntry.js +139 -0
  65. package/dist/RecorderEntry.js.map +1 -0
  66. package/dist/TemplateAnnotation.d.ts.map +1 -1
  67. package/dist/TemplateAnnotation.js +32 -6
  68. package/dist/TemplateAnnotation.js.map +1 -1
  69. package/dist/TemplatePicker.d.ts +53 -0
  70. package/dist/TemplatePicker.d.ts.map +1 -0
  71. package/dist/TemplatePicker.js +388 -0
  72. package/dist/TemplatePicker.js.map +1 -0
  73. package/dist/ThemeCustomizerPanel.d.ts +32 -0
  74. package/dist/ThemeCustomizerPanel.d.ts.map +1 -0
  75. package/dist/ThemeCustomizerPanel.js +256 -0
  76. package/dist/ThemeCustomizerPanel.js.map +1 -0
  77. package/dist/ThemePicker.d.ts +33 -0
  78. package/dist/ThemePicker.d.ts.map +1 -0
  79. package/dist/ThemePicker.js +148 -0
  80. package/dist/ThemePicker.js.map +1 -0
  81. package/dist/Toolbar.d.ts.map +1 -1
  82. package/dist/Toolbar.js +508 -33
  83. package/dist/Toolbar.js.map +1 -1
  84. package/dist/VersionHistoryPanel.d.ts +14 -0
  85. package/dist/VersionHistoryPanel.d.ts.map +1 -0
  86. package/dist/VersionHistoryPanel.js +147 -0
  87. package/dist/VersionHistoryPanel.js.map +1 -0
  88. package/dist/ViewMenuPanel.d.ts +13 -0
  89. package/dist/ViewMenuPanel.d.ts.map +1 -0
  90. package/dist/ViewMenuPanel.js +58 -0
  91. package/dist/ViewMenuPanel.js.map +1 -0
  92. package/dist/WysiwygEditor.d.ts.map +1 -1
  93. package/dist/WysiwygEditor.js +198 -9
  94. package/dist/WysiwygEditor.js.map +1 -1
  95. package/dist/__tests__/detectMarkdown.test.js +0 -14
  96. package/dist/__tests__/detectMarkdown.test.js.map +1 -1
  97. package/dist/__tests__/documentSettingsDialog.test.d.ts +2 -0
  98. package/dist/__tests__/documentSettingsDialog.test.d.ts.map +1 -0
  99. package/dist/__tests__/documentSettingsDialog.test.js +132 -0
  100. package/dist/__tests__/documentSettingsDialog.test.js.map +1 -0
  101. package/dist/__tests__/emojiPicker.test.d.ts +2 -0
  102. package/dist/__tests__/emojiPicker.test.d.ts.map +1 -0
  103. package/dist/__tests__/emojiPicker.test.js +111 -0
  104. package/dist/__tests__/emojiPicker.test.js.map +1 -0
  105. package/dist/__tests__/fileKind.test.js +13 -0
  106. package/dist/__tests__/fileKind.test.js.map +1 -1
  107. package/dist/__tests__/imageEditAffordance.test.d.ts +2 -0
  108. package/dist/__tests__/imageEditAffordance.test.d.ts.map +1 -0
  109. package/dist/__tests__/imageEditAffordance.test.js +188 -0
  110. package/dist/__tests__/imageEditAffordance.test.js.map +1 -0
  111. package/dist/__tests__/imageEditorShell.test.d.ts +2 -0
  112. package/dist/__tests__/imageEditorShell.test.d.ts.map +1 -0
  113. package/dist/__tests__/imageEditorShell.test.js +52 -0
  114. package/dist/__tests__/imageEditorShell.test.js.map +1 -0
  115. package/dist/__tests__/imageEditorState.test.d.ts +3 -0
  116. package/dist/__tests__/imageEditorState.test.d.ts.map +1 -0
  117. package/dist/__tests__/imageEditorState.test.js +148 -0
  118. package/dist/__tests__/imageEditorState.test.js.map +1 -0
  119. package/dist/__tests__/inlinePreviewGutter.test.d.ts +2 -0
  120. package/dist/__tests__/inlinePreviewGutter.test.d.ts.map +1 -0
  121. package/dist/__tests__/inlinePreviewGutter.test.js +51 -0
  122. package/dist/__tests__/inlinePreviewGutter.test.js.map +1 -0
  123. package/dist/__tests__/inlinePreviewGutterAllBlocks.test.d.ts +2 -0
  124. package/dist/__tests__/inlinePreviewGutterAllBlocks.test.d.ts.map +1 -0
  125. package/dist/__tests__/inlinePreviewGutterAllBlocks.test.js +63 -0
  126. package/dist/__tests__/inlinePreviewGutterAllBlocks.test.js.map +1 -0
  127. package/dist/__tests__/jsonEditor.test.d.ts +2 -0
  128. package/dist/__tests__/jsonEditor.test.d.ts.map +1 -0
  129. package/dist/__tests__/jsonEditor.test.js +134 -0
  130. package/dist/__tests__/jsonEditor.test.js.map +1 -0
  131. package/dist/__tests__/layersPanel.test.d.ts +2 -0
  132. package/dist/__tests__/layersPanel.test.d.ts.map +1 -0
  133. package/dist/__tests__/layersPanel.test.js +84 -0
  134. package/dist/__tests__/layersPanel.test.js.map +1 -0
  135. package/dist/__tests__/linkDialogDocPicker.test.d.ts +7 -0
  136. package/dist/__tests__/linkDialogDocPicker.test.d.ts.map +1 -0
  137. package/dist/__tests__/linkDialogDocPicker.test.js +75 -0
  138. package/dist/__tests__/linkDialogDocPicker.test.js.map +1 -0
  139. package/dist/__tests__/outlinePanel.test.d.ts +2 -0
  140. package/dist/__tests__/outlinePanel.test.d.ts.map +1 -0
  141. package/dist/__tests__/outlinePanel.test.js +68 -0
  142. package/dist/__tests__/outlinePanel.test.js.map +1 -0
  143. package/dist/__tests__/plainHtmlPreview.test.d.ts +2 -0
  144. package/dist/__tests__/plainHtmlPreview.test.d.ts.map +1 -0
  145. package/dist/__tests__/plainHtmlPreview.test.js +87 -0
  146. package/dist/__tests__/plainHtmlPreview.test.js.map +1 -0
  147. package/dist/__tests__/propertiesPanel.test.d.ts +2 -0
  148. package/dist/__tests__/propertiesPanel.test.d.ts.map +1 -0
  149. package/dist/__tests__/propertiesPanel.test.js +64 -0
  150. package/dist/__tests__/propertiesPanel.test.js.map +1 -0
  151. package/dist/__tests__/recorderFormats.test.d.ts +2 -0
  152. package/dist/__tests__/recorderFormats.test.d.ts.map +1 -0
  153. package/dist/__tests__/recorderFormats.test.js +121 -0
  154. package/dist/__tests__/recorderFormats.test.js.map +1 -0
  155. package/dist/__tests__/recorderTimingJson.test.d.ts +2 -0
  156. package/dist/__tests__/recorderTimingJson.test.d.ts.map +1 -0
  157. package/dist/__tests__/recorderTimingJson.test.js +37 -0
  158. package/dist/__tests__/recorderTimingJson.test.js.map +1 -0
  159. package/dist/__tests__/templateAnnotationRoundTrip.test.d.ts +2 -0
  160. package/dist/__tests__/templateAnnotationRoundTrip.test.d.ts.map +1 -0
  161. package/dist/__tests__/templateAnnotationRoundTrip.test.js +31 -0
  162. package/dist/__tests__/templateAnnotationRoundTrip.test.js.map +1 -0
  163. package/dist/__tests__/tiptapBridge.test.js +13 -0
  164. package/dist/__tests__/tiptapBridge.test.js.map +1 -1
  165. package/dist/__tests__/useImageEditor.test.d.ts +2 -0
  166. package/dist/__tests__/useImageEditor.test.d.ts.map +1 -0
  167. package/dist/__tests__/useImageEditor.test.js +131 -0
  168. package/dist/__tests__/useImageEditor.test.js.map +1 -0
  169. package/dist/__tests__/useMediaRecorder.test.d.ts +2 -0
  170. package/dist/__tests__/useMediaRecorder.test.d.ts.map +1 -0
  171. package/dist/__tests__/useMediaRecorder.test.js +153 -0
  172. package/dist/__tests__/useMediaRecorder.test.js.map +1 -0
  173. package/dist/__tests__/versionHistory.test.d.ts +2 -0
  174. package/dist/__tests__/versionHistory.test.d.ts.map +1 -0
  175. package/dist/__tests__/versionHistory.test.js +124 -0
  176. package/dist/__tests__/versionHistory.test.js.map +1 -0
  177. package/dist/blockSlice.d.ts +24 -0
  178. package/dist/blockSlice.d.ts.map +1 -0
  179. package/dist/blockSlice.js +63 -0
  180. package/dist/blockSlice.js.map +1 -0
  181. package/dist/buildPreviewDoc.d.ts.map +1 -1
  182. package/dist/buildPreviewDoc.js +52 -2
  183. package/dist/buildPreviewDoc.js.map +1 -1
  184. package/dist/emojiData.d.ts +81 -0
  185. package/dist/emojiData.d.ts.map +1 -0
  186. package/dist/emojiData.js +1283 -0
  187. package/dist/emojiData.js.map +1 -0
  188. package/dist/fileKind.d.ts +6 -2
  189. package/dist/fileKind.d.ts.map +1 -1
  190. package/dist/fileKind.js +25 -4
  191. package/dist/fileKind.js.map +1 -1
  192. package/dist/hooks/useFileDrop.d.ts.map +1 -1
  193. package/dist/hooks/useFileDrop.js +40 -4
  194. package/dist/hooks/useFileDrop.js.map +1 -1
  195. package/dist/imageEditor/CanvasSurface.d.ts +31 -0
  196. package/dist/imageEditor/CanvasSurface.d.ts.map +1 -0
  197. package/dist/imageEditor/CanvasSurface.js +264 -0
  198. package/dist/imageEditor/CanvasSurface.js.map +1 -0
  199. package/dist/imageEditor/ImageVersionHistoryDropdown.d.ts +39 -0
  200. package/dist/imageEditor/ImageVersionHistoryDropdown.d.ts.map +1 -0
  201. package/dist/imageEditor/ImageVersionHistoryDropdown.js +283 -0
  202. package/dist/imageEditor/ImageVersionHistoryDropdown.js.map +1 -0
  203. package/dist/imageEditor/LayersPanel.d.ts +14 -0
  204. package/dist/imageEditor/LayersPanel.d.ts.map +1 -0
  205. package/dist/imageEditor/LayersPanel.js +43 -0
  206. package/dist/imageEditor/LayersPanel.js.map +1 -0
  207. package/dist/imageEditor/PropertiesPanel.d.ts +14 -0
  208. package/dist/imageEditor/PropertiesPanel.d.ts.map +1 -0
  209. package/dist/imageEditor/PropertiesPanel.js +97 -0
  210. package/dist/imageEditor/PropertiesPanel.js.map +1 -0
  211. package/dist/imageEditor/Toolbar.d.ts +30 -0
  212. package/dist/imageEditor/Toolbar.d.ts.map +1 -0
  213. package/dist/imageEditor/Toolbar.js +108 -0
  214. package/dist/imageEditor/Toolbar.js.map +1 -0
  215. package/dist/imageEditor/icons.d.ts +24 -0
  216. package/dist/imageEditor/icons.d.ts.map +1 -0
  217. package/dist/imageEditor/icons.js +45 -0
  218. package/dist/imageEditor/icons.js.map +1 -0
  219. package/dist/imageEditor/layers/EditorImageLayer.d.ts +16 -0
  220. package/dist/imageEditor/layers/EditorImageLayer.d.ts.map +1 -0
  221. package/dist/imageEditor/layers/EditorImageLayer.js +37 -0
  222. package/dist/imageEditor/layers/EditorImageLayer.js.map +1 -0
  223. package/dist/imageEditor/layers/EditorShapeLayer.d.ts +15 -0
  224. package/dist/imageEditor/layers/EditorShapeLayer.d.ts.map +1 -0
  225. package/dist/imageEditor/layers/EditorShapeLayer.js +20 -0
  226. package/dist/imageEditor/layers/EditorShapeLayer.js.map +1 -0
  227. package/dist/imageEditor/layers/EditorTextLayer.d.ts +18 -0
  228. package/dist/imageEditor/layers/EditorTextLayer.d.ts.map +1 -0
  229. package/dist/imageEditor/layers/EditorTextLayer.js +13 -0
  230. package/dist/imageEditor/layers/EditorTextLayer.js.map +1 -0
  231. package/dist/imageEditor/layers/SelectionHandles.d.ts +17 -0
  232. package/dist/imageEditor/layers/SelectionHandles.d.ts.map +1 -0
  233. package/dist/imageEditor/layers/SelectionHandles.js +19 -0
  234. package/dist/imageEditor/layers/SelectionHandles.js.map +1 -0
  235. package/dist/imageEditor/state.d.ts +76 -0
  236. package/dist/imageEditor/state.d.ts.map +1 -0
  237. package/dist/imageEditor/state.js +87 -0
  238. package/dist/imageEditor/state.js.map +1 -0
  239. package/dist/imageEditor/useImageEditor.d.ts +53 -0
  240. package/dist/imageEditor/useImageEditor.d.ts.map +1 -0
  241. package/dist/imageEditor/useImageEditor.js +244 -0
  242. package/dist/imageEditor/useImageEditor.js.map +1 -0
  243. package/dist/imageEditor/useImageEditorTokens.d.ts +16 -0
  244. package/dist/imageEditor/useImageEditorTokens.d.ts.map +1 -0
  245. package/dist/imageEditor/useImageEditorTokens.js +45 -0
  246. package/dist/imageEditor/useImageEditorTokens.js.map +1 -0
  247. package/dist/index.d.ts +48 -1
  248. package/dist/index.d.ts.map +1 -1
  249. package/dist/index.js +36 -0
  250. package/dist/index.js.map +1 -1
  251. package/dist/jsonEditor/EmbeddedRichTextField.d.ts +15 -0
  252. package/dist/jsonEditor/EmbeddedRichTextField.d.ts.map +1 -0
  253. package/dist/jsonEditor/EmbeddedRichTextField.js +74 -0
  254. package/dist/jsonEditor/EmbeddedRichTextField.js.map +1 -0
  255. package/dist/jsonEditor/JsonEditor.d.ts +36 -0
  256. package/dist/jsonEditor/JsonEditor.d.ts.map +1 -0
  257. package/dist/jsonEditor/JsonEditor.js +15 -0
  258. package/dist/jsonEditor/JsonEditor.js.map +1 -0
  259. package/dist/jsonEditor/JsonEditorContext.d.ts +28 -0
  260. package/dist/jsonEditor/JsonEditorContext.d.ts.map +1 -0
  261. package/dist/jsonEditor/JsonEditorContext.js +41 -0
  262. package/dist/jsonEditor/JsonEditorContext.js.map +1 -0
  263. package/dist/jsonEditor/RenderNode.d.ts +16 -0
  264. package/dist/jsonEditor/RenderNode.d.ts.map +1 -0
  265. package/dist/jsonEditor/RenderNode.js +32 -0
  266. package/dist/jsonEditor/RenderNode.js.map +1 -0
  267. package/dist/jsonEditor/editors.d.ts +36 -0
  268. package/dist/jsonEditor/editors.d.ts.map +1 -0
  269. package/dist/jsonEditor/editors.js +347 -0
  270. package/dist/jsonEditor/editors.js.map +1 -0
  271. package/dist/jsonEditor/index.d.ts +3 -0
  272. package/dist/jsonEditor/index.d.ts.map +1 -0
  273. package/dist/jsonEditor/index.js +2 -0
  274. package/dist/jsonEditor/index.js.map +1 -0
  275. package/dist/jsonEditor/useJsonEditorTokens.d.ts +13 -0
  276. package/dist/jsonEditor/useJsonEditorTokens.d.ts.map +1 -0
  277. package/dist/jsonEditor/useJsonEditorTokens.js +38 -0
  278. package/dist/jsonEditor/useJsonEditorTokens.js.map +1 -0
  279. package/dist/recorder/RecorderButton.d.ts +31 -0
  280. package/dist/recorder/RecorderButton.d.ts.map +1 -0
  281. package/dist/recorder/RecorderButton.js +24 -0
  282. package/dist/recorder/RecorderButton.js.map +1 -0
  283. package/dist/recorder/RecorderModal.d.ts +59 -0
  284. package/dist/recorder/RecorderModal.d.ts.map +1 -0
  285. package/dist/recorder/RecorderModal.js +333 -0
  286. package/dist/recorder/RecorderModal.js.map +1 -0
  287. package/dist/recorder/RecorderPanel.d.ts +25 -0
  288. package/dist/recorder/RecorderPanel.d.ts.map +1 -0
  289. package/dist/recorder/RecorderPanel.js +30 -0
  290. package/dist/recorder/RecorderPanel.js.map +1 -0
  291. package/dist/recorder/formats.d.ts +51 -0
  292. package/dist/recorder/formats.d.ts.map +1 -0
  293. package/dist/recorder/formats.js +144 -0
  294. package/dist/recorder/formats.js.map +1 -0
  295. package/dist/recorder/hooks/useMediaRecorder.d.ts +90 -0
  296. package/dist/recorder/hooks/useMediaRecorder.d.ts.map +1 -0
  297. package/dist/recorder/hooks/useMediaRecorder.js +277 -0
  298. package/dist/recorder/hooks/useMediaRecorder.js.map +1 -0
  299. package/dist/recorder/hooks/useStreamPreview.d.ts +22 -0
  300. package/dist/recorder/hooks/useStreamPreview.d.ts.map +1 -0
  301. package/dist/recorder/hooks/useStreamPreview.js +44 -0
  302. package/dist/recorder/hooks/useStreamPreview.js.map +1 -0
  303. package/dist/recorder/sources/cameraStream.d.ts +22 -0
  304. package/dist/recorder/sources/cameraStream.d.ts.map +1 -0
  305. package/dist/recorder/sources/cameraStream.js +24 -0
  306. package/dist/recorder/sources/cameraStream.js.map +1 -0
  307. package/dist/recorder/sources/micStream.d.ts +15 -0
  308. package/dist/recorder/sources/micStream.d.ts.map +1 -0
  309. package/dist/recorder/sources/micStream.js +24 -0
  310. package/dist/recorder/sources/micStream.js.map +1 -0
  311. package/dist/recorder/sources/screenStream.d.ts +53 -0
  312. package/dist/recorder/sources/screenStream.d.ts.map +1 -0
  313. package/dist/recorder/sources/screenStream.js +114 -0
  314. package/dist/recorder/sources/screenStream.js.map +1 -0
  315. package/dist/recorder/timingJson.d.ts +51 -0
  316. package/dist/recorder/timingJson.d.ts.map +1 -0
  317. package/dist/recorder/timingJson.js +42 -0
  318. package/dist/recorder/timingJson.js.map +1 -0
  319. package/dist/tiptap/TiptapAudio.d.ts +26 -0
  320. package/dist/tiptap/TiptapAudio.d.ts.map +1 -0
  321. package/dist/tiptap/TiptapAudio.js +58 -0
  322. package/dist/tiptap/TiptapAudio.js.map +1 -0
  323. package/dist/tiptap/TiptapVideo.d.ts +30 -0
  324. package/dist/tiptap/TiptapVideo.d.ts.map +1 -0
  325. package/dist/tiptap/TiptapVideo.js +66 -0
  326. package/dist/tiptap/TiptapVideo.js.map +1 -0
  327. package/dist/tiptap/useResolvedMediaSrc.d.ts +2 -0
  328. package/dist/tiptap/useResolvedMediaSrc.d.ts.map +1 -0
  329. package/dist/tiptap/useResolvedMediaSrc.js +42 -0
  330. package/dist/tiptap/useResolvedMediaSrc.js.map +1 -0
  331. package/dist/tiptapBridge.d.ts.map +1 -1
  332. package/dist/tiptapBridge.js +171 -14
  333. package/dist/tiptapBridge.js.map +1 -1
  334. package/dist/useHeadingLayout.d.ts +54 -0
  335. package/dist/useHeadingLayout.d.ts.map +1 -0
  336. package/dist/useHeadingLayout.js +260 -0
  337. package/dist/useHeadingLayout.js.map +1 -0
  338. package/dist/utils/collectInlineFontAwesomeCss.d.ts +21 -0
  339. package/dist/utils/collectInlineFontAwesomeCss.d.ts.map +1 -0
  340. package/dist/utils/collectInlineFontAwesomeCss.js +68 -0
  341. package/dist/utils/collectInlineFontAwesomeCss.js.map +1 -0
  342. package/dist/utils/dropUtils.d.ts +21 -2
  343. package/dist/utils/dropUtils.d.ts.map +1 -1
  344. package/dist/utils/dropUtils.js +43 -4
  345. package/dist/utils/dropUtils.js.map +1 -1
  346. package/dist/utils/normalizeMalformedAssetUrl.d.ts +15 -0
  347. package/dist/utils/normalizeMalformedAssetUrl.d.ts.map +1 -0
  348. package/dist/utils/normalizeMalformedAssetUrl.js +27 -0
  349. package/dist/utils/normalizeMalformedAssetUrl.js.map +1 -0
  350. package/package.json +8 -5
  351. package/src/DocumentSettingsDialog.tsx +266 -0
  352. package/src/EditorContext.tsx +534 -10
  353. package/src/EditorShell.tsx +571 -55
  354. package/src/EmojiPicker.tsx +332 -0
  355. package/src/ImageEditor.tsx +327 -0
  356. package/src/ImageNodeView.tsx +222 -21
  357. package/src/ImageViewer.tsx +221 -0
  358. package/src/InlineIcon.ts +84 -0
  359. package/src/InlinePreviewGutter.tsx +582 -0
  360. package/src/LinkDialog.tsx +276 -0
  361. package/src/MentionExtension.tsx +10 -7
  362. package/src/OutlinePanel.tsx +295 -0
  363. package/src/PlainHtmlPreview.tsx +211 -0
  364. package/src/PreviewControls.tsx +130 -24
  365. package/src/PreviewPanel.tsx +38 -21
  366. package/src/RawEditor.tsx +215 -4
  367. package/src/RecorderEntry.tsx +164 -0
  368. package/src/TemplateAnnotation.ts +32 -6
  369. package/src/TemplatePicker.tsx +818 -0
  370. package/src/ThemeCustomizerPanel.tsx +595 -0
  371. package/src/ThemePicker.tsx +319 -0
  372. package/src/Toolbar.tsx +708 -111
  373. package/src/VersionHistoryPanel.tsx +329 -0
  374. package/src/ViewMenuPanel.tsx +188 -0
  375. package/src/WysiwygEditor.tsx +229 -9
  376. package/src/__tests__/detectMarkdown.test.ts +0 -15
  377. package/src/__tests__/documentSettingsDialog.test.tsx +147 -0
  378. package/src/__tests__/emojiPicker.test.tsx +133 -0
  379. package/src/__tests__/fileKind.test.ts +16 -0
  380. package/src/__tests__/imageEditAffordance.test.tsx +268 -0
  381. package/src/__tests__/imageEditorShell.test.tsx +57 -0
  382. package/src/__tests__/imageEditorState.test.ts +171 -0
  383. package/src/__tests__/inlinePreviewGutter.test.tsx +62 -0
  384. package/src/__tests__/inlinePreviewGutterAllBlocks.test.tsx +103 -0
  385. package/src/__tests__/jsonEditor.test.tsx +168 -0
  386. package/src/__tests__/layersPanel.test.tsx +97 -0
  387. package/src/__tests__/linkDialogDocPicker.test.tsx +137 -0
  388. package/src/__tests__/outlinePanel.test.tsx +79 -0
  389. package/src/__tests__/plainHtmlPreview.test.tsx +107 -0
  390. package/src/__tests__/propertiesPanel.test.tsx +69 -0
  391. package/src/__tests__/recorderFormats.test.ts +146 -0
  392. package/src/__tests__/recorderTimingJson.test.ts +41 -0
  393. package/src/__tests__/templateAnnotationRoundTrip.test.ts +34 -0
  394. package/src/__tests__/tiptapBridge.test.ts +15 -0
  395. package/src/__tests__/useImageEditor.test.tsx +159 -0
  396. package/src/__tests__/useMediaRecorder.test.ts +186 -0
  397. package/src/__tests__/versionHistory.test.tsx +197 -0
  398. package/src/blockSlice.ts +75 -0
  399. package/src/buildPreviewDoc.ts +61 -6
  400. package/src/emojiData.ts +1337 -0
  401. package/src/fileKind.ts +30 -6
  402. package/src/hooks/useFileDrop.ts +40 -4
  403. package/src/imageEditor/CanvasSurface.tsx +402 -0
  404. package/src/imageEditor/ImageVersionHistoryDropdown.tsx +396 -0
  405. package/src/imageEditor/LayersPanel.tsx +143 -0
  406. package/src/imageEditor/PropertiesPanel.tsx +428 -0
  407. package/src/imageEditor/Toolbar.tsx +242 -0
  408. package/src/imageEditor/icons.tsx +144 -0
  409. package/src/imageEditor/image-editor.css +450 -0
  410. package/src/imageEditor/layers/EditorImageLayer.tsx +45 -0
  411. package/src/imageEditor/layers/EditorShapeLayer.tsx +62 -0
  412. package/src/imageEditor/layers/EditorTextLayer.tsx +45 -0
  413. package/src/imageEditor/layers/SelectionHandles.tsx +86 -0
  414. package/src/imageEditor/state.ts +153 -0
  415. package/src/imageEditor/useImageEditor.ts +328 -0
  416. package/src/imageEditor/useImageEditorTokens.ts +70 -0
  417. package/src/index.ts +82 -0
  418. package/src/jsonEditor/EmbeddedRichTextField.tsx +81 -0
  419. package/src/jsonEditor/JsonEditor.tsx +81 -0
  420. package/src/jsonEditor/JsonEditorContext.tsx +75 -0
  421. package/src/jsonEditor/RenderNode.tsx +66 -0
  422. package/src/jsonEditor/editors.tsx +678 -0
  423. package/src/jsonEditor/index.ts +2 -0
  424. package/src/jsonEditor/json-editor.css +463 -0
  425. package/src/jsonEditor/useJsonEditorTokens.ts +63 -0
  426. package/src/recorder/RecorderButton.tsx +72 -0
  427. package/src/recorder/RecorderModal.tsx +596 -0
  428. package/src/recorder/RecorderPanel.tsx +93 -0
  429. package/src/recorder/formats.ts +159 -0
  430. package/src/recorder/hooks/useMediaRecorder.ts +378 -0
  431. package/src/recorder/hooks/useStreamPreview.ts +47 -0
  432. package/src/recorder/sources/cameraStream.ts +32 -0
  433. package/src/recorder/sources/micStream.ts +25 -0
  434. package/src/recorder/sources/screenStream.ts +162 -0
  435. package/src/recorder/timingJson.ts +66 -0
  436. package/src/styles/editor.css +2490 -51
  437. package/src/styles/image-edit-affordance.css +201 -0
  438. package/src/styles/index.css +10 -0
  439. package/src/tiptap/TiptapAudio.tsx +86 -0
  440. package/src/tiptap/TiptapVideo.tsx +119 -0
  441. package/src/tiptap/useResolvedMediaSrc.ts +47 -0
  442. package/src/tiptapBridge.ts +188 -20
  443. package/src/useHeadingLayout.ts +294 -0
  444. package/src/utils/collectInlineFontAwesomeCss.ts +69 -0
  445. package/src/utils/dropUtils.ts +54 -6
  446. package/src/utils/normalizeMalformedAssetUrl.ts +22 -0
@@ -0,0 +1,26 @@
1
+ /**
2
+ * DocumentSettingsDialog
3
+ *
4
+ * Modal editor for the frontmatter values that Squisq currently
5
+ * understands: document title plus the persisted preview keys
6
+ * (`squisq-theme`, `squisq-transform`, `squisq-captions`). Writes back
7
+ * to the same `setFrontmatterValues` channel that `PreviewControls`
8
+ * uses, so any change made here is reflected in the play-mode controls
9
+ * (and vice versa).
10
+ *
11
+ * Title behavior: the placeholder shows the title that
12
+ * `inferDocumentTitle()` would derive from frontmatter or headings.
13
+ * When the user-entered title is empty or equal to the inferred title,
14
+ * the `title:` key is removed from frontmatter — there's no point
15
+ * storing a redundant value.
16
+ */
17
+ export interface DocumentSettingsDialogProps {
18
+ /** Current markdown source string (frontmatter + body). */
19
+ markdownSource: string;
20
+ /** Called with the rewritten source after the user clicks Save. */
21
+ onSave: (nextSource: string) => void;
22
+ /** Called when the dialog is dismissed (Cancel, Escape, backdrop click). */
23
+ onClose: () => void;
24
+ }
25
+ export declare function DocumentSettingsDialog({ markdownSource, onSave, onClose, }: DocumentSettingsDialogProps): import("react/jsx-runtime").JSX.Element;
26
+ //# sourceMappingURL=DocumentSettingsDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentSettingsDialog.d.ts","sourceRoot":"","sources":["../src/DocumentSettingsDialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAuCH,MAAM,WAAW,2BAA2B;IAC1C,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,4EAA4E;IAC5E,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAID,wBAAgB,sBAAsB,CAAC,EACrC,cAAc,EACd,MAAM,EACN,OAAO,GACR,EAAE,2BAA2B,2CAoM7B"}
@@ -0,0 +1,115 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * DocumentSettingsDialog
4
+ *
5
+ * Modal editor for the frontmatter values that Squisq currently
6
+ * understands: document title plus the persisted preview keys
7
+ * (`squisq-theme`, `squisq-transform`, `squisq-captions`). Writes back
8
+ * to the same `setFrontmatterValues` channel that `PreviewControls`
9
+ * uses, so any change made here is reflected in the play-mode controls
10
+ * (and vice versa).
11
+ *
12
+ * Title behavior: the placeholder shows the title that
13
+ * `inferDocumentTitle()` would derive from frontmatter or headings.
14
+ * When the user-entered title is empty or equal to the inferred title,
15
+ * the `title:` key is removed from frontmatter — there's no point
16
+ * storing a redundant value.
17
+ */
18
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
19
+ import { inferDocumentTitle, parseMarkdown, setFrontmatterValues, } from '@bendyline/squisq/markdown';
20
+ import { getTransformStyleSummaries } from '@bendyline/squisq/transform';
21
+ import { ThemePicker } from './ThemePicker';
22
+ // ── Frontmatter key constants ─────────────────────────────────────
23
+ /** Mirror of `FM_KEYS` in PreviewControls.tsx. Canonical names are the
24
+ * ones we write; legacy aliases are still read so older docs work. */
25
+ const FM = {
26
+ theme: { canonical: 'squisq-theme', legacy: 'theme' },
27
+ transform: { canonical: 'squisq-transform', legacy: 'transform-style' },
28
+ captions: { canonical: 'squisq-captions', legacy: 'caption-style' },
29
+ };
30
+ function readFm(fm, canonical, legacy) {
31
+ if (!fm)
32
+ return '';
33
+ const v = Object.prototype.hasOwnProperty.call(fm, canonical) ? fm[canonical] : fm[legacy];
34
+ return typeof v === 'string' ? v : '';
35
+ }
36
+ const CAPTION_OPTIONS = [
37
+ { key: '', label: 'Default (Standard)' },
38
+ { key: 'standard', label: 'Standard' },
39
+ { key: 'social', label: 'Social' },
40
+ ];
41
+ // ── Component ─────────────────────────────────────────────────────
42
+ export function DocumentSettingsDialog({ markdownSource, onSave, onClose, }) {
43
+ // Parse once at open; further edits flow through local form state and
44
+ // are committed in a single `setFrontmatterValues` call on Save.
45
+ const parsed = useMemo(() => parseMarkdown(markdownSource), [markdownSource]);
46
+ const frontmatter = parsed.frontmatter;
47
+ const inferredTitle = useMemo(() => inferDocumentTitle(parsed), [parsed]);
48
+ const currentTitle = typeof frontmatter?.title === 'string' ? frontmatter.title : '';
49
+ const currentTheme = readFm(frontmatter, FM.theme.canonical, FM.theme.legacy);
50
+ const currentTransform = readFm(frontmatter, FM.transform.canonical, FM.transform.legacy);
51
+ const currentCaptions = readFm(frontmatter, FM.captions.canonical, FM.captions.legacy);
52
+ const [title, setTitle] = useState(currentTitle);
53
+ const [theme, setTheme] = useState(currentTheme);
54
+ const [transform, setTransform] = useState(currentTransform);
55
+ const [captions, setCaptions] = useState(currentCaptions);
56
+ const titleRef = useRef(null);
57
+ useEffect(() => {
58
+ titleRef.current?.focus();
59
+ titleRef.current?.select();
60
+ }, []);
61
+ // Esc closes; click on backdrop closes (but not on dialog itself).
62
+ useEffect(() => {
63
+ const onKey = (e) => {
64
+ if (e.key === 'Escape')
65
+ onClose();
66
+ };
67
+ document.addEventListener('keydown', onKey);
68
+ return () => document.removeEventListener('keydown', onKey);
69
+ }, [onClose]);
70
+ const handleBackdrop = useCallback((e) => {
71
+ if (e.target === e.currentTarget)
72
+ onClose();
73
+ }, [onClose]);
74
+ // Dropdown options — built once per render; cheap.
75
+ const transformOptions = useMemo(() => [
76
+ { key: '', label: 'None' },
77
+ ...getTransformStyleSummaries().map((s) => ({ key: s.id, label: s.name })),
78
+ ], []);
79
+ const handleSave = useCallback((e) => {
80
+ e.preventDefault();
81
+ const trimmedTitle = title.trim();
82
+ const titleMatchesInferred = !!inferredTitle && trimmedTitle === inferredTitle;
83
+ // Empty input OR matches the value we'd infer otherwise → no
84
+ // explicit title needed in frontmatter.
85
+ const nextTitle = !trimmedTitle || titleMatchesInferred ? null : trimmedTitle;
86
+ const updates = {
87
+ title: nextTitle,
88
+ [FM.theme.canonical]: theme || null,
89
+ // Legacy `theme` key would shadow our canonical one — clear it
90
+ // when the user changes the theme so the canonical write wins.
91
+ ...(currentTheme && theme !== currentTheme ? { [FM.theme.legacy]: null } : {}),
92
+ [FM.transform.canonical]: transform || null,
93
+ ...(currentTransform && transform !== currentTransform
94
+ ? { [FM.transform.legacy]: null }
95
+ : {}),
96
+ [FM.captions.canonical]: captions || null,
97
+ ...(currentCaptions && captions !== currentCaptions ? { [FM.captions.legacy]: null } : {}),
98
+ };
99
+ const nextSource = setFrontmatterValues(markdownSource, updates);
100
+ onSave(nextSource);
101
+ }, [
102
+ title,
103
+ theme,
104
+ transform,
105
+ captions,
106
+ inferredTitle,
107
+ markdownSource,
108
+ currentTheme,
109
+ currentTransform,
110
+ currentCaptions,
111
+ onSave,
112
+ ]);
113
+ return (_jsx("div", { className: "squisq-doc-settings-overlay", onMouseDown: handleBackdrop, children: _jsxs("form", { className: "squisq-doc-settings-dialog", onSubmit: handleSave, children: [_jsxs("div", { className: "squisq-doc-settings-header", children: [_jsx("h2", { className: "squisq-doc-settings-title", children: "Document settings" }), _jsx("button", { type: "button", className: "squisq-doc-settings-close", onClick: onClose, "aria-label": "Close", children: "\u00D7" })] }), _jsxs("div", { className: "squisq-doc-settings-body", children: [_jsxs("div", { className: "squisq-doc-settings-field", children: [_jsx("label", { className: "squisq-doc-settings-label", htmlFor: "squisq-doc-settings-title", children: "Title" }), _jsx("input", { ref: titleRef, id: "squisq-doc-settings-title", type: "text", className: "squisq-doc-settings-input", value: title, onChange: (e) => setTitle(e.target.value), placeholder: inferredTitle ?? 'Document title', spellCheck: true }), inferredTitle ? (_jsxs("span", { className: "squisq-doc-settings-hint", children: ["Defaults to ", _jsx("strong", { children: inferredTitle }), " \u2014 leave blank to use it."] })) : (_jsx("span", { className: "squisq-doc-settings-hint", children: "No title heading found \u2014 set one here or add an H1 to the document." }))] }), _jsxs("div", { className: "squisq-doc-settings-field", children: [_jsx("span", { className: "squisq-doc-settings-label", children: "Theme" }), _jsx(ThemePicker, { value: theme, onChange: setTheme, includeDefault: true, variant: "full", ariaLabel: "Theme" })] }), _jsxs("div", { className: "squisq-doc-settings-field", children: [_jsx("label", { className: "squisq-doc-settings-label", htmlFor: "squisq-doc-settings-transform", children: "Transform" }), _jsx("select", { id: "squisq-doc-settings-transform", className: "squisq-doc-settings-input", value: transform, onChange: (e) => setTransform(e.target.value), children: transformOptions.map((o) => (_jsx("option", { value: o.key, children: o.label }, o.key))) })] }), _jsxs("div", { className: "squisq-doc-settings-field", children: [_jsx("label", { className: "squisq-doc-settings-label", htmlFor: "squisq-doc-settings-captions", children: "Captions" }), _jsx("select", { id: "squisq-doc-settings-captions", className: "squisq-doc-settings-input", value: captions, onChange: (e) => setCaptions(e.target.value), children: CAPTION_OPTIONS.map((o) => (_jsx("option", { value: o.key, children: o.label }, o.key))) })] })] }), _jsxs("div", { className: "squisq-doc-settings-footer", children: [_jsx("button", { type: "button", className: "squisq-doc-settings-btn squisq-doc-settings-btn--secondary", onClick: onClose, children: "Cancel" }), _jsx("button", { type: "submit", className: "squisq-doc-settings-btn squisq-doc-settings-btn--primary", children: "Save" })] })] }) }));
114
+ }
115
+ //# sourceMappingURL=DocumentSettingsDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentSettingsDialog.js","sourceRoot":"","sources":["../src/DocumentSettingsDialog.tsx"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@
9
9
  import { type ReactNode } from 'react';
10
10
  import type { Doc, MediaProvider } from '@bendyline/squisq/schemas';
11
11
  import type { MarkdownDocument } from '@bendyline/squisq/markdown';
12
+ import type { ContentContainer } from '@bendyline/squisq/storage';
13
+ import { DocumentVersionManager, type PrunePolicy, type SaveVersionOptions, type SaveVersionResult } from '@bendyline/squisq/versions';
12
14
  import type { Editor as TiptapEditor } from '@tiptap/core';
13
15
  import type { editor as MonacoEditorNs } from 'monaco-editor';
14
16
  /** Monaco standalone code editor instance type */
@@ -37,14 +39,43 @@ export interface MentionCandidate {
37
39
  * the editor only cares that candidates come back in relevance order.
38
40
  */
39
41
  export type MentionProvider = (query: string) => Promise<MentionCandidate[]>;
42
+ /**
43
+ * A document that the link dialog's "Browse documents" picker can offer.
44
+ * `path` is what lands in the markdown URL (typically relative to the
45
+ * current document so `home.md → resume.md` round-trips through file-
46
+ * system serializers). `label` is the human name shown in the list.
47
+ * `description` is an optional secondary line (e.g. workspace folder,
48
+ * last-modified date).
49
+ */
50
+ export interface DocumentLinkCandidate {
51
+ path: string;
52
+ label: string;
53
+ description?: string;
54
+ }
55
+ /**
56
+ * Resolves sibling / workspace document candidates for the link dialog.
57
+ * The editor itself has no notion of "neighbors" — hosts that organize
58
+ * docs in a workspace (e.g. docblocks) implement this to power the
59
+ * dialog's document picker. Pass `''` as the query for an initial list
60
+ * (the dialog calls it once on open); subsequent calls narrow by user
61
+ * input.
62
+ */
63
+ export type DocumentLinkProvider = (query: string) => Promise<DocumentLinkCandidate[]>;
40
64
  export type EditorView = 'raw' | 'wysiwyg' | 'preview';
41
65
  export type EditorTheme = 'light' | 'dark';
66
+ /**
67
+ * How much of the active Squisq theme the WYSIWYG editing surface
68
+ * mirrors. `'fonts'` is the historical default — body and heading
69
+ * fonts only. `'fonts-colors'` also borrows the theme canvas / text
70
+ * colors. `'none'` opts out completely.
71
+ */
72
+ export type ThemeInheritance = 'none' | 'fonts' | 'fonts-colors';
42
73
  /**
43
74
  * Editor operating mode. `markdown` is the full experience (WYSIWYG +
44
75
  * Preview tabs, formatting toolbar). `code` is a Monaco-only view used
45
76
  * when the content represents a non-markdown file like `foo.ts`.
46
77
  */
47
- export type EditorMode = 'markdown' | 'code';
78
+ export type EditorMode = 'markdown' | 'code' | 'image';
48
79
  export interface EditorState {
49
80
  /** Raw markdown source string */
50
81
  markdownSource: string;
@@ -64,6 +95,62 @@ export interface EditorState {
64
95
  editorMode: EditorMode;
65
96
  /** Monaco language ID for the Raw editor. */
66
97
  language: string;
98
+ /**
99
+ * Whether the inline preview gutter (per-block card previews next to the
100
+ * WYSIWYG surface) is currently visible. Initialized from the EditorShell
101
+ * `inlinePreview` prop; the View menu in the toolbar can toggle it at
102
+ * runtime.
103
+ */
104
+ inlinePreviewVisible: boolean;
105
+ /**
106
+ * Whether the bottom status bar is currently visible. Initialized from
107
+ * the EditorShell `showStatusBar` prop (default true); the View menu in
108
+ * the toolbar can toggle it at runtime.
109
+ */
110
+ statusBarVisible: boolean;
111
+ /**
112
+ * Whether the left-side outline pane is currently visible. Initialized
113
+ * from the EditorShell `outline` prop (default false); the View menu in
114
+ * the toolbar can toggle it at runtime.
115
+ */
116
+ outlineVisible: boolean;
117
+ /**
118
+ * Whether inline block-template tags (the chip next to each templated
119
+ * heading in the WYSIWYG view, plus the subtle affordance chip on plain
120
+ * headings) are currently visible. Initialized from the EditorShell
121
+ * `blockTags` prop (default true); the View menu in the toolbar can
122
+ * toggle it at runtime.
123
+ */
124
+ blockTagsVisible: boolean;
125
+ /**
126
+ * How much of the active Squisq theme the WYSIWYG editing surface should
127
+ * inherit. `'none'` shows the default editor styling, `'fonts'` (the
128
+ * default) matches body and heading fonts only, and `'fonts-colors'`
129
+ * also borrows the theme's canvas / text colors so authors get a
130
+ * closer preview while editing.
131
+ */
132
+ themeInheritance: ThemeInheritance;
133
+ /**
134
+ * Relative path of an image the user requested to edit, or `null` when
135
+ * no editor is open. Surfaced by `<ImageNodeView>`'s hover affordance
136
+ * and consumed by `<EditorShell>` to render the modal `<ImageEditor>`.
137
+ */
138
+ imageEditTarget: string | null;
139
+ /**
140
+ * Monotonic counter bumped whenever a managed media asset is rewritten
141
+ * (e.g. after the image-editor modal saves back). Image render paths
142
+ * that cache resolved blob URLs should include this in their effect
143
+ * deps so the new bytes get picked up.
144
+ */
145
+ mediaRevision: number;
146
+ /**
147
+ * Whether the in-editor media recorder should be available. Defaults
148
+ * to true when a `mediaProvider` is wired; hosts that explicitly
149
+ * don't want the affordance (e.g. read-only embeds, surfaces where
150
+ * camera/screen prompts would be jarring) can pass `false` on the
151
+ * shell.
152
+ */
153
+ allowRecording: boolean;
67
154
  }
68
155
  export interface EditorActions {
69
156
  /** Set markdown source and trigger re-parse */
@@ -78,16 +165,62 @@ export interface EditorActions {
78
165
  setMonacoEditor: (editor: MonacoEditor | null) => void;
79
166
  /** Set the color theme */
80
167
  setTheme: (theme: EditorTheme) => void;
168
+ /** Show or hide the inline preview gutter at runtime (driven by the View menu). */
169
+ setInlinePreviewVisible: (visible: boolean) => void;
170
+ /** Show or hide the bottom status bar at runtime (driven by the View menu). */
171
+ setStatusBarVisible: (visible: boolean) => void;
172
+ /** Show or hide the left-side outline pane at runtime (driven by the View menu). */
173
+ setOutlineVisible: (visible: boolean) => void;
174
+ /** Show or hide inline block-template tags at runtime (driven by the View menu). */
175
+ setBlockTagsVisible: (visible: boolean) => void;
176
+ /** Change how much of the active Squisq theme the WYSIWYG surface mirrors. */
177
+ setThemeInheritance: (mode: ThemeInheritance) => void;
81
178
  /** Insert text at the current cursor position in the active editor */
82
179
  insertAtCursor: (text: string) => void;
83
180
  /** Replace all editor content with the given text */
84
181
  replaceAll: (text: string) => void;
182
+ /**
183
+ * Request the modal image editor open on the given relative media path.
184
+ * The path must resolve through the active `mediaProvider`. No-op when
185
+ * no provider is wired — callers should hide the affordance in that
186
+ * case.
187
+ */
188
+ openImageEdit: (relativePath: string) => void;
189
+ /** Close the image editor modal without saving. */
190
+ closeImageEdit: () => void;
191
+ /**
192
+ * Bump `mediaRevision`. Called after the image editor writes back to
193
+ * the original media path so dependent `<img>` nodes re-resolve their
194
+ * blob URL.
195
+ */
196
+ bumpMediaRevision: () => void;
85
197
  }
86
198
  export interface EditorContextValue extends EditorState, EditorActions {
87
199
  /** The live Tiptap editor instance (null when WYSIWYG is not mounted) */
88
200
  tiptapEditor: TiptapEditor | null;
89
201
  /** The live Monaco editor instance (null when Raw is not mounted) */
90
202
  monacoEditor: MonacoEditor | null;
203
+ /**
204
+ * Workspace-scoped `ContentContainer` for this document — the folder
205
+ * holding the doc, its `_files/` sidecar, sibling documents, and any
206
+ * version snapshots. Drives audio mapping, version history, and
207
+ * sibling-doc reads for the recursive HTML export.
208
+ */
209
+ workspaceContainer: ContentContainer | null;
210
+ /**
211
+ * Version manager — non-null only when the host opted into versioning
212
+ * (`allowVersioning` + a `workspaceContainer`). Components can call
213
+ * `saveVersion` directly, or render the version-history panel which
214
+ * reads it from here.
215
+ */
216
+ versioning: DocumentVersionManager | null;
217
+ /**
218
+ * Stamp a new snapshot of the current document. No-op (returns
219
+ * `unchanged`) when content matches the latest version. Always safe
220
+ * to call — when versioning is disabled, returns `no-document`
221
+ * without writing.
222
+ */
223
+ saveVersion: (options?: SaveVersionOptions) => Promise<SaveVersionResult>;
91
224
  /** MediaProvider for resolving image URLs in the WYSIWYG editor */
92
225
  mediaProvider: MediaProvider | null;
93
226
  /**
@@ -105,6 +238,13 @@ export interface EditorContextValue extends EditorState, EditorActions {
105
238
  * the user types `@<query>`. When unset, `@` is just a literal character.
106
239
  */
107
240
  mentionProvider: MentionProvider | null;
241
+ /**
242
+ * Optional provider for sibling-document suggestions in the link
243
+ * dialog. When set, the dialog shows a "Browse documents" picker that
244
+ * lets authors search neighbor docs by name and insert a relative-
245
+ * path link. When unset, the dialog falls back to URL-only.
246
+ */
247
+ documentLinkProvider: DocumentLinkProvider | null;
108
248
  }
109
249
  export type ImageDisplayMode = 'inline' | 'thumbnail';
110
250
  /**
@@ -120,6 +260,41 @@ export interface EditorProviderProps {
120
260
  articleId?: string;
121
261
  /** Color theme */
122
262
  theme?: EditorTheme;
263
+ /**
264
+ * Workspace-scoped `ContentContainer` for this document — the folder
265
+ * holding the doc, its `_files/` sidecar, sibling documents, and any
266
+ * version snapshots. Required for `allowVersioning` to take effect.
267
+ */
268
+ workspaceContainer?: ContentContainer | null;
269
+ /**
270
+ * Enable version history. Snapshots are stored at
271
+ * `.versions/<basename>.<timestamp>.md` inside `workspaceContainer`.
272
+ * Auto-save fires after `versioningAutoSaveIdleMs` of idle; hosts can
273
+ * also call `saveVersion()` from the context. Without a
274
+ * `workspaceContainer`, this prop is ignored (and a `console.warn` is
275
+ * emitted).
276
+ */
277
+ allowVersioning?: boolean;
278
+ /** Override the basename used in version filenames. Defaults to the
279
+ * basename of the container's primary document path. */
280
+ versionBasename?: string;
281
+ /**
282
+ * Prune policy applied after each successful auto-save. Defaults to
283
+ * keeping the last 50 snapshots so the count doesn't grow unbounded.
284
+ */
285
+ versioningPrunePolicy?: PrunePolicy;
286
+ /**
287
+ * Idle delay (ms) before auto-saving a version. `0` disables auto-save
288
+ * entirely (versions are saved only via host-driven `saveVersion`
289
+ * calls). Default: 5000.
290
+ */
291
+ versioningAutoSaveIdleMs?: number;
292
+ /**
293
+ * Notified after each `saveVersion` attempt — both successful saves
294
+ * (`reason: 'saved'`) and skips (`'unchanged'`, `'no-document'`,
295
+ * `'empty'`). Useful for hosts that want a "Last saved" indicator.
296
+ */
297
+ onSaveVersion?: (result: SaveVersionResult) => void;
123
298
  /** MediaProvider for resolving image URLs */
124
299
  mediaProvider?: MediaProvider | null;
125
300
  /** Display mode for images in the WYSIWYG view. Defaults to `'inline'`. */
@@ -129,6 +304,18 @@ export interface EditorProviderProps {
129
304
  * entirely — typing `@` becomes just a literal character again.
130
305
  */
131
306
  mentionProvider?: MentionProvider | null;
307
+ /**
308
+ * Async provider for sibling-document suggestions in the link dialog.
309
+ * Omit to fall back to URL-only link insertion.
310
+ */
311
+ documentLinkProvider?: DocumentLinkProvider | null;
312
+ /**
313
+ * Whether the in-editor media recorder is available in the toolbar.
314
+ * Defaults to true. Set to false to suppress the recorder affordance
315
+ * even when a `mediaProvider` is wired (e.g. read-only embeds,
316
+ * surfaces where camera/screen prompts would be jarring).
317
+ */
318
+ allowRecording?: boolean;
132
319
  /**
133
320
  * File name (e.g. `foo.ts`) or bare extension — used to pick a Monaco
134
321
  * language and decide between markdown vs. code mode.
@@ -136,12 +323,69 @@ export interface EditorProviderProps {
136
323
  fileName?: string;
137
324
  /** Explicit Monaco language ID — wins over the fileName-derived one. */
138
325
  language?: string;
326
+ /**
327
+ * Initial visibility of the inline preview gutter. Defaults to false.
328
+ * The toolbar's View menu can toggle it at runtime.
329
+ */
330
+ inlinePreview?: boolean;
331
+ /**
332
+ * Initial visibility of the bottom status bar. Defaults to true.
333
+ * The toolbar's View menu can toggle it at runtime.
334
+ */
335
+ showStatusBar?: boolean;
336
+ /**
337
+ * Initial visibility of the left-side outline pane. Defaults to false.
338
+ * The toolbar's View menu can toggle it at runtime.
339
+ */
340
+ outline?: boolean;
341
+ /**
342
+ * Initial visibility of inline block-template tags on headings.
343
+ * Defaults to true. The toolbar's View menu can toggle it at runtime.
344
+ */
345
+ blockTags?: boolean;
346
+ /**
347
+ * Initial value for how much of the active Squisq theme the WYSIWYG
348
+ * editing surface should mirror. Defaults to `'fonts'` — the
349
+ * historical behavior of inheriting body / heading fonts only. The
350
+ * toolbar's View menu can change it at runtime.
351
+ */
352
+ themeInheritance?: ThemeInheritance;
353
+ /**
354
+ * Bundled view preferences — a serializable JSON blob covering all
355
+ * runtime-toggleable view options. When provided, individual values
356
+ * here override the matching individual props (`inlinePreview`,
357
+ * `showStatusBar`, `outline`). Hosts wiring this up typically load
358
+ * the blob from their own preferences storage and pair it with
359
+ * {@link onViewPreferencesChange}.
360
+ */
361
+ viewPreferences?: ViewPreferences;
362
+ /**
363
+ * Notified after each user-driven toggle in the View menu (or any
364
+ * programmatic call to the corresponding context setters). The
365
+ * argument is a full snapshot — hosts can persist it as-is.
366
+ * Not called when {@link viewPreferences} is changed externally.
367
+ */
368
+ onViewPreferencesChange?: (prefs: ViewPreferences) => void;
139
369
  children: ReactNode;
140
370
  }
141
371
  /**
142
- * Provides shared editor state to all child components.
143
- * Automatically parses markdown and generates a Doc whenever the source changes.
372
+ * Serializable bundle of all runtime-toggleable view preferences for
373
+ * the editor shell. Hosts can persist this verbatim (e.g. to
374
+ * localStorage) and pass it back via {@link EditorProviderProps.viewPreferences}
375
+ * to restore the user's last view configuration.
144
376
  */
145
- export declare function EditorProvider({ initialMarkdown, initialView, articleId, theme: initialTheme, mediaProvider, imageDisplayMode, mentionProvider, fileName, language, children, }: EditorProviderProps): import("react/jsx-runtime").JSX.Element;
377
+ export interface ViewPreferences {
378
+ /** Whether the left-side outline pane is visible. */
379
+ outline?: boolean;
380
+ /** Whether the inline preview gutter (per-block cards) is visible. */
381
+ inlinePreview?: boolean;
382
+ /** Whether the bottom status bar is visible. */
383
+ showStatusBar?: boolean;
384
+ /** Whether inline block-template tags on headings are visible. */
385
+ blockTags?: boolean;
386
+ /** How much of the active Squisq theme the WYSIWYG surface mirrors. */
387
+ themeInheritance?: ThemeInheritance;
388
+ }
389
+ export declare function EditorProvider({ initialMarkdown, initialView, articleId, theme: initialTheme, workspaceContainer, allowVersioning, versionBasename, versioningPrunePolicy, versioningAutoSaveIdleMs, onSaveVersion, mediaProvider, imageDisplayMode, mentionProvider, documentLinkProvider, allowRecording, fileName, language, inlinePreview, showStatusBar, outline, blockTags, themeInheritance, viewPreferences, onViewPreferencesChange, children, }: EditorProviderProps): import("react/jsx-runtime").JSX.Element;
146
390
  export {};
147
391
  //# sourceMappingURL=EditorContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditorContext.d.ts","sourceRoot":"","sources":["../src/EditorContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EditorContext.d.ts","sourceRoot":"","sources":["../src/EditorContext.tsx"],"names":[],"mappings":"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"}