@bendyline/docblocks-react 2.7.0 → 2.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/THIRD_PARTY_NOTICES.txt +17 -17
  2. package/dist/{AiDiagrams-XWOM3YZX.js → AiDiagrams-LFV4YU6W.js} +2 -2
  3. package/dist/{AiEditorAssistant-M4LI2CRY.js → AiEditorAssistant-GN2KXKZD.js} +21 -6
  4. package/dist/{ExportDialog-L6FG6W3H.js → ExportDialog-IMBVGRYG.js} +1 -1
  5. package/dist/{ExportToolbarControls-BRCPZ7H3.js → ExportToolbarControls-MUM6HM3K.js} +14 -12
  6. package/dist/{GitToolbarControl-J4UYZDV6.js → GitToolbarControl-B7KG4MFP.js} +4 -4
  7. package/dist/{GitUI-LZW3IUXO.js → GitUI-RCWUZVS6.js} +2 -2
  8. package/dist/{PresentationMaker-622NHMIN.js → PresentationMaker-W2JIBHRN.js} +2 -2
  9. package/dist/ShareDialog-XUA2OVGI.js +292 -0
  10. package/dist/{SpeechToolbarControl-UZQKGQWD.js → SpeechToolbarControl-OSQS7NVY.js} +1 -1
  11. package/dist/{WorkspaceSearchPanel-OUQQ5DOM.js → WorkspaceSearchPanel-BKZJRPMY.js} +7 -1
  12. package/dist/{chunk-SGQKTKDX.js → chunk-BD54Z5XP.js} +10 -1
  13. package/dist/{chunk-MMOTEQK6.js → chunk-EPOLZNFD.js} +1 -1
  14. package/dist/{chunk-MRUK56JS.js → chunk-GMA4KGGO.js} +7 -3
  15. package/dist/{chunk-5OZBGIIT.js → chunk-NAH52736.js} +86 -28
  16. package/dist/{chunk-YS4HVWIO.js → chunk-SPUPWCSI.js} +49 -1
  17. package/dist/{chunk-Q5ZVP5LV.js → chunk-W55E6TE2.js} +13 -10
  18. package/dist/{chunk-OINKNX26.js → chunk-X3DDTJKR.js} +1 -1
  19. package/dist/editor.js +2 -2
  20. package/dist/export/index.js +1 -1
  21. package/dist/index.js +66 -60
  22. package/dist/proofing/index.js +11 -1
  23. package/dist/settings/index.js +1 -1
  24. package/package.json +6 -6
  25. package/src/styles/docblocks.css +16 -5
  26. package/dist/ShareDialog-N7GPM4SB.js +0 -310
@@ -17,12 +17,12 @@ This notice is included in the published npm tarball. Transitive packages instal
17
17
  | @antfu/install-pkg | 2.1.0 | MIT | https://github.com/antfu-collective/install-pkg |
18
18
  | @bendyline/squisq | 2.11.19 | MIT | https://github.com/bendyline/squisq |
19
19
  | @bendyline/squisq-calc | 2.11.2 | MIT | https://github.com/bendyline/squisq |
20
- | @bendyline/squisq-editor-react | 2.11.23 | MIT | https://github.com/bendyline/squisq |
21
- | @bendyline/squisq-formats | 2.6.19 | MIT | https://github.com/bendyline/squisq |
22
- | @bendyline/squisq-grid-react | 2.11.20 | MIT | https://github.com/bendyline/squisq |
23
- | @bendyline/squisq-react | 2.11.21 | MIT | https://github.com/bendyline/squisq |
20
+ | @bendyline/squisq-editor-react | 2.11.26 | MIT | https://github.com/bendyline/squisq |
21
+ | @bendyline/squisq-formats | 2.6.20 | MIT | https://github.com/bendyline/squisq |
22
+ | @bendyline/squisq-grid-react | 2.11.21 | MIT | https://github.com/bendyline/squisq |
23
+ | @bendyline/squisq-react | 2.11.24 | MIT | https://github.com/bendyline/squisq |
24
24
  | @bendyline/squisq-video | 2.3.23 | MIT | https://github.com/bendyline/squisq |
