@harbour-enterprises/superdoc 0.29.0-next.7 → 0.29.0-next.8

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 (155) hide show
  1. package/dist/chunks/{PdfViewer-D2cnJhM1.es.js → PdfViewer-D52oZlMN.es.js} +2 -2
  2. package/dist/chunks/{PdfViewer-DyUG4__F.cjs → PdfViewer-DN5OVJ2m.cjs} +1 -1
  3. package/dist/chunks/{eventemitter3-xrnx5jJP.es.js → eventemitter3-D4gv5QOO.es.js} +1 -1
  4. package/dist/chunks/{index-DC11bH-A.es.js → index-Ckp6Xz_9.es.js} +166 -121
  5. package/dist/chunks/{index-BqhJhdcP-Dm9pUO-L.cjs → index-D08c3nkG-CEL2t8xk.cjs} +1 -1
  6. package/dist/chunks/{index-BqhJhdcP-B9XbOefk.es.js → index-D08c3nkG-DhTHMiRT.es.js} +1 -1
  7. package/dist/chunks/{index-DZIAPuKc.cjs → index-l9QIxky6.cjs} +164 -119
  8. package/dist/chunks/{jszip-9Y3n05fi.es.js → jszip-Bhl-Iudl.es.js} +1 -1
  9. package/dist/chunks/{super-editor.es-DNPslOnx.es.js → super-editor.es-BMKdFBfO.es.js} +138 -107
  10. package/dist/chunks/{super-editor.es-607cvQXw.cjs → super-editor.es-DfufVFpB.cjs} +136 -105
  11. package/dist/chunks/{vue-DVNiXx7E.es.js → vue-D1vcEBAQ.es.js} +17 -17
  12. package/dist/chunks/xml-js-jMPlIVKT.es.js +2 -0
  13. package/dist/packages/superdoc/src/components/CommentsLayer/comment-schemas.d.ts.map +1 -0
  14. package/dist/packages/superdoc/src/components/CommentsLayer/commentsList/super-comments-list.d.ts.map +1 -0
  15. package/dist/packages/superdoc/src/components/CommentsLayer/helpers.d.ts.map +1 -0
  16. package/dist/packages/superdoc/src/components/CommentsLayer/types.d.ts.map +1 -0
  17. package/dist/packages/superdoc/src/components/CommentsLayer/use-comment.d.ts.map +1 -0
  18. package/dist/packages/superdoc/src/components/CommentsLayer/use-conversation.d.ts.map +1 -0
  19. package/dist/packages/superdoc/src/components/CommentsLayer/use-floating-comment.d.ts.map +1 -0
  20. package/dist/packages/superdoc/src/components/PdfViewer/helpers/range.d.ts.map +1 -0
  21. package/dist/packages/superdoc/src/components/PdfViewer/helpers/read-file.d.ts.map +1 -0
  22. package/dist/packages/superdoc/src/components/PdfViewer/pdf/pdf-adapter.d.ts.map +1 -0
  23. package/dist/packages/superdoc/src/composables/use-ai.d.ts.map +1 -0
  24. package/dist/packages/superdoc/src/composables/use-document.d.ts.map +1 -0
  25. package/dist/packages/superdoc/src/composables/use-field.d.ts.map +1 -0
  26. package/dist/packages/superdoc/src/composables/use-high-contrast-mode.d.ts.map +1 -0
  27. package/dist/packages/superdoc/src/composables/use-selected-text.d.ts.map +1 -0
  28. package/dist/{core → packages/superdoc/src/core}/SuperDoc.d.ts +1 -1
  29. package/dist/packages/superdoc/src/core/SuperDoc.d.ts.map +1 -0
  30. package/dist/packages/superdoc/src/core/collaboration/collaboration-comments.d.ts.map +1 -0
  31. package/dist/packages/superdoc/src/core/collaboration/collaboration.d.ts.map +1 -0
  32. package/dist/packages/superdoc/src/core/collaboration/helpers.d.ts.map +1 -0
  33. package/dist/packages/superdoc/src/core/collaboration/permissions.d.ts.map +1 -0
  34. package/dist/packages/superdoc/src/core/create-app.d.ts.map +1 -0
  35. package/dist/packages/superdoc/src/core/helpers/export.d.ts.map +1 -0
  36. package/dist/packages/superdoc/src/core/helpers/file.d.ts.map +1 -0
  37. package/dist/{core → packages/superdoc/src/core}/index.d.ts.map +1 -1
  38. package/dist/packages/superdoc/src/core/types/index.d.ts.map +1 -0
  39. package/dist/packages/superdoc/src/helpers/floor.d.ts.map +1 -0
  40. package/dist/packages/superdoc/src/helpers/group-changes.d.ts.map +1 -0
  41. package/dist/packages/superdoc/src/helpers/use-selection.d.ts.map +1 -0
  42. package/dist/{icons.d.ts.map → packages/superdoc/src/icons.d.ts.map} +1 -1
  43. package/dist/{index.d.ts → packages/superdoc/src/index.d.ts} +5 -5
  44. package/dist/packages/superdoc/src/index.d.ts.map +1 -0
  45. package/dist/packages/superdoc/src/main.d.ts.map +1 -0
  46. package/dist/{stores → packages/superdoc/src/stores}/comments-store.d.ts +36 -36
  47. package/dist/packages/superdoc/src/stores/comments-store.d.ts.map +1 -0
  48. package/dist/packages/superdoc/src/stores/hrbr-fields-store.d.ts.map +1 -0
  49. package/dist/{stores → packages/superdoc/src/stores}/superdoc-store.d.ts +110 -110
  50. package/dist/{stores → packages/superdoc/src/stores}/superdoc-store.d.ts.map +1 -1
  51. package/dist/{super-editor.d.ts.map → packages/superdoc/src/super-editor.d.ts.map} +1 -1
  52. package/dist/shared/common/Telemetry.d.ts +237 -0
  53. package/dist/shared/common/Telemetry.d.ts.map +1 -0
  54. package/dist/shared/common/collaboration/awareness.d.ts +39 -0
  55. package/dist/shared/common/collaboration/awareness.d.ts.map +1 -0
  56. package/dist/shared/common/document-types.d.ts +10 -0
  57. package/dist/shared/common/document-types.d.ts.map +1 -0
  58. package/dist/shared/common/event-types.d.ts +14 -0
  59. package/dist/shared/common/event-types.d.ts.map +1 -0
  60. package/dist/shared/common/helpers/compare-superdoc-versions.d.ts +8 -0
  61. package/dist/shared/common/helpers/compare-superdoc-versions.d.ts.map +1 -0
  62. package/dist/shared/common/helpers/get-file-object.d.ts +50 -0
  63. package/dist/shared/common/helpers/get-file-object.d.ts.map +1 -0
  64. package/dist/shared/common/helpers/v-click-outside.d.ts +11 -0
  65. package/dist/shared/common/helpers/v-click-outside.d.ts.map +1 -0
  66. package/dist/shared/common/index.d.ts +10 -0
  67. package/dist/shared/common/index.d.ts.map +1 -0
  68. package/dist/shared/common/key-transform.d.ts +44 -0
  69. package/dist/shared/common/key-transform.d.ts.map +1 -0
  70. package/dist/style.css +56 -56
  71. package/dist/super-editor/ai-writer.es.js +3 -3
  72. package/dist/super-editor/chunks/{converter--SREdiqQ.js → converter-CqYeAv65.js} +324 -47
  73. package/dist/super-editor/chunks/{docx-zipper-BRGsc2Y2.js → docx-zipper-C97RawM-.js} +1 -1
  74. package/dist/super-editor/chunks/{editor-DsKLhlKe.js → editor-BrxCRICL.js} +4 -4
  75. package/dist/super-editor/chunks/{index-BqhJhdcP.js → index-D08c3nkG.js} +1 -1
  76. package/dist/super-editor/chunks/{toolbar-Dqed7MP7.js → toolbar-B33VzEsn.js} +2 -2
  77. package/dist/super-editor/converter.es.js +1 -2
  78. package/dist/super-editor/docx-zipper.es.js +2 -2
  79. package/dist/super-editor/editor.es.js +3 -3
  80. package/dist/super-editor/file-zipper.es.js +1 -1
  81. package/dist/super-editor/style.css +29 -29
  82. package/dist/super-editor/super-editor/src/index.d.ts +0 -1
  83. package/dist/super-editor/super-editor/src/index.d.ts.map +1 -1
  84. package/dist/super-editor/super-editor.es.js +77 -50
  85. package/dist/super-editor/toolbar.es.js +2 -2
  86. package/dist/super-editor.cjs +3 -3
  87. package/dist/super-editor.es.js +2 -2
  88. package/dist/superdoc.cjs +2 -3
  89. package/dist/superdoc.es.js +2 -3
  90. package/dist/superdoc.umd.js +44226 -44150
  91. package/dist/superdoc.umd.js.map +1 -1
  92. package/package.json +3 -3
  93. package/dist/chunks/xml-js-ByyNjzYS.es.js +0 -2
  94. package/dist/components/CommentsLayer/comment-schemas.d.ts.map +0 -1
  95. package/dist/components/CommentsLayer/commentsList/super-comments-list.d.ts.map +0 -1
  96. package/dist/components/CommentsLayer/helpers.d.ts.map +0 -1
  97. package/dist/components/CommentsLayer/types.d.ts.map +0 -1
  98. package/dist/components/CommentsLayer/use-comment.d.ts.map +0 -1
  99. package/dist/components/CommentsLayer/use-conversation.d.ts.map +0 -1
  100. package/dist/components/CommentsLayer/use-floating-comment.d.ts.map +0 -1
  101. package/dist/components/PdfViewer/helpers/range.d.ts.map +0 -1
  102. package/dist/components/PdfViewer/helpers/read-file.d.ts.map +0 -1
  103. package/dist/components/PdfViewer/pdf/pdf-adapter.d.ts.map +0 -1
  104. package/dist/composables/use-ai.d.ts.map +0 -1
  105. package/dist/composables/use-document.d.ts.map +0 -1
  106. package/dist/composables/use-field.d.ts.map +0 -1
  107. package/dist/composables/use-high-contrast-mode.d.ts.map +0 -1
  108. package/dist/composables/use-selected-text.d.ts.map +0 -1
  109. package/dist/core/SuperDoc.d.ts.map +0 -1
  110. package/dist/core/collaboration/collaboration-comments.d.ts.map +0 -1
  111. package/dist/core/collaboration/collaboration.d.ts.map +0 -1
  112. package/dist/core/collaboration/helpers.d.ts.map +0 -1
  113. package/dist/core/collaboration/permissions.d.ts.map +0 -1
  114. package/dist/core/create-app.d.ts.map +0 -1
  115. package/dist/core/helpers/export.d.ts.map +0 -1
  116. package/dist/core/helpers/file.d.ts.map +0 -1
  117. package/dist/core/types/index.d.ts.map +0 -1
  118. package/dist/helpers/floor.d.ts.map +0 -1
  119. package/dist/helpers/group-changes.d.ts.map +0 -1
  120. package/dist/helpers/use-selection.d.ts.map +0 -1
  121. package/dist/index.d.ts.map +0 -1
  122. package/dist/main.d.ts.map +0 -1
  123. package/dist/stores/comments-store.d.ts.map +0 -1
  124. package/dist/stores/hrbr-fields-store.d.ts.map +0 -1
  125. /package/dist/{components → packages/superdoc/src/components}/CommentsLayer/comment-schemas.d.ts +0 -0
  126. /package/dist/{components → packages/superdoc/src/components}/CommentsLayer/commentsList/super-comments-list.d.ts +0 -0
  127. /package/dist/{components → packages/superdoc/src/components}/CommentsLayer/helpers.d.ts +0 -0
  128. /package/dist/{components → packages/superdoc/src/components}/CommentsLayer/types.d.ts +0 -0
  129. /package/dist/{components → packages/superdoc/src/components}/CommentsLayer/use-comment.d.ts +0 -0
  130. /package/dist/{components → packages/superdoc/src/components}/CommentsLayer/use-conversation.d.ts +0 -0
  131. /package/dist/{components → packages/superdoc/src/components}/CommentsLayer/use-floating-comment.d.ts +0 -0
  132. /package/dist/{components → packages/superdoc/src/components}/PdfViewer/helpers/range.d.ts +0 -0
  133. /package/dist/{components → packages/superdoc/src/components}/PdfViewer/helpers/read-file.d.ts +0 -0
  134. /package/dist/{components → packages/superdoc/src/components}/PdfViewer/pdf/pdf-adapter.d.ts +0 -0
  135. /package/dist/{composables → packages/superdoc/src/composables}/use-ai.d.ts +0 -0
  136. /package/dist/{composables → packages/superdoc/src/composables}/use-document.d.ts +0 -0
  137. /package/dist/{composables → packages/superdoc/src/composables}/use-field.d.ts +0 -0
  138. /package/dist/{composables → packages/superdoc/src/composables}/use-high-contrast-mode.d.ts +0 -0
  139. /package/dist/{composables → packages/superdoc/src/composables}/use-selected-text.d.ts +0 -0
  140. /package/dist/{core → packages/superdoc/src/core}/collaboration/collaboration-comments.d.ts +0 -0
  141. /package/dist/{core → packages/superdoc/src/core}/collaboration/collaboration.d.ts +0 -0
  142. /package/dist/{core → packages/superdoc/src/core}/collaboration/helpers.d.ts +0 -0
  143. /package/dist/{core → packages/superdoc/src/core}/collaboration/permissions.d.ts +0 -0
  144. /package/dist/{core → packages/superdoc/src/core}/create-app.d.ts +0 -0
  145. /package/dist/{core → packages/superdoc/src/core}/helpers/export.d.ts +0 -0
  146. /package/dist/{core → packages/superdoc/src/core}/helpers/file.d.ts +0 -0
  147. /package/dist/{core → packages/superdoc/src/core}/index.d.ts +0 -0
  148. /package/dist/{core → packages/superdoc/src/core}/types/index.d.ts +0 -0
  149. /package/dist/{helpers → packages/superdoc/src/helpers}/floor.d.ts +0 -0
  150. /package/dist/{helpers → packages/superdoc/src/helpers}/group-changes.d.ts +0 -0
  151. /package/dist/{helpers → packages/superdoc/src/helpers}/use-selection.d.ts +0 -0
  152. /package/dist/{icons.d.ts → packages/superdoc/src/icons.d.ts} +0 -0
  153. /package/dist/{main.d.ts → packages/superdoc/src/main.d.ts} +0 -0
  154. /package/dist/{stores → packages/superdoc/src/stores}/hrbr-fields-store.d.ts +0 -0
  155. /package/dist/{super-editor.d.ts → packages/superdoc/src/super-editor.d.ts} +0 -0
