@bendyline/squisq-editor-react 2.11.24 → 2.11.26

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/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-Cg6Px8fs.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, P as MentionCandidate, Q as MentionProvider, R as OutlineBlock, T as OutlineInsertion, U as PreviewPanel, V as PreviewPanelProps, W as RawEditor, Y as RawEditorProps, Z as ThemeInheritance, _ as ViewPreferences, $ as WriteCanvasSettings, a0 as WysiwygEditor, a1 as WysiwygEditorProps, a2 as XLSX_LOCKED_REASON, a3 as XlsxFormulaSession, a4 as applySourceEditsToText, a5 as blockInsertionPoint, a6 as createXlsxFormulaSession, a7 as getBlockSlices, a8 as headingDepthForInsertion, a9 as ingestSidecarBytes, aa as joinBlockAt, ab as lineToOffset, ac as minimalReplaceEdit, ad as normalizeSourceEdits, ae as offsetToLine, af as resolveOutlineInsertion, ag as sliceIndexAtOffset, ah as sourceOutline, ai as spliceBlock, aj as useEditorContext, ak as useEditorContextMenuItems, al as useEditorInsertMenuItems } from './shell-Cg6Px8fs.js';
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-xuF3vK5Z.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, P as MentionCandidate, Q as MentionProvider, R as OutlineBlock, T as OutlineInsertion, U as PreviewPanel, V as PreviewPanelProps, W as RawEditor, Y as RawEditorProps, Z as ThemeInheritance, _ as ViewPreferences, $ as WriteCanvasSettings, a0 as WysiwygEditor, a1 as WysiwygEditorProps, a2 as XLSX_LOCKED_REASON, a3 as XlsxFormulaSession, a4 as applySourceEditsToText, a5 as blockInsertionPoint, a6 as createXlsxFormulaSession, a7 as getBlockSlices, a8 as headingDepthForInsertion, a9 as ingestSidecarBytes, aa as joinBlockAt, ab as lineToOffset, ac as minimalReplaceEdit, ad as normalizeSourceEdits, ae as offsetToLine, af as resolveOutlineInsertion, ag as sliceIndexAtOffset, ah as sourceOutline, ai as spliceBlock, aj as useEditorContext, ak as useEditorContextMenuItems, al as useEditorInsertMenuItems } from './shell-xuF3vK5Z.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';
@@ -1544,7 +1544,7 @@ interface UseMonacoLoaderResult {
1544
1544
  }
1545
1545
  /** Start Monaco and the requested language profile before a React editor mounts. */
1546
1546
  declare function preloadMonaco(requestedLanguages?: MonacoLanguageRequest, options?: MonacoLanguageLoadOptions): Promise<typeof monaco_editor>;
1547
- /** Load completion and snippet UI after the compact editor is already usable. */
1547
+ /** Register completion and snippet UI before a React editor can mount. */
1548
1548
  declare function preloadMonacoSuggestions(): Promise<void>;
1549
1549
  /** Subscribe to the shared Monaco namespace and a demand-loaded language profile. */
1550
1550
  declare function useMonacoLoader(requestedLanguages?: MonacoLanguageRequest, options?: MonacoLanguageLoadOptions): UseMonacoLoaderResult;
