@harbour-enterprises/superdoc 0.29.0-next.7 → 0.29.0-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.
Files changed (156) hide show
  1. package/dist/chunks/{PdfViewer-D2cnJhM1.es.js → PdfViewer-BV-ij_Jn.es.js} +2 -2
  2. package/dist/chunks/{PdfViewer-DyUG4__F.cjs → PdfViewer-DpviVXfb.cjs} +1 -1
  3. package/dist/chunks/{eventemitter3-xrnx5jJP.es.js → eventemitter3-D4gv5QOO.es.js} +1 -1
  4. package/dist/chunks/{index-DZIAPuKc.cjs → index-B5hIswvq.cjs} +164 -119
  5. package/dist/chunks/{index-DC11bH-A.es.js → index-UVpS_47e.es.js} +166 -121
  6. package/dist/chunks/{index-BqhJhdcP-Dm9pUO-L.cjs → index-sJFE-5Sw-Chv1r9bA.cjs} +1 -1
  7. package/dist/chunks/{index-BqhJhdcP-B9XbOefk.es.js → index-sJFE-5Sw-r5deiWbP.es.js} +1 -1
  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-C9OTu_pS.es.js} +143 -111
  10. package/dist/chunks/{super-editor.es-607cvQXw.cjs → super-editor.es-Cw1FmXd7.cjs} +141 -109
  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-D6qfGG_6.js} +329 -51
  73. package/dist/super-editor/chunks/{docx-zipper-BRGsc2Y2.js → docx-zipper-BqmHhBsY.js} +1 -1
  74. package/dist/super-editor/chunks/{editor-DsKLhlKe.js → editor-5q11lIMq.js} +4 -4
  75. package/dist/super-editor/chunks/{index-BqhJhdcP.js → index-sJFE-5Sw.js} +1 -1
  76. package/dist/super-editor/chunks/{toolbar-Dqed7MP7.js → toolbar-BV-1nlen.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/core/super-converter/relationship-helpers.d.ts.map +1 -1
  83. package/dist/super-editor/super-editor/src/index.d.ts +0 -1
  84. package/dist/super-editor/super-editor/src/index.d.ts.map +1 -1
  85. package/dist/super-editor/super-editor.es.js +77 -50
  86. package/dist/super-editor/toolbar.es.js +2 -2
  87. package/dist/super-editor.cjs +3 -3
  88. package/dist/super-editor.es.js +2 -2
  89. package/dist/superdoc.cjs +2 -3
  90. package/dist/superdoc.es.js +2 -3
  91. package/dist/superdoc.umd.js +44218 -44141
  92. package/dist/superdoc.umd.js.map +1 -1
  93. package/package.json +3 -3
  94. package/dist/chunks/xml-js-ByyNjzYS.es.js +0 -2
  95. package/dist/components/CommentsLayer/comment-schemas.d.ts.map +0 -1
  96. package/dist/components/CommentsLayer/commentsList/super-comments-list.d.ts.map +0 -1
  97. package/dist/components/CommentsLayer/helpers.d.ts.map +0 -1
  98. package/dist/components/CommentsLayer/types.d.ts.map +0 -1
  99. package/dist/components/CommentsLayer/use-comment.d.ts.map +0 -1
  100. package/dist/components/CommentsLayer/use-conversation.d.ts.map +0 -1
  101. package/dist/components/CommentsLayer/use-floating-comment.d.ts.map +0 -1
  102. package/dist/components/PdfViewer/helpers/range.d.ts.map +0 -1
  103. package/dist/components/PdfViewer/helpers/read-file.d.ts.map +0 -1
  104. package/dist/components/PdfViewer/pdf/pdf-adapter.d.ts.map +0 -1
  105. package/dist/composables/use-ai.d.ts.map +0 -1
  106. package/dist/composables/use-document.d.ts.map +0 -1
  107. package/dist/composables/use-field.d.ts.map +0 -1
  108. package/dist/composables/use-high-contrast-mode.d.ts.map +0 -1
  109. package/dist/composables/use-selected-text.d.ts.map +0 -1
  110. package/dist/core/SuperDoc.d.ts.map +0 -1
  111. package/dist/core/collaboration/collaboration-comments.d.ts.map +0 -1
  112. package/dist/core/collaboration/collaboration.d.ts.map +0 -1
  113. package/dist/core/collaboration/helpers.d.ts.map +0 -1
  114. package/dist/core/collaboration/permissions.d.ts.map +0 -1
  115. package/dist/core/create-app.d.ts.map +0 -1
  116. package/dist/core/helpers/export.d.ts.map +0 -1
  117. package/dist/core/helpers/file.d.ts.map +0 -1
  118. package/dist/core/types/index.d.ts.map +0 -1
  119. package/dist/helpers/floor.d.ts.map +0 -1
  120. package/dist/helpers/group-changes.d.ts.map +0 -1
  121. package/dist/helpers/use-selection.d.ts.map +0 -1
  122. package/dist/index.d.ts.map +0 -1
  123. package/dist/main.d.ts.map +0 -1
  124. package/dist/stores/comments-store.d.ts.map +0 -1
  125. package/dist/stores/hrbr-fields-store.d.ts.map +0 -1
  126. /package/dist/{components → packages/superdoc/src/components}/CommentsLayer/comment-schemas.d.ts +0 -0
  127. /package/dist/{components → packages/superdoc/src/components}/CommentsLayer/commentsList/super-comments-list.d.ts +0 -0
  128. /package/dist/{components → packages/superdoc/src/components}/CommentsLayer/helpers.d.ts +0 -0
  129. /package/dist/{components → packages/superdoc/src/components}/CommentsLayer/types.d.ts +0 -0
  130. /package/dist/{components → packages/superdoc/src/components}/CommentsLayer/use-comment.d.ts +0 -0
  131. /package/dist/{components → packages/superdoc/src/components}/CommentsLayer/use-conversation.d.ts +0 -0
  132. /package/dist/{components → packages/superdoc/src/components}/CommentsLayer/use-floating-comment.d.ts +0 -0
  133. /package/dist/{components → packages/superdoc/src/components}/PdfViewer/helpers/range.d.ts +0 -0
  134. /package/dist/{components → packages/superdoc/src/components}/PdfViewer/helpers/read-file.d.ts +0 -0
  135. /package/dist/{components → packages/superdoc/src/components}/PdfViewer/pdf/pdf-adapter.d.ts +0 -0
  136. /package/dist/{composables → packages/superdoc/src/composables}/use-ai.d.ts +0 -0
  137. /package/dist/{composables → packages/superdoc/src/composables}/use-document.d.ts +0 -0
  138. /package/dist/{composables → packages/superdoc/src/composables}/use-field.d.ts +0 -0
  139. /package/dist/{composables → packages/superdoc/src/composables}/use-high-contrast-mode.d.ts +0 -0
  140. /package/dist/{composables → packages/superdoc/src/composables}/use-selected-text.d.ts +0 -0
  141. /package/dist/{core → packages/superdoc/src/core}/collaboration/collaboration-comments.d.ts +0 -0
  142. /package/dist/{core → packages/superdoc/src/core}/collaboration/collaboration.d.ts +0 -0
  143. /package/dist/{core → packages/superdoc/src/core}/collaboration/helpers.d.ts +0 -0
  144. /package/dist/{core → packages/superdoc/src/core}/collaboration/permissions.d.ts +0 -0
  145. /package/dist/{core → packages/superdoc/src/core}/create-app.d.ts +0 -0
  146. /package/dist/{core → packages/superdoc/src/core}/helpers/export.d.ts +0 -0
  147. /package/dist/{core → packages/superdoc/src/core}/helpers/file.d.ts +0 -0
  148. /package/dist/{core → packages/superdoc/src/core}/index.d.ts +0 -0
  149. /package/dist/{core → packages/superdoc/src/core}/types/index.d.ts +0 -0
  150. /package/dist/{helpers → packages/superdoc/src/helpers}/floor.d.ts +0 -0
  151. /package/dist/{helpers → packages/superdoc/src/helpers}/group-changes.d.ts +0 -0
  152. /package/dist/{helpers → packages/superdoc/src/helpers}/use-selection.d.ts +0 -0
  153. /package/dist/{icons.d.ts → packages/superdoc/src/icons.d.ts} +0 -0
  154. /package/dist/{main.d.ts → packages/superdoc/src/main.d.ts} +0 -0
  155. /package/dist/{stores → packages/superdoc/src/stores}/hrbr-fields-store.d.ts +0 -0
  156. /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) => {
@@ -35390,13 +35394,14 @@ const mergeRelationshipElements = (existingRelationships = [], newRelationships
35390
35394
  const currentId = attributes.Id || "";
35391
35395
  attributes.Target = attributes?.Target?.replace(/&/g, "&");
35392
35396
  const existingTarget = existingRelationships.find((el) => el.attributes.Target === attributes.Target);
35393
- const isMedia = attributes.Target?.startsWith("media/");
35397
+ attributes.Target?.startsWith("media/");
35394
35398
  const isNewHyperlink = attributes.Type === HYPERLINK_RELATIONSHIP_TYPE && currentId.length > 6;
35395
35399
  const isNewHeadFoot = (attributes.Type === HEADER_RELATIONSHIP_TYPE || attributes.Type === FOOTER_RELATIONSHIP_TYPE) && currentId.length > 6;
35396
35400
  const hasSeenId = currentId && seenIds.has(currentId);
35397
- const shouldSkip = !isNewHyperlink && !isNewHeadFoot && (hasSeenId || existingTarget);
35398
- if (shouldSkip) return;
35399
- attributes.Id = currentId.length > 6 || isMedia ? currentId : `rId${++largestId}`;
35401
+ if (!isNewHyperlink && !isNewHeadFoot && existingTarget) return;
35402
+ if (!currentId || hasSeenId) {
35403
+ attributes.Id = `rId${++largestId}`;
35404
+ }
35400
35405
  seenIds.add(attributes.Id);
35401
35406
  additions.push(rel);
35402
35407
  });
