@harbour-enterprises/superdoc 0.21.0-next.6 → 0.21.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.
- package/dist/chunks/{PdfViewer-BrJSIJjF.cjs → PdfViewer-BR9iwva-.cjs} +1 -1
- package/dist/chunks/{PdfViewer-CJAEtjUD.es.js → PdfViewer-CwVW7MVJ.es.js} +1 -1
- package/dist/chunks/{index-NiOytIlp.cjs → index-BNA5J__D.cjs} +2 -2
- package/dist/chunks/{index-BDfKQQiO.es.js → index-CjQDYBP2.es.js} +2 -2
- package/dist/chunks/{super-editor.es-iVTtEcot.es.js → super-editor.es-C5dhT0uU.es.js} +98 -911
- package/dist/chunks/{super-editor.es-DmkkMNKU.cjs → super-editor.es-Ct59l8tt.cjs} +98 -911
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/style.css +11 -11
- package/dist/super-editor/ai-writer.es.js +2 -2
- package/dist/super-editor/chunks/{converter-CYC0HBJe.js → converter-DYAHhSrg.js} +65 -26
- package/dist/super-editor/chunks/{docx-zipper-DlwteneT.js → docx-zipper-BDbCmfbE.js} +1 -1
- package/dist/super-editor/chunks/{editor-BzT9rpXb.js → editor-B1W7AdgQ.js} +29 -59
- package/dist/super-editor/chunks/{toolbar-BnTHDmlP.js → toolbar-CCvglB_X.js} +7 -6
- 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/src/components/slash-menu/contextmenu-helpers.d.ts +1 -0
- package/dist/super-editor/src/core/commands/__tests__/schemaWithLists.d.ts +2 -0
- package/dist/super-editor/src/core/commands/__tests__/testHelpers.d.ts +4 -0
- package/dist/super-editor/src/core/commands/__tests__/testSchema.d.ts +2 -0
- package/dist/super-editor/src/core/commands/tests/commandTestUtils.d.ts +7 -0
- package/dist/super-editor/src/core/commands/tests/test-schema.d.ts +2 -0
- package/dist/super-editor/src/extensions/custom-selection/custom-selection.d.ts +1 -0
- package/dist/super-editor/style.css +11 -11
- package/dist/super-editor/super-editor.es.js +94 -878
- 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 +98 -911
- package/dist/superdoc.umd.js.map +1 -1
- package/package.json +1 -1
- package/dist/super-editor/src/extensions/noderesizer/helpers.d.ts +0 -2
- package/dist/super-editor/src/extensions/run-item/index.d.ts +0 -1
- package/dist/super-editor/src/extensions/run-item/run-item.d.ts +0 -26
- package/dist/super-editor/src/utils/shadow-root.d.ts +0 -12
|
@@ -47946,11 +47946,9 @@ const toggleHeaderFooterEditMode = ({ editor, focusedSectionEditor, isEditMode,
|
|
|
47946
47946
|
item.editor.view.dom.setAttribute("documentmode", documentMode);
|
|
47947
47947
|
});
|
|
47948
47948
|
if (isEditMode) {
|
|
47949
|
-
const pm =
|
|
47950
|
-
|
|
47951
|
-
|
|
47952
|
-
pm.setAttribute("aria-readonly", true);
|
|
47953
|
-
}
|
|
47949
|
+
const pm = document.querySelector(".ProseMirror");
|
|
47950
|
+
pm.classList.add("header-footer-edit");
|
|
47951
|
+
pm.setAttribute("aria-readonly", true);
|
|
47954
47952
|
}
|
|
47955
47953
|
if (focusedSectionEditor) {
|
|
47956
47954
|
focusedSectionEditor.view.focus();
|
|
@@ -50562,7 +50560,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
|
|
|
50562
50560
|
setDocumentMode(documentMode) {
|
|
50563
50561
|
let cleanedMode = documentMode?.toLowerCase() || "editing";
|
|
50564
50562
|
if (!this.extensionService || !this.state) return;
|
|
50565
|
-
const pm =
|
|
50563
|
+
const pm = document.querySelector(".ProseMirror");
|
|
50566
50564
|
if (this.options.role === "viewer") cleanedMode = "viewing";
|
|
50567
50565
|
if (this.options.role === "suggester" && cleanedMode === "editing") cleanedMode = "suggesting";
|
|
50568
50566
|
if (cleanedMode === "viewing") {
|
|
@@ -50792,6 +50790,8 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
|
|
|
50792
50790
|
element.style.isolation = "isolate";
|
|
50793
50791
|
proseMirror.style.outline = "none";
|
|
50794
50792
|
proseMirror.style.border = "none";
|
|
50793
|
+
element.style.backgroundColor = "#fff";
|
|
50794
|
+
proseMirror.style.backgroundColor = "#fff";
|
|
50795
50795
|
const { typeface, fontSizePt, fontFamilyCss } = this.converter.getDocumentDefaultStyles() ?? {};
|
|
50796
50796
|
const resolvedFontFamily = fontFamilyCss || typeface;
|
|
50797
50797
|
if (resolvedFontFamily) {
|
|
@@ -51534,11 +51534,9 @@ createView_fn = function(element) {
|
|
|
51534
51534
|
isEditMode: false,
|
|
51535
51535
|
documentMode: this.options.documentMode
|
|
51536
51536
|
});
|
|
51537
|
-
const pm =
|
|
51538
|
-
|
|
51539
|
-
|
|
51540
|
-
pm.setAttribute("aria-readonly", false);
|
|
51541
|
-
}
|
|
51537
|
+
const pm = document.querySelector(".ProseMirror");
|
|
51538
|
+
pm.classList.remove("header-footer-edit");
|
|
51539
|
+
pm.setAttribute("aria-readonly", false);
|
|
51542
51540
|
}
|
|
51543
51541
|
setWordSelection(view, pos);
|
|
51544
51542
|
}
|
|
@@ -53594,6 +53592,14 @@ const intToJapaneseCounting = (num) => {
|
|
|
53594
53592
|
return result;
|
|
53595
53593
|
};
|
|
53596
53594
|
const CustomSelectionPluginKey = new PluginKey("CustomSelection");
|
|
53595
|
+
const shouldAllowNativeContextMenu = (event) => {
|
|
53596
|
+
if (!event) return false;
|
|
53597
|
+
if (event.ctrlKey || event.metaKey) {
|
|
53598
|
+
return true;
|
|
53599
|
+
}
|
|
53600
|
+
const isKeyboardInvocation = event.type === "contextmenu" && typeof event.detail === "number" && event.detail === 0 && (event.button === 0 || event.button === void 0) && event.clientX === 0 && event.clientY === 0;
|
|
53601
|
+
return Boolean(isKeyboardInvocation);
|
|
53602
|
+
};
|
|
53597
53603
|
const handleClickOutside = (event, editor) => {
|
|
53598
53604
|
const editorElem = editor?.options?.element;
|
|
53599
53605
|
if (!editorElem) return;
|
|
@@ -53655,6 +53661,9 @@ const CustomSelection = Extension.create({
|
|
|
53655
53661
|
props: {
|
|
53656
53662
|
handleDOMEvents: {
|
|
53657
53663
|
contextmenu: (view, event) => {
|
|
53664
|
+
if (shouldAllowNativeContextMenu(event)) {
|
|
53665
|
+
return false;
|
|
53666
|
+
}
|
|
53658
53667
|
event.preventDefault();
|
|
53659
53668
|
const { selection } = view.state;
|
|
53660
53669
|
if (!selection.empty) {
|
|
@@ -53673,6 +53682,9 @@ const CustomSelection = Extension.create({
|
|
|
53673
53682
|
},
|
|
53674
53683
|
mousedown: (view, event) => {
|
|
53675
53684
|
if (event.button === 2) {
|
|
53685
|
+
if (shouldAllowNativeContextMenu(event)) {
|
|
53686
|
+
return false;
|
|
53687
|
+
}
|
|
53676
53688
|
event.preventDefault();
|
|
53677
53689
|
const { selection: selection2 } = view.state;
|
|
53678
53690
|
if (!selection2.empty) {
|
|
@@ -69473,45 +69485,6 @@ const Search = Extension.create({
|
|
|
69473
69485
|
};
|
|
69474
69486
|
}
|
|
69475
69487
|
});
|
|
69476
|
-
let cachedShadowRootCtor;
|
|
69477
|
-
const getShadowRootCtor = () => {
|
|
69478
|
-
if (cachedShadowRootCtor === void 0) {
|
|
69479
|
-
const ctor = globalThis.ShadowRoot;
|
|
69480
|
-
cachedShadowRootCtor = typeof ctor === "function" ? ctor : null;
|
|
69481
|
-
}
|
|
69482
|
-
return cachedShadowRootCtor;
|
|
69483
|
-
};
|
|
69484
|
-
let cachedElementCtor;
|
|
69485
|
-
const getElementCtor = () => {
|
|
69486
|
-
if (cachedElementCtor === void 0) {
|
|
69487
|
-
const ctor = globalThis.Element;
|
|
69488
|
-
cachedElementCtor = typeof ctor === "function" ? ctor : null;
|
|
69489
|
-
}
|
|
69490
|
-
return cachedElementCtor;
|
|
69491
|
-
};
|
|
69492
|
-
const queryWithinRoot = (domNode, selector) => {
|
|
69493
|
-
const shadowRoot = domNode?.shadowRoot;
|
|
69494
|
-
if (shadowRoot && typeof shadowRoot.querySelector === "function") {
|
|
69495
|
-
return shadowRoot.querySelector(selector);
|
|
69496
|
-
}
|
|
69497
|
-
const rawRoot = domNode?.getRootNode?.();
|
|
69498
|
-
const ShadowRootCtor = getShadowRootCtor();
|
|
69499
|
-
const isShadowRoot2 = !!ShadowRootCtor && rawRoot instanceof ShadowRootCtor;
|
|
69500
|
-
if (isShadowRoot2 && typeof rawRoot.querySelector === "function") {
|
|
69501
|
-
return rawRoot.querySelector(selector);
|
|
69502
|
-
}
|
|
69503
|
-
if (domNode && typeof domNode.querySelector === "function") {
|
|
69504
|
-
const localMatch = domNode.querySelector(selector);
|
|
69505
|
-
if (localMatch) return localMatch;
|
|
69506
|
-
}
|
|
69507
|
-
return typeof document !== "undefined" ? document.querySelector(selector) : null;
|
|
69508
|
-
};
|
|
69509
|
-
const findInEventPath = (event, selector) => {
|
|
69510
|
-
if (!event || !selector) return void 0;
|
|
69511
|
-
const path = typeof event.composedPath === "function" ? event.composedPath() : [];
|
|
69512
|
-
const ElementCtor = getElementCtor();
|
|
69513
|
-
return path.find((node) => ElementCtor && node instanceof ElementCtor && node.matches(selector));
|
|
69514
|
-
};
|
|
69515
69488
|
const NodeResizerKey = new PluginKey("node-resizer");
|
|
69516
69489
|
const nodeResizer = (nodeNames = ["image"], editor) => {
|
|
69517
69490
|
let resizeState = {
|
|
@@ -69566,19 +69539,16 @@ const nodeResizer = (nodeNames = ["image"], editor) => {
|
|
|
69566
69539
|
view(view) {
|
|
69567
69540
|
editorView = view;
|
|
69568
69541
|
globalClickHandler = (event) => {
|
|
69569
|
-
|
|
69570
|
-
const containerInPath = findInEventPath(event, ".sd-editor-resize-container");
|
|
69571
|
-
if (!wrapperInPath && !containerInPath) {
|
|
69542
|
+
if (!event.target.closest(".sd-editor-resizable-wrapper") && !event.target.closest(".sd-editor-resize-container")) {
|
|
69572
69543
|
hideResizeHandles();
|
|
69573
69544
|
}
|
|
69574
69545
|
};
|
|
69575
69546
|
document.addEventListener("click", globalClickHandler);
|
|
69576
69547
|
globalMousedownHandler = (event) => {
|
|
69577
|
-
|
|
69578
|
-
if (handle) {
|
|
69548
|
+
if (event.target.closest(".sd-editor-resize-handle")) {
|
|
69579
69549
|
event.preventDefault();
|
|
69580
69550
|
event.stopPropagation();
|
|
69581
|
-
startResize(editorView, event,
|
|
69551
|
+
startResize(editorView, event, event.target);
|
|
69582
69552
|
return true;
|
|
69583
69553
|
}
|
|
69584
69554
|
};
|
|
@@ -69595,7 +69565,7 @@ const nodeResizer = (nodeNames = ["image"], editor) => {
|
|
|
69595
69565
|
const prevSelection = prevState.selection;
|
|
69596
69566
|
if (selection.from !== prevSelection.from || selection.to !== prevSelection.to) {
|
|
69597
69567
|
setTimeout(() => {
|
|
69598
|
-
const selectedResizableWrapper =
|
|
69568
|
+
const selectedResizableWrapper = document.querySelector(".sd-editor-resizable-wrapper");
|
|
69599
69569
|
if (selectedResizableWrapper) {
|
|
69600
69570
|
showResizeHandles(view2, selectedResizableWrapper);
|
|
69601
69571
|
} else {
|
|
@@ -79708,7 +79678,6 @@ const _sfc_main$1$1 = {
|
|
|
79708
79678
|
const toolbarItemRefs = vue.ref([]);
|
|
79709
79679
|
const props = __props;
|
|
79710
79680
|
const currentItem = vue.ref(null);
|
|
79711
|
-
const { proxy } = vue.getCurrentInstance();
|
|
79712
79681
|
const { isHighContrastMode: isHighContrastMode2 } = useHighContrastMode();
|
|
79713
79682
|
const isMobile = window.matchMedia("(max-width: 768px)").matches;
|
|
79714
79683
|
const styleMap = {
|
|
@@ -79807,8 +79776,10 @@ const _sfc_main$1$1 = {
|
|
|
79807
79776
|
nextButtonGroup.setAttribute("tabindex", "0");
|
|
79808
79777
|
nextButtonGroup.focus();
|
|
79809
79778
|
} else {
|
|
79810
|
-
const
|
|
79811
|
-
|
|
79779
|
+
const editor = document.querySelector(".ProseMirror");
|
|
79780
|
+
if (editor) {
|
|
79781
|
+
editor.focus();
|
|
79782
|
+
}
|
|
79812
79783
|
}
|
|
79813
79784
|
};
|
|
79814
79785
|
const moveToPreviousButtonGroup = (e) => {
|
|
@@ -79954,7 +79925,7 @@ const _sfc_main$1$1 = {
|
|
|
79954
79925
|
};
|
|
79955
79926
|
}
|
|
79956
79927
|
};
|
|
79957
|
-
const ButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1$1, [["__scopeId", "data-v-
|
|
79928
|
+
const ButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1$1, [["__scopeId", "data-v-f42ec7e6"]]);
|
|
79958
79929
|
const _sfc_main$f = {
|
|
79959
79930
|
__name: "Toolbar",
|
|
79960
79931
|
emits: ["command", "toggle", "select"],
|
|
@@ -84192,6 +84163,14 @@ function getStructureFromResolvedPos(state2, pos) {
|
|
|
84192
84163
|
return null;
|
|
84193
84164
|
}
|
|
84194
84165
|
}
|
|
84166
|
+
const shouldBypassContextMenu = (event) => {
|
|
84167
|
+
if (!event) return false;
|
|
84168
|
+
if (event.ctrlKey || event.metaKey) {
|
|
84169
|
+
return true;
|
|
84170
|
+
}
|
|
84171
|
+
const isKeyboardInvocation = event.type === "contextmenu" && typeof event.detail === "number" && event.detail === 0 && (event.button === 0 || event.button === void 0) && event.clientX === 0 && event.clientY === 0;
|
|
84172
|
+
return Boolean(isKeyboardInvocation);
|
|
84173
|
+
};
|
|
84195
84174
|
const isModuleEnabled = (editorOptions, moduleName) => {
|
|
84196
84175
|
switch (moduleName) {
|
|
84197
84176
|
case "ai":
|
|
@@ -84566,8 +84545,7 @@ const _sfc_main$4 = {
|
|
|
84566
84545
|
};
|
|
84567
84546
|
const handleRightClick = async (event) => {
|
|
84568
84547
|
const readOnly = !props.editor?.isEditable;
|
|
84569
|
-
|
|
84570
|
-
if (readOnly || isHoldingCtrl) {
|
|
84548
|
+
if (readOnly || shouldBypassContextMenu(event)) {
|
|
84571
84549
|
return;
|
|
84572
84550
|
}
|
|
84573
84551
|
event.preventDefault();
|
|
@@ -84728,12 +84706,10 @@ const _sfc_main$4 = {
|
|
|
84728
84706
|
}
|
|
84729
84707
|
};
|
|
84730
84708
|
function adjustPaginationBreaks(editorElem, editor) {
|
|
84731
|
-
|
|
84732
|
-
if (!hostElement || !editor?.value?.options?.scale) return;
|
|
84709
|
+
if (!editorElem.value || !editor?.value?.options?.scale) return;
|
|
84733
84710
|
const zoom = editor.value.options.scale;
|
|
84734
|
-
const bounds =
|
|
84735
|
-
const
|
|
84736
|
-
const breakNodes = searchRoot.querySelectorAll(".pagination-break-wrapper");
|
|
84711
|
+
const bounds = editorElem.value.getBoundingClientRect();
|
|
84712
|
+
const breakNodes = editorElem.value.querySelectorAll(".pagination-break-wrapper");
|
|
84737
84713
|
let firstLeft;
|
|
84738
84714
|
breakNodes.forEach((node) => {
|
|
84739
84715
|
const nodeBounds = node.getBoundingClientRect();
|
|
@@ -85024,821 +85000,6 @@ const _sfc_main$2 = {
|
|
|
85024
85000
|
};
|
|
85025
85001
|
const GenericPopover = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-cbddcc0f"]]);
|
|
85026
85002
|
const BlankDOCX = "data:application/octet-stream;base64,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";
|
|
85027
|
-
const editorStyles = `:root {
|
|
85028
|
-
/* CSS variables */
|
|
85029
|
-
}
|
|
85030
|
-
.sd-input-active {
|
|
85031
|
-
border: 1px solid #1355ff !important;
|
|
85032
|
-
}
|
|
85033
|
-
.sd-super-editor-html .ProseMirror {
|
|
85034
|
-
border: 1px solid #d9d9d9;
|
|
85035
|
-
outline: none;
|
|
85036
|
-
border-radius: 8px;
|
|
85037
|
-
height: 100%;
|
|
85038
|
-
width: 100%;
|
|
85039
|
-
outline: none;
|
|
85040
|
-
}
|
|
85041
|
-
a {
|
|
85042
|
-
text-decoration: auto;
|
|
85043
|
-
}
|
|
85044
|
-
/**
|
|
85045
|
-
* Basic ProseMirror styles.
|
|
85046
|
-
* https://github.com/ProseMirror/prosemirror-view/blob/master/style/prosemirror.css
|
|
85047
|
-
*/
|
|
85048
|
-
.ProseMirror {
|
|
85049
|
-
position: relative;
|
|
85050
|
-
}
|
|
85051
|
-
.ProseMirror {
|
|
85052
|
-
word-wrap: break-word;
|
|
85053
|
-
white-space: pre-wrap;
|
|
85054
|
-
white-space: break-spaces;
|
|
85055
|
-
-webkit-font-variant-ligatures: none;
|
|
85056
|
-
font-variant-ligatures: none;
|
|
85057
|
-
font-feature-settings: 'liga' 0; /* the above doesn't seem to work in Edge */
|
|
85058
|
-
}
|
|
85059
|
-
.ProseMirror pre {
|
|
85060
|
-
white-space: pre-wrap;
|
|
85061
|
-
}
|
|
85062
|
-
.ProseMirror ol,
|
|
85063
|
-
.ProseMirror ul {
|
|
85064
|
-
margin-block-start: 0;
|
|
85065
|
-
margin-block-end: 0;
|
|
85066
|
-
margin-inline-start: 0;
|
|
85067
|
-
margin-inline-end: 0;
|
|
85068
|
-
}
|
|
85069
|
-
.ProseMirror ol,
|
|
85070
|
-
.ProseMirror ul {
|
|
85071
|
-
padding-inline-start: 0;
|
|
85072
|
-
padding-left: 0;
|
|
85073
|
-
list-style: none;
|
|
85074
|
-
}
|
|
85075
|
-
.ProseMirror li::marker {
|
|
85076
|
-
content: none;
|
|
85077
|
-
}
|
|
85078
|
-
.ProseMirror li::marker {
|
|
85079
|
-
padding: 0;
|
|
85080
|
-
margin: 0;
|
|
85081
|
-
}
|
|
85082
|
-
.ProseMirror li > p {
|
|
85083
|
-
margin: 0;
|
|
85084
|
-
padding: 0;
|
|
85085
|
-
display: inline-block;
|
|
85086
|
-
}
|
|
85087
|
-
.ProseMirror.header-footer-edit > p img,
|
|
85088
|
-
.ProseMirror.header-footer-edit > p a,
|
|
85089
|
-
.ProseMirror.header-footer-edit li img,
|
|
85090
|
-
.ProseMirror.header-footer-edit li a,
|
|
85091
|
-
.ProseMirror.header-footer-edit span img,
|
|
85092
|
-
.ProseMirror.header-footer-edit span a {
|
|
85093
|
-
opacity: 1;
|
|
85094
|
-
}
|
|
85095
|
-
.ProseMirror.header-footer-edit .pagination-break-wrapper {
|
|
85096
|
-
color: initial !important;
|
|
85097
|
-
}
|
|
85098
|
-
.ProseMirror.header-footer-edit .pagination-break-wrapper span {
|
|
85099
|
-
color: initial !important;
|
|
85100
|
-
}
|
|
85101
|
-
.ProseMirror.header-footer-edit .pagination-break-wrapper img,
|
|
85102
|
-
.ProseMirror.header-footer-edit .pagination-break-wrapper a {
|
|
85103
|
-
opacity: 1;
|
|
85104
|
-
}
|
|
85105
|
-
.pagination-section-header div[contenteditable='false'] {
|
|
85106
|
-
user-select: none;
|
|
85107
|
-
}
|
|
85108
|
-
/**
|
|
85109
|
-
* Hide marker for indented lists.
|
|
85110
|
-
* If a list-item contains a list but doesn't contain a "p" tag with text.
|
|
85111
|
-
*/
|
|
85112
|
-
.ProseMirror ol {
|
|
85113
|
-
margin: 0;
|
|
85114
|
-
}
|
|
85115
|
-
.ProseMirror li:has(> ul:first-child, > ol:first-child):not(:has(> p)) {
|
|
85116
|
-
list-style-type: none;
|
|
85117
|
-
}
|
|
85118
|
-
.ProseMirror li:has(> ul:first-child, > ol:first-child):not(:has(> p))::marker {
|
|
85119
|
-
content: '';
|
|
85120
|
-
}
|
|
85121
|
-
.ProseMirror-hideselection *::selection {
|
|
85122
|
-
background: transparent;
|
|
85123
|
-
}
|
|
85124
|
-
.ProseMirror-hideselection *::-moz-selection {
|
|
85125
|
-
background: transparent;
|
|
85126
|
-
}
|
|
85127
|
-
.ProseMirror-hideselection * {
|
|
85128
|
-
caret-color: transparent;
|
|
85129
|
-
}
|
|
85130
|
-
/* See https://github.com/ProseMirror/prosemirror/issues/1421#issuecomment-1759320191 */
|
|
85131
|
-
.ProseMirror [draggable][contenteditable='false'] {
|
|
85132
|
-
user-select: text;
|
|
85133
|
-
}
|
|
85134
|
-
.ProseMirror-selectednode {
|
|
85135
|
-
outline: 2px solid #8cf;
|
|
85136
|
-
}
|
|
85137
|
-
/* Make sure li selections wrap around markers */
|
|
85138
|
-
li.ProseMirror-selectednode {
|
|
85139
|
-
outline: none;
|
|
85140
|
-
}
|
|
85141
|
-
li.ProseMirror-selectednode:after {
|
|
85142
|
-
content: '';
|
|
85143
|
-
position: absolute;
|
|
85144
|
-
left: -32px;
|
|
85145
|
-
right: -2px;
|
|
85146
|
-
top: -2px;
|
|
85147
|
-
bottom: -2px;
|
|
85148
|
-
border: 2px solid #8cf;
|
|
85149
|
-
pointer-events: none;
|
|
85150
|
-
}
|
|
85151
|
-
.ProseMirror img {
|
|
85152
|
-
height: auto;
|
|
85153
|
-
max-width: 100%;
|
|
85154
|
-
}
|
|
85155
|
-
/* Protect against generic img rules */
|
|
85156
|
-
img.ProseMirror-separator {
|
|
85157
|
-
display: inline !important;
|
|
85158
|
-
border: none !important;
|
|
85159
|
-
margin: 0 !important;
|
|
85160
|
-
}
|
|
85161
|
-
.ProseMirror .sd-editor-tab {
|
|
85162
|
-
display: inline-block;
|
|
85163
|
-
vertical-align: text-bottom;
|
|
85164
|
-
}
|
|
85165
|
-
.ProseMirror u .sd-editor-tab:not(.pagination-inner .sd-editor-tab) {
|
|
85166
|
-
white-space: pre;
|
|
85167
|
-
border-bottom: 1px solid #000;
|
|
85168
|
-
margin-bottom: 1.5px;
|
|
85169
|
-
}
|
|
85170
|
-
/*
|
|
85171
|
-
Tables
|
|
85172
|
-
https://github.com/ProseMirror/prosemirror-tables/blob/master/style/tables.css
|
|
85173
|
-
https://github.com/ProseMirror/prosemirror-tables/blob/master/demo/index.html
|
|
85174
|
-
*/
|
|
85175
|
-
.ProseMirror.resize-cursor {
|
|
85176
|
-
cursor: ew-resize;
|
|
85177
|
-
cursor: col-resize;
|
|
85178
|
-
}
|
|
85179
|
-
.ProseMirror .tableWrapper {
|
|
85180
|
-
--table-border-width: 1px;
|
|
85181
|
-
--offset: 2px;
|
|
85182
|
-
|
|
85183
|
-
overflow-x: auto;
|
|
85184
|
-
scrollbar-width: thin;
|
|
85185
|
-
overflow: hidden;
|
|
85186
|
-
|
|
85187
|
-
/*
|
|
85188
|
-
The border width does not need to be multiplied by two,
|
|
85189
|
-
for tables it works differently. */
|
|
85190
|
-
width: calc(100% + (var(--table-border-width) + var(--offset)));
|
|
85191
|
-
}
|
|
85192
|
-
.ProseMirror table {
|
|
85193
|
-
border-collapse: collapse;
|
|
85194
|
-
border-spacing: 0;
|
|
85195
|
-
table-layout: fixed;
|
|
85196
|
-
margin: 0;
|
|
85197
|
-
/* width: 100%; */
|
|
85198
|
-
}
|
|
85199
|
-
.ProseMirror tr {
|
|
85200
|
-
position: relative;
|
|
85201
|
-
}
|
|
85202
|
-
.ProseMirror td,
|
|
85203
|
-
.ProseMirror th {
|
|
85204
|
-
min-width: 1em;
|
|
85205
|
-
position: relative;
|
|
85206
|
-
vertical-align: top;
|
|
85207
|
-
box-sizing: border-box;
|
|
85208
|
-
overflow-wrap: anywhere;
|
|
85209
|
-
}
|
|
85210
|
-
.ProseMirror th {
|
|
85211
|
-
font-weight: bold;
|
|
85212
|
-
text-align: left;
|
|
85213
|
-
}
|
|
85214
|
-
.ProseMirror table .column-resize-handle {
|
|
85215
|
-
position: absolute;
|
|
85216
|
-
right: -2px;
|
|
85217
|
-
top: 0;
|
|
85218
|
-
bottom: -2px; /* 0 */
|
|
85219
|
-
width: 4px;
|
|
85220
|
-
z-index: 20;
|
|
85221
|
-
background-color: #adf;
|
|
85222
|
-
pointer-events: none;
|
|
85223
|
-
}
|
|
85224
|
-
.ProseMirror table .selectedCell:after {
|
|
85225
|
-
position: absolute;
|
|
85226
|
-
content: '';
|
|
85227
|
-
left: 0;
|
|
85228
|
-
right: 0;
|
|
85229
|
-
top: 0;
|
|
85230
|
-
bottom: 0;
|
|
85231
|
-
background: rgba(200, 200, 255, 0.4);
|
|
85232
|
-
pointer-events: none;
|
|
85233
|
-
z-index: 2;
|
|
85234
|
-
}
|
|
85235
|
-
/* Tables - end */
|
|
85236
|
-
/* Track changes */
|
|
85237
|
-
.ProseMirror .track-insert-dec,
|
|
85238
|
-
.ProseMirror .track-delete-dec,
|
|
85239
|
-
.ProseMirror .track-format-dec {
|
|
85240
|
-
pointer-events: none;
|
|
85241
|
-
}
|
|
85242
|
-
.ProseMirror .track-insert-dec.hidden,
|
|
85243
|
-
.ProseMirror .track-delete-dec.hidden {
|
|
85244
|
-
display: none;
|
|
85245
|
-
}
|
|
85246
|
-
.ProseMirror .track-insert-dec.highlighted {
|
|
85247
|
-
border-top: 1px dashed #00853d;
|
|
85248
|
-
border-bottom: 1px dashed #00853d;
|
|
85249
|
-
background-color: #399c7222;
|
|
85250
|
-
}
|
|
85251
|
-
.ProseMirror .track-delete-dec.highlighted {
|
|
85252
|
-
border-top: 1px dashed #cb0e47;
|
|
85253
|
-
border-bottom: 1px dashed #cb0e47;
|
|
85254
|
-
background-color: #cb0e4722;
|
|
85255
|
-
text-decoration: line-through;
|
|
85256
|
-
text-decoration-thickness: 2px;
|
|
85257
|
-
}
|
|
85258
|
-
.ProseMirror .track-format-dec.highlighted {
|
|
85259
|
-
border-bottom: 2px solid gold;
|
|
85260
|
-
}
|
|
85261
|
-
.ProseMirror .track-delete-widget {
|
|
85262
|
-
visibility: hidden;
|
|
85263
|
-
}
|
|
85264
|
-
/* Track changes - end */
|
|
85265
|
-
/* Collaboration cursors */
|
|
85266
|
-
.ProseMirror > .ProseMirror-yjs-cursor:first-child {
|
|
85267
|
-
margin-top: 16px;
|
|
85268
|
-
}
|
|
85269
|
-
.ProseMirror-yjs-cursor {
|
|
85270
|
-
position: relative;
|
|
85271
|
-
margin-left: -1px;
|
|
85272
|
-
margin-right: -1px;
|
|
85273
|
-
border-left: 1px solid black;
|
|
85274
|
-
border-right: 1px solid black;
|
|
85275
|
-
border-color: orange;
|
|
85276
|
-
word-break: normal;
|
|
85277
|
-
pointer-events: none;
|
|
85278
|
-
}
|
|
85279
|
-
.ProseMirror-yjs-cursor > div {
|
|
85280
|
-
position: absolute;
|
|
85281
|
-
top: -1.05em;
|
|
85282
|
-
left: -1px;
|
|
85283
|
-
font-size: 13px;
|
|
85284
|
-
background-color: rgb(250, 129, 0);
|
|
85285
|
-
font-family: serif;
|
|
85286
|
-
font-style: normal;
|
|
85287
|
-
font-weight: normal;
|
|
85288
|
-
line-height: normal;
|
|
85289
|
-
user-select: none;
|
|
85290
|
-
color: white;
|
|
85291
|
-
padding-left: 2px;
|
|
85292
|
-
padding-right: 2px;
|
|
85293
|
-
white-space: nowrap;
|
|
85294
|
-
}
|
|
85295
|
-
/* Collaboration cursors - end */
|
|
85296
|
-
/* Image placeholder */
|
|
85297
|
-
.ProseMirror placeholder {
|
|
85298
|
-
display: inline;
|
|
85299
|
-
border: 1px solid #ccc;
|
|
85300
|
-
color: #ccc;
|
|
85301
|
-
}
|
|
85302
|
-
.ProseMirror placeholder:after {
|
|
85303
|
-
content: '☁';
|
|
85304
|
-
font-size: 200%;
|
|
85305
|
-
line-height: 0.1;
|
|
85306
|
-
font-weight: bold;
|
|
85307
|
-
}
|
|
85308
|
-
/* Gapcursor */
|
|
85309
|
-
.ProseMirror-gapcursor {
|
|
85310
|
-
display: none;
|
|
85311
|
-
pointer-events: none;
|
|
85312
|
-
position: absolute;
|
|
85313
|
-
margin: 0;
|
|
85314
|
-
}
|
|
85315
|
-
.ProseMirror-gapcursor:after {
|
|
85316
|
-
content: '';
|
|
85317
|
-
display: block;
|
|
85318
|
-
position: absolute;
|
|
85319
|
-
top: -2px;
|
|
85320
|
-
width: 20px;
|
|
85321
|
-
border-top: 1px solid black;
|
|
85322
|
-
animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
|
|
85323
|
-
}
|
|
85324
|
-
@keyframes ProseMirror-cursor-blink {
|
|
85325
|
-
to {
|
|
85326
|
-
visibility: hidden;
|
|
85327
|
-
}
|
|
85328
|
-
}
|
|
85329
|
-
.ProseMirror-focused .ProseMirror-gapcursor {
|
|
85330
|
-
display: block;
|
|
85331
|
-
}
|
|
85332
|
-
.ProseMirror div[data-type='contentBlock'] {
|
|
85333
|
-
position: absolute;
|
|
85334
|
-
outline: none;
|
|
85335
|
-
user-select: none;
|
|
85336
|
-
z-index: -1;
|
|
85337
|
-
}
|
|
85338
|
-
.ProseMirror div[data-horizontal-rule='true'] {
|
|
85339
|
-
margin-top: auto;
|
|
85340
|
-
align-self: flex-end;
|
|
85341
|
-
}
|
|
85342
|
-
.sd-editor-dropcap {
|
|
85343
|
-
float: left;
|
|
85344
|
-
display: flex;
|
|
85345
|
-
align-items: baseline;
|
|
85346
|
-
margin-top: -5px;
|
|
85347
|
-
}
|
|
85348
|
-
.ProseMirror-search-match {
|
|
85349
|
-
background-color: #ffff0054;
|
|
85350
|
-
}
|
|
85351
|
-
.ProseMirror-active-search-match {
|
|
85352
|
-
background-color: #ff6a0054;
|
|
85353
|
-
}
|
|
85354
|
-
.ProseMirror span.sd-custom-selection::selection {
|
|
85355
|
-
background: transparent;
|
|
85356
|
-
}
|
|
85357
|
-
.sd-custom-selection {
|
|
85358
|
-
background-color: #d9d9d9;
|
|
85359
|
-
border-radius: 0.1em;
|
|
85360
|
-
}
|
|
85361
|
-
.superdoc-toolbar svg {
|
|
85362
|
-
width: 100%;
|
|
85363
|
-
height: 100%;
|
|
85364
|
-
display: block;
|
|
85365
|
-
fill: currentColor;
|
|
85366
|
-
}
|
|
85367
|
-
.superdoc-toolbar svg path {
|
|
85368
|
-
stroke: currentColor;
|
|
85369
|
-
}
|
|
85370
|
-
.sd-editor-toolbar-dropdown .n-dropdown-option .dropdown-select-icon {
|
|
85371
|
-
display: flex;
|
|
85372
|
-
width: 12px;
|
|
85373
|
-
height: 12px;
|
|
85374
|
-
}
|
|
85375
|
-
/* Custom toolbar styling */
|
|
85376
|
-
/* AI button icon styling with gradient */
|
|
85377
|
-
.toolbar-icon__icon--ai {
|
|
85378
|
-
position: relative;
|
|
85379
|
-
z-index: 1;
|
|
85380
|
-
}
|
|
85381
|
-
.toolbar-icon__icon--ai svg {
|
|
85382
|
-
fill: transparent;
|
|
85383
|
-
}
|
|
85384
|
-
.toolbar-icon__icon--ai::before {
|
|
85385
|
-
content: '';
|
|
85386
|
-
position: absolute;
|
|
85387
|
-
top: 0;
|
|
85388
|
-
left: 0;
|
|
85389
|
-
right: 0;
|
|
85390
|
-
bottom: 0;
|
|
85391
|
-
z-index: -1;
|
|
85392
|
-
background: linear-gradient(
|
|
85393
|
-
270deg,
|
|
85394
|
-
rgba(218, 215, 118, 0.5) -20%,
|
|
85395
|
-
rgba(191, 100, 100, 1) 30%,
|
|
85396
|
-
rgba(77, 82, 217, 1) 60%,
|
|
85397
|
-
rgb(255, 219, 102) 150%
|
|
85398
|
-
);
|
|
85399
|
-
-webkit-mask: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.7-53.3L160 80l-53.3-26.7L80 0 53.3 53.3 0 80l53.3 26.7L80 160zm352 128l-26.7 53.3L352 368l53.3 26.7L432 448l26.7-53.3L512 368l-53.3-26.7L432 288zm70.6-193.8L417.8 9.4C411.5 3.1 403.3 0 395.2 0c-8.2 0-16.4 3.1-22.6 9.4L9.4 372.5c-12.5 12.5-12.5 32.8 0 45.3l84.9 84.9c6.3 6.3 14.4 9.4 22.6 9.4 8.2 0 16.4-3.1 22.6-9.4l363.1-363.2c12.5-12.5 12.5-32.8 0-45.2zM359.5 203.5l-50.9-50.9 86.6-86.6 50.9 50.9-86.6 86.6z'/></svg>")
|
|
85400
|
-
center / contain no-repeat;
|
|
85401
|
-
mask: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.7-53.3L160 80l-53.3-26.7L80 0 53.3 53.3 0 80l53.3 26.7L80 160zm352 128l-26.7 53.3L352 368l53.3 26.7L432 448l26.7-53.3L512 368l-53.3-26.7L432 288zm70.6-193.8L417.8 9.4C411.5 3.1 403.3 0 395.2 0c-8.2 0-16.4 3.1-22.6 9.4L9.4 372.5c-12.5 12.5-12.5 32.8 0 45.3l84.9 84.9c6.3 6.3 14.4 9.4 22.6 9.4 8.2 0 16.4-3.1 22.6-9.4l363.1-363.2c12.5-12.5 12.5-32.8 0-45.2zM359.5 203.5l-50.9-50.9 86.6-86.6 50.9 50.9-86.6 86.6z'/></svg>")
|
|
85402
|
-
center / contain no-repeat;
|
|
85403
|
-
filter: brightness(1.2);
|
|
85404
|
-
transition: filter 0.2s ease;
|
|
85405
|
-
}
|
|
85406
|
-
.toolbar-icon__icon--ai:hover::before {
|
|
85407
|
-
filter: brightness(1.3);
|
|
85408
|
-
}
|
|
85409
|
-
/* AI text appear animation */
|
|
85410
|
-
@keyframes aiTextAppear {
|
|
85411
|
-
from {
|
|
85412
|
-
opacity: 0;
|
|
85413
|
-
transform: translateY(5px);
|
|
85414
|
-
}
|
|
85415
|
-
to {
|
|
85416
|
-
opacity: 1;
|
|
85417
|
-
transform: translateY(0);
|
|
85418
|
-
}
|
|
85419
|
-
}
|
|
85420
|
-
.sd-ai-text-appear {
|
|
85421
|
-
display: inline;
|
|
85422
|
-
opacity: 0;
|
|
85423
|
-
animation: aiTextAppear 0.7s ease-out forwards;
|
|
85424
|
-
animation-fill-mode: both;
|
|
85425
|
-
will-change: opacity, transform;
|
|
85426
|
-
/* Ensure each mark is treated as a separate animation context */
|
|
85427
|
-
contain: content;
|
|
85428
|
-
}
|
|
85429
|
-
.sd-ai-loader {
|
|
85430
|
-
display: flex;
|
|
85431
|
-
justify-content: flex-start;
|
|
85432
|
-
}
|
|
85433
|
-
.sd-ai-loader > img {
|
|
85434
|
-
width: fit-content;
|
|
85435
|
-
height: 40px;
|
|
85436
|
-
}
|
|
85437
|
-
@keyframes ai-pulse {
|
|
85438
|
-
0% {
|
|
85439
|
-
background-color: rgba(99, 102, 241, 0.1);
|
|
85440
|
-
}
|
|
85441
|
-
50% {
|
|
85442
|
-
background-color: rgba(99, 102, 241, 0.375);
|
|
85443
|
-
}
|
|
85444
|
-
100% {
|
|
85445
|
-
background-color: rgba(99, 102, 241, 0.1);
|
|
85446
|
-
}
|
|
85447
|
-
}
|
|
85448
|
-
.sd-ai-highlight-pulse {
|
|
85449
|
-
animation: ai-pulse 1.5s ease-in-out infinite;
|
|
85450
|
-
}
|
|
85451
|
-
.sd-editor-auto-page-number,
|
|
85452
|
-
.sd-editor-auto-total-pages {
|
|
85453
|
-
transition: all 250ms ease;
|
|
85454
|
-
border-bottom: 1px solid #9a9a9a;
|
|
85455
|
-
cursor: not-allowed;
|
|
85456
|
-
}
|
|
85457
|
-
.sd-editor-auto-page-number:hover,
|
|
85458
|
-
.sd-editor-auto-total-pages:hover {
|
|
85459
|
-
border-bottom-color: #4f4f4f;
|
|
85460
|
-
}
|
|
85461
|
-
.sd-editor-auto-page-number-content {
|
|
85462
|
-
pointer-events: none;
|
|
85463
|
-
}
|
|
85464
|
-
.ProseMirror.view-mode .sd-editor-auto-page-number,
|
|
85465
|
-
.ProseMirror.view-mode .sd-editor-auto-total-pages {
|
|
85466
|
-
border: none;
|
|
85467
|
-
}
|
|
85468
|
-
:root {
|
|
85469
|
-
--sd-editor-separator-height: 18px;
|
|
85470
|
-
}
|
|
85471
|
-
.pagination-section-header {
|
|
85472
|
-
cursor: default;
|
|
85473
|
-
}
|
|
85474
|
-
/* To not inherit styles from the wrapper paragraph */
|
|
85475
|
-
.pagination-section-header p {
|
|
85476
|
-
text-align: initial;
|
|
85477
|
-
}
|
|
85478
|
-
.pagination-section-footer {
|
|
85479
|
-
position: relative;
|
|
85480
|
-
width: 100%;
|
|
85481
|
-
min-width: 100%;
|
|
85482
|
-
display: flex;
|
|
85483
|
-
flex-direction: column;
|
|
85484
|
-
justify-content: flex-end;
|
|
85485
|
-
cursor: default;
|
|
85486
|
-
}
|
|
85487
|
-
/* To not inherit styles from the wrapper paragraph */
|
|
85488
|
-
.pagination-section-footer p {
|
|
85489
|
-
text-align: initial;
|
|
85490
|
-
}
|
|
85491
|
-
.pagination-break-wrapper {
|
|
85492
|
-
width: 100%;
|
|
85493
|
-
margin: 0;
|
|
85494
|
-
padding: 0;
|
|
85495
|
-
cursor: default;
|
|
85496
|
-
position: relative;
|
|
85497
|
-
}
|
|
85498
|
-
.pagination-separator {
|
|
85499
|
-
position: relative;
|
|
85500
|
-
display: block;
|
|
85501
|
-
height: var(--sd-editor-separator-height);
|
|
85502
|
-
min-height: var(--sd-editor-separator-height);
|
|
85503
|
-
min-width: 100%;
|
|
85504
|
-
width: 100%;
|
|
85505
|
-
border-top: 1px solid #dbdbdb;
|
|
85506
|
-
border-bottom: 1px solid #dbdbdb;
|
|
85507
|
-
cursor: default;
|
|
85508
|
-
}
|
|
85509
|
-
.pagination-separator--table {
|
|
85510
|
-
border: 0;
|
|
85511
|
-
}
|
|
85512
|
-
.pagination-separator-floating {
|
|
85513
|
-
position: absolute;
|
|
85514
|
-
height: var(--sd-editor-separator-height);
|
|
85515
|
-
border-top: 1px solid #dbdbdb;
|
|
85516
|
-
border-bottom: 1px solid #dbdbdb;
|
|
85517
|
-
pointer-events: none;
|
|
85518
|
-
}
|
|
85519
|
-
.pagination-inner {
|
|
85520
|
-
position: absolute;
|
|
85521
|
-
top: 0;
|
|
85522
|
-
left: 0;
|
|
85523
|
-
display: flex;
|
|
85524
|
-
flex-direction: column;
|
|
85525
|
-
background-color: white;
|
|
85526
|
-
}
|
|
85527
|
-
/**
|
|
85528
|
-
Workaround to display pagination in footer
|
|
85529
|
-
on the right if it is inside shape textbox.
|
|
85530
|
-
*/
|
|
85531
|
-
.pagination-section-footer .sd-editor-shape-container:has([data-id='auto-page-number'], [data-id='auto-total-pages']) {
|
|
85532
|
-
margin-left: auto;
|
|
85533
|
-
}
|
|
85534
|
-
.pagination-section-header img[contenteditable='false'],
|
|
85535
|
-
.pagination-section-footer img[contenteditable='false'] {
|
|
85536
|
-
pointer-events: none;
|
|
85537
|
-
}
|
|
85538
|
-
.pagination-break-wrapper {
|
|
85539
|
-
font-weight: normal;
|
|
85540
|
-
font-style: normal;
|
|
85541
|
-
color: initial;
|
|
85542
|
-
}
|
|
85543
|
-
/* TODO: This is going to be enabled again */
|
|
85544
|
-
/* .pagination-section-header div[contenteditable="false"]:not([documentmode="viewing"]),
|
|
85545
|
-
.pagination-section-footer div[contenteditable="false"]:not([documentmode="viewing"]) {
|
|
85546
|
-
opacity: 0.5;
|
|
85547
|
-
} */
|
|
85548
|
-
.sd-editor-popover {
|
|
85549
|
-
background-color: #fff;
|
|
85550
|
-
border-radius: 8px;
|
|
85551
|
-
-webkit-box-shadow: 0px 4px 12px 0px rgba(50, 50, 50, 0.15);
|
|
85552
|
-
-moz-box-shadow: 0px 4px 12px 0px rgba(50, 50, 50, 0.15);
|
|
85553
|
-
box-shadow: 0px 4px 12px 0px rgba(50, 50, 50, 0.15);
|
|
85554
|
-
padding: 0;
|
|
85555
|
-
width: auto;
|
|
85556
|
-
height: auto;
|
|
85557
|
-
font-size: 14px;
|
|
85558
|
-
color: #333;
|
|
85559
|
-
z-index: 1000;
|
|
85560
|
-
}
|
|
85561
|
-
.sd-editor-popover .popover-header {
|
|
85562
|
-
font-weight: bold;
|
|
85563
|
-
margin-bottom: 8px;
|
|
85564
|
-
}
|
|
85565
|
-
.tippy-box[data-theme~='sd-editor-popover'] {
|
|
85566
|
-
background-color: #fff;
|
|
85567
|
-
border-radius: 8px;
|
|
85568
|
-
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
|
|
85569
|
-
border: none !important;
|
|
85570
|
-
padding: 0 !important;
|
|
85571
|
-
}
|
|
85572
|
-
.tippy-box[data-theme~='sd-editor-popover'] .tippy-arrow {
|
|
85573
|
-
color: #fff;
|
|
85574
|
-
border: 1px solid #dbdbdb;
|
|
85575
|
-
}
|
|
85576
|
-
.tippy-box[data-theme~='sd-editor-popover'] .tippy-content {
|
|
85577
|
-
padding: 0;
|
|
85578
|
-
}
|
|
85579
|
-
.sd-editor-placeholder::before {
|
|
85580
|
-
content: attr(data-placeholder);
|
|
85581
|
-
color: #aaa;
|
|
85582
|
-
pointer-events: none;
|
|
85583
|
-
display: block;
|
|
85584
|
-
height: 0;
|
|
85585
|
-
}
|
|
85586
|
-
.sd-editor-mention {
|
|
85587
|
-
background-color: #1355ff15;
|
|
85588
|
-
color: #222;
|
|
85589
|
-
font-weight: 400;
|
|
85590
|
-
border-radius: 3px;
|
|
85591
|
-
padding: 0 5px;
|
|
85592
|
-
cursor: default;
|
|
85593
|
-
display: inline-block;
|
|
85594
|
-
box-sizing: border-box;
|
|
85595
|
-
}
|
|
85596
|
-
.sd-editor-comment-highlight {
|
|
85597
|
-
transition: background-color 250ms ease;
|
|
85598
|
-
}
|
|
85599
|
-
.sd-editor-comment-highlight:hover {
|
|
85600
|
-
background-color: #1354ff55;
|
|
85601
|
-
}
|
|
85602
|
-
.sd-editor-comment-highlight.sd-custom-selection {
|
|
85603
|
-
background-color: #d6c0c6 !important;
|
|
85604
|
-
}
|
|
85605
|
-
.sd-editor-list-item-node-view {
|
|
85606
|
-
position: relative;
|
|
85607
|
-
width: 100%;
|
|
85608
|
-
}
|
|
85609
|
-
.sd-editor-list-item-numbering {
|
|
85610
|
-
position: absolute;
|
|
85611
|
-
top: 0;
|
|
85612
|
-
white-space: nowrap;
|
|
85613
|
-
user-select: none;
|
|
85614
|
-
pointer-events: auto;
|
|
85615
|
-
text-align: right;
|
|
85616
|
-
z-index: 1;
|
|
85617
|
-
}
|
|
85618
|
-
.sd-editor-list-item-content-dom {
|
|
85619
|
-
position: relative;
|
|
85620
|
-
min-height: inherit;
|
|
85621
|
-
word-wrap: break-word;
|
|
85622
|
-
}
|
|
85623
|
-
/* temporary fix */
|
|
85624
|
-
.sd-editor-list-item-node-view .sd-custom-selection {
|
|
85625
|
-
font-size: inherit !important;
|
|
85626
|
-
}
|
|
85627
|
-
/* Resize handles container */
|
|
85628
|
-
.sd-editor-resize-container {
|
|
85629
|
-
position: absolute;
|
|
85630
|
-
pointer-events: none;
|
|
85631
|
-
z-index: 11;
|
|
85632
|
-
}
|
|
85633
|
-
/* Resize handles */
|
|
85634
|
-
.sd-editor-resize-handle {
|
|
85635
|
-
position: absolute;
|
|
85636
|
-
width: 12px;
|
|
85637
|
-
height: 12px;
|
|
85638
|
-
background-color: #4dabf7;
|
|
85639
|
-
border: 2px solid #fff;
|
|
85640
|
-
border-radius: 50%;
|
|
85641
|
-
box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
|
|
85642
|
-
pointer-events: auto;
|
|
85643
|
-
transition: all 0.1s ease;
|
|
85644
|
-
}
|
|
85645
|
-
.sd-editor-resize-handle:hover {
|
|
85646
|
-
background-color: #228be6;
|
|
85647
|
-
transform: scale(1.1);
|
|
85648
|
-
box-shadow: 0 0 6px rgba(0, 0, 0, 0.4);
|
|
85649
|
-
}
|
|
85650
|
-
/* Handle positions */
|
|
85651
|
-
.sd-editor-resize-handle-nw {
|
|
85652
|
-
top: -6px;
|
|
85653
|
-
left: -6px;
|
|
85654
|
-
cursor: nwse-resize;
|
|
85655
|
-
}
|
|
85656
|
-
.sd-editor-resize-handle-ne {
|
|
85657
|
-
top: -6px;
|
|
85658
|
-
right: -6px;
|
|
85659
|
-
cursor: nesw-resize;
|
|
85660
|
-
}
|
|
85661
|
-
.sd-editor-resize-handle-sw {
|
|
85662
|
-
bottom: -6px;
|
|
85663
|
-
left: -6px;
|
|
85664
|
-
cursor: nesw-resize;
|
|
85665
|
-
}
|
|
85666
|
-
.sd-editor-resize-handle-se {
|
|
85667
|
-
bottom: -6px;
|
|
85668
|
-
right: -6px;
|
|
85669
|
-
cursor: nwse-resize;
|
|
85670
|
-
}
|
|
85671
|
-
/* Hide handles when editor loses focus */
|
|
85672
|
-
.ProseMirror:not(.ProseMirror-focused) .sd-editor-resize-container {
|
|
85673
|
-
display: none;
|
|
85674
|
-
}
|
|
85675
|
-
/* Smooth transitions for resizing */
|
|
85676
|
-
.sd-editor-resizable-wrapper * {
|
|
85677
|
-
transition: none;
|
|
85678
|
-
}
|
|
85679
|
-
.sd-editor-resizable-wrapper *:not([style*='width']) {
|
|
85680
|
-
transition: all 0.2s ease;
|
|
85681
|
-
}
|
|
85682
|
-
/* Resize feedback indicator */
|
|
85683
|
-
.sd-editor-resizable-wrapper::after {
|
|
85684
|
-
content: 'Drag corners to resize';
|
|
85685
|
-
position: absolute;
|
|
85686
|
-
bottom: -25px;
|
|
85687
|
-
left: 50%;
|
|
85688
|
-
transform: translateX(-50%);
|
|
85689
|
-
background-color: rgba(77, 171, 247, 0.9);
|
|
85690
|
-
color: white;
|
|
85691
|
-
font-size: 11px;
|
|
85692
|
-
padding: 4px 8px;
|
|
85693
|
-
border-radius: 4px;
|
|
85694
|
-
white-space: nowrap;
|
|
85695
|
-
pointer-events: none;
|
|
85696
|
-
opacity: 0;
|
|
85697
|
-
transition: opacity 0.3s ease;
|
|
85698
|
-
z-index: 12;
|
|
85699
|
-
}
|
|
85700
|
-
.sd-editor-resizable-wrapper:hover::after {
|
|
85701
|
-
opacity: 1;
|
|
85702
|
-
}
|
|
85703
|
-
.sd-document-section-block {
|
|
85704
|
-
background-color: #fafafa;
|
|
85705
|
-
border: 1px solid #ababab;
|
|
85706
|
-
border-radius: 4px;
|
|
85707
|
-
position: relative;
|
|
85708
|
-
}
|
|
85709
|
-
.sd-document-section-block-info {
|
|
85710
|
-
position: absolute;
|
|
85711
|
-
top: -19px;
|
|
85712
|
-
left: -1px;
|
|
85713
|
-
max-width: 100px;
|
|
85714
|
-
min-width: 0;
|
|
85715
|
-
height: 18px;
|
|
85716
|
-
border: 1px solid #ababab;
|
|
85717
|
-
border-bottom: none;
|
|
85718
|
-
border-radius: 6px 6px 0 0;
|
|
85719
|
-
padding: 0 8px;
|
|
85720
|
-
align-items: center;
|
|
85721
|
-
font-size: 10px;
|
|
85722
|
-
display: none;
|
|
85723
|
-
z-index: 100;
|
|
85724
|
-
background-color: #fafafa;
|
|
85725
|
-
}
|
|
85726
|
-
.sd-document-section-block:hover {
|
|
85727
|
-
border-radius: 0 4px 4px 4px;
|
|
85728
|
-
}
|
|
85729
|
-
.sd-document-section-block:hover .sd-document-section-block-info {
|
|
85730
|
-
display: flex;
|
|
85731
|
-
align-items: center;
|
|
85732
|
-
}
|
|
85733
|
-
.sd-document-section-block-info span {
|
|
85734
|
-
max-width: 100%;
|
|
85735
|
-
overflow: hidden;
|
|
85736
|
-
white-space: nowrap;
|
|
85737
|
-
text-overflow: ellipsis;
|
|
85738
|
-
}
|
|
85739
|
-
.sd-structured-content,
|
|
85740
|
-
.sd-structured-content-block {
|
|
85741
|
-
padding: 1px;
|
|
85742
|
-
box-sizing: border-box;
|
|
85743
|
-
border-radius: 4px;
|
|
85744
|
-
border: 1px solid #629be7;
|
|
85745
|
-
position: relative;
|
|
85746
|
-
}
|
|
85747
|
-
.sd-structured-content-draggable {
|
|
85748
|
-
font-size: 10px;
|
|
85749
|
-
align-items: center;
|
|
85750
|
-
justify-content: center;
|
|
85751
|
-
position: absolute;
|
|
85752
|
-
left: 2px;
|
|
85753
|
-
bottom: 100%;
|
|
85754
|
-
width: calc(100% - 4px);
|
|
85755
|
-
max-width: 110px;
|
|
85756
|
-
min-width: 0;
|
|
85757
|
-
height: 18px;
|
|
85758
|
-
padding: 0 4px;
|
|
85759
|
-
border: 1px solid #629be7;
|
|
85760
|
-
border-bottom: none;
|
|
85761
|
-
border-radius: 6px 6px 0 0;
|
|
85762
|
-
background-color: #629be7dd;
|
|
85763
|
-
z-index: 10;
|
|
85764
|
-
cursor: grab;
|
|
85765
|
-
display: none;
|
|
85766
|
-
}
|
|
85767
|
-
.sd-structured-content-draggable span {
|
|
85768
|
-
max-width: 100%;
|
|
85769
|
-
overflow: hidden;
|
|
85770
|
-
white-space: nowrap;
|
|
85771
|
-
text-overflow: ellipsis;
|
|
85772
|
-
}
|
|
85773
|
-
.sd-structured-content:hover .sd-structured-content-draggable,
|
|
85774
|
-
.sd-structured-content-block:hover .sd-structured-content-draggable {
|
|
85775
|
-
display: inline-flex;
|
|
85776
|
-
}
|
|
85777
|
-
`;
|
|
85778
|
-
let cachedStyleSheet = null;
|
|
85779
|
-
const defaultEditorStyles = editorStyles;
|
|
85780
|
-
let shadowEditorStyles = defaultEditorStyles;
|
|
85781
|
-
const supportsConstructableStylesheets = () => {
|
|
85782
|
-
const DocumentCtor = (
|
|
85783
|
-
/** @type {typeof Document | undefined} */
|
|
85784
|
-
globalThis.Document
|
|
85785
|
-
);
|
|
85786
|
-
const CSSStyleSheetCtor = (
|
|
85787
|
-
/** @type {typeof CSSStyleSheet | undefined} */
|
|
85788
|
-
globalThis.CSSStyleSheet
|
|
85789
|
-
);
|
|
85790
|
-
if (!DocumentCtor || !CSSStyleSheetCtor) return false;
|
|
85791
|
-
const documentPrototype = DocumentCtor.prototype;
|
|
85792
|
-
const styleSheetPrototype = CSSStyleSheetCtor.prototype;
|
|
85793
|
-
return !!documentPrototype && "adoptedStyleSheets" in documentPrototype && !!styleSheetPrototype && typeof styleSheetPrototype.replaceSync === "function";
|
|
85794
|
-
};
|
|
85795
|
-
const ensureStyleSheet = (root2) => {
|
|
85796
|
-
if (!root2 || !shadowEditorStyles) return;
|
|
85797
|
-
if (supportsConstructableStylesheets()) {
|
|
85798
|
-
if (!cachedStyleSheet) {
|
|
85799
|
-
const CSSStyleSheetCtor = (
|
|
85800
|
-
/** @type {typeof CSSStyleSheet} */
|
|
85801
|
-
globalThis.CSSStyleSheet
|
|
85802
|
-
);
|
|
85803
|
-
cachedStyleSheet = new CSSStyleSheetCtor();
|
|
85804
|
-
cachedStyleSheet.replaceSync(shadowEditorStyles);
|
|
85805
|
-
}
|
|
85806
|
-
const sheets = Array.isArray(root2.adoptedStyleSheets) ? root2.adoptedStyleSheets : [];
|
|
85807
|
-
if (!sheets.includes(cachedStyleSheet)) {
|
|
85808
|
-
root2.adoptedStyleSheets = [...sheets, cachedStyleSheet];
|
|
85809
|
-
}
|
|
85810
|
-
return;
|
|
85811
|
-
}
|
|
85812
|
-
const doc2 = (
|
|
85813
|
-
/** @type {Document | undefined} */
|
|
85814
|
-
globalThis.document
|
|
85815
|
-
);
|
|
85816
|
-
if (!doc2 || typeof root2.querySelector !== "function") return;
|
|
85817
|
-
if (!root2.querySelector("style[data-super-editor-styles]")) {
|
|
85818
|
-
const styleEl = doc2.createElement("style");
|
|
85819
|
-
styleEl.setAttribute("data-super-editor-styles", "");
|
|
85820
|
-
styleEl.textContent = shadowEditorStyles;
|
|
85821
|
-
root2.appendChild(styleEl);
|
|
85822
|
-
}
|
|
85823
|
-
};
|
|
85824
|
-
const ensureEditorShadowRoot = (hostElement) => {
|
|
85825
|
-
const doc2 = (
|
|
85826
|
-
/** @type {Document | undefined} */
|
|
85827
|
-
globalThis.document
|
|
85828
|
-
);
|
|
85829
|
-
if (!hostElement || !doc2 || typeof hostElement.attachShadow !== "function") {
|
|
85830
|
-
return { root: null, mount: null };
|
|
85831
|
-
}
|
|
85832
|
-
const root2 = hostElement.shadowRoot || hostElement.attachShadow({ mode: "open" });
|
|
85833
|
-
ensureStyleSheet(root2);
|
|
85834
|
-
let mount2 = root2.querySelector(".sd-editor-mount");
|
|
85835
|
-
if (!mount2) {
|
|
85836
|
-
mount2 = doc2.createElement("div");
|
|
85837
|
-
mount2.className = "sd-editor-mount";
|
|
85838
|
-
root2.appendChild(mount2);
|
|
85839
|
-
}
|
|
85840
|
-
return { root: root2, mount: mount2 };
|
|
85841
|
-
};
|
|
85842
85003
|
const _hoisted_1$1 = { class: "super-editor-container" };
|
|
85843
85004
|
const _hoisted_2 = {
|
|
85844
85005
|
key: 1,
|
|
@@ -85877,7 +85038,6 @@ const _sfc_main$1 = {
|
|
|
85877
85038
|
const message = useMessage();
|
|
85878
85039
|
const editorWrapper = vue.ref(null);
|
|
85879
85040
|
const editorElem = vue.ref(null);
|
|
85880
|
-
const editorMountPoint = vue.shallowRef(null);
|
|
85881
85041
|
const fileSource = vue.ref(null);
|
|
85882
85042
|
const popoverControls = vue.reactive({
|
|
85883
85043
|
visible: false,
|
|
@@ -85966,15 +85126,9 @@ const _sfc_main$1 = {
|
|
|
85966
85126
|
return extensions;
|
|
85967
85127
|
};
|
|
85968
85128
|
const initEditor = async ({ content, media = {}, mediaFiles = {}, fonts = {} } = {}) => {
|
|
85969
|
-
if (!editorElem.value) return;
|
|
85970
|
-
const { mount: mount2 } = ensureEditorShadowRoot(editorElem.value);
|
|
85971
|
-
editorMountPoint.value = mount2;
|
|
85972
|
-
if (editorMountPoint.value) {
|
|
85973
|
-
editorMountPoint.value.innerHTML = "";
|
|
85974
|
-
}
|
|
85975
85129
|
editor.value = new Editor({
|
|
85976
85130
|
mode: "docx",
|
|
85977
|
-
element:
|
|
85131
|
+
element: editorElem.value,
|
|
85978
85132
|
fileSource: fileSource.value,
|
|
85979
85133
|
extensions: getExtensions(),
|
|
85980
85134
|
externalExtensions: props.options.externalExtensions,
|
|
@@ -86021,12 +85175,11 @@ const _sfc_main$1 = {
|
|
|
86021
85175
|
};
|
|
86022
85176
|
const handleSuperEditorClick = (event) => {
|
|
86023
85177
|
emit("editor-click", { editor: editor.value });
|
|
86024
|
-
|
|
85178
|
+
let pmElement = editorElem.value?.querySelector(".ProseMirror");
|
|
86025
85179
|
if (!pmElement || !editor.value) {
|
|
86026
85180
|
return;
|
|
86027
85181
|
}
|
|
86028
|
-
|
|
86029
|
-
const isInsideEditor = eventPath.includes(pmElement);
|
|
85182
|
+
let isInsideEditor = pmElement.contains(event.target);
|
|
86030
85183
|
if (!isInsideEditor && editor.value.isEditable) {
|
|
86031
85184
|
editor.value.view?.focus();
|
|
86032
85185
|
}
|
|
@@ -86039,9 +85192,7 @@ const _sfc_main$1 = {
|
|
|
86039
85192
|
if (props.options?.suppressSkeletonLoader || !props.options?.collaborationProvider) editorReady.value = true;
|
|
86040
85193
|
});
|
|
86041
85194
|
const handleMarginClick = (event) => {
|
|
86042
|
-
|
|
86043
|
-
const eventPath = event.composedPath?.() || [];
|
|
86044
|
-
if (pmElement && eventPath.includes(pmElement)) return;
|
|
85195
|
+
if (event.target.classList.contains("ProseMirror")) return;
|
|
86045
85196
|
onMarginClickCursorChange(event, editor.value);
|
|
86046
85197
|
};
|
|
86047
85198
|
const handleMarginChange = ({ side, value }) => {
|
|
@@ -86147,7 +85298,7 @@ const _sfc_main$1 = {
|
|
|
86147
85298
|
};
|
|
86148
85299
|
}
|
|
86149
85300
|
};
|
|
86150
|
-
const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-
|
|
85301
|
+
const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-0c36dd72"]]);
|
|
86151
85302
|
const _hoisted_1 = ["innerHTML"];
|
|
86152
85303
|
const _sfc_main = {
|
|
86153
85304
|
__name: "SuperInput",
|
|
@@ -86177,7 +85328,6 @@ const _sfc_main = {
|
|
|
86177
85328
|
const props = __props;
|
|
86178
85329
|
const editor = vue.shallowRef();
|
|
86179
85330
|
const editorElem = vue.ref(null);
|
|
86180
|
-
const editorMountPoint = vue.shallowRef(null);
|
|
86181
85331
|
const isFocused = vue.ref(false);
|
|
86182
85332
|
const onTransaction = ({ editor: editor2, transaction }) => {
|
|
86183
85333
|
const contents = editor2.getHTML();
|
|
@@ -86197,15 +85347,10 @@ const _sfc_main = {
|
|
|
86197
85347
|
props.options.onTransaction = onTransaction;
|
|
86198
85348
|
props.options.onFocus = onFocus;
|
|
86199
85349
|
props.options.onBlur = onBlur;
|
|
86200
|
-
const { mount: mount2 } = ensureEditorShadowRoot(editorElem.value);
|
|
86201
|
-
editorMountPoint.value = mount2;
|
|
86202
|
-
if (editorMountPoint.value) {
|
|
86203
|
-
editorMountPoint.value.innerHTML = "";
|
|
86204
|
-
}
|
|
86205
85350
|
editor.value = new Editor({
|
|
86206
85351
|
mode: "text",
|
|
86207
85352
|
content: document.getElementById("currentContent"),
|
|
86208
|
-
element:
|
|
85353
|
+
element: editorElem.value,
|
|
86209
85354
|
extensions: getRichTextExtensions(),
|
|
86210
85355
|
users: props.users,
|
|
86211
85356
|
...props.options
|
|
@@ -86244,35 +85389,77 @@ const _sfc_main = {
|
|
|
86244
85389
|
};
|
|
86245
85390
|
}
|
|
86246
85391
|
};
|
|
86247
|
-
const SuperInput = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
86248
|
-
const
|
|
86249
|
-
|
|
85392
|
+
const SuperInput = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4d5cff52"]]);
|
|
85393
|
+
const additionalHandlers = Object.freeze({
|
|
85394
|
+
"mc:AlternateContent": translator,
|
|
85395
|
+
"w:b": translator$12,
|
|
85396
|
+
"w:bidiVisual": translator$F,
|
|
85397
|
+
"w:bookmarkEnd": translator$1,
|
|
85398
|
+
"w:bookmarkStart": translator$2,
|
|
85399
|
+
"w:bottom": translator$s,
|
|
86250
85400
|
"w:br": translator$16,
|
|
86251
85401
|
"w:cantSplit": translator$T,
|
|
86252
85402
|
"w:cnfStyle": translator$S,
|
|
85403
|
+
"w:color": translator$_,
|
|
86253
85404
|
"w:divId": translator$R,
|
|
85405
|
+
"w:drawing": translator$4,
|
|
85406
|
+
"w:end": translator$q,
|
|
86254
85407
|
"w:gridAfter": translator$Q,
|
|
86255
85408
|
"w:gridBefore": translator$P,
|
|
85409
|
+
"w:gridCol": translator$b,
|
|
86256
85410
|
"w:hidden": translator$O,
|
|
85411
|
+
"w:highlight": translator$15,
|
|
86257
85412
|
"w:hyperlink": translator$7,
|
|
85413
|
+
"w:i": translator$11,
|
|
85414
|
+
"w:insideH": translator$o,
|
|
85415
|
+
"w:insideV": translator$n,
|
|
86258
85416
|
"w:jc": translator$N,
|
|
85417
|
+
"w:left": translator$m,
|
|
86259
85418
|
"w:p": translator$13,
|
|
86260
85419
|
"w:r": translator$U,
|
|
85420
|
+
"w:rFonts": translator$Z,
|
|
86261
85421
|
"w:rPr": translator$V,
|
|
85422
|
+
"w:rStyle": translator$Y,
|
|
85423
|
+
"w:right": translator$k,
|
|
86262
85424
|
"w:sdt": translator$3,
|
|
85425
|
+
"w:shd": translator$E,
|
|
85426
|
+
"w:start": translator$i,
|
|
85427
|
+
"w:strike": translator$$,
|
|
85428
|
+
"w:sz": translator$X,
|
|
85429
|
+
"w:szCs": translator$W,
|
|
86263
85430
|
"w:tab": translator$14,
|
|
85431
|
+
"w:tbl": translator$9,
|
|
85432
|
+
"w:tblBorders": translator$e,
|
|
85433
|
+
"w:tblCaption": translator$D,
|
|
85434
|
+
"w:tblCellMar": translator$d,
|
|
86264
85435
|
"w:tblCellSpacing": translator$M,
|
|
85436
|
+
"w:tblDescription": translator$C,
|
|
85437
|
+
"w:tblGrid": translator$a,
|
|
86265
85438
|
"w:tblHeader": translator$L,
|
|
85439
|
+
"w:tblInd": translator$B,
|
|
85440
|
+
"w:tblLayout": translator$A,
|
|
85441
|
+
"w:tblLook": translator$z,
|
|
85442
|
+
"w:tblOverlap": translator$y,
|
|
85443
|
+
"w:tblPr": translator$c,
|
|
85444
|
+
"w:tblStyle": translator$x,
|
|
85445
|
+
"w:tblStyleColBandSize": translator$w,
|
|
85446
|
+
"w:tblStyleRowBandSize": translator$v,
|
|
85447
|
+
"w:tblW": translator$u,
|
|
85448
|
+
"w:tblpPr": translator$t,
|
|
86266
85449
|
"w:tc": translator$8,
|
|
85450
|
+
"w:top": translator$g,
|
|
86267
85451
|
"w:tr": translator$G,
|
|
86268
85452
|
"w:trHeight": translator$K,
|
|
86269
85453
|
"w:trPr": translator$H,
|
|
85454
|
+
"w:u": translator$10,
|
|
86270
85455
|
"w:wAfter": translator$J,
|
|
86271
85456
|
"w:wBefore": translator$I,
|
|
86272
85457
|
"wp:anchor": translator$6,
|
|
86273
|
-
"wp:inline": translator$5
|
|
86274
|
-
|
|
86275
|
-
|
|
85458
|
+
"wp:inline": translator$5
|
|
85459
|
+
});
|
|
85460
|
+
const baseHandlers = {
|
|
85461
|
+
...runPropertyTranslators,
|
|
85462
|
+
...additionalHandlers
|
|
86276
85463
|
};
|
|
86277
85464
|
const registeredHandlers = Object.freeze(baseHandlers);
|
|
86278
85465
|
const Extensions = {
|