pxx-vue-quill 1.0.16 → 1.0.18
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.cjs.js +237 -50
- package/dist/vue-quill.cjs.prod.js +2 -2
- package/dist/vue-quill.esm-browser.js +504 -333
- package/dist/vue-quill.esm-browser.prod.js +2 -2
- package/dist/vue-quill.esm-bundler.js +238 -51
- package/dist/vue-quill.esm-bundler.prod.js +2 -2
- package/dist/vue-quill.global.js +361 -182
- package/dist/vue-quill.global.prod.js +2 -2
- package/dist/vue-quill.snow.css +49 -8
- package/dist/vue-quill.snow.prod.css +1 -1
- package/package.json +1 -1
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Copyright (c) 2025 Pxx-Team
|
|
9
9
|
* Released under the MIT license
|
|
10
|
-
* Date: 2025-08-
|
|
10
|
+
* Date: 2025-08-26T02:18:21.558Z
|
|
11
11
|
*/
|
|
12
|
-
import { defineComponent, onMounted, onBeforeUnmount, ref, computed, watch, nextTick
|
|
12
|
+
import { defineComponent, h, onMounted, onBeforeUnmount, ref, computed, watch, nextTick } from 'vue';
|
|
13
13
|
|
|
14
14
|
var global$1 = (typeof global !== "undefined" ? global :
|
|
15
15
|
typeof self !== "undefined" ? self :
|
|
@@ -18437,19 +18437,31 @@ var Delta_1 = Delta;
|
|
|
18437
18437
|
var Delta$1 = Delta_1;
|
|
18438
18438
|
|
|
18439
18439
|
const toolbarOptions = {
|
|
18440
|
+
// 完整的工具栏
|
|
18440
18441
|
full: [
|
|
18441
|
-
// ['bold', 'italic', 'underline', 'strike'], // toggled buttons
|
|
18442
18442
|
['bold', 'italic', 'underline'],
|
|
18443
|
+
[{ color: [] }],
|
|
18444
|
+
['link'],
|
|
18443
18445
|
[{ list: 'ordered' }, { list: 'bullet' }],
|
|
18444
|
-
// [{ direction: 'rtl' }], // text direction
|
|
18445
|
-
// [{ size: ['small', false, 'large', 'huge'] }], // custom dropdown
|
|
18446
|
-
// [{ header: [1, 2, 3, 4, 5, 6, false] }],
|
|
18447
|
-
[{ color: [] }, { background: [] }],
|
|
18448
|
-
// [{ font: [] }],
|
|
18449
|
-
// [{ align: [] }],
|
|
18450
18446
|
['image'],
|
|
18451
|
-
|
|
18447
|
+
['undo', 'redo'],
|
|
18448
|
+
['math'],
|
|
18449
|
+
['ocr'],
|
|
18452
18450
|
],
|
|
18451
|
+
// 如果编辑器宽度不够,就显示短的工具栏
|
|
18452
|
+
short: [
|
|
18453
|
+
['bold', 'italic', 'underline'],
|
|
18454
|
+
[{ color: [] }],
|
|
18455
|
+
['link'],
|
|
18456
|
+
['more']
|
|
18457
|
+
],
|
|
18458
|
+
// 点击更多显示的第二栏工具
|
|
18459
|
+
extend: [
|
|
18460
|
+
[{ list: 'ordered' }, { list: 'bullet' }],
|
|
18461
|
+
['image'],
|
|
18462
|
+
['undo', 'redo'],
|
|
18463
|
+
['math'],
|
|
18464
|
+
]
|
|
18453
18465
|
};
|
|
18454
18466
|
|
|
18455
18467
|
var dist = {};
|
|
@@ -18780,11 +18792,11 @@ Object.defineProperty(DefaultAligner$1, "__esModule", {
|
|
|
18780
18792
|
value: true
|
|
18781
18793
|
});
|
|
18782
18794
|
|
|
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; }; }();
|
|
18795
|
+
var _createClass$2 = 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
18796
|
|
|
18785
18797
|
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; }
|
|
18786
18798
|
|
|
18787
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
18799
|
+
function _classCallCheck$2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
18788
18800
|
|
|
18789
18801
|
var LEFT_ALIGN = 'left';
|
|
18790
18802
|
var CENTER_ALIGN = 'center';
|
|
@@ -18795,7 +18807,7 @@ var DefaultAligner = function () {
|
|
|
18795
18807
|
var _this = this,
|
|
18796
18808
|
_alignments;
|
|
18797
18809
|
|
|
18798
|
-
_classCallCheck(this, DefaultAligner);
|
|
18810
|
+
_classCallCheck$2(this, DefaultAligner);
|
|
18799
18811
|
|
|
18800
18812
|
this.applyStyle = options.aligner.applyStyle;
|
|
18801
18813
|
this.alignAttribute = options.attribute;
|
|
@@ -18823,7 +18835,7 @@ var DefaultAligner = function () {
|
|
|
18823
18835
|
}), _alignments);
|
|
18824
18836
|
}
|
|
18825
18837
|
|
|
18826
|
-
_createClass(DefaultAligner, [{
|
|
18838
|
+
_createClass$2(DefaultAligner, [{
|
|
18827
18839
|
key: 'getAlignments',
|
|
18828
18840
|
value: function getAlignments() {
|
|
18829
18841
|
var _this2 = this;
|
|
@@ -19126,190 +19138,182 @@ function requireAlignAction () {
|
|
|
19126
19138
|
return AlignAction;
|
|
19127
19139
|
}
|
|
19128
19140
|
|
|
19129
|
-
var ResizeAction = {};
|
|
19141
|
+
var ResizeAction$1 = {};
|
|
19130
19142
|
|
|
19131
|
-
|
|
19143
|
+
Object.defineProperty(ResizeAction$1, "__esModule", {
|
|
19144
|
+
value: true
|
|
19145
|
+
});
|
|
19132
19146
|
|
|
19133
|
-
function
|
|
19134
|
-
if (hasRequiredResizeAction) return ResizeAction;
|
|
19135
|
-
hasRequiredResizeAction = 1;
|
|
19147
|
+
var _createClass$1 = 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; }; }();
|
|
19136
19148
|
|
|
19137
|
-
|
|
19138
|
-
value: true
|
|
19139
|
-
});
|
|
19149
|
+
var _Action2 = requireAction();
|
|
19140
19150
|
|
|
19141
|
-
|
|
19151
|
+
var _Action3 = _interopRequireDefault$1(_Action2);
|
|
19142
19152
|
|
|
19143
|
-
|
|
19153
|
+
var _BlotFormatter$1 = requireBlotFormatter();
|
|
19144
19154
|
|
|
19145
|
-
|
|
19155
|
+
_interopRequireDefault$1(_BlotFormatter$1);
|
|
19146
19156
|
|
|
19147
|
-
|
|
19157
|
+
function _interopRequireDefault$1(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19148
19158
|
|
|
19149
|
-
|
|
19159
|
+
function _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
19150
19160
|
|
|
19151
|
-
|
|
19161
|
+
function _possibleConstructorReturn$1(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; }
|
|
19152
19162
|
|
|
19153
|
-
|
|
19163
|
+
function _inherits$1(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; }
|
|
19154
19164
|
|
|
19155
|
-
|
|
19165
|
+
var ResizeAction = function (_Action) {
|
|
19166
|
+
_inherits$1(ResizeAction, _Action);
|
|
19156
19167
|
|
|
19157
|
-
|
|
19158
|
-
|
|
19159
|
-
var ResizeAction$1 = function (_Action) {
|
|
19160
|
-
_inherits(ResizeAction, _Action);
|
|
19168
|
+
function ResizeAction(formatter) {
|
|
19169
|
+
_classCallCheck$1(this, ResizeAction);
|
|
19161
19170
|
|
|
19162
|
-
|
|
19163
|
-
_classCallCheck(this, ResizeAction);
|
|
19171
|
+
var _this = _possibleConstructorReturn$1(this, (ResizeAction.__proto__ || Object.getPrototypeOf(ResizeAction)).call(this, formatter));
|
|
19164
19172
|
|
|
19165
|
-
|
|
19173
|
+
_this.onMouseDown = function (event) {
|
|
19174
|
+
if (!(event.target instanceof HTMLElement)) {
|
|
19175
|
+
return;
|
|
19176
|
+
}
|
|
19177
|
+
_this.dragHandle = event.target;
|
|
19178
|
+
_this.setCursor(_this.dragHandle.style.cursor);
|
|
19166
19179
|
|
|
19167
|
-
|
|
19168
|
-
|
|
19169
|
-
|
|
19170
|
-
}
|
|
19171
|
-
_this.dragHandle = event.target;
|
|
19172
|
-
_this.setCursor(_this.dragHandle.style.cursor);
|
|
19180
|
+
if (!_this.formatter.currentSpec) {
|
|
19181
|
+
return;
|
|
19182
|
+
}
|
|
19173
19183
|
|
|
19174
|
-
|
|
19175
|
-
|
|
19176
|
-
|
|
19184
|
+
var target = _this.formatter.currentSpec.getTargetElement();
|
|
19185
|
+
if (!target) {
|
|
19186
|
+
return;
|
|
19187
|
+
}
|
|
19177
19188
|
|
|
19178
|
-
|
|
19179
|
-
if (!target) {
|
|
19180
|
-
return;
|
|
19181
|
-
}
|
|
19189
|
+
var rect = target.getBoundingClientRect();
|
|
19182
19190
|
|
|
19183
|
-
|
|
19191
|
+
_this.dragStartX = event.clientX;
|
|
19192
|
+
_this.preDragWidth = rect.width;
|
|
19193
|
+
_this.targetRatio = rect.height / rect.width;
|
|
19184
19194
|
|
|
19185
|
-
|
|
19186
|
-
|
|
19187
|
-
|
|
19195
|
+
document.addEventListener('mousemove', _this.onDrag);
|
|
19196
|
+
document.addEventListener('mouseup', _this.onMouseUp);
|
|
19197
|
+
};
|
|
19188
19198
|
|
|
19189
|
-
|
|
19190
|
-
|
|
19191
|
-
|
|
19199
|
+
_this.onDrag = function (event) {
|
|
19200
|
+
if (!_this.formatter.currentSpec) {
|
|
19201
|
+
return;
|
|
19202
|
+
}
|
|
19192
19203
|
|
|
19193
|
-
|
|
19194
|
-
|
|
19195
|
-
|
|
19196
|
-
|
|
19204
|
+
var target = _this.formatter.currentSpec.getTargetElement();
|
|
19205
|
+
if (!target) {
|
|
19206
|
+
return;
|
|
19207
|
+
}
|
|
19197
19208
|
|
|
19198
|
-
|
|
19199
|
-
|
|
19200
|
-
return;
|
|
19201
|
-
}
|
|
19209
|
+
var deltaX = event.clientX - _this.dragStartX;
|
|
19210
|
+
var newWidth = 0;
|
|
19202
19211
|
|
|
19203
|
-
|
|
19204
|
-
|
|
19212
|
+
if (_this.dragHandle === _this.topLeftHandle || _this.dragHandle === _this.bottomLeftHandle) {
|
|
19213
|
+
newWidth = Math.round(_this.preDragWidth - deltaX);
|
|
19214
|
+
} else {
|
|
19215
|
+
newWidth = Math.round(_this.preDragWidth + deltaX);
|
|
19216
|
+
}
|
|
19205
19217
|
|
|
19206
|
-
|
|
19207
|
-
newWidth = Math.round(_this.preDragWidth - deltaX);
|
|
19208
|
-
} else {
|
|
19209
|
-
newWidth = Math.round(_this.preDragWidth + deltaX);
|
|
19210
|
-
}
|
|
19218
|
+
var newHeight = _this.targetRatio * newWidth;
|
|
19211
19219
|
|
|
19212
|
-
|
|
19220
|
+
target.setAttribute('width', '' + newWidth);
|
|
19221
|
+
target.setAttribute('height', '' + newHeight);
|
|
19213
19222
|
|
|
19214
|
-
|
|
19215
|
-
|
|
19223
|
+
_this.formatter.update();
|
|
19224
|
+
};
|
|
19216
19225
|
|
|
19217
|
-
|
|
19218
|
-
|
|
19226
|
+
_this.onMouseUp = function () {
|
|
19227
|
+
_this.setCursor('');
|
|
19228
|
+
document.removeEventListener('mousemove', _this.onDrag);
|
|
19229
|
+
document.removeEventListener('mouseup', _this.onMouseUp);
|
|
19230
|
+
};
|
|
19219
19231
|
|
|
19220
|
-
|
|
19221
|
-
|
|
19222
|
-
|
|
19223
|
-
|
|
19224
|
-
|
|
19232
|
+
_this.topLeftHandle = _this.createHandle('top-left', 'nwse-resize');
|
|
19233
|
+
_this.topRightHandle = _this.createHandle('top-right', 'nesw-resize');
|
|
19234
|
+
_this.bottomRightHandle = _this.createHandle('bottom-right', 'nwse-resize');
|
|
19235
|
+
_this.bottomLeftHandle = _this.createHandle('bottom-left', 'nesw-resize');
|
|
19236
|
+
_this.dragHandle = null;
|
|
19237
|
+
_this.dragStartX = 0;
|
|
19238
|
+
_this.preDragWidth = 0;
|
|
19239
|
+
_this.targetRatio = 0;
|
|
19240
|
+
return _this;
|
|
19241
|
+
}
|
|
19225
19242
|
|
|
19226
|
-
|
|
19227
|
-
|
|
19228
|
-
|
|
19229
|
-
|
|
19230
|
-
|
|
19231
|
-
|
|
19232
|
-
|
|
19233
|
-
_this.targetRatio = 0;
|
|
19234
|
-
return _this;
|
|
19235
|
-
}
|
|
19243
|
+
_createClass$1(ResizeAction, [{
|
|
19244
|
+
key: 'onCreate',
|
|
19245
|
+
value: function onCreate() {
|
|
19246
|
+
this.formatter.overlay.appendChild(this.topLeftHandle);
|
|
19247
|
+
this.formatter.overlay.appendChild(this.topRightHandle);
|
|
19248
|
+
this.formatter.overlay.appendChild(this.bottomRightHandle);
|
|
19249
|
+
this.formatter.overlay.appendChild(this.bottomLeftHandle);
|
|
19236
19250
|
|
|
19237
|
-
|
|
19238
|
-
|
|
19239
|
-
|
|
19240
|
-
|
|
19241
|
-
|
|
19242
|
-
|
|
19243
|
-
|
|
19244
|
-
|
|
19245
|
-
|
|
19246
|
-
|
|
19247
|
-
|
|
19248
|
-
|
|
19249
|
-
|
|
19250
|
-
|
|
19251
|
-
|
|
19252
|
-
|
|
19253
|
-
|
|
19254
|
-
|
|
19255
|
-
|
|
19256
|
-
|
|
19257
|
-
|
|
19258
|
-
|
|
19259
|
-
var box = document.createElement('div');
|
|
19260
|
-
box.classList.add(this.formatter.options.resize.handleClassName);
|
|
19261
|
-
box.setAttribute('data-position', position);
|
|
19262
|
-
box.style.cursor = cursor;
|
|
19263
|
-
|
|
19264
|
-
if (this.formatter.options.resize.handleStyle) {
|
|
19265
|
-
Object.assign(box.style, this.formatter.options.resize.handleStyle);
|
|
19266
|
-
}
|
|
19251
|
+
this.repositionHandles(this.formatter.options.resize.handleStyle);
|
|
19252
|
+
}
|
|
19253
|
+
}, {
|
|
19254
|
+
key: 'onDestroy',
|
|
19255
|
+
value: function onDestroy() {
|
|
19256
|
+
this.setCursor('');
|
|
19257
|
+
this.formatter.overlay.removeChild(this.topLeftHandle);
|
|
19258
|
+
this.formatter.overlay.removeChild(this.topRightHandle);
|
|
19259
|
+
this.formatter.overlay.removeChild(this.bottomRightHandle);
|
|
19260
|
+
this.formatter.overlay.removeChild(this.bottomLeftHandle);
|
|
19261
|
+
}
|
|
19262
|
+
}, {
|
|
19263
|
+
key: 'createHandle',
|
|
19264
|
+
value: function createHandle(position, cursor) {
|
|
19265
|
+
var box = document.createElement('div');
|
|
19266
|
+
box.classList.add(this.formatter.options.resize.handleClassName);
|
|
19267
|
+
box.setAttribute('data-position', position);
|
|
19268
|
+
box.style.cursor = cursor;
|
|
19269
|
+
|
|
19270
|
+
if (this.formatter.options.resize.handleStyle) {
|
|
19271
|
+
Object.assign(box.style, this.formatter.options.resize.handleStyle);
|
|
19272
|
+
}
|
|
19267
19273
|
|
|
19268
|
-
|
|
19274
|
+
box.addEventListener('mousedown', this.onMouseDown);
|
|
19269
19275
|
|
|
19270
|
-
|
|
19271
|
-
|
|
19272
|
-
|
|
19273
|
-
|
|
19274
|
-
|
|
19275
|
-
|
|
19276
|
-
|
|
19277
|
-
|
|
19278
|
-
|
|
19279
|
-
|
|
19280
|
-
|
|
19281
|
-
|
|
19282
|
-
|
|
19283
|
-
|
|
19284
|
-
|
|
19276
|
+
return box;
|
|
19277
|
+
}
|
|
19278
|
+
}, {
|
|
19279
|
+
key: 'repositionHandles',
|
|
19280
|
+
value: function repositionHandles(handleStyle) {
|
|
19281
|
+
var handleXOffset = '0px';
|
|
19282
|
+
var handleYOffset = '0px';
|
|
19283
|
+
if (handleStyle) {
|
|
19284
|
+
if (handleStyle.width) {
|
|
19285
|
+
handleXOffset = -parseFloat(handleStyle.width) / 2 + 'px';
|
|
19286
|
+
}
|
|
19287
|
+
if (handleStyle.height) {
|
|
19288
|
+
handleYOffset = -parseFloat(handleStyle.height) / 2 + 'px';
|
|
19289
|
+
}
|
|
19290
|
+
}
|
|
19285
19291
|
|
|
19286
|
-
|
|
19287
|
-
|
|
19288
|
-
|
|
19289
|
-
|
|
19290
|
-
|
|
19291
|
-
|
|
19292
|
-
|
|
19293
|
-
|
|
19294
|
-
|
|
19295
|
-
|
|
19296
|
-
|
|
19292
|
+
Object.assign(this.topLeftHandle.style, { left: handleXOffset, top: handleYOffset });
|
|
19293
|
+
Object.assign(this.topRightHandle.style, { right: handleXOffset, top: handleYOffset });
|
|
19294
|
+
Object.assign(this.bottomRightHandle.style, { right: handleXOffset, bottom: handleYOffset });
|
|
19295
|
+
Object.assign(this.bottomLeftHandle.style, { left: handleXOffset, bottom: handleYOffset });
|
|
19296
|
+
}
|
|
19297
|
+
}, {
|
|
19298
|
+
key: 'setCursor',
|
|
19299
|
+
value: function setCursor(value) {
|
|
19300
|
+
if (document.body) {
|
|
19301
|
+
document.body.style.cursor = value;
|
|
19302
|
+
}
|
|
19297
19303
|
|
|
19298
|
-
|
|
19299
|
-
|
|
19300
|
-
|
|
19301
|
-
|
|
19302
|
-
|
|
19303
|
-
|
|
19304
|
-
|
|
19305
|
-
|
|
19304
|
+
if (this.formatter.currentSpec) {
|
|
19305
|
+
var target = this.formatter.currentSpec.getOverlayElement();
|
|
19306
|
+
if (target) {
|
|
19307
|
+
target.style.cursor = value;
|
|
19308
|
+
}
|
|
19309
|
+
}
|
|
19310
|
+
}
|
|
19311
|
+
}]);
|
|
19306
19312
|
|
|
19307
|
-
|
|
19308
|
-
|
|
19313
|
+
return ResizeAction;
|
|
19314
|
+
}(_Action3.default);
|
|
19309
19315
|
|
|
19310
|
-
|
|
19311
|
-
return ResizeAction;
|
|
19312
|
-
}
|
|
19316
|
+
ResizeAction$1.default = ResizeAction;
|
|
19313
19317
|
|
|
19314
19318
|
var DeleteAction = {};
|
|
19315
19319
|
|
|
@@ -19416,7 +19420,7 @@ function requireBlotSpec () {
|
|
|
19416
19420
|
|
|
19417
19421
|
var _AlignAction2 = _interopRequireDefault(_AlignAction);
|
|
19418
19422
|
|
|
19419
|
-
var _ResizeAction =
|
|
19423
|
+
var _ResizeAction = ResizeAction$1;
|
|
19420
19424
|
|
|
19421
19425
|
var _ResizeAction2 = _interopRequireDefault(_ResizeAction);
|
|
19422
19426
|
|
|
@@ -19548,156 +19552,148 @@ function requireImageSpec () {
|
|
|
19548
19552
|
|
|
19549
19553
|
var IframeVideoSpec = {};
|
|
19550
19554
|
|
|
19551
|
-
var UnclickableBlotSpec = {};
|
|
19552
|
-
|
|
19553
|
-
var hasRequiredUnclickableBlotSpec;
|
|
19555
|
+
var UnclickableBlotSpec$1 = {};
|
|
19554
19556
|
|
|
19555
|
-
|
|
19556
|
-
|
|
19557
|
-
|
|
19558
|
-
|
|
19559
|
-
Object.defineProperty(UnclickableBlotSpec, "__esModule", {
|
|
19560
|
-
value: true
|
|
19561
|
-
});
|
|
19562
|
-
|
|
19563
|
-
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; }; }();
|
|
19557
|
+
Object.defineProperty(UnclickableBlotSpec$1, "__esModule", {
|
|
19558
|
+
value: true
|
|
19559
|
+
});
|
|
19564
19560
|
|
|
19565
|
-
|
|
19561
|
+
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; }; }();
|
|
19566
19562
|
|
|
19567
|
-
|
|
19563
|
+
var _BlotSpec2 = requireBlotSpec();
|
|
19568
19564
|
|
|
19569
|
-
|
|
19565
|
+
var _BlotSpec3 = _interopRequireDefault(_BlotSpec2);
|
|
19570
19566
|
|
|
19571
|
-
|
|
19567
|
+
var _BlotFormatter = requireBlotFormatter();
|
|
19572
19568
|
|
|
19573
|
-
|
|
19569
|
+
_interopRequireDefault(_BlotFormatter);
|
|
19574
19570
|
|
|
19575
|
-
|
|
19571
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19576
19572
|
|
|
19577
|
-
|
|
19573
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
19578
19574
|
|
|
19579
|
-
|
|
19575
|
+
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; }
|
|
19580
19576
|
|
|
19581
|
-
|
|
19582
|
-
var PROXY_IMAGE_CLASS = 'blot-formatter__proxy-image';
|
|
19577
|
+
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; }
|
|
19583
19578
|
|
|
19584
|
-
|
|
19585
|
-
|
|
19579
|
+
var MOUSE_ENTER_ATTRIBUTE = 'data-blot-formatter-unclickable-bound';
|
|
19580
|
+
var PROXY_IMAGE_CLASS = 'blot-formatter__proxy-image';
|
|
19586
19581
|
|
|
19587
|
-
|
|
19588
|
-
|
|
19582
|
+
var UnclickableBlotSpec = function (_BlotSpec) {
|
|
19583
|
+
_inherits(UnclickableBlotSpec, _BlotSpec);
|
|
19589
19584
|
|
|
19590
|
-
|
|
19585
|
+
function UnclickableBlotSpec(formatter, selector) {
|
|
19586
|
+
_classCallCheck(this, UnclickableBlotSpec);
|
|
19591
19587
|
|
|
19592
|
-
|
|
19593
|
-
Array.from(document.querySelectorAll(_this.selector + ':not([' + MOUSE_ENTER_ATTRIBUTE + '])')).forEach(function (unclickable) {
|
|
19594
|
-
unclickable.setAttribute(MOUSE_ENTER_ATTRIBUTE, 'true');
|
|
19595
|
-
unclickable.addEventListener('mouseenter', _this.onMouseEnter);
|
|
19596
|
-
});
|
|
19597
|
-
};
|
|
19588
|
+
var _this = _possibleConstructorReturn(this, (UnclickableBlotSpec.__proto__ || Object.getPrototypeOf(UnclickableBlotSpec)).call(this, formatter));
|
|
19598
19589
|
|
|
19599
|
-
|
|
19600
|
-
|
|
19601
|
-
|
|
19602
|
-
|
|
19603
|
-
|
|
19590
|
+
_this.onTextChange = function () {
|
|
19591
|
+
Array.from(document.querySelectorAll(_this.selector + ':not([' + MOUSE_ENTER_ATTRIBUTE + '])')).forEach(function (unclickable) {
|
|
19592
|
+
unclickable.setAttribute(MOUSE_ENTER_ATTRIBUTE, 'true');
|
|
19593
|
+
unclickable.addEventListener('mouseenter', _this.onMouseEnter);
|
|
19594
|
+
});
|
|
19595
|
+
};
|
|
19604
19596
|
|
|
19605
|
-
|
|
19606
|
-
|
|
19607
|
-
|
|
19597
|
+
_this.onMouseEnter = function (event) {
|
|
19598
|
+
var unclickable = event.target;
|
|
19599
|
+
if (!(unclickable instanceof HTMLElement)) {
|
|
19600
|
+
return;
|
|
19601
|
+
}
|
|
19608
19602
|
|
|
19609
|
-
|
|
19610
|
-
|
|
19611
|
-
|
|
19612
|
-
_this.formatter.show(_this);
|
|
19613
|
-
_this.hideProxyImage();
|
|
19614
|
-
};
|
|
19603
|
+
_this.nextUnclickable = unclickable;
|
|
19604
|
+
_this.repositionProxyImage(_this.nextUnclickable);
|
|
19605
|
+
};
|
|
19615
19606
|
|
|
19616
|
-
|
|
19617
|
-
|
|
19618
|
-
|
|
19619
|
-
|
|
19620
|
-
|
|
19607
|
+
_this.onProxyImageClick = function () {
|
|
19608
|
+
_this.unclickable = _this.nextUnclickable;
|
|
19609
|
+
_this.nextUnclickable = null;
|
|
19610
|
+
_this.formatter.show(_this);
|
|
19611
|
+
_this.hideProxyImage();
|
|
19612
|
+
};
|
|
19621
19613
|
|
|
19622
|
-
|
|
19623
|
-
|
|
19624
|
-
|
|
19625
|
-
|
|
19626
|
-
|
|
19627
|
-
it's important that this is attached to the body instead of the root quill element.
|
|
19628
|
-
this prevents the click event from overlapping with ImageSpec
|
|
19629
|
-
*/
|
|
19630
|
-
document.body.appendChild(this.createProxyImage());
|
|
19631
|
-
}
|
|
19614
|
+
_this.selector = selector;
|
|
19615
|
+
_this.unclickable = null;
|
|
19616
|
+
_this.nextUnclickable = null;
|
|
19617
|
+
return _this;
|
|
19618
|
+
}
|
|
19632
19619
|
|
|
19633
|
-
|
|
19634
|
-
|
|
19635
|
-
|
|
19636
|
-
|
|
19637
|
-
|
|
19638
|
-
|
|
19639
|
-
|
|
19640
|
-
|
|
19641
|
-
|
|
19642
|
-
|
|
19643
|
-
key: 'getOverlayElement',
|
|
19644
|
-
value: function getOverlayElement() {
|
|
19645
|
-
return this.unclickable;
|
|
19646
|
-
}
|
|
19647
|
-
}, {
|
|
19648
|
-
key: 'onHide',
|
|
19649
|
-
value: function onHide() {
|
|
19650
|
-
this.hideProxyImage();
|
|
19651
|
-
this.nextUnclickable = null;
|
|
19652
|
-
this.unclickable = null;
|
|
19653
|
-
}
|
|
19654
|
-
}, {
|
|
19655
|
-
key: 'createProxyImage',
|
|
19656
|
-
value: function createProxyImage() {
|
|
19657
|
-
var canvas = document.createElement('canvas');
|
|
19658
|
-
var context = canvas.getContext('2d');
|
|
19659
|
-
context.globalAlpha = 0;
|
|
19660
|
-
context.fillRect(0, 0, 1, 1);
|
|
19661
|
-
|
|
19662
|
-
this.proxyImage = document.createElement('img');
|
|
19663
|
-
this.proxyImage.src = canvas.toDataURL('image/png');
|
|
19664
|
-
this.proxyImage.classList.add(PROXY_IMAGE_CLASS);
|
|
19665
|
-
|
|
19666
|
-
Object.assign(this.proxyImage.style, {
|
|
19667
|
-
position: 'absolute',
|
|
19668
|
-
margin: '0'
|
|
19669
|
-
});
|
|
19620
|
+
_createClass(UnclickableBlotSpec, [{
|
|
19621
|
+
key: 'init',
|
|
19622
|
+
value: function init() {
|
|
19623
|
+
if (document.body) {
|
|
19624
|
+
/*
|
|
19625
|
+
it's important that this is attached to the body instead of the root quill element.
|
|
19626
|
+
this prevents the click event from overlapping with ImageSpec
|
|
19627
|
+
*/
|
|
19628
|
+
document.body.appendChild(this.createProxyImage());
|
|
19629
|
+
}
|
|
19670
19630
|
|
|
19671
|
-
|
|
19672
|
-
|
|
19673
|
-
|
|
19674
|
-
|
|
19675
|
-
|
|
19676
|
-
|
|
19677
|
-
|
|
19678
|
-
|
|
19679
|
-
|
|
19680
|
-
|
|
19681
|
-
|
|
19682
|
-
|
|
19683
|
-
|
|
19631
|
+
this.hideProxyImage();
|
|
19632
|
+
this.proxyImage.addEventListener('click', this.onProxyImageClick);
|
|
19633
|
+
this.formatter.quill.on('text-change', this.onTextChange);
|
|
19634
|
+
}
|
|
19635
|
+
}, {
|
|
19636
|
+
key: 'getTargetElement',
|
|
19637
|
+
value: function getTargetElement() {
|
|
19638
|
+
return this.unclickable;
|
|
19639
|
+
}
|
|
19640
|
+
}, {
|
|
19641
|
+
key: 'getOverlayElement',
|
|
19642
|
+
value: function getOverlayElement() {
|
|
19643
|
+
return this.unclickable;
|
|
19644
|
+
}
|
|
19645
|
+
}, {
|
|
19646
|
+
key: 'onHide',
|
|
19647
|
+
value: function onHide() {
|
|
19648
|
+
this.hideProxyImage();
|
|
19649
|
+
this.nextUnclickable = null;
|
|
19650
|
+
this.unclickable = null;
|
|
19651
|
+
}
|
|
19652
|
+
}, {
|
|
19653
|
+
key: 'createProxyImage',
|
|
19654
|
+
value: function createProxyImage() {
|
|
19655
|
+
var canvas = document.createElement('canvas');
|
|
19656
|
+
var context = canvas.getContext('2d');
|
|
19657
|
+
context.globalAlpha = 0;
|
|
19658
|
+
context.fillRect(0, 0, 1, 1);
|
|
19659
|
+
|
|
19660
|
+
this.proxyImage = document.createElement('img');
|
|
19661
|
+
this.proxyImage.src = canvas.toDataURL('image/png');
|
|
19662
|
+
this.proxyImage.classList.add(PROXY_IMAGE_CLASS);
|
|
19663
|
+
|
|
19664
|
+
Object.assign(this.proxyImage.style, {
|
|
19665
|
+
position: 'absolute',
|
|
19666
|
+
margin: '0'
|
|
19667
|
+
});
|
|
19684
19668
|
|
|
19685
|
-
|
|
19686
|
-
|
|
19687
|
-
|
|
19688
|
-
|
|
19689
|
-
|
|
19690
|
-
|
|
19691
|
-
|
|
19692
|
-
|
|
19693
|
-
|
|
19669
|
+
return this.proxyImage;
|
|
19670
|
+
}
|
|
19671
|
+
}, {
|
|
19672
|
+
key: 'hideProxyImage',
|
|
19673
|
+
value: function hideProxyImage() {
|
|
19674
|
+
Object.assign(this.proxyImage.style, {
|
|
19675
|
+
display: 'none'
|
|
19676
|
+
});
|
|
19677
|
+
}
|
|
19678
|
+
}, {
|
|
19679
|
+
key: 'repositionProxyImage',
|
|
19680
|
+
value: function repositionProxyImage(unclickable) {
|
|
19681
|
+
var rect = unclickable.getBoundingClientRect();
|
|
19682
|
+
|
|
19683
|
+
Object.assign(this.proxyImage.style, {
|
|
19684
|
+
display: 'block',
|
|
19685
|
+
left: rect.left + window.pageXOffset + 'px',
|
|
19686
|
+
top: rect.top + window.pageYOffset + 'px',
|
|
19687
|
+
width: rect.width + 'px',
|
|
19688
|
+
height: rect.height + 'px'
|
|
19689
|
+
});
|
|
19690
|
+
}
|
|
19691
|
+
}]);
|
|
19694
19692
|
|
|
19695
|
-
|
|
19696
|
-
|
|
19693
|
+
return UnclickableBlotSpec;
|
|
19694
|
+
}(_BlotSpec3.default);
|
|
19697
19695
|
|
|
19698
|
-
|
|
19699
|
-
return UnclickableBlotSpec;
|
|
19700
|
-
}
|
|
19696
|
+
UnclickableBlotSpec$1.default = UnclickableBlotSpec;
|
|
19701
19697
|
|
|
19702
19698
|
var hasRequiredIframeVideoSpec;
|
|
19703
19699
|
|
|
@@ -19709,7 +19705,7 @@ function requireIframeVideoSpec () {
|
|
|
19709
19705
|
value: true
|
|
19710
19706
|
});
|
|
19711
19707
|
|
|
19712
|
-
var _UnclickableBlotSpec2 =
|
|
19708
|
+
var _UnclickableBlotSpec2 = UnclickableBlotSpec$1;
|
|
19713
19709
|
|
|
19714
19710
|
var _UnclickableBlotSpec3 = _interopRequireDefault(_UnclickableBlotSpec2);
|
|
19715
19711
|
|
|
@@ -19909,7 +19905,7 @@ function requireOptions () {
|
|
|
19909
19905
|
}
|
|
19910
19906
|
});
|
|
19911
19907
|
|
|
19912
|
-
var _ResizeAction =
|
|
19908
|
+
var _ResizeAction = ResizeAction$1;
|
|
19913
19909
|
|
|
19914
19910
|
Object.defineProperty(exports, 'ResizeAction', {
|
|
19915
19911
|
enumerable: true,
|
|
@@ -19936,7 +19932,7 @@ function requireOptions () {
|
|
|
19936
19932
|
}
|
|
19937
19933
|
});
|
|
19938
19934
|
|
|
19939
|
-
var _UnclickableBlotSpec =
|
|
19935
|
+
var _UnclickableBlotSpec = UnclickableBlotSpec$1;
|
|
19940
19936
|
|
|
19941
19937
|
Object.defineProperty(exports, 'UnclickableBlotSpec', {
|
|
19942
19938
|
enumerable: true,
|
|
@@ -19959,6 +19955,123 @@ function requireOptions () {
|
|
|
19959
19955
|
|
|
19960
19956
|
var BlotFormatter = /*@__PURE__*/getDefaultExportFromCjs(dist);
|
|
19961
19957
|
|
|
19958
|
+
// 加粗
|
|
19959
|
+
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>`;
|
|
19960
|
+
// 斜体
|
|
19961
|
+
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>`;
|
|
19962
|
+
// 下划线
|
|
19963
|
+
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>`;
|
|
19964
|
+
// 更多
|
|
19965
|
+
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>`;
|
|
19966
|
+
// 链接
|
|
19967
|
+
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>`;
|
|
19968
|
+
// 撤销
|
|
19969
|
+
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>`;
|
|
19970
|
+
// 重做
|
|
19971
|
+
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>`;
|
|
19972
|
+
// 图片识别
|
|
19973
|
+
const ocrSVG = `<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="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>`;
|
|
19974
|
+
// 数学公式
|
|
19975
|
+
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="18" height="18"><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>`;
|
|
19976
|
+
// 无序列表
|
|
19977
|
+
const listBulletSVG = `<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="6" x2="15" y1="4" y2="4"/><line class="ql-stroke" x1="6" x2="15" y1="9" y2="9"/><line class="ql-stroke" x1="6" x2="15" y1="14" y2="14"/><line class="ql-stroke" x1="3" x2="3" y1="4" y2="4"/><line class="ql-stroke" x1="3" x2="3" y1="9" y2="9"/><line class="ql-stroke" x1="3" x2="3" y1="14" y2="14"/></svg>`;
|
|
19978
|
+
// 有序列表
|
|
19979
|
+
const listOrderedSVG = `<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="7" x2="15" y1="4" y2="4"/><line class="ql-stroke" x1="7" x2="15" y1="9" y2="9"/><line class="ql-stroke" x1="7" x2="15" y1="14" y2="14"/><line class="ql-stroke ql-thin" x1="2.5" x2="4.5" y1="5.5" y2="5.5"/><path class="ql-fill" d="M3.5,6A0.5,0.5,0,0,1,3,5.5V3.085l-0.276.138A0.5,0.5,0,0,1,2.053,3c-0.124-.247-0.023-0.324.224-0.447l1-.5A0.5,0.5,0,0,1,4,2.5v3A0.5,0.5,0,0,1,3.5,6Z"/><path class="ql-stroke ql-thin" d="M4.5,10.5h-2c0-.234,1.85-1.076,1.85-2.234A0.959,0.959,0,0,0,2.5,8.156"/><path class="ql-stroke ql-thin" d="M2.5,14.846a0.959,0.959,0,0,0,1.85-.109A0.7,0.7,0,0,0,3.75,14a0.688,0.688,0,0,0,.6-0.736,0.959,0.959,0,0,0-1.85-.109"/></svg>`;
|
|
19980
|
+
// 图片
|
|
19981
|
+
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>`;
|
|
19982
|
+
|
|
19983
|
+
const MoreTools = defineComponent({
|
|
19984
|
+
name: 'MoreTools',
|
|
19985
|
+
props: {
|
|
19986
|
+
// 传入toolbar的自定义style
|
|
19987
|
+
toolbarStyle: {
|
|
19988
|
+
type: Object,
|
|
19989
|
+
required: false,
|
|
19990
|
+
default: () => ({})
|
|
19991
|
+
},
|
|
19992
|
+
needCollapse: {
|
|
19993
|
+
type: Boolean,
|
|
19994
|
+
default: false
|
|
19995
|
+
},
|
|
19996
|
+
onToolClick: {
|
|
19997
|
+
type: Function,
|
|
19998
|
+
required: true
|
|
19999
|
+
}
|
|
20000
|
+
},
|
|
20001
|
+
setup(props) {
|
|
20002
|
+
// 渲染工具按钮
|
|
20003
|
+
const renderToolButton = (tool) => {
|
|
20004
|
+
if (typeof tool === 'string') {
|
|
20005
|
+
// 根据工具名称获取对应的SVG图标
|
|
20006
|
+
let iconSVG = '';
|
|
20007
|
+
switch (tool) {
|
|
20008
|
+
case 'image':
|
|
20009
|
+
iconSVG = imageSVG;
|
|
20010
|
+
break;
|
|
20011
|
+
case 'undo':
|
|
20012
|
+
iconSVG = undoSVG;
|
|
20013
|
+
break;
|
|
20014
|
+
case 'redo':
|
|
20015
|
+
iconSVG = redoSVG;
|
|
20016
|
+
break;
|
|
20017
|
+
case 'ocr':
|
|
20018
|
+
iconSVG = ocrSVG;
|
|
20019
|
+
break;
|
|
20020
|
+
case 'math':
|
|
20021
|
+
iconSVG = mathSVG;
|
|
20022
|
+
break;
|
|
20023
|
+
default:
|
|
20024
|
+
iconSVG = '';
|
|
20025
|
+
}
|
|
20026
|
+
return h('button', {
|
|
20027
|
+
class: `ql-${tool}`,
|
|
20028
|
+
type: 'button',
|
|
20029
|
+
onClick: () => props.onToolClick(tool)
|
|
20030
|
+
}, [
|
|
20031
|
+
iconSVG ? h('span', { innerHTML: iconSVG }) : null
|
|
20032
|
+
]);
|
|
20033
|
+
}
|
|
20034
|
+
else if (typeof tool === 'object' && tool !== null) {
|
|
20035
|
+
const toolName = Object.keys(tool)[0];
|
|
20036
|
+
const toolValue = Object.values(tool)[0];
|
|
20037
|
+
let iconSVG = '';
|
|
20038
|
+
if (toolName === 'list') {
|
|
20039
|
+
iconSVG = toolValue === 'ordered' ? listOrderedSVG : listBulletSVG;
|
|
20040
|
+
}
|
|
20041
|
+
return h('button', {
|
|
20042
|
+
class: `ql-${toolName}`,
|
|
20043
|
+
'data-value': toolValue,
|
|
20044
|
+
type: 'button',
|
|
20045
|
+
onClick: () => props.onToolClick(`${toolName}-${toolValue}`)
|
|
20046
|
+
}, [
|
|
20047
|
+
iconSVG ? h('span', { innerHTML: iconSVG }) : null
|
|
20048
|
+
]);
|
|
20049
|
+
}
|
|
20050
|
+
return null;
|
|
20051
|
+
};
|
|
20052
|
+
// 渲染工具组
|
|
20053
|
+
const renderToolGroup = (tools) => {
|
|
20054
|
+
return h('span', {
|
|
20055
|
+
class: 'ql-formats'
|
|
20056
|
+
}, tools.map(tool => renderToolButton(tool)));
|
|
20057
|
+
};
|
|
20058
|
+
return () => h('div', {
|
|
20059
|
+
class: 'ql-toolbar ql-snow more-tools',
|
|
20060
|
+
style: props.toolbarStyle
|
|
20061
|
+
}, [
|
|
20062
|
+
h('div', {
|
|
20063
|
+
class: 'more-tools-item'
|
|
20064
|
+
}, [
|
|
20065
|
+
// 渲染所有工具组
|
|
20066
|
+
...toolbarOptions.extend.map(toolGroup => renderToolGroup(toolGroup)),
|
|
20067
|
+
]),
|
|
20068
|
+
h('div', {}, [
|
|
20069
|
+
renderToolGroup(['ocr'])
|
|
20070
|
+
])
|
|
20071
|
+
]);
|
|
20072
|
+
}
|
|
20073
|
+
});
|
|
20074
|
+
|
|
19962
20075
|
const QuillEditor = defineComponent({
|
|
19963
20076
|
name: 'QuillEditor',
|
|
19964
20077
|
inheritAttrs: false,
|
|
@@ -20002,6 +20115,22 @@ const QuillEditor = defineComponent({
|
|
|
20002
20115
|
return ['fixed-top', 'embedded'].includes(value);
|
|
20003
20116
|
},
|
|
20004
20117
|
},
|
|
20118
|
+
needCollapse: {
|
|
20119
|
+
type: Boolean,
|
|
20120
|
+
default: true,
|
|
20121
|
+
},
|
|
20122
|
+
// 传入toolbar的自定义style
|
|
20123
|
+
toolbarStyle: {
|
|
20124
|
+
type: Object,
|
|
20125
|
+
required: false,
|
|
20126
|
+
default: () => ({})
|
|
20127
|
+
},
|
|
20128
|
+
// 编辑器输入内容的自定义style
|
|
20129
|
+
editorStyle: {
|
|
20130
|
+
type: Object,
|
|
20131
|
+
required: false,
|
|
20132
|
+
default: () => ({})
|
|
20133
|
+
},
|
|
20005
20134
|
theme: {
|
|
20006
20135
|
type: String,
|
|
20007
20136
|
default: 'snow',
|
|
@@ -20063,41 +20192,55 @@ const QuillEditor = defineComponent({
|
|
|
20063
20192
|
let quill;
|
|
20064
20193
|
let options;
|
|
20065
20194
|
const editor = ref();
|
|
20195
|
+
const showMoreToolbar = ref(false);
|
|
20066
20196
|
const editorWrapClass = computed(() => {
|
|
20067
20197
|
return {
|
|
20068
20198
|
'quill-editor-container': true,
|
|
20069
20199
|
'need-border': props.needBorder,
|
|
20200
|
+
'more-toolbar': showMoreToolbar.value,
|
|
20070
20201
|
'fixed-top': props.toolbarMode === 'fixed-top',
|
|
20071
20202
|
'embedded': props.toolbarMode === 'embedded',
|
|
20072
20203
|
};
|
|
20073
20204
|
});
|
|
20074
|
-
//
|
|
20075
|
-
const
|
|
20076
|
-
|
|
20077
|
-
|
|
20205
|
+
// 应用自定义toolbar样式,目前通过改dom的形式,因为h函数没有暴露更深的dom,无法绑定真正的toolbar
|
|
20206
|
+
const applyToolbarStyle = () => {
|
|
20207
|
+
var _a;
|
|
20208
|
+
if (quill && props.toolbarStyle) {
|
|
20209
|
+
const toolbar = (_a = quill.getModule('toolbar')) === null || _a === void 0 ? void 0 : _a.container;
|
|
20210
|
+
if (toolbar) {
|
|
20211
|
+
Object.assign(toolbar.style, props.toolbarStyle);
|
|
20212
|
+
}
|
|
20213
|
+
}
|
|
20214
|
+
};
|
|
20215
|
+
// 应用自定义editor样式,目前通过改dom的形式,因为h函数没有暴露更深的dom,无法绑定真正的editor
|
|
20216
|
+
const applyEditorStyle = () => {
|
|
20217
|
+
var _a;
|
|
20218
|
+
if (quill && props.editorStyle) {
|
|
20219
|
+
const editorElement = (_a = editor.value) === null || _a === void 0 ? void 0 : _a.querySelector('.ql-editor');
|
|
20078
20220
|
if (editorElement) {
|
|
20079
|
-
editorElement.style
|
|
20221
|
+
Object.assign(editorElement.style, props.editorStyle);
|
|
20080
20222
|
}
|
|
20081
20223
|
}
|
|
20082
20224
|
};
|
|
20083
|
-
// 监听
|
|
20084
|
-
watch(() => props.
|
|
20225
|
+
// 监听 toolbarStyle 变化
|
|
20226
|
+
watch(() => props.toolbarStyle, () => {
|
|
20085
20227
|
nextTick(() => {
|
|
20086
|
-
|
|
20228
|
+
applyToolbarStyle();
|
|
20229
|
+
});
|
|
20230
|
+
});
|
|
20231
|
+
// 监听 editorStyle 变化
|
|
20232
|
+
watch(() => props.editorStyle, () => {
|
|
20233
|
+
nextTick(() => {
|
|
20234
|
+
applyEditorStyle();
|
|
20087
20235
|
});
|
|
20088
20236
|
});
|
|
20089
|
-
// Register Module if not already registered
|
|
20090
20237
|
const registerModule = (moduleName, module) => {
|
|
20091
|
-
// For Quill 1.x, we can't check if module is already registered
|
|
20092
|
-
// So we'll just register it directly
|
|
20093
20238
|
Quill.register(moduleName, module);
|
|
20094
20239
|
};
|
|
20095
|
-
// Initialize Quill
|
|
20096
20240
|
const initialize = () => {
|
|
20097
20241
|
var _a, _b;
|
|
20098
20242
|
if (!editor.value)
|
|
20099
20243
|
return;
|
|
20100
|
-
// Create new Quill instance
|
|
20101
20244
|
quill = new Quill(editor.value, options);
|
|
20102
20245
|
// 初始隐藏toolbar
|
|
20103
20246
|
const toolbar = (_a = quill === null || quill === void 0 ? void 0 : quill.getModule('toolbar')) === null || _a === void 0 ? void 0 : _a.container;
|
|
@@ -20105,10 +20248,17 @@ const QuillEditor = defineComponent({
|
|
|
20105
20248
|
toolbar.style.display = 'none';
|
|
20106
20249
|
}
|
|
20107
20250
|
const icons = Quill.import('ui/icons');
|
|
20108
|
-
icons['
|
|
20109
|
-
icons['
|
|
20251
|
+
icons['bold'] = boldSVG;
|
|
20252
|
+
icons['italic'] = italicSVG;
|
|
20253
|
+
icons['underline'] = underlineSVG;
|
|
20254
|
+
icons['more'] = moreSVG;
|
|
20255
|
+
icons['link'] = linkSVG;
|
|
20256
|
+
icons['undo'] = undoSVG;
|
|
20257
|
+
icons['redo'] = redoSVG;
|
|
20258
|
+
icons['ocr'] = ocrSVG;
|
|
20259
|
+
icons['math'] = mathSVG;
|
|
20260
|
+
icons['image'] = imageSVG;
|
|
20110
20261
|
options = composeOptions();
|
|
20111
|
-
// Register modules
|
|
20112
20262
|
if (props.modules) {
|
|
20113
20263
|
if (Array.isArray(props.modules)) {
|
|
20114
20264
|
for (const module of props.modules) {
|
|
@@ -20119,27 +20269,23 @@ const QuillEditor = defineComponent({
|
|
|
20119
20269
|
registerModule(`modules/${props.modules.name}`, props.modules.module);
|
|
20120
20270
|
}
|
|
20121
20271
|
}
|
|
20122
|
-
// Create new Quill instance
|
|
20123
20272
|
quill = new Quill(editor.value, options);
|
|
20124
|
-
// Set editor content
|
|
20125
20273
|
setContents(props.content);
|
|
20126
|
-
// Set event handlers
|
|
20127
20274
|
quill.on('text-change', handleTextChange);
|
|
20128
20275
|
quill.on('selection-change', handleSelectionChange);
|
|
20129
20276
|
quill.on('editor-change', handleEditorChange);
|
|
20130
|
-
// Remove editor class when theme changes
|
|
20131
20277
|
if (props.theme !== 'bubble')
|
|
20132
20278
|
editor.value.classList.remove('ql-bubble');
|
|
20133
20279
|
if (props.theme !== 'snow')
|
|
20134
20280
|
editor.value.classList.remove('ql-snow');
|
|
20135
|
-
// Fix clicking the quill toolbar is detected as blur event
|
|
20136
20281
|
(_b = quill
|
|
20137
20282
|
.getModule('toolbar')) === null || _b === void 0 ? void 0 : _b.container.addEventListener('mousedown', (e) => {
|
|
20138
20283
|
e.preventDefault();
|
|
20139
20284
|
});
|
|
20140
|
-
//
|
|
20141
|
-
|
|
20142
|
-
//
|
|
20285
|
+
// 应用初始toolbar样式
|
|
20286
|
+
applyToolbarStyle();
|
|
20287
|
+
// 应用初始editor样式
|
|
20288
|
+
applyEditorStyle();
|
|
20143
20289
|
ctx.emit('ready', quill);
|
|
20144
20290
|
};
|
|
20145
20291
|
// Compose Options
|
|
@@ -20154,21 +20300,32 @@ const QuillEditor = defineComponent({
|
|
|
20154
20300
|
if (props.toolbar && props.toolbar !== '') {
|
|
20155
20301
|
clientOptions.modules = {
|
|
20156
20302
|
toolbar: {
|
|
20157
|
-
|
|
20303
|
+
// 需要展开的话显示完整的工具栏
|
|
20304
|
+
container: props.needCollapse ? [
|
|
20158
20305
|
...toolbarOptions.full,
|
|
20159
|
-
|
|
20160
|
-
|
|
20306
|
+
] : [
|
|
20307
|
+
...toolbarOptions.short,
|
|
20161
20308
|
],
|
|
20162
20309
|
handlers: {
|
|
20310
|
+
redo: function () {
|
|
20311
|
+
var _a;
|
|
20312
|
+
(_a = quill === null || quill === void 0 ? void 0 : quill.getModule('history')) === null || _a === void 0 ? void 0 : _a.redo();
|
|
20313
|
+
},
|
|
20314
|
+
undo: function () {
|
|
20315
|
+
var _a;
|
|
20316
|
+
(_a = quill === null || quill === void 0 ? void 0 : quill.getModule('history')) === null || _a === void 0 ? void 0 : _a.undo();
|
|
20317
|
+
},
|
|
20163
20318
|
ocr: function () {
|
|
20164
20319
|
// 按钮点击逻辑
|
|
20165
|
-
console.log('ocr');
|
|
20166
20320
|
ctx.emit('ocr');
|
|
20167
20321
|
},
|
|
20168
20322
|
math: function () {
|
|
20169
20323
|
// 按钮点击逻辑
|
|
20170
20324
|
ctx.emit('math');
|
|
20171
20325
|
},
|
|
20326
|
+
more: function () {
|
|
20327
|
+
showMoreToolbar.value = !showMoreToolbar.value;
|
|
20328
|
+
}
|
|
20172
20329
|
},
|
|
20173
20330
|
},
|
|
20174
20331
|
};
|
|
@@ -20197,7 +20354,6 @@ const QuillEditor = defineComponent({
|
|
|
20197
20354
|
const deltaHasValuesOtherThanRetain = (delta) => {
|
|
20198
20355
|
return Object.values(delta.ops).some((v) => !v.retain || Object.keys(v).length !== 1);
|
|
20199
20356
|
};
|
|
20200
|
-
// Doesn't need reactivity, but does need to be cloned to avoid deep mutations always registering as equal
|
|
20201
20357
|
let internalModel;
|
|
20202
20358
|
const internalModelEquals = (against) => {
|
|
20203
20359
|
if (typeof internalModel === typeof against) {
|
|
@@ -20225,21 +20381,15 @@ const QuillEditor = defineComponent({
|
|
|
20225
20381
|
const isEditorFocus = ref();
|
|
20226
20382
|
const handleSelectionChange = (range, oldRange, source) => {
|
|
20227
20383
|
var _a;
|
|
20228
|
-
console.log("----------------------------------");
|
|
20229
|
-
console.log(range);
|
|
20230
|
-
console.log(oldRange);
|
|
20231
|
-
console.log(source);
|
|
20232
|
-
// Set isEditorFocus if quill.hasFocus()
|
|
20233
20384
|
isEditorFocus.value = !!(quill === null || quill === void 0 ? void 0 : quill.hasFocus());
|
|
20234
|
-
console.log(isEditorFocus.value);
|
|
20235
|
-
console.log("----------------------------------");
|
|
20236
20385
|
// 动态显示/隐藏toolbar
|
|
20237
20386
|
const toolbar = (_a = quill === null || quill === void 0 ? void 0 : quill.getModule('toolbar')) === null || _a === void 0 ? void 0 : _a.container;
|
|
20238
20387
|
if (toolbar) {
|
|
20239
20388
|
if (isEditorFocus.value) {
|
|
20240
|
-
toolbar.style.display = '
|
|
20389
|
+
toolbar.style.display = 'block';
|
|
20241
20390
|
}
|
|
20242
20391
|
else {
|
|
20392
|
+
showMoreToolbar.value = false;
|
|
20243
20393
|
toolbar.style.display = 'none';
|
|
20244
20394
|
}
|
|
20245
20395
|
}
|
|
@@ -20342,7 +20492,6 @@ const QuillEditor = defineComponent({
|
|
|
20342
20492
|
watch(() => props.content, (newContent) => {
|
|
20343
20493
|
if (!quill || !newContent || internalModelEquals(newContent))
|
|
20344
20494
|
return;
|
|
20345
|
-
// Restore the selection and cursor position after updating the content
|
|
20346
20495
|
const selection = quill.getSelection();
|
|
20347
20496
|
if (selection) {
|
|
20348
20497
|
nextTick(() => quill === null || quill === void 0 ? void 0 : quill.setSelection(selection));
|
|
@@ -20368,14 +20517,36 @@ const QuillEditor = defineComponent({
|
|
|
20368
20517
|
setText,
|
|
20369
20518
|
reinit,
|
|
20370
20519
|
editorWrapClass,
|
|
20520
|
+
showMoreToolbar,
|
|
20371
20521
|
};
|
|
20372
20522
|
},
|
|
20373
20523
|
render() {
|
|
20374
|
-
var _a, _b;
|
|
20375
20524
|
return [
|
|
20376
20525
|
h('div', { class: this.editorWrapClass }, [
|
|
20377
|
-
|
|
20378
|
-
|
|
20526
|
+
// this.$slots.toolbar?.(), // 工具栏内容固定
|
|
20527
|
+
// 当 needCollapse 为 false 时,显示 MoreTools 组件
|
|
20528
|
+
this.showMoreToolbar && h(MoreTools, {
|
|
20529
|
+
needCollapse: this.needCollapse,
|
|
20530
|
+
toolbarStyle: this.$props.toolbarStyle,
|
|
20531
|
+
onToolClick: (tool) => {
|
|
20532
|
+
var _a, _b, _c, _d;
|
|
20533
|
+
if (tool === 'undo') {
|
|
20534
|
+
(_b = (_a = this.getQuill()) === null || _a === void 0 ? void 0 : _a.getModule('history')) === null || _b === void 0 ? void 0 : _b.undo();
|
|
20535
|
+
}
|
|
20536
|
+
else if (tool === 'redo') {
|
|
20537
|
+
(_d = (_c = this.getQuill()) === null || _c === void 0 ? void 0 : _c.getModule('history')) === null || _d === void 0 ? void 0 : _d.redo();
|
|
20538
|
+
}
|
|
20539
|
+
else if (tool === 'ocr') {
|
|
20540
|
+
this.$emit('ocr');
|
|
20541
|
+
}
|
|
20542
|
+
else if (tool === 'math') {
|
|
20543
|
+
this.$emit('math');
|
|
20544
|
+
}
|
|
20545
|
+
}
|
|
20546
|
+
}),
|
|
20547
|
+
h('div', {
|
|
20548
|
+
ref: 'editor', ...this.$attrs
|
|
20549
|
+
}),
|
|
20379
20550
|
]),
|
|
20380
20551
|
];
|
|
20381
20552
|
},
|