@bendyline/squisq-editor-react 2.7.0 → 2.7.2

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.
package/dist/index.d.ts CHANGED
@@ -9,6 +9,7 @@ export { CanvasRect, ImageEditor, ImageEditorAction, ImageEditorProps, ImageEdit
9
9
  import { CodeBlockCopyHandler, DisplayMode, CaptionStyle, VideoPresentation, PipSize, PipShape, PipPosition } from '@bendyline/squisq-react';
10
10
  import { IconFamily } from '@bendyline/squisq/icons';
11
11
  import { CoverSlideTemplate, CoverSlidePlayback, ConnectorRouting, AsciiDiagram, Tree, AsciiTimeline, AsciiTimelineSide, AsciiTimelineMarker } from '@bendyline/squisq/doc';
12
+ export { BuildPreviewDocOptions, buildPreviewDoc, documentTitleFromFileName } from '@bendyline/squisq/doc';
12
13
  import { MarkdownWrapState } from '@bendyline/squisq/markdown';
13
14
  import * as monaco_editor from 'monaco-editor';
14
15
  import { M as MonacoLanguageRequest, a as MonacoLanguageLoadOptions } from './monacoLanguageDetection-DEyUW-BS.js';
@@ -23,7 +24,7 @@ import { Node } from '@tiptap/pm/model';
23
24
  import { RenderResult } from 'mermaid';
24
25
  import { FenceRendererMap } from '@bendyline/squisq/fence';
25
26
  export { JsonEditor, JsonEditorProps } from './json-editor/index.js';
26
- export { C as CameraStreamOptions, D as DEFAULT_RECORDER_DEVICE_SETTINGS, R as RecordedBookmark, a as RecordedMediaKind, b as RecorderAudioDeviceSettings, c as RecorderButton, d as RecorderButtonProps, e as RecorderCameraDeviceSettings, f as RecorderCameraSaveResult, g as RecorderColorScheme, h as RecorderConstraintMode, i as RecorderDeviceSettings, j as RecorderDeviceSettingsPanel, k as RecorderDeviceSettingsPanelProps, l as RecorderEncodingSettings, m as RecorderModal, n as RecorderModalProps, o as RecorderNarrationOptions, p as RecorderPanel, q as RecorderPanelProps, r as RecorderSaveResult, s as RecorderScreenAudioSettings, t as RecorderScreenDeviceSettings, S as ScreenStreamHandle, u as ScreenStreamOptions, T as TimingJson, v as buildRecorderAudioConstraints, w as buildRecorderCameraConstraints, x as buildRecorderScreenAudioConstraints, y as buildRecorderScreenConstraints, z as buildTimingJson, A as encodeTimingJson, B as recordedMediaKind, E as recorderBitsPerSecond, F as requestCameraStream, G as requestMicStream, H as requestScreenStream, I as timingPathFor, J as useStreamPreview } from './recorder-xL-5Vfbu.js';
27
+ export { C as CameraStreamOptions, D as DEFAULT_RECORDER_DEVICE_SETTINGS, M as MediaDeviceInventory, R as RecordedBookmark, a as RecordedMediaKind, b as RecorderAudioDeviceSettings, c as RecorderButton, d as RecorderButtonProps, e as RecorderCameraDeviceSettings, f as RecorderCameraSaveResult, g as RecorderColorScheme, h as RecorderConstraintMode, i as RecorderDeviceOption, j as RecorderDeviceQuickPicks, k as RecorderDeviceQuickPicksProps, l as RecorderDeviceSettings, m as RecorderDeviceSettingsPanel, n as RecorderDeviceSettingsPanelProps, o as RecorderEncodingSettings, p as RecorderModal, q as RecorderModalProps, r as RecorderNarrationOptions, s as RecorderPanel, t as RecorderPanelProps, u as RecorderSaveResult, v as RecorderScreenAudioSettings, w as RecorderScreenDeviceSettings, S as ScreenStreamHandle, x as ScreenStreamOptions, T as TimingJson, y as buildRecorderAudioConstraints, z as buildRecorderCameraConstraints, A as buildRecorderScreenAudioConstraints, B as buildRecorderScreenConstraints, E as buildTimingJson, F as encodeTimingJson, G as hasRecorderDeviceChoice, H as recordedMediaKind, I as recorderBitsPerSecond, J as recorderDeviceGroups, K as recorderDeviceOptions, L as requestCameraStream, N as requestMicStream, O as requestScreenStream, P as timingPathFor, Q as useMediaDevices, U as useStreamPreview } from './recorder-DFP0Dw4v.js';
27
28
  export { C as CanvasSink, a as CaptureKind, D as DEFAULT_TELEPROMPTER_PREFS, F as FloatOpenOptions, b as FloatTier, c as FloatingWindowHandle, d as FloatingWindowManager, M as MicAnalysisHandle, e as MicAnalysisStatus, N as NarrationRecorderController, f as NarrationRecorderState, g as NarrationStageHandle, h as NarrationTake, P as PrompterTransport, R as RecorderAudioBitrateMode, i as RecorderCameraLane, j as RecorderExtendedMediaOptions, k as RecorderSource, l as RecorderState, m as ResolvedFormat, T as TeleprompterController, n as TeleprompterPrefs, o as TeleprompterRecordingDeps, U as UseMediaRecorderOptions, p as UseMediaRecorderResult, q as UseNarrationStageOptions, r as buildFilename, s as createFloatingWindowManager, t as detectFloatTiers, u as getCaptureKind, v as resolveFormat, w as supportsDisplayMedia, x as supportsMediaRecorder, y as supportsUserMedia, z as useFloatingWindow, A as useMediaRecorder, B as useMicAnalysis, E as useNarrationRecorder, G as useNarrationStage, H as useTeleprompter, I as vadConfigForSensitivity } from './useNarrationStage-Bk3mdW75.js';
28
29
  export { EYE_LINE_FRACTION, NarrationSavePlan, NarrationSaveResult, NarrationStage, NarrationStageProps, PCM_WORKLET_NAME, PCM_WORKLET_SOURCE, TELEPROMPTER_CSS, TeleprompterControls, TeleprompterControlsProps, TeleprompterSurface, TeleprompterSurfaceProps, TeleprompterView, TeleprompterViewProps, TokenLineMap, buildNarrationSavePlan, cameraVideoLine, ensureTeleprompterStyles, executeNarrationSave, insertNarrationPreamble, measureTokenLines, narrationAnnotationLine, prompterVarsFromTheme, registerPcmWorklet, stepScroll, targetOffsetFor } from './teleprompter/index.js';
29
30
  import '@bendyline/squisq/versions';
@@ -1611,46 +1612,6 @@ declare function markdownToTiptap(markdown: string): string;
1611
1612
  */
1612
1613
  declare function tiptapToMarkdown(html: string): string;
1613
1614
 
1614
- /**
1615
- * buildPreviewDoc — Converts a markdown-derived Doc into a player-ready Doc
1616
- * with TemplateBlock slides and interleaved images.
1617
- *
1618
- * Shared between PreviewPanel (live preview) and export flows (HTML/video).
1619
- *
1620
- * Pipeline:
1621
- * 1. Flatten hierarchical blocks into a linear slide sequence
1622
- * 2. Convert each block into a TemplateBlock-compatible object
1623
- * 3. Interleave images as standalone imageWithCaption slides
1624
- * 4. Synthesize a dummy audio segment for timer-based playback
1625
- */
1626
-
1627
- /**
1628
- * Build a player-ready Doc from a markdown-derived Doc.
1629
- *
1630
- * Flattens hierarchical blocks, converts each to a TemplateBlock-compatible
1631
- * slide, interleaves images, recalculates timing, and adds a synthetic
1632
- * audio segment.
1633
- */
1634
- interface BuildPreviewDocOptions {
1635
- /**
1636
- * Human-facing title to use as the header of the leading heading-less
1637
- * "preamble" block when the document has no frontmatter `title:`. Hosts
1638
- * typically pass the file name (extension stripped) via
1639
- * {@link documentTitleFromFileName}. When neither this nor a frontmatter
1640
- * title is present, the preamble simply renders with no header rather than
1641
- * the placeholder block id.
1642
- */
1643
- documentTitle?: string;
1644
- }
1645
- /**
1646
- * Derive a display title from a file name: strip any directory prefix and the
1647
- * trailing extension (`docs/Longview Plan.md` → `Longview Plan`). Returns an
1648
- * empty string for an absent/blank name so callers can pass the result through
1649
- * without extra guards.
1650
- */
1651
- declare function documentTitleFromFileName(fileName?: string): string;
1652
- declare function buildPreviewDoc(doc: Doc, options?: BuildPreviewDocOptions): Doc;
1653
-
1654
1615
  /**
1655
1616
  * TemplateAnnotation — Tiptap Heading Extension
1656
1617
  *
@@ -2444,6 +2405,32 @@ interface MermaidDiagramData {
2444
2405
  }
2445
2406
  declare function useMermaidDiagramData(editor: Editor, blockId: string): MermaidDiagramData | null;
2446
2407
 
2408
+ /**
2409
+ * The WYSIWYG canvas only paints itself in the active Squisq theme's colors
2410
+ * when theme styling is set to "Fonts & colors" (View menu →
2411
+ * `data-theme-inheritance="fonts-colors"`). At the default setting the canvas
2412
+ * is the editor's own light/dark chrome instead, so handing Mermaid the
2413
+ * document theme's neutrals drops a light card into a dark editor.
2414
+ *
2415
+ * Swap only the neutral slots — page, surface, text — for the surface the
2416
+ * diagram is actually drawn on. Accents (primary, secondary, highlight,
2417
+ * warning) are left alone so the diagram keeps the theme's identity, which is
2418
+ * also what makes an adapted theme safe to feed straight into
2419
+ * `buildMermaidThemeVariables`.
2420
+ */
2421
+ type MermaidSurfaceScheme = 'light' | 'dark';
2422
+ /** Same test `buildMermaidThemeVariables` uses to set Mermaid's `darkMode`. */
2423
+ declare function mermaidSurfaceScheme(theme: Theme): MermaidSurfaceScheme;
2424
+ declare function adaptThemeToSurface(theme: Theme, scheme: MermaidSurfaceScheme): Theme;
2425
+ /**
2426
+ * Resolve the theme a Mermaid widget mounted under `host` should render with.
2427
+ * Tiptap mounts each widget in its own React root, so the surrounding editor
2428
+ * chrome is only reachable through the host element's ancestors.
2429
+ */
2430
+ declare function resolveMermaidSurfaceTheme(host: HTMLElement | null | undefined, theme: Theme): Theme;
2431
+ /** Reactive `resolveMermaidSurfaceTheme` — re-resolves when the shell retints. */
2432
+ declare function useMermaidSurfaceTheme(host: HTMLElement | null | undefined, theme: Theme): Theme;
2433
+
2447
2434
  /** Browser-only, lazy Mermaid renderer shared by all complex-diagram widgets. */
2448
2435
 
2449
2436
  interface MermaidRenderResult extends Pick<RenderResult, 'svg' | 'diagramType'> {
@@ -2729,6 +2716,9 @@ declare function shouldPasteAsTreeFence(text: string): boolean;
2729
2716
  * text in one undoable transaction; the info-string meta is NOT provided
2730
2717
  * (it does not survive the ProseMirror round-trip — payload lives in the
2731
2718
  * body, see the fence contract docs).
2719
+ *
2720
+ * The React surface lives in `HostFenceWidget.tsx`, mirroring how every
2721
+ * other fence family splits its `.ts` extension from its `.tsx` widget.
2732
2722
  */
2733
2723
 
2734
2724
  type HostFenceBlockEntry = FenceBlockEntry;
@@ -2959,4 +2949,4 @@ declare function applyTimelineCommand(editor: Editor, blockId: string, command:
2959
2949
  /** Paste gate for bare, high-confidence Unicode timeline art. */
2960
2950
  declare function shouldPasteAsTimelineFence(text: string): boolean;
2961
2951
 
2962
- export { ALL_PICKER_ENTRIES, type AddTimelineEventOptions, type AddTimelineEventResult, type ApplyAsciiDiagramCommandOptions, type AsciiDiagramBlockEntry, AsciiDiagramExtension, type AsciiDiagramExtensionOptions, type AsciiDiagramPluginState, type AsciiDiagramView, AsciiDiagramWidget, BlockCardView, type BlockCardViewProps, type BlockNavigator, BlockPropertiesPopover, type BlockPropertiesPopoverProps, type BlockRange, type BlockSlice, type BuildPreviewDocOptions, CODE_SNIPPET_KEY, CODE_SNIPPET_LANGUAGES, CodeContext, CodeContextZones, type CodeSnippetBlockEntry, type CodeSnippetData, CodeSnippetExtension, type CodeSnippetExtensionOptions, type CodeSnippetLanguage, type CodeSnippetPluginState, CodeSnippetWidget, type CodeSnippetWidgetProps, type CustomTemplateContextValue, CustomTemplateProvider, type CustomTemplateProviderProps, type CustomThemeContextValue, CustomThemeProvider, type CustomThemeProviderProps, DEFAULT_MERMAID_DIAGRAM_TYPE, DiagramCanvas, type DiagramCommand, type DiagramData, type DiagramEdge, type DiagramNode, type DirectionModel, type DocCustomTemplates, type DocCustomThemes, DocumentSettingsDialog, type DocumentSettingsDialogProps, type DragContentType, type DropTarget, DropZoneOverlay, type DropZoneOverlayProps, EMPTY_TRANSITION, EditorHostMode, EmojiPicker, type EmojiPickerProps, FENCE_WIDGET_CONTAINED_EVENTS, type FenceBlockEntry, type FileCategory, type FileKind, type FolderEntry, FolderView, type FolderViewProps, HOST_FENCE_KEY, type HeadingTransitionAttrs, HeadingWithTemplate, type HostFenceBlockEntry, HostFenceExtension, type HostFenceExtensionOptions, type HostFencePluginState, ImportThemeSection, type ImportThemeSectionProps, type ImportedThemeResult, InlinePreviewGutter, type InlinePreviewGutterProps, MERMAID_DIAGRAM_KEY, MERMAID_DIAGRAM_TYPES, MERMAID_FLOWCHART_SHAPES, MediaBin, type MediaBinProps, type MediaClipPatch, type MermaidDiagramBlockEntry, MermaidDiagramCanvas, type MermaidDiagramCanvasProps, type MermaidDiagramCategory, type MermaidDiagramData, MermaidDiagramExtension, type MermaidDiagramExtensionOptions, type MermaidDiagramPluginState, type MermaidDiagramPreview, type MermaidDiagramProperty, type MermaidDiagramType, MermaidDiagramTypeThumbnail, MermaidDiagramWidget, type MermaidDiagramWidgetProps, type MermaidEditCapabilities, type MermaidEditableDiagramKind, type MermaidEditableEdge, type MermaidEditableModel, type MermaidEditableNode, type MermaidEditableText, type MermaidEditableTextTarget, type MermaidFlowchartDirection, type MermaidFlowchartModel, type MermaidFlowchartShape, type MermaidFlowchartShapeId, type MermaidNodeCanvasAction, type MermaidRenderResult, type MermaidSelection, MermaidShapePalette, type MermaidShapePaletteProps, type MermaidSourceEditableModel, MonacoLanguageLoadOptions, MonacoLanguageRequest, OutlinePanel, type OutlinePanelProps, PICKER_CATEGORIES, type PickerCategory, type PickerEntry, PlainHtmlPreview, type PlainHtmlPreviewProps, PreviewFormatSwitch, PreviewModeMenu, PreviewModeSwitch, type PreviewSettings, PreviewSettingsProvider, PreviewToolbarControls, type PreviewToolbarControlsProps, REPAIRABLE_KEY, type RepairableBlockEntry, RepairableDiagramExtension, type RepairableDiagramExtensionOptions, type RepairablePluginState, StatusBar, type StatusBarProps, TIMELINE_VIEW_KEY, TRANSITION_ENTRIES, TRANSITION_GROUPS, TemplatePicker, ThemeCustomizerPanel, type ThemeCustomizerPanelProps, ThemePicker, type ThemePickerProps, type ThemeSaveExtras, type TimelineBlockEntry, type TimelineCommand, type TimelineCommandResult, TimelineCompositionPanel, type TimelineCompositionPanelProps, TimelineEditorWidget, type TimelineEditorWidgetProps, type TimelineEventPatch, TimelineToolbar, type TimelineToolbarProps, TimelineTrack, type TimelineTrackProps, TimelineVideoPanel, type TimelineVideoPanelProps, type TimelineViewData, TimelineViewExtension, type TimelineViewExtensionOptions, type TimelineViewPluginState, Toolbar, type ToolbarProps, TooltipLayer, TransformMenu, type TransitionCatalogEntry, type TransitionFields, type TransitionGroup, TransitionPicker, type TransitionPickerProps, type TreeBlockEntry, type TreeCommand, TreeOutlineWidget, type TreeViewData, TreeViewExtension, type TreeViewExtensionOptions, type TreeViewPluginState, type UseBlockNavigatorOptions, type UseFileDropOptions, type UseFileDropResult, type UseMonacoLoaderResult, VersionHistoryPanel, ViewMenuPanel, ViewSwitcher, type ViewSwitcherProps, type WrapPolicyIngest, addEdgeOp, addItemOp, addNodeOp, addTimelineEventOp, applyAsciiDiagramCommand, applyRepairCommand, applyTimelineCommand, applyTreeCommand, asciiDiagramToCanvas, buildPreviewDoc, classifyFile, codeSnippetFenceLanguageToken, codeSnippetLanguageLabel, codeSnippetMarkdown, containFenceWidgetEvents, detectLanguageFromFileName, documentTitleFromFileName, draftPatchFromImportedTheme, findAsciiDiagramBlockPos, findCodeSnippetBlockPos, findHostFenceBlockPos, findMermaidDiagramBlockPos, findRepairableBlockPos, findTimelineBlockPos, findTransitionEntry, findTreeBlockPos, formatSeconds, getBlockSlices, getTimelineForNode, indentItemOp, ingestForWrite, inspectMermaidSource, isAsciiSourceVisible, isCodeSnippetFenceLanguage, isCodeSnippetNode, isMermaidDiagramNode, isMermaidFlowchartShapeId, isMermaidSourceVisible, isRepairableFence, isTimelineSourceSafeForSemanticEdit, lineToOffset, mapFenceEntries, markdownToTiptap, mermaidDiagramMarkdown, mermaidDiagramProperties, mermaidEditCapabilities, mermaidEditableTexts, mermaidErrorMessage, monacoLanguageForFence, moveItemDownOp, moveItemUpOp, moveNodeOp, nextTimelineEventId, normalizeMermaidFlowchartShape, offsetToLine, outdentItemOp, parseTimelineForNode, partitionFiles, persistFromWrite, preloadMonaco, preloadMonacoSuggestions, processMediaFiles, processTextFile, processTextFiles, readBlockAttrsParams, readBlockAttrsTransition, readBlockAttrsValue, readHeadingLineTransition, removeEdgeOp, removeItemOp, removeNodeOp, removeTimelineEventOp, renameItemOp, renameNodeOp, renderMermaidDiagram, replaceAsciiFenceText, replaceCodeSnippetText, replaceHostFenceText, replaceAsciiFenceText as replaceTreeFenceText, resizeNodeOp, resolveFileKind, sanitizeAsciiLabel, sanitizeTimelineText, sanitizeTreeLabel, searchPickerEntries, setBlockAttrsValue, setBlockDurationInSource, setBlockStartTimeInSource, setBlockTransitionInSource, setHeadingAttrsTransition, setHeadingLineTransition, setMediaClipInSource, shouldPasteAsAsciiFence, shouldPasteAsTimelineFence, shouldPasteAsTreeFence, sliceIndexAtOffset, spliceBlock, summarizeBlockProps, templateLabel, tiptapToMarkdown, toggleAsciiSource, toggleDirOp, toggleMermaidSource, transitionLabel, translateDiagramOp, updateTimelineEventOp, useAsciiDiagramData, useBlockNavigator, useCodeSnippetData, useCustomTemplates, useCustomThemes, useDocCustomTemplates, useDocCustomThemes, useFileDrop, useMermaidDiagramData, useMonacoLoader, usePreviewSettings, useTimelineData, useTreeViewData };
2952
+ export { ALL_PICKER_ENTRIES, type AddTimelineEventOptions, type AddTimelineEventResult, type ApplyAsciiDiagramCommandOptions, type AsciiDiagramBlockEntry, AsciiDiagramExtension, type AsciiDiagramExtensionOptions, type AsciiDiagramPluginState, type AsciiDiagramView, AsciiDiagramWidget, BlockCardView, type BlockCardViewProps, type BlockNavigator, BlockPropertiesPopover, type BlockPropertiesPopoverProps, type BlockRange, type BlockSlice, CODE_SNIPPET_KEY, CODE_SNIPPET_LANGUAGES, CodeContext, CodeContextZones, type CodeSnippetBlockEntry, type CodeSnippetData, CodeSnippetExtension, type CodeSnippetExtensionOptions, type CodeSnippetLanguage, type CodeSnippetPluginState, CodeSnippetWidget, type CodeSnippetWidgetProps, type CustomTemplateContextValue, CustomTemplateProvider, type CustomTemplateProviderProps, type CustomThemeContextValue, CustomThemeProvider, type CustomThemeProviderProps, DEFAULT_MERMAID_DIAGRAM_TYPE, DiagramCanvas, type DiagramCommand, type DiagramData, type DiagramEdge, type DiagramNode, type DirectionModel, type DocCustomTemplates, type DocCustomThemes, DocumentSettingsDialog, type DocumentSettingsDialogProps, type DragContentType, type DropTarget, DropZoneOverlay, type DropZoneOverlayProps, EMPTY_TRANSITION, EditorHostMode, EmojiPicker, type EmojiPickerProps, FENCE_WIDGET_CONTAINED_EVENTS, type FenceBlockEntry, type FileCategory, type FileKind, type FolderEntry, FolderView, type FolderViewProps, HOST_FENCE_KEY, type HeadingTransitionAttrs, HeadingWithTemplate, type HostFenceBlockEntry, HostFenceExtension, type HostFenceExtensionOptions, type HostFencePluginState, ImportThemeSection, type ImportThemeSectionProps, type ImportedThemeResult, InlinePreviewGutter, type InlinePreviewGutterProps, MERMAID_DIAGRAM_KEY, MERMAID_DIAGRAM_TYPES, MERMAID_FLOWCHART_SHAPES, MediaBin, type MediaBinProps, type MediaClipPatch, type MermaidDiagramBlockEntry, MermaidDiagramCanvas, type MermaidDiagramCanvasProps, type MermaidDiagramCategory, type MermaidDiagramData, MermaidDiagramExtension, type MermaidDiagramExtensionOptions, type MermaidDiagramPluginState, type MermaidDiagramPreview, type MermaidDiagramProperty, type MermaidDiagramType, MermaidDiagramTypeThumbnail, MermaidDiagramWidget, type MermaidDiagramWidgetProps, type MermaidEditCapabilities, type MermaidEditableDiagramKind, type MermaidEditableEdge, type MermaidEditableModel, type MermaidEditableNode, type MermaidEditableText, type MermaidEditableTextTarget, type MermaidFlowchartDirection, type MermaidFlowchartModel, type MermaidFlowchartShape, type MermaidFlowchartShapeId, type MermaidNodeCanvasAction, type MermaidRenderResult, type MermaidSelection, MermaidShapePalette, type MermaidShapePaletteProps, type MermaidSourceEditableModel, type MermaidSurfaceScheme, MonacoLanguageLoadOptions, MonacoLanguageRequest, OutlinePanel, type OutlinePanelProps, PICKER_CATEGORIES, type PickerCategory, type PickerEntry, PlainHtmlPreview, type PlainHtmlPreviewProps, PreviewFormatSwitch, PreviewModeMenu, PreviewModeSwitch, type PreviewSettings, PreviewSettingsProvider, PreviewToolbarControls, type PreviewToolbarControlsProps, REPAIRABLE_KEY, type RepairableBlockEntry, RepairableDiagramExtension, type RepairableDiagramExtensionOptions, type RepairablePluginState, StatusBar, type StatusBarProps, TIMELINE_VIEW_KEY, TRANSITION_ENTRIES, TRANSITION_GROUPS, TemplatePicker, ThemeCustomizerPanel, type ThemeCustomizerPanelProps, ThemePicker, type ThemePickerProps, type ThemeSaveExtras, type TimelineBlockEntry, type TimelineCommand, type TimelineCommandResult, TimelineCompositionPanel, type TimelineCompositionPanelProps, TimelineEditorWidget, type TimelineEditorWidgetProps, type TimelineEventPatch, TimelineToolbar, type TimelineToolbarProps, TimelineTrack, type TimelineTrackProps, TimelineVideoPanel, type TimelineVideoPanelProps, type TimelineViewData, TimelineViewExtension, type TimelineViewExtensionOptions, type TimelineViewPluginState, Toolbar, type ToolbarProps, TooltipLayer, TransformMenu, type TransitionCatalogEntry, type TransitionFields, type TransitionGroup, TransitionPicker, type TransitionPickerProps, type TreeBlockEntry, type TreeCommand, TreeOutlineWidget, type TreeViewData, TreeViewExtension, type TreeViewExtensionOptions, type TreeViewPluginState, type UseBlockNavigatorOptions, type UseFileDropOptions, type UseFileDropResult, type UseMonacoLoaderResult, VersionHistoryPanel, ViewMenuPanel, ViewSwitcher, type ViewSwitcherProps, type WrapPolicyIngest, adaptThemeToSurface, addEdgeOp, addItemOp, addNodeOp, addTimelineEventOp, applyAsciiDiagramCommand, applyRepairCommand, applyTimelineCommand, applyTreeCommand, asciiDiagramToCanvas, classifyFile, codeSnippetFenceLanguageToken, codeSnippetLanguageLabel, codeSnippetMarkdown, containFenceWidgetEvents, detectLanguageFromFileName, draftPatchFromImportedTheme, findAsciiDiagramBlockPos, findCodeSnippetBlockPos, findHostFenceBlockPos, findMermaidDiagramBlockPos, findRepairableBlockPos, findTimelineBlockPos, findTransitionEntry, findTreeBlockPos, formatSeconds, getBlockSlices, getTimelineForNode, indentItemOp, ingestForWrite, inspectMermaidSource, isAsciiSourceVisible, isCodeSnippetFenceLanguage, isCodeSnippetNode, isMermaidDiagramNode, isMermaidFlowchartShapeId, isMermaidSourceVisible, isRepairableFence, isTimelineSourceSafeForSemanticEdit, lineToOffset, mapFenceEntries, markdownToTiptap, mermaidDiagramMarkdown, mermaidDiagramProperties, mermaidEditCapabilities, mermaidEditableTexts, mermaidErrorMessage, mermaidSurfaceScheme, monacoLanguageForFence, moveItemDownOp, moveItemUpOp, moveNodeOp, nextTimelineEventId, normalizeMermaidFlowchartShape, offsetToLine, outdentItemOp, parseTimelineForNode, partitionFiles, persistFromWrite, preloadMonaco, preloadMonacoSuggestions, processMediaFiles, processTextFile, processTextFiles, readBlockAttrsParams, readBlockAttrsTransition, readBlockAttrsValue, readHeadingLineTransition, removeEdgeOp, removeItemOp, removeNodeOp, removeTimelineEventOp, renameItemOp, renameNodeOp, renderMermaidDiagram, replaceAsciiFenceText, replaceCodeSnippetText, replaceHostFenceText, replaceAsciiFenceText as replaceTreeFenceText, resizeNodeOp, resolveFileKind, resolveMermaidSurfaceTheme, sanitizeAsciiLabel, sanitizeTimelineText, sanitizeTreeLabel, searchPickerEntries, setBlockAttrsValue, setBlockDurationInSource, setBlockStartTimeInSource, setBlockTransitionInSource, setHeadingAttrsTransition, setHeadingLineTransition, setMediaClipInSource, shouldPasteAsAsciiFence, shouldPasteAsTimelineFence, shouldPasteAsTreeFence, sliceIndexAtOffset, spliceBlock, summarizeBlockProps, templateLabel, tiptapToMarkdown, toggleAsciiSource, toggleDirOp, toggleMermaidSource, transitionLabel, translateDiagramOp, updateTimelineEventOp, useAsciiDiagramData, useBlockNavigator, useCodeSnippetData, useCustomTemplates, useCustomThemes, useDocCustomTemplates, useDocCustomThemes, useFileDrop, useMermaidDiagramData, useMermaidSurfaceTheme, useMonacoLoader, usePreviewSettings, useTimelineData, useTreeViewData };
package/dist/index.js CHANGED
@@ -80,6 +80,7 @@ import {
80
80
  VersionHistoryPanel,
81
81
  ViewMenuPanel,
82
82
  WysiwygEditor,
83
+ adaptThemeToSurface,
83
84
  addEdgeOp,
84
85
  addItemOp,
85
86
  addNodeOp,
@@ -128,6 +129,7 @@ import {
128
129
  mermaidEditCapabilities,
129
130
  mermaidEditableTexts,
130
131
  mermaidErrorMessage,
132
+ mermaidSurfaceScheme,
131
133
  monacoLanguageForFence,
132
134
  moveItemDownOp,
133
135
  moveItemUpOp,
@@ -161,6 +163,7 @@ import {
161
163
  replaceHostFenceText,
162
164
  resizeNodeOp,
163
165
  resolveFileKind,
166
+ resolveMermaidSurfaceTheme,
164
167
  sanitizeAsciiLabel,
165
168
  sanitizeTimelineText,
166
169
  sanitizeTreeLabel,
@@ -197,11 +200,12 @@ import {
197
200
  useEscapeDismissal,
198
201
  useFileDrop,
199
202
  useMermaidDiagramData,
203
+ useMermaidSurfaceTheme,
200
204
  useMonacoLoader,
201
205
  usePreviewSettings,
202
206
  useTimelineData,
203
207
  useTreeViewData
204
- } from "./chunk-NJ2VKEQF.js";
208
+ } from "./chunk-7K4LSSNL.js";
205
209
  import "./chunk-V4NBQF5C.js";
206
210
  import {
207
211
  JsonEditor
@@ -219,9 +223,10 @@ import {
219
223
  } from "./chunk-V44VP242.js";
220
224
  import {
221
225
  RecorderButton
222
- } from "./chunk-WH3DL6TG.js";
226
+ } from "./chunk-AZ5ME4XG.js";
223
227
  import {
224
228
  DEFAULT_RECORDER_DEVICE_SETTINGS,
229
+ RecorderDeviceQuickPicks,
225
230
  RecorderDeviceSettingsPanel,
226
231
  RecorderModal,
227
232
  RecorderPanel,
@@ -230,11 +235,15 @@ import {
230
235
  buildRecorderScreenAudioConstraints,
231
236
  buildRecorderScreenConstraints,
232
237
  getCaptureKind,
238
+ hasRecorderDeviceChoice,
233
239
  recordedMediaKind,
234
240
  recorderBitsPerSecond,
241
+ recorderDeviceGroups,
242
+ recorderDeviceOptions,
235
243
  requestScreenStream,
244
+ useMediaDevices,
236
245
  useMediaRecorder
237
- } from "./chunk-JUAQQTJE.js";
246
+ } from "./chunk-V3J5S7X6.js";
238
247
  import "./chunk-GS7QWYFT.js";
239
248
  import {
240
249
  TeleprompterView
@@ -759,6 +768,7 @@ export {
759
768
  REPAIRABLE_KEY,
760
769
  RawEditor,
761
770
  RecorderButton,
771
+ RecorderDeviceQuickPicks,
762
772
  RecorderDeviceSettingsPanel,
763
773
  RecorderModal,
764
774
  RecorderPanel,
@@ -790,6 +800,7 @@ export {
790
800
  ViewMenuPanel,
791
801
  ViewSwitcher,
792
802
  WysiwygEditor,
803
+ adaptThemeToSurface,
793
804
  addEdgeOp,
794
805
  addItemOp,
795
806
  addNodeOp,
@@ -834,6 +845,7 @@ export {
834
845
  getBlockSlices,
835
846
  getCaptureKind,
836
847
  getTimelineForNode,
848
+ hasRecorderDeviceChoice,
837
849
  imageEditorReducer,
838
850
  indentItemOp,
839
851
  ingestForWrite,
@@ -857,6 +869,7 @@ export {
857
869
  mermaidEditCapabilities,
858
870
  mermaidEditableTexts,
859
871
  mermaidErrorMessage,
872
+ mermaidSurfaceScheme,
860
873
  monacoLanguageForFence,
861
874
  moveItemDownOp,
862
875
  moveItemUpOp,
@@ -881,6 +894,8 @@ export {
881
894
  readHeadingLineTransition,
882
895
  recordedMediaKind,
883
896
  recorderBitsPerSecond,
897
+ recorderDeviceGroups,
898
+ recorderDeviceOptions,
884
899
  registerPcmWorklet,
885
900
  removeEdgeOp,
886
901
  removeItemOp,
@@ -899,6 +914,7 @@ export {
899
914
  resizeNodeOp,
900
915
  resolveFileKind,
901
916
  resolveFormat,
917
+ resolveMermaidSurfaceTheme,
902
918
  sanitizeAsciiLabel,
903
919
  sanitizeTimelineText,
904
920
  sanitizeTreeLabel,
@@ -941,8 +957,10 @@ export {
941
957
  useFileDrop,
942
958
  useFloatingWindow,
943
959
  useImageEditor,
960
+ useMediaDevices,
944
961
  useMediaRecorder,
945
962
  useMermaidDiagramData,
963
+ useMermaidSurfaceTheme,
946
964
  useMicAnalysis,
947
965
  useMonacoLoader,
948
966
  useNarrationRecorder,
@@ -1,4 +1,4 @@
1
- export { C as CameraStreamOptions, D as DEFAULT_RECORDER_DEVICE_SETTINGS, R as RecordedBookmark, a as RecordedMediaKind, b as RecorderAudioDeviceSettings, c as RecorderButton, d as RecorderButtonProps, e as RecorderCameraDeviceSettings, f as RecorderCameraSaveResult, g as RecorderColorScheme, h as RecorderConstraintMode, i as RecorderDeviceSettings, j as RecorderDeviceSettingsPanel, k as RecorderDeviceSettingsPanelProps, l as RecorderEncodingSettings, m as RecorderModal, n as RecorderModalProps, p as RecorderPanel, q as RecorderPanelProps, r as RecorderSaveResult, s as RecorderScreenAudioSettings, t as RecorderScreenDeviceSettings, S as ScreenStreamHandle, u as ScreenStreamOptions, T as TimingJson, v as buildRecorderAudioConstraints, w as buildRecorderCameraConstraints, x as buildRecorderScreenAudioConstraints, y as buildRecorderScreenConstraints, z as buildTimingJson, A as encodeTimingJson, B as recordedMediaKind, E as recorderBitsPerSecond, F as requestCameraStream, G as requestMicStream, H as requestScreenStream, I as timingPathFor, J as useStreamPreview } from '../recorder-xL-5Vfbu.js';
1
+ export { C as CameraStreamOptions, D as DEFAULT_RECORDER_DEVICE_SETTINGS, M as MediaDeviceInventory, R as RecordedBookmark, a as RecordedMediaKind, b as RecorderAudioDeviceSettings, c as RecorderButton, d as RecorderButtonProps, e as RecorderCameraDeviceSettings, f as RecorderCameraSaveResult, g as RecorderColorScheme, h as RecorderConstraintMode, i as RecorderDeviceOption, j as RecorderDeviceQuickPicks, k as RecorderDeviceQuickPicksProps, l as RecorderDeviceSettings, m as RecorderDeviceSettingsPanel, n as RecorderDeviceSettingsPanelProps, o as RecorderEncodingSettings, p as RecorderModal, q as RecorderModalProps, s as RecorderPanel, t as RecorderPanelProps, u as RecorderSaveResult, v as RecorderScreenAudioSettings, w as RecorderScreenDeviceSettings, S as ScreenStreamHandle, x as ScreenStreamOptions, T as TimingJson, y as buildRecorderAudioConstraints, z as buildRecorderCameraConstraints, A as buildRecorderScreenAudioConstraints, B as buildRecorderScreenConstraints, E as buildTimingJson, F as encodeTimingJson, G as hasRecorderDeviceChoice, H as recordedMediaKind, I as recorderBitsPerSecond, J as recorderDeviceGroups, K as recorderDeviceOptions, L as requestCameraStream, N as requestMicStream, O as requestScreenStream, P as timingPathFor, Q as useMediaDevices, U as useStreamPreview } from '../recorder-DFP0Dw4v.js';
2
2
  export { a as CaptureKind, R as RecorderAudioBitrateMode, i as RecorderCameraLane, j as RecorderExtendedMediaOptions, k as RecorderSource, l as RecorderState, m as ResolvedFormat, U as UseMediaRecorderOptions, p as UseMediaRecorderResult, r as buildFilename, u as getCaptureKind, v as resolveFormat, w as supportsDisplayMedia, x as supportsMediaRecorder, y as supportsUserMedia, A as useMediaRecorder } from '../useNarrationStage-Bk3mdW75.js';
3
3
  import 'react/jsx-runtime';
4
4
  import '@bendyline/squisq/schemas';
@@ -1,8 +1,9 @@
1
1
  import {
2
2
  RecorderButton
3
- } from "../chunk-WH3DL6TG.js";
3
+ } from "../chunk-AZ5ME4XG.js";
4
4
  import {
5
5
  DEFAULT_RECORDER_DEVICE_SETTINGS,
6
+ RecorderDeviceQuickPicks,
6
7
  RecorderDeviceSettingsPanel,
7
8
  RecorderModal,
8
9
  RecorderPanel,
@@ -11,11 +12,15 @@ import {
11
12
  buildRecorderScreenAudioConstraints,
12
13
  buildRecorderScreenConstraints,
13
14
  getCaptureKind,
15
+ hasRecorderDeviceChoice,
14
16
  recordedMediaKind,
15
17
  recorderBitsPerSecond,
18
+ recorderDeviceGroups,
19
+ recorderDeviceOptions,
16
20
  requestScreenStream,
21
+ useMediaDevices,
17
22
  useMediaRecorder
18
- } from "../chunk-JUAQQTJE.js";
23
+ } from "../chunk-V3J5S7X6.js";
19
24
  import "../chunk-GS7QWYFT.js";
20
25
  import {
21
26
  buildFilename,
@@ -33,6 +38,7 @@ import {
33
38
  export {
34
39
  DEFAULT_RECORDER_DEVICE_SETTINGS,
35
40
  RecorderButton,
41
+ RecorderDeviceQuickPicks,
36
42
  RecorderDeviceSettingsPanel,
37
43
  RecorderModal,
38
44
  RecorderPanel,
@@ -44,8 +50,11 @@ export {
44
50
  buildTimingJson,
45
51
  encodeTimingJson,
46
52
  getCaptureKind,
53
+ hasRecorderDeviceChoice,
47
54
  recordedMediaKind,
48
55
  recorderBitsPerSecond,
56
+ recorderDeviceGroups,
57
+ recorderDeviceOptions,
49
58
  requestCameraStream,
50
59
  requestMicStream,
51
60
  requestScreenStream,
@@ -54,6 +63,7 @@ export {
54
63
  supportsMediaRecorder,
55
64
  supportsUserMedia,
56
65
  timingPathFor,
66
+ useMediaDevices,
57
67
  useMediaRecorder,
58
68
  useStreamPreview
59
69
  };
@@ -240,6 +240,105 @@ interface RecorderDeviceSettingsPanelProps {
240
240
  }
241
241
  declare function RecorderDeviceSettingsPanel({ value, onChange, disabled, microphoneEnabled, cameraEnabled, screenEnabled, systemAudioEnabled, separateAudioRecorder, primaryStream, cameraStream, }: RecorderDeviceSettingsPanelProps): react_jsx_runtime.JSX.Element;
242
242
 
243
+ /**
244
+ * Microphone / camera pickers promoted out of "Advanced device settings".
245
+ *
246
+ * Choosing WHICH microphone or camera to record is an everyday decision on a
247
+ * machine that has more than one, and burying it under a disclosure whose
248
+ * other twenty fields are constraint plumbing puts it in the wrong place. Each
249
+ * picker therefore appears inline when — and only when — two conditions hold:
250
+ * its source is enabled, and the browser reports more than one real device of
251
+ * that kind (see `recorderDeviceOptions` for what "real" excludes). A machine
252
+ * with a single webcam gets no camera picker, because there is nothing to pick.
253
+ *
254
+ * These are the SAME selects as the ones in the advanced panel, bound to the
255
+ * same `RecorderDeviceSettings` and rendering the same option list — a
256
+ * shortcut to one setting, never a second source of truth.
257
+ */
258
+ interface RecorderDeviceQuickPicksProps {
259
+ /** Enumerated devices, typically from `useMediaDevices()`. */
260
+ devices: readonly MediaDeviceInfo[];
261
+ microphoneEnabled: boolean;
262
+ cameraEnabled: boolean;
263
+ audioDeviceId: string;
264
+ cameraDeviceId: string;
265
+ onAudioDeviceChange: (deviceId: string) => void;
266
+ onCameraDeviceChange: (deviceId: string) => void;
267
+ disabled?: boolean;
268
+ }
269
+ declare function RecorderDeviceQuickPicks({ devices, microphoneEnabled, cameraEnabled, audioDeviceId, cameraDeviceId, onAudioDeviceChange, onCameraDeviceChange, disabled, }: RecorderDeviceQuickPicksProps): react_jsx_runtime.JSX.Element | null;
270
+
271
+ /**
272
+ * Turning an `enumerateDevices()` result into the option list a recorder
273
+ * device picker should show — and answering "does the user actually have a
274
+ * choice here?", which is what decides whether a picker is worth surfacing
275
+ * outside Advanced settings.
276
+ *
277
+ * Two kinds of entry are dropped:
278
+ *
279
+ * - **Alias ids.** Chromium reports `deviceId: 'default'` and
280
+ * `'communications'` for audio inputs: synthetic entries that POINT AT a
281
+ * real device further down the list. Counting them makes a single-microphone
282
+ * machine look like it has three. A picker's own "System default" choice
283
+ * (the empty deviceId — no constraint at all) already covers that intent.
284
+ * - **Blank ids.** Before the first permission grant, browsers return one
285
+ * label-less, id-less entry per device. There is nothing to select, so those
286
+ * are placeholders, not choices.
287
+ *
288
+ * The currently-selected id is always kept, even when a rule above would drop
289
+ * it, so a setting persisted from an earlier session can never silently vanish
290
+ * from the control that owns it.
291
+ */
292
+ /** One selectable capture device. */
293
+ interface RecorderDeviceOption {
294
+ deviceId: string;
295
+ /** `device.label`, or a positional fallback when labels are withheld. */
296
+ label: string;
297
+ groupId: string;
298
+ }
299
+ /**
300
+ * The real, selectable devices of one kind. Excludes the synthetic
301
+ * "System default" entry a picker renders itself.
302
+ */
303
+ declare function recorderDeviceOptions(devices: readonly MediaDeviceInfo[], kind: MediaDeviceKind, noun: string, selectedDeviceId?: string): RecorderDeviceOption[];
304
+ /**
305
+ * True when more than one real device exists — i.e. picking between them is a
306
+ * decision the user could meaningfully make, rather than a control that can
307
+ * only ever restate the system default.
308
+ */
309
+ declare function hasRecorderDeviceChoice(options: readonly RecorderDeviceOption[]): boolean;
310
+ /** Distinct hardware groups represented by an option list, in first-seen order. */
311
+ declare function recorderDeviceGroups(options: readonly RecorderDeviceOption[]): Array<{
312
+ id: string;
313
+ label: string;
314
+ }>;
315
+
316
+ /**
317
+ * Live `enumerateDevices()` inventory plus the browser's supported-constraint
318
+ * map, shared by every recorder surface that offers a device picker.
319
+ *
320
+ * Enumeration is best effort: browsers withhold labels — and sometimes ids —
321
+ * until the first permission grant, and that grant frequently does NOT fire
322
+ * `devicechange`. Callers holding a preview stream should therefore call
323
+ * `refresh()` when it lands:
324
+ *
325
+ * ```ts
326
+ * const { devices, refresh } = useMediaDevices();
327
+ * useEffect(() => {
328
+ * if (micStream || cameraStream) refresh();
329
+ * }, [micStream, cameraStream, refresh]);
330
+ * ```
331
+ */
332
+ /** What the browser will tell us about capture devices right now. */
333
+ interface MediaDeviceInventory {
334
+ devices: MediaDeviceInfo[];
335
+ /** `getSupportedConstraints()`, or null when the browser withholds it. */
336
+ supported: Record<string, boolean> | null;
337
+ /** Re-enumerate — call after a permission grant reveals labels. */
338
+ refresh: () => void;
339
+ }
340
+ declare function useMediaDevices(): MediaDeviceInventory;
341
+
243
342
  /**
244
343
  * useStreamPreview — binds a `MediaStream` to a `<video>` element's
245
344
  * `srcObject`. Decouples the preview surface from `useMediaRecorder`,
@@ -412,4 +511,4 @@ declare function encodeTimingJson(timing: TimingJson): Uint8Array;
412
511
  */
413
512
  declare function timingPathFor(audioRelativePath: string): string;
414
513
 
415
- export { encodeTimingJson as A, recordedMediaKind as B, type CameraStreamOptions as C, DEFAULT_RECORDER_DEVICE_SETTINGS as D, recorderBitsPerSecond as E, requestCameraStream as F, requestMicStream as G, requestScreenStream as H, timingPathFor as I, useStreamPreview as J, type RecordedBookmark as R, type ScreenStreamHandle as S, type TimingJson as T, type RecordedMediaKind as a, type RecorderAudioDeviceSettings as b, RecorderButton as c, type RecorderButtonProps as d, type RecorderCameraDeviceSettings as e, type RecorderCameraSaveResult as f, type RecorderColorScheme as g, type RecorderConstraintMode as h, type RecorderDeviceSettings as i, RecorderDeviceSettingsPanel as j, type RecorderDeviceSettingsPanelProps as k, type RecorderEncodingSettings as l, RecorderModal as m, type RecorderModalProps as n, type RecorderNarrationOptions as o, RecorderPanel as p, type RecorderPanelProps as q, type RecorderSaveResult as r, type RecorderScreenAudioSettings as s, type RecorderScreenDeviceSettings as t, type ScreenStreamOptions as u, buildRecorderAudioConstraints as v, buildRecorderCameraConstraints as w, buildRecorderScreenAudioConstraints as x, buildRecorderScreenConstraints as y, buildTimingJson as z };
514
+ export { buildRecorderScreenAudioConstraints as A, buildRecorderScreenConstraints as B, type CameraStreamOptions as C, DEFAULT_RECORDER_DEVICE_SETTINGS as D, buildTimingJson as E, encodeTimingJson as F, hasRecorderDeviceChoice as G, recordedMediaKind as H, recorderBitsPerSecond as I, recorderDeviceGroups as J, recorderDeviceOptions as K, requestCameraStream as L, type MediaDeviceInventory as M, requestMicStream as N, requestScreenStream as O, timingPathFor as P, useMediaDevices as Q, type RecordedBookmark as R, type ScreenStreamHandle as S, type TimingJson as T, useStreamPreview as U, type RecordedMediaKind as a, type RecorderAudioDeviceSettings as b, RecorderButton as c, type RecorderButtonProps as d, type RecorderCameraDeviceSettings as e, type RecorderCameraSaveResult as f, type RecorderColorScheme as g, type RecorderConstraintMode as h, type RecorderDeviceOption as i, RecorderDeviceQuickPicks as j, type RecorderDeviceQuickPicksProps as k, type RecorderDeviceSettings as l, RecorderDeviceSettingsPanel as m, type RecorderDeviceSettingsPanelProps as n, type RecorderEncodingSettings as o, RecorderModal as p, type RecorderModalProps as q, type RecorderNarrationOptions as r, RecorderPanel as s, type RecorderPanelProps as t, type RecorderSaveResult as u, type RecorderScreenAudioSettings as v, type RecorderScreenDeviceSettings as w, type ScreenStreamOptions as x, buildRecorderAudioConstraints as y, buildRecorderCameraConstraints as z };
@@ -5,11 +5,11 @@ import {
5
5
  RawEditor,
6
6
  WysiwygEditor,
7
7
  useEditorContext
8
- } from "../chunk-NJ2VKEQF.js";
8
+ } from "../chunk-7K4LSSNL.js";
9
9
  import "../chunk-V4NBQF5C.js";
10
10
  import "../chunk-K2WJYVS4.js";
11
11
  import "../chunk-V44VP242.js";
12
- import "../chunk-JUAQQTJE.js";
12
+ import "../chunk-V3J5S7X6.js";
13
13
  import "../chunk-GS7QWYFT.js";
14
14
  import "../chunk-IQFPX2CE.js";
15
15
  import "../chunk-OWOKKZAU.js";
@@ -15848,26 +15848,26 @@
15848
15848
  .squisq-mermaid-svg .squisq-mermaid-edge-selected {
15849
15849
  filter: drop-shadow(0 0 3px #4f46e5);
15850
15850
  }
15851
- .squisq-editor-shell[data-theme=dark] .squisq-mermaid-svg {
15851
+ .squisq-mermaid-canvas[data-surface=dark] .squisq-mermaid-svg {
15852
15852
  --squisq-mermaid-edge: #cbd5e1;
15853
15853
  --squisq-mermaid-edge-label-bg: rgba(15, 23, 42, 0.88);
15854
15854
  }
15855
- .squisq-editor-shell[data-theme=dark] .squisq-mermaid-svg :is(path.flowchart-link, .edgePath .path, .relationshipLine, .messageLine0, .messageLine1, .transition):not([style*="stroke:"]) {
15855
+ .squisq-mermaid-canvas[data-surface=dark] .squisq-mermaid-svg :is(path.flowchart-link, .edgePath .path, .relationshipLine, .messageLine0, .messageLine1, .transition):not([style*="stroke:"]) {
15856
15856
  stroke: var(--squisq-mermaid-edge) !important;
15857
15857
  }
15858
- .squisq-editor-shell[data-theme=dark] .squisq-mermaid-svg :is(.marker, .arrowheadPath),
15859
- .squisq-editor-shell[data-theme=dark] .squisq-mermaid-svg marker :is(path, polygon) {
15858
+ .squisq-mermaid-canvas[data-surface=dark] .squisq-mermaid-svg :is(.marker, .arrowheadPath),
15859
+ .squisq-mermaid-canvas[data-surface=dark] .squisq-mermaid-svg marker :is(path, polygon) {
15860
15860
  stroke: var(--squisq-mermaid-edge) !important;
15861
15861
  }
15862
- .squisq-editor-shell[data-theme=dark] .squisq-mermaid-svg marker :is(path, polygon):not([fill=none]):not([style*="fill:none"]):not([style*="fill: none"]) {
15862
+ .squisq-mermaid-canvas[data-surface=dark] .squisq-mermaid-svg marker :is(path, polygon):not([fill=none]):not([style*="fill:none"]):not([style*="fill: none"]) {
15863
15863
  fill: var(--squisq-mermaid-edge) !important;
15864
15864
  }
15865
- .squisq-editor-shell[data-theme=dark] .squisq-mermaid-svg .edgeLabel,
15866
- .squisq-editor-shell[data-theme=dark] .squisq-mermaid-svg .edgeLabel :is(span, p) {
15865
+ .squisq-mermaid-canvas[data-surface=dark] .squisq-mermaid-svg .edgeLabel,
15866
+ .squisq-mermaid-canvas[data-surface=dark] .squisq-mermaid-svg .edgeLabel :is(span, p) {
15867
15867
  color: var(--squisq-mermaid-edge) !important;
15868
15868
  }
15869
- .squisq-editor-shell[data-theme=dark] .squisq-mermaid-svg .edgeLabel p,
15870
- .squisq-editor-shell[data-theme=dark] .squisq-mermaid-svg .edgeLabel rect {
15869
+ .squisq-mermaid-canvas[data-surface=dark] .squisq-mermaid-svg .edgeLabel p,
15870
+ .squisq-mermaid-canvas[data-surface=dark] .squisq-mermaid-svg .edgeLabel rect {
15871
15871
  background: var(--squisq-mermaid-edge-label-bg) !important;
15872
15872
  fill: var(--squisq-mermaid-edge-label-bg) !important;
15873
15873
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bendyline/squisq-editor-react",
3
- "version": "2.7.0",
3
+ "version": "2.7.2",
4
4
  "description": "React editor shell with raw/WYSIWYG/preview modes for Squisq documents",
5
5
  "license": "MIT",
6
6
  "author": "Bendyline",
@@ -84,10 +84,10 @@
84
84
  "react-dom": "^18.0.0 || ^19.0.0"
85
85
  },
86
86
  "dependencies": {
87
- "@bendyline/squisq": "2.7.0",
88
- "@bendyline/squisq-formats": "2.4.1",
89
- "@bendyline/squisq-react": "2.7.0",
90
- "@bendyline/squisq-video-react": "2.3.2",
87
+ "@bendyline/squisq": "2.7.1",
88
+ "@bendyline/squisq-formats": "2.4.3",
89
+ "@bendyline/squisq-react": "2.7.1",
90
+ "@bendyline/squisq-video-react": "2.3.4",
91
91
  "@fortawesome/fontawesome-free": "7.2.0",
92
92
  "@tiptap/core": "2.27.2",
93
93
  "@tiptap/extension-heading": "2.27.2",