25
- | @bendyline/squisq-video-react | 2.4.25 | MIT | https://github.com/bendyline/squisq |
25
+ | @bendyline/squisq-video-react | 2.4.28 | MIT | https://github.com/bendyline/squisq |
26
26
  | @braintree/sanitize-url | 7.1.2 | MIT | https://github.com/braintree/sanitize-url |
27
27
  | @chevrotain/types | 11.1.2 | Apache-2.0 | https://github.com/Chevrotain/chevrotain |
28
28
  | @ffmpeg/core | 0.12.10 | GPL-2.0-or-later | https://github.com/ffmpegwasm/ffmpeg.wasm |
@@ -436,7 +436,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
436
436
  SOFTWARE.
437
437
 
438
438
  ==============================================================================
439
- Components: @bendyline/squisq-calc@2.11.2, @bendyline/squisq-editor-react@2.11.23, @bendyline/squisq-formats@2.6.19, @bendyline/squisq-grid-react@2.11.20, @bendyline/squisq-react@2.11.21, @bendyline/squisq-video-react@2.4.25, @bendyline/squisq-video@2.3.23, @bendyline/squisq@2.11.19
439
+ Components: @bendyline/squisq-calc@2.11.2, @bendyline/squisq-editor-react@2.11.26, @bendyline/squisq-formats@2.6.20, @bendyline/squisq-grid-react@2.11.21, @bendyline/squisq-react@2.11.24, @bendyline/squisq-video-react@2.4.28, @bendyline/squisq-video@2.3.23, @bendyline/squisq@2.11.19
440
440
  Source files: node_modules/@bendyline/squisq-calc/LICENSE, node_modules/@bendyline/squisq-editor-react/LICENSE, node_modules/@bendyline/squisq-formats/LICENSE, node_modules/@bendyline/squisq-grid-react/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
441
441
  ==============================================================================
442
442
  MIT License
@@ -636,7 +636,7 @@ The above copyright notice and this permission notice shall be included in all c
636
636
  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.
637
637
 
638
638
  ==============================================================================
639
- Components: @bendyline/squisq-editor-react@2.11.23
639
+ Components: @bendyline/squisq-editor-react@2.11.26
640
640
  Source files: node_modules/@bendyline/squisq-editor-react/NOTICE.md
641
641
  ==============================================================================
642
642
  # Third-Party Notices for @bendyline/squisq-editor-react
@@ -684,7 +684,7 @@ Exact third-party license texts for the bundled adapter, loader, state helper,
684
684
  and Font Awesome assets are shipped in THIRD_PARTY_LICENSES.txt.
685
685
 
686
686
  ==============================================================================
