superdoc 1.0.0-beta.3 → 1.0.0-beta.5

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 (27) hide show
  1. package/dist/chunks/{PdfViewer-CxHbcDGx.cjs → PdfViewer-B2yJpudB.cjs} +1 -1
  2. package/dist/chunks/{PdfViewer-CKzs9Ct5.es.js → PdfViewer-Ebg4DPUi.es.js} +1 -1
  3. package/dist/chunks/{index-DukSDI8_.es.js → index-6_t69RiQ.es.js} +3 -3
  4. package/dist/chunks/{index-CJUy3fVi-D8zt9F3Z.es.js → index-D653XgvV-B-4_BIjA.es.js} +1 -1
  5. package/dist/chunks/{index-CJUy3fVi-BGLfCP5B.cjs → index-D653XgvV-BN--CbY4.cjs} +1 -1
  6. package/dist/chunks/{index-Dp3rVMnX.cjs → index-DcKcwu3F.cjs} +3 -3
  7. package/dist/chunks/{super-editor.es-BRKZG90h.es.js → super-editor.es-0TS__OEc.es.js} +205 -37
  8. package/dist/chunks/{super-editor.es-CDiTp9Fe.cjs → super-editor.es-Bt9VCC9D.cjs} +205 -37
  9. package/dist/super-editor/ai-writer.es.js +2 -2
  10. package/dist/super-editor/chunks/{converter-B9YfBdcc.js → converter-BiUZIOjP.js} +1 -1
  11. package/dist/super-editor/chunks/{docx-zipper-V16OzZ7a.js → docx-zipper-Dz6dcXS4.js} +1 -1
  12. package/dist/super-editor/chunks/{editor-DlvlVSbc.js → editor-BtePjrrv.js} +206 -38
  13. package/dist/super-editor/chunks/{index-CJUy3fVi.js → index-D653XgvV.js} +1 -1
  14. package/dist/super-editor/chunks/{toolbar-cNDvtryE.js → toolbar-D6JNBgna.js} +2 -2
  15. package/dist/super-editor/converter.es.js +1 -1
  16. package/dist/super-editor/docx-zipper.es.js +2 -2
  17. package/dist/super-editor/editor.es.js +3 -3
  18. package/dist/super-editor/file-zipper.es.js +1 -1
  19. package/dist/super-editor/super-editor.es.js +6 -6
  20. package/dist/super-editor/toolbar.es.js +2 -2
  21. package/dist/super-editor.cjs +1 -1
  22. package/dist/super-editor.es.js +1 -1
  23. package/dist/superdoc.cjs +2 -2
  24. package/dist/superdoc.es.js +2 -2
  25. package/dist/superdoc.umd.js +207 -39
  26. package/dist/superdoc.umd.js.map +1 -1
  27. package/package.json +1 -1
@@ -12,8 +12,8 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
12
12
  var _Attribute_static, getGlobalAttributes_fn, getNodeAndMarksAttributes_fn, _Schema_static, createNodesSchema_fn, createMarksSchema_fn, _events, _ExtensionService_instances, setupExtensions_fn, attachEditorEvents_fn, _editor, _stateValidators, _xmlValidators, _requiredNodeTypes, _requiredMarkTypes, _SuperValidator_instances, initializeValidators_fn, collectValidatorRequirements_fn, analyzeDocument_fn, dispatchWithFallback_fn, _commandService, _Editor_instances, initContainerElement_fn, init_fn, initRichText_fn, onFocus_fn, checkHeadless_fn, registerCopyHandler_fn, insertNewFileData_fn, getPluginKeyName_fn, createExtensionService_fn, createCommandService_fn, createConverter_fn, initMedia_fn, initFonts_fn, checkFonts_fn, determineUnsupportedFonts_fn, createSchema_fn, generatePmData_fn, createView_fn, onCollaborationReady_fn, initComments_fn, dispatchTransaction_fn, handleNodeSelection_fn, prepareDocumentForImport_fn, prepareDocumentForExport_fn, endCollaboration_fn, validateDocumentInit_fn, validateDocumentExport_fn, initDevTools_fn, _map, _editor2, _descriptors, _collections, _editorEntries, _maxCachedEditors, _editorAccessOrder, _pendingCreations, _cacheHits, _cacheMisses, _evictions, _HeaderFooterEditorManager_instances, hasConverter_fn, extractCollections_fn, collectDescriptors_fn, teardownMissingEditors_fn, teardownEditors_fn, createEditor_fn, createEditorContainer_fn, registerConverterEditor_fn, unregisterConverterEditor_fn, updateAccessOrder_fn, enforceCacheSizeLimit_fn, _manager, _mediaFiles, _blockCache, _HeaderFooterLayoutAdapter_instances, getBlocks_fn, getConverterContext_fn, _instances, _options, _editor3, _visibleHost, _viewportHost, _painterHost, _selectionOverlay, _hiddenHost, _layoutOptions, _layoutState, _domPainter, _layoutError, _layoutErrorState, _errorBanner, _errorBannerMessage, _telemetryEmitter, _renderScheduled, _pendingDocChange, _isRerendering, _selectionUpdateScheduled, _remoteCursorUpdateScheduled, _rafHandle, _editorListeners, _sectionMetadata, _documentMode, _inputBridge, _trackedChangesMode, _trackedChangesEnabled, _trackedChangesOverrides, _headerFooterManager, _headerFooterAdapter, _headerFooterIdentifier, _headerLayoutResults, _footerLayoutResults, _headerDecorationProvider, _footerDecorationProvider, _headerFooterManagerCleanups, _headerRegions, _footerRegions, _session, _activeHeaderFooterEditor, _hoverOverlay, _hoverTooltip, _modeBanner, _ariaLiveRegion, _hoverRegion, _clickCount, _lastClickTime, _lastClickPosition, _remoteCursorState, _remoteCursorDirty, _remoteCursorOverlay, _localSelectionLayer, _awarenessCleanup, _scrollCleanup, _remoteCursorRafHandle, _scrollTimeout, _PresentationEditor_instances, aggregateLayoutBounds_fn, safeCleanup_fn, setupEditorListeners_fn, setupCollaborationCursors_fn, normalizeAwarenessStates_fn, getFallbackColor_fn, getValidatedColor_fn, scheduleRemoteCursorUpdate_fn, scheduleRemoteCursorReRender_fn, updateRemoteCursors_fn, renderRemoteCursors_fn, renderRemoteCaret_fn, renderRemoteCursorLabel_fn, renderRemoteSelection_fn, setupPointerHandlers_fn, setupInputBridge_fn, initHeaderFooterRegistry_fn, _handlePointerDown, getFirstTextPosition_fn, registerPointerClick_fn, selectWordAt_fn, selectParagraphAt_fn, isWordCharacter_fn, _handlePointerMove, _handlePointerLeave, _handleDoubleClick, _handleKeyDown, focusHeaderFooterShortcut_fn, scheduleRerender_fn, flushRerenderQueue_fn, rerender_fn, ensurePainter_fn, scheduleSelectionUpdate_fn, updateSelection_fn, resolveLayoutOptions_fn, buildHeaderFooterInput_fn, computeHeaderFooterConstraints_fn, updateDecorationProviders_fn, createDecorationProvider_fn, computeDecorationBox_fn, rebuildHeaderFooterRegions_fn, hitTestHeaderFooterRegion_fn, pointInRegion_fn, activateHeaderFooterRegion_fn, enterHeaderFooterMode_fn, exitHeaderFooterMode_fn, getActiveDomTarget_fn, emitHeaderFooterModeChanged_fn, emitHeaderFooterEditingContext_fn, updateAwarenessSession_fn, updateModeBanner_fn, announce_fn, validateHeaderFooterEditPermission_fn, emitHeaderFooterEditBlocked_fn, resolveDescriptorForRegion_fn, getBodyPageHeight_fn, getHeaderFooterPageHeight_fn, renderSelectionRects_fn, renderHoverRegion_fn, clearHoverRegion_fn, renderCaretOverlay_fn, getHeaderFooterContext_fn, computeHeaderFooterSelectionRects_fn, computeHeaderFooterCaretRect_fn, syncTrackedChangesPreferences_fn, deriveTrackedChangesMode_fn, deriveTrackedChangesEnabled_fn, getTrackChangesPluginState_fn, computeDefaultLayoutDefaults_fn, parseColumns_fn, inchesToPx_fn, applyZoom_fn, createLayoutMetrics_fn, convertPageLocalToOverlayCoords_fn, normalizeClientPoint_fn, computeCaretLayoutRect_fn, findLineContainingPos_fn, lineHeightBeforeIndex_fn, getCurrentPageIndex_fn, findRegionForPage_fn, handleLayoutError_fn, decorateError_fn, showLayoutErrorBanner_fn, dismissErrorBanner_fn, createHiddenHost_fn, _windowRoot, _visibleHost2, _getTargetDom, _onTargetChanged, _listeners, _currentTarget, _destroyed, _PresentationInputBridge_instances, addListener_fn, dispatchToTarget_fn, forwardKeyboardEvent_fn, forwardTextEvent_fn, forwardCompositionEvent_fn, forwardContextMenu_fn, isEventOnActiveTarget_fn, _DocumentSectionView_instances, init_fn2, addToolTip_fn, _ParagraphNodeView_instances, updateHTMLAttributes_fn, updateDOMStyles_fn, updateListStyles_fn, initList_fn, checkIsList_fn, createMarker_fn, createSeparator_fn, calculateTabSeparatorStyle_fn, calculateMarkerStyle_fn, removeList_fn, getParagraphContext_fn, scheduleAnimation_fn, cancelScheduledAnimation_fn, _FieldAnnotationView_instances, createAnnotation_fn, _AutoPageNumberNodeView_instances, renderDom_fn, scheduleUpdateNodeStyle_fn;
