@bendyline/docblocks-react 2.3.2 → 2.3.3

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 CHANGED
@@ -56,6 +56,8 @@ The canonical DocBlocks experience in one component — file explorer, workspace
56
56
  - `theme` — `'light' | 'dark' | 'auto'` (auto follows `prefers-color-scheme`)
57
57
  - `logoUrl` — brand mark for the app menu button
58
58
  - `ffmpegWasm` — optional same-origin ffmpeg core URLs; supplying them enables the built-in Animated GIF flow on cross-origin-isolated hosts
59
+ - `showCodeCopyButton` — shows Copy controls on ordinary fenced code blocks (default: `true`; Mermaid fences remain diagrams)
60
+ - `onCopyCode` — optional clipboard adapter for native hosts; browser hosts fall back to `navigator.clipboard.writeText`
59
61
 
60
62
  Storage is abstracted behind the byte-authoritative `FileSystemProviderV2` contract from `@bendyline/docblocks/filesystem`: browser-local (IndexedDB), native folders (File System Access API), transient memory workspaces, or the Electron host. Built-in compatibility facades expose it as `provider.v2`; first-party shell and file-tree operations are v2-first.
61
63
 
@@ -95,6 +97,8 @@ workspace; generated links warn after 4,096 characters and are capped at
95
97
 
96
98
  The export flow: quick re-export of the last configuration plus the full dialog — format (PDF, Word, PowerPoint, EPUB, HTML, Markdown), visual theme, and page size. Hosts that supply `ffmpegWasm` also expose Animated GIF with timing, orientation, captions, looping, and color controls.
97
99
 
100
+ Rendered HTML and HTML ZIP exports include Copy controls for ordinary fenced code blocks; Mermaid fences remain diagrams.
101
+
98
102
  ## Hooks
99
103
 
100
104
  ### `useDocumentSession(delay?)`
@@ -15,12 +15,12 @@ This notice is included in the published npm tarball. Transitive packages instal
15
15
  | Package | Version | License | Source |
16
16
  | --- | --- | --- | --- |
17
17
  | @antfu/install-pkg | 1.1.0 | MIT | https://github.com/antfu/install-pkg |
18
- | @bendyline/squisq | 2.4.4 | MIT | https://github.com/bendyline/squisq |
19
- | @bendyline/squisq-editor-react | 2.4.7 | MIT | https://github.com/bendyline/squisq |
20
- | @bendyline/squisq-formats | 2.3.9 | MIT | https://github.com/bendyline/squisq |
21
- | @bendyline/squisq-react | 2.4.7 | MIT | https://github.com/bendyline/squisq |
22
- | @bendyline/squisq-video | 2.2.8 | MIT | https://github.com/bendyline/squisq |
23
- | @bendyline/squisq-video-react | 2.2.11 | MIT | https://github.com/bendyline/squisq |
18
+ | @bendyline/squisq | 2.7.0 | MIT | https://github.com/bendyline/squisq |
19
+ | @bendyline/squisq-editor-react | 2.7.0 | MIT | https://github.com/bendyline/squisq |
20
+ | @bendyline/squisq-formats | 2.4.1 | MIT | https://github.com/bendyline/squisq |
21
+ | @bendyline/squisq-react | 2.7.0 | MIT | https://github.com/bendyline/squisq |
22
+ | @bendyline/squisq-video | 2.2.11 | MIT | https://github.com/bendyline/squisq |
23
+ | @bendyline/squisq-video-react | 2.3.2 | MIT | https://github.com/bendyline/squisq |
24
24
  | @braintree/sanitize-url | 7.1.2 | MIT | https://github.com/braintree/sanitize-url |
25
25
  | @chevrotain/types | 11.1.2 | Apache-2.0 | https://github.com/Chevrotain/chevrotain |
26
26
  | @ffmpeg/core | 0.12.9 | GPL-2.0-or-later | https://github.com/ffmpegwasm/ffmpeg.wasm |
@@ -398,7 +398,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
398
398
  SOFTWARE.
399
399
 
400
400
  ==============================================================================
