superdoc 1.0.0-beta.36 → 1.0.0-beta.38

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 (35) hide show
  1. package/dist/chunks/{PdfViewer-CfGuHJ-p.es.js → PdfViewer-C3wtcxtt.es.js} +1 -1
  2. package/dist/chunks/{PdfViewer-DIQ-nXKH.cjs → PdfViewer-eK2uz3KN.cjs} +1 -1
  3. package/dist/chunks/{index-BLn5vLXF.cjs → index-B6ZAbj8K.cjs} +46 -5
  4. package/dist/chunks/{index-kd29PSJd-CBaS-fCy.es.js → index-HJCFGaOf-Da1SmPju.es.js} +1 -1
  5. package/dist/chunks/{index-kd29PSJd-Bk0dU0ns.cjs → index-HJCFGaOf-wo6W4NlF.cjs} +1 -1
  6. package/dist/chunks/{index-wiegLl7L.es.js → index-P989Rtaa.es.js} +46 -5
  7. package/dist/chunks/{super-editor.es-DhwC1pbG.cjs → super-editor.es-BDOdam8J.cjs} +31 -9
  8. package/dist/chunks/{super-editor.es-BHvwSpMY.es.js → super-editor.es-Dy6E5wRe.es.js} +31 -9
  9. package/dist/packages/superdoc/src/composables/use-document.d.ts.map +1 -1
  10. package/dist/packages/superdoc/src/core/SuperDoc.d.ts.map +1 -1
  11. package/dist/packages/superdoc/src/core/collaboration/collaboration.d.ts +11 -0
  12. package/dist/packages/superdoc/src/core/collaboration/collaboration.d.ts.map +1 -1
  13. package/dist/packages/superdoc/src/core/types/index.d.ts +64 -1
  14. package/dist/packages/superdoc/src/core/types/index.d.ts.map +1 -1
  15. package/dist/style.css +6 -6
  16. package/dist/super-editor/ai-writer.es.js +2 -2
  17. package/dist/super-editor/chunks/{converter-Do8VG56d.js → converter-8s6gUqqx.js} +1 -1
  18. package/dist/super-editor/chunks/{docx-zipper-C9B58ZJw.js → docx-zipper-B_qYbV4L.js} +1 -1
  19. package/dist/super-editor/chunks/{editor-DYzNNoQ1.js → editor-B1ULvXs3.js} +9 -5
  20. package/dist/super-editor/chunks/{index-kd29PSJd.js → index-HJCFGaOf.js} +1 -1
  21. package/dist/super-editor/chunks/{toolbar-GC9v9xcQ.js → toolbar-h10peB-S.js} +2 -2
  22. package/dist/super-editor/converter.es.js +1 -1
  23. package/dist/super-editor/docx-zipper.es.js +2 -2
  24. package/dist/super-editor/editor.es.js +3 -3
  25. package/dist/super-editor/file-zipper.es.js +1 -1
  26. package/dist/super-editor/style.css +6 -6
  27. package/dist/super-editor/super-editor.es.js +29 -11
  28. package/dist/super-editor/toolbar.es.js +2 -2
  29. package/dist/super-editor.cjs +1 -1
  30. package/dist/super-editor.es.js +1 -1
  31. package/dist/superdoc.cjs +2 -2
  32. package/dist/superdoc.es.js +2 -2
  33. package/dist/superdoc.umd.js +76 -13
  34. package/dist/superdoc.umd.js.map +1 -1
  35. 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, _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, _dragHandlerCleanup, _layoutError, _layoutErrorState, _errorBanner, _errorBannerMessage, _telemetryEmitter, _renderScheduled, _pendingDocChange, _isRerendering, _selectionUpdateScheduled, _remoteCursorUpdateScheduled, _rafHandle, _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, _hoverRegion, _clickCount, _lastClickTime, _lastClickPosition, _lastSelectedImageBlockId, _dragAnchor, _isDragging, _dragExtensionMode, _remoteCursorState, _remoteCursorElements, _remoteCursorDirty, _remoteCursorOverlay, _localSelectionLayer, _awarenessCleanup, _scrollCleanup, _scrollTimeout, _lastRemoteCursorRenderTime, _remoteCursorThrottleTimeout, _PresentationEditor_instances, collectCommentPositions_fn, aggregateLayoutBounds_fn, safeCleanup_fn, setupEditorListeners_fn, setupCollaborationCursors_fn, updateLocalAwarenessCursor_fn, normalizeAwarenessStates_fn, getFallbackColor_fn, getValidatedColor_fn, scheduleRemoteCursorUpdate_fn, scheduleRemoteCursorReRender_fn, updateRemoteCursors_fn, renderRemoteCursors_fn, renderRemoteCaret_fn, renderRemoteCursorLabel_fn, renderRemoteSelection_fn, setupPointerHandlers_fn, setupDragHandlers_fn, setupInputBridge_fn, initHeaderFooterRegistry_fn, _handlePointerDown, getFirstTextPosition_fn, registerPointerClick_fn, selectWordAt_fn, selectParagraphAt_fn, calculateExtendedSelection_fn, isWordCharacter_fn, _handlePointerMove, _handlePointerLeave, _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, 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, createDefaultHeaderFooter_fn, getPageElement_fn, scrollPageIntoView_fn, computeAnchorMap_fn, waitForPageMount_fn, getBodyPageHeight_fn, getHeaderFooterPageHeight_fn, renderSelectionRects_fn, renderHoverRegion_fn, clearHoverRegion_fn, renderCaretOverlay_fn, getHeaderFooterContext_fn, computeHeaderFooterSelectionRects_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, computeCaretLayoutRectFromDOM_fn, computeTableCaretLayoutRect_fn, findLineContainingPos_fn, lineHeightBeforeIndex_fn, getCurrentPageIndex_fn, findRegionForPage_fn, handleLayoutError_fn, decorateError_fn, showLayoutErrorBanner_fn, dismissErrorBanner_fn, createHiddenHost_fn, _windowRoot, _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, _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$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 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 resolveParagraphProperties, ak as _getReferencedTableStyles, al as parseSizeUnit, am as minMax, an as updateDOMAttributes, ao as findChildren$5, ap as generateRandomSigned32BitIntStrId, aq as decodeRPrFromMarks, ar as calculateResolvedParagraphProperties, as as encodeCSSFromPPr, at as twipsToPixels$2, au as resolveRunProperties, av as encodeCSSFromRPr, aw as generateOrderedListIndex, ax as docxNumberingHelpers, ay as InputRule, az as convertSizeToCSS, aA as SelectionRange, aB as Transform, aC as findParentNodeClosestToPos, aD as isInTable$1, aE as generateDocxRandomId, aF as insertNewRelationship, aG as inchesToPixels, aH as kebabCase, aI as getUnderlineCssString } from "./converter-Do8VG56d.js";
