@bendyline/squisq-editor-react 2.1.0 → 2.3.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 (415) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE.md +40 -0
  3. package/dist/chunk-54UGTQBO.js +862 -0
  4. package/dist/chunk-5JMHFAVW.js +2408 -0
  5. package/dist/chunk-5Q4JN4I5.js +132 -0
  6. package/dist/chunk-6VDYKI3L.js +49 -0
  7. package/dist/chunk-GS7QWYFT.js +9 -0
  8. package/dist/chunk-MJJK7YQB.js +949 -0
  9. package/dist/chunk-NITZVAXL.js +986 -0
  10. package/dist/chunk-TRCKHRBS.js +35234 -0
  11. package/dist/chunk-V44VP242.js +3256 -0
  12. package/dist/image-editor/index.d.ts +223 -0
  13. package/dist/image-editor/index.js +15 -0
  14. package/dist/index.d.ts +2060 -4040
  15. package/dist/index.js +496 -40014
  16. package/dist/json-editor/index.d.ts +27 -0
  17. package/dist/json-editor/index.js +7 -0
  18. package/dist/monaco.d.ts +1 -1
  19. package/dist/monaco.js +1 -2
  20. package/dist/recorder/index.d.ts +407 -0
  21. package/dist/recorder/index.js +43 -0
  22. package/dist/shell/index.d.ts +9 -0
  23. package/dist/shell/index.js +22 -0
  24. package/dist/shell-BxSCBm4H.d.ts +1064 -0
  25. package/dist/styles/index.css +598 -161
  26. package/dist/teleprompter/index.d.ts +497 -0
  27. package/dist/teleprompter/index.js +57 -0
  28. package/package.json +34 -8
  29. package/dist/index.js.map +0 -1
  30. package/dist/monaco.js.map +0 -1
  31. package/src/BlockCardView.tsx +0 -121
  32. package/src/BlockPreviewPanel.tsx +0 -69
  33. package/src/BlockPropertiesPopover.tsx +0 -222
  34. package/src/DocumentSettingsDialog.tsx +0 -272
  35. package/src/DropZoneOverlay.tsx +0 -137
  36. package/src/EditorContext.tsx +0 -1274
  37. package/src/EditorShell.tsx +0 -1358
  38. package/src/EmojiPicker.tsx +0 -332
  39. package/src/FolderView.tsx +0 -131
  40. package/src/Icon.tsx +0 -26
  41. package/src/ImageEditor.tsx +0 -395
  42. package/src/ImageNodeView.tsx +0 -284
  43. package/src/ImageViewer.tsx +0 -221
  44. package/src/InlineIcon.ts +0 -84
  45. package/src/InlinePreviewGutter.tsx +0 -590
  46. package/src/LinkDialog.tsx +0 -276
  47. package/src/MediaBin.tsx +0 -500
  48. package/src/MentionExtension.tsx +0 -261
  49. package/src/OutlinePanel.tsx +0 -547
  50. package/src/PlainHtmlPreview.tsx +0 -277
  51. package/src/PreviewControls.tsx +0 -1265
  52. package/src/PreviewPanel.tsx +0 -426
  53. package/src/RawEditor.tsx +0 -743
  54. package/src/RecorderEntry.tsx +0 -162
  55. package/src/StatusBar.tsx +0 -51
  56. package/src/TemplateAnnotation.ts +0 -167
  57. package/src/TemplateContentPreview.tsx +0 -56
  58. package/src/TemplatePicker.tsx +0 -1314
  59. package/src/ThemeCustomizerPanel.tsx +0 -304
  60. package/src/ThemePicker.tsx +0 -433
  61. package/src/TimelineBlockPreview.tsx +0 -37
  62. package/src/TimelineTrack.tsx +0 -671
  63. package/src/Toolbar.tsx +0 -2885
  64. package/src/Tooltip.tsx +0 -142
  65. package/src/TransitionPicker.tsx +0 -390
  66. package/src/VersionHistoryPanel.tsx +0 -359
  67. package/src/ViewMenuPanel.tsx +0 -189
  68. package/src/ViewSwitcher.tsx +0 -56
  69. package/src/WysiwygEditor.tsx +0 -806
  70. package/src/__tests__/blockProperties.test.ts +0 -92
  71. package/src/__tests__/blockPropertiesPopoverTheme.test.tsx +0 -33
  72. package/src/__tests__/blockRange.test.ts +0 -105
  73. package/src/__tests__/blockTagActivity.test.ts +0 -183
  74. package/src/__tests__/buildDocumentPreviewMarkdown.test.ts +0 -75
  75. package/src/__tests__/buildPreviewDocContent.test.ts +0 -65
  76. package/src/__tests__/buildPreviewDocTransition.test.ts +0 -92
  77. package/src/__tests__/canvasSurfaceTextEditing.test.tsx +0 -60
  78. package/src/__tests__/codeContextSectionView.test.tsx +0 -97
  79. package/src/__tests__/codeContextZoneManager.test.ts +0 -127
  80. package/src/__tests__/createShapeLayer.test.ts +0 -46
  81. package/src/__tests__/customLayoutManagerTheme.test.tsx +0 -34
  82. package/src/__tests__/detectMarkdown.test.ts +0 -73
  83. package/src/__tests__/diffContextSections.test.ts +0 -39
  84. package/src/__tests__/documentSettingsDialog.test.tsx +0 -197
  85. package/src/__tests__/drawingShapeRoundTrip.test.ts +0 -49
  86. package/src/__tests__/editorScrollHandoff.test.tsx +0 -102
  87. package/src/__tests__/editorScrollSync.test.ts +0 -65
  88. package/src/__tests__/editorShellCodeContext.test.tsx +0 -86
  89. package/src/__tests__/editorShellProps.test.tsx +0 -550
  90. package/src/__tests__/embeddedMedia.test.ts +0 -48
  91. package/src/__tests__/emojiPicker.test.tsx +0 -93
  92. package/src/__tests__/fileKind.test.ts +0 -112
  93. package/src/__tests__/findMode.test.tsx +0 -104
  94. package/src/__tests__/findModel.test.ts +0 -55
  95. package/src/__tests__/headingTransition.test.ts +0 -176
  96. package/src/__tests__/imageEditAffordance.test.tsx +0 -272
  97. package/src/__tests__/imageEditModalContract.test.tsx +0 -119
  98. package/src/__tests__/imageEditorShell.test.tsx +0 -94
  99. package/src/__tests__/imageEditorState.test.ts +0 -171
  100. package/src/__tests__/inlinePreviewGutter.test.tsx +0 -62
  101. package/src/__tests__/inlinePreviewGutterAllBlocks.test.tsx +0 -103
  102. package/src/__tests__/jsonEditor.test.tsx +0 -223
  103. package/src/__tests__/layersPanel.test.tsx +0 -167
  104. package/src/__tests__/layoutChildRoundTrip.test.ts +0 -71
  105. package/src/__tests__/linkDialogDocPicker.test.tsx +0 -137
  106. package/src/__tests__/majorApiTypes.test.ts +0 -26
  107. package/src/__tests__/markdownCodeFence.test.ts +0 -45
  108. package/src/__tests__/mediaAttachmentFlow.test.ts +0 -110
  109. package/src/__tests__/mediaBinDrop.test.tsx +0 -90
  110. package/src/__tests__/mediaReferences.test.ts +0 -97
  111. package/src/__tests__/narrationSave.test.ts +0 -148
  112. package/src/__tests__/outlinePanel.test.tsx +0 -169
  113. package/src/__tests__/outlineSource.test.ts +0 -217
  114. package/src/__tests__/plainHtmlPreview.test.tsx +0 -125
  115. package/src/__tests__/presentationMode.test.tsx +0 -290
  116. package/src/__tests__/previewControls.test.tsx +0 -571
  117. package/src/__tests__/previewPanelAudioFailure.test.tsx +0 -46
  118. package/src/__tests__/previewPanelPresentation.test.tsx +0 -126
  119. package/src/__tests__/previewPanelTransforms.test.tsx +0 -117
  120. package/src/__tests__/propertiesPanel.test.tsx +0 -69
  121. package/src/__tests__/rawEditorModelIsolation.test.ts +0 -19
  122. package/src/__tests__/recorderFormats.test.ts +0 -146
  123. package/src/__tests__/recorderMediaInsert.test.ts +0 -86
  124. package/src/__tests__/recorderTheme.test.tsx +0 -42
  125. package/src/__tests__/recorderTimingJson.test.ts +0 -41
  126. package/src/__tests__/resolveBlockVisual.test.ts +0 -43
  127. package/src/__tests__/selectionConversions.test.ts +0 -80
  128. package/src/__tests__/statusBar.test.tsx +0 -27
  129. package/src/__tests__/teleprompter.test.tsx +0 -190
  130. package/src/__tests__/templateAnnotationRoundTrip.test.ts +0 -99
  131. package/src/__tests__/templateContentPreview.test.ts +0 -101
  132. package/src/__tests__/templatePickerMetadata.test.ts +0 -32
  133. package/src/__tests__/templatePickerPortal.test.tsx +0 -62
  134. package/src/__tests__/timelineSource.test.ts +0 -134
  135. package/src/__tests__/tiptapBridge.test.ts +0 -575
  136. package/src/__tests__/tiptapBridgeConformance.test.ts +0 -47
  137. package/src/__tests__/tiptapCodeBlockRoundTrip.test.ts +0 -109
  138. package/src/__tests__/tiptapImageRoundTrip.test.ts +0 -73
  139. package/src/__tests__/toolbarSelectionConversion.test.tsx +0 -190
  140. package/src/__tests__/tooltip.test.tsx +0 -72
  141. package/src/__tests__/transformStyleId.test.ts +0 -13
  142. package/src/__tests__/transitionCatalog.test.ts +0 -64
  143. package/src/__tests__/useBlockNavigator.test.tsx +0 -67
  144. package/src/__tests__/useImageEditor.test.tsx +0 -226
  145. package/src/__tests__/useJsonEditorTokens.test.ts +0 -59
  146. package/src/__tests__/useMediaRecorder.test.ts +0 -302
  147. package/src/__tests__/useTimelineClock.test.ts +0 -21
  148. package/src/__tests__/versionHistory.test.tsx +0 -197
  149. package/src/__tests__/viewMenuPanel.test.tsx +0 -130
  150. package/src/__tests__/writeCanvasSettings.test.ts +0 -15
  151. package/src/__tests__/wysiwygImageUpload.test.ts +0 -69
  152. package/src/__tests__/wysiwygTemplateBadgeFocus.test.tsx +0 -56
  153. package/src/asciiDiagram/AsciiDiagramExtension.ts +0 -343
  154. package/src/asciiDiagram/AsciiDiagramWidget.tsx +0 -254
  155. package/src/asciiDiagram/RepairableDiagramExtension.ts +0 -200
  156. package/src/asciiDiagram/__tests__/AsciiDiagramExtension.test.ts +0 -164
  157. package/src/asciiDiagram/__tests__/RepairableDiagramExtension.test.ts +0 -159
  158. package/src/asciiDiagram/__tests__/asciiDiagramCommands.test.ts +0 -284
  159. package/src/asciiDiagram/__tests__/asciiDiagramOps.test.ts +0 -114
  160. package/src/asciiDiagram/__tests__/asciiPaste.test.ts +0 -43
  161. package/src/asciiDiagram/asciiDiagramCommands.ts +0 -174
  162. package/src/asciiDiagram/asciiDiagramData.ts +0 -149
  163. package/src/asciiDiagram/asciiDiagramOps.ts +0 -238
  164. package/src/asciiDiagram/asciiPaste.ts +0 -19
  165. package/src/blockProperties.ts +0 -88
  166. package/src/blockRange.ts +0 -132
  167. package/src/blockSlice.ts +0 -75
  168. package/src/blockTagActivity.ts +0 -233
  169. package/src/buildDocumentPreviewMarkdown.ts +0 -168
  170. package/src/buildPreviewDoc.ts +0 -407
  171. package/src/codeContext/CodeContextSectionView.tsx +0 -124
  172. package/src/codeContext/CodeContextZoneManager.ts +0 -149
  173. package/src/codeContext/CodeContextZones.tsx +0 -121
  174. package/src/codeContext/diffContextSections.ts +0 -38
  175. package/src/codeContext/types.ts +0 -75
  176. package/src/codeSnippet/CodeSnippetExtension.ts +0 -205
  177. package/src/codeSnippet/CodeSnippetWidget.tsx +0 -109
  178. package/src/codeSnippet/__tests__/CodeSnippetExtension.test.ts +0 -95
  179. package/src/codeSnippet/__tests__/codeSnippetLanguages.test.ts +0 -50
  180. package/src/codeSnippet/codeSnippetCommands.ts +0 -21
  181. package/src/codeSnippet/codeSnippetData.ts +0 -43
  182. package/src/codeSnippet/codeSnippetLanguages.ts +0 -216
  183. package/src/customTemplates/AddBin.tsx +0 -126
  184. package/src/customTemplates/CustomLayoutManager.tsx +0 -234
  185. package/src/customTemplates/CustomTemplateContext.tsx +0 -188
  186. package/src/customTemplates/LayerToolbar.tsx +0 -580
  187. package/src/customTemplates/ShapeGlyph.tsx +0 -47
  188. package/src/customTemplates/TemplateDesigner.tsx +0 -433
  189. package/src/customTemplates/__tests__/library.test.ts +0 -96
  190. package/src/customTemplates/__tests__/normalizePositions.test.ts +0 -109
  191. package/src/customTemplates/__tests__/shapeDefs.test.ts +0 -49
  192. package/src/customTemplates/__tests__/useMemoryLayerAdapter.test.ts +0 -108
  193. package/src/customTemplates/designer.css +0 -732
  194. package/src/customTemplates/index.ts +0 -31
  195. package/src/customTemplates/library.ts +0 -110
  196. package/src/customTemplates/normalizePositions.ts +0 -75
  197. package/src/customTemplates/shapeDefs.ts +0 -131
  198. package/src/customTemplates/thumbnail.tsx +0 -63
  199. package/src/customTemplates/tokenDefs.ts +0 -60
  200. package/src/customTemplates/useDocCustomTemplates.ts +0 -52
  201. package/src/customTemplates/useMemoryLayerAdapter.ts +0 -129
  202. package/src/customThemes/CustomThemeContext.tsx +0 -185
  203. package/src/customThemes/CustomThemeDialog.tsx +0 -316
  204. package/src/customThemes/ImportThemeSection.tsx +0 -178
  205. package/src/customThemes/__tests__/CustomThemeContext.test.tsx +0 -64
  206. package/src/customThemes/__tests__/CustomThemeDialog.test.tsx +0 -47
  207. package/src/customThemes/__tests__/customThemeLibrary.test.ts +0 -60
  208. package/src/customThemes/__tests__/importThemeSection.test.tsx +0 -192
  209. package/src/customThemes/customThemeLibrary.ts +0 -100
  210. package/src/customThemes/index.ts +0 -37
  211. package/src/customThemes/themeControls.tsx +0 -229
  212. package/src/customThemes/themeDraft.ts +0 -288
  213. package/src/customThemes/useDocCustomThemes.ts +0 -49
  214. package/src/detectMarkdown.ts +0 -62
  215. package/src/diagram/DiagramCanvas.tsx +0 -260
  216. package/src/diagram/DiagramMaximizedOverlay.tsx +0 -46
  217. package/src/diagram/diagramCommands.ts +0 -604
  218. package/src/diagram/diagramConstants.ts +0 -17
  219. package/src/diagram/types.ts +0 -35
  220. package/src/editorScrollSync.ts +0 -73
  221. package/src/embeddedMedia.ts +0 -78
  222. package/src/emojiData.ts +0 -1317
  223. package/src/fileKind.ts +0 -158
  224. package/src/find/FindHighlightExtension.ts +0 -81
  225. package/src/find/FindToolbar.tsx +0 -314
  226. package/src/find/findModel.ts +0 -77
  227. package/src/frontmatter.ts +0 -29
  228. package/src/frontmatterSettings.ts +0 -23
  229. package/src/headingTransition.ts +0 -291
  230. package/src/hooks/useFileDrop.ts +0 -266
  231. package/src/imageEditor/CanvasSurface.tsx +0 -703
  232. package/src/imageEditor/ImageVersionHistoryDropdown.tsx +0 -396
  233. package/src/imageEditor/LayersPanel.tsx +0 -218
  234. package/src/imageEditor/PropertiesPanel.tsx +0 -474
  235. package/src/imageEditor/Toolbar.tsx +0 -459
  236. package/src/imageEditor/createShapeLayer.ts +0 -280
  237. package/src/imageEditor/icons.tsx +0 -68
  238. package/src/imageEditor/image-editor.css +0 -574
  239. package/src/imageEditor/layers/EditorImageLayer.tsx +0 -45
  240. package/src/imageEditor/layers/EditorShapeLayer.tsx +0 -62
  241. package/src/imageEditor/layers/EditorTextLayer.tsx +0 -45
  242. package/src/imageEditor/layers/SelectionHandles.tsx +0 -86
  243. package/src/imageEditor/state.ts +0 -173
  244. package/src/imageEditor/useImageEditor.ts +0 -385
  245. package/src/imageEditor/useImageEditorTokens.ts +0 -70
  246. package/src/index.ts +0 -559
  247. package/src/jsonEditor/EmbeddedRichTextField.tsx +0 -81
  248. package/src/jsonEditor/JsonEditor.tsx +0 -81
  249. package/src/jsonEditor/JsonEditorContext.tsx +0 -81
  250. package/src/jsonEditor/RenderNode.tsx +0 -87
  251. package/src/jsonEditor/editors.tsx +0 -745
  252. package/src/jsonEditor/index.ts +0 -2
  253. package/src/jsonEditor/json-editor.css +0 -463
  254. package/src/jsonEditor/useJsonEditorTokens.ts +0 -33
  255. package/src/markdownCodeFence.ts +0 -72
  256. package/src/mediaDragMime.ts +0 -32
  257. package/src/mediaEntries.ts +0 -12
  258. package/src/mediaReferences.ts +0 -301
  259. package/src/mermaid/MermaidDiagramCanvas.tsx +0 -693
  260. package/src/mermaid/MermaidDiagramExtension.ts +0 -243
  261. package/src/mermaid/MermaidDiagramTypeThumbnail.tsx +0 -184
  262. package/src/mermaid/MermaidDiagramWidget.tsx +0 -653
  263. package/src/mermaid/MermaidShapePalette.tsx +0 -245
  264. package/src/mermaid/__tests__/MermaidDiagramExtension.test.ts +0 -361
  265. package/src/mermaid/__tests__/mermaidDiagramTypes.test.ts +0 -35
  266. package/src/mermaid/__tests__/mermaidRenderer.test.ts +0 -49
  267. package/src/mermaid/__tests__/mermaidSourceOps.test.ts +0 -213
  268. package/src/mermaid/__tests__/mermaidSyntax.test.ts +0 -71
  269. package/src/mermaid/mermaidCommands.ts +0 -34
  270. package/src/mermaid/mermaidData.ts +0 -31
  271. package/src/mermaid/mermaidDiagramTypes.ts +0 -325
  272. package/src/mermaid/mermaidModel.ts +0 -31
  273. package/src/mermaid/mermaidRenderer.ts +0 -181
  274. package/src/mermaid/mermaidShapes.ts +0 -113
  275. package/src/mermaid/mermaidSourceOps.ts +0 -454
  276. package/src/monaco.ts +0 -35
  277. package/src/monacoWorkers.ts +0 -89
  278. package/src/outlineSource.ts +0 -171
  279. package/src/presentation/PresentationMode.tsx +0 -596
  280. package/src/rawEditorIsolation.ts +0 -18
  281. package/src/recorder/RecorderButton.tsx +0 -80
  282. package/src/recorder/RecorderModal.tsx +0 -706
  283. package/src/recorder/RecorderPanel.tsx +0 -77
  284. package/src/recorder/formats.ts +0 -159
  285. package/src/recorder/hooks/useMediaRecorder.ts +0 -436
  286. package/src/recorder/hooks/useStreamPreview.ts +0 -47
  287. package/src/recorder/insertMediaBlock.ts +0 -30
  288. package/src/recorder/sources/cameraStream.ts +0 -32
  289. package/src/recorder/sources/micStream.ts +0 -25
  290. package/src/recorder/sources/screenStream.ts +0 -162
  291. package/src/recorder/timingJson.ts +0 -66
  292. package/src/resolveBlockVisual.ts +0 -39
  293. package/src/scene/Scene.tsx +0 -647
  294. package/src/scene/SceneBlockExtension.ts +0 -205
  295. package/src/scene/SceneBlockToolbar.tsx +0 -216
  296. package/src/scene/SceneBlockWidget.tsx +0 -441
  297. package/src/scene/ScenePropsBar.tsx +0 -85
  298. package/src/scene/SceneSelection.tsx +0 -111
  299. package/src/scene/SceneSideToolbar.tsx +0 -89
  300. package/src/scene/SceneViewControls.tsx +0 -43
  301. package/src/scene/SceneViewport.tsx +0 -106
  302. package/src/scene/ShapePalette.tsx +0 -196
  303. package/src/scene/__tests__/DiagramAdapter.test.ts +0 -142
  304. package/src/scene/__tests__/SceneBlockExtension.test.ts +0 -33
  305. package/src/scene/__tests__/bezierEdit.test.ts +0 -85
  306. package/src/scene/__tests__/blockLayers.test.ts +0 -57
  307. package/src/scene/__tests__/fitScale.test.ts +0 -19
  308. package/src/scene/__tests__/sceneIsolation.test.tsx +0 -119
  309. package/src/scene/__tests__/shapeLayers.test.ts +0 -106
  310. package/src/scene/__tests__/useSceneHitTest.test.ts +0 -90
  311. package/src/scene/__tests__/useScenePanZoom.test.ts +0 -130
  312. package/src/scene/adapters/DiagramAdapter.ts +0 -79
  313. package/src/scene/adapters/DrawingAdapter.ts +0 -420
  314. package/src/scene/adapters/LayoutAdapter.ts +0 -313
  315. package/src/scene/adapters/blockLayers.ts +0 -159
  316. package/src/scene/commands/SceneCommand.ts +0 -84
  317. package/src/scene/commands/drawingCommands.ts +0 -318
  318. package/src/scene/commands/layoutCommands.ts +0 -301
  319. package/src/scene/fitScale.ts +0 -17
  320. package/src/scene/hooks/useSceneHitTest.ts +0 -105
  321. package/src/scene/hooks/useScenePanZoom.ts +0 -154
  322. package/src/scene/hooks/useSceneSelection.ts +0 -62
  323. package/src/scene/index.ts +0 -90
  324. package/src/scene/layers/DiagramEdges.tsx +0 -142
  325. package/src/scene/layers/edgeGeometry.ts +0 -104
  326. package/src/scene/layers/nodeCard.tsx +0 -164
  327. package/src/scene/layers/renderLayer.tsx +0 -70
  328. package/src/scene/layers/shapeLayers.ts +0 -201
  329. package/src/scene/paths/bezierEdit.ts +0 -208
  330. package/src/scene/scene.css +0 -874
  331. package/src/scene/text/SceneTextOverlay.tsx +0 -161
  332. package/src/scene/text/sceneTextChannel.ts +0 -46
  333. package/src/scene/text/sceneTextConfig.ts +0 -31
  334. package/src/scene/text/sceneTiptap.ts +0 -36
  335. package/src/scene/text/useSceneTextEditing.ts +0 -39
  336. package/src/scene/tools/ConnectTool.ts +0 -209
  337. package/src/scene/tools/DrawingConnectTool.ts +0 -231
  338. package/src/scene/tools/PathTool.ts +0 -158
  339. package/src/scene/tools/PlaceTool.ts +0 -47
  340. package/src/scene/tools/SceneTool.ts +0 -85
  341. package/src/scene/tools/SelectTool.ts +0 -300
  342. package/src/scene/tools/ShapeTool.ts +0 -143
  343. package/src/scene/tools/TextTool.ts +0 -72
  344. package/src/scene/tools/TokenTool.ts +0 -95
  345. package/src/scene/tools/createDrawShapeTool.ts +0 -82
  346. package/src/selectionConversions.ts +0 -155
  347. package/src/styles/ascii-diagram.css +0 -79
  348. package/src/styles/ascii-timeline.css +0 -596
  349. package/src/styles/code-context.css +0 -155
  350. package/src/styles/code-snippet.css +0 -76
  351. package/src/styles/diagram.css +0 -183
  352. package/src/styles/editor.css +0 -7131
  353. package/src/styles/folder-view.css +0 -210
  354. package/src/styles/image-edit-affordance.css +0 -201
  355. package/src/styles/index.css +0 -20
  356. package/src/styles/mermaid-diagram.css +0 -487
  357. package/src/styles/tree-view.css +0 -189
  358. package/src/teleprompter/TeleprompterControls.tsx +0 -218
  359. package/src/teleprompter/TeleprompterSelfView.tsx +0 -22
  360. package/src/teleprompter/TeleprompterSurface.tsx +0 -267
  361. package/src/teleprompter/TeleprompterView.tsx +0 -338
  362. package/src/teleprompter/canvasRenderer.ts +0 -161
  363. package/src/teleprompter/floatingWindow.ts +0 -352
  364. package/src/teleprompter/index.ts +0 -61
  365. package/src/teleprompter/pcmWorklet.ts +0 -62
  366. package/src/teleprompter/recording/insertPreamble.ts +0 -80
  367. package/src/teleprompter/recording/narrationSave.ts +0 -134
  368. package/src/teleprompter/recording/useNarrationRecorder.ts +0 -367
  369. package/src/teleprompter/scrollModel.ts +0 -85
  370. package/src/teleprompter/teleprompterTheme.ts +0 -303
  371. package/src/teleprompter/types.ts +0 -38
  372. package/src/teleprompter/useFloatingWindow.ts +0 -74
  373. package/src/teleprompter/useMicAnalysis.ts +0 -211
  374. package/src/teleprompter/useTeleprompter.ts +0 -421
  375. package/src/templateContentPreviewResolver.ts +0 -360
  376. package/src/timeline/TimelineEditorWidget.tsx +0 -861
  377. package/src/timeline/TimelineViewExtension.ts +0 -252
  378. package/src/timeline/__tests__/TimelineEditorWidget.test.tsx +0 -414
  379. package/src/timeline/__tests__/TimelineViewExtension.test.ts +0 -163
  380. package/src/timeline/__tests__/timelineCommands.test.ts +0 -359
  381. package/src/timeline/__tests__/timelineOps.test.ts +0 -277
  382. package/src/timeline/__tests__/timelinePaste.test.ts +0 -34
  383. package/src/timeline/timelineCommands.ts +0 -421
  384. package/src/timeline/timelineData.ts +0 -54
  385. package/src/timeline/timelineOps.ts +0 -381
  386. package/src/timeline/timelinePaste.ts +0 -8
  387. package/src/timelineSource.ts +0 -244
  388. package/src/tiptap/TiptapAudio.tsx +0 -86
  389. package/src/tiptap/TiptapVideo.tsx +0 -119
  390. package/src/tiptap/useResolvedMediaSrc.ts +0 -47
  391. package/src/tiptapBridge.ts +0 -986
  392. package/src/tooltipPlacement.ts +0 -13
  393. package/src/transformStyleId.ts +0 -17
  394. package/src/transitionCatalog.ts +0 -159
  395. package/src/treeview/TreeOutlineWidget.tsx +0 -390
  396. package/src/treeview/TreeViewExtension.ts +0 -250
  397. package/src/treeview/__tests__/TreeOutlineWidget.test.tsx +0 -156
  398. package/src/treeview/__tests__/TreeViewExtension.test.ts +0 -122
  399. package/src/treeview/__tests__/treeOps.test.ts +0 -177
  400. package/src/treeview/__tests__/treePaste.test.ts +0 -40
  401. package/src/treeview/__tests__/treeViewCommands.test.ts +0 -179
  402. package/src/treeview/treeOps.ts +0 -231
  403. package/src/treeview/treePaste.ts +0 -13
  404. package/src/treeview/treeViewCommands.ts +0 -99
  405. package/src/treeview/treeViewData.ts +0 -41
  406. package/src/types/monaco-shims.d.ts +0 -10
  407. package/src/useBlockNavigator.ts +0 -153
  408. package/src/useHeadingLayout.ts +0 -294
  409. package/src/useMonacoLoader.ts +0 -82
  410. package/src/useTimelineClock.ts +0 -76
  411. package/src/utils/collectInlineFontAwesomeCss.ts +0 -69
  412. package/src/utils/dropUtils.ts +0 -136
  413. package/src/utils/normalizeMalformedAssetUrl.ts +0 -22
  414. package/src/writeCanvasSettings.ts +0 -30
  415. package/src/wysiwygImageUpload.ts +0 -113
