@bendyline/squisq-editor-react 2.13.11 → 2.13.12
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/README.md +5 -0
- package/dist/{chunk-5SRIK3O4.js → chunk-J5IUF3BC.js} +2535 -1668
- package/dist/index.d.ts +19 -22
- package/dist/index.js +1 -1
- package/dist/shell/index.d.ts +1 -1
- package/dist/shell/index.js +1 -1
- package/dist/{shell-dM2AHXc3.d.ts → shell-CdtncgKy.d.ts} +91 -2
- package/dist/styles/index.css +178 -4
- package/package.json +6 -6
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as CodeContext, E as EditorHostMode, S as SceneTextChannel, a as CalcEngineFactory, b as EditorView$1, c as CsvSourceMeta, X as XlsxSourceMeta, F as FormulaEditRecord } from './shell-
|
|
2
|
-
export { A as ApplySourceEditsOptions, B as BlockInsertionBuilder, d as BlockInsertionContext, e as BlockPlacement, f as BlockRange, g as BlockSlice, h as BlockTagVisibility, i as CodeContextSection, j as CoverImageSaveOutput, D as DashboardImageSaveOutput, k as DocumentLinkCandidate, l as DocumentLinkProvider, m as EditorActions, n as EditorColorScheme, o as EditorContextMenuContext, p as EditorContextMenuItem, q as EditorContextMenuItemVisibility, r as EditorContextMenuProvider, s as EditorContextMenuProviderProps, t as EditorContextValue, u as EditorInsertMenuItem, v as EditorMode, w as EditorProvider, x as EditorProviderProps, y as EditorSelectionInfo, z as EditorShell, G as EditorShellProps, H as EditorState, I as FindOptions, J as FindRequest, K as FormulaSessionOptions, L as ImageDisplayMode, M as IngestedSidecar, N as InsertBlockOptions, O as LayoutMode,
|
|
1
|
+
import { C as CodeContext, P as PageTemplateSettings, E as EditorHostMode, S as SceneTextChannel, a as CalcEngineFactory, b as EditorView$1, c as CsvSourceMeta, X as XlsxSourceMeta, F as FormulaEditRecord } from './shell-CdtncgKy.js';
|
|
2
|
+
export { A as ApplySourceEditsOptions, B as BlockInsertionBuilder, d as BlockInsertionContext, e as BlockPlacement, f as BlockRange, g as BlockSlice, h as BlockTagVisibility, i as CodeContextSection, j as CoverImageSaveOutput, D as DashboardImageSaveOutput, k as DocumentLinkCandidate, l as DocumentLinkProvider, m as EditorActions, n as EditorColorScheme, o as EditorContextMenuContext, p as EditorContextMenuItem, q as EditorContextMenuItemVisibility, r as EditorContextMenuProvider, s as EditorContextMenuProviderProps, t as EditorContextValue, u as EditorInsertMenuItem, v as EditorMode, w as EditorProvider, x as EditorProviderProps, y as EditorSelectionInfo, z as EditorShell, G as EditorShellProps, H as EditorState, I as FindOptions, J as FindRequest, K as FormulaSessionOptions, L as ImageDisplayMode, M as IngestedSidecar, N as InsertBlockOptions, O as LayoutMode, Q as MentionCandidate, R as MentionProvider, T as NavigationSheetPanel, U as OutlineBlock, V as OutlineInsertion, W as PageTemplateChoice, Y as PreviewPanel, Z as PreviewPanelProps, _ as RawEditor, $ as RawEditorProps, a0 as ThemeInheritance, a1 as ViewPreferences, a2 as WriteCanvasSettings, a3 as WysiwygEditor, a4 as WysiwygEditorProps, a5 as XLSX_LOCKED_REASON, a6 as XlsxFormulaSession, a7 as applySourceEditsToText, a8 as blockInsertionPoint, a9 as createXlsxFormulaSession, aa as getBlockSlices, ab as headingDepthForInsertion, ac as ingestSidecarBytes, ad as joinBlockAt, ae as lineToOffset, af as minimalReplaceEdit, ag as normalizeSourceEdits, ah as offsetToLine, ai as resolveOutlineInsertion, aj as sliceIndexAtOffset, ak as sourceOutline, al as spliceBlock, am as useEditorContext, an as useEditorContextMenuItems, ao as useEditorInsertMenuItems } from './shell-CdtncgKy.js';
|
|
3
3
|
import * as react from 'react';
|
|
4
4
|
import { ReactNode, CSSProperties, ReactElement } from 'react';
|
|
5
5
|
import { Doc, ScheduledClip, VideoPlacement, VideoPipSize, VideoPipShape, VideoPipPosition, MediaEdits, MediaProvider, Theme, CustomTemplateDefinition, ThemeSeedColors, ViewportPreset, ViewportConfig, Block, MediaEntry, DiagramEdgeAnchor } from '@bendyline/squisq/schemas';
|
|
@@ -546,22 +546,6 @@ interface EmojiPickerProps {
|
|
|
546
546
|
}
|
|
547
547
|
declare function EmojiPicker({ open, onSelect, onClose, anchorRef, className, style, theme, }: EmojiPickerProps): react.JSX.Element | null;
|
|
548
548
|
|
|
549
|
-
/**
|
|
550
|
-
* DocumentSettingsDialog
|
|
551
|
-
*
|
|
552
|
-
* Modal editor for the frontmatter values that Squisq currently
|
|
553
|
-
* understands: document title and cover subtitle plus the persisted preview keys
|
|
554
|
-
* (`squisq-theme`, `squisq-transform`, `squisq-captions`). Writes back
|
|
555
|
-
* to the same `setFrontmatterValues` channel that `PreviewControls`
|
|
556
|
-
* uses, so any change made here is reflected in the play-mode controls
|
|
557
|
-
* (and vice versa).
|
|
558
|
-
*
|
|
559
|
-
* Title behavior: the placeholder shows the title that
|
|
560
|
-
* `inferDocumentTitle()` would derive from frontmatter or headings.
|
|
561
|
-
* When the user-entered title is empty or equal to the inferred title,
|
|
562
|
-
* the `title:` key is removed from frontmatter — there's no point
|
|
563
|
-
* storing a redundant value.
|
|
564
|
-
*/
|
|
565
549
|
interface DocumentSettingsDialogProps {
|
|
566
550
|
/** Current markdown source string (frontmatter + body). */
|
|
567
551
|
markdownSource: string;
|
|
@@ -579,8 +563,13 @@ interface DocumentSettingsDialogProps {
|
|
|
579
563
|
defaultThemeId?: string;
|
|
580
564
|
/** Label for the Theme picker's default entry. Defaults to `'Default'`. */
|
|
581
565
|
defaultThemeLabel?: string;
|
|
566
|
+
/**
|
|
567
|
+
* Page template capability. Defaults to the one `EditorShell` received as
|
|
568
|
+
* `pageTemplates`; the Page template field appears only when one is set.
|
|
569
|
+
*/
|
|
570
|
+
pageTemplates?: PageTemplateSettings | null;
|
|
582
571
|
}
|
|
583
|
-
declare function DocumentSettingsDialog({ markdownSource, onSave, onClose, defaultThemeId, defaultThemeLabel, }: DocumentSettingsDialogProps): react.JSX.Element;
|
|
572
|
+
declare function DocumentSettingsDialog({ markdownSource, onSave, onClose, defaultThemeId, defaultThemeLabel, pageTemplates: pageTemplatesProp, }: DocumentSettingsDialogProps): react.JSX.Element;
|
|
584
573
|
|
|
585
574
|
interface ThemePickerProps {
|
|
586
575
|
/** Currently selected theme id. Empty string represents "default". */
|
|
@@ -1138,8 +1127,16 @@ interface OutlinePanelProps {
|
|
|
1138
1127
|
className?: string;
|
|
1139
1128
|
/** Disable heading-level changes and section reordering. */
|
|
1140
1129
|
readOnly?: boolean;
|
|
1130
|
+
/**
|
|
1131
|
+
* `sheet` fills the navigation sheet instead of taking a pane's width, and
|
|
1132
|
+
* leaves focus where it is after a jump so choosing a section does not
|
|
1133
|
+
* raise the on-screen keyboard. Defaults to `pane`.
|
|
1134
|
+
*/
|
|
1135
|
+
presentation?: 'pane' | 'sheet';
|
|
1136
|
+
/** Called after choosing a row has moved the editor to that section. */
|
|
1137
|
+
onNavigate?: () => void;
|
|
1141
1138
|
}
|
|
1142
|
-
declare function OutlinePanel({ width, className, readOnly }: OutlinePanelProps): react.JSX.Element;
|
|
1139
|
+
declare function OutlinePanel({ width, className, readOnly, presentation, onNavigate, }: OutlinePanelProps): react.JSX.Element;
|
|
1143
1140
|
|
|
1144
1141
|
interface ThemeCustomizerPanelProps {
|
|
1145
1142
|
/** Current custom theme (or null to start from defaults). */
|
|
@@ -3078,7 +3075,7 @@ declare function DataCardWidget({ editor, blockId, getMediaProvider, getMediaRev
|
|
|
3078
3075
|
* VideoEmbedExtension — the Write view's inline player for hosted videos.
|
|
3079
3076
|
*
|
|
3080
3077
|
* A top-level paragraph that is nothing but a link (or bare URL) to a
|
|
3081
|
-
* YouTube, Vimeo, Loom
|
|
3078
|
+
* YouTube, Vimeo, Loom or Wistia page gets the provider's player
|
|
3082
3079
|
* mounted ABOVE it. The paragraph itself stays in the document, visible and
|
|
3083
3080
|
* editable, styled as the player's caption: edit its text to retitle the
|
|
3084
3081
|
* video, edit the link (or the URL) to change it, delete it to remove the
|
|
@@ -3597,4 +3594,4 @@ declare function unshownSlidesWarning(total: number, unshown: number): string |
|
|
|
3597
3594
|
/** The exact label of the review-state block-timings checkbox. */
|
|
3598
3595
|
declare const SLIDE_TIMING_CHECKBOX_LABEL = "Update block timings when I save this narration";
|
|
3599
3596
|
|
|
3600
|
-
export { ALL_PICKER_ENTRIES, type AddTimelineEventOptions, type AddTimelineEventResult, type ApplyAsciiDiagramCommandOptions, type AsciiDiagramBlockEntry, AsciiDiagramExtension, type AsciiDiagramExtensionOptions, type AsciiDiagramPluginState, type AsciiDiagramView, AsciiDiagramWidget, BlockCardView, type BlockCardViewProps, type BlockNavigator, BlockPropertiesPopover, type BlockPropertiesPopoverProps, CODE_SNIPPET_KEY, CODE_SNIPPET_LANGUAGES, CalcEngineFactory, CodeContext, CodeContextZones, type CodeSnippetBlockEntry, type CodeSnippetData, CodeSnippetExtension, type CodeSnippetExtensionOptions, type CodeSnippetLanguage, type CodeSnippetPluginState, CodeSnippetWidget, type CodeSnippetWidgetProps, CsvSourceMeta, type CustomTemplateContextValue, CustomTemplateProvider, type CustomTemplateProviderProps, type CustomThemeContextValue, CustomThemeProvider, type CustomThemeProviderProps, DATA_CARD_KEY, DEFAULT_MERMAID_DIAGRAM_TYPE, type DataCardBlockEntry, DataCardExtension, type DataCardExtensionOptions, type DataCardPluginState, DataCardWidget, type DataPreview, DiagramCanvas, type DiagramCommand, type DiagramData, type DiagramEdge, type DiagramNode, type DirectionModel, type DocCustomTemplates, type DocCustomThemes, DocumentSettingsDialog, type DocumentSettingsDialogProps, type DragContentType, type DropTarget, DropZoneOverlay, type DropZoneOverlayProps, EMPTY_TRANSITION, EditorHostMode, EditorView$1 as EditorView, EmojiPicker, type EmojiPickerProps, FENCE_WIDGET_CONTAINED_EVENTS, type FenceBlockEntry, type FileCategory, type FileKind, type FolderEntry, FolderView, type FolderViewProps, FormulaEditRecord, type GridSaveResult, HOST_FENCE_KEY, type HeadingTransitionAttrs, type HeadingViewBinding, HeadingWithTemplate, type HostFenceBlockEntry, HostFenceExtension, type HostFenceExtensionOptions, type HostFencePluginState, ImportThemeSection, type ImportThemeSectionProps, type ImportedThemeResult, InlinePreviewGutter, type InlinePreviewGutterProps, MERMAID_DIAGRAM_KEY, MERMAID_DIAGRAM_TYPES, MERMAID_FLOWCHART_SHAPES, MarkdownEscape, MediaBin, type MediaBinProps, type MediaClipPatch, type MermaidDiagramBlockEntry, MermaidDiagramCanvas, type MermaidDiagramCanvasProps, type MermaidDiagramCategory, type MermaidDiagramData, MermaidDiagramExtension, type MermaidDiagramExtensionOptions, type MermaidDiagramPluginState, type MermaidDiagramPreview, type MermaidDiagramProperty, type MermaidDiagramType, MermaidDiagramTypeThumbnail, MermaidDiagramWidget, type MermaidDiagramWidgetProps, type MermaidEditCapabilities, type MermaidEditableDiagramKind, type MermaidEditableEdge, type MermaidEditableModel, type MermaidEditableNode, type MermaidEditableText, type MermaidEditableTextTarget, type MermaidFlowchartDirection, type MermaidFlowchartModel, type MermaidFlowchartShape, type MermaidFlowchartShapeId, type MermaidNodeCanvasAction, type MermaidRenderResult, type MermaidSelection, MermaidShapePalette, type MermaidShapePaletteProps, type MermaidSourceEditableModel, type MermaidSurfaceScheme, type MermaidValidationResult, MonacoLanguageLoadOptions, MonacoLanguageRequest, OutlinePanel, type OutlinePanelProps, PICKER_CATEGORIES, type PickerCategory, type PickerEntry, PlainHtmlPreview, type PlainHtmlPreviewProps, PreviewFormatSwitch, PreviewModeMenu, PreviewModeSwitch, type PreviewSettings, PreviewSettingsProvider, PreviewToolbarControls, type PreviewToolbarControlsProps, REPAIRABLE_KEY, type RecorderPanelMode, type RecorderSlide, RecorderSlidesPanel, type RecorderSlidesPanelProps, RecorderState, type RepairableBlockEntry, RepairableDiagramExtension, type RepairableDiagramExtensionOptions, type RepairablePluginState, SLIDE_TIMING_CHECKBOX_LABEL, SVG_ISLAND_KEY, type SaveCsvEditsOptions, type SaveXlsxEditsOptions, StatusBar, type StatusBarProps, Subscript, Superscript, type SvgIslandBlockEntry, SvgIslandExtension, type SvgIslandExtensionOptions, type SvgIslandPluginState, SvgIslandWidget, type SvgIslandWidgetProps, TIMELINE_VIEW_KEY, TRANSITION_ENTRIES, TRANSITION_GROUPS, TemplatePicker, ThemeCustomizerPanel, type ThemeCustomizerPanelProps, ThemePicker, type ThemePickerProps, type ThemeSaveExtras, type TimelineBlockEntry, type TimelineCommand, type TimelineCommandResult, TimelineCompositionPanel, type TimelineCompositionPanelProps, TimelineEditorWidget, type TimelineEditorWidgetProps, type TimelineEventPatch, TimelineToolbar, type TimelineToolbarProps, TimelineTrack, type TimelineTrackProps, TimelineVideoPanel, type TimelineVideoPanelProps, type TimelineViewData, TimelineViewExtension, type TimelineViewExtensionOptions, type TimelineViewPluginState, Toolbar, type ToolbarProps, TooltipLayer, TransformMenu, type TransitionCatalogEntry, type TransitionFields, type TransitionGroup, TransitionPicker, type TransitionPickerProps, type TreeBlockEntry, type TreeCommand, TreeOutlineWidget, type TreeViewData, TreeViewExtension, type TreeViewExtensionOptions, type TreeViewPluginState, type UseBlockNavigatorOptions, type UseFileDropOptions, type UseFileDropResult, type UseMonacoLoaderResult, VIDEO_EMBED_KEY, VersionHistoryPanel, type VideoEmbedBlockEntry, VideoEmbedDialog, type VideoEmbedDialogProps, VideoEmbedExtension, type VideoEmbedExtensionOptions, type VideoEmbedPluginState, ViewMenuPanel, ViewSwitcher, type ViewSwitcherProps, type WrapPolicyIngest, XlsxSourceMeta, adaptThemeToSurface, addEdgeOp, addItemOp, addNodeOp, addTimelineEventOp, applyAsciiDiagramCommand, applyRepairCommand, applyTimelineCommand, applyTreeCommand, asciiDiagramToCanvas, buildRecorderSlideDeck, clampSlideIndex, classifyFile, codeSnippetFenceLanguageToken, codeSnippetLanguageLabel, codeSnippetMarkdown, containFenceWidgetEvents, convertVideoEmbedToLink, dataExtensionOf, dataLinkHrefOf, describeSvgIslandRemovals, detectLanguageFromFileName, draftPatchFromImportedTheme, findAsciiDiagramBlockPos, findCodeSnippetBlockPos, findDataCardBlockPos, findHostFenceBlockPos, findMermaidDiagramBlockPos, findOwningHeadingPosition, findRepairableBlockPos, findSvgIslandBlockPos, findTimelineBlockPos, findTransitionEntry, findTreeBlockPos, findVideoEmbedBlockPos, formatSeconds, getTimelineForNode, indentItemOp, ingestForWrite, insertVideoEmbedReference, inspectMermaidSource, isAsciiSourceVisible, isCodeSnippetFenceLanguage, isCodeSnippetNode, isExpandedPanel, isMermaidDiagramNode, isMermaidFlowchartShapeId, isMermaidSourceVisible, isRepairableFence, isSvgIslandNode, isSvgIslandSourceVisible, isTimelineSourceSafeForSemanticEdit, loadDataPreview, mapFenceEntries, markdownToTiptap, mermaidDiagramMarkdown, mermaidDiagramProperties, mermaidEditCapabilities, mermaidEditableTexts, mermaidErrorMessage, mermaidSurfaceScheme, monacoLanguageForFence, moveItemDownOp, moveItemUpOp, moveNodeOp, nextTimelineEventId, normalizeMermaidFlowchartShape, outdentItemOp, panelModeAfterToggle, parseTimelineForNode, partitionFiles, pasteVideoEmbedCode, persistFromWrite, preloadMonaco, preloadMonacoSuggestions, processDataFiles, processMediaFiles, processTextFile, processTextFiles, readBlockAttrsParams, readBlockAttrsTransition, readBlockAttrsValue, readHeadingLineTransition, readHeadingViewBinding, removeEdgeOp, removeItemOp, removeNodeOp, removeTimelineEventOp, renameItemOp, renameNodeOp, renderMermaidDiagram, replaceAsciiFenceText, replaceCodeSnippetText, replaceHostFenceText, replaceSvgIslandText, replaceAsciiFenceText as replaceTreeFenceText, resizeNodeOp, resolveFileKind, resolveMermaidSurfaceTheme, sanitizeAsciiLabel, sanitizeTimelineText, sanitizeTreeLabel, saveCsvEdits, saveXlsxEdits, searchPickerEntries, setBlockAttrsValue, setBlockDurationInSource, setBlockStartTimeInSource, setBlockTransitionInSource, setHeadingAttrsTransition, setHeadingLineTransition, setMediaClipInSource, shouldPasteAsAsciiFence, shouldPasteAsSvgFence, shouldPasteAsTimelineFence, shouldPasteAsTreeFence, showSlideTimingCheckbox, slideStepForKey, summarizeBlockProps, templateLabel, tiptapToMarkdown, toggleAsciiSource, toggleDirOp, toggleMermaidSource, toggleSvgIslandSource, transitionLabel, translateDiagramOp, unshownSlidesWarning, updateTimelineEventOp, useAsciiDiagramData, useBlockNavigator, useCodeSnippetData, useCustomTemplates, useCustomThemes, useDocCustomTemplates, useDocCustomThemes, useFileDrop, useMermaidDiagramData, useMermaidSurfaceTheme, useMonacoLoader, usePreviewSettings, usePreviewSettingsOptional, useTimelineData, useTreeViewData, validateMermaidSource, videoEmbedMarkdown, videoEmbedOfParagraph, videoEmbedParagraphJson, viewStateFromBinding, writeHeadingViewState };
|
|
3597
|
+
export { ALL_PICKER_ENTRIES, type AddTimelineEventOptions, type AddTimelineEventResult, type ApplyAsciiDiagramCommandOptions, type AsciiDiagramBlockEntry, AsciiDiagramExtension, type AsciiDiagramExtensionOptions, type AsciiDiagramPluginState, type AsciiDiagramView, AsciiDiagramWidget, BlockCardView, type BlockCardViewProps, type BlockNavigator, BlockPropertiesPopover, type BlockPropertiesPopoverProps, CODE_SNIPPET_KEY, CODE_SNIPPET_LANGUAGES, CalcEngineFactory, CodeContext, CodeContextZones, type CodeSnippetBlockEntry, type CodeSnippetData, CodeSnippetExtension, type CodeSnippetExtensionOptions, type CodeSnippetLanguage, type CodeSnippetPluginState, CodeSnippetWidget, type CodeSnippetWidgetProps, CsvSourceMeta, type CustomTemplateContextValue, CustomTemplateProvider, type CustomTemplateProviderProps, type CustomThemeContextValue, CustomThemeProvider, type CustomThemeProviderProps, DATA_CARD_KEY, DEFAULT_MERMAID_DIAGRAM_TYPE, type DataCardBlockEntry, DataCardExtension, type DataCardExtensionOptions, type DataCardPluginState, DataCardWidget, type DataPreview, DiagramCanvas, type DiagramCommand, type DiagramData, type DiagramEdge, type DiagramNode, type DirectionModel, type DocCustomTemplates, type DocCustomThemes, DocumentSettingsDialog, type DocumentSettingsDialogProps, type DragContentType, type DropTarget, DropZoneOverlay, type DropZoneOverlayProps, EMPTY_TRANSITION, EditorHostMode, EditorView$1 as EditorView, EmojiPicker, type EmojiPickerProps, FENCE_WIDGET_CONTAINED_EVENTS, type FenceBlockEntry, type FileCategory, type FileKind, type FolderEntry, FolderView, type FolderViewProps, FormulaEditRecord, type GridSaveResult, HOST_FENCE_KEY, type HeadingTransitionAttrs, type HeadingViewBinding, HeadingWithTemplate, type HostFenceBlockEntry, HostFenceExtension, type HostFenceExtensionOptions, type HostFencePluginState, ImportThemeSection, type ImportThemeSectionProps, type ImportedThemeResult, InlinePreviewGutter, type InlinePreviewGutterProps, MERMAID_DIAGRAM_KEY, MERMAID_DIAGRAM_TYPES, MERMAID_FLOWCHART_SHAPES, MarkdownEscape, MediaBin, type MediaBinProps, type MediaClipPatch, type MermaidDiagramBlockEntry, MermaidDiagramCanvas, type MermaidDiagramCanvasProps, type MermaidDiagramCategory, type MermaidDiagramData, MermaidDiagramExtension, type MermaidDiagramExtensionOptions, type MermaidDiagramPluginState, type MermaidDiagramPreview, type MermaidDiagramProperty, type MermaidDiagramType, MermaidDiagramTypeThumbnail, MermaidDiagramWidget, type MermaidDiagramWidgetProps, type MermaidEditCapabilities, type MermaidEditableDiagramKind, type MermaidEditableEdge, type MermaidEditableModel, type MermaidEditableNode, type MermaidEditableText, type MermaidEditableTextTarget, type MermaidFlowchartDirection, type MermaidFlowchartModel, type MermaidFlowchartShape, type MermaidFlowchartShapeId, type MermaidNodeCanvasAction, type MermaidRenderResult, type MermaidSelection, MermaidShapePalette, type MermaidShapePaletteProps, type MermaidSourceEditableModel, type MermaidSurfaceScheme, type MermaidValidationResult, MonacoLanguageLoadOptions, MonacoLanguageRequest, OutlinePanel, type OutlinePanelProps, PICKER_CATEGORIES, PageTemplateSettings, 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, SVG_ISLAND_KEY, type SaveCsvEditsOptions, type SaveXlsxEditsOptions, StatusBar, type StatusBarProps, Subscript, Superscript, type SvgIslandBlockEntry, SvgIslandExtension, type SvgIslandExtensionOptions, type SvgIslandPluginState, SvgIslandWidget, type SvgIslandWidgetProps, TIMELINE_VIEW_KEY, TRANSITION_ENTRIES, TRANSITION_GROUPS, TemplatePicker, ThemeCustomizerPanel, type ThemeCustomizerPanelProps, ThemePicker, type ThemePickerProps, type ThemeSaveExtras, type TimelineBlockEntry, type TimelineCommand, type TimelineCommandResult, TimelineCompositionPanel, type TimelineCompositionPanelProps, TimelineEditorWidget, type TimelineEditorWidgetProps, type TimelineEventPatch, TimelineToolbar, type TimelineToolbarProps, TimelineTrack, type TimelineTrackProps, TimelineVideoPanel, type TimelineVideoPanelProps, type TimelineViewData, TimelineViewExtension, type TimelineViewExtensionOptions, type TimelineViewPluginState, Toolbar, type ToolbarProps, TooltipLayer, TransformMenu, type TransitionCatalogEntry, type TransitionFields, type TransitionGroup, TransitionPicker, type TransitionPickerProps, type TreeBlockEntry, type TreeCommand, TreeOutlineWidget, type TreeViewData, TreeViewExtension, type TreeViewExtensionOptions, type TreeViewPluginState, type UseBlockNavigatorOptions, type UseFileDropOptions, type UseFileDropResult, type UseMonacoLoaderResult, VIDEO_EMBED_KEY, VersionHistoryPanel, type VideoEmbedBlockEntry, VideoEmbedDialog, type VideoEmbedDialogProps, VideoEmbedExtension, type VideoEmbedExtensionOptions, type VideoEmbedPluginState, ViewMenuPanel, ViewSwitcher, type ViewSwitcherProps, type WrapPolicyIngest, XlsxSourceMeta, adaptThemeToSurface, addEdgeOp, addItemOp, addNodeOp, addTimelineEventOp, applyAsciiDiagramCommand, applyRepairCommand, applyTimelineCommand, applyTreeCommand, asciiDiagramToCanvas, buildRecorderSlideDeck, clampSlideIndex, classifyFile, codeSnippetFenceLanguageToken, codeSnippetLanguageLabel, codeSnippetMarkdown, containFenceWidgetEvents, convertVideoEmbedToLink, dataExtensionOf, dataLinkHrefOf, describeSvgIslandRemovals, detectLanguageFromFileName, draftPatchFromImportedTheme, findAsciiDiagramBlockPos, findCodeSnippetBlockPos, findDataCardBlockPos, findHostFenceBlockPos, findMermaidDiagramBlockPos, findOwningHeadingPosition, findRepairableBlockPos, findSvgIslandBlockPos, findTimelineBlockPos, findTransitionEntry, findTreeBlockPos, findVideoEmbedBlockPos, formatSeconds, getTimelineForNode, indentItemOp, ingestForWrite, insertVideoEmbedReference, inspectMermaidSource, isAsciiSourceVisible, isCodeSnippetFenceLanguage, isCodeSnippetNode, isExpandedPanel, isMermaidDiagramNode, isMermaidFlowchartShapeId, isMermaidSourceVisible, isRepairableFence, isSvgIslandNode, isSvgIslandSourceVisible, isTimelineSourceSafeForSemanticEdit, loadDataPreview, mapFenceEntries, markdownToTiptap, mermaidDiagramMarkdown, mermaidDiagramProperties, mermaidEditCapabilities, mermaidEditableTexts, mermaidErrorMessage, mermaidSurfaceScheme, monacoLanguageForFence, moveItemDownOp, moveItemUpOp, moveNodeOp, nextTimelineEventId, normalizeMermaidFlowchartShape, outdentItemOp, panelModeAfterToggle, parseTimelineForNode, partitionFiles, pasteVideoEmbedCode, persistFromWrite, preloadMonaco, preloadMonacoSuggestions, processDataFiles, processMediaFiles, processTextFile, processTextFiles, readBlockAttrsParams, readBlockAttrsTransition, readBlockAttrsValue, readHeadingLineTransition, readHeadingViewBinding, removeEdgeOp, removeItemOp, removeNodeOp, removeTimelineEventOp, renameItemOp, renameNodeOp, renderMermaidDiagram, replaceAsciiFenceText, replaceCodeSnippetText, replaceHostFenceText, replaceSvgIslandText, replaceAsciiFenceText as replaceTreeFenceText, resizeNodeOp, resolveFileKind, resolveMermaidSurfaceTheme, sanitizeAsciiLabel, sanitizeTimelineText, sanitizeTreeLabel, saveCsvEdits, saveXlsxEdits, searchPickerEntries, setBlockAttrsValue, setBlockDurationInSource, setBlockStartTimeInSource, setBlockTransitionInSource, setHeadingAttrsTransition, setHeadingLineTransition, setMediaClipInSource, shouldPasteAsAsciiFence, shouldPasteAsSvgFence, shouldPasteAsTimelineFence, shouldPasteAsTreeFence, showSlideTimingCheckbox, slideStepForKey, summarizeBlockProps, templateLabel, tiptapToMarkdown, toggleAsciiSource, toggleDirOp, toggleMermaidSource, toggleSvgIslandSource, transitionLabel, translateDiagramOp, unshownSlidesWarning, updateTimelineEventOp, useAsciiDiagramData, useBlockNavigator, useCodeSnippetData, useCustomTemplates, useCustomThemes, useDocCustomTemplates, useDocCustomThemes, useFileDrop, useMermaidDiagramData, useMermaidSurfaceTheme, useMonacoLoader, usePreviewSettings, usePreviewSettingsOptional, useTimelineData, useTreeViewData, validateMermaidSource, videoEmbedMarkdown, videoEmbedOfParagraph, videoEmbedParagraphJson, viewStateFromBinding, writeHeadingViewState };
|
package/dist/index.js
CHANGED
package/dist/shell/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { h as BlockTagVisibility, k as DocumentLinkCandidate, l as DocumentLinkProvider, m as EditorActions, n as EditorColorScheme, o as EditorContextMenuContext, p as EditorContextMenuItem, q as EditorContextMenuItemVisibility, r as EditorContextMenuProvider, s as EditorContextMenuProviderProps, t as EditorContextValue, E as EditorHostMode, u as EditorInsertMenuItem, v as EditorMode, w as EditorProvider, x as EditorProviderProps, z as EditorShell, G as EditorShellProps, H as EditorState, b as EditorView, L as ImageDisplayMode, O as LayoutMode,
|
|
1
|
+
export { h as BlockTagVisibility, k as DocumentLinkCandidate, l as DocumentLinkProvider, m as EditorActions, n as EditorColorScheme, o as EditorContextMenuContext, p as EditorContextMenuItem, q as EditorContextMenuItemVisibility, r as EditorContextMenuProvider, s as EditorContextMenuProviderProps, t as EditorContextValue, E as EditorHostMode, u as EditorInsertMenuItem, v as EditorMode, w as EditorProvider, x as EditorProviderProps, z as EditorShell, G as EditorShellProps, H as EditorState, b as EditorView, L as ImageDisplayMode, O as LayoutMode, Q as MentionCandidate, R as MentionProvider, Y as PreviewPanel, Z as PreviewPanelProps, _ as RawEditor, $ as RawEditorProps, a0 as ThemeInheritance, a1 as ViewPreferences, a3 as WysiwygEditor, a4 as WysiwygEditorProps, am as useEditorContext, an as useEditorContextMenuItems, ao as useEditorInsertMenuItems } from '../shell-CdtncgKy.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import '@bendyline/squisq/table';
|
|
4
4
|
import '@bendyline/squisq-calc';
|
package/dist/shell/index.js
CHANGED
|
@@ -1092,6 +1092,9 @@ interface ViewPreferences {
|
|
|
1092
1092
|
}
|
|
1093
1093
|
declare function EditorProvider({ initialMarkdown, initialView, articleId, colorScheme: initialColorScheme, workspaceContainer, allowVersioning, versionBasename, versioningPrunePolicy, versioningAutoSaveIdleMs, onSaveVersion, mediaProvider, mediaEditRenders, imageDisplayMode, mentionProvider, proofing, proofingDefaultEnabled, proofingSpellingEnabled, proofingGrammarEnabled, proofingIgnoreStore, speechInput, documentLinkProvider, wikiLinks, fenceRenderers, onCopyCode, linkSchemes, allowRecording, allowNarrate, preserveSourceWrapping, fileName, saveCoverImageOutput, saveDashboardImageOutput, language, findMode: controlledFindMode, onFindModeChange, findRequest, inlinePreview, showStatusBar, outline, blockTags, blockTagVisibility: initialBlockTagVisibility, themeInheritance, layoutMode, viewPreferences, onViewPreferencesChange, children, }: EditorProviderProps): react.JSX.Element;
|
|
1094
1094
|
|
|
1095
|
+
/** Which list the navigation sheet shows. */
|
|
1096
|
+
type NavigationSheetPanel = 'outline' | 'previews';
|
|
1097
|
+
|
|
1095
1098
|
/**
|
|
1096
1099
|
* Host-supplied context sections rendered INSIDE the Monaco (raw/code)
|
|
1097
1100
|
* surface: collapsible markdown blurbs injected above anchor lines, plus an
|
|
@@ -1168,6 +1171,36 @@ interface CodeContext {
|
|
|
1168
1171
|
onToggleSection?: (sectionId: string, expanded: boolean) => void;
|
|
1169
1172
|
}
|
|
1170
1173
|
|
|
1174
|
+
/**
|
|
1175
|
+
* Page templates — host capability for choosing the page a rendered document
|
|
1176
|
+
* is generated inside (the `squisq-output-template` frontmatter key; see
|
|
1177
|
+
* `applyHtmlPageTemplate` in `@bendyline/squisq-formats/html`).
|
|
1178
|
+
*
|
|
1179
|
+
* Only the host knows whether the open document renders through a template
|
|
1180
|
+
* and which files can serve as one, so the Document settings dialog offers a
|
|
1181
|
+
* Page template field only when the host passes `EditorShell` a
|
|
1182
|
+
* `pageTemplates` value.
|
|
1183
|
+
*/
|
|
1184
|
+
interface PageTemplateChoice {
|
|
1185
|
+
/** The `squisq-output-template` value that selects this template. */
|
|
1186
|
+
readonly value: string;
|
|
1187
|
+
/** How the choice is listed, typically the template's path. */
|
|
1188
|
+
readonly label: string;
|
|
1189
|
+
}
|
|
1190
|
+
interface PageTemplateSettings {
|
|
1191
|
+
/**
|
|
1192
|
+
* The templates the document may use. Called each time Document settings
|
|
1193
|
+
* opens, so a template added since appears without remounting the editor.
|
|
1194
|
+
*/
|
|
1195
|
+
listTemplates: () => Promise<readonly PageTemplateChoice[]>;
|
|
1196
|
+
/**
|
|
1197
|
+
* What applies when the document names no template, such as
|
|
1198
|
+
* `'Workspace default (_templates/post.html)'`. Omit when nothing applies;
|
|
1199
|
+
* the field then offers that choice as "None".
|
|
1200
|
+
*/
|
|
1201
|
+
defaultLabel?: string;
|
|
1202
|
+
}
|
|
1203
|
+
|
|
1171
1204
|
/** Host-controlled typography for the markdown Write canvas. */
|
|
1172
1205
|
interface WriteCanvasSettings {
|
|
1173
1206
|
/** Base text size in CSS pixels. Headings continue to scale relative to it. */
|
|
@@ -1704,6 +1737,21 @@ interface EditorShellProps {
|
|
|
1704
1737
|
* the View menu has toggled it on).
|
|
1705
1738
|
*/
|
|
1706
1739
|
outlineWidth?: number;
|
|
1740
|
+
/**
|
|
1741
|
+
* The navigation sheet that stands in for the outline and preview panes
|
|
1742
|
+
* once the editor body is too narrow for them (~720px): a popover from the
|
|
1743
|
+
* right edge holding the outline or a scrolling list of block previews.
|
|
1744
|
+
* On touch, swiping in from the right edge opens the outline and turning
|
|
1745
|
+
* the swipe downward opens previews; tapping outside it, Escape, swiping it
|
|
1746
|
+
* back, or choosing a section closes it.
|
|
1747
|
+
*
|
|
1748
|
+
* Leave unset for the shell to manage it. Hosts that need to close it
|
|
1749
|
+
* themselves (from a hardware Back button, say) pass the open panel, or
|
|
1750
|
+
* `null` while closed, together with {@link onNavigationSheetChange}.
|
|
1751
|
+
*/
|
|
1752
|
+
navigationSheet?: NavigationSheetPanel | null;
|
|
1753
|
+
/** Called when the navigation sheet opens, changes panel, or closes. */
|
|
1754
|
+
onNavigationSheetChange?: (panel: NavigationSheetPanel | null) => void;
|
|
1707
1755
|
/**
|
|
1708
1756
|
* Legacy initial visibility of inline block-template tags on headings.
|
|
1709
1757
|
* `true` maps to always visible and `false` maps to hidden. When omitted,
|
|
@@ -1765,12 +1813,45 @@ interface EditorShellProps {
|
|
|
1765
1813
|
* `'Default'`.
|
|
1766
1814
|
*/
|
|
1767
1815
|
defaultThemeLabel?: string;
|
|
1816
|
+
/**
|
|
1817
|
+
* Set when the document renders through a page template the author can
|
|
1818
|
+
* choose (`squisq-output-template`). Document settings then offers a Page
|
|
1819
|
+
* template field listing the host's templates. Keep the value stable
|
|
1820
|
+
* across renders.
|
|
1821
|
+
*/
|
|
1822
|
+
pageTemplates?: PageTemplateSettings | null;
|
|
1768
1823
|
}
|
|
1769
1824
|
/**
|
|
1770
1825
|
* Complete markdown editor shell with toolbar, view switcher, and three
|
|
1771
1826
|
* editing modes: Raw (Monaco), WYSIWYG (Tiptap), and Preview.
|
|
1772
1827
|
*/
|
|
1773
|
-
declare function EditorShell({ ariaLabel, initialMarkdown, initialView, hostMode, defaultViewportPreset, articleId, basePath, onChange, onLinkClick, showCodeCopyButton, onCopyCode, colorScheme, className, height, minHeight, maxHeight, mediaProvider, mediaEditRenders, workspaceContainer, allowVersioning, versionBasename, versioningPrunePolicy, versioningAutoSaveIdleMs, onSaveVersion, showFilesToggle, showFilesWhenNotEmpty, showFormattingControls, showInsertControls, allowBinaryDownloads, toolbarSlotLeft, toolbarSlotAfterActions, toolbarSlotRight, summarizationDesigner, statusBarSlotRight, sidePanelSlot, reviewProviders, showPlayTab, allowPresentationWindow, allowPresentationFullscreen, allowPrint, submitOnEnter, calcEngineFactory, codeContext, fullWidth, uxFont, thinMargins, writeCanvasSettings, showStatusBar, imageDisplayMode, fileName, saveCoverImageOutput, saveDashboardImageOutput, language, findMode, onFindModeChange, findRequest, findShortcut, mentionProvider, proofing, proofingDefaultEnabled, proofingSpellingEnabled, proofingGrammarEnabled, proofingIgnoreStore, speechInput, documentLinkProvider, wikiLinks, fenceRenderers, linkSchemes, allowRecording, allowNarrate, preserveSourceWrapping, placeholder, readOnly, imageSrc, imageAlt, imageMode, imageEditorContainer, onImageExport, inlinePreview, inlinePreviewWidth, outline, outlineWidth, blockTags, blockTagVisibility, themeInheritance, viewPreferences, onViewPreferencesChange, themeOverride, defaultThemeId, defaultThemeLabel, }: EditorShellProps): react.JSX.Element;
|
|
1828
|
+
declare function EditorShell({ ariaLabel, initialMarkdown, initialView, hostMode, defaultViewportPreset, articleId, basePath, onChange, onLinkClick, showCodeCopyButton, onCopyCode, colorScheme, className, height, minHeight, maxHeight, mediaProvider, mediaEditRenders, workspaceContainer, allowVersioning, versionBasename, versioningPrunePolicy, versioningAutoSaveIdleMs, onSaveVersion, showFilesToggle, showFilesWhenNotEmpty, showFormattingControls, showInsertControls, allowBinaryDownloads, toolbarSlotLeft, toolbarSlotAfterActions, toolbarSlotRight, summarizationDesigner, statusBarSlotRight, sidePanelSlot, reviewProviders, showPlayTab, allowPresentationWindow, allowPresentationFullscreen, allowPrint, submitOnEnter, calcEngineFactory, codeContext, fullWidth, uxFont, thinMargins, writeCanvasSettings, showStatusBar, imageDisplayMode, fileName, saveCoverImageOutput, saveDashboardImageOutput, language, findMode, onFindModeChange, findRequest, findShortcut, mentionProvider, proofing, proofingDefaultEnabled, proofingSpellingEnabled, proofingGrammarEnabled, proofingIgnoreStore, speechInput, documentLinkProvider, wikiLinks, fenceRenderers, linkSchemes, allowRecording, allowNarrate, preserveSourceWrapping, placeholder, readOnly, imageSrc, imageAlt, imageMode, imageEditorContainer, onImageExport, inlinePreview, inlinePreviewWidth, outline, outlineWidth, navigationSheet, onNavigationSheetChange, blockTags, blockTagVisibility, themeInheritance, viewPreferences, onViewPreferencesChange, themeOverride, defaultThemeId, defaultThemeLabel, pageTemplates, }: EditorShellProps): react.JSX.Element;
|
|
1829
|
+
|
|
1830
|
+
/**
|
|
1831
|
+
* MediaClipboard — copy, cut and paste of one image, video or audio clip in
|
|
1832
|
+
* the Write view.
|
|
1833
|
+
*
|
|
1834
|
+
* Copying a selected clip remembers it: its node, and the bytes of the file
|
|
1835
|
+
* it names when that file is stored with the document. The clipboard HTML
|
|
1836
|
+
* carries the copy's id. A paste that finds the id:
|
|
1837
|
+
*
|
|
1838
|
+
* - in the document it was copied from inserts the same reference, so the
|
|
1839
|
+
* file is not stored twice;
|
|
1840
|
+
* - in another document stores the remembered bytes in that document's
|
|
1841
|
+
* media and references the new file, because the original path means
|
|
1842
|
+
* nothing there — unless that path already holds the same file.
|
|
1843
|
+
*
|
|
1844
|
+
* Other applications get the picture itself: an image copy also writes a PNG
|
|
1845
|
+
* and an `<img>` whose source is the image's data, which they paste as an
|
|
1846
|
+
* image. The clipboard has no format for video or audio, so those carry their
|
|
1847
|
+
* file only between Squisq editors in this page.
|
|
1848
|
+
*
|
|
1849
|
+
* The memory is one copy deep and lives in this module, so it spans every
|
|
1850
|
+
* editor in the page but not other windows. A paste from another window finds
|
|
1851
|
+
* no match, and the Write view stores the clipboard's PNG instead.
|
|
1852
|
+
*/
|
|
1853
|
+
|
|
1854
|
+
type ClipboardMediaKind = 'image' | 'video' | 'audio';
|
|
1774
1855
|
|
|
1775
1856
|
/**
|
|
1776
1857
|
* Shared editor context menu.
|
|
@@ -1788,6 +1869,14 @@ interface EditorContextMenuContext {
|
|
|
1788
1869
|
hasSelection: boolean;
|
|
1789
1870
|
/** False in Preview and when the host made the editor read-only. */
|
|
1790
1871
|
editable: boolean;
|
|
1872
|
+
/**
|
|
1873
|
+
* The image, video or audio clip the right-click landed on, which it
|
|
1874
|
+
* selected (Write view only). Cut and Copy act on the clip.
|
|
1875
|
+
*/
|
|
1876
|
+
media?: {
|
|
1877
|
+
kind: ClipboardMediaKind;
|
|
1878
|
+
src: string;
|
|
1879
|
+
};
|
|
1791
1880
|
clientX: number;
|
|
1792
1881
|
clientY: number;
|
|
1793
1882
|
target: Element;
|
|
@@ -1934,4 +2023,4 @@ interface EditorInsertMenuItem {
|
|
|
1934
2023
|
/** Call from a toolbar slot; callbacks retain access to the editor context. */
|
|
1935
2024
|
declare function useEditorInsertMenuItems(items: readonly EditorInsertMenuItem[]): void;
|
|
1936
2025
|
|
|
1937
|
-
export { type
|
|
2026
|
+
export { type RawEditorProps as $, type ApplySourceEditsOptions as A, type BlockInsertionBuilder as B, type CodeContext as C, type DashboardImageSaveOutput as D, type EditorHostMode as E, type FormulaEditRecord as F, type EditorShellProps as G, type EditorState as H, type FindOptions as I, type FindRequest as J, type FormulaSessionOptions as K, type ImageDisplayMode as L, type IngestedSidecar as M, type InsertBlockOptions as N, type LayoutMode as O, type PageTemplateSettings as P, type MentionCandidate as Q, type MentionProvider as R, type SceneTextChannel as S, type NavigationSheetPanel as T, type OutlineBlock as U, type OutlineInsertion as V, type PageTemplateChoice as W, type XlsxSourceMeta as X, PreviewPanel as Y, type PreviewPanelProps as Z, RawEditor as _, type CalcEngineFactory as a, type ThemeInheritance as a0, type ViewPreferences as a1, type WriteCanvasSettings as a2, WysiwygEditor as a3, type WysiwygEditorProps as a4, XLSX_LOCKED_REASON as a5, type XlsxFormulaSession as a6, applySourceEditsToText as a7, blockInsertionPoint as a8, createXlsxFormulaSession as a9, getBlockSlices as aa, headingDepthForInsertion as ab, ingestSidecarBytes as ac, joinBlockAt as ad, lineToOffset as ae, minimalReplaceEdit as af, normalizeSourceEdits as ag, offsetToLine as ah, resolveOutlineInsertion as ai, sliceIndexAtOffset as aj, sourceOutline as ak, spliceBlock as al, useEditorContext as am, useEditorContextMenuItems as an, useEditorInsertMenuItems as ao, type EditorView as b, type CsvSourceMeta as c, type BlockInsertionContext as d, type BlockPlacement as e, type BlockRange as f, type BlockSlice as g, type BlockTagVisibility as h, type CodeContextSection as i, type CoverImageSaveOutput as j, type DocumentLinkCandidate as k, type DocumentLinkProvider as l, type EditorActions as m, type EditorColorScheme as n, type EditorContextMenuContext as o, type EditorContextMenuItem as p, type EditorContextMenuItemVisibility as q, EditorContextMenuProvider as r, type EditorContextMenuProviderProps as s, type EditorContextValue as t, type EditorInsertMenuItem as u, type EditorMode as v, EditorProvider as w, type EditorProviderProps as x, type EditorSelectionInfo as y, EditorShell as z };
|
package/dist/styles/index.css
CHANGED
|
@@ -9897,9 +9897,6 @@
|
|
|
9897
9897
|
.squisq-status-spacer {
|
|
9898
9898
|
flex: 1;
|
|
9899
9899
|
}
|
|
9900
|
-
.squisq-status-ok {
|
|
9901
|
-
color: var(--squisq-success);
|
|
9902
|
-
}
|
|
9903
9900
|
.squisq-status-error {
|
|
9904
9901
|
color: var(--squisq-danger);
|
|
9905
9902
|
}
|
|
@@ -13620,7 +13617,7 @@ button.squisq-view-menu-radio-row:focus-visible {
|
|
|
13620
13617
|
.squisq-block-preview-panel,
|
|
13621
13618
|
.squisq-inline-preview-gutter,
|
|
13622
13619
|
.squisq-inline-preview-connectors,
|
|
13623
|
-
.squisq-outline {
|
|
13620
|
+
.squisq-outline:not(.squisq-outline--sheet) {
|
|
13624
13621
|
display: none;
|
|
13625
13622
|
}
|
|
13626
13623
|
}
|
|
@@ -14970,6 +14967,183 @@ button.squisq-view-menu-radio-row:focus-visible {
|
|
|
14970
14967
|
color: var(--squisq-text-soft);
|
|
14971
14968
|
}
|
|
14972
14969
|
|
|
14970
|
+
/* src/styles/navigation-sheet.css */
|
|
14971
|
+
.squisq-navigation-sheet {
|
|
14972
|
+
--squisq-navigation-sheet-progress: 0;
|
|
14973
|
+
--squisq-navigation-sheet-duration: 220ms;
|
|
14974
|
+
--squisq-navigation-sheet-gap: 56px;
|
|
14975
|
+
--squisq-navigation-sheet-inset: 8px;
|
|
14976
|
+
position: absolute;
|
|
14977
|
+
inset: 0;
|
|
14978
|
+
z-index: 40;
|
|
14979
|
+
visibility: hidden;
|
|
14980
|
+
pointer-events: none;
|
|
14981
|
+
transition: visibility 0s linear var(--squisq-navigation-sheet-duration);
|
|
14982
|
+
}
|
|
14983
|
+
.squisq-navigation-sheet[data-state=dragging],
|
|
14984
|
+
.squisq-navigation-sheet[data-state=open] {
|
|
14985
|
+
visibility: visible;
|
|
14986
|
+
pointer-events: auto;
|
|
14987
|
+
transition: none;
|
|
14988
|
+
}
|
|
14989
|
+
.squisq-navigation-sheet[data-state=open] {
|
|
14990
|
+
--squisq-navigation-sheet-progress: 1;
|
|
14991
|
+
}
|
|
14992
|
+
@container squisq-editor-body (width > 720px) {
|
|
14993
|
+
.squisq-navigation-sheet {
|
|
14994
|
+
display: none;
|
|
14995
|
+
}
|
|
14996
|
+
}
|
|
14997
|
+
@media (prefers-reduced-motion: reduce) {
|
|
14998
|
+
.squisq-navigation-sheet {
|
|
14999
|
+
--squisq-navigation-sheet-duration: 0ms;
|
|
15000
|
+
}
|
|
15001
|
+
}
|
|
15002
|
+
.squisq-navigation-sheet-scrim {
|
|
15003
|
+
position: absolute;
|
|
15004
|
+
inset: 0;
|
|
15005
|
+
background: var(--squisq-scrim);
|
|
15006
|
+
opacity: var(--squisq-navigation-sheet-progress);
|
|
15007
|
+
transition: opacity var(--squisq-navigation-sheet-duration) ease;
|
|
15008
|
+
}
|
|
15009
|
+
.squisq-navigation-sheet-panel {
|
|
15010
|
+
position: absolute;
|
|
15011
|
+
top: var(--squisq-navigation-sheet-inset);
|
|
15012
|
+
right: var(--squisq-navigation-sheet-inset);
|
|
15013
|
+
bottom: var(--squisq-navigation-sheet-inset);
|
|
15014
|
+
width: min(calc(100% - var(--squisq-navigation-sheet-gap) - var(--squisq-navigation-sheet-inset)), 400px);
|
|
15015
|
+
display: flex;
|
|
15016
|
+
flex-direction: column;
|
|
15017
|
+
overflow: hidden;
|
|
15018
|
+
background: var(--squisq-surface-overlay);
|
|
15019
|
+
border: 1px solid var(--squisq-border);
|
|
15020
|
+
border-radius: 12px;
|
|
15021
|
+
box-shadow: var(--squisq-shadow-lg);
|
|
15022
|
+
color: var(--squisq-text);
|
|
15023
|
+
font-family: var(--squisq-ux-font, system-ui, sans-serif);
|
|
15024
|
+
outline: none;
|
|
15025
|
+
transform: translateX(calc((1 - var(--squisq-navigation-sheet-progress)) * (100% + var(--squisq-navigation-sheet-inset) + 32px)));
|
|
15026
|
+
transition: transform var(--squisq-navigation-sheet-duration) ease;
|
|
15027
|
+
}
|
|
15028
|
+
.squisq-navigation-sheet-header {
|
|
15029
|
+
display: flex;
|
|
15030
|
+
align-items: center;
|
|
15031
|
+
gap: 6px;
|
|
15032
|
+
padding: 8px;
|
|
15033
|
+
border-bottom: 1px solid var(--squisq-border-subtle);
|
|
15034
|
+
}
|
|
15035
|
+
.squisq-navigation-sheet-tabs {
|
|
15036
|
+
display: flex;
|
|
15037
|
+
flex: 1;
|
|
15038
|
+
min-width: 0;
|
|
15039
|
+
gap: 2px;
|
|
15040
|
+
padding: 2px;
|
|
15041
|
+
border-radius: 8px;
|
|
15042
|
+
background: var(--squisq-surface-sunken);
|
|
15043
|
+
}
|
|
15044
|
+
.squisq-navigation-sheet-tab {
|
|
15045
|
+
flex: 1 1 0;
|
|
15046
|
+
min-width: 0;
|
|
15047
|
+
min-height: 36px;
|
|
15048
|
+
padding: 0 8px;
|
|
15049
|
+
border: none;
|
|
15050
|
+
border-radius: 6px;
|
|
15051
|
+
background: transparent;
|
|
15052
|
+
color: var(--squisq-text-soft);
|
|
15053
|
+
font: inherit;
|
|
15054
|
+
font-size: 13px;
|
|
15055
|
+
font-weight: 500;
|
|
15056
|
+
white-space: nowrap;
|
|
15057
|
+
overflow: hidden;
|
|
15058
|
+
text-overflow: ellipsis;
|
|
15059
|
+
cursor: pointer;
|
|
15060
|
+
}
|
|
15061
|
+
.squisq-navigation-sheet-tab[aria-selected=true] {
|
|
15062
|
+
background: var(--squisq-surface-raised);
|
|
15063
|
+
color: var(--squisq-text-strong);
|
|
15064
|
+
box-shadow: var(--squisq-shadow-sm);
|
|
15065
|
+
}
|
|
15066
|
+
.squisq-navigation-sheet-close {
|
|
15067
|
+
flex: none;
|
|
15068
|
+
display: inline-flex;
|
|
15069
|
+
align-items: center;
|
|
15070
|
+
justify-content: center;
|
|
15071
|
+
width: 36px;
|
|
15072
|
+
height: 36px;
|
|
15073
|
+
border: none;
|
|
15074
|
+
border-radius: 8px;
|
|
15075
|
+
background: transparent;
|
|
15076
|
+
color: var(--squisq-text-muted);
|
|
15077
|
+
font-size: 16px;
|
|
15078
|
+
cursor: pointer;
|
|
15079
|
+
}
|
|
15080
|
+
.squisq-navigation-sheet-close:hover {
|
|
15081
|
+
background: var(--squisq-surface-hover);
|
|
15082
|
+
color: var(--squisq-text);
|
|
15083
|
+
}
|
|
15084
|
+
.squisq-navigation-sheet-tab:focus-visible,
|
|
15085
|
+
.squisq-navigation-sheet-close:focus-visible,
|
|
15086
|
+
.squisq-preview-list-card:focus-visible {
|
|
15087
|
+
outline: 2px solid var(--squisq-focus-ring);
|
|
15088
|
+
outline-offset: 1px;
|
|
15089
|
+
}
|
|
15090
|
+
.squisq-navigation-sheet-body {
|
|
15091
|
+
flex: 1;
|
|
15092
|
+
min-height: 0;
|
|
15093
|
+
overflow-y: auto;
|
|
15094
|
+
overscroll-behavior: contain;
|
|
15095
|
+
}
|
|
15096
|
+
.squisq-navigation-sheet-body,
|
|
15097
|
+
.squisq-navigation-sheet-body * {
|
|
15098
|
+
touch-action: pan-y;
|
|
15099
|
+
}
|
|
15100
|
+
.squisq-outline--sheet {
|
|
15101
|
+
background: transparent;
|
|
15102
|
+
overflow: visible;
|
|
15103
|
+
}
|
|
15104
|
+
.squisq-preview-list {
|
|
15105
|
+
display: flex;
|
|
15106
|
+
flex-direction: column;
|
|
15107
|
+
gap: 12px;
|
|
15108
|
+
margin: 0;
|
|
15109
|
+
padding: 12px;
|
|
15110
|
+
list-style: none;
|
|
15111
|
+
}
|
|
15112
|
+
.squisq-preview-list > li {
|
|
15113
|
+
content-visibility: auto;
|
|
15114
|
+
contain-intrinsic-size: auto 200px;
|
|
15115
|
+
}
|
|
15116
|
+
.squisq-preview-list-card {
|
|
15117
|
+
display: flex;
|
|
15118
|
+
flex-direction: column;
|
|
15119
|
+
gap: 6px;
|
|
15120
|
+
width: 100%;
|
|
15121
|
+
padding: 8px;
|
|
15122
|
+
background: var(--squisq-preview-card-bg);
|
|
15123
|
+
border: 1px solid var(--squisq-preview-card-border);
|
|
15124
|
+
border-radius: 8px;
|
|
15125
|
+
box-shadow: var(--squisq-preview-card-shadow);
|
|
15126
|
+
color: inherit;
|
|
15127
|
+
font: inherit;
|
|
15128
|
+
text-align: left;
|
|
15129
|
+
cursor: pointer;
|
|
15130
|
+
}
|
|
15131
|
+
.squisq-preview-list-card > .squisq-inline-preview-card-svg {
|
|
15132
|
+
display: block;
|
|
15133
|
+
}
|
|
15134
|
+
.squisq-preview-list-empty {
|
|
15135
|
+
padding: 16px;
|
|
15136
|
+
color: var(--squisq-text-muted);
|
|
15137
|
+
font-size: 13px;
|
|
15138
|
+
}
|
|
15139
|
+
@media (pointer: coarse) {
|
|
15140
|
+
@container squisq-editor-body (max-width: 720px) {
|
|
15141
|
+
.squisq-wysiwyg-container {
|
|
15142
|
+
touch-action: pan-y pinch-zoom;
|
|
15143
|
+
}
|
|
15144
|
+
}
|
|
15145
|
+
}
|
|
15146
|
+
|
|
14973
15147
|
/* src/styles/wiki-links.css */
|
|
14974
15148
|
.squisq-wiki-link button {
|
|
14975
15149
|
font: inherit;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bendyline/squisq-editor-react",
|
|
3
|
-
"version": "2.13.
|
|
3
|
+
"version": "2.13.12",
|
|
4
4
|
"description": "React editor shell with raw/WYSIWYG/preview modes for Squisq documents",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Bendyline",
|
|
@@ -102,12 +102,12 @@
|
|
|
102
102
|
}
|
|
103
103
|
},
|
|
104
104
|
"dependencies": {
|
|
105
|
-
"@bendyline/squisq": "2.13.
|
|
105
|
+
"@bendyline/squisq": "2.13.7",
|
|
106
106
|
"@bendyline/squisq-calc": "2.11.2",
|
|
107
|
-
"@bendyline/squisq-formats": "2.8.
|
|
108
|
-
"@bendyline/squisq-grid-react": "2.11.
|
|
109
|
-
"@bendyline/squisq-react": "2.12.
|
|
110
|
-
"@bendyline/squisq-video-react": "2.5.
|
|
107
|
+
"@bendyline/squisq-formats": "2.8.8",
|
|
108
|
+
"@bendyline/squisq-grid-react": "2.11.36",
|
|
109
|
+
"@bendyline/squisq-react": "2.12.19",
|
|
110
|
+
"@bendyline/squisq-video-react": "2.5.20",
|
|
111
111
|
"@fortawesome/fontawesome-free": "7.3.1",
|
|
112
112
|
"@tiptap/core": "2.27.3",
|
|
113
113
|
"@tiptap/extension-heading": "2.27.3",
|