@harbour-enterprises/superdoc 0.21.0-next.5 → 0.21.0-next.6
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-DYQ6TKSD.cjs → PdfViewer-BrJSIJjF.cjs} +1 -1
- package/dist/chunks/{PdfViewer-p-D44U59.es.js → PdfViewer-CJAEtjUD.es.js} +1 -1
- package/dist/chunks/{index-CDJb8aX-.es.js → index-BDfKQQiO.es.js} +2 -2
- package/dist/chunks/{index-CtZxITmf.cjs → index-NiOytIlp.cjs} +2 -2
- package/dist/chunks/{super-editor.es-Do6Vcsbv.cjs → super-editor.es-DmkkMNKU.cjs} +1638 -669
- package/dist/chunks/{super-editor.es-HiSJrA0J.es.js → super-editor.es-iVTtEcot.es.js} +1638 -669
- 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-3xnF_NHq.js → converter-CYC0HBJe.js} +733 -642
- package/dist/super-editor/chunks/{docx-zipper-CZdELYi-.js → docx-zipper-DlwteneT.js} +1 -1
- package/dist/super-editor/chunks/{editor-BqYH4kDD.js → editor-BzT9rpXb.js} +59 -13
- package/dist/super-editor/chunks/{toolbar-TkaE2kKM.js → toolbar-BnTHDmlP.js} +6 -7
- 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/core/super-converter/v3/handlers/mc/altermateContent/alternate-content-translator.d.ts +6 -0
- package/dist/super-editor/src/core/super-converter/v3/handlers/mc/altermateContent/index.d.ts +1 -0
- package/dist/super-editor/src/extensions/noderesizer/helpers.d.ts +2 -0
- package/dist/super-editor/src/tests/helpers/helpers.d.ts +1 -0
- package/dist/super-editor/src/utils/shadow-root.d.ts +12 -0
- package/dist/super-editor/style.css +11 -11
- package/dist/super-editor/super-editor.es.js +849 -16
- 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 +1638 -669
- package/dist/superdoc.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -9,14 +9,14 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
|
|
|
9
9
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
10
10
|
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
11
11
|
var _SuperToolbar_instances, initToolbarGroups_fn, _interceptedCommands, makeToolbarItems_fn, initDefaultFonts_fn, updateHighlightColors_fn, deactivateAll_fn, updateToolbarHistory_fn, runCommandWithArgumentOnly_fn;
|
|
12
|
-
import { av as getDefaultExportFromCjs, V as v4, T as TextSelection$1, v as getMarkRange, ay as vClickOutside, H as findParentNode, az as getActiveFormatting, ap as isInTable, aA as readFromClipboard, aB as handleClipboardPaste, aC as getFileObject, aD as runPropertyTranslators, aE as translator, aF as translator$1, aG as translator$2, aH as translator$3, aI as translator$4, aJ as translator$5, aK as translator$6, aL as translator$7, aM as translator$8, aN as translator$9, aO as translator$a, aP as translator$b, aQ as translator$c, aR as translator$d, aS as translator$e, aT as translator$f, aU as translator$g, aV as translator$h, aW as translator$i, aX as translator$j, aY as translator$k, aZ as translator$l, a_ as translator$m, a$ as translator$n, b0 as translator$o, b1 as translator$p, a as Plugin } from "./chunks/converter-
|
|
13
|
-
import { b2, a5, i, a2 } from "./chunks/converter-
|
|
14
|
-
import { _ as _export_sfc, u as useHighContrastMode, a as getQuickFormatList, b as generateLinkedStyleString, c as getFileOpener, d as checkAndProcessImage, r as replaceSelectionWithImagePlaceholder, e as uploadAndInsertImage, y as yUndoPluginKey, f as undoDepth, h as redoDepth, S as SlashMenuPluginKey, E as Editor, i as getStarterExtensions, P as Placeholder, j as getRichTextExtensions, M as Mark, k as Extension, A as Attribute, N as Node } from "./chunks/editor-
|
|
15
|
-
import { n, C, o, T, l, p, m } from "./chunks/editor-
|
|
12
|
+
import { av as getDefaultExportFromCjs, V as v4, T as TextSelection$1, v as getMarkRange, ay as vClickOutside, H as findParentNode, az as getActiveFormatting, ap as isInTable, aA as readFromClipboard, aB as handleClipboardPaste, aC as getFileObject, aD as runPropertyTranslators, aE as translator, aF as translator$1, aG as translator$2, aH as translator$3, aI as translator$4, aJ as translator$5, aK as translator$6, aL as translator$7, aM as translator$8, aN as translator$9, aO as translator$a, aP as translator$b, aQ as translator$c, aR as translator$d, aS as translator$e, aT as translator$f, aU as translator$g, aV as translator$h, aW as translator$i, aX as translator$j, aY as translator$k, aZ as translator$l, a_ as translator$m, a$ as translator$n, b0 as translator$o, b1 as translator$p, a as Plugin } from "./chunks/converter-CYC0HBJe.js";
|
|
13
|
+
import { b2, a5, i, a2 } from "./chunks/converter-CYC0HBJe.js";
|
|
14
|
+
import { _ as _export_sfc, u as useHighContrastMode, a as getQuickFormatList, b as generateLinkedStyleString, c as getFileOpener, d as checkAndProcessImage, r as replaceSelectionWithImagePlaceholder, e as uploadAndInsertImage, y as yUndoPluginKey, f as undoDepth, h as redoDepth, S as SlashMenuPluginKey, E as Editor, i as getStarterExtensions, P as Placeholder, j as getRichTextExtensions, M as Mark, k as Extension, A as Attribute, N as Node } from "./chunks/editor-BzT9rpXb.js";
|
|
15
|
+
import { n, C, o, T, l, p, m } from "./chunks/editor-BzT9rpXb.js";
|
|
16
16
|
import { ref, onMounted, createElementBlock, openBlock, normalizeClass, unref, Fragment, renderList, createElementVNode, withModifiers, toDisplayString, createCommentVNode, normalizeStyle, computed, watch, withDirectives, withKeys, vModelText, createTextVNode, createVNode, h, createApp, markRaw, nextTick, onBeforeUnmount, reactive, onUnmounted, renderSlot, shallowRef, createBlock, withCtx, resolveDynamicComponent, normalizeProps, guardReactiveProps } from "vue";
|
|
17
|
-
import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, m as magicWandIcon, p as plusIconSvg, a as trashIconSvg, l as linkIconSvg, b as tableIconSvg, c as scissorsIconSvg, d as copyIconSvg, e as pasteIconSvg, f as borderNoneIconSvg, g as arrowsToDotIconSvg, h as arrowsLeftRightIconSvg, w as wrenchIconSvg, u as useMessage, N as NSkeleton } from "./chunks/toolbar-
|
|
17
|
+
import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, m as magicWandIcon, p as plusIconSvg, a as trashIconSvg, l as linkIconSvg, b as tableIconSvg, c as scissorsIconSvg, d as copyIconSvg, e as pasteIconSvg, f as borderNoneIconSvg, g as arrowsToDotIconSvg, h as arrowsLeftRightIconSvg, w as wrenchIconSvg, u as useMessage, N as NSkeleton } from "./chunks/toolbar-BnTHDmlP.js";
|
|
18
18
|
import AIWriter from "./ai-writer.es.js";
|
|
19
|
-
import { D } from "./chunks/docx-zipper-
|
|
19
|
+
import { D } from "./chunks/docx-zipper-DlwteneT.js";
|
|
20
20
|
import { createZip } from "./file-zipper.es.js";
|
|
21
21
|
var eventemitter3 = { exports: {} };
|
|
22
22
|
var hasRequiredEventemitter3;
|
|
@@ -4231,10 +4231,12 @@ const _sfc_main$4 = {
|
|
|
4231
4231
|
}
|
|
4232
4232
|
};
|
|
4233
4233
|
function adjustPaginationBreaks(editorElem, editor) {
|
|
4234
|
-
|
|
4234
|
+
const hostElement = editorElem.value;
|
|
4235
|
+
if (!hostElement || !editor?.value?.options?.scale) return;
|
|
4235
4236
|
const zoom = editor.value.options.scale;
|
|
4236
|
-
const bounds =
|
|
4237
|
-
const
|
|
4237
|
+
const bounds = hostElement.getBoundingClientRect();
|
|
4238
|
+
const searchRoot = hostElement.shadowRoot || hostElement;
|
|
4239
|
+
const breakNodes = searchRoot.querySelectorAll(".pagination-break-wrapper");
|
|
4238
4240
|
let firstLeft;
|
|
4239
4241
|
breakNodes.forEach((node) => {
|
|
4240
4242
|
const nodeBounds = node.getBoundingClientRect();
|
|
@@ -4525,6 +4527,821 @@ const _sfc_main$2 = {
|
|
|
4525
4527
|
};
|
|
4526
4528
|
const GenericPopover = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-cbddcc0f"]]);
|
|
4527
4529
|
const BlankDOCX = "data:application/octet-stream;base64,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";
|
|
4530
|
+
const editorStyles = `:root {
|
|
4531
|
+
/* CSS variables */
|
|
4532
|
+
}
|
|
4533
|
+
.sd-input-active {
|
|
4534
|
+
border: 1px solid #1355ff !important;
|
|
4535
|
+
}
|
|
4536
|
+
.sd-super-editor-html .ProseMirror {
|
|
4537
|
+
border: 1px solid #d9d9d9;
|
|
4538
|
+
outline: none;
|
|
4539
|
+
border-radius: 8px;
|
|
4540
|
+
height: 100%;
|
|
4541
|
+
width: 100%;
|
|
4542
|
+
outline: none;
|
|
4543
|
+
}
|
|
4544
|
+
a {
|
|
4545
|
+
text-decoration: auto;
|
|
4546
|
+
}
|
|
4547
|
+
/**
|
|
4548
|
+
* Basic ProseMirror styles.
|
|
4549
|
+
* https://github.com/ProseMirror/prosemirror-view/blob/master/style/prosemirror.css
|
|
4550
|
+
*/
|
|
4551
|
+
.ProseMirror {
|
|
4552
|
+
position: relative;
|
|
4553
|
+
}
|
|
4554
|
+
.ProseMirror {
|
|
4555
|
+
word-wrap: break-word;
|
|
4556
|
+
white-space: pre-wrap;
|
|
4557
|
+
white-space: break-spaces;
|
|
4558
|
+
-webkit-font-variant-ligatures: none;
|
|
4559
|
+
font-variant-ligatures: none;
|
|
4560
|
+
font-feature-settings: 'liga' 0; /* the above doesn't seem to work in Edge */
|
|
4561
|
+
}
|
|
4562
|
+
.ProseMirror pre {
|
|
4563
|
+
white-space: pre-wrap;
|
|
4564
|
+
}
|
|
4565
|
+
.ProseMirror ol,
|
|
4566
|
+
.ProseMirror ul {
|
|
4567
|
+
margin-block-start: 0;
|
|
4568
|
+
margin-block-end: 0;
|
|
4569
|
+
margin-inline-start: 0;
|
|
4570
|
+
margin-inline-end: 0;
|
|
4571
|
+
}
|
|
4572
|
+
.ProseMirror ol,
|
|
4573
|
+
.ProseMirror ul {
|
|
4574
|
+
padding-inline-start: 0;
|
|
4575
|
+
padding-left: 0;
|
|
4576
|
+
list-style: none;
|
|
4577
|
+
}
|
|
4578
|
+
.ProseMirror li::marker {
|
|
4579
|
+
content: none;
|
|
4580
|
+
}
|
|
4581
|
+
.ProseMirror li::marker {
|
|
4582
|
+
padding: 0;
|
|
4583
|
+
margin: 0;
|
|
4584
|
+
}
|
|
4585
|
+
.ProseMirror li > p {
|
|
4586
|
+
margin: 0;
|
|
4587
|
+
padding: 0;
|
|
4588
|
+
display: inline-block;
|
|
4589
|
+
}
|
|
4590
|
+
.ProseMirror.header-footer-edit > p img,
|
|
4591
|
+
.ProseMirror.header-footer-edit > p a,
|
|
4592
|
+
.ProseMirror.header-footer-edit li img,
|
|
4593
|
+
.ProseMirror.header-footer-edit li a,
|
|
4594
|
+
.ProseMirror.header-footer-edit span img,
|
|
4595
|
+
.ProseMirror.header-footer-edit span a {
|
|
4596
|
+
opacity: 1;
|
|
4597
|
+
}
|
|
4598
|
+
.ProseMirror.header-footer-edit .pagination-break-wrapper {
|
|
4599
|
+
color: initial !important;
|
|
4600
|
+
}
|
|
4601
|
+
.ProseMirror.header-footer-edit .pagination-break-wrapper span {
|
|
4602
|
+
color: initial !important;
|
|
4603
|
+
}
|
|
4604
|
+
.ProseMirror.header-footer-edit .pagination-break-wrapper img,
|
|
4605
|
+
.ProseMirror.header-footer-edit .pagination-break-wrapper a {
|
|
4606
|
+
opacity: 1;
|
|
4607
|
+
}
|
|
4608
|
+
.pagination-section-header div[contenteditable='false'] {
|
|
4609
|
+
user-select: none;
|
|
4610
|
+
}
|
|
4611
|
+
/**
|
|
4612
|
+
* Hide marker for indented lists.
|
|
4613
|
+
* If a list-item contains a list but doesn't contain a "p" tag with text.
|
|
4614
|
+
*/
|
|
4615
|
+
.ProseMirror ol {
|
|
4616
|
+
margin: 0;
|
|
4617
|
+
}
|
|
4618
|
+
.ProseMirror li:has(> ul:first-child, > ol:first-child):not(:has(> p)) {
|
|
4619
|
+
list-style-type: none;
|
|
4620
|
+
}
|
|
4621
|
+
.ProseMirror li:has(> ul:first-child, > ol:first-child):not(:has(> p))::marker {
|
|
4622
|
+
content: '';
|
|
4623
|
+
}
|
|
4624
|
+
.ProseMirror-hideselection *::selection {
|
|
4625
|
+
background: transparent;
|
|
4626
|
+
}
|
|
4627
|
+
.ProseMirror-hideselection *::-moz-selection {
|
|
4628
|
+
background: transparent;
|
|
4629
|
+
}
|
|
4630
|
+
.ProseMirror-hideselection * {
|
|
4631
|
+
caret-color: transparent;
|
|
4632
|
+
}
|
|
4633
|
+
/* See https://github.com/ProseMirror/prosemirror/issues/1421#issuecomment-1759320191 */
|
|
4634
|
+
.ProseMirror [draggable][contenteditable='false'] {
|
|
4635
|
+
user-select: text;
|
|
4636
|
+
}
|
|
4637
|
+
.ProseMirror-selectednode {
|
|
4638
|
+
outline: 2px solid #8cf;
|
|
4639
|
+
}
|
|
4640
|
+
/* Make sure li selections wrap around markers */
|
|
4641
|
+
li.ProseMirror-selectednode {
|
|
4642
|
+
outline: none;
|
|
4643
|
+
}
|
|
4644
|
+
li.ProseMirror-selectednode:after {
|
|
4645
|
+
content: '';
|
|
4646
|
+
position: absolute;
|
|
4647
|
+
left: -32px;
|
|
4648
|
+
right: -2px;
|
|
4649
|
+
top: -2px;
|
|
4650
|
+
bottom: -2px;
|
|
4651
|
+
border: 2px solid #8cf;
|
|
4652
|
+
pointer-events: none;
|
|
4653
|
+
}
|
|
4654
|
+
.ProseMirror img {
|
|
4655
|
+
height: auto;
|
|
4656
|
+
max-width: 100%;
|
|
4657
|
+
}
|
|
4658
|
+
/* Protect against generic img rules */
|
|
4659
|
+
img.ProseMirror-separator {
|
|
4660
|
+
display: inline !important;
|
|
4661
|
+
border: none !important;
|
|
4662
|
+
margin: 0 !important;
|
|
4663
|
+
}
|
|
4664
|
+
.ProseMirror .sd-editor-tab {
|
|
4665
|
+
display: inline-block;
|
|
4666
|
+
vertical-align: text-bottom;
|
|
4667
|
+
}
|
|
4668
|
+
.ProseMirror u .sd-editor-tab:not(.pagination-inner .sd-editor-tab) {
|
|
4669
|
+
white-space: pre;
|
|
4670
|
+
border-bottom: 1px solid #000;
|
|
4671
|
+
margin-bottom: 1.5px;
|
|
4672
|
+
}
|
|
4673
|
+
/*
|
|
4674
|
+
Tables
|
|
4675
|
+
https://github.com/ProseMirror/prosemirror-tables/blob/master/style/tables.css
|
|
4676
|
+
https://github.com/ProseMirror/prosemirror-tables/blob/master/demo/index.html
|
|
4677
|
+
*/
|
|
4678
|
+
.ProseMirror.resize-cursor {
|
|
4679
|
+
cursor: ew-resize;
|
|
4680
|
+
cursor: col-resize;
|
|
4681
|
+
}
|
|
4682
|
+
.ProseMirror .tableWrapper {
|
|
4683
|
+
--table-border-width: 1px;
|
|
4684
|
+
--offset: 2px;
|
|
4685
|
+
|
|
4686
|
+
overflow-x: auto;
|
|
4687
|
+
scrollbar-width: thin;
|
|
4688
|
+
overflow: hidden;
|
|
4689
|
+
|
|
4690
|
+
/*
|
|
4691
|
+
The border width does not need to be multiplied by two,
|
|
4692
|
+
for tables it works differently. */
|
|
4693
|
+
width: calc(100% + (var(--table-border-width) + var(--offset)));
|
|
4694
|
+
}
|
|
4695
|
+
.ProseMirror table {
|
|
4696
|
+
border-collapse: collapse;
|
|
4697
|
+
border-spacing: 0;
|
|
4698
|
+
table-layout: fixed;
|
|
4699
|
+
margin: 0;
|
|
4700
|
+
/* width: 100%; */
|
|
4701
|
+
}
|
|
4702
|
+
.ProseMirror tr {
|
|
4703
|
+
position: relative;
|
|
4704
|
+
}
|
|
4705
|
+
.ProseMirror td,
|
|
4706
|
+
.ProseMirror th {
|
|
4707
|
+
min-width: 1em;
|
|
4708
|
+
position: relative;
|
|
4709
|
+
vertical-align: top;
|
|
4710
|
+
box-sizing: border-box;
|
|
4711
|
+
overflow-wrap: anywhere;
|
|
4712
|
+
}
|
|
4713
|
+
.ProseMirror th {
|
|
4714
|
+
font-weight: bold;
|
|
4715
|
+
text-align: left;
|
|
4716
|
+
}
|
|
4717
|
+
.ProseMirror table .column-resize-handle {
|
|
4718
|
+
position: absolute;
|
|
4719
|
+
right: -2px;
|
|
4720
|
+
top: 0;
|
|
4721
|
+
bottom: -2px; /* 0 */
|
|
4722
|
+
width: 4px;
|
|
4723
|
+
z-index: 20;
|
|
4724
|
+
background-color: #adf;
|
|
4725
|
+
pointer-events: none;
|
|
4726
|
+
}
|
|
4727
|
+
.ProseMirror table .selectedCell:after {
|
|
4728
|
+
position: absolute;
|
|
4729
|
+
content: '';
|
|
4730
|
+
left: 0;
|
|
4731
|
+
right: 0;
|
|
4732
|
+
top: 0;
|
|
4733
|
+
bottom: 0;
|
|
4734
|
+
background: rgba(200, 200, 255, 0.4);
|
|
4735
|
+
pointer-events: none;
|
|
4736
|
+
z-index: 2;
|
|
4737
|
+
}
|
|
4738
|
+
/* Tables - end */
|
|
4739
|
+
/* Track changes */
|
|
4740
|
+
.ProseMirror .track-insert-dec,
|
|
4741
|
+
.ProseMirror .track-delete-dec,
|
|
4742
|
+
.ProseMirror .track-format-dec {
|
|
4743
|
+
pointer-events: none;
|
|
4744
|
+
}
|
|
4745
|
+
.ProseMirror .track-insert-dec.hidden,
|
|
4746
|
+
.ProseMirror .track-delete-dec.hidden {
|
|
4747
|
+
display: none;
|
|
4748
|
+
}
|
|
4749
|
+
.ProseMirror .track-insert-dec.highlighted {
|
|
4750
|
+
border-top: 1px dashed #00853d;
|
|
4751
|
+
border-bottom: 1px dashed #00853d;
|
|
4752
|
+
background-color: #399c7222;
|
|
4753
|
+
}
|
|
4754
|
+
.ProseMirror .track-delete-dec.highlighted {
|
|
4755
|
+
border-top: 1px dashed #cb0e47;
|
|
4756
|
+
border-bottom: 1px dashed #cb0e47;
|
|
4757
|
+
background-color: #cb0e4722;
|
|
4758
|
+
text-decoration: line-through;
|
|
4759
|
+
text-decoration-thickness: 2px;
|
|
4760
|
+
}
|
|
4761
|
+
.ProseMirror .track-format-dec.highlighted {
|
|
4762
|
+
border-bottom: 2px solid gold;
|
|
4763
|
+
}
|
|
4764
|
+
.ProseMirror .track-delete-widget {
|
|
4765
|
+
visibility: hidden;
|
|
4766
|
+
}
|
|
4767
|
+
/* Track changes - end */
|
|
4768
|
+
/* Collaboration cursors */
|
|
4769
|
+
.ProseMirror > .ProseMirror-yjs-cursor:first-child {
|
|
4770
|
+
margin-top: 16px;
|
|
4771
|
+
}
|
|
4772
|
+
.ProseMirror-yjs-cursor {
|
|
4773
|
+
position: relative;
|
|
4774
|
+
margin-left: -1px;
|
|
4775
|
+
margin-right: -1px;
|
|
4776
|
+
border-left: 1px solid black;
|
|
4777
|
+
border-right: 1px solid black;
|
|
4778
|
+
border-color: orange;
|
|
4779
|
+
word-break: normal;
|
|
4780
|
+
pointer-events: none;
|
|
4781
|
+
}
|
|
4782
|
+
.ProseMirror-yjs-cursor > div {
|
|
4783
|
+
position: absolute;
|
|
4784
|
+
top: -1.05em;
|
|
4785
|
+
left: -1px;
|
|
4786
|
+
font-size: 13px;
|
|
4787
|
+
background-color: rgb(250, 129, 0);
|
|
4788
|
+
font-family: serif;
|
|
4789
|
+
font-style: normal;
|
|
4790
|
+
font-weight: normal;
|
|
4791
|
+
line-height: normal;
|
|
4792
|
+
user-select: none;
|
|
4793
|
+
color: white;
|
|
4794
|
+
padding-left: 2px;
|
|
4795
|
+
padding-right: 2px;
|
|
4796
|
+
white-space: nowrap;
|
|
4797
|
+
}
|
|
4798
|
+
/* Collaboration cursors - end */
|
|
4799
|
+
/* Image placeholder */
|
|
4800
|
+
.ProseMirror placeholder {
|
|
4801
|
+
display: inline;
|
|
4802
|
+
border: 1px solid #ccc;
|
|
4803
|
+
color: #ccc;
|
|
4804
|
+
}
|
|
4805
|
+
.ProseMirror placeholder:after {
|
|
4806
|
+
content: '☁';
|
|
4807
|
+
font-size: 200%;
|
|
4808
|
+
line-height: 0.1;
|
|
4809
|
+
font-weight: bold;
|
|
4810
|
+
}
|
|
4811
|
+
/* Gapcursor */
|
|
4812
|
+
.ProseMirror-gapcursor {
|
|
4813
|
+
display: none;
|
|
4814
|
+
pointer-events: none;
|
|
4815
|
+
position: absolute;
|
|
4816
|
+
margin: 0;
|
|
4817
|
+
}
|
|
4818
|
+
.ProseMirror-gapcursor:after {
|
|
4819
|
+
content: '';
|
|
4820
|
+
display: block;
|
|
4821
|
+
position: absolute;
|
|
4822
|
+
top: -2px;
|
|
4823
|
+
width: 20px;
|
|
4824
|
+
border-top: 1px solid black;
|
|
4825
|
+
animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
|
|
4826
|
+
}
|
|
4827
|
+
@keyframes ProseMirror-cursor-blink {
|
|
4828
|
+
to {
|
|
4829
|
+
visibility: hidden;
|
|
4830
|
+
}
|
|
4831
|
+
}
|
|
4832
|
+
.ProseMirror-focused .ProseMirror-gapcursor {
|
|
4833
|
+
display: block;
|
|
4834
|
+
}
|
|
4835
|
+
.ProseMirror div[data-type='contentBlock'] {
|
|
4836
|
+
position: absolute;
|
|
4837
|
+
outline: none;
|
|
4838
|
+
user-select: none;
|
|
4839
|
+
z-index: -1;
|
|
4840
|
+
}
|
|
4841
|
+
.ProseMirror div[data-horizontal-rule='true'] {
|
|
4842
|
+
margin-top: auto;
|
|
4843
|
+
align-self: flex-end;
|
|
4844
|
+
}
|
|
4845
|
+
.sd-editor-dropcap {
|
|
4846
|
+
float: left;
|
|
4847
|
+
display: flex;
|
|
4848
|
+
align-items: baseline;
|
|
4849
|
+
margin-top: -5px;
|
|
4850
|
+
}
|
|
4851
|
+
.ProseMirror-search-match {
|
|
4852
|
+
background-color: #ffff0054;
|
|
4853
|
+
}
|
|
4854
|
+
.ProseMirror-active-search-match {
|
|
4855
|
+
background-color: #ff6a0054;
|
|
4856
|
+
}
|
|
4857
|
+
.ProseMirror span.sd-custom-selection::selection {
|
|
4858
|
+
background: transparent;
|
|
4859
|
+
}
|
|
4860
|
+
.sd-custom-selection {
|
|
4861
|
+
background-color: #d9d9d9;
|
|
4862
|
+
border-radius: 0.1em;
|
|
4863
|
+
}
|
|
4864
|
+
.superdoc-toolbar svg {
|
|
4865
|
+
width: 100%;
|
|
4866
|
+
height: 100%;
|
|
4867
|
+
display: block;
|
|
4868
|
+
fill: currentColor;
|
|
4869
|
+
}
|
|
4870
|
+
.superdoc-toolbar svg path {
|
|
4871
|
+
stroke: currentColor;
|
|
4872
|
+
}
|
|
4873
|
+
.sd-editor-toolbar-dropdown .n-dropdown-option .dropdown-select-icon {
|
|
4874
|
+
display: flex;
|
|
4875
|
+
width: 12px;
|
|
4876
|
+
height: 12px;
|
|
4877
|
+
}
|
|
4878
|
+
/* Custom toolbar styling */
|
|
4879
|
+
/* AI button icon styling with gradient */
|
|
4880
|
+
.toolbar-icon__icon--ai {
|
|
4881
|
+
position: relative;
|
|
4882
|
+
z-index: 1;
|
|
4883
|
+
}
|
|
4884
|
+
.toolbar-icon__icon--ai svg {
|
|
4885
|
+
fill: transparent;
|
|
4886
|
+
}
|
|
4887
|
+
.toolbar-icon__icon--ai::before {
|
|
4888
|
+
content: '';
|
|
4889
|
+
position: absolute;
|
|
4890
|
+
top: 0;
|
|
4891
|
+
left: 0;
|
|
4892
|
+
right: 0;
|
|
4893
|
+
bottom: 0;
|
|
4894
|
+
z-index: -1;
|
|
4895
|
+
background: linear-gradient(
|
|
4896
|
+
270deg,
|
|
4897
|
+
rgba(218, 215, 118, 0.5) -20%,
|
|
4898
|
+
rgba(191, 100, 100, 1) 30%,
|
|
4899
|
+
rgba(77, 82, 217, 1) 60%,
|
|
4900
|
+
rgb(255, 219, 102) 150%
|
|
4901
|
+
);
|
|
4902
|
+
-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>")
|
|
4903
|
+
center / contain no-repeat;
|
|
4904
|
+
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>")
|
|
4905
|
+
center / contain no-repeat;
|
|
4906
|
+
filter: brightness(1.2);
|
|
4907
|
+
transition: filter 0.2s ease;
|
|
4908
|
+
}
|
|
4909
|
+
.toolbar-icon__icon--ai:hover::before {
|
|
4910
|
+
filter: brightness(1.3);
|
|
4911
|
+
}
|
|
4912
|
+
/* AI text appear animation */
|
|
4913
|
+
@keyframes aiTextAppear {
|
|
4914
|
+
from {
|
|
4915
|
+
opacity: 0;
|
|
4916
|
+
transform: translateY(5px);
|
|
4917
|
+
}
|
|
4918
|
+
to {
|
|
4919
|
+
opacity: 1;
|
|
4920
|
+
transform: translateY(0);
|
|
4921
|
+
}
|
|
4922
|
+
}
|
|
4923
|
+
.sd-ai-text-appear {
|
|
4924
|
+
display: inline;
|
|
4925
|
+
opacity: 0;
|
|
4926
|
+
animation: aiTextAppear 0.7s ease-out forwards;
|
|
4927
|
+
animation-fill-mode: both;
|
|
4928
|
+
will-change: opacity, transform;
|
|
4929
|
+
/* Ensure each mark is treated as a separate animation context */
|
|
4930
|
+
contain: content;
|
|
4931
|
+
}
|
|
4932
|
+
.sd-ai-loader {
|
|
4933
|
+
display: flex;
|
|
4934
|
+
justify-content: flex-start;
|
|
4935
|
+
}
|
|
4936
|
+
.sd-ai-loader > img {
|
|
4937
|
+
width: fit-content;
|
|
4938
|
+
height: 40px;
|
|
4939
|
+
}
|
|
4940
|
+
@keyframes ai-pulse {
|
|
4941
|
+
0% {
|
|
4942
|
+
background-color: rgba(99, 102, 241, 0.1);
|
|
4943
|
+
}
|
|
4944
|
+
50% {
|
|
4945
|
+
background-color: rgba(99, 102, 241, 0.375);
|
|
4946
|
+
}
|
|
4947
|
+
100% {
|
|
4948
|
+
background-color: rgba(99, 102, 241, 0.1);
|
|
4949
|
+
}
|
|
4950
|
+
}
|
|
4951
|
+
.sd-ai-highlight-pulse {
|
|
4952
|
+
animation: ai-pulse 1.5s ease-in-out infinite;
|
|
4953
|
+
}
|
|
4954
|
+
.sd-editor-auto-page-number,
|
|
4955
|
+
.sd-editor-auto-total-pages {
|
|
4956
|
+
transition: all 250ms ease;
|
|
4957
|
+
border-bottom: 1px solid #9a9a9a;
|
|
4958
|
+
cursor: not-allowed;
|
|
4959
|
+
}
|
|
4960
|
+
.sd-editor-auto-page-number:hover,
|
|
4961
|
+
.sd-editor-auto-total-pages:hover {
|
|
4962
|
+
border-bottom-color: #4f4f4f;
|
|
4963
|
+
}
|
|
4964
|
+
.sd-editor-auto-page-number-content {
|
|
4965
|
+
pointer-events: none;
|
|
4966
|
+
}
|
|
4967
|
+
.ProseMirror.view-mode .sd-editor-auto-page-number,
|
|
4968
|
+
.ProseMirror.view-mode .sd-editor-auto-total-pages {
|
|
4969
|
+
border: none;
|
|
4970
|
+
}
|
|
4971
|
+
:root {
|
|
4972
|
+
--sd-editor-separator-height: 18px;
|
|
4973
|
+
}
|
|
4974
|
+
.pagination-section-header {
|
|
4975
|
+
cursor: default;
|
|
4976
|
+
}
|
|
4977
|
+
/* To not inherit styles from the wrapper paragraph */
|
|
4978
|
+
.pagination-section-header p {
|
|
4979
|
+
text-align: initial;
|
|
4980
|
+
}
|
|
4981
|
+
.pagination-section-footer {
|
|
4982
|
+
position: relative;
|
|
4983
|
+
width: 100%;
|
|
4984
|
+
min-width: 100%;
|
|
4985
|
+
display: flex;
|
|
4986
|
+
flex-direction: column;
|
|
4987
|
+
justify-content: flex-end;
|
|
4988
|
+
cursor: default;
|
|
4989
|
+
}
|
|
4990
|
+
/* To not inherit styles from the wrapper paragraph */
|
|
4991
|
+
.pagination-section-footer p {
|
|
4992
|
+
text-align: initial;
|
|
4993
|
+
}
|
|
4994
|
+
.pagination-break-wrapper {
|
|
4995
|
+
width: 100%;
|
|
4996
|
+
margin: 0;
|
|
4997
|
+
padding: 0;
|
|
4998
|
+
cursor: default;
|
|
4999
|
+
position: relative;
|
|
5000
|
+
}
|
|
5001
|
+
.pagination-separator {
|
|
5002
|
+
position: relative;
|
|
5003
|
+
display: block;
|
|
5004
|
+
height: var(--sd-editor-separator-height);
|
|
5005
|
+
min-height: var(--sd-editor-separator-height);
|
|
5006
|
+
min-width: 100%;
|
|
5007
|
+
width: 100%;
|
|
5008
|
+
border-top: 1px solid #dbdbdb;
|
|
5009
|
+
border-bottom: 1px solid #dbdbdb;
|
|
5010
|
+
cursor: default;
|
|
5011
|
+
}
|
|
5012
|
+
.pagination-separator--table {
|
|
5013
|
+
border: 0;
|
|
5014
|
+
}
|
|
5015
|
+
.pagination-separator-floating {
|
|
5016
|
+
position: absolute;
|
|
5017
|
+
height: var(--sd-editor-separator-height);
|
|
5018
|
+
border-top: 1px solid #dbdbdb;
|
|
5019
|
+
border-bottom: 1px solid #dbdbdb;
|
|
5020
|
+
pointer-events: none;
|
|
5021
|
+
}
|
|
5022
|
+
.pagination-inner {
|
|
5023
|
+
position: absolute;
|
|
5024
|
+
top: 0;
|
|
5025
|
+
left: 0;
|
|
5026
|
+
display: flex;
|
|
5027
|
+
flex-direction: column;
|
|
5028
|
+
background-color: white;
|
|
5029
|
+
}
|
|
5030
|
+
/**
|
|
5031
|
+
Workaround to display pagination in footer
|
|
5032
|
+
on the right if it is inside shape textbox.
|
|
5033
|
+
*/
|
|
5034
|
+
.pagination-section-footer .sd-editor-shape-container:has([data-id='auto-page-number'], [data-id='auto-total-pages']) {
|
|
5035
|
+
margin-left: auto;
|
|
5036
|
+
}
|
|
5037
|
+
.pagination-section-header img[contenteditable='false'],
|
|
5038
|
+
.pagination-section-footer img[contenteditable='false'] {
|
|
5039
|
+
pointer-events: none;
|
|
5040
|
+
}
|
|
5041
|
+
.pagination-break-wrapper {
|
|
5042
|
+
font-weight: normal;
|
|
5043
|
+
font-style: normal;
|
|
5044
|
+
color: initial;
|
|
5045
|
+
}
|
|
5046
|
+
/* TODO: This is going to be enabled again */
|
|
5047
|
+
/* .pagination-section-header div[contenteditable="false"]:not([documentmode="viewing"]),
|
|
5048
|
+
.pagination-section-footer div[contenteditable="false"]:not([documentmode="viewing"]) {
|
|
5049
|
+
opacity: 0.5;
|
|
5050
|
+
} */
|
|
5051
|
+
.sd-editor-popover {
|
|
5052
|
+
background-color: #fff;
|
|
5053
|
+
border-radius: 8px;
|
|
5054
|
+
-webkit-box-shadow: 0px 4px 12px 0px rgba(50, 50, 50, 0.15);
|
|
5055
|
+
-moz-box-shadow: 0px 4px 12px 0px rgba(50, 50, 50, 0.15);
|
|
5056
|
+
box-shadow: 0px 4px 12px 0px rgba(50, 50, 50, 0.15);
|
|
5057
|
+
padding: 0;
|
|
5058
|
+
width: auto;
|
|
5059
|
+
height: auto;
|
|
5060
|
+
font-size: 14px;
|
|
5061
|
+
color: #333;
|
|
5062
|
+
z-index: 1000;
|
|
5063
|
+
}
|
|
5064
|
+
.sd-editor-popover .popover-header {
|
|
5065
|
+
font-weight: bold;
|
|
5066
|
+
margin-bottom: 8px;
|
|
5067
|
+
}
|
|
5068
|
+
.tippy-box[data-theme~='sd-editor-popover'] {
|
|
5069
|
+
background-color: #fff;
|
|
5070
|
+
border-radius: 8px;
|
|
5071
|
+
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
|
|
5072
|
+
border: none !important;
|
|
5073
|
+
padding: 0 !important;
|
|
5074
|
+
}
|
|
5075
|
+
.tippy-box[data-theme~='sd-editor-popover'] .tippy-arrow {
|
|
5076
|
+
color: #fff;
|
|
5077
|
+
border: 1px solid #dbdbdb;
|
|
5078
|
+
}
|
|
5079
|
+
.tippy-box[data-theme~='sd-editor-popover'] .tippy-content {
|
|
5080
|
+
padding: 0;
|
|
5081
|
+
}
|
|
5082
|
+
.sd-editor-placeholder::before {
|
|
5083
|
+
content: attr(data-placeholder);
|
|
5084
|
+
color: #aaa;
|
|
5085
|
+
pointer-events: none;
|
|
5086
|
+
display: block;
|
|
5087
|
+
height: 0;
|
|
5088
|
+
}
|
|
5089
|
+
.sd-editor-mention {
|
|
5090
|
+
background-color: #1355ff15;
|
|
5091
|
+
color: #222;
|
|
5092
|
+
font-weight: 400;
|
|
5093
|
+
border-radius: 3px;
|
|
5094
|
+
padding: 0 5px;
|
|
5095
|
+
cursor: default;
|
|
5096
|
+
display: inline-block;
|
|
5097
|
+
box-sizing: border-box;
|
|
5098
|
+
}
|
|
5099
|
+
.sd-editor-comment-highlight {
|
|
5100
|
+
transition: background-color 250ms ease;
|
|
5101
|
+
}
|
|
5102
|
+
.sd-editor-comment-highlight:hover {
|
|
5103
|
+
background-color: #1354ff55;
|
|
5104
|
+
}
|
|
5105
|
+
.sd-editor-comment-highlight.sd-custom-selection {
|
|
5106
|
+
background-color: #d6c0c6 !important;
|
|
5107
|
+
}
|
|
5108
|
+
.sd-editor-list-item-node-view {
|
|
5109
|
+
position: relative;
|
|
5110
|
+
width: 100%;
|
|
5111
|
+
}
|
|
5112
|
+
.sd-editor-list-item-numbering {
|
|
5113
|
+
position: absolute;
|
|
5114
|
+
top: 0;
|
|
5115
|
+
white-space: nowrap;
|
|
5116
|
+
user-select: none;
|
|
5117
|
+
pointer-events: auto;
|
|
5118
|
+
text-align: right;
|
|
5119
|
+
z-index: 1;
|
|
5120
|
+
}
|
|
5121
|
+
.sd-editor-list-item-content-dom {
|
|
5122
|
+
position: relative;
|
|
5123
|
+
min-height: inherit;
|
|
5124
|
+
word-wrap: break-word;
|
|
5125
|
+
}
|
|
5126
|
+
/* temporary fix */
|
|
5127
|
+
.sd-editor-list-item-node-view .sd-custom-selection {
|
|
5128
|
+
font-size: inherit !important;
|
|
5129
|
+
}
|
|
5130
|
+
/* Resize handles container */
|
|
5131
|
+
.sd-editor-resize-container {
|
|
5132
|
+
position: absolute;
|
|
5133
|
+
pointer-events: none;
|
|
5134
|
+
z-index: 11;
|
|
5135
|
+
}
|
|
5136
|
+
/* Resize handles */
|
|
5137
|
+
.sd-editor-resize-handle {
|
|
5138
|
+
position: absolute;
|
|
5139
|
+
width: 12px;
|
|
5140
|
+
height: 12px;
|
|
5141
|
+
background-color: #4dabf7;
|
|
5142
|
+
border: 2px solid #fff;
|
|
5143
|
+
border-radius: 50%;
|
|
5144
|
+
box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
|
|
5145
|
+
pointer-events: auto;
|
|
5146
|
+
transition: all 0.1s ease;
|
|
5147
|
+
}
|
|
5148
|
+
.sd-editor-resize-handle:hover {
|
|
5149
|
+
background-color: #228be6;
|
|
5150
|
+
transform: scale(1.1);
|
|
5151
|
+
box-shadow: 0 0 6px rgba(0, 0, 0, 0.4);
|
|
5152
|
+
}
|
|
5153
|
+
/* Handle positions */
|
|
5154
|
+
.sd-editor-resize-handle-nw {
|
|
5155
|
+
top: -6px;
|
|
5156
|
+
left: -6px;
|
|
5157
|
+
cursor: nwse-resize;
|
|
5158
|
+
}
|
|
5159
|
+
.sd-editor-resize-handle-ne {
|
|
5160
|
+
top: -6px;
|
|
5161
|
+
right: -6px;
|
|
5162
|
+
cursor: nesw-resize;
|
|
5163
|
+
}
|
|
5164
|
+
.sd-editor-resize-handle-sw {
|
|
5165
|
+
bottom: -6px;
|
|
5166
|
+
left: -6px;
|
|
5167
|
+
cursor: nesw-resize;
|
|
5168
|
+
}
|
|
5169
|
+
.sd-editor-resize-handle-se {
|
|
5170
|
+
bottom: -6px;
|
|
5171
|
+
right: -6px;
|
|
5172
|
+
cursor: nwse-resize;
|
|
5173
|
+
}
|
|
5174
|
+
/* Hide handles when editor loses focus */
|
|
5175
|
+
.ProseMirror:not(.ProseMirror-focused) .sd-editor-resize-container {
|
|
5176
|
+
display: none;
|
|
5177
|
+
}
|
|
5178
|
+
/* Smooth transitions for resizing */
|
|
5179
|
+
.sd-editor-resizable-wrapper * {
|
|
5180
|
+
transition: none;
|
|
5181
|
+
}
|
|
5182
|
+
.sd-editor-resizable-wrapper *:not([style*='width']) {
|
|
5183
|
+
transition: all 0.2s ease;
|
|
5184
|
+
}
|
|
5185
|
+
/* Resize feedback indicator */
|
|
5186
|
+
.sd-editor-resizable-wrapper::after {
|
|
5187
|
+
content: 'Drag corners to resize';
|
|
5188
|
+
position: absolute;
|
|
5189
|
+
bottom: -25px;
|
|
5190
|
+
left: 50%;
|
|
5191
|
+
transform: translateX(-50%);
|
|
5192
|
+
background-color: rgba(77, 171, 247, 0.9);
|
|
5193
|
+
color: white;
|
|
5194
|
+
font-size: 11px;
|
|
5195
|
+
padding: 4px 8px;
|
|
5196
|
+
border-radius: 4px;
|
|
5197
|
+
white-space: nowrap;
|
|
5198
|
+
pointer-events: none;
|
|
5199
|
+
opacity: 0;
|
|
5200
|
+
transition: opacity 0.3s ease;
|
|
5201
|
+
z-index: 12;
|
|
5202
|
+
}
|
|
5203
|
+
.sd-editor-resizable-wrapper:hover::after {
|
|
5204
|
+
opacity: 1;
|
|
5205
|
+
}
|
|
5206
|
+
.sd-document-section-block {
|
|
5207
|
+
background-color: #fafafa;
|
|
5208
|
+
border: 1px solid #ababab;
|
|
5209
|
+
border-radius: 4px;
|
|
5210
|
+
position: relative;
|
|
5211
|
+
}
|
|
5212
|
+
.sd-document-section-block-info {
|
|
5213
|
+
position: absolute;
|
|
5214
|
+
top: -19px;
|
|
5215
|
+
left: -1px;
|
|
5216
|
+
max-width: 100px;
|
|
5217
|
+
min-width: 0;
|
|
5218
|
+
height: 18px;
|
|
5219
|
+
border: 1px solid #ababab;
|
|
5220
|
+
border-bottom: none;
|
|
5221
|
+
border-radius: 6px 6px 0 0;
|
|
5222
|
+
padding: 0 8px;
|
|
5223
|
+
align-items: center;
|
|
5224
|
+
font-size: 10px;
|
|
5225
|
+
display: none;
|
|
5226
|
+
z-index: 100;
|
|
5227
|
+
background-color: #fafafa;
|
|
5228
|
+
}
|
|
5229
|
+
.sd-document-section-block:hover {
|
|
5230
|
+
border-radius: 0 4px 4px 4px;
|
|
5231
|
+
}
|
|
5232
|
+
.sd-document-section-block:hover .sd-document-section-block-info {
|
|
5233
|
+
display: flex;
|
|
5234
|
+
align-items: center;
|
|
5235
|
+
}
|
|
5236
|
+
.sd-document-section-block-info span {
|
|
5237
|
+
max-width: 100%;
|
|
5238
|
+
overflow: hidden;
|
|
5239
|
+
white-space: nowrap;
|
|
5240
|
+
text-overflow: ellipsis;
|
|
5241
|
+
}
|
|
5242
|
+
.sd-structured-content,
|
|
5243
|
+
.sd-structured-content-block {
|
|
5244
|
+
padding: 1px;
|
|
5245
|
+
box-sizing: border-box;
|
|
5246
|
+
border-radius: 4px;
|
|
5247
|
+
border: 1px solid #629be7;
|
|
5248
|
+
position: relative;
|
|
5249
|
+
}
|
|
5250
|
+
.sd-structured-content-draggable {
|
|
5251
|
+
font-size: 10px;
|
|
5252
|
+
align-items: center;
|
|
5253
|
+
justify-content: center;
|
|
5254
|
+
position: absolute;
|
|
5255
|
+
left: 2px;
|
|
5256
|
+
bottom: 100%;
|
|
5257
|
+
width: calc(100% - 4px);
|
|
5258
|
+
max-width: 110px;
|
|
5259
|
+
min-width: 0;
|
|
5260
|
+
height: 18px;
|
|
5261
|
+
padding: 0 4px;
|
|
5262
|
+
border: 1px solid #629be7;
|
|
5263
|
+
border-bottom: none;
|
|
5264
|
+
border-radius: 6px 6px 0 0;
|
|
5265
|
+
background-color: #629be7dd;
|
|
5266
|
+
z-index: 10;
|
|
5267
|
+
cursor: grab;
|
|
5268
|
+
display: none;
|
|
5269
|
+
}
|
|
5270
|
+
.sd-structured-content-draggable span {
|
|
5271
|
+
max-width: 100%;
|
|
5272
|
+
overflow: hidden;
|
|
5273
|
+
white-space: nowrap;
|
|
5274
|
+
text-overflow: ellipsis;
|
|
5275
|
+
}
|
|
5276
|
+
.sd-structured-content:hover .sd-structured-content-draggable,
|
|
5277
|
+
.sd-structured-content-block:hover .sd-structured-content-draggable {
|
|
5278
|
+
display: inline-flex;
|
|
5279
|
+
}
|
|
5280
|
+
`;
|
|
5281
|
+
let cachedStyleSheet = null;
|
|
5282
|
+
const defaultEditorStyles = editorStyles;
|
|
5283
|
+
let shadowEditorStyles = defaultEditorStyles;
|
|
5284
|
+
const supportsConstructableStylesheets = () => {
|
|
5285
|
+
const DocumentCtor = (
|
|
5286
|
+
/** @type {typeof Document | undefined} */
|
|
5287
|
+
globalThis.Document
|
|
5288
|
+
);
|
|
5289
|
+
const CSSStyleSheetCtor = (
|
|
5290
|
+
/** @type {typeof CSSStyleSheet | undefined} */
|
|
5291
|
+
globalThis.CSSStyleSheet
|
|
5292
|
+
);
|
|
5293
|
+
if (!DocumentCtor || !CSSStyleSheetCtor) return false;
|
|
5294
|
+
const documentPrototype = DocumentCtor.prototype;
|
|
5295
|
+
const styleSheetPrototype = CSSStyleSheetCtor.prototype;
|
|
5296
|
+
return !!documentPrototype && "adoptedStyleSheets" in documentPrototype && !!styleSheetPrototype && typeof styleSheetPrototype.replaceSync === "function";
|
|
5297
|
+
};
|
|
5298
|
+
const ensureStyleSheet = (root) => {
|
|
5299
|
+
if (!root || !shadowEditorStyles) return;
|
|
5300
|
+
if (supportsConstructableStylesheets()) {
|
|
5301
|
+
if (!cachedStyleSheet) {
|
|
5302
|
+
const CSSStyleSheetCtor = (
|
|
5303
|
+
/** @type {typeof CSSStyleSheet} */
|
|
5304
|
+
globalThis.CSSStyleSheet
|
|
5305
|
+
);
|
|
5306
|
+
cachedStyleSheet = new CSSStyleSheetCtor();
|
|
5307
|
+
cachedStyleSheet.replaceSync(shadowEditorStyles);
|
|
5308
|
+
}
|
|
5309
|
+
const sheets = Array.isArray(root.adoptedStyleSheets) ? root.adoptedStyleSheets : [];
|
|
5310
|
+
if (!sheets.includes(cachedStyleSheet)) {
|
|
5311
|
+
root.adoptedStyleSheets = [...sheets, cachedStyleSheet];
|
|
5312
|
+
}
|
|
5313
|
+
return;
|
|
5314
|
+
}
|
|
5315
|
+
const doc = (
|
|
5316
|
+
/** @type {Document | undefined} */
|
|
5317
|
+
globalThis.document
|
|
5318
|
+
);
|
|
5319
|
+
if (!doc || typeof root.querySelector !== "function") return;
|
|
5320
|
+
if (!root.querySelector("style[data-super-editor-styles]")) {
|
|
5321
|
+
const styleEl = doc.createElement("style");
|
|
5322
|
+
styleEl.setAttribute("data-super-editor-styles", "");
|
|
5323
|
+
styleEl.textContent = shadowEditorStyles;
|
|
5324
|
+
root.appendChild(styleEl);
|
|
5325
|
+
}
|
|
5326
|
+
};
|
|
5327
|
+
const ensureEditorShadowRoot = (hostElement) => {
|
|
5328
|
+
const doc = (
|
|
5329
|
+
/** @type {Document | undefined} */
|
|
5330
|
+
globalThis.document
|
|
5331
|
+
);
|
|
5332
|
+
if (!hostElement || !doc || typeof hostElement.attachShadow !== "function") {
|
|
5333
|
+
return { root: null, mount: null };
|
|
5334
|
+
}
|
|
5335
|
+
const root = hostElement.shadowRoot || hostElement.attachShadow({ mode: "open" });
|
|
5336
|
+
ensureStyleSheet(root);
|
|
5337
|
+
let mount = root.querySelector(".sd-editor-mount");
|
|
5338
|
+
if (!mount) {
|
|
5339
|
+
mount = doc.createElement("div");
|
|
5340
|
+
mount.className = "sd-editor-mount";
|
|
5341
|
+
root.appendChild(mount);
|
|
5342
|
+
}
|
|
5343
|
+
return { root, mount };
|
|
5344
|
+
};
|
|
4528
5345
|
const _hoisted_1$1 = { class: "super-editor-container" };
|
|
4529
5346
|
const _hoisted_2 = {
|
|
4530
5347
|
key: 1,
|
|
@@ -4563,6 +5380,7 @@ const _sfc_main$1 = {
|
|
|
4563
5380
|
const message = useMessage();
|
|
4564
5381
|
const editorWrapper = ref(null);
|
|
4565
5382
|
const editorElem = ref(null);
|
|
5383
|
+
const editorMountPoint = shallowRef(null);
|
|
4566
5384
|
const fileSource = ref(null);
|
|
4567
5385
|
const popoverControls = reactive({
|
|
4568
5386
|
visible: false,
|
|
@@ -4651,9 +5469,15 @@ const _sfc_main$1 = {
|
|
|
4651
5469
|
return extensions;
|
|
4652
5470
|
};
|
|
4653
5471
|
const initEditor = async ({ content, media = {}, mediaFiles = {}, fonts = {} } = {}) => {
|
|
5472
|
+
if (!editorElem.value) return;
|
|
5473
|
+
const { mount } = ensureEditorShadowRoot(editorElem.value);
|
|
5474
|
+
editorMountPoint.value = mount;
|
|
5475
|
+
if (editorMountPoint.value) {
|
|
5476
|
+
editorMountPoint.value.innerHTML = "";
|
|
5477
|
+
}
|
|
4654
5478
|
editor.value = new Editor({
|
|
4655
5479
|
mode: "docx",
|
|
4656
|
-
element: editorElem.value,
|
|
5480
|
+
element: editorMountPoint.value || editorElem.value,
|
|
4657
5481
|
fileSource: fileSource.value,
|
|
4658
5482
|
extensions: getExtensions(),
|
|
4659
5483
|
externalExtensions: props.options.externalExtensions,
|
|
@@ -4700,11 +5524,12 @@ const _sfc_main$1 = {
|
|
|
4700
5524
|
};
|
|
4701
5525
|
const handleSuperEditorClick = (event) => {
|
|
4702
5526
|
emit("editor-click", { editor: editor.value });
|
|
4703
|
-
|
|
5527
|
+
const pmElement = editor.value?.view?.dom;
|
|
4704
5528
|
if (!pmElement || !editor.value) {
|
|
4705
5529
|
return;
|
|
4706
5530
|
}
|
|
4707
|
-
|
|
5531
|
+
const eventPath = event.composedPath?.() || [];
|
|
5532
|
+
const isInsideEditor = eventPath.includes(pmElement);
|
|
4708
5533
|
if (!isInsideEditor && editor.value.isEditable) {
|
|
4709
5534
|
editor.value.view?.focus();
|
|
4710
5535
|
}
|
|
@@ -4717,7 +5542,9 @@ const _sfc_main$1 = {
|
|
|
4717
5542
|
if (props.options?.suppressSkeletonLoader || !props.options?.collaborationProvider) editorReady.value = true;
|
|
4718
5543
|
});
|
|
4719
5544
|
const handleMarginClick = (event) => {
|
|
4720
|
-
|
|
5545
|
+
const pmElement = editor.value?.view?.dom;
|
|
5546
|
+
const eventPath = event.composedPath?.() || [];
|
|
5547
|
+
if (pmElement && eventPath.includes(pmElement)) return;
|
|
4721
5548
|
onMarginClickCursorChange(event, editor.value);
|
|
4722
5549
|
};
|
|
4723
5550
|
const handleMarginChange = ({ side, value }) => {
|
|
@@ -4823,7 +5650,7 @@ const _sfc_main$1 = {
|
|
|
4823
5650
|
};
|
|
4824
5651
|
}
|
|
4825
5652
|
};
|
|
4826
|
-
const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-
|
|
5653
|
+
const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-3d49a1a6"]]);
|
|
4827
5654
|
const _hoisted_1 = ["innerHTML"];
|
|
4828
5655
|
const _sfc_main = {
|
|
4829
5656
|
__name: "SuperInput",
|
|
@@ -4853,6 +5680,7 @@ const _sfc_main = {
|
|
|
4853
5680
|
const props = __props;
|
|
4854
5681
|
const editor = shallowRef();
|
|
4855
5682
|
const editorElem = ref(null);
|
|
5683
|
+
const editorMountPoint = shallowRef(null);
|
|
4856
5684
|
const isFocused = ref(false);
|
|
4857
5685
|
const onTransaction = ({ editor: editor2, transaction }) => {
|
|
4858
5686
|
const contents = editor2.getHTML();
|
|
@@ -4872,10 +5700,15 @@ const _sfc_main = {
|
|
|
4872
5700
|
props.options.onTransaction = onTransaction;
|
|
4873
5701
|
props.options.onFocus = onFocus;
|
|
4874
5702
|
props.options.onBlur = onBlur;
|
|
5703
|
+
const { mount } = ensureEditorShadowRoot(editorElem.value);
|
|
5704
|
+
editorMountPoint.value = mount;
|
|
5705
|
+
if (editorMountPoint.value) {
|
|
5706
|
+
editorMountPoint.value.innerHTML = "";
|
|
5707
|
+
}
|
|
4875
5708
|
editor.value = new Editor({
|
|
4876
5709
|
mode: "text",
|
|
4877
5710
|
content: document.getElementById("currentContent"),
|
|
4878
|
-
element: editorElem.value,
|
|
5711
|
+
element: editorMountPoint.value || editorElem.value,
|
|
4879
5712
|
extensions: getRichTextExtensions(),
|
|
4880
5713
|
users: props.users,
|
|
4881
5714
|
...props.options
|
|
@@ -4914,7 +5747,7 @@ const _sfc_main = {
|
|
|
4914
5747
|
};
|
|
4915
5748
|
}
|
|
4916
5749
|
};
|
|
4917
|
-
const SuperInput = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
5750
|
+
const SuperInput = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-23a4e794"]]);
|
|
4918
5751
|
const baseHandlers = {
|
|
4919
5752
|
...runPropertyTranslators,
|
|
4920
5753
|
"w:br": translator$p,
|