@harbour-enterprises/superdoc 0.15.8 → 0.15.9-next.2

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 (40) hide show
  1. package/dist/chunks/{eventemitter3-DESeWqCF.es.js → eventemitter3-BKLF7Ip6.es.js} +1 -1
  2. package/dist/chunks/{eventemitter3-BgTTc0kr.cjs → eventemitter3-CLT6oufV.cjs} +1 -1
  3. package/dist/chunks/{index-5s0lZrRi.cjs → index-B5xS6OKK.cjs} +2 -2
  4. package/dist/chunks/{index-BDb18xQR.es.js → index-BqH3eQTm.es.js} +2 -2
  5. package/dist/chunks/{index-CEIbpU5u.es.js → index-D612mw4O.es.js} +4 -4
  6. package/dist/chunks/{index-CjAcITPh.cjs → index-DhQaJbc2.cjs} +2 -2
  7. package/dist/chunks/{index-gYvWcHA-.es.js → index-DzFLdJgk.es.js} +2 -2
  8. package/dist/chunks/{index-Dz0ZMALg.cjs → index-ibuaxW1X.cjs} +4 -4
  9. package/dist/chunks/{jszip-eJOLo2UN.es.js → jszip-BwJb6_S5.es.js} +1 -1
  10. package/dist/chunks/{jszip-BgN565V6.cjs → jszip-DWfnW2xV.cjs} +1 -1
  11. package/dist/chunks/{super-editor.es-CE0bSSm0.es.js → super-editor.es-3Fx3JSCj.es.js} +38 -6
  12. package/dist/chunks/{super-editor.es-PQ44dsJn.cjs → super-editor.es-B9iMgUIS.cjs} +38 -6
  13. package/dist/chunks/{url-yluXzDeN.cjs → url-7PXI9_kJ.cjs} +2 -2
  14. package/dist/chunks/{url-D1vPFtjG.es.js → url-CNqDAz7z.es.js} +2 -2
  15. package/dist/chunks/{vue-aMYj79Bx.es.js → vue-B_OPNNfX.es.js} +7 -14
  16. package/dist/chunks/{vue-BLDJYAe8.cjs → vue-CfKg12kH.cjs} +7 -14
  17. package/dist/chunks/{xml-js-DahUgrqx.cjs → xml-js-B_rfwhrZ.cjs} +2 -2
  18. package/dist/chunks/{xml-js-BWZkA4YC.es.js → xml-js-Bn0K9fTK.es.js} +2 -2
  19. package/dist/super-editor/ai-writer.es.js +2 -2
  20. package/dist/super-editor/chunks/{converter-CSRShW34.js → converter-VR7VrqFe.js} +2 -2
  21. package/dist/super-editor/chunks/{docx-zipper-B82VypHV.js → docx-zipper-DH16t7d2.js} +1 -1
  22. package/dist/super-editor/chunks/{editor-D22RGluu.js → editor-Di5rb4hZ.js} +35 -3
  23. package/dist/super-editor/chunks/{toolbar-C9C_BN3d.js → toolbar-CyJG4iYk.js} +2 -2
  24. package/dist/super-editor/converter.es.js +1 -1
  25. package/dist/super-editor/core/Editor.d.ts +26 -0
  26. package/dist/super-editor/core/Editor.d.ts.map +1 -1
  27. package/dist/super-editor/core/ExtensionService.d.ts +7 -0
  28. package/dist/super-editor/core/ExtensionService.d.ts.map +1 -1
  29. package/dist/super-editor/docx-zipper.es.js +2 -2
  30. package/dist/super-editor/editor.es.js +3 -3
  31. package/dist/super-editor/file-zipper.es.js +1 -1
  32. package/dist/super-editor/super-editor.es.js +8 -8
  33. package/dist/super-editor/toolbar.es.js +2 -2
  34. package/dist/super-editor.cjs +2 -2
  35. package/dist/super-editor.es.js +2 -2
  36. package/dist/superdoc.cjs +8 -8
  37. package/dist/superdoc.es.js +9 -9
  38. package/dist/superdoc.umd.js +45 -20
  39. package/dist/superdoc.umd.js.map +1 -1
  40. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { g as getDefaultExportFromCjs } from "./jszip-eJOLo2UN.es.js";
1
+ import { g as getDefaultExportFromCjs } from "./jszip-BwJb6_S5.es.js";
2
2
  var eventemitter3 = { exports: {} };
3
3
  var hasRequiredEventemitter3;