401
- Components: @bendyline/squisq-editor-react@2.4.7, @bendyline/squisq-formats@2.3.9, @bendyline/squisq-react@2.4.7, @bendyline/squisq-video-react@2.2.11, @bendyline/squisq-video@2.2.8, @bendyline/squisq@2.4.4
401
+ Components: @bendyline/squisq-editor-react@2.7.0, @bendyline/squisq-formats@2.4.1, @bendyline/squisq-react@2.7.0, @bendyline/squisq-video-react@2.3.2, @bendyline/squisq-video@2.2.11, @bendyline/squisq@2.7.0
402
402
  Source files: node_modules/@bendyline/squisq-editor-react/LICENSE, node_modules/@bendyline/squisq-formats/LICENSE, node_modules/@bendyline/squisq-react/LICENSE, node_modules/@bendyline/squisq-video-react/LICENSE, node_modules/@bendyline/squisq-video/LICENSE, node_modules/@bendyline/squisq/LICENSE
403
403
  ==============================================================================
404
404
  MIT License
@@ -564,7 +564,7 @@ The above copyright notice and this permission notice shall be included in all c
564
564
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
565
565
 
566
566
  ==============================================================================
567
- Components: @bendyline/squisq-editor-react@2.4.7
567
+ Components: @bendyline/squisq-editor-react@2.7.0
568
568
  Source files: node_modules/@bendyline/squisq-editor-react/NOTICE.md
569
569
  ==============================================================================
570
570
  # Third-Party Notices for @bendyline/squisq-editor-react
@@ -611,7 +611,7 @@ Exact third-party license texts for the bundled adapter, loader, state helper,
611
611
  and Font Awesome assets are shipped in THIRD_PARTY_LICENSES.txt.
612
612
 
613
613
  ==============================================================================
614
- Components: @bendyline/squisq-editor-react@2.4.7, @tiptap/core@2.27.2, @tiptap/extension-blockquote@2.27.2, @tiptap/extension-bold@2.27.2, @tiptap/extension-bubble-menu@2.27.2, @tiptap/extension-bullet-list@2.27.2, @tiptap/extension-code-block@2.27.2, @tiptap/extension-code@2.27.2, @tiptap/extension-document@2.27.2, @tiptap/extension-dropcursor@2.27.2, @tiptap/extension-floating-menu@2.27.2, @tiptap/extension-gapcursor@2.27.2, @tiptap/extension-hard-break@2.27.2, @tiptap/extension-heading@2.27.2, @tiptap/extension-history@2.27.2, @tiptap/extension-horizontal-rule@2.27.2, @tiptap/extension-image@2.27.2, @tiptap/extension-italic@2.27.2, @tiptap/extension-link@2.27.2, @tiptap/extension-list-item@2.27.2, @tiptap/extension-mention@2.27.2, @tiptap/extension-ordered-list@2.27.2, @tiptap/extension-paragraph@2.27.2, @tiptap/extension-placeholder@2.27.2, @tiptap/extension-strike@2.27.2, @tiptap/extension-table-cell@2.27.2, @tiptap/extension-table-header@2.27.2, @tiptap/extension-table-row@2.27.2, @tiptap/extension-table@2.27.2, @tiptap/extension-task-item@2.27.2, @tiptap/extension-task-list@2.27.2, @tiptap/extension-text-style@2.27.2, @tiptap/extension-text@2.27.2, @tiptap/pm@2.27.2, @tiptap/react@2.27.2, @tiptap/starter-kit@2.27.2, @tiptap/suggestion@2.27.2
614
+ Components: @bendyline/squisq-editor-react@2.7.0, @tiptap/core@2.27.2, @tiptap/extension-blockquote@2.27.2, @tiptap/extension-bold@2.27.2, @tiptap/extension-bubble-menu@2.27.2, @tiptap/extension-bullet-list@2.27.2, @tiptap/extension-code-block@2.27.2, @tiptap/extension-code@2.27.2, @tiptap/extension-document@2.27.2, @tiptap/extension-dropcursor@2.27.2, @tiptap/extension-floating-menu@2.27.2, @tiptap/extension-gapcursor@2.27.2, @tiptap/extension-hard-break@2.27.2, @tiptap/extension-heading@2.27.2, @tiptap/extension-history@2.27.2, @tiptap/extension-horizontal-rule@2.27.2, @tiptap/extension-image@2.27.2, @tiptap/extension-italic@2.27.2, @tiptap/extension-link@2.27.2, @tiptap/extension-list-item@2.27.2, @tiptap/extension-mention@2.27.2, @tiptap/extension-ordered-list@2.27.2, @tiptap/extension-paragraph@2.27.2, @tiptap/extension-placeholder@2.27.2, @tiptap/extension-strike@2.27.2, @tiptap/extension-table-cell@2.27.2, @tiptap/extension-table-header@2.27.2, @tiptap/extension-table-row@2.27.2, @tiptap/extension-table@2.27.2, @tiptap/extension-task-item@2.27.2, @tiptap/extension-task-list@2.27.2, @tiptap/extension-text-style@2.27.2, @tiptap/extension-text@2.27.2, @tiptap/pm@2.27.2, @tiptap/react@2.27.2, @tiptap/starter-kit@2.27.2, @tiptap/suggestion@2.27.2
615
615
  Source files: node_modules/@bendyline/squisq-editor-react/THIRD_PARTY_LICENSES.txt