687
- Components: @bendyline/squisq-editor-react@2.11.23, @tiptap/core@2.27.3, @tiptap/extension-blockquote@2.27.3, @tiptap/extension-bold@2.27.3, @tiptap/extension-bubble-menu@2.27.3, @tiptap/extension-bullet-list@2.27.3, @tiptap/extension-code-block@2.27.3, @tiptap/extension-code@2.27.3, @tiptap/extension-document@2.27.3, @tiptap/extension-dropcursor@2.27.3, @tiptap/extension-floating-menu@2.27.3, @tiptap/extension-gapcursor@2.27.3, @tiptap/extension-hard-break@2.27.3, @tiptap/extension-heading@2.27.3, @tiptap/extension-history@2.27.3, @tiptap/extension-horizontal-rule@2.27.3, @tiptap/extension-image@2.27.3, @tiptap/extension-italic@2.27.3, @tiptap/extension-link@2.27.3, @tiptap/extension-list-item@2.27.3, @tiptap/extension-mention@2.27.3, @tiptap/extension-ordered-list@2.27.3, @tiptap/extension-paragraph@2.27.3, @tiptap/extension-placeholder@2.27.3, @tiptap/extension-strike@2.27.3, @tiptap/extension-table-cell@2.27.3, @tiptap/extension-table-header@2.27.3, @tiptap/extension-table-row@2.27.3, @tiptap/extension-table@2.27.3, @tiptap/extension-task-item@2.27.3, @tiptap/extension-task-list@2.27.3, @tiptap/extension-text-style@2.27.3, @tiptap/extension-text@2.27.3, @tiptap/pm@2.27.3, @tiptap/react@2.27.3, @tiptap/starter-kit@2.27.3, @tiptap/suggestion@2.27.3
687
+ Components: @bendyline/squisq-editor-react@2.11.26, @tiptap/core@2.27.3, @tiptap/extension-blockquote@2.27.3, @tiptap/extension-bold@2.27.3, @tiptap/extension-bubble-menu@2.27.3, @tiptap/extension-bullet-list@2.27.3, @tiptap/extension-code-block@2.27.3, @tiptap/extension-code@2.27.3, @tiptap/extension-document@2.27.3, @tiptap/extension-dropcursor@2.27.3, @tiptap/extension-floating-menu@2.27.3, @tiptap/extension-gapcursor@2.27.3, @tiptap/extension-hard-break@2.27.3, @tiptap/extension-heading@2.27.3, @tiptap/extension-history@2.27.3, @tiptap/extension-horizontal-rule@2.27.3, @tiptap/extension-image@2.27.3, @tiptap/extension-italic@2.27.3, @tiptap/extension-link@2.27.3, @tiptap/extension-list-item@2.27.3, @tiptap/extension-mention@2.27.3, @tiptap/extension-ordered-list@2.27.3, @tiptap/extension-paragraph@2.27.3, @tiptap/extension-placeholder@2.27.3, @tiptap/extension-strike@2.27.3, @tiptap/extension-table-cell@2.27.3, @tiptap/extension-table-header@2.27.3, @tiptap/extension-table-row@2.27.3, @tiptap/extension-table@2.27.3, @tiptap/extension-task-item@2.27.3, @tiptap/extension-task-list@2.27.3, @tiptap/extension-text-style@2.27.3, @tiptap/extension-text@2.27.3, @tiptap/pm@2.27.3, @tiptap/react@2.27.3, @tiptap/starter-kit@2.27.3, @tiptap/suggestion@2.27.3
688
688
  Source files: node_modules/@bendyline/squisq-editor-react/THIRD_PARTY_LICENSES.txt
689
689
  ==============================================================================
690
690
  THIRD-PARTY LICENSES FOR @bendyline/squisq-editor-react
@@ -1625,7 +1625,7 @@ The above copyright notice and this permission notice shall be included in all c
1625
1625
  **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.**
1626
1626
 
1627
1627
  ==============================================================================
1628
- Components: @bendyline/squisq-formats@2.6.19
1628
+ Components: @bendyline/squisq-formats@2.6.20
1629
1629
  Source files: node_modules/@bendyline/squisq-formats/NOTICE.md
1630
1630
  ==============================================================================
1631
1631
  # Third-Party Notices for @bendyline/squisq-formats
@@ -1651,7 +1651,7 @@ texts for these dependencies are included in their respective npm
1651
1651
  distributions and source repositories.
1652
1652
 
1653
1653
  ==============================================================================
1654
- Components: @bendyline/squisq-formats@2.6.19
1654
+ Components: @bendyline/squisq-formats@2.6.20
1655
1655
  Source files: node_modules/@bendyline/squisq-formats/THIRD_PARTY_LICENSES.txt
1656
1656
  ==============================================================================
1657
1657
  THIRD-PARTY LICENSES FOR @bendyline/squisq-formats
@@ -1833,7 +1833,7 @@ Awesome, nor vice versa. **Please do not use brand logos for any purpose except
1833
1833
  to represent the company, product, or service to which they refer.**
1834
1834
 
1835
1835
  ==============================================================================
1836
- Components: @bendyline/squisq-grid-react@2.11.20
1836
+ Components: @bendyline/squisq-grid-react@2.11.21
1837
1837
  Source files: node_modules/@bendyline/squisq-grid-react/NOTICE.md
1838
1838
  ==============================================================================
1839
1839
  # Third-Party Notices for @bendyline/squisq-grid-react