@@ -35610,7 +35615,7 @@ const _SuperConverter = class _SuperConverter2 {
35610
35615
  static getStoredSuperdocVersion(docx) {
35611
35616
  return _SuperConverter2.getStoredCustomProperty(docx, "SuperdocVersion");
35612
35617
  }
35613
- static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.29.0-next.7") {
35618
+ static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.29.0-next.9") {
35614
35619
  return _SuperConverter2.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
35615
35620
  }
35616
35621
  /**
@@ -53799,7 +53804,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
53799
53804
  { default: remarkStringify },
53800
53805
  { default: remarkGfm }
53801
53806
  ] = await Promise.all([
53802
- Promise.resolve().then(() => require("./index-BqhJhdcP-Dm9pUO-L.cjs")),
53807
+ Promise.resolve().then(() => require("./index-sJFE-5Sw-Chv1r9bA.cjs")),
53803
53808
  Promise.resolve().then(() => require("./index-DRCvimau-H4Ck3S9a.cjs")),
53804
53809
  Promise.resolve().then(() => require("./index-C_x_N6Uh-Db3CUJMX.cjs")),
53805
53810
  Promise.resolve().then(() => require("./index-D_sWOSiG-BtDZzJ6I.cjs")),
@@ -54017,7 +54022,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
54017
54022
  * @returns {Object | void} Migration results
54018
54023
  */
