pxx-vue-quill 1.0.17 → 1.0.19

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.
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Copyright (c) 2025 Pxx-Team
9
9
  * Released under the MIT license
10
- * Date: 2025-08-25T02:25:20.932Z
10
+ * Date: 2025-08-26T02:18:21.558Z
11
11
  */
12
12
  (function (global, factory) {
13
13
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue')) :
@@ -18441,19 +18441,31 @@
18441
18441
  var Delta$1 = Delta_1;
18442
18442
 
18443
18443
  const toolbarOptions = {
18444
+ // 完整的工具栏
18444
18445
  full: [
18445
- // ['bold', 'italic', 'underline', 'strike'], // toggled buttons
18446
18446
  ['bold', 'italic', 'underline'],
18447
+ [{ color: [] }],
18448
+ ['link'],
18447
18449
  [{ list: 'ordered' }, { list: 'bullet' }],
18448
- // [{ direction: 'rtl' }], // text direction
18449
- // [{ size: ['small', false, 'large', 'huge'] }], // custom dropdown
18450
- // [{ header: [1, 2, 3, 4, 5, 6, false] }],
18451
- [{ color: [] }, { background: [] }],
18452
- // [{ font: [] }],
18453
- // [{ align: [] }],
18454
18450
  ['image'],
18455
- // ['clean'], // remove formatting button
18451
+ ['undo', 'redo'],
18452
+ ['math'],
18453
+ ['ocr'],
18456
18454
  ],
18455
+ // 如果编辑器宽度不够,就显示短的工具栏
18456
+ short: [
18457
+ ['bold', 'italic', 'underline'],
18458
+ [{ color: [] }],
18459
+ ['link'],
18460
+ ['more']
18461
+ ],
18462
+ // 点击更多显示的第二栏工具
18463
+ extend: [
18464
+ [{ list: 'ordered' }, { list: 'bullet' }],
18465
+ ['image'],
18466
+ ['undo', 'redo'],
18467
+ ['math'],
18468
+ ]
18457
18469
  };
18458
18470
 
18459
18471
  var dist = {};
@@ -19130,182 +19142,190 @@
19130
19142
  return AlignAction;
19131
19143
  }
19132
19144
 
19133
- var ResizeAction$1 = {};
19145
+ var ResizeAction = {};
19134
19146
 
19135
- Object.defineProperty(ResizeAction$1, "__esModule", {
19136
- value: true
19137
- });
19147
+ var hasRequiredResizeAction;
19138
19148
 
19139
- 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; }; }();
19149
+ function requireResizeAction () {
19150
+ if (hasRequiredResizeAction) return ResizeAction;
19151
+ hasRequiredResizeAction = 1;
19140
19152
 
19141
- var _Action2 = requireAction();
19153
+ Object.defineProperty(ResizeAction, "__esModule", {
19154
+ value: true
19155
+ });
19142
19156
 
19143
- var _Action3 = _interopRequireDefault(_Action2);
19157
+ 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; }; }();
19144
19158
 
19145
- var _BlotFormatter = requireBlotFormatter();
19159
+ var _Action2 = requireAction();
19146
19160
 
19147
- _interopRequireDefault(_BlotFormatter);
19161
+ var _Action3 = _interopRequireDefault(_Action2);
19148
19162
 
19149
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19163
+ var _BlotFormatter = requireBlotFormatter();
19150
19164
 
19151
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
19165
+ _interopRequireDefault(_BlotFormatter);
19152
19166
 
19153
- 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; }
19167
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19154
19168
 
19155
- 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; }
19169
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
19156
19170
 
19157
- var ResizeAction = function (_Action) {
19158
- _inherits(ResizeAction, _Action);
19171
+ 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; }
19159
19172
 
19160
- function ResizeAction(formatter) {
19161
- _classCallCheck(this, ResizeAction);
19173
+ 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; }
19162
19174
 
