@bendyline/squisq-editor-react 2.4.0 → 2.4.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
@@ -1,13 +1,13 @@
1
- import { C as CodeContext, E as EditorHostMode, S as SceneTextChannel } from './shell-9Kxzxjbn.js';
2
- export { B as BlockTagVisibility, a as CodeContextSection, D as DocumentLinkCandidate, b as DocumentLinkProvider, c as EditorActions, d as EditorColorScheme, e as EditorContextValue, f as EditorMode, g as EditorProvider, h as EditorProviderProps, i as EditorShell, j as EditorShellProps, k as EditorState, l as EditorView, I as ImageDisplayMode, L as LayoutMode, M as MentionCandidate, m as MentionProvider, P as PreviewPanel, n as PreviewPanelProps, R as RawEditor, o as RawEditorProps, T as ThemeInheritance, V as ViewPreferences, W as WriteCanvasSettings, p as WysiwygEditor, q as WysiwygEditorProps, u as useEditorContext } from './shell-9Kxzxjbn.js';
1
+ import { C as CodeContext, E as EditorHostMode, S as SceneTextChannel } from './shell-CU4GpGuq.js';
2
+ export { B as BlockTagVisibility, a as CodeContextSection, D as DocumentLinkCandidate, b as DocumentLinkProvider, c as EditorActions, d as EditorColorScheme, e as EditorContextValue, f as EditorMode, g as EditorProvider, h as EditorProviderProps, i as EditorShell, j as EditorShellProps, k as EditorState, l as EditorView, I as ImageDisplayMode, L as LayoutMode, M as MentionCandidate, m as MentionProvider, P as PreviewPanel, n as PreviewPanelProps, R as RawEditor, o as RawEditorProps, T as ThemeInheritance, V as ViewPreferences, W as WriteCanvasSettings, p as WysiwygEditor, q as WysiwygEditorProps, u as useEditorContext } from './shell-CU4GpGuq.js';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import * as react from 'react';
5
5
  import { ReactNode, CSSProperties } from 'react';
6
- import { ScheduledClip, Doc, MediaProvider, Theme, CustomTemplateDefinition, ThemeSeedColors, ViewportPreset, ViewportConfig, Block, MediaEntry, DiagramEdgeAnchor } from '@bendyline/squisq/schemas';
6
+ import { Doc, ScheduledClip, VideoPlacement, VideoPipSize, VideoPipShape, VideoPipPosition, MediaProvider, Theme, CustomTemplateDefinition, ThemeSeedColors, ViewportPreset, ViewportConfig, Block, MediaEntry, DiagramEdgeAnchor } from '@bendyline/squisq/schemas';
7
7
  import { ContentContainer } from '@bendyline/squisq/storage';
8
8
  export { CanvasRect, ImageEditor, ImageEditorAction, ImageEditorProps, ImageEditorState, ImageEditorTool, ImageViewer, ImageViewerProps, UseImageEditorOptions, UseImageEditorReturn, imageEditorReducer, initialImageEditorState, useImageEditor } from './image-editor/index.js';
9
9
  import { IconFamily } from '@bendyline/squisq/icons';
10
- import { DisplayMode, CaptionStyle, VideoPresentation, PipShape, PipPosition } from '@bendyline/squisq-react';
10
+ import { DisplayMode, CaptionStyle, VideoPresentation, PipSize, PipShape, PipPosition } from '@bendyline/squisq-react';
11
11
  import { MarkdownWrapState } from '@bendyline/squisq/markdown';
12
12
  import * as monaco_editor from 'monaco-editor';
13
13
  import { M as MonacoLanguageRequest, a as MonacoLanguageLoadOptions } from './monacoLanguageDetection-DEyUW-BS.js';
@@ -22,8 +22,9 @@ import { PluginKey } from '@tiptap/pm/state';
22
22
  import { Node } from '@tiptap/pm/model';
23
23
  import { RenderResult } from 'mermaid';
24
24
  export { JsonEditor, JsonEditorProps } from './json-editor/index.js';
