@bendyline/docblocks-react 2.7.7 → 2.7.8

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 (42) hide show
  1. package/THIRD_PARTY_NOTICES.txt +205 -35
  2. package/dist/{AiDiagrams-7KBAOXPB.js → AiDiagrams-2IKKSBAU.js} +5 -3
  3. package/dist/{AiEditorAssistant-4B2PFFOT.js → AiEditorAssistant-ANYGVG7P.js} +46 -6
  4. package/dist/AiImagePanel-OXWEFOBC.js +314 -0
  5. package/dist/{AiStudyDialog-JPVFFZBB.js → AiStudyDialog-T3FY74HY.js} +2 -2
  6. package/dist/{AudioExportDialog-EICCBSSE.js → AudioExportDialog-CBMSLQBS.js} +1 -1
  7. package/dist/DocumentConflictDialog-4R4QMKBT.js +217 -0
  8. package/dist/{ExportDialog-EYDGTJ3S.js → ExportDialog-FNFD53SY.js} +2 -2
  9. package/dist/{ExportToolbarControls-2XY2CKGH.js → ExportToolbarControls-ZOYH4I36.js} +108 -71
  10. package/dist/{GitUI-F3CNBURE.js → GitUI-3FANM7I3.js} +88 -155
  11. package/dist/{KeyboardShortcutsDialog-HVKDFP5Z.js → KeyboardShortcutsDialog-7XJTDIX2.js} +1 -1
  12. package/dist/{PresentationMaker-VYQKNL3L.js → PresentationMaker-COLTVMTS.js} +3 -3
  13. package/dist/{QuickOpenDialog-3QEX7RZG.js → QuickOpenDialog-U2FWCEPA.js} +1 -1
  14. package/dist/{Settings-CfhY489G.d.ts → Settings-ButIB78y.d.ts} +20 -4
  15. package/dist/{ShareDialog-PF7D7ORP.js → ShareDialog-WOWHI6YI.js} +1 -1
  16. package/dist/{SpeechToolbarControl-E6OSJGHL.js → SpeechToolbarControl-BZW6IVZM.js} +1 -1
  17. package/dist/{TextFromNarration-ME6FAYWO.js → TextFromNarration-6BYTUKVZ.js} +2 -2
  18. package/dist/chunk-27E2OON2.js +90 -0
  19. package/dist/{chunk-5O5YTOXG.js → chunk-5YMULR6A.js} +13 -1
  20. package/dist/{chunk-5OIHB3SR.js → chunk-A7BK6QFL.js} +362 -25
  21. package/dist/{chunk-T2PA7QEF.js → chunk-BGA5UVKL.js} +58 -17
  22. package/dist/{chunk-N7AKLJPY.js → chunk-CXLXGFG2.js} +16 -8
  23. package/dist/{chunk-7CSBRAMT.js → chunk-F7TR5EKX.js} +8 -6
  24. package/dist/chunk-HIKMOKBQ.js +37 -0
  25. package/dist/chunk-OW6JWRAA.js +66 -0
  26. package/dist/{chunk-BNKIPCXO.js → chunk-QXBV3G6T.js} +5 -3
  27. package/dist/{chunk-7HBKKXRV.js → chunk-TN7BY5N3.js} +722 -281
  28. package/dist/{chunk-VJPGZCFS.js → chunk-UYJCL6OW.js} +4 -2
  29. package/dist/{chunk-G63YXKBC.js → chunk-WDNE5TI3.js} +13 -2
  30. package/dist/{chunk-KBUHWZCF.js → chunk-YX275NPE.js} +1 -1
  31. package/dist/editor.js +3 -3
  32. package/dist/export/index.d.ts +16 -162
  33. package/dist/export/index.js +6 -4
  34. package/dist/image-save-D18dJrUr.d.ts +182 -0
  35. package/dist/index.d.ts +15 -11
  36. package/dist/index.js +1154 -964
  37. package/dist/{run-export-SPNNH32M.js → run-export-C3PLLWLS.js} +2 -2
  38. package/dist/settings/index.d.ts +1 -1
  39. package/dist/settings/index.js +3 -2
  40. package/package.json +8 -8
  41. package/src/styles/docblocks.css +302 -10
  42. package/dist/DocumentConflictDialog-DZ2BV2IH.js +0 -111
