@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
@@ -1,4 +1,4 @@
1
- import { g as global$2, c as createElementBlock, o as openBlock, a as createBaseVNode, r as ref$1, b as createApp, d as computed, F as Fragment$1, e as renderList, n as normalizeClass, w as withModifiers, f as createCommentVNode, t as toDisplayString, i as inject, h as onBeforeMount, j as onMounted, k as onBeforeUnmount, l as watch, m as defineComponent, p as getCurrentInstance, q as onDeactivated, s as nextTick, u as createBlock, v as createVNode, x as unref, y as withCtx, z as createTextVNode, A as normalizeStyle, B as h$1, C as toRef, D as provide, E as mergeProps, G as cloneVNode, T as Text$2, H as withDirectives, I as watchEffect, J as shallowRef, K as vModelText, L as withKeys, M as reactive, N as readonly, O as Transition, P as vShow, Q as Comment, R as renderSlot, S as onActivated, U as Teleport, V as isVNode, W as onUnmounted, X as resolveDynamicComponent, Y as normalizeProps, Z as guardReactiveProps, _ as markRaw } from "./vue-DVNiXx7E.es.js";
1
+ import { g as global$2, r as ref$1, c as createApp, a as computed, b as createElementBlock, o as openBlock, F as Fragment$1, d as renderList, n as normalizeClass, w as withModifiers, e as createCommentVNode, t as toDisplayString, f as createBaseVNode, i as inject, h as onBeforeMount, j as onMounted, k as onBeforeUnmount, l as watch, m as defineComponent, p as getCurrentInstance, q as onDeactivated, s as nextTick, u as createBlock, v as createVNode, x as unref, y as h$1, z as mergeProps, A as shallowRef, B as withCtx, C as createTextVNode, D as normalizeStyle, E as toRef, G as provide, H as cloneVNode, T as Text$2, I as withDirectives, J as watchEffect, K as vModelText, L as withKeys, M as reactive, N as readonly, O as Transition, P as vShow, Q as Comment, R as renderSlot, S as onActivated, U as Teleport, V as isVNode, W as onUnmounted, X as resolveDynamicComponent, Y as normalizeProps, Z as guardReactiveProps, _ as markRaw } from "./vue-D1vcEBAQ.es.js";
2
2
  import * as Y from "yjs";
3
3
  import { UndoManager, Item as Item$2, ContentType, Text as Text$1, XmlElement, encodeStateAsUpdate } from "yjs";
4
4
  var __defProp$2 = Object.defineProperty;
@@ -33120,70 +33120,74 @@ const DocxHelpers = {
33120
33120
  getNewRelationshipId
33121
33121
  };
33122
33122
  const kebabCase$1 = (str) => str.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);
