@bendyline/squisq-editor-react 2.11.18 → 2.11.20

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 (33) hide show
  1. package/dist/chunk-2MP7QE7O.js +15 -0
  2. package/dist/{chunk-H7YTL6SL.js → chunk-DJS5I5NO.js} +1 -1
  3. package/dist/{chunk-DPAMJV6A.js → chunk-HSWWEWT4.js} +31 -2
  4. package/dist/{chunk-45NQUR62.js → chunk-JI74KA6C.js} +197 -126
  5. package/dist/chunk-K56KR27T.js +141 -0
  6. package/dist/{chunk-WKZLBGPX.js → chunk-LR6Q2MK4.js} +1 -1
  7. package/dist/{chunk-GIXXD2O3.js → chunk-NL4JP55H.js} +3453 -2606
  8. package/dist/{chunk-2XXBDECJ.js → chunk-OCQEWWHI.js} +1 -1
  9. package/dist/{chunk-U6NVT3BY.js → chunk-UFK47ZAI.js} +42 -22
  10. package/dist/{chunk-UBFNLWCN.js → chunk-V2OLZOYJ.js} +2 -2
  11. package/dist/{chunk-CGENKHWY.js → chunk-ZS6G2P57.js} +27 -3
  12. package/dist/deviceSettings-BSkIQncC.d.ts +83 -0
  13. package/dist/{dictationSession-PN3OT5LJ.js → dictationSession-SLDNYIZ2.js} +3 -133
  14. package/dist/index.d.ts +200 -18
  15. package/dist/index.js +33 -10
  16. package/dist/json-editor/index.js +3 -3
  17. package/dist/recorder/index.d.ts +4 -2
  18. package/dist/recorder/index.js +3 -3
  19. package/dist/{recorder-CRsw0eC7.d.ts → recorder-Civyq5SU.d.ts} +4 -82
  20. package/dist/review/index.js +2 -2
  21. package/dist/screenRegion-Ci_RsCzG.d.ts +8 -0
  22. package/dist/shell/index.d.ts +2 -2
  23. package/dist/shell/index.js +11 -9
  24. package/dist/{shell-Cb0P_ln8.d.ts → shell-DTefmCBG.d.ts} +40 -3
  25. package/dist/speech/index.d.ts +35 -118
  26. package/dist/speech/index.js +7 -1
  27. package/dist/speechAudioWav-WKIQWGIJ.js +13 -0
  28. package/dist/styles/index.css +113 -3
  29. package/dist/teleprompter/index.d.ts +3 -2
  30. package/dist/teleprompter/index.js +2 -2
  31. package/dist/types-Bi4ZVKvN.d.ts +126 -0
  32. package/dist/{useNarrationStage-vKtk6H-V.d.ts → useNarrationStage-DlighI1z.d.ts} +17 -9
  33. package/package.json +6 -6
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { C as CodeContext, E as EditorHostMode, S as SceneTextChannel, a as CalcEngineFactory, b as CsvSourceMeta, X as XlsxSourceMeta, F as FormulaEditRecord } from './shell-Cb0P_ln8.js';
2
- export { A as ApplySourceEditsOptions, B as BlockInsertionBuilder, c as BlockInsertionContext, d as BlockPlacement, e as BlockRange, f as BlockSlice, g as BlockTagVisibility, h as CodeContextSection, i as CoverImageSaveOutput, D as DashboardImageSaveOutput, j as DocumentLinkCandidate, k as DocumentLinkProvider, l as EditorActions, m as EditorColorScheme, n as EditorContextMenuContext, o as EditorContextMenuItem, p as EditorContextMenuItemVisibility, q as EditorContextMenuProvider, r as EditorContextMenuProviderProps, s as EditorContextValue, t as EditorMode, u as EditorProvider, v as EditorProviderProps, w as EditorSelectionInfo, x as EditorShell, y as EditorShellProps, z as EditorState, G as EditorView, H as FormulaSessionOptions, I as ImageDisplayMode, J as IngestedSidecar, K as InsertBlockOptions, L as LayoutMode, M as MentionCandidate, N as MentionProvider, O as OutlineBlock, P as OutlineInsertion, Q as PreviewPanel, R as PreviewPanelProps, T as RawEditor, U as RawEditorProps, V as ThemeInheritance, W as ViewPreferences, Y as WriteCanvasSettings, Z as WysiwygEditor, _ as WysiwygEditorProps, $ as XLSX_LOCKED_REASON, a0 as XlsxFormulaSession, a1 as applySourceEditsToText, a2 as blockInsertionPoint, a3 as createXlsxFormulaSession, a4 as getBlockSlices, a5 as headingDepthForInsertion, a6 as ingestSidecarBytes, a7 as joinBlockAt, a8 as lineToOffset, a9 as minimalReplaceEdit, aa as normalizeSourceEdits, ab as offsetToLine, ac as resolveOutlineInsertion, ad as sliceIndexAtOffset, ae as sourceOutline, af as spliceBlock, ag as useEditorContext, ah as useEditorContextMenuItems } from './shell-Cb0P_ln8.js';
1
+ import { C as CodeContext, E as EditorHostMode, S as SceneTextChannel, a as CalcEngineFactory, b as EditorView$1, c as CsvSourceMeta, X as XlsxSourceMeta, F as FormulaEditRecord } from './shell-DTefmCBG.js';
2
+ export { A as ApplySourceEditsOptions, B as BlockInsertionBuilder, d as BlockInsertionContext, e as BlockPlacement, f as BlockRange, g as BlockSlice, h as BlockTagVisibility, i as CodeContextSection, j as CoverImageSaveOutput, D as DashboardImageSaveOutput, k as DocumentLinkCandidate, l as DocumentLinkProvider, m as EditorActions, n as EditorColorScheme, o as EditorContextMenuContext, p as EditorContextMenuItem, q as EditorContextMenuItemVisibility, r as EditorContextMenuProvider, s as EditorContextMenuProviderProps, t as EditorContextValue, u as EditorInsertMenuItem, v as EditorMode, w as EditorProvider, x as EditorProviderProps, y as EditorSelectionInfo, z as EditorShell, G as EditorShellProps, H as EditorState, I as FormulaSessionOptions, J as ImageDisplayMode, K as IngestedSidecar, L as InsertBlockOptions, M as LayoutMode, N as MentionCandidate, O as MentionProvider, P as OutlineBlock, Q as OutlineInsertion, R as PreviewPanel, T as PreviewPanelProps, U as RawEditor, V as RawEditorProps, W as ThemeInheritance, Y as ViewPreferences, Z as WriteCanvasSettings, _ as WysiwygEditor, $ as WysiwygEditorProps, a0 as XLSX_LOCKED_REASON, a1 as XlsxFormulaSession, a2 as applySourceEditsToText, a3 as blockInsertionPoint, a4 as createXlsxFormulaSession, a5 as getBlockSlices, a6 as headingDepthForInsertion, a7 as ingestSidecarBytes, a8 as joinBlockAt, a9 as lineToOffset, aa as minimalReplaceEdit, ab as normalizeSourceEdits, ac as offsetToLine, ad as resolveOutlineInsertion, ae as sliceIndexAtOffset, af as sourceOutline, ag as spliceBlock, ah as useEditorContext, ai as useEditorContextMenuItems, aj as useEditorInsertMenuItems } from './shell-DTefmCBG.js';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import * as react from 'react';
5
5
  import { ReactNode, CSSProperties, ReactElement } from 'react';