package/dist/index.js CHANGED
@@ -154,6 +154,7 @@ import {
154
154
  moveItemDownOp,
155
155
  moveItemUpOp,
156
156
  moveNodeOp,
157
+ navigateViewTabs,
157
158
  nextTimelineEventId,
158
159
  normalizeMermaidFlowchartShape,
159
160
  outdentItemOp,
@@ -232,7 +233,7 @@ import {
232
233
  videoEmbedParagraphJson,
233
234
  viewStateFromBinding,
234
235
  writeHeadingViewState
235
- } from "./chunk-E7JVS6N5.js";
236
+ } from "./chunk-IRFFIMKM.js";
236
237
  import {
237
238
  EditorProvider,
238
239
  applySourceEditsToText,
@@ -436,6 +437,7 @@ function defaultIconFor(entry) {
436
437
  }
437
438
 
438
439
  // src/ViewSwitcher.tsx
440
+ import { useEffect, useState } from "react";
439
441
  import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
440
442
  var VIEWS = [
441
443
  { id: "wysiwyg", label: "Write", shortcutKey: "1" },
@@ -444,6 +446,8 @@ var VIEWS = [
444
446
  ];
445
447
  function ViewSwitcher({ className }) {
446
448
  const { activeView, setActiveView, editorMode } = useEditorContext();
449
+ const [focusedView, setFocusedView] = useState(activeView);
450
+ useEffect(() => setFocusedView(activeView), [activeView]);
447
451
  const visibleViews = editorMode === "code" ? VIEWS.filter((v) => v.id === "raw") : VIEWS;
448
452
  if (visibleViews.length <= 1) return null;
449
453
  return /* @__PURE__ */ jsx2(
@@ -455,8 +459,14 @@ function ViewSwitcher({ className }) {
455
459
  children: visibleViews.map((view) => /* @__PURE__ */ jsxs2(
456
460
  "button",
457
461
  {
462
+ type: "button",
458
463
  role: "tab",
464
+ tabIndex: focusedView === view.id ? 0 : -1,
465
+ onFocus: () => setFocusedView(view.id),
459
466
  "aria-selected": activeView === view.id,
467
+ onKeyDown: (event) => {
468
+ navigateViewTabs(event);
469
+ },
460
470
  className: `squisq-view-tab ${activeView === view.id ? "squisq-view-tab--active" : ""}`,
461
471
  onClick: () => setActiveView(view.id),
462
472
  title: `${view.label} (${platformShortcut(`Shift+${view.shortcutKey}`)})`,
@@ -474,11 +484,11 @@ function ViewSwitcher({ className }) {
474
484
  // src/ThemeCustomizerPanel.tsx
475
485
  import {
476
486
  useCallback,
477
- useEffect,
487
+ useEffect as useEffect2,
478
488
  useLayoutEffect,
479
489
  useMemo,
480
490
  useRef,
481
- useState
491
+ useState as useState2
482
492
  } from "react";
483
493
  import { deriveScale, isHex, serializeTheme } from "@bendyline/squisq/schemas";
484
494
  import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
@@ -492,22 +502,22 @@ function ThemeCustomizerPanel({
492
502
  onReset,
493
503
  triggerLabel
494
504
  }) {
495
- const [open, setOpen] = useState(false);
496
- const [draft, setDraft] = useState(() => themeToDraft(value));
497
- const [popoverPosition, setPopoverPosition] = useState(null);
505
+ const [open, setOpen] = useState2(false);
506
+ const [draft, setDraft] = useState2(() => themeToDraft(value));
507
+ const [popoverPosition, setPopoverPosition] = useState2(null);
498
508
  const containerRef = useRef(null);
499
509
  const triggerRef = useRef(null);
500
510
  const close = useCallback(() => setOpen(false), []);
501
511
  useEscapeDismissal(open, close, triggerRef);
502
512
  const externalIdRef = useRef(value?.id ?? null);
503
- useEffect(() => {
513
+ useEffect2(() => {
504
514
  const incomingId = value?.id ?? null;
505
515
  if (incomingId !== externalIdRef.current) {
506
516
  externalIdRef.current = incomingId;
507
517
  setDraft(themeToDraft(value));
508
518
  }
509
519
  }, [value]);
510
- useEffect(() => {
520
+ useEffect2(() => {
511
521
  if (!open) return;
512
522
  const handler = (e) => {
513
523
  if (containerRef.current && !containerRef.current.contains(e.target)) {
package/dist/monaco.js CHANGED
@@ -6,6 +6,7 @@ import {
6
6
  } from "./chunk-V4NBQF5C.js";
7
7
 
8
8
  // src/monacoFeatures.ts
9
+ import "monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestMemory.js";
9
10
  import "monaco-editor/esm/vs/editor/browser/coreCommands.js";
10
11
  import "monaco-editor/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js";
11
12
  import "monaco-editor/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js";
@@ -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, P as MentionCandidate, Q as MentionProvider, U as PreviewPanel, V as PreviewPanelProps, W as RawEditor, Y as RawEditorProps, Z as ThemeInheritance, _ as ViewPreferences, a0 as WysiwygEditor, a1 as WysiwygEditorProps, aj as useEditorContext, ak as useEditorContextMenuItems, al as useEditorInsertMenuItems } from '../shell-Cg6Px8fs.js';
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, P as MentionCandidate, Q as MentionProvider, U as PreviewPanel, V as PreviewPanelProps, W as RawEditor, Y as RawEditorProps, Z as ThemeInheritance, _ as ViewPreferences, a0 as WysiwygEditor, a1 as WysiwygEditorProps, aj as useEditorContext, ak as useEditorContextMenuItems, al as useEditorInsertMenuItems } from '../shell-xuF3vK5Z.js';
2
2
  import 'react';
3
3
  import '@bendyline/squisq/table';
4
4
  import '@bendyline/squisq-calc';
@@ -5,7 +5,7 @@ import {
5
5
  RawEditor,
6
6
  WysiwygEditor,
7
7
  useEditorContextMenuItems
8
- } from "../chunk-E7JVS6N5.js";
8
+ } from "../chunk-IRFFIMKM.js";
9
9
  import {
10
10
  EditorProvider,
11
11
  useEditorContext,
@@ -1190,6 +1190,8 @@ interface WriteCanvasSettings {
1190
1190
  type EditorHostMode = 'document' | 'chat';
1191
1191
 
1192
1192
  interface EditorShellProps {
1193
+ /** Accessible name for the editing surface, separate from its empty placeholder. */
1194
+ ariaLabel?: string;
1193
1195
  /** Initial markdown content */
1194
1196
  initialMarkdown?: string;
1195
1197
  /** Initial active view (default: 'wysiwyg') */
@@ -1757,7 +1759,7 @@ interface EditorShellProps {
1757
1759
  * Complete markdown editor shell with toolbar, view switcher, and three
1758
1760
  * editing modes: Raw (Monaco), WYSIWYG (Tiptap), and Preview.
1759
1761
  */
1760
- declare function EditorShell({ 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, 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;
1762
+ 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, 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;
1761
1763
 
1762
1764
  /**
1763
1765
  * Shared editor context menu.
@@ -1815,6 +1817,8 @@ declare function EditorContextMenuProvider({ rootRef, readOnly, children, }: Edi
1815
1817
  * Syncs changes back to EditorContext on every keystroke (debounced).
1816
1818
  */
1817
1819
  interface RawEditorProps {
1820
+ /** Accessible name shared by Monaco and its loading fallback. */
1821
+ ariaLabel?: string;
1818
1822
  /**
1819
1823
  * Monaco editor theme name (default: `'vs'`). Accepts Monaco's built-in
1820
1824
  * theme ids (`'vs'`, `'vs-dark'`, `'hc-black'`) — which are transparently
@@ -1843,9 +1847,11 @@ interface RawEditorProps {
1843
1847
  * Raw markdown editor using Monaco Editor.
1844
1848
  * Binds to the shared EditorContext for source synchronization.
1845
1849
  */
1846
- declare function RawEditor({ monacoTheme, minimap, fontSize, wordWrap, className, submitOnEnter, readOnly, }: RawEditorProps): react.JSX.Element;
1850
+ declare function RawEditor({ ariaLabel, monacoTheme, minimap, fontSize, wordWrap, className, submitOnEnter, readOnly, }: RawEditorProps): react.JSX.Element;
1847
1851
 
1848
1852
  interface WysiwygEditorProps {
1853
+ /** Accessible name of this multiline text input. */
1854
+ ariaLabel?: string;
1849
1855
  /**
1850
1856
  * Placeholder text when the editor is empty. If omitted, one of several
1851
1857
  * rotating prompts is picked at random on mount. Pass a fixed string to
@@ -1880,7 +1886,7 @@ interface WysiwygEditorProps {
1880
1886
  * Rich WYSIWYG markdown editor built on Tiptap (ProseMirror).
1881
1887
  * Binds to the shared EditorContext for source synchronization.
1882
1888
  */
1883
- declare function WysiwygEditor({ placeholder, className, submitOnEnter, readOnly, writeCanvasSettings, onOpenFilesPanel, calcEngineFactory, }: WysiwygEditorProps): react.JSX.Element;
1889
+ declare function WysiwygEditor({ ariaLabel, placeholder, className, submitOnEnter, readOnly, writeCanvasSettings, onOpenFilesPanel, calcEngineFactory, }: WysiwygEditorProps): react.JSX.Element;
1884
1890
 
1885
1891
  interface PreviewPanelProps {
1886
1892
  /** Base path for resolving media URLs in DocPlayer */
@@ -7948,12 +7948,15 @@
7948
7948
  align-items: flex-end;
7949
7949
  box-sizing: border-box;
7950
7950
  }
7951
- .squisq-toolbar-view-tab-wrap {
7951
+ .squisq-toolbar-view-tab-list,
7952
+ .squisq-toolbar-view-tab-wrap,
7953
+ .squisq-toolbar-use-menu {
7952
7954
  display: flex;
7953
7955
  align-items: flex-end;
7954
7956
  align-self: stretch;
7955
7957
  }
7956
- .squisq-toolbar-use-tab {
7958
+ .squisq-toolbar-use-tab,
7959
+ .squisq-toolbar-use-menu {
7957
7960
  position: relative;
7958
7961
  border-bottom: 2px solid transparent;
7959
7962
  }
@@ -7966,10 +7969,11 @@
7966
7969
  border-bottom-color: var(--squisq-accent);
7967
7970
  }
7968
7971
  .squisq-toolbar-use-tab > .squisq-toolbar-view-tab:focus-visible,
7969
- .squisq-toolbar-use-tab > .squisq-use-mode-trigger:focus-visible {
7972
+ .squisq-toolbar-use-menu > .squisq-use-mode-trigger:focus-visible {
7970
7973
  outline: none;
7971
7974
  }
7972
- .squisq-toolbar-use-tab:has(> .squisq-toolbar-view-tab:focus-visible, > .squisq-use-mode-trigger:focus-visible)::after {
7975
+ .squisq-toolbar-use-tab:has(> .squisq-toolbar-view-tab:focus-visible)::after,
7976
+ .squisq-toolbar-use-menu:has(> .squisq-use-mode-trigger:focus-visible)::after {
7973
7977
  content: "";
7974
7978
  position: absolute;
7975
7979
  inset: 2px 0 4px;
@@ -12203,6 +12207,9 @@
12203
12207
  right: 0;
12204
12208
  z-index: 90;
12205
12209
  min-width: 200px;
12210
+ max-width: calc(100vw - 16px);
12211
+ box-sizing: border-box;
12212
+ overflow-y: auto;
12206
12213
  margin-top: 4px;
12207
12214
  padding: 6px 0;
12208
12215
  background: var(--squisq-bg);
@@ -12210,6 +12217,7 @@
12210
12217
  border-radius: 6px;
12211
12218
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
12212
12219
  color: var(--squisq-text);
12220
+ font-family: var(--squisq-ux-font, system-ui, sans-serif);
12213
12221
  }
12214
12222
  .squisq-view-menu-row {
12215
12223
  display: flex;
@@ -12223,10 +12231,39 @@
12223
12231
  .squisq-view-menu-row:hover {
12224
12232
  background: var(--squisq-row-hover);
12225
12233
  }
12234
+ button.squisq-view-menu-row,
12235
+ button.squisq-view-menu-radio-row {
12236
+ width: 100%;
12237
+ border: 0;
12238
+ background: transparent;
12239
+ color: inherit;
12240
+ font-family: inherit;
12241
+ text-align: left;
12242
+ }
12243
+ button.squisq-view-menu-row:focus-visible,
12244
+ button.squisq-view-menu-radio-row:focus-visible {
12245
+ outline: 2px solid var(--squisq-accent);
12246
+ outline-offset: -2px;
12247
+ }
12226
12248
  .squisq-view-menu-checkbox {
12227
12249
  margin: 0;
12228
12250
  cursor: pointer;
12229
12251
  }
12252
+ .squisq-view-menu-checkbox,
12253
+ .squisq-view-menu-radio {
12254
+ display: inline-flex;
12255
+ align-items: center;
12256
+ justify-content: center;
12257
+ width: 13px;
12258
+ height: 13px;
12259
+ flex-shrink: 0;
12260
+ border: 1px solid var(--squisq-border-strong);
12261
+ color: var(--squisq-accent-strong);
12262
+ font-size: 10px;
12263
+ }
12264
+ .squisq-view-menu-radio {
12265
+ border-radius: 50%;
12266
+ }
12230
12267
  .squisq-view-menu-label {
12231
12268
  flex: 1;
12232
12269
  }
@@ -14378,6 +14415,7 @@
14378
14415
  .squisq-doc-settings-dialog {
14379
14416
  width: 100%;
14380
14417
  max-width: 440px;
14418
+ max-height: calc(100dvh - 32px);
14381
14419
  background: var(--squisq-bg);
14382
14420
  color: var(--squisq-text);
14383
14421
  border: 1px solid var(--squisq-border);
@@ -14387,6 +14425,7 @@
14387
14425
  flex-direction: column;
14388
14426
  }
14389
14427
  .squisq-doc-settings-header {
14428
+ flex-shrink: 0;
14390
14429
  display: flex;
14391
14430
  align-items: center;
14392
14431
  justify-content: space-between;
@@ -14411,6 +14450,8 @@
14411
14450
  color: var(--squisq-text);
14412
14451
  }
14413
14452
  .squisq-doc-settings-body {
14453
+ min-height: 0;
14454
+ overflow-y: auto;
14414
14455
  padding: 16px;
14415
14456
  display: flex;
14416
14457
  flex-direction: column;
@@ -14452,6 +14493,7 @@
14452
14493
  font-weight: 600;
14453
14494
  }
14454
14495
  .squisq-doc-settings-footer {
14496
+ flex-shrink: 0;
14455
14497
  display: flex;
14456
14498
  justify-content: flex-end;
14457
14499
  gap: 8px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bendyline/squisq-editor-react",
3
- "version": "2.11.24",
3
+ "version": "2.11.26",
4
4
  "description": "React editor shell with raw/WYSIWYG/preview modes for Squisq documents",
5
5
  "license": "MIT",
6
6
  "author": "Bendyline",
@@ -105,9 +105,9 @@
105
105
  "@bendyline/squisq": "2.11.19",
106
106
  "@bendyline/squisq-calc": "2.11.2",
107
107
  "@bendyline/squisq-formats": "2.6.20",
108
- "@bendyline/squisq-grid-react": "2.11.20",
109
- "@bendyline/squisq-react": "2.11.22",
110
- "@bendyline/squisq-video-react": "2.4.26",
108
+ "@bendyline/squisq-grid-react": "2.11.21",
109
+ "@bendyline/squisq-react": "2.11.24",
110
+ "@bendyline/squisq-video-react": "2.4.28",
111
111
  "@fortawesome/fontawesome-free": "7.3.1",
112
112
  "@tiptap/core": "2.27.3",
113
113
  "@tiptap/extension-heading": "2.27.3",