@bendyline/squisq-editor-react 2.3.4 → 2.4.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.
package/dist/monaco.js CHANGED
@@ -1,9 +1,47 @@
1
+ import {
2
+ monacoLanguageRequestKey,
3
+ monacoLanguagesForDocument,
4
+ normalizeMonacoLanguage,
5
+ normalizedMonacoLanguageRequests
6
+ } from "./chunk-V4NBQF5C.js";
7
+
8
+ // src/monacoFeatures.ts
9
+ import "monaco-editor/esm/vs/editor/browser/coreCommands.js";
10
+ import "monaco-editor/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js";
11
+ import "monaco-editor/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js";
12
+ import "monaco-editor/esm/vs/editor/contrib/caretOperations/browser/caretOperations.js";
13
+ import "monaco-editor/esm/vs/editor/contrib/caretOperations/browser/transpose.js";
14
+ import "monaco-editor/esm/vs/editor/contrib/clipboard/browser/clipboard.js";
15
+ import "monaco-editor/esm/vs/editor/contrib/comment/browser/comment.js";
16
+ import "monaco-editor/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js";
17
+ import "monaco-editor/esm/vs/editor/contrib/cursorUndo/browser/cursorUndo.js";
18
+ import "monaco-editor/esm/vs/editor/contrib/dnd/browser/dnd.js";
19
+ import "monaco-editor/esm/vs/editor/contrib/find/browser/findController.js";
20
+ import "monaco-editor/esm/vs/editor/contrib/folding/browser/folding.js";
21
+ import "monaco-editor/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js";
22
+ import "monaco-editor/esm/vs/editor/contrib/indentation/browser/indentation.js";
23
+ import "monaco-editor/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js";
24
+ import "monaco-editor/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js";
25
+ import "monaco-editor/esm/vs/editor/contrib/links/browser/links.js";
26
+ import "monaco-editor/esm/vs/editor/contrib/multicursor/browser/multicursor.js";
27
+ import "monaco-editor/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js";
28
+ import "monaco-editor/esm/vs/editor/contrib/tokenization/browser/tokenization.js";
29
+ import "monaco-editor/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js";
30
+ import "monaco-editor/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js";
31
+ import "monaco-editor/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js";
32
+ import "monaco-editor/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js";
33
+ import "monaco-editor/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js";
34
+ import "monaco-editor/esm/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js";
35
+ import "monaco-editor/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js";
36
+ import "monaco-editor/esm/vs/editor/common/standaloneStrings.js";
37
+ import "monaco-editor/esm/vs/base/browser/ui/codicons/codiconStyles.js";
38
+ import "monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js";
39
+
1
40
  // src/monaco.ts
2
- import "monaco-editor/esm/vs/editor/editor.main.js";
3
- import * as monaco from "monaco-editor/esm/vs/editor/editor.api.js";
41
+ export * from "monaco-editor/esm/vs/editor/editor.api.js";
4
42
 
5
43
  // src/monacoJsonc.ts
