@harbour-enterprises/superdoc 0.12.36-next.8 → 0.12.36-next.9

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.
@@ -23408,7 +23408,7 @@ const _SuperConverter = class _SuperConverter2 {
23408
23408
  return;
23409
23409
  }
23410
23410
  }
23411
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.12.36-next.8") {
23411
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.12.36-next.9") {
23412
23412
  const customLocation = "docProps/custom.xml";
23413
23413
  if (!docx[customLocation]) {
23414
23414
  docx[customLocation] = generateCustomXml();
@@ -23875,7 +23875,7 @@ function storeSuperdocVersion(docx) {
23875
23875
  function generateCustomXml() {
23876
23876
  return DEFAULT_CUSTOM_XML;
23877
23877
  }
23878
- function generateSuperdocVersion(pid = 2, version2 = "0.12.36-next.8") {
23878
+ function generateSuperdocVersion(pid = 2, version2 = "0.12.36-next.9") {
23879
23879
  return {
23880
23880
  type: "element",
23881
23881
  name: "property",
@@ -40568,6 +40568,19 @@ function useHighContrastMode() {
40568
40568
  setHighContrastMode
40569
40569
  };
40570
40570
  }
40571
+ const findWordBounds = (doc2, pos) => {
40572
+ const $pos = doc2.resolve(pos);
40573
+ const parent = $pos.parent;
40574
+ const offset2 = $pos.parentOffset;
40575
+ const text = parent.textContent;
40576
+ if (!text) return { from: pos, to: pos };
40577
+ let start2 = offset2, end2 = offset2;
40578
+ while (start2 > 0 && /\w/.test(text[start2 - 1])) start2--;
40579
+ while (end2 < text.length && /\w/.test(text[end2])) end2++;
40580
+ const from2 = $pos.start() + start2;
40581
+ const to = $pos.start() + end2;
40582
+ return { from: from2, to };
40583
+ };
40571
40584
  const _Editor = class _Editor2 extends EventEmitter$1 {
40572
40585
  /**
40573
40586
  * Create a new Editor instance
@@ -41219,7 +41232,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
41219
41232
  * @returns {Object | void} Migration results
41220
41233
  */
41221
41234
  processCollaborationMigrations() {
41222
- console.debug("[checkVersionMigrations] Current editor version", "0.12.36-next.8");
41235
+ console.debug("[checkVersionMigrations] Current editor version", "0.12.36-next.9");
41223
41236
  if (!this.options.ydoc) return;
41224
41237
  const metaMap = this.options.ydoc.getMap("meta");
41225
41238
  let docVersion = metaMap.get("version");
@@ -41584,6 +41597,10 @@ createView_fn = function() {
41584
41597
  pm.classList.remove("header-footer-edit");
41585
41598
  pm.setAttribute("aria-readonly", false);
41586
41599
  }
41600
+ const { state: state22, dispatch } = view;
41601
+ const word = findWordBounds(state22.doc, pos);
41602
+ const tr = state22.tr.setSelection(TextSelection.create(state22.doc, word.from, word.to));
41603
+ dispatch(tr);
41587
41604
  }
41588
41605
  });
41589
41606
  const newState = this.state.reconfigure({
@@ -23391,7 +23391,7 @@ const _SuperConverter = class _SuperConverter2 {
23391
23391
  return;
23392
23392
  }
23393
23393
  }
23394
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.12.36-next.8") {
23394
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.12.36-next.9") {
23395
23395
  const customLocation = "docProps/custom.xml";
23396
23396
  if (!docx[customLocation]) {
23397
23397
  docx[customLocation] = generateCustomXml();
@@ -23858,7 +23858,7 @@ function storeSuperdocVersion(docx) {
23858
23858
  function generateCustomXml() {
23859
23859
  return DEFAULT_CUSTOM_XML;
23860
23860
  }
23861
- function generateSuperdocVersion(pid = 2, version2 = "0.12.36-next.8") {
23861
+ function generateSuperdocVersion(pid = 2, version2 = "0.12.36-next.9") {
23862
23862
  return {
23863
23863
  type: "element",
23864
23864
  name: "property",
@@ -40551,6 +40551,19 @@ function useHighContrastMode() {
40551
40551
  setHighContrastMode
40552
40552
  };
40553
40553
  }
40554
+ const findWordBounds = (doc2, pos) => {
40555
+ const $pos = doc2.resolve(pos);
40556
+ const parent = $pos.parent;
40557
+ const offset2 = $pos.parentOffset;
40558
+ const text = parent.textContent;
40559
+ if (!text) return { from: pos, to: pos };
40560
+ let start2 = offset2, end2 = offset2;
40561
+ while (start2 > 0 && /\w/.test(text[start2 - 1])) start2--;
40562
+ while (end2 < text.length && /\w/.test(text[end2])) end2++;
40563
+ const from2 = $pos.start() + start2;
40564
+ const to = $pos.start() + end2;
40565
+ return { from: from2, to };
40566
+ };
40554
40567
  const _Editor = class _Editor2 extends EventEmitter$1 {
40555
40568
  /**
40556
40569
  * Create a new Editor instance
@@ -41202,7 +41215,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
41202
41215
  * @returns {Object | void} Migration results
41203
41216
  */
41204
41217
  processCollaborationMigrations() {
41205
- console.debug("[checkVersionMigrations] Current editor version", "0.12.36-next.8");
41218
+ console.debug("[checkVersionMigrations] Current editor version", "0.12.36-next.9");
41206
41219
  if (!this.options.ydoc) return;
41207
41220
  const metaMap = this.options.ydoc.getMap("meta");
41208
41221
  let docVersion = metaMap.get("version");
@@ -41567,6 +41580,10 @@ createView_fn = function() {
41567
41580
  pm.classList.remove("header-footer-edit");
41568
41581
  pm.setAttribute("aria-readonly", false);
41569
41582
  }
41583
+ const { state: state22, dispatch } = view;
41584
+ const word = findWordBounds(state22.doc, pos);
41585
+ const tr = state22.tr.setSelection(TextSelection.create(state22.doc, word.from, word.to));
41586
+ dispatch(tr);
41570
41587
  }
41571
41588
  });
41572
41589
  const newState = this.state.reconfigure({
@@ -1,6 +1,6 @@
1
1
  import { ref, onMounted, onUnmounted, computed, createElementBlock, openBlock, withModifiers, createElementVNode, withDirectives, unref, vModelText, createCommentVNode, nextTick } from "vue";
2
- import { T as TextSelection } from "./chunks/converter-BCnMtqK6.js";
3
- import { _ as _export_sfc } from "./chunks/editor-CTFQa4G4.js";
2
+ import { T as TextSelection } from "./chunks/converter-C4AZvpwi.js";
3
+ import { _ as _export_sfc } from "./chunks/editor-BAC6cXVa.js";
4
4
  const DEFAULT_API_ENDPOINT = "https://sd-dev-express-gateway-i6xtm.ondigitalocean.app/insights";
5
5
  const SYSTEM_PROMPT = "You are an expert copywriter and you are immersed in a document editor. You are to provide document related text responses based on the user prompts. Only write what is asked for. Do not provide explanations. Try to keep placeholders as short as possible. Do not output your prompt. Your instructions are: ";
6
6
  async function baseInsightsFetch(payload, options = {}) {
@@ -23410,7 +23410,7 @@ const _SuperConverter = class _SuperConverter {
23410
23410
  return;
23411
23411
  }
23412
23412
  }
23413
- static updateDocumentVersion(docx = this.convertedXml, version = "0.12.36-next.8") {
23413
+ static updateDocumentVersion(docx = this.convertedXml, version = "0.12.36-next.9") {
23414
23414
  const customLocation = "docProps/custom.xml";
23415
23415
  if (!docx[customLocation]) {
23416
23416
  docx[customLocation] = generateCustomXml();
@@ -23880,7 +23880,7 @@ function storeSuperdocVersion(docx) {
23880
23880
  function generateCustomXml() {
23881
23881
  return DEFAULT_CUSTOM_XML;
23882
23882
  }
23883
- function generateSuperdocVersion(pid = 2, version = "0.12.36-next.8") {
23883
+ function generateSuperdocVersion(pid = 2, version = "0.12.36-next.9") {
23884
23884
  return {
23885
23885
  type: "element",
23886
23886
  name: "property",
@@ -1,4 +1,4 @@
1
- import { x as process$1, a1 as commonjsGlobal, B as Buffer, a2 as getDefaultExportFromCjs, a3 as getContentTypesFromXml, a4 as xmljs } from "./converter-BCnMtqK6.js";
1
+ import { x as process$1, a1 as commonjsGlobal, B as Buffer, a2 as getDefaultExportFromCjs, a3 as getContentTypesFromXml, a4 as xmljs } from "./converter-C4AZvpwi.js";
2
2
  function commonjsRequire(path) {
3
3
  throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
4
4
  }
@@ -12,9 +12,9 @@ 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, _commandService, _css, _Editor_instances, initContainerElement_fn, init_fn, initRichText_fn, onFocus_fn, checkHeadless_fn, insertNewFileData_fn, registerPluginByNameIfNotExists_fn, createExtensionService_fn, createCommandService_fn, createConverter_fn, initMedia_fn, initFonts_fn, createSchema_fn, generatePmData_fn, createDocFromHTML_fn, createView_fn, onCollaborationReady_fn, initComments_fn, initPagination_fn, dispatchTransaction_fn, prepareDocumentForImport_fn, prepareDocumentForExport_fn, endCollaboration_fn, _FieldAnnotationView_instances, createAnnotation_fn, _AutoPageNumberNodeView_instances, renderDom_fn, scheduleUpdateNodeStyle_fn;
13
13
  import * as Y from "yjs";
14
14
  import { UndoManager, Item as Item$1, ContentType, Text as Text$1, XmlElement, encodeStateAsUpdate } from "yjs";
15
- import { P as PluginKey, a as Plugin, M as Mapping, c as callOrGet, i as isEmptyObject, S as Schema$1, T as TextSelection, b as canSplit, l as liftTarget, A as AllSelection, d as canJoin, j as joinPoint, N as NodeSelection, r as replaceStep$1, e as Selection, F as Fragment, R as ReplaceAroundStep, f as Slice, o as objectIncludes, g as deleteProps, D as DOMParser$1, h as ReplaceStep, k as NodeRange, m as findWrapping, n as isMacOS, p as isIOS, q as generateDocxRandomId, s as minMax, t as generateRandom32BitHex, u as DOMSerializer, v as Mark$1, w as dropPoint, x as process$1, B as Buffer2, y as isRegExp, z as TrackDeleteMarkName, C as TrackInsertMarkName, E as v4, G as TrackFormatMarkName, H as comments_module_events, I as AddMarkStep, J as RemoveMarkStep, K as twipsToLines, L as pixelsToTwips, O as SuperConverter, Q as EditorState, U as hasSomeParentWithClass, V as parseSizeUnit, W as getLineHeightValueString, X as toKebabCase, Y as kebabCase, Z as getColStyleDeclaration, _ as SelectionRange, $ as Transform, a0 as createColGroup } from "./converter-BCnMtqK6.js";
15
+ import { P as PluginKey, a as Plugin, M as Mapping, c as callOrGet, i as isEmptyObject, S as Schema$1, T as TextSelection, b as canSplit, l as liftTarget, A as AllSelection, d as canJoin, j as joinPoint, N as NodeSelection, r as replaceStep$1, e as Selection, F as Fragment, R as ReplaceAroundStep, f as Slice, o as objectIncludes, g as deleteProps, D as DOMParser$1, h as ReplaceStep, k as NodeRange, m as findWrapping, n as isMacOS, p as isIOS, q as generateDocxRandomId, s as minMax, t as generateRandom32BitHex, u as DOMSerializer, v as Mark$1, w as dropPoint, x as process$1, B as Buffer2, y as isRegExp, z as TrackDeleteMarkName, C as TrackInsertMarkName, E as v4, G as TrackFormatMarkName, H as comments_module_events, I as AddMarkStep, J as RemoveMarkStep, K as twipsToLines, L as pixelsToTwips, O as SuperConverter, Q as EditorState, U as hasSomeParentWithClass, V as parseSizeUnit, W as getLineHeightValueString, X as toKebabCase, Y as kebabCase, Z as getColStyleDeclaration, _ as SelectionRange, $ as Transform, a0 as createColGroup } from "./converter-C4AZvpwi.js";
16
16
  import { ref, computed, createElementBlock, openBlock, withModifiers, Fragment as Fragment$1, renderList, normalizeClass, createCommentVNode, toDisplayString, createElementVNode, createApp } from "vue";
17
- import { D as DocxZipper } from "./docx-zipper-BEWaJso4.js";
17
+ import { D as DocxZipper } from "./docx-zipper-CusiAenZ.js";
18
18
  function getMarksFromSelection(state) {
19
19
  const { from: from2, to, empty: empty2 } = state.selection;
20
20
  const marks = [];
@@ -14183,6 +14183,19 @@ function useHighContrastMode() {
14183
14183
  setHighContrastMode
14184
14184
  };
14185
14185
  }
14186
+ const findWordBounds = (doc2, pos) => {
14187
+ const $pos = doc2.resolve(pos);
14188
+ const parent = $pos.parent;
14189
+ const offset2 = $pos.parentOffset;
14190
+ const text = parent.textContent;
14191
+ if (!text) return { from: pos, to: pos };
14192
+ let start2 = offset2, end2 = offset2;
14193
+ while (start2 > 0 && /\w/.test(text[start2 - 1])) start2--;
14194
+ while (end2 < text.length && /\w/.test(text[end2])) end2++;
14195
+ const from2 = $pos.start() + start2;
14196
+ const to = $pos.start() + end2;
14197
+ return { from: from2, to };
14198
+ };
14186
14199
  const _Editor = class _Editor extends EventEmitter {
14187
14200
  /**
14188
14201
  * Create a new Editor instance
@@ -14862,7 +14875,7 @@ const _Editor = class _Editor extends EventEmitter {
14862
14875
  * @returns {Object | void} Migration results
14863
14876
  */
14864
14877
  processCollaborationMigrations() {
14865
- console.debug("[checkVersionMigrations] Current editor version", "0.12.36-next.8");
14878
+ console.debug("[checkVersionMigrations] Current editor version", "0.12.36-next.9");
14866
14879
  if (!this.options.ydoc) return;
14867
14880
  const metaMap = this.options.ydoc.getMap("meta");
14868
14881
  let docVersion = metaMap.get("version");
@@ -15323,6 +15336,10 @@ createView_fn = function() {
15323
15336
  pm.classList.remove("header-footer-edit");
15324
15337
  pm.setAttribute("aria-readonly", false);
15325
15338
  }
15339
+ const { state: state2, dispatch } = view;
15340
+ const word = findWordBounds(state2.doc, pos);
15341
+ const tr = state2.tr.setSelection(TextSelection.create(state2.doc, word.from, word.to));
15342
+ dispatch(tr);
15326
15343
  }
15327
15344
  });
15328
15345
  const newState = this.state.reconfigure({
@@ -1,6 +1,6 @@
1
1
  import { computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, normalizeClass, normalizeStyle, ref, withKeys, unref, withModifiers, createBlock, toDisplayString, withDirectives, vModelText, getCurrentInstance, createVNode, readonly, watch, onMounted, onBeforeUnmount, reactive, onBeforeMount, inject, onActivated, onDeactivated, createTextVNode, Fragment, Comment, defineComponent, provide, h, Teleport, toRef, nextTick, renderSlot, isVNode, shallowRef, watchEffect, mergeProps, Transition, vShow, cloneVNode, Text, renderList, withCtx } from "vue";
2
- import { x as process$1 } from "./converter-BCnMtqK6.js";
3
- import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-CTFQa4G4.js";
2
+ import { x as process$1 } from "./converter-C4AZvpwi.js";
3
+ import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-BAC6cXVa.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 { O } from "./chunks/converter-BCnMtqK6.js";
1
+ import { O } from "./chunks/converter-C4AZvpwi.js";
2
2
  export {
3
3
  O as SuperConverter
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Editor.d.ts","sourceRoot":"","sources":["../../src/core/Editor.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Editor.d.ts","sourceRoot":"","sources":["../../src/core/Editor.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export function findWordBounds(doc: any, pos: any): {
2
+ from: any;
3
+ to: any;
4
+ };
5
+ //# sourceMappingURL=findWordBounds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findWordBounds.d.ts","sourceRoot":"","sources":["../../../src/core/helpers/findWordBounds.js"],"names":[],"mappings":"AAMO;;;EAmBN"}
@@ -1,5 +1,5 @@
1
- import "./chunks/converter-BCnMtqK6.js";
2
- import { D } from "./chunks/docx-zipper-BEWaJso4.js";
1
+ import "./chunks/converter-C4AZvpwi.js";
2
+ import { D } from "./chunks/docx-zipper-CusiAenZ.js";
3
3
  export {
4
4
  D as default
5
5
  };
@@ -1,6 +1,6 @@
1
- import { E } from "./chunks/editor-CTFQa4G4.js";
2
- import "./chunks/converter-BCnMtqK6.js";
3
- import "./chunks/docx-zipper-BEWaJso4.js";
1
+ import { E } from "./chunks/editor-BAC6cXVa.js";
2
+ import "./chunks/converter-C4AZvpwi.js";
3
+ import "./chunks/docx-zipper-CusiAenZ.js";
4
4
  export {
5
5
  E as Editor
6
6
  };
@@ -1,4 +1,4 @@
1
- import { J as JSZip } from "./chunks/docx-zipper-BEWaJso4.js";
1
+ import { J as JSZip } from "./chunks/docx-zipper-CusiAenZ.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 _SuperToolbar_instances, initToolbarGroups_fn, _interceptedCommands, makeToolbarItems_fn, initDefaultFonts_fn, updateHighlightColors_fn, deactivateAll_fn, updateToolbarHistory_fn, runCommandWithArgumentOnly_fn;
12
- import { _ as _export_sfc, u as useHighContrastMode, a as getQuickFormatList, b as generateLinkedStyleString, I as ImagePlaceholderPluginKey, f as findPlaceholder, c as findParentNode, d as getActiveFormatting, i as isInTable, e as undoDepth, r as redoDepth, E as Editor, h as getStarterExtensions, P as Placeholder, j as getRichTextExtensions, M as Mark, k as Extension, A as Attribute, N as Node } from "./chunks/editor-CTFQa4G4.js";
13
- import { o, C, T, m, p, l, n } from "./chunks/editor-CTFQa4G4.js";
14
- import { a2 as getDefaultExportFromCjs, E as v4, a5 as vClickOutside, T as TextSelection, a as Plugin } from "./chunks/converter-BCnMtqK6.js";
15
- import { O } from "./chunks/converter-BCnMtqK6.js";
12
+ import { _ as _export_sfc, u as useHighContrastMode, a as getQuickFormatList, b as generateLinkedStyleString, I as ImagePlaceholderPluginKey, f as findPlaceholder, c as findParentNode, d as getActiveFormatting, i as isInTable, e as undoDepth, r as redoDepth, E as Editor, h as getStarterExtensions, P as Placeholder, j as getRichTextExtensions, M as Mark, k as Extension, A as Attribute, N as Node } from "./chunks/editor-BAC6cXVa.js";
13
+ import { o, C, T, m, p, l, n } from "./chunks/editor-BAC6cXVa.js";
14
+ import { a2 as getDefaultExportFromCjs, E as v4, a5 as vClickOutside, T as TextSelection, a as Plugin } from "./chunks/converter-C4AZvpwi.js";
15
+ import { O } from "./chunks/converter-C4AZvpwi.js";
16
16
  import { ref, createElementBlock, openBlock, normalizeClass, unref, createElementVNode, getCurrentInstance, computed, watch, onMounted, createCommentVNode, withDirectives, withKeys, withModifiers, vModelText, createTextVNode, toDisplayString, Fragment, renderList, normalizeStyle, createVNode, h, createApp, reactive, onUnmounted, shallowRef, onBeforeUnmount, createBlock } from "vue";
17
- import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, N as NSkeleton } from "./chunks/toolbar-CJt0mQxX.js";
17
+ import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, N as NSkeleton } from "./chunks/toolbar-BLLgDAAG.js";
18
18
  import AIWriter from "./ai-writer.es.js";
19
- import { D } from "./chunks/docx-zipper-BEWaJso4.js";
19
+ import { D } from "./chunks/docx-zipper-CusiAenZ.js";
20
20
  import { createZip } from "./file-zipper.es.js";
21
21
  var eventemitter3 = { exports: {} };
22
22
  (function(module) {
@@ -1,6 +1,6 @@
1
1
  import "vue";
2
- import { T } from "./chunks/toolbar-CJt0mQxX.js";
3
- import "./chunks/editor-CTFQa4G4.js";
2
+ import { T } from "./chunks/toolbar-BLLgDAAG.js";
3
+ import "./chunks/editor-BAC6cXVa.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-DO-kuhQq.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-DwRDhfnV.cjs");
4
4
  require("./chunks/vue-DPZkajuO.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, S, c, d, e, T, f, g, i, h, j, k, l, m, n, o } from "./chunks/super-editor.es-knUqfjv8.es.js";
1
+ import { A, a, _, C, D, E, b, S, c, d, e, T, f, g, i, h, j, k, l, m, n, o } from "./chunks/super-editor.es-TyCJrNNL.es.js";
2
2
  import "./chunks/vue-IIIZMHTg.es.js";
3
3
  export {
4
4
  A as AIWriter,
package/dist/superdoc.cjs CHANGED
@@ -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-DO-kuhQq.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-DwRDhfnV.cjs");
4
4
  const vue = require("./chunks/vue-DPZkajuO.cjs");
5
5
  const jszip = require("./chunks/jszip-Bwu_om3F.cjs");
6
6
  const blankDocx = require("./chunks/blank-docx-CPqX9RF5.cjs");
@@ -46571,7 +46571,7 @@ class SuperDoc extends eventemitter3.EventEmitter {
46571
46571
  this.config.colors = shuffleArray(this.config.colors);
46572
46572
  this.userColorMap = /* @__PURE__ */ new Map();
46573
46573
  this.colorIndex = 0;
46574
- this.version = "0.12.36-next.8";
46574
+ this.version = "0.12.36-next.9";
46575
46575
  console.debug("🦋 [superdoc] Using SuperDoc version:", this.version);
46576
46576
  this.superdocId = config.superdocId || uuid.v4();
46577
46577
  this.colors = this.config.colors;
@@ -1,5 +1,5 @@
1
- import { o as index$1, C as CommentsPluginKey, f as TrackChangesBasePluginKey, E as Editor, l as getRichTextExtensions, d as SuperInput, A as AIWriter, c as SuperEditor, e as SuperToolbar, g as createZip } from "./chunks/super-editor.es-knUqfjv8.es.js";
2
- import { a, S, i, n } from "./chunks/super-editor.es-knUqfjv8.es.js";
1
+ import { o as index$1, C as CommentsPluginKey, f as TrackChangesBasePluginKey, E as Editor, l as getRichTextExtensions, d as SuperInput, A as AIWriter, c as SuperEditor, e as SuperToolbar, g as createZip } from "./chunks/super-editor.es-TyCJrNNL.es.js";
2
+ import { a, S, i, n } from "./chunks/super-editor.es-TyCJrNNL.es.js";
3
3
  import { Y as effectScope, r as ref, Z as markRaw, p as process$1, _ as toRaw, a as computed, $ as isRef, a0 as isReactive, D as toRef, i as inject, q as getCurrentInstance, l as watch, y as unref, a1 as hasInjectionContext, N as reactive, u as nextTick, a2 as getCurrentScope, a3 as onScopeDispose, a4 as toRefs, g as global$1, K as shallowRef, O as readonly, j as onMounted, k as onBeforeUnmount, h as onBeforeMount, U as onActivated, s as onDeactivated, A as createTextVNode, F as Fragment, R as Comment, m as defineComponent, E as provide, I as withDirectives, C as h, V as Teleport, S as renderSlot, W as isVNode, J as watchEffect, P as Transition, G as mergeProps, Q as vShow, H as cloneVNode, T as Text, b as createElementBlock, o as openBlock, t as toDisplayString, x as createVNode, z as withCtx, f as createBaseVNode, B as normalizeStyle, e as createCommentVNode, v as createBlock, w as withModifiers, n as normalizeClass, a5 as resolveDirective, d as renderList, c as createApp, X as onUnmounted, a6 as resolveDynamicComponent } from "./chunks/vue-IIIZMHTg.es.js";
4
4
  import { B as Buffer$2 } from "./chunks/jszip-BmWWPxfF.es.js";
5
5
  import { B as BlankDOCX } from "./chunks/blank-docx-iwdyG9RH.es.js";
@@ -46570,7 +46570,7 @@ class SuperDoc extends EventEmitter {
46570
46570
  this.config.colors = shuffleArray(this.config.colors);
46571
46571
  this.userColorMap = /* @__PURE__ */ new Map();
46572
46572
  this.colorIndex = 0;
46573
- this.version = "0.12.36-next.8";
46573
+ this.version = "0.12.36-next.9";
46574
46574
  console.debug("🦋 [superdoc] Using SuperDoc version:", this.version);
46575
46575
  this.superdocId = config.superdocId || v4();
46576
46576
  this.colors = this.config.colors;
@@ -30768,7 +30768,7 @@
30768
30768
  return;
30769
30769
  }
30770
30770
  }
30771
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.12.36-next.8") {
30771
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.12.36-next.9") {
30772
30772
  const customLocation = "docProps/custom.xml";
30773
30773
  if (!docx[customLocation]) {
30774
30774
  docx[customLocation] = generateCustomXml();
@@ -31235,7 +31235,7 @@
31235
31235
  function generateCustomXml() {
31236
31236
  return DEFAULT_CUSTOM_XML;
31237
31237
  }
31238
- function generateSuperdocVersion(pid = 2, version2 = "0.12.36-next.8") {
31238
+ function generateSuperdocVersion(pid = 2, version2 = "0.12.36-next.9") {
31239
31239
  return {
31240
31240
  type: "element",
31241
31241
  name: "property",
@@ -47928,6 +47928,19 @@
47928
47928
  setHighContrastMode
47929
47929
  };
47930
47930
  }
47931
+ const findWordBounds = (doc2, pos) => {
47932
+ const $pos = doc2.resolve(pos);
47933
+ const parent = $pos.parent;
47934
+ const offset2 = $pos.parentOffset;
47935
+ const text = parent.textContent;
47936
+ if (!text) return { from: pos, to: pos };
47937
+ let start2 = offset2, end2 = offset2;
47938
+ while (start2 > 0 && /\w/.test(text[start2 - 1])) start2--;
47939
+ while (end2 < text.length && /\w/.test(text[end2])) end2++;
47940
+ const from2 = $pos.start() + start2;
47941
+ const to = $pos.start() + end2;
47942
+ return { from: from2, to };
47943
+ };
47931
47944
  const _Editor = class _Editor2 extends EventEmitter$2 {
47932
47945
  /**
47933
47946
  * Create a new Editor instance
@@ -48579,7 +48592,7 @@
48579
48592
  * @returns {Object | void} Migration results
48580
48593
  */
48581
48594
  processCollaborationMigrations() {
48582
- console.debug("[checkVersionMigrations] Current editor version", "0.12.36-next.8");
48595
+ console.debug("[checkVersionMigrations] Current editor version", "0.12.36-next.9");
48583
48596
  if (!this.options.ydoc) return;
48584
48597
  const metaMap = this.options.ydoc.getMap("meta");
48585
48598
  let docVersion = metaMap.get("version");
@@ -48944,6 +48957,10 @@
48944
48957
  pm.classList.remove("header-footer-edit");
48945
48958
  pm.setAttribute("aria-readonly", false);
48946
48959
  }
48960
+ const { state: state22, dispatch } = view;
48961
+ const word = findWordBounds(state22.doc, pos);
48962
+ const tr = state22.tr.setSelection(TextSelection.create(state22.doc, word.from, word.to));
48963
+ dispatch(tr);
48947
48964
  }
48948
48965
  });
48949
48966
  const newState = this.state.reconfigure({
@@ -90323,7 +90340,7 @@ ${style2}
90323
90340
  this.config.colors = shuffleArray(this.config.colors);
90324
90341
  this.userColorMap = /* @__PURE__ */ new Map();
90325
90342
  this.colorIndex = 0;
90326
- this.version = "0.12.36-next.8";
90343
+ this.version = "0.12.36-next.9";
90327
90344
  console.debug("🦋 [superdoc] Using SuperDoc version:", this.version);
90328
90345
  this.superdocId = config.superdocId || v4();
90329
90346
  this.colors = this.config.colors;