4
4
  function requireEventemitter3() {
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const jszip = require("./jszip-BgN565V6.cjs");
2
+ const jszip = require("./jszip-DWfnW2xV.cjs");
3
3
  var eventemitter3 = { exports: {} };
4
4
  var hasRequiredEventemitter3;
5
5
  function requireEventemitter3() {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
- const jszip = require("./jszip-BgN565V6.cjs");
3
- const index$2 = require("./index-Dz0ZMALg.cjs");
2
+ const jszip = require("./jszip-DWfnW2xV.cjs");
3
+ const index$2 = require("./index-ibuaxW1X.cjs");
4
4
  function _mergeNamespaces(n, m) {
5
5
  for (var i = 0; i < m.length; i++) {
6
6
  const e = m[i];
@@ -1,5 +1,5 @@
1
- import { g as getDefaultExportFromCjs } from "./jszip-eJOLo2UN.es.js";
2
- import { r as requireStreamHttp } from "./index-CEIbpU5u.es.js";
1
+ import { g as getDefaultExportFromCjs } from "./jszip-BwJb6_S5.es.js";
2
+ import { r as requireStreamHttp } from "./index-D612mw4O.es.js";
3
3
  function _mergeNamespaces(n, m) {
4
4
  for (var i = 0; i < m.length; i++) {
5
5
  const e = m[i];
@@ -1,7 +1,7 @@
1
- import { c as commonjsGlobal, B as Buffer, a as getAugmentedNamespace } from "./jszip-eJOLo2UN.es.js";
2
- import { p as process$1 } from "./vue-aMYj79Bx.es.js";
3
- import { r as require_stream_readable, a as require_stream_writable, b as require_stream_duplex, c as require_stream_transform, d as require_stream_passthrough, e as requireEndOfStream, f as requirePipeline, g as requireInherits_browser } from "./xml-js-BWZkA4YC.es.js";
4
- import { u as url } from "./url-D1vPFtjG.es.js";
1
+ import { c as commonjsGlobal, B as Buffer, a as getAugmentedNamespace } from "./jszip-BwJb6_S5.es.js";
2
+ import { p as process$1 } from "./vue-B_OPNNfX.es.js";
3
+ import { r as require_stream_readable, a as require_stream_writable, b as require_stream_duplex, c as require_stream_transform, d as require_stream_passthrough, e as requireEndOfStream, f as requirePipeline, g as requireInherits_browser } from "./xml-js-Bn0K9fTK.es.js";
4
+ import { u as url } from "./url-CNqDAz7z.es.js";
5
5
  var streamHttp = {};
6
6
  var request = { exports: {} };
7
7
  var capability = {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
- const jszip = require("./jszip-BgN565V6.cjs");
3
- const index$2 = require("./index-Dz0ZMALg.cjs");
2
+ const jszip = require("./jszip-DWfnW2xV.cjs");
3
+ const index$2 = require("./index-ibuaxW1X.cjs");
4
4
  function _mergeNamespaces(n, m) {
5
5
  for (var i = 0; i < m.length; i++) {
6
6
  const e = m[i];
@@ -1,5 +1,5 @@
1
- import { g as getDefaultExportFromCjs } from "./jszip-eJOLo2UN.es.js";
2
- import { r as requireStreamHttp, a as require$$1 } from "./index-CEIbpU5u.es.js";
1
+ import { g as getDefaultExportFromCjs } from "./jszip-BwJb6_S5.es.js";
2
+ import { r as requireStreamHttp, a as require$$1 } from "./index-D612mw4O.es.js";
3
3
  function _mergeNamespaces(n, m) {
4
4
  for (var i = 0; i < m.length; i++) {
5
5
  const e = m[i];
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
- const jszip = require("./jszip-BgN565V6.cjs");
3
- const vue = require("./vue-BLDJYAe8.cjs");
4
- const xmlJs = require("./xml-js-DahUgrqx.cjs");
5
- const url = require("./url-yluXzDeN.cjs");
2
+ const jszip = require("./jszip-DWfnW2xV.cjs");
3
+ const vue = require("./vue-CfKg12kH.cjs");
4
+ const xmlJs = require("./xml-js-B_rfwhrZ.cjs");
5
+ const url = require("./url-7PXI9_kJ.cjs");
6
6
  var streamHttp = {};
7
7
  var request = { exports: {} };
8
8
  var capability = {};
@@ -1,4 +1,4 @@
1
- import "./vue-aMYj79Bx.es.js";
1
+ import "./vue-B_OPNNfX.es.js";
2
2
  var buffer = {};
3
3
  var base64Js = {};
4
4
  base64Js.byteLength = byteLength;
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- require("./vue-BLDJYAe8.cjs");
2
+ require("./vue-CfKg12kH.cjs");
3
3
  var buffer = {};
4
4
  var base64Js = {};
5
5
  base64Js.byteLength = byteLength;
@@ -1,4 +1,4 @@
1
- import { g as global$2, r as ref$1, c as createApp, a as computed, b as createElementBlock, o as openBlock, F as Fragment$1, d as renderList, n as normalizeClass, w as withModifiers, e as createCommentVNode, t as toDisplayString, f as createBaseVNode, i as inject, h as onBeforeMount, j as onMounted, k as onBeforeUnmount, l as watch, m as defineComponent, q as getCurrentInstance, s as onDeactivated, u as nextTick, v as createBlock, x as createVNode, y as unref, z as withCtx, A as createTextVNode, B as normalizeStyle, C as h, D as toRef, E as provide, G as mergeProps, H as cloneVNode, T as Text$2, I as withDirectives, J as watchEffect, K as shallowRef, L as vModelText, M as withKeys, N as reactive, O as readonly, P as Transition, Q as vShow, R as Comment, S as renderSlot, U as onActivated, V as Teleport, W as isVNode, X as onUnmounted, Y as resolveDynamicComponent, Z as normalizeProps, _ as guardReactiveProps, $ as markRaw } from "./vue-aMYj79Bx.es.js";
1
+ import { g as global$2, r as ref$1, c as createApp, a as computed, b as createElementBlock, o as openBlock, F as Fragment$1, d as renderList, n as normalizeClass, w as withModifiers, e as createCommentVNode, t as toDisplayString, f as createBaseVNode, i as inject, h as onBeforeMount, j as onMounted, k as onBeforeUnmount, l as watch, m as defineComponent, q as getCurrentInstance, s as onDeactivated, u as nextTick, v as createBlock, x as createVNode, y as unref, z as withCtx, A as createTextVNode, B as normalizeStyle, C as h, D as toRef, E as provide, G as mergeProps, H as cloneVNode, T as Text$2, I as withDirectives, J as watchEffect, K as shallowRef, L as vModelText, M as withKeys, N as reactive, O as readonly, P as Transition, Q as vShow, R as Comment, S as renderSlot, U as onActivated, V as Teleport, W as isVNode, X as onUnmounted, Y as resolveDynamicComponent, Z as normalizeProps, _ as guardReactiveProps, $ as markRaw } from "./vue-B_OPNNfX.es.js";
2
2
  import * as Y from "yjs";
3
3
  import { UndoManager, Item as Item$2, ContentType, Text as Text$1, XmlElement, encodeStateAsUpdate } from "yjs";
4
4
  var __defProp$2 = Object.defineProperty;
@@ -29004,7 +29004,7 @@ const _SuperConverter = class _SuperConverter2 {
29004
29004
  return;
29005
29005
  }
29006
29006
  }
29007
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.15.8") {
29007
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.15.9-next.2") {
29008
29008
  const customLocation = "docProps/custom.xml";
29009
29009
  if (!docx[customLocation]) {
29010
29010
  docx[customLocation] = generateCustomXml();
@@ -29483,7 +29483,7 @@ function storeSuperdocVersion(docx) {
29483
29483
  function generateCustomXml() {
29484
29484
  return DEFAULT_CUSTOM_XML;
29485
29485
  }
29486
- function generateSuperdocVersion(pid = 2, version2 = "0.15.8") {
29486
+ function generateSuperdocVersion(pid = 2, version2 = "0.15.9-next.2") {
29487
29487
  return {
29488
29488
  type: "element",
29489
29489
  name: "property",
@@ -42225,6 +42225,31 @@ const _ExtensionService = class _ExtensionService2 {
42225
42225
  }
42226
42226
  return commandsObject;
42227
42227
  }
42228
+ /**
42229
+ * Get all helper methods defined in the extensions.
42230
+ * Each extension can define its own helper methods.
42231
+ * Example: editor.helpers.linkedStyles.getStyles()
42232
+ * @returns {Object} Object with helper methods for extensions.
42233
+ */
42234
+ get helpers() {
42235
+ const helpersObject = {};
42236
+ for (const extension of this.extensions) {
42237
+ const name = extension.name;
42238
+ if (!name) continue;
42239
+ const context = {
42240
+ name: extension.name,
42241
+ options: extension.options,
42242
+ storage: extension.storage,
42243
+ editor: this.editor,
42244
+ type: getSchemaTypeByName(extension.name, this.schema)
42245
+ };
42246
+ const addHelpers = getExtensionConfigField(extension, "addHelpers", context);
42247
+ if (addHelpers) {
42248
+ helpersObject[name] = addHelpers();
42249
+ }
42250
+ }
42251
+ return helpersObject;
42252
+ }
42228
42253
  /**
42229
42254
  * Get all PM plugins defined in the extensions.
42230
42255
  * And also keyboard shortcuts.
@@ -45200,6 +45225,13 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
45200
45225
  get commands() {
45201
45226
  return __privateGet$1(this, _commandService)?.commands;
45202
45227
  }
45228
+ /**
45229
+ * Get extension helpers.
45230
+ * @returns {EditorHelpers} Object with helper methods for extensions
45231
+ */
45232
+ get helpers() {
45233
+ return this.extensionService.helpers;
45234
+ }
45203
45235
  /**
45204
45236
  * Check if the editor is editable.
45205
45237
  * @returns {boolean}
@@ -45810,7 +45842,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
45810
45842
  * @returns {Object | void} Migration results
45811
45843
  */
45812
45844
  processCollaborationMigrations() {
45813
- console.debug("[checkVersionMigrations] Current editor version", "0.15.8");
45845
+ console.debug("[checkVersionMigrations] Current editor version", "0.15.9-next.2");
45814
45846
  if (!this.options.ydoc) return;
45815
45847
  const metaMap = this.options.ydoc.getMap("meta");
45816
45848
  let docVersion = metaMap.get("version");
@@ -72653,7 +72685,7 @@ const _sfc_main$b = {
72653
72685
  class: "remove-btn__icon",
72654
72686
  innerHTML: unref(toolbarIcons).removeLink
72655
72687
  }, null, 8, _hoisted_12),
72656
- _cache[5] || (_cache[5] = createTextVNode(" Remove ", -1))
72688
+ _cache[5] || (_cache[5] = createTextVNode(" Remove "))
72657
72689
  ])) : createCommentVNode("", true),
72658
72690
  createBaseVNode("button", {
72659
72691
  class: normalizeClass(["submit-btn", { "disable-btn": isDisabled2.value }]),
@@ -72852,7 +72884,7 @@ const _sfc_main$9 = {
72852
72884
  innerHTML: unref(DropIcon),
72853
72885
  class: "none-icon"
72854
72886
  }, null, 8, _hoisted_2$5),
72855
- _cache[1] || (_cache[1] = createTextVNode(" None ", -1))
72887
+ _cache[1] || (_cache[1] = createTextVNode(" None "))
72856
72888
  ])) : createCommentVNode("", true),
72857
72889
  createBaseVNode("div", _hoisted_3$4, [
72858
72890
  createVNode(IconGridRow, {
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const vue = require("./vue-BLDJYAe8.cjs");
2
+ const vue = require("./vue-CfKg12kH.cjs");
3
3
  const Y = require("yjs");
4
4
  function _interopNamespaceDefault(e) {
5
5
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
@@ -29021,7 +29021,7 @@ const _SuperConverter = class _SuperConverter2 {
29021
29021
  return;
29022
29022
  }
29023
29023
  }
29024
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.15.8") {
29024
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.15.9-next.2") {
29025
29025
  const customLocation = "docProps/custom.xml";
29026
29026
  if (!docx[customLocation]) {
29027
29027
  docx[customLocation] = generateCustomXml();
@@ -29500,7 +29500,7 @@ function storeSuperdocVersion(docx) {
29500
29500
  function generateCustomXml() {
29501
29501
  return DEFAULT_CUSTOM_XML;
29502
29502
  }
29503
- function generateSuperdocVersion(pid = 2, version2 = "0.15.8") {
29503
+ function generateSuperdocVersion(pid = 2, version2 = "0.15.9-next.2") {
29504
29504
  return {
29505
29505
  type: "element",
29506
29506
  name: "property",
@@ -42242,6 +42242,31 @@ const _ExtensionService = class _ExtensionService2 {
42242
42242
  }
42243
42243
  return commandsObject;
42244
42244
  }
42245
+ /**
42246
+ * Get all helper methods defined in the extensions.
42247
+ * Each extension can define its own helper methods.
42248
+ * Example: editor.helpers.linkedStyles.getStyles()
42249
+ * @returns {Object} Object with helper methods for extensions.
42250
+ */
42251
+ get helpers() {
42252
+ const helpersObject = {};
42253
+ for (const extension of this.extensions) {
42254
+ const name = extension.name;
42255
+ if (!name) continue;
42256
+ const context = {
42257
+ name: extension.name,
42258
+ options: extension.options,
42259
+ storage: extension.storage,
42260
+ editor: this.editor,
42261
+ type: getSchemaTypeByName(extension.name, this.schema)
42262
+ };
42263
+ const addHelpers = getExtensionConfigField(extension, "addHelpers", context);
42264
+ if (addHelpers) {
42265
+ helpersObject[name] = addHelpers();
42266
+ }
42267
+ }
42268
+ return helpersObject;
42269
+ }
42245
42270
  /**
42246
42271
  * Get all PM plugins defined in the extensions.
42247
42272
  * And also keyboard shortcuts.
@@ -45217,6 +45242,13 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
45217
45242
  get commands() {
45218
45243
  return __privateGet$1(this, _commandService)?.commands;
45219
45244
  }
45245
+ /**
45246
+ * Get extension helpers.
45247
+ * @returns {EditorHelpers} Object with helper methods for extensions
45248
+ */
45249
+ get helpers() {
45250
+ return this.extensionService.helpers;
45251
+ }
45220
45252
  /**
45221
45253
  * Check if the editor is editable.
45222
45254
  * @returns {boolean}
@@ -45827,7 +45859,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
45827
45859
  * @returns {Object | void} Migration results
45828
45860
  */
45829
45861
  processCollaborationMigrations() {
45830
- console.debug("[checkVersionMigrations] Current editor version", "0.15.8");
45862
+ console.debug("[checkVersionMigrations] Current editor version", "0.15.9-next.2");
45831
45863
  if (!this.options.ydoc) return;
45832
45864
  const metaMap = this.options.ydoc.getMap("meta");
45833
45865
  let docVersion = metaMap.get("version");
@@ -72670,7 +72702,7 @@ const _sfc_main$b = {
72670
72702
  class: "remove-btn__icon",
72671
72703
  innerHTML: vue.unref(toolbarIcons).removeLink
72672
72704
  }, null, 8, _hoisted_12),
72673
- _cache[5] || (_cache[5] = vue.createTextVNode(" Remove ", -1))
72705
+ _cache[5] || (_cache[5] = vue.createTextVNode(" Remove "))
72674
72706
  ])) : vue.createCommentVNode("", true),
72675
72707
  vue.createBaseVNode("button", {
72676
72708
  class: vue.normalizeClass(["submit-btn", { "disable-btn": isDisabled2.value }]),
@@ -72869,7 +72901,7 @@ const _sfc_main$9 = {
72869
72901
  innerHTML: vue.unref(DropIcon),
72870
72902
  class: "none-icon"
72871
72903
  }, null, 8, _hoisted_2$5),
72872
- _cache[1] || (_cache[1] = vue.createTextVNode(" None ", -1))
72904
+ _cache[1] || (_cache[1] = vue.createTextVNode(" None "))
72873
72905
  ])) : vue.createCommentVNode("", true),
72874
72906
  vue.createBaseVNode("div", _hoisted_3$4, [
72875
72907
  vue.createVNode(IconGridRow, {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
- const jszip = require("./jszip-BgN565V6.cjs");
3
- const xmlJs = require("./xml-js-DahUgrqx.cjs");
2
+ const jszip = require("./jszip-DWfnW2xV.cjs");
3
+ const xmlJs = require("./xml-js-B_rfwhrZ.cjs");
4
4
  const __viteBrowserExternal = require("./__vite-browser-external-DWbQq7bv.cjs");
5
5
  var punycode$2 = { exports: {} };
6
6
  /*! https://mths.be/punycode v1.4.1 by @mathias */
@@ -1,5 +1,5 @@
1
- import { c as commonjsGlobal, g as getDefaultExportFromCjs, a as getAugmentedNamespace } from "./jszip-eJOLo2UN.es.js";
2
- import { h as requireType, i as requireGetIntrinsic, j as requireCallBound } from "./xml-js-BWZkA4YC.es.js";
1
+ import { c as commonjsGlobal, g as getDefaultExportFromCjs, a as getAugmentedNamespace } from "./jszip-BwJb6_S5.es.js";
2
+ import { h as requireType, i as requireGetIntrinsic, j as requireCallBound } from "./xml-js-Bn0K9fTK.es.js";
3
3
  import { _ as __viteBrowserExternal } from "./__vite-browser-external-CURh0WXD.es.js";
4
4
  var punycode$2 = { exports: {} };
5
5
  /*! https://mths.be/punycode v1.4.1 by @mathias */
@@ -162,7 +162,7 @@ process.umask = function() {
162
162
  var browserExports = browser.exports;
163
163
  const process$1 = /* @__PURE__ */ getDefaultExportFromCjs(browserExports);
164
164
  /**
165
- * @vue/shared v3.5.18
165
+ * @vue/shared v3.5.17
166
166
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
167
167
  * @license MIT
168
168
  **/
@@ -4285,8 +4285,7 @@ function applyOptions(instance) {
4285
4285
  expose.forEach((key) => {
4286
4286
  Object.defineProperty(exposed, key, {
4287
4287
  get: () => publicThis[key],
4288
- set: (val) => publicThis[key] = val,
4289
- enumerable: true
4288
+ set: (val) => publicThis[key] = val
4290
4289
  });
4291
4290
  });
4292
4291
  } else if (!instance.exposed) {
@@ -4732,7 +4731,7 @@ function provide(key, value) {
4732
4731
  }
4733
4732
  }
4734
4733
  function inject(key, defaultValue, treatDefaultAsFactory = false) {
4735
- const instance = getCurrentInstance();
4734
+ const instance = currentInstance || currentRenderingInstance;
4736
4735
  if (instance || currentApp) {
4737
4736
  let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
4738
4737
  if (provides && key in provides) {
@@ -4747,7 +4746,7 @@ function inject(key, defaultValue, treatDefaultAsFactory = false) {
4747
4746
  }
4748
4747
  }
4749
4748
  function hasInjectionContext() {
4750
- return !!(getCurrentInstance() || currentApp);
4749
+ return !!(currentInstance || currentRenderingInstance || currentApp);
4751
4750
  }
4752
4751
  const internalObjectProto = {};
4753
4752
  const createInternalObject = () => Object.create(internalObjectProto);
@@ -5170,7 +5169,7 @@ function isExplicable(type) {
5170
5169
  function isBoolean(...args) {
5171
5170
  return args.some((elem) => elem.toLowerCase() === "boolean");
5172
5171
  }
5173
- const isInternalKey = (key) => key === "_" || key === "__" || key === "_ctx" || key === "$stable";
5172
+ const isInternalKey = (key) => key[0] === "_" || key === "$stable";
5174
5173
  const normalizeSlotValue = (value) => isArray(value) ? value.map(normalizeVNode) : [normalizeVNode(value)];
5175
5174
  const normalizeSlot = (key, rawSlot, ctx) => {
5176
5175
  if (rawSlot._n) {
@@ -5932,7 +5931,6 @@ function baseCreateRenderer(options, createHydrationFns) {
5932
5931
  if (!initialVNode.el) {
5933
5932
  const placeholder = instance.subTree = createVNode(Comment);
5934
5933
  processCommentNode(null, placeholder, container, anchor);
5935
- initialVNode.placeholder = placeholder.el;
5936
5934
  }
5937
5935
  } else {
5938
5936
  setupRenderEffect(
@@ -6402,11 +6400,7 @@ function baseCreateRenderer(options, createHydrationFns) {
6402
6400
  for (i = toBePatched - 1; i >= 0; i--) {
6403
6401
  const nextIndex = s2 + i;
6404
6402
  const nextChild = c2[nextIndex];
6405
- const anchorVNode = c2[nextIndex + 1];
6406
- const anchor = nextIndex + 1 < l2 ? (
6407
- // #13559, fallback to el placeholder for unresolved async component
6408
- anchorVNode.el || anchorVNode.placeholder
6409
- ) : parentAnchor;
6403
+ const anchor = nextIndex + 1 < l2 ? c2[nextIndex + 1].el : parentAnchor;
6410
6404
  if (newIndexToOldIndexMap[i] === 0) {
6411
6405
  patch(
6412
6406
  null,
@@ -7625,7 +7619,6 @@ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false
7625
7619
  suspense: vnode.suspense,
7626
7620
  ssContent: vnode.ssContent && cloneVNode(vnode.ssContent),
7627
7621
  ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),
7628
- placeholder: vnode.placeholder,
7629
7622
  el: vnode.el,
7630
7623
  anchor: vnode.anchor,
7631
7624
  ctx: vnode.ctx,
@@ -8358,7 +8351,7 @@ function initCustomFormatter() {
8358
8351
  window.devtoolsFormatters = [formatter];
8359
8352
  }
8360
8353
  }
8361
- const version = "3.5.18";
8354
+ const version = "3.5.17";
8362
8355
  const warn = !!(process$1.env.NODE_ENV !== "production") ? warn$1 : NOOP;
8363
8356
  !!(process$1.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
8364
8357
  !!(process$1.env.NODE_ENV !== "production") || true ? setDevtoolsHook$1 : NOOP;
@@ -163,7 +163,7 @@ process.umask = function() {
163
163
  var browserExports = browser.exports;
164
164
  const process$1 = /* @__PURE__ */ getDefaultExportFromCjs(browserExports);
165
165
  /**
166
- * @vue/shared v3.5.18
166
+ * @vue/shared v3.5.17
167
167
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
168
168
  * @license MIT
169
169
  **/
@@ -4286,8 +4286,7 @@ function applyOptions(instance) {
4286
4286
  expose.forEach((key) => {
4287
4287
  Object.defineProperty(exposed, key, {
4288
4288
  get: () => publicThis[key],
4289
- set: (val) => publicThis[key] = val,
4290
- enumerable: true
4289
+ set: (val) => publicThis[key] = val
4291
4290
  });
4292
4291
  });
4293
4292
  } else if (!instance.exposed) {
@@ -4733,7 +4732,7 @@ function provide(key, value) {
4733
4732
  }
4734
4733
  }
4735
4734
  function inject(key, defaultValue, treatDefaultAsFactory = false) {
4736
- const instance = getCurrentInstance();
4735
+ const instance = currentInstance || currentRenderingInstance;
4737
4736
  if (instance || currentApp) {
4738
4737
  let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
4739
4738
  if (provides && key in provides) {
@@ -4748,7 +4747,7 @@ function inject(key, defaultValue, treatDefaultAsFactory = false) {
4748
4747
  }
4749
4748
  }
4750
4749
  function hasInjectionContext() {
4751
- return !!(getCurrentInstance() || currentApp);
4750
+ return !!(currentInstance || currentRenderingInstance || currentApp);
4752
4751
  }
4753
4752
  const internalObjectProto = {};
4754
4753
  const createInternalObject = () => Object.create(internalObjectProto);
@@ -5171,7 +5170,7 @@ function isExplicable(type) {
5171
5170
  function isBoolean(...args) {
5172
5171
  return args.some((elem) => elem.toLowerCase() === "boolean");
5173
5172
  }
5174
- const isInternalKey = (key) => key === "_" || key === "__" || key === "_ctx" || key === "$stable";
5173
+ const isInternalKey = (key) => key[0] === "_" || key === "$stable";
5175
5174
  const normalizeSlotValue = (value) => isArray(value) ? value.map(normalizeVNode) : [normalizeVNode(value)];
5176
5175
  const normalizeSlot = (key, rawSlot, ctx) => {
5177
5176
  if (rawSlot._n) {
@@ -5933,7 +5932,6 @@ function baseCreateRenderer(options, createHydrationFns) {
5933
5932
  if (!initialVNode.el) {
5934
5933
  const placeholder = instance.subTree = createVNode(Comment);
5935
5934
  processCommentNode(null, placeholder, container, anchor);
5936
- initialVNode.placeholder = placeholder.el;
5937
5935
  }
5938
5936
  } else {
5939
5937
  setupRenderEffect(
@@ -6403,11 +6401,7 @@ function baseCreateRenderer(options, createHydrationFns) {
6403
6401
  for (i = toBePatched - 1; i >= 0; i--) {
6404
6402
  const nextIndex = s2 + i;
6405
6403
  const nextChild = c2[nextIndex];
6406
- const anchorVNode = c2[nextIndex + 1];
6407
- const anchor = nextIndex + 1 < l2 ? (
6408
- // #13559, fallback to el placeholder for unresolved async component
6409
- anchorVNode.el || anchorVNode.placeholder
6410
- ) : parentAnchor;
6404
+ const anchor = nextIndex + 1 < l2 ? c2[nextIndex + 1].el : parentAnchor;
6411
6405
  if (newIndexToOldIndexMap[i] === 0) {
6412
6406
  patch(
6413
6407
  null,
@@ -7626,7 +7620,6 @@ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false
7626
7620
  suspense: vnode.suspense,
7627
7621
  ssContent: vnode.ssContent && cloneVNode(vnode.ssContent),
7628
7622
  ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),
7629
- placeholder: vnode.placeholder,
7630
7623
  el: vnode.el,
7631
7624
  anchor: vnode.anchor,
7632
7625
  ctx: vnode.ctx,
@@ -8359,7 +8352,7 @@ function initCustomFormatter() {
8359
8352
  window.devtoolsFormatters = [formatter];
8360
8353
  }
8361
8354
  }
8362
- const version = "3.5.18";
8355
+ const version = "3.5.17";
8363
8356
  const warn = !!(process$1.env.NODE_ENV !== "production") ? warn$1 : NOOP;
8364
8357
  !!(process$1.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
8365
8358
  !!(process$1.env.NODE_ENV !== "production") || true ? setDevtoolsHook$1 : NOOP;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
- const vue = require("./vue-BLDJYAe8.cjs");
3
- const jszip = require("./jszip-BgN565V6.cjs");
2
+ const vue = require("./vue-CfKg12kH.cjs");
3
+ const jszip = require("./jszip-DWfnW2xV.cjs");
4
4
  var inherits_browser = { exports: {} };
5
5
  var hasRequiredInherits_browser;
6
6
  function requireInherits_browser() {
@@ -1,5 +1,5 @@
1
- import { p as process$1 } from "./vue-aMYj79Bx.es.js";
2
- import { c as commonjsGlobal } from "./jszip-eJOLo2UN.es.js";
1
+ import { p as process$1 } from "./vue-B_OPNNfX.es.js";
2
+ import { c as commonjsGlobal } from "./jszip-BwJb6_S5.es.js";
3
3
  var inherits_browser = { exports: {} };
4
4
  var hasRequiredInherits_browser;
5
5
  function requireInherits_browser() {
@@ -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-CSRShW34.js";
3
- import { _ as _export_sfc } from "./chunks/editor-D22RGluu.js";
2
+ import { T as TextSelection } from "./chunks/converter-VR7VrqFe.js";
3
+ import { _ as _export_sfc } from "./chunks/editor-Di5rb4hZ.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 = {}) {
@@ -29002,7 +29002,7 @@ const _SuperConverter = class _SuperConverter {
29002
29002
  return;
29003
29003
  }
29004
29004
  }
29005
- static updateDocumentVersion(docx = this.convertedXml, version = "0.15.8") {
29005
+ static updateDocumentVersion(docx = this.convertedXml, version = "0.15.9-next.2") {
29006
29006
  const customLocation = "docProps/custom.xml";
29007
29007
  if (!docx[customLocation]) {
29008
29008
  docx[customLocation] = generateCustomXml();
@@ -29484,7 +29484,7 @@ function storeSuperdocVersion(docx) {
29484
29484
  function generateCustomXml() {
29485
29485
  return DEFAULT_CUSTOM_XML;
29486
29486
  }
29487
- function generateSuperdocVersion(pid = 2, version = "0.15.8") {
29487
+ function generateSuperdocVersion(pid = 2, version = "0.15.9-next.2") {
29488
29488
  return {
29489
29489
  type: "element",
29490
29490
  name: "property",
@@ -1,4 +1,4 @@
1
- import { H as process$1, at as commonjsGlobal, I as Buffer, au as getDefaultExportFromCjs, av as getContentTypesFromXml, aw as xmljs } from "./converter-CSRShW34.js";
1
+ import { H as process$1, at as commonjsGlobal, I as Buffer, au as getDefaultExportFromCjs, av as getContentTypesFromXml, aw as xmljs } from "./converter-VR7VrqFe.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, _editor, _stateValidators, _requiredNodeTypes, _requiredMarkTypes, _SuperValidator_instances, initializeValidators_fn, collectValidatorRequirements_fn, analyzeDocument_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, dispatchTransaction_fn, handleNodeSelection_fn, prepareDocumentForImport_fn, prepareDocumentForExport_fn, endCollaboration_fn, validateDocumentInit_fn, _ListItemNodeView_instances, init_fn2, _FieldAnnotationView_instances, createAnnotation_fn, _AutoPageNumberNodeView_instances, renderDom_fn, scheduleUpdateNodeStyle_fn, _DocumentSectionView_instances, init_fn3, addToolTip_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, g as getExtensionConfigField, b as getMarkType, d as getMarksFromSelection, e as getNodeType, f as getSchemaTypeNameByName, S as Schema$1, h as cleanSchemaItem, T as TextSelection, i as canSplit, l as liftTarget, A as AllSelection, j as canJoin, k as joinPoint, N as NodeSelection, m as Selection, r as replaceStep$1, F as Fragment, R as ReplaceAroundStep$1, n as Slice, o as defaultBlockAt$1, p as isTextSelection, q as getMarkRange, s as isMarkActive, t as isNodeActive, u as deleteProps, D as DOMParser$1, v as ReplaceStep, w as NodeRange, x as findWrapping, y as findParentNode, L as ListHelpers, z as isMacOS, B as isIOS, C as DOMSerializer, E as Mark$1, G as dropPoint, H as process$1, I as Buffer2, J as getSchemaTypeByName, K as inputRulesPlugin, O as TrackDeleteMarkName, Q as TrackInsertMarkName, U as v4, V as TrackFormatMarkName, W as comments_module_events, X as findMark, Y as objectIncludes, Z as AddMarkStep, _ as RemoveMarkStep, $ as twipsToLines, a0 as pixelsToTwips, a1 as helpers, a2 as posToDOMRect, a3 as CommandService, a4 as SuperConverter, a5 as createDocument, a6 as EditorState, a7 as hasSomeParentWithClass, a8 as isActive, a9 as unflattenListsInHtml, aa as parseSizeUnit, ab as minMax, ac as getLineHeightValueString, ad as InputRule, ae as kebabCase, af as generateOrderedListIndex, ag as getListItemStyleDefinitions, ah as docxNumberigHelpers, ai as parseIndentElement, aj as combineIndents, ak as getColStyleDeclaration, al as SelectionRange, am as Transform, an as findParentNodeClosestToPos, ao as isInTable$1, ap as createColGroup, aq as generateDocxRandomId, ar as SectionHelpers, as as htmlHandler } from "./converter-CSRShW34.js";
15
+ import { P as PluginKey, a as Plugin, M as Mapping, c as callOrGet, g as getExtensionConfigField, b as getMarkType, d as getMarksFromSelection, e as getNodeType, f as getSchemaTypeNameByName, S as Schema$1, h as cleanSchemaItem, T as TextSelection, i as canSplit, l as liftTarget, A as AllSelection, j as canJoin, k as joinPoint, N as NodeSelection, m as Selection, r as replaceStep$1, F as Fragment, R as ReplaceAroundStep$1, n as Slice, o as defaultBlockAt$1, p as isTextSelection, q as getMarkRange, s as isMarkActive, t as isNodeActive, u as deleteProps, D as DOMParser$1, v as ReplaceStep, w as NodeRange, x as findWrapping, y as findParentNode, L as ListHelpers, z as isMacOS, B as isIOS, C as DOMSerializer, E as Mark$1, G as dropPoint, H as process$1, I as Buffer2, J as getSchemaTypeByName, K as inputRulesPlugin, O as TrackDeleteMarkName, Q as TrackInsertMarkName, U as v4, V as TrackFormatMarkName, W as comments_module_events, X as findMark, Y as objectIncludes, Z as AddMarkStep, _ as RemoveMarkStep, $ as twipsToLines, a0 as pixelsToTwips, a1 as helpers, a2 as posToDOMRect, a3 as CommandService, a4 as SuperConverter, a5 as createDocument, a6 as EditorState, a7 as hasSomeParentWithClass, a8 as isActive, a9 as unflattenListsInHtml, aa as parseSizeUnit, ab as minMax, ac as getLineHeightValueString, ad as InputRule, ae as kebabCase, af as generateOrderedListIndex, ag as getListItemStyleDefinitions, ah as docxNumberigHelpers, ai as parseIndentElement, aj as combineIndents, ak as getColStyleDeclaration, al as SelectionRange, am as Transform, an as findParentNodeClosestToPos, ao as isInTable$1, ap as createColGroup, aq as generateDocxRandomId, ar as SectionHelpers, as as htmlHandler } from "./converter-VR7VrqFe.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-B82VypHV.js";
17
+ import { D as DocxZipper } from "./docx-zipper-DH16t7d2.js";
18
18
  var GOOD_LEAF_SIZE = 200;
19
19
  var RopeSequence = function RopeSequence2() {
20
20
  };
@@ -10205,6 +10205,31 @@ const _ExtensionService = class _ExtensionService {
10205
10205
  }
10206
10206
  return commandsObject;
10207
10207
  }
10208
+ /**
10209
+ * Get all helper methods defined in the extensions.
10210
+ * Each extension can define its own helper methods.
10211
+ * Example: editor.helpers.linkedStyles.getStyles()
10212
+ * @returns {Object} Object with helper methods for extensions.
10213
+ */
10214
+ get helpers() {
10215
+ const helpersObject = {};
10216
+ for (const extension of this.extensions) {
10217
+ const name = extension.name;
10218
+ if (!name) continue;
10219
+ const context = {
10220
+ name: extension.name,
10221
+ options: extension.options,
10222
+ storage: extension.storage,
10223
+ editor: this.editor,
10224
+ type: getSchemaTypeByName(extension.name, this.schema)
10225
+ };
10226
+ const addHelpers = getExtensionConfigField(extension, "addHelpers", context);
10227
+ if (addHelpers) {
10228
+ helpersObject[name] = addHelpers();
10229
+ }
10230
+ }
10231
+ return helpersObject;
10232
+ }
10208
10233
  /**
10209
10234
  * Get all PM plugins defined in the extensions.
10210
10235
  * And also keyboard shortcuts.
@@ -13235,6 +13260,13 @@ const _Editor = class _Editor extends EventEmitter {
13235
13260
  get commands() {
13236
13261
  return __privateGet(this, _commandService)?.commands;
13237
13262
  }
13263
+ /**
13264
+ * Get extension helpers.
13265
+ * @returns {EditorHelpers} Object with helper methods for extensions
13266
+ */
13267
+ get helpers() {
13268
+ return this.extensionService.helpers;
13269
+ }
13238
13270
  /**
13239
13271
  * Check if the editor is editable.
13240
13272
  * @returns {boolean}
@@ -13845,7 +13877,7 @@ const _Editor = class _Editor extends EventEmitter {
13845
13877
  * @returns {Object | void} Migration results
13846
13878
  */
13847
13879
  processCollaborationMigrations() {
13848
- console.debug("[checkVersionMigrations] Current editor version", "0.15.8");
13880
+ console.debug("[checkVersionMigrations] Current editor version", "0.15.9-next.2");
13849
13881
  if (!this.options.ydoc) return;
13850
13882
  const metaMap = this.options.ydoc.getMap("meta");
13851
13883
  let docVersion = metaMap.get("version");
@@ -1,6 +1,6 @@
1
1
  import { computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, normalizeClass, normalizeStyle, ref, withKeys, unref, withModifiers, createBlock, toDisplayString, withDirectives, vModelText, nextTick, getCurrentInstance, createVNode, readonly, watch, onMounted, onBeforeUnmount, reactive, onBeforeMount, inject, onActivated, onDeactivated, createTextVNode, Fragment, Comment, defineComponent, provide, h, Teleport, toRef, renderSlot, isVNode, shallowRef, watchEffect, mergeProps, Transition, vShow, cloneVNode, Text, renderList, withCtx } from "vue";
2
- import { H as process$1 } from "./converter-CSRShW34.js";
3
- import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-D22RGluu.js";
2
+ import { H as process$1 } from "./converter-VR7VrqFe.js";
3
+ import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-Di5rb4hZ.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 { a4 } from "./chunks/converter-CSRShW34.js";
1
+ import { a4 } from "./chunks/converter-VR7VrqFe.js";
2
2
  export {
3
3
  a4 as SuperConverter
4
4
  };