@@ -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,10 +8509,73 @@
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);
8571
8577
  padding: 4px 8px;
8578
+ font-family: var( --squisq-ux-font, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif );
8572
8579
  font-size: 12px;
8573
8580
  font-weight: 500;
8574
8581
  color: #f9fafb;
@@ -8865,9 +8872,6 @@
8865
8872
  .squisq-status-error {
8866
8873
  color: #dc2626;
8867
8874
  }
8868
- .squisq-status-parsing {
8869
- color: #d97706;
8870
- }
8871
8875
  .squisq-wysiwyg-container {
8872
8876
  background: #dcd8d0;
8873
8877
  }
@@ -9271,6 +9275,112 @@
9271
9275
  background: transparent;
9272
9276
  color: inherit;
9273
9277
  }
9278
+ .squisq-print-trigger {
9279
+ display: inline-flex;
9280
+ align-items: center;
9281
+ gap: 6px;
9282
+ flex: 0 0 auto;
9283
+ min-height: 30px;
9284
+ margin: 0 5px 0 0;
9285
+ padding: 0 9px;
9286
+ border: 1px solid var(--squisq-border, #d1d5db);
9287
+ border-radius: 5px;
9288
+ background: var(--squisq-input-bg, #fff);
9289
+ color: var(--squisq-text, #1f2937);
9290
+ font: 600 12px/1 var(--squisq-ux-font, sans-serif);
9291
+ cursor: pointer;
9292
+ }
9293
+ .squisq-print-trigger:hover,
9294
+ .squisq-print-trigger:focus-visible {
9295
+ outline: none;
9296
+ border-color: #9ca3af;
9297
+ background: rgba(107, 114, 128, 0.12);
9298
+ }
9299
+ .squisq-print-toolbar {
9300
+ display: flex;
9301
+ align-items: center;
9302
+ flex: 1 1 auto;
9303
+ min-width: 0;
9304
+ min-height: 38px;
9305
+ gap: 8px;
9306
+ padding: 3px 5px 3px 10px;
9307
+ }
9308
+ .squisq-print-toolbar-title {
9309
+ flex: 0 0 auto;
9310
+ color: var(--squisq-text, #1f2937);
9311
+ font: 650 12px/1 var(--squisq-ux-font, sans-serif);
9312
+ white-space: nowrap;
9313
+ }
9314
+ .squisq-print-density {
9315
+ display: inline-flex;
9316
+ align-items: center;
9317
+ flex: 0 1 auto;
9318
+ min-width: 0;
9319
+ overflow: hidden;
9320
+ border: 1px solid var(--squisq-border, #d1d5db);
9321
+ border-radius: 5px;
9322
+ background: var(--squisq-input-bg, #fff);
9323
+ }
9324
+ .squisq-print-density-button {
9325
+ min-height: 28px;
9326
+ padding: 0 9px;
9327
+ border: 0;
9328
+ border-left: 1px solid var(--squisq-border, #d1d5db);
9329
+ background: transparent;
9330
+ color: var(--squisq-text-muted, #6b7280);
9331
+ font: 500 11px/1 var(--squisq-ux-font, sans-serif);
9332
+ white-space: nowrap;
9333
+ cursor: pointer;
9334
+ }
9335
+ .squisq-print-density-button:first-child {
9336
+ border-left: 0;
9337
+ }
9338
+ .squisq-print-density-button:hover,
9339
+ .squisq-print-density-button:focus-visible {
9340
+ outline: none;
9341
+ background: rgba(107, 114, 128, 0.12);
9342
+ }
9343
+ .squisq-print-density-button--active {
9344
+ background: #dbeafe;
9345
+ color: #1d4ed8;
9346
+ font-weight: 650;
9347
+ }
9348
+ .squisq-print-toolbar-spacer {
9349
+ flex: 1 1 auto;
9350
+ }
9351
+ .squisq-print-action,
9352
+ .squisq-print-close {
9353
+ display: inline-flex;
9354
+ align-items: center;
9355
+ justify-content: center;
9356
+ gap: 6px;
9357
+ flex: 0 0 auto;
9358
+ min-height: 30px;
9359
+ padding: 0 10px;
9360
+ border: 1px solid transparent;
9361
+ border-radius: 5px;
9362
+ font: 600 12px/1 var(--squisq-ux-font, sans-serif);
9363
+ cursor: pointer;
9364
+ }
9365
+ .squisq-print-action {
9366
+ background: #2563eb;
9367
+ color: #fff;
9368
+ }
9369
+ .squisq-print-action:hover,
9370
+ .squisq-print-action:focus-visible {
9371
+ outline: none;
9372
+ background: #1d4ed8;
9373
+ }
9374
+ .squisq-print-close {
9375
+ border-color: var(--squisq-border, #d1d5db);
9376
+ background: var(--squisq-input-bg, #fff);
9377
+ color: var(--squisq-text, #1f2937);
9378
+ }
9379
+ .squisq-print-close:hover,
9380
+ .squisq-print-close:focus-visible {
9381
+ outline: none;
9382
+ background: rgba(107, 114, 128, 0.12);
9383
+ }
9274
9384
  .squisq-wysiwyg-editor a {
9275
9385
  color: color-mix(in srgb, var(--squisq-theme-primary, #2563eb) 65%, var(--squisq-theme-text, #1f2937));
9276
9386
  text-decoration: underline;
@@ -9288,6 +9398,118 @@
9288
9398
  background: #f5f5f5;
9289
9399
  padding: 16px;
9290
9400
  }
9401
+ .squisq-editor-shell[data-print-preview=true] > .squisq-status-bar,
9402
+ .squisq-editor-shell[data-print-preview=true] > .squisq-timeline,
9403
+ .squisq-editor-shell[data-print-preview=true] .squisq-media-bin,
9404
+ .squisq-editor-shell[data-print-preview=true] .squisq-custom-theme-pane {
9405
+ display: none;
9406
+ }
9407
+ .squisq-editor-shell[data-print-preview=true] .squisq-preview-player {
9408
+ padding: 0;
9409
+ background: #dfe3e8;
9410
+ }
9411
+ .squisq-print-preview {
9412
+ width: 100%;
9413
+ height: 100%;
9414
+ min-width: 0;
9415
+ min-height: 0;
9416
+ padding: 32px;
9417
+ overflow: auto;
9418
+ background: #dfe3e8;
9419
+ box-sizing: border-box;
9420
+ print-color-adjust: exact;
9421
+ -webkit-print-color-adjust: exact;
9422
+ }
9423
+ .squisq-print-preview--slides {
9424
+ display: flex;
9425
+ align-items: center;
9426
+ flex-direction: column;
9427
+ gap: 28px;
9428
+ }
9429
+ .squisq-print-sheet {
9430
+ display: grid;
9431
+ flex: 0 0 auto;
9432
+ width: min(11in, 100%);
9433
+ aspect-ratio: var(--squisq-print-paper-ratio, 11 / 8.5);
9434
+ padding: 0.28in;
9435
+ gap: 0.18in;
9436
+ overflow: hidden;
9437
+ background: #fff;
9438
+ box-shadow: 0 8px 28px rgba(15, 23, 42, 0.22);
9439
+ box-sizing: border-box;
9440
+ }
9441
+ .squisq-print-sheet[data-slides-per-page="1"] {
9442
+ grid-template: minmax(0, 1fr) / minmax(0, 1fr);
9443
+ padding: 0;
9444
+ gap: 0;
9445
+ }
9446
+ .squisq-print-sheet[data-slides-per-page="2"] {
9447
+ grid-template: repeat(2, minmax(0, 1fr)) / minmax(0, 1fr);
9448
+ }
9449
+ .squisq-print-sheet[data-slides-per-page="9"] {
9450
+ grid-template: repeat(3, minmax(0, 1fr)) / repeat(3, minmax(0, 1fr));
9451
+ }
9452
+ .squisq-print-slide-cell {
9453
+ display: flex;
9454
+ align-items: center;
9455
+ justify-content: center;
9456
+ min-width: 0;
9457
+ min-height: 0;
9458
+ overflow: hidden;
9459
+ background: var(--squisq-print-slide-bg, #fff);
9460
+ box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.12);
9461
+ }
9462
+ .squisq-print-sheet[data-slides-per-page="1"] .squisq-print-slide-cell {
9463
+ box-shadow: none;
9464
+ }
9465
+ .squisq-print-slide-frame,
9466
+ .squisq-print-slide-frame > .block-svg {
9467
+ display: block;
9468
+ width: 100%;
9469
+ height: 100%;
9470
+ min-width: 0;
9471
+ min-height: 0;
9472
+ }
9473
+ .squisq-print-page-paper,
9474
+ .squisq-print-document-paper {
9475
+ width: min(8.5in, 100%);
9476
+ min-height: 11in;
9477
+ margin: 0 auto;
9478
+ overflow: hidden;
9479
+ background: #fff;
9480
+ box-shadow: 0 8px 28px rgba(15, 23, 42, 0.22);
9481
+ }
9482
+ .squisq-print-page-paper .squisq-print-linear {
9483
+ min-height: 11in;
9484
+ }
9485
+ .squisq-print-document-paper > iframe {
9486
+ min-height: 11in;
9487
+ }
9488
+ .squisq-print-empty {
9489
+ margin: auto;
9490
+ color: #6b7280;
9491
+ font: 500 14px/1.4 var(--squisq-ux-font, sans-serif);
9492
+ }
9493
+ @container squisq-toolbar (max-width: 820px) {
9494
+ .squisq-print-trigger > span,
9495
+ .squisq-print-toolbar-title,
9496
+ .squisq-print-density-label {
9497
+ display: none;
9498
+ }
9499
+ }
9500
+ @media (max-width: 760px) {
9501
+ .squisq-print-trigger > span,
9502
+ .squisq-print-toolbar-title {
9503
+ display: none;
9504
+ }
9505
+ .squisq-print-density-button {
9506
+ padding-inline: 6px;
9507
+ font-size: 10px;
9508
+ }
9509
+ .squisq-print-preview {
9510
+ padding: 16px;
9511
+ }
9512
+ }
9291
9513
  .squisq-preview-status {
9292
9514
  display: flex;
9293
9515
  align-items: center;
@@ -9702,9 +9924,6 @@
9702
9924
  .squisq-editor-shell[data-theme=dark] .squisq-status-error {
9703
9925
  color: #f87171;
9704
9926
  }
9705
- .squisq-editor-shell[data-theme=dark] .squisq-status-parsing {
9706
- color: #fbbf24;
9707
- }
9708
9927
  .squisq-editor-shell[data-theme=dark] .squisq-wysiwyg-container {
9709
9928
  background: #0f1219;
9710
9929
  }
@@ -9765,6 +9984,107 @@
9765
9984
  .squisq-editor-shell[data-theme=dark] .squisq-preview-player {
9766
9985
  background: #111827;
9767
9986
  }
9987
+ @media print {
9988
+ body.squisq-printing {
9989
+ margin: 0 !important;
9990
+ background: #fff !important;
9991
+ }
9992
+ body.squisq-printing * {
9993
+ visibility: hidden !important;
9994
+ }
9995
+ body.squisq-printing .squisq-editor-shell[data-print-preview=true],
9996
+ body.squisq-printing .squisq-editor-shell[data-print-preview=true] * {
9997
+ visibility: visible !important;
9998
+ }
9999
+ body.squisq-printing [data-squisq-print-ancestor=true] {
10000
+ position: static !important;
10001
+ display: block !important;
10002
+ width: auto !important;
10003
+ height: auto !important;
10004
+ min-width: 0 !important;
10005
+ min-height: 0 !important;
10006
+ max-width: none !important;
10007
+ max-height: none !important;
10008
+ margin: 0 !important;
10009
+ padding: 0 !important;
10010
+ overflow: visible !important;
10011
+ contain: none !important;
10012
+ transform: none !important;
10013
+ }
10014
+ body.squisq-printing .squisq-editor-shell[data-print-preview=true] {
10015
+ position: absolute !important;
10016
+ inset: 0 auto auto 0 !important;
10017
+ display: block !important;
10018
+ width: 100% !important;
10019
+ height: auto !important;
10020
+ min-width: 0 !important;
10021
+ min-height: 0 !important;
10022
+ max-width: none !important;
10023
+ max-height: none !important;
10024
+ overflow: visible !important;
10025
+ background: #fff !important;
10026
+ }
10027
+ body.squisq-printing .squisq-editor-shell[data-print-preview=true] > .squisq-editor-header,
10028
+ body.squisq-printing .squisq-editor-shell[data-print-preview=true] > .squisq-status-bar,
10029
+ body.squisq-printing .squisq-editor-shell[data-print-preview=true] > .squisq-timeline,
10030
+ body.squisq-printing .squisq-media-bin,
10031
+ body.squisq-printing .squisq-custom-theme-pane,
10032
+ body.squisq-printing .squisq-presentation-exit,
10033
+ body.squisq-printing .squisq-presentation-error {
10034
+ display: none !important;
10035
+ }
10036
+ body.squisq-printing .squisq-editor-content,
10037
+ body.squisq-printing .squisq-editor-content > div,
10038
+ body.squisq-printing .squisq-preview-container,
10039
+ body.squisq-printing .squisq-preview-player,
10040
+ body.squisq-printing .squisq-print-preview {
10041
+ display: block !important;
10042
+ width: 100% !important;
10043
+ height: auto !important;
10044
+ min-height: 0 !important;
10045
+ max-height: none !important;
10046
+ padding: 0 !important;
10047
+ overflow: visible !important;
10048
+ background: #fff !important;
10049
+ }
10050
+ body.squisq-printing .squisq-print-sheet {
10051
+ width: 100vw !important;
10052
+ height: 100vh !important;
10053
+ aspect-ratio: auto !important;
10054
+ margin: 0 !important;
10055
+ box-shadow: none !important;
10056
+ break-after: page;
10057
+ page-break-after: always;
10058
+ }
10059
+ body.squisq-printing .squisq-print-sheet:last-of-type {
10060
+ break-after: auto;
10061
+ page-break-after: auto;
10062
+ }
10063
+ body.squisq-printing .squisq-print-page-paper {
10064
+ width: 100% !important;
10065
+ min-height: 0 !important;
10066
+ margin: 0 !important;
10067
+ overflow: visible !important;
10068
+ box-shadow: none !important;
10069
+ }
10070
+ body.squisq-printing .squisq-print-linear {
10071
+ width: 100% !important;
10072
+ height: auto !important;
10073
+ min-height: 0 !important;
10074
+ overflow: visible !important;
10075
+ }
10076
+ body.squisq-printing .squisq-linear-section,
10077
+ body.squisq-printing .squisq-page-card,
10078
+ body.squisq-printing .squisq-page-feature,
10079
+ body.squisq-printing .squisq-page-gallery-item {
10080
+ break-inside: avoid;
10081
+ page-break-inside: avoid;
10082
+ }
10083
+ body.squisq-printing video,
10084
+ body.squisq-printing audio {
10085
+ animation: none !important;
10086
+ }
10087
+ }
9768
10088
  .squisq-editor-shell[data-theme=dark] .squisq-preview-status {
9769
10089
  color: #6b7280;
9770
10090
  }
@@ -10794,8 +11114,13 @@
10794
11114
  right: 0;
10795
11115
  z-index: 90;
10796
11116
  width: 360px;
10797
- max-width: 95vw;
11117
+ max-width: calc(100vw - 16px);
11118
+ max-height: calc(100vh - 16px);
10798
11119
  margin-top: 4px;
11120
+ box-sizing: border-box;
11121
+ display: flex;
11122
+ flex-direction: column;
11123
+ container-type: inline-size;
10799
11124
  background: var(--squisq-bg, #fff);
10800
11125
  border: 1px solid var(--squisq-border, #e5e7eb);
10801
11126
  border-radius: 6px;
@@ -10813,7 +11138,9 @@
10813
11138
  font-weight: 600;
10814
11139
  }
10815
11140
  .squisq-theme-customizer-body {
11141
+ min-height: 0;
10816
11142
  max-height: 70vh;
11143
+ flex: 0 1 auto;
10817
11144
  overflow-y: auto;
10818
11145
  padding: 8px 0;
10819
11146
  }
@@ -10871,6 +11198,8 @@
10871
11198
  cursor: pointer;
10872
11199
  }
10873
11200
  .squisq-theme-customizer-input {
11201
+ box-sizing: border-box;
11202
+ min-width: 0;
10874
11203
  width: 100%;
10875
11204
  padding: 4px 6px;
10876
11205
  border: 1px solid var(--squisq-border, #e5e7eb);
@@ -10929,6 +11258,35 @@
10929
11258
  .squisq-theme-customizer-button--primary:hover {
10930
11259
  background: #1d4ed8;
10931
11260
  }
11261
+ @container (max-width: 280px) {
11262
+ .squisq-theme-customizer-row {
11263
+ grid-template-columns: 28px minmax(0, 1fr);
11264
+ align-items: start;
11265
+ gap: 4px 8px;
11266
+ }
11267
+ .squisq-theme-customizer-row-label {
11268
+ grid-column: 1 / -1;
11269
+ }
11270
+ .squisq-theme-customizer-row > .squisq-theme-customizer-input:not(.squisq-theme-customizer-input--hex) {
11271
+ grid-column: 1 / -1;
11272
+ }
11273
+ .squisq-theme-customizer-row--font {
11274
+ grid-template-columns: minmax(0, 1fr);
11275
+ }
11276
+ .squisq-theme-customizer-row--font > input,
11277
+ .squisq-theme-customizer-row--font > select:not(:first-of-type) {
11278
+ grid-column: 1;
11279
+ margin-top: 0;
11280
+ }
11281
+ .squisq-theme-customizer-scale {
11282
+ flex-wrap: wrap;
11283
+ margin-left: 0;
11284
+ }
11285
+ .squisq-theme-import-drop {
11286
+ align-items: stretch;
11287
+ flex-direction: column;
11288
+ }
11289
+ }
10932
11290
  .squisq-theme-import {
10933
11291
  display: flex;
10934
11292
  flex-direction: column;
@@ -11892,6 +12250,20 @@
11892
12250
  border-color: #3b82f6;
11893
12251
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
11894
12252
  }
12253
+ .squisq-link-dialog-input--invalid,
12254
+ .squisq-link-dialog-input--invalid:focus {
12255
+ border-color: #dc2626;
12256
+ box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.18);
12257
+ }
12258
+ .squisq-link-dialog-error {
12259
+ font-size: 12px;
12260
+ line-height: 1.4;
12261
+ color: #dc2626;
12262
+ }
12263
+ .squisq-link-dialog-btn--primary:disabled {
12264
+ opacity: 0.5;
12265
+ cursor: not-allowed;
12266
+ }
11895
12267
  .squisq-link-dialog-footer {
11896
12268
  display: flex;
11897
12269
  justify-content: flex-end;
@@ -12509,6 +12881,8 @@
12509
12881
  display: inline-flex;
12510
12882
  align-items: center;
12511
12883
  gap: 5px;
12884
+ box-sizing: border-box;
12885
+ height: 29px;
12512
12886
  padding: 3px 8px;
12513
12887
  font-size: 12px;
12514
12888
  font-weight: 500;
@@ -14189,15 +14563,15 @@
14189
14563
  padding: 6px 12px;
14190
14564
  font-size: 12px;
14191
14565
  font-weight: 500;
14192
- color: #ffffff;
14193
- background: #6366f1;
14566
+ color: var(--squisq-text-on-accent, #ffffff);
14567
+ background: var(--squisq-accent, #6366f1);
14194
14568
  border: none;
14195
14569
  border-radius: 6px;
14196
14570
  cursor: pointer;
14197
14571
  transition: background 0.1s;
14198
14572
  }
14199
14573
  .squisq-diagram-empty-btn:hover {
14200
- background: #4f46e5;
14574
+ background: var(--squisq-accent-hover, #4f46e5);
14201
14575
  }
14202
14576
  .squisq-diagram-maximize-btn {
14203
14577
  position: absolute;
@@ -14378,17 +14752,20 @@
14378
14752
  max-width: none !important;
14379
14753
  margin: 0 auto;
14380
14754
  }
14381
- .squisq-mermaid-svg g.node {
14755
+ .squisq-mermaid-svg [data-squisq-node-id],
14756
+ .squisq-mermaid-svg [data-squisq-text-id] {
14382
14757
  cursor: pointer;
14383
14758
  }
14384
- .squisq-mermaid-svg g.node:focus-visible {
14759
+ .squisq-mermaid-svg [data-squisq-node-id]:focus-visible,
14760
+ .squisq-mermaid-svg [data-squisq-text-id]:focus-visible {
14385
14761
  outline: none;
14386
14762
  filter: drop-shadow(0 0 4px #4f46e5);
14387
14763
  }
14388
- .squisq-mermaid-svg g.squisq-mermaid-node-selected {
14764
+ .squisq-mermaid-svg .squisq-mermaid-node-selected,
14765
+ .squisq-mermaid-svg .squisq-mermaid-text-selected {
14389
14766
  filter: drop-shadow(0 0 5px #4f46e5);
14390
14767
  }
14391
- .squisq-mermaid-svg g.squisq-mermaid-connect-source {
14768
+ .squisq-mermaid-svg .squisq-mermaid-connect-source {
14392
14769
  filter: drop-shadow(0 0 6px #0d9488);
14393
14770
  }
14394
14771
  .squisq-mermaid-svg .edgePath,
@@ -14396,7 +14773,7 @@
14396
14773
  .squisq-mermaid-svg .edgeLabel {
14397
14774
  cursor: pointer;
14398
14775
  }
14399
- .squisq-mermaid-svg path.squisq-mermaid-edge-hit-target {
14776
+ .squisq-mermaid-svg .squisq-mermaid-edge-hit-target {
14400
14777
  fill: none;
14401
14778
  stroke: rgba(0, 0, 0, 0.001);
14402
14779
  stroke-width: 14px;
@@ -14515,7 +14892,8 @@
14515
14892
  pointer-events: none;
14516
14893
  }
14517
14894
  .squisq-mermaid-shape-palette,
14518
- .squisq-mermaid-direction-picker {
14895
+ .squisq-mermaid-direction-picker,
14896
+ .squisq-mermaid-properties {
14519
14897
  position: absolute;
14520
14898
  top: calc(100% + 6px);
14521
14899
  left: 0;
@@ -14532,6 +14910,78 @@
14532
14910
  color: var(--squisq-text, #1e293b);
14533
14911
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18);
14534
14912
  }
14913
+ .squisq-mermaid-properties {
14914
+ width: min(320px, calc(100vw - 24px));
14915
+ max-height: min(520px, 70vh);
14916
+ gap: 10px;
14917
+ overflow: auto;
14918
+ font-size: 12px;
14919
+ }
14920
+ .squisq-mermaid-properties-header,
14921
+ .squisq-mermaid-properties-footer {
14922
+ display: flex;
14923
+ align-items: center;
14924
+ justify-content: space-between;
14925
+ gap: 8px;
14926
+ }
14927
+ .squisq-mermaid-properties-header strong {
14928
+ font-size: 13px;
14929
+ }
14930
+ .squisq-mermaid-properties-header button,
14931
+ .squisq-mermaid-properties-footer button {
14932
+ min-height: 30px;
14933
+ padding: 5px 9px;
14934
+ border: 1px solid var(--squisq-border, #cbd5e1);
14935
+ border-radius: 6px;
14936
+ background: var(--squisq-surface-subtle, #f8fafc);
14937
+ color: inherit;
14938
+ cursor: pointer;
14939
+ }
14940
+ .squisq-mermaid-properties-header button {
14941
+ width: 30px;
14942
+ padding: 0;
14943
+ }
14944
+ .squisq-mermaid-properties-footer {
14945
+ justify-content: flex-end;
14946
+ }
14947
+ .squisq-mermaid-properties-footer button[data-primary=true] {
14948
+ border-color: #4f46e5;
14949
+ background: #4f46e5;
14950
+ color: #fff;
14951
+ }
14952
+ .squisq-mermaid-properties-fields {
14953
+ display: flex;
14954
+ min-height: 0;
14955
+ flex-direction: column;
14956
+ gap: 8px;
14957
+ overflow: auto;
14958
+ }
14959
+ .squisq-mermaid-properties-fields > label {
14960
+ display: flex;
14961
+ flex-direction: column;
14962
+ gap: 4px;
14963
+ color: var(--squisq-text-muted, #64748b);
14964
+ font-weight: 600;
14965
+ }
14966
+ .squisq-mermaid-properties-fields :is(input[type=text], select) {
14967
+ box-sizing: border-box;
14968
+ width: 100%;
14969
+ min-height: 32px;
14970
+ padding: 5px 7px;
14971
+ border: 1px solid var(--squisq-border, #cbd5e1);
14972
+ border-radius: 6px;
14973
+ background: var(--squisq-surface-subtle, #f8fafc);
14974
+ color: var(--squisq-text, #1e293b);
14975
+ font: inherit;
14976
+ font-weight: 400;
14977
+ }
14978
+ .squisq-mermaid-property-toggle {
14979
+ display: flex;
14980
+ align-items: center;
14981
+ gap: 7px;
14982
+ min-height: 30px;
14983
+ color: var(--squisq-text, #1e293b);
14984
+ }
14535
14985
  .squisq-mermaid-shape-search {
14536
14986
  box-sizing: border-box;
14537
14987
  width: 100%;
@@ -14768,8 +15218,6 @@
14768
15218
  display: flex;
14769
15219
  min-height: 34px;
14770
15220
  align-items: center;
14771
- justify-content: space-between;
14772
- gap: 12px;
14773
15221
  padding: 0 10px;
14774
15222
  border-bottom: 1px solid var(--squisq-border, #d1d5db);
14775
15223
  background: var(--squisq-surface-muted, #f8fafc);
@@ -14786,19 +15234,6 @@
14786
15234
  color: var(--squisq-text, #334155);
14787
15235
  font-weight: 600;
14788
15236
  }
14789
- .squisq-code-snippet-header code {
14790
- overflow: hidden;
14791
- color: inherit;
14792
- font-family:
14793
- ui-monospace,
14794
- SFMono-Regular,
14795
- Menlo,
14796
- Consolas,
14797
- "Liberation Mono",
14798
- monospace;
14799
- text-overflow: ellipsis;
14800
- white-space: nowrap;
14801
- }
14802
15237
  .squisq-code-snippet-editor {
14803
15238
  position: relative;
14804
15239
  min-height: 0;
@@ -15497,6 +15932,7 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15497
15932
  }
15498
15933
  .squisq-editor-shell[data-theme=dark] .squisq-scene-shell {
15499
15934
  --squisq-surface: #0f172a;
15935
+ --squisq-surface-raised: #111827;
15500
15936
  --squisq-surface-hover: #1e293b;
15501
15937
  --squisq-border: #475569;
15502
15938
  --squisq-text: #f8fafc;
@@ -15505,8 +15941,8 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15505
15941
  .squisq-editor-shell[data-theme=dark] .squisq-scene-root,
15506
15942
  .squisq-editor-shell[data-theme=dark] .squisq-scene-inline,
15507
15943
  .squisq-editor-shell[data-theme=dark] .squisq-diagram-inline {
15508
- background: #0f172a;
15509
- border-color: #475569;
15944
+ background: var(--squisq-surface, #0f172a);
15945
+ border-color: var(--squisq-border, #475569);
15510
15946
  }
15511
15947
  .squisq-editor-shell[data-theme=dark] .squisq-scene-layer--shape,
15512
15948
  .squisq-editor-shell[data-theme=dark] .squisq-scene-layer--path,
@@ -15541,41 +15977,41 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15541
15977
  }
15542
15978
  .squisq-scene-selection-outline {
15543
15979
  fill: none;
15544
- stroke: #6366f1;
15980
+ stroke: var(--squisq-accent, #6366f1);
15545
15981
  stroke-width: 1.5;
15546
15982
  stroke-dasharray: 4 3;
15547
15983
  vector-effect: non-scaling-stroke;
15548
15984
  }
15549
15985
  .squisq-scene-selection-handle {
15550
- fill: #ffffff;
15551
- stroke: #6366f1;
15986
+ fill: var(--squisq-surface, #ffffff);
15987
+ stroke: var(--squisq-accent, #6366f1);
15552
15988
  stroke-width: 1.5;
15553
15989
  vector-effect: non-scaling-stroke;
15554
15990
  }
15555
15991
  .squisq-scene-marquee {
15556
- fill: rgba(99, 102, 241, 0.08);
15557
- stroke: #6366f1;
15992
+ fill: color-mix(in srgb, var(--squisq-accent, #6366f1) 12%, transparent);
15993
+ stroke: var(--squisq-accent, #6366f1);
15558
15994
  stroke-width: 1;
15559
15995
  stroke-dasharray: 4 3;
15560
15996
  vector-effect: non-scaling-stroke;
15561
15997
  }
15562
15998
  .squisq-scene-connect-preview {
15563
15999
  fill: none;
15564
- stroke: #6366f1;
16000
+ stroke: var(--squisq-accent, #6366f1);
15565
16001
  stroke-width: 2;
15566
16002
  stroke-dasharray: 6 4;
15567
16003
  vector-effect: non-scaling-stroke;
15568
16004
  pointer-events: none;
15569
16005
  }
15570
16006
  .squisq-scene-connection-point {
15571
- fill: #ffffff;
15572
- stroke: #6366f1;
16007
+ fill: var(--squisq-surface, #ffffff);
16008
+ stroke: var(--squisq-accent, #6366f1);
15573
16009
  stroke-width: 2;
15574
16010
  vector-effect: non-scaling-stroke;
15575
16011
  pointer-events: none;
15576
16012
  }
15577
16013
  .squisq-scene-connection-point--active {
15578
- fill: #6366f1;
16014
+ fill: var(--squisq-accent, #6366f1);
15579
16015
  }
15580
16016
  .squisq-scene-toolbar {
15581
16017
  position: absolute;
@@ -15587,8 +16023,8 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15587
16023
  flex-wrap: wrap;
15588
16024
  gap: 4px;
15589
16025
  padding: 4px;
15590
- background: #ffffff;
15591
- border: 1px solid #cbd5e1;
16026
+ background: var(--squisq-surface-raised, var(--squisq-surface, #ffffff));
16027
+ border: 1px solid var(--squisq-border, #cbd5e1);
15592
16028
  border-radius: 6px;
15593
16029
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
15594
16030
  max-width: calc(100% - 16px);
@@ -15600,10 +16036,10 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15600
16036
  min-width: 28px;
15601
16037
  height: 28px;
15602
16038
  padding: 0 8px;
15603
- background: #ffffff;
16039
+ background: var(--squisq-surface-raised, var(--squisq-surface, #ffffff));
15604
16040
  border: 1px solid transparent;
15605
16041
  border-radius: 4px;
15606
- color: #1e293b;
16042
+ color: var(--squisq-text, #1e293b);
15607
16043
  cursor: pointer;
15608
16044
  font-size: 11px;
15609
16045
  font-weight: 600;
@@ -15611,23 +16047,23 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15611
16047
  white-space: nowrap;
15612
16048
  }
15613
16049
  .squisq-scene-tool:hover {
15614
- background: #f1f5f9;
15615
- border-color: #cbd5e1;
15616
- color: #1e293b;
16050
+ background: var(--squisq-surface-hover, #f1f5f9);
16051
+ border-color: var(--squisq-border, #cbd5e1);
16052
+ color: var(--squisq-text, #1e293b);
15617
16053
  }
15618
16054
  .squisq-scene-tool:focus-visible {
15619
- outline: 2px solid #6366f1;
16055
+ outline: 2px solid var(--squisq-accent, #6366f1);
15620
16056
  outline-offset: 1px;
15621
16057
  }
15622
16058
  .squisq-scene-tool--active {
15623
- background: #eef2ff;
15624
- border-color: #6366f1;
15625
- color: #4338ca;
16059
+ background: var(--squisq-accent, #6366f1);
16060
+ border-color: var(--squisq-accent-hover, #4f46e5);
16061
+ color: var(--squisq-text-on-accent, #ffffff);
15626
16062
  }
15627
16063
  .squisq-scene-tool--active:hover {
15628
- background: #e0e7ff;
15629
- border-color: #4f46e5;
15630
- color: #4338ca;
16064
+ background: var(--squisq-accent-hover, #4f46e5);
16065
+ border-color: var(--squisq-accent-hover, #4f46e5);
16066
+ color: var(--squisq-text-on-accent, #ffffff);
15631
16067
  }
15632
16068
  .squisq-scene-tool-label {
15633
16069
  font-size: 11px;
@@ -15653,7 +16089,7 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15653
16089
  flex-wrap: wrap;
15654
16090
  gap: 4px;
15655
16091
  padding: 3px;
15656
- background: var(--squisq-surface, #ffffff);
16092
+ background: var(--squisq-surface-raised, var(--squisq-surface, #ffffff));
15657
16093
  border: 1px solid var(--squisq-border, #cbd5e1);
15658
16094
  border-radius: 6px;
15659
16095
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
@@ -15664,10 +16100,10 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15664
16100
  gap: 4px;
15665
16101
  height: 28px;
15666
16102
  padding: 0 10px;
15667
- background: #ffffff;
16103
+ background: var(--squisq-surface-raised, var(--squisq-surface, #ffffff));
15668
16104
  border: 1px solid transparent;
15669
16105
  border-radius: 4px;
15670
- color: #1e293b;
16106
+ color: var(--squisq-text, #1e293b);
15671
16107
  cursor: pointer;
15672
16108
  font-size: 11px;
15673
16109
  font-weight: 600;
@@ -15675,21 +16111,21 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15675
16111
  white-space: nowrap;
15676
16112
  }
15677
16113
  .squisq-scene-action:hover:not(:disabled) {
15678
- background: #f1f5f9;
15679
- border-color: #cbd5e1;
16114
+ background: var(--squisq-surface-hover, #f1f5f9);
16115
+ border-color: var(--squisq-border, #cbd5e1);
15680
16116
  }
15681
16117
  .squisq-scene-action--active,
15682
16118
  .squisq-scene-action--active:hover:not(:disabled) {
15683
- background: #e0e7ff;
15684
- border-color: #4f46e5;
15685
- color: #4338ca;
16119
+ background: var(--squisq-accent, #6366f1);
16120
+ border-color: var(--squisq-accent-hover, #4f46e5);
16121
+ color: var(--squisq-text-on-accent, #ffffff);
15686
16122
  }
15687
16123
  .squisq-scene-action-popover-anchor {
15688
16124
  position: relative;
15689
16125
  display: inline-flex;
15690
16126
  }
15691
16127
  .squisq-scene-action:focus-visible {
15692
- outline: 2px solid #6366f1;
16128
+ outline: 2px solid var(--squisq-accent, #6366f1);
15693
16129
  outline-offset: 1px;
15694
16130
  }
15695
16131
  .squisq-scene-action:disabled {
@@ -15718,29 +16154,29 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15718
16154
  .squisq-editor-shell[data-theme=dark] .squisq-scene-block-tools,
15719
16155
  .squisq-editor-shell[data-theme=dark] .squisq-scene-block-actions,
15720
16156
  .squisq-editor-shell[data-theme=dark] .squisq-scene-block-props {
15721
- background: #111827;
15722
- border-color: #475569;
15723
- color: #e5e7eb;
16157
+ background: var(--squisq-surface-raised, #111827);
16158
+ border-color: var(--squisq-border, #475569);
16159
+ color: var(--squisq-text, #e5e7eb);
15724
16160
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.32);
15725
16161
  }
15726
16162
  .squisq-editor-shell[data-theme=dark] .squisq-scene-tool,
15727
16163
  .squisq-editor-shell[data-theme=dark] .squisq-scene-action {
15728
- background: #111827;
15729
- color: #e5e7eb;
16164
+ background: var(--squisq-surface-raised, #111827);
16165
+ color: var(--squisq-text, #e5e7eb);
15730
16166
  }
15731
16167
  .squisq-editor-shell[data-theme=dark] .squisq-scene-tool:hover,
15732
16168
  .squisq-editor-shell[data-theme=dark] .squisq-scene-action:hover:not(:disabled) {
15733
- background: #1f2937;
15734
- border-color: #64748b;
15735
- color: #f8fafc;
16169
+ background: var(--squisq-surface-hover, #1f2937);
16170
+ border-color: var(--squisq-border, #64748b);
16171
+ color: var(--squisq-text, #f8fafc);
15736
16172
  }
15737
16173
  .squisq-editor-shell[data-theme=dark] .squisq-scene-tool--active,
15738
16174
  .squisq-editor-shell[data-theme=dark] .squisq-scene-tool--active:hover,
15739
16175
  .squisq-editor-shell[data-theme=dark] .squisq-scene-action--active,
15740
16176
  .squisq-editor-shell[data-theme=dark] .squisq-scene-action--active:hover:not(:disabled) {
15741
- background: #312e81;
15742
- border-color: #818cf8;
15743
- color: #f8fafc;
16177
+ background: var(--squisq-accent, #6366f1);
16178
+ border-color: var(--squisq-accent-hover, #818cf8);
16179
+ color: var(--squisq-text-on-accent, #ffffff);
15744
16180
  }
15745
16181
  .squisq-editor-shell[data-theme=dark] .squisq-scene-action--danger {
15746
16182
  color: #fca5a5;
@@ -15854,18 +16290,19 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15854
16290
  background: var(--squisq-surface-hover, #f1f5f9);
15855
16291
  }
15856
16292
  .squisq-scene-view-fit[data-active=true] {
15857
- color: #4338ca;
16293
+ background: var(--squisq-accent, #6366f1);
16294
+ color: var(--squisq-text-on-accent, #ffffff);
15858
16295
  font-weight: 600;
15859
16296
  }
15860
16297
  .squisq-editor-shell[data-theme=dark] .squisq-scene-view-controls {
15861
- background: #111827;
15862
- border-color: #475569;
15863
- color: #e5e7eb;
16298
+ background: var(--squisq-surface-raised, #111827);
16299
+ border-color: var(--squisq-border, #475569);
16300
+ color: var(--squisq-text, #e5e7eb);
15864
16301
  }
15865
16302
  .squisq-editor-shell[data-theme=dark] .squisq-scene-view-controls button:hover,
15866
16303
  .squisq-editor-shell[data-theme=dark] .squisq-scene-view-fit[data-active=true] {
15867
- background: #312e81;
15868
- color: #f8fafc;
16304
+ background: var(--squisq-accent, #6366f1);
16305
+ color: var(--squisq-text-on-accent, #ffffff);
15869
16306
  }
15870
16307
  .squisq-scene-maximize-btn {
15871
16308
  position: absolute;
@@ -15877,30 +16314,30 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15877
16314
  display: inline-flex;
15878
16315
  align-items: center;
15879
16316
  justify-content: center;
15880
- background: #ffffff;
15881
- border: 1px solid #cbd5e1;
16317
+ background: var(--squisq-surface-raised, var(--squisq-surface, #ffffff));
16318
+ border: 1px solid var(--squisq-border, #cbd5e1);
15882
16319
  border-radius: 6px;
15883
16320
  cursor: pointer;
15884
16321
  font-size: 16px;
15885
16322
  line-height: 1;
15886
- color: #1e293b;
16323
+ color: var(--squisq-text, #1e293b);
15887
16324
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
15888
16325
  }
15889
16326
  .squisq-scene-maximize-btn:hover {
15890
- background: #f1f5f9;
15891
- border-color: #94a3b8;
15892
- color: #0f172a;
16327
+ background: var(--squisq-surface-hover, #f1f5f9);
16328
+ border-color: var(--squisq-border, #94a3b8);
16329
+ color: var(--squisq-text, #0f172a);
15893
16330
  }
15894
16331
  .squisq-editor-shell[data-theme=dark] .squisq-scene-maximize-btn {
15895
- background: #111827;
15896
- border-color: #475569;
15897
- color: #e5e7eb;
16332
+ background: var(--squisq-surface-raised, #111827);
16333
+ border-color: var(--squisq-border, #475569);
16334
+ color: var(--squisq-text, #e5e7eb);
15898
16335
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.32);
15899
16336
  }
15900
16337
  .squisq-editor-shell[data-theme=dark] .squisq-scene-maximize-btn:hover {
15901
- background: #1f2937;
15902
- border-color: #64748b;
15903
- color: #f8fafc;
16338
+ background: var(--squisq-surface-hover, #1f2937);
16339
+ border-color: var(--squisq-border, #64748b);
16340
+ color: var(--squisq-text, #f8fafc);
15904
16341
  }
15905
16342
  .squisq-scene-node-card {
15906
16343
  fill: var(--squisq-surface, #ffffff);
@@ -15929,7 +16366,7 @@ button.squisq-ascii-timeline-track-name:focus-visible {
15929
16366
  pointer-events: all;
15930
16367
  }
15931
16368
  .squisq-scene-node-handle:hover {
15932
- fill: #6366f1;
16369
+ fill: var(--squisq-accent, #6366f1);
15933
16370
  }
15934
16371
  .squisq-scene-edge-path {
15935
16372
  fill: none;
@@ -16176,14 +16613,14 @@ button.squisq-ascii-timeline-track-name:focus-visible {
16176
16613
  padding: 6px 12px;
16177
16614
  font-size: 12px;
16178
16615
  font-weight: 500;
16179
- color: #ffffff;
16180
- background: #6366f1;
16616
+ color: var(--squisq-text-on-accent, #ffffff);
16617
+ background: var(--squisq-accent, #6366f1);
16181
16618
  border: none;
16182
16619
  border-radius: 6px;
16183
16620
  cursor: pointer;
16184
16621
  }
16185
16622
  .squisq-scene-empty-btn:hover {
16186
- background: #4f46e5;
16623
+ background: var(--squisq-accent-hover, #4f46e5);
16187
16624
  }
16188
16625
 
16189
16626
  /* src/customTemplates/designer.css */