@bendyline/squisq-editor-react 1.5.1 → 1.5.3

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 (405) hide show
  1. package/dist/index.d.ts +1991 -90
  2. package/dist/index.js +17162 -82
  3. package/dist/index.js.map +1 -1
  4. package/package.json +4 -4
  5. package/src/RawEditor.tsx +49 -18
  6. package/src/VersionHistoryPanel.tsx +59 -17
  7. package/src/recorder/hooks/useMediaRecorder.ts +9 -1
  8. package/src/useMonacoLoader.ts +83 -0
  9. package/dist/DocumentSettingsDialog.d.ts +0 -26
  10. package/dist/DocumentSettingsDialog.d.ts.map +0 -1
  11. package/dist/DocumentSettingsDialog.js +0 -115
  12. package/dist/DocumentSettingsDialog.js.map +0 -1
  13. package/dist/DropZoneOverlay.d.ts +0 -24
  14. package/dist/DropZoneOverlay.d.ts.map +0 -1
  15. package/dist/DropZoneOverlay.js +0 -53
  16. package/dist/DropZoneOverlay.js.map +0 -1
  17. package/dist/EditorContext.d.ts +0 -391
  18. package/dist/EditorContext.d.ts.map +0 -1
  19. package/dist/EditorContext.js +0 -471
  20. package/dist/EditorContext.js.map +0 -1
  21. package/dist/EditorShell.d.ts +0 -328
  22. package/dist/EditorShell.d.ts.map +0 -1
  23. package/dist/EditorShell.js +0 -290
  24. package/dist/EditorShell.js.map +0 -1
  25. package/dist/EmojiPicker.d.ts +0 -50
  26. package/dist/EmojiPicker.d.ts.map +0 -1
  27. package/dist/EmojiPicker.js +0 -182
  28. package/dist/EmojiPicker.js.map +0 -1
  29. package/dist/ImageEditor.d.ts +0 -68
  30. package/dist/ImageEditor.d.ts.map +0 -1
  31. package/dist/ImageEditor.js +0 -166
  32. package/dist/ImageEditor.js.map +0 -1
  33. package/dist/ImageNodeView.d.ts +0 -27
  34. package/dist/ImageNodeView.d.ts.map +0 -1
  35. package/dist/ImageNodeView.js +0 -215
  36. package/dist/ImageNodeView.js.map +0 -1
  37. package/dist/ImageViewer.d.ts +0 -26
  38. package/dist/ImageViewer.d.ts.map +0 -1
  39. package/dist/ImageViewer.js +0 -119
  40. package/dist/ImageViewer.js.map +0 -1
  41. package/dist/InlineIcon.d.ts +0 -17
  42. package/dist/InlineIcon.d.ts.map +0 -1
  43. package/dist/InlineIcon.js +0 -72
  44. package/dist/InlineIcon.js.map +0 -1
  45. package/dist/InlinePreviewGutter.d.ts +0 -52
  46. package/dist/InlinePreviewGutter.d.ts.map +0 -1
  47. package/dist/InlinePreviewGutter.js +0 -397
  48. package/dist/InlinePreviewGutter.js.map +0 -1
  49. package/dist/LinkDialog.d.ts +0 -43
  50. package/dist/LinkDialog.d.ts.map +0 -1
  51. package/dist/LinkDialog.js +0 -102
  52. package/dist/LinkDialog.js.map +0 -1
  53. package/dist/MediaBin.d.ts +0 -29
  54. package/dist/MediaBin.d.ts.map +0 -1
  55. package/dist/MediaBin.js +0 -166
  56. package/dist/MediaBin.js.map +0 -1
  57. package/dist/MentionExtension.d.ts +0 -22
  58. package/dist/MentionExtension.d.ts.map +0 -1
  59. package/dist/MentionExtension.js +0 -245
  60. package/dist/MentionExtension.js.map +0 -1
  61. package/dist/OutlinePanel.d.ts +0 -17
  62. package/dist/OutlinePanel.d.ts.map +0 -1
  63. package/dist/OutlinePanel.js +0 -167
  64. package/dist/OutlinePanel.js.map +0 -1
  65. package/dist/PlainHtmlPreview.d.ts +0 -50
  66. package/dist/PlainHtmlPreview.d.ts.map +0 -1
  67. package/dist/PlainHtmlPreview.js +0 -155
  68. package/dist/PlainHtmlPreview.js.map +0 -1
  69. package/dist/PreviewControls.d.ts +0 -55
  70. package/dist/PreviewControls.d.ts.map +0 -1
  71. package/dist/PreviewControls.js +0 -277
  72. package/dist/PreviewControls.js.map +0 -1
  73. package/dist/PreviewPanel.d.ts +0 -29
  74. package/dist/PreviewPanel.d.ts.map +0 -1
  75. package/dist/PreviewPanel.js +0 -94
  76. package/dist/PreviewPanel.js.map +0 -1
  77. package/dist/RawEditor.d.ts +0 -32
  78. package/dist/RawEditor.d.ts.map +0 -1
  79. package/dist/RawEditor.js +0 -440
  80. package/dist/RawEditor.js.map +0 -1
  81. package/dist/RecorderEntry.d.ts +0 -24
  82. package/dist/RecorderEntry.d.ts.map +0 -1
  83. package/dist/RecorderEntry.js +0 -139
  84. package/dist/RecorderEntry.js.map +0 -1
  85. package/dist/StatusBar.d.ts +0 -15
  86. package/dist/StatusBar.d.ts.map +0 -1
  87. package/dist/StatusBar.js +0 -24
  88. package/dist/StatusBar.js.map +0 -1
  89. package/dist/TemplateAnnotation.d.ts +0 -20
  90. package/dist/TemplateAnnotation.d.ts.map +0 -1
  91. package/dist/TemplateAnnotation.js +0 -97
  92. package/dist/TemplateAnnotation.js.map +0 -1
  93. package/dist/TemplatePicker.d.ts +0 -53
  94. package/dist/TemplatePicker.d.ts.map +0 -1
  95. package/dist/TemplatePicker.js +0 -388
  96. package/dist/TemplatePicker.js.map +0 -1
  97. package/dist/ThemeCustomizerPanel.d.ts +0 -32
  98. package/dist/ThemeCustomizerPanel.d.ts.map +0 -1
  99. package/dist/ThemeCustomizerPanel.js +0 -256
  100. package/dist/ThemeCustomizerPanel.js.map +0 -1
  101. package/dist/ThemePicker.d.ts +0 -33
  102. package/dist/ThemePicker.d.ts.map +0 -1
  103. package/dist/ThemePicker.js +0 -148
  104. package/dist/ThemePicker.js.map +0 -1
  105. package/dist/Toolbar.d.ts +0 -36
  106. package/dist/Toolbar.d.ts.map +0 -1
  107. package/dist/Toolbar.js +0 -1001
  108. package/dist/Toolbar.js.map +0 -1
  109. package/dist/Tooltip.d.ts +0 -10
  110. package/dist/Tooltip.d.ts.map +0 -1
  111. package/dist/Tooltip.js +0 -104
  112. package/dist/Tooltip.js.map +0 -1
  113. package/dist/VersionHistoryPanel.d.ts +0 -14
  114. package/dist/VersionHistoryPanel.d.ts.map +0 -1
  115. package/dist/VersionHistoryPanel.js +0 -147
  116. package/dist/VersionHistoryPanel.js.map +0 -1
  117. package/dist/ViewMenuPanel.d.ts +0 -13
  118. package/dist/ViewMenuPanel.d.ts.map +0 -1
  119. package/dist/ViewMenuPanel.js +0 -58
  120. package/dist/ViewMenuPanel.js.map +0 -1
  121. package/dist/ViewSwitcher.d.ts +0 -14
  122. package/dist/ViewSwitcher.d.ts.map +0 -1
  123. package/dist/ViewSwitcher.js +0 -26
  124. package/dist/ViewSwitcher.js.map +0 -1
  125. package/dist/WysiwygEditor.d.ts +0 -39
  126. package/dist/WysiwygEditor.d.ts.map +0 -1
  127. package/dist/WysiwygEditor.js +0 -537
  128. package/dist/WysiwygEditor.js.map +0 -1
  129. package/dist/__tests__/detectMarkdown.test.d.ts +0 -2
  130. package/dist/__tests__/detectMarkdown.test.d.ts.map +0 -1
  131. package/dist/__tests__/detectMarkdown.test.js +0 -55
  132. package/dist/__tests__/detectMarkdown.test.js.map +0 -1
  133. package/dist/__tests__/documentSettingsDialog.test.d.ts +0 -2
  134. package/dist/__tests__/documentSettingsDialog.test.d.ts.map +0 -1
  135. package/dist/__tests__/documentSettingsDialog.test.js +0 -132
  136. package/dist/__tests__/documentSettingsDialog.test.js.map +0 -1
  137. package/dist/__tests__/emojiPicker.test.d.ts +0 -2
  138. package/dist/__tests__/emojiPicker.test.d.ts.map +0 -1
  139. package/dist/__tests__/emojiPicker.test.js +0 -111
  140. package/dist/__tests__/emojiPicker.test.js.map +0 -1
  141. package/dist/__tests__/fileKind.test.d.ts +0 -2
  142. package/dist/__tests__/fileKind.test.d.ts.map +0 -1
  143. package/dist/__tests__/fileKind.test.js +0 -94
  144. package/dist/__tests__/fileKind.test.js.map +0 -1
  145. package/dist/__tests__/imageEditAffordance.test.d.ts +0 -2
  146. package/dist/__tests__/imageEditAffordance.test.d.ts.map +0 -1
  147. package/dist/__tests__/imageEditAffordance.test.js +0 -188
  148. package/dist/__tests__/imageEditAffordance.test.js.map +0 -1
  149. package/dist/__tests__/imageEditorShell.test.d.ts +0 -2
  150. package/dist/__tests__/imageEditorShell.test.d.ts.map +0 -1
  151. package/dist/__tests__/imageEditorShell.test.js +0 -52
  152. package/dist/__tests__/imageEditorShell.test.js.map +0 -1
  153. package/dist/__tests__/imageEditorState.test.d.ts +0 -3
  154. package/dist/__tests__/imageEditorState.test.d.ts.map +0 -1
  155. package/dist/__tests__/imageEditorState.test.js +0 -148
  156. package/dist/__tests__/imageEditorState.test.js.map +0 -1
  157. package/dist/__tests__/inlinePreviewGutter.test.d.ts +0 -2
  158. package/dist/__tests__/inlinePreviewGutter.test.d.ts.map +0 -1
  159. package/dist/__tests__/inlinePreviewGutter.test.js +0 -51
  160. package/dist/__tests__/inlinePreviewGutter.test.js.map +0 -1
  161. package/dist/__tests__/inlinePreviewGutterAllBlocks.test.d.ts +0 -2
  162. package/dist/__tests__/inlinePreviewGutterAllBlocks.test.d.ts.map +0 -1
  163. package/dist/__tests__/inlinePreviewGutterAllBlocks.test.js +0 -63
  164. package/dist/__tests__/inlinePreviewGutterAllBlocks.test.js.map +0 -1
  165. package/dist/__tests__/jsonEditor.test.d.ts +0 -2
  166. package/dist/__tests__/jsonEditor.test.d.ts.map +0 -1
  167. package/dist/__tests__/jsonEditor.test.js +0 -134
  168. package/dist/__tests__/jsonEditor.test.js.map +0 -1
  169. package/dist/__tests__/layersPanel.test.d.ts +0 -2
  170. package/dist/__tests__/layersPanel.test.d.ts.map +0 -1
  171. package/dist/__tests__/layersPanel.test.js +0 -84
  172. package/dist/__tests__/layersPanel.test.js.map +0 -1
  173. package/dist/__tests__/linkDialogDocPicker.test.d.ts +0 -7
  174. package/dist/__tests__/linkDialogDocPicker.test.d.ts.map +0 -1
  175. package/dist/__tests__/linkDialogDocPicker.test.js +0 -75
  176. package/dist/__tests__/linkDialogDocPicker.test.js.map +0 -1
  177. package/dist/__tests__/mediaAttachmentFlow.test.d.ts +0 -2
  178. package/dist/__tests__/mediaAttachmentFlow.test.d.ts.map +0 -1
  179. package/dist/__tests__/mediaAttachmentFlow.test.js +0 -99
  180. package/dist/__tests__/mediaAttachmentFlow.test.js.map +0 -1
  181. package/dist/__tests__/outlinePanel.test.d.ts +0 -2
  182. package/dist/__tests__/outlinePanel.test.d.ts.map +0 -1
  183. package/dist/__tests__/outlinePanel.test.js +0 -68
  184. package/dist/__tests__/outlinePanel.test.js.map +0 -1
  185. package/dist/__tests__/plainHtmlPreview.test.d.ts +0 -2
  186. package/dist/__tests__/plainHtmlPreview.test.d.ts.map +0 -1
  187. package/dist/__tests__/plainHtmlPreview.test.js +0 -87
  188. package/dist/__tests__/plainHtmlPreview.test.js.map +0 -1
  189. package/dist/__tests__/propertiesPanel.test.d.ts +0 -2
  190. package/dist/__tests__/propertiesPanel.test.d.ts.map +0 -1
  191. package/dist/__tests__/propertiesPanel.test.js +0 -64
  192. package/dist/__tests__/propertiesPanel.test.js.map +0 -1
  193. package/dist/__tests__/recorderFormats.test.d.ts +0 -2
  194. package/dist/__tests__/recorderFormats.test.d.ts.map +0 -1
  195. package/dist/__tests__/recorderFormats.test.js +0 -121
  196. package/dist/__tests__/recorderFormats.test.js.map +0 -1
  197. package/dist/__tests__/recorderTimingJson.test.d.ts +0 -2
  198. package/dist/__tests__/recorderTimingJson.test.d.ts.map +0 -1
  199. package/dist/__tests__/recorderTimingJson.test.js +0 -37
  200. package/dist/__tests__/recorderTimingJson.test.js.map +0 -1
  201. package/dist/__tests__/templateAnnotationRoundTrip.test.d.ts +0 -2
  202. package/dist/__tests__/templateAnnotationRoundTrip.test.d.ts.map +0 -1
  203. package/dist/__tests__/templateAnnotationRoundTrip.test.js +0 -31
  204. package/dist/__tests__/templateAnnotationRoundTrip.test.js.map +0 -1
  205. package/dist/__tests__/tiptapBridge.test.d.ts +0 -2
  206. package/dist/__tests__/tiptapBridge.test.d.ts.map +0 -1
  207. package/dist/__tests__/tiptapBridge.test.js +0 -303
  208. package/dist/__tests__/tiptapBridge.test.js.map +0 -1
  209. package/dist/__tests__/tiptapImageRoundTrip.test.d.ts +0 -2
  210. package/dist/__tests__/tiptapImageRoundTrip.test.d.ts.map +0 -1
  211. package/dist/__tests__/tiptapImageRoundTrip.test.js +0 -68
  212. package/dist/__tests__/tiptapImageRoundTrip.test.js.map +0 -1
  213. package/dist/__tests__/useImageEditor.test.d.ts +0 -2
  214. package/dist/__tests__/useImageEditor.test.d.ts.map +0 -1
  215. package/dist/__tests__/useImageEditor.test.js +0 -131
  216. package/dist/__tests__/useImageEditor.test.js.map +0 -1
  217. package/dist/__tests__/useMediaRecorder.test.d.ts +0 -2
  218. package/dist/__tests__/useMediaRecorder.test.d.ts.map +0 -1
  219. package/dist/__tests__/useMediaRecorder.test.js +0 -153
  220. package/dist/__tests__/useMediaRecorder.test.js.map +0 -1
  221. package/dist/__tests__/versionHistory.test.d.ts +0 -2
  222. package/dist/__tests__/versionHistory.test.d.ts.map +0 -1
  223. package/dist/__tests__/versionHistory.test.js +0 -124
  224. package/dist/__tests__/versionHistory.test.js.map +0 -1
  225. package/dist/blockSlice.d.ts +0 -24
  226. package/dist/blockSlice.d.ts.map +0 -1
  227. package/dist/blockSlice.js +0 -63
  228. package/dist/blockSlice.js.map +0 -1
  229. package/dist/buildPreviewDoc.d.ts +0 -22
  230. package/dist/buildPreviewDoc.d.ts.map +0 -1
  231. package/dist/buildPreviewDoc.js +0 -262
  232. package/dist/buildPreviewDoc.js.map +0 -1
  233. package/dist/detectMarkdown.d.ts +0 -20
  234. package/dist/detectMarkdown.d.ts.map +0 -1
  235. package/dist/detectMarkdown.js +0 -61
  236. package/dist/detectMarkdown.js.map +0 -1
  237. package/dist/emojiData.d.ts +0 -81
  238. package/dist/emojiData.d.ts.map +0 -1
  239. package/dist/emojiData.js +0 -1283
  240. package/dist/emojiData.js.map +0 -1
  241. package/dist/fileKind.d.ts +0 -34
  242. package/dist/fileKind.d.ts.map +0 -1
  243. package/dist/fileKind.js +0 -144
  244. package/dist/fileKind.js.map +0 -1
  245. package/dist/hooks/useFileDrop.d.ts +0 -41
  246. package/dist/hooks/useFileDrop.d.ts.map +0 -1
  247. package/dist/hooks/useFileDrop.js +0 -205
  248. package/dist/hooks/useFileDrop.js.map +0 -1
  249. package/dist/imageEditor/CanvasSurface.d.ts +0 -31
  250. package/dist/imageEditor/CanvasSurface.d.ts.map +0 -1
  251. package/dist/imageEditor/CanvasSurface.js +0 -264
  252. package/dist/imageEditor/CanvasSurface.js.map +0 -1
  253. package/dist/imageEditor/ImageVersionHistoryDropdown.d.ts +0 -39
  254. package/dist/imageEditor/ImageVersionHistoryDropdown.d.ts.map +0 -1
  255. package/dist/imageEditor/ImageVersionHistoryDropdown.js +0 -283
  256. package/dist/imageEditor/ImageVersionHistoryDropdown.js.map +0 -1
  257. package/dist/imageEditor/LayersPanel.d.ts +0 -14
  258. package/dist/imageEditor/LayersPanel.d.ts.map +0 -1
  259. package/dist/imageEditor/LayersPanel.js +0 -43
  260. package/dist/imageEditor/LayersPanel.js.map +0 -1
  261. package/dist/imageEditor/PropertiesPanel.d.ts +0 -14
  262. package/dist/imageEditor/PropertiesPanel.d.ts.map +0 -1
  263. package/dist/imageEditor/PropertiesPanel.js +0 -97
  264. package/dist/imageEditor/PropertiesPanel.js.map +0 -1
  265. package/dist/imageEditor/Toolbar.d.ts +0 -30
  266. package/dist/imageEditor/Toolbar.d.ts.map +0 -1
  267. package/dist/imageEditor/Toolbar.js +0 -108
  268. package/dist/imageEditor/Toolbar.js.map +0 -1
  269. package/dist/imageEditor/icons.d.ts +0 -24
  270. package/dist/imageEditor/icons.d.ts.map +0 -1
  271. package/dist/imageEditor/icons.js +0 -45
  272. package/dist/imageEditor/icons.js.map +0 -1
  273. package/dist/imageEditor/layers/EditorImageLayer.d.ts +0 -16
  274. package/dist/imageEditor/layers/EditorImageLayer.d.ts.map +0 -1
  275. package/dist/imageEditor/layers/EditorImageLayer.js +0 -37
  276. package/dist/imageEditor/layers/EditorImageLayer.js.map +0 -1
  277. package/dist/imageEditor/layers/EditorShapeLayer.d.ts +0 -15
  278. package/dist/imageEditor/layers/EditorShapeLayer.d.ts.map +0 -1
  279. package/dist/imageEditor/layers/EditorShapeLayer.js +0 -20
  280. package/dist/imageEditor/layers/EditorShapeLayer.js.map +0 -1
  281. package/dist/imageEditor/layers/EditorTextLayer.d.ts +0 -18
  282. package/dist/imageEditor/layers/EditorTextLayer.d.ts.map +0 -1
  283. package/dist/imageEditor/layers/EditorTextLayer.js +0 -13
  284. package/dist/imageEditor/layers/EditorTextLayer.js.map +0 -1
  285. package/dist/imageEditor/layers/SelectionHandles.d.ts +0 -17
  286. package/dist/imageEditor/layers/SelectionHandles.d.ts.map +0 -1
  287. package/dist/imageEditor/layers/SelectionHandles.js +0 -19
  288. package/dist/imageEditor/layers/SelectionHandles.js.map +0 -1
  289. package/dist/imageEditor/state.d.ts +0 -76
  290. package/dist/imageEditor/state.d.ts.map +0 -1
  291. package/dist/imageEditor/state.js +0 -87
  292. package/dist/imageEditor/state.js.map +0 -1
  293. package/dist/imageEditor/useImageEditor.d.ts +0 -53
  294. package/dist/imageEditor/useImageEditor.d.ts.map +0 -1
  295. package/dist/imageEditor/useImageEditor.js +0 -244
  296. package/dist/imageEditor/useImageEditor.js.map +0 -1
  297. package/dist/imageEditor/useImageEditorTokens.d.ts +0 -16
  298. package/dist/imageEditor/useImageEditorTokens.d.ts.map +0 -1
  299. package/dist/imageEditor/useImageEditorTokens.js +0 -45
  300. package/dist/imageEditor/useImageEditorTokens.js.map +0 -1
  301. package/dist/index.d.ts.map +0 -1
  302. package/dist/jsonEditor/EmbeddedRichTextField.d.ts +0 -15
  303. package/dist/jsonEditor/EmbeddedRichTextField.d.ts.map +0 -1
  304. package/dist/jsonEditor/EmbeddedRichTextField.js +0 -74
  305. package/dist/jsonEditor/EmbeddedRichTextField.js.map +0 -1
  306. package/dist/jsonEditor/JsonEditor.d.ts +0 -36
  307. package/dist/jsonEditor/JsonEditor.d.ts.map +0 -1
  308. package/dist/jsonEditor/JsonEditor.js +0 -15
  309. package/dist/jsonEditor/JsonEditor.js.map +0 -1
  310. package/dist/jsonEditor/JsonEditorContext.d.ts +0 -28
  311. package/dist/jsonEditor/JsonEditorContext.d.ts.map +0 -1
  312. package/dist/jsonEditor/JsonEditorContext.js +0 -41
  313. package/dist/jsonEditor/JsonEditorContext.js.map +0 -1
  314. package/dist/jsonEditor/RenderNode.d.ts +0 -16
  315. package/dist/jsonEditor/RenderNode.d.ts.map +0 -1
  316. package/dist/jsonEditor/RenderNode.js +0 -32
  317. package/dist/jsonEditor/RenderNode.js.map +0 -1
  318. package/dist/jsonEditor/editors.d.ts +0 -36
  319. package/dist/jsonEditor/editors.d.ts.map +0 -1
  320. package/dist/jsonEditor/editors.js +0 -347
  321. package/dist/jsonEditor/editors.js.map +0 -1
  322. package/dist/jsonEditor/index.d.ts +0 -3
  323. package/dist/jsonEditor/index.d.ts.map +0 -1
  324. package/dist/jsonEditor/index.js +0 -2
  325. package/dist/jsonEditor/index.js.map +0 -1
  326. package/dist/jsonEditor/useJsonEditorTokens.d.ts +0 -13
  327. package/dist/jsonEditor/useJsonEditorTokens.d.ts.map +0 -1
  328. package/dist/jsonEditor/useJsonEditorTokens.js +0 -38
  329. package/dist/jsonEditor/useJsonEditorTokens.js.map +0 -1
  330. package/dist/mediaDragMime.d.ts +0 -17
  331. package/dist/mediaDragMime.d.ts.map +0 -1
  332. package/dist/mediaDragMime.js +0 -22
  333. package/dist/mediaDragMime.js.map +0 -1
  334. package/dist/recorder/RecorderButton.d.ts +0 -31
  335. package/dist/recorder/RecorderButton.d.ts.map +0 -1
  336. package/dist/recorder/RecorderButton.js +0 -24
  337. package/dist/recorder/RecorderButton.js.map +0 -1
  338. package/dist/recorder/RecorderModal.d.ts +0 -59
  339. package/dist/recorder/RecorderModal.d.ts.map +0 -1
  340. package/dist/recorder/RecorderModal.js +0 -333
  341. package/dist/recorder/RecorderModal.js.map +0 -1
  342. package/dist/recorder/RecorderPanel.d.ts +0 -25
  343. package/dist/recorder/RecorderPanel.d.ts.map +0 -1
  344. package/dist/recorder/RecorderPanel.js +0 -30
  345. package/dist/recorder/RecorderPanel.js.map +0 -1
  346. package/dist/recorder/formats.d.ts +0 -51
  347. package/dist/recorder/formats.d.ts.map +0 -1
  348. package/dist/recorder/formats.js +0 -144
  349. package/dist/recorder/formats.js.map +0 -1
  350. package/dist/recorder/hooks/useMediaRecorder.d.ts +0 -90
  351. package/dist/recorder/hooks/useMediaRecorder.d.ts.map +0 -1
  352. package/dist/recorder/hooks/useMediaRecorder.js +0 -277
  353. package/dist/recorder/hooks/useMediaRecorder.js.map +0 -1
  354. package/dist/recorder/hooks/useStreamPreview.d.ts +0 -22
  355. package/dist/recorder/hooks/useStreamPreview.d.ts.map +0 -1
  356. package/dist/recorder/hooks/useStreamPreview.js +0 -44
  357. package/dist/recorder/hooks/useStreamPreview.js.map +0 -1
  358. package/dist/recorder/sources/cameraStream.d.ts +0 -22
  359. package/dist/recorder/sources/cameraStream.d.ts.map +0 -1
  360. package/dist/recorder/sources/cameraStream.js +0 -24
  361. package/dist/recorder/sources/cameraStream.js.map +0 -1
  362. package/dist/recorder/sources/micStream.d.ts +0 -15
  363. package/dist/recorder/sources/micStream.d.ts.map +0 -1
  364. package/dist/recorder/sources/micStream.js +0 -24
  365. package/dist/recorder/sources/micStream.js.map +0 -1
  366. package/dist/recorder/sources/screenStream.d.ts +0 -53
  367. package/dist/recorder/sources/screenStream.d.ts.map +0 -1
  368. package/dist/recorder/sources/screenStream.js +0 -114
  369. package/dist/recorder/sources/screenStream.js.map +0 -1
  370. package/dist/recorder/timingJson.d.ts +0 -51
  371. package/dist/recorder/timingJson.d.ts.map +0 -1
  372. package/dist/recorder/timingJson.js +0 -42
  373. package/dist/recorder/timingJson.js.map +0 -1
  374. package/dist/tiptap/TiptapAudio.d.ts +0 -26
  375. package/dist/tiptap/TiptapAudio.d.ts.map +0 -1
  376. package/dist/tiptap/TiptapAudio.js +0 -58
  377. package/dist/tiptap/TiptapAudio.js.map +0 -1
  378. package/dist/tiptap/TiptapVideo.d.ts +0 -30
  379. package/dist/tiptap/TiptapVideo.d.ts.map +0 -1
  380. package/dist/tiptap/TiptapVideo.js +0 -66
  381. package/dist/tiptap/TiptapVideo.js.map +0 -1
  382. package/dist/tiptap/useResolvedMediaSrc.d.ts +0 -2
  383. package/dist/tiptap/useResolvedMediaSrc.d.ts.map +0 -1
  384. package/dist/tiptap/useResolvedMediaSrc.js +0 -42
  385. package/dist/tiptap/useResolvedMediaSrc.js.map +0 -1
  386. package/dist/tiptapBridge.d.ts +0 -24
  387. package/dist/tiptapBridge.d.ts.map +0 -1
  388. package/dist/tiptapBridge.js +0 -749
  389. package/dist/tiptapBridge.js.map +0 -1
  390. package/dist/useHeadingLayout.d.ts +0 -54
  391. package/dist/useHeadingLayout.d.ts.map +0 -1
  392. package/dist/useHeadingLayout.js +0 -260
  393. package/dist/useHeadingLayout.js.map +0 -1
  394. package/dist/utils/collectInlineFontAwesomeCss.d.ts +0 -21
  395. package/dist/utils/collectInlineFontAwesomeCss.d.ts.map +0 -1
  396. package/dist/utils/collectInlineFontAwesomeCss.js +0 -68
  397. package/dist/utils/collectInlineFontAwesomeCss.js.map +0 -1
  398. package/dist/utils/dropUtils.d.ts +0 -55
  399. package/dist/utils/dropUtils.d.ts.map +0 -1
  400. package/dist/utils/dropUtils.js +0 -110
  401. package/dist/utils/dropUtils.js.map +0 -1
  402. package/dist/utils/normalizeMalformedAssetUrl.d.ts +0 -15
  403. package/dist/utils/normalizeMalformedAssetUrl.d.ts.map +0 -1
  404. package/dist/utils/normalizeMalformedAssetUrl.js +0 -27
  405. package/dist/utils/normalizeMalformedAssetUrl.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"OutlinePanel.js","sourceRoot":"","sources":["../src/OutlinePanel.tsx"],"names":[],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- /**
2
- * PlainHtmlPreview
3
- *
4
- * Live WYSIWYG preview of the plain-HTML export. Renders the result of
5
- * `markdownDocToPlainHtml` inside a sandboxed `<iframe srcDoc>` so the
6
- * exported document's inline `<style>` block can't leak into the host
7
- * page — and so the preview looks identical to what users get when they
8
- * open the downloaded `.html`.
9
- *
10
- * Image handling: relative `<img src>` references in the markdown can't
11
- * load directly from inside the iframe (there's no real document
12
- * origin). When a `mediaProvider` is supplied, this component walks the
13
- * parsed markdown for image refs, resolves each through
14
- * `mediaProvider.resolveUrl()` (which returns a cached blob URL), and
15
- * passes the resolved map to the renderer so the iframe gets blob URLs
16
- * it can fetch.
17
- */
18
- import type { CSSProperties } from 'react';
19
- import type { MediaProvider, Theme } from '@bendyline/squisq/schemas';
20
- export interface PlainHtmlPreviewProps {
21
- /** Raw markdown source. */
22
- markdown: string;
23
- /** Document title — populates the iframe's `<title>`. */
24
- title?: string;
25
- /**
26
- * Pre-resolved image substitutions (export-time use). Takes precedence
27
- * over live `mediaProvider` resolution for any URL it contains.
28
- */
29
- images?: Map<string, string>;
30
- /**
31
- * When passed, relative image URLs in the markdown are resolved live
32
- * via this provider. Skip for static previews where `images` already
33
- * contains everything.
34
- */
35
- mediaProvider?: MediaProvider | null;
36
- /** Token that, when changed, forces re-resolution of media URLs.
37
- * Mirrors the `mediaRevision` bump the editor uses after an image
38
- * edit so saves show up in the preview without remount. */
39
- mediaRevision?: number;
40
- /**
41
- * Squisq theme to apply. When set, the iframe loads any Google-
42
- * hosted fonts the theme uses and the rendered HTML adopts the
43
- * theme's colors and typography.
44
- */
45
- theme?: Theme;
46
- className?: string;
47
- style?: CSSProperties;
48
- }
49
- export declare function PlainHtmlPreview({ markdown, title, images, mediaProvider, mediaRevision, theme, className, style, }: PlainHtmlPreviewProps): import("react/jsx-runtime").JSX.Element;
50
- //# sourceMappingURL=PlainHtmlPreview.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlainHtmlPreview.d.ts","sourceRoot":"","sources":["../src/PlainHtmlPreview.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAKtE,MAAM,WAAW,qBAAqB;IACpC,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC;;gEAE4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAUD,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,KAAK,EACL,MAAM,EACN,aAAa,EACb,aAAa,EACb,KAAK,EACL,SAAS,EACT,KAAK,GACN,EAAE,qBAAqB,2CA6EvB"}
@@ -1,155 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * PlainHtmlPreview
4
- *
5
- * Live WYSIWYG preview of the plain-HTML export. Renders the result of
6
- * `markdownDocToPlainHtml` inside a sandboxed `<iframe srcDoc>` so the
7
- * exported document's inline `<style>` block can't leak into the host
8
- * page — and so the preview looks identical to what users get when they
9
- * open the downloaded `.html`.
10
- *
11
- * Image handling: relative `<img src>` references in the markdown can't
12
- * load directly from inside the iframe (there's no real document
13
- * origin). When a `mediaProvider` is supplied, this component walks the
14
- * parsed markdown for image refs, resolves each through
15
- * `mediaProvider.resolveUrl()` (which returns a cached blob URL), and
16
- * passes the resolved map to the renderer so the iframe gets blob URLs
17
- * it can fetch.
18
- */
19
- import { useEffect, useMemo, useState } from 'react';
20
- import { parseMarkdown } from '@bendyline/squisq/markdown';
21
- import { markdownDocToPlainHtml } from '@bendyline/squisq-formats/html';
22
- import { normalizeMalformedAssetUrl } from './utils/normalizeMalformedAssetUrl';
23
- import { collectInlineFontAwesomeCss } from './utils/collectInlineFontAwesomeCss';
24
- const IFRAME_STYLE = {
25
- width: '100%',
26
- height: '100%',
27
- border: 'none',
28
- background: '#fff',
29
- display: 'block',
30
- };
31
- export function PlainHtmlPreview({ markdown, title, images, mediaProvider, mediaRevision, theme, className, style, }) {
32
- const mdDoc = useMemo(() => parseMarkdown(markdown), [markdown]);
33
- // Resolve any relative image URLs the doc references. Blob URLs are
34
- // cheap once cached, so re-resolving on every keystroke is fine —
35
- // `resolveUrl` is memoized inside the provider.
36
- const [resolvedImages, setResolvedImages] = useState(null);
37
- useEffect(() => {
38
- if (!mediaProvider) {
39
- setResolvedImages(null);
40
- return;
41
- }
42
- let cancelled = false;
43
- const refs = Array.from(collectImageRefs(mdDoc));
44
- Promise.all(refs.map(async (ref) => {
45
- // Word-style imports may have `http://<doc>_files/foo.png` —
46
- // recover the relative path so the workspace provider resolves
47
- // it, otherwise the iframe tries to fetch a nonsense hostname.
48
- const recovered = normalizeMalformedAssetUrl(ref);
49
- if (!recovered && isExternal(ref))
50
- return [ref, ref];
51
- const lookup = recovered ?? ref;
52
- try {
53
- const url = await mediaProvider.resolveUrl(lookup);
54
- return [ref, url];
55
- }
56
- catch {
57
- return [ref, ref];
58
- }
59
- })).then((pairs) => {
60
- if (cancelled)
61
- return;
62
- const next = new Map(pairs);
63
- setResolvedImages(next);
64
- });
65
- return () => {
66
- cancelled = true;
67
- };
68
- }, [mdDoc, mediaProvider, mediaRevision]);
69
- const mergedImages = useMemo(() => {
70
- if (!resolvedImages && !images)
71
- return undefined;
72
- const merged = new Map();
73
- if (resolvedImages)
74
- for (const [k, v] of resolvedImages)
75
- merged.set(k, v);
76
- if (images)
77
- for (const [k, v] of images)
78
- merged.set(k, v);
79
- return merged;
80
- }, [resolvedImages, images]);
81
- // Gather FontAwesome @font-face + utility rules from the host page's
82
- // own stylesheets so the iframe doesn't have to depend on a cross-
83
- // origin CDN fetch (which sandbox / tracking-prevention can silently
84
- // drop, leaving the icons invisible). The host (editor-react) already
85
- // bundles FA, so the rules are guaranteed to be present and the font
86
- // URLs inside them resolve to same-origin assets the iframe can
87
- // fetch under `allow-same-origin`.
88
- const iconsCss = useMemo(() => collectInlineFontAwesomeCss(), []);
89
- const html = useMemo(() => markdownDocToPlainHtml(mdDoc, { title, images: mergedImages, theme, iconsCss }), [mdDoc, title, mergedImages, theme, iconsCss]);
90
- return (_jsx("iframe", { className: className, "data-testid": "plain-html-preview", title: title ?? 'HTML preview', srcDoc: html,
91
- // `allow-same-origin` is required so the iframe can fetch blob:
92
- // URLs created by the host's media provider. We intentionally do
93
- // NOT include `allow-scripts` — the rendered HTML is plain-output
94
- // markup with no JS, and refusing scripts hardens against
95
- // accidental `<script>` content in user markdown.
96
- sandbox: "allow-same-origin", style: { ...IFRAME_STYLE, ...style } }));
97
- }
98
- // ── Image collection ───────────────────────────────────────────────
99
- function isExternal(url) {
100
- return (!url ||
101
- url.startsWith('data:') ||
102
- url.startsWith('blob:') ||
103
- url.startsWith('http://') ||
104
- url.startsWith('https://') ||
105
- url.startsWith('//'));
106
- }
107
- /**
108
- * Collect every image URL referenced anywhere in the doc — markdown
109
- * `image` nodes plus any `<img src>` inside raw HTML blocks/inlines
110
- * (the WYSIWYG editor emits the HTML form for resized images).
111
- */
112
- function collectImageRefs(doc) {
113
- const refs = new Set();
114
- function visitHtml(nodes) {
115
- for (const n of nodes) {
116
- if (n.type !== 'htmlElement')
117
- continue;
118
- const tag = n.tagName.toLowerCase();
119
- // <img>, <video>, and <audio> all reference media via `src`.
120
- // The export pipeline rewrites whichever map entries exist, so
121
- // collecting them under the same set is enough — `ctx.images`
122
- // is generic media despite the historical name.
123
- if (tag === 'img' || tag === 'video' || tag === 'audio' || tag === 'source') {
124
- const src = n.attributes.src;
125
- if (typeof src === 'string' && src)
126
- refs.add(src);
127
- }
128
- if (tag === 'video' || tag === 'audio') {
129
- const poster = n.attributes.poster;
130
- if (typeof poster === 'string' && poster)
131
- refs.add(poster);
132
- }
133
- visitHtml(n.children);
134
- }
135
- }
136
- function visit(node) {
137
- if (!node || typeof node !== 'object')
138
- return;
139
- const n = node;
140
- if (n.type === 'image' && typeof n.url === 'string' && n.url) {
141
- refs.add(n.url);
142
- }
143
- if ((n.type === 'htmlBlock' || n.type === 'htmlInline') && Array.isArray(n.htmlChildren)) {
144
- visitHtml(n.htmlChildren);
145
- }
146
- if (Array.isArray(n.children)) {
147
- for (const child of n.children)
148
- visit(child);
149
- }
150
- }
151
- for (const child of doc.children)
152
- visit(child);
153
- return refs;
154
- }
155
- //# sourceMappingURL=PlainHtmlPreview.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlainHtmlPreview.js","sourceRoot":"","sources":["../src/PlainHtmlPreview.tsx"],"names":[],"mappings":"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"}
@@ -1,55 +0,0 @@
1
- /**
2
- * PreviewControls
3
- *
4
- * Shared context and inline toolbar component for preview settings
5
- * (viewport format, display mode, theme, transform, caption style).
6
- *
7
- * The context is provided by EditorShell and consumed by both:
8
- * - PreviewControls (toolbar dropdowns, rendered in the main toolbar)
9
- * - PreviewPanel (the actual player, which reads the selected values)
10
- */
11
- import type { ReactNode } from 'react';
12
- import type { DisplayMode, CaptionStyle } from '@bendyline/squisq-react';
13
- import type { ViewportPreset, ViewportConfig } from '@bendyline/squisq/schemas';
14
- import type { Theme } from '@bendyline/squisq/schemas';
15
- import type { Doc } from '@bendyline/squisq/schemas';
16
- export interface PreviewSettings {
17
- activePreset: ViewportPreset;
18
- setSelectedPreset: (preset: ViewportPreset | null) => void;
19
- activeViewport: ViewportConfig;
20
- activeDisplayMode: DisplayMode;
21
- setSelectedDisplayMode: (mode: DisplayMode | null) => void;
22
- activeThemeId: string;
23
- setSelectedThemeId: (id: string | null) => void;
24
- activeTheme: Theme;
25
- activeTransformStyle: string;
26
- setSelectedTransformStyle: (id: string | null) => void;
27
- activeCaptionStyle: CaptionStyle;
28
- setSelectedCaptionStyle: (style: CaptionStyle | null) => void;
29
- }
30
- export declare function usePreviewSettings(): PreviewSettings;
31
- /**
32
- * Like {@link usePreviewSettings} but returns `null` when no provider is
33
- * mounted. For consumers (e.g. WysiwygEditor) that want to react to the
34
- * active theme when available without forcing every test harness to
35
- * wrap them in a PreviewSettingsProvider.
36
- */
37
- export declare function usePreviewSettingsOptional(): PreviewSettings | null;
38
- export interface PreviewSettingsProviderProps {
39
- doc: Doc | null;
40
- children: ReactNode;
41
- /**
42
- * Optional Theme to use for the preview, regardless of `Doc.themeId` or
43
- * the user's theme dropdown selection. Used by the theme customizer to
44
- * preview an in-progress theme without mutating the document. When
45
- * present, `activeTheme` is this value and `activeThemeId` is its `id`.
46
- */
47
- themeOverride?: Theme | null;
48
- }
49
- export declare function PreviewSettingsProvider({ doc, children, themeOverride, }: PreviewSettingsProviderProps): import("react/jsx-runtime").JSX.Element;
50
- /**
51
- * Inline preview controls rendered in the main toolbar row.
52
- * On narrow viewports, collapses into a single settings button with a dropdown.
53
- */
54
- export declare function PreviewToolbarControls(): import("react/jsx-runtime").JSX.Element;
55
- //# sourceMappingURL=PreviewControls.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PreviewControls.d.ts","sourceRoot":"","sources":["../src/PreviewControls.tsx"],"names":[],"mappings":"AACA;;;;;;;;;GASG;AAWH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAGvD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAMrD,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,cAAc,CAAC;IAC7B,iBAAiB,EAAE,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3D,cAAc,EAAE,cAAc,CAAC;IAC/B,iBAAiB,EAAE,WAAW,CAAC;IAC/B,sBAAsB,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3D,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,WAAW,EAAE,KAAK,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,yBAAyB,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,kBAAkB,EAAE,YAAY,CAAC;IACjC,uBAAuB,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;CAC/D;AAID,wBAAgB,kBAAkB,IAAI,eAAe,CAIpD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,IAAI,eAAe,GAAG,IAAI,CAEnE;AAiED,MAAM,WAAW,4BAA4B;IAC3C,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CAC9B;AAoBD,wBAAgB,uBAAuB,CAAC,EACtC,GAAG,EACH,QAAQ,EACR,aAAa,GACd,EAAE,4BAA4B,2CA8H9B;AA8DD;;;GAGG;AACH,wBAAgB,sBAAsB,4CA2FrC"}
@@ -1,277 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- /* eslint-disable react-refresh/only-export-components */
3
- /**
4
- * PreviewControls
5
- *
6
- * Shared context and inline toolbar component for preview settings
7
- * (viewport format, display mode, theme, transform, caption style).
8
- *
9
- * The context is provided by EditorShell and consumed by both:
10
- * - PreviewControls (toolbar dropdowns, rendered in the main toolbar)
11
- * - PreviewPanel (the actual player, which reads the selected values)
12
- */
13
- import { createContext, useCallback, useContext, useState, useMemo, useEffect, useRef, } from 'react';
14
- import { VIEWPORT_PRESETS, getThemeSummaries, resolveTheme } from '@bendyline/squisq/schemas';
15
- import { ThemePicker } from './ThemePicker';
16
- import { getTransformStyleSummaries } from '@bendyline/squisq/transform';
17
- import { setFrontmatterValues } from '@bendyline/squisq/markdown';
18
- import { useEditorContext } from './EditorContext';
19
- const PreviewSettingsContext = createContext(null);
20
- export function usePreviewSettings() {
21
- const ctx = useContext(PreviewSettingsContext);
22
- if (!ctx)
23
- throw new Error('usePreviewSettings must be used within PreviewSettingsProvider');
24
- return ctx;
25
- }
26
- /**
27
- * Like {@link usePreviewSettings} but returns `null` when no provider is
28
- * mounted. For consumers (e.g. WysiwygEditor) that want to react to the
29
- * active theme when available without forcing every test harness to
30
- * wrap them in a PreviewSettingsProvider.
31
- */
32
- export function usePreviewSettingsOptional() {
33
- return useContext(PreviewSettingsContext);
34
- }
35
- // ── Frontmatter resolvers ────────────────────────────────────────
36
- function resolveRenderAs(value) {
37
- if (typeof value !== 'string')
38
- return null;
39
- const v = value.trim().toLowerCase();
40
- const mapping = {
41
- landscape: 'landscape',
42
- '16:9': 'landscape',
43
- widescreen: 'landscape',
44
- portrait: 'portrait',
45
- '9:16': 'portrait',
46
- vertical: 'portrait',
47
- stories: 'portrait',
48
- square: 'square',
49
- '1:1': 'square',
50
- standard: 'standard',
51
- '4:3': 'standard',
52
- };
53
- return mapping[v] ?? null;
54
- }
55
- function resolveDisplayMode(value) {
56
- if (typeof value !== 'string')
57
- return null;
58
- const v = value.trim().toLowerCase();
59
- if (v === 'video' || v === 'slideshow' || v === 'linear' || v === 'page')
60
- return v;
61
- if (v === 'slides' || v === 'presentation' || v === 'deck')
62
- return 'slideshow';
63
- if (v === 'document' || v === 'scroll')
64
- return 'linear';
65
- if (v === 'html' || v === 'plain' || v === 'reader')
66
- return 'page';
67
- return null;
68
- }
69
- const VALID_THEME_IDS = new Set(getThemeSummaries().map((s) => s.id));
70
- function resolveFrontmatterTheme(value) {
71
- if (typeof value !== 'string')
72
- return null;
73
- const v = value.trim().toLowerCase();
74
- if (VALID_THEME_IDS.has(v))
75
- return v;
76
- const normalized = v.replace(/\s+/g, '-');
77
- if (VALID_THEME_IDS.has(normalized))
78
- return normalized;
79
- return null;
80
- }
81
- const VALID_TRANSFORM_IDS = new Set(getTransformStyleSummaries().map((s) => s.id));
82
- function resolveFrontmatterTransform(value) {
83
- if (typeof value !== 'string')
84
- return null;
85
- const v = value.trim().toLowerCase();
86
- if (VALID_TRANSFORM_IDS.has(v))
87
- return v;
88
- const normalized = v.replace(/\s+/g, '-');
89
- if (VALID_TRANSFORM_IDS.has(normalized))
90
- return normalized;
91
- return null;
92
- }
93
- function resolveFrontmatterCaptionStyle(value) {
94
- if (typeof value !== 'string')
95
- return null;
96
- const v = value.trim().toLowerCase();
97
- if (v === 'standard' || v === 'social')
98
- return v;
99
- if (v === 'instagram' || v === 'tiktok' || v === 'reels')
100
- return 'social';
101
- return null;
102
- }
103
- /** Frontmatter keys we read/write for preview settings. The squisq-prefixed
104
- * keys are the canonical names; the legacy keys are still read so existing
105
- * documents keep working. Persistence (writes) uses only the squisq names. */
106
- const FM_KEYS = {
107
- theme: { canonical: 'squisq-theme', legacy: 'theme' },
108
- transform: { canonical: 'squisq-transform', legacy: 'transform-style' },
109
- captions: { canonical: 'squisq-captions', legacy: 'caption-style' },
110
- };
111
- function readFrontmatterKey(fm, canonical, legacy) {
112
- if (!fm)
113
- return undefined;
114
- return Object.prototype.hasOwnProperty.call(fm, canonical) ? fm[canonical] : fm[legacy];
115
- }
116
- export function PreviewSettingsProvider({ doc, children, themeOverride, }) {
117
- const frontmatter = doc?.frontmatter;
118
- const { markdownSource, setMarkdownSource } = useEditorContext();
119
- const persistFrontmatter = useCallback((updates) => {
120
- const next = setFrontmatterValues(markdownSource, updates);
121
- if (next !== markdownSource) {
122
- setMarkdownSource(next);
123
- }
124
- }, [markdownSource, setMarkdownSource]);
125
- // Viewport
126
- const fmPreset = useMemo(() => resolveRenderAs(frontmatter?.['document-render-as']), [frontmatter]);
127
- const [selectedPreset, setSelectedPreset] = useState(null);
128
- useEffect(() => setSelectedPreset(null), [fmPreset]);
129
- const activePreset = selectedPreset ?? fmPreset ?? 'landscape';
130
- const activeViewport = VIEWPORT_PRESETS[activePreset];
131
- // Display mode
132
- const fmMode = useMemo(() => resolveDisplayMode(frontmatter?.['display-mode']), [frontmatter]);
133
- const [selectedDisplayMode, setSelectedDisplayMode] = useState(null);
134
- useEffect(() => setSelectedDisplayMode(null), [fmMode]);
135
- const activeDisplayMode = selectedDisplayMode ?? fmMode ?? 'video';
136
- // Theme — persisted to `squisq-theme` (legacy `theme` still read for compat)
137
- const fmTheme = useMemo(() => resolveFrontmatterTheme(readFrontmatterKey(frontmatter, FM_KEYS.theme.canonical, FM_KEYS.theme.legacy)), [frontmatter]);
138
- const [selectedThemeId, setSelectedThemeId] = useState(null);
139
- useEffect(() => setSelectedThemeId(null), [fmTheme]);
140
- const resolvedThemeId = selectedThemeId ?? fmTheme ?? 'standard';
141
- const resolvedTheme = useMemo(() => resolveTheme(resolvedThemeId), [resolvedThemeId]);
142
- // themeOverride wins over both dropdown selection and frontmatter
143
- const activeThemeId = themeOverride?.id ?? resolvedThemeId;
144
- const activeTheme = themeOverride ?? resolvedTheme;
145
- const handleSetThemeId = useCallback((id) => {
146
- setSelectedThemeId(id);
147
- if (id !== null)
148
- persistFrontmatter({ [FM_KEYS.theme.canonical]: id });
149
- }, [persistFrontmatter]);
150
- // Transform — persisted to `squisq-transform` (legacy `transform-style` read for compat)
151
- const fmTransform = useMemo(() => resolveFrontmatterTransform(readFrontmatterKey(frontmatter, FM_KEYS.transform.canonical, FM_KEYS.transform.legacy)), [frontmatter]);
152
- const [selectedTransformStyle, setSelectedTransformStyle] = useState(null);
153
- useEffect(() => setSelectedTransformStyle(null), [fmTransform]);
154
- const activeTransformStyle = selectedTransformStyle ?? fmTransform ?? '';
155
- const handleSetTransformStyle = useCallback((id) => {
156
- setSelectedTransformStyle(id);
157
- if (id !== null) {
158
- // Empty string = "None" — remove the key rather than writing a blank value.
159
- persistFrontmatter({ [FM_KEYS.transform.canonical]: id === '' ? null : id });
160
- }
161
- }, [persistFrontmatter]);
162
- // Caption style — persisted to `squisq-captions` (legacy `caption-style` read for compat)
163
- const fmCaption = useMemo(() => resolveFrontmatterCaptionStyle(readFrontmatterKey(frontmatter, FM_KEYS.captions.canonical, FM_KEYS.captions.legacy)), [frontmatter]);
164
- const [selectedCaptionStyle, setSelectedCaptionStyle] = useState(null);
165
- useEffect(() => setSelectedCaptionStyle(null), [fmCaption]);
166
- const activeCaptionStyle = selectedCaptionStyle ?? fmCaption ?? 'standard';
167
- const handleSetCaptionStyle = useCallback((style) => {
168
- setSelectedCaptionStyle(style);
169
- if (style !== null)
170
- persistFrontmatter({ [FM_KEYS.captions.canonical]: style });
171
- }, [persistFrontmatter]);
172
- const value = useMemo(() => ({
173
- activePreset,
174
- setSelectedPreset,
175
- activeViewport,
176
- activeDisplayMode,
177
- setSelectedDisplayMode,
178
- activeThemeId,
179
- setSelectedThemeId: handleSetThemeId,
180
- activeTheme,
181
- activeTransformStyle,
182
- setSelectedTransformStyle: handleSetTransformStyle,
183
- activeCaptionStyle,
184
- setSelectedCaptionStyle: handleSetCaptionStyle,
185
- }), [
186
- activePreset,
187
- activeViewport,
188
- activeDisplayMode,
189
- activeThemeId,
190
- activeTheme,
191
- activeTransformStyle,
192
- activeCaptionStyle,
193
- handleSetThemeId,
194
- handleSetTransformStyle,
195
- handleSetCaptionStyle,
196
- ]);
197
- return (_jsx(PreviewSettingsContext.Provider, { value: value, children: children }));
198
- }
199
- // ── Dropdown options ─────────────────────────────────────────────
200
- const VIEWPORT_OPTIONS = [
201
- { key: 'landscape', label: '16:9' },
202
- { key: 'portrait', label: '9:16' },
203
- { key: 'square', label: '1:1' },
204
- { key: 'standard', label: '4:3' },
205
- ];
206
- const DISPLAY_MODE_OPTIONS = [
207
- { key: 'video', label: 'Video' },
208
- { key: 'slideshow', label: 'Slideshow' },
209
- { key: 'linear', label: 'Document' },
210
- { key: 'page', label: 'Page' },
211
- ];
212
- const TRANSFORM_STYLE_OPTIONS = [
213
- { key: '', label: 'None' },
214
- ...getTransformStyleSummaries().map((s) => ({ key: s.id, label: s.name })),
215
- ];
216
- const CAPTION_STYLE_OPTIONS = [
217
- { key: 'standard', label: 'Standard' },
218
- { key: 'social', label: 'Social' },
219
- ];
220
- // ── Shared styles ────────────────────────────────────────────────
221
- const labelStyle = {
222
- color: 'var(--squisq-text-muted, #6b7280)',
223
- fontSize: '12px',
224
- whiteSpace: 'nowrap',
225
- };
226
- const selectStyle = {
227
- padding: '2px 6px',
228
- borderRadius: '4px',
229
- border: '1px solid var(--squisq-border, #d1d5db)',
230
- background: 'var(--squisq-input-bg, #fff)',
231
- color: 'var(--squisq-text, #1f2937)',
232
- fontSize: '12px',
233
- cursor: 'pointer',
234
- };
235
- // ── Toolbar Controls Component ───────────────────────────────────
236
- /** Hook to track whether the viewport is narrow. */
237
- function useIsNarrow(breakpoint = 600) {
238
- const [narrow, setNarrow] = useState(() => typeof window !== 'undefined' && window.innerWidth <= breakpoint);
239
- useEffect(() => {
240
- const mq = window.matchMedia(`(max-width: ${breakpoint}px)`);
241
- const handler = (e) => setNarrow(e.matches);
242
- mq.addEventListener('change', handler);
243
- return () => mq.removeEventListener('change', handler);
244
- }, [breakpoint]);
245
- return narrow;
246
- }
247
- /**
248
- * Inline preview controls rendered in the main toolbar row.
249
- * On narrow viewports, collapses into a single settings button with a dropdown.
250
- */
251
- export function PreviewToolbarControls() {
252
- const s = usePreviewSettings();
253
- const isNarrow = useIsNarrow(768);
254
- const [popoverOpen, setPopoverOpen] = useState(false);
255
- const popoverRef = useRef(null);
256
- // Close popover on outside click
257
- useEffect(() => {
258
- if (!popoverOpen)
259
- return;
260
- const handler = (e) => {
261
- if (popoverRef.current && !popoverRef.current.contains(e.target)) {
262
- setPopoverOpen(false);
263
- }
264
- };
265
- document.addEventListener('mousedown', handler);
266
- return () => document.removeEventListener('mousedown', handler);
267
- }, [popoverOpen]);
268
- const controls = (_jsxs(_Fragment, { children: [_jsx(PreviewSelect, { label: "Format", value: s.activePreset, options: VIEWPORT_OPTIONS, onChange: (v) => s.setSelectedPreset(v), compact: isNarrow }), _jsx(PreviewSelect, { label: "Mode", value: s.activeDisplayMode, options: DISPLAY_MODE_OPTIONS, onChange: (v) => s.setSelectedDisplayMode(v), compact: isNarrow }), _jsxs("div", { className: `squisq-preview-control${isNarrow ? ' squisq-preview-control--compact' : ''}`, children: [_jsx("label", { style: labelStyle, children: "Theme:" }), _jsx(ThemePicker, { value: s.activeThemeId, onChange: (v) => s.setSelectedThemeId(v), ariaLabel: "Theme" })] }), _jsx(PreviewSelect, { label: "Transform", value: s.activeTransformStyle, options: TRANSFORM_STYLE_OPTIONS, onChange: (v) => s.setSelectedTransformStyle(v), compact: isNarrow }), _jsx(PreviewSelect, { label: "Captions", value: s.activeCaptionStyle, options: CAPTION_STYLE_OPTIONS, onChange: (v) => s.setSelectedCaptionStyle(v), compact: isNarrow })] }));
269
- if (isNarrow) {
270
- return (_jsxs("div", { className: "squisq-preview-controls-compact", ref: popoverRef, children: [_jsx("button", { className: "squisq-toolbar-button", onClick: () => setPopoverOpen((v) => !v), "aria-label": "Preview settings", title: "Preview settings", "aria-expanded": popoverOpen, children: _jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("circle", { cx: "8", cy: "8", r: "2.5" }), _jsx("path", { d: "M13.5 8a5.5 5.5 0 01-.4 1.8l1.2 1.2-1.6 1.6-1.2-1.2A5.5 5.5 0 018 13.5a5.5 5.5 0 01-3.5-1.3L3.3 13.4 1.7 11.8l1.2-1.2A5.5 5.5 0 012.5 8c0-.6.1-1.2.4-1.8L1.7 5 3.3 3.4l1.2 1.2A5.5 5.5 0 018 2.5c1.3 0 2.5.5 3.5 1.3l1.2-1.2 1.6 1.6-1.2 1.2c.3.6.4 1.2.4 1.6z" })] }) }), popoverOpen && _jsx("div", { className: "squisq-preview-controls-popover", children: controls })] }));
271
- }
272
- return _jsx("div", { className: "squisq-preview-controls-inline", children: controls });
273
- }
274
- function PreviewSelect({ label, value, options, onChange, compact, }) {
275
- return (_jsxs("div", { className: `squisq-preview-control${compact ? ' squisq-preview-control--compact' : ''}`, children: [_jsxs("label", { style: labelStyle, children: [label, ":"] }), _jsx("select", { value: value, onChange: (e) => onChange(e.target.value), style: selectStyle, children: options.map((o) => (_jsx("option", { value: o.key, children: o.label }, o.key))) })] }));
276
- }
277
- //# sourceMappingURL=PreviewControls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PreviewControls.js","sourceRoot":"","sources":["../src/PreviewControls.tsx"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- /**
2
- * PreviewPanel
3
- *
4
- * Renders a live preview of the current markdown document as a slideshow
5
- * using the DocPlayer component from @bendyline/squisq-react. The
6
- * markdown → player-Doc conversion is delegated to the shared
7
- * `buildPreviewDoc` helper so live preview and the export pipeline stay
8
- * in sync.
9
- */
10
- import type { ContentContainer } from '@bendyline/squisq/storage';
11
- export interface PreviewPanelProps {
12
- /** Base path for resolving media URLs in DocPlayer */
13
- basePath?: string;
14
- /** Additional class name for the container */
15
- className?: string;
16
- /**
17
- * Workspace-scoped `ContentContainer` (the folder holding the doc and
18
- * its siblings). Used here for audio mapping — MP3 discovery and
19
- * `timing.json` reading.
20
- */
21
- workspaceContainer?: ContentContainer | null;
22
- }
23
- /**
24
- * Live preview panel that renders the current document as a slideshow
25
- * or document view. Controls (viewport, mode, theme, transform, captions)
26
- * are rendered in the main toolbar via PreviewToolbarControls.
27
- */
28
- export declare function PreviewPanel({ basePath, className, workspaceContainer }: PreviewPanelProps): import("react/jsx-runtime").JSX.Element;
29
- //# sourceMappingURL=PreviewPanel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PreviewPanel.d.ts","sourceRoot":"","sources":["../src/PreviewPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAMlE,MAAM,WAAW,iBAAiB;IAChC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC9C;AAID;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,QAAc,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,iBAAiB,2CA0IhG"}