616
616
  ==============================================================================
617
617
  THIRD-PARTY LICENSES FOR @bendyline/squisq-editor-react
@@ -884,7 +884,7 @@ The above copyright notice and this permission notice shall be included in all c
884
884
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
885
885
 
886
886
  ==============================================================================
887
- Components: @bendyline/squisq-formats@2.3.9
887
+ Components: @bendyline/squisq-formats@2.4.1
888
888
  Source files: node_modules/@bendyline/squisq-formats/NOTICE.md
889
889
  ==============================================================================
890
890
  # Third-Party Notices for @bendyline/squisq-formats
@@ -909,7 +909,7 @@ texts for these dependencies are included in their respective npm
909
909
  distributions and source repositories.
910
910
 
911
911
  ==============================================================================
912
- Components: @bendyline/squisq-formats@2.3.9
912
+ Components: @bendyline/squisq-formats@2.4.1
913
913
  Source files: node_modules/@bendyline/squisq-formats/THIRD_PARTY_LICENSES.txt
914
914
  ==============================================================================
915
915
  THIRD-PARTY LICENSES FOR @bendyline/squisq-formats
@@ -1091,7 +1091,7 @@ Awesome, nor vice versa. **Please do not use brand logos for any purpose except
1091
1091
  to represent the company, product, or service to which they refer.**
1092
1092
 
1093
1093
  ==============================================================================
1094
- Components: @bendyline/squisq-react@2.4.7
1094
+ Components: @bendyline/squisq-react@2.7.0
1095
1095
  Source files: node_modules/@bendyline/squisq-react/NOTICE.md
1096
1096
  ==============================================================================
1097
1097
  # Third-Party Notices for @bendyline/squisq-react
@@ -1116,7 +1116,7 @@ third-party license texts for the complete standalone bundle graph are shipped
1116
1116
  in THIRD_PARTY_LICENSES.txt.
1117
1117
 
1118
1118
  ==============================================================================
1119
- Components: @bendyline/squisq-react@2.4.7
1119
+ Components: @bendyline/squisq-react@2.7.0
1120
1120
  Source files: node_modules/@bendyline/squisq-react/THIRD_PARTY_LICENSES.txt
1121
1121
  ==============================================================================
1122
1122
  THIRD-PARTY LICENSES FOR @bendyline/squisq-react
@@ -5589,7 +5589,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
5589
5589
  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
5590
5590
 
5591
5591
  ==============================================================================
5592
- Components: @bendyline/squisq-video-react@2.2.11, @ffmpeg/core@0.12.9
5592
+ Components: @bendyline/squisq-video-react@2.3.2, @ffmpeg/core@0.12.9
5593
5593
  Source files: node_modules/@bendyline/squisq-video-react/COPYING.GPL-2.0.txt
5594
5594
  ==============================================================================
5595
5595
  GNU GENERAL PUBLIC LICENSE
