@harbour-enterprises/superdoc 2.0.0-next.15 → 2.0.0-next.17

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-BmTqUXHe.es.js → PdfViewer-CQRzCu-2.es.js} +1 -1
  2. package/dist/chunks/{PdfViewer-DK5jEu1K.cjs → PdfViewer-DzwDI5pf.cjs} +1 -1
  3. package/dist/chunks/{index-DgGQUbNh-xpdP4M-B.cjs → index-BIDjlQex-7L6nX-aN.cjs} +1 -1
  4. package/dist/chunks/{index-DgGQUbNh-_ef55vRc.es.js → index-BIDjlQex-Bf32sv6E.es.js} +1 -1
  5. package/dist/chunks/{index-B14ZiJ2S.cjs → index-DvMw-ZFq.cjs} +3 -3
  6. package/dist/chunks/{index-nxK0aRdv.es.js → index-uhbxSA5H.es.js} +3 -3
  7. package/dist/chunks/{super-editor.es-DL9CVTke.cjs → super-editor.es-CIwVIlJ4.cjs} +57 -43
  8. package/dist/chunks/{super-editor.es-Ds9GHHHL.es.js → super-editor.es-CLsxHJfr.es.js} +57 -43
  9. package/dist/super-editor/ai-writer.es.js +2 -2
  10. package/dist/super-editor/chunks/{converter-BvxISp2B.js → converter-l4nIp7kP.js} +5 -5
  11. package/dist/super-editor/chunks/{docx-zipper-BuXfTs6z.js → docx-zipper-irtnwkO1.js} +1 -1
  12. package/dist/super-editor/chunks/{editor-Bgi8FGSM.js → editor-B9mTHCNJ.js} +58 -44
  13. package/dist/super-editor/chunks/{index-DgGQUbNh.js → index-BIDjlQex.js} +1 -1
  14. package/dist/super-editor/chunks/{toolbar-C5SxMMRv.js → toolbar-Dxai0J4e.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 +59 -45
  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 _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-BvxISp2B.js";
16
- import { D as DocxZipper } from "./docx-zipper-BuXfTs6z.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 objectIncludes, a4 as AddMarkStep, a5 as RemoveMarkStep, a6 as findMark, 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-l4nIp7kP.js";
16
+ import { D as DocxZipper } from "./docx-zipper-irtnwkO1.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() {
@@ -11859,6 +11859,9 @@ const findMarkPosition = (doc2, pos, markName) => {
11859
11859
  return null;
11860
11860
  }
11861
11861
  const actualMark = start2.node.marks.find((mark) => mark.type.name === markName);
11862
+ if (!actualMark) {
11863
+ return null;
11864
+ }
11862
11865
  let startIndex = $pos.index();
11863
11866
  let startPos = $pos.start() + start2.offset;
11864
11867
  while (startIndex > 0 && actualMark.isInSet(parent.child(startIndex - 1).marks)) {
@@ -13011,47 +13014,58 @@ function findRangeById(doc2, id) {
13011
13014
  return from2 !== null && to !== null ? { from: from2, to } : null;
13012
13015
  }
13013
13016
  const replaceStep = ({ state, tr, step, newTr, map: map2, user, date, originalStep, originalStepIndex }) => {
13014
- const deletionMarkSchema = state.schema.marks[TrackDeleteMarkName$1];
13015
- const deletionMark = findMark(state, deletionMarkSchema, false);
13016
- const positionTo = deletionMark ? deletionMark.to : step.to;
13017
- const newStep = new ReplaceStep(
13018
- positionTo,
13019
- // We insert all the same steps, but with "from"/"to" both set to "to" in order not to delete content. Mapped as needed.
13020
- positionTo,
13021
- step.slice,
13022
- step.structure
13023
- );
13024
- const invertStep = originalStep.invert(tr.docs[originalStepIndex]).map(map2);
13025
- map2.appendMap(invertStep.getMap());
13026
- const meta = {};
13027
- if (newStep) {
13028
- const trTemp = state.apply(newTr).tr;
13029
- if (trTemp.maybeStep(newStep).failed) {
13030
- return;
13031
- }
13032
- const mappedNewStepTo = newStep.getMap().map(newStep.to);
13033
- const insertedMark = markInsertion({
13034
- tr: trTemp,
13035
- from: newStep.from,
13036
- to: mappedNewStepTo,
13037
- user,
13038
- date
13039
- });
13040
- const condensedStep = new ReplaceStep(newStep.from, newStep.to, trTemp.doc.slice(newStep.from, mappedNewStepTo));
13041
- newTr.step(condensedStep);
13042
- const mirrorIndex = map2.maps.length - 1;
13043
- map2.appendMap(condensedStep.getMap(), mirrorIndex);
13044
- if (newStep.from !== mappedNewStepTo) {
13045
- meta.insertedMark = insertedMark;
13046
- meta.step = condensedStep;
13017
+ const trTemp = state.apply(newTr).tr;
13018
+ let positionTo = step.to;
13019
+ const probePos = Math.max(step.from, step.to - 1);
13020
+ const deletionSpan = findMarkPosition(trTemp.doc, probePos, TrackDeleteMarkName$1);
13021
+ if (deletionSpan && deletionSpan.to > positionTo) {
13022
+ positionTo = deletionSpan.to;
13023
+ }
13024
+ const tryInsert = (slice2) => {
13025
+ const insertionStep = new ReplaceStep(positionTo, positionTo, slice2, false);
13026
+ if (trTemp.maybeStep(insertionStep).failed) return null;
13027
+ return {
13028
+ insertedFrom: insertionStep.from,
13029
+ insertedTo: insertionStep.getMap().map(insertionStep.to, 1)
13030
+ };
13031
+ };
13032
+ const insertion = tryInsert(step.slice) || tryInsert(Slice.maxOpen(step.slice.content, true));
13033
+ if (!insertion) {
13034
+ if (!newTr.maybeStep(step).failed) {
13035
+ map2.appendMap(step.getMap());
13047
13036
  }
13048
- if (!newTr.selection.eq(trTemp.selection)) {
13049
- newTr.setSelection(trTemp.selection);
13037
+ return;
13038
+ }
13039
+ const meta = {};
13040
+ const insertedMark = markInsertion({
13041
+ tr: trTemp,
13042
+ from: insertion.insertedFrom,
13043
+ to: insertion.insertedTo,
13044
+ user,
13045
+ date
13046
+ });
13047
+ const trackedInsertedSlice = trTemp.doc.slice(insertion.insertedFrom, insertion.insertedTo);
13048
+ const condensedStep = new ReplaceStep(positionTo, positionTo, trackedInsertedSlice, false);
13049
+ if (newTr.maybeStep(condensedStep).failed) {
13050
+ if (!newTr.maybeStep(step).failed) {
13051
+ map2.appendMap(step.getMap());
13050
13052
  }
13053
+ return;
13054
+ }
13055
+ const invertStep = originalStep.invert(tr.docs[originalStepIndex]).map(map2);
13056
+ map2.appendMap(invertStep.getMap());
13057
+ const mirrorIndex = map2.maps.length - 1;
13058
+ map2.appendMap(condensedStep.getMap(), mirrorIndex);
13059
+ if (insertion.insertedFrom !== insertion.insertedTo) {
13060
+ meta.insertedMark = insertedMark;
13061
+ meta.step = condensedStep;
13062
+ }
13063
+ if (!newTr.selection.eq(trTemp.selection)) {
13064
+ newTr.setSelection(trTemp.selection);
13051
13065
  }
13052
13066
  if (step.from !== step.to) {
13053
13067
  const {
13054
- deletionMark: deletionMark2,
13068
+ deletionMark,
13055
13069
  deletionMap,
13056
13070
  nodes: deletionNodes
13057
13071
  } = markDeletion({
@@ -13063,7 +13077,7 @@ const replaceStep = ({ state, tr, step, newTr, map: map2, user, date, originalSt
13063
13077
  id: meta.insertedMark?.attrs?.id
13064
13078
  });
13065
13079
  meta.deletionNodes = deletionNodes;
13066
- meta.deletionMark = deletionMark2;
13080
+ meta.deletionMark = deletionMark;
13067
13081
  map2.appendMapping(deletionMap);
13068
13082
  }
13069
13083
  newTr.setMeta(TrackChangesBasePluginKey, meta);
@@ -14907,7 +14921,7 @@ const isHeadless = (editor) => {
14907
14921
  const shouldSkipNodeView = (editor) => {
14908
14922
  return isHeadless(editor);
14909
14923
  };
14910
- const summaryVersion = "2.0.0-next.15";
14924
+ const summaryVersion = "2.0.0-next.17";
14911
14925
  const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
14912
14926
  const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
14913
14927
  function mapAttributes(attrs) {
@@ -15699,7 +15713,7 @@ const _Editor = class _Editor extends EventEmitter {
15699
15713
  { default: remarkStringify },
15700
15714
  { default: remarkGfm }
15701
15715
  ] = await Promise.all([
15702
- import("./index-DgGQUbNh.js"),
15716
+ import("./index-BIDjlQex.js"),
15703
15717
  import("./index-DRCvimau.js"),
15704
15718
  import("./index-C_x_N6Uh.js"),
15705
15719
  import("./index-D_sWOSiG.js"),
@@ -15904,7 +15918,7 @@ const _Editor = class _Editor extends EventEmitter {
15904
15918
  * Process collaboration migrations
15905
15919
  */
15906
15920
  processCollaborationMigrations() {
15907
- console.debug("[checkVersionMigrations] Current editor version", "2.0.0-next.15");
15921
+ console.debug("[checkVersionMigrations] Current editor version", "2.0.0-next.17");
15908
15922
  if (!this.options.ydoc) return;
15909
15923
  const metaMap = this.options.ydoc.getMap("meta");
15910
15924
  let docVersion = metaMap.get("version");
@@ -70024,7 +70038,7 @@ const nodeResizer = (nodeNames = ["image"], editor) => {
70024
70038
  document.addEventListener("mousedown", globalMousedownHandler);
70025
70039
  scrollHandler = () => {
70026
70040
  if (currentWrapper && resizeContainer) {
70027
- updateHandlePositions(currentWrapper.firstElementChild);
70041
+ updateHandlePositions(currentWrapper);
70028
70042
  }
70029
70043
  };
70030
70044
  window.addEventListener("scroll", scrollHandler, true);
@@ -70086,7 +70100,7 @@ const nodeResizer = (nodeNames = ["image"], editor) => {
70086
70100
  }
70087
70101
  applyStyleIsolationClass(resizeContainer);
70088
70102
  document.body.appendChild(resizeContainer);
70089
- updateHandlePositions(wrapper.firstElementChild);
70103
+ updateHandlePositions(wrapper);
70090
70104
  }
70091
70105
  function hideResizeHandles() {
70092
70106
  if (resizeContainer?.parentNode) {
@@ -1,4 +1,4 @@
1
- import { aK as getDefaultExportFromCjs } from "./converter-BvxISp2B.js";
1
+ import { aK as getDefaultExportFromCjs } from "./converter-l4nIp7kP.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-BvxISp2B.js";
3
- import { g as global$1, _ as _export_sfc, u as useHighContrastMode } from "./editor-Bgi8FGSM.js";
2
+ import { p as process$1 } from "./converter-l4nIp7kP.js";
3
+ import { g as global$1, _ as _export_sfc, u as useHighContrastMode } from "./editor-B9mTHCNJ.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-BvxISp2B.js";
1
+ import { ac } from "./chunks/converter-l4nIp7kP.js";
2
2
  export {
3
3
  ac as SuperConverter
4
4
  };
@@ -1,5 +1,5 @@
1
- import "./chunks/converter-BvxISp2B.js";
2
- import { D } from "./chunks/docx-zipper-BuXfTs6z.js";
1
+ import "./chunks/converter-l4nIp7kP.js";
2
+ import { D } from "./chunks/docx-zipper-irtnwkO1.js";
3
3
  export {
4
4
  D as default
5
5
  };
@@ -1,6 +1,6 @@
1
- import { E } from "./chunks/editor-Bgi8FGSM.js";
2
- import "./chunks/converter-BvxISp2B.js";
3
- import "./chunks/docx-zipper-BuXfTs6z.js";
1
+ import { E } from "./chunks/editor-B9mTHCNJ.js";
2
+ import "./chunks/converter-l4nIp7kP.js";
3
+ import "./chunks/docx-zipper-irtnwkO1.js";
4
4
  export {
5
5
  E as Editor
6
6
  };
@@ -1,4 +1,4 @@
1
- import { J as JSZip } from "./chunks/docx-zipper-BuXfTs6z.js";
1
+ import { J as JSZip } from "./chunks/docx-zipper-irtnwkO1.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 { 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-BvxISp2B.js";
13
- import { ac, i, a9, aQ } from "./chunks/converter-BvxISp2B.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-Bgi8FGSM.js";
15
- import { G, J, H, T, C, I, F } from "./chunks/editor-Bgi8FGSM.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-l4nIp7kP.js";
13
+ import { ac, i, a9, aQ } from "./chunks/converter-l4nIp7kP.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-B9mTHCNJ.js";
15
+ import { G, J, H, T, C, I, F } from "./chunks/editor-B9mTHCNJ.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-C5SxMMRv.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-Dxai0J4e.js";
18
18
  import AIWriter from "./ai-writer.es.js";
19
- import { D } from "./chunks/docx-zipper-BuXfTs6z.js";
19
+ import { D } from "./chunks/docx-zipper-irtnwkO1.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-C5SxMMRv.js";
3
- import "./chunks/editor-Bgi8FGSM.js";
2
+ import { T } from "./chunks/toolbar-Dxai0J4e.js";
3
+ import "./chunks/editor-B9mTHCNJ.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-DL9CVTke.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-CIwVIlJ4.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-Ds9GHHHL.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-CLsxHJfr.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-DL9CVTke.cjs");
4
- const superdoc = require("./chunks/index-B14ZiJ2S.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-CIwVIlJ4.cjs");
4
+ const superdoc = require("./chunks/index-DvMw-ZFq.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-Ds9GHHHL.es.js";
2
- import { D, H, P, S as S2, m, l } from "./chunks/index-nxK0aRdv.es.js";
1
+ import { a, E, b, S, d, i, j, n, r, p, q } from "./chunks/super-editor.es-CLsxHJfr.es.js";
2
+ import { D, H, P, S as S2, m, l } from "./chunks/index-uhbxSA5H.es.js";
3
3
  import { B } from "./chunks/blank-docx-ABm6XYAA.es.js";
4
4
  export {
5
5
  a as AnnotatorHelpers,
@@ -42468,7 +42468,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
42468
42468
  static getStoredSuperdocVersion(docx) {
42469
42469
  return _SuperConverter2.getStoredCustomProperty(docx, "SuperdocVersion");
42470
42470
  }
42471
- static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "2.0.0-next.15") {
42471
+ static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "2.0.0-next.17") {
42472
42472
  return _SuperConverter2.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
42473
42473
  }
42474
42474
  /**
@@ -65491,6 +65491,9 @@ ${err.toString()}`);
65491
65491
  return null;
65492
65492
  }
65493
65493
  const actualMark = start2.node.marks.find((mark2) => mark2.type.name === markName);
65494
+ if (!actualMark) {
65495
+ return null;
65496
+ }
65494
65497
  let startIndex = $pos.index();
65495
65498
  let startPos = $pos.start() + start2.offset;
65496
65499
  while (startIndex > 0 && actualMark.isInSet(parent.child(startIndex - 1).marks)) {
@@ -66643,47 +66646,58 @@ ${err.toString()}`);
66643
66646
  return from2 !== null && to !== null ? { from: from2, to } : null;
66644
66647
  }
66645
66648
  const replaceStep = ({ state: state2, tr, step, newTr, map: map2, user, date, originalStep, originalStepIndex }) => {
66646
- const deletionMarkSchema = state2.schema.marks[TrackDeleteMarkName$1];
66647
- const deletionMark = findMark(state2, deletionMarkSchema, false);
66648
- const positionTo = deletionMark ? deletionMark.to : step.to;
66649
- const newStep = new ReplaceStep(
66650
- positionTo,
66651
- // We insert all the same steps, but with "from"/"to" both set to "to" in order not to delete content. Mapped as needed.
66652
- positionTo,
66653
- step.slice,
66654
- step.structure
66655
- );
66656
- const invertStep = originalStep.invert(tr.docs[originalStepIndex]).map(map2);
66657
- map2.appendMap(invertStep.getMap());
66658
- const meta2 = {};
66659
- if (newStep) {
66660
- const trTemp = state2.apply(newTr).tr;
66661
- if (trTemp.maybeStep(newStep).failed) {
66662
- return;
66663
- }
66664
- const mappedNewStepTo = newStep.getMap().map(newStep.to);
66665
- const insertedMark = markInsertion({
66666
- tr: trTemp,
66667
- from: newStep.from,
66668
- to: mappedNewStepTo,
66669
- user,
66670
- date
66671
- });
66672
- const condensedStep = new ReplaceStep(newStep.from, newStep.to, trTemp.doc.slice(newStep.from, mappedNewStepTo));
66673
- newTr.step(condensedStep);
66674
- const mirrorIndex = map2.maps.length - 1;
66675
- map2.appendMap(condensedStep.getMap(), mirrorIndex);
66676
- if (newStep.from !== mappedNewStepTo) {
66677
- meta2.insertedMark = insertedMark;
66678
- meta2.step = condensedStep;
66649
+ const trTemp = state2.apply(newTr).tr;
66650
+ let positionTo = step.to;
66651
+ const probePos = Math.max(step.from, step.to - 1);
66652
+ const deletionSpan = findMarkPosition(trTemp.doc, probePos, TrackDeleteMarkName$1);
66653
+ if (deletionSpan && deletionSpan.to > positionTo) {
66654
+ positionTo = deletionSpan.to;
66655
+ }
66656
+ const tryInsert = (slice2) => {
66657
+ const insertionStep = new ReplaceStep(positionTo, positionTo, slice2, false);
66658
+ if (trTemp.maybeStep(insertionStep).failed) return null;
66659
+ return {
66660
+ insertedFrom: insertionStep.from,
66661
+ insertedTo: insertionStep.getMap().map(insertionStep.to, 1)
66662
+ };
66663
+ };
66664
+ const insertion = tryInsert(step.slice) || tryInsert(Slice.maxOpen(step.slice.content, true));
66665
+ if (!insertion) {
66666
+ if (!newTr.maybeStep(step).failed) {
66667
+ map2.appendMap(step.getMap());
66679
66668
  }
66680
- if (!newTr.selection.eq(trTemp.selection)) {
66681
- newTr.setSelection(trTemp.selection);
66669
+ return;
66670
+ }
66671
+ const meta2 = {};
66672
+ const insertedMark = markInsertion({
66673
+ tr: trTemp,
66674
+ from: insertion.insertedFrom,
66675
+ to: insertion.insertedTo,
66676
+ user,
66677
+ date
66678
+ });
66679
+ const trackedInsertedSlice = trTemp.doc.slice(insertion.insertedFrom, insertion.insertedTo);
66680
+ const condensedStep = new ReplaceStep(positionTo, positionTo, trackedInsertedSlice, false);
66681
+ if (newTr.maybeStep(condensedStep).failed) {
66682
+ if (!newTr.maybeStep(step).failed) {
66683
+ map2.appendMap(step.getMap());
66682
66684
  }
66685
+ return;
66686
+ }
66687
+ const invertStep = originalStep.invert(tr.docs[originalStepIndex]).map(map2);
66688
+ map2.appendMap(invertStep.getMap());
66689
+ const mirrorIndex = map2.maps.length - 1;
66690
+ map2.appendMap(condensedStep.getMap(), mirrorIndex);
66691
+ if (insertion.insertedFrom !== insertion.insertedTo) {
66692
+ meta2.insertedMark = insertedMark;
66693
+ meta2.step = condensedStep;
66694
+ }
66695
+ if (!newTr.selection.eq(trTemp.selection)) {
66696
+ newTr.setSelection(trTemp.selection);
66683
66697
  }
66684
66698
  if (step.from !== step.to) {
66685
66699
  const {
66686
- deletionMark: deletionMark2,
66700
+ deletionMark,
66687
66701
  deletionMap,
66688
66702
  nodes: deletionNodes
66689
66703
  } = markDeletion({
@@ -66695,7 +66709,7 @@ ${err.toString()}`);
66695
66709
  id: meta2.insertedMark?.attrs?.id
66696
66710
  });
66697
66711
  meta2.deletionNodes = deletionNodes;
66698
- meta2.deletionMark = deletionMark2;
66712
+ meta2.deletionMark = deletionMark;
66699
66713
  map2.appendMapping(deletionMap);
66700
66714
  }
66701
66715
  newTr.setMeta(TrackChangesBasePluginKey, meta2);
@@ -68516,7 +68530,7 @@ ${err.toString()}`);
68516
68530
  const shouldSkipNodeView = (editor) => {
68517
68531
  return isHeadless(editor);
68518
68532
  };
68519
- const summaryVersion = "2.0.0-next.15";
68533
+ const summaryVersion = "2.0.0-next.17";
68520
68534
  const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
68521
68535
  const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
68522
68536
  function mapAttributes(attrs) {
@@ -69305,7 +69319,7 @@ ${err.toString()}`);
69305
69319
  { default: remarkStringify2 },
69306
69320
  { default: remarkGfm2 }
69307
69321
  ] = await Promise.all([
69308
- Promise.resolve().then(() => indexDgGQUbNh),
69322
+ Promise.resolve().then(() => indexBIDjlQex),
69309
69323
  Promise.resolve().then(() => indexDRCvimau),
69310
69324
  Promise.resolve().then(() => indexC_x_N6Uh),
69311
69325
  Promise.resolve().then(() => indexD_sWOSiG),
@@ -69510,7 +69524,7 @@ ${err.toString()}`);
69510
69524
  * Process collaboration migrations
69511
69525
  */
69512
69526
  processCollaborationMigrations() {
69513
- console.debug("[checkVersionMigrations] Current editor version", "2.0.0-next.15");
69527
+ console.debug("[checkVersionMigrations] Current editor version", "2.0.0-next.17");
69514
69528
  if (!this.options.ydoc) return;
69515
69529
  const metaMap = this.options.ydoc.getMap("meta");
69516
69530
  let docVersion = metaMap.get("version");
@@ -122727,7 +122741,7 @@ ${l}
122727
122741
  document.addEventListener("mousedown", globalMousedownHandler);
122728
122742
  scrollHandler = () => {
122729
122743
  if (currentWrapper && resizeContainer) {
122730
- updateHandlePositions(currentWrapper.firstElementChild);
122744
+ updateHandlePositions(currentWrapper);
122731
122745
  }
122732
122746
  };
122733
122747
  window.addEventListener("scroll", scrollHandler, true);
@@ -122789,7 +122803,7 @@ ${l}
122789
122803
  }
122790
122804
  applyStyleIsolationClass(resizeContainer);
122791
122805
  document.body.appendChild(resizeContainer);
122792
- updateHandlePositions(wrapper.firstElementChild);
122806
+ updateHandlePositions(wrapper);
122793
122807
  }
122794
122808
  function hideResizeHandles() {
122795
122809
  if (resizeContainer?.parentNode) {
@@ -157958,7 +157972,7 @@ ${style2}
157958
157972
  this.config.colors = shuffleArray(this.config.colors);
157959
157973
  this.userColorMap = /* @__PURE__ */ new Map();
157960
157974
  this.colorIndex = 0;
157961
- this.version = "2.0.0-next.15";
157975
+ this.version = "2.0.0-next.17";
157962
157976
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
157963
157977
  this.superdocId = config2.superdocId || v4();
157964
157978
  this.colors = this.config.colors;
@@ -160431,7 +160445,7 @@ ${style2}
160431
160445
  value && typeof value === "object" && "byteLength" in value && "byteOffset" in value
160432
160446
  );
160433
160447
  }
160434
- const indexDgGQUbNh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
160448
+ const indexBIDjlQex = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
160435
160449
  __proto__: null,
160436
160450
  unified
160437
160451
  }, Symbol.toStringTag, { value: "Module" }));