@bendyline/squisq-editor-react 2.0.0 → 2.0.1

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 (55) hide show
  1. package/dist/index.d.ts +75 -33
  2. package/dist/index.js +1717 -935
  3. package/dist/index.js.map +1 -1
  4. package/dist/styles/index.css +145 -5
  5. package/package.json +4 -4
  6. package/src/DocumentSettingsDialog.tsx +32 -18
  7. package/src/EditorShell.tsx +1 -1
  8. package/src/PreviewControls.tsx +57 -24
  9. package/src/RecorderEntry.tsx +2 -0
  10. package/src/Toolbar.tsx +164 -19
  11. package/src/__tests__/codeContextSectionView.test.tsx +8 -6
  12. package/src/__tests__/documentSettingsDialog.test.tsx +22 -0
  13. package/src/__tests__/mediaAttachmentFlow.test.ts +2 -2
  14. package/src/__tests__/previewControls.test.tsx +164 -0
  15. package/src/__tests__/recorderTheme.test.tsx +42 -0
  16. package/src/__tests__/selectionConversions.test.ts +80 -0
  17. package/src/__tests__/tiptapBridge.test.ts +48 -7
  18. package/src/__tests__/tiptapImageRoundTrip.test.ts +1 -1
  19. package/src/__tests__/toolbarSelectionConversion.test.tsx +164 -0
  20. package/src/asciiDiagram/AsciiDiagramWidget.tsx +34 -4
  21. package/src/asciiDiagram/__tests__/asciiDiagramCommands.test.ts +58 -1
  22. package/src/asciiDiagram/asciiDiagramCommands.ts +36 -10
  23. package/src/asciiDiagram/asciiDiagramData.ts +33 -0
  24. package/src/asciiDiagram/asciiDiagramOps.ts +19 -0
  25. package/src/codeContext/types.ts +1 -1
  26. package/src/customTemplates/__tests__/useMemoryLayerAdapter.test.ts +13 -0
  27. package/src/customTemplates/useMemoryLayerAdapter.ts +7 -1
  28. package/src/diagram/DiagramCanvas.tsx +16 -2
  29. package/src/frontmatterSettings.ts +23 -0
  30. package/src/index.ts +7 -1
  31. package/src/recorder/RecorderButton.tsx +9 -1
  32. package/src/recorder/RecorderModal.tsx +84 -41
  33. package/src/recorder/RecorderPanel.tsx +9 -1
  34. package/src/scene/__tests__/sceneIsolation.test.tsx +27 -1
  35. package/src/scene/adapters/DrawingAdapter.ts +6 -1
  36. package/src/scene/adapters/LayoutAdapter.ts +3 -0
  37. package/src/scene/commands/SceneCommand.ts +13 -2
  38. package/src/scene/tools/SelectTool.ts +5 -5
  39. package/src/selectionConversions.ts +155 -0
  40. package/src/styles/ascii-timeline.css +101 -4
  41. package/src/styles/editor.css +30 -0
  42. package/src/styles/tree-view.css +51 -1
  43. package/src/timeline/TimelineEditorWidget.tsx +200 -41
  44. package/src/timeline/__tests__/TimelineEditorWidget.test.tsx +61 -2
  45. package/src/timeline/__tests__/timelineCommands.test.ts +32 -0
  46. package/src/timeline/__tests__/timelineOps.test.ts +55 -0
  47. package/src/timeline/timelineCommands.ts +54 -0
  48. package/src/timeline/timelineOps.ts +107 -3
  49. package/src/tiptapBridge.ts +23 -5
  50. package/src/treeview/TreeOutlineWidget.tsx +153 -3
  51. package/src/treeview/__tests__/TreeOutlineWidget.test.tsx +156 -0
  52. package/src/treeview/__tests__/treeOps.test.ts +52 -0
  53. package/src/treeview/__tests__/treeViewCommands.test.ts +16 -0
  54. package/src/treeview/treeOps.ts +59 -0
  55. package/src/treeview/treeViewCommands.ts +5 -0