33123
- const comments_module_events = Object.freeze({
33124
- RESOLVED: "resolved",
33125
- NEW: "new",
33123
+ const comments_module_events = {
33126
33124
  ADD: "add",
33127
33125
  UPDATE: "update",
33128
- DELETED: "deleted",
33129
- PENDING: "pending",
33130
- SELECTED: "selected",
33131
- // Comments list
33132
- COMMENTS_LIST: "comments-list",
33133
- // Tracked changes
33134
- CHANGE_ACCEPTED: "change-accepted",
33135
- CHANGE_REJECTED: "change-rejected"
33136
- });
33126
+ SELECTED: "selected"
33127
+ };
33128
+ class FileObjectError extends Error {
33129
+ constructor(message, cause) {
33130
+ super(message);
33131
+ this.cause = cause;
33132
+ this.name = "FileObjectError";
33133
+ if (typeof Error.captureStackTrace === "function") {
33134
+ Error.captureStackTrace(this, FileObjectError);
33135
+ }
33136
+ }
33137
+ }
33138
+ class InvalidDataUriError extends FileObjectError {
33139
+ constructor(uri2) {
33140
+ super(`Invalid data URI format: URI must contain exactly one comma separator`);
33141
+ this.uri = uri2;
33142
+ this.name = "InvalidDataUriError";
33143
+ }
33144
+ }
33145
+ class FetchFailedError extends FileObjectError {
33146
+ constructor(url, cause) {
33147
+ super(`Failed to fetch file from URL: ${url}`, cause);
33148
+ this.url = url;
33149
+ this.name = "FetchFailedError";
33150
+ }
33151
+ }
33137
33152
  const getFileObject = async (fileUrl, name, type2) => {
33138
- if (fileUrl.startsWith("data:") && fileUrl.includes(";base64,")) {
33139
- const binary = atob(fileUrl.split(",")[1]);
33140
- const bytes = Uint8Array.from(binary, (c2) => c2.charCodeAt(0));
33141
- return new File([bytes], name, { type: type2 });
33153
+ try {
33154
+ if (fileUrl.startsWith("data:") && fileUrl.includes(";base64,")) {
33155
+ const parts = fileUrl.split(",");
33156
+ if (parts.length !== 2) {
33157
+ throw new InvalidDataUriError(fileUrl);
33158
+ }
33159
+ const binary = atob(parts[1]);
33160
+ const bytes = Uint8Array.from(binary, (c2) => c2.charCodeAt(0));
33161
+ return new File([bytes], name, { type: type2 });
33162
+ }
33163
+ const response = await fetch(fileUrl);
33164
+ if (!response.ok) {
33165
+ throw new FetchFailedError(fileUrl, new Error(`HTTP ${response.status}: ${response.statusText}`));
33166
+ }
33167
+ const blob = await response.blob();
33168
+ return new File([blob], name, { type: type2 });
33169
+ } catch (error) {
33170
+ if (error instanceof FileObjectError) {
33171
+ throw error;
33172
+ }
33173
+ throw new FileObjectError("Failed to create file object", error);
33142
33174
  }
33143
- const response = await fetch(fileUrl);
33144
- const blob = await response.blob();
33145
- return new File([blob], name, { type: type2 });
33146
33175
  };
33147
33176
  const vClickOutside = {
33148
33177
  mounted(el, binding) {
33149
33178
  const clickOutsideHandler = (event) => {
33150
33179
  if (!el.contains(event.target)) {
33151
- binding.value(event);
33180
+ binding.value?.(event);
33152
33181
  }
33153
33182
  };
33154
33183
  document.addEventListener("click", clickOutsideHandler);
33155
33184
  el.__clickOutsideHandler = clickOutsideHandler;
33156
33185
  },
33157
33186
  unmounted(el) {
33158
- document.removeEventListener("click", el.__clickOutsideHandler);
33159
- delete el.__clickOutsideHandler;
33160
- }
33161
- };
33162
- const _hoisted_1$g = ["accept"];
33163
- const _sfc_main$h = {
33164
- __name: "BasicUpload",
33165
- props: {
33166
- accept: {
33167
- type: String,
33168
- default: ".docx, .pdf, .html, .md"
33187
+ if (el.__clickOutsideHandler) {
33188
+ document.removeEventListener("click", el.__clickOutsideHandler);
33189
+ delete el.__clickOutsideHandler;
33169
33190
  }
33170
- },
33171
- emits: ["file-change"],
33172
- setup(__props, { emit: __emit }) {
33173
- const emit = __emit;
33174
- const onFileChange = (event) => {
33175
- emit("file-change", event.target.files[0]);
33176
- };
33177
- return (_ctx, _cache) => {
33178
- return openBlock(), createElementBlock("div", null, [
33179
- createBaseVNode("input", {
33180
- type: "file",
33181
- id: "fileInput",
33182
- onChange: onFileChange,
33183
- accept: __props.accept
33184
- }, null, 40, _hoisted_1$g)
33185
- ]);
33186
- };
33187
33191
  }
33188
33192
  };
33189
33193
  const getDefaultStyleDefinition = (defaultStyleId, docx) => {
@@ -35593,7 +35597,7 @@ const _SuperConverter = class _SuperConverter2 {
35593
35597
  static getStoredSuperdocVersion(docx) {
35594
35598
  return _SuperConverter2.getStoredCustomProperty(docx, "SuperdocVersion");
35595
35599
  }
35596
- static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.29.0-next.7") {
35600
+ static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.29.0-next.8") {
35597
35601
  return _SuperConverter2.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
35598
35602
  }
35599
35603
  /**
@@ -53782,7 +53786,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
53782
53786
  { default: remarkStringify },
53783
53787
  { default: remarkGfm }
53784
53788
  ] = await Promise.all([
53785
- import("./index-BqhJhdcP-B9XbOefk.es.js"),
53789
+ import("./index-D08c3nkG-DhTHMiRT.es.js"),
53786
53790
  import("./index-DRCvimau-Cw339678.es.js"),
53787
53791
  import("./index-C_x_N6Uh-DJn8hIEt.es.js"),
53788
53792
  import("./index-D_sWOSiG-DE96TaT5.es.js"),
@@ -54000,7 +54004,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
54000
54004
  * @returns {Object | void} Migration results
54001
54005
  */
54002
54006
  processCollaborationMigrations() {
54003
- console.debug("[checkVersionMigrations] Current editor version", "0.29.0-next.7");
54007
+ console.debug("[checkVersionMigrations] Current editor version", "0.29.0-next.8");
54004
54008
  if (!this.options.ydoc) return;
54005
54009
  const metaMap = this.options.ydoc.getMap("meta");
54006
54010
  let docVersion = metaMap.get("version");
@@ -74083,12 +74087,12 @@ const _export_sfc = (sfc, props) => {
74083
74087
  }
74084
74088
  return target;
74085
74089
  };
74086
- const _hoisted_1$f = ["onClick", "onMouseenter"];
74090
+ const _hoisted_1$g = ["onClick", "onMouseenter"];
74087
74091
  const _hoisted_2$c = { key: 0 };
74088
74092
  const _hoisted_3$a = { key: 0 };
74089
74093
  const _hoisted_4$6 = { key: 1 };
74090
74094
  const _hoisted_5$5 = { key: 1 };
74091
- const _sfc_main$g = {
74095
+ const _sfc_main$h = {
74092
74096
  __name: "Mentions",
74093
74097
  props: {
74094
74098
  users: {
@@ -74165,13 +74169,13 @@ const _sfc_main$g = {
74165
74169
  ])) : (openBlock(), createElementBlock("div", _hoisted_5$5, [
74166
74170
  createBaseVNode("span", null, toDisplayString(user.email), 1)
74167
74171
  ]))
74168
- ], 42, _hoisted_1$f);
74172
+ ], 42, _hoisted_1$g);
74169
74173
  }), 128))