54019
54024
  processCollaborationMigrations() {
54020
- console.debug("[checkVersionMigrations] Current editor version", "0.29.0-next.7");
54025
+ console.debug("[checkVersionMigrations] Current editor version", "0.29.0-next.9");
54021
54026
  if (!this.options.ydoc) return;
54022
54027
  const metaMap = this.options.ydoc.getMap("meta");
54023
54028
  let docVersion = metaMap.get("version");
@@ -74100,12 +74105,12 @@ const _export_sfc = (sfc, props) => {
74100
74105
  }
74101
74106
  return target;
74102
74107
  };
74103
- const _hoisted_1$f = ["onClick", "onMouseenter"];
74108
+ const _hoisted_1$g = ["onClick", "onMouseenter"];
74104
74109
  const _hoisted_2$c = { key: 0 };
74105
74110
  const _hoisted_3$a = { key: 0 };
74106
74111
  const _hoisted_4$6 = { key: 1 };
74107
74112
  const _hoisted_5$5 = { key: 1 };
74108
- const _sfc_main$g = {
74113
+ const _sfc_main$h = {
74109
74114
  __name: "Mentions",
74110
74115
  props: {
74111
74116
  users: {
@@ -74182,13 +74187,13 @@ const _sfc_main$g = {
74182
74187
  ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$5, [
74183
74188
  vue.createBaseVNode("span", null, vue.toDisplayString(user.email), 1)
74184
74189
  ]))
74185
- ], 42, _hoisted_1$f);
74190
+ ], 42, _hoisted_1$g);
74186
74191
  }), 128))
