@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
|
@@ -47929,11 +47929,9 @@ const toggleHeaderFooterEditMode = ({ editor, focusedSectionEditor, isEditMode,
|
|
|
47929
47929
|
item.editor.view.dom.setAttribute("documentmode", documentMode);
|
|
47930
47930
|
});
|
|
47931
47931
|
if (isEditMode) {
|
|
47932
|
-
const pm =
|
|
47933
|
-
|
|
47934
|
-
|
|
47935
|
-
pm.setAttribute("aria-readonly", true);
|
|
47936
|
-
}
|
|
47932
|
+
const pm = document.querySelector(".ProseMirror");
|
|
47933
|
+
pm.classList.add("header-footer-edit");
|
|
47934
|
+
pm.setAttribute("aria-readonly", true);
|
|
47937
47935
|
}
|
|
47938
47936
|
if (focusedSectionEditor) {
|
|
47939
47937
|
focusedSectionEditor.view.focus();
|
|
@@ -50545,7 +50543,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
|
|
|
50545
50543
|
setDocumentMode(documentMode) {
|
|
50546
50544
|
let cleanedMode = documentMode?.toLowerCase() || "editing";
|
|
50547
50545
|
if (!this.extensionService || !this.state) return;
|
|
50548
|
-
const pm =
|
|
50546
|
+
const pm = document.querySelector(".ProseMirror");
|
|
50549
50547
|
if (this.options.role === "viewer") cleanedMode = "viewing";
|
|
50550
50548
|
if (this.options.role === "suggester" && cleanedMode === "editing") cleanedMode = "suggesting";
|
|
50551
50549
|
if (cleanedMode === "viewing") {
|
|
@@ -50775,6 +50773,8 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
|
|
|
50775
50773
|
element.style.isolation = "isolate";
|
|
50776
50774
|
proseMirror.style.outline = "none";
|
|
50777
50775
|
proseMirror.style.border = "none";
|
|
50776
|
+
element.style.backgroundColor = "#fff";
|
|
50777
|
+
proseMirror.style.backgroundColor = "#fff";
|
|
50778
50778
|
const { typeface, fontSizePt, fontFamilyCss } = this.converter.getDocumentDefaultStyles() ?? {};
|
|
50779
50779
|
const resolvedFontFamily = fontFamilyCss || typeface;
|
|
50780
50780
|
if (resolvedFontFamily) {
|
|
@@ -51517,11 +51517,9 @@ createView_fn = function(element) {
|
|
|
51517
51517
|
isEditMode: false,
|
|
51518
51518
|
documentMode: this.options.documentMode
|
|
51519
51519
|
});
|
|
51520
|
-
const pm =
|
|
51521
|
-
|
|
51522
|
-
|
|
51523
|
-
pm.setAttribute("aria-readonly", false);
|
|
51524
|
-
}
|
|
51520
|
+
const pm = document.querySelector(".ProseMirror");
|
|
51521
|
+
pm.classList.remove("header-footer-edit");
|
|
51522
|
+
pm.setAttribute("aria-readonly", false);
|
|
51525
51523
|
}
|
|
51526
51524
|
setWordSelection(view, pos);
|
|
51527
51525
|
}
|
|
@@ -53577,6 +53575,14 @@ const intToJapaneseCounting = (num) => {
|
|
|
53577
53575
|
return result;
|
|
53578
53576
|
};
|
|
53579
53577
|
const CustomSelectionPluginKey = new PluginKey("CustomSelection");
|
|
53578
|
+
const shouldAllowNativeContextMenu = (event) => {
|
|
53579
|
+
if (!event) return false;
|
|
53580
|
+
if (event.ctrlKey || event.metaKey) {
|
|
53581
|
+
return true;
|
|
53582
|
+
}
|
|
53583
|
+
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;
|
|
53584
|
+
return Boolean(isKeyboardInvocation);
|
|
53585
|
+
};
|
|
53580
53586
|
const handleClickOutside = (event, editor) => {
|
|
53581
53587
|
const editorElem = editor?.options?.element;
|
|
53582
53588
|
if (!editorElem) return;
|
|
@@ -53638,6 +53644,9 @@ const CustomSelection = Extension.create({
|
|
|
53638
53644
|
props: {
|
|
53639
53645
|
handleDOMEvents: {
|
|
53640
53646
|
contextmenu: (view, event) => {
|
|
53647
|
+
if (shouldAllowNativeContextMenu(event)) {
|
|
53648
|
+
return false;
|
|
53649
|
+
}
|
|
53641
53650
|
event.preventDefault();
|
|
53642
53651
|
const { selection } = view.state;
|
|
53643
53652
|
if (!selection.empty) {
|
|
@@ -53656,6 +53665,9 @@ const CustomSelection = Extension.create({
|
|
|
53656
53665
|
},
|
|
53657
53666
|
mousedown: (view, event) => {
|
|
53658
53667
|
if (event.button === 2) {
|
|
53668
|
+
if (shouldAllowNativeContextMenu(event)) {
|
|
53669
|
+
return false;
|
|
53670
|
+
}
|
|
53659
53671
|
event.preventDefault();
|
|
53660
53672
|
const { selection: selection2 } = view.state;
|
|
53661
53673
|
if (!selection2.empty) {
|
|
@@ -69456,45 +69468,6 @@ const Search = Extension.create({
|
|
|
69456
69468
|
};
|
|
69457
69469
|
}
|
|
69458
69470
|
});
|
|
69459
|
-
let cachedShadowRootCtor;
|
|
69460
|
-
const getShadowRootCtor = () => {
|
|
69461
|
-
if (cachedShadowRootCtor === void 0) {
|
|
69462
|
-
const ctor = globalThis.ShadowRoot;
|
|
69463
|
-
cachedShadowRootCtor = typeof ctor === "function" ? ctor : null;
|
|
69464
|
-
}
|
|
69465
|
-
return cachedShadowRootCtor;
|
|
69466
|
-
};
|
|
69467
|
-
let cachedElementCtor;
|
|
69468
|
-
const getElementCtor = () => {
|
|
69469
|
-
if (cachedElementCtor === void 0) {
|
|
69470
|
-
const ctor = globalThis.Element;
|
|
69471
|
-
cachedElementCtor = typeof ctor === "function" ? ctor : null;
|
|
69472
|
-
}
|
|
69473
|
-
return cachedElementCtor;
|
|
69474
|
-
};
|
|
69475
|
-
const queryWithinRoot = (domNode, selector) => {
|
|
69476
|
-
const shadowRoot = domNode?.shadowRoot;
|
|
69477
|
-
if (shadowRoot && typeof shadowRoot.querySelector === "function") {
|
|
69478
|
-
return shadowRoot.querySelector(selector);
|
|
69479
|
-
}
|
|
69480
|
-
const rawRoot = domNode?.getRootNode?.();
|
|
69481
|
-
const ShadowRootCtor = getShadowRootCtor();
|
|
69482
|
-
const isShadowRoot2 = !!ShadowRootCtor && rawRoot instanceof ShadowRootCtor;
|
|
69483
|
-
if (isShadowRoot2 && typeof rawRoot.querySelector === "function") {
|
|
69484
|
-
return rawRoot.querySelector(selector);
|
|
69485
|
-
}
|
|
69486
|
-
if (domNode && typeof domNode.querySelector === "function") {
|
|
69487
|
-
const localMatch = domNode.querySelector(selector);
|
|
69488
|
-
if (localMatch) return localMatch;
|
|
69489
|
-
}
|
|
69490
|
-
return typeof document !== "undefined" ? document.querySelector(selector) : null;
|
|
69491
|
-
};
|
|
69492
|
-
const findInEventPath = (event, selector) => {
|
|
69493
|
-
if (!event || !selector) return void 0;
|
|
69494
|
-
const path = typeof event.composedPath === "function" ? event.composedPath() : [];
|
|
69495
|
-
const ElementCtor = getElementCtor();
|
|
69496
|
-
return path.find((node) => ElementCtor && node instanceof ElementCtor && node.matches(selector));
|
|
69497
|
-
};
|
|
69498
69471
|
const NodeResizerKey = new PluginKey("node-resizer");
|
|
69499
69472
|
const nodeResizer = (nodeNames = ["image"], editor) => {
|
|
69500
69473
|
let resizeState = {
|
|
@@ -69549,19 +69522,16 @@ const nodeResizer = (nodeNames = ["image"], editor) => {
|
|
|
69549
69522
|
view(view) {
|
|
69550
69523
|
editorView = view;
|
|
69551
69524
|
globalClickHandler = (event) => {
|
|
69552
|
-
|
|
69553
|
-
const containerInPath = findInEventPath(event, ".sd-editor-resize-container");
|
|
69554
|
-
if (!wrapperInPath && !containerInPath) {
|
|
69525
|
+
if (!event.target.closest(".sd-editor-resizable-wrapper") && !event.target.closest(".sd-editor-resize-container")) {
|
|
69555
69526
|
hideResizeHandles();
|
|
69556
69527
|
}
|
|
69557
69528
|
};
|
|
69558
69529
|
document.addEventListener("click", globalClickHandler);
|
|
69559
69530
|
globalMousedownHandler = (event) => {
|
|
69560
|
-
|
|
69561
|
-
if (handle) {
|
|
69531
|
+
if (event.target.closest(".sd-editor-resize-handle")) {
|
|
69562
69532
|
event.preventDefault();
|
|
69563
69533
|
event.stopPropagation();
|
|
69564
|
-
startResize(editorView, event,
|
|
69534
|
+
startResize(editorView, event, event.target);
|
|
69565
69535
|
return true;
|
|
69566
69536
|
}
|
|
69567
69537
|
};
|
|
@@ -69578,7 +69548,7 @@ const nodeResizer = (nodeNames = ["image"], editor) => {
|
|
|
69578
69548
|
const prevSelection = prevState.selection;
|
|
69579
69549
|
if (selection.from !== prevSelection.from || selection.to !== prevSelection.to) {
|
|
69580
69550
|
setTimeout(() => {
|
|
69581
|
-
const selectedResizableWrapper =
|
|
69551
|
+
const selectedResizableWrapper = document.querySelector(".sd-editor-resizable-wrapper");
|
|
69582
69552
|
if (selectedResizableWrapper) {
|
|
69583
69553
|
showResizeHandles(view2, selectedResizableWrapper);
|
|
69584
69554
|
} else {
|
|
@@ -79691,7 +79661,6 @@ const _sfc_main$1$1 = {
|
|
|
79691
79661
|
const toolbarItemRefs = ref$1([]);
|
|
79692
79662
|
const props = __props;
|
|
79693
79663
|
const currentItem = ref$1(null);
|
|
79694
|
-
const { proxy } = getCurrentInstance();
|
|
79695
79664
|
const { isHighContrastMode: isHighContrastMode2 } = useHighContrastMode();
|
|
79696
79665
|
const isMobile = window.matchMedia("(max-width: 768px)").matches;
|
|
79697
79666
|
const styleMap = {
|
|
@@ -79790,8 +79759,10 @@ const _sfc_main$1$1 = {
|
|
|
79790
79759
|
nextButtonGroup.setAttribute("tabindex", "0");
|
|
79791
79760
|
nextButtonGroup.focus();
|
|
79792
79761
|
} else {
|
|
79793
|
-
const
|
|
79794
|
-
|
|
79762
|
+
const editor = document.querySelector(".ProseMirror");
|
|
79763
|
+
if (editor) {
|
|
79764
|
+
editor.focus();
|
|
79765
|
+
}
|
|
79795
79766
|
}
|
|
79796
79767
|
};
|
|
79797
79768
|
const moveToPreviousButtonGroup = (e) => {
|
|
@@ -79937,7 +79908,7 @@ const _sfc_main$1$1 = {
|
|
|
79937
79908
|
};
|
|
79938
79909
|
}
|
|
79939
79910
|
};
|
|
79940
|
-
const ButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1$1, [["__scopeId", "data-v-
|
|
79911
|
+
const ButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1$1, [["__scopeId", "data-v-f42ec7e6"]]);
|
|
79941
79912
|
const _sfc_main$f = {
|
|
79942
79913
|
__name: "Toolbar",
|
|
79943
79914
|
emits: ["command", "toggle", "select"],
|
|
@@ -84175,6 +84146,14 @@ function getStructureFromResolvedPos(state2, pos) {
|
|
|
84175
84146
|
return null;
|
|
84176
84147
|
}
|
|
84177
84148
|
}
|
|
84149
|
+
const shouldBypassContextMenu = (event) => {
|
|
84150
|
+
if (!event) return false;
|
|
84151
|
+
if (event.ctrlKey || event.metaKey) {
|
|
84152
|
+
return true;
|
|
84153
|
+
}
|
|
84154
|
+
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;
|
|
84155
|
+
return Boolean(isKeyboardInvocation);
|
|
84156
|
+
};
|
|
84178
84157
|
const isModuleEnabled = (editorOptions, moduleName) => {
|
|
84179
84158
|
switch (moduleName) {
|
|
84180
84159
|
case "ai":
|
|
@@ -84549,8 +84528,7 @@ const _sfc_main$4 = {
|
|
|
84549
84528
|
};
|
|
84550
84529
|
const handleRightClick = async (event) => {
|
|
84551
84530
|
const readOnly = !props.editor?.isEditable;
|
|
84552
|
-
|
|
84553
|
-
if (readOnly || isHoldingCtrl) {
|
|
84531
|
+
if (readOnly || shouldBypassContextMenu(event)) {
|
|
84554
84532
|
return;
|
|
84555
84533
|
}
|
|
84556
84534
|
event.preventDefault();
|
|
@@ -84711,12 +84689,10 @@ const _sfc_main$4 = {
|
|
|
84711
84689
|
}
|
|
84712
84690
|
};
|
|
84713
84691
|
function adjustPaginationBreaks(editorElem, editor) {
|
|
84714
|
-
|
|
84715
|
-
if (!hostElement || !editor?.value?.options?.scale) return;
|
|
84692
|
+
if (!editorElem.value || !editor?.value?.options?.scale) return;
|
|
84716
84693
|
const zoom = editor.value.options.scale;
|
|
84717
|
-
const bounds =
|
|
84718
|
-
const
|
|
84719
|
-
const breakNodes = searchRoot.querySelectorAll(".pagination-break-wrapper");
|
|
84694
|
+
const bounds = editorElem.value.getBoundingClientRect();
|
|
84695
|
+
const breakNodes = editorElem.value.querySelectorAll(".pagination-break-wrapper");
|
|
84720
84696
|
let firstLeft;
|
|
84721
84697
|
breakNodes.forEach((node) => {
|
|
84722
84698
|
const nodeBounds = node.getBoundingClientRect();
|
|
@@ -85007,821 +84983,6 @@ const _sfc_main$2 = {
|
|
|
85007
84983
|
};
|
|
85008
84984
|
const GenericPopover = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-cbddcc0f"]]);
|
|
85009
84985
|
const BlankDOCX = "data:application/octet-stream;base64,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";
|
|
85010
|
-
const editorStyles = `:root {
|
|
85011
|
-
/* CSS variables */
|
|
85012
|
-
}
|
|
85013
|
-
.sd-input-active {
|
|
85014
|
-
border: 1px solid #1355ff !important;
|
|
85015
|
-
}
|
|
85016
|
-
.sd-super-editor-html .ProseMirror {
|
|
85017
|
-
border: 1px solid #d9d9d9;
|
|
85018
|
-
outline: none;
|
|
85019
|
-
border-radius: 8px;
|
|
85020
|
-
height: 100%;
|
|
85021
|
-
width: 100%;
|
|
85022
|
-
outline: none;
|
|
85023
|
-
}
|
|
85024
|
-
a {
|
|
85025
|
-
text-decoration: auto;
|
|
85026
|
-
}
|
|
85027
|
-
/**
|
|
85028
|
-
* Basic ProseMirror styles.
|
|
85029
|
-
* https://github.com/ProseMirror/prosemirror-view/blob/master/style/prosemirror.css
|
|
85030
|
-
*/
|
|
85031
|
-
.ProseMirror {
|
|
85032
|
-
position: relative;
|
|
85033
|
-
}
|
|
85034
|
-
.ProseMirror {
|
|
85035
|
-
word-wrap: break-word;
|
|
85036
|
-
white-space: pre-wrap;
|
|
85037
|
-
white-space: break-spaces;
|
|
85038
|
-
-webkit-font-variant-ligatures: none;
|
|
85039
|
-
font-variant-ligatures: none;
|
|
85040
|
-
font-feature-settings: 'liga' 0; /* the above doesn't seem to work in Edge */
|
|
85041
|
-
}
|
|
85042
|
-
.ProseMirror pre {
|
|
85043
|
-
white-space: pre-wrap;
|
|
85044
|
-
}
|
|
85045
|
-
.ProseMirror ol,
|
|
85046
|
-
.ProseMirror ul {
|
|
85047
|
-
margin-block-start: 0;
|
|
85048
|
-
margin-block-end: 0;
|
|
85049
|
-
margin-inline-start: 0;
|
|
85050
|
-
margin-inline-end: 0;
|
|
85051
|
-
}
|
|
85052
|
-
.ProseMirror ol,
|
|
85053
|
-
.ProseMirror ul {
|
|
85054
|
-
padding-inline-start: 0;
|
|
85055
|
-
padding-left: 0;
|
|
85056
|
-
list-style: none;
|
|
85057
|
-
}
|
|
85058
|
-
.ProseMirror li::marker {
|
|
85059
|
-
content: none;
|
|
85060
|
-
}
|
|
85061
|
-
.ProseMirror li::marker {
|
|
85062
|
-
padding: 0;
|
|
85063
|
-
margin: 0;
|
|
85064
|
-
}
|
|
85065
|
-
.ProseMirror li > p {
|
|
85066
|
-
margin: 0;
|
|
85067
|
-
padding: 0;
|
|
85068
|
-
display: inline-block;
|
|
85069
|
-
}
|
|
85070
|
-
.ProseMirror.header-footer-edit > p img,
|
|
85071
|
-
.ProseMirror.header-footer-edit > p a,
|
|
85072
|
-
.ProseMirror.header-footer-edit li img,
|
|
85073
|
-
.ProseMirror.header-footer-edit li a,
|
|
85074
|
-
.ProseMirror.header-footer-edit span img,
|
|
85075
|
-
.ProseMirror.header-footer-edit span a {
|
|
85076
|
-
opacity: 1;
|
|
85077
|
-
}
|
|
85078
|
-
.ProseMirror.header-footer-edit .pagination-break-wrapper {
|
|
85079
|
-
color: initial !important;
|
|
85080
|
-
}
|
|
85081
|
-
.ProseMirror.header-footer-edit .pagination-break-wrapper span {
|
|
85082
|
-
color: initial !important;
|
|
85083
|
-
}
|
|
85084
|
-
.ProseMirror.header-footer-edit .pagination-break-wrapper img,
|
|
85085
|
-
.ProseMirror.header-footer-edit .pagination-break-wrapper a {
|
|
85086
|
-
opacity: 1;
|
|
85087
|
-
}
|
|
85088
|
-
.pagination-section-header div[contenteditable='false'] {
|
|
85089
|
-
user-select: none;
|
|
85090
|
-
}
|
|
85091
|
-
/**
|
|
85092
|
-
* Hide marker for indented lists.
|
|
85093
|
-
* If a list-item contains a list but doesn't contain a "p" tag with text.
|
|
85094
|
-
*/
|
|
85095
|
-
.ProseMirror ol {
|
|
85096
|
-
margin: 0;
|
|
85097
|
-
}
|
|
85098
|
-
.ProseMirror li:has(> ul:first-child, > ol:first-child):not(:has(> p)) {
|
|
85099
|
-
list-style-type: none;
|
|
85100
|
-
}
|
|
85101
|
-
.ProseMirror li:has(> ul:first-child, > ol:first-child):not(:has(> p))::marker {
|
|
85102
|
-
content: '';
|
|
85103
|
-
}
|
|
85104
|
-
.ProseMirror-hideselection *::selection {
|
|
85105
|
-
background: transparent;
|
|
85106
|
-
}
|
|
85107
|
-
.ProseMirror-hideselection *::-moz-selection {
|
|
85108
|
-
background: transparent;
|
|
85109
|
-
}
|
|
85110
|
-
.ProseMirror-hideselection * {
|
|
85111
|
-
caret-color: transparent;
|
|
85112
|
-
}
|
|
85113
|
-
/* See https://github.com/ProseMirror/prosemirror/issues/1421#issuecomment-1759320191 */
|
|
85114
|
-
.ProseMirror [draggable][contenteditable='false'] {
|
|
85115
|
-
user-select: text;
|
|
85116
|
-
}
|
|
85117
|
-
.ProseMirror-selectednode {
|
|
85118
|
-
outline: 2px solid #8cf;
|
|
85119
|
-
}
|
|
85120
|
-
/* Make sure li selections wrap around markers */
|
|
85121
|
-
li.ProseMirror-selectednode {
|
|
85122
|
-
outline: none;
|
|
85123
|
-
}
|
|
85124
|
-
li.ProseMirror-selectednode:after {
|
|
85125
|
-
content: '';
|
|
85126
|
-
position: absolute;
|
|
85127
|
-
left: -32px;
|
|
85128
|
-
right: -2px;
|
|
85129
|
-
top: -2px;
|
|
85130
|
-
bottom: -2px;
|
|
85131
|
-
border: 2px solid #8cf;
|
|
85132
|
-
pointer-events: none;
|
|
85133
|
-
}
|
|
85134
|
-
.ProseMirror img {
|
|
85135
|
-
height: auto;
|
|
85136
|
-
max-width: 100%;
|
|
85137
|
-
}
|
|
85138
|
-
/* Protect against generic img rules */
|
|
85139
|
-
img.ProseMirror-separator {
|
|
85140
|
-
display: inline !important;
|
|
85141
|
-
border: none !important;
|
|
85142
|
-
margin: 0 !important;
|
|
85143
|
-
}
|
|
85144
|
-
.ProseMirror .sd-editor-tab {
|
|
85145
|
-
display: inline-block;
|
|
85146
|
-
vertical-align: text-bottom;
|
|
85147
|
-
}
|
|
85148
|
-
.ProseMirror u .sd-editor-tab:not(.pagination-inner .sd-editor-tab) {
|
|
85149
|
-
white-space: pre;
|
|
85150
|
-
border-bottom: 1px solid #000;
|
|
85151
|
-
margin-bottom: 1.5px;
|
|
85152
|
-
}
|
|
85153
|
-
/*
|
|
85154
|
-
Tables
|
|
85155
|
-
https://github.com/ProseMirror/prosemirror-tables/blob/master/style/tables.css
|
|
85156
|
-
https://github.com/ProseMirror/prosemirror-tables/blob/master/demo/index.html
|
|
85157
|
-
*/
|
|
85158
|
-
.ProseMirror.resize-cursor {
|
|
85159
|
-
cursor: ew-resize;
|
|
85160
|
-
cursor: col-resize;
|
|
85161
|
-
}
|
|
85162
|
-
.ProseMirror .tableWrapper {
|
|
85163
|
-
--table-border-width: 1px;
|
|
85164
|
-
--offset: 2px;
|
|
85165
|
-
|
|
85166
|
-
overflow-x: auto;
|
|
85167
|
-
scrollbar-width: thin;
|
|
85168
|
-
overflow: hidden;
|
|
85169
|
-
|
|
85170
|
-
/*
|
|
85171
|
-
The border width does not need to be multiplied by two,
|
|
85172
|
-
for tables it works differently. */
|
|
85173
|
-
width: calc(100% + (var(--table-border-width) + var(--offset)));
|
|
85174
|
-
}
|
|
85175
|
-
.ProseMirror table {
|
|
85176
|
-
border-collapse: collapse;
|
|
85177
|
-
border-spacing: 0;
|
|
85178
|
-
table-layout: fixed;
|
|
85179
|
-
margin: 0;
|
|
85180
|
-
/* width: 100%; */
|
|
85181
|
-
}
|
|
85182
|
-
.ProseMirror tr {
|
|
85183
|
-
position: relative;
|
|
85184
|
-
}
|
|
85185
|
-
.ProseMirror td,
|
|
85186
|
-
.ProseMirror th {
|
|
85187
|
-
min-width: 1em;
|
|
85188
|
-
position: relative;
|
|
85189
|
-
vertical-align: top;
|
|
85190
|
-
box-sizing: border-box;
|
|
85191
|
-
overflow-wrap: anywhere;
|
|
85192
|
-
}
|
|
85193
|
-
.ProseMirror th {
|
|
85194
|
-
font-weight: bold;
|
|
85195
|
-
text-align: left;
|
|
85196
|
-
}
|
|
85197
|
-
.ProseMirror table .column-resize-handle {
|
|
85198
|
-
position: absolute;
|
|
85199
|
-
right: -2px;
|
|
85200
|
-
top: 0;
|
|
85201
|
-
bottom: -2px; /* 0 */
|
|
85202
|
-
width: 4px;
|
|
85203
|
-
z-index: 20;
|
|
85204
|
-
background-color: #adf;
|
|
85205
|
-
pointer-events: none;
|
|
85206
|
-
}
|
|
85207
|
-
.ProseMirror table .selectedCell:after {
|
|
85208
|
-
position: absolute;
|
|
85209
|
-
content: '';
|
|
85210
|
-
left: 0;
|
|
85211
|
-
right: 0;
|
|
85212
|
-
top: 0;
|
|
85213
|
-
bottom: 0;
|
|
85214
|
-
background: rgba(200, 200, 255, 0.4);
|
|
85215
|
-
pointer-events: none;
|
|
85216
|
-
z-index: 2;
|
|
85217
|
-
}
|
|
85218
|
-
/* Tables - end */
|
|
85219
|
-
/* Track changes */
|
|
85220
|
-
.ProseMirror .track-insert-dec,
|
|
85221
|
-
.ProseMirror .track-delete-dec,
|
|
85222
|
-
.ProseMirror .track-format-dec {
|
|
85223
|
-
pointer-events: none;
|
|
85224
|
-
}
|
|
85225
|
-
.ProseMirror .track-insert-dec.hidden,
|
|
85226
|
-
.ProseMirror .track-delete-dec.hidden {
|
|
85227
|
-
display: none;
|
|
85228
|
-
}
|
|
85229
|
-
.ProseMirror .track-insert-dec.highlighted {
|
|
85230
|
-
border-top: 1px dashed #00853d;
|
|
85231
|
-
border-bottom: 1px dashed #00853d;
|
|
85232
|
-
background-color: #399c7222;
|
|
85233
|
-
}
|
|
85234
|
-
.ProseMirror .track-delete-dec.highlighted {
|
|
85235
|
-
border-top: 1px dashed #cb0e47;
|
|
85236
|
-
border-bottom: 1px dashed #cb0e47;
|
|
85237
|
-
background-color: #cb0e4722;
|
|
85238
|
-
text-decoration: line-through;
|
|
85239
|
-
text-decoration-thickness: 2px;
|
|
85240
|
-
}
|
|
85241
|
-
.ProseMirror .track-format-dec.highlighted {
|
|
85242
|
-
border-bottom: 2px solid gold;
|
|
85243
|
-
}
|
|
85244
|
-
.ProseMirror .track-delete-widget {
|
|
85245
|
-
visibility: hidden;
|
|
85246
|
-
}
|
|
85247
|
-
/* Track changes - end */
|
|
85248
|
-
/* Collaboration cursors */
|
|
85249
|
-
.ProseMirror > .ProseMirror-yjs-cursor:first-child {
|
|
85250
|
-
margin-top: 16px;
|
|
85251
|
-
}
|
|
85252
|
-
.ProseMirror-yjs-cursor {
|
|
85253
|
-
position: relative;
|
|
85254
|
-
margin-left: -1px;
|
|
85255
|
-
margin-right: -1px;
|
|
85256
|
-
border-left: 1px solid black;
|
|
85257
|
-
border-right: 1px solid black;
|
|
85258
|
-
border-color: orange;
|
|
85259
|
-
word-break: normal;
|
|
85260
|
-
pointer-events: none;
|
|
85261
|
-
}
|
|
85262
|
-
.ProseMirror-yjs-cursor > div {
|
|
85263
|
-
position: absolute;
|
|
85264
|
-
top: -1.05em;
|
|
85265
|
-
left: -1px;
|
|
85266
|
-
font-size: 13px;
|
|
85267
|
-
background-color: rgb(250, 129, 0);
|
|
85268
|
-
font-family: serif;
|
|
85269
|
-
font-style: normal;
|
|
85270
|
-
font-weight: normal;
|
|
85271
|
-
line-height: normal;
|
|
85272
|
-
user-select: none;
|
|
85273
|
-
color: white;
|
|
85274
|
-
padding-left: 2px;
|
|
85275
|
-
padding-right: 2px;
|
|
85276
|
-
white-space: nowrap;
|
|
85277
|
-
}
|
|
85278
|
-
/* Collaboration cursors - end */
|
|
85279
|
-
/* Image placeholder */
|
|
85280
|
-
.ProseMirror placeholder {
|
|
85281
|
-
display: inline;
|
|
85282
|
-
border: 1px solid #ccc;
|
|
85283
|
-
color: #ccc;
|
|
85284
|
-
}
|
|
85285
|
-
.ProseMirror placeholder:after {
|
|
85286
|
-
content: '☁';
|
|
85287
|
-
font-size: 200%;
|
|
85288
|
-
line-height: 0.1;
|
|
85289
|
-
font-weight: bold;
|
|
85290
|
-
}
|
|
85291
|
-
/* Gapcursor */
|
|
85292
|
-
.ProseMirror-gapcursor {
|
|
85293
|
-
display: none;
|
|
85294
|
-
pointer-events: none;
|
|
85295
|
-
position: absolute;
|
|
85296
|
-
margin: 0;
|
|
85297
|
-
}
|
|
85298
|
-
.ProseMirror-gapcursor:after {
|
|
85299
|
-
content: '';
|
|
85300
|
-
display: block;
|
|
85301
|
-
position: absolute;
|
|
85302
|
-
top: -2px;
|
|
85303
|
-
width: 20px;
|
|
85304
|
-
border-top: 1px solid black;
|
|
85305
|
-
animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
|
|
85306
|
-
}
|
|
85307
|
-
@keyframes ProseMirror-cursor-blink {
|
|
85308
|
-
to {
|
|
85309
|
-
visibility: hidden;
|
|
85310
|
-
}
|
|
85311
|
-
}
|
|
85312
|
-
.ProseMirror-focused .ProseMirror-gapcursor {
|
|
85313
|
-
display: block;
|
|
85314
|
-
}
|
|
85315
|
-
.ProseMirror div[data-type='contentBlock'] {
|
|
85316
|
-
position: absolute;
|
|
85317
|
-
outline: none;
|
|
85318
|
-
user-select: none;
|
|
85319
|
-
z-index: -1;
|
|
85320
|
-
}
|
|
85321
|
-
.ProseMirror div[data-horizontal-rule='true'] {
|
|
85322
|
-
margin-top: auto;
|
|
85323
|
-
align-self: flex-end;
|
|
85324
|
-
}
|
|
85325
|
-
.sd-editor-dropcap {
|
|
85326
|
-
float: left;
|
|
85327
|
-
display: flex;
|
|
85328
|
-
align-items: baseline;
|
|
85329
|
-
margin-top: -5px;
|
|
85330
|
-
}
|
|
85331
|
-
.ProseMirror-search-match {
|
|
85332
|
-
background-color: #ffff0054;
|
|
85333
|
-
}
|
|
85334
|
-
.ProseMirror-active-search-match {
|
|
85335
|
-
background-color: #ff6a0054;
|
|
85336
|
-
}
|
|
85337
|
-
.ProseMirror span.sd-custom-selection::selection {
|
|
85338
|
-
background: transparent;
|
|
85339
|
-
}
|
|
85340
|
-
.sd-custom-selection {
|
|
85341
|
-
background-color: #d9d9d9;
|
|
85342
|
-
border-radius: 0.1em;
|
|
85343
|
-
}
|
|
85344
|
-
.superdoc-toolbar svg {
|
|
85345
|
-
width: 100%;
|
|
85346
|
-
height: 100%;
|
|
85347
|
-
display: block;
|
|
85348
|
-
fill: currentColor;
|
|
85349
|
-
}
|
|
85350
|
-
.superdoc-toolbar svg path {
|
|
85351
|
-
stroke: currentColor;
|
|
85352
|
-
}
|
|
85353
|
-
.sd-editor-toolbar-dropdown .n-dropdown-option .dropdown-select-icon {
|
|
85354
|
-
display: flex;
|
|
85355
|
-
width: 12px;
|
|
85356
|
-
height: 12px;
|
|
85357
|
-
}
|
|
85358
|
-
/* Custom toolbar styling */
|
|
85359
|
-
/* AI button icon styling with gradient */
|
|
85360
|
-
.toolbar-icon__icon--ai {
|
|
85361
|
-
position: relative;
|
|
85362
|
-
z-index: 1;
|
|
85363
|
-
}
|
|
85364
|
-
.toolbar-icon__icon--ai svg {
|
|
85365
|
-
fill: transparent;
|
|
85366
|
-
}
|
|
85367
|
-
.toolbar-icon__icon--ai::before {
|
|
85368
|
-
content: '';
|
|
85369
|
-
position: absolute;
|
|
85370
|
-
top: 0;
|
|
85371
|
-
left: 0;
|
|
85372
|
-
right: 0;
|
|
85373
|
-
bottom: 0;
|
|
85374
|
-
z-index: -1;
|
|
85375
|
-
background: linear-gradient(
|
|
85376
|
-
270deg,
|
|
85377
|
-
rgba(218, 215, 118, 0.5) -20%,
|
|
85378
|
-
rgba(191, 100, 100, 1) 30%,
|
|
85379
|
-
rgba(77, 82, 217, 1) 60%,
|
|
85380
|
-
rgb(255, 219, 102) 150%
|
|
85381
|
-
);
|
|
85382
|
-
-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>")
|
|
85383
|
-
center / contain no-repeat;
|
|
85384
|
-
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>")
|
|
85385
|
-
center / contain no-repeat;
|
|
85386
|
-
filter: brightness(1.2);
|
|
85387
|
-
transition: filter 0.2s ease;
|
|
85388
|
-
}
|
|
85389
|
-
.toolbar-icon__icon--ai:hover::before {
|
|
85390
|
-
filter: brightness(1.3);
|
|
85391
|
-
}
|
|
85392
|
-
/* AI text appear animation */
|
|
85393
|
-
@keyframes aiTextAppear {
|
|
85394
|
-
from {
|
|
85395
|
-
opacity: 0;
|
|
85396
|
-
transform: translateY(5px);
|
|
85397
|
-
}
|
|
85398
|
-
to {
|
|
85399
|
-
opacity: 1;
|
|
85400
|
-
transform: translateY(0);
|
|
85401
|
-
}
|
|
85402
|
-
}
|
|
85403
|
-
.sd-ai-text-appear {
|
|
85404
|
-
display: inline;
|
|
85405
|
-
opacity: 0;
|
|
85406
|
-
animation: aiTextAppear 0.7s ease-out forwards;
|
|
85407
|
-
animation-fill-mode: both;
|
|
85408
|
-
will-change: opacity, transform;
|
|
85409
|
-
/* Ensure each mark is treated as a separate animation context */
|
|
85410
|
-
contain: content;
|
|
85411
|
-
}
|
|
85412
|
-
.sd-ai-loader {
|
|
85413
|
-
display: flex;
|
|
85414
|
-
justify-content: flex-start;
|
|
85415
|
-
}
|
|
85416
|
-
.sd-ai-loader > img {
|
|
85417
|
-
width: fit-content;
|
|
85418
|
-
height: 40px;
|
|
85419
|
-
}
|
|
85420
|
-
@keyframes ai-pulse {
|
|
85421
|
-
0% {
|
|
85422
|
-
background-color: rgba(99, 102, 241, 0.1);
|
|
85423
|
-
}
|
|
85424
|
-
50% {
|
|
85425
|
-
background-color: rgba(99, 102, 241, 0.375);
|
|
85426
|
-
}
|
|
85427
|
-
100% {
|
|
85428
|
-
background-color: rgba(99, 102, 241, 0.1);
|
|
85429
|
-
}
|
|
85430
|
-
}
|
|
85431
|
-
.sd-ai-highlight-pulse {
|
|
85432
|
-
animation: ai-pulse 1.5s ease-in-out infinite;
|
|
85433
|
-
}
|
|
85434
|
-
.sd-editor-auto-page-number,
|
|
85435
|
-
.sd-editor-auto-total-pages {
|
|
85436
|
-
transition: all 250ms ease;
|
|
85437
|
-
border-bottom: 1px solid #9a9a9a;
|
|
85438
|
-
cursor: not-allowed;
|
|
85439
|
-
}
|
|
85440
|
-
.sd-editor-auto-page-number:hover,
|
|
85441
|
-
.sd-editor-auto-total-pages:hover {
|
|
85442
|
-
border-bottom-color: #4f4f4f;
|
|
85443
|
-
}
|
|
85444
|
-
.sd-editor-auto-page-number-content {
|
|
85445
|
-
pointer-events: none;
|
|
85446
|
-
}
|
|
85447
|
-
.ProseMirror.view-mode .sd-editor-auto-page-number,
|
|
85448
|
-
.ProseMirror.view-mode .sd-editor-auto-total-pages {
|
|
85449
|
-
border: none;
|
|
85450
|
-
}
|
|
85451
|
-
:root {
|
|
85452
|
-
--sd-editor-separator-height: 18px;
|
|
85453
|
-
}
|
|
85454
|
-
.pagination-section-header {
|
|
85455
|
-
cursor: default;
|
|
85456
|
-
}
|
|
85457
|
-
/* To not inherit styles from the wrapper paragraph */
|
|
85458
|
-
.pagination-section-header p {
|
|
85459
|
-
text-align: initial;
|
|
85460
|
-
}
|
|
85461
|
-
.pagination-section-footer {
|
|
85462
|
-
position: relative;
|
|
85463
|
-
width: 100%;
|
|
85464
|
-
min-width: 100%;
|
|
85465
|
-
display: flex;
|
|
85466
|
-
flex-direction: column;
|
|
85467
|
-
justify-content: flex-end;
|
|
85468
|
-
cursor: default;
|
|
85469
|
-
}
|
|
85470
|
-
/* To not inherit styles from the wrapper paragraph */
|
|
85471
|
-
.pagination-section-footer p {
|
|
85472
|
-
text-align: initial;
|
|
85473
|
-
}
|
|
85474
|
-
.pagination-break-wrapper {
|
|
85475
|
-
width: 100%;
|
|
85476
|
-
margin: 0;
|
|
85477
|
-
padding: 0;
|
|
85478
|
-
cursor: default;
|
|
85479
|
-
position: relative;
|
|
85480
|
-
}
|
|
85481
|
-
.pagination-separator {
|
|
85482
|
-
position: relative;
|
|
85483
|
-
display: block;
|
|
85484
|
-
height: var(--sd-editor-separator-height);
|
|
85485
|
-
min-height: var(--sd-editor-separator-height);
|
|
85486
|
-
min-width: 100%;
|
|
85487
|
-
width: 100%;
|
|
85488
|
-
border-top: 1px solid #dbdbdb;
|
|
85489
|
-
border-bottom: 1px solid #dbdbdb;
|
|
85490
|
-
cursor: default;
|
|
85491
|
-
}
|
|
85492
|
-
.pagination-separator--table {
|
|
85493
|
-
border: 0;
|
|
85494
|
-
}
|
|
85495
|
-
.pagination-separator-floating {
|
|
85496
|
-
position: absolute;
|
|
85497
|
-
height: var(--sd-editor-separator-height);
|
|
85498
|
-
border-top: 1px solid #dbdbdb;
|
|
85499
|
-
border-bottom: 1px solid #dbdbdb;
|
|
85500
|
-
pointer-events: none;
|
|
85501
|
-
}
|
|
85502
|
-
.pagination-inner {
|
|
85503
|
-
position: absolute;
|
|
85504
|
-
top: 0;
|
|
85505
|
-
left: 0;
|
|
85506
|
-
display: flex;
|
|
85507
|
-
flex-direction: column;
|
|
85508
|
-
background-color: white;
|
|
85509
|
-
}
|
|
85510
|
-
/**
|
|
85511
|
-
Workaround to display pagination in footer
|
|
85512
|
-
on the right if it is inside shape textbox.
|
|
85513
|
-
*/
|
|
85514
|
-
.pagination-section-footer .sd-editor-shape-container:has([data-id='auto-page-number'], [data-id='auto-total-pages']) {
|
|
85515
|
-
margin-left: auto;
|
|
85516
|
-
}
|
|
85517
|
-
.pagination-section-header img[contenteditable='false'],
|
|
85518
|
-
.pagination-section-footer img[contenteditable='false'] {
|
|
85519
|
-
pointer-events: none;
|
|
85520
|
-
}
|
|
85521
|
-
.pagination-break-wrapper {
|
|
85522
|
-
font-weight: normal;
|
|
85523
|
-
font-style: normal;
|
|
85524
|
-
color: initial;
|
|
85525
|
-
}
|
|
85526
|
-
/* TODO: This is going to be enabled again */
|
|
85527
|
-
/* .pagination-section-header div[contenteditable="false"]:not([documentmode="viewing"]),
|
|
85528
|
-
.pagination-section-footer div[contenteditable="false"]:not([documentmode="viewing"]) {
|
|
85529
|
-
opacity: 0.5;
|
|
85530
|
-
} */
|
|
85531
|
-
.sd-editor-popover {
|
|
85532
|
-
background-color: #fff;
|
|
85533
|
-
border-radius: 8px;
|
|
85534
|
-
-webkit-box-shadow: 0px 4px 12px 0px rgba(50, 50, 50, 0.15);
|
|
85535
|
-
-moz-box-shadow: 0px 4px 12px 0px rgba(50, 50, 50, 0.15);
|
|
85536
|
-
box-shadow: 0px 4px 12px 0px rgba(50, 50, 50, 0.15);
|
|
85537
|
-
padding: 0;
|
|
85538
|
-
width: auto;
|
|
85539
|
-
height: auto;
|
|
85540
|
-
font-size: 14px;
|
|
85541
|
-
color: #333;
|
|
85542
|
-
z-index: 1000;
|
|
85543
|
-
}
|
|
85544
|
-
.sd-editor-popover .popover-header {
|
|
85545
|
-
font-weight: bold;
|
|
85546
|
-
margin-bottom: 8px;
|
|
85547
|
-
}
|
|
85548
|
-
.tippy-box[data-theme~='sd-editor-popover'] {
|
|
85549
|
-
background-color: #fff;
|
|
85550
|
-
border-radius: 8px;
|
|
85551
|
-
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
|
|
85552
|
-
border: none !important;
|
|
85553
|
-
padding: 0 !important;
|
|
85554
|
-
}
|
|
85555
|
-
.tippy-box[data-theme~='sd-editor-popover'] .tippy-arrow {
|
|
85556
|
-
color: #fff;
|
|
85557
|
-
border: 1px solid #dbdbdb;
|
|
85558
|
-
}
|
|
85559
|
-
.tippy-box[data-theme~='sd-editor-popover'] .tippy-content {
|
|
85560
|
-
padding: 0;
|
|
85561
|
-
}
|
|
85562
|
-
.sd-editor-placeholder::before {
|
|
85563
|
-
content: attr(data-placeholder);
|
|
85564
|
-
color: #aaa;
|
|
85565
|
-
pointer-events: none;
|
|
85566
|
-
display: block;
|
|
85567
|
-
height: 0;
|
|
85568
|
-
}
|
|
85569
|
-
.sd-editor-mention {
|
|
85570
|
-
background-color: #1355ff15;
|
|
85571
|
-
color: #222;
|
|
85572
|
-
font-weight: 400;
|
|
85573
|
-
border-radius: 3px;
|
|
85574
|
-
padding: 0 5px;
|
|
85575
|
-
cursor: default;
|
|
85576
|
-
display: inline-block;
|
|
85577
|
-
box-sizing: border-box;
|
|
85578
|
-
}
|
|
85579
|
-
.sd-editor-comment-highlight {
|
|
85580
|
-
transition: background-color 250ms ease;
|
|
85581
|
-
}
|
|
85582
|
-
.sd-editor-comment-highlight:hover {
|
|
85583
|
-
background-color: #1354ff55;
|
|
85584
|
-
}
|
|
85585
|
-
.sd-editor-comment-highlight.sd-custom-selection {
|
|
85586
|
-
background-color: #d6c0c6 !important;
|
|
85587
|
-
}
|
|
85588
|
-
.sd-editor-list-item-node-view {
|
|
85589
|
-
position: relative;
|
|
85590
|
-
width: 100%;
|
|
85591
|
-
}
|
|
85592
|
-
.sd-editor-list-item-numbering {
|
|
85593
|
-
position: absolute;
|
|
85594
|
-
top: 0;
|
|
85595
|
-
white-space: nowrap;
|
|
85596
|
-
user-select: none;
|
|
85597
|
-
pointer-events: auto;
|
|
85598
|
-
text-align: right;
|
|
85599
|
-
z-index: 1;
|
|
85600
|
-
}
|
|
85601
|
-
.sd-editor-list-item-content-dom {
|
|
85602
|
-
position: relative;
|
|
85603
|
-
min-height: inherit;
|
|
85604
|
-
word-wrap: break-word;
|
|
85605
|
-
}
|
|
85606
|
-
/* temporary fix */
|
|
85607
|
-
.sd-editor-list-item-node-view .sd-custom-selection {
|
|
85608
|
-
font-size: inherit !important;
|
|
85609
|
-
}
|
|
85610
|
-
/* Resize handles container */
|
|
85611
|
-
.sd-editor-resize-container {
|
|
85612
|
-
position: absolute;
|
|
85613
|
-
pointer-events: none;
|
|
85614
|
-
z-index: 11;
|
|
85615
|
-
}
|
|
85616
|
-
/* Resize handles */
|
|
85617
|
-
.sd-editor-resize-handle {
|
|
85618
|
-
position: absolute;
|
|
85619
|
-
width: 12px;
|
|
85620
|
-
height: 12px;
|
|
85621
|
-
background-color: #4dabf7;
|
|
85622
|
-
border: 2px solid #fff;
|
|
85623
|
-
border-radius: 50%;
|
|
85624
|
-
box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
|
|
85625
|
-
pointer-events: auto;
|
|
85626
|
-
transition: all 0.1s ease;
|
|
85627
|
-
}
|
|
85628
|
-
.sd-editor-resize-handle:hover {
|
|
85629
|
-
background-color: #228be6;
|
|
85630
|
-
transform: scale(1.1);
|
|
85631
|
-
box-shadow: 0 0 6px rgba(0, 0, 0, 0.4);
|
|
85632
|
-
}
|
|
85633
|
-
/* Handle positions */
|
|
85634
|
-
.sd-editor-resize-handle-nw {
|
|
85635
|
-
top: -6px;
|
|
85636
|
-
left: -6px;
|
|
85637
|
-
cursor: nwse-resize;
|
|
85638
|
-
}
|
|
85639
|
-
.sd-editor-resize-handle-ne {
|
|
85640
|
-
top: -6px;
|
|
85641
|
-
right: -6px;
|
|
85642
|
-
cursor: nesw-resize;
|
|
85643
|
-
}
|
|
85644
|
-
.sd-editor-resize-handle-sw {
|
|
85645
|
-
bottom: -6px;
|
|
85646
|
-
left: -6px;
|
|
85647
|
-
cursor: nesw-resize;
|
|
85648
|
-
}
|
|
85649
|
-
.sd-editor-resize-handle-se {
|
|
85650
|
-
bottom: -6px;
|
|
85651
|
-
right: -6px;
|
|
85652
|
-
cursor: nwse-resize;
|
|
85653
|
-
}
|
|
85654
|
-
/* Hide handles when editor loses focus */
|
|
85655
|
-
.ProseMirror:not(.ProseMirror-focused) .sd-editor-resize-container {
|
|
85656
|
-
display: none;
|
|
85657
|
-
}
|
|
85658
|
-
/* Smooth transitions for resizing */
|
|
85659
|
-
.sd-editor-resizable-wrapper * {
|
|
85660
|
-
transition: none;
|
|
85661
|
-
}
|
|
85662
|
-
.sd-editor-resizable-wrapper *:not([style*='width']) {
|
|
85663
|
-
transition: all 0.2s ease;
|
|
85664
|
-
}
|
|
85665
|
-
/* Resize feedback indicator */
|
|
85666
|
-
.sd-editor-resizable-wrapper::after {
|
|
85667
|
-
content: 'Drag corners to resize';
|
|
85668
|
-
position: absolute;
|
|
85669
|
-
bottom: -25px;
|
|
85670
|
-
left: 50%;
|
|
85671
|
-
transform: translateX(-50%);
|
|
85672
|
-
background-color: rgba(77, 171, 247, 0.9);
|
|
85673
|
-
color: white;
|
|
85674
|
-
font-size: 11px;
|
|
85675
|
-
padding: 4px 8px;
|
|
85676
|
-
border-radius: 4px;
|
|
85677
|
-
white-space: nowrap;
|
|
85678
|
-
pointer-events: none;
|
|
85679
|
-
opacity: 0;
|
|
85680
|
-
transition: opacity 0.3s ease;
|
|
85681
|
-
z-index: 12;
|
|
85682
|
-
}
|
|
85683
|
-
.sd-editor-resizable-wrapper:hover::after {
|
|
85684
|
-
opacity: 1;
|
|
85685
|
-
}
|
|
85686
|
-
.sd-document-section-block {
|
|
85687
|
-
background-color: #fafafa;
|
|
85688
|
-
border: 1px solid #ababab;
|
|
85689
|
-
border-radius: 4px;
|
|
85690
|
-
position: relative;
|
|
85691
|
-
}
|
|
85692
|
-
.sd-document-section-block-info {
|
|
85693
|
-
position: absolute;
|
|
85694
|
-
top: -19px;
|
|
85695
|
-
left: -1px;
|
|
85696
|
-
max-width: 100px;
|
|
85697
|
-
min-width: 0;
|
|
85698
|
-
height: 18px;
|
|
85699
|
-
border: 1px solid #ababab;
|
|
85700
|
-
border-bottom: none;
|
|
85701
|
-
border-radius: 6px 6px 0 0;
|
|
85702
|
-
padding: 0 8px;
|
|
85703
|
-
align-items: center;
|
|
85704
|
-
font-size: 10px;
|
|
85705
|
-
display: none;
|
|
85706
|
-
z-index: 100;
|
|
85707
|
-
background-color: #fafafa;
|
|
85708
|
-
}
|
|
85709
|
-
.sd-document-section-block:hover {
|
|
85710
|
-
border-radius: 0 4px 4px 4px;
|
|
85711
|
-
}
|
|
85712
|
-
.sd-document-section-block:hover .sd-document-section-block-info {
|
|
85713
|
-
display: flex;
|
|
85714
|
-
align-items: center;
|
|
85715
|
-
}
|
|
85716
|
-
.sd-document-section-block-info span {
|
|
85717
|
-
max-width: 100%;
|
|
85718
|
-
overflow: hidden;
|
|
85719
|
-
white-space: nowrap;
|
|
85720
|
-
text-overflow: ellipsis;
|
|
85721
|
-
}
|
|
85722
|
-
.sd-structured-content,
|
|
85723
|
-
.sd-structured-content-block {
|
|
85724
|
-
padding: 1px;
|
|
85725
|
-
box-sizing: border-box;
|
|
85726
|
-
border-radius: 4px;
|
|
85727
|
-
border: 1px solid #629be7;
|
|
85728
|
-
position: relative;
|
|
85729
|
-
}
|
|
85730
|
-
.sd-structured-content-draggable {
|
|
85731
|
-
font-size: 10px;
|
|
85732
|
-
align-items: center;
|
|
85733
|
-
justify-content: center;
|
|
85734
|
-
position: absolute;
|
|
85735
|
-
left: 2px;
|
|
85736
|
-
bottom: 100%;
|
|
85737
|
-
width: calc(100% - 4px);
|
|
85738
|
-
max-width: 110px;
|
|
85739
|
-
min-width: 0;
|
|
85740
|
-
height: 18px;
|
|
85741
|
-
padding: 0 4px;
|
|
85742
|
-
border: 1px solid #629be7;
|
|
85743
|
-
border-bottom: none;
|
|
85744
|
-
border-radius: 6px 6px 0 0;
|
|
85745
|
-
background-color: #629be7dd;
|
|
85746
|
-
z-index: 10;
|
|
85747
|
-
cursor: grab;
|
|
85748
|
-
display: none;
|
|
85749
|
-
}
|
|
85750
|
-
.sd-structured-content-draggable span {
|
|
85751
|
-
max-width: 100%;
|
|
85752
|
-
overflow: hidden;
|
|
85753
|
-
white-space: nowrap;
|
|
85754
|
-
text-overflow: ellipsis;
|
|
85755
|
-
}
|
|
85756
|
-
.sd-structured-content:hover .sd-structured-content-draggable,
|
|
85757
|
-
.sd-structured-content-block:hover .sd-structured-content-draggable {
|
|
85758
|
-
display: inline-flex;
|
|
85759
|
-
}
|
|
85760
|
-
`;
|
|
85761
|
-
let cachedStyleSheet = null;
|
|
85762
|
-
const defaultEditorStyles = editorStyles;
|
|
85763
|
-
let shadowEditorStyles = defaultEditorStyles;
|
|
85764
|
-
const supportsConstructableStylesheets = () => {
|
|
85765
|
-
const DocumentCtor = (
|
|
85766
|
-
/** @type {typeof Document | undefined} */
|
|
85767
|
-
globalThis.Document
|
|
85768
|
-
);
|
|
85769
|
-
const CSSStyleSheetCtor = (
|
|
85770
|
-
/** @type {typeof CSSStyleSheet | undefined} */
|
|
85771
|
-
globalThis.CSSStyleSheet
|
|
85772
|
-
);
|
|
85773
|
-
if (!DocumentCtor || !CSSStyleSheetCtor) return false;
|
|
85774
|
-
const documentPrototype = DocumentCtor.prototype;
|
|
85775
|
-
const styleSheetPrototype = CSSStyleSheetCtor.prototype;
|
|
85776
|
-
return !!documentPrototype && "adoptedStyleSheets" in documentPrototype && !!styleSheetPrototype && typeof styleSheetPrototype.replaceSync === "function";
|
|
85777
|
-
};
|
|
85778
|
-
const ensureStyleSheet = (root2) => {
|
|
85779
|
-
if (!root2 || !shadowEditorStyles) return;
|
|
85780
|
-
if (supportsConstructableStylesheets()) {
|
|
85781
|
-
if (!cachedStyleSheet) {
|
|
85782
|
-
const CSSStyleSheetCtor = (
|
|
85783
|
-
/** @type {typeof CSSStyleSheet} */
|
|
85784
|
-
globalThis.CSSStyleSheet
|
|
85785
|
-
);
|
|
85786
|
-
cachedStyleSheet = new CSSStyleSheetCtor();
|
|
85787
|
-
cachedStyleSheet.replaceSync(shadowEditorStyles);
|
|
85788
|
-
}
|
|
85789
|
-
const sheets = Array.isArray(root2.adoptedStyleSheets) ? root2.adoptedStyleSheets : [];
|
|
85790
|
-
if (!sheets.includes(cachedStyleSheet)) {
|
|
85791
|
-
root2.adoptedStyleSheets = [...sheets, cachedStyleSheet];
|
|
85792
|
-
}
|
|
85793
|
-
return;
|
|
85794
|
-
}
|
|
85795
|
-
const doc2 = (
|
|
85796
|
-
/** @type {Document | undefined} */
|
|
85797
|
-
globalThis.document
|
|
85798
|
-
);
|
|
85799
|
-
if (!doc2 || typeof root2.querySelector !== "function") return;
|
|
85800
|
-
if (!root2.querySelector("style[data-super-editor-styles]")) {
|
|
85801
|
-
const styleEl = doc2.createElement("style");
|
|
85802
|
-
styleEl.setAttribute("data-super-editor-styles", "");
|
|
85803
|
-
styleEl.textContent = shadowEditorStyles;
|
|
85804
|
-
root2.appendChild(styleEl);
|
|
85805
|
-
}
|
|
85806
|
-
};
|
|
85807
|
-
const ensureEditorShadowRoot = (hostElement) => {
|
|
85808
|
-
const doc2 = (
|
|
85809
|
-
/** @type {Document | undefined} */
|
|
85810
|
-
globalThis.document
|
|
85811
|
-
);
|
|
85812
|
-
if (!hostElement || !doc2 || typeof hostElement.attachShadow !== "function") {
|
|
85813
|
-
return { root: null, mount: null };
|
|
85814
|
-
}
|
|
85815
|
-
const root2 = hostElement.shadowRoot || hostElement.attachShadow({ mode: "open" });
|
|
85816
|
-
ensureStyleSheet(root2);
|
|
85817
|
-
let mount2 = root2.querySelector(".sd-editor-mount");
|
|
85818
|
-
if (!mount2) {
|
|
85819
|
-
mount2 = doc2.createElement("div");
|
|
85820
|
-
mount2.className = "sd-editor-mount";
|
|
85821
|
-
root2.appendChild(mount2);
|
|
85822
|
-
}
|
|
85823
|
-
return { root: root2, mount: mount2 };
|
|
85824
|
-
};
|
|
85825
84986
|
const _hoisted_1$1 = { class: "super-editor-container" };
|
|
85826
84987
|
const _hoisted_2 = {
|
|
85827
84988
|
key: 1,
|
|
@@ -85860,7 +85021,6 @@ const _sfc_main$1 = {
|
|
|
85860
85021
|
const message = useMessage();
|
|
85861
85022
|
const editorWrapper = ref$1(null);
|
|
85862
85023
|
const editorElem = ref$1(null);
|
|
85863
|
-
const editorMountPoint = shallowRef(null);
|
|
85864
85024
|
const fileSource = ref$1(null);
|
|
85865
85025
|
const popoverControls = reactive({
|
|
85866
85026
|
visible: false,
|
|
@@ -85949,15 +85109,9 @@ const _sfc_main$1 = {
|
|
|
85949
85109
|
return extensions;
|
|
85950
85110
|
};
|
|
85951
85111
|
const initEditor = async ({ content, media = {}, mediaFiles = {}, fonts = {} } = {}) => {
|
|
85952
|
-
if (!editorElem.value) return;
|
|
85953
|
-
const { mount: mount2 } = ensureEditorShadowRoot(editorElem.value);
|
|
85954
|
-
editorMountPoint.value = mount2;
|
|
85955
|
-
if (editorMountPoint.value) {
|
|
85956
|
-
editorMountPoint.value.innerHTML = "";
|
|
85957
|
-
}
|
|
85958
85112
|
editor.value = new Editor({
|
|
85959
85113
|
mode: "docx",
|
|
85960
|
-
element:
|
|
85114
|
+
element: editorElem.value,
|
|
85961
85115
|
fileSource: fileSource.value,
|
|
85962
85116
|
extensions: getExtensions(),
|
|
85963
85117
|
externalExtensions: props.options.externalExtensions,
|
|
@@ -86004,12 +85158,11 @@ const _sfc_main$1 = {
|
|
|
86004
85158
|
};
|
|
86005
85159
|
const handleSuperEditorClick = (event) => {
|
|
86006
85160
|
emit("editor-click", { editor: editor.value });
|
|
86007
|
-
|
|
85161
|
+
let pmElement = editorElem.value?.querySelector(".ProseMirror");
|
|
86008
85162
|
if (!pmElement || !editor.value) {
|
|
86009
85163
|
return;
|
|
86010
85164
|
}
|
|
86011
|
-
|
|
86012
|
-
const isInsideEditor = eventPath.includes(pmElement);
|
|
85165
|
+
let isInsideEditor = pmElement.contains(event.target);
|
|
86013
85166
|
if (!isInsideEditor && editor.value.isEditable) {
|
|
86014
85167
|
editor.value.view?.focus();
|
|
86015
85168
|
}
|
|
@@ -86022,9 +85175,7 @@ const _sfc_main$1 = {
|
|
|
86022
85175
|
if (props.options?.suppressSkeletonLoader || !props.options?.collaborationProvider) editorReady.value = true;
|
|
86023
85176
|
});
|
|
86024
85177
|
const handleMarginClick = (event) => {
|
|
86025
|
-
|
|
86026
|
-
const eventPath = event.composedPath?.() || [];
|
|
86027
|
-
if (pmElement && eventPath.includes(pmElement)) return;
|
|
85178
|
+
if (event.target.classList.contains("ProseMirror")) return;
|
|
86028
85179
|
onMarginClickCursorChange(event, editor.value);
|
|
86029
85180
|
};
|
|
86030
85181
|
const handleMarginChange = ({ side, value }) => {
|
|
@@ -86130,7 +85281,7 @@ const _sfc_main$1 = {
|
|
|
86130
85281
|
};
|
|
86131
85282
|
}
|
|
86132
85283
|
};
|
|
86133
|
-
const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-
|
|
85284
|
+
const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-0c36dd72"]]);
|
|
86134
85285
|
const _hoisted_1 = ["innerHTML"];
|
|
86135
85286
|
const _sfc_main = {
|
|
86136
85287
|
__name: "SuperInput",
|
|
@@ -86160,7 +85311,6 @@ const _sfc_main = {
|
|
|
86160
85311
|
const props = __props;
|
|
86161
85312
|
const editor = shallowRef();
|
|
86162
85313
|
const editorElem = ref$1(null);
|
|
86163
|
-
const editorMountPoint = shallowRef(null);
|
|
86164
85314
|
const isFocused = ref$1(false);
|
|
86165
85315
|
const onTransaction = ({ editor: editor2, transaction }) => {
|
|
86166
85316
|
const contents = editor2.getHTML();
|
|
@@ -86180,15 +85330,10 @@ const _sfc_main = {
|
|
|
86180
85330
|
props.options.onTransaction = onTransaction;
|
|
86181
85331
|
props.options.onFocus = onFocus;
|
|
86182
85332
|
props.options.onBlur = onBlur;
|
|
86183
|
-
const { mount: mount2 } = ensureEditorShadowRoot(editorElem.value);
|
|
86184
|
-
editorMountPoint.value = mount2;
|
|
86185
|
-
if (editorMountPoint.value) {
|
|
86186
|
-
editorMountPoint.value.innerHTML = "";
|
|
86187
|
-
}
|
|
86188
85333
|
editor.value = new Editor({
|
|
86189
85334
|
mode: "text",
|
|
86190
85335
|
content: document.getElementById("currentContent"),
|
|
86191
|
-
element:
|
|
85336
|
+
element: editorElem.value,
|
|
86192
85337
|
extensions: getRichTextExtensions(),
|
|
86193
85338
|
users: props.users,
|
|
86194
85339
|
...props.options
|
|
@@ -86227,35 +85372,77 @@ const _sfc_main = {
|
|
|
86227
85372
|
};
|
|
86228
85373
|
}
|
|
86229
85374
|
};
|
|
86230
|
-
const SuperInput = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
86231
|
-
const
|
|
86232
|
-
|
|
85375
|
+
const SuperInput = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4d5cff52"]]);
|
|
85376
|
+
const additionalHandlers = Object.freeze({
|
|
85377
|
+
"mc:AlternateContent": translator,
|
|
85378
|
+
"w:b": translator$12,
|
|
85379
|
+
"w:bidiVisual": translator$F,
|
|
85380
|
+
"w:bookmarkEnd": translator$1,
|
|
85381
|
+
"w:bookmarkStart": translator$2,
|
|
85382
|
+
"w:bottom": translator$s,
|
|
86233
85383
|
"w:br": translator$16,
|
|
86234
85384
|
"w:cantSplit": translator$T,
|
|
86235
85385
|
"w:cnfStyle": translator$S,
|
|
85386
|
+
"w:color": translator$_,
|
|
86236
85387
|
"w:divId": translator$R,
|
|
85388
|
+
"w:drawing": translator$4,
|
|
85389
|
+
"w:end": translator$q,
|
|
86237
85390
|
"w:gridAfter": translator$Q,
|
|
86238
85391
|
"w:gridBefore": translator$P,
|
|
85392
|
+
"w:gridCol": translator$b,
|
|
86239
85393
|
"w:hidden": translator$O,
|
|
85394
|
+
"w:highlight": translator$15,
|
|
86240
85395
|
"w:hyperlink": translator$7,
|
|
85396
|
+
"w:i": translator$11,
|
|
85397
|
+
"w:insideH": translator$o,
|
|
85398
|
+
"w:insideV": translator$n,
|
|
86241
85399
|
"w:jc": translator$N,
|
|
85400
|
+
"w:left": translator$m,
|
|
86242
85401
|
"w:p": translator$13,
|
|
86243
85402
|
"w:r": translator$U,
|
|
85403
|
+
"w:rFonts": translator$Z,
|
|
86244
85404
|
"w:rPr": translator$V,
|
|
85405
|
+
"w:rStyle": translator$Y,
|
|
85406
|
+
"w:right": translator$k,
|
|
86245
85407
|
"w:sdt": translator$3,
|
|
85408
|
+
"w:shd": translator$E,
|
|
85409
|
+
"w:start": translator$i,
|
|
85410
|
+
"w:strike": translator$$,
|
|
85411
|
+
"w:sz": translator$X,
|
|
85412
|
+
"w:szCs": translator$W,
|
|
86246
85413
|
"w:tab": translator$14,
|
|
85414
|
+
"w:tbl": translator$9,
|
|
85415
|
+
"w:tblBorders": translator$e,
|
|
85416
|
+
"w:tblCaption": translator$D,
|
|
85417
|
+
"w:tblCellMar": translator$d,
|
|
86247
85418
|
"w:tblCellSpacing": translator$M,
|
|
85419
|
+
"w:tblDescription": translator$C,
|
|
85420
|
+
"w:tblGrid": translator$a,
|
|
86248
85421
|
"w:tblHeader": translator$L,
|
|
85422
|
+
"w:tblInd": translator$B,
|
|
85423
|
+
"w:tblLayout": translator$A,
|
|
85424
|
+
"w:tblLook": translator$z,
|
|
85425
|
+
"w:tblOverlap": translator$y,
|
|
85426
|
+
"w:tblPr": translator$c,
|
|
85427
|
+
"w:tblStyle": translator$x,
|
|
85428
|
+
"w:tblStyleColBandSize": translator$w,
|
|
85429
|
+
"w:tblStyleRowBandSize": translator$v,
|
|
85430
|
+
"w:tblW": translator$u,
|
|
85431
|
+
"w:tblpPr": translator$t,
|
|
86249
85432
|
"w:tc": translator$8,
|
|
85433
|
+
"w:top": translator$g,
|
|
86250
85434
|
"w:tr": translator$G,
|
|
86251
85435
|
"w:trHeight": translator$K,
|
|
86252
85436
|
"w:trPr": translator$H,
|
|
85437
|
+
"w:u": translator$10,
|
|
86253
85438
|
"w:wAfter": translator$J,
|
|
86254
85439
|
"w:wBefore": translator$I,
|
|
86255
85440
|
"wp:anchor": translator$6,
|
|
86256
|
-
"wp:inline": translator$5
|
|
86257
|
-
|
|
86258
|
-
|
|
85441
|
+
"wp:inline": translator$5
|
|
85442
|
+
});
|
|
85443
|
+
const baseHandlers = {
|
|
85444
|
+
...runPropertyTranslators,
|
|
85445
|
+
...additionalHandlers
|
|
86259
85446
|
};
|
|
86260
85447
|
const registeredHandlers = Object.freeze(baseHandlers);
|
|
86261
85448
|
const Extensions = {
|