@@ -33137,70 +33137,74 @@ const DocxHelpers = {
33137
33137
  getNewRelationshipId
33138
33138
  };
33139
33139
  const kebabCase$1 = (str) => str.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);
33140
- const comments_module_events = Object.freeze({
33141
- RESOLVED: "resolved",
33142
- NEW: "new",
33140
+ const comments_module_events = {
33143
33141
  ADD: "add",
33144
33142
  UPDATE: "update",
33145
- DELETED: "deleted",
33146
- PENDING: "pending",
33147
- SELECTED: "selected",
33148
- // Comments list
33149
- COMMENTS_LIST: "comments-list",
33150
- // Tracked changes
33151
- CHANGE_ACCEPTED: "change-accepted",
33152
- CHANGE_REJECTED: "change-rejected"
33153
- });
33143
+ SELECTED: "selected"
33144
+ };
33145
+ class FileObjectError extends Error {
33146
+ constructor(message, cause) {
33147
+ super(message);
33148
+ this.cause = cause;
33149
+ this.name = "FileObjectError";
33150
+ if (typeof Error.captureStackTrace === "function") {
33151
+ Error.captureStackTrace(this, FileObjectError);
33152
+ }
33153
+ }
33154
+ }
33155
+ class InvalidDataUriError extends FileObjectError {
33156
+ constructor(uri2) {
33157
+ super(`Invalid data URI format: URI must contain exactly one comma separator`);
33158
+ this.uri = uri2;
33159
+ this.name = "InvalidDataUriError";
33160
+ }
33161
+ }
33162
+ class FetchFailedError extends FileObjectError {
33163
+ constructor(url, cause) {
33164
+ super(`Failed to fetch file from URL: ${url}`, cause);
33165
+ this.url = url;
33166
+ this.name = "FetchFailedError";
33167
+ }
33168
+ }
33154
33169
  const getFileObject = async (fileUrl, name, type2) => {
33155
- if (fileUrl.startsWith("data:") && fileUrl.includes(";base64,")) {
33156
- const binary = atob(fileUrl.split(",")[1]);
33157
- const bytes = Uint8Array.from(binary, (c2) => c2.charCodeAt(0));
33158
- return new File([bytes], name, { type: type2 });
33170
+ try {
33171
+ if (fileUrl.startsWith("data:") && fileUrl.includes(";base64,")) {
33172
+ const parts = fileUrl.split(",");
33173
+ if (parts.length !== 2) {
33174
+ throw new InvalidDataUriError(fileUrl);
33175
+ }
33176
+ const binary = atob(parts[1]);
33177
+ const bytes = Uint8Array.from(binary, (c2) => c2.charCodeAt(0));
33178
+ return new File([bytes], name, { type: type2 });
33179
+ }
33180
+ const response = await fetch(fileUrl);
33181
+ if (!response.ok) {
33182
+ throw new FetchFailedError(fileUrl, new Error(`HTTP ${response.status}: ${response.statusText}`));
33183
+ }
33184
+ const blob = await response.blob();
33185
+ return new File([blob], name, { type: type2 });
33186
+ } catch (error) {
33187
+ if (error instanceof FileObjectError) {
33188
+ throw error;
33189
+ }
33190
+ throw new FileObjectError("Failed to create file object", error);
33159
33191
  }
33160
- const response = await fetch(fileUrl);
33161
- const blob = await response.blob();
33162
- return new File([blob], name, { type: type2 });
33163
33192
  };
33164
33193
  const vClickOutside = {
33165
33194
  mounted(el, binding) {
33166
33195
  const clickOutsideHandler = (event) => {
33167
33196
  if (!el.contains(event.target)) {
33168
- binding.value(event);
33197
+ binding.value?.(event);
33169
33198
  }
33170
33199
  };
33171
33200
  document.addEventListener("click", clickOutsideHandler);
33172
33201
  el.__clickOutsideHandler = clickOutsideHandler;
33173
33202
  },
33174
33203
  unmounted(el) {
33175
- document.removeEventListener("click", el.__clickOutsideHandler);
33176
- delete el.__clickOutsideHandler;
33177
- }
33178
- };
33179
- const _hoisted_1$g = ["accept"];
33180
- const _sfc_main$h = {
33181
- __name: "BasicUpload",
33182
- props: {
33183
- accept: {
33184
- type: String,
33185
- default: ".docx, .pdf, .html, .md"
33204
+ if (el.__clickOutsideHandler) {
33205
+ document.removeEventListener("click", el.__clickOutsideHandler);
33206
+ delete el.__clickOutsideHandler;
33186
33207
  }
33187
- },
33188
- emits: ["file-change"],
33189
- setup(__props, { emit: __emit }) {
33190
- const emit = __emit;
33191
- const onFileChange = (event) => {
33192
- emit("file-change", event.target.files[0]);
33193
- };
33194
- return (_ctx, _cache) => {
33195
- return vue.openBlock(), vue.createElementBlock("div", null, [
33196
- vue.createBaseVNode("input", {
33197
- type: "file",
33198
- id: "fileInput",
33199
- onChange: onFileChange,
33200
- accept: __props.accept
33201
- }, null, 40, _hoisted_1$g)
33202
- ]);
33203
- };
33204
33208
  }
33205
33209
  };
33206
33210
  const getDefaultStyleDefinition = (defaultStyleId, docx) => {
@@ -35610,7 +35614,7 @@ const _SuperConverter = class _SuperConverter2 {
35610
35614
  static getStoredSuperdocVersion(docx) {
35611
35615
  return _SuperConverter2.getStoredCustomProperty(docx, "SuperdocVersion");
35612
35616
  }
35613
- static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.29.0-next.7") {
35617
+ static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.29.0-next.8") {
35614
35618
  return _SuperConverter2.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
35615
35619
  }
35616
35620
  /**
@@ -53799,7 +53803,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
53799
53803
  { default: remarkStringify },
53800
53804
  { default: remarkGfm }
53801
53805
  ] = await Promise.all([
53802
- Promise.resolve().then(() => require("./index-BqhJhdcP-Dm9pUO-L.cjs")),
53806
+ Promise.resolve().then(() => require("./index-D08c3nkG-CEL2t8xk.cjs")),
53803
53807
  Promise.resolve().then(() => require("./index-DRCvimau-H4Ck3S9a.cjs")),
53804
53808
  Promise.resolve().then(() => require("./index-C_x_N6Uh-Db3CUJMX.cjs")),
53805
53809
  Promise.resolve().then(() => require("./index-D_sWOSiG-BtDZzJ6I.cjs")),
@@ -54017,7 +54021,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
54017
54021
  * @returns {Object | void} Migration results
54018
54022
  */
54019
54023
  processCollaborationMigrations() {
54020
- console.debug("[checkVersionMigrations] Current editor version", "0.29.0-next.7");
54024
+ console.debug("[checkVersionMigrations] Current editor version", "0.29.0-next.8");
54021
54025
  if (!this.options.ydoc) return;
54022
54026
  const metaMap = this.options.ydoc.getMap("meta");
54023
54027
  let docVersion = metaMap.get("version");
@@ -74100,12 +74104,12 @@ const _export_sfc = (sfc, props) => {
74100
74104
  }
74101
74105
  return target;
74102
74106
  };
74103
- const _hoisted_1$f = ["onClick", "onMouseenter"];
74107
+ const _hoisted_1$g = ["onClick", "onMouseenter"];
74104
74108
  const _hoisted_2$c = { key: 0 };
74105
74109
  const _hoisted_3$a = { key: 0 };
74106
74110
  const _hoisted_4$6 = { key: 1 };
74107
74111
  const _hoisted_5$5 = { key: 1 };
74108
- const _sfc_main$g = {
74112
+ const _sfc_main$h = {
74109
74113
  __name: "Mentions",
74110
74114
  props: {
74111
74115
  users: {
@@ -74182,13 +74186,13 @@ const _sfc_main$g = {
74182
74186
  ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$5, [
74183
74187
  vue.createBaseVNode("span", null, vue.toDisplayString(user.email), 1)
74184
74188
  ]))
74185
- ], 42, _hoisted_1$f);
74189
+ ], 42, _hoisted_1$g);
74186
74190
  }), 128))