19163
- var _this = _possibleConstructorReturn(this, (ResizeAction.__proto__ || Object.getPrototypeOf(ResizeAction)).call(this, formatter));
19175
+ var ResizeAction$1 = function (_Action) {
19176
+ _inherits(ResizeAction, _Action);
19164
19177
 
19165
- _this.onMouseDown = function (event) {
19166
- if (!(event.target instanceof HTMLElement)) {
19167
- return;
19168
- }
19169
- _this.dragHandle = event.target;
19170
- _this.setCursor(_this.dragHandle.style.cursor);
19178
+ function ResizeAction(formatter) {
19179
+ _classCallCheck(this, ResizeAction);
19171
19180
 
19172
- if (!_this.formatter.currentSpec) {
19173
- return;
19174
- }
19181
+ var _this = _possibleConstructorReturn(this, (ResizeAction.__proto__ || Object.getPrototypeOf(ResizeAction)).call(this, formatter));
19175
19182
 
19176
- var target = _this.formatter.currentSpec.getTargetElement();
19177
- if (!target) {
19178
- return;
19179
- }
19183
+ _this.onMouseDown = function (event) {
19184
+ if (!(event.target instanceof HTMLElement)) {
19185
+ return;
19186
+ }
19187
+ _this.dragHandle = event.target;
19188
+ _this.setCursor(_this.dragHandle.style.cursor);
19180
19189
 
19181
- var rect = target.getBoundingClientRect();
19190
+ if (!_this.formatter.currentSpec) {
19191
+ return;
19192
+ }
19182
19193
 
19183
- _this.dragStartX = event.clientX;
19184
- _this.preDragWidth = rect.width;
19185
- _this.targetRatio = rect.height / rect.width;
19194
+ var target = _this.formatter.currentSpec.getTargetElement();
19195
+ if (!target) {
19196
+ return;
19197
+ }
19186
19198
 
19187
- document.addEventListener('mousemove', _this.onDrag);
19188
- document.addEventListener('mouseup', _this.onMouseUp);
19189
- };
19199
+ var rect = target.getBoundingClientRect();
19190
19200
 
19191
- _this.onDrag = function (event) {
19192
- if (!_this.formatter.currentSpec) {
19193
- return;
19194
- }
19201
+ _this.dragStartX = event.clientX;
19202
+ _this.preDragWidth = rect.width;
19203
+ _this.targetRatio = rect.height / rect.width;
19195
19204
 
19196
- var target = _this.formatter.currentSpec.getTargetElement();
19197
- if (!target) {
19198
- return;
19199
- }
19205
+ document.addEventListener('mousemove', _this.onDrag);
19206
+ document.addEventListener('mouseup', _this.onMouseUp);
19207
+ };
19200
19208
 
19201
- var deltaX = event.clientX - _this.dragStartX;
19202
- var newWidth = 0;
19209
+ _this.onDrag = function (event) {
19210
+ if (!_this.formatter.currentSpec) {
19211
+ return;
19212
+ }
19203
19213
 
19204
- if (_this.dragHandle === _this.topLeftHandle || _this.dragHandle === _this.bottomLeftHandle) {
19205
- newWidth = Math.round(_this.preDragWidth - deltaX);
19206
- } else {
19207
- newWidth = Math.round(_this.preDragWidth + deltaX);
19208
- }
19214
+ var target = _this.formatter.currentSpec.getTargetElement();
19215
+ if (!target) {
19216
+ return;
19217
+ }
19209
19218
 
19210
- var newHeight = _this.targetRatio * newWidth;
19219
+ var deltaX = event.clientX - _this.dragStartX;
19220
+ var newWidth = 0;
19211
19221
 
19212
- target.setAttribute('width', '' + newWidth);
19213
- target.setAttribute('height', '' + newHeight);
19222
+ if (_this.dragHandle === _this.topLeftHandle || _this.dragHandle === _this.bottomLeftHandle) {
19223
+ newWidth = Math.round(_this.preDragWidth - deltaX);
19224
+ } else {
19225
+ newWidth = Math.round(_this.preDragWidth + deltaX);
19226
+ }
19214
19227
 
19215
- _this.formatter.update();
19216
- };
19228
+ var newHeight = _this.targetRatio * newWidth;
19217
19229
 
19218
- _this.onMouseUp = function () {
19219
- _this.setCursor('');
19220
- document.removeEventListener('mousemove', _this.onDrag);
19221
- document.removeEventListener('mouseup', _this.onMouseUp);
19222
- };
19230
+ target.setAttribute('width', '' + newWidth);
19231
+ target.setAttribute('height', '' + newHeight);
19223
19232
 
19224
- _this.topLeftHandle = _this.createHandle('top-left', 'nwse-resize');
19225
- _this.topRightHandle = _this.createHandle('top-right', 'nesw-resize');
19226
- _this.bottomRightHandle = _this.createHandle('bottom-right', 'nwse-resize');
19227
- _this.bottomLeftHandle = _this.createHandle('bottom-left', 'nesw-resize');
19228
- _this.dragHandle = null;
19229
- _this.dragStartX = 0;
19230
- _this.preDragWidth = 0;
19231
- _this.targetRatio = 0;
19232
- return _this;
19233
- }
19233
+ _this.formatter.update();
19234
+ };
19234
19235
 
19235
- _createClass(ResizeAction, [{
19236
- key: 'onCreate',
19237
- value: function onCreate() {
19238
- this.formatter.overlay.appendChild(this.topLeftHandle);
19239
- this.formatter.overlay.appendChild(this.topRightHandle);
19240
- this.formatter.overlay.appendChild(this.bottomRightHandle);
19241
- this.formatter.overlay.appendChild(this.bottomLeftHandle);
19236
+ _this.onMouseUp = function () {
19237
+ _this.setCursor('');
19238
+ document.removeEventListener('mousemove', _this.onDrag);
19239
+ document.removeEventListener('mouseup', _this.onMouseUp);
19240
+ };
19242
19241
 
19243
- this.repositionHandles(this.formatter.options.resize.handleStyle);
19244
- }
19245
- }, {
19246
- key: 'onDestroy',
19247
- value: function onDestroy() {
19248
- this.setCursor('');
19249
- this.formatter.overlay.removeChild(this.topLeftHandle);
19250
- this.formatter.overlay.removeChild(this.topRightHandle);
19251
- this.formatter.overlay.removeChild(this.bottomRightHandle);
19252
- this.formatter.overlay.removeChild(this.bottomLeftHandle);
19253
- }
19254
- }, {
19255
- key: 'createHandle',
19256
- value: function createHandle(position, cursor) {
19257
- var box = document.createElement('div');
19258
- box.classList.add(this.formatter.options.resize.handleClassName);
19259
- box.setAttribute('data-position', position);
19260
- box.style.cursor = cursor;
19261
-
19262
- if (this.formatter.options.resize.handleStyle) {
19263
- Object.assign(box.style, this.formatter.options.resize.handleStyle);
19264
- }
19242
+ _this.topLeftHandle = _this.createHandle('top-left', 'nwse-resize');
19243
+ _this.topRightHandle = _this.createHandle('top-right', 'nesw-resize');
19244
+ _this.bottomRightHandle = _this.createHandle('bottom-right', 'nwse-resize');
19245
+ _this.bottomLeftHandle = _this.createHandle('bottom-left', 'nesw-resize');
19246
+ _this.dragHandle = null;
19247
+ _this.dragStartX = 0;
19248
+ _this.preDragWidth = 0;
19249
+ _this.targetRatio = 0;
19250
+ return _this;
19251
+ }
19265
19252
 
19266
- box.addEventListener('mousedown', this.onMouseDown);
19253
+ _createClass(ResizeAction, [{
19254
+ key: 'onCreate',
19255
+ value: function onCreate() {
19256
+ this.formatter.overlay.appendChild(this.topLeftHandle);
19257
+ this.formatter.overlay.appendChild(this.topRightHandle);
19258
+ this.formatter.overlay.appendChild(this.bottomRightHandle);
19259
+ this.formatter.overlay.appendChild(this.bottomLeftHandle);
19267
19260
 
19268
- return box;
19269
- }
19270
- }, {
19271
- key: 'repositionHandles',
19272
- value: function repositionHandles(handleStyle) {
19273
- var handleXOffset = '0px';
19274
- var handleYOffset = '0px';
19275
- if (handleStyle) {
19276
- if (handleStyle.width) {
19277
- handleXOffset = -parseFloat(handleStyle.width) / 2 + 'px';
19278
- }
19279
- if (handleStyle.height) {
19280
- handleYOffset = -parseFloat(handleStyle.height) / 2 + 'px';
19281
- }
19282
- }
19261
+ this.repositionHandles(this.formatter.options.resize.handleStyle);
19262
+ }
19263
+ }, {
19264
+ key: 'onDestroy',
19265
+ value: function onDestroy() {
19266
+ this.setCursor('');
19267
+ this.formatter.overlay.removeChild(this.topLeftHandle);
19268
+ this.formatter.overlay.removeChild(this.topRightHandle);
19269
+ this.formatter.overlay.removeChild(this.bottomRightHandle);
19270
+ this.formatter.overlay.removeChild(this.bottomLeftHandle);
19271
+ }
19272
+ }, {
19273
+ key: 'createHandle',
19274
+ value: function createHandle(position, cursor) {
19275
+ var box = document.createElement('div');
19276
+ box.classList.add(this.formatter.options.resize.handleClassName);
19277
+ box.setAttribute('data-position', position);
19278
+ box.style.cursor = cursor;
19279
+
19280
+ if (this.formatter.options.resize.handleStyle) {
19281
+ Object.assign(box.style, this.formatter.options.resize.handleStyle);
19282
+ }
19283
19283
 
19284
- Object.assign(this.topLeftHandle.style, { left: handleXOffset, top: handleYOffset });
19285
- Object.assign(this.topRightHandle.style, { right: handleXOffset, top: handleYOffset });
19286
- Object.assign(this.bottomRightHandle.style, { right: handleXOffset, bottom: handleYOffset });
19287
- Object.assign(this.bottomLeftHandle.style, { left: handleXOffset, bottom: handleYOffset });
19288
- }
19289
- }, {
19290
- key: 'setCursor',
19291
- value: function setCursor(value) {
19292
- if (document.body) {
19293
- document.body.style.cursor = value;
19294
- }
19284
+ box.addEventListener('mousedown', this.onMouseDown);
19295
19285
 
19296
- if (this.formatter.currentSpec) {
19297
- var target = this.formatter.currentSpec.getOverlayElement();
19298
- if (target) {
19299
- target.style.cursor = value;
19300
- }
19301
- }
19302
- }
19303
- }]);
19286
+ return box;
19287
+ }
19288
+ }, {
19289
+ key: 'repositionHandles',
19290
+ value: function repositionHandles(handleStyle) {
19291
+ var handleXOffset = '0px';
19292
+ var handleYOffset = '0px';
19293
+ if (handleStyle) {
19294
+ if (handleStyle.width) {
19295
+ handleXOffset = -parseFloat(handleStyle.width) / 2 + 'px';
19296
+ }
19297
+ if (handleStyle.height) {
19298
+ handleYOffset = -parseFloat(handleStyle.height) / 2 + 'px';
19299
+ }
19300
+ }
19304
19301
 
19305
- return ResizeAction;
19306
- }(_Action3.default);
19302
+ Object.assign(this.topLeftHandle.style, { left: handleXOffset, top: handleYOffset });
19303
+ Object.assign(this.topRightHandle.style, { right: handleXOffset, top: handleYOffset });
19304
+ Object.assign(this.bottomRightHandle.style, { right: handleXOffset, bottom: handleYOffset });
19305
+ Object.assign(this.bottomLeftHandle.style, { left: handleXOffset, bottom: handleYOffset });
19306
+ }
19307
+ }, {
19308
+ key: 'setCursor',
19309
+ value: function setCursor(value) {
19310
+ if (document.body) {
19311
+ document.body.style.cursor = value;
19312
+ }
19307
19313
 
19308
- ResizeAction$1.default = ResizeAction;
19314
+ if (this.formatter.currentSpec) {
19315
+ var target = this.formatter.currentSpec.getOverlayElement();
19316
+ if (target) {
19317
+ target.style.cursor = value;
19318
+ }
19319
+ }
19320
+ }
19321
+ }]);
19322
+
19323
+ return ResizeAction;
19324
+ }(_Action3.default);
19325
+
19326
+ ResizeAction.default = ResizeAction$1;
19327
+ return ResizeAction;
19328
+ }
19309
19329
 