@@ -10,31 +10,33 @@ import { CodeBlockCopyHandler, DisplayMode, CaptionStyle, VideoPresentation, Pip
10
10
  import { IconFamily } from '@bendyline/squisq/icons';
11
11
  import { CoverSlideTemplate, CoverSlidePlayback, DashboardStyleId, DashboardLayoutSummary, ConnectorRouting, AsciiDiagram, Tree, AsciiTimeline, AsciiTimelineSide, AsciiTimelineMarker } from '@bendyline/squisq/doc';
12
12
  export { BuildPreviewDocOptions, buildPreviewDoc, documentTitleFromFileName } from '@bendyline/squisq/doc';
13
- import { MarkdownWrapState } from '@bendyline/squisq/markdown';
13
+ import { MarkdownWrapState, BlockVideoEmbed, VideoEmbed } from '@bendyline/squisq/markdown';
14
14
  export { MarkdownSourceEdit } from '@bendyline/squisq/markdown';
15
15
  import * as monaco_editor from 'monaco-editor';
16
+ import { editor } from 'monaco-editor';
16
17
  import { M as MonacoLanguageRequest, a as MonacoLanguageLoadOptions } from './monacoLanguageDetection-DEyUW-BS.js';
17
18
  export { MonacoWorkerConstructor, MonacoWorkerConstructors, configureMonacoWorkers } from './monaco-workers/index.js';
18
19
  import * as _tiptap_core from '@tiptap/core';
19
- import { Mark, Extension } from '@tiptap/core';
20
+ import { Mark, Extension, JSONContent, Editor as Editor$1 } from '@tiptap/core';
20
21
  import * as _tiptap_extension_heading from '@tiptap/extension-heading';
21
- import { DecorationSet } from '@tiptap/pm/view';
22
+ import { DecorationSet, EditorView } from '@tiptap/pm/view';
22
23
  import { Editor } from '@tiptap/react';
23
- import { Transaction, PluginKey } from '@tiptap/pm/state';
24
+ import { Transaction, PluginKey, EditorState } from '@tiptap/pm/state';
24
25
  import { Node } from '@tiptap/pm/model';
25
26
  import { RenderResult } from 'mermaid';
26
27
  import { FenceRendererMap } from '@bendyline/squisq/fence';
27
28
  import { TableViewState } from '@bendyline/squisq/table';
28
29
  import { EditJournal } from '@bendyline/squisq-grid-react';
29
30
  export { JsonEditor, JsonEditorProps } from './json-editor/index.js';
30
- 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, x as RecorderSlidesOptions, S as ScreenStreamHandle, y as ScreenStreamOptions, z as SlideTimingSaveResult, T as TimingJson, A as buildRecorderAudioConstraints, B as buildRecorderCameraConstraints, E as buildRecorderScreenAudioConstraints, F as buildRecorderScreenConstraints, G as buildTimingJson, H as encodeTimingJson, I as hasRecorderDeviceChoice, J as recordedMediaKind, K as recorderBitsPerSecond, L as recorderDeviceGroups, N as recorderDeviceOptions, O as requestCameraStream, P as requestMicStream, Q as requestScreenStream, U as timingPathFor, V as useMediaDevices, W as useStreamPreview } from './recorder-CRsw0eC7.js';
31
- import { R as RecorderState } from './useNarrationStage-vKtk6H-V.js';
32
- 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, i as RecorderAudioBitrateMode, j as RecorderCameraLane, k as RecorderExtendedMediaOptions, l as RecorderSource, 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-vKtk6H-V.js';
31
+ export { C as CameraStreamOptions, M as MediaDeviceInventory, R as RecordedBookmark, a as RecordedMediaKind, b as RecorderButton, c as RecorderButtonProps, d as RecorderCameraSaveResult, e as RecorderColorScheme, f as RecorderDeviceOption, g as RecorderDeviceQuickPicks, h as RecorderDeviceQuickPicksProps, i as RecorderDeviceSettingsPanel, j as RecorderDeviceSettingsPanelProps, k as RecorderModal, l as RecorderModalProps, m as RecorderNarrationOptions, n as RecorderPanel, o as RecorderPanelProps, p as RecorderSaveResult, q as RecorderSlidesOptions, S as ScreenStreamHandle, r as ScreenStreamOptions, s as SlideTimingSaveResult, T as TimingJson, t as buildTimingJson, u as encodeTimingJson, v as hasRecorderDeviceChoice, w as recordedMediaKind, x as recorderDeviceGroups, y as recorderDeviceOptions, z as requestCameraStream, A as requestMicStream, B as requestScreenStream, D as timingPathFor, E as useMediaDevices, F as useStreamPreview } from './recorder-Civyq5SU.js';
32
+ import { R as RecorderState } from './useNarrationStage-DlighI1z.js';
33
+ 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, i as RecorderAudioBitrateMode, j as RecorderCameraLane, k as RecorderExtendedMediaOptions, l as RecorderSource, 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-DlighI1z.js';
34
+ export { D as DEFAULT_RECORDER_DEVICE_SETTINGS, a as RecorderAudioDeviceSettings, b as RecorderCameraDeviceSettings, c as RecorderConstraintMode, R as RecorderDeviceSettings, d as RecorderEncodingSettings, e as RecorderScreenAudioSettings, f as RecorderScreenDeviceSettings, g as buildRecorderAudioConstraints, h as buildRecorderCameraConstraints, i as buildRecorderScreenAudioConstraints, j as buildRecorderScreenConstraints, r as recorderBitsPerSecond } from './deviceSettings-BSkIQncC.js';
33
35
  export { EYE_LINE_FRACTION, ExecuteNarrationSaveDeps, NarrationSavePlan, NarrationSavePlanArgs, NarrationSaveProgress, 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';
34
36
  export { H as HarperProofingConfig, a as ProofingCapability, b as ProofingDocumentRef, c as ProofingIgnoreStore, d as ProofingLanguage, e as ProofingLintOptions, P as ProofingProvider, f as ProofingProviderFactory } from './types-De4z-gGb.js';
35
37
  export { createHarperProofingProvider } from './proofing/index.js';
36
38
  export { PROOF_DIALECTS, PROOF_FRONTMATTER_KEYS, ProofCategory, ProofDialect, ProofFinding, ProofRange, ProofSuggestion, ProofSuggestionKind } from '@bendyline/squisq/proof';
37
- export { DictationControl, SPEECH_INPUT_SAMPLE_RATE, SpeechInputCapability, SpeechInputProvider, SpeechInputProviderFactory, SpeechInputReadiness, SpeechInputReadinessState, SpeechInputTranscribeOptions, SpeechInputTranscript, isSpeechInputProviderFactory, resolveSpeechInputProvider } from './speech/index.js';
39
+ export { D as DictationControl, a as SPEECH_INPUT_SAMPLE_RATE, b as SpeechInputCapability, S as SpeechInputProvider, c as SpeechInputProviderFactory, d as SpeechInputReadiness, e as SpeechInputReadinessState, f as SpeechInputTranscribeOptions, g as SpeechInputTranscript, i as isSpeechInputProviderFactory, r as resolveSpeechInputProvider } from './types-Bi4ZVKvN.js';
38
40
  import '@bendyline/squisq-calc';
39
41
  import '@bendyline/squisq-formats/xlsx';
40
42
  import '@bendyline/squisq/versions';
@@ -43,6 +45,7 @@ import './types-C0puuw-M.js';
43
45
  import '@bendyline/squisq/review';
44
46
  import '@bendyline/squisq/imageEdit';
45
47
  import '@bendyline/squisq/jsonForm';
48
+ import './screenRegion-Ci_RsCzG.js';
46
49
  import '@bendyline/squisq/narration';
47
50
 
48
51
  /**
@@ -563,8 +566,18 @@ interface DocumentSettingsDialogProps {
563
566
  onSave: (nextSource: string) => void;
564
567
  /** Called when the dialog is dismissed (Cancel, Escape, backdrop click). */
565
568
  onClose: () => void;
569
+ /**
570
+ * Host default theme a document without its own theme inherits (see
571
+ * `EditorShell`'s `defaultThemeId`). When set, the Theme picker's default
572
+ * entry names it, and choosing any concrete theme — the built-in default
573
+ * included — is saved explicitly; only the default entry removes the key.
574
+ * Omitted: choosing the built-in default removes the key, as before.
575
+ */
576
+ defaultThemeId?: string;
577
+ /** Label for the Theme picker's default entry. Defaults to `'Default'`. */
578
+ defaultThemeLabel?: string;
566
579
  }