74187
74191
  ], 544);
74188
74192
  };
74189
74193
  }
74190
74194
  };
74191
- const Mentions = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-bcae18cf"]]);
74195
+ const Mentions = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-bcae18cf"]]);
74192
74196
  const popoverPluginKey = new PluginKey("popoverPlugin");
74193
74197
  const PopoverPlugin = Extension.create({
74194
74198
  name: "popoverPlugin",
@@ -86748,7 +86752,7 @@ const NSkeleton = vue.defineComponent({
86748
86752
  return child;
86749
86753
  }
86750
86754
  });
86751
- const _hoisted_1$e = ["onKeydown", "tabindex", "data-item-id"];
86755
+ const _hoisted_1$f = ["onKeydown", "tabindex", "data-item-id"];
86752
86756
  const _hoisted_2$b = { key: 0 };
86753
86757
  const _hoisted_3$9 = { key: 0 };
86754
86758
  const _hoisted_4$5 = { key: 0 };
@@ -87019,14 +87023,14 @@ const _sfc_main$1$1 = {
87019
87023
  onButtonClick: ($event) => handleToolbarButtonClick(item),
87020
87024
  "overflow-items": __props.overflowItems
87021
87025
  }, null, 8, ["toolbar-item", "onButtonClick", "overflow-items"])) : vue.createCommentVNode("", true)
