@bendyline/squisq-editor-react 2.7.0 → 2.7.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-WH3DL6TG.js → chunk-AZ5ME4XG.js} +1 -1
- package/dist/{chunk-NJ2VKEQF.js → chunk-BYXVO34Z.js} +55 -357
- package/dist/{chunk-JUAQQTJE.js → chunk-V3J5S7X6.js} +284 -128
- package/dist/index.d.ts +6 -42
- package/dist/index.js +13 -3
- package/dist/recorder/index.d.ts +1 -1
- package/dist/recorder/index.js +12 -2
- package/dist/{recorder-xL-5Vfbu.d.ts → recorder-DFP0Dw4v.d.ts} +100 -1
- package/dist/shell/index.js +2 -2
- package/package.json +5 -5
package/dist/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export { CanvasRect, ImageEditor, ImageEditorAction, ImageEditorProps, ImageEdit
|
|
|
9
9
|
import { CodeBlockCopyHandler, DisplayMode, CaptionStyle, VideoPresentation, PipSize, PipShape, PipPosition } from '@bendyline/squisq-react';
|
|
10
10
|
import { IconFamily } from '@bendyline/squisq/icons';
|
|
11
11
|
import { CoverSlideTemplate, CoverSlidePlayback, ConnectorRouting, AsciiDiagram, Tree, AsciiTimeline, AsciiTimelineSide, AsciiTimelineMarker } from '@bendyline/squisq/doc';
|
|
12
|
+
export { BuildPreviewDocOptions, buildPreviewDoc, documentTitleFromFileName } from '@bendyline/squisq/doc';
|
|
12
13
|
import { MarkdownWrapState } from '@bendyline/squisq/markdown';
|
|
13
14
|
import * as monaco_editor from 'monaco-editor';
|
|
14
15
|
import { M as MonacoLanguageRequest, a as MonacoLanguageLoadOptions } from './monacoLanguageDetection-DEyUW-BS.js';
|
|
@@ -23,7 +24,7 @@ import { Node } from '@tiptap/pm/model';
|
|
|
23
24
|
import { RenderResult } from 'mermaid';
|
|
24
25
|
import { FenceRendererMap } from '@bendyline/squisq/fence';
|
|
25
26
|
export { JsonEditor, JsonEditorProps } from './json-editor/index.js';
|
|
26
|
-
export { C as CameraStreamOptions, D as DEFAULT_RECORDER_DEVICE_SETTINGS, 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
|
|
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';
|
|
27
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';
|
|
28
29
|
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';
|
|
29
30
|
import '@bendyline/squisq/versions';
|
|
@@ -1611,46 +1612,6 @@ declare function markdownToTiptap(markdown: string): string;
|
|
|
1611
1612
|
*/
|
|
1612
1613
|
declare function tiptapToMarkdown(html: string): string;
|
|
1613
1614
|
|
|
1614
|
-
/**
|
|
1615
|
-
* buildPreviewDoc — Converts a markdown-derived Doc into a player-ready Doc
|
|
1616
|
-
* with TemplateBlock slides and interleaved images.
|
|
1617
|
-
*
|
|
1618
|
-
* Shared between PreviewPanel (live preview) and export flows (HTML/video).
|
|
1619
|
-
*
|
|
1620
|
-
* Pipeline:
|
|
1621
|
-
* 1. Flatten hierarchical blocks into a linear slide sequence
|
|
1622
|
-
* 2. Convert each block into a TemplateBlock-compatible object
|
|
1623
|
-
* 3. Interleave images as standalone imageWithCaption slides
|
|
1624
|
-
* 4. Synthesize a dummy audio segment for timer-based playback
|
|
1625
|
-
*/
|
|
1626
|
-
|
|
1627
|
-
/**
|
|
1628
|
-
* Build a player-ready Doc from a markdown-derived Doc.
|
|
1629
|
-
*
|
|
1630
|
-
* Flattens hierarchical blocks, converts each to a TemplateBlock-compatible
|
|
1631
|
-
* slide, interleaves images, recalculates timing, and adds a synthetic
|
|
1632
|
-
* audio segment.
|
|
1633
|
-
*/
|
|
1634
|
-
interface BuildPreviewDocOptions {
|
|
1635
|
-
/**
|
|
1636
|
-
* Human-facing title to use as the header of the leading heading-less
|
|
1637
|
-
* "preamble" block when the document has no frontmatter `title:`. Hosts
|
|
1638
|
-
* typically pass the file name (extension stripped) via
|
|
1639
|
-
* {@link documentTitleFromFileName}. When neither this nor a frontmatter
|
|
1640
|
-
* title is present, the preamble simply renders with no header rather than
|
|
1641
|
-
* the placeholder block id.
|
|
1642
|
-
*/
|
|
1643
|
-
documentTitle?: string;
|
|
1644
|
-
}
|
|
1645
|
-
/**
|
|
1646
|
-
* Derive a display title from a file name: strip any directory prefix and the
|
|
1647
|
-
* trailing extension (`docs/Longview Plan.md` → `Longview Plan`). Returns an
|
|
1648
|
-
* empty string for an absent/blank name so callers can pass the result through
|
|
1649
|
-
* without extra guards.
|
|
1650
|
-
*/
|
|
1651
|
-
declare function documentTitleFromFileName(fileName?: string): string;
|
|
1652
|
-
declare function buildPreviewDoc(doc: Doc, options?: BuildPreviewDocOptions): Doc;
|
|
1653
|
-
|
|
1654
1615
|
/**
|
|
1655
1616
|
* TemplateAnnotation — Tiptap Heading Extension
|
|
1656
1617
|
*
|
|
@@ -2729,6 +2690,9 @@ declare function shouldPasteAsTreeFence(text: string): boolean;
|
|
|
2729
2690
|
* text in one undoable transaction; the info-string meta is NOT provided
|
|
2730
2691
|
* (it does not survive the ProseMirror round-trip — payload lives in the
|
|
2731
2692
|
* body, see the fence contract docs).
|
|
2693
|
+
*
|
|
2694
|
+
* The React surface lives in `HostFenceWidget.tsx`, mirroring how every
|
|
2695
|
+
* other fence family splits its `.ts` extension from its `.tsx` widget.
|
|
2732
2696
|
*/
|
|
2733
2697
|
|
|
2734
2698
|
type HostFenceBlockEntry = FenceBlockEntry;
|
|
@@ -2959,4 +2923,4 @@ declare function applyTimelineCommand(editor: Editor, blockId: string, command:
|
|
|
2959
2923
|
/** Paste gate for bare, high-confidence Unicode timeline art. */
|
|
2960
2924
|
declare function shouldPasteAsTimelineFence(text: string): boolean;
|
|
2961
2925
|
|
|
2962
|
-
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,
|
|
2926
|
+
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, 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, 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, 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, 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
|
@@ -201,7 +201,7 @@ import {
|
|
|
201
201
|
usePreviewSettings,
|
|
202
202
|
useTimelineData,
|
|
203
203
|
useTreeViewData
|
|
204
|
-
} from "./chunk-
|
|
204
|
+
} from "./chunk-BYXVO34Z.js";
|
|
205
205
|
import "./chunk-V4NBQF5C.js";
|
|
206
206
|
import {
|
|
207
207
|
JsonEditor
|
|
@@ -219,9 +219,10 @@ import {
|
|
|
219
219
|
} from "./chunk-V44VP242.js";
|
|
220
220
|
import {
|
|
221
221
|
RecorderButton
|
|
222
|
-
} from "./chunk-
|
|
222
|
+
} from "./chunk-AZ5ME4XG.js";
|
|
223
223
|
import {
|
|
224
224
|
DEFAULT_RECORDER_DEVICE_SETTINGS,
|
|
225
|
+
RecorderDeviceQuickPicks,
|
|
225
226
|
RecorderDeviceSettingsPanel,
|
|
226
227
|
RecorderModal,
|
|
227
228
|
RecorderPanel,
|
|
@@ -230,11 +231,15 @@ import {
|
|
|
230
231
|
buildRecorderScreenAudioConstraints,
|
|
231
232
|
buildRecorderScreenConstraints,
|
|
232
233
|
getCaptureKind,
|
|
234
|
+
hasRecorderDeviceChoice,
|
|
233
235
|
recordedMediaKind,
|
|
234
236
|
recorderBitsPerSecond,
|
|
237
|
+
recorderDeviceGroups,
|
|
238
|
+
recorderDeviceOptions,
|
|
235
239
|
requestScreenStream,
|
|
240
|
+
useMediaDevices,
|
|
236
241
|
useMediaRecorder
|
|
237
|
-
} from "./chunk-
|
|
242
|
+
} from "./chunk-V3J5S7X6.js";
|
|
238
243
|
import "./chunk-GS7QWYFT.js";
|
|
239
244
|
import {
|
|
240
245
|
TeleprompterView
|
|
@@ -759,6 +764,7 @@ export {
|
|
|
759
764
|
REPAIRABLE_KEY,
|
|
760
765
|
RawEditor,
|
|
761
766
|
RecorderButton,
|
|
767
|
+
RecorderDeviceQuickPicks,
|
|
762
768
|
RecorderDeviceSettingsPanel,
|
|
763
769
|
RecorderModal,
|
|
764
770
|
RecorderPanel,
|
|
@@ -834,6 +840,7 @@ export {
|
|
|
834
840
|
getBlockSlices,
|
|
835
841
|
getCaptureKind,
|
|
836
842
|
getTimelineForNode,
|
|
843
|
+
hasRecorderDeviceChoice,
|
|
837
844
|
imageEditorReducer,
|
|
838
845
|
indentItemOp,
|
|
839
846
|
ingestForWrite,
|
|
@@ -881,6 +888,8 @@ export {
|
|
|
881
888
|
readHeadingLineTransition,
|
|
882
889
|
recordedMediaKind,
|
|
883
890
|
recorderBitsPerSecond,
|
|
891
|
+
recorderDeviceGroups,
|
|
892
|
+
recorderDeviceOptions,
|
|
884
893
|
registerPcmWorklet,
|
|
885
894
|
removeEdgeOp,
|
|
886
895
|
removeItemOp,
|
|
@@ -941,6 +950,7 @@ export {
|
|
|
941
950
|
useFileDrop,
|
|
942
951
|
useFloatingWindow,
|
|
943
952
|
useImageEditor,
|
|
953
|
+
useMediaDevices,
|
|
944
954
|
useMediaRecorder,
|
|
945
955
|
useMermaidDiagramData,
|
|
946
956
|
useMicAnalysis,
|
package/dist/recorder/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { C as CameraStreamOptions, D as DEFAULT_RECORDER_DEVICE_SETTINGS, 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
|
|
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
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';
|
|
3
3
|
import 'react/jsx-runtime';
|
|
4
4
|
import '@bendyline/squisq/schemas';
|
package/dist/recorder/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
RecorderButton
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-AZ5ME4XG.js";
|
|
4
4
|
import {
|
|
5
5
|
DEFAULT_RECORDER_DEVICE_SETTINGS,
|
|
6
|
+
RecorderDeviceQuickPicks,
|
|
6
7
|
RecorderDeviceSettingsPanel,
|
|
7
8
|
RecorderModal,
|
|
8
9
|
RecorderPanel,
|
|
@@ -11,11 +12,15 @@ import {
|
|
|
11
12
|
buildRecorderScreenAudioConstraints,
|
|
12
13
|
buildRecorderScreenConstraints,
|
|
13
14
|
getCaptureKind,
|
|
15
|
+
hasRecorderDeviceChoice,
|
|
14
16
|
recordedMediaKind,
|
|
15
17
|
recorderBitsPerSecond,
|
|
18
|
+
recorderDeviceGroups,
|
|
19
|
+
recorderDeviceOptions,
|
|
16
20
|
requestScreenStream,
|
|
21
|
+
useMediaDevices,
|
|
17
22
|
useMediaRecorder
|
|
18
|
-
} from "../chunk-
|
|
23
|
+
} from "../chunk-V3J5S7X6.js";
|
|
19
24
|
import "../chunk-GS7QWYFT.js";
|
|
20
25
|
import {
|
|
21
26
|
buildFilename,
|
|
@@ -33,6 +38,7 @@ import {
|
|
|
33
38
|
export {
|
|
34
39
|
DEFAULT_RECORDER_DEVICE_SETTINGS,
|
|
35
40
|
RecorderButton,
|
|
41
|
+
RecorderDeviceQuickPicks,
|
|
36
42
|
RecorderDeviceSettingsPanel,
|
|
37
43
|
RecorderModal,
|
|
38
44
|
RecorderPanel,
|
|
@@ -44,8 +50,11 @@ export {
|
|
|
44
50
|
buildTimingJson,
|
|
45
51
|
encodeTimingJson,
|
|
46
52
|
getCaptureKind,
|
|
53
|
+
hasRecorderDeviceChoice,
|
|
47
54
|
recordedMediaKind,
|
|
48
55
|
recorderBitsPerSecond,
|
|
56
|
+
recorderDeviceGroups,
|
|
57
|
+
recorderDeviceOptions,
|
|
49
58
|
requestCameraStream,
|
|
50
59
|
requestMicStream,
|
|
51
60
|
requestScreenStream,
|
|
@@ -54,6 +63,7 @@ export {
|
|
|
54
63
|
supportsMediaRecorder,
|
|
55
64
|
supportsUserMedia,
|
|
56
65
|
timingPathFor,
|
|
66
|
+
useMediaDevices,
|
|
57
67
|
useMediaRecorder,
|
|
58
68
|
useStreamPreview
|
|
59
69
|
};
|
|
@@ -240,6 +240,105 @@ interface RecorderDeviceSettingsPanelProps {
|
|
|
240
240
|
}
|
|
241
241
|
declare function RecorderDeviceSettingsPanel({ value, onChange, disabled, microphoneEnabled, cameraEnabled, screenEnabled, systemAudioEnabled, separateAudioRecorder, primaryStream, cameraStream, }: RecorderDeviceSettingsPanelProps): react_jsx_runtime.JSX.Element;
|
|
242
242
|
|
|
243
|
+
/**
|
|
244
|
+
* Microphone / camera pickers promoted out of "Advanced device settings".
|
|
245
|
+
*
|
|
246
|
+
* Choosing WHICH microphone or camera to record is an everyday decision on a
|
|
247
|
+
* machine that has more than one, and burying it under a disclosure whose
|
|
248
|
+
* other twenty fields are constraint plumbing puts it in the wrong place. Each
|
|
249
|
+
* picker therefore appears inline when — and only when — two conditions hold:
|
|
250
|
+
* its source is enabled, and the browser reports more than one real device of
|
|
251
|
+
* that kind (see `recorderDeviceOptions` for what "real" excludes). A machine
|
|
252
|
+
* with a single webcam gets no camera picker, because there is nothing to pick.
|
|
253
|
+
*
|
|
254
|
+
* These are the SAME selects as the ones in the advanced panel, bound to the
|
|
255
|
+
* same `RecorderDeviceSettings` and rendering the same option list — a
|
|
256
|
+
* shortcut to one setting, never a second source of truth.
|
|
257
|
+
*/
|
|
258
|
+
interface RecorderDeviceQuickPicksProps {
|
|
259
|
+
/** Enumerated devices, typically from `useMediaDevices()`. */
|
|
260
|
+
devices: readonly MediaDeviceInfo[];
|
|
261
|
+
microphoneEnabled: boolean;
|
|
262
|
+
cameraEnabled: boolean;
|
|
263
|
+
audioDeviceId: string;
|
|
264
|
+
cameraDeviceId: string;
|
|
265
|
+
onAudioDeviceChange: (deviceId: string) => void;
|
|
266
|
+
onCameraDeviceChange: (deviceId: string) => void;
|
|
267
|
+
disabled?: boolean;
|
|
268
|
+
}
|
|
269
|
+
declare function RecorderDeviceQuickPicks({ devices, microphoneEnabled, cameraEnabled, audioDeviceId, cameraDeviceId, onAudioDeviceChange, onCameraDeviceChange, disabled, }: RecorderDeviceQuickPicksProps): react_jsx_runtime.JSX.Element | null;
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* Turning an `enumerateDevices()` result into the option list a recorder
|
|
273
|
+
* device picker should show — and answering "does the user actually have a
|
|
274
|
+
* choice here?", which is what decides whether a picker is worth surfacing
|
|
275
|
+
* outside Advanced settings.
|
|
276
|
+
*
|
|
277
|
+
* Two kinds of entry are dropped:
|
|
278
|
+
*
|
|
279
|
+
* - **Alias ids.** Chromium reports `deviceId: 'default'` and
|
|
280
|
+
* `'communications'` for audio inputs: synthetic entries that POINT AT a
|
|
281
|
+
* real device further down the list. Counting them makes a single-microphone
|
|
282
|
+
* machine look like it has three. A picker's own "System default" choice
|
|
283
|
+
* (the empty deviceId — no constraint at all) already covers that intent.
|
|
284
|
+
* - **Blank ids.** Before the first permission grant, browsers return one
|
|
285
|
+
* label-less, id-less entry per device. There is nothing to select, so those
|
|
286
|
+
* are placeholders, not choices.
|
|
287
|
+
*
|
|
288
|
+
* The currently-selected id is always kept, even when a rule above would drop
|
|
289
|
+
* it, so a setting persisted from an earlier session can never silently vanish
|
|
290
|
+
* from the control that owns it.
|
|
291
|
+
*/
|
|
292
|
+
/** One selectable capture device. */
|
|
293
|
+
interface RecorderDeviceOption {
|
|
294
|
+
deviceId: string;
|
|
295
|
+
/** `device.label`, or a positional fallback when labels are withheld. */
|
|
296
|
+
label: string;
|
|
297
|
+
groupId: string;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* The real, selectable devices of one kind. Excludes the synthetic
|
|
301
|
+
* "System default" entry a picker renders itself.
|
|
302
|
+
*/
|
|
303
|
+
declare function recorderDeviceOptions(devices: readonly MediaDeviceInfo[], kind: MediaDeviceKind, noun: string, selectedDeviceId?: string): RecorderDeviceOption[];
|
|
304
|
+
/**
|
|
305
|
+
* True when more than one real device exists — i.e. picking between them is a
|
|
306
|
+
* decision the user could meaningfully make, rather than a control that can
|
|
307
|
+
* only ever restate the system default.
|
|
308
|
+
*/
|
|
309
|
+
declare function hasRecorderDeviceChoice(options: readonly RecorderDeviceOption[]): boolean;
|
|
310
|
+
/** Distinct hardware groups represented by an option list, in first-seen order. */
|
|
311
|
+
declare function recorderDeviceGroups(options: readonly RecorderDeviceOption[]): Array<{
|
|
312
|
+
id: string;
|
|
313
|
+
label: string;
|
|
314
|
+
}>;
|
|
315
|
+
|
|
316
|
+
/**
|
|
317
|
+
* Live `enumerateDevices()` inventory plus the browser's supported-constraint
|
|
318
|
+
* map, shared by every recorder surface that offers a device picker.
|
|
319
|
+
*
|
|
320
|
+
* Enumeration is best effort: browsers withhold labels — and sometimes ids —
|
|
321
|
+
* until the first permission grant, and that grant frequently does NOT fire
|
|
322
|
+
* `devicechange`. Callers holding a preview stream should therefore call
|
|
323
|
+
* `refresh()` when it lands:
|
|
324
|
+
*
|
|
325
|
+
* ```ts
|
|
326
|
+
* const { devices, refresh } = useMediaDevices();
|
|
327
|
+
* useEffect(() => {
|
|
328
|
+
* if (micStream || cameraStream) refresh();
|
|
329
|
+
* }, [micStream, cameraStream, refresh]);
|
|
330
|
+
* ```
|
|
331
|
+
*/
|
|
332
|
+
/** What the browser will tell us about capture devices right now. */
|
|
333
|
+
interface MediaDeviceInventory {
|
|
334
|
+
devices: MediaDeviceInfo[];
|
|
335
|
+
/** `getSupportedConstraints()`, or null when the browser withholds it. */
|
|
336
|
+
supported: Record<string, boolean> | null;
|
|
337
|
+
/** Re-enumerate — call after a permission grant reveals labels. */
|
|
338
|
+
refresh: () => void;
|
|
339
|
+
}
|
|
340
|
+
declare function useMediaDevices(): MediaDeviceInventory;
|
|
341
|
+
|
|
243
342
|
/**
|
|
244
343
|
* useStreamPreview — binds a `MediaStream` to a `<video>` element's
|
|
245
344
|
* `srcObject`. Decouples the preview surface from `useMediaRecorder`,
|
|
@@ -412,4 +511,4 @@ declare function encodeTimingJson(timing: TimingJson): Uint8Array;
|
|
|
412
511
|
*/
|
|
413
512
|
declare function timingPathFor(audioRelativePath: string): string;
|
|
414
513
|
|
|
415
|
-
export {
|
|
514
|
+
export { buildRecorderScreenAudioConstraints as A, buildRecorderScreenConstraints as B, type CameraStreamOptions as C, DEFAULT_RECORDER_DEVICE_SETTINGS as D, buildTimingJson as E, encodeTimingJson as F, hasRecorderDeviceChoice as G, recordedMediaKind as H, recorderBitsPerSecond as I, recorderDeviceGroups as J, recorderDeviceOptions as K, requestCameraStream as L, type MediaDeviceInventory as M, requestMicStream as N, requestScreenStream as O, timingPathFor as P, useMediaDevices as Q, type RecordedBookmark as R, type ScreenStreamHandle as S, type TimingJson as T, useStreamPreview as U, type RecordedMediaKind as a, type RecorderAudioDeviceSettings as b, RecorderButton as c, type RecorderButtonProps as d, type RecorderCameraDeviceSettings as e, type RecorderCameraSaveResult as f, type RecorderColorScheme as g, type RecorderConstraintMode as h, type RecorderDeviceOption as i, RecorderDeviceQuickPicks as j, type RecorderDeviceQuickPicksProps as k, type RecorderDeviceSettings as l, RecorderDeviceSettingsPanel as m, type RecorderDeviceSettingsPanelProps as n, type RecorderEncodingSettings as o, RecorderModal as p, type RecorderModalProps as q, type RecorderNarrationOptions as r, RecorderPanel as s, type RecorderPanelProps as t, type RecorderSaveResult as u, type RecorderScreenAudioSettings as v, type RecorderScreenDeviceSettings as w, type ScreenStreamOptions as x, buildRecorderAudioConstraints as y, buildRecorderCameraConstraints as z };
|
package/dist/shell/index.js
CHANGED
|
@@ -5,11 +5,11 @@ import {
|
|
|
5
5
|
RawEditor,
|
|
6
6
|
WysiwygEditor,
|
|
7
7
|
useEditorContext
|
|
8
|
-
} from "../chunk-
|
|
8
|
+
} from "../chunk-BYXVO34Z.js";
|
|
9
9
|
import "../chunk-V4NBQF5C.js";
|
|
10
10
|
import "../chunk-K2WJYVS4.js";
|
|
11
11
|
import "../chunk-V44VP242.js";
|
|
12
|
-
import "../chunk-
|
|
12
|
+
import "../chunk-V3J5S7X6.js";
|
|
13
13
|
import "../chunk-GS7QWYFT.js";
|
|
14
14
|
import "../chunk-IQFPX2CE.js";
|
|
15
15
|
import "../chunk-OWOKKZAU.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bendyline/squisq-editor-react",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.1",
|
|
4
4
|
"description": "React editor shell with raw/WYSIWYG/preview modes for Squisq documents",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Bendyline",
|
|
@@ -84,10 +84,10 @@
|
|
|
84
84
|
"react-dom": "^18.0.0 || ^19.0.0"
|
|
85
85
|
},
|
|
86
86
|
"dependencies": {
|
|
87
|
-
"@bendyline/squisq": "2.7.
|
|
88
|
-
"@bendyline/squisq-formats": "2.4.
|
|
89
|
-
"@bendyline/squisq-react": "2.7.
|
|
90
|
-
"@bendyline/squisq-video-react": "2.3.
|
|
87
|
+
"@bendyline/squisq": "2.7.1",
|
|
88
|
+
"@bendyline/squisq-formats": "2.4.2",
|
|
89
|
+
"@bendyline/squisq-react": "2.7.1",
|
|
90
|
+
"@bendyline/squisq-video-react": "2.3.3",
|
|
91
91
|
"@fortawesome/fontawesome-free": "7.2.0",
|
|
92
92
|
"@tiptap/core": "2.27.2",
|
|
93
93
|
"@tiptap/extension-heading": "2.27.2",
|