superdoc 2.4.0-next.62 → 2.4.0-next.64

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.
@@ -261,6 +261,7 @@ export declare class DomPainter {
261
261
  private totalPages;
262
262
  private sectionPageCounts;
263
263
  private linkIdCounter;
264
+ private shapeImageFillCounter;
264
265
  private sdtLabelsRendered;
265
266
  /**
266
267
  * WeakMap storing tooltip data for hyperlink elements before DOM insertion.
@@ -528,6 +529,10 @@ export declare class DomPainter {
528
529
  * magnitude. Keep geometry scalable and paint the resolved width verbatim.
529
530
  */
530
531
  private applyPhysicalStrokeSemantics;
532
+ /** Paint a DrawingML picture fill through the existing SVG geometry. */
533
+ private applyShapeImageFill;
534
+ private appendShapeFillImage;
535
+ private resolveShapeTileOrigin;
531
536
  private hasShapeTextContent;
532
537
  private createShapeTextElement;
533
538
  private createTextboxContentElement;
@@ -548,6 +553,7 @@ export declare class DomPainter {
548
553
  * @param _groupScaleY - Reserved parent-group scale factor
549
554
  */
550
555
  private createFallbackTextElement;
556
+ private shapeTextAllowsOverflow;
551
557
  private applyShapeTextFlow;
552
558
  private tryCreatePresetSvg;
553
559
  /**
@@ -0,0 +1,14 @@
1
+ import { TextEffects } from '../../../../contracts/src/index.js';
2
+ type TextInkBounds = {
3
+ left: number;
4
+ top: number;
5
+ right: number;
6
+ bottom: number;
7
+ };
8
+ export declare function resolveTextReflectionTransform(reflection: NonNullable<TextEffects['reflection']>, ink: TextInkBounds): {
9
+ transform: string;
10
+ maskDirection: 'top' | 'bottom' | 'left' | 'right';
11
+ };
12
+ /** Apply paint-only Word text effects without changing glyph metrics. */
13
+ export declare function applyTextEffects(element: HTMLElement, effects: TextEffects | undefined): void;
14
+ export {};
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-DNtHxzz_.cjs");
2
+ const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-Bom7oDPv.cjs");
3
3
  let react = require("react");
4
4
  //#region src/public/ui/react.ts
5
5
  /**
@@ -1,4 +1,4 @@
1
- import { t as createSuperDocUI } from "../chunks/create-super-doc-ui-B_1l545i.es.js";
1
+ import { t as createSuperDocUI } from "../chunks/create-super-doc-ui-DbzVC0rr.es.js";
2
2
  import { createContext, createElement, useCallback, useContext, useEffect, useRef, useState } from "react";
3
3
  //#region src/public/ui/react.ts
4
4
  /**
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-DNtHxzz_.cjs");
2
+ const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-Bom7oDPv.cjs");
3
3
  exports.BUILT_IN_COMMAND_IDS = require_create_super_doc_ui.BUILT_IN_COMMAND_IDS;
4
4
  exports.createSuperDocUI = require_create_super_doc_ui.createSuperDocUI;
5
5
  exports.shallowEqual = require_create_super_doc_ui.shallowEqual;
@@ -1,2 +1,2 @@
1
- import { n as shallowEqual, r as BUILT_IN_COMMAND_IDS, t as createSuperDocUI } from "../chunks/create-super-doc-ui-B_1l545i.es.js";
1
+ import { n as shallowEqual, r as BUILT_IN_COMMAND_IDS, t as createSuperDocUI } from "../chunks/create-super-doc-ui-DbzVC0rr.es.js";
2
2
  export { BUILT_IN_COMMAND_IDS, createSuperDocUI, shallowEqual };
package/dist/style.css CHANGED
@@ -1770,11 +1770,11 @@ img[data-v-c95b2073] {
1770
1770
  pointer-events: auto;
1771
1771
  }
1772
1772
 
1773
- .superdoc[data-v-d39f5239] {
1773
+ .superdoc[data-v-dfc988f2] {
1774
1774
  display: flex;
1775
1775
  position: relative;
1776
1776
  }
1777
- .sd-visually-hidden[data-v-d39f5239] {
1777
+ .sd-visually-hidden[data-v-dfc988f2] {
1778
1778
  position: absolute;
1779
1779
  width: 1px;
1780
1780
  height: 1px;
@@ -1785,30 +1785,30 @@ img[data-v-c95b2073] {
1785
1785
  white-space: nowrap;
1786
1786
  border: 0;
1787
1787
  }
1788
- .right-sidebar[data-v-d39f5239] {
1788
+ .right-sidebar[data-v-dfc988f2] {
1789
1789
  min-width: 320px;
1790
1790
  height: 100%;
1791
1791
  }
1792
- .floating-comments[data-v-d39f5239] {
1792
+ .floating-comments[data-v-dfc988f2] {
1793
1793
  min-width: 300px;
1794
1794
  width: 300px;
1795
1795
  height: 100%;
1796
1796
  overflow: visible;
1797
1797
  }
1798
- .superdoc__layers[data-v-d39f5239] {
1798
+ .superdoc__layers[data-v-dfc988f2] {
1799
1799
  height: 100%;
1800
1800
  position: relative;
1801
1801
  box-sizing: border-box;
1802
1802
  }
1803
- .superdoc__document[data-v-d39f5239] {
1803
+ .superdoc__document[data-v-dfc988f2] {
1804
1804
  width: 100%;
1805
1805
  position: relative;
1806
1806
  }
1807
- .superdoc__sub-document[data-v-d39f5239] {
1807
+ .superdoc__sub-document[data-v-dfc988f2] {
1808
1808
  width: 100%;
1809
1809
  position: relative;
1810
1810
  }
1811
- .superdoc__selection-layer[data-v-d39f5239] {
1811
+ .superdoc__selection-layer[data-v-dfc988f2] {
1812
1812
  position: absolute;
1813
1813
  min-width: 100%;
1814
1814
  min-height: 100%;
@@ -1819,13 +1819,13 @@ img[data-v-c95b2073] {
1819
1819
  /* SD-3497: PDF whiteboard overlay sits above the rendered PDF canvas but below
1820
1820
  the PDF comment anchors (z-index 6 in PdfCommentsLayer) so anchors stay
1821
1821
  clickable, and below the selection layer (z-index 10). */
1822
- .superdoc__whiteboard-layer[data-v-d39f5239] {
1822
+ .superdoc__whiteboard-layer[data-v-dfc988f2] {
1823
1823
  z-index: 4;
1824
1824
  }
1825
- .superdoc__temp-selection[data-v-d39f5239] {
1825
+ .superdoc__temp-selection[data-v-dfc988f2] {
1826
1826
  position: absolute;
1827
1827
  }
1828
- .superdoc__right-sidebar[data-v-d39f5239] {
1828
+ .superdoc__right-sidebar[data-v-dfc988f2] {
1829
1829
  width: 320px;
1830
1830
  min-width: 320px;
1831
1831
  padding: 0 10px;
@@ -1833,7 +1833,7 @@ img[data-v-c95b2073] {
1833
1833
  position: relative;
1834
1834
  z-index: 2;
1835
1835
  }
1836
- .superdoc__compact-comment-popover[data-v-d39f5239] {
1836
+ .superdoc__compact-comment-popover[data-v-dfc988f2] {
1837
1837
  position: absolute;
1838
1838
  top: 12px;
1839
1839
  right: 12px;
@@ -1842,14 +1842,14 @@ img[data-v-c95b2073] {
1842
1842
  }
1843
1843
 
1844
1844
  /* Tools styles */
1845
- .tools[data-v-d39f5239] {
1845
+ .tools[data-v-dfc988f2] {
1846
1846
  position: absolute;
1847
1847
  z-index: 3;
1848
1848
  display: flex;
1849
1849
  flex-direction: column;
1850
1850
  gap: var(--sd-ui-tools-gap, 6px);
1851
1851
  }
1852
- .tools-item[data-v-d39f5239] {
1852
+ .tools-item[data-v-dfc988f2] {
1853
1853
  display: flex;
1854
1854
  align-items: center;
1855
1855
  justify-content: center;
@@ -1860,10 +1860,10 @@ img[data-v-c95b2073] {
1860
1860
  cursor: pointer;
1861
1861
  position: relative;
1862
1862
  }
1863
- .tools-item i[data-v-d39f5239] {
1863
+ .tools-item i[data-v-dfc988f2] {
1864
1864
  cursor: pointer;
1865
1865
  }
1866
- .superdoc__tools-icon[data-v-d39f5239] {
1866
+ .superdoc__tools-icon[data-v-dfc988f2] {
1867
1867
  width: var(--sd-ui-tools-icon-size, 20px);
1868
1868
  height: var(--sd-ui-tools-icon-size, 20px);
1869
1869
  flex-shrink: 0;
@@ -1878,22 +1878,22 @@ img[data-v-c95b2073] {
1878
1878
 
1879
1879
  /* 834px is iPad screen size in portrait orientation */
1880
1880
  @media (max-width: 834px) {
1881
- .superdoc .superdoc__layers[data-v-d39f5239] {
1881
+ .superdoc .superdoc__layers[data-v-dfc988f2] {
1882
1882
  margin: 0;
1883
1883
  border: 0 !important;
1884
1884
  box-shadow: none;
1885
1885
  }
1886
- .superdoc__sub-document[data-v-d39f5239] {
1886
+ .superdoc__sub-document[data-v-dfc988f2] {
1887
1887
  max-width: 100%;
1888
1888
  }
1889
- .superdoc__right-sidebar[data-v-d39f5239] {
1889
+ .superdoc__right-sidebar[data-v-dfc988f2] {
1890
1890
  padding: 10px;
1891
1891
  position: relative;
1892
1892
  }
1893
1893
  }
1894
1894
 
1895
1895
  /* AI Writer styles */
1896
- .ai-writer-container[data-v-d39f5239] {
1896
+ .ai-writer-container[data-v-dfc988f2] {
1897
1897
  position: fixed;
1898
1898
  z-index: 1000;
1899
1899
  background: white;
@@ -1909,10 +1909,10 @@ img[data-v-c95b2073] {
1909
1909
  transform: translateY(-50%);
1910
1910
  z-index: 50;
1911
1911
  } */
1912
- .ai-tool > svg[data-v-d39f5239] {
1912
+ .ai-tool > svg[data-v-dfc988f2] {
1913
1913
  fill: transparent;
1914
1914
  }
1915
- .ai-tool[data-v-d39f5239]::before {
1915
+ .ai-tool[data-v-dfc988f2]::before {
1916
1916
  content: '';
1917
1917
  position: absolute;
1918
1918
  width: 20px;
@@ -1933,7 +1933,7 @@ img[data-v-c95b2073] {
1933
1933
  filter: brightness(1.2);
1934
1934
  transition: filter 0.2s ease;
1935
1935
  }
1936
- .ai-tool[data-v-d39f5239]:hover::before {
1936
+ .ai-tool[data-v-dfc988f2]:hover::before {
1937
1937
  filter: brightness(1.3);
1938
1938
  }
1939
1939
 
@@ -1770,11 +1770,11 @@ img[data-v-c95b2073] {
1770
1770
  pointer-events: auto;
1771
1771
  }
1772
1772
 
1773
- .superdoc[data-v-d39f5239] {
1773
+ .superdoc[data-v-dfc988f2] {
1774
1774
  display: flex;
1775
1775
  position: relative;
1776
1776
  }
1777
- .sd-visually-hidden[data-v-d39f5239] {
1777
+ .sd-visually-hidden[data-v-dfc988f2] {
1778
1778
  position: absolute;
1779
1779
  width: 1px;
1780
1780
  height: 1px;
@@ -1785,30 +1785,30 @@ img[data-v-c95b2073] {
1785
1785
  white-space: nowrap;
1786
1786
  border: 0;
1787
1787
  }
1788
- .right-sidebar[data-v-d39f5239] {
1788
+ .right-sidebar[data-v-dfc988f2] {
1789
1789
  min-width: 320px;
1790
1790
  height: 100%;
1791
1791
  }
1792
- .floating-comments[data-v-d39f5239] {
1792
+ .floating-comments[data-v-dfc988f2] {
1793
1793
  min-width: 300px;
1794
1794
  width: 300px;
1795
1795
  height: 100%;
1796
1796
  overflow: visible;
1797
1797
  }
1798
- .superdoc__layers[data-v-d39f5239] {
1798
+ .superdoc__layers[data-v-dfc988f2] {
1799
1799
  height: 100%;
1800
1800
  position: relative;
1801
1801
  box-sizing: border-box;
1802
1802
  }
1803
- .superdoc__document[data-v-d39f5239] {
1803
+ .superdoc__document[data-v-dfc988f2] {
1804
1804
  width: 100%;
1805
1805
  position: relative;
1806
1806
  }
1807
- .superdoc__sub-document[data-v-d39f5239] {
1807
+ .superdoc__sub-document[data-v-dfc988f2] {
1808
1808
  width: 100%;
1809
1809
  position: relative;
1810
1810
  }
1811
- .superdoc__selection-layer[data-v-d39f5239] {
1811
+ .superdoc__selection-layer[data-v-dfc988f2] {
1812
1812
  position: absolute;
1813
1813
  min-width: 100%;
1814
1814
  min-height: 100%;
@@ -1819,13 +1819,13 @@ img[data-v-c95b2073] {
1819
1819
  /* SD-3497: PDF whiteboard overlay sits above the rendered PDF canvas but below
1820
1820
  the PDF comment anchors (z-index 6 in PdfCommentsLayer) so anchors stay
1821
1821
  clickable, and below the selection layer (z-index 10). */
1822
- .superdoc__whiteboard-layer[data-v-d39f5239] {
1822
+ .superdoc__whiteboard-layer[data-v-dfc988f2] {
1823
1823
  z-index: 4;
1824
1824
  }
1825
- .superdoc__temp-selection[data-v-d39f5239] {
1825
+ .superdoc__temp-selection[data-v-dfc988f2] {
1826
1826
  position: absolute;
1827
1827
  }
1828
- .superdoc__right-sidebar[data-v-d39f5239] {
1828
+ .superdoc__right-sidebar[data-v-dfc988f2] {
1829
1829
  width: 320px;
1830
1830
  min-width: 320px;
1831
1831
  padding: 0 10px;
@@ -1833,7 +1833,7 @@ img[data-v-c95b2073] {
1833
1833
  position: relative;
1834
1834
  z-index: 2;
1835
1835
  }
1836
- .superdoc__compact-comment-popover[data-v-d39f5239] {
1836
+ .superdoc__compact-comment-popover[data-v-dfc988f2] {
1837
1837
  position: absolute;
1838
1838
  top: 12px;
1839
1839
  right: 12px;
@@ -1842,14 +1842,14 @@ img[data-v-c95b2073] {
1842
1842
  }
1843
1843
 
1844
1844
  /* Tools styles */
1845
- .tools[data-v-d39f5239] {
1845
+ .tools[data-v-dfc988f2] {
1846
1846
  position: absolute;
1847
1847
  z-index: 3;
1848
1848
  display: flex;
1849
1849
  flex-direction: column;
1850
1850
  gap: var(--sd-ui-tools-gap, 6px);
1851
1851
  }
1852
- .tools-item[data-v-d39f5239] {
1852
+ .tools-item[data-v-dfc988f2] {
1853
1853
  display: flex;
1854
1854
  align-items: center;
1855
1855
  justify-content: center;
@@ -1860,10 +1860,10 @@ img[data-v-c95b2073] {
1860
1860
  cursor: pointer;
1861
1861
  position: relative;
1862
1862
  }
1863
- .tools-item i[data-v-d39f5239] {
1863
+ .tools-item i[data-v-dfc988f2] {
1864
1864
  cursor: pointer;
1865
1865
  }
1866
- .superdoc__tools-icon[data-v-d39f5239] {
1866
+ .superdoc__tools-icon[data-v-dfc988f2] {
1867
1867
  width: var(--sd-ui-tools-icon-size, 20px);
1868
1868
  height: var(--sd-ui-tools-icon-size, 20px);
1869
1869
  flex-shrink: 0;
@@ -1878,22 +1878,22 @@ img[data-v-c95b2073] {
1878
1878
 
1879
1879
  /* 834px is iPad screen size in portrait orientation */
1880
1880
  @media (max-width: 834px) {
1881
- .superdoc .superdoc__layers[data-v-d39f5239] {
1881
+ .superdoc .superdoc__layers[data-v-dfc988f2] {
1882
1882
  margin: 0;
1883
1883
  border: 0 !important;
1884
1884
  box-shadow: none;
1885
1885
  }
1886
- .superdoc__sub-document[data-v-d39f5239] {
1886
+ .superdoc__sub-document[data-v-dfc988f2] {
1887
1887
  max-width: 100%;
1888
1888
  }
1889
- .superdoc__right-sidebar[data-v-d39f5239] {
1889
+ .superdoc__right-sidebar[data-v-dfc988f2] {
1890
1890
  padding: 10px;
1891
1891
  position: relative;
1892
1892
  }
1893
1893
  }
1894
1894
 
1895
1895
  /* AI Writer styles */
1896
- .ai-writer-container[data-v-d39f5239] {
1896
+ .ai-writer-container[data-v-dfc988f2] {
1897
1897
  position: fixed;
1898
1898
  z-index: 1000;
1899
1899
  background: white;
@@ -1909,10 +1909,10 @@ img[data-v-c95b2073] {
1909
1909
  transform: translateY(-50%);
1910
1910
  z-index: 50;
1911
1911
  } */
1912
- .ai-tool > svg[data-v-d39f5239] {
1912
+ .ai-tool > svg[data-v-dfc988f2] {
1913
1913
  fill: transparent;
1914
1914
  }
1915
- .ai-tool[data-v-d39f5239]::before {
1915
+ .ai-tool[data-v-dfc988f2]::before {
1916
1916
  content: '';
1917
1917
  position: absolute;
1918
1918
  width: 20px;
@@ -1933,7 +1933,7 @@ img[data-v-c95b2073] {
1933
1933
  filter: brightness(1.2);
1934
1934
  transition: filter 0.2s ease;
1935
1935
  }
1936
- .ai-tool[data-v-d39f5239]:hover::before {
1936
+ .ai-tool[data-v-dfc988f2]:hover::before {
1937
1937
  filter: brightness(1.3);
1938
1938
  }
1939
1939
 
package/dist/superdoc.cjs CHANGED
@@ -4,7 +4,7 @@ const require_blank_docx = require("./chunks/blank-docx-BuFAbRjs.cjs");
4
4
  const require_eventemitter3 = require("./chunks/eventemitter3-D38u8ta_.cjs");
5
5
  const require_uuid = require("./chunks/uuid-BhG0ngwk.cjs");
6
6
  const require_jszip = require("./chunks/jszip-RC64TPzL.cjs");
7
- const require_create_super_doc_ui = require("./chunks/create-super-doc-ui-DNtHxzz_.cjs");
7
+ const require_create_super_doc_ui = require("./chunks/create-super-doc-ui-Bom7oDPv.cjs");
8
8
  const require__plugin_vue_export_helper = require("./chunks/_plugin-vue_export-helper-SDR04tiH.cjs");
9
9
  const require_constants = require("./chunks/constants-DpXuDx_g.cjs");
10
10
  let vue = require("vue");
@@ -21793,6 +21793,7 @@ var SuperDoc_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_v
21793
21793
  handleImageUpload: proxy.$superdoc.config.handleImageUpload,
21794
21794
  externalExtensions: proxy.$superdoc.config.editorExtensions || [],
21795
21795
  extensions: proxy.$superdoc.config.extensions || [],
21796
+ ...pdfConfig?.pdfLib ? { pdfLib: pdfConfig.pdfLib } : {},
21796
21797
  suppressDefaultDocxStyles: proxy.$superdoc.config.suppressDefaultDocxStyles,
21797
21798
  disableContextMenu: !proxy.$superdoc.uiConfig.contextMenu.enabled || proxy.$superdoc.config.disableContextMenu === true,
21798
21799
  jsonOverride: proxy.$superdoc.config.jsonOverride,
@@ -22782,7 +22783,7 @@ var SuperDoc_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_v
22782
22783
  ], 38);
22783
22784
  };
22784
22785
  }
22785
- }, [["__scopeId", "data-v-d39f5239"]]);
22786
+ }, [["__scopeId", "data-v-dfc988f2"]]);
22786
22787
  //#endregion
22787
22788
  //#region src/core/create-app.js
22788
22789
  var PINIA_DEVTOOLS_SETUP_EVENT = "devtools-plugin:setup";
@@ -43261,7 +43262,7 @@ var SuperDoc = class extends require_eventemitter3.import_eventemitter3.default
43261
43262
  this.config.colors = shuffleArray(this.config.colors);
43262
43263
  this.userColorMap = /* @__PURE__ */ new Map();
43263
43264
  this.colorIndex = 0;
43264
- this.version = "2.4.0-next.62";
43265
+ this.version = "2.4.0-next.64";
43265
43266
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
43266
43267
  this.superdocId = config.superdocId || require_uuid.v4();
43267
43268
  this.colors = this.config.colors ?? [];
@@ -3,7 +3,7 @@ import { t as blank_default } from "./chunks/blank-docx-DzQccOlW.es.js";
3
3
  import { t as import_eventemitter3 } from "./chunks/eventemitter3-CMOjDs74.es.js";
4
4
  import { t as v4 } from "./chunks/uuid-H0Xcmmhy.es.js";
5
5
  import { a as init_dist$1, i as global, n as init_dist$2, o as Buffer, r as process$1, s as init_dist, t as require_jszip_min } from "./chunks/jszip-VxCFV9YS.es.js";
6
- import { a as DOM_CLASS_NAMES, i as getV2TrackedChangeMutationImpact, t as createSuperDocUI } from "./chunks/create-super-doc-ui-B_1l545i.es.js";
6
+ import { a as DOM_CLASS_NAMES, i as getV2TrackedChangeMutationImpact, t as createSuperDocUI } from "./chunks/create-super-doc-ui-DbzVC0rr.es.js";
7
7
  import { t as _plugin_vue_export_helper_default } from "./chunks/_plugin-vue_export-helper-BOaGB7Aw.es.js";
8
8
  import { t as PDF_TO_CSS_UNITS } from "./chunks/constants-B6VBlmKp.es.js";
9
9
  import * as Vue from "vue";
@@ -21753,6 +21753,7 @@ var SuperDoc_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
21753
21753
  handleImageUpload: proxy.$superdoc.config.handleImageUpload,
21754
21754
  externalExtensions: proxy.$superdoc.config.editorExtensions || [],
21755
21755
  extensions: proxy.$superdoc.config.extensions || [],
21756
+ ...pdfConfig?.pdfLib ? { pdfLib: pdfConfig.pdfLib } : {},
21756
21757
  suppressDefaultDocxStyles: proxy.$superdoc.config.suppressDefaultDocxStyles,
21757
21758
  disableContextMenu: !proxy.$superdoc.uiConfig.contextMenu.enabled || proxy.$superdoc.config.disableContextMenu === true,
21758
21759
  jsonOverride: proxy.$superdoc.config.jsonOverride,
@@ -22742,7 +22743,7 @@ var SuperDoc_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
22742
22743
  ], 38);
22743
22744
  };
22744
22745
  }
22745
- }, [["__scopeId", "data-v-d39f5239"]]);
22746
+ }, [["__scopeId", "data-v-dfc988f2"]]);
22746
22747
  //#endregion
22747
22748
  //#region src/core/create-app.js
22748
22749
  var PINIA_DEVTOOLS_SETUP_EVENT = "devtools-plugin:setup";
@@ -43194,7 +43195,7 @@ var SuperDoc = class extends import_eventemitter3.default {
43194
43195
  this.config.colors = shuffleArray(this.config.colors);
43195
43196
  this.userColorMap = /* @__PURE__ */ new Map();
43196
43197
  this.colorIndex = 0;
43197
- this.version = "2.4.0-next.62";
43198
+ this.version = "2.4.0-next.64";
43198
43199
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
43199
43200
  this.superdocId = config.superdocId || v4();
43200
43201
  this.colors = this.config.colors ?? [];