@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
@@ -1,487 +0,0 @@
1
- /* Lossless Mermaid-fence editor. Mermaid owns syntax/rendering; Squisq owns
2
- * the same source/maximize/resize chrome used by the ASCII diagram canvas. */
3
-
4
- .squisq-wysiwyg-editor pre.squisq-mermaid-fence-hidden {
5
- display: none;
6
- }
7
-
8
- .squisq-wysiwyg-editor pre.squisq-mermaid-fence-source {
9
- font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, 'Liberation Mono', monospace;
10
- white-space: pre;
11
- overflow-x: auto;
12
- line-height: 1.35;
13
- tab-size: 2;
14
- }
15
-
16
- .squisq-mermaid-diagram-widget-host {
17
- margin: 0.75rem 0 1.25rem;
18
- }
19
-
20
- .squisq-mermaid-canvas {
21
- position: relative;
22
- width: 100%;
23
- height: 100%;
24
- background: var(--squisq-surface, #ffffff);
25
- }
26
-
27
- .squisq-mermaid-canvas-scroll {
28
- box-sizing: border-box;
29
- width: 100%;
30
- height: 100%;
31
- overflow: auto;
32
- padding: 44px 24px 24px;
33
- }
34
-
35
- .squisq-mermaid-canvas-scroll[data-panning='true'] {
36
- cursor: grabbing;
37
- user-select: none;
38
- }
39
-
40
- .squisq-mermaid-svg {
41
- position: relative;
42
- min-height: 100%;
43
- margin: 0 auto;
44
- will-change: transform;
45
- transition: width 120ms ease;
46
- }
47
-
48
- .squisq-mermaid-svg > div:first-child > svg {
49
- display: block;
50
- width: 100% !important;
51
- height: auto !important;
52
- max-width: none !important;
53
- margin: 0 auto;
54
- }
55
-
56
- .squisq-mermaid-svg g.node {
57
- cursor: pointer;
58
- }
59
-
60
- .squisq-mermaid-svg g.node:focus-visible {
61
- outline: none;
62
- filter: drop-shadow(0 0 4px #4f46e5);
63
- }
64
-
65
- .squisq-mermaid-svg g.squisq-mermaid-node-selected {
66
- filter: drop-shadow(0 0 5px #4f46e5);
67
- }
68
-
69
- .squisq-mermaid-svg g.squisq-mermaid-connect-source {
70
- filter: drop-shadow(0 0 6px #0d9488);
71
- }
72
-
73
- .squisq-mermaid-svg .edgePath,
74
- .squisq-mermaid-svg path.flowchart-link,
75
- .squisq-mermaid-svg .edgeLabel {
76
- cursor: pointer;
77
- }
78
-
79
- .squisq-mermaid-svg path.squisq-mermaid-edge-hit-target {
80
- fill: none;
81
- stroke: rgba(0, 0, 0, 0.001);
82
- stroke-width: 14px;
83
- pointer-events: stroke;
84
- cursor: pointer;
85
- }
86
-
87
- .squisq-mermaid-svg .squisq-mermaid-edge-selected {
88
- filter: drop-shadow(0 0 3px #4f46e5);
89
- }
90
-
91
- /* Mermaid's default lineColor is #333, which is nearly invisible against the
92
- * editor's dark canvas. Retheme default relationship strokes and arrowheads
93
- * while leaving explicitly authored edge strokes (linkStyle/style) intact. */
94
- .squisq-editor-shell[data-theme='dark'] .squisq-mermaid-svg {
95
- --squisq-mermaid-edge: #cbd5e1;
96
- --squisq-mermaid-edge-label-bg: rgba(15, 23, 42, 0.88);
97
- }
98
-
99
- .squisq-editor-shell[data-theme='dark']
100
- .squisq-mermaid-svg
101
- :is(
102
- path.flowchart-link,
103
- .edgePath .path,
104
- .relationshipLine,
105
- .messageLine0,
106
- .messageLine1,
107
- .transition
108
- ):not([style*='stroke:']) {
109
- stroke: var(--squisq-mermaid-edge) !important;
110
- }
111
-
112
- .squisq-editor-shell[data-theme='dark'] .squisq-mermaid-svg :is(.marker, .arrowheadPath),
113
- .squisq-editor-shell[data-theme='dark'] .squisq-mermaid-svg marker :is(path, polygon) {
114
- stroke: var(--squisq-mermaid-edge) !important;
115
- }
116
-
117
- .squisq-editor-shell[data-theme='dark']
118
- .squisq-mermaid-svg
119
- marker
120
- :is(path, polygon):not([fill='none']):not([style*='fill:none']):not([style*='fill: none']) {
121
- fill: var(--squisq-mermaid-edge) !important;
122
- }
123
-
124
- .squisq-editor-shell[data-theme='dark'] .squisq-mermaid-svg .edgeLabel,
125
- .squisq-editor-shell[data-theme='dark'] .squisq-mermaid-svg .edgeLabel :is(span, p) {
126
- color: var(--squisq-mermaid-edge) !important;
127
- }
128
-
129
- .squisq-editor-shell[data-theme='dark'] .squisq-mermaid-svg .edgeLabel p,
130
- .squisq-editor-shell[data-theme='dark'] .squisq-mermaid-svg .edgeLabel rect {
131
- background: var(--squisq-mermaid-edge-label-bg) !important;
132
- fill: var(--squisq-mermaid-edge-label-bg) !important;
133
- }
134
-
135
- .squisq-mermaid-selection-actions {
136
- position: absolute;
137
- z-index: 12;
138
- display: inline-flex;
139
- gap: 2px;
140
- padding: 3px;
141
- border: 1px solid var(--squisq-border, #cbd5e1);
142
- border-radius: 7px;
143
- background: var(--squisq-surface, #ffffff);
144
- box-shadow: 0 4px 14px rgba(15, 23, 42, 0.2);
145
- transform: translate(-50%, calc(-100% - 8px));
146
- }
147
-
148
- .squisq-mermaid-selection-actions[data-placement='below'] {
149
- transform: translate(-50%, 8px);
150
- }
151
-
152
- .squisq-mermaid-inline-rename {
153
- position: absolute;
154
- z-index: 14;
155
- margin: 0;
156
- transform: translate(-50%, -50%);
157
- }
158
-
159
- .squisq-mermaid-inline-rename input {
160
- box-sizing: border-box;
161
- width: 100%;
162
- min-height: 36px;
163
- padding: 6px 10px;
164
- border: 2px solid var(--squisq-accent, #4f46e5);
165
- border-radius: 7px;
166
- outline: none;
167
- background: var(--squisq-surface, #ffffff);
168
- color: var(--squisq-text, #1e293b);
169
- box-shadow:
170
- 0 0 0 3px color-mix(in srgb, var(--squisq-accent, #4f46e5) 22%, transparent),
171
- 0 6px 18px rgba(15, 23, 42, 0.2);
172
- font: inherit;
173
- font-size: 16px;
174
- line-height: 1.3;
175
- text-align: center;
176
- }
177
-
178
- .squisq-mermaid-inline-rename input:invalid {
179
- border-color: #dc2626;
180
- }
181
-
182
- .squisq-mermaid-inline-rename span {
183
- position: absolute;
184
- top: calc(100% + 6px);
185
- left: 50%;
186
- padding: 3px 7px;
187
- border: 1px solid var(--squisq-border, #cbd5e1);
188
- border-radius: 5px;
189
- background: var(--squisq-surface, #ffffff);
190
- color: var(--squisq-text-muted, #64748b);
191
- box-shadow: 0 2px 8px rgba(15, 23, 42, 0.14);
192
- font-size: 11px;
193
- line-height: 1.2;
194
- white-space: nowrap;
195
- transform: translateX(-50%);
196
- pointer-events: none;
197
- }
198
-
199
- .squisq-mermaid-selection-actions button {
200
- width: 28px;
201
- height: 28px;
202
- padding: 0;
203
- border: 0;
204
- border-radius: 4px;
205
- background: transparent;
206
- color: var(--squisq-text, #1e293b);
207
- cursor: pointer;
208
- }
209
-
210
- .squisq-mermaid-selection-actions button:hover {
211
- background: var(--squisq-surface-hover, #f1f5f9);
212
- }
213
-
214
- .squisq-mermaid-selection-actions button[data-danger='true'] {
215
- color: #b91c1c;
216
- }
217
-
218
- .squisq-mermaid-connect-hint {
219
- position: absolute;
220
- top: 10px;
221
- left: 50%;
222
- z-index: 11;
223
- padding: 6px 10px;
224
- border-radius: 999px;
225
- background: #312e81;
226
- color: #fff;
227
- font-size: 12px;
228
- transform: translateX(-50%);
229
- pointer-events: none;
230
- }
231
-
232
- .squisq-mermaid-shape-palette,
233
- .squisq-mermaid-direction-picker {
234
- position: absolute;
235
- top: calc(100% + 6px);
236
- left: 0;
237
- z-index: 40;
238
- display: flex;
239
- box-sizing: border-box;
240
- width: 360px;
241
- max-height: min(520px, 70vh);
242
- flex-direction: column;
243
- padding: 8px;
244
- border: 1px solid var(--squisq-border, #e2e8f0);
245
- border-radius: 8px;
246
- background: var(--squisq-surface, #ffffff);
247
- color: var(--squisq-text, #1e293b);
248
- box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18);
249
- }
250
-
251
- .squisq-mermaid-shape-search {
252
- box-sizing: border-box;
253
- width: 100%;
254
- margin-bottom: 6px;
255
- padding: 7px 8px;
256
- border: 1px solid var(--squisq-border, #cbd5e1);
257
- border-radius: 6px;
258
- background: var(--squisq-surface-subtle, #f8fafc);
259
- color: inherit;
260
- }
261
-
262
- .squisq-mermaid-shape-scroll {
263
- min-height: 0;
264
- flex: 1 1 auto;
265
- overflow-y: auto;
266
- overscroll-behavior: contain;
267
- }
268
-
269
- .squisq-mermaid-shape-heading {
270
- margin: 9px 3px 4px;
271
- color: var(--squisq-text-muted, #64748b);
272
- font-size: 11px;
273
- font-weight: 700;
274
- letter-spacing: 0.04em;
275
- text-transform: uppercase;
276
- }
277
-
278
- .squisq-mermaid-shape-grid {
279
- display: grid;
280
- grid-template-columns: repeat(2, minmax(0, 1fr));
281
- gap: 3px;
282
- }
283
-
284
- .squisq-mermaid-shape-item {
285
- display: flex;
286
- align-items: center;
287
- gap: 6px;
288
- min-width: 0;
289
- padding: 5px;
290
- border: 1px solid transparent;
291
- border-radius: 6px;
292
- background: transparent;
293
- color: inherit;
294
- cursor: pointer;
295
- font-size: 12px;
296
- text-align: left;
297
- }
298
-
299
- .squisq-mermaid-shape-item svg {
300
- width: 34px;
301
- height: 24px;
302
- flex: 0 0 34px;
303
- }
304
-
305
- .squisq-mermaid-shape-item span {
306
- overflow: hidden;
307
- text-overflow: ellipsis;
308
- white-space: nowrap;
309
- }
310
-
311
- .squisq-mermaid-shape-item:hover,
312
- .squisq-mermaid-shape-item--selected {
313
- border-color: #a5b4fc;
314
- background: #eef2ff;
315
- color: #3730a3;
316
- }
317
-
318
- .squisq-mermaid-direction-picker {
319
- display: grid;
320
- grid-template-columns: repeat(2, 1fr);
321
- gap: 7px;
322
- width: min(344px, calc(100vw - 24px));
323
- padding: 10px;
324
- overflow: auto;
325
- overscroll-behavior: contain;
326
- }
327
-
328
- .squisq-mermaid-direction-heading {
329
- display: flex;
330
- grid-column: 1 / -1;
331
- flex-direction: column;
332
- gap: 2px;
333
- padding: 1px 3px 5px;
334
- }
335
-
336
- .squisq-mermaid-direction-heading strong {
337
- font-size: 13px;
338
- }
339
-
340
- .squisq-mermaid-direction-heading span {
341
- color: var(--squisq-text-muted, #64748b);
342
- font-size: 11px;
343
- }
344
-
345
- .squisq-mermaid-direction-card {
346
- display: flex;
347
- min-width: 0;
348
- flex-direction: column;
349
- align-items: stretch;
350
- gap: 5px;
351
- padding: 7px;
352
- border: 1px solid var(--squisq-border, #cbd5e1);
353
- border-radius: 7px;
354
- background: transparent;
355
- color: inherit;
356
- cursor: pointer;
357
- font: inherit;
358
- text-align: left;
359
- }
360
-
361
- .squisq-mermaid-direction-card svg {
362
- width: 100%;
363
- height: 64px;
364
- border-radius: 5px;
365
- background: var(--squisq-surface-subtle, rgb(148 163 184 / 10%));
366
- color: var(--squisq-text, #334155);
367
- }
368
-
369
- .squisq-mermaid-direction-card svg rect,
370
- .squisq-mermaid-direction-card svg path {
371
- fill: none;
372
- stroke: currentcolor;
373
- stroke-width: 1.8;
374
- }
375
-
376
- .squisq-mermaid-direction-card svg polygon,
377
- .squisq-mermaid-direction-card svg text {
378
- fill: currentcolor;
379
- }
380
-
381
- .squisq-mermaid-direction-card svg text {
382
- font-size: 9px;
383
- text-anchor: middle;
384
- }
385
-
386
- .squisq-mermaid-direction-copy {
387
- display: flex;
388
- min-width: 0;
389
- flex-direction: column;
390
- gap: 1px;
391
- }
392
-
393
- .squisq-mermaid-direction-copy strong {
394
- overflow: hidden;
395
- font-size: 12px;
396
- text-overflow: ellipsis;
397
- white-space: nowrap;
398
- }
399
-
400
- .squisq-mermaid-direction-copy small {
401
- color: var(--squisq-text-muted, #64748b);
402
- font-size: 10px;
403
- }
404
-
405
- .squisq-mermaid-direction-card:hover,
406
- .squisq-mermaid-direction-card[aria-pressed='true'] {
407
- border-color: #818cf8;
408
- background: #eef2ff;
409
- color: #3730a3;
410
- }
411
-
412
- .squisq-mermaid-direction-card:hover svg,
413
- .squisq-mermaid-direction-card[aria-pressed='true'] svg {
414
- color: currentcolor;
415
- }
416
-
417
- .squisq-editor-shell[data-theme='dark'] .squisq-mermaid-direction-card svg {
418
- color: #cbd5e1;
419
- }
420
-
421
- .squisq-editor-shell[data-theme='dark'] .squisq-mermaid-connect-hint,
422
- .squisq-editor-shell[data-theme='dark'] .squisq-mermaid-shape-item:hover,
423
- .squisq-editor-shell[data-theme='dark'] .squisq-mermaid-shape-item--selected,
424
- .squisq-editor-shell[data-theme='dark'] .squisq-mermaid-direction-card:hover,
425
- .squisq-editor-shell[data-theme='dark'] .squisq-mermaid-direction-card[aria-pressed='true'] {
426
- border-color: #6366f1;
427
- background: #312e81;
428
- color: #eef2ff;
429
- }
430
-
431
- .squisq-mermaid-edit-notice {
432
- margin-top: 6px;
433
- padding: 7px 9px;
434
- border: 1px solid #fbbf24;
435
- border-radius: 6px;
436
- background: #fffbeb;
437
- color: #92400e;
438
- font-size: 12px;
439
- }
440
-
441
- .squisq-editor-shell[data-theme='dark'] .squisq-mermaid-edit-notice {
442
- border-color: #92400e;
443
- background: #451a03;
444
- color: #fde68a;
445
- }
446
-
447
- .squisq-mermaid-status,
448
- .squisq-mermaid-error {
449
- display: flex;
450
- min-height: 180px;
451
- align-items: center;
452
- justify-content: center;
453
- color: var(--squisq-text-muted, #64748b);
454
- text-align: center;
455
- }
456
-
457
- .squisq-mermaid-error {
458
- box-sizing: border-box;
459
- flex-direction: column;
460
- gap: 8px;
461
- align-items: flex-start;
462
- justify-content: flex-start;
463
- padding: 16px;
464
- border: 1px solid #fca5a5;
465
- border-radius: 8px;
466
- background: #fef2f2;
467
- color: #991b1b;
468
- text-align: left;
469
- }
470
-
471
- .squisq-mermaid-error pre {
472
- width: 100%;
473
- max-height: 160px;
474
- overflow: auto;
475
- margin: 0;
476
- padding: 8px;
477
- white-space: pre-wrap;
478
- background: transparent;
479
- color: inherit;
480
- font-size: 12px;
481
- }
482
-
483
- .squisq-editor-shell[data-theme='dark'] .squisq-mermaid-error {
484
- border-color: #7f1d1d;
485
- background: #450a0a;
486
- color: #fecaca;
487
- }
@@ -1,189 +0,0 @@
1
- /* ASCII tree fences in the WYSIWYG editor.
2
- *
3
- * A qualifying code fence is hidden behind its interactive outline widget
4
- * (TreeOutlineWidget). The raw art is always editable in the Source / Raw
5
- * view; there is no on-canvas source toggle.
6
- *
7
- * Colors use the editor-shell CSS custom properties (`--squisq-bg`,
8
- * `--squisq-input-bg`, `--squisq-border`, `--squisq-text`,
9
- * `--squisq-text-muted`) which the shell flips for `[data-theme='dark']`,
10
- * so the outline follows the editor's light/dark mode. */
11
-
12
- .squisq-wysiwyg-editor pre.squisq-tree-fence-hidden {
13
- display: none;
14
- }
15
-
16
- .squisq-tree-widget-host {
17
- margin: 0.75rem 0 1.25rem;
18
- }
19
-
20
- .squisq-tree-outline {
21
- border: 1px solid var(--squisq-border, #e2e8f0);
22
- border-radius: 8px;
23
- padding: 8px 10px;
24
- background: var(--squisq-input-bg, #ffffff);
25
- color: var(--squisq-text, #1e293b);
26
- font-size: 14px;
27
- }
28
-
29
- .squisq-tree-toolbar {
30
- display: flex;
31
- gap: 6px;
32
- margin-bottom: 6px;
33
- }
34
-
35
- .squisq-tree-btn {
36
- display: inline-flex;
37
- align-items: center;
38
- gap: 5px;
39
- font-size: 12px;
40
- padding: 3px 8px;
41
- border: 1px solid var(--squisq-border, #e2e8f0);
42
- border-radius: 5px;
43
- background: var(--squisq-bg, #f8fafc);
44
- color: var(--squisq-text, #1e293b);
45
- cursor: pointer;
46
- }
47
- .squisq-tree-btn:hover {
48
- border-color: var(--squisq-text-muted, #94a3b8);
49
- }
50
-
51
- /* Include the widget wrapper so this reset wins over the editor's generic
52
- * `.squisq-wysiwyg-editor ul` padding. Otherwise every nested rail picks up
53
- * another 24px of list indentation. */
54
- .squisq-tree-outline .squisq-tree-rows {
55
- list-style: none;
56
- margin: 0;
57
- padding: 0;
58
- }
59
- .squisq-tree-rows .squisq-tree-rows {
60
- border-left: 1px solid var(--squisq-border, #e2e8f0);
61
- margin-left: 8px;
62
- }
63
-
64
- .squisq-tree-item {
65
- position: relative;
66
- }
67
-
68
- .squisq-tree-row {
69
- position: relative;
70
- display: flex;
71
- align-items: center;
72
- gap: 4px;
73
- padding: 1px 0;
74
- border-radius: 4px;
75
- }
76
- .squisq-tree-row:hover .squisq-tree-controls {
77
- opacity: 1;
78
- }
79
-
80
- .squisq-tree-item--dragging {
81
- opacity: 0.42;
82
- }
83
-
84
- .squisq-tree-item--drop-before > .squisq-tree-row::before,
85
- .squisq-tree-item--drop-after::after {
86
- content: '';
87
- position: absolute;
88
- z-index: 2;
89
- left: 0;
90
- right: 0;
91
- height: 2px;
92
- border-radius: 999px;
93
- background: #6366f1;
94
- pointer-events: none;
95
- }
96
- .squisq-tree-item--drop-before > .squisq-tree-row::before {
97
- top: -1px;
98
- }
99
- /* An after-drop becomes the target's sibling, so show the marker below its
100
- * complete subtree rather than directly below the target row. */
101
- .squisq-tree-item--drop-after::after {
102
- bottom: -1px;
103
- }
104
- .squisq-tree-item--drop-child > .squisq-tree-row {
105
- background: rgba(99, 102, 241, 0.12);
106
- box-shadow: inset 0 0 0 1px #6366f1;
107
- }
108
-
109
- .squisq-tree-chevron {
110
- flex: 0 0 auto;
111
- width: 16px;
112
- border: none;
113
- background: transparent;
114
- cursor: pointer;
115
- color: var(--squisq-text-muted, #64748b);
116
- padding: 0;
117
- font-size: 11px;
118
- }
119
- .squisq-tree-chevron--empty {
120
- cursor: default;
121
- }
122
-
123
- .squisq-tree-icon {
124
- flex: 0 0 auto;
125
- width: 18px;
126
- border: none;
127
- background: transparent;
128
- cursor: pointer;
129
- color: #6366f1;
130
- padding: 0;
131
- }
132
-
133
- .squisq-tree-label {
134
- flex: 1 1 auto;
135
- min-width: 0;
136
- border: 1px solid transparent;
137
- border-radius: 4px;
138
- padding: 1px 4px;
139
- font: inherit;
140
- color: var(--squisq-text, #1e293b);
141
- background: transparent;
142
- }
143
- .squisq-tree-label:focus {
144
- outline: none;
145
- border-color: #6366f1;
146
- background: var(--squisq-bg, #f8fafc);
147
- }
148
-
149
- .squisq-tree-controls {
150
- flex: 0 0 auto;
151
- display: inline-flex;
152
- gap: 2px;
153
- opacity: 0;
154
- transition: opacity 0.12s;
155
- }
156
- .squisq-tree-drag-handle {
157
- flex: 0 0 auto;
158
- display: inline-flex;
159
- align-items: center;
160
- justify-content: center;
161
- width: 16px;
162
- color: var(--squisq-text-muted, #64748b);
163
- cursor: grab;
164
- }
165
- .squisq-tree-drag-handle:active {
166
- cursor: grabbing;
167
- }
168
- .squisq-tree-controls button {
169
- border: none;
170
- background: transparent;
171
- cursor: pointer;
172
- color: var(--squisq-text-muted, #64748b);
173
- padding: 2px 4px;
174
- border-radius: 4px;
175
- font-size: 11px;
176
- }
177
- .squisq-tree-controls button:hover {
178
- background: var(--squisq-bg, #f1f5f9);
179
- color: var(--squisq-text, #1e293b);
180
- }
181
- .squisq-tree-controls .squisq-tree-delete:hover {
182
- color: #ef4444;
183
- }
184
-
185
- .squisq-tree-warnings {
186
- margin-top: 6px;
187
- font-size: 12px;
188
- color: var(--squisq-text-muted, #6b7280);
189
- }