16
- import { D as DocxZipper } from "./docx-zipper-C9B58ZJw.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 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 resolveParagraphProperties, ak as _getReferencedTableStyles, al as parseSizeUnit, am as minMax, an as updateDOMAttributes, ao as findChildren$5, ap as generateRandomSigned32BitIntStrId, aq as decodeRPrFromMarks, ar as calculateResolvedParagraphProperties, as as encodeCSSFromPPr, at as twipsToPixels$2, au as resolveRunProperties, av as encodeCSSFromRPr, aw as generateOrderedListIndex, ax as docxNumberingHelpers, ay as InputRule, az as convertSizeToCSS, aA as SelectionRange, aB as Transform, aC as findParentNodeClosestToPos, aD as isInTable$1, aE as generateDocxRandomId, aF as insertNewRelationship, aG as inchesToPixels, aH as kebabCase, aI as getUnderlineCssString } from "./converter-8s6gUqqx.js";
16
+ import { D as DocxZipper } from "./docx-zipper-B_qYbV4L.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() {
@@ -13913,7 +13913,7 @@ const isHeadless = (editor) => {
13913
13913
  const shouldSkipNodeView = (editor) => {
13914
13914
  return isHeadless(editor);
13915
13915
  };
13916
- const summaryVersion = "1.0.0-beta.36";
13916
+ const summaryVersion = "1.0.0-beta.38";
13917
13917
  const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
13918
13918
  const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
13919
13919
  function mapAttributes(attrs) {
@@ -14705,7 +14705,7 @@ const _Editor = class _Editor extends EventEmitter {
14705
14705
  { default: remarkStringify },
14706
14706
  { default: remarkGfm }
14707
14707
  ] = await Promise.all([
14708
- import("./index-kd29PSJd.js"),
14708
+ import("./index-HJCFGaOf.js"),
14709
14709
  import("./index-DRCvimau.js"),
14710
14710
  import("./index-C_x_N6Uh.js"),
14711
14711
  import("./index-D_sWOSiG.js"),
@@ -14910,7 +14910,7 @@ const _Editor = class _Editor extends EventEmitter {
14910
14910
  * Process collaboration migrations
14911
14911
  */
14912
14912
  processCollaborationMigrations() {
14913
- console.debug("[checkVersionMigrations] Current editor version", "1.0.0-beta.36");
14913
+ console.debug("[checkVersionMigrations] Current editor version", "1.0.0-beta.38");
14914
14914
  if (!this.options.ydoc) return;
14915
14915
  const metaMap = this.options.ydoc.getMap("meta");
14916
14916
  let docVersion = metaMap.get("version");
@@ -39921,6 +39921,10 @@ renderRemoteCursors_fn = function() {
39921
39921
  const visibleClientIds = /* @__PURE__ */ new Set();
39922
39922
  sortedCursors.forEach((cursor) => {
39923
39923
  visibleClientIds.add(cursor.clientId);
39924
+ const oldSelections = __privateGet(this, _remoteCursorOverlay)?.querySelectorAll(
39925
+ `.presentation-editor__remote-selection[data-client-id="${cursor.clientId}"]`
39926
+ );
39927
+ oldSelections?.forEach((el) => el.remove());
39924
39928
  if (cursor.anchor === cursor.head) {
39925
39929
  __privateMethod(this, _PresentationEditor_instances, renderRemoteCaret_fn).call(this, cursor);
39926
39930
  } else {
@@ -1,4 +1,4 @@
1
- import { aK as getDefaultExportFromCjs } from "./converter-Do8VG56d.js";
1
+ import { aK as getDefaultExportFromCjs } from "./converter-8s6gUqqx.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, onMounted, onBeforeUnmount, createVNode, readonly, watch, 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-Do8VG56d.js";
3
- import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-DYzNNoQ1.js";
2
+ import { p as process$1 } from "./converter-8s6gUqqx.js";
3
+ import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-B1ULvXs3.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-Do8VG56d.js";
1
+ import { ac } from "./chunks/converter-8s6gUqqx.js";
2
2
  export {
3
3
  ac as SuperConverter
4
4
  };
@@ -1,5 +1,5 @@
1
- import "./chunks/converter-Do8VG56d.js";
2
- import { D } from "./chunks/docx-zipper-C9B58ZJw.js";
1
+ import "./chunks/converter-8s6gUqqx.js";
2
+ import { D } from "./chunks/docx-zipper-B_qYbV4L.js";
3
3
  export {
4
4
  D as default
5
5
  };
@@ -1,6 +1,6 @@
1
- import { E } from "./chunks/editor-DYzNNoQ1.js";
2
- import "./chunks/converter-Do8VG56d.js";
3
- import "./chunks/docx-zipper-C9B58ZJw.js";
1
+ import { E } from "./chunks/editor-B1ULvXs3.js";
2
+ import "./chunks/converter-8s6gUqqx.js";
3
+ import "./chunks/docx-zipper-B_qYbV4L.js";
4
4
  export {
5
5
  E as Editor
6
6
  };
@@ -1,4 +1,4 @@
1
- import { J as JSZip } from "./chunks/docx-zipper-C9B58ZJw.js";
1
+ import { J as JSZip } from "./chunks/docx-zipper-B_qYbV4L.js";
2
2
  async function createZip(blobs, fileNames) {
3
3
  const zip = new JSZip();
4
4
  blobs.forEach((blob, index) => {
@@ -1969,10 +1969,10 @@ https://github.com/ProseMirror/prosemirror-tables/blob/master/demo/index.html
1969
1969
  box-shadow: 0 0 4px rgba(74, 144, 226, 0.5);
1970
1970
  }
1971
1971
 
1972
- .editor-element[data-v-ed5a08ee] {
1972
+ .editor-element[data-v-6cfd3305] {
1973
1973
  position: relative;
1974
1974
  }
1975
- .super-editor-container[data-v-ed5a08ee] {
1975
+ .super-editor-container[data-v-6cfd3305] {
1976
1976
  width: auto;
1977
1977
  height: auto;
1978
1978
  min-width: 8in;
@@ -1981,14 +1981,14 @@ https://github.com/ProseMirror/prosemirror-tables/blob/master/demo/index.html
1981
1981
  display: flex;
1982
1982
  flex-direction: column;
1983
1983
  }
1984
- .ruler[data-v-ed5a08ee] {
1984
+ .ruler[data-v-6cfd3305] {
1985
1985
  margin-bottom: 2px;
1986
1986
  }
1987
- .super-editor[data-v-ed5a08ee] {
1987
+ .super-editor[data-v-6cfd3305] {
1988
1988
  color: initial;
1989
1989
  overflow: hidden;
1990
1990
  }
1991
- .placeholder-editor[data-v-ed5a08ee] {
1991
+ .placeholder-editor[data-v-6cfd3305] {
1992
1992
  position: absolute;
1993
1993
  top: 0;
1994
1994
  left: 0;
@@ -2000,7 +2000,7 @@ https://github.com/ProseMirror/prosemirror-tables/blob/master/demo/index.html
2000
2000
  background-color: white;
2001
2001
  box-sizing: border-box;
2002
2002
  }
2003
- .placeholder-title[data-v-ed5a08ee] {
2003
+ .placeholder-title[data-v-6cfd3305] {
2004
2004
  display: flex;
2005
2005
  justify-content: center;
2006
2006
  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, ar as calculateResolvedParagraphProperties, a7 as twipsToLines, Q as isList, al as parseSizeUnit, a8 as pixelsToTwips, aP as getFileObject, P as PluginKey, a as Plugin } from "./chunks/converter-Do8VG56d.js";
13
- import { ac, i, a9, aQ } from "./chunks/converter-Do8VG56d.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-DYzNNoQ1.js";
15
- import { z, F, B, T, w, C, x } from "./chunks/editor-DYzNNoQ1.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, ar as calculateResolvedParagraphProperties, a7 as twipsToLines, Q as isList, al as parseSizeUnit, a8 as pixelsToTwips, aP as getFileObject, P as PluginKey, a as Plugin } from "./chunks/converter-8s6gUqqx.js";
13
+ import { ac, i, a9, aQ } from "./chunks/converter-8s6gUqqx.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-B1ULvXs3.js";
15
+ import { z, F, B, T, w, C, x } from "./chunks/editor-B1ULvXs3.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, 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-GC9v9xcQ.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-h10peB-S.js";
18
18
  import AIWriter from "./ai-writer.es.js";
19
- import { D } from "./chunks/docx-zipper-C9B58ZJw.js";
19
+ import { D } from "./chunks/docx-zipper-B_qYbV4L.js";
20
20
  import { createZip } from "./file-zipper.es.js";
21
21
  var eventemitter3 = { exports: {} };
22
22
  var hasRequiredEventemitter3;
@@ -6177,11 +6177,29 @@ const _sfc_main$1 = {
6177
6177
  delete props.options.content;
6178
6178
  const ydoc = props.options.ydoc;
6179
6179
  const provider = props.options.collaborationProvider;
6180
- const handleSynced = () => {
6181
- pollForMetaMapData(ydoc);
6182
- provider.off("synced", handleSynced);
6180
+ const waitForSync = () => {
6181
+ if (provider.isSynced || provider.synced) return Promise.resolve();
6182
+ return new Promise((resolve) => {
6183
+ const onSync = (synced) => {
6184
+ if (synced === false) return;
6185
+ provider.off("synced", onSync);
6186
+ provider.off("sync", onSync);
6187
+ resolve();
6188
+ };
6189
+ provider.on("synced", onSync);
6190
+ provider.on("sync", onSync);
6191
+ });
6183
6192
  };
6184
- provider.on("synced", handleSynced);
6193
+ waitForSync().then(async () => {
6194
+ const metaMap = ydoc.getMap("meta");
6195
+ if (metaMap.has("docx")) {
6196
+ pollForMetaMapData(ydoc);
6197
+ } else {
6198
+ props.options.isNewFile = true;
6199
+ const fileData = await loadNewFileData();
6200
+ if (fileData) initEditor(fileData);
6201
+ }
6202
+ });
6185
6203
  }
6186
6204
  };
6187
6205
  const getExtensions = () => getStarterExtensions();
@@ -6407,7 +6425,7 @@ const _sfc_main$1 = {
6407
6425
  };
6408
6426
  }
6409
6427
  };
6410
- const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-ed5a08ee"]]);
6428
+ const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-6cfd3305"]]);
6411
6429
  const _hoisted_1 = ["innerHTML"];
6412
6430
  const _sfc_main = {
6413
6431
  __name: "SuperInput",
@@ -1,6 +1,6 @@
1
1
  import "vue";
2
- import { T } from "./chunks/toolbar-GC9v9xcQ.js";
3
- import "./chunks/editor-DYzNNoQ1.js";
2
+ import { T } from "./chunks/toolbar-h10peB-S.js";
3
+ import "./chunks/editor-B1ULvXs3.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-DhwC1pbG.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-BDOdam8J.cjs");
4
4
  require("./chunks/vue-jWLMl8Ts.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-BHvwSpMY.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-Dy6E5wRe.es.js";
2
2
  import "./chunks/vue-Dysv_7z5.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-DhwC1pbG.cjs");
4
- const superdoc = require("./chunks/index-BLn5vLXF.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-BDOdam8J.cjs");
4
+ const superdoc = require("./chunks/index-B6ZAbj8K.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-BHvwSpMY.es.js";
2
- import { D, H, P, S as S2, m, l } from "./chunks/index-wiegLl7L.es.js";
1
+ import { a, E, b, S, d, i, j, n, r, p, q } from "./chunks/super-editor.es-Dy6E5wRe.es.js";
2
+ import { D, H, P, S as S2, m, l } from "./chunks/index-P989Rtaa.es.js";
3
3
  import { B } from "./chunks/blank-docx-ABm6XYAA.es.js";
4
4
  export {
5
5
  a as AnnotatorHelpers,
@@ -41859,7 +41859,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
41859
41859
  static getStoredSuperdocVersion(docx) {
41860
41860
  return _SuperConverter2.getStoredCustomProperty(docx, "SuperdocVersion");
41861
41861
  }
41862
- static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "1.0.0-beta.36") {
41862
+ static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "1.0.0-beta.38") {
41863
41863
  return _SuperConverter2.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
41864
41864
  }
41865
41865
  /**
@@ -66889,7 +66889,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
66889
66889
  const shouldSkipNodeView = (editor) => {
66890
66890
  return isHeadless(editor);
66891
66891
  };
66892
- const summaryVersion = "1.0.0-beta.36";
66892
+ const summaryVersion = "1.0.0-beta.38";
66893
66893
  const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
66894
66894
  const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
66895
66895
  function mapAttributes(attrs) {
@@ -67678,7 +67678,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
67678
67678
  { default: remarkStringify2 },
67679
67679
  { default: remarkGfm2 }
67680
67680
  ] = await Promise.all([
67681
- Promise.resolve().then(() => indexKd29PSJd),
67681
+ Promise.resolve().then(() => indexHJCFGaOf),
67682
67682
  Promise.resolve().then(() => indexDRCvimau),
67683
67683
  Promise.resolve().then(() => indexC_x_N6Uh),
67684
67684
  Promise.resolve().then(() => indexD_sWOSiG),
@@ -67883,7 +67883,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
67883
67883
  * Process collaboration migrations
67884
67884
  */
67885
67885
  processCollaborationMigrations() {
67886
- console.debug("[checkVersionMigrations] Current editor version", "1.0.0-beta.36");
67886
+ console.debug("[checkVersionMigrations] Current editor version", "1.0.0-beta.38");
67887
67887
  if (!this.options.ydoc) return;
67888
67888
  const metaMap = this.options.ydoc.getMap("meta");
67889
67889
  let docVersion = metaMap.get("version");
@@ -92530,6 +92530,10 @@ ${l}
92530
92530
  const visibleClientIds = /* @__PURE__ */ new Set();
92531
92531
  sortedCursors.forEach((cursor) => {
92532
92532
  visibleClientIds.add(cursor.clientId);
92533
+ const oldSelections = __privateGet$1(this, _remoteCursorOverlay)?.querySelectorAll(
92534
+ `.presentation-editor__remote-selection[data-client-id="${cursor.clientId}"]`
92535
+ );
92536
+ oldSelections?.forEach((el) => el.remove());
92533
92537
  if (cursor.anchor === cursor.head) {
92534
92538
  __privateMethod$1(this, _PresentationEditor_instances, renderRemoteCaret_fn).call(this, cursor);
92535
92539
  } else {
@@ -130384,11 +130388,29 @@ ${style2}
130384
130388
  delete props.options.content;
130385
130389
  const ydoc = props.options.ydoc;
130386
130390
  const provider2 = props.options.collaborationProvider;
130387
- const handleSynced = () => {
130388
- pollForMetaMapData(ydoc);
130389
- provider2.off("synced", handleSynced);
130391
+ const waitForSync = () => {
130392
+ if (provider2.isSynced || provider2.synced) return Promise.resolve();
130393
+ return new Promise((resolve2) => {
130394
+ const onSync = (synced) => {
130395
+ if (synced === false) return;
130396
+ provider2.off("synced", onSync);
130397
+ provider2.off("sync", onSync);
130398
+ resolve2();
130399
+ };
130400
+ provider2.on("synced", onSync);
130401
+ provider2.on("sync", onSync);
130402
+ });
130390
130403
  };
130391
- provider2.on("synced", handleSynced);
130404
+ waitForSync().then(async () => {
130405
+ const metaMap = ydoc.getMap("meta");
130406
+ if (metaMap.has("docx")) {
130407
+ pollForMetaMapData(ydoc);
130408
+ } else {
130409
+ props.options.isNewFile = true;
130410
+ const fileData = await loadNewFileData();
130411
+ if (fileData) initEditor(fileData);
130412
+ }
130413
+ });
130392
130414
  }
130393
130415
  };
130394
130416
  const getExtensions = () => getStarterExtensions();
@@ -130614,7 +130636,7 @@ ${style2}
130614
130636
  };
130615
130637
  }
130616
130638
  };
130617
- const SuperEditor = /* @__PURE__ */ _export_sfc$1(_sfc_main$1$1, [["__scopeId", "data-v-ed5a08ee"]]);
130639
+ const SuperEditor = /* @__PURE__ */ _export_sfc$1(_sfc_main$1$1, [["__scopeId", "data-v-6cfd3305"]]);
130618
130640
  const _hoisted_1$h = ["innerHTML"];
130619
130641
  const _sfc_main$i = {
130620
130642
  __name: "SuperInput",
@@ -132761,6 +132783,9 @@ ${reason}`);
132761
132783
  context.emit("awareness-update", payload);
132762
132784
  }
132763
132785
  function createProvider({ config: config2, user, documentId, socket, superdocInstance }) {
132786
+ console.warn(
132787
+ "[superdoc] Internal provider creation is deprecated. Pass { ydoc, provider } to modules.collaboration instead."
132788
+ );
132764
132789
  if (!config2.providerType) config2.providerType = "superdoc";
132765
132790
  const providers = {
132766
132791
  hocuspocus: () => createHocuspocusProvider({ config: config2, user, documentId, socket, superdocInstance }),
@@ -132817,6 +132842,22 @@ ${reason}`);
132817
132842
  const onDestroy = (superdocInstance, documentId) => {
132818
132843
  console.warn("🔌 [superdoc] Destroyed", documentId);
132819
132844
  };
132845
+ function setupAwarenessHandler(provider2, superdocInstance, user) {
132846
+ const awareness = provider2.awareness;
132847
+ if (!awareness) {
132848
+ console.warn("[superdoc] External provider missing awareness property");
132849
+ return;
132850
+ }
132851
+ if (user && awareness.setLocalStateField) {
132852
+ awareness.setLocalStateField("user", user);
132853
+ }
132854
+ awareness.on("change", (changes = {}) => {
132855
+ awarenessHandler(superdocInstance, {
132856
+ changes,
132857
+ states: awareness.getStates()
132858
+ });
132859
+ });
132860
+ }
132820
132861
  const addYComment = (yArray, ydoc, event) => {
132821
132862
  const { comment: comment2 } = event;
132822
132863
  const yComment = new Y.Map(Object.entries(comment2));
@@ -133181,8 +133222,8 @@ ${reason}`);
133181
133222
  const getPresentationEditor = () => presentationEditorRef.value;
133182
133223
  function initDocumentType({ type: type3, data: data2 }) {
133183
133224
  if (data2?.type) return data2.type;
133184
- if (type3) return type3 in documentTypes ? documentTypes[type3] : null;
133185
- throw new Error("Document type not specified for doc:", params2);
133225
+ if (type3) return documentTypes[type3] || type3;
133226
+ throw new Error("Document type not specified");
133186
133227
  }
133187
133228
  const removeComments = () => {
133188
133229
  conversationsBackup.value = conversations.value;
@@ -147786,7 +147827,7 @@ ${style2}
147786
147827
  this.config.colors = shuffleArray(this.config.colors);
147787
147828
  this.userColorMap = /* @__PURE__ */ new Map();
147788
147829
  this.colorIndex = 0;
147789
- this.version = "1.0.0-beta.36";
147830
+ this.version = "1.0.0-beta.38";
147790
147831
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
147791
147832
  this.superdocId = config2.superdocId || v4();
147792
147833
  this.colors = this.config.colors;
@@ -147947,6 +147988,28 @@ ${style2}
147947
147988
  async #initCollaboration({ collaboration: collaborationModuleConfig, comments: commentsConfig = {} } = {}) {
147948
147989
  if (!collaborationModuleConfig) return this.config.documents;
147949
147990
  this.isCollaborative = true;
147991
+ const { ydoc: externalYdoc, provider: externalProvider } = collaborationModuleConfig;
147992
+ if (externalYdoc && externalProvider) {
147993
+ this.ydoc = externalYdoc;
147994
+ this.provider = externalProvider;
147995
+ setupAwarenessHandler(externalProvider, this, this.config.user);
147996
+ if (!this.config.documents || this.config.documents.length === 0) {
147997
+ this.config.documents = [
147998
+ {
147999
+ id: v4(),
148000
+ type: DOCX,
148001
+ name: "document.docx"
148002
+ }
148003
+ ];
148004
+ }
148005
+ this.config.documents.forEach((doc2) => {
148006
+ doc2.ydoc = externalYdoc;
148007
+ doc2.provider = externalProvider;
148008
+ doc2.role = this.config.role;
148009
+ });
148010
+ initCollaborationComments(this);
148011
+ return this.config.documents;
148012
+ }
147950
148013
  if (collaborationModuleConfig.providerType === "hocuspocus") {
147951
148014
  this.config.socket = new provider.HocuspocusProviderWebsocket({
147952
148015
  url: collaborationModuleConfig.url
@@ -150230,7 +150293,7 @@ ${style2}
150230
150293
  value && typeof value === "object" && "byteLength" in value && "byteOffset" in value
150231
150294
  );
150232
150295
  }
150233
- const indexKd29PSJd = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
150296
+ const indexHJCFGaOf = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
150234
150297
  __proto__: null,
150235
150298
  unified
150236
150299
  }, Symbol.toStringTag, { value: "Module" }));