@harbour-enterprises/superdoc 0.6.6 → 0.6.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/{super-editor.es-BL0SUzqA.js → super-editor.es-C2Mpe7zw.js} +371 -223
- package/dist/chunks/{super-editor.es-BL0SUzqA.js.map → super-editor.es-C2Mpe7zw.js.map} +1 -1
- package/dist/style.css +63 -52
- package/dist/super-editor/chunks/{converter-Db6kOZVK.js → converter-D38BagOs.js} +54 -7
- package/dist/super-editor/chunks/{converter-Db6kOZVK.js.map → converter-D38BagOs.js.map} +1 -1
- package/dist/super-editor/chunks/{docx-zipper-CU9-L2k_.js → docx-zipper-OU0T3wnQ.js} +2 -2
- package/dist/super-editor/chunks/{docx-zipper-CU9-L2k_.js.map → docx-zipper-OU0T3wnQ.js.map} +1 -1
- package/dist/super-editor/chunks/{editor-DDFPZgN6.js → editor-DFibABN8.js} +5 -5
- package/dist/super-editor/chunks/{editor-DDFPZgN6.js.map → editor-DFibABN8.js.map} +1 -1
- package/dist/super-editor/chunks/{toolbar-B1D1-QVR.js → toolbar-D5mDT387.js} +12 -6
- package/dist/super-editor/chunks/toolbar-D5mDT387.js.map +1 -0
- package/dist/super-editor/components/toolbar/color-dropdown-helpers.d.ts +15 -0
- package/dist/super-editor/components/toolbar/color-dropdown-helpers.d.ts.map +1 -0
- package/dist/super-editor/components/toolbar/defaultItems.d.ts.map +1 -1
- package/dist/super-editor/components/toolbar/super-toolbar.d.ts +1 -0
- package/dist/super-editor/components/toolbar/super-toolbar.d.ts.map +1 -1
- package/dist/super-editor/components/toolbar/toolbarIcons.d.ts +1 -0
- package/dist/super-editor/converter.es.js +1 -1
- package/dist/super-editor/core/super-converter/SuperConverter.d.ts +1 -0
- package/dist/super-editor/core/super-converter/SuperConverter.d.ts.map +1 -1
- package/dist/super-editor/core/super-converter/exporter.d.ts.map +1 -1
- package/dist/super-editor/core/super-converter/helpers.d.ts +2 -0
- package/dist/super-editor/core/super-converter/helpers.d.ts.map +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/style.css +63 -52
- package/dist/super-editor/super-editor.es.js +303 -208
- package/dist/super-editor/super-editor.es.js.map +1 -1
- package/dist/super-editor/toolbar.es.js +2 -2
- package/dist/super-editor.es.js +1 -1
- package/dist/superdoc.es.js +3 -3
- package/package.json +1 -1
- package/dist/super-editor/chunks/toolbar-B1D1-QVR.js.map +0 -1
|
@@ -8,14 +8,14 @@ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot
|
|
|
8
8
|
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
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
|
-
var _interceptedCommands, _SuperToolbar_instances, makeToolbarItems_fn, initDefaultFonts_fn, deactivateAll_fn, updateToolbarHistory_fn, runCommandWithArgumentOnly_fn;
|
|
12
|
-
import { _ as _export_sfc, a as getQuickFormatList, b as generateLinkedStyleString, I as ImagePlaceholderPluginKey, f as findPlaceholder, c as findParentNode, d as getActiveFormatting, u as undoDepth, r as redoDepth, E as Editor, e as getStarterExtensions, P as Placeholder, h as getRichTextExtensions } from "./chunks/editor-
|
|
13
|
-
import { j, l, i, k } from "./chunks/editor-
|
|
14
|
-
import { J as getDefaultExportFromCjs, v as v4, T as TextSelection, L as vClickOutside } from "./chunks/converter-
|
|
15
|
-
import { B } from "./chunks/converter-
|
|
16
|
-
import { ref,
|
|
17
|
-
import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, N as NSkeleton } from "./chunks/toolbar-
|
|
18
|
-
import { D } from "./chunks/docx-zipper-
|
|
11
|
+
var _interceptedCommands, _SuperToolbar_instances, makeToolbarItems_fn, initDefaultFonts_fn, updateHighlightColors_fn, deactivateAll_fn, updateToolbarHistory_fn, runCommandWithArgumentOnly_fn;
|
|
12
|
+
import { _ as _export_sfc, a as getQuickFormatList, b as generateLinkedStyleString, I as ImagePlaceholderPluginKey, f as findPlaceholder, c as findParentNode, d as getActiveFormatting, u as undoDepth, r as redoDepth, E as Editor, e as getStarterExtensions, P as Placeholder, h as getRichTextExtensions } from "./chunks/editor-DFibABN8.js";
|
|
13
|
+
import { j, l, i, k } from "./chunks/editor-DFibABN8.js";
|
|
14
|
+
import { J as getDefaultExportFromCjs, v as v4, T as TextSelection, L as vClickOutside } from "./chunks/converter-D38BagOs.js";
|
|
15
|
+
import { B } from "./chunks/converter-D38BagOs.js";
|
|
16
|
+
import { ref, createElementBlock, openBlock, createElementVNode, unref, getCurrentInstance, computed, watch, onMounted, createCommentVNode, withDirectives, withKeys, normalizeClass, withModifiers, vModelText, createTextVNode, toDisplayString, Fragment, renderList, normalizeStyle, createVNode, h, createApp, reactive, onUnmounted, shallowRef, onBeforeUnmount, createBlock } from "vue";
|
|
17
|
+
import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, N as NSkeleton } from "./chunks/toolbar-D5mDT387.js";
|
|
18
|
+
import { D } from "./chunks/docx-zipper-OU0T3wnQ.js";
|
|
19
19
|
import { createZip } from "./file-zipper.es.js";
|
|
20
20
|
var eventemitter3 = { exports: {} };
|
|
21
21
|
(function(module) {
|
|
@@ -316,81 +316,12 @@ const useToolbarItem = (options) => {
|
|
|
316
316
|
onDeactivate
|
|
317
317
|
};
|
|
318
318
|
};
|
|
319
|
-
const _hoisted_1$
|
|
320
|
-
const _hoisted_2$5 = ["
|
|
319
|
+
const _hoisted_1$8 = { class: "alignment-buttons" };
|
|
320
|
+
const _hoisted_2$5 = ["innerHTML"];
|
|
321
321
|
const _hoisted_3$4 = ["innerHTML"];
|
|
322
|
-
const _hoisted_4$3 = ["innerHTML"];
|
|
323
|
-
const _sfc_main$8 = {
|
|
324
|
-
__name: "IconGrid",
|
|
325
|
-
props: {
|
|
326
|
-
icons: {
|
|
327
|
-
type: Array,
|
|
328
|
-
required: true
|
|
329
|
-
},
|
|
330
|
-
activeColor: {
|
|
331
|
-
type: Object,
|
|
332
|
-
required: false
|
|
333
|
-
}
|
|
334
|
-
},
|
|
335
|
-
emits: ["select", "clickoutside"],
|
|
336
|
-
setup(__props, { emit: __emit }) {
|
|
337
|
-
const emit = __emit;
|
|
338
|
-
const props = __props;
|
|
339
|
-
const handleClick = (option) => {
|
|
340
|
-
emit("select", option.value);
|
|
341
|
-
};
|
|
342
|
-
const isActive = computed(() => (option) => {
|
|
343
|
-
if (!props.activeColor.value) return false;
|
|
344
|
-
return props.activeColor.value === option.value;
|
|
345
|
-
});
|
|
346
|
-
const getCheckStyle = (color, optionIndex) => {
|
|
347
|
-
const lightColors = ["#FFFFFF", "#FAFF09"];
|
|
348
|
-
if (optionIndex === 5 || lightColors.includes(color)) return { color: "#000" };
|
|
349
|
-
return { color: "#FFF" };
|
|
350
|
-
};
|
|
351
|
-
onMounted(() => {
|
|
352
|
-
const isMatrix = props.icons.every((row) => Array.isArray(row));
|
|
353
|
-
if (!isMatrix) throw new Error("icon props must be 2d array");
|
|
354
|
-
});
|
|
355
|
-
return (_ctx, _cache) => {
|
|
356
|
-
return openBlock(), createElementBlock("div", _hoisted_1$7, [
|
|
357
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.icons, (row, rowIndex) => {
|
|
358
|
-
return openBlock(), createElementBlock("div", {
|
|
359
|
-
class: "option-row",
|
|
360
|
-
key: rowIndex
|
|
361
|
-
}, [
|
|
362
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(row, (option, optionIndex) => {
|
|
363
|
-
return openBlock(), createElementBlock("div", {
|
|
364
|
-
class: "option",
|
|
365
|
-
key: optionIndex,
|
|
366
|
-
onClick: withModifiers(($event) => handleClick(option), ["stop", "prevent"])
|
|
367
|
-
}, [
|
|
368
|
-
createElementVNode("div", {
|
|
369
|
-
class: "option__icon",
|
|
370
|
-
innerHTML: option.icon,
|
|
371
|
-
style: normalizeStyle(option.style)
|
|
372
|
-
}, null, 12, _hoisted_3$4),
|
|
373
|
-
isActive.value(option) ? (openBlock(), createElementBlock("div", {
|
|
374
|
-
key: 0,
|
|
375
|
-
class: "option__check",
|
|
376
|
-
innerHTML: unref(toolbarIcons).colorOptionCheck,
|
|
377
|
-
style: normalizeStyle(getCheckStyle(option.value, optionIndex))
|
|
378
|
-
}, null, 12, _hoisted_4$3)) : createCommentVNode("", true)
|
|
379
|
-
], 8, _hoisted_2$5);
|
|
380
|
-
}), 128))
|
|
381
|
-
]);
|
|
382
|
-
}), 128))
|
|
383
|
-
]);
|
|
384
|
-
};
|
|
385
|
-
}
|
|
386
|
-
};
|
|
387
|
-
const IconGrid = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-c5c5fefc"]]);
|
|
388
|
-
const _hoisted_1$6 = { class: "alignment-buttons" };
|
|
389
|
-
const _hoisted_2$4 = ["innerHTML"];
|
|
390
|
-
const _hoisted_3$3 = ["innerHTML"];
|
|
391
322
|
const _hoisted_4$2 = ["innerHTML"];
|
|
392
323
|
const _hoisted_5$2 = ["innerHTML"];
|
|
393
|
-
const _sfc_main$
|
|
324
|
+
const _sfc_main$9 = {
|
|
394
325
|
__name: "AlignmentButtons",
|
|
395
326
|
emits: ["select"],
|
|
396
327
|
setup(__props, { emit: __emit }) {
|
|
@@ -399,17 +330,17 @@ const _sfc_main$7 = {
|
|
|
399
330
|
emit("select", alignment2);
|
|
400
331
|
};
|
|
401
332
|
return (_ctx, _cache) => {
|
|
402
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
333
|
+
return openBlock(), createElementBlock("div", _hoisted_1$8, [
|
|
403
334
|
createElementVNode("div", {
|
|
404
335
|
class: "button-icon",
|
|
405
336
|
onClick: _cache[0] || (_cache[0] = ($event) => select("left")),
|
|
406
337
|
innerHTML: unref(toolbarIcons).alignLeft
|
|
407
|
-
}, null, 8, _hoisted_2$
|
|
338
|
+
}, null, 8, _hoisted_2$5),
|
|
408
339
|
createElementVNode("div", {
|
|
409
340
|
class: "button-icon",
|
|
410
341
|
onClick: _cache[1] || (_cache[1] = ($event) => select("center")),
|
|
411
342
|
innerHTML: unref(toolbarIcons).alignCenter
|
|
412
|
-
}, null, 8, _hoisted_3$
|
|
343
|
+
}, null, 8, _hoisted_3$4),
|
|
413
344
|
createElementVNode("div", {
|
|
414
345
|
class: "button-icon",
|
|
415
346
|
onClick: _cache[2] || (_cache[2] = ($event) => select("right")),
|
|
@@ -424,13 +355,13 @@ const _sfc_main$7 = {
|
|
|
424
355
|
};
|
|
425
356
|
}
|
|
426
357
|
};
|
|
427
|
-
const AlignmentButtons = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
428
|
-
const _hoisted_1$
|
|
429
|
-
const _hoisted_2$
|
|
358
|
+
const AlignmentButtons = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-d6fae878"]]);
|
|
359
|
+
const _hoisted_1$7 = { class: "link-input-ctn" };
|
|
360
|
+
const _hoisted_2$4 = {
|
|
430
361
|
key: 0,
|
|
431
362
|
class: "link-title"
|
|
432
363
|
};
|
|
433
|
-
const _hoisted_3$
|
|
364
|
+
const _hoisted_3$3 = {
|
|
434
365
|
key: 1,
|
|
435
366
|
class: "link-title"
|
|
436
367
|
};
|
|
@@ -449,7 +380,7 @@ const _hoisted_12 = {
|
|
|
449
380
|
key: 4,
|
|
450
381
|
class: "input-row go-to-anchor clickable"
|
|
451
382
|
};
|
|
452
|
-
const _sfc_main$
|
|
383
|
+
const _sfc_main$8 = {
|
|
453
384
|
__name: "LinkInput",
|
|
454
385
|
props: {
|
|
455
386
|
initialText: {
|
|
@@ -528,8 +459,8 @@ const _sfc_main$6 = {
|
|
|
528
459
|
if (props.showInput) focusInput();
|
|
529
460
|
});
|
|
530
461
|
return (_ctx, _cache) => {
|
|
531
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
532
|
-
!__props.href ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
462
|
+
return openBlock(), createElementBlock("div", _hoisted_1$7, [
|
|
463
|
+
!__props.href ? (openBlock(), createElementBlock("div", _hoisted_2$4, "Add link")) : isAnchor.value ? (openBlock(), createElementBlock("div", _hoisted_3$3, "Page anchor")) : (openBlock(), createElementBlock("div", _hoisted_4$1, "Edit link")),
|
|
533
464
|
__props.showInput && !isAnchor.value ? (openBlock(), createElementBlock("div", _hoisted_5$1, [
|
|
534
465
|
createElementVNode("div", _hoisted_6$1, [
|
|
535
466
|
createElementVNode("div", {
|
|
@@ -581,15 +512,15 @@ const _sfc_main$6 = {
|
|
|
581
512
|
};
|
|
582
513
|
}
|
|
583
514
|
};
|
|
584
|
-
const LinkInput = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
585
|
-
const _hoisted_1$
|
|
586
|
-
const _hoisted_2$
|
|
587
|
-
const _hoisted_3$
|
|
515
|
+
const LinkInput = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-6990d5b2"]]);
|
|
516
|
+
const _hoisted_1$6 = { class: "document-mode" };
|
|
517
|
+
const _hoisted_2$3 = ["onClick"];
|
|
518
|
+
const _hoisted_3$2 = { class: "document-mode-column icon-column" };
|
|
588
519
|
const _hoisted_4 = ["innerHTML"];
|
|
589
520
|
const _hoisted_5 = { class: "document-mode-column text-column" };
|
|
590
521
|
const _hoisted_6 = { class: "document-mode-type" };
|
|
591
522
|
const _hoisted_7 = { class: "document-mode-description" };
|
|
592
|
-
const _sfc_main$
|
|
523
|
+
const _sfc_main$7 = {
|
|
593
524
|
__name: "DocumentMode",
|
|
594
525
|
props: {
|
|
595
526
|
options: {
|
|
@@ -603,13 +534,13 @@ const _sfc_main$5 = {
|
|
|
603
534
|
emit("select", item);
|
|
604
535
|
};
|
|
605
536
|
return (_ctx, _cache) => {
|
|
606
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
537
|
+
return openBlock(), createElementBlock("div", _hoisted_1$6, [
|
|
607
538
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option) => {
|
|
608
539
|
return openBlock(), createElementBlock("div", {
|
|
609
540
|
class: normalizeClass(["option-item", { disabled: option.disabled }]),
|
|
610
541
|
onClick: ($event) => handleClick(option)
|
|
611
542
|
}, [
|
|
612
|
-
createElementVNode("div", _hoisted_3$
|
|
543
|
+
createElementVNode("div", _hoisted_3$2, [
|
|
613
544
|
createElementVNode("div", {
|
|
614
545
|
class: "icon-column__icon",
|
|
615
546
|
innerHTML: option.icon
|
|
@@ -619,19 +550,19 @@ const _sfc_main$5 = {
|
|
|
619
550
|
createElementVNode("div", _hoisted_6, toDisplayString(option.label), 1),
|
|
620
551
|
createElementVNode("div", _hoisted_7, toDisplayString(option.description), 1)
|
|
621
552
|
])
|
|
622
|
-
], 10, _hoisted_2$
|
|
553
|
+
], 10, _hoisted_2$3);
|
|
623
554
|
}), 256))
|
|
624
555
|
]);
|
|
625
556
|
};
|
|
626
557
|
}
|
|
627
558
|
};
|
|
628
|
-
const DocumentMode = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
629
|
-
const _hoisted_1$
|
|
559
|
+
const DocumentMode = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-f86e1477"]]);
|
|
560
|
+
const _hoisted_1$5 = {
|
|
630
561
|
key: 0,
|
|
631
562
|
class: "linked-style-buttons"
|
|
632
563
|
};
|
|
633
|
-
const _hoisted_2$
|
|
634
|
-
const _sfc_main$
|
|
564
|
+
const _hoisted_2$2 = ["onClick"];
|
|
565
|
+
const _sfc_main$6 = {
|
|
635
566
|
__name: "LinkedStyle",
|
|
636
567
|
props: {
|
|
637
568
|
editor: {
|
|
@@ -647,7 +578,7 @@ const _sfc_main$4 = {
|
|
|
647
578
|
emit("select", style);
|
|
648
579
|
};
|
|
649
580
|
return (_ctx, _cache) => {
|
|
650
|
-
return props.editor ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
581
|
+
return props.editor ? (openBlock(), createElementBlock("div", _hoisted_1$5, [
|
|
651
582
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(getQuickFormatList)(__props.editor), (style) => {
|
|
652
583
|
return openBlock(), createElementBlock("div", {
|
|
653
584
|
class: "style-item",
|
|
@@ -657,13 +588,229 @@ const _sfc_main$4 = {
|
|
|
657
588
|
class: "style-name",
|
|
658
589
|
style: normalizeStyle(unref(generateLinkedStyleString)(style, null, false))
|
|
659
590
|
}, toDisplayString(style.definition.attrs.name), 5)
|
|
660
|
-
], 8, _hoisted_2$
|
|
591
|
+
], 8, _hoisted_2$2);
|
|
661
592
|
}), 256))
|
|
662
593
|
])) : createCommentVNode("", true);
|
|
663
594
|
};
|
|
664
595
|
}
|
|
665
596
|
};
|
|
666
|
-
const LinkedStyle = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
597
|
+
const LinkedStyle = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-97e3296a"]]);
|
|
598
|
+
const _hoisted_1$4 = ["onClick"];
|
|
599
|
+
const _hoisted_2$1 = ["innerHTML"];
|
|
600
|
+
const _hoisted_3$1 = ["innerHTML"];
|
|
601
|
+
const _sfc_main$5 = {
|
|
602
|
+
__name: "IconGridRow",
|
|
603
|
+
props: {
|
|
604
|
+
icons: {
|
|
605
|
+
type: Array,
|
|
606
|
+
required: true
|
|
607
|
+
},
|
|
608
|
+
activeColor: {
|
|
609
|
+
type: Object,
|
|
610
|
+
required: false
|
|
611
|
+
}
|
|
612
|
+
},
|
|
613
|
+
emits: ["select"],
|
|
614
|
+
setup(__props, { emit: __emit }) {
|
|
615
|
+
const emit = __emit;
|
|
616
|
+
const props = __props;
|
|
617
|
+
const isActive = computed(() => (option) => {
|
|
618
|
+
if (!props.activeColor.value) return false;
|
|
619
|
+
return props.activeColor.value.toUpperCase() === option.value;
|
|
620
|
+
});
|
|
621
|
+
const getCheckStyle = (color, optionIndex) => {
|
|
622
|
+
const lightColors = ["#FFFFFF", "#FAFF09"];
|
|
623
|
+
if (optionIndex === 5 || lightColors.includes(color)) return { color: "#000" };
|
|
624
|
+
return { color: "#FFF" };
|
|
625
|
+
};
|
|
626
|
+
const handleClick = (option) => {
|
|
627
|
+
emit("select", option.value);
|
|
628
|
+
};
|
|
629
|
+
onMounted(() => {
|
|
630
|
+
const isMatrix = props.icons.every((row) => Array.isArray(row));
|
|
631
|
+
if (!isMatrix) throw new Error("icon props must be 2d array");
|
|
632
|
+
});
|
|
633
|
+
return (_ctx, _cache) => {
|
|
634
|
+
return openBlock(true), createElementBlock(Fragment, null, renderList(__props.icons, (row, rowIndex) => {
|
|
635
|
+
return openBlock(), createElementBlock("div", {
|
|
636
|
+
class: "option-row",
|
|
637
|
+
key: rowIndex
|
|
638
|
+
}, [
|
|
639
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(row, (option, optionIndex) => {
|
|
640
|
+
return openBlock(), createElementBlock("div", {
|
|
641
|
+
class: "option",
|
|
642
|
+
key: optionIndex,
|
|
643
|
+
onClick: withModifiers(($event) => handleClick(option), ["stop", "prevent"])
|
|
644
|
+
}, [
|
|
645
|
+
createElementVNode("div", {
|
|
646
|
+
class: "option__icon",
|
|
647
|
+
innerHTML: option.icon,
|
|
648
|
+
style: normalizeStyle(option.style)
|
|
649
|
+
}, null, 12, _hoisted_2$1),
|
|
650
|
+
isActive.value(option) ? (openBlock(), createElementBlock("div", {
|
|
651
|
+
key: 0,
|
|
652
|
+
class: "option__check",
|
|
653
|
+
innerHTML: unref(toolbarIcons).colorOptionCheck,
|
|
654
|
+
style: normalizeStyle(getCheckStyle(option.value, optionIndex))
|
|
655
|
+
}, null, 12, _hoisted_3$1)) : createCommentVNode("", true)
|
|
656
|
+
], 8, _hoisted_1$4);
|
|
657
|
+
}), 128))
|
|
658
|
+
]);
|
|
659
|
+
}), 128);
|
|
660
|
+
};
|
|
661
|
+
}
|
|
662
|
+
};
|
|
663
|
+
const IconGridRow = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-6a2a9a40"]]);
|
|
664
|
+
const _hoisted_1$3 = { class: "option-grid-ctn" };
|
|
665
|
+
const _sfc_main$4 = {
|
|
666
|
+
__name: "IconGrid",
|
|
667
|
+
props: {
|
|
668
|
+
icons: {
|
|
669
|
+
type: Array,
|
|
670
|
+
required: true
|
|
671
|
+
},
|
|
672
|
+
customIcons: {
|
|
673
|
+
type: Array,
|
|
674
|
+
required: false
|
|
675
|
+
},
|
|
676
|
+
activeColor: {
|
|
677
|
+
type: Object,
|
|
678
|
+
required: false
|
|
679
|
+
}
|
|
680
|
+
},
|
|
681
|
+
emits: ["select", "clickoutside"],
|
|
682
|
+
setup(__props, { emit: __emit }) {
|
|
683
|
+
const emit = __emit;
|
|
684
|
+
const handleSelect = (option) => {
|
|
685
|
+
emit("select", option);
|
|
686
|
+
};
|
|
687
|
+
return (_ctx, _cache) => {
|
|
688
|
+
return openBlock(), createElementBlock("div", _hoisted_1$3, [
|
|
689
|
+
createVNode(IconGridRow, {
|
|
690
|
+
icons: __props.icons,
|
|
691
|
+
"active-color": __props.activeColor,
|
|
692
|
+
onSelect: handleSelect
|
|
693
|
+
}, null, 8, ["icons", "active-color"]),
|
|
694
|
+
__props.customIcons.flat().length ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
695
|
+
_cache[0] || (_cache[0] = createElementVNode("span", { class: "option-grid-ctn__subtitle" }, "Custom colors", -1)),
|
|
696
|
+
createVNode(IconGridRow, {
|
|
697
|
+
icons: __props.customIcons,
|
|
698
|
+
"active-color": __props.activeColor,
|
|
699
|
+
onSelect: handleSelect
|
|
700
|
+
}, null, 8, ["icons", "active-color"])
|
|
701
|
+
], 64)) : createCommentVNode("", true)
|
|
702
|
+
]);
|
|
703
|
+
};
|
|
704
|
+
}
|
|
705
|
+
};
|
|
706
|
+
const IconGrid = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-fa2949d8"]]);
|
|
707
|
+
const closeDropdown$1 = (dropdown) => {
|
|
708
|
+
dropdown.expand.value = false;
|
|
709
|
+
};
|
|
710
|
+
const makeColorOption = (color, label = null) => {
|
|
711
|
+
return {
|
|
712
|
+
label,
|
|
713
|
+
icon: toolbarIcons.colorOption,
|
|
714
|
+
value: color,
|
|
715
|
+
style: {
|
|
716
|
+
color,
|
|
717
|
+
boxShadow: "0 0 5px 1px rgba(0, 0, 0, 0.1)",
|
|
718
|
+
borderRadius: "50%"
|
|
719
|
+
}
|
|
720
|
+
};
|
|
721
|
+
};
|
|
722
|
+
const renderColorOptions = (superToolbar, button, customIcons = []) => {
|
|
723
|
+
const handleSelect = (e) => {
|
|
724
|
+
button.iconColor.value = e;
|
|
725
|
+
superToolbar.emitCommand({ item: button, argument: e });
|
|
726
|
+
closeDropdown$1(button);
|
|
727
|
+
};
|
|
728
|
+
return h("div", {}, [
|
|
729
|
+
h(IconGrid, {
|
|
730
|
+
icons,
|
|
731
|
+
customIcons,
|
|
732
|
+
activeColor: button.iconColor,
|
|
733
|
+
onSelect: handleSelect
|
|
734
|
+
})
|
|
735
|
+
]);
|
|
736
|
+
};
|
|
737
|
+
const icons = [
|
|
738
|
+
[
|
|
739
|
+
makeColorOption("#111111"),
|
|
740
|
+
makeColorOption("#333333"),
|
|
741
|
+
makeColorOption("#5C5C5C"),
|
|
742
|
+
makeColorOption("#858585"),
|
|
743
|
+
makeColorOption("#ADADAD"),
|
|
744
|
+
makeColorOption("#D6D6D6"),
|
|
745
|
+
makeColorOption("#FFFFFF")
|
|
746
|
+
],
|
|
747
|
+
[
|
|
748
|
+
makeColorOption("#860028"),
|
|
749
|
+
makeColorOption("#D2003F"),
|
|
750
|
+
makeColorOption("#DB3365"),
|
|
751
|
+
makeColorOption("#E4668C"),
|
|
752
|
+
makeColorOption("#ED99B2"),
|
|
753
|
+
makeColorOption("#F6CCD9"),
|
|
754
|
+
makeColorOption("#FF004D")
|
|
755
|
+
],
|
|
756
|
+
[
|
|
757
|
+
makeColorOption("#83015E"),
|
|
758
|
+
makeColorOption("#CD0194"),
|
|
759
|
+
makeColorOption("#D734A9"),
|
|
760
|
+
makeColorOption("#E167BF"),
|
|
761
|
+
makeColorOption("#EB99D4"),
|
|
762
|
+
makeColorOption("#F5CCEA"),
|
|
763
|
+
makeColorOption("#FF00A8")
|
|
764
|
+
],
|
|
765
|
+
[
|
|
766
|
+
makeColorOption("#8E220A"),
|
|
767
|
+
makeColorOption("#DD340F"),
|
|
768
|
+
makeColorOption("#E45C3F"),
|
|
769
|
+
makeColorOption("#EB856F"),
|
|
770
|
+
makeColorOption("#F1AE9F"),
|
|
771
|
+
makeColorOption("#F8D6CF"),
|
|
772
|
+
makeColorOption("#FF7A00")
|
|
773
|
+
],
|
|
774
|
+
[
|
|
775
|
+
makeColorOption("#947D02"),
|
|
776
|
+
makeColorOption("#E7C302"),
|
|
777
|
+
makeColorOption("#ECCF35"),
|
|
778
|
+
makeColorOption("#F1DB67"),
|
|
779
|
+
makeColorOption("#F5E79A"),
|
|
780
|
+
makeColorOption("#FAF3CC"),
|
|
781
|
+
makeColorOption("#FAFF09")
|
|
782
|
+
],
|
|
783
|
+
[
|
|
784
|
+
makeColorOption("#055432"),
|
|
785
|
+
makeColorOption("#07834F"),
|
|
786
|
+
makeColorOption("#399C72"),
|
|
787
|
+
makeColorOption("#6AB595"),
|
|
788
|
+
makeColorOption("#9CCDB9"),
|
|
789
|
+
makeColorOption("#CDE6DC"),
|
|
790
|
+
makeColorOption("#05F38F")
|
|
791
|
+
],
|
|
792
|
+
[
|
|
793
|
+
makeColorOption("#063E7E"),
|
|
794
|
+
makeColorOption("#0A60C5"),
|
|
795
|
+
makeColorOption("#3B80D1"),
|
|
796
|
+
makeColorOption("#6CA0DC"),
|
|
797
|
+
makeColorOption("#9DBFE8"),
|
|
798
|
+
makeColorOption("#CEDFF3"),
|
|
799
|
+
makeColorOption("#00E0FF")
|
|
800
|
+
],
|
|
801
|
+
[
|
|
802
|
+
makeColorOption("#3E027A"),
|
|
803
|
+
makeColorOption("#6103BF"),
|
|
804
|
+
makeColorOption("#8136CC"),
|
|
805
|
+
makeColorOption("#A068D9"),
|
|
806
|
+
makeColorOption("#C09AE6"),
|
|
807
|
+
makeColorOption("#DFCDF2"),
|
|
808
|
+
makeColorOption("#A91DFF")
|
|
809
|
+
]
|
|
810
|
+
];
|
|
811
|
+
const getAvailableColorOptions = () => {
|
|
812
|
+
return icons.flat().map((item) => item.value);
|
|
813
|
+
};
|
|
667
814
|
const closeDropdown = (dropdown) => {
|
|
668
815
|
dropdown.expand.value = false;
|
|
669
816
|
};
|
|
@@ -787,6 +934,28 @@ const makeDefaultItems = (superToolbar, isDev = false, windowWidth, role, toolba
|
|
|
787
934
|
icon: toolbarIcons2.underline,
|
|
788
935
|
tooltip: "Underline"
|
|
789
936
|
});
|
|
937
|
+
const highlight = useToolbarItem({
|
|
938
|
+
type: "dropdown",
|
|
939
|
+
name: "highlight",
|
|
940
|
+
icon: toolbarIcons2.highlight,
|
|
941
|
+
hideLabel: true,
|
|
942
|
+
markName: "highlight",
|
|
943
|
+
labelAttr: "color",
|
|
944
|
+
tooltip: "Highlight color",
|
|
945
|
+
command: "setHighlight",
|
|
946
|
+
suppressActiveHighlight: true,
|
|
947
|
+
options: [
|
|
948
|
+
{
|
|
949
|
+
key: "color",
|
|
950
|
+
type: "render",
|
|
951
|
+
render: () => renderColorOptions(superToolbar, highlight)
|
|
952
|
+
}
|
|
953
|
+
],
|
|
954
|
+
onActivate: ({ color }) => {
|
|
955
|
+
highlight.iconColor.value = color || "";
|
|
956
|
+
},
|
|
957
|
+
onDeactivate: () => highlight.iconColor.value = ""
|
|
958
|
+
});
|
|
790
959
|
const colorButton = useToolbarItem({
|
|
791
960
|
type: "dropdown",
|
|
792
961
|
name: "color",
|
|
@@ -801,7 +970,7 @@ const makeDefaultItems = (superToolbar, isDev = false, windowWidth, role, toolba
|
|
|
801
970
|
{
|
|
802
971
|
key: "color",
|
|
803
972
|
type: "render",
|
|
804
|
-
render: () => renderColorOptions(colorButton)
|
|
973
|
+
render: () => renderColorOptions(superToolbar, colorButton)
|
|
805
974
|
}
|
|
806
975
|
],
|
|
807
976
|
onActivate: ({ color }) => {
|
|
@@ -809,106 +978,6 @@ const makeDefaultItems = (superToolbar, isDev = false, windowWidth, role, toolba
|
|
|
809
978
|
},
|
|
810
979
|
onDeactivate: () => colorButton.iconColor.value = "#000"
|
|
811
980
|
});
|
|
812
|
-
const makeColorOption = (color, label = null) => {
|
|
813
|
-
return {
|
|
814
|
-
label,
|
|
815
|
-
icon: toolbarIcons2.colorOption,
|
|
816
|
-
value: color,
|
|
817
|
-
style: {
|
|
818
|
-
color,
|
|
819
|
-
boxShadow: "0 0 5px 1px rgba(0, 0, 0, 0.1)",
|
|
820
|
-
borderRadius: "50%"
|
|
821
|
-
}
|
|
822
|
-
};
|
|
823
|
-
};
|
|
824
|
-
const icons = [
|
|
825
|
-
[
|
|
826
|
-
makeColorOption("#111111"),
|
|
827
|
-
makeColorOption("#333333"),
|
|
828
|
-
makeColorOption("##5C5C5C"),
|
|
829
|
-
makeColorOption("#858585"),
|
|
830
|
-
makeColorOption("#ADADAD"),
|
|
831
|
-
makeColorOption("#D6D6D6"),
|
|
832
|
-
makeColorOption("#FFFFFF")
|
|
833
|
-
],
|
|
834
|
-
[
|
|
835
|
-
makeColorOption("#860028"),
|
|
836
|
-
makeColorOption("#D2003F"),
|
|
837
|
-
makeColorOption("#DB3365"),
|
|
838
|
-
makeColorOption("#E4668C"),
|
|
839
|
-
makeColorOption("#ED99B2"),
|
|
840
|
-
makeColorOption("#F6CCD9"),
|
|
841
|
-
makeColorOption("#FF004D")
|
|
842
|
-
],
|
|
843
|
-
[
|
|
844
|
-
makeColorOption("#83015E"),
|
|
845
|
-
makeColorOption("#CD0194"),
|
|
846
|
-
makeColorOption("#D734A9"),
|
|
847
|
-
makeColorOption("#E167BF"),
|
|
848
|
-
makeColorOption("#EB99D4"),
|
|
849
|
-
makeColorOption("#F5CCEA"),
|
|
850
|
-
makeColorOption("#FF00A8")
|
|
851
|
-
],
|
|
852
|
-
[
|
|
853
|
-
makeColorOption("#8E220A"),
|
|
854
|
-
makeColorOption("#DD340F"),
|
|
855
|
-
makeColorOption("#E45C3F"),
|
|
856
|
-
makeColorOption("#EB856F"),
|
|
857
|
-
makeColorOption("#F1AE9F"),
|
|
858
|
-
makeColorOption("#F8D6CF"),
|
|
859
|
-
makeColorOption("#FF7A00")
|
|
860
|
-
],
|
|
861
|
-
[
|
|
862
|
-
makeColorOption("#947D02"),
|
|
863
|
-
makeColorOption("#E7C302"),
|
|
864
|
-
makeColorOption("#ECCF35"),
|
|
865
|
-
makeColorOption("#F1DB67"),
|
|
866
|
-
makeColorOption("#F5E79A"),
|
|
867
|
-
makeColorOption("#FAF3CC"),
|
|
868
|
-
makeColorOption("#FAFF09")
|
|
869
|
-
],
|
|
870
|
-
[
|
|
871
|
-
makeColorOption("#055432"),
|
|
872
|
-
makeColorOption("#07834F"),
|
|
873
|
-
makeColorOption("#399C72"),
|
|
874
|
-
makeColorOption("#6AB595"),
|
|
875
|
-
makeColorOption("#9CCDB9"),
|
|
876
|
-
makeColorOption("#CDE6DC"),
|
|
877
|
-
makeColorOption("#05F38F")
|
|
878
|
-
],
|
|
879
|
-
[
|
|
880
|
-
makeColorOption("#063E7E"),
|
|
881
|
-
makeColorOption("#0A60C5"),
|
|
882
|
-
makeColorOption("#3B80D1"),
|
|
883
|
-
makeColorOption("#6CA0DC"),
|
|
884
|
-
makeColorOption("#9DBFE8"),
|
|
885
|
-
makeColorOption("#CEDFF3"),
|
|
886
|
-
makeColorOption("#00E0FF")
|
|
887
|
-
],
|
|
888
|
-
[
|
|
889
|
-
makeColorOption("#3E027A"),
|
|
890
|
-
makeColorOption("#6103BF"),
|
|
891
|
-
makeColorOption("#8136CC"),
|
|
892
|
-
makeColorOption("#A068D9"),
|
|
893
|
-
makeColorOption("#C09AE6"),
|
|
894
|
-
makeColorOption("#DFCDF2"),
|
|
895
|
-
makeColorOption("#A91DFF")
|
|
896
|
-
]
|
|
897
|
-
];
|
|
898
|
-
function renderColorOptions(colorButton2) {
|
|
899
|
-
const handleSelect = (e) => {
|
|
900
|
-
colorButton2.iconColor.value = e;
|
|
901
|
-
superToolbar.emitCommand({ item: colorButton2, argument: e });
|
|
902
|
-
closeDropdown(colorButton2);
|
|
903
|
-
};
|
|
904
|
-
return h("div", {}, [
|
|
905
|
-
h(IconGrid, {
|
|
906
|
-
icons,
|
|
907
|
-
activeColor: colorButton2.iconColor,
|
|
908
|
-
onSelect: handleSelect
|
|
909
|
-
})
|
|
910
|
-
]);
|
|
911
|
-
}
|
|
912
981
|
const link = useToolbarItem({
|
|
913
982
|
type: "dropdown",
|
|
914
983
|
name: "link",
|
|
@@ -1323,6 +1392,7 @@ const makeDefaultItems = (superToolbar, isDev = false, windowWidth, role, toolba
|
|
|
1323
1392
|
italic,
|
|
1324
1393
|
underline,
|
|
1325
1394
|
colorButton,
|
|
1395
|
+
highlight,
|
|
1326
1396
|
separator,
|
|
1327
1397
|
link,
|
|
1328
1398
|
image,
|
|
@@ -1568,6 +1638,9 @@ class SuperToolbar extends EventEmitter {
|
|
|
1568
1638
|
setColor: ({ item, argument }) => {
|
|
1569
1639
|
__privateMethod(this, _SuperToolbar_instances, runCommandWithArgumentOnly_fn).call(this, { item, argument });
|
|
1570
1640
|
},
|
|
1641
|
+
setHighlight: ({ item, argument }) => {
|
|
1642
|
+
__privateMethod(this, _SuperToolbar_instances, runCommandWithArgumentOnly_fn).call(this, { item, argument });
|
|
1643
|
+
},
|
|
1571
1644
|
toggleRuler: ({ item, argument }) => {
|
|
1572
1645
|
this.superdoc.toggleRuler();
|
|
1573
1646
|
},
|
|
@@ -1703,6 +1776,7 @@ class SuperToolbar extends EventEmitter {
|
|
|
1703
1776
|
updateToolbarState() {
|
|
1704
1777
|
__privateMethod(this, _SuperToolbar_instances, updateToolbarHistory_fn).call(this);
|
|
1705
1778
|
__privateMethod(this, _SuperToolbar_instances, initDefaultFonts_fn).call(this);
|
|
1779
|
+
__privateMethod(this, _SuperToolbar_instances, updateHighlightColors_fn).call(this);
|
|
1706
1780
|
if (!this.activeEditor || this.documentMode === "viewing") {
|
|
1707
1781
|
__privateMethod(this, _SuperToolbar_instances, deactivateAll_fn).call(this);
|
|
1708
1782
|
return;
|
|
@@ -1757,8 +1831,8 @@ class SuperToolbar extends EventEmitter {
|
|
|
1757
1831
|
}
|
|
1758
1832
|
_interceptedCommands = new WeakMap();
|
|
1759
1833
|
_SuperToolbar_instances = new WeakSet();
|
|
1760
|
-
makeToolbarItems_fn = function(superToolbar,
|
|
1761
|
-
const { defaultItems, overflowItems } = makeDefaultItems(superToolbar, isDev, window.innerWidth, this.role,
|
|
1834
|
+
makeToolbarItems_fn = function(superToolbar, icons2, isDev = false) {
|
|
1835
|
+
const { defaultItems, overflowItems } = makeDefaultItems(superToolbar, isDev, window.innerWidth, this.role, icons2);
|
|
1762
1836
|
this.toolbarItems = defaultItems;
|
|
1763
1837
|
this.overflowItems = overflowItems;
|
|
1764
1838
|
};
|
|
@@ -1770,6 +1844,27 @@ initDefaultFonts_fn = function() {
|
|
|
1770
1844
|
const fontFamilyItem = this.toolbarItems.find((item) => item.name.value === "fontFamily");
|
|
1771
1845
|
if (fontFamilyItem) fontFamilyItem.defaultLabel.value = typeface;
|
|
1772
1846
|
};
|
|
1847
|
+
updateHighlightColors_fn = function() {
|
|
1848
|
+
if (!this.activeEditor || !this.activeEditor.converter) return;
|
|
1849
|
+
if (!this.activeEditor.converter.docHiglightColors.size) return;
|
|
1850
|
+
const highlightItem = this.toolbarItems.find((item) => item.name.value === "highlight");
|
|
1851
|
+
const pickerColorOptions = getAvailableColorOptions();
|
|
1852
|
+
const perChunk = 7;
|
|
1853
|
+
const result = Array.from(this.activeEditor.converter.docHiglightColors).reduce((resultArray, item, index) => {
|
|
1854
|
+
const chunkIndex = Math.floor(index / perChunk);
|
|
1855
|
+
if (!resultArray[chunkIndex]) {
|
|
1856
|
+
resultArray[chunkIndex] = [];
|
|
1857
|
+
}
|
|
1858
|
+
if (!pickerColorOptions.includes(item)) resultArray[chunkIndex].push(makeColorOption(item));
|
|
1859
|
+
return resultArray;
|
|
1860
|
+
}, []);
|
|
1861
|
+
const option = {
|
|
1862
|
+
key: "color",
|
|
1863
|
+
type: "render",
|
|
1864
|
+
render: () => renderColorOptions(this, highlightItem, result)
|
|
1865
|
+
};
|
|
1866
|
+
highlightItem.nestedOptions.value = [option];
|
|
1867
|
+
};
|
|
1773
1868
|
deactivateAll_fn = function() {
|
|
1774
1869
|
this.activeEditor = null;
|
|
1775
1870
|
this.toolbarItems.forEach((item) => {
|