87022
- ], 42, _hoisted_1$e);
87026
+ ], 42, _hoisted_1$f);
87023
87027
  }), 128))
87024
87028
  ], 36);
87025
87029
  };
87026
87030
  }
87027
87031
  };
87028
87032
  const ButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1$1, [["__scopeId", "data-v-f42ec7e6"]]);
87029
- const _sfc_main$f = {
87033
+ const _sfc_main$g = {
87030
87034
  __name: "Toolbar",
87031
87035
  emits: ["command", "toggle", "select"],
87032
87036
  setup(__props, { emit: __emit }) {
@@ -87107,7 +87111,7 @@ const _sfc_main$f = {
87107
87111
  };
87108
87112
  }
87109
87113
  };
87110
- const Toolbar = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-639f50b4"]]);
87114
+ const Toolbar = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-639f50b4"]]);
87111
87115
  const DEFAULT_API_ENDPOINT = "https://sd-dev-express-gateway-i6xtm.ondigitalocean.app/insights";
87112
87116
  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: ";
87113
87117
  async function baseInsightsFetch(payload, options = {}) {
@@ -87343,12 +87347,12 @@ function formatDocument(editor) {
87343
87347
  }
87344
87348
  const edit = '<!-- @note: includes color gradient for inline svg AI Writer -->\n<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.-->\n <linearGradient id="gradient" x1="125%" y1="50%" x2="-25%" y2="50%">\n <stop offset="-20%" stop-color="rgba(218, 215, 118, 0.5)" />\n <stop offset="30%" stop-color="rgb(191, 100, 100)" />\n <stop offset="60%" stop-color="rgb(77, 82, 217)" />\n <stop offset="150%" stop-color="rgb(255, 219, 102)" />\n </linearGradient>\n <path fill="url(#gradient)" d="M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1 .8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z"/>\n</svg>';
87345
87349
  const paperPlane = '<!-- @note: includes color gradient for inline svg AI Writer -->\n<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.-->\n <defs>\n <linearGradient id="gradient" x1="125%" y1="50%" x2="-25%" y2="50%">\n <stop offset="-20%" stop-color="rgba(218, 215, 118, 0.5)" />\n <stop offset="30%" stop-color="rgb(191, 100, 100)" />\n <stop offset="60%" stop-color="rgb(77, 82, 217)" />\n <stop offset="150%" stop-color="rgb(255, 219, 102)" />\n </linearGradient>\n </defs>\n <path fill="url(#gradient)" d="M440 6.5L24 246.4c-34.4 19.9-31.1 70.8 5.7 85.9L144 379.6V464c0 46.4 59.2 65.5 86.6 28.6l43.8-59.1 111.9 46.2c5.9 2.4 12.1 3.6 18.3 3.6 8.2 0 16.3-2.1 23.6-6.2 12.8-7.2 21.6-20 23.9-34.5l59.4-387.2c6.1-40.1-36.9-68.8-71.5-48.9zM192 464v-64.6l36.6 15.1L192 464zm212.6-28.7l-153.8-63.5L391 169.5c10.7-15.5-9.5-33.5-23.7-21.2L155.8 332.6 48 288 464 48l-59.4 387.3z"/>\n</svg>';
87346
- const _hoisted_1$d = { class: "ai-user-input-field" };
87350
+ const _hoisted_1$e = { class: "ai-user-input-field" };
87347
87351
  const _hoisted_2$a = ["innerHTML"];
87348
87352
  const _hoisted_3$8 = ["placeholder"];
87349
87353
  const _hoisted_4$4 = { class: "ai-loader" };
87350
87354
  const _hoisted_5$3 = ["innerHTML"];
87351
- const _sfc_main$e = {
87355
+ const _sfc_main$f = {
87352
87356
  __name: "AIWriter",
87353
87357
  props: {
87354
87358
  selectedText: {
@@ -87594,7 +87598,7 @@ const _sfc_main$e = {
87594
87598
  onMousedown: _cache[1] || (_cache[1] = vue.withModifiers(() => {
87595
87599
  }, ["stop"]))
87596
87600
  }, [
87597
- vue.createBaseVNode("div", _hoisted_1$d, [
87601
+ vue.createBaseVNode("div", _hoisted_1$e, [
87598
87602
  vue.createBaseVNode("span", {
87599
87603
  class: "ai-textarea-icon",
87600
87604
  innerHTML: vue.unref(edit)
@@ -87624,7 +87628,7 @@ const _sfc_main$e = {
87624
87628
  };
87625
87629
  }
87626
87630
  };
87627
- const AIWriter = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-e8e0f607"]]);
87631
+ const AIWriter = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-d869be75"]]);
87628
87632
  async function createZip(blobs, fileNames) {
87629
87633
  const zip = new JSZip();
87630
87634
  blobs.forEach((blob, index2) => {
@@ -87937,8 +87941,8 @@ const useToolbarItem = (options) => {
87937
87941
  onDeactivate
87938
87942
  };
87939
87943
  };
87940
- const _hoisted_1$c = ["onClick", "innerHTML", "aria-label", "onKeydown"];
87941
- const _sfc_main$d = {
87944
+ const _hoisted_1$d = ["onClick", "innerHTML", "aria-label", "onKeydown"];
87945
+ const _sfc_main$e = {
87942
87946
  __name: "AlignmentButtons",
87943
87947
  emits: ["select"],
87944
87948
  setup(__props, { emit: __emit }) {
@@ -88023,20 +88027,20 @@ const _sfc_main$d = {
88023
88027
  ref_key: "alignmentButtonsRefs",
88024
88028
  ref: alignmentButtonsRefs,
88025
88029
  onKeydown: vue.withModifiers((event) => handleKeyDown2(event, index2), ["prevent"])
88026
- }, null, 40, _hoisted_1$c);
88030
+ }, null, 40, _hoisted_1$d);
88027
88031
  }), 64))
88028
88032
  ], 2);
88029
88033
  };
88030
88034
  }
88031
88035
  };
88032
- const AlignmentButtons = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-d84f57b6"]]);
88033
- const _hoisted_1$b = ["onClick", "onKeydown"];
88036
+ const AlignmentButtons = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-d84f57b6"]]);
88037
+ const _hoisted_1$c = ["onClick", "onKeydown"];
88034
88038
  const _hoisted_2$9 = { class: "document-mode-column icon-column" };
88035
88039
  const _hoisted_3$7 = ["innerHTML"];
88036
88040
  const _hoisted_4$3 = { class: "document-mode-column text-column" };
88037
88041
  const _hoisted_5$2 = { class: "document-mode-type" };
88038
88042
  const _hoisted_6$1 = { class: "document-mode-description" };
88039
- const _sfc_main$c = {
88043
+ const _sfc_main$d = {
88040
88044
  __name: "DocumentMode",
88041
88045
  props: {
88042
88046
  options: {
@@ -88110,19 +88114,19 @@ const _sfc_main$c = {
88110
88114
  vue.createBaseVNode("div", _hoisted_5$2, vue.toDisplayString(option.label), 1),
88111
88115
  vue.createBaseVNode("div", _hoisted_6$1, vue.toDisplayString(option.description), 1)
88112
88116
  ])
88113
- ], 42, _hoisted_1$b);
88117
+ ], 42, _hoisted_1$c);
88114
88118
  }), 256))