74187
74192
  ], 544);
74188
74193
  };
74189
74194
  }
74190
74195
  };
74191
- const Mentions = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-bcae18cf"]]);
74196
+ const Mentions = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-bcae18cf"]]);
74192
74197
  const popoverPluginKey = new PluginKey("popoverPlugin");
74193
74198
  const PopoverPlugin = Extension.create({
74194
74199
  name: "popoverPlugin",
@@ -86748,7 +86753,7 @@ const NSkeleton = vue.defineComponent({
86748
86753
  return child;
86749
86754
  }
86750
86755
  });
86751
- const _hoisted_1$e = ["onKeydown", "tabindex", "data-item-id"];
86756
+ const _hoisted_1$f = ["onKeydown", "tabindex", "data-item-id"];
86752
86757
  const _hoisted_2$b = { key: 0 };
86753
86758
  const _hoisted_3$9 = { key: 0 };
86754
86759
  const _hoisted_4$5 = { key: 0 };
@@ -87019,14 +87024,14 @@ const _sfc_main$1$1 = {
87019
87024
  onButtonClick: ($event) => handleToolbarButtonClick(item),
87020
87025
  "overflow-items": __props.overflowItems
87021
87026
  }, null, 8, ["toolbar-item", "onButtonClick", "overflow-items"])) : vue.createCommentVNode("", true)
87022
- ], 42, _hoisted_1$e);
87027
+ ], 42, _hoisted_1$f);
87023
87028
  }), 128))
87024
87029
  ], 36);
87025
87030
  };
87026
87031
  }
87027
87032
  };
87028
87033
  const ButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1$1, [["__scopeId", "data-v-f42ec7e6"]]);
87029
- const _sfc_main$f = {
87034
+ const _sfc_main$g = {
87030
87035
  __name: "Toolbar",
87031
87036
  emits: ["command", "toggle", "select"],
87032
87037
  setup(__props, { emit: __emit }) {
@@ -87107,7 +87112,7 @@ const _sfc_main$f = {
87107
87112
  };
87108
87113
  }
87109
87114
  };
87110
- const Toolbar = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-639f50b4"]]);
87115
+ const Toolbar = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-639f50b4"]]);
87111
87116
  const DEFAULT_API_ENDPOINT = "https://sd-dev-express-gateway-i6xtm.ondigitalocean.app/insights";
87112
87117
  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
87118
  async function baseInsightsFetch(payload, options = {}) {
@@ -87343,12 +87348,12 @@ function formatDocument(editor) {
87343
87348
  }
87344
87349
  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
87350
  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" };
87351
+ const _hoisted_1$e = { class: "ai-user-input-field" };
87347
87352
  const _hoisted_2$a = ["innerHTML"];
87348
87353
  const _hoisted_3$8 = ["placeholder"];
87349
87354
  const _hoisted_4$4 = { class: "ai-loader" };
87350
87355
  const _hoisted_5$3 = ["innerHTML"];
87351
- const _sfc_main$e = {
87356
+ const _sfc_main$f = {
87352
87357
  __name: "AIWriter",
87353
87358
  props: {
87354
87359
  selectedText: {
@@ -87594,7 +87599,7 @@ const _sfc_main$e = {
87594
87599
  onMousedown: _cache[1] || (_cache[1] = vue.withModifiers(() => {
87595
87600
  }, ["stop"]))
87596
87601
  }, [
87597
- vue.createBaseVNode("div", _hoisted_1$d, [
87602
+ vue.createBaseVNode("div", _hoisted_1$e, [
87598
87603
  vue.createBaseVNode("span", {
87599
87604
  class: "ai-textarea-icon",
87600
87605
  innerHTML: vue.unref(edit)
@@ -87624,7 +87629,7 @@ const _sfc_main$e = {
87624
87629
  };
87625
87630
  }
87626
87631
  };
87627
- const AIWriter = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-e8e0f607"]]);
87632
+ const AIWriter = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-d869be75"]]);
87628
87633
  async function createZip(blobs, fileNames) {
87629
87634
  const zip = new JSZip();
87630
87635
  blobs.forEach((blob, index2) => {
@@ -87937,8 +87942,8 @@ const useToolbarItem = (options) => {
87937
87942
  onDeactivate
87938
87943
  };
87939
87944
  };
87940
- const _hoisted_1$c = ["onClick", "innerHTML", "aria-label", "onKeydown"];
87941
- const _sfc_main$d = {
87945
+ const _hoisted_1$d = ["onClick", "innerHTML", "aria-label", "onKeydown"];
87946
+ const _sfc_main$e = {
87942
87947
  __name: "AlignmentButtons",
87943
87948
  emits: ["select"],
87944
87949
  setup(__props, { emit: __emit }) {
@@ -88023,20 +88028,20 @@ const _sfc_main$d = {
88023
88028
  ref_key: "alignmentButtonsRefs",
88024
88029
  ref: alignmentButtonsRefs,
88025
88030
  onKeydown: vue.withModifiers((event) => handleKeyDown2(event, index2), ["prevent"])
88026
- }, null, 40, _hoisted_1$c);
88031
+ }, null, 40, _hoisted_1$d);
88027
88032
  }), 64))
88028
88033
  ], 2);
88029
88034
  };
88030
88035
  }
88031
88036
  };
88032
- const AlignmentButtons = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-d84f57b6"]]);
88033
- const _hoisted_1$b = ["onClick", "onKeydown"];
88037
+ const AlignmentButtons = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-d84f57b6"]]);
88038
+ const _hoisted_1$c = ["onClick", "onKeydown"];
88034
88039
  const _hoisted_2$9 = { class: "document-mode-column icon-column" };
88035
88040
  const _hoisted_3$7 = ["innerHTML"];
88036
88041
  const _hoisted_4$3 = { class: "document-mode-column text-column" };
88037
88042
  const _hoisted_5$2 = { class: "document-mode-type" };
88038
88043
  const _hoisted_6$1 = { class: "document-mode-description" };
88039
- const _sfc_main$c = {
88044
+ const _sfc_main$d = {
88040
88045
  __name: "DocumentMode",
88041
88046
  props: {
88042
88047
  options: {
@@ -88110,19 +88115,19 @@ const _sfc_main$c = {
88110
88115
  vue.createBaseVNode("div", _hoisted_5$2, vue.toDisplayString(option.label), 1),
88111
88116
  vue.createBaseVNode("div", _hoisted_6$1, vue.toDisplayString(option.description), 1)
88112
88117
  ])
88113
- ], 42, _hoisted_1$b);
88118
+ ], 42, _hoisted_1$c);
88114
88119
  }), 256))
