@harbour-enterprises/superdoc 0.15.2-next.1 → 0.15.2-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{super-editor.es-BUak62Bh.es.js → super-editor.es-BlSK1zQU.es.js} +86 -52
- package/dist/chunks/{super-editor.es-B2sOtMP9.cjs → super-editor.es-ChEpdXab.cjs} +86 -52
- package/dist/style.css +15 -11
- package/dist/super-editor/ai-writer.es.js +2 -2
- package/dist/super-editor/chunks/{converter-B0UssPUJ.js → converter-DEzeQyFB.js} +2 -2
- package/dist/super-editor/chunks/{docx-zipper-5A79RUva.js → docx-zipper-r--J6tY3.js} +1 -1
- package/dist/super-editor/chunks/{editor-BmH6gzuw.js → editor-DNJxPkJY.js} +70 -23
- package/dist/super-editor/chunks/{toolbar-vVv-Jc8S.js → toolbar-Qax0Z1kx.js} +2 -2
- package/dist/super-editor/converter.es.js +1 -1
- package/dist/super-editor/docx-zipper.es.js +2 -2
- package/dist/super-editor/editor.es.js +3 -3
- package/dist/super-editor/extensions/custom-selection/custom-selection.d.ts.map +1 -1
- package/dist/super-editor/file-zipper.es.js +1 -1
- package/dist/super-editor/style.css +15 -11
- package/dist/super-editor/super-editor.es.js +8 -21
- package/dist/super-editor/toolbar.es.js +2 -2
- package/dist/super-editor.cjs +1 -1
- package/dist/super-editor.es.js +1 -1
- package/dist/superdoc.cjs +2 -2
- package/dist/superdoc.es.js +3 -3
- package/dist/superdoc.umd.js +94 -60
- package/dist/superdoc.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -28664,7 +28664,7 @@ const _SuperConverter = class _SuperConverter2 {
|
|
|
28664
28664
|
return;
|
|
28665
28665
|
}
|
|
28666
28666
|
}
|
|
28667
|
-
static updateDocumentVersion(docx = this.convertedXml, version2 = "0.15.2-next.
|
|
28667
|
+
static updateDocumentVersion(docx = this.convertedXml, version2 = "0.15.2-next.2") {
|
|
28668
28668
|
const customLocation = "docProps/custom.xml";
|
|
28669
28669
|
if (!docx[customLocation]) {
|
|
28670
28670
|
docx[customLocation] = generateCustomXml();
|
|
@@ -29142,7 +29142,7 @@ function storeSuperdocVersion(docx) {
|
|
|
29142
29142
|
function generateCustomXml() {
|
|
29143
29143
|
return DEFAULT_CUSTOM_XML;
|
|
29144
29144
|
}
|
|
29145
|
-
function generateSuperdocVersion(pid = 2, version2 = "0.15.2-next.
|
|
29145
|
+
function generateSuperdocVersion(pid = 2, version2 = "0.15.2-next.2") {
|
|
29146
29146
|
return {
|
|
29147
29147
|
type: "element",
|
|
29148
29148
|
name: "property",
|
|
@@ -45266,7 +45266,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
|
|
|
45266
45266
|
* @returns {Object | void} Migration results
|
|
45267
45267
|
*/
|
|
45268
45268
|
processCollaborationMigrations() {
|
|
45269
|
-
console.debug("[checkVersionMigrations] Current editor version", "0.15.2-next.
|
|
45269
|
+
console.debug("[checkVersionMigrations] Current editor version", "0.15.2-next.2");
|
|
45270
45270
|
if (!this.options.ydoc) return;
|
|
45271
45271
|
const metaMap = this.options.ydoc.getMap("meta");
|
|
45272
45272
|
let docVersion = metaMap.get("version");
|
|
@@ -60084,44 +60084,91 @@ const NodeResizer = Extension.create({
|
|
|
60084
60084
|
}
|
|
60085
60085
|
});
|
|
60086
60086
|
const CustomSelectionPluginKey = new PluginKey("CustomSelection");
|
|
60087
|
+
const handleClickOutside = (event, editor) => {
|
|
60088
|
+
const editorElem = editor?.options?.element;
|
|
60089
|
+
if (!editorElem) return;
|
|
60090
|
+
const isInsideEditor = editorElem?.contains(event.target);
|
|
60091
|
+
if (!isInsideEditor) {
|
|
60092
|
+
editor.setOptions({
|
|
60093
|
+
focusTarget: event.target
|
|
60094
|
+
});
|
|
60095
|
+
} else {
|
|
60096
|
+
editor.setOptions({
|
|
60097
|
+
focusTarget: null
|
|
60098
|
+
});
|
|
60099
|
+
}
|
|
60100
|
+
};
|
|
60101
|
+
function getFocusMeta(tr) {
|
|
60102
|
+
return tr.getMeta(CustomSelectionPluginKey);
|
|
60103
|
+
}
|
|
60104
|
+
function setFocusMeta(tr, value) {
|
|
60105
|
+
return tr.setMeta(CustomSelectionPluginKey, value);
|
|
60106
|
+
}
|
|
60107
|
+
function getFocusState(state2) {
|
|
60108
|
+
return CustomSelectionPluginKey.getState(state2);
|
|
60109
|
+
}
|
|
60087
60110
|
const CustomSelection = Extension.create({
|
|
60088
60111
|
name: "customSelection",
|
|
60089
60112
|
addPmPlugins() {
|
|
60113
|
+
const editor = this.editor;
|
|
60090
60114
|
const customSelectionPlugin = new Plugin({
|
|
60091
60115
|
key: CustomSelectionPluginKey,
|
|
60092
60116
|
state: {
|
|
60093
|
-
init()
|
|
60094
|
-
|
|
60095
|
-
|
|
60096
|
-
apply(tr, oldDecorationSet, oldState, newState) {
|
|
60097
|
-
const sel = tr.selection;
|
|
60098
|
-
let newDecos = [];
|
|
60099
|
-
if (sel.from !== sel.to && (tr.doc.resolve(sel.from).parent.isTextblock || sel instanceof AllSelection)) {
|
|
60100
|
-
newDecos.push(
|
|
60101
|
-
Decoration.inline(sel.from, sel.to, {
|
|
60102
|
-
class: "sd-custom-selection"
|
|
60103
|
-
})
|
|
60104
|
-
);
|
|
60105
|
-
}
|
|
60106
|
-
return DecorationSet.create(newState.doc, newDecos);
|
|
60117
|
+
init: () => false,
|
|
60118
|
+
apply: (tr, value) => {
|
|
60119
|
+
return getFocusMeta(tr) ?? value;
|
|
60107
60120
|
}
|
|
60108
60121
|
},
|
|
60122
|
+
view: () => {
|
|
60123
|
+
document?.addEventListener("mousedown", (event) => handleClickOutside(event, editor));
|
|
60124
|
+
return {
|
|
60125
|
+
destroy: () => {
|
|
60126
|
+
document?.removeEventListener("mouseout", handleClickOutside);
|
|
60127
|
+
}
|
|
60128
|
+
};
|
|
60129
|
+
},
|
|
60109
60130
|
props: {
|
|
60110
60131
|
handleDOMEvents: {
|
|
60111
|
-
|
|
60112
|
-
const
|
|
60113
|
-
|
|
60132
|
+
mousedown: (view) => {
|
|
60133
|
+
const { selection } = view.state;
|
|
60134
|
+
const isToolbarButton = this.editor.options.focusTarget?.closest(".toolbar-button");
|
|
60135
|
+
if (!isToolbarButton) {
|
|
60136
|
+
view.dispatch(setFocusMeta(view.state.tr, false));
|
|
60137
|
+
}
|
|
60138
|
+
if (!selection.empty) {
|
|
60114
60139
|
this.editor.setOptions({
|
|
60115
60140
|
lastSelection: view.state.selection
|
|
60116
60141
|
});
|
|
60117
60142
|
const clearSelectionTr = view.state.tr.setSelection(TextSelection$1.create(view.state.doc, 0));
|
|
60118
60143
|
view.dispatch(clearSelectionTr);
|
|
60119
60144
|
}
|
|
60120
|
-
|
|
60145
|
+
},
|
|
60146
|
+
focus: (view) => {
|
|
60147
|
+
const isToolbarButton = this.editor.options.focusTarget?.closest(".toolbar-button");
|
|
60148
|
+
if (isToolbarButton) {
|
|
60149
|
+
return;
|
|
60150
|
+
}
|
|
60151
|
+
view.dispatch(setFocusMeta(view.state.tr, false));
|
|
60152
|
+
},
|
|
60153
|
+
blur: (view) => {
|
|
60154
|
+
const isToolbarButton = this.editor.options.focusTarget?.closest(".toolbar-button");
|
|
60155
|
+
if (isToolbarButton) {
|
|
60156
|
+
view.dispatch(setFocusMeta(view.state.tr, true));
|
|
60157
|
+
return;
|
|
60158
|
+
}
|
|
60159
|
+
view.dispatch(setFocusMeta(view.state.tr, false));
|
|
60121
60160
|
}
|
|
60122
60161
|
},
|
|
60123
|
-
decorations(state2) {
|
|
60124
|
-
|
|
60162
|
+
decorations: (state2) => {
|
|
60163
|
+
const { selection, doc: doc2 } = state2;
|
|
60164
|
+
if (selection.empty || !getFocusState(state2)) {
|
|
60165
|
+
return null;
|
|
60166
|
+
}
|
|
60167
|
+
return DecorationSet.create(doc2, [
|
|
60168
|
+
Decoration.inline(selection.from, selection.to, {
|
|
60169
|
+
class: "sd-custom-selection"
|
|
60170
|
+
})
|
|
60171
|
+
]);
|
|
60125
60172
|
}
|
|
60126
60173
|
}
|
|
60127
60174
|
});
|
|
@@ -67812,7 +67859,7 @@ const NPopoverBody = defineComponent({
|
|
|
67812
67859
|
} = NPopover2;
|
|
67813
67860
|
if (!positionManually) {
|
|
67814
67861
|
if (trigger2 === "click" && !onClickoutside) {
|
|
67815
|
-
directives.push([clickoutside,
|
|
67862
|
+
directives.push([clickoutside, handleClickOutside2, void 0, {
|
|
67816
67863
|
capture: true
|
|
67817
67864
|
}]);
|
|
67818
67865
|
}
|
|
@@ -67821,7 +67868,7 @@ const NPopoverBody = defineComponent({
|
|
|
67821
67868
|
}
|
|
67822
67869
|
}
|
|
67823
67870
|
if (onClickoutside) {
|
|
67824
|
-
directives.push([clickoutside,
|
|
67871
|
+
directives.push([clickoutside, handleClickOutside2, void 0, {
|
|
67825
67872
|
capture: true
|
|
67826
67873
|
}]);
|
|
67827
67874
|
}
|
|
@@ -67931,7 +67978,7 @@ const NPopoverBody = defineComponent({
|
|
|
67931
67978
|
NPopover2.handleMouseMoveOutside(e);
|
|
67932
67979
|
}
|
|
67933
67980
|
}
|
|
67934
|
-
function
|
|
67981
|
+
function handleClickOutside2(e) {
|
|
67935
67982
|
if (props.trigger === "click" && !getTriggerElement().contains(getPreciseEventTarget(e)) || props.onClickoutside) {
|
|
67936
67983
|
NPopover2.handleClickOutside(e);
|
|
67937
67984
|
}
|
|
@@ -68362,7 +68409,7 @@ const NPopover = defineComponent({
|
|
|
68362
68409
|
function handleMouseMoveOutside() {
|
|
68363
68410
|
handleMouseLeave2();
|
|
68364
68411
|
}
|
|
68365
|
-
function
|
|
68412
|
+
function handleClickOutside2(e) {
|
|
68366
68413
|
var _a;
|
|
68367
68414
|
if (!getMergedShow()) return;
|
|
68368
68415
|
if (props.trigger === "click") {
|
|
@@ -68403,7 +68450,7 @@ const NPopover = defineComponent({
|
|
|
68403
68450
|
handleKeydown,
|
|
68404
68451
|
handleMouseEnter,
|
|
68405
68452
|
handleMouseLeave: handleMouseLeave2,
|
|
68406
|
-
handleClickOutside,
|
|
68453
|
+
handleClickOutside: handleClickOutside2,
|
|
68407
68454
|
handleMouseMoveOutside,
|
|
68408
68455
|
setBodyInstance,
|
|
68409
68456
|
positionManuallyRef,
|
|
@@ -70112,7 +70159,7 @@ const _sfc_main$1$1 = {
|
|
|
70112
70159
|
ariaLabel: `${item.attributes.value.ariaLabel} - ${option.label}`
|
|
70113
70160
|
};
|
|
70114
70161
|
};
|
|
70115
|
-
const
|
|
70162
|
+
const handleClickOutside2 = (e) => {
|
|
70116
70163
|
closeDropdowns();
|
|
70117
70164
|
};
|
|
70118
70165
|
const moveToNextButton = (e) => {
|
|
@@ -70225,7 +70272,7 @@ const _sfc_main$1$1 = {
|
|
|
70225
70272
|
placement: "bottom-start",
|
|
70226
70273
|
class: normalizeClass(["toolbar-button toolbar-dropdown sd-editor-toolbar-dropdown", { "high-contrast": unref(isHighContrastMode2) }]),
|
|
70227
70274
|
onSelect: (key, option) => handleSelect(item, option),
|
|
70228
|
-
onClickoutside:
|
|
70275
|
+
onClickoutside: handleClickOutside2,
|
|
70229
70276
|
style: normalizeStyle(item.dropdownStyles.value),
|
|
70230
70277
|
"menu-props": () => ({
|
|
70231
70278
|
role: "menu"
|
|
@@ -70637,7 +70684,7 @@ const _sfc_main$f = {
|
|
|
70637
70684
|
const props = __props;
|
|
70638
70685
|
const selectionState = ref$1(null);
|
|
70639
70686
|
const aiWriterRef = ref$1(null);
|
|
70640
|
-
const
|
|
70687
|
+
const handleClickOutside2 = (event) => {
|
|
70641
70688
|
if (aiWriterRef.value && !aiWriterRef.value.contains(event.target)) {
|
|
70642
70689
|
if (!isLoading.value) {
|
|
70643
70690
|
props.editor.commands.removeAiMark();
|
|
@@ -70667,11 +70714,11 @@ const _sfc_main$f = {
|
|
|
70667
70714
|
}, 0);
|
|
70668
70715
|
};
|
|
70669
70716
|
const addEventListeners = () => {
|
|
70670
|
-
document.addEventListener("mousedown",
|
|
70717
|
+
document.addEventListener("mousedown", handleClickOutside2);
|
|
70671
70718
|
document.addEventListener("keydown", handleCaptureKeyDown, true);
|
|
70672
70719
|
};
|
|
70673
70720
|
const removeEventListeners = () => {
|
|
70674
|
-
document.removeEventListener("mousedown",
|
|
70721
|
+
document.removeEventListener("mousedown", handleClickOutside2);
|
|
70675
70722
|
document.removeEventListener("keydown", handleCaptureKeyDown, true);
|
|
70676
70723
|
};
|
|
70677
70724
|
onMounted(() => {
|
|
@@ -74961,7 +75008,7 @@ const _sfc_main$3 = {
|
|
|
74961
75008
|
const props = __props;
|
|
74962
75009
|
const emit = __emit;
|
|
74963
75010
|
const popover = ref$1(null);
|
|
74964
|
-
function
|
|
75011
|
+
function handleClickOutside2(event) {
|
|
74965
75012
|
if (popover.value && !popover.value.contains(event.target)) {
|
|
74966
75013
|
emit("close");
|
|
74967
75014
|
}
|
|
@@ -74976,22 +75023,22 @@ const _sfc_main$3 = {
|
|
|
74976
75023
|
() => props.visible,
|
|
74977
75024
|
(val) => {
|
|
74978
75025
|
if (val) {
|
|
74979
|
-
document.addEventListener("mousedown",
|
|
75026
|
+
document.addEventListener("mousedown", handleClickOutside2);
|
|
74980
75027
|
document.addEventListener("keydown", handleEscape);
|
|
74981
75028
|
} else {
|
|
74982
|
-
document.removeEventListener("mousedown",
|
|
75029
|
+
document.removeEventListener("mousedown", handleClickOutside2);
|
|
74983
75030
|
document.removeEventListener("keydown", handleEscape);
|
|
74984
75031
|
}
|
|
74985
75032
|
}
|
|
74986
75033
|
);
|
|
74987
75034
|
onMounted(() => {
|
|
74988
75035
|
if (props.visible) {
|
|
74989
|
-
document.addEventListener("mousedown",
|
|
75036
|
+
document.addEventListener("mousedown", handleClickOutside2);
|
|
74990
75037
|
document.addEventListener("keydown", handleEscape);
|
|
74991
75038
|
}
|
|
74992
75039
|
});
|
|
74993
75040
|
onBeforeUnmount(() => {
|
|
74994
|
-
document.removeEventListener("mousedown",
|
|
75041
|
+
document.removeEventListener("mousedown", handleClickOutside2);
|
|
74995
75042
|
document.removeEventListener("keydown", handleEscape);
|
|
74996
75043
|
});
|
|
74997
75044
|
const derivedStyles = computed(() => ({
|
|
@@ -75184,22 +75231,9 @@ const _sfc_main$2 = {
|
|
|
75184
75231
|
checkNodeSpecificClicks(editor.value, event, popoverControls);
|
|
75185
75232
|
}
|
|
75186
75233
|
};
|
|
75187
|
-
const handleClickOutside = (event) => {
|
|
75188
|
-
const pmElement = editorElem.value?.querySelector(".ProseMirror");
|
|
75189
|
-
const isInsideEditor = pmElement?.contains(event.target);
|
|
75190
|
-
if (!isInsideEditor) {
|
|
75191
|
-
editor.value?.setOptions({
|
|
75192
|
-
focusTarget: event.target
|
|
75193
|
-
});
|
|
75194
|
-
}
|
|
75195
|
-
};
|
|
75196
75234
|
onMounted(() => {
|
|
75197
75235
|
initializeData();
|
|
75198
75236
|
if (props.options?.suppressSkeletonLoader || !props.options?.collaborationProvider) editorReady.value = true;
|
|
75199
|
-
document.addEventListener("mousedown", handleClickOutside);
|
|
75200
|
-
});
|
|
75201
|
-
onDeactivated(() => {
|
|
75202
|
-
document.removeEventListener("mousedown", handleClickOutside);
|
|
75203
75237
|
});
|
|
75204
75238
|
const handleMarginClick = (event) => {
|
|
75205
75239
|
if (event.target.classList.contains("ProseMirror")) return;
|
|
@@ -75308,7 +75342,7 @@ const _sfc_main$2 = {
|
|
|
75308
75342
|
};
|
|
75309
75343
|
}
|
|
75310
75344
|
};
|
|
75311
|
-
const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-
|
|
75345
|
+
const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-2252f46b"]]);
|
|
75312
75346
|
const _sfc_main$1 = {
|
|
75313
75347
|
__name: "BasicUpload",
|
|
75314
75348
|
emits: ["file-change"],
|
|
@@ -28681,7 +28681,7 @@ const _SuperConverter = class _SuperConverter2 {
|
|
|
28681
28681
|
return;
|
|
28682
28682
|
}
|
|
28683
28683
|
}
|
|
28684
|
-
static updateDocumentVersion(docx = this.convertedXml, version2 = "0.15.2-next.
|
|
28684
|
+
static updateDocumentVersion(docx = this.convertedXml, version2 = "0.15.2-next.2") {
|
|
28685
28685
|
const customLocation = "docProps/custom.xml";
|
|
28686
28686
|
if (!docx[customLocation]) {
|
|
28687
28687
|
docx[customLocation] = generateCustomXml();
|
|
@@ -29159,7 +29159,7 @@ function storeSuperdocVersion(docx) {
|
|
|
29159
29159
|
function generateCustomXml() {
|
|
29160
29160
|
return DEFAULT_CUSTOM_XML;
|
|
29161
29161
|
}
|
|
29162
|
-
function generateSuperdocVersion(pid = 2, version2 = "0.15.2-next.
|
|
29162
|
+
function generateSuperdocVersion(pid = 2, version2 = "0.15.2-next.2") {
|
|
29163
29163
|
return {
|
|
29164
29164
|
type: "element",
|
|
29165
29165
|
name: "property",
|
|
@@ -45283,7 +45283,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
|
|
|
45283
45283
|
* @returns {Object | void} Migration results
|
|
45284
45284
|
*/
|
|
45285
45285
|
processCollaborationMigrations() {
|
|
45286
|
-
console.debug("[checkVersionMigrations] Current editor version", "0.15.2-next.
|
|
45286
|
+
console.debug("[checkVersionMigrations] Current editor version", "0.15.2-next.2");
|
|
45287
45287
|
if (!this.options.ydoc) return;
|
|
45288
45288
|
const metaMap = this.options.ydoc.getMap("meta");
|
|
45289
45289
|
let docVersion = metaMap.get("version");
|
|
@@ -60101,44 +60101,91 @@ const NodeResizer = Extension.create({
|
|
|
60101
60101
|
}
|
|
60102
60102
|
});
|
|
60103
60103
|
const CustomSelectionPluginKey = new PluginKey("CustomSelection");
|
|
60104
|
+
const handleClickOutside = (event, editor) => {
|
|
60105
|
+
const editorElem = editor?.options?.element;
|
|
60106
|
+
if (!editorElem) return;
|
|
60107
|
+
const isInsideEditor = editorElem?.contains(event.target);
|
|
60108
|
+
if (!isInsideEditor) {
|
|
60109
|
+
editor.setOptions({
|
|
60110
|
+
focusTarget: event.target
|
|
60111
|
+
});
|
|
60112
|
+
} else {
|
|
60113
|
+
editor.setOptions({
|
|
60114
|
+
focusTarget: null
|
|
60115
|
+
});
|
|
60116
|
+
}
|
|
60117
|
+
};
|
|
60118
|
+
function getFocusMeta(tr) {
|
|
60119
|
+
return tr.getMeta(CustomSelectionPluginKey);
|
|
60120
|
+
}
|
|
60121
|
+
function setFocusMeta(tr, value) {
|
|
60122
|
+
return tr.setMeta(CustomSelectionPluginKey, value);
|
|
60123
|
+
}
|
|
60124
|
+
function getFocusState(state2) {
|
|
60125
|
+
return CustomSelectionPluginKey.getState(state2);
|
|
60126
|
+
}
|
|
60104
60127
|
const CustomSelection = Extension.create({
|
|
60105
60128
|
name: "customSelection",
|
|
60106
60129
|
addPmPlugins() {
|
|
60130
|
+
const editor = this.editor;
|
|
60107
60131
|
const customSelectionPlugin = new Plugin({
|
|
60108
60132
|
key: CustomSelectionPluginKey,
|
|
60109
60133
|
state: {
|
|
60110
|
-
init()
|
|
60111
|
-
|
|
60112
|
-
|
|
60113
|
-
apply(tr, oldDecorationSet, oldState, newState) {
|
|
60114
|
-
const sel = tr.selection;
|
|
60115
|
-
let newDecos = [];
|
|
60116
|
-
if (sel.from !== sel.to && (tr.doc.resolve(sel.from).parent.isTextblock || sel instanceof AllSelection)) {
|
|
60117
|
-
newDecos.push(
|
|
60118
|
-
Decoration.inline(sel.from, sel.to, {
|
|
60119
|
-
class: "sd-custom-selection"
|
|
60120
|
-
})
|
|
60121
|
-
);
|
|
60122
|
-
}
|
|
60123
|
-
return DecorationSet.create(newState.doc, newDecos);
|
|
60134
|
+
init: () => false,
|
|
60135
|
+
apply: (tr, value) => {
|
|
60136
|
+
return getFocusMeta(tr) ?? value;
|
|
60124
60137
|
}
|
|
60125
60138
|
},
|
|
60139
|
+
view: () => {
|
|
60140
|
+
document?.addEventListener("mousedown", (event) => handleClickOutside(event, editor));
|
|
60141
|
+
return {
|
|
60142
|
+
destroy: () => {
|
|
60143
|
+
document?.removeEventListener("mouseout", handleClickOutside);
|
|
60144
|
+
}
|
|
60145
|
+
};
|
|
60146
|
+
},
|
|
60126
60147
|
props: {
|
|
60127
60148
|
handleDOMEvents: {
|
|
60128
|
-
|
|
60129
|
-
const
|
|
60130
|
-
|
|
60149
|
+
mousedown: (view) => {
|
|
60150
|
+
const { selection } = view.state;
|
|
60151
|
+
const isToolbarButton = this.editor.options.focusTarget?.closest(".toolbar-button");
|
|
60152
|
+
if (!isToolbarButton) {
|
|
60153
|
+
view.dispatch(setFocusMeta(view.state.tr, false));
|
|
60154
|
+
}
|
|
60155
|
+
if (!selection.empty) {
|
|
60131
60156
|
this.editor.setOptions({
|
|
60132
60157
|
lastSelection: view.state.selection
|
|
60133
60158
|
});
|
|
60134
60159
|
const clearSelectionTr = view.state.tr.setSelection(TextSelection$1.create(view.state.doc, 0));
|
|
60135
60160
|
view.dispatch(clearSelectionTr);
|
|
60136
60161
|
}
|
|
60137
|
-
|
|
60162
|
+
},
|
|
60163
|
+
focus: (view) => {
|
|
60164
|
+
const isToolbarButton = this.editor.options.focusTarget?.closest(".toolbar-button");
|
|
60165
|
+
if (isToolbarButton) {
|
|
60166
|
+
return;
|
|
60167
|
+
}
|
|
60168
|
+
view.dispatch(setFocusMeta(view.state.tr, false));
|
|
60169
|
+
},
|
|
60170
|
+
blur: (view) => {
|
|
60171
|
+
const isToolbarButton = this.editor.options.focusTarget?.closest(".toolbar-button");
|
|
60172
|
+
if (isToolbarButton) {
|
|
60173
|
+
view.dispatch(setFocusMeta(view.state.tr, true));
|
|
60174
|
+
return;
|
|
60175
|
+
}
|
|
60176
|
+
view.dispatch(setFocusMeta(view.state.tr, false));
|
|
60138
60177
|
}
|
|
60139
60178
|
},
|
|
60140
|
-
decorations(state2) {
|
|
60141
|
-
|
|
60179
|
+
decorations: (state2) => {
|
|
60180
|
+
const { selection, doc: doc2 } = state2;
|
|
60181
|
+
if (selection.empty || !getFocusState(state2)) {
|
|
60182
|
+
return null;
|
|
60183
|
+
}
|
|
60184
|
+
return DecorationSet.create(doc2, [
|
|
60185
|
+
Decoration.inline(selection.from, selection.to, {
|
|
60186
|
+
class: "sd-custom-selection"
|
|
60187
|
+
})
|
|
60188
|
+
]);
|
|
60142
60189
|
}
|
|
60143
60190
|
}
|
|
60144
60191
|
});
|
|
@@ -67829,7 +67876,7 @@ const NPopoverBody = vue.defineComponent({
|
|
|
67829
67876
|
} = NPopover2;
|
|
67830
67877
|
if (!positionManually) {
|
|
67831
67878
|
if (trigger2 === "click" && !onClickoutside) {
|
|
67832
|
-
directives.push([clickoutside,
|
|
67879
|
+
directives.push([clickoutside, handleClickOutside2, void 0, {
|
|
67833
67880
|
capture: true
|
|
67834
67881
|
}]);
|
|
67835
67882
|
}
|
|
@@ -67838,7 +67885,7 @@ const NPopoverBody = vue.defineComponent({
|
|
|
67838
67885
|
}
|
|
67839
67886
|
}
|
|
67840
67887
|
if (onClickoutside) {
|
|
67841
|
-
directives.push([clickoutside,
|
|
67888
|
+
directives.push([clickoutside, handleClickOutside2, void 0, {
|
|
67842
67889
|
capture: true
|
|
67843
67890
|
}]);
|
|
67844
67891
|
}
|
|
@@ -67948,7 +67995,7 @@ const NPopoverBody = vue.defineComponent({
|
|
|
67948
67995
|
NPopover2.handleMouseMoveOutside(e);
|
|
67949
67996
|
}
|
|
67950
67997
|
}
|
|
67951
|
-
function
|
|
67998
|
+
function handleClickOutside2(e) {
|
|
67952
67999
|
if (props.trigger === "click" && !getTriggerElement().contains(getPreciseEventTarget(e)) || props.onClickoutside) {
|
|
67953
68000
|
NPopover2.handleClickOutside(e);
|
|
67954
68001
|
}
|
|
@@ -68379,7 +68426,7 @@ const NPopover = vue.defineComponent({
|
|
|
68379
68426
|
function handleMouseMoveOutside() {
|
|
68380
68427
|
handleMouseLeave2();
|
|
68381
68428
|
}
|
|
68382
|
-
function
|
|
68429
|
+
function handleClickOutside2(e) {
|
|
68383
68430
|
var _a;
|
|
68384
68431
|
if (!getMergedShow()) return;
|
|
68385
68432
|
if (props.trigger === "click") {
|
|
@@ -68420,7 +68467,7 @@ const NPopover = vue.defineComponent({
|
|
|
68420
68467
|
handleKeydown,
|
|
68421
68468
|
handleMouseEnter,
|
|
68422
68469
|
handleMouseLeave: handleMouseLeave2,
|
|
68423
|
-
handleClickOutside,
|
|
68470
|
+
handleClickOutside: handleClickOutside2,
|
|
68424
68471
|
handleMouseMoveOutside,
|
|
68425
68472
|
setBodyInstance,
|
|
68426
68473
|
positionManuallyRef,
|
|
@@ -70129,7 +70176,7 @@ const _sfc_main$1$1 = {
|
|
|
70129
70176
|
ariaLabel: `${item.attributes.value.ariaLabel} - ${option.label}`
|
|
70130
70177
|
};
|
|
70131
70178
|
};
|
|
70132
|
-
const
|
|
70179
|
+
const handleClickOutside2 = (e) => {
|
|
70133
70180
|
closeDropdowns();
|
|
70134
70181
|
};
|
|
70135
70182
|
const moveToNextButton = (e) => {
|
|
@@ -70242,7 +70289,7 @@ const _sfc_main$1$1 = {
|
|
|
70242
70289
|
placement: "bottom-start",
|
|
70243
70290
|
class: vue.normalizeClass(["toolbar-button toolbar-dropdown sd-editor-toolbar-dropdown", { "high-contrast": vue.unref(isHighContrastMode2) }]),
|
|
70244
70291
|
onSelect: (key, option) => handleSelect(item, option),
|
|
70245
|
-
onClickoutside:
|
|
70292
|
+
onClickoutside: handleClickOutside2,
|
|
70246
70293
|
style: vue.normalizeStyle(item.dropdownStyles.value),
|
|
70247
70294
|
"menu-props": () => ({
|
|
70248
70295
|
role: "menu"
|
|
@@ -70654,7 +70701,7 @@ const _sfc_main$f = {
|
|
|
70654
70701
|
const props = __props;
|
|
70655
70702
|
const selectionState = vue.ref(null);
|
|
70656
70703
|
const aiWriterRef = vue.ref(null);
|
|
70657
|
-
const
|
|
70704
|
+
const handleClickOutside2 = (event) => {
|
|
70658
70705
|
if (aiWriterRef.value && !aiWriterRef.value.contains(event.target)) {
|
|
70659
70706
|
if (!isLoading.value) {
|
|
70660
70707
|
props.editor.commands.removeAiMark();
|
|
@@ -70684,11 +70731,11 @@ const _sfc_main$f = {
|
|
|
70684
70731
|
}, 0);
|
|
70685
70732
|
};
|
|
70686
70733
|
const addEventListeners = () => {
|
|
70687
|
-
document.addEventListener("mousedown",
|
|
70734
|
+
document.addEventListener("mousedown", handleClickOutside2);
|
|
70688
70735
|
document.addEventListener("keydown", handleCaptureKeyDown, true);
|
|
70689
70736
|
};
|
|
70690
70737
|
const removeEventListeners = () => {
|
|
70691
|
-
document.removeEventListener("mousedown",
|
|
70738
|
+
document.removeEventListener("mousedown", handleClickOutside2);
|
|
70692
70739
|
document.removeEventListener("keydown", handleCaptureKeyDown, true);
|
|
70693
70740
|
};
|
|
70694
70741
|
vue.onMounted(() => {
|
|
@@ -74978,7 +75025,7 @@ const _sfc_main$3 = {
|
|
|
74978
75025
|
const props = __props;
|
|
74979
75026
|
const emit = __emit;
|
|
74980
75027
|
const popover = vue.ref(null);
|
|
74981
|
-
function
|
|
75028
|
+
function handleClickOutside2(event) {
|
|
74982
75029
|
if (popover.value && !popover.value.contains(event.target)) {
|
|
74983
75030
|
emit("close");
|
|
74984
75031
|
}
|
|
@@ -74993,22 +75040,22 @@ const _sfc_main$3 = {
|
|
|
74993
75040
|
() => props.visible,
|
|
74994
75041
|
(val) => {
|
|
74995
75042
|
if (val) {
|
|
74996
|
-
document.addEventListener("mousedown",
|
|
75043
|
+
document.addEventListener("mousedown", handleClickOutside2);
|
|
74997
75044
|
document.addEventListener("keydown", handleEscape);
|
|
74998
75045
|
} else {
|
|
74999
|
-
document.removeEventListener("mousedown",
|
|
75046
|
+
document.removeEventListener("mousedown", handleClickOutside2);
|
|
75000
75047
|
document.removeEventListener("keydown", handleEscape);
|
|
75001
75048
|
}
|
|
75002
75049
|
}
|
|
75003
75050
|
);
|
|
75004
75051
|
vue.onMounted(() => {
|
|
75005
75052
|
if (props.visible) {
|
|
75006
|
-
document.addEventListener("mousedown",
|
|
75053
|
+
document.addEventListener("mousedown", handleClickOutside2);
|
|
75007
75054
|
document.addEventListener("keydown", handleEscape);
|
|
75008
75055
|
}
|
|
75009
75056
|
});
|
|
75010
75057
|
vue.onBeforeUnmount(() => {
|
|
75011
|
-
document.removeEventListener("mousedown",
|
|
75058
|
+
document.removeEventListener("mousedown", handleClickOutside2);
|
|
75012
75059
|
document.removeEventListener("keydown", handleEscape);
|
|
75013
75060
|
});
|
|
75014
75061
|
const derivedStyles = vue.computed(() => ({
|
|
@@ -75201,22 +75248,9 @@ const _sfc_main$2 = {
|
|
|
75201
75248
|
checkNodeSpecificClicks(editor.value, event, popoverControls);
|
|
75202
75249
|
}
|
|
75203
75250
|
};
|
|
75204
|
-
const handleClickOutside = (event) => {
|
|
75205
|
-
const pmElement = editorElem.value?.querySelector(".ProseMirror");
|
|
75206
|
-
const isInsideEditor = pmElement?.contains(event.target);
|
|
75207
|
-
if (!isInsideEditor) {
|
|
75208
|
-
editor.value?.setOptions({
|
|
75209
|
-
focusTarget: event.target
|
|
75210
|
-
});
|
|
75211
|
-
}
|
|
75212
|
-
};
|
|
75213
75251
|
vue.onMounted(() => {
|
|
75214
75252
|
initializeData();
|
|
75215
75253
|
if (props.options?.suppressSkeletonLoader || !props.options?.collaborationProvider) editorReady.value = true;
|
|
75216
|
-
document.addEventListener("mousedown", handleClickOutside);
|
|
75217
|
-
});
|
|
75218
|
-
vue.onDeactivated(() => {
|
|
75219
|
-
document.removeEventListener("mousedown", handleClickOutside);
|
|
75220
75254
|
});
|
|
75221
75255
|
const handleMarginClick = (event) => {
|
|
75222
75256
|
if (event.target.classList.contains("ProseMirror")) return;
|
|
@@ -75325,7 +75359,7 @@ const _sfc_main$2 = {
|
|
|
75325
75359
|
};
|
|
75326
75360
|
}
|
|
75327
75361
|
};
|
|
75328
|
-
const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-
|
|
75362
|
+
const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-2252f46b"]]);
|
|
75329
75363
|
const _sfc_main$1 = {
|
|
75330
75364
|
__name: "BasicUpload",
|
|
75331
75365
|
emits: ["file-change"],
|
package/dist/style.css
CHANGED
|
@@ -773,9 +773,6 @@ to {
|
|
|
773
773
|
a {
|
|
774
774
|
text-decoration: auto;
|
|
775
775
|
}
|
|
776
|
-
.sd-custom-selection {
|
|
777
|
-
background-color: #accef7;
|
|
778
|
-
}
|
|
779
776
|
/**
|
|
780
777
|
* Basic ProseMirror styles.
|
|
781
778
|
* https://github.com/ProseMirror/prosemirror-view/blob/master/style/prosemirror.css
|
|
@@ -1082,9 +1079,13 @@ https://github.com/ProseMirror/prosemirror-tables/blob/master/demo/index.html
|
|
|
1082
1079
|
.ProseMirror-active-search-match {
|
|
1083
1080
|
background-color: #ff6a0054;
|
|
1084
1081
|
}
|
|
1085
|
-
.ProseMirror span::selection {
|
|
1082
|
+
.ProseMirror span.sd-custom-selection::selection {
|
|
1086
1083
|
background: transparent;
|
|
1087
1084
|
}
|
|
1085
|
+
.sd-custom-selection {
|
|
1086
|
+
background-color: #d9d9d9;
|
|
1087
|
+
border-radius: 0.1em;
|
|
1088
|
+
}
|
|
1088
1089
|
.superdoc-toolbar svg {
|
|
1089
1090
|
width: 100%;
|
|
1090
1091
|
height: 100%;
|
|
@@ -1326,6 +1327,9 @@ on the right if it is inside shape textbox.
|
|
|
1326
1327
|
.sd-editor-comment-highlight:hover {
|
|
1327
1328
|
background-color: #1354ff55;
|
|
1328
1329
|
}
|
|
1330
|
+
.sd-editor-comment-highlight.sd-custom-selection {
|
|
1331
|
+
background-color: #d6c0c6 !important;
|
|
1332
|
+
}
|
|
1329
1333
|
.sd-editor-list-item-node-view {
|
|
1330
1334
|
position: relative;
|
|
1331
1335
|
width: 100%;
|
|
@@ -1346,7 +1350,7 @@ on the right if it is inside shape textbox.
|
|
|
1346
1350
|
}
|
|
1347
1351
|
/* temporary fix */
|
|
1348
1352
|
.sd-editor-list-item-node-view .sd-custom-selection {
|
|
1349
|
-
font-size: inherit!important;
|
|
1353
|
+
font-size: inherit !important;
|
|
1350
1354
|
}
|
|
1351
1355
|
/* Resize handles container */
|
|
1352
1356
|
.sd-editor-resize-container {
|
|
@@ -2141,10 +2145,10 @@ on the right if it is inside shape textbox.
|
|
|
2141
2145
|
min-height: 40px;
|
|
2142
2146
|
}
|
|
2143
2147
|
|
|
2144
|
-
.editor-element[data-v-
|
|
2148
|
+
.editor-element[data-v-2252f46b] {
|
|
2145
2149
|
position: relative;
|
|
2146
2150
|
}
|
|
2147
|
-
.super-editor-container[data-v-
|
|
2151
|
+
.super-editor-container[data-v-2252f46b] {
|
|
2148
2152
|
width: auto;
|
|
2149
2153
|
height: auto;
|
|
2150
2154
|
min-width: 8in;
|
|
@@ -2153,13 +2157,13 @@ on the right if it is inside shape textbox.
|
|
|
2153
2157
|
display: flex;
|
|
2154
2158
|
flex-direction: column;
|
|
2155
2159
|
}
|
|
2156
|
-
.ruler[data-v-
|
|
2160
|
+
.ruler[data-v-2252f46b] {
|
|
2157
2161
|
margin-bottom: 2px;
|
|
2158
2162
|
}
|
|
2159
|
-
.super-editor[data-v-
|
|
2163
|
+
.super-editor[data-v-2252f46b] {
|
|
2160
2164
|
color: initial;
|
|
2161
2165
|
}
|
|
2162
|
-
.placeholder-editor[data-v-
|
|
2166
|
+
.placeholder-editor[data-v-2252f46b] {
|
|
2163
2167
|
position: absolute;
|
|
2164
2168
|
top: 0;
|
|
2165
2169
|
left: 0;
|
|
@@ -2171,7 +2175,7 @@ on the right if it is inside shape textbox.
|
|
|
2171
2175
|
background-color: white;
|
|
2172
2176
|
box-sizing: border-box;
|
|
2173
2177
|
}
|
|
2174
|
-
.placeholder-title[data-v-
|
|
2178
|
+
.placeholder-title[data-v-2252f46b] {
|
|
2175
2179
|
display: flex;
|
|
2176
2180
|
justify-content: center;
|
|
2177
2181
|
margin-bottom: 40px;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref, onMounted, onUnmounted, computed, createElementBlock, openBlock, withModifiers, createElementVNode, withDirectives, unref, vModelText, createCommentVNode, nextTick } from "vue";
|
|
2
|
-
import { T as TextSelection } from "./chunks/converter-
|
|
3
|
-
import { _ as _export_sfc } from "./chunks/editor-
|
|
2
|
+
import { T as TextSelection } from "./chunks/converter-DEzeQyFB.js";
|
|
3
|
+
import { _ as _export_sfc } from "./chunks/editor-DNJxPkJY.js";
|
|
4
4
|
const DEFAULT_API_ENDPOINT = "https://sd-dev-express-gateway-i6xtm.ondigitalocean.app/insights";
|
|
5
5
|
const SYSTEM_PROMPT = "You are an expert copywriter and you are immersed in a document editor. You are to provide document related text responses based on the user prompts. Only write what is asked for. Do not provide explanations. Try to keep placeholders as short as possible. Do not output your prompt. Your instructions are: ";
|
|
6
6
|
async function baseInsightsFetch(payload, options = {}) {
|