@harbour-enterprises/superdoc 2.0.0-next.3 → 2.0.0-next.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 (30) hide show
  1. package/dist/chunks/{PdfViewer-C6tuSJXA.cjs → PdfViewer-C4wZizyW.cjs} +1 -1
  2. package/dist/chunks/{PdfViewer-4xn9rggA.es.js → PdfViewer-CO_oGFDw.es.js} +1 -1
  3. package/dist/chunks/{index-k0xTe_8v.cjs → index-B4QOihiF.cjs} +3 -3
  4. package/dist/chunks/{index-lLnrqNSJ-DoACeFqL.es.js → index-CBSyVaOM-B5I90g0S.es.js} +1 -1
  5. package/dist/chunks/{index-lLnrqNSJ-CMJxa5vJ.cjs → index-CBSyVaOM-BMpzJRoR.cjs} +1 -1
  6. package/dist/chunks/{index-CSZ7bAL7.es.js → index-XOJnODHJ.es.js} +3 -3
  7. package/dist/chunks/{super-editor.es-BY4paJvP.cjs → super-editor.es-DzolekK0.cjs} +141 -26
  8. package/dist/chunks/{super-editor.es-B1DZfUz0.es.js → super-editor.es-qnE7-VRy.es.js} +141 -26
  9. package/dist/packages/superdoc/src/core/SuperDoc.d.ts.map +1 -1
  10. package/dist/style.css +6 -6
  11. package/dist/super-editor/ai-writer.es.js +2 -2
  12. package/dist/super-editor/chunks/{converter-Bd6dIe0l.js → converter-CH2eG52x.js} +1 -1
  13. package/dist/super-editor/chunks/{docx-zipper-Dzdi5pfi.js → docx-zipper-JJRnWzI6.js} +1 -1
  14. package/dist/super-editor/chunks/{editor-C3sjGwAb.js → editor-Du7p05wU.js} +129 -24
  15. package/dist/super-editor/chunks/{index-lLnrqNSJ.js → index-CBSyVaOM.js} +1 -1
  16. package/dist/super-editor/chunks/{toolbar-Bn20lflQ.js → toolbar-unNlfpEL.js} +2 -2
  17. package/dist/super-editor/converter.es.js +1 -1
  18. package/dist/super-editor/docx-zipper.es.js +2 -2
  19. package/dist/super-editor/editor.es.js +3 -3
  20. package/dist/super-editor/file-zipper.es.js +1 -1
  21. package/dist/super-editor/style.css +6 -6
  22. package/dist/super-editor/super-editor.es.js +19 -9
  23. package/dist/super-editor/toolbar.es.js +2 -2
  24. package/dist/super-editor.cjs +1 -1
  25. package/dist/super-editor.es.js +1 -1
  26. package/dist/superdoc.cjs +2 -2
  27. package/dist/superdoc.es.js +2 -2
  28. package/dist/superdoc.umd.js +143 -28
  29. package/dist/superdoc.umd.js.map +1 -1
  30. package/package.json +1 -1