13
13
  import * as Y from "yjs";
14
14
  import { UndoManager, Item as Item$1, ContentType, Text as Text$1, XmlElement, encodeStateAsUpdate } from "yjs";
15
- import { P as PluginKey, a as Plugin, M as Mapping, N as NodeSelection, S as Selection, T as TextSelection, b as Slice, D as DOMSerializer, F as Fragment, c as DOMParser$1, d as Mark$1, e as dropPoint, A as AllSelection, p as process$1, B as Buffer2, f as callOrGet, g as getExtensionConfigField, h as getMarkType, i as getMarksFromSelection, j as getNodeType, k as getSchemaTypeNameByName, l as Schema$1, m as cleanSchemaItem, n as canSplit, o as defaultBlockAt$1, q as liftTarget, r as canJoin, s as joinPoint, t as replaceStep$1, R as ReplaceAroundStep$1, u as isTextSelection, v as getMarkRange, w as isMarkActive, x as isNodeActive, y as deleteProps, z as processContent, C as htmlHandler, E as ReplaceStep, G as twipsToInches, H as inchesToTwips, I as ptToTwips, J as getResolvedParagraphProperties, K as linesToTwips, L as ListHelpers, O as updateNumberingProperties, Q as changeListLevel, U as findParentNode, V as isList, W as isMacOS, X as isIOS, Y as getSchemaTypeByName, Z as inputRulesPlugin, _ as TrackDeleteMarkName, $ as TrackInsertMarkName, a0 as v4, a1 as TrackFormatMarkName, a2 as comments_module_events, a3 as findMark, a4 as objectIncludes, a5 as AddMarkStep, a6 as RemoveMarkStep, a7 as twipsToLines, a8 as pixelsToTwips, a9 as helpers, aa as posToDOMRect, ab as CommandService, ac as SuperConverter, ad as createDocument, ae as createDocFromMarkdown, af as createDocFromHTML, ag as EditorState, ah as isActive, ai as unflattenListsInHtml, aj as resolveParagraphProperties, ak as _getReferencedTableStyles, al as parseSizeUnit, am as minMax, an as updateDOMAttributes, ao as findChildren$5, ap as generateRandomSigned32BitIntStrId, aq as calculateResolvedParagraphProperties, ar as encodeCSSFromPPr, as as twipsToPixels$2, at as resolveRunProperties, au as encodeCSSFromRPr, av as generateOrderedListIndex, aw as docxNumberingHelpers, ax as InputRule, ay as convertSizeToCSS, az as SelectionRange, aA as Transform, aB as findParentNodeClosestToPos, aC as isInTable$1, aD as generateDocxRandomId, aE as insertNewRelationship, aF as inchesToPixels, aG as kebabCase, aH as getUnderlineCssString } from "./converter-B9YfBdcc.js";
16
- import { D as DocxZipper } from "./docx-zipper-V16OzZ7a.js";
15
+ import { P as PluginKey, a as Plugin, M as Mapping, N as NodeSelection, S as Selection, T as TextSelection, b as Slice, D as DOMSerializer, F as Fragment, c as DOMParser$1, d as Mark$1, e as dropPoint, A as AllSelection, p as process$1, B as Buffer2, f as callOrGet, g as getExtensionConfigField, h as getMarkType, i as getMarksFromSelection, j as getNodeType, k as getSchemaTypeNameByName, l as Schema$1, m as cleanSchemaItem, n as canSplit, o as defaultBlockAt$1, q as liftTarget, r as canJoin, s as joinPoint, t as replaceStep$1, R as ReplaceAroundStep$1, u as isTextSelection, v as getMarkRange, w as isMarkActive, x as isNodeActive, y as deleteProps, z as processContent, C as htmlHandler, E as ReplaceStep, G as twipsToInches, H as inchesToTwips, I as ptToTwips, J as getResolvedParagraphProperties, K as linesToTwips, L as ListHelpers, O as updateNumberingProperties, Q as changeListLevel, U as findParentNode, V as isList, W as isMacOS, X as isIOS, Y as getSchemaTypeByName, Z as inputRulesPlugin, _ as TrackDeleteMarkName, $ as TrackInsertMarkName, a0 as v4, a1 as TrackFormatMarkName, a2 as comments_module_events, a3 as findMark, a4 as objectIncludes, a5 as AddMarkStep, a6 as RemoveMarkStep, a7 as twipsToLines, a8 as pixelsToTwips, a9 as helpers, aa as posToDOMRect, ab as CommandService, ac as SuperConverter, ad as createDocument, ae as createDocFromMarkdown, af as createDocFromHTML, ag as EditorState, ah as isActive, ai as unflattenListsInHtml, aj as resolveParagraphProperties, ak as _getReferencedTableStyles, al as parseSizeUnit, am as minMax, an as updateDOMAttributes, ao as findChildren$5, ap as generateRandomSigned32BitIntStrId, aq as calculateResolvedParagraphProperties, ar as encodeCSSFromPPr, as as twipsToPixels$2, at as resolveRunProperties, au as encodeCSSFromRPr, av as generateOrderedListIndex, aw as docxNumberingHelpers, ax as InputRule, ay as convertSizeToCSS, az as SelectionRange, aA as Transform, aB as findParentNodeClosestToPos, aC as isInTable$1, aD as generateDocxRandomId, aE as insertNewRelationship, aF as inchesToPixels, aG as kebabCase, aH as getUnderlineCssString } from "./converter-BiUZIOjP.js";
16
+ import { D as DocxZipper } from "./docx-zipper-Dz6dcXS4.js";
17
17
  import { ref, computed, createElementBlock, openBlock, withModifiers, Fragment as Fragment$1, renderList, normalizeClass, createCommentVNode, toDisplayString, createElementVNode, createApp } from "vue";
