pxx-vue-quill 1.0.105 → 1.0.106
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/vue-quill.umd.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Copyright (c) 2025 Pxx-Team
|
|
9
9
|
* Released under the MIT license
|
|
10
|
-
* Date: 2025-09-10T02:
|
|
10
|
+
* Date: 2025-09-10T02:44:18.286Z
|
|
11
11
|
*/
|
|
12
12
|
(function (global, factory) {
|
|
13
13
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue')) :
|
|
@@ -1993,6 +1993,27 @@
|
|
|
1993
1993
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
1994
1994
|
}
|
|
1995
1995
|
|
|
1996
|
+
function getAugmentedNamespace(n) {
|
|
1997
|
+
var f = n.default;
|
|
1998
|
+
if (typeof f == "function") {
|
|
1999
|
+
var a = function () {
|
|
2000
|
+
return f.apply(this, arguments);
|
|
2001
|
+
};
|
|
2002
|
+
a.prototype = f.prototype;
|
|
2003
|
+
} else a = {};
|
|
2004
|
+
Object.defineProperty(a, '__esModule', {value: true});
|
|
2005
|
+
Object.keys(n).forEach(function (k) {
|
|
2006
|
+
var d = Object.getOwnPropertyDescriptor(n, k);
|
|
2007
|
+
Object.defineProperty(a, k, d.get ? d : {
|
|
2008
|
+
enumerable: true,
|
|
2009
|
+
get: function () {
|
|
2010
|
+
return n[k];
|
|
2011
|
+
}
|
|
2012
|
+
});
|
|
2013
|
+
});
|
|
2014
|
+
return a;
|
|
2015
|
+
}
|
|
2016
|
+
|
|
1996
2017
|
var quill = {exports: {}};
|
|
1997
2018
|
|
|
1998
2019
|
(function (module, exports) {
|
|
@@ -18644,281 +18665,1785 @@
|
|
|
18644
18665
|
}
|
|
18645
18666
|
});
|
|
18646
18667
|
|
|
18647
|
-
|
|
18648
|
-
|
|
18649
|
-
|
|
18650
|
-
|
|
18651
|
-
|
|
18652
|
-
|
|
18653
|
-
|
|
18654
|
-
|
|
18655
|
-
|
|
18656
|
-
|
|
18657
|
-
|
|
18658
|
-
|
|
18659
|
-
|
|
18660
|
-
|
|
18661
|
-
|
|
18662
|
-
catch (error) {
|
|
18663
|
-
console.warn('移除blotFormatter overlay时出错:', error);
|
|
18664
|
-
}
|
|
18665
|
-
};
|
|
18666
|
-
const handleBlotFormatterClick = (event) => {
|
|
18667
|
-
var _a;
|
|
18668
|
-
if (!editor.value)
|
|
18669
|
-
return;
|
|
18670
|
-
const blotFormatter = (_a = quillRef.value) === null || _a === void 0 ? void 0 : _a.getModule('blotFormatter');
|
|
18671
|
-
if (!blotFormatter || !blotFormatter.overlay)
|
|
18672
|
-
return;
|
|
18673
|
-
const isClickInsideEditor = editor.value.contains(event.target);
|
|
18674
|
-
if (!isClickInsideEditor) {
|
|
18675
|
-
removeQuillBlotFormatter();
|
|
18676
|
-
}
|
|
18677
|
-
};
|
|
18678
|
-
const configureBlotFormatter = () => {
|
|
18679
|
-
if (!quillRef.value)
|
|
18680
|
-
return;
|
|
18681
|
-
const blotFormatter = quillRef.value.getModule('blotFormatter');
|
|
18682
|
-
if (blotFormatter) {
|
|
18683
|
-
const originalShow = blotFormatter.show.bind(blotFormatter);
|
|
18684
|
-
blotFormatter.show = function (spec) {
|
|
18685
|
-
var _a;
|
|
18686
|
-
originalShow(spec);
|
|
18687
|
-
const target = (_a = this.currentSpec) === null || _a === void 0 ? void 0 : _a.getTargetElement();
|
|
18688
|
-
if (target && target.tagName === 'IMG') {
|
|
18689
|
-
target.style.maxWidth = '100%';
|
|
18690
|
-
target.style.height = 'auto';
|
|
18691
|
-
target.style.objectFit = 'contain';
|
|
18692
|
-
const width = target.getAttribute('width');
|
|
18693
|
-
if (width) {
|
|
18694
|
-
const naturalWidth = target.naturalWidth;
|
|
18695
|
-
const naturalHeight = target.naturalHeight;
|
|
18696
|
-
if (naturalWidth && naturalHeight) {
|
|
18697
|
-
const aspectRatio = naturalHeight / naturalWidth;
|
|
18698
|
-
const newHeight = Math.round(parseInt(width) * aspectRatio);
|
|
18699
|
-
target.setAttribute('height', '' + newHeight);
|
|
18700
|
-
}
|
|
18701
|
-
}
|
|
18702
|
-
}
|
|
18703
|
-
};
|
|
18704
|
-
}
|
|
18705
|
-
};
|
|
18706
|
-
const applyImageStyle = () => {
|
|
18707
|
-
var _a;
|
|
18708
|
-
if (!quillRef.value)
|
|
18709
|
-
return;
|
|
18710
|
-
const editorElement = (_a = editor.value) === null || _a === void 0 ? void 0 : _a.querySelector('.ql-editor');
|
|
18711
|
-
if (editorElement) {
|
|
18712
|
-
const images = editorElement.querySelectorAll('img');
|
|
18713
|
-
images.forEach(img => {
|
|
18714
|
-
img.style.maxWidth = '100%';
|
|
18715
|
-
img.style.height = 'auto';
|
|
18716
|
-
img.style.objectFit = 'contain';
|
|
18717
|
-
});
|
|
18718
|
-
}
|
|
18719
|
-
};
|
|
18720
|
-
const registerBlotFormatter = () => {
|
|
18721
|
-
if (!enableImageResize) {
|
|
18722
|
-
return;
|
|
18723
|
-
}
|
|
18724
|
-
try {
|
|
18725
|
-
Quill.register('modules/blotFormatter', BlotFormatter);
|
|
18726
|
-
console.log('BlotFormatter模块已注册');
|
|
18727
|
-
}
|
|
18728
|
-
catch (error) {
|
|
18729
|
-
console.warn('注册BlotFormatter模块时出错:', error);
|
|
18730
|
-
}
|
|
18731
|
-
};
|
|
18732
|
-
const getBlotFormatterConfig = () => {
|
|
18733
|
-
if (!enableImageResize) {
|
|
18734
|
-
return {};
|
|
18735
|
-
}
|
|
18736
|
-
return {
|
|
18737
|
-
modules: {
|
|
18738
|
-
blotFormatter: true
|
|
18739
|
-
}
|
|
18740
|
-
};
|
|
18741
|
-
};
|
|
18742
|
-
vue.onBeforeUnmount(() => {
|
|
18743
|
-
removeQuillBlotFormatter();
|
|
18744
|
-
});
|
|
18745
|
-
const setQuill = (quillInstance) => {
|
|
18746
|
-
quillRef.value = quillInstance;
|
|
18747
|
-
};
|
|
18748
|
-
return {
|
|
18749
|
-
quillRef,
|
|
18750
|
-
setQuill,
|
|
18751
|
-
handleBlotFormatterClick,
|
|
18752
|
-
configureBlotFormatter,
|
|
18753
|
-
applyImageStyle,
|
|
18754
|
-
registerBlotFormatter,
|
|
18755
|
-
getBlotFormatterConfig
|
|
18756
|
-
};
|
|
18668
|
+
var dist = {};
|
|
18669
|
+
|
|
18670
|
+
var Options = {};
|
|
18671
|
+
|
|
18672
|
+
var BlotSpec = {};
|
|
18673
|
+
|
|
18674
|
+
var BlotFormatter$1 = {};
|
|
18675
|
+
|
|
18676
|
+
var isMergeableObject = function isMergeableObject(value) {
|
|
18677
|
+
return isNonNullObject(value)
|
|
18678
|
+
&& !isSpecial(value)
|
|
18679
|
+
};
|
|
18680
|
+
|
|
18681
|
+
function isNonNullObject(value) {
|
|
18682
|
+
return !!value && typeof value === 'object'
|
|
18757
18683
|
}
|
|
18758
18684
|
|
|
18759
|
-
function
|
|
18760
|
-
|
|
18761
|
-
|
|
18762
|
-
|
|
18763
|
-
|
|
18764
|
-
|
|
18765
|
-
const target = event.target;
|
|
18766
|
-
if (target.tagName === 'A') {
|
|
18767
|
-
event.preventDefault();
|
|
18768
|
-
event.stopPropagation();
|
|
18769
|
-
try {
|
|
18770
|
-
const linkElement = target;
|
|
18771
|
-
const linkUrl = linkElement.getAttribute('href') || '';
|
|
18772
|
-
const linkText = linkElement.textContent || '';
|
|
18773
|
-
const range = quillRef.value.getSelection();
|
|
18774
|
-
if (range) {
|
|
18775
|
-
const [blot] = quillRef.value.getLeaf(range.index);
|
|
18776
|
-
if (blot && blot.parent && blot.parent.domNode.tagName === 'A') {
|
|
18777
|
-
const linkBlot = blot.parent;
|
|
18778
|
-
const linkIndex = quillRef.value.getIndex(linkBlot);
|
|
18779
|
-
const linkLength = linkBlot.length();
|
|
18780
|
-
quillRef.value.setSelection(linkIndex, linkLength);
|
|
18781
|
-
handleCustomLinkRef.value(true, { url: linkUrl, text: linkText });
|
|
18782
|
-
}
|
|
18783
|
-
}
|
|
18784
|
-
}
|
|
18785
|
-
catch (error) {
|
|
18786
|
-
console.warn('选中链接失败:', error);
|
|
18787
|
-
}
|
|
18788
|
-
}
|
|
18789
|
-
};
|
|
18790
|
-
const addLinkClickListener = () => {
|
|
18791
|
-
if (!quillRef.value)
|
|
18792
|
-
return;
|
|
18793
|
-
vue.nextTick(() => {
|
|
18794
|
-
var _a;
|
|
18795
|
-
const editorElement = (_a = editor.value) === null || _a === void 0 ? void 0 : _a.querySelector('.ql-editor');
|
|
18796
|
-
if (editorElement) {
|
|
18797
|
-
editorElement.removeEventListener('click', handleLinkClick);
|
|
18798
|
-
editorElement.addEventListener('click', handleLinkClick);
|
|
18799
|
-
}
|
|
18800
|
-
});
|
|
18801
|
-
};
|
|
18802
|
-
const setQuill = (quillInstance) => {
|
|
18803
|
-
quillRef.value = quillInstance;
|
|
18804
|
-
};
|
|
18805
|
-
const setHandleCustomLink = (fn) => {
|
|
18806
|
-
handleCustomLinkRef.value = fn;
|
|
18807
|
-
};
|
|
18808
|
-
return {
|
|
18809
|
-
quillRef,
|
|
18810
|
-
setQuill,
|
|
18811
|
-
setHandleCustomLink,
|
|
18812
|
-
handleLinkClick,
|
|
18813
|
-
addLinkClickListener
|
|
18814
|
-
};
|
|
18685
|
+
function isSpecial(value) {
|
|
18686
|
+
var stringValue = Object.prototype.toString.call(value);
|
|
18687
|
+
|
|
18688
|
+
return stringValue === '[object RegExp]'
|
|
18689
|
+
|| stringValue === '[object Date]'
|
|
18690
|
+
|| isReactElement(value)
|
|
18815
18691
|
}
|
|
18816
18692
|
|
|
18817
|
-
|
|
18818
|
-
|
|
18819
|
-
|
|
18820
|
-
|
|
18821
|
-
|
|
18822
|
-
|
|
18823
|
-
}
|
|
18824
|
-
catch (error) {
|
|
18825
|
-
console.warn('全局点击事件处理函数执行出错:', error);
|
|
18826
|
-
}
|
|
18827
|
-
});
|
|
18828
|
-
};
|
|
18829
|
-
const addClickHandler = (handler) => {
|
|
18830
|
-
if (typeof handler === 'function' && !clickHandlers.value.includes(handler)) {
|
|
18831
|
-
clickHandlers.value.push(handler);
|
|
18832
|
-
}
|
|
18833
|
-
};
|
|
18834
|
-
const clearClickHandlers = () => {
|
|
18835
|
-
clickHandlers.value = [];
|
|
18836
|
-
};
|
|
18837
|
-
vue.onMounted(() => {
|
|
18838
|
-
window.addEventListener('click', handleGlobalClick);
|
|
18839
|
-
});
|
|
18840
|
-
vue.onBeforeUnmount(() => {
|
|
18841
|
-
window.removeEventListener('click', handleGlobalClick);
|
|
18842
|
-
clearClickHandlers();
|
|
18843
|
-
});
|
|
18844
|
-
return {
|
|
18845
|
-
clickHandlers: clickHandlers.value,
|
|
18846
|
-
addClickHandler,
|
|
18847
|
-
clearClickHandlers,
|
|
18848
|
-
handleGlobalClick
|
|
18849
|
-
};
|
|
18693
|
+
// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25
|
|
18694
|
+
var canUseSymbol = typeof Symbol === 'function' && Symbol.for;
|
|
18695
|
+
var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;
|
|
18696
|
+
|
|
18697
|
+
function isReactElement(value) {
|
|
18698
|
+
return value.$$typeof === REACT_ELEMENT_TYPE
|
|
18850
18699
|
}
|
|
18851
18700
|
|
|
18852
|
-
|
|
18853
|
-
|
|
18854
|
-
|
|
18855
|
-
const moreSVG = `<svg t="1756109058354" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11458" width="18" height="18"><path d="M512 320q-3.150769 0-6.301538-0.315077-3.111385-0.315077-6.183385-0.905846-3.072-0.630154-6.104615-1.536-2.993231-0.905846-5.907693-2.126769-2.914462-1.181538-5.671384-2.678154-2.756923-1.496615-5.395693-3.229539-2.599385-1.732923-5.04123-3.741538-2.441846-1.969231-4.647385-4.214154-2.244923-2.205538-4.214154-4.647385-1.969231-2.441846-3.741538-5.04123-1.732923-2.638769-3.229539-5.395693-1.496615-2.756923-2.678154-5.671384-1.181538-2.914462-2.126769-5.907693-0.905846-3.032615-1.536-6.104615-0.590769-3.072-0.905846-6.222769T448 256q0-3.150769 0.315077-6.301538 0.315077-3.111385 0.905846-6.183385 0.630154-3.072 1.536-6.104615 0.905846-2.993231 2.126769-5.907693 1.181538-2.914462 2.678154-5.671384 1.496615-2.756923 3.229539-5.395693 1.732923-2.599385 3.741538-5.04123 1.969231-2.441846 4.214154-4.647385 2.205538-2.205538 4.647385-4.214154 2.441846-1.969231 5.04123-3.741538 2.638769-1.732923 5.395693-3.229539 2.756923-1.496615 5.671384-2.678154 2.914462-1.181538 5.907693-2.126769 3.032615-0.905846 6.104615-1.536 3.072-0.590769 6.222769-0.905846T512 192q3.150769 0 6.301538 0.315077 3.111385 0.315077 6.183385 0.905846 3.072 0.630154 6.104615 1.536 2.993231 0.905846 5.907693 2.126769 2.914462 1.181538 5.671384 2.678154 2.756923 1.496615 5.395693 3.229539 2.599385 1.732923 5.04123 3.741538 2.441846 1.969231 4.647385 4.214154 2.205538 2.205538 4.214154 4.647385 1.969231 2.441846 3.741538 5.04123 1.732923 2.638769 3.229539 5.395693 1.496615 2.756923 2.678154 5.671384 1.181538 2.914462 2.126769 5.907693 0.905846 3.032615 1.536 6.104615 0.590769 3.072 0.905846 6.222769t0.315077 6.262154q0 3.150769-0.315077 6.301538-0.315077 3.111385-0.905846 6.183385-0.630154 3.072-1.536 6.104615-0.905846 2.993231-2.126769 5.907693-1.181538 2.914462-2.678154 5.671384-1.496615 2.756923-3.229539 5.395693-1.732923 2.599385-3.741538 5.04123-1.969231 2.441846-4.214154 4.647385-2.205538 2.244923-4.647385 4.214154-2.441846 1.969231-5.04123 3.741538-2.638769 1.732923-5.395693 3.229539-2.756923 1.496615-5.671384 2.678154-2.914462 1.181538-5.907693 2.126769-3.032615 0.905846-6.104615 1.536-3.072 0.590769-6.222769 0.905846T512 320z m0 256q-3.150769 0-6.301538-0.315077-3.111385-0.315077-6.183385-0.905846-3.072-0.630154-6.104615-1.536-2.993231-0.905846-5.907693-2.126769-2.914462-1.181538-5.671384-2.678154-2.756923-1.496615-5.395693-3.229539-2.599385-1.732923-5.04123-3.741538-2.441846-1.969231-4.647385-4.214154-2.244923-2.205538-4.214154-4.647385-1.969231-2.441846-3.741538-5.04123-1.732923-2.638769-3.229539-5.395693-1.496615-2.756923-2.678154-5.671384-1.181538-2.914462-2.126769-5.907693-0.905846-3.032615-1.536-6.104615-0.590769-3.072-0.905846-6.222769T448 512q0-3.150769 0.315077-6.301538 0.315077-3.111385 0.905846-6.183385 0.630154-3.072 1.536-6.104615 0.905846-2.993231 2.126769-5.907693 1.181538-2.914462 2.678154-5.671384 1.496615-2.756923 3.229539-5.395693 1.732923-2.599385 3.741538-5.04123 1.969231-2.441846 4.214154-4.647385 2.205538-2.244923 4.647385-4.214154 2.441846-1.969231 5.04123-3.741538 2.638769-1.732923 5.395693-3.229539 2.756923-1.496615 5.671384-2.678154 2.914462-1.181538 5.907693-2.126769 3.032615-0.905846 6.104615-1.536 3.072-0.590769 6.222769-0.905846T512 448q3.150769 0 6.301538 0.315077 3.111385 0.315077 6.183385 0.905846 3.072 0.630154 6.104615 1.536 2.993231 0.905846 5.907693 2.126769 2.914462 1.181538 5.671384 2.678154 2.756923 1.496615 5.395693 3.229539 2.599385 1.732923 5.04123 3.741538 2.441846 1.969231 4.647385 4.214154 2.205538 2.205538 4.214154 4.647385 1.969231 2.441846 3.741538 5.04123 1.732923 2.638769 3.229539 5.395693 1.496615 2.756923 2.678154 5.671384 1.181538 2.914462 2.126769 5.907693 0.905846 3.032615 1.536 6.104615 0.590769 3.072 0.905846 6.222769t0.315077 6.262154q0 3.150769-0.315077 6.301538-0.315077 3.111385-0.905846 6.183385-0.630154 3.072-1.536 6.104615-0.905846 2.993231-2.126769 5.907693-1.181538 2.914462-2.678154 5.671384-1.496615 2.756923-3.229539 5.395693-1.732923 2.599385-3.741538 5.04123-1.969231 2.441846-4.214154 4.647385-2.205538 2.244923-4.647385 4.214154-2.441846 1.969231-5.04123 3.741538-2.638769 1.732923-5.395693 3.229539-2.756923 1.496615-5.671384 2.678154-2.914462 1.181538-5.907693 2.126769-3.032615 0.905846-6.104615 1.536-3.072 0.590769-6.222769 0.905846T512 576z m0 256q-3.150769 0-6.301538-0.315077-3.111385-0.315077-6.183385-0.905846-3.072-0.630154-6.104615-1.536-2.993231-0.905846-5.907693-2.126769-2.914462-1.181538-5.671384-2.678154-2.756923-1.496615-5.395693-3.229539-2.599385-1.732923-5.04123-3.741538-2.441846-1.969231-4.647385-4.214154-2.244923-2.205538-4.214154-4.647385-1.969231-2.441846-3.741538-5.04123-1.732923-2.638769-3.229539-5.395693-1.496615-2.756923-2.678154-5.671384-1.181538-2.914462-2.126769-5.907693-0.905846-3.032615-1.536-6.104615-0.590769-3.072-0.905846-6.222769t-0.315077-6.262154q0-3.150769 0.315077-6.301538 0.315077-3.111385 0.905846-6.183385 0.630154-3.072 1.536-6.104615 0.905846-2.993231 2.126769-5.907693 1.181538-2.914462 2.678154-5.671384 1.496615-2.756923 3.229539-5.395693 1.732923-2.599385 3.741538-5.04123 1.969231-2.441846 4.214154-4.647385 2.205538-2.205538 4.647385-4.214154 2.441846-1.969231 5.04123-3.741538 2.638769-1.732923 5.395693-3.229539 2.756923-1.496615 5.671384-2.678154 2.914462-1.181538 5.907693-2.126769 3.032615-0.905846 6.104615-1.536 3.072-0.590769 6.222769-0.905846T512 704q3.150769 0 6.301538 0.315077 3.111385 0.315077 6.183385 0.905846 3.072 0.630154 6.104615 1.536 2.993231 0.905846 5.907693 2.126769 2.914462 1.181538 5.671384 2.678154 2.756923 1.496615 5.395693 3.229539 2.599385 1.732923 5.04123 3.741538 2.441846 1.969231 4.647385 4.214154 2.205538 2.205538 4.214154 4.647385 1.969231 2.441846 3.741538 5.04123 1.732923 2.638769 3.229539 5.395693 1.496615 2.756923 2.678154 5.671384 1.181538 2.914462 2.126769 5.907693 0.905846 3.032615 1.536 6.104615 0.590769 3.072 0.905846 6.222769t0.315077 6.262154q0 3.150769-0.315077 6.301538-0.315077 3.111385-0.905846 6.183385-0.630154 3.072-1.536 6.104615-0.905846 2.993231-2.126769 5.907693-1.181538 2.914462-2.678154 5.671384-1.496615 2.756923-3.229539 5.395693-1.732923 2.599385-3.741538 5.04123-1.969231 2.441846-4.214154 4.647385-2.205538 2.205538-4.647385 4.214154-2.441846 1.969231-5.04123 3.741538-2.638769 1.732923-5.395693 3.229539-2.756923 1.496615-5.671384 2.678154-2.914462 1.181538-5.907693 2.126769-3.032615 0.905846-6.104615 1.536-3.072 0.590769-6.222769 0.905846T512 832z" p-id="11459" fill="#555555"></path></svg>`;
|
|
18856
|
-
const linkSVG = `<svg t="1756107950494" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11245" width="18" height="18" style="padding:1px"><path d="M292.693333 564.906667L123.477333 395.648q-55.296-55.338667-54.272-134.4 1.066667-78.336 57.088-134.357333Q182.186667 70.912 260.608 69.845333q79.061333-1.066667 134.4 54.272l194.944 194.986667a40.533333 40.533333 0 0 1 0.938667 0.938667q54.4 55.04 53.333333 133.461333-1.066667 78.336-57.045333 134.357333a42.666667 42.666667 0 1 1-60.330667-60.330666q31.445333-31.488 32.042667-75.178667 0.597333-43.050667-29.269334-72.874667a44.458667 44.458667 0 0 1-0.853333-0.896l-194.133333-194.133333q-72.618667-72.618667-148.053334 2.773333-31.488 31.488-32.085333 75.178667-0.554667 43.050667 29.269333 72.874667l169.258667 169.301333a42.666667 42.666667 0 1 1-60.288 60.330667z m202.538667-69.674667a42.666667 42.666667 0 0 0-60.330667-60.373333q-55.978667 56.021333-57.045333 134.4-1.066667 79.018667 54.272 134.357333a40.362667 40.362667 0 0 0 0.981333 0.938667l1.706667 1.877333 194.986667 194.986667q55.338667 55.296 134.4 54.229333 78.336-1.066667 134.357333-57.045333 55.978667-56.021333 57.045333-134.4 1.066667-79.018667-54.272-134.357334l-169.258666-169.258666a42.666667 42.666667 0 1 0-60.373334 60.330666l169.301334 169.301334q29.866667 29.866667 29.269333 72.874666-0.597333 43.690667-32.042667 75.178667-31.488 31.445333-75.178666 32.042667-43.050667 0.597333-72.874667-29.269334l-194.986667-194.986666a39.68 39.68 0 0 0-0.981333-0.938667 43.52 43.52 0 0 0-1.749333-1.834667q-29.866667-29.866667-29.269334-72.917333 0.554667-43.690667 32.042667-75.136z" p-id="11246" fill="#555555"></path></svg>`;
|
|
18857
|
-
const undoSVG = `<svg t="1756107888940" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10819" width="18" height="18"><path d="M220.086857 374.893714l102.473143 102.473143c10.605714 10.642286 28.818286 3.108571 28.818286-11.922286v-77.275428h261.851428l8.009143 0.146286c98.048 3.364571 169.216 68.754286 169.216 160.182857 0 93.952-75.044571 160.365714-177.225143 160.365714H241.883429l-3.437715 0.256a25.307429 25.307429 0 0 0 3.437715 50.395429h371.346285l8.374857-0.146286c124.708571-3.657143 219.501714-90.148571 219.501715-210.834286 0-123.392-99.035429-211.017143-227.876572-211.017143h-261.851428V260.498286a16.896 16.896 0 0 0-28.818286-11.922286L220.086857 351.049143a16.896 16.896 0 0 0 0 23.844571z" p-id="10820" fill="#555555"></path></svg>`;
|
|
18858
|
-
const redoSVG = `<svg t="1756107908999" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11032" width="18" height="18"><path d="M836.205714 374.893714l-102.473143 102.473143a16.896 16.896 0 0 1-28.818285-11.922286v-77.275428h-261.851429l-8.045714 0.146286c-98.011429 3.364571-169.179429 68.754286-169.179429 160.182857 0 93.952 75.044571 160.365714 177.225143 160.365714h371.346286l3.437714 0.256a25.307429 25.307429 0 0 1-3.437714 50.395429H443.062857l-8.374857-0.146286c-124.708571-3.657143-219.501714-90.148571-219.501714-210.834286 0-123.392 99.035429-211.017143 227.84-211.017143h261.888V260.498286c0-15.030857 18.176-22.564571 28.818285-11.922286l102.473143 102.473143c6.582857 6.582857 6.582857 17.261714 0 23.844571z" p-id="11033" fill="#555555"></path></svg>`;
|
|
18859
|
-
const ocrSVG = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="15" viewBox="0 0 18 18"><g><g style="opacity:0;"><rect x="0" y="0" width="18" height="18" rx="0" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M3.0000245140625,2.6000244140625L5.5000243140625,2.6000244140625C5.8313951140625,2.6000244140625,6.1000242140625,2.3313953240625,6.1000242140625,2.0000244340625C6.1000242140625,1.6686535440624999,5.8313951140625,1.4000244140625,5.5000243140625,1.4000244140625L3.0000245140625,1.4000244140625Q2.3372827740625,1.4000244140625,1.8686535940625,1.8686535940625Q1.4000244140625,2.3372827740625,1.4000244140625,3.0000245140625L1.4000244140625,5.5000243140625C1.4000244140625,5.8313951140625,1.6686535440624999,6.1000242140625,2.0000244340625,6.1000242140625C2.3313953240625,6.1000242140625,2.6000244140625,5.8313951140625,2.6000244140625,5.5000243140625L2.6000244140625,3.0000245140625Q2.6000244140625,2.6000244140625,3.0000245140625,2.6000244140625ZM12.5000244140625,1.4000244140625L15.0000244140625,1.4000244140625Q15.6627664140625,1.4000244140625,16.1313954140625,1.8686538940625Q16.6000244140625,2.3372834940625,16.6000244140625,3.0000245140625L16.6000244140625,5.5000243140625C16.6000244140625,5.6591539140625,16.5368104140625,5.8117661140625,16.424288414062502,5.9242883140625C16.3117674140625,6.0368099140625,16.1591544140625,6.1000242140625,16.0000244140625,6.1000242140625C15.6686534140625,6.1000242140625,15.4000244140625,5.8313951140625,15.4000244140625,5.5000243140625L15.4000234140625,3.0000245140625Q15.4000234140625,2.6000244140625,15.0000244140625,2.6000244140625L12.5000244140625,2.6000244140625C12.1686534140625,2.6000244140625,11.9000244140625,2.3313953240625,11.9000244140625,2.0000244340625C11.9000244140625,1.6686535440624999,12.1686534140625,1.4000244140625,12.5000244140625,1.4000244140625ZM8.6239776140625,6.4719930140625C8.5439777140625,6.1512432140625,8.3999777140625,5.7421179140625,8.2479777140625,5.4212432140625L9.4959774140625,5.052368214062501C9.6959782140625,5.4293680140625,9.9199772140625,5.9346180140625,9.9999771140625,6.2714929140625L9.3519778140625,6.4719930140625L12.7119784140625,6.4719930140625L12.7119784140625,7.6079931140625L11.5039774140625,7.6079931140625C11.1279774140625,8.6968679140625,10.6159782140625,9.6014929140625,9.9599781140625,10.3461180140625C10.7599773140625,10.9224930140625,11.7279774140625,11.3468685140625,12.8879774140625,11.6029934140625C12.6239774140625,11.8592434140625,12.2799774140625,12.3716184140625,12.1039784140625,12.6918684140625C10.8719778140625,12.3716184140625,9.8719778140625,11.8752434140625,9.0479779140625,11.2107429140625C8.175977714062501,11.8992434140625,7.1199779140625,12.4036184140625,5.8559775140625,12.7558684140625C5.7279777140625,12.4757434140625,5.3759775140625,11.9312434140625,5.1519775140625,11.6591184140625C6.3759775140625,11.3868685140625,7.3839779140625,10.9706182140625,8.1839781140625,10.3781185140625C7.5199776140625,9.6094932140625,7.0079775140625,8.6888685140625,6.5919776140625,7.6079931140625L5.3279776140625,7.6079931140625L5.3279776140625,6.4719930140625L8.6239776140625,6.4719930140625ZM7.7999778140625,7.6079931140625C8.1119776140625,8.344617814062499,8.5359778140625,9.0011186140625,9.0719776140625,9.5694933140625C9.5439777140625,9.0251179140625,9.9199772140625,8.3766184140625,10.1919784140625,7.6079931140625L7.7999778140625,7.6079931140625ZM2.6000244140625,12.5000244140625L2.6000244140625,15.0000244140625Q2.6000244140625,15.4000234140625,3.0000245140625,15.4000234140625L5.5000243140625,15.4000234140625C5.8313951140625,15.4000244140625,6.1000242140625,15.6686534140625,6.1000242140625,16.0000244140625C6.1000242140625,16.3313964140625,5.8313951140625,16.6000254140625,5.5000243140625,16.6000254140625L5.4989548140625,16.6000244140625L3.0000245140625,16.6000244140625Q2.3372834940625,16.6000244140625,1.8686538940625,16.1313954140625Q1.4000244140625,15.6627664140625,1.4000244140625,15.0000244140625L1.4000244140625,12.5000244140625C1.4000244140625,12.1686534140625,1.6686535440624999,11.9000244140625,2.0000244340625,11.9000244140625C2.3313953240625,11.9000244140625,2.6000244140625,12.1686534140625,2.6000244140625,12.5000244140625ZM16.6000244140625,12.5010944140625L16.6000244140625,15.0000244140625Q16.6000244140625,15.6627654140625,16.1313954140625,16.1313954140625Q15.6627654140625,16.6000244140625,15.0000244140625,16.6000244140625L12.5000244140625,16.6000244140625C12.3408944140625,16.6000244140625,12.1882824140625,16.5368104140625,12.0757594140625,16.424288414062502C11.9632384140625,16.3117664140625,11.9000244140625,16.1591544140625,11.9000244140625,16.0000244140625C11.9000244140625,15.6686534140625,12.1686534140625,15.4000244140625,12.5000244140625,15.4000244140625L15.0000244140625,15.4000234140625Q15.4000234140625,15.4000234140625,15.4000234140625,15.0000244140625L15.4000234140625,12.5000244140625C15.4000244140625,12.1686534140625,15.6686534140625,11.9000244140625,16.0000244140625,11.9000244140625C16.3313964140625,11.9000244140625,16.6000254140625,12.1686534140625,16.6000254140625,12.5000244140625L16.6000244140625,12.5010944140625Z" fill-rule="evenodd" fill="#555555" fill-opacity="1"/></g></g></svg>`;
|
|
18860
|
-
const mathSVG = `<svg t="1756107836493" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10608" width="16" height="15"><path d="M877.454222 856.177778q4.835556-4.835556 7.395556-11.093334 2.616889-6.257778 2.616889-13.084444 0-3.413333-0.625778-6.656-0.682667-3.299556-1.991111-6.428444-1.251556-3.072-3.128889-5.859556-1.877333-2.844444-4.266667-5.176889-2.332444-2.389333-5.12-4.266667-2.844444-1.877333-5.916444-3.128888-3.128889-1.308444-6.428445-1.934223-3.299556-0.682667-6.656-0.682666-6.826667 0-13.084444 2.616889-6.257778 2.56-11.036445 7.395555l-54.044444 53.987556H253.155556l325.688888-325.745778q2.389333-2.389333 4.266667-5.12 1.877333-2.844444 3.128889-5.916445 1.308444-3.128889 1.934222-6.428444 0.682667-3.299556 0.682667-6.656 0-3.413333-0.682667-6.656-0.625778-3.299556-1.934222-6.428444-1.251556-3.072-3.128889-5.859556-1.877333-2.844444-4.266667-5.176889L253.155556 162.133333h522.126222l53.930666 53.987556q4.835556 4.835556 11.093334 7.395555 6.257778 2.616889 13.084444 2.616889 3.413333 0 6.656-0.682666 3.299556-0.625778 6.428445-1.934223 3.072-1.251556 5.859555-3.128888 2.844444-1.877333 5.176889-4.266667 2.389333-2.389333 4.266667-5.12 1.877333-2.844444 3.128889-5.916445 1.308444-3.128889 1.934222-6.428444 0.682667-3.299556 0.682667-6.656 0-6.826667-2.616889-13.084444-2.56-6.257778-7.395556-11.036445l-64-64q-4.778667-4.835556-11.036444-7.395555-6.257778-2.616889-13.084445-2.616889H170.666667q-6.826667 0-13.084445 2.616889-6.257778 2.56-11.036444 7.395555-2.389333 2.389333-4.266667 5.12-1.877333 2.844444-3.128889 5.916445-1.308444 3.128889-1.934222 6.428444-0.682667 3.299556-0.682667 6.656 0 3.413333 0.682667 6.656 0.625778 3.299556 1.934222 6.428444 1.251556 3.072 3.128889 5.859556 1.877333 2.844444 4.266667 5.176889L506.311111 512l-359.822222 359.879111q-4.835556 4.778667-7.395556 11.036445-2.616889 6.257778-2.616889 13.084444 0 3.413333 0.682667 6.656 0.625778 3.299556 1.934222 6.428444 1.251556 3.072 3.128889 5.859556 1.877333 2.844444 4.266667 5.176889 2.389333 2.389333 5.12 4.266667 2.844444 1.877333 5.916444 3.128888 3.128889 1.308444 6.428445 1.991112 3.299556 0.625778 6.656 0.625777h618.666666q6.826667 0 13.084445-2.616889 6.257778-2.56 11.036444-7.395555l64-63.943111z" p-id="10609" fill="#555555"></path></svg>`;
|
|
18861
|
-
const imageSVG = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="18" height="18" viewBox="0 0 18 18"><g><g style="opacity:0;"><rect x="0" y="0" width="18" height="18" rx="0" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M1.87471507,3.83578219Q1.5,4.18540478,1.5,4.6875L1.5,14.312503Q1.50000006,14.814598,1.874716,15.16422Q2.23459671,15.5,2.73684216,15.5L15.263157,15.5Q15.765403,15.5,16.125284,15.164218Q16.499999000000003,14.814597,16.499999000000003,14.312501L16.499999000000003,4.6875Q16.499999000000003,4.18540342,16.125284999999998,3.83578214Q15.765404,3.5,15.263157,3.5L2.73684216,3.5Q2.23459646,3.5,1.87471507,3.83578219ZM2.5,14.312503L2.5,4.6875Q2.5,4.5,2.73684216,4.5L15.263157,4.5Q15.5,4.5,15.5,4.6875L15.5,14.312501Q15.5,14.5,15.263157,14.5L2.73684216,14.5Q2.5,14.5,2.5,14.312503Z" fill-rule="evenodd" fill="#555555" fill-opacity="1" style="mix-blend-mode:passthrough"/></g><g><ellipse cx="5.4375" cy="7.4375" rx="0.4375" ry="0.4375" fill-opacity="0" stroke-opacity="1" stroke="#555555" fill="none" stroke-width="1" stroke-linecap="ROUND" stroke-linejoin="round" style="mix-blend-mode:passthrough"/></g><g><path d="M5.9053998,9.924615948146972L1.7143693,12.841608238146973Q1.61364189,12.911715538146973,1.55682093,13.020492338146973Q1.5,13.129269138146974,1.5,13.251992238146972L1.50000003,14.418008338146972Q1.50000003,14.876594038146973,1.84130602,15.195924738146973Q2.16843581,15.501991738146973,2.62437022,15.501991738146973L15.375628,15.501991738146973Q15.831564,15.501991738146973,16.158693,15.195924738146973Q16.5,14.876594038146973,16.5,14.418007838146973L16.5,13.251992238146972Q16.500000999999997,13.186988838146974,16.48338,13.124146438146973Q16.466759,13.061303638146972,16.434621,13.004799838146972Q16.402485,12.948296338146973,16.356969,12.901887938146972Q16.311453,12.855479738146972,16.255583,12.822251838146972L9.8796926,9.030259398146972Q9.842938400000001,9.008400078146973,9.8030057,8.993099628146974Q9.763073,8.977799118146972,9.721121799999999,8.969501908146972Q9.6791716,8.961204618146972,9.6364217,8.960151608146973Q9.5936708,8.959098578146973,9.551362000000001,8.965320438146973Q9.5090542,8.971542238146972,9.4684162,8.984858218146973Q9.427778199999999,8.998174158146973,9.3899918,9.018197478146973Q9.352206200000001,9.038220708146973,9.3183689,9.064369648146972Q9.284532500000001,9.090518598146973,9.2556267,9.122033748146972L7.6887164,10.830422738146973L6.4904227,9.934544588146972Q6.4273362,9.887379288146972,6.3528042,9.861893948146973Q6.2782726,9.836408678146972,6.1995153,9.835072038146972Q6.1207581,9.833735408146973,6.045404,9.856676968146973Q5.9700503000000005,9.879618528146972,5.9053998,9.924615948146972ZM2.5,13.513173138146973L2.50000006,14.418008338146972Q2.50000006,14.501992238146972,2.62437022,14.501992238146972L15.375628,14.501992238146972Q15.5,14.501992238146972,15.5,14.418007838146973L15.5,13.536368338146973L9.7178593,10.097503488146973L8.1200023,11.839632738146973Q8.0888524,11.873595438146973,8.052019600000001,11.901292338146973Q8.0151863,11.928988938146972,7.9739118,11.949486538146973Q7.9326363,11.969984038146972,7.88831,11.982591638146973Q7.8439837,11.995199238146974,7.7980995,11.999492138146973Q7.7522154,12.003785338146972,7.7063198,11.999619238146973Q7.6604242,11.995453338146973,7.6160631,11.982968338146973Q7.571702,11.970483338146973,7.5303702,11.950099938146973Q7.4890385,11.929716538146973,7.4521289,11.902122038146972L6.1805682,10.951467238146973L2.5,13.513173138146973Z" fill-rule="evenodd" fill="#555555" fill-opacity="1" style="mix-blend-mode:passthrough"/></g></g></svg>`;
|
|
18701
|
+
function emptyTarget(val) {
|
|
18702
|
+
return Array.isArray(val) ? [] : {}
|
|
18703
|
+
}
|
|
18862
18704
|
|
|
18863
|
-
|
|
18864
|
-
|
|
18865
|
-
|
|
18866
|
-
|
|
18867
|
-
|
|
18868
|
-
|
|
18869
|
-
|
|
18870
|
-
|
|
18871
|
-
|
|
18872
|
-
|
|
18873
|
-
|
|
18874
|
-
|
|
18875
|
-
|
|
18876
|
-
|
|
18877
|
-
|
|
18878
|
-
|
|
18879
|
-
|
|
18880
|
-
|
|
18881
|
-
|
|
18882
|
-
|
|
18883
|
-
|
|
18884
|
-
|
|
18885
|
-
|
|
18886
|
-
|
|
18887
|
-
|
|
18888
|
-
|
|
18889
|
-
|
|
18890
|
-
|
|
18891
|
-
|
|
18892
|
-
|
|
18893
|
-
|
|
18894
|
-
|
|
18895
|
-
|
|
18896
|
-
|
|
18897
|
-
|
|
18898
|
-
|
|
18899
|
-
|
|
18900
|
-
|
|
18901
|
-
|
|
18902
|
-
|
|
18903
|
-
|
|
18904
|
-
|
|
18905
|
-
|
|
18906
|
-
|
|
18907
|
-
|
|
18908
|
-
|
|
18909
|
-
|
|
18910
|
-
|
|
18911
|
-
|
|
18912
|
-
|
|
18913
|
-
|
|
18914
|
-
|
|
18915
|
-
|
|
18916
|
-
|
|
18917
|
-
|
|
18918
|
-
|
|
18919
|
-
|
|
18920
|
-
|
|
18921
|
-
|
|
18705
|
+
function cloneUnlessOtherwiseSpecified(value, options) {
|
|
18706
|
+
return (options.clone !== false && options.isMergeableObject(value))
|
|
18707
|
+
? deepmerge(emptyTarget(value), value, options)
|
|
18708
|
+
: value
|
|
18709
|
+
}
|
|
18710
|
+
|
|
18711
|
+
function defaultArrayMerge(target, source, options) {
|
|
18712
|
+
return target.concat(source).map(function(element) {
|
|
18713
|
+
return cloneUnlessOtherwiseSpecified(element, options)
|
|
18714
|
+
})
|
|
18715
|
+
}
|
|
18716
|
+
|
|
18717
|
+
function mergeObject(target, source, options) {
|
|
18718
|
+
var destination = {};
|
|
18719
|
+
if (options.isMergeableObject(target)) {
|
|
18720
|
+
Object.keys(target).forEach(function(key) {
|
|
18721
|
+
destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
|
|
18722
|
+
});
|
|
18723
|
+
}
|
|
18724
|
+
Object.keys(source).forEach(function(key) {
|
|
18725
|
+
if (!options.isMergeableObject(source[key]) || !target[key]) {
|
|
18726
|
+
destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
|
|
18727
|
+
} else {
|
|
18728
|
+
destination[key] = deepmerge(target[key], source[key], options);
|
|
18729
|
+
}
|
|
18730
|
+
});
|
|
18731
|
+
return destination
|
|
18732
|
+
}
|
|
18733
|
+
|
|
18734
|
+
function deepmerge(target, source, options) {
|
|
18735
|
+
options = options || {};
|
|
18736
|
+
options.arrayMerge = options.arrayMerge || defaultArrayMerge;
|
|
18737
|
+
options.isMergeableObject = options.isMergeableObject || isMergeableObject;
|
|
18738
|
+
|
|
18739
|
+
var sourceIsArray = Array.isArray(source);
|
|
18740
|
+
var targetIsArray = Array.isArray(target);
|
|
18741
|
+
var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
|
|
18742
|
+
|
|
18743
|
+
if (!sourceAndTargetTypesMatch) {
|
|
18744
|
+
return cloneUnlessOtherwiseSpecified(source, options)
|
|
18745
|
+
} else if (sourceIsArray) {
|
|
18746
|
+
return options.arrayMerge(target, source, options)
|
|
18747
|
+
} else {
|
|
18748
|
+
return mergeObject(target, source, options)
|
|
18749
|
+
}
|
|
18750
|
+
}
|
|
18751
|
+
|
|
18752
|
+
deepmerge.all = function deepmergeAll(array, options) {
|
|
18753
|
+
if (!Array.isArray(array)) {
|
|
18754
|
+
throw new Error('first argument should be an array')
|
|
18755
|
+
}
|
|
18756
|
+
|
|
18757
|
+
return array.reduce(function(prev, next) {
|
|
18758
|
+
return deepmerge(prev, next, options)
|
|
18759
|
+
}, {})
|
|
18760
|
+
};
|
|
18761
|
+
|
|
18762
|
+
var deepmerge_1 = deepmerge;
|
|
18763
|
+
|
|
18764
|
+
var es = /*#__PURE__*/Object.freeze({
|
|
18765
|
+
__proto__: null,
|
|
18766
|
+
'default': deepmerge_1
|
|
18767
|
+
});
|
|
18768
|
+
|
|
18769
|
+
var require$$0 = /*@__PURE__*/getAugmentedNamespace(es);
|
|
18770
|
+
|
|
18771
|
+
var Action = {};
|
|
18772
|
+
|
|
18773
|
+
var hasRequiredAction;
|
|
18774
|
+
|
|
18775
|
+
function requireAction () {
|
|
18776
|
+
if (hasRequiredAction) return Action;
|
|
18777
|
+
hasRequiredAction = 1;
|
|
18778
|
+
|
|
18779
|
+
Object.defineProperty(Action, "__esModule", {
|
|
18780
|
+
value: true
|
|
18781
|
+
});
|
|
18782
|
+
|
|
18783
|
+
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
18784
|
+
|
|
18785
|
+
var _BlotFormatter = requireBlotFormatter();
|
|
18786
|
+
|
|
18787
|
+
_interopRequireDefault(_BlotFormatter);
|
|
18788
|
+
|
|
18789
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18790
|
+
|
|
18791
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
18792
|
+
|
|
18793
|
+
var Action$1 = function () {
|
|
18794
|
+
function Action(formatter) {
|
|
18795
|
+
_classCallCheck(this, Action);
|
|
18796
|
+
|
|
18797
|
+
this.formatter = formatter;
|
|
18798
|
+
}
|
|
18799
|
+
|
|
18800
|
+
_createClass(Action, [{
|
|
18801
|
+
key: 'onCreate',
|
|
18802
|
+
value: function onCreate() {}
|
|
18803
|
+
}, {
|
|
18804
|
+
key: 'onDestroy',
|
|
18805
|
+
value: function onDestroy() {}
|
|
18806
|
+
}, {
|
|
18807
|
+
key: 'onUpdate',
|
|
18808
|
+
value: function onUpdate() {}
|
|
18809
|
+
}]);
|
|
18810
|
+
|
|
18811
|
+
return Action;
|
|
18812
|
+
}();
|
|
18813
|
+
|
|
18814
|
+
Action.default = Action$1;
|
|
18815
|
+
return Action;
|
|
18816
|
+
}
|
|
18817
|
+
|
|
18818
|
+
var hasRequiredBlotFormatter;
|
|
18819
|
+
|
|
18820
|
+
function requireBlotFormatter () {
|
|
18821
|
+
if (hasRequiredBlotFormatter) return BlotFormatter$1;
|
|
18822
|
+
hasRequiredBlotFormatter = 1;
|
|
18823
|
+
|
|
18824
|
+
Object.defineProperty(BlotFormatter$1, "__esModule", {
|
|
18825
|
+
value: true
|
|
18826
|
+
});
|
|
18827
|
+
|
|
18828
|
+
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
18829
|
+
|
|
18830
|
+
var _deepmerge = require$$0;
|
|
18831
|
+
|
|
18832
|
+
var _deepmerge2 = _interopRequireDefault(_deepmerge);
|
|
18833
|
+
|
|
18834
|
+
var _Options = requireOptions();
|
|
18835
|
+
|
|
18836
|
+
var _Options2 = _interopRequireDefault(_Options);
|
|
18837
|
+
|
|
18838
|
+
var _Action = requireAction();
|
|
18839
|
+
|
|
18840
|
+
_interopRequireDefault(_Action);
|
|
18841
|
+
|
|
18842
|
+
var _BlotSpec = requireBlotSpec();
|
|
18843
|
+
|
|
18844
|
+
_interopRequireDefault(_BlotSpec);
|
|
18845
|
+
|
|
18846
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18847
|
+
|
|
18848
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
18849
|
+
|
|
18850
|
+
var dontMerge = function dontMerge(destination, source) {
|
|
18851
|
+
return source;
|
|
18852
|
+
};
|
|
18853
|
+
|
|
18854
|
+
var BlotFormatter = function () {
|
|
18855
|
+
function BlotFormatter(quill) {
|
|
18856
|
+
var _this = this;
|
|
18857
|
+
|
|
18858
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
18859
|
+
|
|
18860
|
+
_classCallCheck(this, BlotFormatter);
|
|
18861
|
+
|
|
18862
|
+
this.onClick = function () {
|
|
18863
|
+
_this.hide();
|
|
18864
|
+
};
|
|
18865
|
+
|
|
18866
|
+
this.quill = quill;
|
|
18867
|
+
this.options = (0, _deepmerge2.default)(_Options2.default, options, { arrayMerge: dontMerge });
|
|
18868
|
+
this.currentSpec = null;
|
|
18869
|
+
this.actions = [];
|
|
18870
|
+
this.overlay = document.createElement('div');
|
|
18871
|
+
this.overlay.classList.add(this.options.overlay.className);
|
|
18872
|
+
if (this.options.overlay.style) {
|
|
18873
|
+
Object.assign(this.overlay.style, this.options.overlay.style);
|
|
18874
|
+
}
|
|
18875
|
+
|
|
18876
|
+
// disable native image resizing on firefox
|
|
18877
|
+
document.execCommand('enableObjectResizing', false, 'false'); // eslint-disable-line no-undef
|
|
18878
|
+
this.quill.root.parentNode.style.position = this.quill.root.parentNode.style.position || 'relative';
|
|
18879
|
+
|
|
18880
|
+
this.quill.root.addEventListener('click', this.onClick);
|
|
18881
|
+
this.specs = this.options.specs.map(function (SpecClass) {
|
|
18882
|
+
return new SpecClass(_this);
|
|
18883
|
+
});
|
|
18884
|
+
this.specs.forEach(function (spec) {
|
|
18885
|
+
return spec.init();
|
|
18886
|
+
});
|
|
18887
|
+
}
|
|
18888
|
+
|
|
18889
|
+
_createClass(BlotFormatter, [{
|
|
18890
|
+
key: 'show',
|
|
18891
|
+
value: function show(spec) {
|
|
18892
|
+
this.currentSpec = spec;
|
|
18893
|
+
this.currentSpec.setSelection();
|
|
18894
|
+
this.setUserSelect('none');
|
|
18895
|
+
this.quill.root.parentNode.appendChild(this.overlay);
|
|
18896
|
+
this.repositionOverlay();
|
|
18897
|
+
this.createActions(spec);
|
|
18898
|
+
}
|
|
18899
|
+
}, {
|
|
18900
|
+
key: 'hide',
|
|
18901
|
+
value: function hide() {
|
|
18902
|
+
if (!this.currentSpec) {
|
|
18903
|
+
return;
|
|
18904
|
+
}
|
|
18905
|
+
|
|
18906
|
+
this.currentSpec.onHide();
|
|
18907
|
+
this.currentSpec = null;
|
|
18908
|
+
this.quill.root.parentNode.removeChild(this.overlay);
|
|
18909
|
+
this.overlay.style.setProperty('display', 'none');
|
|
18910
|
+
this.setUserSelect('');
|
|
18911
|
+
this.destroyActions();
|
|
18912
|
+
}
|
|
18913
|
+
}, {
|
|
18914
|
+
key: 'update',
|
|
18915
|
+
value: function update() {
|
|
18916
|
+
this.repositionOverlay();
|
|
18917
|
+
this.actions.forEach(function (action) {
|
|
18918
|
+
return action.onUpdate();
|
|
18919
|
+
});
|
|
18920
|
+
}
|
|
18921
|
+
}, {
|
|
18922
|
+
key: 'createActions',
|
|
18923
|
+
value: function createActions(spec) {
|
|
18924
|
+
var _this2 = this;
|
|
18925
|
+
|
|
18926
|
+
this.actions = spec.getActions().map(function (ActionClass) {
|
|
18927
|
+
var action = new ActionClass(_this2);
|
|
18928
|
+
action.onCreate();
|
|
18929
|
+
return action;
|
|
18930
|
+
});
|
|
18931
|
+
}
|
|
18932
|
+
}, {
|
|
18933
|
+
key: 'destroyActions',
|
|
18934
|
+
value: function destroyActions() {
|
|
18935
|
+
this.actions.forEach(function (action) {
|
|
18936
|
+
return action.onDestroy();
|
|
18937
|
+
});
|
|
18938
|
+
this.actions = [];
|
|
18939
|
+
}
|
|
18940
|
+
}, {
|
|
18941
|
+
key: 'repositionOverlay',
|
|
18942
|
+
value: function repositionOverlay() {
|
|
18943
|
+
if (!this.currentSpec) {
|
|
18944
|
+
return;
|
|
18945
|
+
}
|
|
18946
|
+
|
|
18947
|
+
var overlayTarget = this.currentSpec.getOverlayElement();
|
|
18948
|
+
if (!overlayTarget) {
|
|
18949
|
+
return;
|
|
18950
|
+
}
|
|
18951
|
+
|
|
18952
|
+
var parent = this.quill.root.parentNode;
|
|
18953
|
+
var specRect = overlayTarget.getBoundingClientRect();
|
|
18954
|
+
var parentRect = parent.getBoundingClientRect();
|
|
18955
|
+
|
|
18956
|
+
Object.assign(this.overlay.style, {
|
|
18957
|
+
display: 'block',
|
|
18958
|
+
left: specRect.left - parentRect.left - 1 + parent.scrollLeft + 'px',
|
|
18959
|
+
top: specRect.top - parentRect.top + parent.scrollTop + 'px',
|
|
18960
|
+
width: specRect.width + 'px',
|
|
18961
|
+
height: specRect.height + 'px'
|
|
18962
|
+
});
|
|
18963
|
+
}
|
|
18964
|
+
}, {
|
|
18965
|
+
key: 'setUserSelect',
|
|
18966
|
+
value: function setUserSelect(value) {
|
|
18967
|
+
var _this3 = this;
|
|
18968
|
+
|
|
18969
|
+
var props = ['userSelect', 'mozUserSelect', 'webkitUserSelect', 'msUserSelect'];
|
|
18970
|
+
|
|
18971
|
+
props.forEach(function (prop) {
|
|
18972
|
+
// set on contenteditable element and <html>
|
|
18973
|
+
_this3.quill.root.style.setProperty(prop, value);
|
|
18974
|
+
if (document.documentElement) {
|
|
18975
|
+
document.documentElement.style.setProperty(prop, value);
|
|
18976
|
+
}
|
|
18977
|
+
});
|
|
18978
|
+
}
|
|
18979
|
+
}]);
|
|
18980
|
+
|
|
18981
|
+
return BlotFormatter;
|
|
18982
|
+
}();
|
|
18983
|
+
|
|
18984
|
+
BlotFormatter$1.default = BlotFormatter;
|
|
18985
|
+
return BlotFormatter$1;
|
|
18986
|
+
}
|
|
18987
|
+
|
|
18988
|
+
var AlignAction = {};
|
|
18989
|
+
|
|
18990
|
+
var DefaultAligner$1 = {};
|
|
18991
|
+
|
|
18992
|
+
Object.defineProperty(DefaultAligner$1, "__esModule", {
|
|
18993
|
+
value: true
|
|
18994
|
+
});
|
|
18995
|
+
|
|
18996
|
+
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
18997
|
+
|
|
18998
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
18999
|
+
|
|
19000
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
19001
|
+
|
|
19002
|
+
var LEFT_ALIGN = 'left';
|
|
19003
|
+
var CENTER_ALIGN = 'center';
|
|
19004
|
+
var RIGHT_ALIGN = 'right';
|
|
19005
|
+
|
|
19006
|
+
var DefaultAligner = function () {
|
|
19007
|
+
function DefaultAligner(options) {
|
|
19008
|
+
var _this = this,
|
|
19009
|
+
_alignments;
|
|
19010
|
+
|
|
19011
|
+
_classCallCheck(this, DefaultAligner);
|
|
19012
|
+
|
|
19013
|
+
this.applyStyle = options.aligner.applyStyle;
|
|
19014
|
+
this.alignAttribute = options.attribute;
|
|
19015
|
+
this.alignments = (_alignments = {}, _defineProperty(_alignments, LEFT_ALIGN, {
|
|
19016
|
+
name: LEFT_ALIGN,
|
|
19017
|
+
icon: options.icons.left,
|
|
19018
|
+
apply: function apply(el) {
|
|
19019
|
+
_this.setAlignment(el, LEFT_ALIGN);
|
|
19020
|
+
_this.setStyle(el, 'inline', 'left', '0 1em 1em 0');
|
|
19021
|
+
}
|
|
19022
|
+
}), _defineProperty(_alignments, CENTER_ALIGN, {
|
|
19023
|
+
name: CENTER_ALIGN,
|
|
19024
|
+
icon: options.icons.center,
|
|
19025
|
+
apply: function apply(el) {
|
|
19026
|
+
_this.setAlignment(el, CENTER_ALIGN);
|
|
19027
|
+
_this.setStyle(el, 'block', null, 'auto');
|
|
19028
|
+
}
|
|
19029
|
+
}), _defineProperty(_alignments, RIGHT_ALIGN, {
|
|
19030
|
+
name: RIGHT_ALIGN,
|
|
19031
|
+
icon: options.icons.right,
|
|
19032
|
+
apply: function apply(el) {
|
|
19033
|
+
_this.setAlignment(el, RIGHT_ALIGN);
|
|
19034
|
+
_this.setStyle(el, 'inline', 'right', '0 0 1em 1em');
|
|
19035
|
+
}
|
|
19036
|
+
}), _alignments);
|
|
19037
|
+
}
|
|
19038
|
+
|
|
19039
|
+
_createClass(DefaultAligner, [{
|
|
19040
|
+
key: 'getAlignments',
|
|
19041
|
+
value: function getAlignments() {
|
|
19042
|
+
var _this2 = this;
|
|
19043
|
+
|
|
19044
|
+
return Object.keys(this.alignments).map(function (k) {
|
|
19045
|
+
return _this2.alignments[k];
|
|
19046
|
+
});
|
|
19047
|
+
}
|
|
19048
|
+
}, {
|
|
19049
|
+
key: 'clear',
|
|
19050
|
+
value: function clear(el) {
|
|
19051
|
+
el.removeAttribute(this.alignAttribute);
|
|
19052
|
+
this.setStyle(el, null, null, null);
|
|
19053
|
+
}
|
|
19054
|
+
}, {
|
|
19055
|
+
key: 'isAligned',
|
|
19056
|
+
value: function isAligned(el, alignment) {
|
|
19057
|
+
return el.getAttribute(this.alignAttribute) === alignment.name;
|
|
19058
|
+
}
|
|
19059
|
+
}, {
|
|
19060
|
+
key: 'setAlignment',
|
|
19061
|
+
value: function setAlignment(el, value) {
|
|
19062
|
+
el.setAttribute(this.alignAttribute, value);
|
|
19063
|
+
}
|
|
19064
|
+
}, {
|
|
19065
|
+
key: 'setStyle',
|
|
19066
|
+
value: function setStyle(el, display, float, margin) {
|
|
19067
|
+
if (this.applyStyle) {
|
|
19068
|
+
el.style.setProperty('display', display);
|
|
19069
|
+
el.style.setProperty('float', float);
|
|
19070
|
+
el.style.setProperty('margin', margin);
|
|
19071
|
+
}
|
|
19072
|
+
}
|
|
19073
|
+
}]);
|
|
19074
|
+
|
|
19075
|
+
return DefaultAligner;
|
|
19076
|
+
}();
|
|
19077
|
+
|
|
19078
|
+
DefaultAligner$1.default = DefaultAligner;
|
|
19079
|
+
|
|
19080
|
+
var Toolbar = {};
|
|
19081
|
+
|
|
19082
|
+
var hasRequiredToolbar;
|
|
19083
|
+
|
|
19084
|
+
function requireToolbar () {
|
|
19085
|
+
if (hasRequiredToolbar) return Toolbar;
|
|
19086
|
+
hasRequiredToolbar = 1;
|
|
19087
|
+
|
|
19088
|
+
var _BlotFormatter = requireBlotFormatter();
|
|
19089
|
+
|
|
19090
|
+
_interopRequireDefault(_BlotFormatter);
|
|
19091
|
+
|
|
19092
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19093
|
+
return Toolbar;
|
|
19094
|
+
}
|
|
19095
|
+
|
|
19096
|
+
var DefaultToolbar = {};
|
|
19097
|
+
|
|
19098
|
+
var hasRequiredDefaultToolbar;
|
|
19099
|
+
|
|
19100
|
+
function requireDefaultToolbar () {
|
|
19101
|
+
if (hasRequiredDefaultToolbar) return DefaultToolbar;
|
|
19102
|
+
hasRequiredDefaultToolbar = 1;
|
|
19103
|
+
|
|
19104
|
+
Object.defineProperty(DefaultToolbar, "__esModule", {
|
|
19105
|
+
value: true
|
|
19106
|
+
});
|
|
19107
|
+
|
|
19108
|
+
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
19109
|
+
|
|
19110
|
+
requireToolbar();
|
|
19111
|
+
|
|
19112
|
+
var _BlotFormatter = requireBlotFormatter();
|
|
19113
|
+
|
|
19114
|
+
_interopRequireDefault(_BlotFormatter);
|
|
19115
|
+
|
|
19116
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19117
|
+
|
|
19118
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
19119
|
+
|
|
19120
|
+
var DefaultToolbar$1 = function () {
|
|
19121
|
+
function DefaultToolbar() {
|
|
19122
|
+
_classCallCheck(this, DefaultToolbar);
|
|
19123
|
+
|
|
19124
|
+
this.toolbar = null;
|
|
19125
|
+
this.buttons = [];
|
|
19126
|
+
}
|
|
19127
|
+
|
|
19128
|
+
_createClass(DefaultToolbar, [{
|
|
19129
|
+
key: 'create',
|
|
19130
|
+
value: function create(formatter, aligner) {
|
|
19131
|
+
var toolbar = document.createElement('div');
|
|
19132
|
+
toolbar.classList.add(formatter.options.align.toolbar.mainClassName);
|
|
19133
|
+
this.addToolbarStyle(formatter, toolbar);
|
|
19134
|
+
this.addButtons(formatter, toolbar, aligner);
|
|
19135
|
+
|
|
19136
|
+
this.toolbar = toolbar;
|
|
19137
|
+
return this.toolbar;
|
|
19138
|
+
}
|
|
19139
|
+
}, {
|
|
19140
|
+
key: 'destroy',
|
|
19141
|
+
value: function destroy() {
|
|
19142
|
+
this.toolbar = null;
|
|
19143
|
+
this.buttons = [];
|
|
19144
|
+
}
|
|
19145
|
+
}, {
|
|
19146
|
+
key: 'getElement',
|
|
19147
|
+
value: function getElement() {
|
|
19148
|
+
return this.toolbar;
|
|
19149
|
+
}
|
|
19150
|
+
}, {
|
|
19151
|
+
key: 'addToolbarStyle',
|
|
19152
|
+
value: function addToolbarStyle(formatter, toolbar) {
|
|
19153
|
+
if (formatter.options.align.toolbar.mainStyle) {
|
|
19154
|
+
Object.assign(toolbar.style, formatter.options.align.toolbar.mainStyle);
|
|
19155
|
+
}
|
|
19156
|
+
}
|
|
19157
|
+
}, {
|
|
19158
|
+
key: 'addButtonStyle',
|
|
19159
|
+
value: function addButtonStyle(button, index, formatter) {
|
|
19160
|
+
if (formatter.options.align.toolbar.buttonStyle) {
|
|
19161
|
+
Object.assign(button.style, formatter.options.align.toolbar.buttonStyle);
|
|
19162
|
+
if (index > 0) {
|
|
19163
|
+
button.style.borderLeftWidth = '0'; // eslint-disable-line no-param-reassign
|
|
19164
|
+
}
|
|
19165
|
+
}
|
|
19166
|
+
|
|
19167
|
+
if (formatter.options.align.toolbar.svgStyle) {
|
|
19168
|
+
Object.assign(button.children[0].style, formatter.options.align.toolbar.svgStyle);
|
|
19169
|
+
}
|
|
19170
|
+
}
|
|
19171
|
+
}, {
|
|
19172
|
+
key: 'addButtons',
|
|
19173
|
+
value: function addButtons(formatter, toolbar, aligner) {
|
|
19174
|
+
var _this = this;
|
|
19175
|
+
|
|
19176
|
+
aligner.getAlignments().forEach(function (alignment, i) {
|
|
19177
|
+
var button = document.createElement('span');
|
|
19178
|
+
button.classList.add(formatter.options.align.toolbar.buttonClassName);
|
|
19179
|
+
button.innerHTML = alignment.icon;
|
|
19180
|
+
button.addEventListener('click', function () {
|
|
19181
|
+
_this.onButtonClick(button, formatter, alignment, aligner);
|
|
19182
|
+
});
|
|
19183
|
+
_this.preselectButton(button, alignment, formatter, aligner);
|
|
19184
|
+
_this.addButtonStyle(button, i, formatter);
|
|
19185
|
+
_this.buttons.push(button);
|
|
19186
|
+
toolbar.appendChild(button);
|
|
19187
|
+
});
|
|
19188
|
+
}
|
|
19189
|
+
}, {
|
|
19190
|
+
key: 'preselectButton',
|
|
19191
|
+
value: function preselectButton(button, alignment, formatter, aligner) {
|
|
19192
|
+
if (!formatter.currentSpec) {
|
|
19193
|
+
return;
|
|
19194
|
+
}
|
|
19195
|
+
|
|
19196
|
+
var target = formatter.currentSpec.getTargetElement();
|
|
19197
|
+
if (!target) {
|
|
19198
|
+
return;
|
|
19199
|
+
}
|
|
19200
|
+
|
|
19201
|
+
if (aligner.isAligned(target, alignment)) {
|
|
19202
|
+
this.selectButton(formatter, button);
|
|
19203
|
+
}
|
|
19204
|
+
}
|
|
19205
|
+
}, {
|
|
19206
|
+
key: 'onButtonClick',
|
|
19207
|
+
value: function onButtonClick(button, formatter, alignment, aligner) {
|
|
19208
|
+
if (!formatter.currentSpec) {
|
|
19209
|
+
return;
|
|
19210
|
+
}
|
|
19211
|
+
|
|
19212
|
+
var target = formatter.currentSpec.getTargetElement();
|
|
19213
|
+
if (!target) {
|
|
19214
|
+
return;
|
|
19215
|
+
}
|
|
19216
|
+
|
|
19217
|
+
this.clickButton(button, target, formatter, alignment, aligner);
|
|
19218
|
+
}
|
|
19219
|
+
}, {
|
|
19220
|
+
key: 'clickButton',
|
|
19221
|
+
value: function clickButton(button, alignTarget, formatter, alignment, aligner) {
|
|
19222
|
+
var _this2 = this;
|
|
19223
|
+
|
|
19224
|
+
this.buttons.forEach(function (b) {
|
|
19225
|
+
_this2.deselectButton(formatter, b);
|
|
19226
|
+
});
|
|
19227
|
+
if (aligner.isAligned(alignTarget, alignment)) {
|
|
19228
|
+
if (formatter.options.align.toolbar.allowDeselect) {
|
|
19229
|
+
aligner.clear(alignTarget);
|
|
19230
|
+
} else {
|
|
19231
|
+
this.selectButton(formatter, button);
|
|
19232
|
+
}
|
|
19233
|
+
} else {
|
|
19234
|
+
this.selectButton(formatter, button);
|
|
19235
|
+
alignment.apply(alignTarget);
|
|
19236
|
+
}
|
|
19237
|
+
|
|
19238
|
+
formatter.update();
|
|
19239
|
+
}
|
|
19240
|
+
}, {
|
|
19241
|
+
key: 'selectButton',
|
|
19242
|
+
value: function selectButton(formatter, button) {
|
|
19243
|
+
button.classList.add('is-selected');
|
|
19244
|
+
if (formatter.options.align.toolbar.addButtonSelectStyle) {
|
|
19245
|
+
button.style.setProperty('filter', 'invert(20%)');
|
|
19246
|
+
}
|
|
19247
|
+
}
|
|
19248
|
+
}, {
|
|
19249
|
+
key: 'deselectButton',
|
|
19250
|
+
value: function deselectButton(formatter, button) {
|
|
19251
|
+
button.classList.remove('is-selected');
|
|
19252
|
+
if (formatter.options.align.toolbar.addButtonSelectStyle) {
|
|
19253
|
+
button.style.removeProperty('filter');
|
|
19254
|
+
}
|
|
19255
|
+
}
|
|
19256
|
+
}]);
|
|
19257
|
+
|
|
19258
|
+
return DefaultToolbar;
|
|
19259
|
+
}();
|
|
19260
|
+
|
|
19261
|
+
DefaultToolbar.default = DefaultToolbar$1;
|
|
19262
|
+
return DefaultToolbar;
|
|
19263
|
+
}
|
|
19264
|
+
|
|
19265
|
+
var hasRequiredAlignAction;
|
|
19266
|
+
|
|
19267
|
+
function requireAlignAction () {
|
|
19268
|
+
if (hasRequiredAlignAction) return AlignAction;
|
|
19269
|
+
hasRequiredAlignAction = 1;
|
|
19270
|
+
|
|
19271
|
+
Object.defineProperty(AlignAction, "__esModule", {
|
|
19272
|
+
value: true
|
|
19273
|
+
});
|
|
19274
|
+
|
|
19275
|
+
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
19276
|
+
|
|
19277
|
+
var _Action2 = requireAction();
|
|
19278
|
+
|
|
19279
|
+
var _Action3 = _interopRequireDefault(_Action2);
|
|
19280
|
+
|
|
19281
|
+
var _BlotFormatter = requireBlotFormatter();
|
|
19282
|
+
|
|
19283
|
+
_interopRequireDefault(_BlotFormatter);
|
|
19284
|
+
|
|
19285
|
+
var _DefaultAligner = DefaultAligner$1;
|
|
19286
|
+
|
|
19287
|
+
var _DefaultAligner2 = _interopRequireDefault(_DefaultAligner);
|
|
19288
|
+
|
|
19289
|
+
requireToolbar();
|
|
19290
|
+
|
|
19291
|
+
var _DefaultToolbar = requireDefaultToolbar();
|
|
19292
|
+
|
|
19293
|
+
var _DefaultToolbar2 = _interopRequireDefault(_DefaultToolbar);
|
|
19294
|
+
|
|
19295
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19296
|
+
|
|
19297
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
19298
|
+
|
|
19299
|
+
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
|
19300
|
+
|
|
19301
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
|
19302
|
+
|
|
19303
|
+
var AlignAction$1 = function (_Action) {
|
|
19304
|
+
_inherits(AlignAction, _Action);
|
|
19305
|
+
|
|
19306
|
+
function AlignAction(formatter) {
|
|
19307
|
+
_classCallCheck(this, AlignAction);
|
|
19308
|
+
|
|
19309
|
+
var _this = _possibleConstructorReturn(this, (AlignAction.__proto__ || Object.getPrototypeOf(AlignAction)).call(this, formatter));
|
|
19310
|
+
|
|
19311
|
+
_this.aligner = new _DefaultAligner2.default(formatter.options.align);
|
|
19312
|
+
_this.toolbar = new _DefaultToolbar2.default();
|
|
19313
|
+
return _this;
|
|
19314
|
+
}
|
|
19315
|
+
|
|
19316
|
+
_createClass(AlignAction, [{
|
|
19317
|
+
key: 'onCreate',
|
|
19318
|
+
value: function onCreate() {
|
|
19319
|
+
var toolbar = this.toolbar.create(this.formatter, this.aligner);
|
|
19320
|
+
this.formatter.overlay.appendChild(toolbar);
|
|
19321
|
+
}
|
|
19322
|
+
}, {
|
|
19323
|
+
key: 'onDestroy',
|
|
19324
|
+
value: function onDestroy() {
|
|
19325
|
+
var toolbar = this.toolbar.getElement();
|
|
19326
|
+
if (!toolbar) {
|
|
19327
|
+
return;
|
|
19328
|
+
}
|
|
19329
|
+
|
|
19330
|
+
this.formatter.overlay.removeChild(toolbar);
|
|
19331
|
+
this.toolbar.destroy();
|
|
19332
|
+
}
|
|
19333
|
+
}]);
|
|
19334
|
+
|
|
19335
|
+
return AlignAction;
|
|
19336
|
+
}(_Action3.default);
|
|
19337
|
+
|
|
19338
|
+
AlignAction.default = AlignAction$1;
|
|
19339
|
+
return AlignAction;
|
|
19340
|
+
}
|
|
19341
|
+
|
|
19342
|
+
var ResizeAction = {};
|
|
19343
|
+
|
|
19344
|
+
var hasRequiredResizeAction;
|
|
19345
|
+
|
|
19346
|
+
function requireResizeAction () {
|
|
19347
|
+
if (hasRequiredResizeAction) return ResizeAction;
|
|
19348
|
+
hasRequiredResizeAction = 1;
|
|
19349
|
+
|
|
19350
|
+
Object.defineProperty(ResizeAction, "__esModule", {
|
|
19351
|
+
value: true
|
|
19352
|
+
});
|
|
19353
|
+
|
|
19354
|
+
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
19355
|
+
|
|
19356
|
+
var _Action2 = requireAction();
|
|
19357
|
+
|
|
19358
|
+
var _Action3 = _interopRequireDefault(_Action2);
|
|
19359
|
+
|
|
19360
|
+
var _BlotFormatter = requireBlotFormatter();
|
|
19361
|
+
|
|
19362
|
+
_interopRequireDefault(_BlotFormatter);
|
|
19363
|
+
|
|
19364
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19365
|
+
|
|
19366
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
19367
|
+
|
|
19368
|
+
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
|
19369
|
+
|
|
19370
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
|
19371
|
+
|
|
19372
|
+
var ResizeAction$1 = function (_Action) {
|
|
19373
|
+
_inherits(ResizeAction, _Action);
|
|
19374
|
+
|
|
19375
|
+
function ResizeAction(formatter) {
|
|
19376
|
+
_classCallCheck(this, ResizeAction);
|
|
19377
|
+
|
|
19378
|
+
var _this = _possibleConstructorReturn(this, (ResizeAction.__proto__ || Object.getPrototypeOf(ResizeAction)).call(this, formatter));
|
|
19379
|
+
|
|
19380
|
+
_this.onMouseDown = function (event) {
|
|
19381
|
+
if (!(event.target instanceof HTMLElement)) {
|
|
19382
|
+
return;
|
|
19383
|
+
}
|
|
19384
|
+
_this.dragHandle = event.target;
|
|
19385
|
+
_this.setCursor(_this.dragHandle.style.cursor);
|
|
19386
|
+
|
|
19387
|
+
if (!_this.formatter.currentSpec) {
|
|
19388
|
+
return;
|
|
19389
|
+
}
|
|
19390
|
+
|
|
19391
|
+
var target = _this.formatter.currentSpec.getTargetElement();
|
|
19392
|
+
if (!target) {
|
|
19393
|
+
return;
|
|
19394
|
+
}
|
|
19395
|
+
|
|
19396
|
+
var rect = target.getBoundingClientRect();
|
|
19397
|
+
|
|
19398
|
+
_this.dragStartX = event.clientX;
|
|
19399
|
+
_this.preDragWidth = rect.width;
|
|
19400
|
+
_this.targetRatio = rect.height / rect.width;
|
|
19401
|
+
|
|
19402
|
+
document.addEventListener('mousemove', _this.onDrag);
|
|
19403
|
+
document.addEventListener('mouseup', _this.onMouseUp);
|
|
19404
|
+
};
|
|
19405
|
+
|
|
19406
|
+
_this.onDrag = function (event) {
|
|
19407
|
+
if (!_this.formatter.currentSpec) {
|
|
19408
|
+
return;
|
|
19409
|
+
}
|
|
19410
|
+
|
|
19411
|
+
var target = _this.formatter.currentSpec.getTargetElement();
|
|
19412
|
+
if (!target) {
|
|
19413
|
+
return;
|
|
19414
|
+
}
|
|
19415
|
+
|
|
19416
|
+
var deltaX = event.clientX - _this.dragStartX;
|
|
19417
|
+
var newWidth = 0;
|
|
19418
|
+
|
|
19419
|
+
if (_this.dragHandle === _this.topLeftHandle || _this.dragHandle === _this.bottomLeftHandle) {
|
|
19420
|
+
newWidth = Math.round(_this.preDragWidth - deltaX);
|
|
19421
|
+
} else {
|
|
19422
|
+
newWidth = Math.round(_this.preDragWidth + deltaX);
|
|
19423
|
+
}
|
|
19424
|
+
|
|
19425
|
+
var newHeight = _this.targetRatio * newWidth;
|
|
19426
|
+
|
|
19427
|
+
target.setAttribute('width', '' + newWidth);
|
|
19428
|
+
target.setAttribute('height', '' + newHeight);
|
|
19429
|
+
|
|
19430
|
+
_this.formatter.update();
|
|
19431
|
+
};
|
|
19432
|
+
|
|
19433
|
+
_this.onMouseUp = function () {
|
|
19434
|
+
_this.setCursor('');
|
|
19435
|
+
document.removeEventListener('mousemove', _this.onDrag);
|
|
19436
|
+
document.removeEventListener('mouseup', _this.onMouseUp);
|
|
19437
|
+
};
|
|
19438
|
+
|
|
19439
|
+
_this.topLeftHandle = _this.createHandle('top-left', 'nwse-resize');
|
|
19440
|
+
_this.topRightHandle = _this.createHandle('top-right', 'nesw-resize');
|
|
19441
|
+
_this.bottomRightHandle = _this.createHandle('bottom-right', 'nwse-resize');
|
|
19442
|
+
_this.bottomLeftHandle = _this.createHandle('bottom-left', 'nesw-resize');
|
|
19443
|
+
_this.dragHandle = null;
|
|
19444
|
+
_this.dragStartX = 0;
|
|
19445
|
+
_this.preDragWidth = 0;
|
|
19446
|
+
_this.targetRatio = 0;
|
|
19447
|
+
return _this;
|
|
19448
|
+
}
|
|
19449
|
+
|
|
19450
|
+
_createClass(ResizeAction, [{
|
|
19451
|
+
key: 'onCreate',
|
|
19452
|
+
value: function onCreate() {
|
|
19453
|
+
this.formatter.overlay.appendChild(this.topLeftHandle);
|
|
19454
|
+
this.formatter.overlay.appendChild(this.topRightHandle);
|
|
19455
|
+
this.formatter.overlay.appendChild(this.bottomRightHandle);
|
|
19456
|
+
this.formatter.overlay.appendChild(this.bottomLeftHandle);
|
|
19457
|
+
|
|
19458
|
+
this.repositionHandles(this.formatter.options.resize.handleStyle);
|
|
19459
|
+
}
|
|
19460
|
+
}, {
|
|
19461
|
+
key: 'onDestroy',
|
|
19462
|
+
value: function onDestroy() {
|
|
19463
|
+
this.setCursor('');
|
|
19464
|
+
this.formatter.overlay.removeChild(this.topLeftHandle);
|
|
19465
|
+
this.formatter.overlay.removeChild(this.topRightHandle);
|
|
19466
|
+
this.formatter.overlay.removeChild(this.bottomRightHandle);
|
|
19467
|
+
this.formatter.overlay.removeChild(this.bottomLeftHandle);
|
|
19468
|
+
}
|
|
19469
|
+
}, {
|
|
19470
|
+
key: 'createHandle',
|
|
19471
|
+
value: function createHandle(position, cursor) {
|
|
19472
|
+
var box = document.createElement('div');
|
|
19473
|
+
box.classList.add(this.formatter.options.resize.handleClassName);
|
|
19474
|
+
box.setAttribute('data-position', position);
|
|
19475
|
+
box.style.cursor = cursor;
|
|
19476
|
+
|
|
19477
|
+
if (this.formatter.options.resize.handleStyle) {
|
|
19478
|
+
Object.assign(box.style, this.formatter.options.resize.handleStyle);
|
|
19479
|
+
}
|
|
19480
|
+
|
|
19481
|
+
box.addEventListener('mousedown', this.onMouseDown);
|
|
19482
|
+
|
|
19483
|
+
return box;
|
|
19484
|
+
}
|
|
19485
|
+
}, {
|
|
19486
|
+
key: 'repositionHandles',
|
|
19487
|
+
value: function repositionHandles(handleStyle) {
|
|
19488
|
+
var handleXOffset = '0px';
|
|
19489
|
+
var handleYOffset = '0px';
|
|
19490
|
+
if (handleStyle) {
|
|
19491
|
+
if (handleStyle.width) {
|
|
19492
|
+
handleXOffset = -parseFloat(handleStyle.width) / 2 + 'px';
|
|
19493
|
+
}
|
|
19494
|
+
if (handleStyle.height) {
|
|
19495
|
+
handleYOffset = -parseFloat(handleStyle.height) / 2 + 'px';
|
|
19496
|
+
}
|
|
19497
|
+
}
|
|
19498
|
+
|
|
19499
|
+
Object.assign(this.topLeftHandle.style, { left: handleXOffset, top: handleYOffset });
|
|
19500
|
+
Object.assign(this.topRightHandle.style, { right: handleXOffset, top: handleYOffset });
|
|
19501
|
+
Object.assign(this.bottomRightHandle.style, { right: handleXOffset, bottom: handleYOffset });
|
|
19502
|
+
Object.assign(this.bottomLeftHandle.style, { left: handleXOffset, bottom: handleYOffset });
|
|
19503
|
+
}
|
|
19504
|
+
}, {
|
|
19505
|
+
key: 'setCursor',
|
|
19506
|
+
value: function setCursor(value) {
|
|
19507
|
+
if (document.body) {
|
|
19508
|
+
document.body.style.cursor = value;
|
|
19509
|
+
}
|
|
19510
|
+
|
|
19511
|
+
if (this.formatter.currentSpec) {
|
|
19512
|
+
var target = this.formatter.currentSpec.getOverlayElement();
|
|
19513
|
+
if (target) {
|
|
19514
|
+
target.style.cursor = value;
|
|
19515
|
+
}
|
|
19516
|
+
}
|
|
19517
|
+
}
|
|
19518
|
+
}]);
|
|
19519
|
+
|
|
19520
|
+
return ResizeAction;
|
|
19521
|
+
}(_Action3.default);
|
|
19522
|
+
|
|
19523
|
+
ResizeAction.default = ResizeAction$1;
|
|
19524
|
+
return ResizeAction;
|
|
19525
|
+
}
|
|
19526
|
+
|
|
19527
|
+
var DeleteAction = {};
|
|
19528
|
+
|
|
19529
|
+
var hasRequiredDeleteAction;
|
|
19530
|
+
|
|
19531
|
+
function requireDeleteAction () {
|
|
19532
|
+
if (hasRequiredDeleteAction) return DeleteAction;
|
|
19533
|
+
hasRequiredDeleteAction = 1;
|
|
19534
|
+
|
|
19535
|
+
Object.defineProperty(DeleteAction, "__esModule", {
|
|
19536
|
+
value: true
|
|
19537
|
+
});
|
|
19538
|
+
|
|
19539
|
+
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
19540
|
+
|
|
19541
|
+
var _quill = quill.exports;
|
|
19542
|
+
|
|
19543
|
+
var _quill2 = _interopRequireDefault(_quill);
|
|
19544
|
+
|
|
19545
|
+
var _Action2 = requireAction();
|
|
19546
|
+
|
|
19547
|
+
var _Action3 = _interopRequireDefault(_Action2);
|
|
19548
|
+
|
|
19549
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19550
|
+
|
|
19551
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
19552
|
+
|
|
19553
|
+
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
|
19554
|
+
|
|
19555
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
|
19556
|
+
|
|
19557
|
+
var DeleteAction$1 = function (_Action) {
|
|
19558
|
+
_inherits(DeleteAction, _Action);
|
|
19559
|
+
|
|
19560
|
+
function DeleteAction() {
|
|
19561
|
+
var _ref;
|
|
19562
|
+
|
|
19563
|
+
var _temp, _this, _ret;
|
|
19564
|
+
|
|
19565
|
+
_classCallCheck(this, DeleteAction);
|
|
19566
|
+
|
|
19567
|
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
|
19568
|
+
args[_key] = arguments[_key];
|
|
19569
|
+
}
|
|
19570
|
+
|
|
19571
|
+
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = DeleteAction.__proto__ || Object.getPrototypeOf(DeleteAction)).call.apply(_ref, [this].concat(args))), _this), _this.onKeyUp = function (e) {
|
|
19572
|
+
if (!_this.formatter.currentSpec) {
|
|
19573
|
+
return;
|
|
19574
|
+
}
|
|
19575
|
+
|
|
19576
|
+
// delete or backspace
|
|
19577
|
+
if (e.keyCode === 46 || e.keyCode === 8) {
|
|
19578
|
+
var blot = _quill2.default.find(_this.formatter.currentSpec.getTargetElement());
|
|
19579
|
+
if (blot) {
|
|
19580
|
+
blot.deleteAt(0);
|
|
19581
|
+
}
|
|
19582
|
+
_this.formatter.hide();
|
|
19583
|
+
}
|
|
19584
|
+
}, _temp), _possibleConstructorReturn(_this, _ret);
|
|
19585
|
+
}
|
|
19586
|
+
|
|
19587
|
+
_createClass(DeleteAction, [{
|
|
19588
|
+
key: 'onCreate',
|
|
19589
|
+
value: function onCreate() {
|
|
19590
|
+
document.addEventListener('keyup', this.onKeyUp, true);
|
|
19591
|
+
this.formatter.quill.root.addEventListener('input', this.onKeyUp, true);
|
|
19592
|
+
}
|
|
19593
|
+
}, {
|
|
19594
|
+
key: 'onDestroy',
|
|
19595
|
+
value: function onDestroy() {
|
|
19596
|
+
document.removeEventListener('keyup', this.onKeyUp);
|
|
19597
|
+
this.formatter.quill.root.removeEventListener('input', this.onKeyUp);
|
|
19598
|
+
}
|
|
19599
|
+
}]);
|
|
19600
|
+
|
|
19601
|
+
return DeleteAction;
|
|
19602
|
+
}(_Action3.default);
|
|
19603
|
+
|
|
19604
|
+
DeleteAction.default = DeleteAction$1;
|
|
19605
|
+
return DeleteAction;
|
|
19606
|
+
}
|
|
19607
|
+
|
|
19608
|
+
var hasRequiredBlotSpec;
|
|
19609
|
+
|
|
19610
|
+
function requireBlotSpec () {
|
|
19611
|
+
if (hasRequiredBlotSpec) return BlotSpec;
|
|
19612
|
+
hasRequiredBlotSpec = 1;
|
|
19613
|
+
|
|
19614
|
+
Object.defineProperty(BlotSpec, "__esModule", {
|
|
19615
|
+
value: true
|
|
19616
|
+
});
|
|
19617
|
+
|
|
19618
|
+
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
19619
|
+
|
|
19620
|
+
var _BlotFormatter = requireBlotFormatter();
|
|
19621
|
+
|
|
19622
|
+
_interopRequireDefault(_BlotFormatter);
|
|
19623
|
+
|
|
19624
|
+
var _Action = requireAction();
|
|
19625
|
+
|
|
19626
|
+
_interopRequireDefault(_Action);
|
|
19627
|
+
|
|
19628
|
+
var _AlignAction = requireAlignAction();
|
|
19629
|
+
|
|
19630
|
+
var _AlignAction2 = _interopRequireDefault(_AlignAction);
|
|
19631
|
+
|
|
19632
|
+
var _ResizeAction = requireResizeAction();
|
|
19633
|
+
|
|
19634
|
+
var _ResizeAction2 = _interopRequireDefault(_ResizeAction);
|
|
19635
|
+
|
|
19636
|
+
var _DeleteAction = requireDeleteAction();
|
|
19637
|
+
|
|
19638
|
+
var _DeleteAction2 = _interopRequireDefault(_DeleteAction);
|
|
19639
|
+
|
|
19640
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19641
|
+
|
|
19642
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
19643
|
+
|
|
19644
|
+
var BlotSpec$1 = function () {
|
|
19645
|
+
function BlotSpec(formatter) {
|
|
19646
|
+
_classCallCheck(this, BlotSpec);
|
|
19647
|
+
|
|
19648
|
+
this.formatter = formatter;
|
|
19649
|
+
}
|
|
19650
|
+
|
|
19651
|
+
_createClass(BlotSpec, [{
|
|
19652
|
+
key: 'init',
|
|
19653
|
+
value: function init() {}
|
|
19654
|
+
}, {
|
|
19655
|
+
key: 'getActions',
|
|
19656
|
+
value: function getActions() {
|
|
19657
|
+
return [_AlignAction2.default, _ResizeAction2.default, _DeleteAction2.default];
|
|
19658
|
+
}
|
|
19659
|
+
}, {
|
|
19660
|
+
key: 'getTargetElement',
|
|
19661
|
+
value: function getTargetElement() {
|
|
19662
|
+
return null;
|
|
19663
|
+
}
|
|
19664
|
+
}, {
|
|
19665
|
+
key: 'getOverlayElement',
|
|
19666
|
+
value: function getOverlayElement() {
|
|
19667
|
+
return this.getTargetElement();
|
|
19668
|
+
}
|
|
19669
|
+
}, {
|
|
19670
|
+
key: 'setSelection',
|
|
19671
|
+
value: function setSelection() {
|
|
19672
|
+
this.formatter.quill.setSelection(null);
|
|
19673
|
+
}
|
|
19674
|
+
}, {
|
|
19675
|
+
key: 'onHide',
|
|
19676
|
+
value: function onHide() {}
|
|
19677
|
+
}]);
|
|
19678
|
+
|
|
19679
|
+
return BlotSpec;
|
|
19680
|
+
}();
|
|
19681
|
+
|
|
19682
|
+
BlotSpec.default = BlotSpec$1;
|
|
19683
|
+
return BlotSpec;
|
|
19684
|
+
}
|
|
19685
|
+
|
|
19686
|
+
var ImageSpec = {};
|
|
19687
|
+
|
|
19688
|
+
var hasRequiredImageSpec;
|
|
19689
|
+
|
|
19690
|
+
function requireImageSpec () {
|
|
19691
|
+
if (hasRequiredImageSpec) return ImageSpec;
|
|
19692
|
+
hasRequiredImageSpec = 1;
|
|
19693
|
+
|
|
19694
|
+
Object.defineProperty(ImageSpec, "__esModule", {
|
|
19695
|
+
value: true
|
|
19696
|
+
});
|
|
19697
|
+
|
|
19698
|
+
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
19699
|
+
|
|
19700
|
+
var _BlotSpec2 = requireBlotSpec();
|
|
19701
|
+
|
|
19702
|
+
var _BlotSpec3 = _interopRequireDefault(_BlotSpec2);
|
|
19703
|
+
|
|
19704
|
+
var _BlotFormatter = requireBlotFormatter();
|
|
19705
|
+
|
|
19706
|
+
_interopRequireDefault(_BlotFormatter);
|
|
19707
|
+
|
|
19708
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19709
|
+
|
|
19710
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
19711
|
+
|
|
19712
|
+
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
|
19713
|
+
|
|
19714
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
|
19715
|
+
|
|
19716
|
+
var ImageSpec$1 = function (_BlotSpec) {
|
|
19717
|
+
_inherits(ImageSpec, _BlotSpec);
|
|
19718
|
+
|
|
19719
|
+
function ImageSpec(formatter) {
|
|
19720
|
+
_classCallCheck(this, ImageSpec);
|
|
19721
|
+
|
|
19722
|
+
var _this = _possibleConstructorReturn(this, (ImageSpec.__proto__ || Object.getPrototypeOf(ImageSpec)).call(this, formatter));
|
|
19723
|
+
|
|
19724
|
+
_this.onClick = function (event) {
|
|
19725
|
+
var el = event.target;
|
|
19726
|
+
if (!(el instanceof HTMLElement) || el.tagName !== 'IMG') {
|
|
19727
|
+
return;
|
|
19728
|
+
}
|
|
19729
|
+
|
|
19730
|
+
_this.img = el;
|
|
19731
|
+
_this.formatter.show(_this);
|
|
19732
|
+
};
|
|
19733
|
+
|
|
19734
|
+
_this.img = null;
|
|
19735
|
+
return _this;
|
|
19736
|
+
}
|
|
19737
|
+
|
|
19738
|
+
_createClass(ImageSpec, [{
|
|
19739
|
+
key: 'init',
|
|
19740
|
+
value: function init() {
|
|
19741
|
+
this.formatter.quill.root.addEventListener('click', this.onClick);
|
|
19742
|
+
}
|
|
19743
|
+
}, {
|
|
19744
|
+
key: 'getTargetElement',
|
|
19745
|
+
value: function getTargetElement() {
|
|
19746
|
+
return this.img;
|
|
19747
|
+
}
|
|
19748
|
+
}, {
|
|
19749
|
+
key: 'onHide',
|
|
19750
|
+
value: function onHide() {
|
|
19751
|
+
this.img = null;
|
|
19752
|
+
}
|
|
19753
|
+
}]);
|
|
19754
|
+
|
|
19755
|
+
return ImageSpec;
|
|
19756
|
+
}(_BlotSpec3.default);
|
|
19757
|
+
|
|
19758
|
+
ImageSpec.default = ImageSpec$1;
|
|
19759
|
+
return ImageSpec;
|
|
19760
|
+
}
|
|
19761
|
+
|
|
19762
|
+
var IframeVideoSpec = {};
|
|
19763
|
+
|
|
19764
|
+
var UnclickableBlotSpec = {};
|
|
19765
|
+
|
|
19766
|
+
var hasRequiredUnclickableBlotSpec;
|
|
19767
|
+
|
|
19768
|
+
function requireUnclickableBlotSpec () {
|
|
19769
|
+
if (hasRequiredUnclickableBlotSpec) return UnclickableBlotSpec;
|
|
19770
|
+
hasRequiredUnclickableBlotSpec = 1;
|
|
19771
|
+
|
|
19772
|
+
Object.defineProperty(UnclickableBlotSpec, "__esModule", {
|
|
19773
|
+
value: true
|
|
19774
|
+
});
|
|
19775
|
+
|
|
19776
|
+
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
19777
|
+
|
|
19778
|
+
var _BlotSpec2 = requireBlotSpec();
|
|
19779
|
+
|
|
19780
|
+
var _BlotSpec3 = _interopRequireDefault(_BlotSpec2);
|
|
19781
|
+
|
|
19782
|
+
var _BlotFormatter = requireBlotFormatter();
|
|
19783
|
+
|
|
19784
|
+
_interopRequireDefault(_BlotFormatter);
|
|
19785
|
+
|
|
19786
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19787
|
+
|
|
19788
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
19789
|
+
|
|
19790
|
+
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
|
19791
|
+
|
|
19792
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
|
19793
|
+
|
|
19794
|
+
var MOUSE_ENTER_ATTRIBUTE = 'data-blot-formatter-unclickable-bound';
|
|
19795
|
+
var PROXY_IMAGE_CLASS = 'blot-formatter__proxy-image';
|
|
19796
|
+
|
|
19797
|
+
var UnclickableBlotSpec$1 = function (_BlotSpec) {
|
|
19798
|
+
_inherits(UnclickableBlotSpec, _BlotSpec);
|
|
19799
|
+
|
|
19800
|
+
function UnclickableBlotSpec(formatter, selector) {
|
|
19801
|
+
_classCallCheck(this, UnclickableBlotSpec);
|
|
19802
|
+
|
|
19803
|
+
var _this = _possibleConstructorReturn(this, (UnclickableBlotSpec.__proto__ || Object.getPrototypeOf(UnclickableBlotSpec)).call(this, formatter));
|
|
19804
|
+
|
|
19805
|
+
_this.onTextChange = function () {
|
|
19806
|
+
Array.from(document.querySelectorAll(_this.selector + ':not([' + MOUSE_ENTER_ATTRIBUTE + '])')).forEach(function (unclickable) {
|
|
19807
|
+
unclickable.setAttribute(MOUSE_ENTER_ATTRIBUTE, 'true');
|
|
19808
|
+
unclickable.addEventListener('mouseenter', _this.onMouseEnter);
|
|
19809
|
+
});
|
|
19810
|
+
};
|
|
19811
|
+
|
|
19812
|
+
_this.onMouseEnter = function (event) {
|
|
19813
|
+
var unclickable = event.target;
|
|
19814
|
+
if (!(unclickable instanceof HTMLElement)) {
|
|
19815
|
+
return;
|
|
19816
|
+
}
|
|
19817
|
+
|
|
19818
|
+
_this.nextUnclickable = unclickable;
|
|
19819
|
+
_this.repositionProxyImage(_this.nextUnclickable);
|
|
19820
|
+
};
|
|
19821
|
+
|
|
19822
|
+
_this.onProxyImageClick = function () {
|
|
19823
|
+
_this.unclickable = _this.nextUnclickable;
|
|
19824
|
+
_this.nextUnclickable = null;
|
|
19825
|
+
_this.formatter.show(_this);
|
|
19826
|
+
_this.hideProxyImage();
|
|
19827
|
+
};
|
|
19828
|
+
|
|
19829
|
+
_this.selector = selector;
|
|
19830
|
+
_this.unclickable = null;
|
|
19831
|
+
_this.nextUnclickable = null;
|
|
19832
|
+
return _this;
|
|
19833
|
+
}
|
|
19834
|
+
|
|
19835
|
+
_createClass(UnclickableBlotSpec, [{
|
|
19836
|
+
key: 'init',
|
|
19837
|
+
value: function init() {
|
|
19838
|
+
if (document.body) {
|
|
19839
|
+
/*
|
|
19840
|
+
it's important that this is attached to the body instead of the root quill element.
|
|
19841
|
+
this prevents the click event from overlapping with ImageSpec
|
|
19842
|
+
*/
|
|
19843
|
+
document.body.appendChild(this.createProxyImage());
|
|
19844
|
+
}
|
|
19845
|
+
|
|
19846
|
+
this.hideProxyImage();
|
|
19847
|
+
this.proxyImage.addEventListener('click', this.onProxyImageClick);
|
|
19848
|
+
this.formatter.quill.on('text-change', this.onTextChange);
|
|
19849
|
+
}
|
|
19850
|
+
}, {
|
|
19851
|
+
key: 'getTargetElement',
|
|
19852
|
+
value: function getTargetElement() {
|
|
19853
|
+
return this.unclickable;
|
|
19854
|
+
}
|
|
19855
|
+
}, {
|
|
19856
|
+
key: 'getOverlayElement',
|
|
19857
|
+
value: function getOverlayElement() {
|
|
19858
|
+
return this.unclickable;
|
|
19859
|
+
}
|
|
19860
|
+
}, {
|
|
19861
|
+
key: 'onHide',
|
|
19862
|
+
value: function onHide() {
|
|
19863
|
+
this.hideProxyImage();
|
|
19864
|
+
this.nextUnclickable = null;
|
|
19865
|
+
this.unclickable = null;
|
|
19866
|
+
}
|
|
19867
|
+
}, {
|
|
19868
|
+
key: 'createProxyImage',
|
|
19869
|
+
value: function createProxyImage() {
|
|
19870
|
+
var canvas = document.createElement('canvas');
|
|
19871
|
+
var context = canvas.getContext('2d');
|
|
19872
|
+
context.globalAlpha = 0;
|
|
19873
|
+
context.fillRect(0, 0, 1, 1);
|
|
19874
|
+
|
|
19875
|
+
this.proxyImage = document.createElement('img');
|
|
19876
|
+
this.proxyImage.src = canvas.toDataURL('image/png');
|
|
19877
|
+
this.proxyImage.classList.add(PROXY_IMAGE_CLASS);
|
|
19878
|
+
|
|
19879
|
+
Object.assign(this.proxyImage.style, {
|
|
19880
|
+
position: 'absolute',
|
|
19881
|
+
margin: '0'
|
|
19882
|
+
});
|
|
19883
|
+
|
|
19884
|
+
return this.proxyImage;
|
|
19885
|
+
}
|
|
19886
|
+
}, {
|
|
19887
|
+
key: 'hideProxyImage',
|
|
19888
|
+
value: function hideProxyImage() {
|
|
19889
|
+
Object.assign(this.proxyImage.style, {
|
|
19890
|
+
display: 'none'
|
|
19891
|
+
});
|
|
19892
|
+
}
|
|
19893
|
+
}, {
|
|
19894
|
+
key: 'repositionProxyImage',
|
|
19895
|
+
value: function repositionProxyImage(unclickable) {
|
|
19896
|
+
var rect = unclickable.getBoundingClientRect();
|
|
19897
|
+
|
|
19898
|
+
Object.assign(this.proxyImage.style, {
|
|
19899
|
+
display: 'block',
|
|
19900
|
+
left: rect.left + window.pageXOffset + 'px',
|
|
19901
|
+
top: rect.top + window.pageYOffset + 'px',
|
|
19902
|
+
width: rect.width + 'px',
|
|
19903
|
+
height: rect.height + 'px'
|
|
19904
|
+
});
|
|
19905
|
+
}
|
|
19906
|
+
}]);
|
|
19907
|
+
|
|
19908
|
+
return UnclickableBlotSpec;
|
|
19909
|
+
}(_BlotSpec3.default);
|
|
19910
|
+
|
|
19911
|
+
UnclickableBlotSpec.default = UnclickableBlotSpec$1;
|
|
19912
|
+
return UnclickableBlotSpec;
|
|
19913
|
+
}
|
|
19914
|
+
|
|
19915
|
+
var hasRequiredIframeVideoSpec;
|
|
19916
|
+
|
|
19917
|
+
function requireIframeVideoSpec () {
|
|
19918
|
+
if (hasRequiredIframeVideoSpec) return IframeVideoSpec;
|
|
19919
|
+
hasRequiredIframeVideoSpec = 1;
|
|
19920
|
+
|
|
19921
|
+
Object.defineProperty(IframeVideoSpec, "__esModule", {
|
|
19922
|
+
value: true
|
|
19923
|
+
});
|
|
19924
|
+
|
|
19925
|
+
var _UnclickableBlotSpec2 = requireUnclickableBlotSpec();
|
|
19926
|
+
|
|
19927
|
+
var _UnclickableBlotSpec3 = _interopRequireDefault(_UnclickableBlotSpec2);
|
|
19928
|
+
|
|
19929
|
+
var _BlotFormatter = requireBlotFormatter();
|
|
19930
|
+
|
|
19931
|
+
_interopRequireDefault(_BlotFormatter);
|
|
19932
|
+
|
|
19933
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19934
|
+
|
|
19935
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
19936
|
+
|
|
19937
|
+
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
|
19938
|
+
|
|
19939
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
|
19940
|
+
|
|
19941
|
+
var IframeVideoSpec$1 = function (_UnclickableBlotSpec) {
|
|
19942
|
+
_inherits(IframeVideoSpec, _UnclickableBlotSpec);
|
|
19943
|
+
|
|
19944
|
+
function IframeVideoSpec(formatter) {
|
|
19945
|
+
_classCallCheck(this, IframeVideoSpec);
|
|
19946
|
+
|
|
19947
|
+
return _possibleConstructorReturn(this, (IframeVideoSpec.__proto__ || Object.getPrototypeOf(IframeVideoSpec)).call(this, formatter, 'iframe.ql-video'));
|
|
19948
|
+
}
|
|
19949
|
+
|
|
19950
|
+
return IframeVideoSpec;
|
|
19951
|
+
}(_UnclickableBlotSpec3.default);
|
|
19952
|
+
|
|
19953
|
+
IframeVideoSpec.default = IframeVideoSpec$1;
|
|
19954
|
+
return IframeVideoSpec;
|
|
19955
|
+
}
|
|
19956
|
+
|
|
19957
|
+
var hasRequiredOptions;
|
|
19958
|
+
|
|
19959
|
+
function requireOptions () {
|
|
19960
|
+
if (hasRequiredOptions) return Options;
|
|
19961
|
+
hasRequiredOptions = 1;
|
|
19962
|
+
|
|
19963
|
+
Object.defineProperty(Options, "__esModule", {
|
|
19964
|
+
value: true
|
|
19965
|
+
});
|
|
19966
|
+
|
|
19967
|
+
var _BlotSpec = requireBlotSpec();
|
|
19968
|
+
|
|
19969
|
+
_interopRequireDefault(_BlotSpec);
|
|
19970
|
+
|
|
19971
|
+
var _ImageSpec = requireImageSpec();
|
|
19972
|
+
|
|
19973
|
+
var _ImageSpec2 = _interopRequireDefault(_ImageSpec);
|
|
19974
|
+
|
|
19975
|
+
var _IframeVideoSpec = requireIframeVideoSpec();
|
|
19976
|
+
|
|
19977
|
+
var _IframeVideoSpec2 = _interopRequireDefault(_IframeVideoSpec);
|
|
19978
|
+
|
|
19979
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19980
|
+
|
|
19981
|
+
var DefaultOptions = {
|
|
19982
|
+
specs: [_ImageSpec2.default, _IframeVideoSpec2.default],
|
|
19983
|
+
overlay: {
|
|
19984
|
+
className: 'blot-formatter__overlay',
|
|
19985
|
+
style: {
|
|
19986
|
+
position: 'absolute',
|
|
19987
|
+
boxSizing: 'border-box',
|
|
19988
|
+
border: '1px dashed #444'
|
|
19989
|
+
}
|
|
19990
|
+
},
|
|
19991
|
+
align: {
|
|
19992
|
+
attribute: 'data-align',
|
|
19993
|
+
aligner: {
|
|
19994
|
+
applyStyle: true
|
|
19995
|
+
},
|
|
19996
|
+
icons: {
|
|
19997
|
+
left: '\n <svg viewbox="0 0 18 18">\n <line class="ql-stroke" x1="3" x2="15" y1="9" y2="9"></line>\n <line class="ql-stroke" x1="3" x2="13" y1="14" y2="14"></line>\n <line class="ql-stroke" x1="3" x2="9" y1="4" y2="4"></line>\n </svg>\n ',
|
|
19998
|
+
center: '\n <svg viewbox="0 0 18 18">\n <line class="ql-stroke" x1="15" x2="3" y1="9" y2="9"></line>\n <line class="ql-stroke" x1="14" x2="4" y1="14" y2="14"></line>\n <line class="ql-stroke" x1="12" x2="6" y1="4" y2="4"></line>\n </svg>\n ',
|
|
19999
|
+
right: '\n <svg viewbox="0 0 18 18">\n <line class="ql-stroke" x1="15" x2="3" y1="9" y2="9"></line>\n <line class="ql-stroke" x1="15" x2="5" y1="14" y2="14"></line>\n <line class="ql-stroke" x1="15" x2="9" y1="4" y2="4"></line>\n </svg>\n '
|
|
20000
|
+
},
|
|
20001
|
+
toolbar: {
|
|
20002
|
+
allowDeselect: true,
|
|
20003
|
+
mainClassName: 'blot-formatter__toolbar',
|
|
20004
|
+
mainStyle: {
|
|
20005
|
+
position: 'absolute',
|
|
20006
|
+
top: '-12px',
|
|
20007
|
+
right: '0',
|
|
20008
|
+
left: '0',
|
|
20009
|
+
height: '0',
|
|
20010
|
+
minWidth: '100px',
|
|
20011
|
+
font: '12px/1.0 Arial, Helvetica, sans-serif',
|
|
20012
|
+
textAlign: 'center',
|
|
20013
|
+
color: '#333',
|
|
20014
|
+
boxSizing: 'border-box',
|
|
20015
|
+
cursor: 'default',
|
|
20016
|
+
zIndex: '1'
|
|
20017
|
+
},
|
|
20018
|
+
buttonClassName: 'blot-formatter__toolbar-button',
|
|
20019
|
+
addButtonSelectStyle: true,
|
|
20020
|
+
buttonStyle: {
|
|
20021
|
+
display: 'inline-block',
|
|
20022
|
+
width: '24px',
|
|
20023
|
+
height: '24px',
|
|
20024
|
+
background: 'white',
|
|
20025
|
+
border: '1px solid #999',
|
|
20026
|
+
verticalAlign: 'middle'
|
|
20027
|
+
},
|
|
20028
|
+
svgStyle: {
|
|
20029
|
+
display: 'inline-block',
|
|
20030
|
+
width: '24px',
|
|
20031
|
+
height: '24px',
|
|
20032
|
+
background: 'white',
|
|
20033
|
+
border: '1px solid #999',
|
|
20034
|
+
verticalAlign: 'middle'
|
|
20035
|
+
}
|
|
20036
|
+
}
|
|
20037
|
+
},
|
|
20038
|
+
resize: {
|
|
20039
|
+
handleClassName: 'blot-formatter__resize-handle',
|
|
20040
|
+
handleStyle: {
|
|
20041
|
+
position: 'absolute',
|
|
20042
|
+
height: '12px',
|
|
20043
|
+
width: '12px',
|
|
20044
|
+
backgroundColor: 'white',
|
|
20045
|
+
border: '1px solid #777',
|
|
20046
|
+
boxSizing: 'border-box',
|
|
20047
|
+
opacity: '0.80'
|
|
20048
|
+
}
|
|
20049
|
+
}
|
|
20050
|
+
};
|
|
20051
|
+
|
|
20052
|
+
Options.default = DefaultOptions;
|
|
20053
|
+
return Options;
|
|
20054
|
+
}
|
|
20055
|
+
|
|
20056
|
+
(function (exports) {
|
|
20057
|
+
|
|
20058
|
+
Object.defineProperty(exports, "__esModule", {
|
|
20059
|
+
value: true
|
|
20060
|
+
});
|
|
20061
|
+
|
|
20062
|
+
var _Options = requireOptions();
|
|
20063
|
+
|
|
20064
|
+
Object.defineProperty(exports, 'DefaultOptions', {
|
|
20065
|
+
enumerable: true,
|
|
20066
|
+
get: function get() {
|
|
20067
|
+
return _interopRequireDefault(_Options).default;
|
|
20068
|
+
}
|
|
20069
|
+
});
|
|
20070
|
+
|
|
20071
|
+
var _BlotFormatter = requireBlotFormatter();
|
|
20072
|
+
|
|
20073
|
+
Object.defineProperty(exports, 'default', {
|
|
20074
|
+
enumerable: true,
|
|
20075
|
+
get: function get() {
|
|
20076
|
+
return _interopRequireDefault(_BlotFormatter).default;
|
|
20077
|
+
}
|
|
20078
|
+
});
|
|
20079
|
+
|
|
20080
|
+
var _Action = requireAction();
|
|
20081
|
+
|
|
20082
|
+
Object.defineProperty(exports, 'Action', {
|
|
20083
|
+
enumerable: true,
|
|
20084
|
+
get: function get() {
|
|
20085
|
+
return _interopRequireDefault(_Action).default;
|
|
20086
|
+
}
|
|
20087
|
+
});
|
|
20088
|
+
|
|
20089
|
+
var _AlignAction = requireAlignAction();
|
|
20090
|
+
|
|
20091
|
+
Object.defineProperty(exports, 'AlignAction', {
|
|
20092
|
+
enumerable: true,
|
|
20093
|
+
get: function get() {
|
|
20094
|
+
return _interopRequireDefault(_AlignAction).default;
|
|
20095
|
+
}
|
|
20096
|
+
});
|
|
20097
|
+
|
|
20098
|
+
var _DefaultAligner = DefaultAligner$1;
|
|
20099
|
+
|
|
20100
|
+
Object.defineProperty(exports, 'DefaultAligner', {
|
|
20101
|
+
enumerable: true,
|
|
20102
|
+
get: function get() {
|
|
20103
|
+
return _interopRequireDefault(_DefaultAligner).default;
|
|
20104
|
+
}
|
|
20105
|
+
});
|
|
20106
|
+
|
|
20107
|
+
var _DefaultToolbar = requireDefaultToolbar();
|
|
20108
|
+
|
|
20109
|
+
Object.defineProperty(exports, 'DefaultToolbar', {
|
|
20110
|
+
enumerable: true,
|
|
20111
|
+
get: function get() {
|
|
20112
|
+
return _interopRequireDefault(_DefaultToolbar).default;
|
|
20113
|
+
}
|
|
20114
|
+
});
|
|
20115
|
+
|
|
20116
|
+
var _DeleteAction = requireDeleteAction();
|
|
20117
|
+
|
|
20118
|
+
Object.defineProperty(exports, 'DeleteAction', {
|
|
20119
|
+
enumerable: true,
|
|
20120
|
+
get: function get() {
|
|
20121
|
+
return _interopRequireDefault(_DeleteAction).default;
|
|
20122
|
+
}
|
|
20123
|
+
});
|
|
20124
|
+
|
|
20125
|
+
var _ResizeAction = requireResizeAction();
|
|
20126
|
+
|
|
20127
|
+
Object.defineProperty(exports, 'ResizeAction', {
|
|
20128
|
+
enumerable: true,
|
|
20129
|
+
get: function get() {
|
|
20130
|
+
return _interopRequireDefault(_ResizeAction).default;
|
|
20131
|
+
}
|
|
20132
|
+
});
|
|
20133
|
+
|
|
20134
|
+
var _BlotSpec = requireBlotSpec();
|
|
20135
|
+
|
|
20136
|
+
Object.defineProperty(exports, 'BlotSpec', {
|
|
20137
|
+
enumerable: true,
|
|
20138
|
+
get: function get() {
|
|
20139
|
+
return _interopRequireDefault(_BlotSpec).default;
|
|
20140
|
+
}
|
|
20141
|
+
});
|
|
20142
|
+
|
|
20143
|
+
var _ImageSpec = requireImageSpec();
|
|
20144
|
+
|
|
20145
|
+
Object.defineProperty(exports, 'ImageSpec', {
|
|
20146
|
+
enumerable: true,
|
|
20147
|
+
get: function get() {
|
|
20148
|
+
return _interopRequireDefault(_ImageSpec).default;
|
|
20149
|
+
}
|
|
20150
|
+
});
|
|
20151
|
+
|
|
20152
|
+
var _UnclickableBlotSpec = requireUnclickableBlotSpec();
|
|
20153
|
+
|
|
20154
|
+
Object.defineProperty(exports, 'UnclickableBlotSpec', {
|
|
20155
|
+
enumerable: true,
|
|
20156
|
+
get: function get() {
|
|
20157
|
+
return _interopRequireDefault(_UnclickableBlotSpec).default;
|
|
20158
|
+
}
|
|
20159
|
+
});
|
|
20160
|
+
|
|
20161
|
+
var _IframeVideoSpec = requireIframeVideoSpec();
|
|
20162
|
+
|
|
20163
|
+
Object.defineProperty(exports, 'IframeVideoSpec', {
|
|
20164
|
+
enumerable: true,
|
|
20165
|
+
get: function get() {
|
|
20166
|
+
return _interopRequireDefault(_IframeVideoSpec).default;
|
|
20167
|
+
}
|
|
20168
|
+
});
|
|
20169
|
+
|
|
20170
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
20171
|
+
} (dist));
|
|
20172
|
+
|
|
20173
|
+
var BlotFormatter = /*@__PURE__*/getDefaultExportFromCjs(dist);
|
|
20174
|
+
|
|
20175
|
+
function useBlotFormatter(editor, enableImageResize = true) {
|
|
20176
|
+
const quillRef = vue.ref(null);
|
|
20177
|
+
const removeQuillBlotFormatter = () => {
|
|
20178
|
+
var _a;
|
|
20179
|
+
try {
|
|
20180
|
+
const blotFormatter = (_a = quillRef.value) === null || _a === void 0 ? void 0 : _a.getModule('blotFormatter');
|
|
20181
|
+
if (blotFormatter && blotFormatter.overlay) {
|
|
20182
|
+
const overlay = blotFormatter.overlay;
|
|
20183
|
+
if (overlay.parentNode) {
|
|
20184
|
+
overlay.parentNode.removeChild(overlay);
|
|
20185
|
+
}
|
|
20186
|
+
}
|
|
20187
|
+
}
|
|
20188
|
+
catch (error) {
|
|
20189
|
+
console.warn('移除blotFormatter overlay时出错:', error);
|
|
20190
|
+
}
|
|
20191
|
+
};
|
|
20192
|
+
const handleGlobalClick = (event) => {
|
|
20193
|
+
var _a;
|
|
20194
|
+
if (!editor.value)
|
|
20195
|
+
return;
|
|
20196
|
+
const blotFormatter = (_a = quillRef.value) === null || _a === void 0 ? void 0 : _a.getModule('blotFormatter');
|
|
20197
|
+
if (!blotFormatter || !blotFormatter.overlay)
|
|
20198
|
+
return;
|
|
20199
|
+
const isClickInsideEditor = editor.value.contains(event.target);
|
|
20200
|
+
if (!isClickInsideEditor) {
|
|
20201
|
+
removeQuillBlotFormatter();
|
|
20202
|
+
}
|
|
20203
|
+
};
|
|
20204
|
+
const handleGlobalKeyup = (event) => {
|
|
20205
|
+
var _a;
|
|
20206
|
+
if (event.keyCode !== 46 && event.keyCode !== 8)
|
|
20207
|
+
return;
|
|
20208
|
+
const blotFormatter = (_a = quillRef.value) === null || _a === void 0 ? void 0 : _a.getModule('blotFormatter');
|
|
20209
|
+
if (!blotFormatter || !blotFormatter.currentSpec)
|
|
20210
|
+
return;
|
|
20211
|
+
const target = event.target;
|
|
20212
|
+
if (!editor.value || !editor.value.contains(target)) {
|
|
20213
|
+
event.stopImmediatePropagation();
|
|
20214
|
+
event.preventDefault();
|
|
20215
|
+
return;
|
|
20216
|
+
}
|
|
20217
|
+
const allEditors = document.querySelectorAll('.quill-editor-container');
|
|
20218
|
+
allEditors.forEach(editorElement => {
|
|
20219
|
+
if (editorElement !== editor.value) {
|
|
20220
|
+
const otherQuill = editorElement.__quill;
|
|
20221
|
+
if (otherQuill && otherQuill !== quillRef.value) {
|
|
20222
|
+
const otherBlotFormatter = otherQuill.getModule('blotFormatter');
|
|
20223
|
+
if (otherBlotFormatter && otherBlotFormatter.currentSpec) {
|
|
20224
|
+
otherBlotFormatter.hide();
|
|
20225
|
+
}
|
|
20226
|
+
}
|
|
20227
|
+
}
|
|
20228
|
+
});
|
|
20229
|
+
};
|
|
20230
|
+
const configureBlotFormatter = () => {
|
|
20231
|
+
if (!quillRef.value)
|
|
20232
|
+
return;
|
|
20233
|
+
const blotFormatter = quillRef.value.getModule('blotFormatter');
|
|
20234
|
+
if (blotFormatter) {
|
|
20235
|
+
const originalShow = blotFormatter.show.bind(blotFormatter);
|
|
20236
|
+
blotFormatter.show = function (spec) {
|
|
20237
|
+
var _a;
|
|
20238
|
+
originalShow(spec);
|
|
20239
|
+
const target = (_a = this.currentSpec) === null || _a === void 0 ? void 0 : _a.getTargetElement();
|
|
20240
|
+
if (target && target.tagName === 'IMG') {
|
|
20241
|
+
target.style.maxWidth = '100%';
|
|
20242
|
+
target.style.height = 'auto';
|
|
20243
|
+
target.style.objectFit = 'contain';
|
|
20244
|
+
const width = target.getAttribute('width');
|
|
20245
|
+
if (width) {
|
|
20246
|
+
const naturalWidth = target.naturalWidth;
|
|
20247
|
+
const naturalHeight = target.naturalHeight;
|
|
20248
|
+
if (naturalWidth && naturalHeight) {
|
|
20249
|
+
const aspectRatio = naturalHeight / naturalWidth;
|
|
20250
|
+
const newHeight = Math.round(parseInt(width) * aspectRatio);
|
|
20251
|
+
target.setAttribute('height', '' + newHeight);
|
|
20252
|
+
}
|
|
20253
|
+
}
|
|
20254
|
+
}
|
|
20255
|
+
};
|
|
20256
|
+
}
|
|
20257
|
+
};
|
|
20258
|
+
const applyImageStyle = () => {
|
|
20259
|
+
var _a;
|
|
20260
|
+
if (!quillRef.value)
|
|
20261
|
+
return;
|
|
20262
|
+
const editorElement = (_a = editor.value) === null || _a === void 0 ? void 0 : _a.querySelector('.ql-editor');
|
|
20263
|
+
if (editorElement) {
|
|
20264
|
+
const images = editorElement.querySelectorAll('img');
|
|
20265
|
+
images.forEach(img => {
|
|
20266
|
+
img.style.maxWidth = '100%';
|
|
20267
|
+
img.style.height = 'auto';
|
|
20268
|
+
img.style.objectFit = 'contain';
|
|
20269
|
+
});
|
|
20270
|
+
}
|
|
20271
|
+
};
|
|
20272
|
+
const registerBlotFormatter = () => {
|
|
20273
|
+
var _a;
|
|
20274
|
+
if (!enableImageResize) {
|
|
20275
|
+
return;
|
|
20276
|
+
}
|
|
20277
|
+
try {
|
|
20278
|
+
if (!((_a = Quill.imports) === null || _a === void 0 ? void 0 : _a['modules/blotFormatter'])) {
|
|
20279
|
+
Quill.register('modules/blotFormatter', BlotFormatter);
|
|
20280
|
+
}
|
|
20281
|
+
}
|
|
20282
|
+
catch (error) {
|
|
20283
|
+
console.warn('注册BlotFormatter模块时出错:', error);
|
|
20284
|
+
}
|
|
20285
|
+
};
|
|
20286
|
+
const getBlotFormatterConfig = () => {
|
|
20287
|
+
if (!enableImageResize) {
|
|
20288
|
+
return {};
|
|
20289
|
+
}
|
|
20290
|
+
return {
|
|
20291
|
+
blotFormatter: {}
|
|
20292
|
+
};
|
|
20293
|
+
};
|
|
20294
|
+
vue.onMounted(() => {
|
|
20295
|
+
window.addEventListener('click', handleGlobalClick, true);
|
|
20296
|
+
window.addEventListener('keyup', handleGlobalKeyup, true);
|
|
20297
|
+
});
|
|
20298
|
+
vue.onBeforeUnmount(() => {
|
|
20299
|
+
window.removeEventListener('click', handleGlobalClick, true);
|
|
20300
|
+
window.removeEventListener('keyup', handleGlobalKeyup, true);
|
|
20301
|
+
removeQuillBlotFormatter();
|
|
20302
|
+
});
|
|
20303
|
+
const setQuill = (quillInstance) => {
|
|
20304
|
+
quillRef.value = quillInstance;
|
|
20305
|
+
};
|
|
20306
|
+
return {
|
|
20307
|
+
quillRef,
|
|
20308
|
+
setQuill,
|
|
20309
|
+
removeQuillBlotFormatter,
|
|
20310
|
+
handleGlobalClick,
|
|
20311
|
+
handleGlobalKeyup,
|
|
20312
|
+
configureBlotFormatter,
|
|
20313
|
+
applyImageStyle,
|
|
20314
|
+
registerBlotFormatter,
|
|
20315
|
+
getBlotFormatterConfig
|
|
20316
|
+
};
|
|
20317
|
+
}
|
|
20318
|
+
|
|
20319
|
+
function useLinkClick(editor, initialHandleCustomLink) {
|
|
20320
|
+
const quillRef = vue.ref(null);
|
|
20321
|
+
const handleCustomLinkRef = vue.ref(initialHandleCustomLink || null);
|
|
20322
|
+
const handleLinkClick = (event) => {
|
|
20323
|
+
if (!quillRef.value || !handleCustomLinkRef.value)
|
|
20324
|
+
return;
|
|
20325
|
+
const target = event.target;
|
|
20326
|
+
if (target.tagName === 'A') {
|
|
20327
|
+
event.preventDefault();
|
|
20328
|
+
event.stopPropagation();
|
|
20329
|
+
try {
|
|
20330
|
+
const linkElement = target;
|
|
20331
|
+
const linkUrl = linkElement.getAttribute('href') || '';
|
|
20332
|
+
const linkText = linkElement.textContent || '';
|
|
20333
|
+
const range = quillRef.value.getSelection();
|
|
20334
|
+
if (range) {
|
|
20335
|
+
const [blot] = quillRef.value.getLeaf(range.index);
|
|
20336
|
+
if (blot && blot.parent && blot.parent.domNode.tagName === 'A') {
|
|
20337
|
+
const linkBlot = blot.parent;
|
|
20338
|
+
const linkIndex = quillRef.value.getIndex(linkBlot);
|
|
20339
|
+
const linkLength = linkBlot.length();
|
|
20340
|
+
quillRef.value.setSelection(linkIndex, linkLength);
|
|
20341
|
+
handleCustomLinkRef.value(true, { url: linkUrl, text: linkText });
|
|
20342
|
+
}
|
|
20343
|
+
}
|
|
20344
|
+
}
|
|
20345
|
+
catch (error) {
|
|
20346
|
+
console.warn('选中链接失败:', error);
|
|
20347
|
+
}
|
|
20348
|
+
}
|
|
20349
|
+
};
|
|
20350
|
+
const addLinkClickListener = () => {
|
|
20351
|
+
if (!quillRef.value)
|
|
20352
|
+
return;
|
|
20353
|
+
vue.nextTick(() => {
|
|
20354
|
+
var _a;
|
|
20355
|
+
const editorElement = (_a = editor.value) === null || _a === void 0 ? void 0 : _a.querySelector('.ql-editor');
|
|
20356
|
+
if (editorElement) {
|
|
20357
|
+
editorElement.removeEventListener('click', handleLinkClick);
|
|
20358
|
+
editorElement.addEventListener('click', handleLinkClick);
|
|
20359
|
+
}
|
|
20360
|
+
});
|
|
20361
|
+
};
|
|
20362
|
+
const setQuill = (quillInstance) => {
|
|
20363
|
+
quillRef.value = quillInstance;
|
|
20364
|
+
};
|
|
20365
|
+
const setHandleCustomLink = (fn) => {
|
|
20366
|
+
handleCustomLinkRef.value = fn;
|
|
20367
|
+
};
|
|
20368
|
+
return {
|
|
20369
|
+
quillRef,
|
|
20370
|
+
setQuill,
|
|
20371
|
+
setHandleCustomLink,
|
|
20372
|
+
handleLinkClick,
|
|
20373
|
+
addLinkClickListener
|
|
20374
|
+
};
|
|
20375
|
+
}
|
|
20376
|
+
|
|
20377
|
+
const boldSVG = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="18" height="18" viewBox="0 0 18 18"><g><g style="opacity:0;"><rect x="0" y="0" width="18" height="18" rx="0" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M6.794999938146972,7.7800002288818355L9.045000038146974,7.7800002288818355Q9.855000038146972,7.7800002288818355,10.230000038146972,7.442500128881836Q10.605000038146972,7.105000028881836,10.605000038146972,6.505000128881836Q10.605000038146972,6.114999728881836,10.440000038146973,5.860000628881836Q10.275000138146972,5.6050005288818365,9.929999838146973,5.470000228881836Q9.585000038146973,5.335000028881836,9.045000038146974,5.335000028881836L7.139999938146973,5.335000028881836L7.139999938146973,3.385000228881836L9.045000038146974,3.385000228881836Q10.034999838146973,3.385000228881836,10.852499938146973,3.797500608881836Q11.670000038146974,4.2100000388818355,12.142499938146972,4.922500628881836Q12.614999738146974,5.635000228881836,12.614999738146974,6.505000128881836Q12.614999738146974,7.375000028881836,12.142499938146972,8.042500028881836Q11.670000038146974,8.710000028881836,10.860000138146972,9.070000128881837Q10.050000238146973,9.430000328881835,9.045000038146974,9.430000328881835L6.794999938146972,9.430000328881835L6.794999938146972,7.7800002288818355ZM7.139999938146973,12.550000228881835L9.329999938146972,12.550000228881835Q9.900000138146972,12.550000228881835,10.327499838146974,12.354999528881836Q10.755000138146972,12.159999828881835,10.987500238146973,11.807499928881835Q11.219999838146972,11.454999928881836,11.219999838146972,11.020000428881836Q11.219999838146972,10.600000428881836,10.987500238146973,10.232500028881836Q10.755000138146972,9.864999728881836,10.327499838146974,9.647500028881836Q9.900000138146972,9.430000328881835,9.329999938146972,9.430000328881835L6.975000038146972,9.430000328881835L6.975000038146972,7.7800002288818355L9.329999938146972,7.7800002288818355Q10.349999938146972,7.7800002288818355,11.250000038146972,8.200000328881835Q12.149999638146973,8.620000328881837,12.690000538146972,9.362500228881835Q13.229999538146973,10.104999528881836,13.229999538146973,11.034999828881837Q13.229999538146973,11.949999828881836,12.690000538146972,12.752500528881836Q12.149999638146973,13.555000228881836,11.250000038146972,14.027500228881836Q10.349999938146972,14.500000228881836,9.329999938146972,14.500000228881836L7.139999938146973,14.500000228881836L7.139999938146973,12.550000228881835ZM7.064999938146973,14.500000228881836Q6.284999968146972,14.500000228881836,5.872500058146973,14.095000228881837Q5.460000038146973,13.689999228881836,5.460000038146973,12.895000428881836L5.460000038146973,4.989999728881836Q5.460000038146973,4.195000648881836,5.872500058146973,3.789999958881836Q6.284999968146972,3.385000228881836,7.064999938146973,3.385000228881836L7.469999838146973,3.385000228881836L7.469999838146973,14.500000228881836L7.064999938146973,14.500000228881836Z" fill="#555555" fill-opacity="1"/></g></g></svg>`;
|
|
20378
|
+
const italicSVG = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="18" height="18" viewBox="0 0 18 18"><g><g style="opacity:0;"><rect x="0" y="0" width="18" height="18" rx="0" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M8,3Q7.9015086,3,7.8049095,3.019214718Q7.7083106,3.038429435,7.6173165,3.076120459Q7.5263224,3.11381148,7.4444296,3.16853037Q7.3625371,3.2232492600000002,7.2928932,3.2928932Q7.2232492,3.36253715,7.1685302,3.4444297600000002Q7.1138113999999995,3.52632231,7.0761204,3.61731648Q7.0384293,3.70831072,7.0192146,3.80490965Q6.99999994,3.90150857,7,4Q6.99999994,4.0984913,7.0192146,4.1950902Q7.0384293,4.291689,7.0761204,4.3826833Q7.1138113999999995,4.4736774,7.1685302,4.5555699Q7.2232492,4.6374626,7.2928932,4.7071065999999995Q7.3625371,4.7767504,7.4444296,4.8314693Q7.5263224,4.8861883,7.6173165,4.9238794Q7.7083106,4.9615704,7.8049096,4.9807851Q7.9015086,4.9999999,8,5L9.137146,5L8,13L7,13Q6.90150857,13,6.80490965,13.019215Q6.70831072,13.038429,6.6173164799999995,13.07612Q6.52632231,13.113811,6.44442973,13.16853Q6.36253715,13.223249,6.2928932,13.292892Q6.22324926,13.362536,6.16853037,13.444429Q6.11381148,13.526321,6.076120459,13.617315Q6.038429435,13.708309,6.019214718,13.804909Q6,13.901508,6,14Q6,14.098491,6.019214718,14.195089Q6.038429435,14.291689,6.076120459,14.382683Q6.11381148,14.473677,6.16853037,14.555569Q6.22324926,14.637462,6.2928932,14.707106Q6.36253715,14.77675,6.44442976,14.831469Q6.52632231,14.886187,6.6173164799999995,14.923878Q6.70831072,14.961569,6.80490965,14.980784Q6.90150857,15,7,15L11,15Q11.0984912,15,11.1950898,14.980784Q11.2916889,14.961569,11.382682800000001,14.923878Q11.473677200000001,14.886187,11.5555696,14.831469Q11.6374626,14.77675,11.7071066,14.707106Q11.7767506,14.637462,11.8314691,14.555569Q11.8861876,14.473677,11.9238791,14.382683Q11.9615698,14.291689,11.9807849,14.195089Q12,14.098491,12,14Q12,13.901508,11.9807849,13.804909Q11.9615698,13.708309,11.9238791,13.617315Q11.8861876,13.526321,11.8314691,13.444428Q11.7767506,13.362536,11.7071066,13.292892Q11.6374626,13.223249,11.5555701,13.16853Q11.473677200000001,13.113811,11.382682800000001,13.07612Q11.2916889,13.038429,11.1950903,13.019215Q11.0984912,13,11,13L9.8626451,13L11,5L12,5Q12.0984907,4.9999999,12.1950893,4.9807851Q12.2916884,4.9615703,12.382682800000001,4.9238793Q12.4736767,4.8861883,12.5555696,4.8314693Q12.6374621,4.7767504,12.7071061,4.7071065999999995Q12.776750100000001,4.6374626,12.831468600000001,4.5555699Q12.8861876,4.4736774,12.9238787,4.3826833Q12.9615698,4.291689,12.9807849,4.1950902Q12.999999500000001,4.0984913,13,4Q12.999999500000001,3.90150857,12.980784400000001,3.80490965Q12.9615698,3.70831072,12.9238787,3.61731648Q12.8861876,3.52632231,12.8314691,3.44442973Q12.7767506,3.36253715,12.7071066,3.2928932Q12.6374626,3.2232492600000002,12.5555696,3.16853037Q12.4736767,3.11381148,12.382682800000001,3.076120459Q12.2916884,3.038429435,12.1950898,3.019214718Q12.0984907,3,12,3L8,3Z" fill-rule="evenodd" fill="#555555" fill-opacity="1"/></g></g></svg>`;
|
|
20379
|
+
const underlineSVG = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="18" height="18" viewBox="0 0 18 18"><g><g style="opacity:0;"><rect x="0" y="0" width="18" height="18" rx="0" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M5.000117301940918,14.500022450683593L5.000117301940918,14.500022450683593Q5.000117301940918,14.450777450683594,5.009724660740918,14.402477450683593Q5.019332019940918,14.354177450683594,5.038177530940918,14.308679450683593Q5.057023040940918,14.263182450683594,5.084382488940918,14.222236450683594Q5.111741931940918,14.181290450683594,5.146563901940918,14.146469450683593Q5.181385871940918,14.111646450683594,5.222332181940918,14.084286450683594Q5.263278451940918,14.056927450683594,5.308775541940918,14.038082450683595Q5.354272661940918,14.019237450683594,5.402572121940918,14.009630450683593Q5.450871581940918,14.000022450683593,5.500117301940918,14.000022450683593L12.500117301940918,14.000022450683593Q12.549362201940918,14.000022450683593,12.597661501940918,14.009629450683594Q12.645960801940918,14.019237450683594,12.691457701940918,14.038082450683595Q12.736954701940917,14.056926450683594,12.777901601940918,14.084285450683593Q12.818847701940918,14.111645450683593,12.853670101940917,14.146468450683594Q12.888492101940919,14.181289450683593,12.915851601940918,14.222235450683593Q12.943210601940919,14.263181450683593,12.962056201940918,14.308679450683593Q12.980901701940919,14.354177450683594,12.990509501940917,14.402477450683593Q13.00011680194092,14.450777450683594,13.000117301940918,14.500022450683593L13.000117301940918,14.500022450683593Q13.00011680194092,14.549268450683593,12.990509001940918,14.597566450683594Q12.980901701940919,14.645866450683593,12.962056201940918,14.691363450683594Q12.943210601940919,14.736860450683594,12.915851601940918,14.777807450683595Q12.888492101940919,14.818753450683595,12.853670101940917,14.853575450683593Q12.818847701940918,14.888397450683593,12.777901601940918,14.915756450683594Q12.736954701940917,14.943115450683594,12.691457701940918,14.961960450683593Q12.645960801940918,14.980806450683593,12.597661501940918,14.990413450683594Q12.549362201940918,15.000021450683594,12.500117301940918,15.000022450683593L5.500117301940918,15.000022450683593Q5.450871581940918,15.000021450683594,5.402572121940918,14.990414450683593Q5.354272661940918,14.980806450683593,5.308775541940918,14.961960450683593Q5.263278451940918,14.943115450683594,5.222332161940918,14.915756450683594Q5.181385871940918,14.888397450683593,5.146563901940918,14.853574450683594Q5.111741931940918,14.818752450683593,5.084382488940918,14.777806450683594Q5.057023040940918,14.736860450683594,5.038177530940918,14.691363450683594Q5.019332019940918,14.645866450683593,5.009724660740918,14.597567450683593Q5.000117301940918,14.549268450683593,5.000117301940918,14.500022450683593ZM5.045039176940918,3.548906330683594Q5.045039176940918,3.1015625006835936,5.283039211940918,2.8637809706835937Q5.521039131940918,2.6259994506835938,5.969039081940918,2.6259994506835938L5.997039201940918,2.6259994506835938Q6.445039201940918,2.6259994506835938,6.6830393019409176,2.8637809706835937Q6.921039201940918,3.1015625006835936,6.921039201940918,3.548906330683594L6.921039201940918,9.010000250683593Q6.921039201940918,9.737999950683594,7.180039401940919,10.255999550683594Q7.439039201940918,10.774000150683595,7.908039101940918,11.053999950683593Q8.377039001940918,11.333999650683594,8.993039101940917,11.333999650683594Q9.609039301940918,11.333999650683594,10.085039101940918,11.060999850683594Q10.561039401940917,10.788000150683594,10.820039301940918,10.263000450683593Q11.079039101940918,9.737999950683594,11.079039101940918,9.010000250683593L11.079039101940918,3.548906330683594Q11.079039101940918,3.1015625006835936,11.317039501940918,2.8637809706835937Q11.555039401940917,2.6259994506835938,12.003039401940917,2.6259994506835938L12.031039201940917,2.6259994506835938Q12.479039201940918,2.6259994506835938,12.717039101940918,2.8637809706835937Q12.955039001940918,3.1015625006835936,12.955039001940918,3.548906330683594L12.955039001940918,9.010000250683593Q12.955039001940918,10.144000050683594,12.416039501940919,11.095999750683594Q11.877039901940918,12.048000350683594,10.967039101940918,12.600999850683595Q10.057039301940918,13.154000450683593,8.993039101940917,13.154000450683593Q7.929039001940918,13.154000450683593,7.0190392019409185,12.600999850683595Q6.109039201940918,12.048000350683594,5.577039361940918,11.095999750683594Q5.045039176940918,10.144000050683594,5.045039176940918,9.010000250683593L5.045039176940918,3.548906330683594Z" fill="#555555" fill-opacity="1"/></g></g></svg>`;
|
|
20380
|
+
const moreSVG = `<svg t="1756109058354" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11458" width="18" height="18"><path d="M512 320q-3.150769 0-6.301538-0.315077-3.111385-0.315077-6.183385-0.905846-3.072-0.630154-6.104615-1.536-2.993231-0.905846-5.907693-2.126769-2.914462-1.181538-5.671384-2.678154-2.756923-1.496615-5.395693-3.229539-2.599385-1.732923-5.04123-3.741538-2.441846-1.969231-4.647385-4.214154-2.244923-2.205538-4.214154-4.647385-1.969231-2.441846-3.741538-5.04123-1.732923-2.638769-3.229539-5.395693-1.496615-2.756923-2.678154-5.671384-1.181538-2.914462-2.126769-5.907693-0.905846-3.032615-1.536-6.104615-0.590769-3.072-0.905846-6.222769T448 256q0-3.150769 0.315077-6.301538 0.315077-3.111385 0.905846-6.183385 0.630154-3.072 1.536-6.104615 0.905846-2.993231 2.126769-5.907693 1.181538-2.914462 2.678154-5.671384 1.496615-2.756923 3.229539-5.395693 1.732923-2.599385 3.741538-5.04123 1.969231-2.441846 4.214154-4.647385 2.205538-2.205538 4.647385-4.214154 2.441846-1.969231 5.04123-3.741538 2.638769-1.732923 5.395693-3.229539 2.756923-1.496615 5.671384-2.678154 2.914462-1.181538 5.907693-2.126769 3.032615-0.905846 6.104615-1.536 3.072-0.590769 6.222769-0.905846T512 192q3.150769 0 6.301538 0.315077 3.111385 0.315077 6.183385 0.905846 3.072 0.630154 6.104615 1.536 2.993231 0.905846 5.907693 2.126769 2.914462 1.181538 5.671384 2.678154 2.756923 1.496615 5.395693 3.229539 2.599385 1.732923 5.04123 3.741538 2.441846 1.969231 4.647385 4.214154 2.205538 2.205538 4.214154 4.647385 1.969231 2.441846 3.741538 5.04123 1.732923 2.638769 3.229539 5.395693 1.496615 2.756923 2.678154 5.671384 1.181538 2.914462 2.126769 5.907693 0.905846 3.032615 1.536 6.104615 0.590769 3.072 0.905846 6.222769t0.315077 6.262154q0 3.150769-0.315077 6.301538-0.315077 3.111385-0.905846 6.183385-0.630154 3.072-1.536 6.104615-0.905846 2.993231-2.126769 5.907693-1.181538 2.914462-2.678154 5.671384-1.496615 2.756923-3.229539 5.395693-1.732923 2.599385-3.741538 5.04123-1.969231 2.441846-4.214154 4.647385-2.205538 2.244923-4.647385 4.214154-2.441846 1.969231-5.04123 3.741538-2.638769 1.732923-5.395693 3.229539-2.756923 1.496615-5.671384 2.678154-2.914462 1.181538-5.907693 2.126769-3.032615 0.905846-6.104615 1.536-3.072 0.590769-6.222769 0.905846T512 320z m0 256q-3.150769 0-6.301538-0.315077-3.111385-0.315077-6.183385-0.905846-3.072-0.630154-6.104615-1.536-2.993231-0.905846-5.907693-2.126769-2.914462-1.181538-5.671384-2.678154-2.756923-1.496615-5.395693-3.229539-2.599385-1.732923-5.04123-3.741538-2.441846-1.969231-4.647385-4.214154-2.244923-2.205538-4.214154-4.647385-1.969231-2.441846-3.741538-5.04123-1.732923-2.638769-3.229539-5.395693-1.496615-2.756923-2.678154-5.671384-1.181538-2.914462-2.126769-5.907693-0.905846-3.032615-1.536-6.104615-0.590769-3.072-0.905846-6.222769T448 512q0-3.150769 0.315077-6.301538 0.315077-3.111385 0.905846-6.183385 0.630154-3.072 1.536-6.104615 0.905846-2.993231 2.126769-5.907693 1.181538-2.914462 2.678154-5.671384 1.496615-2.756923 3.229539-5.395693 1.732923-2.599385 3.741538-5.04123 1.969231-2.441846 4.214154-4.647385 2.205538-2.244923 4.647385-4.214154 2.441846-1.969231 5.04123-3.741538 2.638769-1.732923 5.395693-3.229539 2.756923-1.496615 5.671384-2.678154 2.914462-1.181538 5.907693-2.126769 3.032615-0.905846 6.104615-1.536 3.072-0.590769 6.222769-0.905846T512 448q3.150769 0 6.301538 0.315077 3.111385 0.315077 6.183385 0.905846 3.072 0.630154 6.104615 1.536 2.993231 0.905846 5.907693 2.126769 2.914462 1.181538 5.671384 2.678154 2.756923 1.496615 5.395693 3.229539 2.599385 1.732923 5.04123 3.741538 2.441846 1.969231 4.647385 4.214154 2.205538 2.205538 4.214154 4.647385 1.969231 2.441846 3.741538 5.04123 1.732923 2.638769 3.229539 5.395693 1.496615 2.756923 2.678154 5.671384 1.181538 2.914462 2.126769 5.907693 0.905846 3.032615 1.536 6.104615 0.590769 3.072 0.905846 6.222769t0.315077 6.262154q0 3.150769-0.315077 6.301538-0.315077 3.111385-0.905846 6.183385-0.630154 3.072-1.536 6.104615-0.905846 2.993231-2.126769 5.907693-1.181538 2.914462-2.678154 5.671384-1.496615 2.756923-3.229539 5.395693-1.732923 2.599385-3.741538 5.04123-1.969231 2.441846-4.214154 4.647385-2.205538 2.244923-4.647385 4.214154-2.441846 1.969231-5.04123 3.741538-2.638769 1.732923-5.395693 3.229539-2.756923 1.496615-5.671384 2.678154-2.914462 1.181538-5.907693 2.126769-3.032615 0.905846-6.104615 1.536-3.072 0.590769-6.222769 0.905846T512 576z m0 256q-3.150769 0-6.301538-0.315077-3.111385-0.315077-6.183385-0.905846-3.072-0.630154-6.104615-1.536-2.993231-0.905846-5.907693-2.126769-2.914462-1.181538-5.671384-2.678154-2.756923-1.496615-5.395693-3.229539-2.599385-1.732923-5.04123-3.741538-2.441846-1.969231-4.647385-4.214154-2.244923-2.205538-4.214154-4.647385-1.969231-2.441846-3.741538-5.04123-1.732923-2.638769-3.229539-5.395693-1.496615-2.756923-2.678154-5.671384-1.181538-2.914462-2.126769-5.907693-0.905846-3.032615-1.536-6.104615-0.590769-3.072-0.905846-6.222769t-0.315077-6.262154q0-3.150769 0.315077-6.301538 0.315077-3.111385 0.905846-6.183385 0.630154-3.072 1.536-6.104615 0.905846-2.993231 2.126769-5.907693 1.181538-2.914462 2.678154-5.671384 1.496615-2.756923 3.229539-5.395693 1.732923-2.599385 3.741538-5.04123 1.969231-2.441846 4.214154-4.647385 2.205538-2.205538 4.647385-4.214154 2.441846-1.969231 5.04123-3.741538 2.638769-1.732923 5.395693-3.229539 2.756923-1.496615 5.671384-2.678154 2.914462-1.181538 5.907693-2.126769 3.032615-0.905846 6.104615-1.536 3.072-0.590769 6.222769-0.905846T512 704q3.150769 0 6.301538 0.315077 3.111385 0.315077 6.183385 0.905846 3.072 0.630154 6.104615 1.536 2.993231 0.905846 5.907693 2.126769 2.914462 1.181538 5.671384 2.678154 2.756923 1.496615 5.395693 3.229539 2.599385 1.732923 5.04123 3.741538 2.441846 1.969231 4.647385 4.214154 2.205538 2.205538 4.214154 4.647385 1.969231 2.441846 3.741538 5.04123 1.732923 2.638769 3.229539 5.395693 1.496615 2.756923 2.678154 5.671384 1.181538 2.914462 2.126769 5.907693 0.905846 3.032615 1.536 6.104615 0.590769 3.072 0.905846 6.222769t0.315077 6.262154q0 3.150769-0.315077 6.301538-0.315077 3.111385-0.905846 6.183385-0.630154 3.072-1.536 6.104615-0.905846 2.993231-2.126769 5.907693-1.181538 2.914462-2.678154 5.671384-1.496615 2.756923-3.229539 5.395693-1.732923 2.599385-3.741538 5.04123-1.969231 2.441846-4.214154 4.647385-2.205538 2.205538-4.647385 4.214154-2.441846 1.969231-5.04123 3.741538-2.638769 1.732923-5.395693 3.229539-2.756923 1.496615-5.671384 2.678154-2.914462 1.181538-5.907693 2.126769-3.032615 0.905846-6.104615 1.536-3.072 0.590769-6.222769 0.905846T512 832z" p-id="11459" fill="#555555"></path></svg>`;
|
|
20381
|
+
const linkSVG = `<svg t="1756107950494" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11245" width="18" height="18" style="padding:1px"><path d="M292.693333 564.906667L123.477333 395.648q-55.296-55.338667-54.272-134.4 1.066667-78.336 57.088-134.357333Q182.186667 70.912 260.608 69.845333q79.061333-1.066667 134.4 54.272l194.944 194.986667a40.533333 40.533333 0 0 1 0.938667 0.938667q54.4 55.04 53.333333 133.461333-1.066667 78.336-57.045333 134.357333a42.666667 42.666667 0 1 1-60.330667-60.330666q31.445333-31.488 32.042667-75.178667 0.597333-43.050667-29.269334-72.874667a44.458667 44.458667 0 0 1-0.853333-0.896l-194.133333-194.133333q-72.618667-72.618667-148.053334 2.773333-31.488 31.488-32.085333 75.178667-0.554667 43.050667 29.269333 72.874667l169.258667 169.301333a42.666667 42.666667 0 1 1-60.288 60.330667z m202.538667-69.674667a42.666667 42.666667 0 0 0-60.330667-60.373333q-55.978667 56.021333-57.045333 134.4-1.066667 79.018667 54.272 134.357333a40.362667 40.362667 0 0 0 0.981333 0.938667l1.706667 1.877333 194.986667 194.986667q55.338667 55.296 134.4 54.229333 78.336-1.066667 134.357333-57.045333 55.978667-56.021333 57.045333-134.4 1.066667-79.018667-54.272-134.357334l-169.258666-169.258666a42.666667 42.666667 0 1 0-60.373334 60.330666l169.301334 169.301334q29.866667 29.866667 29.269333 72.874666-0.597333 43.690667-32.042667 75.178667-31.488 31.445333-75.178666 32.042667-43.050667 0.597333-72.874667-29.269334l-194.986667-194.986666a39.68 39.68 0 0 0-0.981333-0.938667 43.52 43.52 0 0 0-1.749333-1.834667q-29.866667-29.866667-29.269334-72.917333 0.554667-43.690667 32.042667-75.136z" p-id="11246" fill="#555555"></path></svg>`;
|
|
20382
|
+
const undoSVG = `<svg t="1756107888940" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10819" width="18" height="18"><path d="M220.086857 374.893714l102.473143 102.473143c10.605714 10.642286 28.818286 3.108571 28.818286-11.922286v-77.275428h261.851428l8.009143 0.146286c98.048 3.364571 169.216 68.754286 169.216 160.182857 0 93.952-75.044571 160.365714-177.225143 160.365714H241.883429l-3.437715 0.256a25.307429 25.307429 0 0 0 3.437715 50.395429h371.346285l8.374857-0.146286c124.708571-3.657143 219.501714-90.148571 219.501715-210.834286 0-123.392-99.035429-211.017143-227.876572-211.017143h-261.851428V260.498286a16.896 16.896 0 0 0-28.818286-11.922286L220.086857 351.049143a16.896 16.896 0 0 0 0 23.844571z" p-id="10820" fill="#555555"></path></svg>`;
|
|
20383
|
+
const redoSVG = `<svg t="1756107908999" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11032" width="18" height="18"><path d="M836.205714 374.893714l-102.473143 102.473143a16.896 16.896 0 0 1-28.818285-11.922286v-77.275428h-261.851429l-8.045714 0.146286c-98.011429 3.364571-169.179429 68.754286-169.179429 160.182857 0 93.952 75.044571 160.365714 177.225143 160.365714h371.346286l3.437714 0.256a25.307429 25.307429 0 0 1-3.437714 50.395429H443.062857l-8.374857-0.146286c-124.708571-3.657143-219.501714-90.148571-219.501714-210.834286 0-123.392 99.035429-211.017143 227.84-211.017143h261.888V260.498286c0-15.030857 18.176-22.564571 28.818285-11.922286l102.473143 102.473143c6.582857 6.582857 6.582857 17.261714 0 23.844571z" p-id="11033" fill="#555555"></path></svg>`;
|
|
20384
|
+
const ocrSVG = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="15" viewBox="0 0 18 18"><g><g style="opacity:0;"><rect x="0" y="0" width="18" height="18" rx="0" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M3.0000245140625,2.6000244140625L5.5000243140625,2.6000244140625C5.8313951140625,2.6000244140625,6.1000242140625,2.3313953240625,6.1000242140625,2.0000244340625C6.1000242140625,1.6686535440624999,5.8313951140625,1.4000244140625,5.5000243140625,1.4000244140625L3.0000245140625,1.4000244140625Q2.3372827740625,1.4000244140625,1.8686535940625,1.8686535940625Q1.4000244140625,2.3372827740625,1.4000244140625,3.0000245140625L1.4000244140625,5.5000243140625C1.4000244140625,5.8313951140625,1.6686535440624999,6.1000242140625,2.0000244340625,6.1000242140625C2.3313953240625,6.1000242140625,2.6000244140625,5.8313951140625,2.6000244140625,5.5000243140625L2.6000244140625,3.0000245140625Q2.6000244140625,2.6000244140625,3.0000245140625,2.6000244140625ZM12.5000244140625,1.4000244140625L15.0000244140625,1.4000244140625Q15.6627664140625,1.4000244140625,16.1313954140625,1.8686538940625Q16.6000244140625,2.3372834940625,16.6000244140625,3.0000245140625L16.6000244140625,5.5000243140625C16.6000244140625,5.6591539140625,16.5368104140625,5.8117661140625,16.424288414062502,5.9242883140625C16.3117674140625,6.0368099140625,16.1591544140625,6.1000242140625,16.0000244140625,6.1000242140625C15.6686534140625,6.1000242140625,15.4000244140625,5.8313951140625,15.4000244140625,5.5000243140625L15.4000234140625,3.0000245140625Q15.4000234140625,2.6000244140625,15.0000244140625,2.6000244140625L12.5000244140625,2.6000244140625C12.1686534140625,2.6000244140625,11.9000244140625,2.3313953240625,11.9000244140625,2.0000244340625C11.9000244140625,1.6686535440624999,12.1686534140625,1.4000244140625,12.5000244140625,1.4000244140625ZM8.6239776140625,6.4719930140625C8.5439777140625,6.1512432140625,8.3999777140625,5.7421179140625,8.2479777140625,5.4212432140625L9.4959774140625,5.052368214062501C9.6959782140625,5.4293680140625,9.9199772140625,5.9346180140625,9.9999771140625,6.2714929140625L9.3519778140625,6.4719930140625L12.7119784140625,6.4719930140625L12.7119784140625,7.6079931140625L11.5039774140625,7.6079931140625C11.1279774140625,8.6968679140625,10.6159782140625,9.6014929140625,9.9599781140625,10.3461180140625C10.7599773140625,10.9224930140625,11.7279774140625,11.3468685140625,12.8879774140625,11.6029934140625C12.6239774140625,11.8592434140625,12.2799774140625,12.3716184140625,12.1039784140625,12.6918684140625C10.8719778140625,12.3716184140625,9.8719778140625,11.8752434140625,9.0479779140625,11.2107429140625C8.175977714062501,11.8992434140625,7.1199779140625,12.4036184140625,5.8559775140625,12.7558684140625C5.7279777140625,12.4757434140625,5.3759775140625,11.9312434140625,5.1519775140625,11.6591184140625C6.3759775140625,11.3868685140625,7.3839779140625,10.9706182140625,8.1839781140625,10.3781185140625C7.5199776140625,9.6094932140625,7.0079775140625,8.6888685140625,6.5919776140625,7.6079931140625L5.3279776140625,7.6079931140625L5.3279776140625,6.4719930140625L8.6239776140625,6.4719930140625ZM7.7999778140625,7.6079931140625C8.1119776140625,8.344617814062499,8.5359778140625,9.0011186140625,9.0719776140625,9.5694933140625C9.5439777140625,9.0251179140625,9.9199772140625,8.3766184140625,10.1919784140625,7.6079931140625L7.7999778140625,7.6079931140625ZM2.6000244140625,12.5000244140625L2.6000244140625,15.0000244140625Q2.6000244140625,15.4000234140625,3.0000245140625,15.4000234140625L5.5000243140625,15.4000234140625C5.8313951140625,15.4000244140625,6.1000242140625,15.6686534140625,6.1000242140625,16.0000244140625C6.1000242140625,16.3313964140625,5.8313951140625,16.6000254140625,5.5000243140625,16.6000254140625L5.4989548140625,16.6000244140625L3.0000245140625,16.6000244140625Q2.3372834940625,16.6000244140625,1.8686538940625,16.1313954140625Q1.4000244140625,15.6627664140625,1.4000244140625,15.0000244140625L1.4000244140625,12.5000244140625C1.4000244140625,12.1686534140625,1.6686535440624999,11.9000244140625,2.0000244340625,11.9000244140625C2.3313953240625,11.9000244140625,2.6000244140625,12.1686534140625,2.6000244140625,12.5000244140625ZM16.6000244140625,12.5010944140625L16.6000244140625,15.0000244140625Q16.6000244140625,15.6627654140625,16.1313954140625,16.1313954140625Q15.6627654140625,16.6000244140625,15.0000244140625,16.6000244140625L12.5000244140625,16.6000244140625C12.3408944140625,16.6000244140625,12.1882824140625,16.5368104140625,12.0757594140625,16.424288414062502C11.9632384140625,16.3117664140625,11.9000244140625,16.1591544140625,11.9000244140625,16.0000244140625C11.9000244140625,15.6686534140625,12.1686534140625,15.4000244140625,12.5000244140625,15.4000244140625L15.0000244140625,15.4000234140625Q15.4000234140625,15.4000234140625,15.4000234140625,15.0000244140625L15.4000234140625,12.5000244140625C15.4000244140625,12.1686534140625,15.6686534140625,11.9000244140625,16.0000244140625,11.9000244140625C16.3313964140625,11.9000244140625,16.6000254140625,12.1686534140625,16.6000254140625,12.5000244140625L16.6000244140625,12.5010944140625Z" fill-rule="evenodd" fill="#555555" fill-opacity="1"/></g></g></svg>`;
|
|
20385
|
+
const mathSVG = `<svg t="1756107836493" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10608" width="16" height="15"><path d="M877.454222 856.177778q4.835556-4.835556 7.395556-11.093334 2.616889-6.257778 2.616889-13.084444 0-3.413333-0.625778-6.656-0.682667-3.299556-1.991111-6.428444-1.251556-3.072-3.128889-5.859556-1.877333-2.844444-4.266667-5.176889-2.332444-2.389333-5.12-4.266667-2.844444-1.877333-5.916444-3.128888-3.128889-1.308444-6.428445-1.934223-3.299556-0.682667-6.656-0.682666-6.826667 0-13.084444 2.616889-6.257778 2.56-11.036445 7.395555l-54.044444 53.987556H253.155556l325.688888-325.745778q2.389333-2.389333 4.266667-5.12 1.877333-2.844444 3.128889-5.916445 1.308444-3.128889 1.934222-6.428444 0.682667-3.299556 0.682667-6.656 0-3.413333-0.682667-6.656-0.625778-3.299556-1.934222-6.428444-1.251556-3.072-3.128889-5.859556-1.877333-2.844444-4.266667-5.176889L253.155556 162.133333h522.126222l53.930666 53.987556q4.835556 4.835556 11.093334 7.395555 6.257778 2.616889 13.084444 2.616889 3.413333 0 6.656-0.682666 3.299556-0.625778 6.428445-1.934223 3.072-1.251556 5.859555-3.128888 2.844444-1.877333 5.176889-4.266667 2.389333-2.389333 4.266667-5.12 1.877333-2.844444 3.128889-5.916445 1.308444-3.128889 1.934222-6.428444 0.682667-3.299556 0.682667-6.656 0-6.826667-2.616889-13.084444-2.56-6.257778-7.395556-11.036445l-64-64q-4.778667-4.835556-11.036444-7.395555-6.257778-2.616889-13.084445-2.616889H170.666667q-6.826667 0-13.084445 2.616889-6.257778 2.56-11.036444 7.395555-2.389333 2.389333-4.266667 5.12-1.877333 2.844444-3.128889 5.916445-1.308444 3.128889-1.934222 6.428444-0.682667 3.299556-0.682667 6.656 0 3.413333 0.682667 6.656 0.625778 3.299556 1.934222 6.428444 1.251556 3.072 3.128889 5.859556 1.877333 2.844444 4.266667 5.176889L506.311111 512l-359.822222 359.879111q-4.835556 4.778667-7.395556 11.036445-2.616889 6.257778-2.616889 13.084444 0 3.413333 0.682667 6.656 0.625778 3.299556 1.934222 6.428444 1.251556 3.072 3.128889 5.859556 1.877333 2.844444 4.266667 5.176889 2.389333 2.389333 5.12 4.266667 2.844444 1.877333 5.916444 3.128888 3.128889 1.308444 6.428445 1.991112 3.299556 0.625778 6.656 0.625777h618.666666q6.826667 0 13.084445-2.616889 6.257778-2.56 11.036444-7.395555l64-63.943111z" p-id="10609" fill="#555555"></path></svg>`;
|
|
20386
|
+
const imageSVG = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="18" height="18" viewBox="0 0 18 18"><g><g style="opacity:0;"><rect x="0" y="0" width="18" height="18" rx="0" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M1.87471507,3.83578219Q1.5,4.18540478,1.5,4.6875L1.5,14.312503Q1.50000006,14.814598,1.874716,15.16422Q2.23459671,15.5,2.73684216,15.5L15.263157,15.5Q15.765403,15.5,16.125284,15.164218Q16.499999000000003,14.814597,16.499999000000003,14.312501L16.499999000000003,4.6875Q16.499999000000003,4.18540342,16.125284999999998,3.83578214Q15.765404,3.5,15.263157,3.5L2.73684216,3.5Q2.23459646,3.5,1.87471507,3.83578219ZM2.5,14.312503L2.5,4.6875Q2.5,4.5,2.73684216,4.5L15.263157,4.5Q15.5,4.5,15.5,4.6875L15.5,14.312501Q15.5,14.5,15.263157,14.5L2.73684216,14.5Q2.5,14.5,2.5,14.312503Z" fill-rule="evenodd" fill="#555555" fill-opacity="1" style="mix-blend-mode:passthrough"/></g><g><ellipse cx="5.4375" cy="7.4375" rx="0.4375" ry="0.4375" fill-opacity="0" stroke-opacity="1" stroke="#555555" fill="none" stroke-width="1" stroke-linecap="ROUND" stroke-linejoin="round" style="mix-blend-mode:passthrough"/></g><g><path d="M5.9053998,9.924615948146972L1.7143693,12.841608238146973Q1.61364189,12.911715538146973,1.55682093,13.020492338146973Q1.5,13.129269138146974,1.5,13.251992238146972L1.50000003,14.418008338146972Q1.50000003,14.876594038146973,1.84130602,15.195924738146973Q2.16843581,15.501991738146973,2.62437022,15.501991738146973L15.375628,15.501991738146973Q15.831564,15.501991738146973,16.158693,15.195924738146973Q16.5,14.876594038146973,16.5,14.418007838146973L16.5,13.251992238146972Q16.500000999999997,13.186988838146974,16.48338,13.124146438146973Q16.466759,13.061303638146972,16.434621,13.004799838146972Q16.402485,12.948296338146973,16.356969,12.901887938146972Q16.311453,12.855479738146972,16.255583,12.822251838146972L9.8796926,9.030259398146972Q9.842938400000001,9.008400078146973,9.8030057,8.993099628146974Q9.763073,8.977799118146972,9.721121799999999,8.969501908146972Q9.6791716,8.961204618146972,9.6364217,8.960151608146973Q9.5936708,8.959098578146973,9.551362000000001,8.965320438146973Q9.5090542,8.971542238146972,9.4684162,8.984858218146973Q9.427778199999999,8.998174158146973,9.3899918,9.018197478146973Q9.352206200000001,9.038220708146973,9.3183689,9.064369648146972Q9.284532500000001,9.090518598146973,9.2556267,9.122033748146972L7.6887164,10.830422738146973L6.4904227,9.934544588146972Q6.4273362,9.887379288146972,6.3528042,9.861893948146973Q6.2782726,9.836408678146972,6.1995153,9.835072038146972Q6.1207581,9.833735408146973,6.045404,9.856676968146973Q5.9700503000000005,9.879618528146972,5.9053998,9.924615948146972ZM2.5,13.513173138146973L2.50000006,14.418008338146972Q2.50000006,14.501992238146972,2.62437022,14.501992238146972L15.375628,14.501992238146972Q15.5,14.501992238146972,15.5,14.418007838146973L15.5,13.536368338146973L9.7178593,10.097503488146973L8.1200023,11.839632738146973Q8.0888524,11.873595438146973,8.052019600000001,11.901292338146973Q8.0151863,11.928988938146972,7.9739118,11.949486538146973Q7.9326363,11.969984038146972,7.88831,11.982591638146973Q7.8439837,11.995199238146974,7.7980995,11.999492138146973Q7.7522154,12.003785338146972,7.7063198,11.999619238146973Q7.6604242,11.995453338146973,7.6160631,11.982968338146973Q7.571702,11.970483338146973,7.5303702,11.950099938146973Q7.4890385,11.929716538146973,7.4521289,11.902122038146972L6.1805682,10.951467238146973L2.5,13.513173138146973Z" fill-rule="evenodd" fill="#555555" fill-opacity="1" style="mix-blend-mode:passthrough"/></g></g></svg>`;
|
|
20387
|
+
|
|
20388
|
+
const QuillEditor = vue.defineComponent({
|
|
20389
|
+
name: 'QuillEditor',
|
|
20390
|
+
inheritAttrs: false,
|
|
20391
|
+
props: {
|
|
20392
|
+
editorKey: {
|
|
20393
|
+
type: [String, Number],
|
|
20394
|
+
},
|
|
20395
|
+
content: {
|
|
20396
|
+
type: [String, Object],
|
|
20397
|
+
},
|
|
20398
|
+
contentType: {
|
|
20399
|
+
type: String,
|
|
20400
|
+
default: 'delta',
|
|
20401
|
+
validator: (value) => {
|
|
20402
|
+
return ['delta', 'html', 'text'].includes(value);
|
|
20403
|
+
},
|
|
20404
|
+
},
|
|
20405
|
+
enable: {
|
|
20406
|
+
type: Boolean,
|
|
20407
|
+
default: true,
|
|
20408
|
+
},
|
|
20409
|
+
readOnly: {
|
|
20410
|
+
type: Boolean,
|
|
20411
|
+
default: false,
|
|
20412
|
+
},
|
|
20413
|
+
placeholder: {
|
|
20414
|
+
type: String,
|
|
20415
|
+
required: false,
|
|
20416
|
+
default: "请输入内容"
|
|
20417
|
+
},
|
|
20418
|
+
toolbarMode: {
|
|
20419
|
+
type: String,
|
|
20420
|
+
default: "embedded",
|
|
20421
|
+
validator: (value) => {
|
|
20422
|
+
return ['fixed-top', 'embedded'].includes(value);
|
|
20423
|
+
},
|
|
20424
|
+
},
|
|
20425
|
+
needCollapse: {
|
|
20426
|
+
type: Boolean,
|
|
20427
|
+
default: false,
|
|
20428
|
+
},
|
|
20429
|
+
enableImageResize: {
|
|
20430
|
+
type: Boolean,
|
|
20431
|
+
default: true,
|
|
20432
|
+
},
|
|
20433
|
+
toolbarStyle: {
|
|
20434
|
+
type: Object,
|
|
20435
|
+
required: false,
|
|
20436
|
+
default: () => ({})
|
|
20437
|
+
},
|
|
20438
|
+
editorStyle: {
|
|
20439
|
+
type: Object,
|
|
20440
|
+
required: false,
|
|
20441
|
+
default: () => ({})
|
|
20442
|
+
},
|
|
20443
|
+
options: {
|
|
20444
|
+
type: Object,
|
|
20445
|
+
required: false,
|
|
20446
|
+
},
|
|
18922
20447
|
globalOptions: {
|
|
18923
20448
|
type: Object,
|
|
18924
20449
|
required: false,
|
|
@@ -18948,9 +20473,15 @@
|
|
|
18948
20473
|
const canUseLink = vue.ref(false);
|
|
18949
20474
|
const linkPosition = vue.ref({ top: 0, left: 0 });
|
|
18950
20475
|
const savedRange = vue.ref(null);
|
|
18951
|
-
const { setQuill,
|
|
20476
|
+
const { setQuill, removeQuillBlotFormatter, configureBlotFormatter, applyImageStyle, registerBlotFormatter, getBlotFormatterConfig } = useBlotFormatter(editor, props.enableImageResize);
|
|
18952
20477
|
const { setQuill: setLinkQuill, setHandleCustomLink, addLinkClickListener } = useLinkClick(editor);
|
|
18953
|
-
|
|
20478
|
+
vue.onMounted(() => {
|
|
20479
|
+
initialize();
|
|
20480
|
+
});
|
|
20481
|
+
vue.onBeforeUnmount(() => {
|
|
20482
|
+
removeQuillBlotFormatter();
|
|
20483
|
+
quill = null;
|
|
20484
|
+
});
|
|
18954
20485
|
let quill;
|
|
18955
20486
|
let options;
|
|
18956
20487
|
const editorWrapClass = vue.computed(() => {
|
|
@@ -19048,6 +20579,55 @@
|
|
|
19048
20579
|
}
|
|
19049
20580
|
}
|
|
19050
20581
|
};
|
|
20582
|
+
const initialize = () => {
|
|
20583
|
+
var _a;
|
|
20584
|
+
if (!editor.value)
|
|
20585
|
+
return;
|
|
20586
|
+
if (props.enableImageResize) {
|
|
20587
|
+
registerBlotFormatter();
|
|
20588
|
+
}
|
|
20589
|
+
options = composeOptions();
|
|
20590
|
+
setIcons();
|
|
20591
|
+
quill = new Quill(editor.value, options);
|
|
20592
|
+
setQuill(quill);
|
|
20593
|
+
setLinkQuill(quill);
|
|
20594
|
+
controlToolbarVisible(false);
|
|
20595
|
+
setContents(props.content);
|
|
20596
|
+
quill.on('text-change', handleTextChange);
|
|
20597
|
+
quill.on('selection-change', handleSelectionChange);
|
|
20598
|
+
quill.on('editor-change', handleEditorChange);
|
|
20599
|
+
quill.on('text-change', updateHistoryState);
|
|
20600
|
+
quill.on('selection-change', updateHistoryState);
|
|
20601
|
+
addLinkClickListener();
|
|
20602
|
+
updateHistoryState();
|
|
20603
|
+
const toolbarDom = (_a = quill.getModule('toolbar')) === null || _a === void 0 ? void 0 : _a.container;
|
|
20604
|
+
vue.nextTick(() => {
|
|
20605
|
+
const customLinkBtn = toolbarDom.querySelector('.ql-customLink');
|
|
20606
|
+
if (customLinkBtn) {
|
|
20607
|
+
customLinkBtn.addEventListener('click', (e) => {
|
|
20608
|
+
e.preventDefault();
|
|
20609
|
+
e.stopPropagation();
|
|
20610
|
+
if (canUseLink.value) {
|
|
20611
|
+
handleCustomLink(true);
|
|
20612
|
+
}
|
|
20613
|
+
});
|
|
20614
|
+
}
|
|
20615
|
+
});
|
|
20616
|
+
const tooltipInput = toolbarDom.querySelector('.ql-tooltip input');
|
|
20617
|
+
if (tooltipInput) {
|
|
20618
|
+
vue.nextTick(() => {
|
|
20619
|
+
tooltipInput.setAttribute('placeholder', props.placeholder);
|
|
20620
|
+
});
|
|
20621
|
+
}
|
|
20622
|
+
if (!props.needCollapse && props.toolbarStyle) {
|
|
20623
|
+
applyToolbarStyle();
|
|
20624
|
+
}
|
|
20625
|
+
applyEditorStyle();
|
|
20626
|
+
if (props.enableImageResize) {
|
|
20627
|
+
configureBlotFormatter();
|
|
20628
|
+
}
|
|
20629
|
+
ctx.emit('ready', quill);
|
|
20630
|
+
};
|
|
19051
20631
|
const composeOptions = () => {
|
|
19052
20632
|
const clientOptions = {};
|
|
19053
20633
|
clientOptions.theme = 'snow';
|
|
@@ -19100,7 +20680,7 @@
|
|
|
19100
20680
|
if (props.enableImageResize) {
|
|
19101
20681
|
const blotFormatterConfig = getBlotFormatterConfig();
|
|
19102
20682
|
if (Object.keys(blotFormatterConfig).length > 0) {
|
|
19103
|
-
clientOptions.modules = Object.assign({}, clientOptions.modules, blotFormatterConfig
|
|
20683
|
+
clientOptions.modules = Object.assign({}, clientOptions.modules, blotFormatterConfig);
|
|
19104
20684
|
}
|
|
19105
20685
|
}
|
|
19106
20686
|
return Object.assign({}, props.globalOptions, props.options, clientOptions);
|
|
@@ -19166,6 +20746,9 @@
|
|
|
19166
20746
|
if (isEditorFocus.value) {
|
|
19167
20747
|
controlToolbarVisible(true);
|
|
19168
20748
|
}
|
|
20749
|
+
else {
|
|
20750
|
+
controlToolbarVisible(false);
|
|
20751
|
+
}
|
|
19169
20752
|
ctx.emit('selectionChange', { range, oldRange, source });
|
|
19170
20753
|
};
|
|
19171
20754
|
vue.watch(isEditorFocus, (focus) => {
|
|
@@ -19263,6 +20846,14 @@
|
|
|
19263
20846
|
const focus = () => {
|
|
19264
20847
|
quill === null || quill === void 0 ? void 0 : quill.focus();
|
|
19265
20848
|
};
|
|
20849
|
+
const reinit = () => {
|
|
20850
|
+
vue.nextTick(() => {
|
|
20851
|
+
var _a;
|
|
20852
|
+
if (!ctx.slots.toolbar && quill)
|
|
20853
|
+
(_a = quill.getModule('toolbar')) === null || _a === void 0 ? void 0 : _a.container.remove();
|
|
20854
|
+
initialize();
|
|
20855
|
+
});
|
|
20856
|
+
};
|
|
19266
20857
|
const moreToolbarToolClick = (tool) => {
|
|
19267
20858
|
var _a, _b;
|
|
19268
20859
|
if (!quill)
|
|
@@ -19373,91 +20964,6 @@
|
|
|
19373
20964
|
if (quill)
|
|
19374
20965
|
quill.enable(newValue);
|
|
19375
20966
|
});
|
|
19376
|
-
const initialize = () => {
|
|
19377
|
-
var _a;
|
|
19378
|
-
if (!editor.value)
|
|
19379
|
-
return;
|
|
19380
|
-
options = composeOptions();
|
|
19381
|
-
setIcons();
|
|
19382
|
-
quill = new Quill(editor.value, options);
|
|
19383
|
-
if (props.enableImageResize) {
|
|
19384
|
-
registerBlotFormatter();
|
|
19385
|
-
}
|
|
19386
|
-
setQuill(quill);
|
|
19387
|
-
setLinkQuill(quill);
|
|
19388
|
-
controlToolbarVisible(false);
|
|
19389
|
-
setContents(props.content);
|
|
19390
|
-
quill.on('text-change', handleTextChange);
|
|
19391
|
-
quill.on('selection-change', handleSelectionChange);
|
|
19392
|
-
quill.on('editor-change', handleEditorChange);
|
|
19393
|
-
quill.on('text-change', updateHistoryState);
|
|
19394
|
-
quill.on('selection-change', updateHistoryState);
|
|
19395
|
-
addLinkClickListener();
|
|
19396
|
-
const toolbarClickHandler = (event) => {
|
|
19397
|
-
var _a;
|
|
19398
|
-
const target = event.target;
|
|
19399
|
-
const clickedEditorContainer = target.closest('.quill-editor-container');
|
|
19400
|
-
if (clickedEditorContainer) {
|
|
19401
|
-
const currentEditorContainer = (_a = editor.value) === null || _a === void 0 ? void 0 : _a.closest('.quill-editor-container');
|
|
19402
|
-
if (clickedEditorContainer === currentEditorContainer) {
|
|
19403
|
-
controlToolbarVisible(true);
|
|
19404
|
-
}
|
|
19405
|
-
else {
|
|
19406
|
-
controlToolbarVisible(false);
|
|
19407
|
-
}
|
|
19408
|
-
}
|
|
19409
|
-
else {
|
|
19410
|
-
controlToolbarVisible(false);
|
|
19411
|
-
}
|
|
19412
|
-
};
|
|
19413
|
-
addClickHandler(toolbarClickHandler);
|
|
19414
|
-
addClickHandler(handleBlotFormatterClick);
|
|
19415
|
-
addClickHandler(() => {
|
|
19416
|
-
handleCustomLink(false);
|
|
19417
|
-
});
|
|
19418
|
-
updateHistoryState();
|
|
19419
|
-
const toolbarDom = (_a = quill.getModule('toolbar')) === null || _a === void 0 ? void 0 : _a.container;
|
|
19420
|
-
vue.nextTick(() => {
|
|
19421
|
-
const customLinkBtn = toolbarDom.querySelector('.ql-customLink');
|
|
19422
|
-
if (customLinkBtn) {
|
|
19423
|
-
customLinkBtn.addEventListener('click', (e) => {
|
|
19424
|
-
e.preventDefault();
|
|
19425
|
-
e.stopPropagation();
|
|
19426
|
-
if (canUseLink.value) {
|
|
19427
|
-
handleCustomLink(true);
|
|
19428
|
-
}
|
|
19429
|
-
});
|
|
19430
|
-
}
|
|
19431
|
-
});
|
|
19432
|
-
const tooltipInput = toolbarDom.querySelector('.ql-tooltip input');
|
|
19433
|
-
if (tooltipInput) {
|
|
19434
|
-
vue.nextTick(() => {
|
|
19435
|
-
tooltipInput.setAttribute('placeholder', props.placeholder);
|
|
19436
|
-
});
|
|
19437
|
-
}
|
|
19438
|
-
if (!props.needCollapse && props.toolbarStyle) {
|
|
19439
|
-
applyToolbarStyle();
|
|
19440
|
-
}
|
|
19441
|
-
applyEditorStyle();
|
|
19442
|
-
if (props.enableImageResize) {
|
|
19443
|
-
configureBlotFormatter();
|
|
19444
|
-
}
|
|
19445
|
-
ctx.emit('ready', quill);
|
|
19446
|
-
};
|
|
19447
|
-
const reinit = () => {
|
|
19448
|
-
vue.nextTick(() => {
|
|
19449
|
-
var _a;
|
|
19450
|
-
if (!ctx.slots.toolbar && quill)
|
|
19451
|
-
(_a = quill.getModule('toolbar')) === null || _a === void 0 ? void 0 : _a.container.remove();
|
|
19452
|
-
initialize();
|
|
19453
|
-
});
|
|
19454
|
-
};
|
|
19455
|
-
vue.onMounted(() => {
|
|
19456
|
-
initialize();
|
|
19457
|
-
});
|
|
19458
|
-
vue.onBeforeUnmount(() => {
|
|
19459
|
-
quill = null;
|
|
19460
|
-
});
|
|
19461
20967
|
return {
|
|
19462
20968
|
editor,
|
|
19463
20969
|
editorWrapClass,
|
|
@@ -19489,7 +20995,9 @@
|
|
|
19489
20995
|
render() {
|
|
19490
20996
|
return [
|
|
19491
20997
|
vue.h('div', {
|
|
19492
|
-
class: this.editorWrapClass
|
|
20998
|
+
class: this.editorWrapClass, onClick: () => {
|
|
20999
|
+
this.handleCustomLink(false);
|
|
21000
|
+
}
|
|
19493
21001
|
}, [
|
|
19494
21002
|
this.$props.needCollapse && this.$props.editorKey && vue.h(MoreToolbar, {
|
|
19495
21003
|
editorKey: String(this.$props.editorKey),
|