@@ -13,8 +13,9 @@ import {
13
13
  hostErrorDetail
14
14
  } from "./chunk-UONFWKJ7.js";
15
15
  import {
16
+ PdfReplacementsError,
16
17
  buildExportFilename
17
- } from "./chunk-5O5YTOXG.js";
18
+ } from "./chunk-5YMULR6A.js";
18
19
  import {
19
20
  OpenAfterSaveCheckbox,
20
21
  loadTransformStyleSummaries
@@ -27,7 +28,7 @@ import {
27
28
  } from "./chunk-6MSHXQNB.js";
28
29
  import {
29
30
  Dialog
30
- } from "./chunk-VJPGZCFS.js";
31
+ } from "./chunk-UYJCL6OW.js";
31
32
 
32
33
  // src/Export/ExportToolbarControls.tsx
33
34
  import {
@@ -67,20 +68,20 @@ function saveOpenAfterExport(value) {
67
68
  // src/Export/ExportToolbarControls.tsx
68
69
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
69
70
  var ExportDialog = lazy(
70
- () => import("./ExportDialog-EYDGTJ3S.js").then((module) => ({ default: module.ExportDialog }))
71
+ () => import("./ExportDialog-FNFD53SY.js").then((module) => ({ default: module.ExportDialog }))
71
72
  );
72
73
  var ShareDialog = lazy(
73
- () => import("./ShareDialog-PF7D7ORP.js").then((module) => ({ default: module.ShareDialog }))
74
+ () => import("./ShareDialog-WOWHI6YI.js").then((module) => ({ default: module.ShareDialog }))
74
75
  );
75
76
  var runExportModulePromise = null;
76
77
  function loadRunExportModule() {
77
- runExportModulePromise ?? (runExportModulePromise = import("./run-export-SPNNH32M.js"));
78
+ runExportModulePromise ?? (runExportModulePromise = import("./run-export-C3PLLWLS.js"));
78
79
  return runExportModulePromise;
79
80
  }
80
81
  var ExportCancelledError = class extends Error {
81
82
  };
82
83
  var AudioExportDialog = lazy(
83
- () => import("./AudioExportDialog-EICCBSSE.js").then((module) => ({
84
+ () => import("./AudioExportDialog-CBMSLQBS.js").then((module) => ({
84
85
  default: module.AudioExportDialog
85
86
  }))
86
87
  );
@@ -115,6 +116,7 @@ function loadVideoExportModules() {
115
116
  return videoExportModulesPromise;
116
117
  }
117
118
  function exportErrorMessage(caught) {
119
+ if (caught instanceof PdfReplacementsError) return caught.message;
118
120
  const detail = hostErrorDetail(caught);
119
121
  return detail ? `Export failed: ${detail}` : "Export failed. The document could not be exported.";
120
122
  }
@@ -188,6 +190,7 @@ function ExportToolbarControls({
188
190
  saveOpenAfterExport(checked);
189
191
  }, []);
190
192
  const [exportNotice, setExportNotice] = useState(null);
193
+ const [pdfReplacements, setPdfReplacements] = useState(null);
191
194
  const [destinationTarget, setDestinationTarget] = useState(null);
192
195
  const [quickDestination, setQuickDestination] = useState(null);
193
196
  const [quickDestinationPending, setQuickDestinationPending] = useState(false);
@@ -374,9 +377,10 @@ function ExportToolbarControls({
374
377
  [destinationAdapter, openAfterSave]
375
378
  );
376
379
  const handleExport = useCallback(
377
- async (opts) => {
380
+ async (opts, allowPdfReplacements = false) => {
378
381
  setExporting(true);
379
382
  setExportError(null);
383
+ setPdfReplacements(null);
380
384
  setOpenError(null);
381
385
  setExportNotice(null);
382
386
  setExportCompletion(null);
@@ -400,7 +404,9 @@ function ExportToolbarControls({
400
404
  if (outcome === "cancelled") throw new ExportCancelledError();
401
405
  } : destinationAdapter ? async (blob, filename) => {
402
406
  savedTarget = await saveToDestination(blob, filename, exportTarget);
403
- } : saveBlob
407
+ } : saveBlob,
408
+ void 0,
409
+ { allowPdfReplacements }
404
410
  );
405
411
  setDialogOpen(false);
406
412
  if (!fileShare) {
@@ -412,6 +418,9 @@ function ExportToolbarControls({
412
418
  if (result.warnings.length > 0) setExportNotice(result.warnings);
413
419
  if (savedTarget) await openSaved(savedTarget);
414
420
  } catch (caught) {
421
+ if (caught instanceof PdfReplacementsError) {
422
+ setPdfReplacements({ options: opts, quick: false });
423
+ }
415
424
  if (!(caught instanceof ExportCancelledError)) setExportError(exportErrorMessage(caught));
416
425
  } finally {
417
426
  setExporting(false);
@@ -429,64 +438,79 @@ function ExportToolbarControls({
429
438
  openSaved
430
439
  ]
431
440
  );
432
- const handleQuickExport = useCallback(async () => {
433
- if (!lastOptions) return;
434
- closeMenu(true);
435
- setExporting(true);
436
- setExportError(null);
437
- setOpenError(null);
438
- setExportNotice(null);
439
- setExportCompletion(null);
440
- try {
441
- saveExportOptions(lastOptions);
442
- let quickTarget = null;
443
- if (destinationAdapter) {
444
- if (destinationAdapter.pickBeforeSave) {
445
- const filename = buildExportFilename(selectedFile, lastOptions);
446
- quickTarget = await destinationAdapter.pickTarget(filename, quickDestinationTarget);
447
- if (!quickTarget) return;
448
- } else {
449
- if (!quickDestinationTarget) return;
450
- quickTarget = quickDestinationTarget;
441
+ const handleQuickExport = useCallback(
442
+ async (allowPdfReplacements = false) => {
443
+ if (!lastOptions) return;
444
+ closeMenu(true);
445
+ setExporting(true);
446
+ setExportError(null);
447
+ setPdfReplacements(null);
448
+ setOpenError(null);
449
+ setExportNotice(null);
450
+ setExportCompletion(null);
451
+ try {
452
+ saveExportOptions(lastOptions);
453
+ let quickTarget = null;
454
+ if (destinationAdapter) {
455
+ if (destinationAdapter.pickBeforeSave) {
456
+ const filename = buildExportFilename(selectedFile, lastOptions);
457
+ quickTarget = await destinationAdapter.pickTarget(filename, quickDestinationTarget);
458
+ if (!quickTarget) return;
459
+ } else {
460
+ if (!quickDestinationTarget) return;
461
+ quickTarget = quickDestinationTarget;
462
+ }
451
463
  }
464
+ const { runExport } = await loadRunExportModule();
465
+ let savedTarget;
466
+ const result = await runExport(
467
+ markdownSource,
468
+ selectedFile,
469
+ lastOptions,
470
+ mediaContainer,
471
+ destinationAdapter ? async (blob, filename) => {
472
+ savedTarget = await saveToDestination(blob, filename, quickTarget);
473
+ } : saveBlob,
474
+ void 0,
475
+ { allowPdfReplacements }
476
+ );
477
+ setExportCompletion({
478
+ filename: buildExportFilename(selectedFile, lastOptions),
479
+ target: savedTarget
480
+ });
481
+ if (result.warnings.length > 0) setExportNotice(result.warnings);
482
+ if (savedTarget) await openSaved(savedTarget);
483
+ } catch (caught) {
484
+ if (caught instanceof PdfReplacementsError) {
485
+ setPdfReplacements({ options: lastOptions, quick: true });
486
+ }
487
+ if (!(caught instanceof ExportCancelledError)) setExportError(exportErrorMessage(caught));
488
+ } finally {
489
+ setExporting(false);
452
490
  }
453
- const { runExport } = await loadRunExportModule();
454
- let savedTarget;
455
- const result = await runExport(
456
- markdownSource,
457
- selectedFile,
458
- lastOptions,
459
- mediaContainer,
460
- destinationAdapter ? async (blob, filename) => {
461
- savedTarget = await saveToDestination(blob, filename, quickTarget);
462
- } : saveBlob
463
- );
464
- setExportCompletion({
465
- filename: buildExportFilename(selectedFile, lastOptions),
466
- target: savedTarget
467
- });
468
- if (result.warnings.length > 0) setExportNotice(result.warnings);
469
- if (savedTarget) await openSaved(savedTarget);
470
- } catch (caught) {
471
- if (!(caught instanceof ExportCancelledError)) setExportError(exportErrorMessage(caught));
472
- } finally {
473
- setExporting(false);
474
- }
475
- }, [
476
- closeMenu,
477
- destinationAdapter,
478
- lastOptions,
479
- markdownSource,
480
- mediaContainer,
481
- saveBlob,
482
- saveToDestination,
483
- selectedFile,
484
- quickDestinationTarget,
485
- openSaved
486
- ]);
491
+ },
492
+ [
493
+ closeMenu,
494
+ destinationAdapter,
495
+ lastOptions,
496
+ markdownSource,
497
+ mediaContainer,
498
+ saveBlob,
499
+ saveToDestination,
500
+ selectedFile,
501
+ quickDestinationTarget,
502
+ openSaved
503
+ ]
504
+ );
487
505
  const handleDismissExportError = useCallback(() => {
488
506
  setExportError(null);
507
+ setPdfReplacements(null);
489
508
  }, []);
509
+ const handleSaveWithReplacements = useCallback(() => {
510
+ if (!pdfReplacements) return;
511
+ if (pdfReplacements.quick) void handleQuickExport(true);
512
+ else void handleExport(pdfReplacements.options, true);
513
+ }, [handleExport, handleQuickExport, pdfReplacements]);
490
514
  const handleDismissExportNotice = useCallback(() => {
491
515
  setExportNotice(null);
492
516
  }, []);
@@ -553,7 +577,7 @@ function ExportToolbarControls({
553
577
  role: "menuitem",
554
578
  tabIndex: -1,
555
579
  className: "db-toolbar-menu-item",
556
- onClick: handleQuickExport,
580
+ onClick: () => void handleQuickExport(),
557
581
  disabled: exporting || Boolean(destinationAdapter) && !quickDestinationTarget,
558
582
  title: quickDestinationTarget ? quickLabel(
559
583
  lastOptions,
@@ -680,6 +704,7 @@ function ExportToolbarControls({
680
704
  documentThemes,
681
705
  exporting,
682
706
  error: exportError,
707
+ errorAction: pdfReplacements ? { label: "Save PDF with replacements", onClick: handleSaveWithReplacements } : null,
683
708
  openAfterSave: !fileShare && destinationAdapter?.openSaved ? { checked: openAfterSave, onChange: handleOpenAfterSaveChange } : void 0,
684
709
  destination: destinationAdapter && destinationAdapter.showDestination !== false ? {
685
710
  value: destinationTarget?.displayPath ?? "",
@@ -707,15 +732,27 @@ function ExportToolbarControls({
707
732
  {
708
733
  title: "Export Document",
709
734
  onClose: handleDismissExportError,
710
- footer: /* @__PURE__ */ jsx(
711
- "button",
712
- {
713
- type: "button",
714
- className: "db-export-btn db-export-btn--secondary",
715
- onClick: handleDismissExportError,
716
- children: "Close"
717
- }
718
- ),
735
+ footer: /* @__PURE__ */ jsxs(Fragment, { children: [
736
+ pdfReplacements && /* @__PURE__ */ jsx(
737
+ "button",
738
+ {
739
+ type: "button",
740
+ className: "db-export-btn db-export-btn--secondary",
741
+ onClick: handleSaveWithReplacements,
742
+ disabled: exporting,
743
+ children: "Save PDF with replacements"
744
+ }
745
+ ),
746
+ /* @__PURE__ */ jsx(
747
+ "button",
748
+ {
749
+ type: "button",
750
+ className: "db-export-btn db-export-btn--secondary",
751
+ onClick: handleDismissExportError,
752
+ children: "Close"
753
+ }
754
+ )
755
+ ] }),
719
756
  children: /* @__PURE__ */ jsx("p", { className: "db-export-error", role: "alert", children: exportError })
720
757
  }
721
758
  ),