88115
88119
  ], 2);
88116
88120
  };
88117
88121
  }
88118
88122
  };
88119
- const DocumentMode = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-8730b752"]]);
88120
- const _hoisted_1$a = {
88123
+ const DocumentMode = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-8730b752"]]);
88124
+ const _hoisted_1$b = {
88121
88125
  key: 0,
88122
88126
  class: "linked-style-buttons"
88123
88127
  };
88124
88128
  const _hoisted_2$8 = ["onClick", "onKeydown"];
88125
- const _sfc_main$b = {
88129
+ const _sfc_main$c = {
88126
88130
  __name: "LinkedStyle",
88127
88131
  props: {
88128
88132
  editor: {
@@ -88176,7 +88180,7 @@ const _sfc_main$b = {
88176
88180
  styleRefs.value[0].focus();
88177
88181
  });
88178
88182
  return (_ctx, _cache) => {
88179
- return props.editor ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
88183
+ return props.editor ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
88180
88184
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(getQuickFormatList)(__props.editor), (style2, index2) => {
88181
88185
  return vue.openBlock(), vue.createElementBlock("div", {
88182
88186
  class: vue.normalizeClass(["style-item", { selected: __props.selectedOption === style2.id }]),
@@ -88197,8 +88201,8 @@ const _sfc_main$b = {
88197
88201
  };
88198
88202
  }
88199
88203
  };
88200
- const LinkedStyle = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-698bdb8e"]]);
88201
- const _hoisted_1$9 = {
88204
+ const LinkedStyle = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-698bdb8e"]]);
88205
+ const _hoisted_1$a = {
88202
88206
  key: 0,
88203
88207
  class: "link-title"
88204
88208
  };
@@ -88226,7 +88230,7 @@ const _hoisted_13 = {
88226
88230
  key: 4,
88227
88231
  class: "input-row go-to-anchor clickable"
88228
88232
  };
88229
- const _sfc_main$a = {
88233
+ const _sfc_main$b = {
88230
88234
  __name: "LinkInput",
88231
88235
  props: {
88232
88236
  showInput: {
@@ -88365,7 +88369,7 @@ const _sfc_main$a = {
88365
88369
  return vue.openBlock(), vue.createElementBlock("div", {
88366
88370
  class: vue.normalizeClass(["link-input-ctn", { "high-contrast": vue.unref(isHighContrastMode2) }])
88367
88371
  }, [
88368
- isAnchor.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, "Page anchor")) : isEditing.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$7, "Edit link")) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$6, "Add link")),
88372
+ isAnchor.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, "Page anchor")) : isEditing.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$7, "Edit link")) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$6, "Add link")),
88369
88373
  __props.showInput && !isAnchor.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [
88370
88374
  vue.createBaseVNode("div", _hoisted_5$1, [
88371
88375
  _cache[4] || (_cache[4] = vue.createBaseVNode("div", { class: "input-icon text-input-icon" }, "T", -1)),
@@ -88432,12 +88436,12 @@ const _sfc_main$a = {
88432
88436
  };
88433
88437
  }
88434
88438
  };
88435
- const LinkInput = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-ba50627b"]]);
88436
- const _hoisted_1$8 = ["aria-label", "onClick", "onKeydown"];
88439
+ const LinkInput = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-ba50627b"]]);
88440
+ const _hoisted_1$9 = ["aria-label", "onClick", "onKeydown"];
88437
88441
  const _hoisted_2$6 = ["innerHTML"];
88438
88442
  const _hoisted_3$5 = ["innerHTML"];
88439
88443
  const ROW_SIZE$1 = 7;
88440
- const _sfc_main$9 = {
88444
+ const _sfc_main$a = {
88441
88445
  __name: "IconGridRow",
88442
88446
  props: {
88443
88447
  icons: {
@@ -88563,19 +88567,19 @@ const _sfc_main$9 = {
88563
88567
  innerHTML: vue.unref(toolbarIcons).colorOptionCheck,
88564
88568
  style: vue.normalizeStyle(getCheckStyle(option.value, optionIndex))
88565
88569
  }, null, 12, _hoisted_3$5)) : vue.createCommentVNode("", true)
88566
- ], 40, _hoisted_1$8);
88570
+ ], 40, _hoisted_1$9);
88567
88571
  }), 128))
