@bendyline/squisq-editor-react 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE.md +40 -0
  3. package/dist/index.d.ts +188 -55
  4. package/dist/index.js +5094 -2948
  5. package/dist/monaco.js +0 -1
  6. package/dist/styles/index.css +234 -145
  7. package/package.json +9 -6
  8. package/dist/index.js.map +0 -1
  9. package/dist/monaco.js.map +0 -1
  10. package/src/BlockCardView.tsx +0 -121
  11. package/src/BlockPreviewPanel.tsx +0 -69
  12. package/src/BlockPropertiesPopover.tsx +0 -222
  13. package/src/DocumentSettingsDialog.tsx +0 -272
  14. package/src/DropZoneOverlay.tsx +0 -137
  15. package/src/EditorContext.tsx +0 -1274
  16. package/src/EditorShell.tsx +0 -1358
  17. package/src/EmojiPicker.tsx +0 -332
  18. package/src/FolderView.tsx +0 -131
  19. package/src/Icon.tsx +0 -26
  20. package/src/ImageEditor.tsx +0 -395
  21. package/src/ImageNodeView.tsx +0 -284
  22. package/src/ImageViewer.tsx +0 -221
  23. package/src/InlineIcon.ts +0 -84
  24. package/src/InlinePreviewGutter.tsx +0 -590
  25. package/src/LinkDialog.tsx +0 -276
  26. package/src/MediaBin.tsx +0 -500
  27. package/src/MentionExtension.tsx +0 -261
  28. package/src/OutlinePanel.tsx +0 -547
  29. package/src/PlainHtmlPreview.tsx +0 -277
  30. package/src/PreviewControls.tsx +0 -1265
  31. package/src/PreviewPanel.tsx +0 -426
  32. package/src/RawEditor.tsx +0 -743
  33. package/src/RecorderEntry.tsx +0 -162
  34. package/src/StatusBar.tsx +0 -51
  35. package/src/TemplateAnnotation.ts +0 -167
  36. package/src/TemplateContentPreview.tsx +0 -56
  37. package/src/TemplatePicker.tsx +0 -1314
  38. package/src/ThemeCustomizerPanel.tsx +0 -304
  39. package/src/ThemePicker.tsx +0 -433
  40. package/src/TimelineBlockPreview.tsx +0 -37
  41. package/src/TimelineTrack.tsx +0 -671
  42. package/src/Toolbar.tsx +0 -2885
  43. package/src/Tooltip.tsx +0 -142
  44. package/src/TransitionPicker.tsx +0 -390
  45. package/src/VersionHistoryPanel.tsx +0 -359
  46. package/src/ViewMenuPanel.tsx +0 -189
  47. package/src/ViewSwitcher.tsx +0 -56
  48. package/src/WysiwygEditor.tsx +0 -806
  49. package/src/__tests__/blockProperties.test.ts +0 -92
  50. package/src/__tests__/blockPropertiesPopoverTheme.test.tsx +0 -33
  51. package/src/__tests__/blockRange.test.ts +0 -105
  52. package/src/__tests__/blockTagActivity.test.ts +0 -183
  53. package/src/__tests__/buildDocumentPreviewMarkdown.test.ts +0 -75
  54. package/src/__tests__/buildPreviewDocContent.test.ts +0 -65
  55. package/src/__tests__/buildPreviewDocTransition.test.ts +0 -92
  56. package/src/__tests__/canvasSurfaceTextEditing.test.tsx +0 -60
  57. package/src/__tests__/codeContextSectionView.test.tsx +0 -97
  58. package/src/__tests__/codeContextZoneManager.test.ts +0 -127
  59. package/src/__tests__/createShapeLayer.test.ts +0 -46
  60. package/src/__tests__/customLayoutManagerTheme.test.tsx +0 -34
  61. package/src/__tests__/detectMarkdown.test.ts +0 -73
  62. package/src/__tests__/diffContextSections.test.ts +0 -39
  63. package/src/__tests__/documentSettingsDialog.test.tsx +0 -197
  64. package/src/__tests__/drawingShapeRoundTrip.test.ts +0 -49
  65. package/src/__tests__/editorScrollHandoff.test.tsx +0 -102
  66. package/src/__tests__/editorScrollSync.test.ts +0 -65
  67. package/src/__tests__/editorShellCodeContext.test.tsx +0 -86
  68. package/src/__tests__/editorShellProps.test.tsx +0 -550
  69. package/src/__tests__/embeddedMedia.test.ts +0 -48
  70. package/src/__tests__/emojiPicker.test.tsx +0 -93
  71. package/src/__tests__/fileKind.test.ts +0 -112
  72. package/src/__tests__/findMode.test.tsx +0 -104
  73. package/src/__tests__/findModel.test.ts +0 -55
  74. package/src/__tests__/headingTransition.test.ts +0 -176
  75. package/src/__tests__/imageEditAffordance.test.tsx +0 -272
  76. package/src/__tests__/imageEditModalContract.test.tsx +0 -119
  77. package/src/__tests__/imageEditorShell.test.tsx +0 -94
  78. package/src/__tests__/imageEditorState.test.ts +0 -171
  79. package/src/__tests__/inlinePreviewGutter.test.tsx +0 -62
  80. package/src/__tests__/inlinePreviewGutterAllBlocks.test.tsx +0 -103
  81. package/src/__tests__/jsonEditor.test.tsx +0 -223
  82. package/src/__tests__/layersPanel.test.tsx +0 -167
  83. package/src/__tests__/layoutChildRoundTrip.test.ts +0 -71
  84. package/src/__tests__/linkDialogDocPicker.test.tsx +0 -137
  85. package/src/__tests__/majorApiTypes.test.ts +0 -26
  86. package/src/__tests__/markdownCodeFence.test.ts +0 -45
  87. package/src/__tests__/mediaAttachmentFlow.test.ts +0 -110
  88. package/src/__tests__/mediaBinDrop.test.tsx +0 -90
  89. package/src/__tests__/mediaReferences.test.ts +0 -97
  90. package/src/__tests__/narrationSave.test.ts +0 -148
  91. package/src/__tests__/outlinePanel.test.tsx +0 -169
  92. package/src/__tests__/outlineSource.test.ts +0 -217
  93. package/src/__tests__/plainHtmlPreview.test.tsx +0 -125
  94. package/src/__tests__/presentationMode.test.tsx +0 -290
  95. package/src/__tests__/previewControls.test.tsx +0 -571
  96. package/src/__tests__/previewPanelAudioFailure.test.tsx +0 -46
  97. package/src/__tests__/previewPanelPresentation.test.tsx +0 -126
  98. package/src/__tests__/previewPanelTransforms.test.tsx +0 -117
  99. package/src/__tests__/propertiesPanel.test.tsx +0 -69
  100. package/src/__tests__/rawEditorModelIsolation.test.ts +0 -19
  101. package/src/__tests__/recorderFormats.test.ts +0 -146
  102. package/src/__tests__/recorderMediaInsert.test.ts +0 -86
  103. package/src/__tests__/recorderTheme.test.tsx +0 -42
  104. package/src/__tests__/recorderTimingJson.test.ts +0 -41
  105. package/src/__tests__/resolveBlockVisual.test.ts +0 -43
  106. package/src/__tests__/selectionConversions.test.ts +0 -80
  107. package/src/__tests__/statusBar.test.tsx +0 -27
  108. package/src/__tests__/teleprompter.test.tsx +0 -190
  109. package/src/__tests__/templateAnnotationRoundTrip.test.ts +0 -99
  110. package/src/__tests__/templateContentPreview.test.ts +0 -101
  111. package/src/__tests__/templatePickerMetadata.test.ts +0 -32
  112. package/src/__tests__/templatePickerPortal.test.tsx +0 -62
  113. package/src/__tests__/timelineSource.test.ts +0 -134
  114. package/src/__tests__/tiptapBridge.test.ts +0 -575
  115. package/src/__tests__/tiptapBridgeConformance.test.ts +0 -47
  116. package/src/__tests__/tiptapCodeBlockRoundTrip.test.ts +0 -109
  117. package/src/__tests__/tiptapImageRoundTrip.test.ts +0 -73
  118. package/src/__tests__/toolbarSelectionConversion.test.tsx +0 -190
  119. package/src/__tests__/tooltip.test.tsx +0 -72
  120. package/src/__tests__/transformStyleId.test.ts +0 -13
  121. package/src/__tests__/transitionCatalog.test.ts +0 -64
  122. package/src/__tests__/useBlockNavigator.test.tsx +0 -67
  123. package/src/__tests__/useImageEditor.test.tsx +0 -226
  124. package/src/__tests__/useJsonEditorTokens.test.ts +0 -59
  125. package/src/__tests__/useMediaRecorder.test.ts +0 -302
  126. package/src/__tests__/useTimelineClock.test.ts +0 -21
  127. package/src/__tests__/versionHistory.test.tsx +0 -197
  128. package/src/__tests__/viewMenuPanel.test.tsx +0 -130
  129. package/src/__tests__/writeCanvasSettings.test.ts +0 -15
  130. package/src/__tests__/wysiwygImageUpload.test.ts +0 -69
  131. package/src/__tests__/wysiwygTemplateBadgeFocus.test.tsx +0 -56
  132. package/src/asciiDiagram/AsciiDiagramExtension.ts +0 -343
  133. package/src/asciiDiagram/AsciiDiagramWidget.tsx +0 -254
  134. package/src/asciiDiagram/RepairableDiagramExtension.ts +0 -200
  135. package/src/asciiDiagram/__tests__/AsciiDiagramExtension.test.ts +0 -164
  136. package/src/asciiDiagram/__tests__/RepairableDiagramExtension.test.ts +0 -159
  137. package/src/asciiDiagram/__tests__/asciiDiagramCommands.test.ts +0 -284
  138. package/src/asciiDiagram/__tests__/asciiDiagramOps.test.ts +0 -114
  139. package/src/asciiDiagram/__tests__/asciiPaste.test.ts +0 -43
  140. package/src/asciiDiagram/asciiDiagramCommands.ts +0 -174
  141. package/src/asciiDiagram/asciiDiagramData.ts +0 -149
  142. package/src/asciiDiagram/asciiDiagramOps.ts +0 -238
  143. package/src/asciiDiagram/asciiPaste.ts +0 -19
  144. package/src/blockProperties.ts +0 -88
  145. package/src/blockRange.ts +0 -132
  146. package/src/blockSlice.ts +0 -75
  147. package/src/blockTagActivity.ts +0 -233
  148. package/src/buildDocumentPreviewMarkdown.ts +0 -168
  149. package/src/buildPreviewDoc.ts +0 -407
  150. package/src/codeContext/CodeContextSectionView.tsx +0 -124
  151. package/src/codeContext/CodeContextZoneManager.ts +0 -149
  152. package/src/codeContext/CodeContextZones.tsx +0 -121
  153. package/src/codeContext/diffContextSections.ts +0 -38
  154. package/src/codeContext/types.ts +0 -75
  155. package/src/codeSnippet/CodeSnippetExtension.ts +0 -205
  156. package/src/codeSnippet/CodeSnippetWidget.tsx +0 -109
  157. package/src/codeSnippet/__tests__/CodeSnippetExtension.test.ts +0 -95
  158. package/src/codeSnippet/__tests__/codeSnippetLanguages.test.ts +0 -50
  159. package/src/codeSnippet/codeSnippetCommands.ts +0 -21
  160. package/src/codeSnippet/codeSnippetData.ts +0 -43
  161. package/src/codeSnippet/codeSnippetLanguages.ts +0 -216
  162. package/src/customTemplates/AddBin.tsx +0 -126
  163. package/src/customTemplates/CustomLayoutManager.tsx +0 -234
  164. package/src/customTemplates/CustomTemplateContext.tsx +0 -188
  165. package/src/customTemplates/LayerToolbar.tsx +0 -580
  166. package/src/customTemplates/ShapeGlyph.tsx +0 -47
  167. package/src/customTemplates/TemplateDesigner.tsx +0 -433
  168. package/src/customTemplates/__tests__/library.test.ts +0 -96
  169. package/src/customTemplates/__tests__/normalizePositions.test.ts +0 -109
  170. package/src/customTemplates/__tests__/shapeDefs.test.ts +0 -49
  171. package/src/customTemplates/__tests__/useMemoryLayerAdapter.test.ts +0 -108
  172. package/src/customTemplates/designer.css +0 -732
  173. package/src/customTemplates/index.ts +0 -31
  174. package/src/customTemplates/library.ts +0 -110
  175. package/src/customTemplates/normalizePositions.ts +0 -75
  176. package/src/customTemplates/shapeDefs.ts +0 -131
  177. package/src/customTemplates/thumbnail.tsx +0 -63
  178. package/src/customTemplates/tokenDefs.ts +0 -60
  179. package/src/customTemplates/useDocCustomTemplates.ts +0 -52
  180. package/src/customTemplates/useMemoryLayerAdapter.ts +0 -129
  181. package/src/customThemes/CustomThemeContext.tsx +0 -185
  182. package/src/customThemes/CustomThemeDialog.tsx +0 -316
  183. package/src/customThemes/ImportThemeSection.tsx +0 -178
  184. package/src/customThemes/__tests__/CustomThemeContext.test.tsx +0 -64
  185. package/src/customThemes/__tests__/CustomThemeDialog.test.tsx +0 -47
  186. package/src/customThemes/__tests__/customThemeLibrary.test.ts +0 -60
  187. package/src/customThemes/__tests__/importThemeSection.test.tsx +0 -192
  188. package/src/customThemes/customThemeLibrary.ts +0 -100
  189. package/src/customThemes/index.ts +0 -37
  190. package/src/customThemes/themeControls.tsx +0 -229
  191. package/src/customThemes/themeDraft.ts +0 -288
  192. package/src/customThemes/useDocCustomThemes.ts +0 -49
  193. package/src/detectMarkdown.ts +0 -62
  194. package/src/diagram/DiagramCanvas.tsx +0 -260
  195. package/src/diagram/DiagramMaximizedOverlay.tsx +0 -46
  196. package/src/diagram/diagramCommands.ts +0 -604
  197. package/src/diagram/diagramConstants.ts +0 -17
  198. package/src/diagram/types.ts +0 -35
  199. package/src/editorScrollSync.ts +0 -73
  200. package/src/embeddedMedia.ts +0 -78
  201. package/src/emojiData.ts +0 -1317
  202. package/src/fileKind.ts +0 -158
  203. package/src/find/FindHighlightExtension.ts +0 -81
  204. package/src/find/FindToolbar.tsx +0 -314
  205. package/src/find/findModel.ts +0 -77
  206. package/src/frontmatter.ts +0 -29
  207. package/src/frontmatterSettings.ts +0 -23
  208. package/src/headingTransition.ts +0 -291
  209. package/src/hooks/useFileDrop.ts +0 -266
  210. package/src/imageEditor/CanvasSurface.tsx +0 -703
  211. package/src/imageEditor/ImageVersionHistoryDropdown.tsx +0 -396
  212. package/src/imageEditor/LayersPanel.tsx +0 -218
  213. package/src/imageEditor/PropertiesPanel.tsx +0 -474
  214. package/src/imageEditor/Toolbar.tsx +0 -459
  215. package/src/imageEditor/createShapeLayer.ts +0 -280
  216. package/src/imageEditor/icons.tsx +0 -68
  217. package/src/imageEditor/image-editor.css +0 -574
  218. package/src/imageEditor/layers/EditorImageLayer.tsx +0 -45
  219. package/src/imageEditor/layers/EditorShapeLayer.tsx +0 -62
  220. package/src/imageEditor/layers/EditorTextLayer.tsx +0 -45
  221. package/src/imageEditor/layers/SelectionHandles.tsx +0 -86
  222. package/src/imageEditor/state.ts +0 -173
  223. package/src/imageEditor/useImageEditor.ts +0 -385
  224. package/src/imageEditor/useImageEditorTokens.ts +0 -70
  225. package/src/index.ts +0 -559
  226. package/src/jsonEditor/EmbeddedRichTextField.tsx +0 -81
  227. package/src/jsonEditor/JsonEditor.tsx +0 -81
  228. package/src/jsonEditor/JsonEditorContext.tsx +0 -81
  229. package/src/jsonEditor/RenderNode.tsx +0 -87
  230. package/src/jsonEditor/editors.tsx +0 -745
  231. package/src/jsonEditor/index.ts +0 -2
  232. package/src/jsonEditor/json-editor.css +0 -463
  233. package/src/jsonEditor/useJsonEditorTokens.ts +0 -33
  234. package/src/markdownCodeFence.ts +0 -72
  235. package/src/mediaDragMime.ts +0 -32
  236. package/src/mediaEntries.ts +0 -12
  237. package/src/mediaReferences.ts +0 -301
  238. package/src/mermaid/MermaidDiagramCanvas.tsx +0 -693
  239. package/src/mermaid/MermaidDiagramExtension.ts +0 -243
  240. package/src/mermaid/MermaidDiagramTypeThumbnail.tsx +0 -184
  241. package/src/mermaid/MermaidDiagramWidget.tsx +0 -653
  242. package/src/mermaid/MermaidShapePalette.tsx +0 -245
  243. package/src/mermaid/__tests__/MermaidDiagramExtension.test.ts +0 -361
  244. package/src/mermaid/__tests__/mermaidDiagramTypes.test.ts +0 -35
  245. package/src/mermaid/__tests__/mermaidRenderer.test.ts +0 -49
  246. package/src/mermaid/__tests__/mermaidSourceOps.test.ts +0 -213
  247. package/src/mermaid/__tests__/mermaidSyntax.test.ts +0 -71
  248. package/src/mermaid/mermaidCommands.ts +0 -34
  249. package/src/mermaid/mermaidData.ts +0 -31
  250. package/src/mermaid/mermaidDiagramTypes.ts +0 -325
  251. package/src/mermaid/mermaidModel.ts +0 -31
  252. package/src/mermaid/mermaidRenderer.ts +0 -181
  253. package/src/mermaid/mermaidShapes.ts +0 -113
  254. package/src/mermaid/mermaidSourceOps.ts +0 -454
  255. package/src/monaco.ts +0 -35
  256. package/src/monacoWorkers.ts +0 -89
  257. package/src/outlineSource.ts +0 -171
  258. package/src/presentation/PresentationMode.tsx +0 -596
  259. package/src/rawEditorIsolation.ts +0 -18
  260. package/src/recorder/RecorderButton.tsx +0 -80
  261. package/src/recorder/RecorderModal.tsx +0 -706
  262. package/src/recorder/RecorderPanel.tsx +0 -77
  263. package/src/recorder/formats.ts +0 -159
  264. package/src/recorder/hooks/useMediaRecorder.ts +0 -436
  265. package/src/recorder/hooks/useStreamPreview.ts +0 -47
  266. package/src/recorder/insertMediaBlock.ts +0 -30
  267. package/src/recorder/sources/cameraStream.ts +0 -32
  268. package/src/recorder/sources/micStream.ts +0 -25
  269. package/src/recorder/sources/screenStream.ts +0 -162
  270. package/src/recorder/timingJson.ts +0 -66
  271. package/src/resolveBlockVisual.ts +0 -39
  272. package/src/scene/Scene.tsx +0 -647
  273. package/src/scene/SceneBlockExtension.ts +0 -205
  274. package/src/scene/SceneBlockToolbar.tsx +0 -216
  275. package/src/scene/SceneBlockWidget.tsx +0 -441
  276. package/src/scene/ScenePropsBar.tsx +0 -85
  277. package/src/scene/SceneSelection.tsx +0 -111
  278. package/src/scene/SceneSideToolbar.tsx +0 -89
  279. package/src/scene/SceneViewControls.tsx +0 -43
  280. package/src/scene/SceneViewport.tsx +0 -106
  281. package/src/scene/ShapePalette.tsx +0 -196
  282. package/src/scene/__tests__/DiagramAdapter.test.ts +0 -142
  283. package/src/scene/__tests__/SceneBlockExtension.test.ts +0 -33
  284. package/src/scene/__tests__/bezierEdit.test.ts +0 -85
  285. package/src/scene/__tests__/blockLayers.test.ts +0 -57
  286. package/src/scene/__tests__/fitScale.test.ts +0 -19
  287. package/src/scene/__tests__/sceneIsolation.test.tsx +0 -119
  288. package/src/scene/__tests__/shapeLayers.test.ts +0 -106
  289. package/src/scene/__tests__/useSceneHitTest.test.ts +0 -90
  290. package/src/scene/__tests__/useScenePanZoom.test.ts +0 -130
  291. package/src/scene/adapters/DiagramAdapter.ts +0 -79
  292. package/src/scene/adapters/DrawingAdapter.ts +0 -420
  293. package/src/scene/adapters/LayoutAdapter.ts +0 -313
  294. package/src/scene/adapters/blockLayers.ts +0 -159
  295. package/src/scene/commands/SceneCommand.ts +0 -84
  296. package/src/scene/commands/drawingCommands.ts +0 -318
  297. package/src/scene/commands/layoutCommands.ts +0 -301
  298. package/src/scene/fitScale.ts +0 -17
  299. package/src/scene/hooks/useSceneHitTest.ts +0 -105
  300. package/src/scene/hooks/useScenePanZoom.ts +0 -154
  301. package/src/scene/hooks/useSceneSelection.ts +0 -62
  302. package/src/scene/index.ts +0 -90
  303. package/src/scene/layers/DiagramEdges.tsx +0 -142
  304. package/src/scene/layers/edgeGeometry.ts +0 -104
  305. package/src/scene/layers/nodeCard.tsx +0 -164
  306. package/src/scene/layers/renderLayer.tsx +0 -70
  307. package/src/scene/layers/shapeLayers.ts +0 -201
  308. package/src/scene/paths/bezierEdit.ts +0 -208
  309. package/src/scene/scene.css +0 -874
  310. package/src/scene/text/SceneTextOverlay.tsx +0 -161
  311. package/src/scene/text/sceneTextChannel.ts +0 -46
  312. package/src/scene/text/sceneTextConfig.ts +0 -31
  313. package/src/scene/text/sceneTiptap.ts +0 -36
  314. package/src/scene/text/useSceneTextEditing.ts +0 -39
  315. package/src/scene/tools/ConnectTool.ts +0 -209
  316. package/src/scene/tools/DrawingConnectTool.ts +0 -231
  317. package/src/scene/tools/PathTool.ts +0 -158
  318. package/src/scene/tools/PlaceTool.ts +0 -47
  319. package/src/scene/tools/SceneTool.ts +0 -85
  320. package/src/scene/tools/SelectTool.ts +0 -300
  321. package/src/scene/tools/ShapeTool.ts +0 -143
  322. package/src/scene/tools/TextTool.ts +0 -72
  323. package/src/scene/tools/TokenTool.ts +0 -95
  324. package/src/scene/tools/createDrawShapeTool.ts +0 -82
  325. package/src/selectionConversions.ts +0 -155
  326. package/src/styles/ascii-diagram.css +0 -79
  327. package/src/styles/ascii-timeline.css +0 -596
  328. package/src/styles/code-context.css +0 -155
  329. package/src/styles/code-snippet.css +0 -76
  330. package/src/styles/diagram.css +0 -183
  331. package/src/styles/editor.css +0 -7131
  332. package/src/styles/folder-view.css +0 -210
  333. package/src/styles/image-edit-affordance.css +0 -201
  334. package/src/styles/index.css +0 -20
  335. package/src/styles/mermaid-diagram.css +0 -487
  336. package/src/styles/tree-view.css +0 -189
  337. package/src/teleprompter/TeleprompterControls.tsx +0 -218
  338. package/src/teleprompter/TeleprompterSelfView.tsx +0 -22
  339. package/src/teleprompter/TeleprompterSurface.tsx +0 -267
  340. package/src/teleprompter/TeleprompterView.tsx +0 -338
  341. package/src/teleprompter/canvasRenderer.ts +0 -161
  342. package/src/teleprompter/floatingWindow.ts +0 -352
  343. package/src/teleprompter/index.ts +0 -61
  344. package/src/teleprompter/pcmWorklet.ts +0 -62
  345. package/src/teleprompter/recording/insertPreamble.ts +0 -80
  346. package/src/teleprompter/recording/narrationSave.ts +0 -134
  347. package/src/teleprompter/recording/useNarrationRecorder.ts +0 -367
  348. package/src/teleprompter/scrollModel.ts +0 -85
  349. package/src/teleprompter/teleprompterTheme.ts +0 -303
  350. package/src/teleprompter/types.ts +0 -38
  351. package/src/teleprompter/useFloatingWindow.ts +0 -74
  352. package/src/teleprompter/useMicAnalysis.ts +0 -211
  353. package/src/teleprompter/useTeleprompter.ts +0 -421
  354. package/src/templateContentPreviewResolver.ts +0 -360
  355. package/src/timeline/TimelineEditorWidget.tsx +0 -861
  356. package/src/timeline/TimelineViewExtension.ts +0 -252
  357. package/src/timeline/__tests__/TimelineEditorWidget.test.tsx +0 -414
  358. package/src/timeline/__tests__/TimelineViewExtension.test.ts +0 -163
  359. package/src/timeline/__tests__/timelineCommands.test.ts +0 -359
  360. package/src/timeline/__tests__/timelineOps.test.ts +0 -277
  361. package/src/timeline/__tests__/timelinePaste.test.ts +0 -34
  362. package/src/timeline/timelineCommands.ts +0 -421
  363. package/src/timeline/timelineData.ts +0 -54
  364. package/src/timeline/timelineOps.ts +0 -381
  365. package/src/timeline/timelinePaste.ts +0 -8
  366. package/src/timelineSource.ts +0 -244
  367. package/src/tiptap/TiptapAudio.tsx +0 -86
  368. package/src/tiptap/TiptapVideo.tsx +0 -119
  369. package/src/tiptap/useResolvedMediaSrc.ts +0 -47
  370. package/src/tiptapBridge.ts +0 -986
  371. package/src/tooltipPlacement.ts +0 -13
  372. package/src/transformStyleId.ts +0 -17
  373. package/src/transitionCatalog.ts +0 -159
  374. package/src/treeview/TreeOutlineWidget.tsx +0 -390
  375. package/src/treeview/TreeViewExtension.ts +0 -250
  376. package/src/treeview/__tests__/TreeOutlineWidget.test.tsx +0 -156
  377. package/src/treeview/__tests__/TreeViewExtension.test.ts +0 -122
  378. package/src/treeview/__tests__/treeOps.test.ts +0 -177
  379. package/src/treeview/__tests__/treePaste.test.ts +0 -40
  380. package/src/treeview/__tests__/treeViewCommands.test.ts +0 -179
  381. package/src/treeview/treeOps.ts +0 -231
  382. package/src/treeview/treePaste.ts +0 -13
  383. package/src/treeview/treeViewCommands.ts +0 -99
  384. package/src/treeview/treeViewData.ts +0 -41
  385. package/src/types/monaco-shims.d.ts +0 -10
  386. package/src/useBlockNavigator.ts +0 -153
  387. package/src/useHeadingLayout.ts +0 -294
  388. package/src/useMonacoLoader.ts +0 -82
  389. package/src/useTimelineClock.ts +0 -76
  390. package/src/utils/collectInlineFontAwesomeCss.ts +0 -69
  391. package/src/utils/dropUtils.ts +0 -136
  392. package/src/utils/normalizeMalformedAssetUrl.ts +0 -22
  393. package/src/writeCanvasSettings.ts +0 -30
  394. package/src/wysiwygImageUpload.ts +0 -113