@@ -5932,7 +5932,7 @@ library. If this is what you want to do, use the GNU Lesser General
5932
5932
  Public License instead of this License.
5933
5933
 
5934
5934
  ==============================================================================
5935
- Components: @bendyline/squisq-video-react@2.2.11, @ffmpeg/core@0.12.9
5935
+ Components: @bendyline/squisq-video-react@2.3.2, @ffmpeg/core@0.12.9
5936
5936
  Source files: node_modules/@bendyline/squisq-video-react/NOTICE.md
5937
5937
  ==============================================================================
5938
5938
  # Third-Party Notices for @bendyline/squisq-video-react
@@ -5977,7 +5977,7 @@ global WebCodecs declaration dependencies are not installed for consumers. Its
5977
5977
  exact license text is shipped in THIRD_PARTY_LICENSES.txt.
5978
5978
 
5979
5979
  ==============================================================================
5980
- Components: @bendyline/squisq-video-react@2.2.11, @ffmpeg/core@0.12.9, @ffmpeg/ffmpeg@0.12.15, @ffmpeg/types@0.12.4, @ffmpeg/util@0.12.2
5980
+ Components: @bendyline/squisq-video-react@2.3.2, @ffmpeg/core@0.12.9, @ffmpeg/ffmpeg@0.12.15, @ffmpeg/types@0.12.4, @ffmpeg/util@0.12.2
5981
5981
  Source files: node_modules/@bendyline/squisq-video-react/THIRD_PARTY_LICENSES.txt
5982
5982
  ==============================================================================
5983
5983
  THIRD-PARTY LICENSES FOR @bendyline/squisq-video-react
@@ -6041,7 +6041,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
6041
6041
  SOFTWARE.
6042
6042
 
6043
6043
  ==============================================================================
6044
- Components: @bendyline/squisq-video@2.2.8
6044
+ Components: @bendyline/squisq-video@2.2.11
6045
6045
  Source files: node_modules/@bendyline/squisq-video/NOTICE.md
6046
6046
  ==============================================================================
6047
6047
  # Third-Party Notices for @bendyline/squisq-video
@@ -6066,7 +6066,7 @@ Copyright and complete license texts for the listed dependencies are included
6066
6066
  in their respective npm distributions and source repositories.
6067
6067
 
6068
6068
  ==============================================================================
6069
- Components: @bendyline/squisq-video@2.2.8
6069
+ Components: @bendyline/squisq-video@2.2.11
6070
6070
  Source files: node_modules/@bendyline/squisq-video/THIRD_PARTY_LICENSES.txt
6071
6071
  ==============================================================================
6072
6072
  THIRD-PARTY LICENSES FOR @bendyline/squisq-video
@@ -6078,7 +6078,7 @@ repository license, the pinned upstream copy is vendored and identified below.
6078
6078
  COMPONENTS
6079
6079
 
6080
6080
  ==============================================================================
6081
- Components: @bendyline/squisq@2.4.4
6081
+ Components: @bendyline/squisq@2.7.0
6082
6082
  Source files: node_modules/@bendyline/squisq/NOTICE.md
6083
6083
  ==============================================================================
6084
6084
  # Third-Party Notices for @bendyline/squisq
@@ -6109,7 +6109,7 @@ third-party license texts for bundled code and data are shipped in
6109
6109
  THIRD_PARTY_LICENSES.txt.
6110
6110
 
6111
6111
  ==============================================================================
6112
- Components: @bendyline/squisq@2.4.4
6112
+ Components: @bendyline/squisq@2.7.0
6113
6113
  Source files: node_modules/@bendyline/squisq/THIRD_PARTY_LICENSES.txt
6114
6114
  ==============================================================================
6115
6115
  THIRD-PARTY LICENSES FOR @bendyline/squisq
@@ -43,7 +43,7 @@ var ShareDialog = lazy(
43
43
  );
44
44
  var runExportModulePromise = null;
45
45
  function loadRunExportModule() {
46
- runExportModulePromise ?? (runExportModulePromise = import("./run-export-UYR5USUJ.js"));
46
+ runExportModulePromise ?? (runExportModulePromise = import("./run-export-I2XOVGG4.js"));
47
47
  return runExportModulePromise;
48
48
  }