19310
19330
  var DeleteAction = {};
19311
19331
 
@@ -19412,7 +19432,7 @@
19412
19432
 
19413
19433
  var _AlignAction2 = _interopRequireDefault(_AlignAction);
19414
19434
 
19415
- var _ResizeAction = ResizeAction$1;
19435
+ var _ResizeAction = requireResizeAction();
19416
19436
 
19417
19437
  var _ResizeAction2 = _interopRequireDefault(_ResizeAction);
19418
19438
 
@@ -19544,156 +19564,148 @@
19544
19564
 
19545
19565
  var IframeVideoSpec = {};
19546
19566
 
19547
- var UnclickableBlotSpec = {};
19548
-
19549
- var hasRequiredUnclickableBlotSpec;
19567
+ var UnclickableBlotSpec$1 = {};
19550
19568
 
19551
- function requireUnclickableBlotSpec () {
19552
- if (hasRequiredUnclickableBlotSpec) return UnclickableBlotSpec;
19553
- hasRequiredUnclickableBlotSpec = 1;
19554
-
19555
- Object.defineProperty(UnclickableBlotSpec, "__esModule", {
19556
- value: true
19557
- });
19558
-
19559
- 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; }; }();
19569
+ Object.defineProperty(UnclickableBlotSpec$1, "__esModule", {
19570
+ value: true
19571
+ });
19560
19572
 
19561
- var _BlotSpec2 = requireBlotSpec();
19573
+ 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; }; }();
19562
19574
 
19563
- var _BlotSpec3 = _interopRequireDefault(_BlotSpec2);
19575
+ var _BlotSpec2 = requireBlotSpec();
19564
19576
 
19565
- var _BlotFormatter = requireBlotFormatter();
19577
+ var _BlotSpec3 = _interopRequireDefault(_BlotSpec2);
19566
19578
 
19567
- _interopRequireDefault(_BlotFormatter);
19579
+ var _BlotFormatter = requireBlotFormatter();
19568
19580
 
19569
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19581
+ _interopRequireDefault(_BlotFormatter);
19570
19582
 
19571
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
19583
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19572
19584
 
19573
- 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; }
19585
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
19574
19586
 
19575
- 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; }
19587
+ 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; }
19576
19588
 