@@ -12,8 +12,8 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
12
12
  var _a, _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, _currentEpoch, _mapsByFromEpoch, _maxEpochsToKeep, _EpochPositionMapper_instances, pruneByCurrentEpoch_fn, _entries, _windowRoot, _getPainterHost, _onRebuild, _observer, _rebuildScheduled, _rebuildRafId, _docEpoch, _layoutEpoch, _layoutUpdating, _pending, _scheduled, _rafHandle, _scheduler, _SelectionSyncCoordinator_instances, isSafeToRender_fn, maybeSchedule_fn, cancelScheduledRender_fn, _windowRoot2, _layoutSurfaces, _getTargetDom, _isEditable, _onTargetChanged, _listeners, _currentTarget, _destroyed, _useWindowFallback, _PresentationInputBridge_instances, addListener_fn, dispatchToTarget_fn, forwardKeyboardEvent_fn, forwardTextEvent_fn, forwardCompositionEvent_fn, forwardContextMenu_fn, isEventOnActiveTarget_fn, shouldSkipSurface_fn, isInLayoutSurface_fn, getListenerTargets_fn, isPlainCharacterKey_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, _selectionOverlay, _activeEditorHost, _activeDecorationContainer, _activeRegion, _borderLine, _dimmingOverlay, _EditorOverlayManager_instances, findDecorationContainer_fn, ensureEditorHost_fn, positionEditorHost_fn, hideDimmingOverlay_fn, showHeaderFooterBorder_fn, hideHeaderFooterBorder_fn, _instances, _options, _editor3, _visibleHost, _viewportHost, _painterHost, _selectionOverlay2, _hiddenHost, _layoutOptions, _layoutState, _domPainter, _pageGeometryHelper, _dragHandlerCleanup, _layoutError, _layoutErrorState, _errorBanner, _errorBannerMessage, _telemetryEmitter, _renderScheduled, _pendingDocChange, _isRerendering, _selectionSync, _remoteCursorUpdateScheduled, _epochMapper, _layoutEpoch2, _domPositionIndex, _domIndexObserverManager, _debugLastPointer, _debugLastHit, _pendingMarginClick, _rafHandle2, _editorListeners, _sectionMetadata, _documentMode, _inputBridge, _trackedChangesMode, _trackedChangesEnabled, _trackedChangesOverrides, _headerFooterManager, _headerFooterAdapter, _headerFooterIdentifier, _multiSectionIdentifier, _headerLayoutResults, _footerLayoutResults, _headerLayoutsByRId, _footerLayoutsByRId, _headerDecorationProvider, _footerDecorationProvider, _headerFooterManagerCleanups, _headerRegions, _footerRegions, _session, _activeHeaderFooterEditor, _overlayManager, _hoverOverlay, _hoverTooltip, _modeBanner, _ariaLiveRegion, _a11ySelectionAnnounceTimeout, _a11yLastAnnouncedSelectionKey, _hoverRegion, _clickCount, _lastClickTime, _lastClickPosition, _lastSelectedImageBlockId, _dragAnchor, _dragAnchorPageIndex, _isDragging, _dragExtensionMode, _dragLastPointer, _dragLastRawHit, _dragUsedPageNotMountedFallback, _cellAnchor, _cellDragMode, _remoteCursorState, _remoteCursorElements, _remoteCursorDirty, _remoteCursorOverlay, _localSelectionLayer, _awarenessCleanup, _scrollCleanup, _scrollTimeout, _lastRemoteCursorRenderTime, _remoteCursorThrottleTimeout, _PresentationEditor_instances, wrapHiddenEditorFocus_fn, collectCommentPositions_fn, updateSelectionDebugHud_fn, computePendingMarginClick_fn, aggregateLayoutBounds_fn, rebuildDomPositionIndex_fn, setupEditorListeners_fn, setupCollaborationCursors_fn, updateLocalAwarenessCursor_fn, scheduleRemoteCursorUpdate_fn, scheduleRemoteCursorReRender_fn, updateRemoteCursors_fn, renderRemoteCursors_fn, setupPointerHandlers_fn, setupDragHandlers_fn, focusEditorAfterImageSelection_fn, setupInputBridge_fn, initHeaderFooterRegistry_fn, _handlePointerDown, getFirstTextPosition_fn, registerPointerClick_fn, getCellPosFromTableHit_fn, getTablePosFromHit_fn, shouldUseCellSelection_fn, setCellAnchor_fn, clearCellAnchor_fn, hitTestTable_fn, selectWordAt_fn, selectParagraphAt_fn, calculateExtendedSelection_fn, _handlePointerMove, _handlePointerLeave, _handleVisibleHostFocusIn, _handlePointerUp, _handleDragOver, _handleDrop, _handleDoubleClick, _handleKeyDown, focusHeaderFooterShortcut_fn, scheduleRerender_fn, flushRerenderQueue_fn, rerender_fn, ensurePainter_fn, scheduleSelectionUpdate_fn, updateSelection_fn, resolveLayoutOptions_fn, buildHeaderFooterInput_fn, computeHeaderFooterConstraints_fn, layoutPerRIdHeaderFooters_fn, updateDecorationProviders_fn, createDecorationProvider_fn, findHeaderFooterPageForPageNumber_fn, computeDecorationBox_fn, computeExpectedSectionType_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, syncHiddenEditorA11yAttributes_fn, scheduleA11ySelectionAnnouncement_fn, announceSelectionNow_fn, validateHeaderFooterEditPermission_fn, emitHeaderFooterEditBlocked_fn, resolveDescriptorForRegion_fn, createDefaultHeaderFooter_fn, getPageElement_fn, isSelectionAwareVirtualizationEnabled_fn, updateSelectionVirtualizationPins_fn, finalizeDragSelectionWithDom_fn, scrollPageIntoView_fn, waitForPageMount_fn, getEffectivePageGap_fn, getBodyPageHeight_fn, getHeaderFooterPageHeight_fn, renderCellSelectionOverlay_fn, renderHoverRegion_fn, clearHoverRegion_fn, getHeaderFooterContext_fn, computeHeaderFooterSelectionRects_fn, syncTrackedChangesPreferences_fn, deriveTrackedChangesMode_fn, deriveTrackedChangesEnabled_fn, getTrackChangesPluginState_fn, computeDefaultLayoutDefaults_fn, applyZoom_fn, getPageOffsetX_fn, convertPageLocalToOverlayCoords_fn, computeSelectionRectsFromDom_fn, computeDomCaretPageLocal_fn, normalizeClientPoint_fn, computeCaretLayoutRectGeometry_fn, computeCaretLayoutRect_fn, getCurrentPageIndex_fn, findRegionForPage_fn, handleLayoutError_fn, decorateError_fn, showLayoutErrorBanner_fn, dismissErrorBanner_fn, _DocumentSectionView_instances, init_fn2, addToolTip_fn, _ParagraphNodeView_instances, checkShouldUpdate_fn, updateHTMLAttributes_fn, updateDOMStyles_fn, resolveNeighborParagraphProperties_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, _VectorShapeView_instances, ensureParentPositioned_fn, _ShapeGroupView_instances, ensureParentPositioned_fn2;
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$2, 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 changeListLevel, O as findParentNode, Q as isList, U as updateNumberingProperties, V as ListHelpers, W as isMacOS, X as isIOS, Y as getSchemaTypeByName, Z as inputRulesPlugin, _ as TrackDeleteMarkName$1, $ as TrackInsertMarkName$1, a0 as v4, a1 as TrackFormatMarkName$1, 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 SelectionRange, ak as Transform, al as resolveParagraphProperties, am as _getReferencedTableStyles, an as parseSizeUnit, ao as minMax, ap as updateDOMAttributes, aq as findChildren$5, ar as generateRandomSigned32BitIntStrId, as as decodeRPrFromMarks, at as calculateResolvedParagraphProperties, au as resolveRunProperties, av as encodeCSSFromPPr, aw as twipsToPixels$2, ax as encodeCSSFromRPr, ay as generateOrderedListIndex, az as docxNumberingHelpers, aA as InputRule, aB as convertSizeToCSS, aC as findParentNodeClosestToPos, aD as isInTable$1, aE as generateDocxRandomId, aF as insertNewRelationship, aG as inchesToPixels, aH as kebabCase, aI as getUnderlineCssString } from "./converter-Bd6dIe0l.js";
16
- import { D as DocxZipper } from "./docx-zipper-Dzdi5pfi.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$2, 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 changeListLevel, O as findParentNode, Q as isList, U as updateNumberingProperties, V as ListHelpers, W as isMacOS, X as isIOS, Y as getSchemaTypeByName, Z as inputRulesPlugin, _ as TrackDeleteMarkName$1, $ as TrackInsertMarkName$1, a0 as v4, a1 as TrackFormatMarkName$1, 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 SelectionRange, ak as Transform, al as resolveParagraphProperties, am as _getReferencedTableStyles, an as parseSizeUnit, ao as minMax, ap as updateDOMAttributes, aq as findChildren$5, ar as generateRandomSigned32BitIntStrId, as as decodeRPrFromMarks, at as calculateResolvedParagraphProperties, au as resolveRunProperties, av as encodeCSSFromPPr, aw as twipsToPixels$2, ax as encodeCSSFromRPr, ay as generateOrderedListIndex, az as docxNumberingHelpers, aA as InputRule, aB as convertSizeToCSS, aC as findParentNodeClosestToPos, aD as isInTable$1, aE as generateDocxRandomId, aF as insertNewRelationship, aG as inchesToPixels, aH as kebabCase, aI as getUnderlineCssString } from "./converter-CH2eG52x.js";
16
+ import { D as DocxZipper } from "./docx-zipper-JJRnWzI6.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() {
@@ -14815,7 +14815,7 @@ const isHeadless = (editor) => {
14815
14815
  const shouldSkipNodeView = (editor) => {
14816
14816
  return isHeadless(editor);
14817
14817
  };
14818
- const summaryVersion = "2.0.0-next.3";
14818
+ const summaryVersion = "2.0.0-next.5";
14819
14819
  const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
14820
14820
  const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
14821
14821
  function mapAttributes(attrs) {
@@ -15607,7 +15607,7 @@ const _Editor = class _Editor extends EventEmitter {
15607
15607
  { default: remarkStringify },
15608
15608
  { default: remarkGfm }
15609
15609
  ] = await Promise.all([
15610
- import("./index-lLnrqNSJ.js"),
15610
+ import("./index-CBSyVaOM.js"),
15611
15611
  import("./index-DRCvimau.js"),
15612
15612
  import("./index-C_x_N6Uh.js"),
15613
15613
  import("./index-D_sWOSiG.js"),
@@ -15812,7 +15812,7 @@ const _Editor = class _Editor extends EventEmitter {
15812
15812
  * Process collaboration migrations
15813
15813
  */
15814
15814
  processCollaborationMigrations() {
15815
- console.debug("[checkVersionMigrations] Current editor version", "2.0.0-next.3");
15815
+ console.debug("[checkVersionMigrations] Current editor version", "2.0.0-next.5");
15816
15816
  if (!this.options.ydoc) return;
15817
15817
  const metaMap = this.options.ydoc.getMap("meta");
15818
15818
  let docVersion = metaMap.get("version");
@@ -28266,7 +28266,8 @@ function measureCharacterX(block, line, charOffset, availableWidthOverride, alig
28266
28266
  }
28267
28267
  const text = "src" in run || run.kind === "lineBreak" || run.kind === "break" || run.kind === "fieldAnnotation" ? "" : run.text ?? "";
28268
28268
  const runLength = text.length;
28269
- const displayText = applyTextTransform$2(text, run.textTransform);
28269
+ const transform = isTabRun$1(run) || "src" in run || run.kind === "lineBreak" || run.kind === "break" || run.kind === "fieldAnnotation" ? void 0 : run.textTransform;
28270
+ const displayText = applyTextTransform$2(text, transform);
28270
28271
  if (currentCharOffset + runLength >= charOffset) {
28271
28272
  const offsetInRun = charOffset - currentCharOffset;
28272
28273
  ctx2.font = getRunFontString(run);
@@ -28316,7 +28317,8 @@ function measureCharacterXSegmentBased(block, line, charOffset, ctx2) {
28316
28317
  return segmentBaseX + (offsetInSegment >= segmentChars ? segment.width ?? 0 : 0);
28317
28318
  }
28318
28319
  const text = run.text ?? "";
28319
- const displayText = applyTextTransform$2(text, run.textTransform);
28320
+ const transform = "textTransform" in run ? run.textTransform : void 0;
28321
+ const displayText = applyTextTransform$2(text, transform);
28320
28322
  const displaySegmentText = displayText.slice(segment.fromChar, segment.toChar);
28321
28323
  const textUpToTarget = displaySegmentText.slice(0, offsetInSegment);
28322
28324
  ctx2.font = getRunFontString(run);
@@ -28414,7 +28416,8 @@ function findCharacterAtX(block, line, x, pmStart, availableWidthOverride, align
28414
28416
  }
28415
28417
  const text = "src" in run || run.kind === "lineBreak" || run.kind === "break" || run.kind === "fieldAnnotation" ? "" : run.text ?? "";
28416
28418
  const runLength = text.length;
28417
- const displayText = applyTextTransform$2(text, run.textTransform);
28419
+ const transform = isTabRun$1(run) || "src" in run || run.kind === "lineBreak" || run.kind === "break" || run.kind === "fieldAnnotation" ? void 0 : run.textTransform;
28420
+ const displayText = applyTextTransform$2(text, transform);
28418
28421
  if (runLength === 0) continue;
28419
28422
  ctx2.font = getRunFontString(run);
28420
28423
  for (let i = 0; i <= runLength; i++) {
@@ -28892,12 +28895,12 @@ function resolveListTextStartPx(wordLayout, indentLeft, firstLine, hanging, meas
28892
28895
  if (markerTextWidth == null && marker.markerText) {
28893
28896
  markerTextWidth = measureMarkerText(marker.markerText, marker);
28894
28897
  }
28895
- if (!Number.isFinite(markerTextWidth) || markerTextWidth < 0) {
28898
+ if (!Number.isFinite(markerTextWidth) || markerTextWidth !== void 0 && markerTextWidth < 0) {
28896
28899
  markerTextWidth = markerBoxWidth;
28897
28900
  }
28898
- markerTextWidth = Math.max(0, markerTextWidth);
28901
+ const finalMarkerTextWidth = Math.max(0, markerTextWidth ?? 0);
28899
28902
  let markerStartPos;
28900
- if (wordLayout?.firstLineIndentMode === true && Number.isFinite(marker.markerX)) {
28903
+ if (wordLayout?.firstLineIndentMode === true && typeof marker.markerX === "number" && Number.isFinite(marker.markerX)) {
28901
28904
  markerStartPos = marker.markerX;
28902
28905
  } else {
28903
28906
  markerStartPos = indentLeft - hanging + firstLine;
@@ -28905,18 +28908,18 @@ function resolveListTextStartPx(wordLayout, indentLeft, firstLine, hanging, meas
28905
28908
  if (!Number.isFinite(markerStartPos)) {
28906
28909
  markerStartPos = 0;
28907
28910
  }
28908
- const currentPos = markerStartPos + markerTextWidth;
28911
+ const currentPos = markerStartPos + finalMarkerTextWidth;
28909
28912
  const suffix = marker.suffix ?? "tab";
28910
28913
  if (suffix === "space") {
28911
- return markerStartPos + markerTextWidth + SPACE_SUFFIX_GAP_PX;
28914
+ return markerStartPos + finalMarkerTextWidth + SPACE_SUFFIX_GAP_PX;
28912
28915
  }
28913
28916
  if (suffix === "nothing") {
28914
- return markerStartPos + markerTextWidth;
28917
+ return markerStartPos + finalMarkerTextWidth;
28915
28918
  }
28916
28919
  const markerJustification = marker.justification ?? "left";
28917
28920
  if (markerJustification !== "left") {
28918
28921
  const gutterWidth = typeof marker.gutterWidthPx === "number" && Number.isFinite(marker.gutterWidthPx) && marker.gutterWidthPx > 0 ? marker.gutterWidthPx : LIST_MARKER_GAP$1;
28919
- return markerStartPos + markerTextWidth + Math.max(gutterWidth, LIST_MARKER_GAP$1);
28922
+ return markerStartPos + finalMarkerTextWidth + Math.max(gutterWidth, LIST_MARKER_GAP$1);
28920
28923
  }
28921
28924
  if (wordLayout?.firstLineIndentMode === true) {
28922
28925
  let targetTabStop;
@@ -28940,7 +28943,7 @@ function resolveListTextStartPx(wordLayout, indentLeft, firstLine, hanging, meas
28940
28943
  if (tabWidth2 < LIST_MARKER_GAP$1) {
28941
28944
  tabWidth2 = LIST_MARKER_GAP$1;
28942
28945
  }
28943
- return markerStartPos + markerTextWidth + tabWidth2;
28946
+ return markerStartPos + finalMarkerTextWidth + tabWidth2;
28944
28947
  }
28945
28948
  const textStart = indentLeft + firstLine;
28946
28949
  let tabWidth = textStart - currentPos;
@@ -28949,7 +28952,7 @@ function resolveListTextStartPx(wordLayout, indentLeft, firstLine, hanging, meas
28949
28952
  } else if (tabWidth < LIST_MARKER_GAP$1) {
28950
28953
  tabWidth = LIST_MARKER_GAP$1;
28951
28954
  }
28952
- return markerStartPos + markerTextWidth + tabWidth;
28955
+ return markerStartPos + finalMarkerTextWidth + tabWidth;
28953
28956
  }
28954
28957
  function getWordLayoutConfig(block) {
28955
28958
  if (!block || block.kind !== "paragraph") {
@@ -30269,6 +30272,94 @@ function getCellPadding(cellIdx, blockRow) {
30269
30272
  function getCellTotalLines(cell) {
30270
30273
  return getCellLines(cell).length;
30271
30274
  }
30275
+ function mergePmRange(target, range) {
30276
+ if (typeof range.pmStart === "number") {
30277
+ target.pmStart = target.pmStart == null ? range.pmStart : Math.min(target.pmStart, range.pmStart);
30278
+ }
30279
+ if (typeof range.pmEnd === "number") {
30280
+ target.pmEnd = target.pmEnd == null ? range.pmEnd : Math.max(target.pmEnd, range.pmEnd);
30281
+ }
30282
+ }
30283
+ function computeCellPmRange(cell, cellMeasure, fromLine, toLine) {
30284
+ const range = {};
30285
+ if (!cell || !cellMeasure) return range;
30286
+ const cellBlocks = cell.blocks ?? (cell.paragraph ? [cell.paragraph] : []);
30287
+ const blockMeasures = cellMeasure.blocks ?? (cellMeasure.paragraph ? [cellMeasure.paragraph] : []);
30288
+ const maxBlocks = Math.min(cellBlocks.length, blockMeasures.length);
30289
+ let cumulativeLineCount = 0;
30290
+ for (let i = 0; i < maxBlocks; i++) {
30291
+ const block = cellBlocks[i];
30292
+ const blockMeasure = blockMeasures[i];
30293
+ if (blockMeasure.kind === "paragraph" && block?.kind === "paragraph") {
30294
+ const paraMeasure = blockMeasure;
30295
+ const lines = paraMeasure.lines;
30296
+ const blockLineCount = lines?.length ?? 0;
30297
+ const blockStartGlobal = cumulativeLineCount;
30298
+ const blockEndGlobal = cumulativeLineCount + blockLineCount;
30299
+ const localFrom = Math.max(fromLine, blockStartGlobal) - blockStartGlobal;
30300
+ const localTo = Math.min(toLine, blockEndGlobal) - blockStartGlobal;
30301
+ if (lines && lines.length > 0 && localFrom < localTo) {
30302
+ mergePmRange(range, computeFragmentPmRange(block, lines, localFrom, localTo));
30303
+ } else {
30304
+ mergePmRange(range, extractBlockPmRange(block));
30305
+ }
30306
+ cumulativeLineCount += blockLineCount;
30307
+ continue;
30308
+ }
30309
+ mergePmRange(range, extractBlockPmRange(block));
30310
+ }
30311
+ return range;
30312
+ }
30313
+ function computeTableFragmentPmRange(block, measure, fromRow, toRow, partialRow) {
30314
+ const range = {};
30315
+ for (let rowIndex = fromRow; rowIndex < toRow; rowIndex++) {
30316
+ const row = block.rows[rowIndex];
30317
+ const rowMeasure = measure.rows[rowIndex];
30318
+ if (!row || !rowMeasure) continue;
30319
+ const isPartial = partialRow?.rowIndex === rowIndex;
30320
+ const cellCount = Math.min(row.cells.length, rowMeasure.cells.length);
30321
+ for (let cellIndex = 0; cellIndex < cellCount; cellIndex++) {
30322
+ const cell = row.cells[cellIndex];
30323
+ const cellMeasure = rowMeasure.cells[cellIndex];
30324
+ if (!cell || !cellMeasure) continue;
30325
+ const totalLines = getCellTotalLines(cellMeasure);
30326
+ let fromLine = 0;
30327
+ let toLine = totalLines;
30328
+ if (isPartial) {
30329
+ const hasValidFromLineByCell = partialRow?.fromLineByCell && cellIndex < partialRow.fromLineByCell.length;
30330
+ const hasValidToLineByCell = partialRow?.toLineByCell && cellIndex < partialRow.toLineByCell.length;
30331
+ if (hasValidFromLineByCell) {
30332
+ const rawFrom = partialRow.fromLineByCell[cellIndex];
30333
+ if (typeof rawFrom === "number" && rawFrom >= 0) {
30334
+ fromLine = rawFrom;
30335
+ }
30336
+ }
30337
+ if (hasValidToLineByCell) {
30338
+ const rawTo = partialRow.toLineByCell[cellIndex];
30339
+ if (typeof rawTo === "number") {
30340
+ toLine = rawTo === -1 ? totalLines : rawTo;
30341
+ }
30342
+ }
30343
+ }
30344
+ fromLine = Math.max(0, Math.min(fromLine, totalLines));
30345
+ toLine = Math.max(0, Math.min(toLine, totalLines));
30346
+ if (toLine < fromLine) {
30347
+ toLine = fromLine;
30348
+ }
30349
+ mergePmRange(range, computeCellPmRange(cell, cellMeasure, fromLine, toLine));
30350
+ }
30351
+ }
30352
+ return range;
30353
+ }
30354
+ function applyTableFragmentPmRange(fragment, block, measure) {
30355
+ const range = computeTableFragmentPmRange(block, measure, fragment.fromRow, fragment.toRow, fragment.partialRow);
30356
+ if (range.pmStart != null) {
30357
+ fragment.pmStart = range.pmStart;
30358
+ }
30359
+ if (range.pmEnd != null) {
30360
+ fragment.pmEnd = range.pmEnd;
30361
+ }
30362
+ }
30272
30363
  function computePartialRow(rowIndex, blockRow, measure, availableHeight, fromLineByCell) {
30273
30364
  const row = measure.rows[rowIndex];
30274
30365
  if (!row) {
@@ -30413,6 +30504,7 @@ function layoutMonolithicTable(context) {
30413
30504
  height,
30414
30505
  metadata
30415
30506
  };
30507
+ applyTableFragmentPmRange(fragment, context.block, context.measure);
30416
30508
  state.page.fragments.push(fragment);
30417
30509
  state.cursorY += height;
30418
30510
  }
@@ -30491,6 +30583,7 @@ function layoutTableBlock({
30491
30583
  height,
30492
30584
  metadata
30493
30585
  };
30586
+ applyTableFragmentPmRange(fragment, block, measure);
30494
30587
  state.page.fragments.push(fragment);
30495
30588
  state.cursorY += height;
30496
30589
  return;
@@ -30554,6 +30647,7 @@ function layoutTableBlock({
30554
30647
  partialRow: continuationPartialRow,
30555
30648
  metadata: generateFragmentMetadata(measure)
30556
30649
  };
30650
+ applyTableFragmentPmRange(fragment2, block, measure);
30557
30651
  state.page.fragments.push(fragment2);
30558
30652
  state.cursorY += fragmentHeight2;
30559
30653
  }
@@ -30598,6 +30692,7 @@ function layoutTableBlock({
30598
30692
  partialRow: forcedPartialRow,
30599
30693
  metadata: generateFragmentMetadata(measure)
30600
30694
  };
30695
+ applyTableFragmentPmRange(fragment2, block, measure);
30601
30696
  state.page.fragments.push(fragment2);
30602
30697
  state.cursorY += fragmentHeight2;
30603
30698
  pendingPartialRow = forcedPartialRow;
@@ -30633,6 +30728,7 @@ function layoutTableBlock({
30633
30728
  partialRow: partialRow || void 0,
30634
30729
  metadata: generateFragmentMetadata(measure)
30635
30730
  };
30731
+ applyTableFragmentPmRange(fragment, block, measure);
30636
30732
  state.page.fragments.push(fragment);
30637
30733
  state.cursorY += fragmentHeight;
30638
30734
  if (partialRow && !partialRow.isLastPart) {
@@ -30650,7 +30746,7 @@ function createAnchoredTableFragment(block, measure, x, y) {
30650
30746
  columnBoundaries: generateColumnBoundaries(measure),
30651
30747
  coordinateSystem: "fragment"
30652
30748
  };
30653
- return {
30749
+ const fragment = {
30654
30750
  kind: "table",
30655
30751
  blockId: block.id,
30656
30752
  fromRow: 0,
@@ -30661,6 +30757,8 @@ function createAnchoredTableFragment(block, measure, x, y) {
30661
30757
  height: measure.totalHeight ?? 0,
30662
30758
  metadata
30663
30759
  };
30760
+ applyTableFragmentPmRange(fragment, block, measure);
30761
+ return fragment;
30664
30762
  }
30665
30763
  function isPageRelativeAnchor(block) {
30666
30764
  const vRelativeFrom = block.anchor?.vRelativeFrom;
@@ -33120,7 +33218,8 @@ const getNextTabStopPx$1 = (currentX, tabStops, startIndex) => {
33120
33218
  function measureRunSliceWidth(run, fromChar, toChar) {
33121
33219
  const context = getCtx();
33122
33220
  const fullText = runText(run);
33123
- const text = applyTextTransform$1(fullText.slice(fromChar, toChar), run.textTransform, fullText, fromChar);
33221
+ const transform = isTextRun$2(run) ? run.textTransform : void 0;
33222
+ const text = applyTextTransform$1(fullText.slice(fromChar, toChar), transform, fullText, fromChar);
33124
33223
  if (!context) {
33125
33224
  const textRun = isTextRun$2(run) ? run : null;
33126
33225
  const size2 = textRun?.fontSize ?? 16;
@@ -36490,14 +36589,15 @@ function getAtomNodeTypes(schema) {
36490
36589
  if (!schema) return [];
36491
36590
  const types = [];
36492
36591
  try {
36493
- schema.nodes.forEach((nodeType, name) => {
36592
+ for (const name in schema.nodes) {
36494
36593
  if (name === "text") {
36495
- return;
36594
+ continue;
36496
36595
  }
36497
- if (nodeType.isAtom || nodeType.isLeaf) {
36596
+ const nodeType = schema.nodes[name];
36597
+ if (nodeType && (nodeType.isAtom || nodeType.isLeaf)) {
36498
36598
  types.push(name);
36499
36599
  }
36500
- });
36600
+ }
36501
36601
  } catch {
36502
36602
  return [];
36503
36603
  }
@@ -47511,7 +47611,7 @@ const capitalizeText = (text, fullText, startOffset) => {
47511
47611
  return result;
47512
47612
  };
47513
47613
  const applyTextTransform = (text, run, startOffset) => {
47514
- const transform = run.textTransform;
47614
+ const transform = "textTransform" in run ? run.textTransform : void 0;
47515
47615
  if (!text || !transform || transform === "none") return text;
47516
47616
  if (transform === "uppercase") return text.toUpperCase();
47517
47617
  if (transform === "lowercase") return text.toLowerCase();
@@ -47850,6 +47950,9 @@ const _PresentationEditor = class _PresentationEditor extends EventEmitter {
47850
47950
  if (event.button !== 0) {
47851
47951
  return;
47852
47952
  }
47953
+ if (event.ctrlKey && navigator.platform.includes("Mac")) {
47954
+ return;
47955
+ }
47853
47956
  __privateSet(this, _pendingMarginClick, null);
47854
47957
  const target = event.target;
47855
47958
  if (target?.closest?.(".superdoc-ruler-handle") != null) {
@@ -53775,6 +53878,8 @@ const SlashMenu = Extension.create({
53775
53878
  const cbRect = containingBlock.getBoundingClientRect();
53776
53879
  left2 -= cbRect.left;
53777
53880
  top2 -= cbRect.top;
53881
+ left2 += containingBlock.scrollLeft || 0;
53882
+ top2 += containingBlock.scrollTop || 0;
53778
53883
  } catch (error) {
53779
53884
  console.warn("SlashMenu: Failed to adjust for containing block", error);
53780
53885
  }
@@ -1,4 +1,4 @@
1
- import { aK as getDefaultExportFromCjs } from "./converter-Bd6dIe0l.js";
1
+ import { aK as getDefaultExportFromCjs } from "./converter-CH2eG52x.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 { ref, readonly, watch, computed, getCurrentInstance, onMounted, onBeforeUnmount, reactive, onBeforeMount, inject, onActivated, onDeactivated, createTextVNode, Fragment, Comment, defineComponent, provide, withDirectives, h, Teleport, toRef, nextTick, renderSlot, isVNode, shallowRef, watchEffect, mergeProps, Transition, vShow, cloneVNode, Text, markRaw, createElementBlock, openBlock, createElementVNode, createCommentVNode, normalizeClass, normalizeStyle, withKeys, unref, withModifiers, createBlock, toDisplayString, vModelText, createVNode, renderList, withCtx } from "vue";
2
- import { p as process$1 } from "./converter-Bd6dIe0l.js";
3
- import { g as global$1, _ as _export_sfc, u as useHighContrastMode } from "./editor-C3sjGwAb.js";
2
+ import { p as process$1 } from "./converter-CH2eG52x.js";
3
+ import { g as global$1, _ as _export_sfc, u as useHighContrastMode } from "./editor-Du7p05wU.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-Bd6dIe0l.js";
1
+ import { ac } from "./chunks/converter-CH2eG52x.js";
2
2
  export {
3
3
  ac as SuperConverter
4
4
  };
@@ -1,5 +1,5 @@
1
- import "./chunks/converter-Bd6dIe0l.js";
2
- import { D } from "./chunks/docx-zipper-Dzdi5pfi.js";
1
+ import "./chunks/converter-CH2eG52x.js";
2
+ import { D } from "./chunks/docx-zipper-JJRnWzI6.js";
3
3
  export {
4
4
  D as default
5
5
  };
@@ -1,6 +1,6 @@
1
- import { E } from "./chunks/editor-C3sjGwAb.js";
2
- import "./chunks/converter-Bd6dIe0l.js";
3
- import "./chunks/docx-zipper-Dzdi5pfi.js";
1
+ import { E } from "./chunks/editor-Du7p05wU.js";
2
+ import "./chunks/converter-CH2eG52x.js";
3
+ import "./chunks/docx-zipper-JJRnWzI6.js";
4
4
  export {
5
5
  E as Editor
6
6
  };
@@ -1,4 +1,4 @@
1
- import { J as JSZip } from "./chunks/docx-zipper-Dzdi5pfi.js";
1
+ import { J as JSZip } from "./chunks/docx-zipper-JJRnWzI6.js";
2
2
  async function createZip(blobs, fileNames) {
3
3
  const zip = new JSZip();
4
4
  blobs.forEach((blob, index) => {
@@ -1957,10 +1957,10 @@ https://github.com/ProseMirror/prosemirror-tables/blob/master/demo/index.html
1957
1957
  box-shadow: 0 0 4px rgba(74, 144, 226, 0.5);
1958
1958
  }
1959
1959
 
1960
- .editor-element[data-v-209a1e8b] {
1960
+ .editor-element[data-v-c9a3c876] {
1961
1961
  position: relative;
1962
1962
  }
1963
- .super-editor-container[data-v-209a1e8b] {
1963
+ .super-editor-container[data-v-c9a3c876] {
1964
1964
  width: auto;
1965
1965
  height: auto;
1966
1966
  min-width: 8in;
@@ -1969,14 +1969,14 @@ https://github.com/ProseMirror/prosemirror-tables/blob/master/demo/index.html
1969
1969
  display: flex;
1970
1970
  flex-direction: column;
1971
1971
  }
1972
- .ruler[data-v-209a1e8b] {
1972
+ .ruler[data-v-c9a3c876] {
1973
1973
  margin-bottom: 2px;
1974
1974
  }
1975
- .super-editor[data-v-209a1e8b] {
1975
+ .super-editor[data-v-c9a3c876] {
1976
1976
  color: initial;
1977
1977
  overflow: hidden;
1978
1978
  }
1979
- .placeholder-editor[data-v-209a1e8b] {
1979
+ .placeholder-editor[data-v-c9a3c876] {
1980
1980
  position: absolute;
1981
1981
  top: 0;
1982
1982
  left: 0;
@@ -1988,7 +1988,7 @@ https://github.com/ProseMirror/prosemirror-tables/blob/master/demo/index.html
1988
1988
  background-color: white;
1989
1989
  box-sizing: border-box;
1990
1990
  }
1991
- .placeholder-title[data-v-209a1e8b] {
1991
+ .placeholder-title[data-v-c9a3c876] {
1992
1992
  display: flex;
1993
1993
  justify-content: center;
1994
1994
  margin-bottom: 40px;
@@ -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 { aK as getDefaultExportFromCjs, a0 as v4, T as TextSelection$1, v as getMarkRange, aN as vClickOutside, aO as getActiveFormatting, aD as isInTable, O as findParentNode, at as calculateResolvedParagraphProperties, a7 as twipsToLines, Q as isList, an as parseSizeUnit, a8 as pixelsToTwips, aP as getFileObject, P as PluginKey, a as Plugin } from "./chunks/converter-Bd6dIe0l.js";
13
- import { ac, i, a9, aQ } from "./chunks/converter-Bd6dIe0l.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 SLASH_MENU_HANDLED_FLAG, m as SlashMenuPluginKey, s as shouldBypassContextMenu, n as generateRulerDefinition, o as clampHandlePosition, p as calculateMarginFromHandle, q as measureCache, t as isHeadless, E as Editor, v as getStarterExtensions, P as PresentationEditor, w as Placeholder, x as getRichTextExtensions, D as DecorationSet, z as Decoration, M as Mark, A as Extension, B as Attribute, N as Node } from "./chunks/editor-C3sjGwAb.js";
15
- import { G, J, H, T, C, I, F } from "./chunks/editor-C3sjGwAb.js";
12
+ import { aK as getDefaultExportFromCjs, a0 as v4, T as TextSelection$1, v as getMarkRange, aN as vClickOutside, aO as getActiveFormatting, aD as isInTable, O as findParentNode, at as calculateResolvedParagraphProperties, a7 as twipsToLines, Q as isList, an as parseSizeUnit, W as isMacOS, a8 as pixelsToTwips, aP as getFileObject, P as PluginKey, a as Plugin } from "./chunks/converter-CH2eG52x.js";
13
+ import { ac, i, a9, aQ } from "./chunks/converter-CH2eG52x.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 SLASH_MENU_HANDLED_FLAG, m as SlashMenuPluginKey, s as shouldBypassContextMenu, n as generateRulerDefinition, o as clampHandlePosition, p as calculateMarginFromHandle, q as measureCache, t as isHeadless, E as Editor, v as getStarterExtensions, P as PresentationEditor, w as Placeholder, x as getRichTextExtensions, D as DecorationSet, z as Decoration, M as Mark, A as Extension, B as Attribute, N as Node } from "./chunks/editor-Du7p05wU.js";
15
+ import { G, J, H, T, C, I, F } from "./chunks/editor-Du7p05wU.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, useCssVars, shallowRef, createBlock, Teleport, 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-Bn20lflQ.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-unNlfpEL.js";
18
18
  import AIWriter from "./ai-writer.es.js";
19
- import { D } from "./chunks/docx-zipper-Dzdi5pfi.js";
19
+ import { D } from "./chunks/docx-zipper-JJRnWzI6.js";
20
20
  import { createZip } from "./file-zipper.es.js";
21
21
  var eventemitter3 = { exports: {} };
22
22
  var hasRequiredEventemitter3;
@@ -4294,7 +4294,7 @@ const _sfc_main$8 = {
4294
4294
  if (open) {
4295
4295
  nextTick(() => {
4296
4296
  if (searchInput.value) {
4297
- searchInput.value.focus();
4297
+ searchInput.value.focus({ preventScroll: true });
4298
4298
  }
4299
4299
  });
4300
4300
  }
@@ -4399,7 +4399,11 @@ const _sfc_main$8 = {
4399
4399
  };
4400
4400
  const handleGlobalOutsideClick = (event) => {
4401
4401
  if (isOpen.value && menuRef.value && !menuRef.value.contains(event.target)) {
4402
- moveCursorToMouseEvent(event, props.editor);
4402
+ const isCtrlClickOnMac = event.ctrlKey && isMacOS();
4403
+ const isLeftClick = event.button === 0 && !isCtrlClickOnMac;
4404
+ if (isLeftClick) {
4405
+ moveCursorToMouseEvent(event, props.editor);
4406
+ }
4403
4407
  closeMenu({ restoreCursor: false });
4404
4408
  }
4405
4409
  };
@@ -6521,6 +6525,12 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
6521
6525
  if (props.options?.suppressSkeletonLoader || !props.options?.collaborationProvider) editorReady.value = true;
6522
6526
  });
6523
6527
  const handleMarginClick = (event) => {
6528
+ if (event.button !== 0) {
6529
+ return;
6530
+ }
6531
+ if (event.ctrlKey && isMacOS()) {
6532
+ return;
6533
+ }
6524
6534
  if (event.target.classList.contains("ProseMirror")) return;
6525
6535
  onMarginClickCursorChange(event, activeEditor.value);
6526
6536
  };
@@ -6659,7 +6669,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
6659
6669
  };
6660
6670
  }
6661
6671
  });
6662
- const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-209a1e8b"]]);
6672
+ const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-c9a3c876"]]);
6663
6673
  const _hoisted_1 = ["innerHTML"];
6664
6674
  const _sfc_main = {
6665
6675
  __name: "SuperInput",
@@ -1,6 +1,6 @@
1
1
  import "vue";
2
- import { T } from "./chunks/toolbar-Bn20lflQ.js";
3
- import "./chunks/editor-C3sjGwAb.js";
2
+ import { T } from "./chunks/toolbar-unNlfpEL.js";
3
+ import "./chunks/editor-Du7p05wU.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-BY4paJvP.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-DzolekK0.cjs");
4
4
  require("./chunks/vue-gvuFr0vx.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-B1DZfUz0.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-qnE7-VRy.es.js";
2
2
  import "./chunks/vue-CLFbn_1r.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-BY4paJvP.cjs");
4
- const superdoc = require("./chunks/index-k0xTe_8v.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-DzolekK0.cjs");
4
+ const superdoc = require("./chunks/index-B4QOihiF.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-B1DZfUz0.es.js";
2
- import { D, H, P, S as S2, m, l } from "./chunks/index-CSZ7bAL7.es.js";
1
+ import { a, E, b, S, d, i, j, n, r, p, q } from "./chunks/super-editor.es-qnE7-VRy.es.js";
2
+ import { D, H, P, S as S2, m, l } from "./chunks/index-XOJnODHJ.es.js";
3
3
  import { B } from "./chunks/blank-docx-ABm6XYAA.es.js";
4
4
  export {
5
5
  a as AnnotatorHelpers,