@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
package/dist/monaco.js CHANGED
@@ -1,4 +1,3 @@
1
1
  // src/monaco.ts
2
2
  import "monaco-editor/esm/vs/editor/editor.main.js";
3
3
  export * from "monaco-editor/esm/vs/editor/editor.api";
4
- //# sourceMappingURL=monaco.js.map
@@ -7067,67 +7067,7 @@
7067
7067
  u+f27a;
7068
7068
  }
7069
7069
 
7070
- /* src/styles/editor.css */
7071
- .squisq-editor-shell {
7072
- font-family: var( --squisq-ux-font, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif );
7073
- color: #1f2937;
7074
- background: #fff;
7075
- }
7076
- .squisq-editor-header {
7077
- border-bottom: 1px solid #e5e7eb;
7078
- background: #f9fafb;
7079
- flex-shrink: 0;
7080
- }
7081
- .squisq-editor-header--image {
7082
- display: flex;
7083
- align-items: center;
7084
- gap: 8px;
7085
- padding: 6px 8px;
7086
- }
7087
- .squisq-editor-content {
7088
- flex: 1;
7089
- overflow: hidden;
7090
- }
7091
- .squisq-view-switcher {
7092
- display: flex;
7093
- gap: 0;
7094
- container-type: inline-size;
7095
- container-name: squisq-view-switcher;
7096
- }
7097
- .squisq-view-tab-label {
7098
- display: inline-block;
7099
- }
7100
- .squisq-view-tab-label--short {
7101
- display: none;
7102
- }
7103
- @container squisq-view-switcher (max-width: 280px) {
7104
- .squisq-view-tab:has(.squisq-view-tab-label--short) .squisq-view-tab-label--long {
7105
- display: none;
7106
- }
7107
- .squisq-view-tab-label--short {
7108
- display: inline-block;
7109
- }
7110
- }
7111
- .squisq-view-tab {
7112
- padding: 11px 16px 3px;
7113
- min-width: 72px;
7114
- text-align: center;
7115
- border: none;
7116
- background: transparent;
7117
- color: #6b7280;
7118
- cursor: pointer;
7119
- font-size: 13px;
7120
- font-weight: 500;
7121
- border-bottom: 2px solid transparent;
7122
- transition: color 0.15s, border-color 0.15s;
7123
- }
7124
- .squisq-view-tab:hover {
7125
- color: #1f2937;
7126
- }
7127
- .squisq-view-tab--active {
7128
- color: #2563eb;
7129
- border-bottom-color: #2563eb;
7130
- }
7070
+ /* src/styles/toolbar.css */
7131
7071
  .squisq-toolbar {
7132
7072
  display: flex;
7133
7073
  align-items: center;
@@ -7713,6 +7653,8 @@
7713
7653
  text-overflow: ellipsis;
7714
7654
  white-space: nowrap;
7715
7655
  }
7656
+
7657
+ /* src/styles/template-picker.css */
7716
7658
  .squisq-mermaid-type-menu {
7717
7659
  width: min(520px, calc(100vw - 16px));
7718
7660
  max-height: min(600px, calc(100vh - 16px));
@@ -7870,6 +7812,8 @@
7870
7812
  outline: 2px solid #3b82f6;
7871
7813
  outline-offset: -1px;
7872
7814
  }
7815
+
7816
+ /* src/styles/template-gallery.css */
7873
7817
  .squisq-template-picker-popover-host {
7874
7818
  position: relative;
7875
7819
  }
@@ -7978,7 +7922,7 @@
7978
7922
  --squisq-template-gallery-preview-warning-border: rgba(255, 255, 255, 0.22);
7979
7923
  --squisq-template-gallery-preview-warning-text: #ffffff;
7980
7924
  --squisq-template-gallery-name: #111827;
7981
- --squisq-template-gallery-description: #6b7280;
7925
+ --squisq-template-gallery-description: #4b5563;
7982
7926
  --squisq-template-gallery-new-bg: #f5f3ff;