74170
74174
  ], 544);
74171
74175
  };
74172
74176
  }
74173
74177
  };
74174
- const Mentions = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-bcae18cf"]]);
74178
+ const Mentions = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-bcae18cf"]]);
74175
74179
  const popoverPluginKey = new PluginKey("popoverPlugin");
74176
74180
  const PopoverPlugin = Extension.create({
74177
74181
  name: "popoverPlugin",
@@ -86731,7 +86735,7 @@ const NSkeleton = defineComponent({
86731
86735
  return child;
86732
86736
  }
86733
86737
  });
86734
- const _hoisted_1$e = ["onKeydown", "tabindex", "data-item-id"];
86738
+ const _hoisted_1$f = ["onKeydown", "tabindex", "data-item-id"];
86735
86739
  const _hoisted_2$b = { key: 0 };
86736
86740
  const _hoisted_3$9 = { key: 0 };
86737
86741
  const _hoisted_4$5 = { key: 0 };
@@ -87002,14 +87006,14 @@ const _sfc_main$1$1 = {
87002
87006
  onButtonClick: ($event) => handleToolbarButtonClick(item),
87003
87007
  "overflow-items": __props.overflowItems
87004
87008
  }, null, 8, ["toolbar-item", "onButtonClick", "overflow-items"])) : createCommentVNode("", true)
87005
- ], 42, _hoisted_1$e);
87009
+ ], 42, _hoisted_1$f);
87006
87010
  }), 128))
87007
87011
  ], 36);
87008
87012
  };
87009
87013
  }
87010
87014
  };
87011
87015
  const ButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1$1, [["__scopeId", "data-v-f42ec7e6"]]);