@@ -1854,7 +1854,7 @@ Copyright and complete license texts for these dependencies are included in
1854
1854
  their respective npm distributions and source repositories.
1855
1855
 
1856
1856
  ==============================================================================
1857
- Components: @bendyline/squisq-grid-react@2.11.20
1857
+ Components: @bendyline/squisq-grid-react@2.11.21
1858
1858
  Source files: node_modules/@bendyline/squisq-grid-react/THIRD_PARTY_LICENSES.txt
1859
1859
  ==============================================================================
1860
1860
  THIRD-PARTY LICENSES FOR @bendyline/squisq-grid-react
@@ -1866,7 +1866,7 @@ repository license, the pinned upstream copy is vendored and identified below.
1866
1866
  COMPONENTS
1867
1867
 
1868
1868
  ==============================================================================
1869
- Components: @bendyline/squisq-react@2.11.21
1869
+ Components: @bendyline/squisq-react@2.11.24
1870
1870
  Source files: node_modules/@bendyline/squisq-react/NOTICE.md
1871
1871
  ==============================================================================
1872
1872
  # Third-Party Notices for @bendyline/squisq-react
@@ -1891,7 +1891,7 @@ third-party license texts for the complete standalone bundle graph are shipped
1891
1891
  in THIRD_PARTY_LICENSES.txt.
1892
1892
 
1893
1893
  ==============================================================================
1894
- Components: @bendyline/squisq-react@2.11.21
1894
+ Components: @bendyline/squisq-react@2.11.24
1895
1895
  Source files: node_modules/@bendyline/squisq-react/THIRD_PARTY_LICENSES.txt
1896
1896
  ==============================================================================
1897
1897
  THIRD-PARTY LICENSES FOR @bendyline/squisq-react
@@ -6378,7 +6378,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
6378
6378
  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
6379
6379
 
6380
6380
  ==============================================================================
6381
- Components: @bendyline/squisq-video-react@2.4.25
6381
+ Components: @bendyline/squisq-video-react@2.4.28
6382
6382
  Source files: node_modules/@bendyline/squisq-video-react/COPYING.GPL-2.0.txt
6383
6383
  ==============================================================================
6384
6384
  GNU GENERAL PUBLIC LICENSE
@@ -6721,7 +6721,7 @@ library. If this is what you want to do, use the GNU Lesser General
6721
6721
  Public License instead of this License.
6722
6722
 
6723
6723
  ==============================================================================
6724
- Components: @bendyline/squisq-video-react@2.4.25
6724
+ Components: @bendyline/squisq-video-react@2.4.28
6725
6725
  Source files: node_modules/@bendyline/squisq-video-react/NOTICE.md
6726
6726
  ==============================================================================
6727
6727
  # Third-Party Notices for @bendyline/squisq-video-react
@@ -6777,7 +6777,7 @@ at the version listed above and from https://github.com/Vanilagy/mediabunny.
6777
6777
  The complete MPL-2.0 text is shipped in THIRD_PARTY_LICENSES.txt.
6778
6778
 
6779
6779
  ==============================================================================
6780
- Components: @bendyline/squisq-video-react@2.4.25, @ffmpeg/core@0.12.10, @ffmpeg/ffmpeg@0.12.15, @ffmpeg/types@0.12.4, @ffmpeg/util@0.12.2
6780
+ Components: @bendyline/squisq-video-react@2.4.28, @ffmpeg/core@0.12.10, @ffmpeg/ffmpeg@0.12.15, @ffmpeg/types@0.12.4, @ffmpeg/util@0.12.2
6781
6781
  Source files: node_modules/@bendyline/squisq-video-react/THIRD_PARTY_LICENSES.txt
6782
6782
  ==============================================================================
6783
6783
  THIRD-PARTY LICENSES FOR @bendyline/squisq-video-react
@@ -2,8 +2,8 @@ import {
2
2
  AiDiagramDialog,
3
3
  AiIllustratePanel,
4
4
  DiagramPreview
5
- } from "./chunk-OINKNX26.js";
6
- import "./chunk-5OZBGIIT.js";
5
+ } from "./chunk-X3DDTJKR.js";
6
+ import "./chunk-NAH52736.js";
7
7
  import "./chunk-K4I3NJFL.js";