18
18
  var GOOD_LEAF_SIZE = 200;
19
19
  var RopeSequence = function RopeSequence2() {
@@ -13553,7 +13553,7 @@ const isHeadless = (editor) => {
13553
13553
  const shouldSkipNodeView = (editor) => {
13554
13554
  return isHeadless(editor);
13555
13555
  };
13556
- const summaryVersion = "1.0.0-beta.3";
13556
+ const summaryVersion = "1.0.0-beta.5";
13557
13557
  const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
13558
13558
  const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
13559
13559
  function mapAttributes(attrs) {
@@ -14335,7 +14335,7 @@ const _Editor = class _Editor extends EventEmitter {
14335
14335
  { default: remarkStringify },
14336
14336
  { default: remarkGfm }
14337
14337
  ] = await Promise.all([
14338
- import("./index-CJUy3fVi.js"),
14338
+ import("./index-D653XgvV.js"),
14339
14339
  import("./index-DRCvimau.js"),
14340
14340
  import("./index-C_x_N6Uh.js"),
14341
14341
  import("./index-D_sWOSiG.js"),
@@ -14540,7 +14540,7 @@ const _Editor = class _Editor extends EventEmitter {
14540
14540
  * Process collaboration migrations
14541
14541
  */
14542
14542
  processCollaborationMigrations() {
14543
- console.debug("[checkVersionMigrations] Current editor version", "1.0.0-beta.3");
14543
+ console.debug("[checkVersionMigrations] Current editor version", "1.0.0-beta.5");
14544
14544
  if (!this.options.ydoc) return;
14545
14545
  const metaMap = this.options.ydoc.getMap("meta");
14546
14546
  let docVersion = metaMap.get("version");
@@ -16459,6 +16459,19 @@ const sanitizeFontFamily = (fontFamily) => {
16459
16459
  }
16460
16460
  return sanitized;
16461
16461
  };
16462
+ const normalizeFontSizePx = (value) => {
16463
+ if (isFiniteNumber(value)) return value;
16464
+ if (typeof value !== "string") return void 0;
16465
+ const trimmed = value.trim();
16466
+ if (!trimmed) return void 0;
16467
+ const numeric = Number.parseFloat(trimmed);
16468
+ if (!Number.isFinite(numeric)) return void 0;
16469
+ const unit = trimmed.match(/[a-zA-Z%]+$/)?.[0]?.toLowerCase();
16470
+ if (unit === "pt") {
16471
+ return ptToPx(numeric);
16472
+ }
16473
+ return numeric;
16474
+ };
16462
16475
  const applyTextStyleMark = (run, attrs, themeColors) => {
16463
16476
  const resolvedColor = resolveColorFromAttributes(attrs, themeColors);
16464
16477
  if (resolvedColor) {
@@ -16470,9 +16483,9 @@ const applyTextStyleMark = (run, attrs, themeColors) => {
16470
16483
  run.fontFamily = sanitized;
16471
16484
  }
16472
16485
  }
16473
- const fontSizeValue = pickNumber(attrs.fontSize);
16474
- if (fontSizeValue !== void 0 && fontSizeValue >= 1 && fontSizeValue <= 1e3) {
16475
- run.fontSize = fontSizeValue;
16486
+ const fontSizePx = normalizeFontSizePx(attrs.fontSize);
16487
+ if (fontSizePx !== void 0 && fontSizePx >= 1 && fontSizePx <= 1e3) {
16488
+ run.fontSize = fontSizePx;
16476
16489
  }
16477
16490
  if (isFiniteNumber(attrs.letterSpacing)) {
16478
16491
  const spacing = Number(attrs.letterSpacing);
@@ -26732,8 +26745,59 @@ const _DomPainter = class _DomPainter {
26732
26745
  this.headerProvider = header;
26733
26746
  this.footerProvider = footer;
26734
26747
  }
26735
- setData(blocks, measures) {
26748
+ /**
26749
+ * Updates the painter's block and measure data.
26750
+ *
26751
+ * @param blocks - Main document blocks
26752
+ * @param measures - Measures corresponding to main document blocks
26753
+ * @param headerBlocks - Optional header blocks from header/footer layout results
26754
+ * @param headerMeasures - Optional measures corresponding to header blocks
26755
+ * @param footerBlocks - Optional footer blocks from header/footer layout results
26756
+ * @param footerMeasures - Optional measures corresponding to footer blocks
26757
+ */
26758
+ setData(blocks, measures, headerBlocks, headerMeasures, footerBlocks, footerMeasures) {
26759
+ if (blocks.length !== measures.length) {
26760
+ throw new Error(
26761
+ `setData: blocks and measures arrays must have the same length. Got blocks.length=${blocks.length}, measures.length=${measures.length}`
26762
+ );
26763
+ }
26764
+ const hasHeaderBlocks = headerBlocks !== void 0;
26765
+ const hasHeaderMeasures = headerMeasures !== void 0;
26766
+ if (hasHeaderBlocks !== hasHeaderMeasures) {
26767
+ throw new Error(
26768
+ `setData: headerBlocks and headerMeasures must both be provided or both be omitted. Got headerBlocks=${hasHeaderBlocks ? "provided" : "omitted"}, headerMeasures=${hasHeaderMeasures ? "provided" : "omitted"}`
26769
+ );
26770
+ }
26771
+ if (hasHeaderBlocks && hasHeaderMeasures && headerBlocks.length !== headerMeasures.length) {
26772
+ throw new Error(
26773
+ `setData: headerBlocks and headerMeasures arrays must have the same length. Got headerBlocks.length=${headerBlocks.length}, headerMeasures.length=${headerMeasures.length}`
26774
+ );
26775
+ }
26776
+ const hasFooterBlocks = footerBlocks !== void 0;
26777
+ const hasFooterMeasures = footerMeasures !== void 0;
26778
+ if (hasFooterBlocks !== hasFooterMeasures) {
26779
+ throw new Error(
26780
+ `setData: footerBlocks and footerMeasures must both be provided or both be omitted. Got footerBlocks=${hasFooterBlocks ? "provided" : "omitted"}, footerMeasures=${hasFooterMeasures ? "provided" : "omitted"}`
26781
+ );
26782
+ }
26783
+ if (hasFooterBlocks && hasFooterMeasures && footerBlocks.length !== footerMeasures.length) {
26784
+ throw new Error(
26785
+ `setData: footerBlocks and footerMeasures arrays must have the same length. Got footerBlocks.length=${footerBlocks.length}, footerMeasures.length=${footerMeasures.length}`
26786
+ );
26787
+ }
26736
26788
  const nextLookup = this.buildBlockLookup(blocks, measures);
26789
+ if (headerBlocks && headerMeasures) {
26790
+ const headerLookup = this.buildBlockLookup(headerBlocks, headerMeasures);
26791
+ headerLookup.forEach((entry, id) => {
26792
+ nextLookup.set(id, entry);
26793
+ });
26794
+ }
26795
+ if (footerBlocks && footerMeasures) {
26796
+ const footerLookup = this.buildBlockLookup(footerBlocks, footerMeasures);
26797
+ footerLookup.forEach((entry, id) => {
26798
+ nextLookup.set(id, entry);
26799
+ });
26800
+ }
26737
26801
  const changed = /* @__PURE__ */ new Set();
26738
26802
  nextLookup.forEach((entry, id) => {
26739
26803
  const previous = this.blockLookup.get(id);
@@ -27056,6 +27120,14 @@ const _DomPainter = class _DomPainter {
27056
27120
  container.style.height = `${data.height}px`;
27057
27121
  container.style.top = `${Math.max(0, offset2)}px`;
27058
27122
  container.style.zIndex = "1";
27123
+ let footerYOffset = 0;
27124
+ if (kind === "footer" && data.fragments.length > 0) {
27125
+ const contentHeight = typeof data.contentHeight === "number" ? data.contentHeight : data.fragments.reduce((max2, f2) => {
27126
+ const fragHeight = "height" in f2 && typeof f2.height === "number" ? f2.height : this.estimateFragmentHeight(f2);
27127
+ return Math.max(max2, f2.y + Math.max(0, fragHeight));
27128
+ }, 0);
27129
+ footerYOffset = Math.max(0, data.height - contentHeight);
27130
+ }
27059
27131
  const context = {
27060
27132
  pageNumber: page.number,
27061
27133
  totalPages: this.totalPages,
@@ -27064,6 +27136,10 @@ const _DomPainter = class _DomPainter {
27064
27136
  };
27065
27137
  data.fragments.forEach((fragment) => {
27066
27138
  const fragEl = this.renderFragment(fragment, context);
27139
+ if (footerYOffset > 0) {
27140
+ const currentTop = parseFloat(fragEl.style.top) || fragment.y;
27141
+ fragEl.style.top = `${currentTop + footerYOffset}px`;
27142
+ }
27067
27143
  container.appendChild(fragEl);
27068
27144
  });
27069
27145
  if (!existing) {
@@ -27375,13 +27451,13 @@ const _DomPainter = class _DomPainter {
27375
27451
  const markerEl = this.doc.createElement("span");
27376
27452
  markerEl.classList.add("superdoc-list-marker");
27377
27453
  const wordLayout = item.paragraph.attrs?.wordLayout;
27378
- if (wordLayout?.marker) {
27379
- const marker = wordLayout.marker;
27380
- markerEl.textContent = marker.markerText;
27454
+ const marker = wordLayout?.marker;
27455
+ if (marker) {
27456
+ markerEl.textContent = marker.markerText ?? null;
27381
27457
  markerEl.style.display = "inline-block";
27382
27458
  markerEl.style.width = `${Math.max(0, fragment.markerWidth - LIST_MARKER_GAP$1)}px`;
27383
27459
  markerEl.style.paddingRight = `${LIST_MARKER_GAP$1}px`;
27384
- markerEl.style.textAlign = marker.justification;
27460
+ markerEl.style.textAlign = marker.justification ?? "";
27385
27461
  markerEl.style.fontFamily = marker.run.fontFamily;
27386
27462
  markerEl.style.fontSize = `${marker.run.fontSize}px`;
27387
27463
  if (marker.run.bold) markerEl.style.fontWeight = "bold";
@@ -28130,6 +28206,33 @@ const _DomPainter = class _DomPainter {
28130
28206
  }
28131
28207
  }
28132
28208
  }
28209
+ /**
28210
+ * Estimates the height of a fragment when explicit height is not available.
28211
+ *
28212
+ * This method provides fallback height calculations for footer bottom-alignment
28213
+ * by consulting measure data for paragraphs and list items, or using the
28214
+ * fragment's height property for tables, images, and drawings.
28215
+ *
28216
+ * @param fragment - The fragment to estimate height for
28217
+ * @returns Estimated height in pixels, or 0 if height cannot be determined
28218
+ */
28219
+ estimateFragmentHeight(fragment) {
28220
+ const lookup = this.blockLookup.get(fragment.blockId);
28221
+ const measure = lookup?.measure;
28222
+ if (fragment.kind === "para" && measure?.kind === "paragraph") {
28223
+ return measure.totalHeight;
28224
+ }
28225
+ if (fragment.kind === "list-item" && measure?.kind === "list") {
28226
+ return measure.totalHeight;
28227
+ }
28228
+ if (fragment.kind === "table") {
28229
+ return fragment.height;
28230
+ }
28231
+ if (fragment.kind === "image" || fragment.kind === "drawing") {
28232
+ return fragment.height;
28233
+ }
28234
+ return 0;
28235
+ }
28133
28236
  buildBlockLookup(blocks, measures) {
28134
28237
  if (blocks.length !== measures.length) {
28135
28238
  throw new Error("DomPainter requires the same number of blocks and measures");
@@ -28598,8 +28701,8 @@ const createDomPainter = (options) => {
28598
28701
  paint(layout, mount) {
28599
28702
  painter.paint(layout, mount);
28600
28703
  },
28601
- setData(blocks, measures) {
28602
- painter.setData(blocks, measures);
28704
+ setData(blocks, measures, headerBlocks, headerMeasures, footerBlocks, footerMeasures) {
28705
+ painter.setData(blocks, measures, headerBlocks, headerMeasures, footerBlocks, footerMeasures);
28603
28706
  },
28604
28707
  // Non-standard extension for demo app to avoid re-instantiating on provider changes
28605
28708
  setProviders(header, footer) {
@@ -32235,7 +32338,30 @@ rerender_fn = async function() {
32235
32338
  if (typeof painter.setProviders === "function") {
32236
32339
  painter.setProviders(__privateGet(this, _headerDecorationProvider), __privateGet(this, _footerDecorationProvider));
32237
32340
  }
32238
- painter.setData?.(blocks, measures);
32341
+ const headerBlocks = [];
32342
+ const headerMeasures = [];
32343
+ if (headerLayouts) {
32344
+ for (const headerResult of headerLayouts) {
32345
+ headerBlocks.push(...headerResult.blocks);
32346
+ headerMeasures.push(...headerResult.measures);
32347
+ }
32348
+ }
32349
+ const footerBlocks = [];
32350
+ const footerMeasures = [];
32351
+ if (footerLayouts) {
32352
+ for (const footerResult of footerLayouts) {
32353
+ footerBlocks.push(...footerResult.blocks);
32354
+ footerMeasures.push(...footerResult.measures);
32355
+ }
32356
+ }
32357
+ painter.setData?.(
32358
+ blocks,
32359
+ measures,
32360
+ headerBlocks.length > 0 ? headerBlocks : void 0,
32361
+ headerMeasures.length > 0 ? headerMeasures : void 0,
32362
+ footerBlocks.length > 0 ? footerBlocks : void 0,
32363
+ footerMeasures.length > 0 ? footerMeasures : void 0
32364
+ );
32239
32365
  painter.paint(layout, __privateGet(this, _painterHost));
32240
32366
  __privateSet(this, _layoutError, null);
32241
32367
  __privateSet(this, _layoutErrorState, "healthy");
@@ -32405,7 +32531,8 @@ createDecorationProvider_fn = function(kind, layout) {
32405
32531
  const finalHeaderId = headerId ?? fallbackId ?? void 0;
32406
32532
  return {
32407
32533
  fragments: slotPage.fragments,
32408
- height: variant.layout.height ?? box.height,
32534
+ height: box.height,
32535
+ contentHeight: variant.layout.height ?? box.height,
32409
32536
  offset: box.offset,
32410
32537
  marginLeft: box.x,
32411
32538
  contentWidth: box.width,
@@ -32432,18 +32559,19 @@ computeDecorationBox_fn = function(kind, pageMargins, pageHeight) {
32432
32559
  const left2 = margins.left ?? DEFAULT_MARGINS.left;
32433
32560
  const right2 = margins.right ?? DEFAULT_MARGINS.right;
32434
32561
  const width = Math.max(pageSize.w - (left2 + right2), 1);
32435
- const defaultHeight = kind === "header" ? margins.top ?? DEFAULT_MARGINS.top : margins.bottom ?? DEFAULT_MARGINS.bottom;
32436
- const { headerSpace, footerSpace } = extractHeaderFooterSpace(margins);
32437
- const target = kind === "header" ? headerSpace : footerSpace;
32438
- const height = Math.max(target || defaultHeight || 1, 1);
32439
32562
  const totalHeight = pageHeight ?? pageSize.h;
32440
- const offset2 = kind === "header" ? 0 : Math.max(0, totalHeight - height);
32441
- return {
32442
- x: left2,
32443
- width,
32444
- height,
32445
- offset: offset2
32446
- };
32563
+ if (kind === "header") {
32564
+ const headerMargin = margins.header ?? 0;
32565
+ const topMargin = margins.top ?? DEFAULT_MARGINS.top ?? 0;
32566
+ const height = Math.max(topMargin - headerMargin, 1);
32567
+ return { x: left2, width, height, offset: headerMargin };
32568
+ } else {
32569
+ const footerMargin = margins.footer ?? 0;
32570
+ const bottomMargin = margins.bottom ?? DEFAULT_MARGINS.bottom ?? 0;
32571
+ const height = Math.max(bottomMargin - footerMargin, 1);
32572
+ const offset2 = Math.max(0, totalHeight - footerMargin - height);
32573
+ return { x: left2, width, height, offset: offset2 };
32574
+ }
32447
32575
  };
32448
32576
  rebuildHeaderFooterRegions_fn = function(layout) {
32449
32577
  __privateGet(this, _headerRegions).clear();
@@ -50918,13 +51046,22 @@ function checkWordBoundary(state, pos) {
50918
51046
  return !/\p{L}$/u.test(before.text) || !/^\p{L}/u.test(after.text);
50919
51047
  }
50920
51048
  class SearchState {
50921
- constructor(query, range, deco) {
51049
+ /**
51050
+ * Create a new SearchState instance.
51051
+ *
51052
+ * @param {SearchQuery} query - The search query to execute
51053
+ * @param {{from: number, to: number}|null} range - Optional range to restrict search to, or null for entire document
51054
+ * @param {boolean} highlight - Whether to apply CSS classes for visual highlighting of matches
51055
+ * @param {DecorationSet} deco - The decoration set containing match highlights
51056
+ */
51057
+ constructor(query, range, highlight, deco) {
50922
51058
  this.query = query;
50923
51059
  this.range = range;
51060
+ this.highlight = highlight;
50924
51061
  this.deco = deco;
50925
51062
  }
50926
51063
  }
50927
- function buildMatchDeco(state, query, range) {
51064
+ function buildMatchDeco(state, query, range, highlight = true) {
50928
51065
  if (!query.valid) return DecorationSet.empty;
50929
51066
  let deco = [];
50930
51067
  let sel = state.selection;
@@ -50932,7 +51069,8 @@ function buildMatchDeco(state, query, range) {
50932
51069
  let next = query.findNext(state, pos, end2);
50933
51070
  if (!next) break;
50934
51071
  let cls = next.from == sel.from && next.to == sel.to ? "ProseMirror-active-search-match" : "ProseMirror-search-match";
50935
- deco.push(Decoration.inline(next.from, next.to, { class: cls }));
51072
+ const attrs = highlight ? { class: cls } : {};
51073
+ deco.push(Decoration.inline(next.from, next.to, attrs));
50936
51074
  pos = next.to;
50937
51075
  }
50938
51076
  return DecorationSet.create(state.doc, deco);
@@ -50945,11 +51083,20 @@ function search(options = {}) {
50945
51083
  init(_config, state) {
50946
51084
  let query = options.initialQuery || new SearchQuery({ search: "" });
50947
51085
  let range = options.initialRange || null;
50948
- return new SearchState(query, range, buildMatchDeco(state, query, range));
51086
+ const highlight = options.initialHighlight ?? true;
51087
+ return new SearchState(query, range, highlight, buildMatchDeco(state, query, range, highlight));
50949
51088
  },
50950
51089
  apply(tr, search2, _oldState, state) {
50951
51090
  let set = tr.getMeta(searchKey);
50952
- if (set) return new SearchState(set.query, set.range, buildMatchDeco(state, set.query, set.range));
51091
+ if (set) {
51092
+ const highlight = typeof set.highlight === "boolean" ? set.highlight : true;
51093
+ return new SearchState(
51094
+ set.query,
51095
+ set.range,
51096
+ highlight,
51097
+ buildMatchDeco(state, set.query, set.range, highlight)
51098
+ );
51099
+ }
50953
51100
  if (tr.docChanged || tr.selectionSet) {
50954
51101
  let range = search2.range;
50955
51102
  if (range) {
@@ -50957,7 +51104,13 @@ function search(options = {}) {
50957
51104
  let to = tr.mapping.map(range.to, -1);
50958
51105
  range = from2 < to ? { from: from2, to } : null;
50959
51106
  }
50960
- search2 = new SearchState(search2.query, range, buildMatchDeco(state, search2.query, range));
51107
+ const highlight = typeof search2.highlight === "boolean" ? search2.highlight : true;
51108
+ search2 = new SearchState(
51109
+ search2.query,
51110
+ range,
51111
+ highlight,
51112
+ buildMatchDeco(state, search2.query, range, highlight)
51113
+ );
50961
51114
  }
50962
51115
  return search2;
50963
51116
  }
@@ -50971,8 +51124,12 @@ function getMatchHighlights(state) {
50971
51124
  let search2 = searchKey.getState(state);
50972
51125
  return search2 ? search2.deco : DecorationSet.empty;
50973
51126
  }
50974
- function setSearchState(tr, query, range = null) {
50975
- return tr.setMeta(searchKey, { query, range });
51127
+ function setSearchState(tr, query, range = null, options = {}) {
51128
+ if (options != null && (typeof options !== "object" || Array.isArray(options))) {
51129
+ throw new TypeError("setSearchState options must be an object");
51130
+ }
51131
+ const highlight = typeof options?.highlight === "boolean" ? options.highlight : true;
51132
+ return tr.setMeta(searchKey, { query, range, highlight });
50976
51133
  }
50977
51134
  const isRegExp = (value) => Object.prototype.toString.call(value) === "[object RegExp]";
50978
51135
  const Search = Extension.create({
@@ -51033,14 +51190,25 @@ const Search = Extension.create({
51033
51190
  * Search for string matches in editor content
51034
51191
  * @category Command
51035
51192
  * @param {String|RegExp} patternInput - Search string or pattern
51193
+ * @param {SearchCommandOptions} [options={}] - Options to control search behavior
51036
51194
  * @example
51195
+ * // Basic search with highlighting (default)
51037
51196
  * const matches = editor.commands.search('test string')
51197
+ *
51198
+ * // Regex search
51038
51199
  * const regexMatches = editor.commands.search(/test/i)
51200
+ *
51201
+ * // Search without visual highlighting
51202
+ * const silentMatches = editor.commands.search('test', { highlight: false })
51039
51203
  * @note Returns array of SearchMatch objects with positions and IDs
51040
51204
  */
51041
- search: (patternInput) => (
51205
+ search: (patternInput, options = {}) => (
51042
51206
  /** @returns {SearchMatch[]} */
51043
51207
  ({ state, dispatch }) => {
51208
+ if (options != null && (typeof options !== "object" || Array.isArray(options))) {
51209
+ throw new TypeError("Search options must be an object");
51210
+ }
51211
+ const highlight = typeof options?.highlight === "boolean" ? options.highlight : true;
51044
51212
  let pattern;
51045
51213
  let caseSensitive = false;
51046
51214
  let regexp = false;
@@ -51067,7 +51235,7 @@ const Search = Extension.create({
51067
51235
  regexp,
51068
51236
  wholeWord
51069
51237
  });
51070
- const tr = setSearchState(state.tr, query);
51238
+ const tr = setSearchState(state.tr, query, null, { highlight });
51071
51239
  dispatch(tr);
51072
51240
  const newState = state.apply(tr);
51073
51241
  const decoSet = getMatchHighlights(newState);
@@ -1,4 +1,4 @@
1
- import { aJ as getDefaultExportFromCjs } from "./converter-B9YfBdcc.js";
1
+ import { aJ as getDefaultExportFromCjs } from "./converter-BiUZIOjP.js";
2
2
  import { V as VFile } from "./index-CvBqQJbG.js";
3
3
  function bail(error) {
4
4
  if (error) {
@@ -1,6 +1,6 @@
1
1
  import { computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, normalizeClass, normalizeStyle, ref, withKeys, unref, withModifiers, createBlock, toDisplayString, withDirectives, vModelText, nextTick, getCurrentInstance, createVNode, readonly, watch, onMounted, onBeforeUnmount, reactive, onBeforeMount, inject, onActivated, onDeactivated, createTextVNode, Fragment, Comment, defineComponent, provide, h, Teleport, toRef, renderSlot, isVNode, shallowRef, watchEffect, mergeProps, Transition, vShow, cloneVNode, Text, renderList, withCtx } from "vue";
2
- import { p as process$1 } from "./converter-B9YfBdcc.js";
3
- import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-DlvlVSbc.js";
2
+ import { p as process$1 } from "./converter-BiUZIOjP.js";
3
+ import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-BtePjrrv.js";
4
4
  const sanitizeNumber = (value, defaultNumber) => {
5
5
  let sanitized = value.replace(/[^0-9.]/g, "");
6
6
  sanitized = parseFloat(sanitized);
@@ -1,4 +1,4 @@
1
- import { ac } from "./chunks/converter-B9YfBdcc.js";
1
+ import { ac } from "./chunks/converter-BiUZIOjP.js";
2
2
  export {
3
3
  ac as SuperConverter
4
4
  };
@@ -1,5 +1,5 @@
1
- import "./chunks/converter-B9YfBdcc.js";
2
- import { D } from "./chunks/docx-zipper-V16OzZ7a.js";
1
+ import "./chunks/converter-BiUZIOjP.js";
2
+ import { D } from "./chunks/docx-zipper-Dz6dcXS4.js";
3
3
  export {
4
4
  D as default
5
5
  };
@@ -1,6 +1,6 @@
1
- import { E } from "./chunks/editor-DlvlVSbc.js";
2
- import "./chunks/converter-B9YfBdcc.js";
3
- import "./chunks/docx-zipper-V16OzZ7a.js";
1
+ import { E } from "./chunks/editor-BtePjrrv.js";
2
+ import "./chunks/converter-BiUZIOjP.js";
3
+ import "./chunks/docx-zipper-Dz6dcXS4.js";
4
4
  export {
5
5
  E as Editor
6
6
  };
@@ -1,4 +1,4 @@
1
- import { J as JSZip } from "./chunks/docx-zipper-V16OzZ7a.js";
1
+ import { J as JSZip } from "./chunks/docx-zipper-Dz6dcXS4.js";
2
2
  async function createZip(blobs, fileNames) {
3
3
  const zip = new JSZip();
4
4
  blobs.forEach((blob, index) => {
@@ -9,14 +9,14 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
9
9
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
10
10
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
11
11
  var _MARK_TOGGLE_NAMES, _SuperToolbar_instances, initToolbarGroups_fn, _interceptedCommands, makeToolbarItems_fn, initDefaultFonts_fn, updateHighlightColors_fn, deactivateAll_fn, updateToolbarHistory_fn, enrichTrackedChanges_fn, runCommandWithArgumentOnly_fn, syncStickyMarksFromState_fn, restoreStickyMarksIfNeeded_fn, ensureStoredMarksForMarkToggle_fn;
12
- import { aJ as getDefaultExportFromCjs, a0 as v4, T as TextSelection$1, v as getMarkRange, aM as vClickOutside, aN as getActiveFormatting, aC as isInTable, U as findParentNode, aq as calculateResolvedParagraphProperties, a7 as twipsToLines, V as isList, al as parseSizeUnit, a8 as pixelsToTwips, aO as getFileObject, aP as translator, aQ as translator$1, aR as translator$2, aS as translator$3, aT as translator$4, aU as translator$5, aV as translator$6, aW as translator$7, aX as translator$8, aY as translator$9, aZ as translator$a, a_ as translator$b, a$ as translator$c, b0 as translator$d, b1 as translator$e, b2 as commentRangeEndTranslator, b3 as commentRangeStartTranslator, b4 as translator$f, b5 as translator$g, b6 as translator$h, b7 as translator$i, b8 as translator$j, b9 as translator$k, ba as translator$l, bb as translator$m, bc as translator$n, bd as translator$o, be as translator$p, bf as translator$q, bg as translator$r, bh as translator$s, bi as translator$t, bj as translator$u, bk as translator$v, bl as translator$w, bm as translator$x, bn as translator$y, bo as translator$z, bp as translator$A, bq as translator$B, br as translator$C, bs as translator$D, bt as translator$E, bu as translator$F, bv as translator$G, bw as translator$H, bx as translator$I, by as translator$J, bz as translator$K, bA as translator$L, bB as translator$M, bC as translator$N, bD as translator$O, bE as translator$P, bF as translator$Q, bG as translator$R, bH as translator$S, bI as translator$T, bJ as translator$U, bK as translator$V, bL as translator$W, bM as translator$X, bN as translator$Y, bO as translator$Z, bP as translator$_, bQ as translator$$, bR as translator$10, bS as translator$11, bT as translator$12, bU as translator$13, bV as translator$14, bW as translator$15, bX as translator$16, bY as translator$17, bZ as translator$18, b_ as translator$19, b$ as translator$1a, c0 as translator$1b, c1 as translator$1c, c2 as translator$1d, c3 as translator$1e, c4 as translator$1f, c5 as translator$1g, c6 as translator$1h, c7 as translator$1i, c8 as translator$1j, P as PluginKey, a as Plugin } from "./chunks/converter-B9YfBdcc.js";
13
- import { ac, i, a9 } from "./chunks/converter-B9YfBdcc.js";
14
- import { _ as _export_sfc, u as useHighContrastMode, a as getQuickFormatList, b as generateLinkedStyleString, c as getFileOpener, d as checkAndProcessImage, r as replaceSelectionWithImagePlaceholder, e as uploadAndInsertImage, f as collectTrackedChanges, i as isTrackedChangeActionAllowed, y as yUndoPluginKey, h as undoDepth, j as redoDepth, k as getEditorSurfaceElement, l as collectTrackedChangesForContext, s as shouldBypassContextMenu, S as SlashMenuPluginKey, m as measureCache, n as isHeadless, E as Editor, o as getStarterExtensions, P as PresentationEditor, p as Placeholder, q as getRichTextExtensions, D as DecorationSet, t as Decoration, M as Mark, v as Extension, A as Attribute, N as Node } from "./chunks/editor-DlvlVSbc.js";
15
- import { z, F, B, T, w, C, x } from "./chunks/editor-DlvlVSbc.js";
12
+ import { aJ as getDefaultExportFromCjs, a0 as v4, T as TextSelection$1, v as getMarkRange, aM as vClickOutside, aN as getActiveFormatting, aC as isInTable, U as findParentNode, aq as calculateResolvedParagraphProperties, a7 as twipsToLines, V as isList, al as parseSizeUnit, a8 as pixelsToTwips, aO as getFileObject, aP as translator, aQ as translator$1, aR as translator$2, aS as translator$3, aT as translator$4, aU as translator$5, aV as translator$6, aW as translator$7, aX as translator$8, aY as translator$9, aZ as translator$a, a_ as translator$b, a$ as translator$c, b0 as translator$d, b1 as translator$e, b2 as commentRangeEndTranslator, b3 as commentRangeStartTranslator, b4 as translator$f, b5 as translator$g, b6 as translator$h, b7 as translator$i, b8 as translator$j, b9 as translator$k, ba as translator$l, bb as translator$m, bc as translator$n, bd as translator$o, be as translator$p, bf as translator$q, bg as translator$r, bh as translator$s, bi as translator$t, bj as translator$u, bk as translator$v, bl as translator$w, bm as translator$x, bn as translator$y, bo as translator$z, bp as translator$A, bq as translator$B, br as translator$C, bs as translator$D, bt as translator$E, bu as translator$F, bv as translator$G, bw as translator$H, bx as translator$I, by as translator$J, bz as translator$K, bA as translator$L, bB as translator$M, bC as translator$N, bD as translator$O, bE as translator$P, bF as translator$Q, bG as translator$R, bH as translator$S, bI as translator$T, bJ as translator$U, bK as translator$V, bL as translator$W, bM as translator$X, bN as translator$Y, bO as translator$Z, bP as translator$_, bQ as translator$$, bR as translator$10, bS as translator$11, bT as translator$12, bU as translator$13, bV as translator$14, bW as translator$15, bX as translator$16, bY as translator$17, bZ as translator$18, b_ as translator$19, b$ as translator$1a, c0 as translator$1b, c1 as translator$1c, c2 as translator$1d, c3 as translator$1e, c4 as translator$1f, c5 as translator$1g, c6 as translator$1h, c7 as translator$1i, c8 as translator$1j, P as PluginKey, a as Plugin } from "./chunks/converter-BiUZIOjP.js";
13
+ import { ac, i, a9 } from "./chunks/converter-BiUZIOjP.js";
14
+ import { _ as _export_sfc, u as useHighContrastMode, a as getQuickFormatList, b as generateLinkedStyleString, c as getFileOpener, d as checkAndProcessImage, r as replaceSelectionWithImagePlaceholder, e as uploadAndInsertImage, f as collectTrackedChanges, i as isTrackedChangeActionAllowed, y as yUndoPluginKey, h as undoDepth, j as redoDepth, k as getEditorSurfaceElement, l as collectTrackedChangesForContext, s as shouldBypassContextMenu, S as SlashMenuPluginKey, m as measureCache, n as isHeadless, E as Editor, o as getStarterExtensions, P as PresentationEditor, p as Placeholder, q as getRichTextExtensions, D as DecorationSet, t as Decoration, M as Mark, v as Extension, A as Attribute, N as Node } from "./chunks/editor-BtePjrrv.js";
15
+ import { z, F, B, T, w, C, x } from "./chunks/editor-BtePjrrv.js";
16
16
  import { ref, onMounted, createElementBlock, openBlock, normalizeClass, unref, Fragment, renderList, createElementVNode, withModifiers, toDisplayString, createCommentVNode, normalizeStyle, computed, watch, withDirectives, withKeys, vModelText, createTextVNode, createVNode, h, createApp, markRaw, nextTick, onBeforeUnmount, defineComponent, reactive, onUnmounted, renderSlot, shallowRef, createBlock, withCtx, resolveDynamicComponent, normalizeProps, guardReactiveProps } from "vue";
17
- import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, p as plusIconSvg, a as trashIconSvg, b as borderNoneIconSvg, c as arrowsToDotIconSvg, d as arrowsLeftRightIconSvg, w as wrenchIconSvg, m as magicWandIcon, e as checkIconSvg$1, x as xMarkIconSvg, l as linkIconSvg, f as tableIconSvg, g as scissorsIconSvg, h as copyIconSvg, i as pasteIconSvg, u as useMessage, N as NSkeleton } from "./chunks/toolbar-cNDvtryE.js";
17
+ import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, p as plusIconSvg, a as trashIconSvg, b as borderNoneIconSvg, c as arrowsToDotIconSvg, d as arrowsLeftRightIconSvg, w as wrenchIconSvg, m as magicWandIcon, e as checkIconSvg$1, x as xMarkIconSvg, l as linkIconSvg, f as tableIconSvg, g as scissorsIconSvg, h as copyIconSvg, i as pasteIconSvg, u as useMessage, N as NSkeleton } from "./chunks/toolbar-D6JNBgna.js";
18
18
  import AIWriter from "./ai-writer.es.js";
19
- import { D } from "./chunks/docx-zipper-V16OzZ7a.js";
19
+ import { D } from "./chunks/docx-zipper-Dz6dcXS4.js";
20
20
  import { createZip } from "./file-zipper.es.js";
21
21
  var eventemitter3 = { exports: {} };
22
22
  var hasRequiredEventemitter3;
@@ -1,6 +1,6 @@
1
1
  import "vue";
2
- import { T } from "./chunks/toolbar-cNDvtryE.js";
3
- import "./chunks/editor-DlvlVSbc.js";
2
+ import { T } from "./chunks/toolbar-D6JNBgna.js";
3
+ import "./chunks/editor-BtePjrrv.js";
4
4
  export {
5
5
  T as default
6
6
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const superEditor_es = require("./chunks/super-editor.es-CDiTp9Fe.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-Bt9VCC9D.cjs");
4
4
  require("./chunks/vue-ARQSyfaw.cjs");
5
5
  exports.AIWriter = superEditor_es.AIWriter;
6
6
  exports.AnnotatorHelpers = superEditor_es.AnnotatorHelpers;
@@ -1,4 +1,4 @@
1
- import { A, a, _, C, D, E, b, P, S, c, d, e, f, g, T, h, i, j, k, l, m, n, o, p, r, q } from "./chunks/super-editor.es-BRKZG90h.es.js";
1
+ import { A, a, _, C, D, E, b, P, S, c, d, e, f, g, T, h, i, j, k, l, m, n, o, p, r, q } from "./chunks/super-editor.es-0TS__OEc.es.js";
2
2
  import "./chunks/vue-CztqUvm1.es.js";
3
3
  export {
4
4
  A as AIWriter,
package/dist/superdoc.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const superEditor_es = require("./chunks/super-editor.es-CDiTp9Fe.cjs");
4
- const superdoc = require("./chunks/index-Dp3rVMnX.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-Bt9VCC9D.cjs");
4
+ const superdoc = require("./chunks/index-DcKcwu3F.cjs");
5
5
  const blankDocx = require("./chunks/blank-docx-DfW3Eeh2.cjs");
6
6
  exports.AnnotatorHelpers = superEditor_es.AnnotatorHelpers;
7
7
  exports.Editor = superEditor_es.Editor;
@@ -1,5 +1,5 @@
1
- import { a, E, b, S, d, i, j, n, r, p, q } from "./chunks/super-editor.es-BRKZG90h.es.js";
2
- import { D, H, P, S as S2, m, l } from "./chunks/index-DukSDI8_.es.js";
1
+ import { a, E, b, S, d, i, j, n, r, p, q } from "./chunks/super-editor.es-0TS__OEc.es.js";
2
+ import { D, H, P, S as S2, m, l } from "./chunks/index-6_t69RiQ.es.js";
3
3
  import { B } from "./chunks/blank-docx-ABm6XYAA.es.js";
4
4
  export {
5
5
  a as AnnotatorHelpers,