87012
- const _sfc_main$f = {
87016
+ const _sfc_main$g = {
87013
87017
  __name: "Toolbar",
87014
87018
  emits: ["command", "toggle", "select"],
87015
87019
  setup(__props, { emit: __emit }) {
@@ -87090,7 +87094,7 @@ const _sfc_main$f = {
87090
87094
  };
87091
87095
  }
87092
87096
  };
87093
- const Toolbar = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-639f50b4"]]);
87097
+ const Toolbar = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-639f50b4"]]);
87094
87098
  const DEFAULT_API_ENDPOINT = "https://sd-dev-express-gateway-i6xtm.ondigitalocean.app/insights";
87095
87099
  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: ";
87096
87100
  async function baseInsightsFetch(payload, options = {}) {
@@ -87326,12 +87330,12 @@ function formatDocument(editor) {
87326
87330
  }
87327
87331
  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>';
87328
87332
  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>';
87329
- const _hoisted_1$d = { class: "ai-user-input-field" };
87333
+ const _hoisted_1$e = { class: "ai-user-input-field" };
87330
87334
  const _hoisted_2$a = ["innerHTML"];
87331
87335
  const _hoisted_3$8 = ["placeholder"];
87332
87336
  const _hoisted_4$4 = { class: "ai-loader" };
87333
87337
  const _hoisted_5$3 = ["innerHTML"];
87334
- const _sfc_main$e = {
87338
+ const _sfc_main$f = {
87335
87339
  __name: "AIWriter",
87336
87340
  props: {
87337
87341
  selectedText: {
@@ -87577,7 +87581,7 @@ const _sfc_main$e = {
87577
87581
  onMousedown: _cache[1] || (_cache[1] = withModifiers(() => {
87578
87582
  }, ["stop"]))
87579
87583
  }, [
87580
- createBaseVNode("div", _hoisted_1$d, [
87584
+ createBaseVNode("div", _hoisted_1$e, [
87581
87585
  createBaseVNode("span", {
87582
87586
  class: "ai-textarea-icon",
87583
87587
  innerHTML: unref(edit)
@@ -87607,7 +87611,7 @@ const _sfc_main$e = {
87607
87611
  };
87608
87612
  }
87609
87613
  };
87610
- const AIWriter = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-e8e0f607"]]);
87614
+ const AIWriter = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-d869be75"]]);
87611
87615
  async function createZip(blobs, fileNames) {
87612
87616
  const zip = new JSZip();
87613
87617
  blobs.forEach((blob, index2) => {
@@ -87920,8 +87924,8 @@ const useToolbarItem = (options) => {
87920
87924
  onDeactivate
87921
87925
  };
87922
87926
  };
87923
- const _hoisted_1$c = ["onClick", "innerHTML", "aria-label", "onKeydown"];
87924
- const _sfc_main$d = {
87927
+ const _hoisted_1$d = ["onClick", "innerHTML", "aria-label", "onKeydown"];
87928
+ const _sfc_main$e = {
87925
87929
  __name: "AlignmentButtons",
87926
87930
  emits: ["select"],
87927
87931
  setup(__props, { emit: __emit }) {
@@ -88006,20 +88010,20 @@ const _sfc_main$d = {
88006
88010
  ref_key: "alignmentButtonsRefs",
88007
88011
  ref: alignmentButtonsRefs,
88008
88012
  onKeydown: withModifiers((event) => handleKeyDown2(event, index2), ["prevent"])
88009
- }, null, 40, _hoisted_1$c);
88013
+ }, null, 40, _hoisted_1$d);
88010
88014
  }), 64))
88011
88015
  ], 2);
88012
88016
  };
88013
88017
  }
88014
88018
  };
88015
- const AlignmentButtons = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-d84f57b6"]]);
88016
- const _hoisted_1$b = ["onClick", "onKeydown"];
88019
+ const AlignmentButtons = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-d84f57b6"]]);
88020
+ const _hoisted_1$c = ["onClick", "onKeydown"];
88017
88021
  const _hoisted_2$9 = { class: "document-mode-column icon-column" };
88018
88022
  const _hoisted_3$7 = ["innerHTML"];
88019
88023
  const _hoisted_4$3 = { class: "document-mode-column text-column" };
88020
88024
  const _hoisted_5$2 = { class: "document-mode-type" };
88021
88025
  const _hoisted_6$1 = { class: "document-mode-description" };
88022
- const _sfc_main$c = {
88026
+ const _sfc_main$d = {
88023
88027
  __name: "DocumentMode",
88024
88028
  props: {
88025
88029
  options: {
@@ -88093,19 +88097,19 @@ const _sfc_main$c = {
88093
88097
  createBaseVNode("div", _hoisted_5$2, toDisplayString(option.label), 1),
88094
88098
  createBaseVNode("div", _hoisted_6$1, toDisplayString(option.description), 1)
88095
88099
  ])
88096
- ], 42, _hoisted_1$b);
88100
+ ], 42, _hoisted_1$c);
88097
88101
  }), 256))