19577
- var MOUSE_ENTER_ATTRIBUTE = 'data-blot-formatter-unclickable-bound';
19578
- var PROXY_IMAGE_CLASS = 'blot-formatter__proxy-image';
19589
+ 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; }
19579
19590
 
19580
- var UnclickableBlotSpec$1 = function (_BlotSpec) {
19581
- _inherits(UnclickableBlotSpec, _BlotSpec);
19591
+ var MOUSE_ENTER_ATTRIBUTE = 'data-blot-formatter-unclickable-bound';
19592
+ var PROXY_IMAGE_CLASS = 'blot-formatter__proxy-image';
19582
19593
 
19583
- function UnclickableBlotSpec(formatter, selector) {
19584
- _classCallCheck(this, UnclickableBlotSpec);
19594
+ var UnclickableBlotSpec = function (_BlotSpec) {
19595
+ _inherits(UnclickableBlotSpec, _BlotSpec);
19585
19596
 
19586
- var _this = _possibleConstructorReturn(this, (UnclickableBlotSpec.__proto__ || Object.getPrototypeOf(UnclickableBlotSpec)).call(this, formatter));
19597
+ function UnclickableBlotSpec(formatter, selector) {
19598
+ _classCallCheck(this, UnclickableBlotSpec);
19587
19599
 
19588
- _this.onTextChange = function () {
19589
- Array.from(document.querySelectorAll(_this.selector + ':not([' + MOUSE_ENTER_ATTRIBUTE + '])')).forEach(function (unclickable) {
19590
- unclickable.setAttribute(MOUSE_ENTER_ATTRIBUTE, 'true');
19591
- unclickable.addEventListener('mouseenter', _this.onMouseEnter);
19592
- });
19593
- };
19600
+ var _this = _possibleConstructorReturn(this, (UnclickableBlotSpec.__proto__ || Object.getPrototypeOf(UnclickableBlotSpec)).call(this, formatter));
19594
19601
 
19595
- _this.onMouseEnter = function (event) {
19596
- var unclickable = event.target;
19597
- if (!(unclickable instanceof HTMLElement)) {
19598
- return;
19599
- }
19602
+ _this.onTextChange = function () {
19603
+ Array.from(document.querySelectorAll(_this.selector + ':not([' + MOUSE_ENTER_ATTRIBUTE + '])')).forEach(function (unclickable) {
19604
+ unclickable.setAttribute(MOUSE_ENTER_ATTRIBUTE, 'true');
19605
+ unclickable.addEventListener('mouseenter', _this.onMouseEnter);
19606
+ });
19607
+ };
19600
19608
 
19601
- _this.nextUnclickable = unclickable;
19602
- _this.repositionProxyImage(_this.nextUnclickable);
19603
- };
19609
+ _this.onMouseEnter = function (event) {
19610
+ var unclickable = event.target;
19611
+ if (!(unclickable instanceof HTMLElement)) {
19612
+ return;
19613
+ }
19604
19614
 
19605
- _this.onProxyImageClick = function () {
19606
- _this.unclickable = _this.nextUnclickable;
19607
- _this.nextUnclickable = null;
19608
- _this.formatter.show(_this);
19609
- _this.hideProxyImage();
19610
- };
19615
+ _this.nextUnclickable = unclickable;
19616
+ _this.repositionProxyImage(_this.nextUnclickable);
19617
+ };
19611
19618
 
19612
- _this.selector = selector;
19613
- _this.unclickable = null;
19614
- _this.nextUnclickable = null;
19615
- return _this;
19616
- }
19619
+ _this.onProxyImageClick = function () {
19620
+ _this.unclickable = _this.nextUnclickable;
19621
+ _this.nextUnclickable = null;
19622
+ _this.formatter.show(_this);
19623
+ _this.hideProxyImage();
19624
+ };
19617
19625
 
19618
- _createClass(UnclickableBlotSpec, [{
19619
- key: 'init',
19620
- value: function init() {
19621
- if (document.body) {
19622
- /*
19623
- it's important that this is attached to the body instead of the root quill element.
19624
- this prevents the click event from overlapping with ImageSpec
19625
- */
19626
- document.body.appendChild(this.createProxyImage());
19627
- }
19626
+ _this.selector = selector;
19627
+ _this.unclickable = null;
19628
+ _this.nextUnclickable = null;
19629
+ return _this;
19630
+ }
19628
19631
 
19629
- this.hideProxyImage();
19630
- this.proxyImage.addEventListener('click', this.onProxyImageClick);
19631
- this.formatter.quill.on('text-change', this.onTextChange);
19632
- }
19633
- }, {
19634
- key: 'getTargetElement',
19635
- value: function getTargetElement() {
19636
- return this.unclickable;
19637
- }
19638
- }, {
19639
- key: 'getOverlayElement',
19640
- value: function getOverlayElement() {
19641
- return this.unclickable;
19642
- }
19643
- }, {
19644
- key: 'onHide',
19645
- value: function onHide() {
19646
- this.hideProxyImage();
19647
- this.nextUnclickable = null;
19648
- this.unclickable = null;
19649
- }
19650
- }, {
19651
- key: 'createProxyImage',
19652
- value: function createProxyImage() {
19653
- var canvas = document.createElement('canvas');
19654
- var context = canvas.getContext('2d');
19655
- context.globalAlpha = 0;
19656
- context.fillRect(0, 0, 1, 1);
19657
-
19658
- this.proxyImage = document.createElement('img');
19659
- this.proxyImage.src = canvas.toDataURL('image/png');
19660
- this.proxyImage.classList.add(PROXY_IMAGE_CLASS);
19661
-
19662
- Object.assign(this.proxyImage.style, {
19663
- position: 'absolute',
19664
- margin: '0'
19665
- });
19632
+ _createClass(UnclickableBlotSpec, [{
19633
+ key: 'init',
19634
+ value: function init() {
19635
+ if (document.body) {
19636
+ /*
19637
+ it's important that this is attached to the body instead of the root quill element.
19638
+ this prevents the click event from overlapping with ImageSpec
19639
+ */
19640
+ document.body.appendChild(this.createProxyImage());
19641
+ }
19666
19642
 
19667
- return this.proxyImage;
19668
- }
19669
- }, {
19670
- key: 'hideProxyImage',
19671
- value: function hideProxyImage() {
19672
- Object.assign(this.proxyImage.style, {
19673
- display: 'none'
19674
- });
19675
- }
19676
- }, {
19677
- key: 'repositionProxyImage',
19678
- value: function repositionProxyImage(unclickable) {
19679
- var rect = unclickable.getBoundingClientRect();
19643
+ this.hideProxyImage();
19644
+ this.proxyImage.addEventListener('click', this.onProxyImageClick);
19645
+ this.formatter.quill.on('text-change', this.onTextChange);
19646
+ }
19647
+ }, {
19648
+ key: 'getTargetElement',
19649
+ value: function getTargetElement() {
19650
+ return this.unclickable;
19651
+ }
19652
+ }, {
19653
+ key: 'getOverlayElement',
19654
+ value: function getOverlayElement() {
19655
+ return this.unclickable;
19656
+ }
19657
+ }, {
19658
+ key: 'onHide',
19659
+ value: function onHide() {
19660
+ this.hideProxyImage();
19661
+ this.nextUnclickable = null;
19662
+ this.unclickable = null;
19663
+ }
19664
+ }, {
19665
+ key: 'createProxyImage',
19666
+ value: function createProxyImage() {
19667
+ var canvas = document.createElement('canvas');
19668
+ var context = canvas.getContext('2d');
19669
+ context.globalAlpha = 0;
19670
+ context.fillRect(0, 0, 1, 1);
19671
+
19672
+ this.proxyImage = document.createElement('img');
19673
+ this.proxyImage.src = canvas.toDataURL('image/png');
19674
+ this.proxyImage.classList.add(PROXY_IMAGE_CLASS);
19675
+
19676
+ Object.assign(this.proxyImage.style, {
19677
+ position: 'absolute',
19678
+ margin: '0'
19679
+ });
19680
19680
 
19681
- Object.assign(this.proxyImage.style, {
19682
- display: 'block',
19683
- left: rect.left + window.pageXOffset + 'px',
19684
- top: rect.top + window.pageYOffset + 'px',
19685
- width: rect.width + 'px',
19686
- height: rect.height + 'px'
19687
- });
19688
- }
19689
- }]);
19681
+ return this.proxyImage;
19682
+ }
19683
+ }, {
19684
+ key: 'hideProxyImage',
19685
+ value: function hideProxyImage() {
19686
+ Object.assign(this.proxyImage.style, {
19687
+ display: 'none'
19688
+ });
19689
+ }
19690
+ }, {
19691
+ key: 'repositionProxyImage',
19692
+ value: function repositionProxyImage(unclickable) {
19693
+ var rect = unclickable.getBoundingClientRect();
19694
+
19695
+ Object.assign(this.proxyImage.style, {
19696
+ display: 'block',
19697
+ left: rect.left + window.pageXOffset + 'px',
19698
+ top: rect.top + window.pageYOffset + 'px',
19699
+ width: rect.width + 'px',
19700
+ height: rect.height + 'px'
19701
+ });
19702
+ }
19703
+ }]);
19690
19704
 
19691
- return UnclickableBlotSpec;
19692
- }(_BlotSpec3.default);
19705
+ return UnclickableBlotSpec;
19706
+ }(_BlotSpec3.default);
19693
19707
 