6
- var JSONC_LANGUAGE = {
44
+ var JSON_LANGUAGE = {
7
45
  defaultToken: "",
8
46
  // Reuse Monaco's JSON token scopes so built-in and host themes color JSONC
9
47
  // exactly like JSON instead of requiring JSONC-specific theme rules.
@@ -51,18 +89,114 @@ var JSONC_CONFIGURATION = {
51
89
  { open: '"', close: '"' }
52
90
  ]
53
91
  };
54
- function registerJsoncLanguage(monaco2) {
55
- if (monaco2.languages.getLanguages().some(({ id }) => id === "jsonc")) return;
56
- monaco2.languages.register({
92
+ function registerJsoncLanguage(monaco) {
93
+ if (monaco.languages.getLanguages().some(({ id }) => id === "jsonc")) return;
94
+ monaco.languages.register({
57
95
  id: "jsonc",
58
96
  aliases: ["JSONC", "JSON with Comments", "jsonc"],
59
97
  extensions: [".jsonc"],
60
98
  mimetypes: ["application/jsonc"]
61
99
  });
62
- monaco2.languages.setLanguageConfiguration("jsonc", JSONC_CONFIGURATION);
63
- monaco2.languages.setMonarchTokensProvider("jsonc", JSONC_LANGUAGE);
100
+ monaco.languages.setLanguageConfiguration("jsonc", JSONC_CONFIGURATION);
101
+ monaco.languages.setMonarchTokensProvider("jsonc", JSON_LANGUAGE);
102
+ }
103
+ function registerJsonLanguage(monaco) {
104
+ if (monaco.languages.getLanguages().some(({ id }) => id === "json")) return;
105
+ monaco.languages.register({
106
+ id: "json",
107
+ aliases: ["JSON", "json"],
108
+ extensions: [".json"],
109
+ mimetypes: ["application/json"]
110
+ });
111
+ monaco.languages.setLanguageConfiguration("json", JSONC_CONFIGURATION);
112
+ monaco.languages.setMonarchTokensProvider("json", JSON_LANGUAGE);
113
+ }
114
+
115
+ // src/monacoLanguages.ts
116
+ var SYNTAX_LOADERS = {
117
+ cpp: () => import("monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js"),
118
+ csharp: () => import("monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js"),
119
+ css: () => import("monaco-editor/esm/vs/basic-languages/css/css.contribution.js"),
120
+ dockerfile: () => import("monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js"),
121
+ go: () => import("monaco-editor/esm/vs/basic-languages/go/go.contribution.js"),
122
+ handlebars: () => import("monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js"),
123
+ html: () => import("monaco-editor/esm/vs/basic-languages/html/html.contribution.js"),
124
+ ini: () => import("monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js"),
125
+ java: () => import("monaco-editor/esm/vs/basic-languages/java/java.contribution.js"),
126
+ javascript: () => import("monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js"),
127
+ kotlin: () => import("monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js"),
128
+ less: () => import("monaco-editor/esm/vs/basic-languages/less/less.contribution.js"),
129
+ lua: () => import("monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js"),
130
+ markdown: () => import("monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js"),
131
+ php: () => import("monaco-editor/esm/vs/basic-languages/php/php.contribution.js"),
132
+ python: () => import("monaco-editor/esm/vs/basic-languages/python/python.contribution.js"),
133
+ ruby: () => import("monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js"),
134
+ rust: () => import("monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js"),
135
+ scss: () => import("monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js"),
136
+ shell: () => import("monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js"),
137
+ sql: () => import("monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js"),
138
+ swift: () => import("monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js"),
139
+ typescript: () => import("monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js"),
140
+ xml: () => import("monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js"),
141
+ yaml: () => import("monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js")
142
+ };
143
+ var SERVICE_LOADERS = {
144
+ css: () => import("monaco-editor/esm/vs/language/css/monaco.contribution.js"),
145
+ html: () => import("monaco-editor/esm/vs/language/html/monaco.contribution.js"),
146
+ javascript: () => import("monaco-editor/esm/vs/language/typescript/monaco.contribution.js"),
147
+ json: () => import("monaco-editor/esm/vs/language/json/monaco.contribution.js"),
148
+ jsonc: () => import("monaco-editor/esm/vs/language/json/monaco.contribution.js"),
149
+ less: () => import("monaco-editor/esm/vs/language/css/monaco.contribution.js"),
150
+ scss: () => import("monaco-editor/esm/vs/language/css/monaco.contribution.js"),
151
+ typescript: () => import("monaco-editor/esm/vs/language/typescript/monaco.contribution.js")
152
+ };
153
+ var languagePromises = /* @__PURE__ */ new Map();
154
+ async function registerLightweightJson(language) {
155
+ const monaco = await import("monaco-editor/esm/vs/editor/editor.api.js");
156
+ if (language === "json") registerJsonLanguage(monaco);
157
+ else registerJsoncLanguage(monaco);
158
+ }
159
+ function loadLanguage(language, languageServices) {
160
+ if (!language || language === "plaintext") return Promise.resolve();
161
+ const serviceLoader = languageServices ? SERVICE_LOADERS[language] : void 0;
162
+ const cacheKey = `${serviceLoader ? "services" : "syntax"}:${language}`;
163
+ const existing = languagePromises.get(cacheKey);
164
+ if (existing) return existing;
165
+ const syntaxLoader = SYNTAX_LOADERS[language];
166
+ const promise = (async () => {
167
+ if (serviceLoader) {
168
+ await Promise.all([import("./monacoSuggestions-MDBODZ7F.js"), syntaxLoader?.(), serviceLoader()]);
169
+ if (language === "jsonc") await registerLightweightJson("jsonc");
170
+ return;
171
+ }
172
+ if (language === "json" || language === "jsonc") {
173
+ await registerLightweightJson(language);
174
+ return;
175
+ }
176
+ await syntaxLoader?.();
177
+ })().catch((error) => {
178
+ languagePromises.delete(cacheKey);
179
+ throw error;
180
+ });
181
+ languagePromises.set(cacheKey, promise);
182
+ return promise;
183
+ }
184
+ async function loadMonacoLanguages(requested, options = {}) {
185
+ await Promise.all(
186
+ normalizedMonacoLanguageRequests(requested).map(
187
+ (language) => loadLanguage(language, options.languageServices === true)
188
+ )
189
+ );
64
190
  }
65
191
 
66
192
  // src/monaco.ts
67
- export * from "monaco-editor/esm/vs/editor/editor.api.js";
68
- registerJsoncLanguage(monaco);
193
+ async function loadMonacoSuggestions() {
194
+ await import("./monacoSuggestions-MDBODZ7F.js");
195
+ }
196
+ export {
197
+ loadMonacoLanguages,
198
+ loadMonacoSuggestions,
199
+ monacoLanguageRequestKey,
200
+ monacoLanguagesForDocument,
201
+ normalizeMonacoLanguage
202
+ };
@@ -0,0 +1,18 @@
1
+ /** Pure language normalization and Markdown-fence detection (no Monaco imports). */
2
+ type MonacoLanguageRequest = string | readonly string[] | null | undefined;
3
+ interface MonacoLanguageLoadOptions {
4
+ /**
5
+ * Enable worker-backed IDE services for CSS/HTML/JSON/JavaScript/TypeScript.
6
+ * Syntax highlighting remains available when false. Defaults to false.
7
+ */
8
+ languageServices?: boolean;
9
+ }
10
+ declare function normalizeMonacoLanguage(language: string): string;
11
+ declare function monacoLanguageRequestKey(requested: MonacoLanguageRequest, options?: MonacoLanguageLoadOptions): string;
12
+ /**
13
+ * Return the primary language plus explicit languages used by Markdown fences.
14
+ * Closing fences and untagged fences do not add language work.
15
+ */
16
+ declare function monacoLanguagesForDocument(primaryLanguage: string, source: string): string[];
17
+
18
+ export { type MonacoLanguageRequest as M, type MonacoLanguageLoadOptions as a, monacoLanguagesForDocument as b, monacoLanguageRequestKey as m, normalizeMonacoLanguage as n };
@@ -0,0 +1,3 @@
1
+ // src/monacoSuggestions.ts
2
+ import "monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetController2.js";
3
+ import "monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestController.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  RecorderButton
3
- } from "../chunk-6VDYKI3L.js";
3
+ } from "../chunk-VNUGP7NG.js";
4
4
  import {
5
5
  RecorderModal,
6
6
  RecorderPanel,
7
7
  getCaptureKind,
8
8
  requestScreenStream,
9
9
  useMediaRecorder
10
- } from "../chunk-MJJK7YQB.js";
10
+ } from "../chunk-F4NBECWR.js";
11
11
  import "../chunk-GS7QWYFT.js";
12
12
  import {
13
13
  buildFilename,
@@ -1,4 +1,4 @@
1
- export { B as BlockTagVisibility, D as DocumentLinkCandidate, b as DocumentLinkProvider, E as EditorActions, c as EditorColorScheme, d as EditorContextValue, e as EditorMode, f as EditorProvider, g as EditorProviderProps, h as EditorShell, i as EditorShellProps, j as EditorState, k as EditorView, I as ImageDisplayMode, L as LayoutMode, M as MentionCandidate, l as MentionProvider, P as PreviewPanel, m as PreviewPanelProps, R as RawEditor, n as RawEditorProps, T as ThemeInheritance, V as ViewPreferences, o as WysiwygEditor, p as WysiwygEditorProps, u as useEditorContext } from '../shell-C-KkTBz7.js';
1
+ export { B as BlockTagVisibility, D as DocumentLinkCandidate, b as DocumentLinkProvider, c as EditorActions, d as EditorColorScheme, e as EditorContextValue, E as EditorHostMode, f as EditorMode, g as EditorProvider, h as EditorProviderProps, i as EditorShell, j as EditorShellProps, k as EditorState, l as EditorView, I as ImageDisplayMode, L as LayoutMode, M as MentionCandidate, m as MentionProvider, P as PreviewPanel, n as PreviewPanelProps, R as RawEditor, o as RawEditorProps, T as ThemeInheritance, V as ViewPreferences, p as WysiwygEditor, q as WysiwygEditorProps, u as useEditorContext } from '../shell-9Kxzxjbn.js';
2
2
  import 'react/jsx-runtime';
3
3
  import 'react';
4
4
  import '@bendyline/squisq/schemas';
@@ -5,10 +5,11 @@ import {
5
5
  RawEditor,
6
6
  WysiwygEditor,
7
7
  useEditorContext
8
- } from "../chunk-GNIVYDZH.js";
9
- import "../chunk-NITZVAXL.js";
8
+ } from "../chunk-UPEGQYF4.js";
9
+ import "../chunk-V4NBQF5C.js";
10
+ import "../chunk-MM3M2KUV.js";
10
11
  import "../chunk-V44VP242.js";
11
- import "../chunk-MJJK7YQB.js";
12
+ import "../chunk-F4NBECWR.js";
12
13
  import "../chunk-GS7QWYFT.js";
13
14
  import "../chunk-5JMHFAVW.js";
14
15
  import "../chunk-5Q4JN4I5.js";
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
- import { Doc, MediaProvider, Theme } from '@bendyline/squisq/schemas';
3
+ import { Doc, MediaProvider, ViewportPreset, Theme } from '@bendyline/squisq/schemas';
4
4
  import { MarkdownDocument } from '@bendyline/squisq/markdown';
5
5
  import { ContentContainer } from '@bendyline/squisq/storage';
6
6
  import { DocumentVersionManager, SaveVersionOptions, SaveVersionResult, PrunePolicy } from '@bendyline/squisq/versions';
@@ -205,6 +205,15 @@ interface EditorState {
205
205
  * host may allow the recorder modal but not want a prompter surface.
206
206
  */
207
207
  allowNarrate: boolean;
208
+ /**
209
+ * Whether the Write view transparently unwraps hard-wrapped paragraph
210
+ * prose for editing and re-applies the document's detected wrap
211
+ * convention when serializing (see `detectMarkdownWrapState`). Without
212
+ * it, a hard-wrapped document renders as one choppy paragraph per
213
+ * physical line in Write view — and the first edit persists that
214
+ * chopped structure. Defaults to true; document layout mode only.
215
+ */
216
+ preserveSourceWrapping: boolean;
208
217
  /**
209
218
  * Document layout mode. `'document'` (default) edits the whole document;
210
219
  * `'block'` activates the block-at-a-time card view. Initialized from the
@@ -440,6 +449,12 @@ interface EditorProviderProps {
440
449
  * frontmatter-forced `display-mode: narrate` clamps back to video.
441
450
  */
442
451
  allowNarrate?: boolean;
452
+ /**
453
+ * Whether the Write view transparently unwraps hard-wrapped prose and
454
+ * re-applies the detected wrap convention on save. Defaults to true;
455
+ * pass false for literal behavior (Tiptap sees the wrapped source).
456
+ */
457
+ preserveSourceWrapping?: boolean;
443
458
  /**
444
459
  * File name (e.g. `foo.ts`) or bare extension — used to pick a Monaco
445
460
  * language and decide between markdown vs. code mode.
@@ -533,7 +548,7 @@ interface ViewPreferences {
533
548
  /** Document vs. block-at-a-time layout. */
534
549
  layoutMode?: LayoutMode;
535
550
  }
536
- declare function EditorProvider({ initialMarkdown, initialView, articleId, colorScheme: initialColorScheme, workspaceContainer, allowVersioning, versionBasename, versioningPrunePolicy, versioningAutoSaveIdleMs, onSaveVersion, mediaProvider, imageDisplayMode, mentionProvider, documentLinkProvider, linkSchemes, allowRecording, allowNarrate, fileName, language, findMode: controlledFindMode, onFindModeChange, inlinePreview, showStatusBar, outline, blockTags, blockTagVisibility: initialBlockTagVisibility, themeInheritance, layoutMode, viewPreferences, onViewPreferencesChange, children, }: EditorProviderProps): react_jsx_runtime.JSX.Element;
551
+ declare function EditorProvider({ initialMarkdown, initialView, articleId, colorScheme: initialColorScheme, workspaceContainer, allowVersioning, versionBasename, versioningPrunePolicy, versioningAutoSaveIdleMs, onSaveVersion, mediaProvider, imageDisplayMode, mentionProvider, documentLinkProvider, linkSchemes, allowRecording, allowNarrate, preserveSourceWrapping, fileName, language, findMode: controlledFindMode, onFindModeChange, inlinePreview, showStatusBar, outline, blockTags, blockTagVisibility: initialBlockTagVisibility, themeInheritance, layoutMode, viewPreferences, onViewPreferencesChange, children, }: EditorProviderProps): react_jsx_runtime.JSX.Element;
537
552
 
538
553
  /**
539
554
  * Host-supplied context sections rendered INSIDE the Monaco (raw/code)
@@ -619,12 +634,34 @@ interface WriteCanvasSettings {
619
634
  lineSpacing?: number;
620
635
  }
621
636
 
637
+ /**
638
+ * Semantic embedding mode for the editor shell.
639
+ *
640
+ * The default document mode exposes the full multi-view authoring surface.
641
+ * Chat mode keeps the composer in Write view and removes document-level
642
+ * authoring controls that do not belong in a message composer.
643
+ */
644
+ type EditorHostMode = 'document' | 'chat';
645
+
622
646
  interface EditorShellProps {
623
647
  /** Initial markdown content */
624
648
  initialMarkdown?: string;
625
- /** Initial active view */
626
649
  /** Initial active view (default: 'wysiwyg') */
627
650
  initialView?: EditorView;
651
+ /**
652
+ * Semantic mode for the surface embedding the editor. `'document'`
653
+ * (default) exposes the normal multi-view authoring shell. `'chat'`
654
+ * starts and stays in Write view through the shell's own controls, hides
655
+ * the view tabs, and removes document-level layout, transform, view, and
656
+ * settings controls from the toolbar.
657
+ */
658
+ hostMode?: EditorHostMode;
659
+ /**
660
+ * Viewport preset used by slideshow/video preview when neither the document
661
+ * nor the user has selected one. Defaults to landscape. Hosts may update it
662
+ * responsively; explicit document and user choices remain authoritative.
663
+ */
664
+ defaultViewportPreset?: ViewportPreset;
628
665
  /** Article ID for Doc generation */
629
666
  articleId?: string;
630
667
  /** Base path for media URLs in preview */
@@ -733,7 +770,7 @@ interface EditorShellProps {
733
770
  */
734
771
  allowPresentationWindow?: boolean;
735
772
  /**
736
- * Whether Use mode may enter browser full screen. Defaults to true. Disable
773
+ * Whether Use mode may enter native full screen. Defaults to true. Disable
737
774
  * this in embedded hosts whose webview does not support the Fullscreen API.
738
775
  */
739
776
  allowPresentationFullscreen?: boolean;
@@ -870,6 +907,15 @@ interface EditorShellProps {
870
907
  * `allowRecording` + a `mediaProvider`.
871
908
  */
872
909
  allowNarrate?: boolean;
910
+ /**
911
+ * Whether the Write view transparently unwraps hard-wrapped paragraph
912
+ * prose for editing and re-applies the document's detected wrap
913
+ * convention when serializing. Defaults to true — without it, a
914
+ * hard-wrapped document renders one choppy paragraph per physical line
915
+ * in Write view and the first edit persists that chopped structure.
916
+ * Pass `false` for literal behavior. Document layout mode only.
917
+ */
918
+ preserveSourceWrapping?: boolean;
873
919
  /**
874
920
  * Placeholder text shown in the WYSIWYG editor while the document is
875
921
  * empty. When omitted, the editor rotates through its own generic
@@ -995,7 +1041,7 @@ interface EditorShellProps {
995
1041
  * Complete markdown editor shell with toolbar, view switcher, and three
996
1042
  * editing modes: Raw (Monaco), WYSIWYG (Tiptap), and Preview.
997
1043
  */
998
- declare function EditorShell({ initialMarkdown, initialView, articleId, basePath, onChange, onLinkClick, colorScheme, className, height, minHeight, maxHeight, mediaProvider, workspaceContainer, allowVersioning, versionBasename, versioningPrunePolicy, versioningAutoSaveIdleMs, onSaveVersion, showFilesToggle, toolbarSlotLeft, toolbarSlotAfterActions, toolbarSlotRight, statusBarSlotRight, showPlayTab, allowPresentationWindow, allowPresentationFullscreen, allowPrint, submitOnEnter, codeContext, fullWidth, uxFont, thinMargins, writeCanvasSettings, showStatusBar, imageDisplayMode, fileName, language, findMode, onFindModeChange, mentionProvider, documentLinkProvider, linkSchemes, allowRecording, allowNarrate, placeholder, readOnly, imageSrc, imageAlt, imageMode, imageEditorContainer, onImageExport, inlinePreview, inlinePreviewWidth, outline, outlineWidth, blockTags, blockTagVisibility, themeInheritance, viewPreferences, onViewPreferencesChange, themeOverride, }: EditorShellProps): react_jsx_runtime.JSX.Element;
1044
+ declare function EditorShell({ initialMarkdown, initialView, hostMode, defaultViewportPreset, articleId, basePath, onChange, onLinkClick, colorScheme, className, height, minHeight, maxHeight, mediaProvider, workspaceContainer, allowVersioning, versionBasename, versioningPrunePolicy, versioningAutoSaveIdleMs, onSaveVersion, showFilesToggle, toolbarSlotLeft, toolbarSlotAfterActions, toolbarSlotRight, statusBarSlotRight, showPlayTab, allowPresentationWindow, allowPresentationFullscreen, allowPrint, submitOnEnter, codeContext, fullWidth, uxFont, thinMargins, writeCanvasSettings, showStatusBar, imageDisplayMode, fileName, language, findMode, onFindModeChange, mentionProvider, documentLinkProvider, linkSchemes, allowRecording, allowNarrate, preserveSourceWrapping, placeholder, readOnly, imageSrc, imageAlt, imageMode, imageEditorContainer, onImageExport, inlinePreview, inlinePreviewWidth, outline, outlineWidth, blockTags, blockTagVisibility, themeInheritance, viewPreferences, onViewPreferencesChange, themeOverride, }: EditorShellProps): react_jsx_runtime.JSX.Element;
999
1045
 
1000
1046
  /**
1001
1047
  * RawEditor
@@ -1081,4 +1127,4 @@ interface PreviewPanelProps {
1081
1127
  */
1082
1128
  declare function PreviewPanel({ basePath, className, workspaceContainer, onLinkClick, }: PreviewPanelProps): react_jsx_runtime.JSX.Element;
1083
1129
 
1084
- export { type BlockTagVisibility as B, type CodeContext as C, type DocumentLinkCandidate as D, type EditorActions as E, type ImageDisplayMode as I, type LayoutMode as L, type MentionCandidate as M, PreviewPanel as P, RawEditor as R, type SceneTextChannel as S, type ThemeInheritance as T, type ViewPreferences as V, type WriteCanvasSettings as W, type CodeContextSection as a, type DocumentLinkProvider as b, type EditorColorScheme as c, type EditorContextValue as d, type EditorMode as e, EditorProvider as f, type EditorProviderProps as g, EditorShell as h, type EditorShellProps as i, type EditorState as j, type EditorView as k, type MentionProvider as l, type PreviewPanelProps as m, type RawEditorProps as n, WysiwygEditor as o, type WysiwygEditorProps as p, useEditorContext as u };
1130
+ export { type BlockTagVisibility as B, type CodeContext as C, type DocumentLinkCandidate as D, type EditorHostMode as E, type ImageDisplayMode as I, type LayoutMode as L, type MentionCandidate as M, PreviewPanel as P, RawEditor as R, type SceneTextChannel as S, type ThemeInheritance as T, type ViewPreferences as V, type WriteCanvasSettings as W, type CodeContextSection as a, type DocumentLinkProvider as b, type EditorActions as c, type EditorColorScheme as d, type EditorContextValue as e, type EditorMode as f, EditorProvider as g, type EditorProviderProps as h, EditorShell as i, type EditorShellProps as j, type EditorState as k, type EditorView as l, type MentionProvider as m, type PreviewPanelProps as n, type RawEditorProps as o, WysiwygEditor as p, type WysiwygEditorProps as q, useEditorContext as u };