25
- export { CameraStreamOptions, CaptureKind, RecordedBookmark, RecorderButton, RecorderButtonProps, RecorderColorScheme, RecorderModal, RecorderModalProps, RecorderPanel, RecorderPanelProps, RecorderSaveResult, RecorderSource, RecorderState, ResolvedFormat, ScreenStreamHandle, ScreenStreamOptions, TimingJson, UseMediaRecorderOptions, UseMediaRecorderResult, buildFilename, buildTimingJson, encodeTimingJson, getCaptureKind, requestCameraStream, requestMicStream, requestScreenStream, resolveFormat, supportsDisplayMedia, supportsMediaRecorder, supportsUserMedia, timingPathFor, useMediaRecorder, useStreamPreview } from './recorder/index.js';
26
- export { CanvasSink, DEFAULT_TELEPROMPTER_PREFS, EYE_LINE_FRACTION, FloatOpenOptions, FloatTier, FloatingWindowHandle, FloatingWindowManager, MicAnalysisHandle, MicAnalysisStatus, NarrationRecorderController, NarrationRecorderState, NarrationSavePlan, NarrationSaveResult, NarrationTake, PCM_WORKLET_NAME, PCM_WORKLET_SOURCE, PrompterTransport, TELEPROMPTER_CSS, TeleprompterController, TeleprompterControls, TeleprompterControlsProps, TeleprompterPrefs, TeleprompterRecordingDeps, TeleprompterSurface, TeleprompterSurfaceProps, TeleprompterView, TeleprompterViewProps, TokenLineMap, buildNarrationSavePlan, cameraVideoLine, createFloatingWindowManager, detectFloatTiers, ensureTeleprompterStyles, executeNarrationSave, insertNarrationPreamble, measureTokenLines, narrationAnnotationLine, prompterVarsFromTheme, registerPcmWorklet, stepScroll, targetOffsetFor, useFloatingWindow, useMicAnalysis, useNarrationRecorder, useTeleprompter, vadConfigForSensitivity } from './teleprompter/index.js';
25
+ export { C as CameraStreamOptions, a as CaptureKind, R as RecordedBookmark, b as RecorderButton, c as RecorderButtonProps, d as RecorderCameraLane, e as RecorderCameraSaveResult, f as RecorderColorScheme, g as RecorderModal, h as RecorderModalProps, i as RecorderNarrationOptions, j as RecorderPanel, k as RecorderPanelProps, l as RecorderSaveResult, m as RecorderSource, n as RecorderState, o as ResolvedFormat, S as ScreenStreamHandle, p as ScreenStreamOptions, T as TimingJson, U as UseMediaRecorderOptions, q as UseMediaRecorderResult, r as buildFilename, s as buildTimingJson, t as encodeTimingJson, u as getCaptureKind, v as requestCameraStream, w as requestMicStream, x as requestScreenStream, y as resolveFormat, z as supportsDisplayMedia, A as supportsMediaRecorder, B as supportsUserMedia, D as timingPathFor, E as useMediaRecorder, F as useStreamPreview } from './recorder-C0Tkyu5W.js';
26
+ 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';
27
+ export { C as CanvasSink, D as DEFAULT_TELEPROMPTER_PREFS, F as FloatOpenOptions, a as FloatTier, b as FloatingWindowHandle, c as FloatingWindowManager, M as MicAnalysisHandle, d as MicAnalysisStatus, N as NarrationRecorderController, e as NarrationRecorderState, f as NarrationStageHandle, g as NarrationTake, P as PrompterTransport, T as TeleprompterController, h as TeleprompterPrefs, i as TeleprompterRecordingDeps, U as UseNarrationStageOptions, j as createFloatingWindowManager, k as detectFloatTiers, u as useFloatingWindow, l as useMicAnalysis, m as useNarrationRecorder, n as useNarrationStage, o as useTeleprompter, v as vadConfigForSensitivity } from './useNarrationStage-Bqo18PBw.js';
27
28
  import '@bendyline/squisq/versions';
28
29
  import '@bendyline/squisq/imageEdit';
