@bendyline/squisq-editor-react 2.8.0 → 2.10.0

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.
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  RecorderModal
3
- } from "./chunk-V3J5S7X6.js";
3
+ } from "./chunk-JNJ7XO5L.js";
4
4
 
5
5
  // src/recorder/RecorderButton.tsx
6
6
  import { useCallback, useState } from "react";
@@ -13,6 +13,7 @@ function RecorderButton({
13
13
  colorScheme = "light",
14
14
  onSave,
15
15
  narration = null,
16
+ slides = null,
16
17
  label = "Record",
17
18
  style,
18
19
  disabled
@@ -37,6 +38,7 @@ function RecorderButton({
37
38
  initialMode,
38
39
  colorScheme,
39
40
  narration,
41
+ slides,
40
42
  onClose: handleClose,
41
43
  onSave: handleSave
42
44
  }
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  NarrationStage,
3
3
  useNarrationStage
4
- } from "./chunk-OWOKKZAU.js";
4
+ } from "./chunk-IRPOMTYK.js";
5
5
 
6
6
  // src/teleprompter/TeleprompterView.tsx
7
7
  import { jsx } from "react/jsx-runtime";
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { C as CodeContext, E as EditorHostMode, S as SceneTextChannel } from './shell-Bv6neeA6.js';
2
- export { B as BlockTagVisibility, a as CodeContextSection, b as CoverImageSaveOutput, D as DashboardImageSaveOutput, c as DocumentLinkCandidate, d as DocumentLinkProvider, e as EditorActions, f as EditorColorScheme, g as EditorContextValue, h as EditorMode, i as EditorProvider, j as EditorProviderProps, k as EditorShell, l as EditorShellProps, m as EditorState, n as EditorView, I as ImageDisplayMode, L as LayoutMode, M as MentionCandidate, o as MentionProvider, P as PreviewPanel, p as PreviewPanelProps, R as RawEditor, q as RawEditorProps, T as ThemeInheritance, V as ViewPreferences, W as WriteCanvasSettings, r as WysiwygEditor, s as WysiwygEditorProps, u as useEditorContext } from './shell-Bv6neeA6.js';
1
+ import { C as CodeContext, E as EditorHostMode, S as SceneTextChannel } from './shell-Dlh-mkn9.js';
2
+ export { B as BlockTagVisibility, a as CodeContextSection, b as CoverImageSaveOutput, D as DashboardImageSaveOutput, c as DocumentLinkCandidate, d as DocumentLinkProvider, e as EditorActions, f as EditorColorScheme, g as EditorContextValue, h as EditorMode, i as EditorProvider, j as EditorProviderProps, k as EditorShell, l as EditorShellProps, m as EditorState, n as EditorView, I as ImageDisplayMode, L as LayoutMode, M as MentionCandidate, o as MentionProvider, P as PreviewPanel, p as PreviewPanelProps, R as RawEditor, q as RawEditorProps, T as ThemeInheritance, V as ViewPreferences, W as WriteCanvasSettings, r as WysiwygEditor, s as WysiwygEditorProps, u as useEditorContext } from './shell-Dlh-mkn9.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';
@@ -15,7 +15,7 @@ import * as monaco_editor from 'monaco-editor';
15
15
  import { M as MonacoLanguageRequest, a as MonacoLanguageLoadOptions } from './monacoLanguageDetection-DEyUW-BS.js';
16
16
  export { MonacoWorkerConstructor, MonacoWorkerConstructors, configureMonacoWorkers } from './monaco-workers/index.js';
17
17
  import * as _tiptap_core from '@tiptap/core';
18
- import { Extension } from '@tiptap/core';
18
+ import { Mark, Extension } from '@tiptap/core';
19
19
  import * as _tiptap_extension_heading from '@tiptap/extension-heading';
20
20
  import { DecorationSet } from '@tiptap/pm/view';
21
21
  import { Editor } from '@tiptap/react';
@@ -24,9 +24,13 @@ import { Node } from '@tiptap/pm/model';
24
24
  import { RenderResult } from 'mermaid';
25
25
  import { FenceRendererMap } from '@bendyline/squisq/fence';
26
26
  export { JsonEditor, JsonEditorProps } from './json-editor/index.js';
27
- export { C as CameraStreamOptions, D as DEFAULT_RECORDER_DEVICE_SETTINGS, M as MediaDeviceInventory, R as RecordedBookmark, a as RecordedMediaKind, b as RecorderAudioDeviceSettings, c as RecorderButton, d as RecorderButtonProps, e as RecorderCameraDeviceSettings, f as RecorderCameraSaveResult, g as RecorderColorScheme, h as RecorderConstraintMode, i as RecorderDeviceOption, j as RecorderDeviceQuickPicks, k as RecorderDeviceQuickPicksProps, l as RecorderDeviceSettings, m as RecorderDeviceSettingsPanel, n as RecorderDeviceSettingsPanelProps, o as RecorderEncodingSettings, p as RecorderModal, q as RecorderModalProps, r as RecorderNarrationOptions, s as RecorderPanel, t as RecorderPanelProps, u as RecorderSaveResult, v as RecorderScreenAudioSettings, w as RecorderScreenDeviceSettings, S as ScreenStreamHandle, x as ScreenStreamOptions, T as TimingJson, y as buildRecorderAudioConstraints, z as buildRecorderCameraConstraints, A as buildRecorderScreenAudioConstraints, B as buildRecorderScreenConstraints, E as buildTimingJson, F as encodeTimingJson, G as hasRecorderDeviceChoice, H as recordedMediaKind, I as recorderBitsPerSecond, J as recorderDeviceGroups, K as recorderDeviceOptions, L as requestCameraStream, N as requestMicStream, O as requestScreenStream, P as timingPathFor, Q as useMediaDevices, U as useStreamPreview } from './recorder-DFP0Dw4v.js';
28
- export { C as CanvasSink, a as CaptureKind, D as DEFAULT_TELEPROMPTER_PREFS, F as FloatOpenOptions, b as FloatTier, c as FloatingWindowHandle, d as FloatingWindowManager, M as MicAnalysisHandle, e as MicAnalysisStatus, N as NarrationRecorderController, f as NarrationRecorderState, g as NarrationStageHandle, h as NarrationTake, P as PrompterTransport, R as RecorderAudioBitrateMode, i as RecorderCameraLane, j as RecorderExtendedMediaOptions, k as RecorderSource, l as RecorderState, m as ResolvedFormat, T as TeleprompterController, n as TeleprompterPrefs, o as TeleprompterRecordingDeps, U as UseMediaRecorderOptions, p as UseMediaRecorderResult, q as UseNarrationStageOptions, r as buildFilename, s as createFloatingWindowManager, t as detectFloatTiers, u as getCaptureKind, v as resolveFormat, w as supportsDisplayMedia, x as supportsMediaRecorder, y as supportsUserMedia, z as useFloatingWindow, A as useMediaRecorder, B as useMicAnalysis, E as useNarrationRecorder, G as useNarrationStage, H as useTeleprompter, I as vadConfigForSensitivity } from './useNarrationStage-Bk3mdW75.js';
27
+ export { C as CameraStreamOptions, D as DEFAULT_RECORDER_DEVICE_SETTINGS, M as MediaDeviceInventory, R as RecordedBookmark, a as RecordedMediaKind, b as RecorderAudioDeviceSettings, c as RecorderButton, d as RecorderButtonProps, e as RecorderCameraDeviceSettings, f as RecorderCameraSaveResult, g as RecorderColorScheme, h as RecorderConstraintMode, i as RecorderDeviceOption, j as RecorderDeviceQuickPicks, k as RecorderDeviceQuickPicksProps, l as RecorderDeviceSettings, m as RecorderDeviceSettingsPanel, n as RecorderDeviceSettingsPanelProps, o as RecorderEncodingSettings, p as RecorderModal, q as RecorderModalProps, r as RecorderNarrationOptions, s as RecorderPanel, t as RecorderPanelProps, u as RecorderSaveResult, v as RecorderScreenAudioSettings, w as RecorderScreenDeviceSettings, 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-GrEh4xE8.js';
28
+ import { R as RecorderState } from './useNarrationStage-B6r9Zlq-.js';
29
+ 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-B6r9Zlq-.js';
29
30
  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';
31
+ export { H as HarperProofingConfig, P as ProofingCapability, a as ProofingDocumentRef, b as ProofingIgnoreStore, c as ProofingLanguage, d as ProofingLintOptions, e as ProofingProvider, f as ProofingProviderFactory } from './types-B_aHRuSc.js';
32
+ export { createHarperProofingProvider } from './proofing/index.js';
33
+ export { PROOF_DIALECTS, PROOF_FRONTMATTER_KEYS, ProofCategory, ProofDialect, ProofFinding, ProofRange, ProofSuggestion, ProofSuggestionKind } from '@bendyline/squisq/proof';
30
34
  import '@bendyline/squisq/versions';
31
35
  import '@bendyline/squisq/imageEdit';
32
36
  import '@bendyline/squisq/jsonForm';
@@ -572,7 +576,7 @@ declare function EmojiPicker({ open, onSelect, onClose, anchorRef, className, st
572
576
  * DocumentSettingsDialog
573
577
  *
574
578
  * Modal editor for the frontmatter values that Squisq currently
575
- * understands: document title plus the persisted preview keys
579
+ * understands: document title and cover subtitle plus the persisted preview keys
576
580
  * (`squisq-theme`, `squisq-transform`, `squisq-captions`). Writes back
577
581
  * to the same `setFrontmatterValues` channel that `PreviewControls`
578
582
  * uses, so any change made here is reflected in the play-mode controls
@@ -1647,6 +1651,36 @@ declare function tiptapToMarkdown(html: string): string;
1647
1651
  */
1648
1652
  declare const HeadingWithTemplate: _tiptap_core.Node<_tiptap_extension_heading.HeadingOptions, any>;
1649
1653
 
1654
+ /**
1655
+ * Superscript / Subscript — Tiptap Mark Extensions
1656
+ *
1657
+ * Vertical alignment is the one piece of inline formatting that arrives from
1658
+ * real-world documents far more often than it is typed: a spreadsheet's
1659
+ * footnote markers, a Word document's `w:vertAlign` runs, an imported HTML
1660
+ * table. Without these marks ProseMirror has no schema slot for `<sup>`, so the
1661
+ * Write view drops the tags on the first edit and the imported markup is lost.
1662
+ *
1663
+ * Defined locally rather than pulled from `@tiptap/extension-superscript` and
1664
+ * `-subscript`: two marks of a dozen lines each do not justify two more pinned
1665
+ * dependencies on the editor's peer surface.
1666
+ *
1667
+ * The markdown bridge renders `<sup>x</sup>` straight through (see
1668
+ * `tiptapBridge.ts`), and core's parser folds that tag pair back into a real
1669
+ * `superscript` / `subscript` inline node — so the source form stays plain
1670
+ * inline HTML at every hop.
1671
+ */
1672
+
1673
+ declare module '@tiptap/core' {
1674
+ interface Commands<ReturnType> {
1675
+ verticalAlign: {
1676
+ toggleSuperscript: () => ReturnType;
1677
+ toggleSubscript: () => ReturnType;
1678
+ };
1679
+ }
1680
+ }
1681
+ declare const Superscript: Mark<any, any>;
1682
+ declare const Subscript: Mark<any, any>;
1683
+
1650
1684
  type DiagramCommand = {
1651
1685
  kind: 'moveNode';
1652
1686
  nodeId: string;
@@ -2963,4 +2997,113 @@ declare function applyTimelineCommand(editor: Editor, blockId: string, command:
2963
2997
  /** Paste gate for bare, high-confidence Unicode timeline art. */
2964
2998
  declare function shouldPasteAsTimelineFence(text: string): boolean;
2965
2999
 
2966
- export { ALL_PICKER_ENTRIES, type AddTimelineEventOptions, type AddTimelineEventResult, type ApplyAsciiDiagramCommandOptions, type AsciiDiagramBlockEntry, AsciiDiagramExtension, type AsciiDiagramExtensionOptions, type AsciiDiagramPluginState, type AsciiDiagramView, AsciiDiagramWidget, BlockCardView, type BlockCardViewProps, type BlockNavigator, BlockPropertiesPopover, type BlockPropertiesPopoverProps, type BlockRange, type BlockSlice, CODE_SNIPPET_KEY, CODE_SNIPPET_LANGUAGES, CodeContext, CodeContextZones, type CodeSnippetBlockEntry, type CodeSnippetData, CodeSnippetExtension, type CodeSnippetExtensionOptions, type CodeSnippetLanguage, type CodeSnippetPluginState, CodeSnippetWidget, type CodeSnippetWidgetProps, type CustomTemplateContextValue, CustomTemplateProvider, type CustomTemplateProviderProps, type CustomThemeContextValue, CustomThemeProvider, type CustomThemeProviderProps, DEFAULT_MERMAID_DIAGRAM_TYPE, DiagramCanvas, type DiagramCommand, type DiagramData, type DiagramEdge, type DiagramNode, type DirectionModel, type DocCustomTemplates, type DocCustomThemes, DocumentSettingsDialog, type DocumentSettingsDialogProps, type DragContentType, type DropTarget, DropZoneOverlay, type DropZoneOverlayProps, EMPTY_TRANSITION, EditorHostMode, EmojiPicker, type EmojiPickerProps, FENCE_WIDGET_CONTAINED_EVENTS, type FenceBlockEntry, type FileCategory, type FileKind, type FolderEntry, FolderView, type FolderViewProps, HOST_FENCE_KEY, type HeadingTransitionAttrs, HeadingWithTemplate, type HostFenceBlockEntry, HostFenceExtension, type HostFenceExtensionOptions, type HostFencePluginState, ImportThemeSection, type ImportThemeSectionProps, type ImportedThemeResult, InlinePreviewGutter, type InlinePreviewGutterProps, MERMAID_DIAGRAM_KEY, MERMAID_DIAGRAM_TYPES, MERMAID_FLOWCHART_SHAPES, MediaBin, type MediaBinProps, type MediaClipPatch, type MermaidDiagramBlockEntry, MermaidDiagramCanvas, type MermaidDiagramCanvasProps, type MermaidDiagramCategory, type MermaidDiagramData, MermaidDiagramExtension, type MermaidDiagramExtensionOptions, type MermaidDiagramPluginState, type MermaidDiagramPreview, type MermaidDiagramProperty, type MermaidDiagramType, MermaidDiagramTypeThumbnail, MermaidDiagramWidget, type MermaidDiagramWidgetProps, type MermaidEditCapabilities, type MermaidEditableDiagramKind, type MermaidEditableEdge, type MermaidEditableModel, type MermaidEditableNode, type MermaidEditableText, type MermaidEditableTextTarget, type MermaidFlowchartDirection, type MermaidFlowchartModel, type MermaidFlowchartShape, type MermaidFlowchartShapeId, type MermaidNodeCanvasAction, type MermaidRenderResult, type MermaidSelection, MermaidShapePalette, type MermaidShapePaletteProps, type MermaidSourceEditableModel, type MermaidSurfaceScheme, MonacoLanguageLoadOptions, MonacoLanguageRequest, OutlinePanel, type OutlinePanelProps, PICKER_CATEGORIES, type PickerCategory, type PickerEntry, PlainHtmlPreview, type PlainHtmlPreviewProps, PreviewFormatSwitch, PreviewModeMenu, PreviewModeSwitch, type PreviewSettings, PreviewSettingsProvider, PreviewToolbarControls, type PreviewToolbarControlsProps, REPAIRABLE_KEY, type RepairableBlockEntry, RepairableDiagramExtension, type RepairableDiagramExtensionOptions, type RepairablePluginState, StatusBar, type StatusBarProps, TIMELINE_VIEW_KEY, TRANSITION_ENTRIES, TRANSITION_GROUPS, TemplatePicker, ThemeCustomizerPanel, type ThemeCustomizerPanelProps, ThemePicker, type ThemePickerProps, type ThemeSaveExtras, type TimelineBlockEntry, type TimelineCommand, type TimelineCommandResult, TimelineCompositionPanel, type TimelineCompositionPanelProps, TimelineEditorWidget, type TimelineEditorWidgetProps, type TimelineEventPatch, TimelineToolbar, type TimelineToolbarProps, TimelineTrack, type TimelineTrackProps, TimelineVideoPanel, type TimelineVideoPanelProps, type TimelineViewData, TimelineViewExtension, type TimelineViewExtensionOptions, type TimelineViewPluginState, Toolbar, type ToolbarProps, TooltipLayer, TransformMenu, type TransitionCatalogEntry, type TransitionFields, type TransitionGroup, TransitionPicker, type TransitionPickerProps, type TreeBlockEntry, type TreeCommand, TreeOutlineWidget, type TreeViewData, TreeViewExtension, type TreeViewExtensionOptions, type TreeViewPluginState, type UseBlockNavigatorOptions, type UseFileDropOptions, type UseFileDropResult, type UseMonacoLoaderResult, VersionHistoryPanel, ViewMenuPanel, ViewSwitcher, type ViewSwitcherProps, type WrapPolicyIngest, adaptThemeToSurface, addEdgeOp, addItemOp, addNodeOp, addTimelineEventOp, applyAsciiDiagramCommand, applyRepairCommand, applyTimelineCommand, applyTreeCommand, asciiDiagramToCanvas, classifyFile, codeSnippetFenceLanguageToken, codeSnippetLanguageLabel, codeSnippetMarkdown, containFenceWidgetEvents, detectLanguageFromFileName, draftPatchFromImportedTheme, findAsciiDiagramBlockPos, findCodeSnippetBlockPos, findHostFenceBlockPos, findMermaidDiagramBlockPos, findRepairableBlockPos, findTimelineBlockPos, findTransitionEntry, findTreeBlockPos, formatSeconds, getBlockSlices, getTimelineForNode, indentItemOp, ingestForWrite, inspectMermaidSource, isAsciiSourceVisible, isCodeSnippetFenceLanguage, isCodeSnippetNode, isMermaidDiagramNode, isMermaidFlowchartShapeId, isMermaidSourceVisible, isRepairableFence, isTimelineSourceSafeForSemanticEdit, lineToOffset, mapFenceEntries, markdownToTiptap, mermaidDiagramMarkdown, mermaidDiagramProperties, mermaidEditCapabilities, mermaidEditableTexts, mermaidErrorMessage, mermaidSurfaceScheme, monacoLanguageForFence, moveItemDownOp, moveItemUpOp, moveNodeOp, nextTimelineEventId, normalizeMermaidFlowchartShape, offsetToLine, outdentItemOp, parseTimelineForNode, partitionFiles, persistFromWrite, preloadMonaco, preloadMonacoSuggestions, processMediaFiles, processTextFile, processTextFiles, readBlockAttrsParams, readBlockAttrsTransition, readBlockAttrsValue, readHeadingLineTransition, removeEdgeOp, removeItemOp, removeNodeOp, removeTimelineEventOp, renameItemOp, renameNodeOp, renderMermaidDiagram, replaceAsciiFenceText, replaceCodeSnippetText, replaceHostFenceText, replaceAsciiFenceText as replaceTreeFenceText, resizeNodeOp, resolveFileKind, resolveMermaidSurfaceTheme, sanitizeAsciiLabel, sanitizeTimelineText, sanitizeTreeLabel, searchPickerEntries, setBlockAttrsValue, setBlockDurationInSource, setBlockStartTimeInSource, setBlockTransitionInSource, setHeadingAttrsTransition, setHeadingLineTransition, setMediaClipInSource, shouldPasteAsAsciiFence, shouldPasteAsTimelineFence, shouldPasteAsTreeFence, sliceIndexAtOffset, spliceBlock, summarizeBlockProps, templateLabel, tiptapToMarkdown, toggleAsciiSource, toggleDirOp, toggleMermaidSource, transitionLabel, translateDiagramOp, updateTimelineEventOp, useAsciiDiagramData, useBlockNavigator, useCodeSnippetData, useCustomTemplates, useCustomThemes, useDocCustomTemplates, useDocCustomThemes, useFileDrop, useMermaidDiagramData, useMermaidSurfaceTheme, useMonacoLoader, usePreviewSettings, useTimelineData, useTreeViewData };
3000
+ /**
3001
+ * The deck the recorder's slides panel presents — the doc's blocks, each
3002
+ * resolved into a renderable card plus the prose the presenter may want to
3003
+ * read from.
3004
+ *
3005
+ * ## Why the deck is anchored on blocks, not on preview slides
3006
+ *
3007
+ * Slide timings are recorded per DOC BLOCK, so the panel's list and the
3008
+ * sidecar's list must be the same list. `buildPreviewDoc` is 1:1 with
3009
+ * `flattenRenderableBlocks` — every slide carries its source block's `id` —
3010
+ * with exactly one exception: image interleaving splices extra
3011
+ * `img-interleave-N` slides that belong to no block. Passing
3012
+ * `interleaveImages: false` removes that one divergence, and walking the block
3013
+ * list (looking cards up by id) makes the correspondence structural rather
3014
+ * than incidental.
3015
+ *
3016
+ * The projection runs ONCE for the whole deck rather than per block, so each
3017
+ * card is materialized with its real `blockIndex`/`totalBlocks` — accent
3018
+ * rotation and first-slide art direction then match what playback shows,
3019
+ * which per-block `resolveBlockVisual` cannot do (it renders every block as
3020
+ * slide 1 of 1).
3021
+ */
3022
+
3023
+ /** One slide in the recorder's deck, keyed by the doc block it came from. */
3024
+ interface RecorderSlide {
3025
+ /** Doc block id — the key the advance log and the timing sidecar both use. */
3026
+ blockId: string;
3027
+ /** Heading text, or a positional fallback for a heading-less block. */
3028
+ heading: string;
3029
+ /** The block's body prose, shown beneath the card as presenter notes. */
3030
+ bodyText: string;
3031
+ /** Materialized card, or null when this block has no slide rendition. */
3032
+ visual: Block | null;
3033
+ }
3034
+ /**
3035
+ * Build the deck for a doc. Never throws: a block whose card cannot be
3036
+ * materialized still appears, with `visual: null`, so the deck's indices
3037
+ * always line up with `flattenRenderableBlocks`.
3038
+ */
3039
+ declare function buildRecorderSlideDeck(doc: Doc, theme: Theme, viewport: ViewportConfig): RecorderSlide[];
3040
+
3041
+ interface RecorderSlidesPanelProps {
3042
+ slides: RecorderSlide[];
3043
+ /** Active slide index — controlled by the host. */
3044
+ index: number;
3045
+ onIndexChange: (next: number) => void;
3046
+ viewport: ViewportConfig;
3047
+ basePath?: string;
3048
+ mediaProvider?: MediaProvider | null;
3049
+ /** True while a take is rolling — switches the hint to the recording copy. */
3050
+ recording?: boolean;
3051
+ /** Block ids already first-shown this take; drives the progress dots. */
3052
+ shownBlockIds?: ReadonlySet<string>;
3053
+ }
3054
+ declare function RecorderSlidesPanel({ slides, index, onIndexChange, viewport, basePath, mediaProvider, recording, shownBlockIds, }: RecorderSlidesPanelProps): react_jsx_runtime.JSX.Element;
3055
+
3056
+ /**
3057
+ * Pure decision helpers for the Record media dialog's slides mode — the peer
3058
+ * of `narrationModePolicy.ts`, kept DOM/MediaRecorder-free so every branch is
3059
+ * unit-testable.
3060
+ *
3061
+ * Slides mode and narration mode both expand the dialog and both claim its
3062
+ * right column, so they are mutually exclusive. That exclusion is STRUCTURAL:
3063
+ * the dialog holds one {@link RecorderPanelMode} rather than two booleans, so
3064
+ * checking one box cannot leave the other checked. There is deliberately no
3065
+ * "are these compatible?" predicate to keep in sync.
3066
+ */
3067
+
3068
+ /** Which optional panel occupies the dialog's right column. */
3069
+ type RecorderPanelMode = 'none' | 'narration' | 'slides';
3070
+ /** Whether the dialog should render in its full-viewport two-column form. */
3071
+ declare function isExpandedPanel(mode: RecorderPanelMode): boolean;
3072
+ /**
3073
+ * The mode after toggling one of the two checkboxes. Checking a box selects
3074
+ * it (deselecting the other by construction); unchecking returns to 'none'.
3075
+ *
3076
+ * Unchecking a box that is not the active mode is a no-op rather than a
3077
+ * collapse — a stale change event from the box that was just superseded must
3078
+ * not close the panel the user actually opened.
3079
+ */
3080
+ declare function panelModeAfterToggle(current: RecorderPanelMode, target: 'narration' | 'slides', checked: boolean): RecorderPanelMode;
3081
+ /** Clamp a slide index into `[0, count - 1]`, or 0 for an empty deck. */
3082
+ declare function clampSlideIndex(index: number, count: number): number;
3083
+ /** Slide step a key implies: +1 forward, -1 back, 0 for keys we do not own. */
3084
+ declare function slideStepForKey(key: string): -1 | 0 | 1;
3085
+ /**
3086
+ * Whether the review-state "Update block timings…" checkbox is shown.
3087
+ *
3088
+ * Only once there is a finished take to save, only while slides mode is the
3089
+ * active panel, and only when the host declared it can attach a sidecar
3090
+ * (`captureTimings` — true for the Document narration entry, whose take
3091
+ * becomes a document-anchored clip, and false for an ordinary block-level
3092
+ * recording, where nothing would ever read the sidecar back).
3093
+ */
3094
+ declare function showSlideTimingCheckbox(options: {
3095
+ slidesOn: boolean;
3096
+ captureTimings: boolean;
3097
+ recorderState: RecorderState;
3098
+ hasBlob: boolean;
3099
+ }): boolean;
3100
+ /**
3101
+ * Review-panel warning about slides the presenter never reached. They save as
3102
+ * zero-length ranges, which playback skips — worth saying out loud, because
3103
+ * the alternative reading ("they kept their old duration") is the intuitive one.
3104
+ */
3105
+ declare function unshownSlidesWarning(total: number, unshown: number): string | null;
3106
+ /** The exact label of the review-state block-timings checkbox. */
3107
+ declare const SLIDE_TIMING_CHECKBOX_LABEL = "Update block timings when I save this narration";
3108
+
3109
+ export { ALL_PICKER_ENTRIES, type AddTimelineEventOptions, type AddTimelineEventResult, type ApplyAsciiDiagramCommandOptions, type AsciiDiagramBlockEntry, AsciiDiagramExtension, type AsciiDiagramExtensionOptions, type AsciiDiagramPluginState, type AsciiDiagramView, AsciiDiagramWidget, BlockCardView, type BlockCardViewProps, type BlockNavigator, BlockPropertiesPopover, type BlockPropertiesPopoverProps, type BlockRange, type BlockSlice, CODE_SNIPPET_KEY, CODE_SNIPPET_LANGUAGES, CodeContext, CodeContextZones, type CodeSnippetBlockEntry, type CodeSnippetData, CodeSnippetExtension, type CodeSnippetExtensionOptions, type CodeSnippetLanguage, type CodeSnippetPluginState, CodeSnippetWidget, type CodeSnippetWidgetProps, type CustomTemplateContextValue, CustomTemplateProvider, type CustomTemplateProviderProps, type CustomThemeContextValue, CustomThemeProvider, type CustomThemeProviderProps, DEFAULT_MERMAID_DIAGRAM_TYPE, DiagramCanvas, type DiagramCommand, type DiagramData, type DiagramEdge, type DiagramNode, type DirectionModel, type DocCustomTemplates, type DocCustomThemes, DocumentSettingsDialog, type DocumentSettingsDialogProps, type DragContentType, type DropTarget, DropZoneOverlay, type DropZoneOverlayProps, EMPTY_TRANSITION, EditorHostMode, EmojiPicker, type EmojiPickerProps, FENCE_WIDGET_CONTAINED_EVENTS, type FenceBlockEntry, type FileCategory, type FileKind, type FolderEntry, FolderView, type FolderViewProps, HOST_FENCE_KEY, type HeadingTransitionAttrs, HeadingWithTemplate, type HostFenceBlockEntry, HostFenceExtension, type HostFenceExtensionOptions, type HostFencePluginState, ImportThemeSection, type ImportThemeSectionProps, type ImportedThemeResult, InlinePreviewGutter, type InlinePreviewGutterProps, MERMAID_DIAGRAM_KEY, MERMAID_DIAGRAM_TYPES, MERMAID_FLOWCHART_SHAPES, MediaBin, type MediaBinProps, type MediaClipPatch, type MermaidDiagramBlockEntry, MermaidDiagramCanvas, type MermaidDiagramCanvasProps, type MermaidDiagramCategory, type MermaidDiagramData, MermaidDiagramExtension, type MermaidDiagramExtensionOptions, type MermaidDiagramPluginState, type MermaidDiagramPreview, type MermaidDiagramProperty, type MermaidDiagramType, MermaidDiagramTypeThumbnail, MermaidDiagramWidget, type MermaidDiagramWidgetProps, type MermaidEditCapabilities, type MermaidEditableDiagramKind, type MermaidEditableEdge, type MermaidEditableModel, type MermaidEditableNode, type MermaidEditableText, type MermaidEditableTextTarget, type MermaidFlowchartDirection, type MermaidFlowchartModel, type MermaidFlowchartShape, type MermaidFlowchartShapeId, type MermaidNodeCanvasAction, type MermaidRenderResult, type MermaidSelection, MermaidShapePalette, type MermaidShapePaletteProps, type MermaidSourceEditableModel, type MermaidSurfaceScheme, MonacoLanguageLoadOptions, MonacoLanguageRequest, OutlinePanel, type OutlinePanelProps, PICKER_CATEGORIES, type PickerCategory, type PickerEntry, PlainHtmlPreview, type PlainHtmlPreviewProps, PreviewFormatSwitch, PreviewModeMenu, PreviewModeSwitch, type PreviewSettings, PreviewSettingsProvider, PreviewToolbarControls, type PreviewToolbarControlsProps, REPAIRABLE_KEY, type RecorderPanelMode, type RecorderSlide, RecorderSlidesPanel, type RecorderSlidesPanelProps, RecorderState, type RepairableBlockEntry, RepairableDiagramExtension, type RepairableDiagramExtensionOptions, type RepairablePluginState, SLIDE_TIMING_CHECKBOX_LABEL, 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, adaptThemeToSurface, addEdgeOp, addItemOp, addNodeOp, addTimelineEventOp, applyAsciiDiagramCommand, applyRepairCommand, applyTimelineCommand, applyTreeCommand, asciiDiagramToCanvas, buildRecorderSlideDeck, clampSlideIndex, classifyFile, codeSnippetFenceLanguageToken, codeSnippetLanguageLabel, codeSnippetMarkdown, containFenceWidgetEvents, detectLanguageFromFileName, draftPatchFromImportedTheme, findAsciiDiagramBlockPos, findCodeSnippetBlockPos, findHostFenceBlockPos, findMermaidDiagramBlockPos, findRepairableBlockPos, findTimelineBlockPos, findTransitionEntry, findTreeBlockPos, formatSeconds, getBlockSlices, getTimelineForNode, indentItemOp, ingestForWrite, inspectMermaidSource, isAsciiSourceVisible, isCodeSnippetFenceLanguage, isCodeSnippetNode, isExpandedPanel, isMermaidDiagramNode, isMermaidFlowchartShapeId, isMermaidSourceVisible, isRepairableFence, isTimelineSourceSafeForSemanticEdit, lineToOffset, mapFenceEntries, markdownToTiptap, mermaidDiagramMarkdown, mermaidDiagramProperties, mermaidEditCapabilities, mermaidEditableTexts, mermaidErrorMessage, mermaidSurfaceScheme, monacoLanguageForFence, moveItemDownOp, moveItemUpOp, moveNodeOp, nextTimelineEventId, normalizeMermaidFlowchartShape, offsetToLine, outdentItemOp, panelModeAfterToggle, parseTimelineForNode, partitionFiles, persistFromWrite, preloadMonaco, preloadMonacoSuggestions, processMediaFiles, processTextFile, processTextFiles, readBlockAttrsParams, readBlockAttrsTransition, readBlockAttrsValue, readHeadingLineTransition, removeEdgeOp, removeItemOp, removeNodeOp, removeTimelineEventOp, renameItemOp, renameNodeOp, renderMermaidDiagram, replaceAsciiFenceText, replaceCodeSnippetText, replaceHostFenceText, replaceAsciiFenceText as replaceTreeFenceText, resizeNodeOp, resolveFileKind, resolveMermaidSurfaceTheme, sanitizeAsciiLabel, sanitizeTimelineText, sanitizeTreeLabel, searchPickerEntries, setBlockAttrsValue, setBlockDurationInSource, setBlockStartTimeInSource, setBlockTransitionInSource, setHeadingAttrsTransition, setHeadingLineTransition, setMediaClipInSource, shouldPasteAsAsciiFence, shouldPasteAsTimelineFence, shouldPasteAsTreeFence, showSlideTimingCheckbox, sliceIndexAtOffset, slideStepForKey, spliceBlock, summarizeBlockProps, templateLabel, tiptapToMarkdown, toggleAsciiSource, toggleDirOp, toggleMermaidSource, transitionLabel, translateDiagramOp, unshownSlidesWarning, updateTimelineEventOp, useAsciiDiagramData, useBlockNavigator, useCodeSnippetData, useCustomTemplates, useCustomThemes, useDocCustomTemplates, useDocCustomThemes, useFileDrop, useMermaidDiagramData, useMermaidSurfaceTheme, useMonacoLoader, usePreviewSettings, useTimelineData, useTreeViewData };
package/dist/index.js CHANGED
@@ -1,3 +1,8 @@
1
+ import {
2
+ PROOF_DIALECTS,
3
+ PROOF_FRONTMATTER_KEYS,
4
+ createHarperProofingProvider
5
+ } from "./chunk-SAKLIEOX.js";
1
6
  import {
2
7
  configureMonacoWorkers
3
8
  } from "./chunk-BWPFPHWY.js";
@@ -59,6 +64,8 @@ import {
59
64
  Section,
60
65
  SeedColorRow,
61
66
  StatusBar,
67
+ Subscript,
68
+ Superscript,
62
69
  TEXT_SHADOW_PRESETS,
63
70
  TIMELINE_VIEW_KEY,
64
71
  TRANSITION_ENTRIES,
@@ -90,7 +97,6 @@ import {
90
97
  applyTimelineCommand,
91
98
  applyTreeCommand,
92
99
  asciiDiagramToCanvas,
93
- buildPreviewDoc,
94
100
  classifyFile,
95
101
  codeSnippetFenceLanguageToken,
96
102
  codeSnippetLanguageLabel,
@@ -98,7 +104,6 @@ import {
98
104
  compileDraft,
99
105
  containFenceWidgetEvents,
100
106
  detectLanguageFromFileName,
101
- documentTitleFromFileName,
102
107
  draftPatchFromImportedTheme,
103
108
  findAsciiDiagramBlockPos,
104
109
  findCodeSnippetBlockPos,
@@ -205,15 +210,15 @@ import {
205
210
  usePreviewSettings,
206
211
  useTimelineData,
207
212
  useTreeViewData
208
- } from "./chunk-SUXRSZ4Y.js";
213
+ } from "./chunk-TQPZ6VVM.js";
209
214
  import "./chunk-V4NBQF5C.js";
210
215
  import {
211
216
  JsonEditor
212
- } from "./chunk-YPRX32GY.js";
217
+ } from "./chunk-JYPLPGYJ.js";
213
218
  import {
214
219
  markdownToTiptap,
215
220
  tiptapToMarkdown
216
- } from "./chunk-K2WJYVS4.js";
221
+ } from "./chunk-TCLNRATG.js";
217
222
  import {
218
223
  ImageEditor,
219
224
  ImageViewer,
@@ -223,31 +228,42 @@ import {
223
228
  } from "./chunk-V44VP242.js";
224
229
  import {
225
230
  RecorderButton
226
- } from "./chunk-AZ5ME4XG.js";
231
+ } from "./chunk-WCGDDZB6.js";
227
232
  import {
228
233
  DEFAULT_RECORDER_DEVICE_SETTINGS,
229
234
  RecorderDeviceQuickPicks,
230
235
  RecorderDeviceSettingsPanel,
231
236
  RecorderModal,
232
237
  RecorderPanel,
238
+ RecorderSlidesPanel,
239
+ SLIDE_TIMING_CHECKBOX_LABEL,
240
+ buildPreviewDoc,
233
241
  buildRecorderAudioConstraints,
234
242
  buildRecorderCameraConstraints,
235
243
  buildRecorderScreenAudioConstraints,
236
244
  buildRecorderScreenConstraints,
245
+ buildRecorderSlideDeck,
246
+ clampSlideIndex,
247
+ documentTitleFromFileName,
237
248
  getCaptureKind,
238
249
  hasRecorderDeviceChoice,
250
+ isExpandedPanel,
251
+ panelModeAfterToggle,
239
252
  recordedMediaKind,
240
253
  recorderBitsPerSecond,
241
254
  recorderDeviceGroups,
242
255
  recorderDeviceOptions,
243
256
  requestScreenStream,
257
+ showSlideTimingCheckbox,
258
+ slideStepForKey,
259
+ unshownSlidesWarning,
244
260
  useMediaDevices,
245
261
  useMediaRecorder
246
- } from "./chunk-V3J5S7X6.js";
262
+ } from "./chunk-JNJ7XO5L.js";
247
263
  import "./chunk-GS7QWYFT.js";
248
264
  import {
249
265
  TeleprompterView
250
- } from "./chunk-IQFPX2CE.js";
266
+ } from "./chunk-ZZTB6BEQ.js";
251
267
  import {
252
268
  DEFAULT_TELEPROMPTER_PREFS,
253
269
  EYE_LINE_FRACTION,
@@ -287,7 +303,7 @@ import {
287
303
  useStreamPreview,
288
304
  useTeleprompter,
289
305
  vadConfigForSensitivity
290
- } from "./chunk-OWOKKZAU.js";
306
+ } from "./chunk-IRPOMTYK.js";
291
307
 
292
308
  // src/FolderView.tsx
293
309
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -758,6 +774,8 @@ export {
758
774
  PCM_WORKLET_NAME,
759
775
  PCM_WORKLET_SOURCE,
760
776
  PICKER_CATEGORIES,
777
+ PROOF_DIALECTS,
778
+ PROOF_FRONTMATTER_KEYS,
761
779
  PlainHtmlPreview,
762
780
  PreviewFormatSwitch,
763
781
  PreviewModeMenu,
@@ -772,8 +790,12 @@ export {
772
790
  RecorderDeviceSettingsPanel,
773
791
  RecorderModal,
774
792
  RecorderPanel,
793
+ RecorderSlidesPanel,
775
794
  RepairableDiagramExtension,
795
+ SLIDE_TIMING_CHECKBOX_LABEL,
776
796
  StatusBar,
797
+ Subscript,
798
+ Superscript,
777
799
  TELEPROMPTER_CSS,
778
800
  TIMELINE_VIEW_KEY,
779
801
  TRANSITION_ENTRIES,
@@ -817,8 +839,10 @@ export {
817
839
  buildRecorderCameraConstraints,
818
840
  buildRecorderScreenAudioConstraints,
819
841
  buildRecorderScreenConstraints,
842
+ buildRecorderSlideDeck,
820
843
  buildTimingJson,
821
844
  cameraVideoLine,
845
+ clampSlideIndex,
822
846
  classifyFile,
823
847
  codeSnippetFenceLanguageToken,
824
848
  codeSnippetLanguageLabel,
@@ -826,6 +850,7 @@ export {
826
850
  configureMonacoWorkers,
827
851
  containFenceWidgetEvents,
828
852
  createFloatingWindowManager,
853
+ createHarperProofingProvider,
829
854
  detectFloatTiers,
830
855
  detectLanguageFromFileName,
831
856
  documentTitleFromFileName,
@@ -855,6 +880,7 @@ export {
855
880
  isAsciiSourceVisible,
856
881
  isCodeSnippetFenceLanguage,
857
882
  isCodeSnippetNode,
883
+ isExpandedPanel,
858
884
  isMermaidDiagramNode,
859
885
  isMermaidFlowchartShapeId,
860
886
  isMermaidSourceVisible,
@@ -879,6 +905,7 @@ export {
879
905
  normalizeMermaidFlowchartShape,
880
906
  offsetToLine,
881
907
  outdentItemOp,
908
+ panelModeAfterToggle,
882
909
  parseTimelineForNode,
883
910
  partitionFiles,
884
911
  persistFromWrite,
@@ -929,7 +956,9 @@ export {
929
956
  shouldPasteAsAsciiFence,
930
957
  shouldPasteAsTimelineFence,
931
958
  shouldPasteAsTreeFence,
959
+ showSlideTimingCheckbox,
932
960
  sliceIndexAtOffset,
961
+ slideStepForKey,
933
962
  spliceBlock,
934
963
  stepScroll,
935
964
  summarizeBlockProps,
@@ -945,6 +974,7 @@ export {
945
974
  toggleMermaidSource,
946
975
  transitionLabel,
947
976
  translateDiagramOp,
977
+ unshownSlidesWarning,
948
978
  updateTimelineEventOp,
949
979
  useAsciiDiagramData,
950
980
  useBlockNavigator,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  JsonEditor
3
- } from "../chunk-YPRX32GY.js";
4
- import "../chunk-K2WJYVS4.js";
3
+ } from "../chunk-JYPLPGYJ.js";
4
+ import "../chunk-TCLNRATG.js";
5
5
  export {
6
6
  JsonEditor
7
7
  };
@@ -0,0 +1,32 @@
1
+ import { H as HarperProofingConfig, e as ProofingProvider } from '../types-B_aHRuSc.js';
2
+ export { P as ProofingCapability, a as ProofingDocumentRef, b as ProofingIgnoreStore, c as ProofingLanguage, d as ProofingLintOptions, f as ProofingProviderFactory } from '../types-B_aHRuSc.js';
3
+ export { PROOF_DIALECTS, PROOF_FRONTMATTER_KEYS, ProofCategory, ProofDialect, ProofFinding, ProofRange, ProofSuggestion, ProofSuggestionKind } from '@bendyline/squisq/proof';
4
+
5
+ /**
6
+ * harper.js-backed {@link ProofingProvider}.
7
+ *
8
+ * harper.js is an OPTIONAL peer dependency: this module reaches it only
9
+ * through dynamic `import('harper.js')` inside function bodies, so
10
+ * consumers who never enable proofing load none of it (and its types
11
+ * never appear in published declarations — the optional-peer contract
12
+ * pinned by `tests/published/harperOptionalPeer.test.ts`).
13
+ *
14
+ * Engine facts this adapter encodes (spike-verified against 2.7.0):
15
+ * - spans are UTF-16 code units — no conversion toward PM/Monaco/DOM;
16
+ * - `WorkerLinter` runs the WASM in an inlined blob worker (browser);
17
+ * `LocalLinter` is the Node path for tests;
18
+ * - ignoring one lint can reveal a stacked same-span lint from another
19
+ * rule on the next pass, so ignore iterates until the span is clean;
20
+ * - `exportIgnoredLints()` JSON holds integers above 2^53 → opaque;
21
+ * - `importWords` semantics are not guaranteed additive, so the full
22
+ * cumulative word set is re-imported on every change.
23
+ */
24
+
25
+ /**
26
+ * Create a proofing provider backed by harper.js. Construction is cheap
27
+ * and side-effect-free; all loading happens in `setup()` (or lazily on
28
+ * first use). Requires `harper.js` to be installed by the host.
29
+ */
30
+ declare function createHarperProofingProvider(config?: HarperProofingConfig): ProofingProvider;
31
+
32
+ export { HarperProofingConfig, ProofingProvider, createHarperProofingProvider };
@@ -0,0 +1,10 @@
1
+ import {
2
+ PROOF_DIALECTS,
3
+ PROOF_FRONTMATTER_KEYS,
4
+ createHarperProofingProvider
5
+ } from "../chunk-SAKLIEOX.js";
6
+ export {
7
+ PROOF_DIALECTS,
8
+ PROOF_FRONTMATTER_KEYS,
9
+ createHarperProofingProvider
10
+ };
@@ -1,5 +1,5 @@
1
- export { C as CameraStreamOptions, D as DEFAULT_RECORDER_DEVICE_SETTINGS, M as MediaDeviceInventory, R as RecordedBookmark, a as RecordedMediaKind, b as RecorderAudioDeviceSettings, c as RecorderButton, d as RecorderButtonProps, e as RecorderCameraDeviceSettings, f as RecorderCameraSaveResult, g as RecorderColorScheme, h as RecorderConstraintMode, i as RecorderDeviceOption, j as RecorderDeviceQuickPicks, k as RecorderDeviceQuickPicksProps, l as RecorderDeviceSettings, m as RecorderDeviceSettingsPanel, n as RecorderDeviceSettingsPanelProps, o as RecorderEncodingSettings, p as RecorderModal, q as RecorderModalProps, s as RecorderPanel, t as RecorderPanelProps, u as RecorderSaveResult, v as RecorderScreenAudioSettings, w as RecorderScreenDeviceSettings, S as ScreenStreamHandle, x as ScreenStreamOptions, T as TimingJson, y as buildRecorderAudioConstraints, z as buildRecorderCameraConstraints, A as buildRecorderScreenAudioConstraints, B as buildRecorderScreenConstraints, E as buildTimingJson, F as encodeTimingJson, G as hasRecorderDeviceChoice, H as recordedMediaKind, I as recorderBitsPerSecond, J as recorderDeviceGroups, K as recorderDeviceOptions, L as requestCameraStream, N as requestMicStream, O as requestScreenStream, P as timingPathFor, Q as useMediaDevices, U as useStreamPreview } from '../recorder-DFP0Dw4v.js';
2
- export { a as CaptureKind, R as RecorderAudioBitrateMode, i as RecorderCameraLane, j as RecorderExtendedMediaOptions, k as RecorderSource, l as RecorderState, m as ResolvedFormat, U as UseMediaRecorderOptions, p as UseMediaRecorderResult, r as buildFilename, u as getCaptureKind, v as resolveFormat, w as supportsDisplayMedia, x as supportsMediaRecorder, y as supportsUserMedia, A as useMediaRecorder } from '../useNarrationStage-Bk3mdW75.js';
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-GrEh4xE8.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-B6r9Zlq-.js';
3
3
  import 'react/jsx-runtime';
4
4
  import '@bendyline/squisq/schemas';
5
5
  import '@bendyline/squisq/storage';
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  RecorderButton
3
- } from "../chunk-AZ5ME4XG.js";
3
+ } from "../chunk-WCGDDZB6.js";
4
4
  import {
5
5
  DEFAULT_RECORDER_DEVICE_SETTINGS,
6
6
  RecorderDeviceQuickPicks,
@@ -20,7 +20,7 @@ import {
20
20
  requestScreenStream,
21
21
  useMediaDevices,
22
22
  useMediaRecorder
23
- } from "../chunk-V3J5S7X6.js";
23
+ } from "../chunk-JNJ7XO5L.js";
24
24
  import "../chunk-GS7QWYFT.js";
25
25
  import {
26
26
  buildFilename,
@@ -34,7 +34,7 @@ import {
34
34
  supportsUserMedia,
35
35
  timingPathFor,
36
36
  useStreamPreview
37
- } from "../chunk-OWOKKZAU.js";
37
+ } from "../chunk-IRPOMTYK.js";
38
38
  export {
39
39
  DEFAULT_RECORDER_DEVICE_SETTINGS,
40
40
  RecorderButton,