88098
88102
  ], 2);
88099
88103
  };
88100
88104
  }
88101
88105
  };
88102
- const DocumentMode = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-8730b752"]]);
88103
- const _hoisted_1$a = {
88106
+ const DocumentMode = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-8730b752"]]);
88107
+ const _hoisted_1$b = {
88104
88108
  key: 0,
88105
88109
  class: "linked-style-buttons"
88106
88110
  };
88107
88111
  const _hoisted_2$8 = ["onClick", "onKeydown"];
88108
- const _sfc_main$b = {
88112
+ const _sfc_main$c = {
88109
88113
  __name: "LinkedStyle",
88110
88114
  props: {
88111
88115
  editor: {
@@ -88159,7 +88163,7 @@ const _sfc_main$b = {
88159
88163
  styleRefs.value[0].focus();
88160
88164
  });
88161
88165
  return (_ctx, _cache) => {
88162
- return props.editor ? (openBlock(), createElementBlock("div", _hoisted_1$a, [
88166
+ return props.editor ? (openBlock(), createElementBlock("div", _hoisted_1$b, [
88163
88167
  (openBlock(true), createElementBlock(Fragment$1, null, renderList(unref(getQuickFormatList)(__props.editor), (style2, index2) => {
88164
88168
  return openBlock(), createElementBlock("div", {
88165
88169
  class: normalizeClass(["style-item", { selected: __props.selectedOption === style2.id }]),
@@ -88180,8 +88184,8 @@ const _sfc_main$b = {
88180
88184
  };
88181
88185
  }
88182
88186
  };
88183
- const LinkedStyle = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-698bdb8e"]]);
88184
- const _hoisted_1$9 = {
88187
+ const LinkedStyle = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-698bdb8e"]]);
88188
+ const _hoisted_1$a = {
88185
88189
  key: 0,
88186
88190
  class: "link-title"
88187
88191
  };
@@ -88209,7 +88213,7 @@ const _hoisted_13 = {
88209
88213
  key: 4,
88210
88214
  class: "input-row go-to-anchor clickable"
88211
88215
  };
88212
- const _sfc_main$a = {
88216
+ const _sfc_main$b = {
88213
88217
  __name: "LinkInput",
88214
88218
  props: {
88215
88219
  showInput: {
@@ -88348,7 +88352,7 @@ const _sfc_main$a = {
88348
88352
  return openBlock(), createElementBlock("div", {
88349
88353
  class: normalizeClass(["link-input-ctn", { "high-contrast": unref(isHighContrastMode2) }])
88350
88354
  }, [
88351
- isAnchor.value ? (openBlock(), createElementBlock("div", _hoisted_1$9, "Page anchor")) : isEditing.value ? (openBlock(), createElementBlock("div", _hoisted_2$7, "Edit link")) : (openBlock(), createElementBlock("div", _hoisted_3$6, "Add link")),
88355
+ isAnchor.value ? (openBlock(), createElementBlock("div", _hoisted_1$a, "Page anchor")) : isEditing.value ? (openBlock(), createElementBlock("div", _hoisted_2$7, "Edit link")) : (openBlock(), createElementBlock("div", _hoisted_3$6, "Add link")),
88352
88356
  __props.showInput && !isAnchor.value ? (openBlock(), createElementBlock("div", _hoisted_4$2, [
88353
88357
  createBaseVNode("div", _hoisted_5$1, [
88354
88358
  _cache[4] || (_cache[4] = createBaseVNode("div", { class: "input-icon text-input-icon" }, "T", -1)),
@@ -88415,12 +88419,12 @@ const _sfc_main$a = {
88415
88419
  };
88416
88420
  }
88417
88421
  };
88418
- const LinkInput = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-ba50627b"]]);
88419
- const _hoisted_1$8 = ["aria-label", "onClick", "onKeydown"];
88422
+ const LinkInput = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-ba50627b"]]);
88423
+ const _hoisted_1$9 = ["aria-label", "onClick", "onKeydown"];
88420
88424
  const _hoisted_2$6 = ["innerHTML"];
88421
88425
  const _hoisted_3$5 = ["innerHTML"];
88422
88426
  const ROW_SIZE$1 = 7;
88423
- const _sfc_main$9 = {
88427
+ const _sfc_main$a = {
88424
88428
  __name: "IconGridRow",
88425
88429
  props: {
88426
88430
  icons: {
@@ -88546,19 +88550,19 @@ const _sfc_main$9 = {
88546
88550
  innerHTML: unref(toolbarIcons).colorOptionCheck,
88547
88551
  style: normalizeStyle(getCheckStyle(option.value, optionIndex))
88548
88552
  }, null, 12, _hoisted_3$5)) : createCommentVNode("", true)
88549
- ], 40, _hoisted_1$8);
88553
+ ], 40, _hoisted_1$9);
88550
88554
  }), 128))
88551
88555
  ]);
88552
88556
  }), 128);
88553
88557
  };
88554
88558
  }
88555
88559
  };
88556
- const IconGridRow = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-0f479b6c"]]);
88560
+ const IconGridRow = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-0f479b6c"]]);
88557
88561
  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';
88558
- const _hoisted_1$7 = { class: "options-grid-wrap" };
88562
+ const _hoisted_1$8 = { class: "options-grid-wrap" };
88559
88563
  const _hoisted_2$5 = ["innerHTML"];
88560
88564
  const _hoisted_3$4 = { class: "option-grid-ctn" };
88561
- const _sfc_main$8 = {
88565
+ const _sfc_main$9 = {
88562
88566
  __name: "IconGrid",
88563
88567
  props: {
88564
88568
  icons: {
@@ -88585,7 +88589,7 @@ const _sfc_main$8 = {
88585
88589
  emit("select", option);
88586
88590
  };
88587
88591
  return (_ctx, _cache) => {
88588
- return openBlock(), createElementBlock("div", _hoisted_1$7, [
88592
+ return openBlock(), createElementBlock("div", _hoisted_1$8, [
88589
88593
  __props.hasNoneIcon ? (openBlock(), createElementBlock("div", {
88590
88594
  key: 0,
88591
88595
  class: "none-option",
@@ -88618,7 +88622,7 @@ const _sfc_main$8 = {
88618
88622
  };
88619
88623
  }
88620
88624
  };
88621
- const IconGrid = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-4c0091c8"]]);
88625
+ const IconGrid = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-3d19fedf"]]);
88622
88626
  const closeDropdown$1 = (dropdown) => {
88623
88627
  dropdown.expand.value = false;
88624
88628
  };
@@ -88727,10 +88731,10 @@ const icons = [
88727
88731
  const getAvailableColorOptions = () => {
88728
88732
  return icons.flat().map((item) => item.value);
88729
88733
  };
88730
- const _hoisted_1$6 = ["data-cols", "data-rows", "onKeydown", "onClick"];
88734
+ const _hoisted_1$7 = ["data-cols", "data-rows", "onKeydown", "onClick"];
88731
88735
  const _hoisted_2$4 = ["aria-valuetext"];
88732
88736
  const ROW_SIZE = 5;
88733
- const _sfc_main$7 = {
88737
+ const _sfc_main$8 = {
88734
88738
  __name: "TableGrid",
88735
88739
  emits: ["select", "clickoutside"],
88736
88740
  setup(__props, { emit: __emit }) {
@@ -88846,7 +88850,7 @@ const _sfc_main$7 = {
88846
88850
  ref: tableGridItems,
88847
88851
  onKeydown: withModifiers((event) => handleKeyDown2(event, n, i2), ["prevent"]),
88848
88852
  onClick: withModifiers(($event) => handleClick2({ cols: n, rows: i2 }), ["stop", "prevent"])
88849
- }, null, 40, _hoisted_1$6);
88853
+ }, null, 40, _hoisted_1$7);
88850
88854
  }), 64))
88851
88855
  ], 64);
88852
88856
  }), 64))
@@ -88859,13 +88863,13 @@ const _sfc_main$7 = {
88859
88863
  };
88860
88864
  }
88861
88865
  };
88862
- const TableGrid = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-92e8d5fb"]]);
88863
- const _hoisted_1$5 = { class: "toolbar-table-actions" };
88866
+ const TableGrid = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-92e8d5fb"]]);
88867
+ const _hoisted_1$6 = { class: "toolbar-table-actions" };
88864
88868
  const _hoisted_2$3 = ["onClick", "data-item", "ariaLabel"];
88865
88869
  const _hoisted_3$3 = { class: "toolbar-table-actions__icon" };
88866
88870
  const _hoisted_4$1 = ["innerHTML"];
88867
88871
  const _hoisted_5 = { class: "toolbar-table-actions__label" };
88868
- const _sfc_main$6 = {
88872
+ const _sfc_main$7 = {
88869
88873
  __name: "TableActions",
88870
88874
  props: {
88871
88875
  options: {
@@ -88879,7 +88883,7 @@ const _sfc_main$6 = {
88879
88883
  emit("select", { command: item.command });
88880
88884
  };
88881
88885
  return (_ctx, _cache) => {
88882
- return openBlock(), createElementBlock("div", _hoisted_1$5, [
88886
+ return openBlock(), createElementBlock("div", _hoisted_1$6, [
88883
88887
  (openBlock(true), createElementBlock(Fragment$1, null, renderList(__props.options, (option) => {
88884
88888
  return openBlock(), createElementBlock("div", {
88885
88889
  class: normalizeClass(["toolbar-table-actions__item", { "toolbar-table-actions__item--border": option.bottomBorder }]),
@@ -88901,7 +88905,7 @@ const _sfc_main$6 = {
88901
88905
  };
88902
88906
  }
88903
88907
  };
88904
- const TableActions = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-990b9a25"]]);
88908
+ const TableActions = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-990b9a25"]]);
88905
88909
  function getScrollableParent(element) {
88906
88910
  let currentElement = element;
88907
88911
  while (currentElement) {
@@ -88925,10 +88929,10 @@ function scrollToElement(targetElement, options = { behavior: "smooth", block: "
88925
88929
  });
88926
88930
  }
88927
88931
  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';
88928
- const _hoisted_1$4 = { class: "search-input-ctn" };
88932
+ const _hoisted_1$5 = { class: "search-input-ctn" };
88929
88933
  const _hoisted_2$2 = { class: "row" };
88930
88934
  const _hoisted_3$2 = ["onKeydown"];
88931
- const _sfc_main$5 = {
88935
+ const _sfc_main$6 = {
88932
88936
  __name: "SearchInput",
88933
88937
  props: {
88934
88938
  searchRef: {
@@ -88943,7 +88947,7 @@ const _sfc_main$5 = {
88943
88947
  emit("submit", { value: searchValue.value });
88944
88948
  };
88945
88949
  return (_ctx, _cache) => {
88946
- return openBlock(), createElementBlock("div", _hoisted_1$4, [
88950
+ return openBlock(), createElementBlock("div", _hoisted_1$5, [
88947
88951
  createBaseVNode("div", _hoisted_2$2, [
88948
88952
  withDirectives(createBaseVNode("input", {
88949
88953
  ref: __props.searchRef,
@@ -88967,7 +88971,7 @@ const _sfc_main$5 = {
88967
88971
  };
88968
88972
  }
88969
88973
  };
88970
- const SearchInput = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-957cbcf2"]]);
88974
+ const SearchInput = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-957cbcf2"]]);
88971
88975
  const TOOLBAR_FONTS = [
88972
88976
  {
88973
88977
  label: "Georgia",
@@ -91609,7 +91613,7 @@ function getItems(context, customItems = [], includeDefaultItems = true) {
91609
91613
  }).filter((section) => section.items.length > 0);
91610
91614
  return filteredSections;
91611
91615
  }
91612
- const _hoisted_1$3 = { class: "slash-menu-items" };
91616
+ const _hoisted_1$4 = { class: "slash-menu-items" };
91613
91617
  const _hoisted_2$1 = {
91614
91618
  key: 0,
91615
91619
  class: "slash-menu-divider",
@@ -91617,7 +91621,7 @@ const _hoisted_2$1 = {
91617
91621
  };
91618
91622
  const _hoisted_3$1 = ["onClick"];
91619
91623
  const _hoisted_4 = ["innerHTML"];
91620
- const _sfc_main$4 = {
91624
+ const _sfc_main$5 = {
91621
91625
  __name: "SlashMenu",
91622
91626
  props: {
91623
91627
  editor: {
@@ -91915,7 +91919,7 @@ const _sfc_main$4 = {
91915
91919
  }, null, 544), [
91916
91920
  [vModelText, searchQuery.value]
91917
91921
  ]),
91918
- createBaseVNode("div", _hoisted_1$3, [
91922
+ createBaseVNode("div", _hoisted_1$4, [
91919
91923
  (openBlock(true), createElementBlock(Fragment$1, null, renderList(filteredSections.value, (section, sectionIndex) => {
91920
91924
  return openBlock(), createElementBlock(Fragment$1, {
91921
91925
  key: section.id
@@ -91950,6 +91954,33 @@ const _sfc_main$4 = {
91950
91954
  };
91951
91955
  }
91952
91956
  };
91957
+ const _hoisted_1$3 = ["accept"];
91958
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
91959
+ __name: "BasicUpload",
91960
+ props: {
91961
+ accept: { default: ".docx, .pdf, .html, .md" }
91962
+ },
91963
+ emits: ["file-change"],
91964
+ setup(__props, { emit: __emit }) {
91965
+ const emit = __emit;
91966
+ const onFileChange = (event) => {
91967
+ const target = event.target;
91968
+ if (target.files?.[0]) {
91969
+ emit("file-change", target.files[0]);
91970
+ }
91971
+ };
91972
+ return (_ctx, _cache) => {
91973
+ return openBlock(), createElementBlock("div", null, [
91974
+ createBaseVNode("input", {
91975
+ type: "file",
91976
+ id: "fileInput",
91977
+ onChange: onFileChange,
91978
+ accept: __props.accept
91979
+ }, null, 40, _hoisted_1$3)
91980
+ ]);
91981
+ };
91982
+ }
91983
+ });
91953
91984
  function adjustPaginationBreaks(editorElem, editor) {
91954
91985
  if (!editorElem.value || !editor?.value?.options?.scale) return;
91955
91986
  const zoom = editor.value.options.scale;
@@ -92474,7 +92505,7 @@ const _sfc_main$1 = {
92474
92505
  class: "editor-element super-editor__element",
92475
92506
  role: "presentation"
92476
92507
  }, null, 512),
92477
- !props.options.disableContextMenu && editorReady.value && editor.value ? (openBlock(), createBlock(_sfc_main$4, {
92508
+ !props.options.disableContextMenu && editorReady.value && editor.value ? (openBlock(), createBlock(_sfc_main$5, {
92478
92509
  key: 0,
92479
92510
  editor: editor.value,
92480
92511
  popoverControls,
@@ -92543,7 +92574,7 @@ const _sfc_main$1 = {
92543
92574
  };
92544
92575
  }
92545
92576
  };
92546
- const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-0c36dd72"]]);
92577
+ const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-9d25f5b3"]]);
92547
92578
  const _hoisted_1 = ["innerHTML"];
92548
92579
  const _sfc_main = {
92549
92580
  __name: "SuperInput",
@@ -92744,10 +92775,10 @@ export {
92744
92775
  Editor as E,
92745
92776
  SectionHelpers as S,
92746
92777
  Toolbar as T,
92747
- _sfc_main$h as _,
92778
+ _sfc_main$4 as _,
92748
92779
  AnnotatorHelpers as a,
92749
92780
  Extensions as b,
92750
- _sfc_main$4 as c,
92781
+ _sfc_main$5 as c,
92751
92782
  SuperConverter as d,
92752
92783
  SuperEditor as e,
92753
92784
  SuperInput as f,