@bendyline/squisq-editor-react 2.4.0 → 2.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-UPEGQYF4.js → chunk-KR4VLXUM.js} +8191 -7148
- package/dist/{chunk-VNUGP7NG.js → chunk-LJRHKXDV.js} +3 -1
- package/dist/chunk-LOTY7AOS.js +1925 -0
- package/dist/{chunk-5JMHFAVW.js → chunk-PDCKJCOS.js} +1200 -868
- package/dist/chunk-V6Z7GG55.js +16 -0
- package/dist/{chunk-IIWECJ26.js → chunk-WDX6UDL5.js} +1 -1
- package/dist/{chunk-MM3M2KUV.js → chunk-WLJ623UZ.js} +12 -0
- package/dist/index.d.ts +128 -76
- package/dist/index.js +30 -20
- package/dist/json-editor/index.js +2 -2
- package/dist/recorder/index.d.ts +7 -407
- package/dist/recorder/index.js +3 -3
- package/dist/recorder-C5tAYUE3.d.ts +508 -0
- package/dist/shell/index.d.ts +1 -1
- package/dist/shell/index.js +5 -5
- package/dist/{shell-9Kxzxjbn.d.ts → shell-CU4GpGuq.d.ts} +25 -1
- package/dist/styles/index.css +354 -13
- package/dist/teleprompter/index.d.ts +57 -246
- package/dist/teleprompter/index.js +12 -3
- package/dist/useNarrationStage-Bqo18PBw.d.ts +313 -0
- package/package.json +5 -5
- package/dist/chunk-5Q4JN4I5.js +0 -132
- package/dist/chunk-F4NBECWR.js +0 -983
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {
|
|
2
|
+
NarrationStage,
|
|
3
|
+
useNarrationStage
|
|
4
|
+
} from "./chunk-PDCKJCOS.js";
|
|
5
|
+
|
|
6
|
+
// src/teleprompter/TeleprompterView.tsx
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
function TeleprompterView(props) {
|
|
9
|
+
const { doc, theme, presentationTarget = null, recording = null } = props;
|
|
10
|
+
const stage = useNarrationStage({ doc, recording });
|
|
11
|
+
return /* @__PURE__ */ jsx(NarrationStage, { stage, theme, presentationTarget });
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export {
|
|
15
|
+
TeleprompterView
|
|
16
|
+
};
|
|
@@ -725,6 +725,9 @@ function serializeMediaTag(tag, attrs) {
|
|
|
725
725
|
const poster = tag === "video" ? /\bposter="([^"]*)"/i.exec(attrs)?.[1] : void 0;
|
|
726
726
|
const placement = tag === "video" ? /\bdata-squisq-video-placement="([^"]*)"/i.exec(attrs)?.[1] : void 0;
|
|
727
727
|
const lockToBlock = tag === "video" ? /\bdata-squisq-video-lock-to-block="([^"]*)"/i.exec(attrs)?.[1] : void 0;
|
|
728
|
+
const pipSize = tag === "video" ? /\bdata-squisq-video-pip-size="([^"]*)"/i.exec(attrs)?.[1] : void 0;
|
|
729
|
+
const pipShape = tag === "video" ? /\bdata-squisq-video-pip-shape="([^"]*)"/i.exec(attrs)?.[1] : void 0;
|
|
730
|
+
const pipPosition = tag === "video" ? /\bdata-squisq-video-pip-position="([^"]*)"/i.exec(attrs)?.[1] : void 0;
|
|
728
731
|
const startAt = tag === "video" ? /\bdata-squisq-video-start-at="([^"]*)"/i.exec(attrs)?.[1] : void 0;
|
|
729
732
|
const clipStart = tag === "video" ? /\bdata-squisq-video-clip-start="([^"]*)"/i.exec(attrs)?.[1] : void 0;
|
|
730
733
|
const clipEnd = tag === "video" ? /\bdata-squisq-video-clip-end="([^"]*)"/i.exec(attrs)?.[1] : void 0;
|
|
@@ -737,6 +740,15 @@ function serializeMediaTag(tag, attrs) {
|
|
|
737
740
|
parts.push(` data-squisq-video-placement="${placement}"`);
|
|
738
741
|
}
|
|
739
742
|
if (lockToBlock === "false") parts.push(' data-squisq-video-lock-to-block="false"');
|
|
743
|
+
if (pipSize === "small" || pipSize === "large") {
|
|
744
|
+
parts.push(` data-squisq-video-pip-size="${pipSize}"`);
|
|
745
|
+
}
|
|
746
|
+
if (pipShape === "square" || pipShape === "wide") {
|
|
747
|
+
parts.push(` data-squisq-video-pip-shape="${pipShape}"`);
|
|
748
|
+
}
|
|
749
|
+
if (pipPosition === "top-left" || pipPosition === "top-right" || pipPosition === "bottom-left" || pipPosition === "bottom-right") {
|
|
750
|
+
parts.push(` data-squisq-video-pip-position="${pipPosition}"`);
|
|
751
|
+
}
|
|
740
752
|
if (startAt != null) parts.push(` data-squisq-video-start-at="${startAt}"`);
|
|
741
753
|
if (clipStart != null) parts.push(` data-squisq-video-clip-start="${clipStart}"`);
|
|
742
754
|
if (clipEnd != null) parts.push(` data-squisq-video-clip-end="${clipEnd}"`);
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { C as CodeContext, E as EditorHostMode, S as SceneTextChannel } from './shell-
|
|
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-
|
|
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,
|
|
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
|
|
26
|
-
export {
|
|
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-C5tAYUE3.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
|
-
|
|
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
|
-
|
|
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-
|
|
197
|
+
} from "./chunk-KR4VLXUM.js";
|
|
195
198
|
import "./chunk-V4NBQF5C.js";
|
|
196
199
|
import {
|
|
197
200
|
JsonEditor
|
|
198
|
-
} from "./chunk-
|
|
201
|
+
} from "./chunk-WDX6UDL5.js";
|
|
199
202
|
import {
|
|
200
203
|
markdownToTiptap,
|
|
201
204
|
tiptapToMarkdown
|
|
202
|
-
} from "./chunk-
|
|
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-
|
|
215
|
+
} from "./chunk-LJRHKXDV.js";
|
|
213
216
|
import {
|
|
214
217
|
RecorderModal,
|
|
215
218
|
RecorderPanel,
|
|
216
219
|
getCaptureKind,
|
|
217
220
|
requestScreenStream,
|
|
218
221
|
useMediaRecorder
|
|
219
|
-
} from "./chunk-
|
|
222
|
+
} from "./chunk-LOTY7AOS.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
|
-
|
|
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
|
-
|
|
261
|
-
|
|
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,
|