49
49
  var ExportCancelledError = class extends Error {
@@ -106,6 +106,7 @@ async function runHtmlExport(markdown, htmlFilename, options, mediaContainer, se
106
106
  title: baseName,
107
107
  themeId,
108
108
  mode: "static",
109
+ showCodeCopyButton: true,
109
110
  entryAsIndex: options.entryAsIndex
110
111
  });
111
112
  await saveExportBlob(blob2, zipName, saveBlob);
@@ -138,7 +139,8 @@ async function runHtmlExport(markdown, htmlFilename, options, mediaContainer, se
138
139
  playerScript: PLAYER_BUNDLE,
139
140
  images,
140
141
  mode: "static",
141
- title: baseName
142
+ title: baseName,
143
+ showCodeCopyButton: true
142
144
  });
143
145
  await saveExportBlob(blob, zipName, saveBlob);
144
146
  return;
@@ -147,7 +149,8 @@ async function runHtmlExport(markdown, htmlFilename, options, mediaContainer, se
147
149
  playerScript: PLAYER_BUNDLE,
148
150
  images,
149
151
  mode: "static",
150
- title: baseName
152
+ title: baseName,
153
+ showCodeCopyButton: true
151
154
  });
152
155
  await saveExportBlob(new Blob([html2], { type: MIME_TYPES.html }), singleHtmlFilename, saveBlob);
153
156
  return;
@@ -6,7 +6,7 @@ import {
6
6
  } from "../chunk-SIIEGOHY.js";
7
7
  import {
8
8
  runExport
9
- } from "../chunk-OSQUKIUN.js";
9
+ } from "../chunk-ODYNOPC3.js";
10
10
  import "../chunk-YBEYTVU2.js";
11
11
  import "../chunk-LG6HAWCK.js";