567
- declare function DocumentSettingsDialog({ markdownSource, onSave, onClose, }: DocumentSettingsDialogProps): react_jsx_runtime.JSX.Element;
580
+ declare function DocumentSettingsDialog({ markdownSource, onSave, onClose, defaultThemeId, defaultThemeLabel, }: DocumentSettingsDialogProps): react_jsx_runtime.JSX.Element;
568
581
 
569
582
  interface ThemePickerProps {
570
583
  /** Currently selected theme id. Empty string represents "default". */
@@ -579,6 +592,16 @@ interface ThemePickerProps {
579
592
  * "no explicit theme" (frontmatter omits the key entirely).
580
593
  */
581
594
  includeDefault?: boolean;
595
+ /**
596
+ * Theme the "Default" entry stands for — a host default that a document
597
+ * without its own theme inherits. When set (with `includeDefault`), the
598
+ * entry and the trigger preview this theme and read
599
+ * `"<defaultLabel> (<theme name>)"`. Built-in ids and ids from
600
+ * `customThemes` are recognized; other ids are shown by id.
601
+ */
602
+ defaultThemeId?: string;
603
+ /** Label for the "Default" entry (e.g. a host's "Workspace default"). Defaults to `'Default'`. */
604
+ defaultLabel?: string;
582
605
  /**
583
606
  * `'compact'` (default) renders a small toolbar trigger; `'full'`
584
607
  * stretches to fill the parent and is sized for dialog layouts.
@@ -599,7 +622,7 @@ interface ThemePickerProps {
599
622
  /** Per-custom-card delete affordance. */
600
623
  onDeleteCustom?: (id: string) => void;
601
624
  }
602
- declare function ThemePicker({ value, onChange, includeDefault, variant, ariaLabel, customThemes, onCreateCustom, onEditCustom, onDeleteCustom, }: ThemePickerProps): react_jsx_runtime.JSX.Element;
625
+ declare function ThemePicker({ value, onChange, includeDefault, defaultThemeId, defaultLabel, variant, ariaLabel, customThemes, onCreateCustom, onEditCustom, onDeleteCustom, }: ThemePickerProps): react_jsx_runtime.JSX.Element;
603
626
 
604
627
  interface CustomThemeContextValue {
605
628
  /** Themes inlined into the current doc's frontmatter. */
@@ -778,8 +801,32 @@ interface PreviewSettings {
778
801
  activeDisplayMode: DisplayMode;
779
802
  setSelectedDisplayMode: (mode: DisplayMode | null) => void;
780
803
  activeThemeId: string;
804
+ /**
805
+ * Choose the document theme. A theme id is persisted to `squisq-theme`
806
+ * (see {@link inheritedThemeId} for when the built-in default is written);
807
+ * `''` removes the key so the document follows the inherited default;
808
+ * `null` only drops an unsaved in-session selection.
809
+ */
781
810
  setSelectedThemeId: (id: string | null) => void;
782
811
  activeTheme: Theme;
812
+ /**
813
+ * The theme the document itself chose — the in-session selection or its
814
+ * frontmatter `squisq-theme` (legacy `themeId` / `theme`). `null` when the
815
+ * document names no known theme and renders with {@link inheritedThemeId}
816
+ * (or the built-in default).
817
+ */
818
+ explicitThemeId: string | null;
819
+ /**
820
+ * The host default theme (`EditorShell`'s `defaultThemeId`) resolved to a
821
+ * known theme id: what a document without its own theme renders with.
822
+ * `undefined` when the host supplies no default. While a host default is
823
+ * present, choosing any concrete theme — the built-in default included —
824
+ * is written to frontmatter, and theme pickers offer a
825
+ * "`inheritedThemeLabel` (<theme name>)" entry that removes the key.
826
+ */
827
+ inheritedThemeId: string | undefined;
828
+ /** Label for the inherited-default picker entry (host-overridable; default `'Default'`). */
829
+ inheritedThemeLabel: string;
783
830
  activeTransformStyle: string;
784
831
  setSelectedTransformStyle: (id: string | null) => void;
785
832
  /** The caption style used when captions are enabled. */
@@ -876,8 +923,20 @@ interface PreviewSettingsProviderProps {
876
923
  * present, `activeTheme` is this value and `activeThemeId` is its `id`.
877
924
  */
878
925
  themeOverride?: Theme | null;
926
+ /**
927
+ * Host default theme for a document whose frontmatter names no theme
928
+ * (`squisq-theme` / legacy `themeId` / `theme`). A document's own theme
929
+ * always wins; built-in and custom-theme ids are accepted. Unlike
930
+ * `themeOverride`, this never overrides the document.
931
+ */
932
+ defaultThemeId?: string;
933
+ /**
934
+ * Label for the picker entry that follows {@link defaultThemeId}, rendered
935
+ * as `"<label> (<theme name>)"`. Defaults to `'Default'`.
936
+ */
937
+ defaultThemeLabel?: string;
879
938
  }
880
- declare function PreviewSettingsProvider({ doc, children, defaultViewportPreset, themeOverride, }: PreviewSettingsProviderProps): react_jsx_runtime.JSX.Element;
939
+ declare function PreviewSettingsProvider({ doc, children, defaultViewportPreset, themeOverride, defaultThemeId, defaultThemeLabel, }: PreviewSettingsProviderProps): react_jsx_runtime.JSX.Element;
881
940
  interface PreviewToolbarControlsProps {
882
941
  /**
883
942
  * Display mode whose applicable control set should be rendered. Defaults to
@@ -1339,10 +1398,6 @@ interface StatusBarProps {
1339
1398
  /** Host-supplied status content rendered at the right edge. */
1340
1399
  slotRight?: ReactNode;
1341
1400
  }
1342
- /**
1343
- * Status bar displaying document statistics: character count, word count,
1344
- * block count, parse errors, and optional host status.
1345
- */
1346
1401
  declare function StatusBar({ className, slotRight }: StatusBarProps): react_jsx_runtime.JSX.Element;
1347
1402
 
1348
1403
  /**
@@ -2971,6 +3026,133 @@ interface DataCardWidgetProps {
2971
3026
  }
2972
3027
  declare function DataCardWidget({ editor, blockId, getMediaProvider, getMediaRevision, getContainer, onOpenFiles, onMediaSaved, getCalcEngineFactory, }: DataCardWidgetProps): ReactElement | null;
2973
3028
 
3029
+ /**
3030
+ * VideoEmbedExtension — the Write view's inline player for hosted videos.
3031
+ *
3032
+ * A top-level paragraph that is nothing but a link (or bare URL) to a
3033
+ * YouTube, Vimeo, Loom, Dailymotion or Wistia page gets the provider's player
3034
+ * mounted ABOVE it. The paragraph itself stays in the document, visible and
3035
+ * editable, styled as the player's caption: edit its text to retitle the
3036
+ * video, edit the link (or the URL) to change it, delete it to remove the
3037
+ * player. Nothing about the video is stored anywhere but that paragraph, so
3038
+ * markdown round-trips byte-identically with the extension active.
3039
+ *
3040
+ * Structurally a sibling of `dataCard/DataCardExtension`: the same paragraph
3041
+ * position registry (`mapFenceEntries`) gives each player a stable session id,
3042
+ * so typing elsewhere never reloads an iframe. The widget is keyed by that id
3043
+ * PLUS the embed URL, so changing the link swaps the player.
3044
+ *
3045
+ * A raw `<iframe>` embed line (pasted into the Source view, or written by
3046
+ * another tool) plays too; its caption is the HTML, and the player offers to
3047
+ * rewrite it as a plain link.
3048
+ */
3049
+
3050
+ type VideoEmbedBlockEntry = FenceBlockEntry;
3051
+ interface VideoEmbedPluginState {
3052
+ entries: VideoEmbedBlockEntry[];
3053
+ decorations: DecorationSet;
3054
+ seq: number;
3055
+ }
3056
+ interface VideoEmbedExtensionOptions {
3057
+ /** When false, the extension is inert and video links stay plain links. */
3058
+ enabled?: boolean;
3059
+ }
3060
+ declare const VIDEO_EMBED_KEY: PluginKey<VideoEmbedPluginState>;
3061
+ /** Document position of a registered video paragraph, by session id. */
3062
+ declare function findVideoEmbedBlockPos(state: EditorState, blockId: string): number | null;
3063
+ /**
3064
+ * Rewrite a raw `<iframe>` embed paragraph as the plain-link form, in one
3065
+ * undoable transaction. False when the block is gone or no longer HTML.
3066
+ */
3067
+ declare function convertVideoEmbedToLink(view: EditorView, blockId: string): boolean;
3068
+ declare const VideoEmbedExtension: Extension<VideoEmbedExtensionOptions, any>;
3069
+
3070
+ /**
3071
+ * The Write view's reading of a hosted-video paragraph — the ProseMirror twin
3072
+ * of core's `findBlockVideoEmbed`, over what `tiptapBridge` makes of each
3073
+ * authored form:
3074
+ *
3075
+ * - `[title](url)` → text carrying one link mark;
3076
+ * - a bare URL, or the `<url>` autolink → plain text (the bridge does not
3077
+ * autolink; Tiptap's autolink may add a mark later, which is also fine);
3078
+ * - a raw `<iframe …>` embed snippet on its own line → plain text holding
3079
+ * the HTML.
3080
+ *
3081
+ * Plus the inverse: the paragraph node the editor writes for a video, which
3082
+ * the bridge serializes as `[title](watchUrl)` or the bare watch URL.
3083
+ */
3084
+
3085
+ /**
3086
+ * The hosted video a paragraph stands for, or null. Every non-blank run must
3087
+ * carry the SAME link, or none may — a link with prose beside it is a link.
3088
+ */
3089
+ declare function videoEmbedOfParagraph(node: Node): BlockVideoEmbed | null;
3090
+ /** The paragraph content the editor writes for a video. */
3091
+ declare function videoEmbedParagraphJson(watchUrl: string, title?: string | null): JSONContent;
3092
+ /**
3093
+ * The markdown source the editor writes for a video: `[title](watchUrl)`, or
3094
+ * the bare watch URL when untitled (GFM autolinks it; core reads the
3095
+ * paragraph's text, so an autolink that stops short of an id's trailing `_`
3096
+ * still plays).
3097
+ */
3098
+ declare function videoEmbedMarkdown(watchUrl: string, title?: string | null): string;
3099
+
3100
+ /**
3101
+ * Pasting a provider's embed code into the Write view.
3102
+ *
3103
+ * YouTube's Share → Embed (and Vimeo's, Loom's …) copies an `<iframe>`
3104
+ * snippet. Pasted as-is it would land as a paragraph of literal HTML; instead
3105
+ * it becomes the paragraph-that-is-only-a-link form — a link to the video's
3106
+ * page — which `VideoEmbedExtension` plays and every other renderer shows as a
3107
+ * link. A pasted bare URL needs no help: it lands as a URL (Tiptap autolinks
3108
+ * it), and on an empty line that is already the embed form.
3109
+ */
3110
+
3111
+ /** Handle a Write-view paste of embed code; false leaves the paste to others. */
3112
+ declare function pasteVideoEmbedCode(view: EditorView, text: string): boolean;
3113
+
3114
+ interface VideoEmbedDialogProps {
3115
+ /** A new video (Insert) or the one under the caret (Update). */
3116
+ mode: 'insert' | 'update';
3117
+ /** Initial URL / embed code. */
3118
+ initialInput: string;
3119
+ /** Initial title. */
3120
+ initialTitle: string;
3121
+ /** Confirm with the recognized video and the (trimmed, possibly empty) title. */
3122
+ onConfirm: (embed: VideoEmbed, title: string) => void;
3123
+ /** Dismiss without changes. */
3124
+ onClose: () => void;
3125
+ }
3126
+ declare function VideoEmbedDialog({ mode, initialInput, initialTitle, onConfirm, onClose, }: VideoEmbedDialogProps): react_jsx_runtime.JSX.Element;
3127
+
3128
+ /**
3129
+ * Putting a stored file into the document, in whichever view is active.
3130
+ *
3131
+ * An image becomes an image; video and audio become playable `<video>` /
3132
+ * `<audio>` players (the representation the recorder writes, which every
3133
+ * renderer swaps for an inline player); a data file (csv/tsv/xlsx/parquet)
3134
+ * becomes a sidecar reference block the Write view shows as a live grid; and
3135
+ * anything else becomes a link to the file. The Insert menu's Image/Media and
3136
+ * File items, file drops and Files-panel uploads all come through here, so
3137
+ * they can never disagree about what a given file turns into. A hosted video
3138
+ * (Insert → Online Video) is the one reference with no stored file: a
3139
+ * paragraph that is only a link to the video's page.
3140
+ */
3141
+
3142
+ interface MediaInsertionTarget {
3143
+ activeView: EditorView$1;
3144
+ tiptapEditor: Editor$1 | null;
3145
+ monacoEditor: editor.IStandaloneCodeEditor | null;
3146
+ /** Used when no editing surface is live (the Use tab): append to the source. */
3147
+ appendMarkdown: (snippet: string) => void;
3148
+ }
3149
+ /**
3150
+ * Insert a hosted video (YouTube, Vimeo, …) as its own top-level paragraph:
3151
+ * `[title](watchUrl)`, or the bare URL when untitled. Renderers that know the
3152
+ * convention play it; everything else shows a link.
3153
+ */
3154
+ declare function insertVideoEmbedReference(target: MediaInsertionTarget, watchUrl: string, title?: string | null): void;
3155
+
2974
3156
  /**
2975
3157
  * Data preview loading for the Write-view data card: bytes → a small
2976
3158
  * `DataPreview` window via the formats data readers, loaded lazily so a
@@ -3366,4 +3548,4 @@ declare function unshownSlidesWarning(total: number, unshown: number): string |
3366
3548
  /** The exact label of the review-state block-timings checkbox. */
3367
3549
  declare const SLIDE_TIMING_CHECKBOX_LABEL = "Update block timings when I save this narration";
3368
3550
 
3369
- 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, CODE_SNIPPET_KEY, CODE_SNIPPET_LANGUAGES, CalcEngineFactory, CodeContext, CodeContextZones, type CodeSnippetBlockEntry, type CodeSnippetData, CodeSnippetExtension, type CodeSnippetExtensionOptions, type CodeSnippetLanguage, type CodeSnippetPluginState, CodeSnippetWidget, type CodeSnippetWidgetProps, CsvSourceMeta, type CustomTemplateContextValue, CustomTemplateProvider, type CustomTemplateProviderProps, type CustomThemeContextValue, CustomThemeProvider, type CustomThemeProviderProps, DATA_CARD_KEY, DEFAULT_MERMAID_DIAGRAM_TYPE, type DataCardBlockEntry, DataCardExtension, type DataCardExtensionOptions, type DataCardPluginState, DataCardWidget, type DataPreview, 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, FormulaEditRecord, type GridSaveResult, HOST_FENCE_KEY, type HeadingTransitionAttrs, type HeadingViewBinding, 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, MarkdownEscape, 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, type MermaidValidationResult, 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 RecorderPanelMode, type RecorderSlide, RecorderSlidesPanel, type RecorderSlidesPanelProps, RecorderState, type RepairableBlockEntry, RepairableDiagramExtension, type RepairableDiagramExtensionOptions, type RepairablePluginState, SLIDE_TIMING_CHECKBOX_LABEL, type SaveCsvEditsOptions, type SaveXlsxEditsOptions, StatusBar, type StatusBarProps, Subscript, Superscript, 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, XlsxSourceMeta, adaptThemeToSurface, addEdgeOp, addItemOp, addNodeOp, addTimelineEventOp, applyAsciiDiagramCommand, applyRepairCommand, applyTimelineCommand, applyTreeCommand, asciiDiagramToCanvas, buildRecorderSlideDeck, clampSlideIndex, classifyFile, codeSnippetFenceLanguageToken, codeSnippetLanguageLabel, codeSnippetMarkdown, containFenceWidgetEvents, dataExtensionOf, dataLinkHrefOf, detectLanguageFromFileName, draftPatchFromImportedTheme, findAsciiDiagramBlockPos, findCodeSnippetBlockPos, findDataCardBlockPos, findHostFenceBlockPos, findMermaidDiagramBlockPos, findOwningHeadingPosition, findRepairableBlockPos, findTimelineBlockPos, findTransitionEntry, findTreeBlockPos, formatSeconds, getTimelineForNode, indentItemOp, ingestForWrite, inspectMermaidSource, isAsciiSourceVisible, isCodeSnippetFenceLanguage, isCodeSnippetNode, isExpandedPanel, isMermaidDiagramNode, isMermaidFlowchartShapeId, isMermaidSourceVisible, isRepairableFence, isTimelineSourceSafeForSemanticEdit, loadDataPreview, mapFenceEntries, markdownToTiptap, mermaidDiagramMarkdown, mermaidDiagramProperties, mermaidEditCapabilities, mermaidEditableTexts, mermaidErrorMessage, mermaidSurfaceScheme, monacoLanguageForFence, moveItemDownOp, moveItemUpOp, moveNodeOp, nextTimelineEventId, normalizeMermaidFlowchartShape, outdentItemOp, panelModeAfterToggle, parseTimelineForNode, partitionFiles, persistFromWrite, preloadMonaco, preloadMonacoSuggestions, processDataFiles, processMediaFiles, processTextFile, processTextFiles, readBlockAttrsParams, readBlockAttrsTransition, readBlockAttrsValue, readHeadingLineTransition, readHeadingViewBinding, removeEdgeOp, removeItemOp, removeNodeOp, removeTimelineEventOp, renameItemOp, renameNodeOp, renderMermaidDiagram, replaceAsciiFenceText, replaceCodeSnippetText, replaceHostFenceText, replaceAsciiFenceText as replaceTreeFenceText, resizeNodeOp, resolveFileKind, resolveMermaidSurfaceTheme, sanitizeAsciiLabel, sanitizeTimelineText, sanitizeTreeLabel, saveCsvEdits, saveXlsxEdits, searchPickerEntries, setBlockAttrsValue, setBlockDurationInSource, setBlockStartTimeInSource, setBlockTransitionInSource, setHeadingAttrsTransition, setHeadingLineTransition, setMediaClipInSource, shouldPasteAsAsciiFence, shouldPasteAsTimelineFence, shouldPasteAsTreeFence, showSlideTimingCheckbox, slideStepForKey, summarizeBlockProps, templateLabel, tiptapToMarkdown, toggleAsciiSource, toggleDirOp, toggleMermaidSource, transitionLabel, translateDiagramOp, unshownSlidesWarning, updateTimelineEventOp, useAsciiDiagramData, useBlockNavigator, useCodeSnippetData, useCustomTemplates, useCustomThemes, useDocCustomTemplates, useDocCustomThemes, useFileDrop, useMermaidDiagramData, useMermaidSurfaceTheme, useMonacoLoader, usePreviewSettings, usePreviewSettingsOptional, useTimelineData, useTreeViewData, validateMermaidSource, viewStateFromBinding, writeHeadingViewState };
3551
+ 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, CODE_SNIPPET_KEY, CODE_SNIPPET_LANGUAGES, CalcEngineFactory, CodeContext, CodeContextZones, type CodeSnippetBlockEntry, type CodeSnippetData, CodeSnippetExtension, type CodeSnippetExtensionOptions, type CodeSnippetLanguage, type CodeSnippetPluginState, CodeSnippetWidget, type CodeSnippetWidgetProps, CsvSourceMeta, type CustomTemplateContextValue, CustomTemplateProvider, type CustomTemplateProviderProps, type CustomThemeContextValue, CustomThemeProvider, type CustomThemeProviderProps, DATA_CARD_KEY, DEFAULT_MERMAID_DIAGRAM_TYPE, type DataCardBlockEntry, DataCardExtension, type DataCardExtensionOptions, type DataCardPluginState, DataCardWidget, type DataPreview, 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, EditorView$1 as EditorView, EmojiPicker, type EmojiPickerProps, FENCE_WIDGET_CONTAINED_EVENTS, type FenceBlockEntry, type FileCategory, type FileKind, type FolderEntry, FolderView, type FolderViewProps, FormulaEditRecord, type GridSaveResult, HOST_FENCE_KEY, type HeadingTransitionAttrs, type HeadingViewBinding, 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, MarkdownEscape, 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, type MermaidValidationResult, 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 RecorderPanelMode, type RecorderSlide, RecorderSlidesPanel, type RecorderSlidesPanelProps, RecorderState, type RepairableBlockEntry, RepairableDiagramExtension, type RepairableDiagramExtensionOptions, type RepairablePluginState, SLIDE_TIMING_CHECKBOX_LABEL, type SaveCsvEditsOptions, type SaveXlsxEditsOptions, StatusBar, type StatusBarProps, Subscript, Superscript, 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, VIDEO_EMBED_KEY, VersionHistoryPanel, type VideoEmbedBlockEntry, VideoEmbedDialog, type VideoEmbedDialogProps, VideoEmbedExtension, type VideoEmbedExtensionOptions, type VideoEmbedPluginState, ViewMenuPanel, ViewSwitcher, type ViewSwitcherProps, type WrapPolicyIngest, XlsxSourceMeta, adaptThemeToSurface, addEdgeOp, addItemOp, addNodeOp, addTimelineEventOp, applyAsciiDiagramCommand, applyRepairCommand, applyTimelineCommand, applyTreeCommand, asciiDiagramToCanvas, buildRecorderSlideDeck, clampSlideIndex, classifyFile, codeSnippetFenceLanguageToken, codeSnippetLanguageLabel, codeSnippetMarkdown, containFenceWidgetEvents, convertVideoEmbedToLink, dataExtensionOf, dataLinkHrefOf, detectLanguageFromFileName, draftPatchFromImportedTheme, findAsciiDiagramBlockPos, findCodeSnippetBlockPos, findDataCardBlockPos, findHostFenceBlockPos, findMermaidDiagramBlockPos, findOwningHeadingPosition, findRepairableBlockPos, findTimelineBlockPos, findTransitionEntry, findTreeBlockPos, findVideoEmbedBlockPos, formatSeconds, getTimelineForNode, indentItemOp, ingestForWrite, insertVideoEmbedReference, inspectMermaidSource, isAsciiSourceVisible, isCodeSnippetFenceLanguage, isCodeSnippetNode, isExpandedPanel, isMermaidDiagramNode, isMermaidFlowchartShapeId, isMermaidSourceVisible, isRepairableFence, isTimelineSourceSafeForSemanticEdit, loadDataPreview, mapFenceEntries, markdownToTiptap, mermaidDiagramMarkdown, mermaidDiagramProperties, mermaidEditCapabilities, mermaidEditableTexts, mermaidErrorMessage, mermaidSurfaceScheme, monacoLanguageForFence, moveItemDownOp, moveItemUpOp, moveNodeOp, nextTimelineEventId, normalizeMermaidFlowchartShape, outdentItemOp, panelModeAfterToggle, parseTimelineForNode, partitionFiles, pasteVideoEmbedCode, persistFromWrite, preloadMonaco, preloadMonacoSuggestions, processDataFiles, processMediaFiles, processTextFile, processTextFiles, readBlockAttrsParams, readBlockAttrsTransition, readBlockAttrsValue, readHeadingLineTransition, readHeadingViewBinding, removeEdgeOp, removeItemOp, removeNodeOp, removeTimelineEventOp, renameItemOp, renameNodeOp, renderMermaidDiagram, replaceAsciiFenceText, replaceCodeSnippetText, replaceHostFenceText, replaceAsciiFenceText as replaceTreeFenceText, resizeNodeOp, resolveFileKind, resolveMermaidSurfaceTheme, sanitizeAsciiLabel, sanitizeTimelineText, sanitizeTreeLabel, saveCsvEdits, saveXlsxEdits, searchPickerEntries, setBlockAttrsValue, setBlockDurationInSource, setBlockStartTimeInSource, setBlockTransitionInSource, setHeadingAttrsTransition, setHeadingLineTransition, setMediaClipInSource, shouldPasteAsAsciiFence, shouldPasteAsTimelineFence, shouldPasteAsTreeFence, showSlideTimingCheckbox, slideStepForKey, summarizeBlockProps, templateLabel, tiptapToMarkdown, toggleAsciiSource, toggleDirOp, toggleMermaidSource, transitionLabel, translateDiagramOp, unshownSlidesWarning, updateTimelineEventOp, useAsciiDiagramData, useBlockNavigator, useCodeSnippetData, useCustomTemplates, useCustomThemes, useDocCustomTemplates, useDocCustomThemes, useFileDrop, useMermaidDiagramData, useMermaidSurfaceTheme, useMonacoLoader, usePreviewSettings, usePreviewSettingsOptional, useTimelineData, useTreeViewData, validateMermaidSource, videoEmbedMarkdown, videoEmbedOfParagraph, videoEmbedParagraphJson, viewStateFromBinding, writeHeadingViewState };
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ import {
3
3
  PROOF_FRONTMATTER_KEYS,
4
4
  createHarperProofingProvider
5
5
  } from "./chunk-SAKLIEOX.js";
6
+ import "./chunk-2MP7QE7O.js";
6
7
  import {
7
8
  configureMonacoWorkers
8
9
  } from "./chunk-BWPFPHWY.js";
@@ -87,7 +88,10 @@ import {
87
88
  TransitionPicker,
88
89
  TreeOutlineWidget,
89
90
  TreeViewExtension,
91
+ VIDEO_EMBED_KEY,
90
92
  VersionHistoryPanel,
93
+ VideoEmbedDialog,
94
+ VideoEmbedExtension,
91
95
  ViewMenuPanel,
92
96
  WysiwygEditor,
93
97
  XLSX_LOCKED_REASON,
@@ -107,6 +111,7 @@ import {
107
111
  codeSnippetMarkdown,
108
112
  compileDraft,
109
113
  containFenceWidgetEvents,
114
+ convertVideoEmbedToLink,
110
115
  createXlsxFormulaSession,
111
116
  dataExtensionOf,
112
117
  dataLinkHrefOf,
@@ -121,11 +126,13 @@ import {
121
126
  findTimelineBlockPos,
122
127
  findTransitionEntry,
123
128
  findTreeBlockPos,
129
+ findVideoEmbedBlockPos,
124
130
  formatSeconds,
125
131
  getTimelineForNode,
126
132
  indentItemOp,
127
133
  ingestForWrite,
128
134
  ingestSidecarBytes,
135
+ insertVideoEmbedReference,
129
136
  inspectMermaidSource,
130
137
  isAsciiSourceVisible,
131
138
  isCodeSnippetFenceLanguage,
@@ -152,6 +159,7 @@ import {
152
159
  outdentItemOp,
153
160
  parseTimelineForNode,
154
161
  partitionFiles,
162
+ pasteVideoEmbedCode,
155
163
  persistFromWrite,
156
164
  platformShortcut,
157
165
  preloadMonaco,
@@ -219,9 +227,12 @@ import {
219
227
  useTimelineData,
220
228
  useTreeViewData,
221
229
  validateMermaidSource,
230
+ videoEmbedMarkdown,
231
+ videoEmbedOfParagraph,
232
+ videoEmbedParagraphJson,
222
233
  viewStateFromBinding,
223
234
  writeHeadingViewState
224
- } from "./chunk-GIXXD2O3.js";
235
+ } from "./chunk-NL4JP55H.js";
225
236
  import {
226
237
  EditorProvider,
227
238
  applySourceEditsToText,
@@ -240,8 +251,9 @@ import {
240
251
  sourceOutline,
241
252
  spliceBlock,
242
253
  useBlockNavigator,
243
- useEditorContext
244
- } from "./chunk-45NQUR62.js";
254
+ useEditorContext,
255
+ useEditorInsertMenuItems
256
+ } from "./chunk-JI74KA6C.js";
245
257
  import {
246
258
  SPEECH_INPUT_SAMPLE_RATE,
247
259
  isSpeechInputProviderFactory,
@@ -250,14 +262,14 @@ import {
250
262
  import "./chunk-V4NBQF5C.js";
251
263
  import {
252
264
  JsonEditor
253
- } from "./chunk-UBFNLWCN.js";
265
+ } from "./chunk-V2OLZOYJ.js";
254
266
  import {
255
267
  MarkdownEscape
256
- } from "./chunk-2XXBDECJ.js";
268
+ } from "./chunk-OCQEWWHI.js";
257
269
  import {
258
270
  markdownToTiptap,
259
271
  tiptapToMarkdown
260
- } from "./chunk-DPAMJV6A.js";
272
+ } from "./chunk-HSWWEWT4.js";
261
273
  import {
262
274
  ImageEditor,
263
275
  ImageViewer,
@@ -267,7 +279,7 @@ import {
267
279
  } from "./chunk-K4Z2GIX4.js";
268
280
  import {
269
281
  RecorderButton
270
- } from "./chunk-WKZLBGPX.js";
282
+ } from "./chunk-LR6Q2MK4.js";
271
283
  import {
272
284
  RecorderDeviceQuickPicks,
273
285
  RecorderDeviceSettingsPanel,
@@ -292,7 +304,7 @@ import {
292
304
  unshownSlidesWarning,
293
305
  useMediaDevices,
294
306
  useMediaRecorder
295
- } from "./chunk-U6NVT3BY.js";
307
+ } from "./chunk-UFK47ZAI.js";
296
308
  import {
297
309
  DEFAULT_RECORDER_DEVICE_SETTINGS,
298
310
  buildRecorderAudioConstraints,
@@ -304,7 +316,7 @@ import {
304
316
  import "./chunk-GS7QWYFT.js";
305
317
  import {
306
318
  TeleprompterView
307
- } from "./chunk-H7YTL6SL.js";
319
+ } from "./chunk-DJS5I5NO.js";
308
320
  import {
309
321
  DEFAULT_TELEPROMPTER_PREFS,
310
322
  EYE_LINE_FRACTION,
@@ -338,7 +350,7 @@ import {
338
350
  useStreamPreview,
339
351
  useTeleprompter,
340
352
  vadConfigForSensitivity
341
- } from "./chunk-CGENKHWY.js";
353
+ } from "./chunk-ZS6G2P57.js";
342
354
  import {
343
355
  buildFilename,
344
356
  requestMicStream,
@@ -867,7 +879,10 @@ export {
867
879
  TransitionPicker,
868
880
  TreeOutlineWidget,
869
881
  TreeViewExtension,
882
+ VIDEO_EMBED_KEY,
870
883
  VersionHistoryPanel,
884
+ VideoEmbedDialog,
885
+ VideoEmbedExtension,
871
886
  ViewMenuPanel,
872
887
  ViewSwitcher,
873
888
  WysiwygEditor,
@@ -901,6 +916,7 @@ export {
901
916
  codeSnippetMarkdown,
902
917
  configureMonacoWorkers,
903
918
  containFenceWidgetEvents,
919
+ convertVideoEmbedToLink,
904
920
  createFloatingWindowManager,
905
921
  createHarperProofingProvider,
906
922
  createXlsxFormulaSession,
@@ -923,6 +939,7 @@ export {
923
939
  findTimelineBlockPos,
924
940
  findTransitionEntry,
925
941
  findTreeBlockPos,
942
+ findVideoEmbedBlockPos,
926
943
  formatSeconds,
927
944
  getBlockSlices,
928
945
  getCaptureKind,
@@ -935,6 +952,7 @@ export {
935
952
  ingestSidecarBytes,
936
953
  initialImageEditorState,
937
954
  insertNarrationPreamble,
955
+ insertVideoEmbedReference,
938
956
  inspectMermaidSource,
939
957
  isAsciiSourceVisible,
940
958
  isCodeSnippetFenceLanguage,
@@ -972,6 +990,7 @@ export {
972
990
  panelModeAfterToggle,
973
991
  parseTimelineForNode,
974
992
  partitionFiles,
993
+ pasteVideoEmbedCode,
975
994
  persistFromWrite,
976
995
  preloadMonaco,
977
996
  preloadMonacoSuggestions,
@@ -1056,6 +1075,7 @@ export {
1056
1075
  useDocCustomThemes,
1057
1076
  useEditorContext,
1058
1077
  useEditorContextMenuItems,
1078
+ useEditorInsertMenuItems,
1059
1079
  useFileDrop,
1060
1080
  useFloatingWindow,
1061
1081
  useImageEditor,
@@ -1075,6 +1095,9 @@ export {
1075
1095
  useTreeViewData,
1076
1096
  vadConfigForSensitivity,
1077
1097
  validateMermaidSource,
1098
+ videoEmbedMarkdown,
1099
+ videoEmbedOfParagraph,
1100
+ videoEmbedParagraphJson,
1078
1101
  viewStateFromBinding,
1079
1102
  writeHeadingViewState
1080
1103
  };
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  JsonEditor
3
- } from "../chunk-UBFNLWCN.js";
4
- import "../chunk-2XXBDECJ.js";
5
- import "../chunk-DPAMJV6A.js";
3
+ } from "../chunk-V2OLZOYJ.js";
4
+ import "../chunk-OCQEWWHI.js";
5
+ import "../chunk-HSWWEWT4.js";
6
6
  export {
7
7
  JsonEditor
8
8
  };
@@ -1,7 +1,9 @@
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, y as ScreenStreamOptions, T as TimingJson, A as buildRecorderAudioConstraints, B as buildRecorderCameraConstraints, E as buildRecorderScreenAudioConstraints, F as buildRecorderScreenConstraints, G as buildTimingJson, H as encodeTimingJson, I as hasRecorderDeviceChoice, J as recordedMediaKind, K as recorderBitsPerSecond, L as recorderDeviceGroups, N as recorderDeviceOptions, O as requestCameraStream, P as requestMicStream, Q as requestScreenStream, U as timingPathFor, V as useMediaDevices, W as useStreamPreview } from '../recorder-CRsw0eC7.js';
2
- export { a as CaptureKind, i as RecorderAudioBitrateMode, j as RecorderCameraLane, k as RecorderExtendedMediaOptions, l as RecorderSource, R 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-vKtk6H-V.js';
1
+ export { C as CameraStreamOptions, M as MediaDeviceInventory, R as RecordedBookmark, a as RecordedMediaKind, b as RecorderButton, c as RecorderButtonProps, d as RecorderCameraSaveResult, e as RecorderColorScheme, f as RecorderDeviceOption, g as RecorderDeviceQuickPicks, h as RecorderDeviceQuickPicksProps, i as RecorderDeviceSettingsPanel, j as RecorderDeviceSettingsPanelProps, k as RecorderModal, l as RecorderModalProps, n as RecorderPanel, o as RecorderPanelProps, p as RecorderSaveResult, S as ScreenStreamHandle, r as ScreenStreamOptions, T as TimingJson, t as buildTimingJson, u as encodeTimingJson, v as hasRecorderDeviceChoice, w as recordedMediaKind, x as recorderDeviceGroups, y as recorderDeviceOptions, z as requestCameraStream, A as requestMicStream, B as requestScreenStream, D as timingPathFor, E as useMediaDevices, F as useStreamPreview } from '../recorder-Civyq5SU.js';
2
+ export { D as DEFAULT_RECORDER_DEVICE_SETTINGS, a as RecorderAudioDeviceSettings, b as RecorderCameraDeviceSettings, c as RecorderConstraintMode, R as RecorderDeviceSettings, d as RecorderEncodingSettings, e as RecorderScreenAudioSettings, f as RecorderScreenDeviceSettings, g as buildRecorderAudioConstraints, h as buildRecorderCameraConstraints, i as buildRecorderScreenAudioConstraints, j as buildRecorderScreenConstraints, r as recorderBitsPerSecond } from '../deviceSettings-BSkIQncC.js';
3
+ export { a as CaptureKind, i as RecorderAudioBitrateMode, j as RecorderCameraLane, k as RecorderExtendedMediaOptions, l as RecorderSource, R 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-DlighI1z.js';
3
4
  import 'react/jsx-runtime';
4
5
  import '@bendyline/squisq/schemas';
5
6
  import '@bendyline/squisq/storage';
6
7
  import 'react';
8
+ import '../screenRegion-Ci_RsCzG.js';
7
9
  import '@bendyline/squisq/narration';
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  RecorderButton
3
- } from "../chunk-WKZLBGPX.js";
3
+ } from "../chunk-LR6Q2MK4.js";
4
4
  import {
5
5
  RecorderDeviceQuickPicks,
6
6
  RecorderDeviceSettingsPanel,
@@ -14,7 +14,7 @@ import {
14
14
  requestScreenStream,
15
15
  useMediaDevices,
16
16
  useMediaRecorder
17
- } from "../chunk-U6NVT3BY.js";
17
+ } from "../chunk-UFK47ZAI.js";
18
18
  import {
19
19
  DEFAULT_RECORDER_DEVICE_SETTINGS,
20
20
  buildRecorderAudioConstraints,
@@ -30,7 +30,7 @@ import {
30
30
  requestCameraStream,
31
31
  timingPathFor,
32
32
  useStreamPreview
33
- } from "../chunk-CGENKHWY.js";
33
+ } from "../chunk-ZS6G2P57.js";
34
34
  import {
35
35
  buildFilename,
36
36
  requestMicStream,