19694
- UnclickableBlotSpec.default = UnclickableBlotSpec$1;
19695
- return UnclickableBlotSpec;
19696
- }
19708
+ UnclickableBlotSpec$1.default = UnclickableBlotSpec;
19697
19709
 
19698
19710
  var hasRequiredIframeVideoSpec;
19699
19711
 
@@ -19705,7 +19717,7 @@
19705
19717
  value: true
19706
19718
  });
19707
19719
 
19708
- var _UnclickableBlotSpec2 = requireUnclickableBlotSpec();
19720
+ var _UnclickableBlotSpec2 = UnclickableBlotSpec$1;
19709
19721
 
19710
19722
  var _UnclickableBlotSpec3 = _interopRequireDefault(_UnclickableBlotSpec2);
19711
19723
 
@@ -19905,7 +19917,7 @@
19905
19917
  }
19906
19918
  });
19907
19919
 
19908
- var _ResizeAction = ResizeAction$1;
19920
+ var _ResizeAction = requireResizeAction();
19909
19921
 
19910
19922
  Object.defineProperty(exports, 'ResizeAction', {
19911
19923
  enumerable: true,
@@ -19932,7 +19944,7 @@
19932
19944
  }
19933
19945
  });
19934
19946
 
19935
- var _UnclickableBlotSpec = requireUnclickableBlotSpec();
19947
+ var _UnclickableBlotSpec = UnclickableBlotSpec$1;
19936
19948
 