88115
88120
  ], 2);
88116
88121
  };
88117
88122
  }
88118
88123
  };
88119
- const DocumentMode = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-8730b752"]]);
88120
- const _hoisted_1$a = {
88124
+ const DocumentMode = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-8730b752"]]);
88125
+ const _hoisted_1$b = {
88121
88126
  key: 0,
88122
88127
  class: "linked-style-buttons"
88123
88128
  };
88124
88129
  const _hoisted_2$8 = ["onClick", "onKeydown"];
88125
- const _sfc_main$b = {
88130
+ const _sfc_main$c = {
88126
88131
  __name: "LinkedStyle",
88127
88132
  props: {
88128
88133
  editor: {
@@ -88176,7 +88181,7 @@ const _sfc_main$b = {
88176
88181
  styleRefs.value[0].focus();
88177
88182
  });
88178
88183
  return (_ctx, _cache) => {
88179
- return props.editor ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
88184
+ return props.editor ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
88180
88185
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(getQuickFormatList)(__props.editor), (style2, index2) => {
88181
88186
  return vue.openBlock(), vue.createElementBlock("div", {
88182
88187
  class: vue.normalizeClass(["style-item", { selected: __props.selectedOption === style2.id }]),
@@ -88197,8 +88202,8 @@ const _sfc_main$b = {
88197
88202
  };
88198
88203
  }
88199
88204
  };
88200
- const LinkedStyle = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-698bdb8e"]]);
88201
- const _hoisted_1$9 = {
88205
+ const LinkedStyle = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-698bdb8e"]]);
88206
+ const _hoisted_1$a = {
88202
88207
  key: 0,
88203
88208
  class: "link-title"
88204
88209
  };
@@ -88226,7 +88231,7 @@ const _hoisted_13 = {
88226
88231
  key: 4,
88227
88232
  class: "input-row go-to-anchor clickable"
88228
88233
  };
88229
- const _sfc_main$a = {
88234
+ const _sfc_main$b = {
88230
88235
  __name: "LinkInput",
88231
88236
  props: {
88232
88237
  showInput: {
@@ -88365,7 +88370,7 @@ const _sfc_main$a = {
88365
88370
  return vue.openBlock(), vue.createElementBlock("div", {
88366
88371
  class: vue.normalizeClass(["link-input-ctn", { "high-contrast": vue.unref(isHighContrastMode2) }])
88367
88372
  }, [
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")),
88373
+ 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
88374
  __props.showInput && !isAnchor.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [
88370
88375
  vue.createBaseVNode("div", _hoisted_5$1, [
88371
88376
  _cache[4] || (_cache[4] = vue.createBaseVNode("div", { class: "input-icon text-input-icon" }, "T", -1)),
@@ -88432,12 +88437,12 @@ const _sfc_main$a = {
88432
88437
  };
88433
88438
  }
88434
88439
  };
88435
- const LinkInput = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-ba50627b"]]);
88436
- const _hoisted_1$8 = ["aria-label", "onClick", "onKeydown"];
88440
+ const LinkInput = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-ba50627b"]]);
88441
+ const _hoisted_1$9 = ["aria-label", "onClick", "onKeydown"];
88437
88442
  const _hoisted_2$6 = ["innerHTML"];
88438
88443
  const _hoisted_3$5 = ["innerHTML"];
88439
88444
  const ROW_SIZE$1 = 7;
88440
- const _sfc_main$9 = {
88445
+ const _sfc_main$a = {
88441
88446
  __name: "IconGridRow",
88442
88447
  props: {
88443
88448
  icons: {
@@ -88563,19 +88568,19 @@ const _sfc_main$9 = {
88563
88568
  innerHTML: vue.unref(toolbarIcons).colorOptionCheck,
88564
88569
  style: vue.normalizeStyle(getCheckStyle(option.value, optionIndex))
88565
88570
  }, null, 12, _hoisted_3$5)) : vue.createCommentVNode("", true)
88566
- ], 40, _hoisted_1$8);
88571
+ ], 40, _hoisted_1$9);
88567
88572
  }), 128))
88568
88573
  ]);
88569
88574
  }), 128);
88570
88575
  };
88571
88576
  }
88572
88577
  };
88573
- const IconGridRow = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-0f479b6c"]]);
88578
+ const IconGridRow = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-0f479b6c"]]);
88574
88579
  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" };
88580
+ const _hoisted_1$8 = { class: "options-grid-wrap" };
88576
88581
  const _hoisted_2$5 = ["innerHTML"];
88577
88582
  const _hoisted_3$4 = { class: "option-grid-ctn" };
88578
- const _sfc_main$8 = {
88583
+ const _sfc_main$9 = {
88579
88584
  __name: "IconGrid",
88580
88585
  props: {
88581
88586
  icons: {
@@ -88602,7 +88607,7 @@ const _sfc_main$8 = {
88602
88607
  emit("select", option);
88603
88608
  };
88604
88609
  return (_ctx, _cache) => {
88605
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
88610
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [
88606
88611
  __props.hasNoneIcon ? (vue.openBlock(), vue.createElementBlock("div", {
88607
88612
  key: 0,
88608
88613
  class: "none-option",
@@ -88635,7 +88640,7 @@ const _sfc_main$8 = {
88635
88640
  };
88636
88641
  }
88637
88642
  };
88638
- const IconGrid = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-4c0091c8"]]);
88643
+ const IconGrid = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-3d19fedf"]]);
88639
88644
  const closeDropdown$1 = (dropdown) => {
88640
88645
  dropdown.expand.value = false;
88641
88646
  };
@@ -88744,10 +88749,10 @@ const icons = [
88744
88749
  const getAvailableColorOptions = () => {
88745
88750
  return icons.flat().map((item) => item.value);
88746
88751
  };
88747
- const _hoisted_1$6 = ["data-cols", "data-rows", "onKeydown", "onClick"];
88752
+ const _hoisted_1$7 = ["data-cols", "data-rows", "onKeydown", "onClick"];
88748
88753
  const _hoisted_2$4 = ["aria-valuetext"];
88749
88754
  const ROW_SIZE = 5;
88750
- const _sfc_main$7 = {
88755
+ const _sfc_main$8 = {
88751
88756
  __name: "TableGrid",
88752
88757
  emits: ["select", "clickoutside"],
88753
88758
  setup(__props, { emit: __emit }) {
@@ -88863,7 +88868,7 @@ const _sfc_main$7 = {
88863
88868
  ref: tableGridItems,
88864
88869
  onKeydown: vue.withModifiers((event) => handleKeyDown2(event, n, i2), ["prevent"]),
88865
88870
  onClick: vue.withModifiers(($event) => handleClick2({ cols: n, rows: i2 }), ["stop", "prevent"])
88866
- }, null, 40, _hoisted_1$6);
88871
+ }, null, 40, _hoisted_1$7);
88867
88872
  }), 64))
88868
88873
  ], 64);
88869
88874
  }), 64))