88568
88572
  ]);
88569
88573
  }), 128);
88570
88574
  };
88571
88575
  }
88572
88576
  };
88573
- const IconGridRow = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-0f479b6c"]]);
88577
+ const IconGridRow = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-0f479b6c"]]);
88574
88578
  const DropIcon = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M320 512c53.2 0 101.4-21.6 136.1-56.6l-298.3-235C140 257.1 128 292.3 128 320c0 106 86 192 192 192zM505.2 370.7c4.4-16.2 6.8-33.1 6.8-50.7c0-91.2-130.2-262.3-166.6-308.3C339.4 4.2 330.5 0 320.9 0l-1.8 0c-9.6 0-18.5 4.2-24.5 11.7C277.8 33 240.7 81.3 205.8 136L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L505.2 370.7zM224 336c0 44.2 35.8 80 80 80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-61.9 0-112-50.1-112-112c0-8.8 7.2-16 16-16s16 7.2 16 16z"/></svg>\n';
88575
- const _hoisted_1$7 = { class: "options-grid-wrap" };
88579
+ const _hoisted_1$8 = { class: "options-grid-wrap" };
88576
88580
  const _hoisted_2$5 = ["innerHTML"];
88577
88581
  const _hoisted_3$4 = { class: "option-grid-ctn" };
88578
- const _sfc_main$8 = {
88582
+ const _sfc_main$9 = {
88579
88583
  __name: "IconGrid",
88580
88584
  props: {
88581
88585
  icons: {
@@ -88602,7 +88606,7 @@ const _sfc_main$8 = {
88602
88606
  emit("select", option);
88603
88607
  };
88604
88608
  return (_ctx, _cache) => {
88605
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
88609
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [
88606
88610
  __props.hasNoneIcon ? (vue.openBlock(), vue.createElementBlock("div", {
88607
88611
  key: 0,
88608
88612
  class: "none-option",
@@ -88635,7 +88639,7 @@ const _sfc_main$8 = {
88635
88639
  };
88636
88640
  }
88637
88641
  };
88638
- const IconGrid = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-4c0091c8"]]);
88642
+ const IconGrid = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-3d19fedf"]]);
88639
88643
  const closeDropdown$1 = (dropdown) => {
88640
88644
  dropdown.expand.value = false;
88641
88645
  };
@@ -88744,10 +88748,10 @@ const icons = [
88744
88748
  const getAvailableColorOptions = () => {
88745
88749
  return icons.flat().map((item) => item.value);
88746
88750
  };
88747
- const _hoisted_1$6 = ["data-cols", "data-rows", "onKeydown", "onClick"];
88751
+ const _hoisted_1$7 = ["data-cols", "data-rows", "onKeydown", "onClick"];
88748
88752
  const _hoisted_2$4 = ["aria-valuetext"];
88749
88753
  const ROW_SIZE = 5;
88750
- const _sfc_main$7 = {
88754
+ const _sfc_main$8 = {
88751
88755
  __name: "TableGrid",
88752
88756
  emits: ["select", "clickoutside"],
88753
88757
  setup(__props, { emit: __emit }) {
@@ -88863,7 +88867,7 @@ const _sfc_main$7 = {
88863
88867
  ref: tableGridItems,
88864
88868
  onKeydown: vue.withModifiers((event) => handleKeyDown2(event, n, i2), ["prevent"]),
88865
88869
  onClick: vue.withModifiers(($event) => handleClick2({ cols: n, rows: i2 }), ["stop", "prevent"])
88866
- }, null, 40, _hoisted_1$6);
88870
+ }, null, 40, _hoisted_1$7);
88867
88871
  }), 64))
88868
88872
  ], 64);
88869
88873
  }), 64))
@@ -88876,13 +88880,13 @@ const _sfc_main$7 = {
88876
88880
  };
88877
88881
  }
88878
88882
  };
88879
- const TableGrid = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-92e8d5fb"]]);
88880
- const _hoisted_1$5 = { class: "toolbar-table-actions" };
88883
+ const TableGrid = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-92e8d5fb"]]);
88884
+ const _hoisted_1$6 = { class: "toolbar-table-actions" };
88881
88885
  const _hoisted_2$3 = ["onClick", "data-item", "ariaLabel"];
88882
88886
  const _hoisted_3$3 = { class: "toolbar-table-actions__icon" };
88883
88887
  const _hoisted_4$1 = ["innerHTML"];
88884
88888
  const _hoisted_5 = { class: "toolbar-table-actions__label" };