29
30
  import '@bendyline/squisq/jsonForm';
@@ -235,6 +236,13 @@ interface TimelineClock {
235
236
 
236
237
  interface TimelineTrackProps {
237
238
  height?: number;
239
+ /**
240
+ * Doc used for bar geometry / timing. Callers pass the narration-timed
241
+ * projection so the track matches what actually plays; falls back to the
242
+ * editor's raw parse. Editing still round-trips because the projected doc
243
+ * keeps each block's `sourceHeading`.
244
+ */
245
+ doc?: Doc | null;
238
246
  /** Optional shared clock used by docked timeline companions. */
239
247
  clock?: TimelineClock;
240
248
  /** Reuse an already-resolved schedule instead of deriving it from the doc. */
@@ -242,7 +250,7 @@ interface TimelineTrackProps {
242
250
  /** Whether the docked video monitor is currently visible. */
243
251
  videoVisible?: boolean;
244
252
  }
245
- declare function TimelineTrack({ height, clock, schedule, videoVisible, }: TimelineTrackProps): react_jsx_runtime.JSX.Element | null;
253
+ declare function TimelineTrack({ height, doc: docProp, clock, schedule, videoVisible, }: TimelineTrackProps): react_jsx_runtime.JSX.Element | null;
246
254
 
247
255
  interface TimelineVideoPanelProps {
248
256
  schedule: ScheduledClip[];
@@ -273,6 +281,70 @@ interface TimelineToolbarProps {
273
281
  }
274
282
  declare function TimelineToolbar({ literalVideoVisible, compositionVisible, videoAvailable, compositionAvailable, onToggleLiteralVideo, onToggleComposition, }: TimelineToolbarProps): react_jsx_runtime.JSX.Element;
275
283
 
284
+ /**
285
+ * headingTransition
286
+ *
287
+ * Read and write a block's transition (`transition` / `transitionDirection` /
288
+ * `transitionDuration`) on a heading, in both editing surfaces:
289
+ *
290
+ * - Markdown (Monaco): operate on the raw heading line string.
291
+ * - WYSIWYG (Tiptap): operate on the heading node's `dataBlockAttrs` string
292
+ * (Pandoc `{…}` inner) and `dataTemplateParams` string (the params inside
293
+ * the squisq-native `{[…]}` annotation).
294
+ *
295
+ * The editor writes transitions to the squisq-native `{[…]}` annotation by
296
+ * default. It still reads legacy Pandoc `{transition=…}` attributes and
297
+ * removes/migrates those keys when rewriting, so the two channels cannot drift
298
+ * after a toolbar edit.
299
+ *
300
+ * All the brace-matching / tokenizing / serializing is delegated to the
301
+ * shared core helpers so this stays in lockstep with the parser by import
302
+ * rather than by copied regexes.
303
+ */
304
+ /** Raw (un-coerced) transition attribute values for one block. */
305
+ interface TransitionFields {
306
+ /** `transition` value. Empty string means "none" (`cut`). */
307
+ type: string;
308
+ /** `transitionDirection` value, or '' when unset. */
309
+ direction: string;
310
+ /** `transitionDuration` value (raw, e.g. `0.7` or `700ms`), or '' when unset. */
311
+ duration: string;
312
+ }
313
+ declare const EMPTY_TRANSITION: TransitionFields;
314
+ /**
315
+ * Read the transition fields off a heading line. Looks in both the Pandoc
316
+ * `{…}` block (legacy) and the `{[…]}` template params (canonical),
317
+ * with the Pandoc block taking precedence. Returns the empty transition for
318
+ * non-heading lines.
319
+ */
320
+ declare function readHeadingLineTransition(line: string): TransitionFields;
321
+ /**
322
+ * Return `line` with its transition rewritten from `next`, writing into the
323
+ * squisq-native `{[…]}` annotation. Legacy Pandoc transition keys are removed
324
+ * while preserving ids, classes, and other Pandoc params. Non-heading lines are
325
+ * returned unchanged.
326
+ */
327
+ declare function setHeadingLineTransition(line: string, next: TransitionFields): string;
328
+ /**
329
+ * Read the transition fields from a heading node's `dataBlockAttrs` (legacy
330
+ * Pandoc inner) plus `dataTemplateParams` (canonical `{[…]}` params). Pandoc
331
+ * wins so the picker mirrors the value that `markdownToDoc` will render when
332
+ * both channels are present.
333
+ */
334
+ declare function readBlockAttrsTransition(blockAttrsInner: string | null | undefined, templateParams: string | null | undefined): TransitionFields;
335
+ interface HeadingTransitionAttrs {
336
+ /** Inner of the Pandoc `{…}` block, without braces. */
337
+ blockAttrsInner: string | null;
338
+ /** Param string inside the `{[…]}` annotation, without the template token. */
339
+ templateParams: string | null;
340
+ }
341
+ /**
342
+ * Rewrite a heading node's transition for Tiptap, writing the transition
343
+ * family into `dataTemplateParams` and removing any legacy transition keys
344
+ * from `dataBlockAttrs`.
345
+ */
346
+ declare function setHeadingAttrsTransition(blockAttrsInner: string | null | undefined, templateParams: string | null | undefined, next: TransitionFields): HeadingTransitionAttrs;
347
+
276
348
  /**
277
349
  * timelineSource
278
350
  *
@@ -283,6 +355,7 @@ declare function TimelineToolbar({ literalVideoVisible, compositionVisible, vide
283
355
  * (template annotations, ids, classes, other params) by reusing the shared
284
356
  * tokenizers rather than regex-replacing values.
285
357
  */
358
+
286
359
  /** Format a seconds value compactly: integers bare, else up to 2 decimals. */
287
360
  declare function formatSeconds(seconds: number): string;
288
361
  /**
@@ -294,13 +367,22 @@ declare function formatSeconds(seconds: number): string;
294
367
  * two can't disagree). Returns the new full source, or null when the line
295
368
  * isn't an ATX heading.
296
369
  */
297
- declare function setBlockDurationInSource(source: string, line: number, seconds: number): string | null;
370
+ declare function setBlockDurationInSource(source: string, line: number, seconds: number | null): string | null;
371
+ /** Set or clear a block's explicit start time on its source heading. */
372
+ declare function setBlockStartTimeInSource(source: string, line: number, seconds: number | null): string | null;
373
+ /** Rewrite a block transition on its source heading. */
374
+ declare function setBlockTransitionInSource(source: string, line: number, transition: TransitionFields): string | null;
298
375
  /** A patch to a media clip; numeric values are seconds, `null` removes the key. */
299
376
  interface MediaClipPatch {
300
377
  startAt?: number | null;
301
378
  clipStart?: number | null;
302
379
  clipEnd?: number | null;
303
380
  spillover?: boolean | null;
381
+ placement?: VideoPlacement | null;
382
+ lockToBlock?: boolean | null;
383
+ pipSize?: VideoPipSize | null;
384
+ pipShape?: VideoPipShape | null;
385
+ pipPosition?: VideoPipPosition | null;
304
386
  }
305
387
  /**
306
388
  * Patch the `{[audio …]}` / `{[video …]}` annotation at 1-based `line`.
@@ -725,6 +807,8 @@ interface PreviewSettings {
725
807
  hasVideoMedia: boolean;
726
808
  activeVideoPresentation: VideoPresentation;
727
809
  setVideoPresentation: (presentation: VideoPresentation) => void;
810
+ activePipSize: PipSize;
811
+ setPipSize: (size: PipSize) => void;
728
812
  activePipShape: PipShape;
729
813
  setPipShape: (shape: PipShape) => void;
730
814
  activePipPosition: PipPosition;
@@ -792,7 +876,15 @@ declare function PreviewSettingsProvider({ doc, children, defaultViewportPreset,
792
876
  * inline row and the menu, so the available space is always well used and the
793
877
  * row never wraps onto a second line.
794
878
  */
795
- declare function PreviewToolbarControls(): react_jsx_runtime.JSX.Element;
879
+ interface PreviewToolbarControlsProps {
880
+ /**
881
+ * Display mode whose applicable control set should be rendered. Defaults to
882
+ * the active Use mode. This only controls toolbar visibility; changing a
883
+ * setting still writes through the shared preview-settings context.
884
+ */
885
+ displayMode?: DisplayMode;
886
+ }
887
+ declare function PreviewToolbarControls({ displayMode }?: PreviewToolbarControlsProps): react_jsx_runtime.JSX.Element;
796
888
  /**
797
889
  * Segmented display-mode switch retained as a public, embeddable control.
798
890
  * The editor shell uses {@link PreviewModeMenu} beside its Use tab instead.
@@ -1027,70 +1119,6 @@ interface TemplatePickerProps {
1027
1119
  }
1028
1120
  declare function TemplatePicker({ value, onChange, colorScheme, compact, recommended, onOpenDesigner, previewSource, }: TemplatePickerProps): react_jsx_runtime.JSX.Element;
1029
1121
 
1030
- /**
1031
- * headingTransition
1032
- *
1033
- * Read and write a block's transition (`transition` / `transitionDirection` /
1034
- * `transitionDuration`) on a heading, in both editing surfaces:
1035
- *
1036
- * - Markdown (Monaco): operate on the raw heading line string.
1037
- * - WYSIWYG (Tiptap): operate on the heading node's `dataBlockAttrs` string
1038
- * (Pandoc `{…}` inner) and `dataTemplateParams` string (the params inside
1039
- * the squisq-native `{[…]}` annotation).
1040
- *
1041
- * The editor writes transitions to the squisq-native `{[…]}` annotation by
1042
- * default. It still reads legacy Pandoc `{transition=…}` attributes and
1043
- * removes/migrates those keys when rewriting, so the two channels cannot drift
1044
- * after a toolbar edit.
1045
- *
1046
- * All the brace-matching / tokenizing / serializing is delegated to the
1047
- * shared core helpers so this stays in lockstep with the parser by import
1048
- * rather than by copied regexes.
1049
- */
1050
- /** Raw (un-coerced) transition attribute values for one block. */
1051
- interface TransitionFields {
1052
- /** `transition` value. Empty string means "none" (`cut`). */
1053
- type: string;
1054
- /** `transitionDirection` value, or '' when unset. */
1055
- direction: string;
1056
- /** `transitionDuration` value (raw, e.g. `0.7` or `700ms`), or '' when unset. */
1057
- duration: string;
1058
- }
1059
- declare const EMPTY_TRANSITION: TransitionFields;
1060
- /**
1061
- * Read the transition fields off a heading line. Looks in both the Pandoc
1062
- * `{…}` block (legacy) and the `{[…]}` template params (canonical),
1063
- * with the Pandoc block taking precedence. Returns the empty transition for
1064
- * non-heading lines.
1065
- */
1066
- declare function readHeadingLineTransition(line: string): TransitionFields;
1067
- /**
1068
- * Return `line` with its transition rewritten from `next`, writing into the
1069
- * squisq-native `{[…]}` annotation. Legacy Pandoc transition keys are removed
1070
- * while preserving ids, classes, and other Pandoc params. Non-heading lines are
1071
- * returned unchanged.
1072
- */
1073
- declare function setHeadingLineTransition(line: string, next: TransitionFields): string;
1074
- /**
1075
- * Read the transition fields from a heading node's `dataBlockAttrs` (legacy
1076
- * Pandoc inner) plus `dataTemplateParams` (canonical `{[…]}` params). Pandoc
1077
- * wins so the picker mirrors the value that `markdownToDoc` will render when
1078
- * both channels are present.
1079
- */
1080
- declare function readBlockAttrsTransition(blockAttrsInner: string | null | undefined, templateParams: string | null | undefined): TransitionFields;
1081
- interface HeadingTransitionAttrs {
1082
- /** Inner of the Pandoc `{…}` block, without braces. */
1083
- blockAttrsInner: string | null;
1084
- /** Param string inside the `{[…]}` annotation, without the template token. */
1085
- templateParams: string | null;
1086
- }
1087
- /**
1088
- * Rewrite a heading node's transition for Tiptap, writing the transition
1089
- * family into `dataTemplateParams` and removing any legacy transition keys
1090
- * from `dataBlockAttrs`.
1091
- */
1092
- declare function setHeadingAttrsTransition(blockAttrsInner: string | null | undefined, templateParams: string | null | undefined, next: TransitionFields): HeadingTransitionAttrs;
1093
-
1094
1122
  interface TransitionPickerProps {
1095
1123
  value: TransitionFields;
1096
1124
  onChange: (next: TransitionFields) => void;
@@ -1278,8 +1306,14 @@ interface MediaBinProps {
1278
1306
  onRecord?: () => void;
1279
1307
  /** Whether the recorder dialog opened by `onRecord` is currently visible. */
1280
1308
  isRecorderOpen?: boolean;
1309
+ /**
1310
+ * Whether files expose a browser download action. Defaults to true. This
1311
+ * controls the built-in affordance only; it cannot prevent access to media
1312
+ * URLs that the host otherwise exposes to the browser.
1313
+ */
1314
+ allowBinaryDownloads?: boolean;
1281
1315
  }
1282
- declare function MediaBin({ mediaProvider, isDark, refreshKey, usedMediaPaths, onMediaUploaded, onMediaRemoved, onCountChange, onRecord, isRecorderOpen, }: MediaBinProps): react_jsx_runtime.JSX.Element;
1316
+ declare function MediaBin({ mediaProvider, isDark, refreshKey, usedMediaPaths, onMediaUploaded, onMediaRemoved, onCountChange, onRecord, isRecorderOpen, allowBinaryDownloads, }: MediaBinProps): react_jsx_runtime.JSX.Element;
1283
1317
 
1284
1318
  interface StatusBarProps {
1285
1319
  /** Additional class name */
@@ -1578,7 +1612,25 @@ declare function tiptapToMarkdown(html: string): string;
1578
1612
  * slide, interleaves images, recalculates timing, and adds a synthetic
1579
1613
  * audio segment.
1580
1614
  */
1581
- declare function buildPreviewDoc(doc: Doc): Doc;
1615
+ interface BuildPreviewDocOptions {
1616
+ /**
1617
+ * Human-facing title to use as the header of the leading heading-less
1618
+ * "preamble" block when the document has no frontmatter `title:`. Hosts
1619
+ * typically pass the file name (extension stripped) via
1620
+ * {@link documentTitleFromFileName}. When neither this nor a frontmatter
1621
+ * title is present, the preamble simply renders with no header rather than
1622
+ * the placeholder block id.
1623
+ */
1624
+ documentTitle?: string;
1625
+ }
1626
+ /**
1627
+ * Derive a display title from a file name: strip any directory prefix and the
1628
+ * trailing extension (`docs/Longview Plan.md` → `Longview Plan`). Returns an
1629
+ * empty string for an absent/blank name so callers can pass the result through
1630
+ * without extra guards.
1631
+ */
1632
+ declare function documentTitleFromFileName(fileName?: string): string;
1633
+ declare function buildPreviewDoc(doc: Doc, options?: BuildPreviewDocOptions): Doc;
1582
1634
 
1583
1635
  /**
1584
1636
  * TemplateAnnotation — Tiptap Heading Extension
@@ -2773,4 +2825,4 @@ declare function applyTimelineCommand(editor: Editor, blockId: string, command:
2773
2825
  /** Paste gate for bare, high-confidence Unicode timeline art. */
2774
2826
  declare function shouldPasteAsTimelineFence(text: string): boolean;
2775
2827
 
2776
- 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, type FileCategory, type FileKind, type FolderEntry, FolderView, type FolderViewProps, type HeadingTransitionAttrs, HeadingWithTemplate, 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, 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, detectLanguageFromFileName, draftPatchFromImportedTheme, findAsciiDiagramBlockPos, findCodeSnippetBlockPos, findMermaidDiagramBlockPos, findRepairableBlockPos, findTimelineBlockPos, findTransitionEntry, findTreeBlockPos, formatSeconds, getBlockSlices, getTimelineForNode, indentItemOp, ingestForWrite, inspectMermaidSource, isAsciiSourceVisible, isCodeSnippetFenceLanguage, isCodeSnippetNode, isMermaidDiagramNode, isMermaidFlowchartShapeId, isMermaidSourceVisible, isRepairableFence, isTimelineSourceSafeForSemanticEdit, lineToOffset, 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, replaceAsciiFenceText as replaceTreeFenceText, resizeNodeOp, resolveFileKind, sanitizeAsciiLabel, sanitizeTimelineText, sanitizeTreeLabel, searchPickerEntries, setBlockAttrsValue, setBlockDurationInSource, 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 };
2828
+ 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, type FileCategory, type FileKind, type FolderEntry, FolderView, type FolderViewProps, type HeadingTransitionAttrs, HeadingWithTemplate, 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, detectLanguageFromFileName, documentTitleFromFileName, draftPatchFromImportedTheme, findAsciiDiagramBlockPos, findCodeSnippetBlockPos, findMermaidDiagramBlockPos, findRepairableBlockPos, findTimelineBlockPos, findTransitionEntry, findTreeBlockPos, formatSeconds, getBlockSlices, getTimelineForNode, indentItemOp, ingestForWrite, inspectMermaidSource, isAsciiSourceVisible, isCodeSnippetFenceLanguage, isCodeSnippetNode, isMermaidDiagramNode, isMermaidFlowchartShapeId, isMermaidSourceVisible, isRepairableFence, isTimelineSourceSafeForSemanticEdit, lineToOffset, 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, 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 };
package/dist/index.js CHANGED
@@ -93,6 +93,7 @@ import {
93
93
  codeSnippetMarkdown,
94
94
  compileDraft,
95
95
  detectLanguageFromFileName,
96
+ documentTitleFromFileName,
96
97
  draftPatchFromImportedTheme,
97
98
  findAsciiDiagramBlockPos,
98
99
  findCodeSnippetBlockPos,
@@ -159,6 +160,8 @@ import {
159
160
  searchPickerEntries,
160
161
  setBlockAttrsValue,
161
162
  setBlockDurationInSource,
163
+ setBlockStartTimeInSource,
164
+ setBlockTransitionInSource,
162
165
  setHeadingAttrsTransition,
163
166
  setHeadingLineTransition,
164
167
  setMediaClipInSource,
@@ -191,15 +194,15 @@ import {
191
194
  usePreviewSettings,
192
195
  useTimelineData,
193
196
  useTreeViewData
194
- } from "./chunk-UPEGQYF4.js";
197
+ } from "./chunk-XOMQK4JA.js";
195
198
  import "./chunk-V4NBQF5C.js";
196
199
  import {
197
200
  JsonEditor
198
- } from "./chunk-IIWECJ26.js";
201
+ } from "./chunk-WDX6UDL5.js";
199
202
  import {
200
203
  markdownToTiptap,
201
204
  tiptapToMarkdown
202
- } from "./chunk-MM3M2KUV.js";
205
+ } from "./chunk-WLJ623UZ.js";
203
206
  import {
204
207
  ImageEditor,
205
208
  ImageViewer,
@@ -209,28 +212,34 @@ import {
209
212
  } from "./chunk-V44VP242.js";
210
213
  import {
211
214
  RecorderButton
212
- } from "./chunk-VNUGP7NG.js";
215
+ } from "./chunk-PEI5EBEN.js";
213
216
  import {
214
217
  RecorderModal,
215
218
  RecorderPanel,
216
219
  getCaptureKind,
217
220
  requestScreenStream,
218
221
  useMediaRecorder
219
- } from "./chunk-F4NBECWR.js";
222
+ } from "./chunk-PKGBWNUQ.js";
220
223
  import "./chunk-GS7QWYFT.js";
224
+ import {
225
+ TeleprompterView
226
+ } from "./chunk-V6Z7GG55.js";
221
227
  import {
222
228
  DEFAULT_TELEPROMPTER_PREFS,
223
229
  EYE_LINE_FRACTION,
230
+ NarrationStage,
224
231
  PCM_WORKLET_NAME,
225
232
  PCM_WORKLET_SOURCE,
226
233
  TELEPROMPTER_CSS,
227
234
  TeleprompterControls,
228
235
  TeleprompterSurface,
229
- TeleprompterView,
236
+ buildFilename,
230
237
  buildNarrationSavePlan,
238
+ buildTimingJson,
231
239
  cameraVideoLine,
232
240
  createFloatingWindowManager,
233
241
  detectFloatTiers,
242
+ encodeTimingJson,
234
243
  ensureTeleprompterStyles,
235
244
  executeNarrationSave,
236
245
  insertNarrationPreamble,
@@ -238,27 +247,23 @@ import {
238
247
  narrationAnnotationLine,
239
248
  prompterVarsFromTheme,
240
249
  registerPcmWorklet,
241
- stepScroll,
242
- targetOffsetFor,
243
- useFloatingWindow,
244
- useMicAnalysis,
245
- useNarrationRecorder,
246
- useTeleprompter,
247
- vadConfigForSensitivity
248
- } from "./chunk-5JMHFAVW.js";
249
- import {
250
- buildFilename,
251
- buildTimingJson,
252
- encodeTimingJson,
253
250
  requestCameraStream,
254
251
  requestMicStream,
255
252
  resolveFormat,
253
+ stepScroll,
256
254
  supportsDisplayMedia,
257
255
  supportsMediaRecorder,
258
256
  supportsUserMedia,
257
+ targetOffsetFor,
259
258
  timingPathFor,
260
- useStreamPreview
261
- } from "./chunk-5Q4JN4I5.js";
259
+ useFloatingWindow,
260
+ useMicAnalysis,
261
+ useNarrationRecorder,
262
+ useNarrationStage,
263
+ useStreamPreview,
264
+ useTeleprompter,
265
+ vadConfigForSensitivity
266
+ } from "./chunk-PDCKJCOS.js";
262
267
 
263
268
  // src/FolderView.tsx
264
269
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -720,6 +725,7 @@ export {
720
725
  MermaidDiagramTypeThumbnail,
721
726
  MermaidDiagramWidget,
722
727
  MermaidShapePalette,
728
+ NarrationStage,
723
729
  OutlinePanel,
724
730
  PCM_WORKLET_NAME,
725
731
  PCM_WORKLET_SOURCE,
@@ -786,6 +792,7 @@ export {
786
792
  createFloatingWindowManager,
787
793
  detectFloatTiers,
788
794
  detectLanguageFromFileName,
795
+ documentTitleFromFileName,
789
796
  draftPatchFromImportedTheme,
790
797
  encodeTimingJson,
791
798
  ensureTeleprompterStyles,
@@ -868,6 +875,8 @@ export {
868
875
  searchPickerEntries,
869
876
  setBlockAttrsValue,
870
877
  setBlockDurationInSource,
878
+ setBlockStartTimeInSource,
879
+ setBlockTransitionInSource,
871
880
  setHeadingAttrsTransition,
872
881
  setHeadingLineTransition,
873
882
  setMediaClipInSource,
@@ -907,6 +916,7 @@ export {
907
916
  useMicAnalysis,
908
917
  useMonacoLoader,
909
918
  useNarrationRecorder,
919
+ useNarrationStage,
910
920
  usePreviewSettings,
911
921
  useStreamPreview,
912
922
  useTeleprompter,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  JsonEditor
3
- } from "../chunk-IIWECJ26.js";
4
- import "../chunk-MM3M2KUV.js";
3
+ } from "../chunk-WDX6UDL5.js";
4
+ import "../chunk-WLJ623UZ.js";
5
5
  export {
6
6
  JsonEditor
7
7
  };