@@ -88876,13 +88881,13 @@ const _sfc_main$7 = {
88876
88881
  };
88877
88882
  }
88878
88883
  };
88879
- const TableGrid = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-92e8d5fb"]]);
88880
- const _hoisted_1$5 = { class: "toolbar-table-actions" };
88884
+ const TableGrid = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-92e8d5fb"]]);
88885
+ const _hoisted_1$6 = { class: "toolbar-table-actions" };
88881
88886
  const _hoisted_2$3 = ["onClick", "data-item", "ariaLabel"];
88882
88887
  const _hoisted_3$3 = { class: "toolbar-table-actions__icon" };
88883
88888
  const _hoisted_4$1 = ["innerHTML"];
88884
88889
  const _hoisted_5 = { class: "toolbar-table-actions__label" };
88885
- const _sfc_main$6 = {
88890
+ const _sfc_main$7 = {
88886
88891
  __name: "TableActions",
88887
88892
  props: {
88888
88893
  options: {
@@ -88896,7 +88901,7 @@ const _sfc_main$6 = {
88896
88901
  emit("select", { command: item.command });
88897
88902
  };
88898
88903
  return (_ctx, _cache) => {
88899
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
88904
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
88900
88905
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.options, (option) => {
88901
88906
  return vue.openBlock(), vue.createElementBlock("div", {
88902
88907
  class: vue.normalizeClass(["toolbar-table-actions__item", { "toolbar-table-actions__item--border": option.bottomBorder }]),
@@ -88918,7 +88923,7 @@ const _sfc_main$6 = {
88918
88923
  };
88919
88924
  }
88920
88925
  };
88921
- const TableActions = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-990b9a25"]]);
88926
+ const TableActions = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-990b9a25"]]);
88922
88927
  function getScrollableParent(element) {
88923
88928
  let currentElement = element;
88924
88929
  while (currentElement) {
@@ -88942,10 +88947,10 @@ function scrollToElement(targetElement, options = { behavior: "smooth", block: "
88942
88947
  });
88943
88948
  }
88944
88949
  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" };
88950
+ const _hoisted_1$5 = { class: "search-input-ctn" };
88946
88951
  const _hoisted_2$2 = { class: "row" };
88947
88952
  const _hoisted_3$2 = ["onKeydown"];
88948
- const _sfc_main$5 = {
88953
+ const _sfc_main$6 = {
88949
88954
  __name: "SearchInput",
88950
88955
  props: {
88951
88956
  searchRef: {
@@ -88960,7 +88965,7 @@ const _sfc_main$5 = {
88960
88965
  emit("submit", { value: searchValue.value });
88961
88966
  };
88962
88967
  return (_ctx, _cache) => {
88963
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
88968
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
88964
88969
  vue.createBaseVNode("div", _hoisted_2$2, [
88965
88970
  vue.withDirectives(vue.createBaseVNode("input", {
88966
88971
  ref: __props.searchRef,
@@ -88984,7 +88989,7 @@ const _sfc_main$5 = {
88984
88989
  };
88985
88990
  }
88986
88991
  };
88987
- const SearchInput = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-957cbcf2"]]);
88992
+ const SearchInput = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-957cbcf2"]]);
88988
88993
  const TOOLBAR_FONTS = [
88989
88994
  {
88990
88995
  label: "Georgia",
@@ -91626,7 +91631,7 @@ function getItems(context, customItems = [], includeDefaultItems = true) {
91626
91631
  }).filter((section) => section.items.length > 0);
91627
91632
  return filteredSections;
91628
91633
  }
91629
- const _hoisted_1$3 = { class: "slash-menu-items" };
91634
+ const _hoisted_1$4 = { class: "slash-menu-items" };
91630
91635
  const _hoisted_2$1 = {
91631
91636
  key: 0,
91632
91637
  class: "slash-menu-divider",
@@ -91634,7 +91639,7 @@ const _hoisted_2$1 = {
91634
91639
  };
91635
91640
  const _hoisted_3$1 = ["onClick"];
91636
91641
  const _hoisted_4 = ["innerHTML"];
91637
- const _sfc_main$4 = {
91642
+ const _sfc_main$5 = {
91638
91643
  __name: "SlashMenu",
91639
91644
  props: {
91640
91645
  editor: {
@@ -91932,7 +91937,7 @@ const _sfc_main$4 = {
91932
91937
  }, null, 544), [
91933
91938
  [vue.vModelText, searchQuery.value]
91934
91939
  ]),
91935
- vue.createBaseVNode("div", _hoisted_1$3, [
91940
+ vue.createBaseVNode("div", _hoisted_1$4, [
91936
91941
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(filteredSections.value, (section, sectionIndex) => {
91937
91942
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, {
91938
91943
  key: section.id
@@ -91967,6 +91972,33 @@ const _sfc_main$4 = {
91967
91972
  };
91968
91973
  }
91969
91974
  };
91975
+ const _hoisted_1$3 = ["accept"];
91976
+ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
91977
+ __name: "BasicUpload",
91978
+ props: {
91979
+ accept: { default: ".docx, .pdf, .html, .md" }
91980
+ },
91981
+ emits: ["file-change"],
91982
+ setup(__props, { emit: __emit }) {
91983
+ const emit = __emit;
91984
+ const onFileChange = (event) => {
91985
+ const target = event.target;
91986
+ if (target.files?.[0]) {
91987
+ emit("file-change", target.files[0]);
91988
+ }
91989
+ };
91990
+ return (_ctx, _cache) => {
91991
+ return vue.openBlock(), vue.createElementBlock("div", null, [
91992
+ vue.createBaseVNode("input", {
91993
+ type: "file",
91994
+ id: "fileInput",
91995
+ onChange: onFileChange,
91996
+ accept: __props.accept
91997
+ }, null, 40, _hoisted_1$3)
91998
+ ]);
91999
+ };
92000
+ }
92001
+ });
91970
92002
  function adjustPaginationBreaks(editorElem, editor) {
91971
92003
  if (!editorElem.value || !editor?.value?.options?.scale) return;
91972
92004
  const zoom = editor.value.options.scale;
@@ -92491,7 +92523,7 @@ const _sfc_main$1 = {
92491
92523
  class: "editor-element super-editor__element",
92492
92524
  role: "presentation"
92493
92525
  }, null, 512),
92494
- !props.options.disableContextMenu && editorReady.value && editor.value ? (vue.openBlock(), vue.createBlock(_sfc_main$4, {
92526
+ !props.options.disableContextMenu && editorReady.value && editor.value ? (vue.openBlock(), vue.createBlock(_sfc_main$5, {
92495
92527
  key: 0,
92496
92528
  editor: editor.value,
92497
92529
  popoverControls,
@@ -92560,7 +92592,7 @@ const _sfc_main$1 = {
92560
92592
  };
92561
92593
  }
92562
92594
  };
92563
- const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-0c36dd72"]]);
92595
+ const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-9d25f5b3"]]);
92564
92596
  const _hoisted_1 = ["innerHTML"];
92565
92597
  const _sfc_main = {
92566
92598
  __name: "SuperInput",
@@ -92767,8 +92799,8 @@ exports.SuperInput = SuperInput;
92767
92799
  exports.SuperToolbar = SuperToolbar;
92768
92800
  exports.Toolbar = Toolbar;
92769
92801
  exports.TrackChangesBasePluginKey = TrackChangesBasePluginKey;
92770
- exports._sfc_main = _sfc_main$h;
92771
92802
  exports._sfc_main$4 = _sfc_main$4;
92803
+ exports._sfc_main$5 = _sfc_main$5;
92772
92804
  exports.createZip = createZip;
92773
92805
  exports.getActiveFormatting = getActiveFormatting;
92774
92806
  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"}