88885
- const _sfc_main$6 = {
88889
+ const _sfc_main$7 = {
88886
88890
  __name: "TableActions",
88887
88891
  props: {
88888
88892
  options: {
@@ -88896,7 +88900,7 @@ const _sfc_main$6 = {
88896
88900
  emit("select", { command: item.command });
88897
88901
  };
88898
88902
  return (_ctx, _cache) => {
88899
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
88903
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
88900
88904
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.options, (option) => {
88901
88905
  return vue.openBlock(), vue.createElementBlock("div", {
88902
88906
  class: vue.normalizeClass(["toolbar-table-actions__item", { "toolbar-table-actions__item--border": option.bottomBorder }]),
@@ -88918,7 +88922,7 @@ const _sfc_main$6 = {
88918
88922
  };
88919
88923
  }
88920
88924
  };
88921
- const TableActions = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-990b9a25"]]);
88925
+ const TableActions = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-990b9a25"]]);
88922
88926
  function getScrollableParent(element) {
88923
88927
  let currentElement = element;
88924
88928
  while (currentElement) {
@@ -88942,10 +88946,10 @@ function scrollToElement(targetElement, options = { behavior: "smooth", block: "
88942
88946
  });
88943
88947
  }
88944
88948
  const checkIconSvg = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"/></svg>\n';
88945
- const _hoisted_1$4 = { class: "search-input-ctn" };
88949
+ const _hoisted_1$5 = { class: "search-input-ctn" };
88946
88950
  const _hoisted_2$2 = { class: "row" };
88947
88951
  const _hoisted_3$2 = ["onKeydown"];
88948
- const _sfc_main$5 = {
88952
+ const _sfc_main$6 = {
88949
88953
  __name: "SearchInput",
88950
88954
  props: {
88951
88955
  searchRef: {
@@ -88960,7 +88964,7 @@ const _sfc_main$5 = {
88960
88964
  emit("submit", { value: searchValue.value });
88961
88965
  };
88962
88966
  return (_ctx, _cache) => {
88963
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
88967
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
88964
88968
  vue.createBaseVNode("div", _hoisted_2$2, [
88965
88969
  vue.withDirectives(vue.createBaseVNode("input", {
88966
88970
  ref: __props.searchRef,
@@ -88984,7 +88988,7 @@ const _sfc_main$5 = {
88984
88988
  };
88985
88989
  }
88986
88990
  };
88987
- const SearchInput = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-957cbcf2"]]);
88991
+ const SearchInput = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-957cbcf2"]]);
88988
88992
  const TOOLBAR_FONTS = [
88989
88993
  {
88990
88994
  label: "Georgia",
@@ -91626,7 +91630,7 @@ function getItems(context, customItems = [], includeDefaultItems = true) {
91626
91630
  }).filter((section) => section.items.length > 0);
91627
91631
  return filteredSections;
91628
91632
  }
91629
- const _hoisted_1$3 = { class: "slash-menu-items" };
91633
+ const _hoisted_1$4 = { class: "slash-menu-items" };
91630
91634
  const _hoisted_2$1 = {
91631
91635
  key: 0,
91632
91636
  class: "slash-menu-divider",
@@ -91634,7 +91638,7 @@ const _hoisted_2$1 = {
91634
91638
  };
91635
91639
  const _hoisted_3$1 = ["onClick"];
91636
91640
  const _hoisted_4 = ["innerHTML"];
91637
- const _sfc_main$4 = {
91641
+ const _sfc_main$5 = {
91638
91642
  __name: "SlashMenu",
91639
91643
  props: {
91640
91644
  editor: {
@@ -91932,7 +91936,7 @@ const _sfc_main$4 = {
91932
91936
  }, null, 544), [
91933
91937
  [vue.vModelText, searchQuery.value]
91934
91938
  ]),
91935
- vue.createBaseVNode("div", _hoisted_1$3, [
91939
+ vue.createBaseVNode("div", _hoisted_1$4, [
91936
91940
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(filteredSections.value, (section, sectionIndex) => {
91937
91941
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, {
91938
91942
  key: section.id
@@ -91967,6 +91971,33 @@ const _sfc_main$4 = {
91967
91971
  };
91968
91972
  }
91969
91973
  };
91974
+ const _hoisted_1$3 = ["accept"];
91975
+ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
91976
+ __name: "BasicUpload",
91977
+ props: {
91978
+ accept: { default: ".docx, .pdf, .html, .md" }
91979
+ },
91980
+ emits: ["file-change"],
91981
+ setup(__props, { emit: __emit }) {
91982
+ const emit = __emit;
91983
+ const onFileChange = (event) => {
91984
+ const target = event.target;
91985
+ if (target.files?.[0]) {
91986
+ emit("file-change", target.files[0]);
91987
+ }
91988
+ };
91989
+ return (_ctx, _cache) => {
91990
+ return vue.openBlock(), vue.createElementBlock("div", null, [
91991
+ vue.createBaseVNode("input", {
91992
+ type: "file",
91993
+ id: "fileInput",
91994
+ onChange: onFileChange,
91995
+ accept: __props.accept
91996
+ }, null, 40, _hoisted_1$3)
91997
+ ]);
91998
+ };
91999
+ }
92000
+ });
91970
92001
  function adjustPaginationBreaks(editorElem, editor) {
91971
92002
  if (!editorElem.value || !editor?.value?.options?.scale) return;
91972
92003
  const zoom = editor.value.options.scale;
@@ -92491,7 +92522,7 @@ const _sfc_main$1 = {
92491
92522
  class: "editor-element super-editor__element",
92492
92523
  role: "presentation"
92493
92524
  }, null, 512),
92494
- !props.options.disableContextMenu && editorReady.value && editor.value ? (vue.openBlock(), vue.createBlock(_sfc_main$4, {
92525
+ !props.options.disableContextMenu && editorReady.value && editor.value ? (vue.openBlock(), vue.createBlock(_sfc_main$5, {
92495
92526
  key: 0,
92496
92527
  editor: editor.value,
92497
92528
  popoverControls,
@@ -92560,7 +92591,7 @@ const _sfc_main$1 = {
92560
92591
  };
92561
92592
  }
92562
92593
  };
92563
- const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-0c36dd72"]]);
92594
+ const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-9d25f5b3"]]);
92564
92595
  const _hoisted_1 = ["innerHTML"];
92565
92596
  const _sfc_main = {
92566
92597
  __name: "SuperInput",
@@ -92767,8 +92798,8 @@ exports.SuperInput = SuperInput;
92767
92798
  exports.SuperToolbar = SuperToolbar;
92768
92799
  exports.Toolbar = Toolbar;
92769
92800
  exports.TrackChangesBasePluginKey = TrackChangesBasePluginKey;
92770
- exports._sfc_main = _sfc_main$h;
92771
92801
  exports._sfc_main$4 = _sfc_main$4;
92802
+ exports._sfc_main$5 = _sfc_main$5;
92772
92803
  exports.createZip = createZip;
92773
92804
  exports.getActiveFormatting = getActiveFormatting;
92774
92805
  exports.getAllowedImageDimensions = getAllowedImageDimensions;
@@ -9690,16 +9690,16 @@ if (!!(process$1.env.NODE_ENV !== "production")) {
9690
9690
  }
9691
9691
  export {
9692
9692
  process$1 as $,
9693
- normalizeStyle as A,
9694
- h as B,
9695
- toRef as C,
9696
- provide as D,
9697
- mergeProps as E,
9693
+ shallowRef as A,
9694
+ withCtx as B,
9695
+ createTextVNode as C,
9696
+ normalizeStyle as D,
9697
+ toRef as E,
9698
9698
  Fragment as F,
9699
- cloneVNode as G,
9700
- withDirectives as H,
9701
- watchEffect as I,
9702
- shallowRef as J,
9699
+ provide as G,
9700
+ cloneVNode as H,
9701
+ withDirectives as I,
9702
+ watchEffect as J,
9703
9703
  vModelText as K,
9704
9704
  withKeys as L,
9705
9705
  reactive as M,
@@ -9717,7 +9717,7 @@ export {
9717
9717
  normalizeProps as Y,
9718
9718
  guardReactiveProps as Z,
9719
9719
  markRaw as _,
9720
- createBaseVNode as a,
9720
+ computed as a,
9721
9721
  effectScope as a0,
9722
9722
  toRaw as a1,
9723
9723
  isRef as a2,
@@ -9729,11 +9729,11 @@ export {
9729
9729
  TransitionGroup as a8,
9730
9730
  resolveDirective as a9,
9731
9731
  defineAsyncComponent as aa,
9732
- createApp as b,
9733
- createElementBlock as c,
9734
- computed as d,
9735
- renderList as e,
9736
- createCommentVNode as f,
9732
+ createElementBlock as b,
9733
+ createApp as c,
9734
+ renderList as d,
9735
+ createCommentVNode as e,
9736
+ createBaseVNode as f,
9737
9737
  global as g,
9738
9738
  onBeforeMount as h,
9739
9739
  inject as i,
@@ -9752,6 +9752,6 @@ export {
9752
9752
  createVNode as v,
9753
9753
  withModifiers as w,
9754
9754
  unref as x,
9755
- withCtx as y,
9756
- createTextVNode as z
9755
+ h as y,
9756
+ mergeProps as z
9757
9757
  };
@@ -0,0 +1,2 @@
1
+ import "./vue-D1vcEBAQ.es.js";
2
+ import "./jszip-Bhl-Iudl.es.js";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment-schemas.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CommentsLayer/comment-schemas.js"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"super-comments-list.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/CommentsLayer/commentsList/super-comments-list.js"],"names":[],"mappings":"AAMA;;;;GAIG;AACH;IASE,yCAOC;IAfD,aAAQ;IAER;;;;MAIE;IAMA,gCAAe;IACf,cAAwB;IAI1B,qBAUC;IADC,yQAA6C;IAG/C,cAOC;IAED,aAIC;CACF;yBAvDwB,eAAe"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CommentsLayer/helpers.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,sDAYC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CommentsLayer/types.js"],"names":[],"mappings":";;;;eAEc,MAAM;;;;qBACN,MAAM;;;;YACN,MAAM;;;;cACN,MAAM;;;;;;;;iBAEN,MAAM;;;;iBACN,MAAM;;;;gBACN,MAAM;;;;oBAEjB;QAAkC,IAAI,EAA3B,MAAM;KACjB;;;;gBAAW,OAAO;;;;iBACP,MAAM;;;;eAEjB;QAA6B,UAAU,EAA5B,MAAM;QACY,IAAI,EAAtB,MAAM;QACY,eAAe;KAC5C;;;;mBAAW,OAAO;;;;uBACP,MAAM,GAAC,IAAI;;;;uBACX,aAAa,GAAG,aAAa,GAAG,MAAM,GAAG,aAAa;;;;iBACtD,MAAM,GAAC,IAAI;;;;kBACX,MAAM,GAAC,IAAI;;;;qBACX,MAAM,GAAC,IAAI;;;;oBACX,MAAM,GAAC,IAAI;;;;iBACX,WAAW;;;;;;UAKX,MAAM;;;;WACN,KAAK,KAAQ;;;;WAGxB;QAAiC,KAAK,EAA3B,MAAM;QACgB,UAAU,EAAhC,MAAM;QACgB,QAAQ,EAA9B,MAAM;QACqB,OAAO,EAAlC,MAAM,GAAC,IAAI;KACtB;;;;UAAW,MAAM;;;;;;UAKN,MAAM;;;;WAEjB;QAA8B,UAAU,EAA7B,MAAM,GAAC,IAAI;QACQ,UAAU,EAA7B,MAAM,GAAC,IAAI;QACQ,MAAM,EAAzB,MAAM,GAAC,IAAI;QACQ,MAAM,EAAzB,MAAM,GAAC,IAAI;QACQ,KAAK,EAAxB,MAAM,GAAC,IAAI;QACQ,YAAY,EAA/B,MAAM,GAAC,IAAI;QACQ,KAAK,EAAxB,MAAM,GAAC,IAAI;QACQ,OAAO,EAA1B,MAAM,GAAC,IAAI;QACQ,OAAO,EAA1B,MAAM,GAAC,IAAI;QACG,OAAO,EAChC;YAAiC,cAAc,EAApC,MAAM;YACgB,eAAe,EAArC,MAAM;YACgB,IAAI,EAA1B,MAAM;YACqB,QAAQ,EAAnC,MAAM,GAAC,IAAI;SACtB;QAAyB,UAAU;QACN,UAAU,EAA5B,QAAM,IAAI;QACC,MAAM,EAAjB,GAAG;QACQ,OAAO,EAAlB,GAAG;QACgB,KAAK,EAAxB,MAAM,GAAC,IAAI;QACQ,OAAO,EAA1B,MAAM,GAAC,IAAI;QACQ,SAAS,EAA5B,MAAM,GAAC,IAAI;QACA,UAAU,EAArB,GAAG;QACgB,QAAQ,EAA3B,MAAM,GAAC,IAAI;QACW,SAAS,EAA/B,OAAO,GAAG,IAAI;QACM,QAAQ,EAA5B,OAAO,GAAC,IAAI;QACO,mBAAmB,EAAtC,MAAO,IAAI;QACQ,OAAO,EAA1B,MAAM,GAAC,IAAI;QACQ,eAAe,EAAlC,MAAM,GAAC,IAAI;QACA,OAAO,EAAlB,GAAG;QACQ,QAAQ,EAAnB,GAAG;KACd;;;;aAAW,KAAK,CAAC,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-comment.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CommentsLayer/use-comment.js"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,qDAkRC"}