7983
7927
  --squisq-template-gallery-new-border: #a5b4fc;
7984
7928
  --squisq-template-gallery-new-hover-bg: #ede9fe;
@@ -7987,7 +7931,7 @@
7987
7931
  --squisq-template-gallery-new-plus-bg: #ffffff;
7988
7932
  --squisq-template-gallery-new-plus-border: #c4b5fd;
7989
7933
  --squisq-template-gallery-new-label: #4338ca;
7990
- --squisq-template-gallery-new-desc: #6b7280;
7934
+ --squisq-template-gallery-new-desc: #4b5563;
7991
7935
  --squisq-template-gallery-section-border: #e5e7eb;
7992
7936
  --squisq-template-gallery-section-title: #6b7280;
7993
7937
  box-sizing: border-box;
@@ -8565,6 +8509,68 @@
8565
8509
  .squisq-editor-shell[data-theme=dark] .squisq-template-gallery-section-title {
8566
8510
  color: #9ca3af;
8567
8511
  }
8512
+
8513
+ /* src/styles/editor.css */
8514
+ .squisq-editor-shell {
8515
+ font-family: var( --squisq-ux-font, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif );
8516
+ color: #1f2937;
8517
+ background: #fff;
8518
+ }
8519
+ .squisq-editor-header {
8520
+ border-bottom: 1px solid #e5e7eb;
8521
+ background: #f9fafb;
8522
+ flex-shrink: 0;
8523
+ }
8524
+ .squisq-editor-header--image {
8525
+ display: flex;
8526
+ align-items: center;
8527
+ gap: 8px;
8528
+ padding: 6px 8px;
8529
+ }
8530
+ .squisq-editor-content {
8531
+ flex: 1;
8532
+ overflow: hidden;
8533
+ }
8534
+ .squisq-view-switcher {
8535
+ display: flex;
8536
+ gap: 0;
8537
+ container-type: inline-size;
8538
+ container-name: squisq-view-switcher;
8539
+ }
8540
+ .squisq-view-tab-label {
8541
+ display: inline-block;
8542
+ }
8543
+ .squisq-view-tab-label--short {
8544
+ display: none;
8545
+ }
8546
+ @container squisq-view-switcher (max-width: 280px) {
8547
+ .squisq-view-tab:has(.squisq-view-tab-label--short) .squisq-view-tab-label--long {
8548
+ display: none;
8549
+ }
8550
+ .squisq-view-tab-label--short {
8551
+ display: inline-block;
8552
+ }
8553
+ }
8554
+ .squisq-view-tab {
8555
+ padding: 11px 16px 3px;
8556
+ min-width: 72px;
8557
+ text-align: center;
8558
+ border: none;
8559
+ background: transparent;
8560
+ color: #6b7280;
8561
+ cursor: pointer;
8562
+ font-size: 13px;
8563
+ font-weight: 500;
8564
+ border-bottom: 2px solid transparent;
8565
+ transition: color 0.15s, border-color 0.15s;
8566
+ }
8567
+ .squisq-view-tab:hover {
8568
+ color: #1f2937;
8569
+ }
8570
+ .squisq-view-tab--active {
8571
+ color: #2563eb;
8572
+ border-bottom-color: #2563eb;
8573
+ }
8568
8574
  .squisq-tooltip {
8569
8575
  width: max-content;
8570
8576
  max-width: calc(100vw - 16px);
@@ -8865,9 +8871,6 @@
8865
8871
  .squisq-status-error {
8866
8872
  color: #dc2626;
8867
8873
  }
8868
- .squisq-status-parsing {
8869
- color: #d97706;
8870
- }
8871
8874
  .squisq-wysiwyg-container {
8872
8875
  background: #dcd8d0;
8873
8876
  }
@@ -9702,9 +9705,6 @@
9702
9705
  .squisq-editor-shell[data-theme=dark] .squisq-status-error {
9703
9706
  color: #f87171;
9704
9707
  }
9705
- .squisq-editor-shell[data-theme=dark] .squisq-status-parsing {
9706
- color: #fbbf24;
9707
- }
9708
9708
  .squisq-editor-shell[data-theme=dark] .squisq-wysiwyg-container {
9709
9709
  background: #0f1219;
9710
9710
  }
@@ -11892,6 +11892,20 @@
11892
11892
  border-color: #3b82f6;
11893
11893
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
11894
11894
  }