@@ -1,596 +0,0 @@
1
- /* WYSIWYG surface for authored ASCII timeline fences.
2
- *
3
- * Keep this namespace distinct from `.squisq-timeline-*`, which belongs to
4
- * the editor's document playback/timing track. */
5
-
6
- .squisq-wysiwyg-editor pre.squisq-ascii-timeline-fence-hidden {
7
- display: none;
8
- }
9
-
10
- .squisq-ascii-timeline-widget-host {
11
- margin: 0.75rem 0 1.25rem;
12
- }
13
-
14
- .squisq-ascii-timeline-editor {
15
- --squisq-ascii-timeline-accent: var(--squisq-theme-primary, #6366f1);
16
- --squisq-ascii-timeline-label-width: 160px;
17
- border: 1px solid var(--squisq-border, #e2e8f0);
18
- border-radius: 10px;
19
- background: var(--squisq-input-bg, #fff);
20
- color: var(--squisq-text, #1e293b);
21
- overflow: hidden;
22
- font-size: 14px;
23
- }
24
-
25
- .squisq-ascii-timeline-header {
26
- display: flex;
27
- align-items: center;
28
- justify-content: space-between;
29
- gap: 12px;
30
- min-height: 36px;
31
- padding: 6px 10px;
32
- border-bottom: 1px solid var(--squisq-border, #e2e8f0);
33
- background: var(--squisq-bg, #f8fafc);
34
- }
35
-
36
- .squisq-ascii-timeline-header > span {
37
- display: inline-flex;
38
- align-items: center;
39
- gap: 6px;
40
- font-weight: 650;
41
- }
42
-
43
- .squisq-ascii-timeline-header small {
44
- color: var(--squisq-text-muted, #64748b);
45
- }
46
-
47
- .squisq-ascii-timeline-header-actions {
48
- display: flex;
49
- align-items: center;
50
- justify-content: flex-end;
51
- gap: 10px;
52
- }
53
-
54
- .squisq-ascii-timeline-header-actions button {
55
- display: inline-flex;
56
- align-items: center;
57
- gap: 5px;
58
- padding: 4px 8px;
59
- border: 1px solid var(--squisq-border, #cbd5e1);
60
- border-radius: 5px;
61
- background: var(--squisq-input-bg, #fff);
62
- color: var(--squisq-ascii-timeline-accent);
63
- font: inherit;
64
- font-size: 12px;
65
- cursor: pointer;
66
- }
67
-
68
- .squisq-ascii-timeline-header-actions button:hover,
69
- .squisq-ascii-timeline-header-actions button:focus-visible {
70
- border-color: var(--squisq-ascii-timeline-accent);
71
- outline: 2px solid color-mix(in srgb, var(--squisq-ascii-timeline-accent) 22%, transparent);
72
- }
73
-
74
- .squisq-ascii-timeline-canvas {
75
- position: relative;
76
- min-width: 600px;
77
- padding: 8px 18px 8px 10px;
78
- overflow-x: auto;
79
- }
80
-
81
- .squisq-ascii-timeline-track {
82
- display: grid;
83
- grid-template-columns: var(--squisq-ascii-timeline-label-width) minmax(420px, 1fr);
84
- gap: 12px;
85
- height: 96px;
86
- align-items: center;
87
- }
88
-
89
- .squisq-ascii-timeline-track-label {
90
- display: flex;
91
- min-width: 0;
92
- align-items: center;
93
- justify-content: flex-end;
94
- gap: 5px;
95
- color: var(--squisq-text-muted, #64748b);
96
- font-size: 12px;
97
- font-weight: 650;
98
- text-align: right;
99
- white-space: nowrap;
100
- }
101
-
102
- .squisq-ascii-timeline-track-name {
103
- min-width: 0;
104
- flex: 1 1 auto;
105
- padding: 3px 4px;
106
- overflow: hidden;
107
- border: 1px solid transparent;
108
- border-radius: 4px;
109
- background: transparent;
110
- color: inherit;
111
- font: inherit;
112
- text-align: right;
113
- text-overflow: ellipsis;
114
- white-space: nowrap;
115
- }
116
-
117
- button.squisq-ascii-timeline-track-name {
118
- cursor: text;
119
- }
120
-
121
- button.squisq-ascii-timeline-track-name:hover,
122
- button.squisq-ascii-timeline-track-name:focus-visible {
123
- border-color: var(--squisq-border, #cbd5e1);
124
- background: var(--squisq-input-bg, #fff);
125
- outline: none;
126
- }
127
-
128
- .squisq-ascii-timeline-track-name-input {
129
- width: 100%;
130
- min-width: 0;
131
- flex: 1 1 auto;
132
- padding: 3px 4px;
133
- border: 1px solid var(--squisq-ascii-timeline-accent);
134
- border-radius: 4px;
135
- background: var(--squisq-input-bg, #fff);
136
- color: var(--squisq-text, #1e293b);
137
- font: inherit;
138
- text-align: right;
139
- outline: 2px solid color-mix(in srgb, var(--squisq-ascii-timeline-accent) 22%, transparent);
140
- }
141
-
142
- .squisq-ascii-timeline-track-delete {
143
- display: grid;
144
- width: 22px;
145
- height: 22px;
146
- flex: 0 0 22px;
147
- place-items: center;
148
- padding: 0;
149
- border: 0;
150
- border-radius: 4px;
151
- background: transparent;
152
- color: var(--squisq-text-muted, #64748b);
153
- cursor: pointer;
154
- }
155
-
156
- .squisq-ascii-timeline-track-delete:hover,
157
- .squisq-ascii-timeline-track-delete:focus-visible {
158
- background: color-mix(in srgb, #ef4444 12%, transparent);
159
- color: #dc2626;
160
- outline: 2px solid color-mix(in srgb, #ef4444 25%, transparent);
161
- }
162
-
163
- .squisq-ascii-timeline-track-delete:disabled {
164
- opacity: 0.35;
165
- cursor: not-allowed;
166
- }
167
-
168
- .squisq-ascii-timeline-track-add {
169
- display: grid;
170
- width: 22px;
171
- height: 22px;
172
- flex: 0 0 22px;
173
- place-items: center;
174
- padding: 0;
175
- border: 1px solid var(--squisq-border, #cbd5e1);
176
- border-radius: 50%;
177
- background: var(--squisq-input-bg, #fff);
178
- color: var(--squisq-ascii-timeline-accent);
179
- font:
180
- 700 15px/1 system-ui,
181
- sans-serif;
182
- cursor: pointer;
183
- }
184
-
185
- .squisq-ascii-timeline-track-add:hover,
186
- .squisq-ascii-timeline-track-add:focus-visible,
187
- .squisq-ascii-timeline-track-add[aria-pressed='true'] {
188
- border-color: var(--squisq-ascii-timeline-accent);
189
- outline: 2px solid color-mix(in srgb, var(--squisq-ascii-timeline-accent) 22%, transparent);
190
- }
191
-
192
- .squisq-ascii-timeline-rail {
193
- position: relative;
194
- height: 96px;
195
- min-width: 420px;
196
- outline: none;
197
- cursor: default;
198
- }
199
-
200
- .squisq-ascii-timeline-rail--adding {
201
- cursor: crosshair;
202
- }
203
-
204
- .squisq-ascii-timeline-rail--readonly {
205
- cursor: default;
206
- }
207
-
208
- .squisq-ascii-timeline-rail-line {
209
- position: absolute;
210
- z-index: 1;
211
- top: 50%;
212
- right: 0;
213
- left: 0;
214
- height: 2px;
215
- border-radius: 999px;
216
- background: var(--squisq-text-muted, #94a3b8);
217
- pointer-events: none;
218
- }
219
-
220
- .squisq-ascii-timeline-rail-line::after {
221
- position: absolute;
222
- top: 50%;
223
- right: -1px;
224
- width: 8px;
225
- height: 8px;
226
- border-top: 2px solid currentColor;
227
- border-right: 2px solid currentColor;
228
- color: var(--squisq-text-muted, #94a3b8);
229
- content: '';
230
- transform: translateY(-50%) rotate(45deg);
231
- }
232
-
233
- .squisq-ascii-timeline-add-ghost,
234
- .squisq-ascii-timeline-gap-add {
235
- position: absolute;
236
- z-index: 4;
237
- top: 50%;
238
- display: grid;
239
- width: 22px;
240
- height: 22px;
241
- place-items: center;
242
- border: 1px solid var(--squisq-ascii-timeline-accent);
243
- border-radius: 50%;
244
- background: var(--squisq-input-bg, #fff);
245
- color: var(--squisq-ascii-timeline-accent);
246
- font:
247
- 700 15px/1 system-ui,
248
- sans-serif;
249
- transform: translate(-50%, -50%);
250
- }
251
-
252
- .squisq-ascii-timeline-add-ghost {
253
- opacity: 0.72;
254
- pointer-events: none;
255
- }
256
-
257
- .squisq-ascii-timeline-gap-add {
258
- padding: 0;
259
- opacity: 0.12;
260
- cursor: pointer;
261
- transition:
262
- opacity 120ms ease,
263
- transform 120ms ease;
264
- }
265
-
266
- .squisq-ascii-timeline-rail:hover .squisq-ascii-timeline-gap-add,
267
- .squisq-ascii-timeline-gap-add:focus-visible {
268
- opacity: 0.9;
269
- }
270
-
271
- .squisq-ascii-timeline-gap-add:hover,
272
- .squisq-ascii-timeline-gap-add:focus-visible {
273
- outline: none;
274
- transform: translate(-50%, -50%) scale(1.12);
275
- }
276
-
277
- .squisq-ascii-timeline-point {
278
- position: absolute;
279
- z-index: 6;
280
- top: 50%;
281
- width: 0;
282
- height: 0;
283
- }
284
-
285
- .squisq-ascii-timeline-marker {
286
- position: absolute;
287
- top: 0;
288
- left: 0;
289
- z-index: 2;
290
- width: 36px;
291
- height: 36px;
292
- padding: 0;
293
- border: 0;
294
- border-radius: 50%;
295
- background: transparent;
296
- cursor: grab;
297
- touch-action: none;
298
- user-select: none;
299
- transform: translate(-50%, -50%);
300
- }
301
-
302
- .squisq-ascii-timeline-point--dragging {
303
- z-index: 8;
304
- }
305
-
306
- .squisq-ascii-timeline-point--dragging .squisq-ascii-timeline-marker {
307
- cursor: grabbing;
308
- }
309
-
310
- .squisq-ascii-timeline-point--dragging .squisq-ascii-timeline-marker::before {
311
- box-shadow:
312
- 0 0 0 3px var(--squisq-input-bg, #fff),
313
- 0 0 0 7px color-mix(in srgb, var(--squisq-ascii-timeline-accent) 72%, transparent);
314
- }
315
-
316
- .squisq-ascii-timeline-rail--readonly .squisq-ascii-timeline-marker {
317
- cursor: pointer;
318
- }
319
-
320
- .squisq-ascii-timeline-marker::before {
321
- display: block;
322
- width: 12px;
323
- height: 12px;
324
- margin: 12px;
325
- border: 2px solid var(--squisq-ascii-timeline-accent);
326
- border-radius: 50%;
327
- background: var(--squisq-ascii-timeline-accent);
328
- box-sizing: border-box;
329
- content: '';
330
- }
331
-
332
- .squisq-ascii-timeline-marker--hollow::before {
333
- background: var(--squisq-input-bg, #fff);
334
- }
335
-
336
- .squisq-ascii-timeline-marker--diamond::before {
337
- border-radius: 2px;
338
- transform: rotate(45deg);
339
- }
340
-
341
- .squisq-ascii-timeline-marker:hover::before {
342
- box-shadow: 0 0 0 5px color-mix(in srgb, var(--squisq-ascii-timeline-accent) 18%, transparent);
343
- }
344
-
345
- .squisq-ascii-timeline-marker:focus-visible {
346
- outline: 2px solid var(--squisq-ascii-timeline-accent);
347
- outline-offset: 1px;
348
- }
349
-
350
- .squisq-ascii-timeline-marker--selected::before {
351
- box-shadow:
352
- 0 0 0 3px var(--squisq-input-bg, #fff),
353
- 0 0 0 6px var(--squisq-ascii-timeline-accent);
354
- }
355
-
356
- .squisq-ascii-timeline-callout,
357
- .squisq-ascii-timeline-description {
358
- position: absolute;
359
- left: 0;
360
- width: 128px;
361
- overflow: hidden;
362
- color: var(--squisq-text, #1e293b);
363
- line-height: 1.2;
364
- text-align: center;
365
- text-overflow: ellipsis;
366
- white-space: nowrap;
367
- pointer-events: none;
368
- transform: translateX(-50%);
369
- }
370
-
371
- .squisq-ascii-timeline-callout {
372
- font-size: 12px;
373
- font-weight: 650;
374
- }
375
-
376
- .squisq-ascii-timeline-description {
377
- color: var(--squisq-text-muted, #64748b);
378
- font-size: 10px;
379
- }
380
-
381
- .squisq-ascii-timeline-callout--above {
382
- bottom: 14px;
383
- }
384
-
385
- .squisq-ascii-timeline-callout--below {
386
- top: 14px;
387
- }
388
-
389
- .squisq-ascii-timeline-description--above {
390
- bottom: 30px;
391
- }
392
-
393
- .squisq-ascii-timeline-description--below {
394
- top: 30px;
395
- }
396
-
397
- .squisq-ascii-timeline-end-label {
398
- position: absolute;
399
- top: calc(50% + 8px);
400
- right: 0;
401
- max-width: 100px;
402
- overflow: hidden;
403
- color: var(--squisq-text-muted, #64748b);
404
- font-size: 10px;
405
- text-overflow: ellipsis;
406
- white-space: nowrap;
407
- pointer-events: none;
408
- }
409
-
410
- .squisq-ascii-timeline-branches {
411
- position: absolute;
412
- z-index: 2;
413
- top: 8px;
414
- right: 18px;
415
- bottom: 8px;
416
- left: calc(10px + var(--squisq-ascii-timeline-label-width) + 12px);
417
- width: calc(100% - var(--squisq-ascii-timeline-label-width) - 40px);
418
- height: calc(var(--squisq-ascii-timeline-track-count) * 96px);
419
- overflow: visible;
420
- pointer-events: none;
421
- }
422
-
423
- .squisq-ascii-timeline-branches path {
424
- fill: none;
425
- stroke: color-mix(in srgb, var(--squisq-ascii-timeline-accent) 72%, transparent);
426
- stroke-width: 2;
427
- stroke-dasharray: 4 3;
428
- }
429
-
430
- .squisq-ascii-timeline-link-list {
431
- display: flex;
432
- flex-wrap: wrap;
433
- gap: 4px;
434
- margin: 0;
435
- padding: 0 10px 8px;
436
- list-style: none;
437
- }
438
-
439
- .squisq-ascii-timeline-link-list li {
440
- padding: 2px 7px;
441
- border-radius: 999px;
442
- background: var(--squisq-bg, #f1f5f9);
443
- color: var(--squisq-text-muted, #64748b);
444
- font-size: 11px;
445
- list-style: none;
446
- }
447
-
448
- .squisq-ascii-timeline-inspector {
449
- display: grid;
450
- grid-template-columns: minmax(150px, 1fr) minmax(190px, 1.5fr) 120px 120px;
451
- gap: 8px;
452
- margin: 0;
453
- padding: 10px;
454
- border: 0;
455
- border-top: 1px solid var(--squisq-border, #e2e8f0);
456
- background: var(--squisq-bg, #f8fafc);
457
- }
458
-
459
- .squisq-ascii-timeline-inspector legend {
460
- grid-column: 1 / -1;
461
- padding: 0 4px;
462
- color: var(--squisq-text, #1e293b);
463
- font-size: 12px;
464
- font-weight: 700;
465
- }
466
-
467
- .squisq-ascii-timeline-inspector legend span {
468
- color: var(--squisq-text-muted, #64748b);
469
- font-weight: 500;
470
- }
471
-
472
- .squisq-ascii-timeline-inspector label {
473
- display: flex;
474
- min-width: 0;
475
- flex-direction: column;
476
- gap: 3px;
477
- color: var(--squisq-text-muted, #64748b);
478
- font-size: 11px;
479
- }
480
-
481
- .squisq-ascii-timeline-inspector input,
482
- .squisq-ascii-timeline-inspector textarea,
483
- .squisq-ascii-timeline-inspector select {
484
- min-width: 0;
485
- border: 1px solid var(--squisq-border, #cbd5e1);
486
- border-radius: 5px;
487
- background: var(--squisq-input-bg, #fff);
488
- color: var(--squisq-text, #1e293b);
489
- font: inherit;
490
- padding: 5px 7px;
491
- }
492
-
493
- .squisq-ascii-timeline-inspector input:focus,
494
- .squisq-ascii-timeline-inspector textarea:focus,
495
- .squisq-ascii-timeline-inspector select:focus {
496
- border-color: var(--squisq-ascii-timeline-accent);
497
- outline: 2px solid color-mix(in srgb, var(--squisq-ascii-timeline-accent) 22%, transparent);
498
- }
499
-
500
- .squisq-ascii-timeline-inspector-description textarea {
501
- resize: vertical;
502
- }
503
-
504
- .squisq-ascii-timeline-inspector .squisq-ascii-timeline-checkbox {
505
- grid-column: 1 / 2;
506
- flex-direction: row;
507
- align-items: center;
508
- align-self: center;
509
- color: var(--squisq-text, #1e293b);
510
- }
511
-
512
- .squisq-ascii-timeline-checkbox input {
513
- width: auto;
514
- }
515
-
516
- .squisq-ascii-timeline-delete {
517
- grid-column: 4 / 5;
518
- display: inline-flex;
519
- align-items: center;
520
- justify-content: center;
521
- gap: 5px;
522
- align-self: end;
523
- padding: 5px 8px;
524
- border: 1px solid color-mix(in srgb, #ef4444 45%, var(--squisq-border, #e2e8f0));
525
- border-radius: 5px;
526
- background: transparent;
527
- color: #dc2626;
528
- cursor: pointer;
529
- }
530
-
531
- .squisq-ascii-timeline-delete:disabled {
532
- opacity: 0.45;
533
- cursor: not-allowed;
534
- }
535
-
536
- .squisq-ascii-timeline-warnings {
537
- padding: 0 10px 8px;
538
- color: var(--squisq-text-muted, #64748b);
539
- font-size: 11px;
540
- }
541
-
542
- .squisq-sr-only {
543
- position: absolute;
544
- width: 1px;
545
- height: 1px;
546
- padding: 0;
547
- margin: -1px;
548
- overflow: hidden;
549
- clip: rect(0, 0, 0, 0);
550
- white-space: nowrap;
551
- border: 0;
552
- }
553
-
554
- @media (max-width: 760px) {
555
- .squisq-ascii-timeline-editor {
556
- --squisq-ascii-timeline-label-width: 132px;
557
- }
558
-
559
- .squisq-ascii-timeline-inspector {
560
- grid-template-columns: 1fr 1fr;
561
- }
562
-
563
- .squisq-ascii-timeline-inspector-description,
564
- .squisq-ascii-timeline-inspector legend {
565
- grid-column: 1 / -1;
566
- }
567
-
568
- .squisq-ascii-timeline-delete {
569
- grid-column: 2 / 3;
570
- }
571
-
572
- .squisq-ascii-timeline-header-actions small {
573
- display: none;
574
- }
575
- }
576
-
577
- @media (prefers-reduced-motion: reduce) {
578
- .squisq-ascii-timeline-gap-add {
579
- transition: none;
580
- }
581
- }
582
-
583
- @media (forced-colors: active) {
584
- .squisq-ascii-timeline-marker::before,
585
- .squisq-ascii-timeline-gap-add,
586
- .squisq-ascii-timeline-add-ghost {
587
- border-color: ButtonText;
588
- forced-color-adjust: none;
589
- }
590
-
591
- .squisq-ascii-timeline-rail-line,
592
- .squisq-ascii-timeline-branches path {
593
- background: CanvasText;
594
- stroke: CanvasText;
595
- }
596
- }