19937
19949
  Object.defineProperty(exports, 'UnclickableBlotSpec', {
19938
19950
  enumerable: true,
@@ -19955,6 +19967,123 @@
19955
19967
 
19956
19968
  var BlotFormatter = /*@__PURE__*/getDefaultExportFromCjs(dist);
19957
19969
 
19970
+ // 加粗
19971
+ 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>`;
19972
+ // 斜体
19973
+ 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>`;
19974
+ // 下划线
19975
+ 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>`;
19976
+ // 更多
19977
+ 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>`;
19978
+ // 链接
19979
+ 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>`;
19980
+ // 撤销
19981
+ 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>`;
19982
+ // 重做
19983
+ 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>`;
19984
+ // 图片识别
19985
+ 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>`;
19986
+ // 数学公式
19987
+ 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>`;
19988
+ // 无序列表
19989
+ 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>`;
19990
+ // 有序列表
19991
+ 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>`;
19992
+ // 图片
19993
+ 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>`;
19994
+
19995
+ const MoreTools = vue.defineComponent({
19996
+ name: 'MoreTools',
19997
+ props: {
19998
+ // 传入toolbar的自定义style
19999
+ toolbarStyle: {
20000
+ type: Object,
20001
+ required: false,
20002
+ default: () => ({})
20003
+ },
20004
+ needCollapse: {
20005
+ type: Boolean,
20006
+ default: false
20007
+ },
20008
+ onToolClick: {
20009
+ type: Function,
20010
+ required: true
20011
+ }
20012
+ },
20013
+ setup(props) {
20014
+ // 渲染工具按钮
20015
+ const renderToolButton = (tool) => {
20016
+ if (typeof tool === 'string') {
20017
+ // 根据工具名称获取对应的SVG图标
20018
+ let iconSVG = '';
20019
+ switch (tool) {
20020
+ case 'image':
20021
+ iconSVG = imageSVG;
20022
+ break;
20023
+ case 'undo':
20024
+ iconSVG = undoSVG;
20025
+ break;
20026
+ case 'redo':
20027
+ iconSVG = redoSVG;
20028
+ break;
20029
+ case 'ocr':
20030
+ iconSVG = ocrSVG;
20031
+ break;
20032
+ case 'math':
20033
+ iconSVG = mathSVG;
20034
+ break;
20035
+ default:
20036
+ iconSVG = '';
20037
+ }
20038
+ return vue.h('button', {
20039
+ class: `ql-${tool}`,
20040
+ type: 'button',
20041
+ onClick: () => props.onToolClick(tool)
20042
+ }, [
20043
+ iconSVG ? vue.h('span', { innerHTML: iconSVG }) : null
20044
+ ]);
20045
+ }
20046
+ else if (typeof tool === 'object' && tool !== null) {
20047
+ const toolName = Object.keys(tool)[0];
20048
+ const toolValue = Object.values(tool)[0];
20049
+ let iconSVG = '';
20050
+ if (toolName === 'list') {
20051
+ iconSVG = toolValue === 'ordered' ? listOrderedSVG : listBulletSVG;
20052
+ }
20053
+ return vue.h('button', {
20054
+ class: `ql-${toolName}`,
20055
+ 'data-value': toolValue,
20056
+ type: 'button',
20057
+ onClick: () => props.onToolClick(`${toolName}-${toolValue}`)
20058
+ }, [
20059
+ iconSVG ? vue.h('span', { innerHTML: iconSVG }) : null
20060
+ ]);
20061
+ }
20062
+ return null;
20063
+ };
20064
+ // 渲染工具组
20065
+ const renderToolGroup = (tools) => {
20066
+ return vue.h('span', {
20067
+ class: 'ql-formats'
20068
+ }, tools.map(tool => renderToolButton(tool)));
20069
+ };
20070
+ return () => vue.h('div', {
20071
+ class: 'ql-toolbar ql-snow more-tools',
20072
+ style: props.toolbarStyle
20073
+ }, [
20074
+ vue.h('div', {
20075
+ class: 'more-tools-item'
20076
+ }, [
20077
+ // 渲染所有工具组
20078
+ ...toolbarOptions.extend.map(toolGroup => renderToolGroup(toolGroup)),
20079
+ ]),
20080
+ vue.h('div', {}, [
20081
+ renderToolGroup(['ocr'])
20082
+ ])
20083
+ ]);
20084
+ }
20085
+ });
20086
+
19958
20087
  const QuillEditor = vue.defineComponent({
19959
20088
  name: 'QuillEditor',
19960
20089
  inheritAttrs: false,
@@ -19998,12 +20127,22 @@
19998
20127
  return ['fixed-top', 'embedded'].includes(value);
19999
20128
  },
20000
20129
  },
20130
+ needCollapse: {
20131
+ type: Boolean,
20132
+ default: true,
20133
+ },
20001
20134
  // 传入toolbar的自定义style
20002
20135
  toolbarStyle: {
20003
20136
  type: Object,
20004
20137
  required: false,
20005
20138
  default: () => ({})
20006
20139
  },
20140
+ // 编辑器输入内容的自定义style
20141
+ editorStyle: {
20142
+ type: Object,
20143
+ required: false,
20144
+ default: () => ({})
20145
+ },
20007
20146
  theme: {
20008
20147
  type: String,
20009
20148
  default: 'snow',
@@ -20065,30 +20204,17 @@
20065
20204
  let quill;
20066
20205
  let options;
20067
20206
  const editor = vue.ref();
20207
+ const showMoreToolbar = vue.ref(false);
20068
20208
  const editorWrapClass = vue.computed(() => {
20069
20209
  return {
20070
20210
  'quill-editor-container': true,
20071
20211
  'need-border': props.needBorder,
20212
+ 'more-toolbar': showMoreToolbar.value,
20072
20213
  'fixed-top': props.toolbarMode === 'fixed-top',
20073
20214
  'embedded': props.toolbarMode === 'embedded',
20074
20215
  };
20075
20216
  });
20076
- // 监听 minHeight 变化,同步设置编辑器高度
20077
- const updateEditorHeight = () => {
20078
- if (quill && editor.value) {
20079
- const editorElement = editor.value.querySelector('.ql-editor');
20080
- if (editorElement) {
20081
- editorElement.style.minHeight = `${props.minHeight}px`;
20082
- }
20083
- }
20084
- };
20085
- // 监听 minHeight 变化
20086
- vue.watch(() => props.minHeight, () => {
20087
- vue.nextTick(() => {
20088
- updateEditorHeight();
20089
- });
20090
- });
20091
- // 应用自定义toolbar样式
20217
+ // 应用自定义toolbar样式,目前通过改dom的形式,因为h函数没有暴露更深的dom,无法绑定真正的toolbar
20092
20218
  const applyToolbarStyle = () => {
20093
20219
  var _a;
20094
20220
  if (quill && props.toolbarStyle) {
@@ -20098,24 +20224,35 @@
20098
20224
  }
20099
20225
  }
20100
20226
  };
20227
+ // 应用自定义editor样式,目前通过改dom的形式,因为h函数没有暴露更深的dom,无法绑定真正的editor
20228
+ const applyEditorStyle = () => {
20229
+ var _a;
20230
+ if (quill && props.editorStyle) {
20231
+ const editorElement = (_a = editor.value) === null || _a === void 0 ? void 0 : _a.querySelector('.ql-editor');
20232
+ if (editorElement) {
20233
+ Object.assign(editorElement.style, props.editorStyle);
20234
+ }
20235
+ }
20236
+ };
20101
20237
  // 监听 toolbarStyle 变化
20102
20238
  vue.watch(() => props.toolbarStyle, () => {
20103
20239
  vue.nextTick(() => {
20104
20240
  applyToolbarStyle();
20105
20241
  });
20106
20242
  });
20107
- // Register Module if not already registered
20243
+ // 监听 editorStyle 变化
20244
+ vue.watch(() => props.editorStyle, () => {
20245
+ vue.nextTick(() => {
20246
+ applyEditorStyle();
20247
+ });
20248
+ });
20108
20249
  const registerModule = (moduleName, module) => {
20109
- // For Quill 1.x, we can't check if module is already registered
20110
- // So we'll just register it directly
20111
20250
  Quill.register(moduleName, module);
20112
20251
  };
20113
- // Initialize Quill
20114
20252
  const initialize = () => {
20115
20253
  var _a, _b;
20116
20254
  if (!editor.value)
20117
20255
  return;
20118
- // Create new Quill instance
20119
20256
  quill = new Quill(editor.value, options);
20120
20257
  // 初始隐藏toolbar
20121
20258
  const toolbar = (_a = quill === null || quill === void 0 ? void 0 : quill.getModule('toolbar')) === null || _a === void 0 ? void 0 : _a.container;
@@ -20123,10 +20260,17 @@
20123
20260
  toolbar.style.display = 'none';
20124
20261
  }
20125
20262
  const icons = Quill.import('ui/icons');
20126
- icons['ocr'] = `<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="#333333" fill-opacity="1"/></g></g></svg>`;
20127
- icons['math'] = `<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"><defs><clipPath id="master_svg0_6759_139354"><rect x="0" y="0" width="18" height="18" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_6759_139354)"><g><path d="M15.423694,15.049834L15.424264,15.049264Q15.508656,14.964872,15.554328,14.85461Q15.6,14.744348,15.6,14.625Q15.6,14.565905,15.58847,14.507944Q15.576942,14.449986,15.554328,14.395388Q15.531713,14.340792,15.498882,14.291656Q15.466051,14.242521,15.424265,14.200735Q15.382479,14.158949,15.333343,14.126117Q15.284206,14.093286,15.229609,14.070671Q15.175013,14.048058,15.117053,14.036528Q15.059094,14.025,15,14.025Q14.880652,14.025,14.77039,14.070672Q14.660128,14.116344,14.575736,14.200736L13.626472,15.150001L4.4485275,15.150001L10.174264,9.424264Q10.2160501,9.3824773,10.2488813,9.3333416Q10.281712500000001,9.2842059,10.304327,9.229609499999999Q10.3269415,9.175012599999999,10.3384705,9.117054Q10.349999,9.0590944,10.349999,8.999999500000001Q10.349999,8.9409046,10.3384705,8.8829451Q10.3269415,8.8249855,10.304327,8.7703896Q10.281712500000001,8.715793099999999,10.2488813,8.6666574Q10.2160501,8.6175222,10.174264,8.575736L4.4485282,2.85000002L13.626472,2.85000002L14.575395,3.7989223L14.575736,3.7992642Q14.660127,3.8836554999999997,14.77039,3.9293277Q14.880651,3.9749999000000003,15,3.975Q15.059094,3.9749999000000003,15.117054,3.9634712Q15.175013,3.9519422,15.229609,3.9293275999999997Q15.284206,3.906713,15.333342,3.8738817Q15.382478,3.8410504000000003,15.424264,3.7992641000000003Q15.466051,3.7574776,15.498882,3.7083421000000003Q15.531713,3.6592064,15.554328,3.60461Q15.576942,3.5500134,15.588472,3.4920541Q15.6,3.4340948,15.6,3.375Q15.6,3.2556524,15.554328,3.1453898000000002Q15.508656,3.03512704,15.424264,2.9507357499999998L15.423856,2.9503274L14.299264,1.82573593Q14.214872,1.7413445699999999,14.10461,1.69567227Q13.994347,1.64999998,13.875,1.64999998L3,1.64999998Q2.88065257,1.64999998,2.77038994,1.69567227Q2.66012731,1.7413445699999999,2.57573593,1.82573593Q2.53394958,1.8675223,2.50111824,1.91665789Q2.46828693,1.96579346,2.44567233,2.02038996Q2.42305773,2.07498647,2.41152894,2.13294582Q2.4000000999999997,2.190905161,2.40000004,2.25Q2.4000000999999997,2.309094839,2.41152889,2.36705418Q2.42305773,2.42501353,2.44567233,2.47961004Q2.46828693,2.53420654,2.50111827,2.58334213Q2.53394958,2.6324777,2.57573593,2.67426407L8.9014721,9L2.57573593,15.325736Q2.49134457,15.410126,2.44567227,15.520389Q2.39999998,15.630651,2.39999998,15.75Q2.39999998,15.809094,2.41152883,15.867053Q2.42305768,15.925013,2.44567233,15.979609Q2.46828693,16.034204000000003,2.50111827,16.08334Q2.53394958,16.132476,2.57573593,16.174263Q2.6175223,16.216048999999998,2.66665787,16.24888Q2.71579343,16.281712,2.77038994,16.304327Q2.82498646,16.326940999999998,2.88294581,16.33847Q2.940905157,16.349998,3,16.349999L13.875,16.349999Q13.994347,16.349998,14.104609,16.304326Q14.214872,16.258654,14.299264,16.174264L15.423694,15.049834Z" fill-rule="evenodd" fill="#333333" fill-opacity="1" style="mix-blend-mode:passthrough"/></g></g></svg>`;
20263
+ icons['bold'] = boldSVG;
20264
+ icons['italic'] = italicSVG;
20265
+ icons['underline'] = underlineSVG;
20266
+ icons['more'] = moreSVG;
20267
+ icons['link'] = linkSVG;
20268
+ icons['undo'] = undoSVG;
20269
+ icons['redo'] = redoSVG;
20270
+ icons['ocr'] = ocrSVG;
20271
+ icons['math'] = mathSVG;
20272
+ icons['image'] = imageSVG;
20128
20273
  options = composeOptions();
20129
- // Register modules
20130
20274
  if (props.modules) {
20131
20275
  if (Array.isArray(props.modules)) {
20132
20276
  for (const module of props.modules) {
@@ -20137,29 +20281,23 @@
20137
20281
  registerModule(`modules/${props.modules.name}`, props.modules.module);
20138
20282
  }
20139
20283
  }
20140
- // Create new Quill instance
20141
20284
  quill = new Quill(editor.value, options);
20142
- // Set editor content
20143
20285
  setContents(props.content);
20144
- // Set event handlers
20145
20286
  quill.on('text-change', handleTextChange);
20146
20287
  quill.on('selection-change', handleSelectionChange);
20147
20288
  quill.on('editor-change', handleEditorChange);
20148
- // Remove editor class when theme changes
20149
20289
  if (props.theme !== 'bubble')
20150
20290
  editor.value.classList.remove('ql-bubble');
20151
20291
  if (props.theme !== 'snow')
20152
20292
  editor.value.classList.remove('ql-snow');
20153
- // Fix clicking the quill toolbar is detected as blur event
20154
20293
  (_b = quill
20155
20294
  .getModule('toolbar')) === null || _b === void 0 ? void 0 : _b.container.addEventListener('mousedown', (e) => {
20156
20295
  e.preventDefault();
20157
20296
  });
20158
- // 设置初始编辑器高度
20159
- updateEditorHeight();
20160
20297
  // 应用初始toolbar样式
20161
20298
  applyToolbarStyle();
20162
- // Emit ready event
20299
+ // 应用初始editor样式
20300
+ applyEditorStyle();
20163
20301
  ctx.emit('ready', quill);
20164
20302
  };
20165
20303
  // Compose Options
@@ -20174,12 +20312,21 @@
20174
20312
  if (props.toolbar && props.toolbar !== '') {
20175
20313
  clientOptions.modules = {
20176
20314
  toolbar: {
20177
- container: [
20315
+ // 需要展开的话显示完整的工具栏
20316
+ container: props.needCollapse ? [
20178
20317
  ...toolbarOptions.full,
20179
- ['ocr'],
20180
- [{ 'math': true }], // 自定义按钮
20318
+ ] : [
20319
+ ...toolbarOptions.short,
20181
20320
  ],
20182
20321
  handlers: {
20322
+ redo: function () {
20323
+ var _a;
20324
+ (_a = quill === null || quill === void 0 ? void 0 : quill.getModule('history')) === null || _a === void 0 ? void 0 : _a.redo();
20325
+ },
20326
+ undo: function () {
20327
+ var _a;
20328
+ (_a = quill === null || quill === void 0 ? void 0 : quill.getModule('history')) === null || _a === void 0 ? void 0 : _a.undo();
20329
+ },
20183
20330
  ocr: function () {
20184
20331
  // 按钮点击逻辑
20185
20332
  ctx.emit('ocr');
@@ -20188,6 +20335,9 @@
20188
20335
  // 按钮点击逻辑
20189
20336
  ctx.emit('math');
20190
20337
  },
20338
+ more: function () {
20339
+ showMoreToolbar.value = !showMoreToolbar.value;
20340
+ }
20191
20341
  },
20192
20342
  },
20193
20343
  };
@@ -20216,7 +20366,6 @@
20216
20366
  const deltaHasValuesOtherThanRetain = (delta) => {
20217
20367
  return Object.values(delta.ops).some((v) => !v.retain || Object.keys(v).length !== 1);
20218
20368
  };
20219
- // Doesn't need reactivity, but does need to be cloned to avoid deep mutations always registering as equal
20220
20369
  let internalModel;
20221
20370
  const internalModelEquals = (against) => {
20222
20371
  if (typeof internalModel === typeof against) {
@@ -20249,9 +20398,10 @@
20249
20398
  const toolbar = (_a = quill === null || quill === void 0 ? void 0 : quill.getModule('toolbar')) === null || _a === void 0 ? void 0 : _a.container;
20250
20399
  if (toolbar) {
20251
20400
  if (isEditorFocus.value) {
20252
- toolbar.style.display = 'flex';
20401
+ toolbar.style.display = 'block';
20253
20402
  }
20254
20403
  else {
20404
+ showMoreToolbar.value = false;
20255
20405
  toolbar.style.display = 'none';
20256
20406
  }
20257
20407
  }
@@ -20354,7 +20504,6 @@
20354
20504
  vue.watch(() => props.content, (newContent) => {
20355
20505
  if (!quill || !newContent || internalModelEquals(newContent))
20356
20506
  return;
20357
- // Restore the selection and cursor position after updating the content
20358
20507
  const selection = quill.getSelection();
20359
20508
  if (selection) {
20360
20509
  vue.nextTick(() => quill === null || quill === void 0 ? void 0 : quill.setSelection(selection));
@@ -20380,14 +20529,36 @@
20380
20529
  setText,
20381
20530
  reinit,
20382
20531
  editorWrapClass,
20532
+ showMoreToolbar,
20383
20533
  };
20384
20534
  },
20385
20535
  render() {
20386
- var _a, _b;
20387
20536
  return [
20388
20537
  vue.h('div', { class: this.editorWrapClass }, [
20389
- (_b = (_a = this.$slots).toolbar) === null || _b === void 0 ? void 0 : _b.call(_a),
20390
- vue.h('div', { ref: 'editor', ...this.$attrs }),
20538
+ // this.$slots.toolbar?.(), // 工具栏内容固定
20539
+ // needCollapse false 时,显示 MoreTools 组件
20540
+ this.showMoreToolbar && vue.h(MoreTools, {
20541
+ needCollapse: this.needCollapse,
20542
+ toolbarStyle: this.$props.toolbarStyle,
20543
+ onToolClick: (tool) => {
20544
+ var _a, _b, _c, _d;
20545
+ if (tool === 'undo') {
20546
+ (_b = (_a = this.getQuill()) === null || _a === void 0 ? void 0 : _a.getModule('history')) === null || _b === void 0 ? void 0 : _b.undo();
20547
+ }
20548
+ else if (tool === 'redo') {
20549
+ (_d = (_c = this.getQuill()) === null || _c === void 0 ? void 0 : _c.getModule('history')) === null || _d === void 0 ? void 0 : _d.redo();
20550
+ }
20551
+ else if (tool === 'ocr') {
20552
+ this.$emit('ocr');
20553
+ }
20554
+ else if (tool === 'math') {
20555
+ this.$emit('math');
20556
+ }
20557
+ }
20558
+ }),
20559
+ vue.h('div', {
20560
+ ref: 'editor', ...this.$attrs
20561
+ }),
20391
20562
  ]),
20392
20563
  ];
20393
20564
  },