11895
+ .squisq-link-dialog-input--invalid,
11896
+ .squisq-link-dialog-input--invalid:focus {
11897
+ border-color: #dc2626;
11898
+ box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.18);
11899
+ }
11900
+ .squisq-link-dialog-error {
11901
+ font-size: 12px;
11902
+ line-height: 1.4;
11903
+ color: #dc2626;
11904
+ }
11905
+ .squisq-link-dialog-btn--primary:disabled {
11906
+ opacity: 0.5;
11907
+ cursor: not-allowed;
11908
+ }
11895
11909
  .squisq-link-dialog-footer {
11896
11910
  display: flex;
11897
11911
  justify-content: flex-end;
@@ -14189,15 +14203,15 @@
14189
14203
  padding: 6px 12px;
14190
14204
  font-size: 12px;
14191
14205
  font-weight: 500;
14192
- color: #ffffff;
14193
- background: #6366f1;
14206
+ color: var(--squisq-text-on-accent, #ffffff);
14207
+ background: var(--squisq-accent, #6366f1);
14194
14208
  border: none;
14195
14209
  border-radius: 6px;
14196
14210
  cursor: pointer;
14197
14211
  transition: background 0.1s;
14198
14212
  }
14199
14213
  .squisq-diagram-empty-btn:hover {
14200
- background: #4f46e5;
14214
+ background: var(--squisq-accent-hover, #4f46e5);
14201
14215
  }
14202
14216
  .squisq-diagram-maximize-btn {
14203
14217
  position: absolute;
@@ -14378,17 +14392,17 @@
14378
14392
  max-width: none !important;
14379
14393
  margin: 0 auto;
14380
14394
  }
14381
- .squisq-mermaid-svg g.node {
14395
+ .squisq-mermaid-svg [data-squisq-node-id] {
14382
14396
  cursor: pointer;
14383
14397
  }
14384
- .squisq-mermaid-svg g.node:focus-visible {
14398
+ .squisq-mermaid-svg [data-squisq-node-id]:focus-visible {
14385
14399
  outline: none;
14386
14400
  filter: drop-shadow(0 0 4px #4f46e5);
14387
14401
  }
14388
- .squisq-mermaid-svg g.squisq-mermaid-node-selected {
14402
+ .squisq-mermaid-svg .squisq-mermaid-node-selected {
14389
14403
  filter: drop-shadow(0 0 5px #4f46e5);
14390
14404
  }
14391
- .squisq-mermaid-svg g.squisq-mermaid-connect-source {
14405
+ .squisq-mermaid-svg .squisq-mermaid-connect-source {
14392
14406
  filter: drop-shadow(0 0 6px #0d9488);
14393
14407
  }
14394
14408
  .squisq-mermaid-svg .edgePath,
@@ -14396,7 +14410,7 @@
14396
14410
  .squisq-mermaid-svg .edgeLabel {
14397
14411
  cursor: pointer;
14398
14412
  }
14399
- .squisq-mermaid-svg path.squisq-mermaid-edge-hit-target {
14413
+ .squisq-mermaid-svg .squisq-mermaid-edge-hit-target {
14400
14414
  fill: none;
14401
14415
  stroke: rgba(0, 0, 0, 0.001);
14402
14416
  stroke-width: 14px;
@@ -14515,7 +14529,8 @@
14515
14529
  pointer-events: none;
14516
14530
  }
14517
14531
  .squisq-mermaid-shape-palette,
14518
- .squisq-mermaid-direction-picker {
14532
+ .squisq-mermaid-direction-picker,
14533
+ .squisq-mermaid-properties {
14519
14534
  position: absolute;
14520
14535
  top: calc(100% + 6px);
14521
14536
  left: 0;
@@ -14532,6 +14547,78 @@
14532
14547
  color: var(--squisq-text, #1e293b);
14533
14548
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18);
14534
14549
  }
14550
+ .squisq-mermaid-properties {
14551
+ width: min(320px, calc(100vw - 24px));
14552
+ max-height: min(520px, 70vh);
14553
+ gap: 10px;
14554
+ overflow: auto;
14555
+ font-size: 12px;
14556
+ }
14557
+ .squisq-mermaid-properties-header,
14558
+ .squisq-mermaid-properties-footer {
14559
+ display: flex;
14560
+ align-items: center;
14561
+ justify-content: space-between;
14562
+ gap: 8px;
14563
+ }
14564
+ .squisq-mermaid-properties-header strong {
14565
+ font-size: 13px;
14566
+ }
14567
+ .squisq-mermaid-properties-header button,
14568
+ .squisq-mermaid-properties-footer button {
14569
+ min-height: 30px;
14570
+ padding: 5px 9px;
14571
+ border: 1px solid var(--squisq-border, #cbd5e1);
14572
+ border-radius: 6px;
14573
+ background: var(--squisq-surface-subtle, #f8fafc);
14574
+ color: inherit;
14575
+ cursor: pointer;
14576
+ }
14577
+ .squisq-mermaid-properties-header button {
14578
+ width: 30px;
14579
+ padding: 0;
14580
+ }
14581
+ .squisq-mermaid-properties-footer {
14582
+ justify-content: flex-end;
14583
+ }
14584
+ .squisq-mermaid-properties-footer button[data-primary=true] {
14585
+ border-color: #4f46e5;
14586
+ background: #4f46e5;
14587
+ color: #fff;
14588
+ }
14589
+ .squisq-mermaid-properties-fields {
14590
+ display: flex;
14591
+ min-height: 0;
14592
+ flex-direction: column;
14593
+ gap: 8px;
14594
+ overflow: auto;
14595
+ }
14596
+ .squisq-mermaid-properties-fields > label {
14597
+ display: flex;
14598
+ flex-direction: column;
14599
+ gap: 4px;
14600
+ color: var(--squisq-text-muted, #64748b);
14601
+ font-weight: 600;
14602
+ }
14603
+ .squisq-mermaid-properties-fields :is(input[type=text], select) {
14604
+ box-sizing: border-box;
14605
+ width: 100%;
14606
+ min-height: 32px;
14607
+ padding: 5px 7px;
14608
+ border: 1px solid var(--squisq-border, #cbd5e1);
14609
+ border-radius: 6px;
14610
+ background: var(--squisq-surface-subtle, #f8fafc);
14611
+ color: var(--squisq-text, #1e293b);
14612
+ font: inherit;
14613
+ font-weight: 400;
14614
+ }
14615
+ .squisq-mermaid-property-toggle {
14616
+ display: flex;
14617
+ align-items: center;
14618
+ gap: 7px;
14619
+ min-height: 30px;
14620
+ color: var(--squisq-text, #1e293b);
14621
+ }
14535
14622
  .squisq-mermaid-shape-search {
14536
14623
  box-sizing: border-box;
14537
14624
  width: 100%;
@@ -15497,6 +15584,7 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15497
15584
  }
15498
15585
  .squisq-editor-shell[data-theme=dark] .squisq-scene-shell {
15499
15586
  --squisq-surface: #0f172a;
15587
+ --squisq-surface-raised: #111827;
15500
15588
  --squisq-surface-hover: #1e293b;
15501
15589
  --squisq-border: #475569;
15502
15590
  --squisq-text: #f8fafc;
@@ -15505,8 +15593,8 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15505
15593
  .squisq-editor-shell[data-theme=dark] .squisq-scene-root,
15506
15594
  .squisq-editor-shell[data-theme=dark] .squisq-scene-inline,
15507
15595
  .squisq-editor-shell[data-theme=dark] .squisq-diagram-inline {
15508
- background: #0f172a;
15509
- border-color: #475569;
15596
+ background: var(--squisq-surface, #0f172a);
15597
+ border-color: var(--squisq-border, #475569);
15510
15598
  }
15511
15599
  .squisq-editor-shell[data-theme=dark] .squisq-scene-layer--shape,
15512
15600
  .squisq-editor-shell[data-theme=dark] .squisq-scene-layer--path,
@@ -15541,41 +15629,41 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15541
15629
  }
15542
15630
  .squisq-scene-selection-outline {
15543
15631
  fill: none;
15544
- stroke: #6366f1;
15632
+ stroke: var(--squisq-accent, #6366f1);
15545
15633
  stroke-width: 1.5;
15546
15634
  stroke-dasharray: 4 3;
15547
15635
  vector-effect: non-scaling-stroke;
15548
15636
  }
15549
15637
  .squisq-scene-selection-handle {
15550
- fill: #ffffff;
15551
- stroke: #6366f1;
15638
+ fill: var(--squisq-surface, #ffffff);
15639
+ stroke: var(--squisq-accent, #6366f1);
15552
15640
  stroke-width: 1.5;
15553
15641
  vector-effect: non-scaling-stroke;
15554
15642
  }
15555
15643
  .squisq-scene-marquee {
15556
- fill: rgba(99, 102, 241, 0.08);
15557
- stroke: #6366f1;
15644
+ fill: color-mix(in srgb, var(--squisq-accent, #6366f1) 12%, transparent);
15645
+ stroke: var(--squisq-accent, #6366f1);
15558
15646
  stroke-width: 1;
15559
15647
  stroke-dasharray: 4 3;
15560
15648
  vector-effect: non-scaling-stroke;
15561
15649
  }
15562
15650
  .squisq-scene-connect-preview {
15563
15651
  fill: none;
15564
- stroke: #6366f1;
15652
+ stroke: var(--squisq-accent, #6366f1);
15565
15653
  stroke-width: 2;
15566
15654
  stroke-dasharray: 6 4;
15567
15655
  vector-effect: non-scaling-stroke;
15568
15656
  pointer-events: none;
15569
15657
  }
15570
15658
  .squisq-scene-connection-point {
15571
- fill: #ffffff;
15572
- stroke: #6366f1;
15659
+ fill: var(--squisq-surface, #ffffff);
15660
+ stroke: var(--squisq-accent, #6366f1);
15573
15661
  stroke-width: 2;
15574
15662
  vector-effect: non-scaling-stroke;
15575
15663
  pointer-events: none;
15576
15664
  }
15577
15665
  .squisq-scene-connection-point--active {
15578
- fill: #6366f1;
15666
+ fill: var(--squisq-accent, #6366f1);
15579
15667
  }
15580
15668
  .squisq-scene-toolbar {
15581
15669
  position: absolute;
@@ -15587,8 +15675,8 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15587
15675
  flex-wrap: wrap;
15588
15676
  gap: 4px;
15589
15677
  padding: 4px;
15590
- background: #ffffff;
15591
- border: 1px solid #cbd5e1;
15678
+ background: var(--squisq-surface-raised, var(--squisq-surface, #ffffff));
15679
+ border: 1px solid var(--squisq-border, #cbd5e1);
15592
15680
  border-radius: 6px;
15593
15681
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
15594
15682
  max-width: calc(100% - 16px);
@@ -15600,10 +15688,10 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15600
15688
  min-width: 28px;
15601
15689
  height: 28px;
15602
15690
  padding: 0 8px;
15603
- background: #ffffff;
15691
+ background: var(--squisq-surface-raised, var(--squisq-surface, #ffffff));
15604
15692
  border: 1px solid transparent;
15605
15693
  border-radius: 4px;
15606
- color: #1e293b;
15694
+ color: var(--squisq-text, #1e293b);
15607
15695
  cursor: pointer;
15608
15696
  font-size: 11px;
15609
15697
  font-weight: 600;
@@ -15611,23 +15699,23 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15611
15699
  white-space: nowrap;
15612
15700
  }
15613
15701
  .squisq-scene-tool:hover {
15614
- background: #f1f5f9;
15615
- border-color: #cbd5e1;
15616
- color: #1e293b;
15702
+ background: var(--squisq-surface-hover, #f1f5f9);
15703
+ border-color: var(--squisq-border, #cbd5e1);
15704
+ color: var(--squisq-text, #1e293b);
15617
15705
  }
15618
15706
  .squisq-scene-tool:focus-visible {
15619
- outline: 2px solid #6366f1;
15707
+ outline: 2px solid var(--squisq-accent, #6366f1);
15620
15708
  outline-offset: 1px;
15621
15709
  }
15622
15710
  .squisq-scene-tool--active {
15623
- background: #eef2ff;
15624
- border-color: #6366f1;
15625
- color: #4338ca;
15711
+ background: var(--squisq-accent, #6366f1);
15712
+ border-color: var(--squisq-accent-hover, #4f46e5);
15713
+ color: var(--squisq-text-on-accent, #ffffff);
15626
15714
  }
15627
15715
  .squisq-scene-tool--active:hover {
15628
- background: #e0e7ff;
15629
- border-color: #4f46e5;
15630
- color: #4338ca;
15716
+ background: var(--squisq-accent-hover, #4f46e5);
15717
+ border-color: var(--squisq-accent-hover, #4f46e5);
15718
+ color: var(--squisq-text-on-accent, #ffffff);
15631
15719
  }
15632
15720
  .squisq-scene-tool-label {
15633
15721
  font-size: 11px;
@@ -15653,7 +15741,7 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15653
15741
  flex-wrap: wrap;
15654
15742
  gap: 4px;
15655
15743
  padding: 3px;
15656
- background: var(--squisq-surface, #ffffff);
15744
+ background: var(--squisq-surface-raised, var(--squisq-surface, #ffffff));
15657
15745
  border: 1px solid var(--squisq-border, #cbd5e1);
15658
15746
  border-radius: 6px;
15659
15747
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
@@ -15664,10 +15752,10 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15664
15752
  gap: 4px;
15665
15753
  height: 28px;
15666
15754
  padding: 0 10px;
15667
- background: #ffffff;
15755
+ background: var(--squisq-surface-raised, var(--squisq-surface, #ffffff));
15668
15756
  border: 1px solid transparent;
15669
15757
  border-radius: 4px;
15670
- color: #1e293b;
15758
+ color: var(--squisq-text, #1e293b);
15671
15759
  cursor: pointer;
15672
15760
  font-size: 11px;
15673
15761
  font-weight: 600;
@@ -15675,21 +15763,21 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15675
15763
  white-space: nowrap;
15676
15764
  }
15677
15765
  .squisq-scene-action:hover:not(:disabled) {
15678
- background: #f1f5f9;
15679
- border-color: #cbd5e1;
15766
+ background: var(--squisq-surface-hover, #f1f5f9);
15767
+ border-color: var(--squisq-border, #cbd5e1);
15680
15768
  }
15681
15769
  .squisq-scene-action--active,
15682
15770
  .squisq-scene-action--active:hover:not(:disabled) {
15683
- background: #e0e7ff;
15684
- border-color: #4f46e5;
15685
- color: #4338ca;
15771
+ background: var(--squisq-accent, #6366f1);
15772
+ border-color: var(--squisq-accent-hover, #4f46e5);
15773
+ color: var(--squisq-text-on-accent, #ffffff);
15686
15774
  }
15687
15775
  .squisq-scene-action-popover-anchor {
15688
15776
  position: relative;
15689
15777
  display: inline-flex;
15690
15778
  }
15691
15779
  .squisq-scene-action:focus-visible {
15692
- outline: 2px solid #6366f1;
15780
+ outline: 2px solid var(--squisq-accent, #6366f1);
15693
15781
  outline-offset: 1px;
15694
15782
  }
15695
15783
  .squisq-scene-action:disabled {
@@ -15718,29 +15806,29 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15718
15806
  .squisq-editor-shell[data-theme=dark] .squisq-scene-block-tools,
15719
15807
  .squisq-editor-shell[data-theme=dark] .squisq-scene-block-actions,
15720
15808
  .squisq-editor-shell[data-theme=dark] .squisq-scene-block-props {
15721
- background: #111827;
15722
- border-color: #475569;
15723
- color: #e5e7eb;
15809
+ background: var(--squisq-surface-raised, #111827);
15810
+ border-color: var(--squisq-border, #475569);
15811
+ color: var(--squisq-text, #e5e7eb);
15724
15812
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.32);
15725
15813
  }
15726
15814
  .squisq-editor-shell[data-theme=dark] .squisq-scene-tool,
15727
15815
  .squisq-editor-shell[data-theme=dark] .squisq-scene-action {
15728
- background: #111827;
15729
- color: #e5e7eb;
15816
+ background: var(--squisq-surface-raised, #111827);
15817
+ color: var(--squisq-text, #e5e7eb);
15730
15818
  }
15731
15819
  .squisq-editor-shell[data-theme=dark] .squisq-scene-tool:hover,
15732
15820
  .squisq-editor-shell[data-theme=dark] .squisq-scene-action:hover:not(:disabled) {
15733
- background: #1f2937;
15734
- border-color: #64748b;
15735
- color: #f8fafc;
15821
+ background: var(--squisq-surface-hover, #1f2937);
15822
+ border-color: var(--squisq-border, #64748b);
15823
+ color: var(--squisq-text, #f8fafc);
15736
15824
  }
15737
15825
  .squisq-editor-shell[data-theme=dark] .squisq-scene-tool--active,
15738
15826
  .squisq-editor-shell[data-theme=dark] .squisq-scene-tool--active:hover,
15739
15827
  .squisq-editor-shell[data-theme=dark] .squisq-scene-action--active,
15740
15828
  .squisq-editor-shell[data-theme=dark] .squisq-scene-action--active:hover:not(:disabled) {
15741
- background: #312e81;
15742
- border-color: #818cf8;
15743
- color: #f8fafc;
15829
+ background: var(--squisq-accent, #6366f1);
15830
+ border-color: var(--squisq-accent-hover, #818cf8);
15831
+ color: var(--squisq-text-on-accent, #ffffff);
15744
15832
  }
15745
15833
  .squisq-editor-shell[data-theme=dark] .squisq-scene-action--danger {
15746
15834
  color: #fca5a5;
@@ -15854,18 +15942,19 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15854
15942
  background: var(--squisq-surface-hover, #f1f5f9);
15855
15943
  }
15856
15944
  .squisq-scene-view-fit[data-active=true] {
15857
- color: #4338ca;
15945
+ background: var(--squisq-accent, #6366f1);
15946
+ color: var(--squisq-text-on-accent, #ffffff);
15858
15947
  font-weight: 600;
15859
15948
  }
15860
15949
  .squisq-editor-shell[data-theme=dark] .squisq-scene-view-controls {
15861
- background: #111827;
15862
- border-color: #475569;
15863
- color: #e5e7eb;
15950
+ background: var(--squisq-surface-raised, #111827);
15951
+ border-color: var(--squisq-border, #475569);
15952
+ color: var(--squisq-text, #e5e7eb);
15864
15953
  }
15865
15954
  .squisq-editor-shell[data-theme=dark] .squisq-scene-view-controls button:hover,
15866
15955
  .squisq-editor-shell[data-theme=dark] .squisq-scene-view-fit[data-active=true] {
15867
- background: #312e81;
15868
- color: #f8fafc;
15956
+ background: var(--squisq-accent, #6366f1);
15957
+ color: var(--squisq-text-on-accent, #ffffff);
15869
15958
  }
15870
15959
  .squisq-scene-maximize-btn {
15871
15960
  position: absolute;
@@ -15877,30 +15966,30 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15877
15966
  display: inline-flex;
15878
15967
  align-items: center;
15879
15968
  justify-content: center;
15880
- background: #ffffff;
15881
- border: 1px solid #cbd5e1;
15969
+ background: var(--squisq-surface-raised, var(--squisq-surface, #ffffff));
15970
+ border: 1px solid var(--squisq-border, #cbd5e1);
15882
15971
  border-radius: 6px;
15883
15972
  cursor: pointer;
15884
15973
  font-size: 16px;
15885
15974
  line-height: 1;
15886
- color: #1e293b;
15975
+ color: var(--squisq-text, #1e293b);
15887
15976
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
15888
15977
  }
15889
15978
  .squisq-scene-maximize-btn:hover {
15890
- background: #f1f5f9;
15891
- border-color: #94a3b8;
15892
- color: #0f172a;
15979
+ background: var(--squisq-surface-hover, #f1f5f9);
15980
+ border-color: var(--squisq-border, #94a3b8);
15981
+ color: var(--squisq-text, #0f172a);
15893
15982
  }
15894
15983
  .squisq-editor-shell[data-theme=dark] .squisq-scene-maximize-btn {
15895
- background: #111827;
15896
- border-color: #475569;
15897
- color: #e5e7eb;
15984
+ background: var(--squisq-surface-raised, #111827);
15985
+ border-color: var(--squisq-border, #475569);
15986
+ color: var(--squisq-text, #e5e7eb);
15898
15987
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.32);
15899
15988
  }
15900
15989
  .squisq-editor-shell[data-theme=dark] .squisq-scene-maximize-btn:hover {
15901
- background: #1f2937;
15902
- border-color: #64748b;
15903
- color: #f8fafc;
15990
+ background: var(--squisq-surface-hover, #1f2937);
15991
+ border-color: var(--squisq-border, #64748b);
15992
+ color: var(--squisq-text, #f8fafc);
15904
15993
  }
15905
15994
  .squisq-scene-node-card {
15906
15995
  fill: var(--squisq-surface, #ffffff);
@@ -15929,7 +16018,7 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15929
16018
  pointer-events: all;
15930
16019
  }
15931
16020
  .squisq-scene-node-handle:hover {
15932
- fill: #6366f1;
16021
+ fill: var(--squisq-accent, #6366f1);
15933
16022
  }
15934
16023
  .squisq-scene-edge-path {
15935
16024
  fill: none;
@@ -16176,14 +16265,14 @@ button.squisq-ascii-timeline-track-name:focus-visible {
16176
16265
  padding: 6px 12px;
16177
16266
  font-size: 12px;
16178
16267
  font-weight: 500;
16179
- color: #ffffff;
16180
- background: #6366f1;
16268
+ color: var(--squisq-text-on-accent, #ffffff);
16269
+ background: var(--squisq-accent, #6366f1);
16181
16270
  border: none;
16182
16271
  border-radius: 6px;
16183
16272
  cursor: pointer;
16184
16273
  }
16185
16274
  .squisq-scene-empty-btn:hover {
16186
- background: #4f46e5;
16275
+ background: var(--squisq-accent-hover, #4f46e5);
16187
16276
  }
16188
16277
 
16189
16278
  /* src/customTemplates/designer.css */