package/dist/index.d.ts CHANGED
@@ -581,7 +581,7 @@ interface CodeContext {
581
581
  /** Line-anchored sections. Array order is preserved for equal lines. */
582
582
  sections?: CodeContextSection[];
583
583
  /**
584
- * Extra URI schemes section links may use (e.g. `['gezel-nav']`).
584
+ * Extra URI schemes section links may use (e.g. `['workspace-nav']`).
585
585
  * http/https/mailto/tel are always allowed; executable schemes
586
586
  * (javascript:, data:) are never allowed regardless.
587
587
  */
@@ -2564,6 +2564,8 @@ type DiagramCommand = {
2564
2564
  nodeId: string;
2565
2565
  width: number;
2566
2566
  height: number;
2567
+ x?: number;
2568
+ y?: number;
2567
2569
  } | {
2568
2570
  kind: 'addConnection';
2569
2571
  source: string;
@@ -2713,6 +2715,16 @@ declare function useAsciiDiagramData(editor: Editor$1, blockId: string): AsciiDi
2713
2715
  * corrupting the fence.
2714
2716
  */
2715
2717
 
2718
+ interface ApplyAsciiDiagramCommandOptions {
2719
+ /**
2720
+ * Virtual grid offset currently shown by the canvas for legacy art. It is
2721
+ * folded into the source in the same transaction as the user's first edit.
2722
+ */
2723
+ diagramOffset?: {
2724
+ col: number;
2725
+ row: number;
2726
+ };
2727
+ }
2716
2728
  /**
2717
2729
  * Replace the TEXT inside the codeBlock at `pos` and, when `ensureLanguage`
2718
2730
  * is given, promote its `language` attribute in the SAME transaction (one
@@ -2732,7 +2744,7 @@ declare function replaceAsciiFenceText(editor: Editor$1, pos: number, nextText:
2732
2744
  */
2733
2745
  declare function applyRepairCommand(editor: Editor$1, blockId: string): boolean;
2734
2746
  /** Full pipeline for a canvas command against a registered fence block. */
2735
- declare function applyAsciiDiagramCommand(editor: Editor$1, blockId: string, cmd: DiagramCommand): boolean;
2747
+ declare function applyAsciiDiagramCommand(editor: Editor$1, blockId: string, cmd: DiagramCommand, options?: ApplyAsciiDiagramCommandOptions): boolean;
2736
2748
 
2737
2749
  /**
2738
2750
  * RepairableDiagramExtension — mounts an inline "Repair as diagram" button on
@@ -2795,6 +2807,8 @@ declare const RepairableDiagramExtension: Extension<RepairableDiagramExtensionOp
2795
2807
  * single-line, so newlines collapse to spaces.
2796
2808
  */
2797
2809
  declare function sanitizeAsciiLabel(label: string): string;
2810
+ /** Translate every node by the same grid delta (edges/containment are unchanged). */
2811
+ declare function translateDiagramOp(diagram: AsciiDiagram, dCol: number, dRow: number): AsciiDiagram;
2798
2812
  /** Move a node to (col, row); a container drags its whole subtree along. */
2799
2813
  declare function moveNodeOp(diagram: AsciiDiagram, nodeId: string, col: number, row: number): AsciiDiagram;
2800
2814
  /** Resize a node (grid cells). Clamped so the label always fits. */
@@ -2897,6 +2911,34 @@ interface TreeViewData {
2897
2911
  /** Live view of one registered tree block; null when it no longer parses. */
2898
2912
  declare function useTreeViewData(editor: Editor$1, blockId: string): TreeViewData | null;
2899
2913
 
2914
+ /**
2915
+ * Pure outline operations over the tree model — the write-direction half of
2916
+ * the fence-is-source-of-truth loop:
2917
+ *
2918
+ * fence text → parseTree → op → renderTree → fence text
2919
+ *
2920
+ * Every op returns a NEW Tree (inputs untouched). These are the genuinely
2921
+ * new operations with no diagram analog: indent / outdent (re-parent a node
2922
+ * carrying its subtree), move-up / move-down (reorder siblings), plus
2923
+ * add / rename / remove / toggle-directory. Connector rails re-derive in
2924
+ * render, so ops only touch structure + labels.
2925
+ */
2926
+
2927
+ /** Make an arbitrary rename safe as a tree label: no connector glyphs / newlines. */
2928
+ declare function sanitizeTreeLabel(label: string): string;
2929
+ type TreeDropPosition = 'before' | 'child' | 'after';
2930
+ declare function renameItemOp(tree: Tree, id: string, label: string): Tree;
2931
+ declare function addItemOp(tree: Tree, targetId: string, position: 'child' | 'siblingAfter', label?: string, isDir?: boolean): Tree;
2932
+ declare function removeItemOp(tree: Tree, id: string): Tree;
2933
+ /** Node becomes the last child of its immediate preceding sibling. */
2934
+ declare function indentItemOp(tree: Tree, id: string): Tree;
2935
+ /** Node becomes a sibling of its parent, inserted directly after it (subtree carried). */
2936
+ declare function outdentItemOp(tree: Tree, id: string): Tree;
2937
+ declare function moveItemUpOp(tree: Tree, id: string): Tree;
2938
+ declare function moveItemDownOp(tree: Tree, id: string): Tree;
2939
+ /** Toggle the trailing-slash directory marker on a node's label. */
2940
+ declare function toggleDirOp(tree: Tree, id: string): Tree;
2941
+
2900
2942
  /**
2901
2943
  * Write direction of the tree loop: outline command → fence rewrite.
2902
2944
  *
@@ -2921,6 +2963,11 @@ type TreeCommand = {
2921
2963
  } | {
2922
2964
  kind: 'outdentItem';
2923
2965
  id: string;
2966
+ } | {
2967
+ kind: 'moveItem';
2968
+ id: string;
2969
+ targetId: string;
2970
+ position: TreeDropPosition;
2924
2971
  } | {
2925
2972
  kind: 'moveItemUp';
2926
2973
  id: string;
@@ -2937,33 +2984,6 @@ type TreeCommand = {
2937
2984
 
2938
2985
  declare function applyTreeCommand(editor: Editor$1, blockId: string, cmd: TreeCommand): boolean;
2939
2986
 
2940
- /**
2941
- * Pure outline operations over the tree model — the write-direction half of
2942
- * the fence-is-source-of-truth loop:
2943
- *
2944
- * fence text → parseTree → op → renderTree → fence text
2945
- *
2946
- * Every op returns a NEW Tree (inputs untouched). These are the genuinely
2947
- * new operations with no diagram analog: indent / outdent (re-parent a node
2948
- * carrying its subtree), move-up / move-down (reorder siblings), plus
2949
- * add / rename / remove / toggle-directory. Connector rails re-derive in
2950
- * render, so ops only touch structure + labels.
2951
- */
2952
-
2953
- /** Make an arbitrary rename safe as a tree label: no connector glyphs / newlines. */
2954
- declare function sanitizeTreeLabel(label: string): string;
2955
- declare function renameItemOp(tree: Tree, id: string, label: string): Tree;
2956
- declare function addItemOp(tree: Tree, targetId: string, position: 'child' | 'siblingAfter', label?: string, isDir?: boolean): Tree;
2957
- declare function removeItemOp(tree: Tree, id: string): Tree;
2958
- /** Node becomes the last child of its immediate preceding sibling. */
2959
- declare function indentItemOp(tree: Tree, id: string): Tree;
2960
- /** Node becomes a sibling of its parent, inserted directly after it (subtree carried). */
2961
- declare function outdentItemOp(tree: Tree, id: string): Tree;
2962
- declare function moveItemUpOp(tree: Tree, id: string): Tree;
2963
- declare function moveItemDownOp(tree: Tree, id: string): Tree;
2964
- /** Toggle the trailing-slash directory marker on a node's label. */
2965
- declare function toggleDirOp(tree: Tree, id: string): Tree;
2966
-
2967
2987
  /**
2968
2988
  * Paste gate for bare (unfenced) ASCII tree art. `├──`/`└──` file-tree lines
2969
2989
  * would otherwise route through the markdown converter and mangle; when this
@@ -3083,6 +3103,19 @@ declare function removeTimelineEventOp(timeline: AsciiTimeline, eventId: string)
3083
3103
  */
3084
3104
 
3085
3105
  type TimelineCommand = {
3106
+ kind: 'addTrack';
3107
+ id?: string;
3108
+ label?: string;
3109
+ eventId?: string;
3110
+ eventLabel?: string;
3111
+ } | {
3112
+ kind: 'updateTrack';
3113
+ trackId: string;
3114
+ label: string;
3115
+ } | {
3116
+ kind: 'removeTrack';
3117
+ trackId: string;
3118
+ } | {
3086
3119
  kind: 'addEvent';
3087
3120
  trackId: string;
3088
3121
  /** Normalized position on the global timeline rail. */
@@ -3106,6 +3139,8 @@ interface TimelineCommandResult {
3106
3139
  applied: boolean;
3107
3140
  /** Present after add so the widget can select/focus the new marker. */
3108
3141
  eventId?: string;
3142
+ /** Present after adding a track. */
3143
+ trackId?: string;
3109
3144
  /** Why an otherwise valid semantic edit was deliberately blocked. */
3110
3145
  reason?: 'read-only' | 'unsafe-source';
3111
3146
  }
@@ -3295,6 +3330,7 @@ interface UseMediaRecorderResult {
3295
3330
  declare function getCaptureKind(source: RecorderSource): CaptureKind;
3296
3331
  declare function useMediaRecorder(options?: UseMediaRecorderOptions): UseMediaRecorderResult;
3297
3332
 
3333
+ type RecorderColorScheme = 'light' | 'dark';
3298
3334
  interface RecorderModalProps {
3299
3335
  /** Required — recordings are written here. */
3300
3336
  mediaProvider: MediaProvider;
@@ -3307,6 +3343,8 @@ interface RecorderModalProps {
3307
3343
  container?: ContentContainer | null;
3308
3344
  /** Initial capture source. Defaults to `'mic'` (narration). */
3309
3345
  initialMode?: RecorderSource;
3346
+ /** Light/dark chrome scheme. Defaults to `'light'`. */
3347
+ colorScheme?: RecorderColorScheme;
3310
3348
  /** Called after the modal is dismissed (save or cancel). */
3311
3349
  onClose: () => void;
3312
3350
  /**
@@ -3333,7 +3371,7 @@ interface RecorderSaveResult {
3333
3371
  /** Script text the user typed (narration only). */
3334
3372
  sourceText?: string;
3335
3373
  }
3336
- declare function RecorderModal({ mediaProvider, container, initialMode, onClose, onSave, }: RecorderModalProps): react_jsx_runtime.JSX.Element;
3374
+ declare function RecorderModal({ mediaProvider, container, initialMode, colorScheme, onClose, onSave, }: RecorderModalProps): react_jsx_runtime.JSX.Element;
3337
3375
 
3338
3376
  interface RecorderButtonProps {
3339
3377
  /** Where to write the resulting recording. Required. */
@@ -3342,6 +3380,8 @@ interface RecorderButtonProps {
3342
3380
  container?: ContentContainer | null;
3343
3381
  /** Initial capture source. Defaults to `'mic'`. */
3344
3382
  initialMode?: RecorderSource;
3383
+ /** Light/dark chrome scheme copied onto the portaled modal. */
3384
+ colorScheme?: RecorderColorScheme;
3345
3385
  /** Fired after a successful save. */
3346
3386
  onSave?: (result: RecorderSaveResult) => void;
3347
3387
  /** Button label. Defaults to `'Record'`. */
@@ -3351,19 +3391,21 @@ interface RecorderButtonProps {
3351
3391
  /** Whether the button is disabled. */
3352
3392
  disabled?: boolean;
3353
3393
  }
3354
- declare function RecorderButton({ mediaProvider, container, initialMode, onSave, label, style, disabled, }: RecorderButtonProps): react_jsx_runtime.JSX.Element;
3394
+ declare function RecorderButton({ mediaProvider, container, initialMode, colorScheme, onSave, label, style, disabled, }: RecorderButtonProps): react_jsx_runtime.JSX.Element;
3355
3395
 
3356
3396
  interface RecorderPanelProps {
3357
3397
  mediaProvider: MediaProvider;
3358
3398
  container?: ContentContainer | null;
3359
3399
  initialMode?: RecorderSource;
3400
+ /** Light/dark chrome scheme copied onto the portaled modal. */
3401
+ colorScheme?: RecorderColorScheme;
3360
3402
  onSave?: (result: RecorderSaveResult) => void;
3361
3403
  /** ARIA / tooltip label. Defaults to `'Record media'`. */
3362
3404
  tooltip?: string;
3363
3405
  /** Optional className for the trigger button. */
3364
3406
  className?: string;
3365
3407
  }
3366
- declare function RecorderPanel({ mediaProvider, container, initialMode, onSave, tooltip, className, }: RecorderPanelProps): react_jsx_runtime.JSX.Element;
3408
+ declare function RecorderPanel({ mediaProvider, container, initialMode, colorScheme, onSave, tooltip, className, }: RecorderPanelProps): react_jsx_runtime.JSX.Element;
3367
3409
 
3368
3410
  /**
3369
3411
  * useStreamPreview — binds a `MediaStream` to a `<video>` element's
@@ -4153,4 +4195,4 @@ interface UseImageEditorReturn {
4153
4195
  }
4154
4196
  declare function useImageEditor(options: UseImageEditorOptions): UseImageEditorReturn;
4155
4197
 
4156
- export { ALL_PICKER_ENTRIES, type AddTimelineEventOptions, type AddTimelineEventResult, type AsciiDiagramBlockEntry, AsciiDiagramExtension, type AsciiDiagramExtensionOptions, type AsciiDiagramPluginState, type AsciiDiagramView, AsciiDiagramWidget, BlockCardView, type BlockCardViewProps, type BlockNavigator, BlockPropertiesPopover, type BlockPropertiesPopoverProps, type BlockRange, type BlockSlice, type BlockTagVisibility, type CameraStreamOptions, type CanvasRect, type CanvasSink, type CaptureKind, type CodeContext, type CodeContextSection, CodeContextZones, type CustomTemplateContextValue, CustomTemplateProvider, type CustomTemplateProviderProps, type CustomThemeContextValue, CustomThemeProvider, type CustomThemeProviderProps, DEFAULT_TELEPROMPTER_PREFS, DiagramCanvas, type DiagramCommand, type DiagramData, type DiagramEdge, type DiagramNode, type DirectionModel, type DocCustomTemplates, type DocCustomThemes, type DocumentLinkCandidate, type DocumentLinkProvider, DocumentSettingsDialog, type DocumentSettingsDialogProps, type DragContentType, type DropTarget, DropZoneOverlay, type DropZoneOverlayProps, EMPTY_TRANSITION, EYE_LINE_FRACTION, type EditorActions, type EditorColorScheme, type EditorContextValue, type EditorMode, EditorProvider, type EditorProviderProps, EditorShell, type EditorShellProps, type EditorState, type EditorView, EmojiPicker, type EmojiPickerProps, type FileCategory, type FileKind, type FloatOpenOptions, type FloatTier, type FloatingWindowHandle, type FloatingWindowManager, type FolderEntry, FolderView, type FolderViewProps, type HeadingTransitionAttrs, HeadingWithTemplate, type ImageDisplayMode, ImageEditor, type ImageEditorAction, type ImageEditorProps, type ImageEditorState, type ImageEditorTool, ImageViewer, type ImageViewerProps, ImportThemeSection, type ImportThemeSectionProps, type ImportedThemeResult, InlinePreviewGutter, type InlinePreviewGutterProps, JsonEditor, type JsonEditorProps, type LayoutMode, MediaBin, type MediaBinProps, type MediaClipPatch, type MentionCandidate, type MentionProvider, type MicAnalysisHandle, type MicAnalysisStatus, type MonacoWorkerConstructor, type MonacoWorkerConstructors, type NarrationRecorderController, type NarrationRecorderState, type NarrationSavePlan, type NarrationSaveResult, type NarrationTake, OutlinePanel, type OutlinePanelProps, PCM_WORKLET_NAME, PCM_WORKLET_SOURCE, PICKER_CATEGORIES, type PickerCategory, type PickerEntry, PlainHtmlPreview, type PlainHtmlPreviewProps, PreviewFormatSwitch, PreviewModeMenu, PreviewModeSwitch, PreviewPanel, type PreviewPanelProps, type PreviewSettings, PreviewSettingsProvider, PreviewToolbarControls, type PrompterTransport, REPAIRABLE_KEY, RawEditor, type RawEditorProps, type RecordedBookmark, RecorderButton, type RecorderButtonProps, RecorderModal, type RecorderModalProps, RecorderPanel, type RecorderPanelProps, type RecorderSaveResult, type RecorderSource, type RecorderState, type RepairableBlockEntry, RepairableDiagramExtension, type RepairableDiagramExtensionOptions, type RepairablePluginState, type ResolvedFormat, type ScreenStreamHandle, type ScreenStreamOptions, StatusBar, type StatusBarProps, TELEPROMPTER_CSS, TIMELINE_VIEW_KEY, TRANSITION_ENTRIES, TRANSITION_GROUPS, type TeleprompterController, TeleprompterControls, type TeleprompterControlsProps, type TeleprompterPrefs, type TeleprompterRecordingDeps, TeleprompterSurface, type TeleprompterSurfaceProps, TeleprompterView, type TeleprompterViewProps, TemplatePicker, ThemeCustomizerPanel, type ThemeCustomizerPanelProps, type ThemeInheritance, ThemePicker, type ThemePickerProps, type ThemeSaveExtras, type TimelineBlockEntry, type TimelineCommand, type TimelineCommandResult, TimelineEditorWidget, type TimelineEditorWidgetProps, type TimelineEventPatch, TimelineTrack, type TimelineTrackProps, type TimelineViewData, TimelineViewExtension, type TimelineViewExtensionOptions, type TimelineViewPluginState, type TimingJson, type TokenLineMap, Toolbar, type ToolbarProps, TooltipLayer, 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 UseImageEditorOptions, type UseImageEditorReturn, type UseMediaRecorderOptions, type UseMediaRecorderResult, type UseMonacoLoaderResult, VersionHistoryPanel, ViewMenuPanel, type ViewPreferences, ViewSwitcher, type ViewSwitcherProps, WysiwygEditor, type WysiwygEditorProps, addEdgeOp, addItemOp, addNodeOp, addTimelineEventOp, applyAsciiDiagramCommand, applyRepairCommand, applyTimelineCommand, applyTreeCommand, asciiDiagramToCanvas, buildFilename, buildNarrationSavePlan, buildPreviewDoc, buildTimingJson, cameraVideoLine, classifyFile, configureMonacoWorkers, createFloatingWindowManager, detectFloatTiers, detectLanguageFromFileName, draftPatchFromImportedTheme, encodeTimingJson, ensureTeleprompterStyles, executeNarrationSave, findAsciiDiagramBlockPos, findRepairableBlockPos, findTimelineBlockPos, findTransitionEntry, findTreeBlockPos, formatSeconds, getBlockSlices, getCaptureKind, getTimelineForNode, imageEditorReducer, indentItemOp, initialImageEditorState, insertNarrationPreamble, isAsciiSourceVisible, isRepairableFence, isTimelineSourceSafeForSemanticEdit, lineToOffset, markdownToTiptap, measureTokenLines, moveItemDownOp, moveItemUpOp, moveNodeOp, narrationAnnotationLine, nextTimelineEventId, offsetToLine, outdentItemOp, parseTimelineForNode, partitionFiles, processMediaFiles, processTextFile, processTextFiles, prompterVarsFromTheme, readBlockAttrsParams, readBlockAttrsTransition, readBlockAttrsValue, readHeadingLineTransition, registerPcmWorklet, removeEdgeOp, removeItemOp, removeNodeOp, removeTimelineEventOp, renameItemOp, renameNodeOp, replaceAsciiFenceText, replaceAsciiFenceText as replaceTreeFenceText, requestCameraStream, requestMicStream, requestScreenStream, resizeNodeOp, resolveFileKind, resolveFormat, sanitizeAsciiLabel, sanitizeTimelineText, sanitizeTreeLabel, searchPickerEntries, setBlockAttrsValue, setBlockDurationInSource, setHeadingAttrsTransition, setHeadingLineTransition, setMediaClipInSource, shouldPasteAsAsciiFence, shouldPasteAsTimelineFence, shouldPasteAsTreeFence, sliceIndexAtOffset, spliceBlock, stepScroll, summarizeBlockProps, supportsDisplayMedia, supportsMediaRecorder, supportsUserMedia, targetOffsetFor, templateLabel, timingPathFor, tiptapToMarkdown, toggleAsciiSource, toggleDirOp, transitionLabel, updateTimelineEventOp, useAsciiDiagramData, useBlockNavigator, useCustomTemplates, useCustomThemes, useDocCustomTemplates, useDocCustomThemes, useEditorContext, useFileDrop, useFloatingWindow, useImageEditor, useMediaRecorder, useMicAnalysis, useMonacoLoader, useNarrationRecorder, usePreviewSettings, useStreamPreview, useTeleprompter, useTimelineData, useTreeViewData, vadConfigForSensitivity };
4198
+ 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 BlockTagVisibility, type CameraStreamOptions, type CanvasRect, type CanvasSink, type CaptureKind, type CodeContext, type CodeContextSection, CodeContextZones, type CustomTemplateContextValue, CustomTemplateProvider, type CustomTemplateProviderProps, type CustomThemeContextValue, CustomThemeProvider, type CustomThemeProviderProps, DEFAULT_TELEPROMPTER_PREFS, DiagramCanvas, type DiagramCommand, type DiagramData, type DiagramEdge, type DiagramNode, type DirectionModel, type DocCustomTemplates, type DocCustomThemes, type DocumentLinkCandidate, type DocumentLinkProvider, DocumentSettingsDialog, type DocumentSettingsDialogProps, type DragContentType, type DropTarget, DropZoneOverlay, type DropZoneOverlayProps, EMPTY_TRANSITION, EYE_LINE_FRACTION, type EditorActions, type EditorColorScheme, type EditorContextValue, type EditorMode, EditorProvider, type EditorProviderProps, EditorShell, type EditorShellProps, type EditorState, type EditorView, EmojiPicker, type EmojiPickerProps, type FileCategory, type FileKind, type FloatOpenOptions, type FloatTier, type FloatingWindowHandle, type FloatingWindowManager, type FolderEntry, FolderView, type FolderViewProps, type HeadingTransitionAttrs, HeadingWithTemplate, type ImageDisplayMode, ImageEditor, type ImageEditorAction, type ImageEditorProps, type ImageEditorState, type ImageEditorTool, ImageViewer, type ImageViewerProps, ImportThemeSection, type ImportThemeSectionProps, type ImportedThemeResult, InlinePreviewGutter, type InlinePreviewGutterProps, JsonEditor, type JsonEditorProps, type LayoutMode, MediaBin, type MediaBinProps, type MediaClipPatch, type MentionCandidate, type MentionProvider, type MicAnalysisHandle, type MicAnalysisStatus, type MonacoWorkerConstructor, type MonacoWorkerConstructors, type NarrationRecorderController, type NarrationRecorderState, type NarrationSavePlan, type NarrationSaveResult, type NarrationTake, OutlinePanel, type OutlinePanelProps, PCM_WORKLET_NAME, PCM_WORKLET_SOURCE, PICKER_CATEGORIES, type PickerCategory, type PickerEntry, PlainHtmlPreview, type PlainHtmlPreviewProps, PreviewFormatSwitch, PreviewModeMenu, PreviewModeSwitch, PreviewPanel, type PreviewPanelProps, type PreviewSettings, PreviewSettingsProvider, PreviewToolbarControls, type PrompterTransport, REPAIRABLE_KEY, RawEditor, type RawEditorProps, type RecordedBookmark, RecorderButton, type RecorderButtonProps, type RecorderColorScheme, RecorderModal, type RecorderModalProps, RecorderPanel, type RecorderPanelProps, type RecorderSaveResult, type RecorderSource, type RecorderState, type RepairableBlockEntry, RepairableDiagramExtension, type RepairableDiagramExtensionOptions, type RepairablePluginState, type ResolvedFormat, type ScreenStreamHandle, type ScreenStreamOptions, StatusBar, type StatusBarProps, TELEPROMPTER_CSS, TIMELINE_VIEW_KEY, TRANSITION_ENTRIES, TRANSITION_GROUPS, type TeleprompterController, TeleprompterControls, type TeleprompterControlsProps, type TeleprompterPrefs, type TeleprompterRecordingDeps, TeleprompterSurface, type TeleprompterSurfaceProps, TeleprompterView, type TeleprompterViewProps, TemplatePicker, ThemeCustomizerPanel, type ThemeCustomizerPanelProps, type ThemeInheritance, ThemePicker, type ThemePickerProps, type ThemeSaveExtras, type TimelineBlockEntry, type TimelineCommand, type TimelineCommandResult, TimelineEditorWidget, type TimelineEditorWidgetProps, type TimelineEventPatch, TimelineTrack, type TimelineTrackProps, type TimelineViewData, TimelineViewExtension, type TimelineViewExtensionOptions, type TimelineViewPluginState, type TimingJson, type TokenLineMap, Toolbar, type ToolbarProps, TooltipLayer, 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 UseImageEditorOptions, type UseImageEditorReturn, type UseMediaRecorderOptions, type UseMediaRecorderResult, type UseMonacoLoaderResult, VersionHistoryPanel, ViewMenuPanel, type ViewPreferences, ViewSwitcher, type ViewSwitcherProps, WysiwygEditor, type WysiwygEditorProps, addEdgeOp, addItemOp, addNodeOp, addTimelineEventOp, applyAsciiDiagramCommand, applyRepairCommand, applyTimelineCommand, applyTreeCommand, asciiDiagramToCanvas, buildFilename, buildNarrationSavePlan, buildPreviewDoc, buildTimingJson, cameraVideoLine, classifyFile, configureMonacoWorkers, createFloatingWindowManager, detectFloatTiers, detectLanguageFromFileName, draftPatchFromImportedTheme, encodeTimingJson, ensureTeleprompterStyles, executeNarrationSave, findAsciiDiagramBlockPos, findRepairableBlockPos, findTimelineBlockPos, findTransitionEntry, findTreeBlockPos, formatSeconds, getBlockSlices, getCaptureKind, getTimelineForNode, imageEditorReducer, indentItemOp, initialImageEditorState, insertNarrationPreamble, isAsciiSourceVisible, isRepairableFence, isTimelineSourceSafeForSemanticEdit, lineToOffset, markdownToTiptap, measureTokenLines, moveItemDownOp, moveItemUpOp, moveNodeOp, narrationAnnotationLine, nextTimelineEventId, offsetToLine, outdentItemOp, parseTimelineForNode, partitionFiles, processMediaFiles, processTextFile, processTextFiles, prompterVarsFromTheme, readBlockAttrsParams, readBlockAttrsTransition, readBlockAttrsValue, readHeadingLineTransition, registerPcmWorklet, removeEdgeOp, removeItemOp, removeNodeOp, removeTimelineEventOp, renameItemOp, renameNodeOp, replaceAsciiFenceText, replaceAsciiFenceText as replaceTreeFenceText, requestCameraStream, requestMicStream, requestScreenStream, resizeNodeOp, resolveFileKind, resolveFormat, sanitizeAsciiLabel, sanitizeTimelineText, sanitizeTreeLabel, searchPickerEntries, setBlockAttrsValue, setBlockDurationInSource, setHeadingAttrsTransition, setHeadingLineTransition, setMediaClipInSource, shouldPasteAsAsciiFence, shouldPasteAsTimelineFence, shouldPasteAsTreeFence, sliceIndexAtOffset, spliceBlock, stepScroll, summarizeBlockProps, supportsDisplayMedia, supportsMediaRecorder, supportsUserMedia, targetOffsetFor, templateLabel, timingPathFor, tiptapToMarkdown, toggleAsciiSource, toggleDirOp, transitionLabel, translateDiagramOp, updateTimelineEventOp, useAsciiDiagramData, useBlockNavigator, useCustomTemplates, useCustomThemes, useDocCustomTemplates, useDocCustomThemes, useEditorContext, useFileDrop, useFloatingWindow, useImageEditor, useMediaRecorder, useMicAnalysis, useMonacoLoader, useNarrationRecorder, usePreviewSettings, useStreamPreview, useTeleprompter, useTimelineData, useTreeViewData, vadConfigForSensitivity };