8
8
  import "./chunk-56KO2LYN.js";
9
9
  export {
@@ -1,24 +1,26 @@
1
1
  import {
2
2
  AiDiagramDialog
3
- } from "./chunk-OINKNX26.js";
3
+ } from "./chunk-X3DDTJKR.js";
4
4
  import {
5
5
  useConfirmDialog
6
6
  } from "./chunk-6B7G33D5.js";
7
7
  import {
8
8
  useMenuKeyboard
9
- } from "./chunk-MRUK56JS.js";
9
+ } from "./chunk-GMA4KGGO.js";
10
10
  import {
11
11
  AI_INSTRUCTION_CHARACTERS,
12
12
  AI_REVIEW_DOCUMENT_CHARACTERS,
13
13
  AI_REWRITE_SELECTION_CHARACTERS,
14
+ aiReviewReplyWasCutOff,
14
15
  applyAiReviewFinding,
15
16
  buildDraftContinuation,
16
17
  buildDraftRequest,
17
18
  buildReviewRequest,
18
19
  findUniqueExcerpt,
19
20
  parseAiReviewResponse,
21
+ parseTruncatedAiReviewResponse,
20
22
  sanitizeGeneratedMarkdown
21
- } from "./chunk-5OZBGIIT.js";
23
+ } from "./chunk-NAH52736.js";
22
24
  import {
23
25
  unavailableSentence,
24
26
  useAiStatus
@@ -586,6 +588,7 @@ function AiReviewPanel({ ai, onClose }) {
586
588
  const [reviewedSource, setReviewedSource] = useState2(null);
587
589
  const [resolvedIds, setResolvedIds] = useState2(() => /* @__PURE__ */ new Set());
588
590
  const [error, setError] = useState2(null);
591
+ const [cutOff, setCutOff] = useState2(false);
589
592
  const [applyErrorId, setApplyErrorId] = useState2(null);
590
593
  const handleRef = useRef(null);
591
594
  const requestRef = useRef(0);
@@ -597,6 +600,7 @@ function AiReviewPanel({ ai, onClose }) {
597
600
  setPhase("idle");
598
601
  }, []);
599
602
  const runReview = useCallback(() => {
603
+ setCutOff(false);
600
604
  if (!markdownSource.trim()) {
601
605
  setFindings([]);
602
606
  setReviewedSource(markdownSource);
@@ -627,12 +631,16 @@ function AiReviewPanel({ ai, onClose }) {
627
631
  setPhase("error");
628
632
  return;
629
633
  }
630
- const parsed = parseAiReviewResponse(event.completion.text);
631
- if (!parsed) {
632
- setError("The AI returned a review DocBlocks could not read. Try reviewing again.");
634
+ const truncated = event.completion.finishReason === "length" || aiReviewReplyWasCutOff(event.completion.text);
635
+ const parsed = truncated ? parseTruncatedAiReviewResponse(event.completion.text) : parseAiReviewResponse(event.completion.text);
636
+ if (!parsed || truncated && parsed.length === 0) {
637
+ setError(
638
+ truncated ? "The AI's reply was cut off before it finished a single finding. Try a shorter document, or choose a different model in AI settings." : "The AI returned a review DocBlocks could not read. Try reviewing again."
639
+ );
633
640
  setPhase("error");
634
641
  return;
635
642
  }
643
+ setCutOff(truncated);
636
644
  setFindings(parsed);
637
645
  setReviewedSource(source);
638
646
  setPhase("ready");
@@ -700,6 +708,13 @@ function AiReviewPanel({ ai, onClose }) {
700
708
  " Reviewing this document\u2026"
701
709
  ] }),
702
710
  phase === "error" && error && /* @__PURE__ */ jsx2("div", { className: "db-ai-review-empty db-ai-error", role: "alert", children: error }),
711
+ cutOff && phase === "ready" && /* @__PURE__ */ jsxs2("div", { className: "db-ai-review-stale", role: "status", children: [
712
+ "The AI ran out of room after ",
713
+ findings.length,
714
+ " ",
715
+ findings.length === 1 ? "finding" : "findings",
716
+ ", so there may be more. After you apply these, review again to look for others."
717
+ ] }),
703
718
  documentChanged && phase === "ready" && /* @__PURE__ */ jsx2("div", { className: "db-ai-review-stale", role: "status", children: "The document changed after this review. Suggestions are applied only when their original text still matches exactly." }),
704
719
  phase === "ready" && visibleFindings.length === 0 && /* @__PURE__ */ jsx2("div", { className: "db-ai-review-empty", children: findings.length === 0 ? "Nothing to report." : "All findings have been handled." }),
705
720
  /* @__PURE__ */ jsx2("ol", { className: "db-ai-review-list", children: visibleFindings.map((finding) => {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ExportDialog
3
- } from "./chunk-SGQKTKDX.js";
3
+ } from "./chunk-BD54Z5XP.js";
4
4
  import "./chunk-YBEYTVU2.js";
5
5
  import "./chunk-X437UAF7.js";
6
6
  import "./chunk-56KO2LYN.js";
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-UMEDHMT7.js";
8
8
  import {
9
9
  useMenuKeyboard
10
- } from "./chunk-MRUK56JS.js";
10
+ } from "./chunk-GMA4KGGO.js";
11
11
  import {
12
12
  createImageSaveOutput,
13
13
  hostErrorDetail
@@ -43,10 +43,10 @@ import { readFrontmatterThemeId } from "@bendyline/squisq/markdown";
43
43
  import { getThemeSummaries } from "@bendyline/squisq/schemas";
44
44
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
45
45
  var ExportDialog = lazy(
46
- () => import("./ExportDialog-L6FG6W3H.js").then((module) => ({ default: module.ExportDialog }))
46
+ () => import("./ExportDialog-IMBVGRYG.js").then((module) => ({ default: module.ExportDialog }))
47
47
  );
48
48
  var ShareDialog = lazy(
49
- () => import("./ShareDialog-N7GPM4SB.js").then((module) => ({ default: module.ShareDialog }))
49
+ () => import("./ShareDialog-XUA2OVGI.js").then((module) => ({ default: module.ShareDialog }))
50
50
  );
51
51
  var runExportModulePromise = null;
52
52
  function loadRunExportModule() {
@@ -243,25 +243,25 @@ function ExportToolbarControls({
243
243
  );
244
244
  const handleOpenDialog = useCallback(() => {
245
245
  setFileShare(false);
246
- setMenuOpen(false);
246
+ closeMenu(true);
247
247
  setExportError(null);
248
248
  setDialogOpen(true);
249
249
  void refreshDestination(dialogInitial);
250
- }, [dialogInitial, refreshDestination]);
250
+ }, [closeMenu, dialogInitial, refreshDestination]);
251
251
  const handleCloseDialog = useCallback(() => {
252
252
  setDialogOpen(false);
253
253
  setExportError(null);
254
254
  }, []);
255
255
  const handleOpenShareDialog = useCallback(() => {
256
- setMenuOpen(false);
256
+ closeMenu(true);
257
257
  setShareDialogOpen(true);
258
- }, []);
258
+ }, [closeMenu]);
259
259
  const handleCloseShareDialog = useCallback(() => {
260
260
  setShareDialogOpen(false);
261
261
  }, []);
262
262
  const handleOpenVideoModal = useCallback(
263
263
  async (outputFormat) => {
264
- setMenuOpen(false);
264
+ closeMenu(true);
265
265
  setVideoOutputFormat(outputFormat);
266
266
  setVideoModalOpen(true);
267
267
  setVideoLoadError(null);
@@ -287,7 +287,7 @@ function ExportToolbarControls({
287
287
  setVideoLoading(false);
288
288
  }
289
289
  },
290
- [markdownSource, selectedFile, videoModules, workspaceContainer]
290
+ [closeMenu, markdownSource, selectedFile, videoModules, workspaceContainer]
291
291
  );
292
292
  const handleCloseVideoModal = useCallback(() => {
293
293
  setVideoModalOpen(false);
@@ -366,7 +366,7 @@ function ExportToolbarControls({
366
366
  );
367
367
  const handleQuickExport = useCallback(async () => {
368
368
  if (!lastOptions) return;
369
- setMenuOpen(false);
369
+ closeMenu(true);
370
370
  setExporting(true);
371
371
  setExportError(null);
372
372
  try {
@@ -396,6 +396,7 @@ function ExportToolbarControls({
396
396
  setExporting(false);
397
397
  }
398
398
  }, [
399
+ closeMenu,
399
400
  destinationAdapter,
400
401
  lastOptions,
401
402
  markdownSource,
@@ -420,6 +421,7 @@ function ExportToolbarControls({
420
421
  trigger === "button" ? /* @__PURE__ */ jsx(
421
422
  "button",
422
423
  {
424
+ ref: triggerRef,
423
425
  type: "button",
424
426
  className: "squisq-toolbar-button db-toolbar-export-trigger",
425
427
  onClick: handleOpenDialog,
@@ -498,7 +500,7 @@ function ExportToolbarControls({
498
500
  className: "db-toolbar-menu-item",
499
501
  onClick: () => {
500
502
  setFileShare(true);
501
- setMenuOpen(false);
503
+ closeMenu(true);
502
504
  setExportError(null);
503
505
  setDialogOpen(true);
504
506
  },
@@ -537,7 +539,7 @@ function ExportToolbarControls({
537
539
  tabIndex: -1,
538
540
  className: "db-toolbar-menu-item",
539
541
  onClick: () => {
540
- setMenuOpen(false);
542
+ closeMenu(true);
541
543
  setAudioDialogOpen(true);
542
544
  },
543
545
  children: "Export audio..."
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-6E635KCJ.js";
8
8
  import {
9
9
  useMenuKeyboard
10
- } from "./chunk-MRUK56JS.js";
10
+ } from "./chunk-GMA4KGGO.js";
11
11
 
12
12
  // src/Git/GitToolbarControl.tsx
13
13
  import { useEffect, useRef, useState } from "react";
@@ -31,15 +31,15 @@ function GitToolbarControl({ selectedFile }) {
31
31
  const dirty = isFileDirty(git.status, selectedFile);
32
32
  const label = dirty ? "Git actions (file modified)" : "Git actions";
33
33
  const openDiff = () => {
34
- closeMenu(false);
34
+ closeMenu(true);
35
35
  git.openDialog({ kind: "diff", path: selectedFile });
36
36
  };
37
37
  const openHistory = () => {
38
- closeMenu(false);
38
+ closeMenu(true);
39
39
  git.openDialog({ kind: "history", path: selectedFile });
40
40
  };
41
41
  const openOnRemote = () => {
42
- closeMenu(false);
42
+ closeMenu(true);
43
43
  git.openOnRemote(selectedFile);
44
44
  };
45
45
  return /* @__PURE__ */ jsxs("div", { className: "db-toolbar-menu", ref: rootRef, children: [
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-6E635KCJ.js";
12
12
  import {
13
13
  useMenuKeyboard
14
- } from "./chunk-MRUK56JS.js";
14
+ } from "./chunk-GMA4KGGO.js";
15
15
  import {
16
16
  Dialog
17
17
  } from "./chunk-56KO2LYN.js";
@@ -36,7 +36,7 @@ function GitStatusBar() {
36
36
  }, [menuOpen]);
37
37
  const runItem = useCallback(
38
38
  (action) => {
39
- closeMenu(false);
39
+ closeMenu(true);
40
40
  action();
41
41
  },
42
42
  [closeMenu]
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  PresentationMaker
3
- } from "./chunk-MMOTEQK6.js";
4
- import "./chunk-5OZBGIIT.js";
3
+ } from "./chunk-EPOLZNFD.js";
4
+ import "./chunk-NAH52736.js";
5
5
  import "./chunk-K4I3NJFL.js";
6
6
  import "./chunk-56KO2LYN.js";
7
7
  export {