@harbour-enterprises/superdoc 0.20.0-next.10 → 0.20.0-next.11
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/{PdfViewer-Dqmc7nRW.es.js → PdfViewer-B5kpcQ0M.es.js} +1 -1
- package/dist/chunks/{PdfViewer-DOggjrQG.cjs → PdfViewer-BVxDiIC8.cjs} +1 -1
- package/dist/chunks/{index-BbzkKu8K.cjs → index-C--co6k8.cjs} +2 -2
- package/dist/chunks/{index-BWLk-GjX.es.js → index-CFeCZJDO.es.js} +2 -2
- package/dist/chunks/{super-editor.es--aCMUiMA.cjs → super-editor.es-BNRMY4Gs.cjs} +76 -0
- package/dist/chunks/{super-editor.es-Czm6AhQx.es.js → super-editor.es-C1EWiBwN.es.js} +76 -0
- package/dist/super-editor/ai-writer.es.js +2 -2
- package/dist/super-editor/chunks/{converter-CJg7BSkp.js → converter-DhWdHs1e.js} +76 -0
- package/dist/super-editor/chunks/{docx-zipper-D56KgEUM.js → docx-zipper-BH3Y9ODp.js} +1 -1
- package/dist/super-editor/chunks/{editor-CZE0QdnY.js → editor-ByzXx8DR.js} +2 -2
- package/dist/super-editor/chunks/{toolbar-YvqMpKof.js → toolbar-BgZD9aZZ.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/file-zipper.es.js +1 -1
- package/dist/super-editor/super-editor.es.js +6 -6
- 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 +2 -2
- package/dist/superdoc.umd.js +76 -0
- package/dist/superdoc.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { m as defineComponent, B as h, O as Transition, $ as process$1, I as watchEffect, d as computed, r as ref, j as onMounted, W as onUnmounted, c as createElementBlock, o as openBlock, a as createBaseVNode, f as createCommentVNode, v as createVNode, x as unref } from "./vue-CXxsqYcP.es.js";
|
|
2
|
-
import { d as derived, c, a as cB, f as fadeInTransition, b as cM, N as NBaseLoading, w as warnOnce, u as useConfig, e as useTheme, p as pxfy, g as createKey, h as useThemeClass, i as useCompitable, _ as _export_sfc, j as useSuperdocStore, s as storeToRefs, k as useSelection } from "./index-
|
|
2
|
+
import { d as derived, c, a as cB, f as fadeInTransition, b as cM, N as NBaseLoading, w as warnOnce, u as useConfig, e as useTheme, p as pxfy, g as createKey, h as useThemeClass, i as useCompitable, _ as _export_sfc, j as useSuperdocStore, s as storeToRefs, k as useSelection } from "./index-CFeCZJDO.es.js";
|
|
3
3
|
function self(vars) {
|
|
4
4
|
const {
|
|
5
5
|
opacityDisabled,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const vue = require("./vue-DWle4Cai.cjs");
|
|
4
|
-
const superdoc = require("./index-
|
|
4
|
+
const superdoc = require("./index-C--co6k8.cjs");
|
|
5
5
|
function self(vars) {
|
|
6
6
|
const {
|
|
7
7
|
opacityDisabled,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const superEditor_es = require("./super-editor.es
|
|
2
|
+
const superEditor_es = require("./super-editor.es-BNRMY4Gs.cjs");
|
|
3
3
|
const vue = require("./vue-DWle4Cai.cjs");
|
|
4
4
|
const jszip = require("./jszip-b7l8QkfH.cjs");
|
|
5
5
|
const blankDocx = require("./blank-docx-CPqX9RF5.cjs");
|
|
@@ -17386,7 +17386,7 @@ const _sfc_main = {
|
|
|
17386
17386
|
__name: "SuperDoc",
|
|
17387
17387
|
emits: ["selection-update"],
|
|
17388
17388
|
setup(__props, { emit: __emit }) {
|
|
17389
|
-
const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-
|
|
17389
|
+
const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-BVxDiIC8.cjs")));
|
|
17390
17390
|
const superdocStore = useSuperdocStore();
|
|
17391
17391
|
const commentsStore = useCommentsStore();
|
|
17392
17392
|
const {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { q as index$1, C as CommentsPluginKey, h as TrackChangesBasePluginKey, E as Editor, n as getRichTextExtensions, f as SuperInput, e as SuperEditor, A as AIWriter, g as SuperToolbar, i as createZip } from "./super-editor.es-
|
|
1
|
+
import { q as index$1, C as CommentsPluginKey, h as TrackChangesBasePluginKey, E as Editor, n as getRichTextExtensions, f as SuperInput, e as SuperEditor, A as AIWriter, g as SuperToolbar, i as createZip } from "./super-editor.es-C1EWiBwN.es.js";
|
|
2
2
|
import { a0 as effectScope, r as ref, _ as markRaw, $ as process$1, a1 as toRaw, d as computed, a2 as isRef, a3 as isReactive, C as toRef, i as inject, p as getCurrentInstance, l as watch, x as unref, a4 as hasInjectionContext, M as reactive, s as nextTick, a5 as getCurrentScope, a6 as onScopeDispose, a7 as toRefs, g as global$1, J as shallowRef, N as readonly, j as onMounted, k as onBeforeUnmount, h as onBeforeMount, S as onActivated, q as onDeactivated, z as createTextVNode, F as Fragment, Q as Comment, m as defineComponent, D as provide, H as withDirectives, B as h, U as Teleport, R as renderSlot, V as isVNode, I as watchEffect, O as Transition, a8 as TransitionGroup, E as mergeProps, P as vShow, G as cloneVNode, T as Text, c as createElementBlock, o as openBlock, t as toDisplayString, v as createVNode, y as withCtx, a as createBaseVNode, A as normalizeStyle, f as createCommentVNode, u as createBlock, w as withModifiers, n as normalizeClass, a9 as resolveDirective, e as renderList, b as createApp, X as resolveDynamicComponent, aa as defineAsyncComponent } from "./vue-CXxsqYcP.es.js";
|
|
3
3
|
import { B as Buffer$2 } from "./jszip-B8KIZSNe.es.js";
|
|
4
4
|
import { B as BlankDOCX } from "./blank-docx-iwdyG9RH.es.js";
|
|
@@ -17369,7 +17369,7 @@ const _sfc_main = {
|
|
|
17369
17369
|
__name: "SuperDoc",
|
|
17370
17370
|
emits: ["selection-update"],
|
|
17371
17371
|
setup(__props, { emit: __emit }) {
|
|
17372
|
-
const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-
|
|
17372
|
+
const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-B5kpcQ0M.es.js"));
|
|
17373
17373
|
const superdocStore = useSuperdocStore();
|
|
17374
17374
|
const commentsStore = useCommentsStore();
|
|
17375
17375
|
const {
|
|
@@ -30569,15 +30569,90 @@ const lineBreakNodeHandlerEntity = {
|
|
|
30569
30569
|
handlerName: "lineBreakNodeHandler",
|
|
30570
30570
|
handler
|
|
30571
30571
|
};
|
|
30572
|
+
const handleBookmarkNode = (params2) => {
|
|
30573
|
+
const { nodes, nodeListHandler, editor } = params2;
|
|
30574
|
+
if (nodes.length === 0 || nodes[0].name !== "w:bookmarkStart") {
|
|
30575
|
+
return { nodes: [], consumed: 0 };
|
|
30576
|
+
}
|
|
30577
|
+
const node = nodes[0];
|
|
30578
|
+
const handleStandardNode2 = nodeListHandler.handlerEntities.find(
|
|
30579
|
+
(e) => e.handlerName === "standardNodeHandler"
|
|
30580
|
+
)?.handler;
|
|
30581
|
+
if (!handleStandardNode2) {
|
|
30582
|
+
console.error("Standard node handler not found");
|
|
30583
|
+
return { nodes: [], consumed: 0 };
|
|
30584
|
+
}
|
|
30585
|
+
const customMarks = editor?.extensionService?.extensions?.filter((e) => e.isExternal === true) || [];
|
|
30586
|
+
const bookmarkName = node.attributes["w:name"]?.split(";")[0];
|
|
30587
|
+
const customMark = customMarks.find((mark) => mark.name === bookmarkName);
|
|
30588
|
+
if (customMark) {
|
|
30589
|
+
const bookmarkEndIndex = nodes.findIndex(
|
|
30590
|
+
(n) => n.name === "w:bookmarkEnd" && n.attributes["w:id"] === node.attributes["w:id"]
|
|
30591
|
+
);
|
|
30592
|
+
const textNodes = nodes.slice(1, bookmarkEndIndex);
|
|
30593
|
+
const nodeListHandler2 = params2.nodeListHandler;
|
|
30594
|
+
const attrs = {};
|
|
30595
|
+
node.attributes["w:name"].split(";").forEach((name) => {
|
|
30596
|
+
const [key2, value] = name.split("=");
|
|
30597
|
+
if (key2 && value) {
|
|
30598
|
+
attrs[key2] = value;
|
|
30599
|
+
}
|
|
30600
|
+
});
|
|
30601
|
+
const translatedText = nodeListHandler2.handler({
|
|
30602
|
+
...params2,
|
|
30603
|
+
nodes: textNodes,
|
|
30604
|
+
path: [...params2.path || [], node]
|
|
30605
|
+
});
|
|
30606
|
+
translatedText.forEach((n) => {
|
|
30607
|
+
n.marks.push({
|
|
30608
|
+
type: customMark.name,
|
|
30609
|
+
attrs
|
|
30610
|
+
});
|
|
30611
|
+
});
|
|
30612
|
+
return {
|
|
30613
|
+
nodes: translatedText,
|
|
30614
|
+
consumed: translatedText.length + 2
|
|
30615
|
+
};
|
|
30616
|
+
}
|
|
30617
|
+
const updatedParams = { ...params2, nodes: [node] };
|
|
30618
|
+
const result = handleStandardNode2(updatedParams);
|
|
30619
|
+
if (result.nodes.length === 1) {
|
|
30620
|
+
result.nodes[0].attrs.name = node.attributes["w:name"];
|
|
30621
|
+
result.nodes[0].attrs.id = node.attributes["w:id"];
|
|
30622
|
+
}
|
|
30623
|
+
return result;
|
|
30624
|
+
};
|
|
30572
30625
|
const handleBookmarkStartNode = (params2) => {
|
|
30573
30626
|
const { nodes } = params2;
|
|
30574
30627
|
if (!nodes.length || nodes[0].name !== "w:bookmarkStart") {
|
|
30575
30628
|
return { nodes: [], consumed: 0 };
|
|
30576
30629
|
}
|
|
30630
|
+
if (isCustomMarkBookmark(nodes[0], params2.editor)) {
|
|
30631
|
+
return handleBookmarkNode(params2);
|
|
30632
|
+
}
|
|
30577
30633
|
const node = translator$3.encode(params2);
|
|
30578
30634
|
if (!node) return { nodes: [], consumed: 0 };
|
|
30579
30635
|
return { nodes: [node], consumed: 1 };
|
|
30580
30636
|
};
|
|
30637
|
+
const isCustomMarkBookmark = (bookmarkStartNode, editor) => {
|
|
30638
|
+
if (!bookmarkStartNode?.attributes || !editor?.extensionService?.extensions) {
|
|
30639
|
+
return false;
|
|
30640
|
+
}
|
|
30641
|
+
const rawBookmarkName = bookmarkStartNode.attributes["w:name"];
|
|
30642
|
+
if (!rawBookmarkName || typeof rawBookmarkName !== "string") {
|
|
30643
|
+
return false;
|
|
30644
|
+
}
|
|
30645
|
+
const [bookmarkName, ...bookmarkPayloadParts] = rawBookmarkName.split(";");
|
|
30646
|
+
if (!bookmarkName) {
|
|
30647
|
+
return false;
|
|
30648
|
+
}
|
|
30649
|
+
const customMarks = editor.extensionService.extensions.filter((extension) => extension.isExternal === true);
|
|
30650
|
+
const matchesCustomMarkName = customMarks.some((mark) => mark.name === bookmarkName);
|
|
30651
|
+
if (!matchesCustomMarkName) {
|
|
30652
|
+
return false;
|
|
30653
|
+
}
|
|
30654
|
+
return bookmarkPayloadParts.some((part) => part && part.includes("="));
|
|
30655
|
+
};
|
|
30581
30656
|
const bookmarkStartNodeHandlerEntity = {
|
|
30582
30657
|
handlerName: "w:bookmarkStartTranslator",
|
|
30583
30658
|
handler: handleBookmarkStartNode
|
|
@@ -31614,6 +31689,7 @@ function filterOutRootInlineNodes(content = []) {
|
|
|
31614
31689
|
const INLINE_TYPES = /* @__PURE__ */ new Set([
|
|
31615
31690
|
"text",
|
|
31616
31691
|
"bookmarkStart",
|
|
31692
|
+
"bookmarkEnd",
|
|
31617
31693
|
"lineBreak",
|
|
31618
31694
|
"hardBreak",
|
|
31619
31695
|
"pageNumber",
|
|
@@ -30552,15 +30552,90 @@ const lineBreakNodeHandlerEntity = {
|
|
|
30552
30552
|
handlerName: "lineBreakNodeHandler",
|
|
30553
30553
|
handler
|
|
30554
30554
|
};
|
|
30555
|
+
const handleBookmarkNode = (params2) => {
|
|
30556
|
+
const { nodes, nodeListHandler, editor } = params2;
|
|
30557
|
+
if (nodes.length === 0 || nodes[0].name !== "w:bookmarkStart") {
|
|
30558
|
+
return { nodes: [], consumed: 0 };
|
|
30559
|
+
}
|
|
30560
|
+
const node = nodes[0];
|
|
30561
|
+
const handleStandardNode2 = nodeListHandler.handlerEntities.find(
|
|
30562
|
+
(e) => e.handlerName === "standardNodeHandler"
|
|
30563
|
+
)?.handler;
|
|
30564
|
+
if (!handleStandardNode2) {
|
|
30565
|
+
console.error("Standard node handler not found");
|
|
30566
|
+
return { nodes: [], consumed: 0 };
|
|
30567
|
+
}
|
|
30568
|
+
const customMarks = editor?.extensionService?.extensions?.filter((e) => e.isExternal === true) || [];
|
|
30569
|
+
const bookmarkName = node.attributes["w:name"]?.split(";")[0];
|
|
30570
|
+
const customMark = customMarks.find((mark) => mark.name === bookmarkName);
|
|
30571
|
+
if (customMark) {
|
|
30572
|
+
const bookmarkEndIndex = nodes.findIndex(
|
|
30573
|
+
(n) => n.name === "w:bookmarkEnd" && n.attributes["w:id"] === node.attributes["w:id"]
|
|
30574
|
+
);
|
|
30575
|
+
const textNodes = nodes.slice(1, bookmarkEndIndex);
|
|
30576
|
+
const nodeListHandler2 = params2.nodeListHandler;
|
|
30577
|
+
const attrs = {};
|
|
30578
|
+
node.attributes["w:name"].split(";").forEach((name) => {
|
|
30579
|
+
const [key2, value] = name.split("=");
|
|
30580
|
+
if (key2 && value) {
|
|
30581
|
+
attrs[key2] = value;
|
|
30582
|
+
}
|
|
30583
|
+
});
|
|
30584
|
+
const translatedText = nodeListHandler2.handler({
|
|
30585
|
+
...params2,
|
|
30586
|
+
nodes: textNodes,
|
|
30587
|
+
path: [...params2.path || [], node]
|
|
30588
|
+
});
|
|
30589
|
+
translatedText.forEach((n) => {
|
|
30590
|
+
n.marks.push({
|
|
30591
|
+
type: customMark.name,
|
|
30592
|
+
attrs
|
|
30593
|
+
});
|
|
30594
|
+
});
|
|
30595
|
+
return {
|
|
30596
|
+
nodes: translatedText,
|
|
30597
|
+
consumed: translatedText.length + 2
|
|
30598
|
+
};
|
|
30599
|
+
}
|
|
30600
|
+
const updatedParams = { ...params2, nodes: [node] };
|
|
30601
|
+
const result = handleStandardNode2(updatedParams);
|
|
30602
|
+
if (result.nodes.length === 1) {
|
|
30603
|
+
result.nodes[0].attrs.name = node.attributes["w:name"];
|
|
30604
|
+
result.nodes[0].attrs.id = node.attributes["w:id"];
|
|
30605
|
+
}
|
|
30606
|
+
return result;
|
|
30607
|
+
};
|
|
30555
30608
|
const handleBookmarkStartNode = (params2) => {
|
|
30556
30609
|
const { nodes } = params2;
|
|
30557
30610
|
if (!nodes.length || nodes[0].name !== "w:bookmarkStart") {
|
|
30558
30611
|
return { nodes: [], consumed: 0 };
|
|
30559
30612
|
}
|
|
30613
|
+
if (isCustomMarkBookmark(nodes[0], params2.editor)) {
|
|
30614
|
+
return handleBookmarkNode(params2);
|
|
30615
|
+
}
|
|
30560
30616
|
const node = translator$3.encode(params2);
|
|
30561
30617
|
if (!node) return { nodes: [], consumed: 0 };
|
|
30562
30618
|
return { nodes: [node], consumed: 1 };
|
|
30563
30619
|
};
|
|
30620
|
+
const isCustomMarkBookmark = (bookmarkStartNode, editor) => {
|
|
30621
|
+
if (!bookmarkStartNode?.attributes || !editor?.extensionService?.extensions) {
|
|
30622
|
+
return false;
|
|
30623
|
+
}
|
|
30624
|
+
const rawBookmarkName = bookmarkStartNode.attributes["w:name"];
|
|
30625
|
+
if (!rawBookmarkName || typeof rawBookmarkName !== "string") {
|
|
30626
|
+
return false;
|
|
30627
|
+
}
|
|
30628
|
+
const [bookmarkName, ...bookmarkPayloadParts] = rawBookmarkName.split(";");
|
|
30629
|
+
if (!bookmarkName) {
|
|
30630
|
+
return false;
|
|
30631
|
+
}
|
|
30632
|
+
const customMarks = editor.extensionService.extensions.filter((extension) => extension.isExternal === true);
|
|
30633
|
+
const matchesCustomMarkName = customMarks.some((mark) => mark.name === bookmarkName);
|
|
30634
|
+
if (!matchesCustomMarkName) {
|
|
30635
|
+
return false;
|
|
30636
|
+
}
|
|
30637
|
+
return bookmarkPayloadParts.some((part) => part && part.includes("="));
|
|
30638
|
+
};
|
|
30564
30639
|
const bookmarkStartNodeHandlerEntity = {
|
|
30565
30640
|
handlerName: "w:bookmarkStartTranslator",
|
|
30566
30641
|
handler: handleBookmarkStartNode
|
|
@@ -31597,6 +31672,7 @@ function filterOutRootInlineNodes(content = []) {
|
|
|
31597
31672
|
const INLINE_TYPES = /* @__PURE__ */ new Set([
|
|
31598
31673
|
"text",
|
|
31599
31674
|
"bookmarkStart",
|
|
31675
|
+
"bookmarkEnd",
|
|
31600
31676
|
"lineBreak",
|
|
31601
31677
|
"hardBreak",
|
|
31602
31678
|
"pageNumber",
|
|
@@ -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-DhWdHs1e.js";
|
|
3
|
+
import { _ as _export_sfc } from "./chunks/editor-ByzXx8DR.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 = {}) {
|
|
@@ -30559,15 +30559,90 @@ const lineBreakNodeHandlerEntity = {
|
|
|
30559
30559
|
handlerName: "lineBreakNodeHandler",
|
|
30560
30560
|
handler
|
|
30561
30561
|
};
|
|
30562
|
+
const handleBookmarkNode = (params) => {
|
|
30563
|
+
const { nodes, nodeListHandler, editor } = params;
|
|
30564
|
+
if (nodes.length === 0 || nodes[0].name !== "w:bookmarkStart") {
|
|
30565
|
+
return { nodes: [], consumed: 0 };
|
|
30566
|
+
}
|
|
30567
|
+
const node = nodes[0];
|
|
30568
|
+
const handleStandardNode2 = nodeListHandler.handlerEntities.find(
|
|
30569
|
+
(e) => e.handlerName === "standardNodeHandler"
|
|
30570
|
+
)?.handler;
|
|
30571
|
+
if (!handleStandardNode2) {
|
|
30572
|
+
console.error("Standard node handler not found");
|
|
30573
|
+
return { nodes: [], consumed: 0 };
|
|
30574
|
+
}
|
|
30575
|
+
const customMarks = editor?.extensionService?.extensions?.filter((e) => e.isExternal === true) || [];
|
|
30576
|
+
const bookmarkName = node.attributes["w:name"]?.split(";")[0];
|
|
30577
|
+
const customMark = customMarks.find((mark) => mark.name === bookmarkName);
|
|
30578
|
+
if (customMark) {
|
|
30579
|
+
const bookmarkEndIndex = nodes.findIndex(
|
|
30580
|
+
(n) => n.name === "w:bookmarkEnd" && n.attributes["w:id"] === node.attributes["w:id"]
|
|
30581
|
+
);
|
|
30582
|
+
const textNodes = nodes.slice(1, bookmarkEndIndex);
|
|
30583
|
+
const nodeListHandler2 = params.nodeListHandler;
|
|
30584
|
+
const attrs = {};
|
|
30585
|
+
node.attributes["w:name"].split(";").forEach((name) => {
|
|
30586
|
+
const [key, value] = name.split("=");
|
|
30587
|
+
if (key && value) {
|
|
30588
|
+
attrs[key] = value;
|
|
30589
|
+
}
|
|
30590
|
+
});
|
|
30591
|
+
const translatedText = nodeListHandler2.handler({
|
|
30592
|
+
...params,
|
|
30593
|
+
nodes: textNodes,
|
|
30594
|
+
path: [...params.path || [], node]
|
|
30595
|
+
});
|
|
30596
|
+
translatedText.forEach((n) => {
|
|
30597
|
+
n.marks.push({
|
|
30598
|
+
type: customMark.name,
|
|
30599
|
+
attrs
|
|
30600
|
+
});
|
|
30601
|
+
});
|
|
30602
|
+
return {
|
|
30603
|
+
nodes: translatedText,
|
|
30604
|
+
consumed: translatedText.length + 2
|
|
30605
|
+
};
|
|
30606
|
+
}
|
|
30607
|
+
const updatedParams = { ...params, nodes: [node] };
|
|
30608
|
+
const result = handleStandardNode2(updatedParams);
|
|
30609
|
+
if (result.nodes.length === 1) {
|
|
30610
|
+
result.nodes[0].attrs.name = node.attributes["w:name"];
|
|
30611
|
+
result.nodes[0].attrs.id = node.attributes["w:id"];
|
|
30612
|
+
}
|
|
30613
|
+
return result;
|
|
30614
|
+
};
|
|
30562
30615
|
const handleBookmarkStartNode = (params) => {
|
|
30563
30616
|
const { nodes } = params;
|
|
30564
30617
|
if (!nodes.length || nodes[0].name !== "w:bookmarkStart") {
|
|
30565
30618
|
return { nodes: [], consumed: 0 };
|
|
30566
30619
|
}
|
|
30620
|
+
if (isCustomMarkBookmark(nodes[0], params.editor)) {
|
|
30621
|
+
return handleBookmarkNode(params);
|
|
30622
|
+
}
|
|
30567
30623
|
const node = translator$3.encode(params);
|
|
30568
30624
|
if (!node) return { nodes: [], consumed: 0 };
|
|
30569
30625
|
return { nodes: [node], consumed: 1 };
|
|
30570
30626
|
};
|
|
30627
|
+
const isCustomMarkBookmark = (bookmarkStartNode, editor) => {
|
|
30628
|
+
if (!bookmarkStartNode?.attributes || !editor?.extensionService?.extensions) {
|
|
30629
|
+
return false;
|
|
30630
|
+
}
|
|
30631
|
+
const rawBookmarkName = bookmarkStartNode.attributes["w:name"];
|
|
30632
|
+
if (!rawBookmarkName || typeof rawBookmarkName !== "string") {
|
|
30633
|
+
return false;
|
|
30634
|
+
}
|
|
30635
|
+
const [bookmarkName, ...bookmarkPayloadParts] = rawBookmarkName.split(";");
|
|
30636
|
+
if (!bookmarkName) {
|
|
30637
|
+
return false;
|
|
30638
|
+
}
|
|
30639
|
+
const customMarks = editor.extensionService.extensions.filter((extension) => extension.isExternal === true);
|
|
30640
|
+
const matchesCustomMarkName = customMarks.some((mark) => mark.name === bookmarkName);
|
|
30641
|
+
if (!matchesCustomMarkName) {
|
|
30642
|
+
return false;
|
|
30643
|
+
}
|
|
30644
|
+
return bookmarkPayloadParts.some((part) => part && part.includes("="));
|
|
30645
|
+
};
|
|
30571
30646
|
const bookmarkStartNodeHandlerEntity = {
|
|
30572
30647
|
handlerName: "w:bookmarkStartTranslator",
|
|
30573
30648
|
handler: handleBookmarkStartNode
|
|
@@ -31604,6 +31679,7 @@ function filterOutRootInlineNodes(content = []) {
|
|
|
31604
31679
|
const INLINE_TYPES = /* @__PURE__ */ new Set([
|
|
31605
31680
|
"text",
|
|
31606
31681
|
"bookmarkStart",
|
|
31682
|
+
"bookmarkEnd",
|
|
31607
31683
|
"lineBreak",
|
|
31608
31684
|
"hardBreak",
|
|
31609
31685
|
"pageNumber",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { p as process$1, av as commonjsGlobal, B as Buffer, aw as getDefaultExportFromCjs, ax as getContentTypesFromXml, ay as xmljs } from "./converter-
|
|
1
|
+
import { p as process$1, av as commonjsGlobal, B as Buffer, aw as getDefaultExportFromCjs, ax as getContentTypesFromXml, ay as xmljs } from "./converter-DhWdHs1e.js";
|
|
2
2
|
function commonjsRequire(path) {
|
|
3
3
|
throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
|
|
4
4
|
}
|
|
@@ -12,9 +12,9 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
12
12
|
var _Attribute_static, getGlobalAttributes_fn, getNodeAndMarksAttributes_fn, _Schema_static, createNodesSchema_fn, createMarksSchema_fn, _events, _ExtensionService_instances, setupExtensions_fn, attachEditorEvents_fn, _editor, _stateValidators, _xmlValidators, _requiredNodeTypes, _requiredMarkTypes, _SuperValidator_instances, initializeValidators_fn, collectValidatorRequirements_fn, analyzeDocument_fn, _commandService, _Editor_instances, initContainerElement_fn, init_fn, initRichText_fn, onFocus_fn, checkHeadless_fn, registerCopyHandler_fn, insertNewFileData_fn, registerPluginByNameIfNotExists_fn, createExtensionService_fn, createCommandService_fn, createConverter_fn, initMedia_fn, initFonts_fn, createSchema_fn, generatePmData_fn, createView_fn, onCollaborationReady_fn, initComments_fn, initPagination_fn, dispatchTransaction_fn, handleNodeSelection_fn, prepareDocumentForImport_fn, prepareDocumentForExport_fn, endCollaboration_fn, validateDocumentInit_fn, validateDocumentExport_fn, initDevTools_fn, _ListItemNodeView_instances, init_fn2, _FieldAnnotationView_instances, createAnnotation_fn, _AutoPageNumberNodeView_instances, renderDom_fn, scheduleUpdateNodeStyle_fn, _DocumentSectionView_instances, init_fn3, addToolTip_fn;
|
|
13
13
|
import * as Y from "yjs";
|
|
14
14
|
import { UndoManager, Item as Item$1, ContentType, Text as Text$1, XmlElement, encodeStateAsUpdate } from "yjs";
|
|
15
|
-
import { P as PluginKey, a as Plugin, M as Mapping, N as NodeSelection, S as Selection, T as TextSelection, b as Slice, D as DOMSerializer, F as Fragment, c as DOMParser$1, d as Mark$1, e as dropPoint, A as AllSelection, p as process$1, B as Buffer2, f as callOrGet, g as getExtensionConfigField, h as getMarkType, i as getMarksFromSelection, j as getNodeType, k as getSchemaTypeNameByName, l as Schema$1, m as cleanSchemaItem, n as canSplit, o as defaultBlockAt$1, q as liftTarget, r as canJoin, s as joinPoint, t as replaceStep$1, R as ReplaceAroundStep$1, u as isTextSelection, v as getMarkRange, w as isMarkActive, x as isNodeActive, y as deleteProps, z as processContent, C as ReplaceStep, E as NodeRange, G as findWrapping, L as ListHelpers, H as findParentNode, I as isMacOS, J as isIOS, K as getSchemaTypeByName, O as inputRulesPlugin, Q as TrackDeleteMarkName, U as TrackInsertMarkName, V as v4, W as TrackFormatMarkName, X as comments_module_events, Y as findMark, Z as objectIncludes, _ as AddMarkStep, $ as RemoveMarkStep, a0 as twipsToLines, a1 as pixelsToTwips, a2 as helpers, a3 as posToDOMRect, a4 as CommandService, a5 as SuperConverter, a6 as createDocument, a7 as createDocFromMarkdown, a8 as createDocFromHTML, a9 as EditorState, aa as hasSomeParentWithClass, ab as isActive, ac as unflattenListsInHtml, ad as parseSizeUnit, ae as minMax, af as getLineHeightValueString, ag as InputRule, ah as kebabCase, ai as findParentNodeClosestToPos, aj as getListItemStyleDefinitions, ak as docxNumberigHelpers, al as parseIndentElement, am as combineIndents, an as StepMap, ao as SelectionRange, ap as Transform, aq as isInTable$1, ar as generateDocxRandomId, as as insertNewRelationship, at as updateDOMAttributes, au as htmlHandler } from "./converter-
|
|
15
|
+
import { P as PluginKey, a as Plugin, M as Mapping, N as NodeSelection, S as Selection, T as TextSelection, b as Slice, D as DOMSerializer, F as Fragment, c as DOMParser$1, d as Mark$1, e as dropPoint, A as AllSelection, p as process$1, B as Buffer2, f as callOrGet, g as getExtensionConfigField, h as getMarkType, i as getMarksFromSelection, j as getNodeType, k as getSchemaTypeNameByName, l as Schema$1, m as cleanSchemaItem, n as canSplit, o as defaultBlockAt$1, q as liftTarget, r as canJoin, s as joinPoint, t as replaceStep$1, R as ReplaceAroundStep$1, u as isTextSelection, v as getMarkRange, w as isMarkActive, x as isNodeActive, y as deleteProps, z as processContent, C as ReplaceStep, E as NodeRange, G as findWrapping, L as ListHelpers, H as findParentNode, I as isMacOS, J as isIOS, K as getSchemaTypeByName, O as inputRulesPlugin, Q as TrackDeleteMarkName, U as TrackInsertMarkName, V as v4, W as TrackFormatMarkName, X as comments_module_events, Y as findMark, Z as objectIncludes, _ as AddMarkStep, $ as RemoveMarkStep, a0 as twipsToLines, a1 as pixelsToTwips, a2 as helpers, a3 as posToDOMRect, a4 as CommandService, a5 as SuperConverter, a6 as createDocument, a7 as createDocFromMarkdown, a8 as createDocFromHTML, a9 as EditorState, aa as hasSomeParentWithClass, ab as isActive, ac as unflattenListsInHtml, ad as parseSizeUnit, ae as minMax, af as getLineHeightValueString, ag as InputRule, ah as kebabCase, ai as findParentNodeClosestToPos, aj as getListItemStyleDefinitions, ak as docxNumberigHelpers, al as parseIndentElement, am as combineIndents, an as StepMap, ao as SelectionRange, ap as Transform, aq as isInTable$1, ar as generateDocxRandomId, as as insertNewRelationship, at as updateDOMAttributes, au as htmlHandler } from "./converter-DhWdHs1e.js";
|
|
16
16
|
import { ref, computed, createElementBlock, openBlock, withModifiers, Fragment as Fragment$1, renderList, normalizeClass, createCommentVNode, toDisplayString, createElementVNode, createApp } from "vue";
|
|
17
|
-
import { D as DocxZipper } from "./docx-zipper-
|
|
17
|
+
import { D as DocxZipper } from "./docx-zipper-BH3Y9ODp.js";
|
|
18
18
|
var GOOD_LEAF_SIZE = 200;
|
|
19
19
|
var RopeSequence = function RopeSequence2() {
|
|
20
20
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, normalizeClass, normalizeStyle, ref, withKeys, unref, withModifiers, createBlock, toDisplayString, withDirectives, vModelText, nextTick, getCurrentInstance, createVNode, readonly, watch, onMounted, onBeforeUnmount, reactive, onBeforeMount, inject, onActivated, onDeactivated, createTextVNode, Fragment, Comment, defineComponent, provide, h, Teleport, toRef, renderSlot, isVNode, shallowRef, watchEffect, mergeProps, Transition, vShow, cloneVNode, Text, renderList, withCtx } from "vue";
|
|
2
|
-
import { p as process$1 } from "./converter-
|
|
3
|
-
import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-
|
|
2
|
+
import { p as process$1 } from "./converter-DhWdHs1e.js";
|
|
3
|
+
import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-ByzXx8DR.js";
|
|
4
4
|
const sanitizeNumber = (value, defaultNumber) => {
|
|
5
5
|
let sanitized = value.replace(/[^0-9.]/g, "");
|
|
6
6
|
sanitized = parseFloat(sanitized);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { E } from "./chunks/editor-
|
|
2
|
-
import "./chunks/converter-
|
|
3
|
-
import "./chunks/docx-zipper-
|
|
1
|
+
import { E } from "./chunks/editor-ByzXx8DR.js";
|
|
2
|
+
import "./chunks/converter-DhWdHs1e.js";
|
|
3
|
+
import "./chunks/docx-zipper-BH3Y9ODp.js";
|
|
4
4
|
export {
|
|
5
5
|
E as Editor
|
|
6
6
|
};
|
|
@@ -9,14 +9,14 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
|
|
|
9
9
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
10
10
|
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
11
11
|
var _SuperToolbar_instances, initToolbarGroups_fn, _interceptedCommands, makeToolbarItems_fn, initDefaultFonts_fn, updateHighlightColors_fn, deactivateAll_fn, updateToolbarHistory_fn, runCommandWithArgumentOnly_fn;
|
|
12
|
-
import { aw as getDefaultExportFromCjs, V as v4, T as TextSelection$1, v as getMarkRange, az as vClickOutside, H as findParentNode, aA as getActiveFormatting, aq as isInTable, aB as readFromClipboard, aC as handleClipboardPaste, aD as getFileObject, a as Plugin } from "./chunks/converter-
|
|
13
|
-
import { aE, a5, i, a2, aF } from "./chunks/converter-
|
|
14
|
-
import { _ as _export_sfc, u as useHighContrastMode, a as getQuickFormatList, b as generateLinkedStyleString, c as getFileOpener, d as checkAndProcessImage, r as replaceSelectionWithImagePlaceholder, e as uploadAndInsertImage, y as yUndoPluginKey, f as undoDepth, h as redoDepth, S as SlashMenuPluginKey, E as Editor, i as getStarterExtensions, P as Placeholder, j as getRichTextExtensions, M as Mark, k as Extension, A as Attribute, N as Node } from "./chunks/editor-
|
|
15
|
-
import { n, C, o, T, l, p, m } from "./chunks/editor-
|
|
12
|
+
import { aw as getDefaultExportFromCjs, V as v4, T as TextSelection$1, v as getMarkRange, az as vClickOutside, H as findParentNode, aA as getActiveFormatting, aq as isInTable, aB as readFromClipboard, aC as handleClipboardPaste, aD as getFileObject, a as Plugin } from "./chunks/converter-DhWdHs1e.js";
|
|
13
|
+
import { aE, a5, i, a2, aF } from "./chunks/converter-DhWdHs1e.js";
|
|
14
|
+
import { _ as _export_sfc, u as useHighContrastMode, a as getQuickFormatList, b as generateLinkedStyleString, c as getFileOpener, d as checkAndProcessImage, r as replaceSelectionWithImagePlaceholder, e as uploadAndInsertImage, y as yUndoPluginKey, f as undoDepth, h as redoDepth, S as SlashMenuPluginKey, E as Editor, i as getStarterExtensions, P as Placeholder, j as getRichTextExtensions, M as Mark, k as Extension, A as Attribute, N as Node } from "./chunks/editor-ByzXx8DR.js";
|
|
15
|
+
import { n, C, o, T, l, p, m } from "./chunks/editor-ByzXx8DR.js";
|
|
16
16
|
import { ref, onMounted, createElementBlock, openBlock, normalizeClass, unref, Fragment, renderList, createElementVNode, withModifiers, toDisplayString, createCommentVNode, normalizeStyle, computed, watch, withDirectives, withKeys, vModelText, createTextVNode, createVNode, h, createApp, markRaw, nextTick, onBeforeUnmount, reactive, onUnmounted, renderSlot, shallowRef, createBlock, withCtx, resolveDynamicComponent, normalizeProps, guardReactiveProps } from "vue";
|
|
17
|
-
import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, m as magicWandIcon, p as plusIconSvg, a as trashIconSvg, l as linkIconSvg, b as tableIconSvg, c as scissorsIconSvg, d as copyIconSvg, e as pasteIconSvg, f as borderNoneIconSvg, g as arrowsToDotIconSvg, h as arrowsLeftRightIconSvg, w as wrenchIconSvg, u as useMessage, N as NSkeleton } from "./chunks/toolbar-
|
|
17
|
+
import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, m as magicWandIcon, p as plusIconSvg, a as trashIconSvg, l as linkIconSvg, b as tableIconSvg, c as scissorsIconSvg, d as copyIconSvg, e as pasteIconSvg, f as borderNoneIconSvg, g as arrowsToDotIconSvg, h as arrowsLeftRightIconSvg, w as wrenchIconSvg, u as useMessage, N as NSkeleton } from "./chunks/toolbar-BgZD9aZZ.js";
|
|
18
18
|
import AIWriter from "./ai-writer.es.js";
|
|
19
|
-
import { D } from "./chunks/docx-zipper-
|
|
19
|
+
import { D } from "./chunks/docx-zipper-BH3Y9ODp.js";
|
|
20
20
|
import { createZip } from "./file-zipper.es.js";
|
|
21
21
|
var eventemitter3 = { exports: {} };
|
|
22
22
|
var hasRequiredEventemitter3;
|
package/dist/super-editor.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const superEditor_es = require("./chunks/super-editor.es
|
|
3
|
+
const superEditor_es = require("./chunks/super-editor.es-BNRMY4Gs.cjs");
|
|
4
4
|
require("./chunks/vue-DWle4Cai.cjs");
|
|
5
5
|
exports.AIWriter = superEditor_es.AIWriter;
|
|
6
6
|
exports.AnnotatorHelpers = superEditor_es.AnnotatorHelpers;
|
package/dist/super-editor.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A, a, _, C, D, E, b, S, c, d, e, f, g, T, h, i, j, k, l, m, n, o, p, r, q } from "./chunks/super-editor.es-
|
|
1
|
+
import { A, a, _, C, D, E, b, S, c, d, e, f, g, T, h, i, j, k, l, m, n, o, p, r, q } from "./chunks/super-editor.es-C1EWiBwN.es.js";
|
|
2
2
|
import "./chunks/vue-CXxsqYcP.es.js";
|
|
3
3
|
export {
|
|
4
4
|
A as AIWriter,
|
package/dist/superdoc.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const superEditor_es = require("./chunks/super-editor.es
|
|
4
|
-
const superdoc = require("./chunks/index-
|
|
3
|
+
const superEditor_es = require("./chunks/super-editor.es-BNRMY4Gs.cjs");
|
|
4
|
+
const superdoc = require("./chunks/index-C--co6k8.cjs");
|
|
5
5
|
require("./chunks/vue-DWle4Cai.cjs");
|
|
6
6
|
require("./chunks/jszip-b7l8QkfH.cjs");
|
|
7
7
|
const blankDocx = require("./chunks/blank-docx-CPqX9RF5.cjs");
|
package/dist/superdoc.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a, E, b, S, d, i, j, n, r, p, q } from "./chunks/super-editor.es-
|
|
2
|
-
import { D, H, P, S as S2, m, l } from "./chunks/index-
|
|
1
|
+
import { a, E, b, S, d, i, j, n, r, p, q } from "./chunks/super-editor.es-C1EWiBwN.es.js";
|
|
2
|
+
import { D, H, P, S as S2, m, l } from "./chunks/index-CFeCZJDO.es.js";
|
|
3
3
|
import "./chunks/vue-CXxsqYcP.es.js";
|
|
4
4
|
import "./chunks/jszip-B8KIZSNe.es.js";
|
|
5
5
|
import { B } from "./chunks/blank-docx-iwdyG9RH.es.js";
|
package/dist/superdoc.umd.js
CHANGED
|
@@ -38294,15 +38294,90 @@ Please report this to https://github.com/markedjs/marked.`, e) {
|
|
|
38294
38294
|
handlerName: "lineBreakNodeHandler",
|
|
38295
38295
|
handler
|
|
38296
38296
|
};
|
|
38297
|
+
const handleBookmarkNode = (params2) => {
|
|
38298
|
+
const { nodes, nodeListHandler, editor } = params2;
|
|
38299
|
+
if (nodes.length === 0 || nodes[0].name !== "w:bookmarkStart") {
|
|
38300
|
+
return { nodes: [], consumed: 0 };
|
|
38301
|
+
}
|
|
38302
|
+
const node = nodes[0];
|
|
38303
|
+
const handleStandardNode2 = nodeListHandler.handlerEntities.find(
|
|
38304
|
+
(e) => e.handlerName === "standardNodeHandler"
|
|
38305
|
+
)?.handler;
|
|
38306
|
+
if (!handleStandardNode2) {
|
|
38307
|
+
console.error("Standard node handler not found");
|
|
38308
|
+
return { nodes: [], consumed: 0 };
|
|
38309
|
+
}
|
|
38310
|
+
const customMarks = editor?.extensionService?.extensions?.filter((e) => e.isExternal === true) || [];
|
|
38311
|
+
const bookmarkName = node.attributes["w:name"]?.split(";")[0];
|
|
38312
|
+
const customMark = customMarks.find((mark) => mark.name === bookmarkName);
|
|
38313
|
+
if (customMark) {
|
|
38314
|
+
const bookmarkEndIndex = nodes.findIndex(
|
|
38315
|
+
(n) => n.name === "w:bookmarkEnd" && n.attributes["w:id"] === node.attributes["w:id"]
|
|
38316
|
+
);
|
|
38317
|
+
const textNodes = nodes.slice(1, bookmarkEndIndex);
|
|
38318
|
+
const nodeListHandler2 = params2.nodeListHandler;
|
|
38319
|
+
const attrs = {};
|
|
38320
|
+
node.attributes["w:name"].split(";").forEach((name) => {
|
|
38321
|
+
const [key2, value] = name.split("=");
|
|
38322
|
+
if (key2 && value) {
|
|
38323
|
+
attrs[key2] = value;
|
|
38324
|
+
}
|
|
38325
|
+
});
|
|
38326
|
+
const translatedText = nodeListHandler2.handler({
|
|
38327
|
+
...params2,
|
|
38328
|
+
nodes: textNodes,
|
|
38329
|
+
path: [...params2.path || [], node]
|
|
38330
|
+
});
|
|
38331
|
+
translatedText.forEach((n) => {
|
|
38332
|
+
n.marks.push({
|
|
38333
|
+
type: customMark.name,
|
|
38334
|
+
attrs
|
|
38335
|
+
});
|
|
38336
|
+
});
|
|
38337
|
+
return {
|
|
38338
|
+
nodes: translatedText,
|
|
38339
|
+
consumed: translatedText.length + 2
|
|
38340
|
+
};
|
|
38341
|
+
}
|
|
38342
|
+
const updatedParams = { ...params2, nodes: [node] };
|
|
38343
|
+
const result = handleStandardNode2(updatedParams);
|
|
38344
|
+
if (result.nodes.length === 1) {
|
|
38345
|
+
result.nodes[0].attrs.name = node.attributes["w:name"];
|
|
38346
|
+
result.nodes[0].attrs.id = node.attributes["w:id"];
|
|
38347
|
+
}
|
|
38348
|
+
return result;
|
|
38349
|
+
};
|
|
38297
38350
|
const handleBookmarkStartNode = (params2) => {
|
|
38298
38351
|
const { nodes } = params2;
|
|
38299
38352
|
if (!nodes.length || nodes[0].name !== "w:bookmarkStart") {
|
|
38300
38353
|
return { nodes: [], consumed: 0 };
|
|
38301
38354
|
}
|
|
38355
|
+
if (isCustomMarkBookmark(nodes[0], params2.editor)) {
|
|
38356
|
+
return handleBookmarkNode(params2);
|
|
38357
|
+
}
|
|
38302
38358
|
const node = translator$3.encode(params2);
|
|
38303
38359
|
if (!node) return { nodes: [], consumed: 0 };
|
|
38304
38360
|
return { nodes: [node], consumed: 1 };
|
|
38305
38361
|
};
|
|
38362
|
+
const isCustomMarkBookmark = (bookmarkStartNode, editor) => {
|
|
38363
|
+
if (!bookmarkStartNode?.attributes || !editor?.extensionService?.extensions) {
|
|
38364
|
+
return false;
|
|
38365
|
+
}
|
|
38366
|
+
const rawBookmarkName = bookmarkStartNode.attributes["w:name"];
|
|
38367
|
+
if (!rawBookmarkName || typeof rawBookmarkName !== "string") {
|
|
38368
|
+
return false;
|
|
38369
|
+
}
|
|
38370
|
+
const [bookmarkName, ...bookmarkPayloadParts] = rawBookmarkName.split(";");
|
|
38371
|
+
if (!bookmarkName) {
|
|
38372
|
+
return false;
|
|
38373
|
+
}
|
|
38374
|
+
const customMarks = editor.extensionService.extensions.filter((extension) => extension.isExternal === true);
|
|
38375
|
+
const matchesCustomMarkName = customMarks.some((mark) => mark.name === bookmarkName);
|
|
38376
|
+
if (!matchesCustomMarkName) {
|
|
38377
|
+
return false;
|
|
38378
|
+
}
|
|
38379
|
+
return bookmarkPayloadParts.some((part) => part && part.includes("="));
|
|
38380
|
+
};
|
|
38306
38381
|
const bookmarkStartNodeHandlerEntity = {
|
|
38307
38382
|
handlerName: "w:bookmarkStartTranslator",
|
|
38308
38383
|
handler: handleBookmarkStartNode
|
|
@@ -39312,6 +39387,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
|
|
|
39312
39387
|
const INLINE_TYPES = /* @__PURE__ */ new Set([
|
|
39313
39388
|
"text",
|
|
39314
39389
|
"bookmarkStart",
|
|
39390
|
+
"bookmarkEnd",
|
|
39315
39391
|
"lineBreak",
|
|
39316
39392
|
"hardBreak",
|
|
39317
39393
|
"pageNumber",
|