12
12
  import {
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { FileSystemProvider, FileSystemEntry, FsErrorCode } from '@bendyline/docblocks/filesystem';
3
3
  import { WorkspaceDescriptor } from '@bendyline/docblocks/workspace';
4
4
  import { EditorColorScheme } from '@bendyline/squisq-editor-react';
5
+ import { CodeBlockCopyHandler } from '@bendyline/squisq-react';
5
6
  import { FfmpegWasmLoadConfig } from '@bendyline/squisq-video';
6
7
  import { PrunePolicy, SaveVersionResult, DocumentVersionManager } from '@bendyline/squisq/versions';
7
8
  import { ThemePreference, AccentColor, WriteCanvasPreferences } from './settings/index.js';
@@ -286,13 +287,26 @@ interface DocBlocksShellProps {
286
287
  onApplyUpdate?: () => void;
287
288
  /** Host-supplied content rendered at the right edge of the editor status bar. */
288
289
  statusBarSlotRight?: React.ReactNode;
290
+ /** Show Copy controls on ordinary fenced code blocks (default: true). */
291
+ showCodeCopyButton?: boolean;
292
+ /**
293
+ * Optional host clipboard adapter. Browser hosts can omit this to use the
294
+ * Clipboard API; Electron/native hosts should supply their trusted bridge.
295
+ */
296
+ onCopyCode?: CodeBlockCopyHandler;
297
+ /** Whether the editor may expose microphone, camera, and screen recording. */
298
+ allowRecording?: boolean;
299
+ /** Whether presentation may open a synchronized audience window. */
300
+ allowPresentationWindow?: boolean;
301
+ /** Whether presentation may enter the browser/Electron Fullscreen API. */
302
+ allowPresentationFullscreen?: boolean;
289
303
  /**
290
304
  * True once the app has been fully cached for offline use (browser PWA
291
305
  * hosts). Shown to the user once as a passive notice.
292
306
  */
293
307
  offlineReady?: boolean;
294
308
  }
295
- declare function DocBlocksShell({ theme: hostTheme, logoUrl, issueReportVersion, appBuildDate, ffmpegWasm, homeDocumentTitle, homeDocumentPath, allowVersioning, versionBasename, versioningPrunePolicy, versioningAutoSaveIdleMs, onSaveVersion, versioningRef, updateAvailable, onApplyUpdate, statusBarSlotRight, offlineReady, }: DocBlocksShellProps): react_jsx_runtime.JSX.Element;
309
+ declare function DocBlocksShell({ theme: hostTheme, logoUrl, issueReportVersion, appBuildDate, ffmpegWasm, homeDocumentTitle, homeDocumentPath, allowVersioning, versionBasename, versioningPrunePolicy, versioningAutoSaveIdleMs, onSaveVersion, versioningRef, updateAvailable, onApplyUpdate, statusBarSlotRight, showCodeCopyButton, onCopyCode, allowRecording, allowPresentationWindow, allowPresentationFullscreen, offlineReady, }: DocBlocksShellProps): react_jsx_runtime.JSX.Element;
296
310
 
297
311
  /**
298
312
  * Versioning preferences — global default + per-workspace resolution.
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ import {
36
36
  } from "./chunk-SIIEGOHY.js";
37
37
  import {
38
38
  runExport
39
- } from "./chunk-OSQUKIUN.js";
39
+ } from "./chunk-ODYNOPC3.js";
40
40
  import {
41
41
  createBrowserSaveAsAdapter
42
42
  } from "./chunk-UMEDHMT7.js";
@@ -3154,7 +3154,7 @@ function useDocumentSession(autoSaveDelayMs = 500) {
3154
3154
  import { lazy, Suspense } from "react";
3155
3155
  import { jsx as jsx10 } from "react/jsx-runtime";
3156
3156
  var ExportToolbarControlsImplementation = lazy(
3157
- () => import("./ExportToolbarControls-5D4R6UXA.js").then((module) => ({
3157
+ () => import("./ExportToolbarControls-N3TCL5DD.js").then((module) => ({
3158
3158
  default: module.ExportToolbarControls
3159
3159
  }))
3160
3160
  );
@@ -4953,6 +4953,11 @@ function DocBlocksShell({
4953
4953
  updateAvailable = false,
4954
4954
  onApplyUpdate,
4955
4955
  statusBarSlotRight,
4956
+ showCodeCopyButton = true,
4957
+ onCopyCode,
4958
+ allowRecording = true,
4959
+ allowPresentationWindow = true,
4960
+ allowPresentationFullscreen = true,
4956
4961
  offlineReady = false
4957
4962
  }) {
4958
4963
  const osTheme = useOsTheme();
@@ -7912,6 +7917,11 @@ function DocBlocksShell({
7912
7917
  placeholder: editorPlaceholder,
7913
7918
  outlineWidth: 280,
7914
7919
  mediaProvider,
7920
+ showCodeCopyButton,
7921
+ onCopyCode,
7922
+ allowRecording,
7923
+ allowPresentationWindow,
7924
+ allowPresentationFullscreen,
7915
7925
  documentLinkProvider,
7916
7926
  workspaceContainer: versionsContainer ?? void 0,
7917
7927
  allowVersioning: effectiveVersioning,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runExport
3
- } from "./chunk-OSQUKIUN.js";
3
+ } from "./chunk-ODYNOPC3.js";
4
4
  import {
5
5
  buildExportFilename
6
6
  } from "./chunk-M5Y5WO7Z.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bendyline/docblocks-react",
3
- "version": "2.3.2",
3
+ "version": "2.3.3",
4
4
  "description": "React components for DocBlocks — file explorer, workspace picker, and editor shell",
5
5
  "license": "MIT",
6
6
  "author": "Bendyline",
@@ -75,13 +75,13 @@
75
75
  }
76
76
  },
77
77
  "dependencies": {
78
- "@bendyline/docblocks": "2.3.2",
79
- "@bendyline/squisq": "2.5.0",
80
- "@bendyline/squisq-editor-react": "2.5.0",
81
- "@bendyline/squisq-formats": "2.3.10",
82
- "@bendyline/squisq-react": "2.5.0",
83
- "@bendyline/squisq-video": "2.2.9",
84
- "@bendyline/squisq-video-react": "2.3.0"
78
+ "@bendyline/docblocks": "2.3.3",
79
+ "@bendyline/squisq": "2.7.0",
80
+ "@bendyline/squisq-editor-react": "2.7.0",
81
+ "@bendyline/squisq-formats": "2.4.1",
82
+ "@bendyline/squisq-react": "2.7.0",
83
+ "@bendyline/squisq-video": "2.2.11",
84
+ "@bendyline/squisq-video-react": "2.3.2"
85
85
  },
86
86
  "devDependencies": {
87
87
  "@happy-dom/global-registrator": "20.9.0",
@@ -1349,13 +1349,22 @@ body.db-resizing-sidebar * {
1349
1349
  }
1350
1350
  }
1351
1351
 
1352
+ /* Squisq's status bar leaves line-height at `normal`, so its height depends on
1353
+ the installed UI font's metrics — 16px on Segoe UI, 14px on the Linux CI
1354
+ stack. The footer below pins itself to a fixed height, so an unpinned status
1355
+ bar makes their shared top border jog by 2px on some platforms. Pin the line
1356
+ box here so both chrome regions are 25px everywhere. */
1357
+ .db-shell .squisq-status-bar {
1358
+ line-height: 16px;
1359
+ }
1360
+
1352
1361
  .db-shell-sidebar-footer {
1353
1362
  box-sizing: border-box;
1354
1363
  display: flex;
1355
1364
  align-items: center;
1356
1365
  gap: 6px;
1357
- /* Match Squisq's rendered line box + 4px vertical padding + 1px border. */
1358
- height: 23px;
1366
+ /* Match the status bar's pinned line box + 8px vertical padding + 1px border. */
1367
+ height: 25px;
1359
1368
  padding: 0 12px 0 18px;
1360
1369
  border-top: 1px solid var(--db-border-strong);
1361
1370
  flex-shrink: 0;
@@ -3037,7 +3046,7 @@ body.db-resizing-sidebar * {
3037
3046
 
3038
3047
  .db-shell[data-theme='dark'] .squisq-editor-shell[data-theme='dark'] .squisq-status-bar {
3039
3048
  background: var(--db-bg-subtle);
3040
- border-top-color: var(--db-border);
3049
+ border-top-color: var(--db-border-strong);
3041
3050
  }
3042
3051
 
3043
3052
  .db-shell[data-theme='dark'] .squisq-image-viewer--dark,
@@ -4441,7 +4450,7 @@ html:has(.db-shell[data-theme='dark'])
4441
4450
 
4442
4451
  .db-shell[data-theme='light'] .squisq-editor-shell[data-theme='light'] .squisq-status-bar {
4443
4452
  background: var(--db-accent-tint-strong);
4444
- border-top-color: var(--db-border);
4453
+ border-top-color: var(--db-border-strong);
4445
4454
  }
4446
4455
 
4447
4456
  /* Status bar "✓ OK" indicator — squisq paints this in saturated emerald
@@ -5581,8 +5590,7 @@ button.db-git-file-row:hover {
5581
5590
  /* The first shell row replaces the native titlebar. Empty space can drag
5582
5591
  the window; every interactive descendant opts back out below. */
5583
5592
  .db-shell .db-shell-sidebar-header,
5584
- .db-shell .squisq-toolbar,
5585
- .db-shell .squisq-editor-header--image {
5593
+ .db-shell .squisq-editor-header {
5586
5594
  app-region: drag;
5587
5595
  -webkit-app-region: drag;
5588
5596
  box-sizing: border-box;
@@ -5590,6 +5598,14 @@ button.db-git-file-row:hover {
5590
5598
  min-height: var(--db-wco-titlebar-height);
5591
5599
  }
5592
5600
 
5601
+ .db-shell .squisq-toolbar {
5602
+ app-region: drag;
5603
+ -webkit-app-region: drag;
5604
+ box-sizing: border-box;
5605
+ height: 100%;
5606
+ min-height: 0;
5607
+ }
5608
+
5593
5609
  .db-shell .db-shell-sidebar-header {
5594
5610
  padding-block: 0;
5595
5611
  padding-left: max(4px, calc(env(titlebar-area-x, 0px) + 4px));