@worktile/theia 3.0.2 → 3.0.5

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.
Files changed (71) hide show
  1. package/bundles/worktile-theia.umd.js +296 -379
  2. package/bundles/worktile-theia.umd.js.map +1 -1
  3. package/components/toolbar/toolbar.component.d.ts +1 -2
  4. package/components/toolbar-dropdown/toolbar-dropdown.component.d.ts +3 -13
  5. package/components/toolbar-group/toolbar-group.component.d.ts +2 -2
  6. package/components/toolbar-item/toolbar-item.component.d.ts +3 -11
  7. package/constants/node-types.d.ts +2 -1
  8. package/core/toolbar-item/base-toolbar-item.d.ts +29 -0
  9. package/editor.module.d.ts +42 -44
  10. package/esm2015/components/inline-toolbar/inline-toolbar.component.js +2 -2
  11. package/esm2015/components/toolbar/toolbar.component.js +14 -24
  12. package/esm2015/components/toolbar-dropdown/toolbar-dropdown.component.js +11 -41
  13. package/esm2015/components/toolbar-group/toolbar-group.component.js +4 -4
  14. package/esm2015/components/toolbar-item/toolbar-item.component.js +24 -41
  15. package/esm2015/constants/auto-format-rules.js +19 -2
  16. package/esm2015/constants/node-types.js +3 -2
  17. package/esm2015/core/toolbar-item/base-toolbar-item.js +92 -0
  18. package/esm2015/core/utils/merge-options.js +8 -8
  19. package/esm2015/editor.component.js +2 -2
  20. package/esm2015/editor.module.js +1 -4
  21. package/esm2015/interfaces/plugins/plugins.js +1 -1
  22. package/esm2015/interfaces/toolbar.js +2 -2
  23. package/esm2015/plugins/align/align.editor.js +3 -7
  24. package/esm2015/plugins/align/align.plugin.js +7 -4
  25. package/esm2015/plugins/code/code.component.js +6 -6
  26. package/esm2015/plugins/color/color.plugin.js +6 -3
  27. package/esm2015/plugins/color/toolbar-item.component.js +14 -23
  28. package/esm2015/plugins/common/reset-type.plugin.js +3 -3
  29. package/esm2015/plugins/deserializers/deserialize-html.plugin.js +3 -3
  30. package/esm2015/plugins/font-size/font-size.editor.js +8 -14
  31. package/esm2015/plugins/heading/heading.editor.js +3 -2
  32. package/esm2015/plugins/heading/heading.plugin.js +2 -2
  33. package/esm2015/plugins/indent/indent.editor.js +1 -10
  34. package/esm2015/plugins/indent/indent.plugin.js +8 -7
  35. package/esm2015/plugins/inline-code/inline-code.plugin.js +6 -3
  36. package/esm2015/plugins/link/link.plugin.js +6 -3
  37. package/esm2015/plugins/mark/mark.plugin.js +6 -3
  38. package/esm2015/plugins/public-api.js +1 -2
  39. package/esm2015/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.js +2 -2
  40. package/esm2015/plugins/table/components/table.component.js +4 -1
  41. package/esm2015/plugins/table/toolbar-item.component.js +10 -20
  42. package/esm2015/plugins/vertical-align/toolbar-item.component.js +6 -20
  43. package/esm2015/plugins/vertical-align/vertical-align.editor.js +2 -2
  44. package/esm2015/public-api.js +2 -2
  45. package/esm2015/queries/get-insert-elements-path.js +1 -1
  46. package/esm2015/queries/get-plugin-key-by-toolbar-key.js +10 -0
  47. package/esm2015/queries/get-toolbar-disabled.js +14 -0
  48. package/esm2015/queries/index.js +4 -2
  49. package/esm2015/utils/fragment.js +7 -4
  50. package/fesm2015/worktile-theia.js +263 -344
  51. package/fesm2015/worktile-theia.js.map +1 -1
  52. package/interfaces/plugins/plugins.d.ts +5 -2
  53. package/interfaces/toolbar.d.ts +2 -1
  54. package/package.json +1 -1
  55. package/plugins/code/code.component.d.ts +2 -2
  56. package/plugins/color/toolbar-item.component.d.ts +3 -9
  57. package/plugins/font-size/font-size.editor.d.ts +0 -1
  58. package/plugins/heading/heading.plugin.d.ts +3 -3
  59. package/plugins/indent/indent.editor.d.ts +0 -1
  60. package/plugins/public-api.d.ts +0 -1
  61. package/plugins/table/toolbar-item.component.d.ts +3 -9
  62. package/plugins/vertical-align/toolbar-item.component.d.ts +5 -13
  63. package/public-api.d.ts +1 -1
  64. package/queries/get-plugin-key-by-toolbar-key.d.ts +3 -0
  65. package/queries/get-toolbar-disabled.d.ts +4 -0
  66. package/queries/index.d.ts +3 -1
  67. package/utils/fragment.d.ts +2 -2
  68. package/components/toolbar-base-item/toolbar-base-item.component.d.ts +0 -11
  69. package/esm2015/components/toolbar-base-item/toolbar-base-item.component.js +0 -24
  70. package/esm2015/plugins/indent/toolbar-item.component.js +0 -115
  71. package/plugins/indent/toolbar-item.component.d.ts +0 -36
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('slate-angular'), require('ngx-tethys/core'), require('is-hotkey'), require('slate'), require('slate-history'), require('rxjs'), require('ngx-tethys/popover'), require('ngx-tethys/icon'), require('ngx-tethys/input'), require('@atinc/selene'), require('lodash'), require('ngx-tethys/util'), require('@angular/cdk/overlay'), require('marked'), require('ngx-tethys'), require('ngx-tethys/alert'), require('rxjs/operators'), require('ngx-tethys/uploader'), require('@angular/platform-browser'), require('ngx-tethys/progress'), require('ngx-tethys/nav'), require('ngx-tethys/tooltip'), require('ng-codemirror'), require('ngx-tethys/notify'), require('ngx-tethys/action-menu'), require('ngx-tethys/switch'), require('ngx-tethys/resizable'), require('is-url'), require('ngx-tethys/button'), require('ngx-tethys/form'), require('ngx-tethys/shared'), require('@angular/cdk/coercion'), require('@angular/cdk/portal'), require('ngx-tethys/list'), require('ngx-tethys/autocomplete'), require('ngx-tethys/avatar'), require('ngx-tethys/select')) :
3
3
  typeof define === 'function' && define.amd ? define('@worktile/theia', ['exports', '@angular/core', '@angular/common', '@angular/forms', 'slate-angular', 'ngx-tethys/core', 'is-hotkey', 'slate', 'slate-history', 'rxjs', 'ngx-tethys/popover', 'ngx-tethys/icon', 'ngx-tethys/input', '@atinc/selene', 'lodash', 'ngx-tethys/util', '@angular/cdk/overlay', 'marked', 'ngx-tethys', 'ngx-tethys/alert', 'rxjs/operators', 'ngx-tethys/uploader', '@angular/platform-browser', 'ngx-tethys/progress', 'ngx-tethys/nav', 'ngx-tethys/tooltip', 'ng-codemirror', 'ngx-tethys/notify', 'ngx-tethys/action-menu', 'ngx-tethys/switch', 'ngx-tethys/resizable', 'is-url', 'ngx-tethys/button', 'ngx-tethys/form', 'ngx-tethys/shared', '@angular/cdk/coercion', '@angular/cdk/portal', 'ngx-tethys/list', 'ngx-tethys/autocomplete', 'ngx-tethys/avatar', 'ngx-tethys/select'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.worktile = global.worktile || {}, global.worktile.theia = {}), global.ng.core, global.ng.common, global.ng.forms, global.i1, global.core, global.isHotkey, global.slate, global.slateHistory, global.rxjs, global.i1$1, global.i4, global.i5, global.selene, global._lodash, global.util, global.ng.cdk.overlay, global.marked, global.i1$2, global.i1$3, global.rxjs.operators, global.uploader, global.ng.platformBrowser, global.i6, global.i3, global.i5$1, global.i8, global.i1$5, global.i2$1, global.i5$2, global.i9, global.isUrl, global.i1$6, global.i2$2, global.i5$3, global.ng.cdk.coercion, global.ng.cdk.portal, global.i1$7, global.autocomplete, global.avatar, global.select));
5
- })(this, (function (exports, i0, i10, i4$1, i1, core, isHotkey, slate, slateHistory, rxjs, i1$1, i4, i5, selene, _lodash, util, i2, marked, i1$2, i1$3, operators, uploader, i1$4, i6, i3, i5$1, i8, i1$5, i2$1, i5$2, i9, isUrl, i1$6, i2$2, i5$3, coercion, portal, i1$7, autocomplete, avatar, select) { 'use strict';
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.worktile = global.worktile || {}, global.worktile.theia = {}), global.ng.core, global.ng.common, global.ng.forms, global.i1, global.core, global.isHotkey, global.slate, global.slateHistory, global.rxjs, global.i1$1, global.i3, global.i5, global.selene, global._lodash, global.util, global.ng.cdk.overlay, global.marked, global.i1$2, global.i1$3, global.rxjs.operators, global.uploader, global.ng.platformBrowser, global.i6, global.i3$1, global.i5$1, global.i8, global.i1$5, global.i2$1, global.i5$2, global.i9, global.isUrl, global.i1$6, global.i2$2, global.i5$3, global.ng.cdk.coercion, global.ng.cdk.portal, global.i1$7, global.autocomplete, global.avatar, global.select));
5
+ })(this, (function (exports, i0, i10, i4, i1, core, isHotkey, slate, slateHistory, rxjs, i1$1, i3, i5, selene, _lodash, util, i2, marked, i1$2, i1$3, operators, uploader, i1$4, i6, i3$1, i5$1, i8, i1$5, i2$1, i5$2, i9, isUrl, i1$6, i2$2, i5$3, coercion, portal, i1$7, autocomplete, avatar, select) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -26,11 +26,11 @@
26
26
 
27
27
  var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
28
28
  var i10__namespace = /*#__PURE__*/_interopNamespace(i10);
29
- var i4__namespace$1 = /*#__PURE__*/_interopNamespace(i4$1);
29
+ var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
30
30
  var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
31
31
  var isHotkey__default = /*#__PURE__*/_interopDefaultLegacy(isHotkey);
32
32
  var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
33
- var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
33
+ var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
34
34
  var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
35
35
  var _lodash__namespace = /*#__PURE__*/_interopNamespace(_lodash);
36
36
  var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
@@ -39,7 +39,7 @@
39
39
  var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$3);
40
40
  var i1__namespace$3 = /*#__PURE__*/_interopNamespace(i1$4);
41
41
  var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
42
- var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
42
+ var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$1);
43
43
  var i5__namespace$1 = /*#__PURE__*/_interopNamespace(i5$1);
44
44
  var i8__namespace = /*#__PURE__*/_interopNamespace(i8);
45
45
  var i1__namespace$4 = /*#__PURE__*/_interopNamespace(i1$5);
@@ -510,7 +510,8 @@
510
510
  var CONTAINER_BLOCKS = [exports.ElementKinds.blockquote, exports.ElementKinds.tableCell];
511
511
  var LIST_BLOCK_TYPES = [exports.ElementKinds.numberedList, exports.ElementKinds.bulletedList];
512
512
  var VOID_BLOCK_TYPES = [exports.ElementKinds.image, exports.ElementKinds.hr];
513
- var BLOCK_DELETEBACKWARD_TYPES = [exports.ElementKinds.tableCell];
513
+ var BLOCK_DELETE_BACKWARD_TYPES = [exports.ElementKinds.tableCell];
514
+ var DISABLED_OPERATE_TYPES = [exports.ElementKinds.code, exports.ElementKinds.hr];
514
515
 
515
516
  exports.ErrorCodes = void 0;
516
517
  (function (ErrorCodes) {
@@ -810,7 +811,7 @@
810
811
  exports.ToolbarItemType = void 0;
811
812
  (function (ToolbarItemType) {
812
813
  ToolbarItemType["default"] = "default";
813
- ToolbarItemType["toolDropdown"] = "tool-dropdown";
814
+ ToolbarItemType["dropdown"] = "dropdown";
814
815
  })(exports.ToolbarItemType || (exports.ToolbarItemType = {}));
815
816
  exports.ToolbarAlignment = void 0;
816
817
  (function (ToolbarAlignment) {
@@ -1034,7 +1035,7 @@
1034
1035
  return TheColorSelectComponent;
1035
1036
  }());
1036
1037
  TheColorSelectComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheColorSelectComponent, deps: [{ token: i1__namespace$1.ThyPopoverRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
1037
- TheColorSelectComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheColorSelectComponent, selector: "the-color-select", inputs: { selectedColor: "selectedColor", selectAction: "selectAction", showCustom: "showCustom", colors: "colors", option: "option" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)", "mousedown": "handleMouseDown($event)", "keydown": "handleKeydown($event)" } }, ngImport: i0__namespace, template: "<div class=\"color-container\">\n <div class=\"colors\">\n <div *ngFor=\"let row of selectColors; let rowIndex = index\">\n <span\n class=\"color-item\"\n *ngFor=\"let _color of row.rowValue; let i = index\"\n [ngClass]=\"_color.classMaps\"\n (mousedown)=\"_selectColor($event, _color.value)\"\n >\n <span [ngStyle]=\"{ background: _color.value }\">\n <thy-icon thyIconName=\"check\" [ngStyle]=\"{ color: row.tickColor }\"></thy-icon>\n </span>\n </span>\n </div>\n </div>\n <div *ngIf=\"option.showCustom\" class=\"select-color\">\n <span class=\"color\" [ngStyle]=\"{ background: selectedColor }\"></span>\n #\n <input\n thyInput\n maxlength=\"6\"\n (keydown.enter)=\"customInputColorEnter($event)\"\n onkeyup=\"value=value.replace(/[^0-9A-Fa-f]/g,'')\"\n class=\"value\"\n [(ngModel)]=\"customColor\"\n (ngModelChange)=\"colorChange(false)\"\n />\n </div>\n</div>\n", components: [{ type: i4__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5__namespace.ThyInputDirective, selector: "[thyInput]", inputs: ["thySize", "thyAutocomplete"] }, { type: i4__namespace$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i4__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1038
+ TheColorSelectComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheColorSelectComponent, selector: "the-color-select", inputs: { selectedColor: "selectedColor", selectAction: "selectAction", showCustom: "showCustom", colors: "colors", option: "option" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)", "mousedown": "handleMouseDown($event)", "keydown": "handleKeydown($event)" } }, ngImport: i0__namespace, template: "<div class=\"color-container\">\n <div class=\"colors\">\n <div *ngFor=\"let row of selectColors; let rowIndex = index\">\n <span\n class=\"color-item\"\n *ngFor=\"let _color of row.rowValue; let i = index\"\n [ngClass]=\"_color.classMaps\"\n (mousedown)=\"_selectColor($event, _color.value)\"\n >\n <span [ngStyle]=\"{ background: _color.value }\">\n <thy-icon thyIconName=\"check\" [ngStyle]=\"{ color: row.tickColor }\"></thy-icon>\n </span>\n </span>\n </div>\n </div>\n <div *ngIf=\"option.showCustom\" class=\"select-color\">\n <span class=\"color\" [ngStyle]=\"{ background: selectedColor }\"></span>\n #\n <input\n thyInput\n maxlength=\"6\"\n (keydown.enter)=\"customInputColorEnter($event)\"\n onkeyup=\"value=value.replace(/[^0-9A-Fa-f]/g,'')\"\n class=\"value\"\n [(ngModel)]=\"customColor\"\n (ngModelChange)=\"colorChange(false)\"\n />\n </div>\n</div>\n", components: [{ type: i3__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5__namespace.ThyInputDirective, selector: "[thyInput]", inputs: ["thySize", "thyAutocomplete"] }, { type: i4__namespace.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i4__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1038
1039
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheColorSelectComponent, decorators: [{
1039
1040
  type: i0.Component,
1040
1041
  args: [{
@@ -1342,10 +1343,10 @@
1342
1343
  return nodes;
1343
1344
  }
1344
1345
  /**
1345
- * 删除 text 节点的 颜色/背景色
1346
+ * 过滤文本格式:颜色/背景色/字体大小
1346
1347
  * @param node
1347
1348
  */
1348
- function deleteColorAndBackgroundColorOfText(node) {
1349
+ function filterTextFormat(node) {
1349
1350
  node.children.forEach(function (child) {
1350
1351
  if (slate.Text.isText(child)) {
1351
1352
  if (child['color']) {
@@ -1354,9 +1355,12 @@
1354
1355
  if (child['background-color']) {
1355
1356
  delete child['background-color'];
1356
1357
  }
1358
+ if (child['font-size']) {
1359
+ delete child['font-size'];
1360
+ }
1357
1361
  }
1358
1362
  else {
1359
- deleteColorAndBackgroundColorOfText(child);
1363
+ filterTextFormat(child);
1360
1364
  }
1361
1365
  });
1362
1366
  }
@@ -1451,17 +1455,17 @@
1451
1455
 
1452
1456
  var mergeOptions = function (plugin, override) {
1453
1457
  var options = plugin.options;
1454
- var newOptions = {};
1455
- for (var option in options) {
1456
- if (Array.isArray(options[option]) && override.options[option]) {
1457
- newOptions[option] = mergeArray(options[option], override.options[option]);
1458
+ var newOptions = options;
1459
+ for (var option in override.options) {
1460
+ if (Array.isArray(override.options[option]) && newOptions[option]) {
1461
+ newOptions[option] = mergeArray(newOptions[option], override.options[option]);
1458
1462
  continue;
1459
1463
  }
1460
- if (util.isObject(options[option])) {
1461
- newOptions[option] = _.assign(options[option], override.options[option]);
1464
+ if (util.isObject(override.options[option]) && newOptions[option]) {
1465
+ newOptions[option] = _.assign(newOptions[option], override.options[option]);
1462
1466
  continue;
1463
1467
  }
1464
- newOptions[option] = override.options[option] ? override.options[option] : options[option];
1468
+ newOptions[option] = override.options[option];
1465
1469
  }
1466
1470
  plugin.options = newOptions;
1467
1471
  };
@@ -2445,6 +2449,28 @@
2445
2449
  return false;
2446
2450
  };
2447
2451
 
2452
+ var getToolbarItemDisabled = function (editor, key, customTypes) {
2453
+ var _a, _b;
2454
+ if (editor.selection) {
2455
+ var disabledOperateTypes = (_b = (_a = getPluginOptions(editor, key)) === null || _a === void 0 ? void 0 : _a.disabledOperateTypes) !== null && _b !== void 0 ? _b : [];
2456
+ if (customTypes === null || customTypes === void 0 ? void 0 : customTypes.length) {
2457
+ disabledOperateTypes = Array.from(new Set(__spreadArray(__spreadArray([], __read(disabledOperateTypes)), __read(customTypes))));
2458
+ }
2459
+ var anchorNode = anchorBlock(editor);
2460
+ return anchorNode && disabledOperateTypes.includes(anchorNode === null || anchorNode === void 0 ? void 0 : anchorNode.type);
2461
+ }
2462
+ };
2463
+
2464
+ var getPluginKeyByToolbarKey = function (editor, toolbarKey) {
2465
+ for (var key in editor.pluginsByKey) {
2466
+ var toolbarItems = editor.pluginsByKey[key].toolbarItems;
2467
+ if (toolbarItems && toolbarItems.some(function (item) { return item.key === toolbarKey; })) {
2468
+ toolbarKey = key;
2469
+ }
2470
+ }
2471
+ return toolbarKey;
2472
+ };
2473
+
2448
2474
  var index$1 = /*#__PURE__*/Object.freeze({
2449
2475
  __proto__: null,
2450
2476
  getLastNode: getLastNode,
@@ -2501,7 +2527,9 @@
2501
2527
  findPath: findPath,
2502
2528
  findNode: findNode,
2503
2529
  findDescendant: findDescendant,
2504
- someNode: someNode
2530
+ someNode: someNode,
2531
+ getToolbarItemDisabled: getToolbarItemDisabled,
2532
+ getPluginKeyByToolbarKey: getPluginKeyByToolbarKey
2505
2533
  });
2506
2534
 
2507
2535
  var insertElements = function (editor, elements) {
@@ -3037,7 +3065,7 @@
3037
3065
  editor.onKeydown = function (event) {
3038
3066
  var selection = editor.selection;
3039
3067
  if (i1.IS_SAFARI && selection && slate.Range.isCollapsed(selection) && i1.hotkeys.isDeleteBackward(event)) {
3040
- var blockEntry = getAboveByType(editor, BLOCK_DELETEBACKWARD_TYPES);
3068
+ var blockEntry = getAboveByType(editor, BLOCK_DELETE_BACKWARD_TYPES);
3041
3069
  if (blockEntry && blockEntry[0]) {
3042
3070
  var isStart = slate.Editor.isStart(editor, selection.anchor, blockEntry[1]);
3043
3071
  if (isStart) {
@@ -3513,7 +3541,7 @@
3513
3541
  return TheImageComponent;
3514
3542
  }(TheBaseElementComponent));
3515
3543
  TheImageComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheImageComponent, deps: [{ token: i0__namespace.ElementRef }, { token: i1__namespace$3.DomSanitizer }, { token: THE_UPLOAD_SERVICE_TOKEN }, { token: i0__namespace.ChangeDetectorRef }, { token: TheContextService }, { token: i1__namespace$1.ThyPopover }, { token: i2__namespace.Overlay }, { token: i0__namespace.ViewContainerRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
3516
- TheImageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheImageComponent, selector: "the-image, [theImage]", viewQueries: [{ propertyName: "imageContent", first: true, predicate: ["imageContent"], descendants: true }, { propertyName: "img", first: true, predicate: ["img"], descendants: true }, { propertyName: "layoutToolbar", first: true, predicate: ["layoutToolbar"], descendants: true, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "<slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"></slate-children>\n\n<div class=\"image-container\" contenteditable=\"false\" [style.textAlign]=\"imageEntry.align\">\n <div\n #imageContent\n *ngIf=\"imageEntry.thumbUrl\"\n class=\"image-content\"\n [class.pointer]=\"!selection\"\n [ngStyle]=\"{\n 'width.px':\n imageEntry?.layout && imageEntry?.width > layoutDefaultWidth && !imageEntry?.reSized\n ? layoutDefaultWidth\n : imageEntry.width,\n 'height.px': imageEntry.height\n }\"\n >\n <img #img class=\"main-image\" [src]=\"imageEntry.thumbUrl\" [alt]=\"imageEntry.name\" />\n <div *ngIf=\"selection\" class=\"image-profile\" [class.outline]=\"selection\">\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left top\"></span>\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right top\"></span>\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right bottom\"></span>\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left bottom\"></span>\n </div>\n <div *ngIf=\"uploading\" class=\"uploading\">\n <div class=\"uploading-percentage\">\n <thy-progress thyType=\"primary\" [thyValue]=\"percentage\" thySize=\"sm\"></thy-progress>\n <thy-icon (click)=\"cancelUpload($event)\" thyIconName=\"close-circle-bold-fill\" thyIconLegging=\"true\"></thy-icon>\n </div>\n </div>\n <div *ngIf=\"!uploading\" class=\"layer\" (mousedown)=\"preview($event)\" [class.readonly]=\"readonly\"></div>\n </div>\n <div *ngIf=\"!imageEntry.thumbUrl\" class=\"image-loading\" contenteditable=\"false\">\n <thy-icon thyIconName=\"image\"></thy-icon>\n </div>\n</div>\n\n<ng-template #layoutToolbar>\n <div class=\"the-block-toolbar-popover\" contenteditable=\"false\">\n <thy-icon-nav>\n <ng-container *ngFor=\"let item of layoutOptions\">\n <a\n *ngIf=\"item.key !== 'split'\"\n href=\"javascript:;\"\n thyIconNavLink\n [ngClass]=\"{ 'remove-link': item.key === 'remove' }\"\n [thyIconNavLinkIcon]=\"item.icon\"\n [thyTooltip]=\"item.name\"\n [thyIconNavLinkActive]=\"layoutActive(item.key)\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"item?.handle($event, item.key)\"\n ></a>\n <nav-split-line *ngIf=\"item.key === 'split'\"></nav-split-line>\n </ng-container>\n </thy-icon-nav>\n </div>\n</ng-template>\n", components: [{ type: i1__namespace.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }, { type: i6__namespace.ThyProgressComponent, selector: "thy-progress", inputs: ["thyType", "thySize", "thyValue", "thyMax", "thyTips"] }, { type: i4__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i3__namespace.ThyIconNavComponent, selector: "thy-icon-nav", inputs: ["thyType"] }, { type: i3__namespace.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }], directives: [{ type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5__namespace$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
3544
+ TheImageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheImageComponent, selector: "the-image, [theImage]", viewQueries: [{ propertyName: "imageContent", first: true, predicate: ["imageContent"], descendants: true }, { propertyName: "img", first: true, predicate: ["img"], descendants: true }, { propertyName: "layoutToolbar", first: true, predicate: ["layoutToolbar"], descendants: true, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "<slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"></slate-children>\n\n<div class=\"image-container\" contenteditable=\"false\" [style.textAlign]=\"imageEntry.align\">\n <div\n #imageContent\n *ngIf=\"imageEntry.thumbUrl\"\n class=\"image-content\"\n [class.pointer]=\"!selection\"\n [ngStyle]=\"{\n 'width.px':\n imageEntry?.layout && imageEntry?.width > layoutDefaultWidth && !imageEntry?.reSized\n ? layoutDefaultWidth\n : imageEntry.width,\n 'height.px': imageEntry.height\n }\"\n >\n <img #img class=\"main-image\" [src]=\"imageEntry.thumbUrl\" [alt]=\"imageEntry.name\" />\n <div *ngIf=\"selection\" class=\"image-profile\" [class.outline]=\"selection\">\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left top\"></span>\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right top\"></span>\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right bottom\"></span>\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left bottom\"></span>\n </div>\n <div *ngIf=\"uploading\" class=\"uploading\">\n <div class=\"uploading-percentage\">\n <thy-progress thyType=\"primary\" [thyValue]=\"percentage\" thySize=\"sm\"></thy-progress>\n <thy-icon (click)=\"cancelUpload($event)\" thyIconName=\"close-circle-bold-fill\" thyIconLegging=\"true\"></thy-icon>\n </div>\n </div>\n <div *ngIf=\"!uploading\" class=\"layer\" (mousedown)=\"preview($event)\" [class.readonly]=\"readonly\"></div>\n </div>\n <div *ngIf=\"!imageEntry.thumbUrl\" class=\"image-loading\" contenteditable=\"false\">\n <thy-icon thyIconName=\"image\"></thy-icon>\n </div>\n</div>\n\n<ng-template #layoutToolbar>\n <div class=\"the-block-toolbar-popover\" contenteditable=\"false\">\n <thy-icon-nav>\n <ng-container *ngFor=\"let item of layoutOptions\">\n <a\n *ngIf=\"item.key !== 'split'\"\n href=\"javascript:;\"\n thyIconNavLink\n [ngClass]=\"{ 'remove-link': item.key === 'remove' }\"\n [thyIconNavLinkIcon]=\"item.icon\"\n [thyTooltip]=\"item.name\"\n [thyIconNavLinkActive]=\"layoutActive(item.key)\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"item?.handle($event, item.key)\"\n ></a>\n <nav-split-line *ngIf=\"item.key === 'split'\"></nav-split-line>\n </ng-container>\n </thy-icon-nav>\n </div>\n</ng-template>\n", components: [{ type: i1__namespace.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }, { type: i6__namespace.ThyProgressComponent, selector: "thy-progress", inputs: ["thyType", "thySize", "thyValue", "thyMax", "thyTips"] }, { type: i3__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i3__namespace$1.ThyIconNavComponent, selector: "thy-icon-nav", inputs: ["thyType"] }, { type: i3__namespace$1.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }], directives: [{ type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5__namespace$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
3517
3545
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheImageComponent, decorators: [{
3518
3546
  type: i0.Component,
3519
3547
  args: [{
@@ -5964,12 +5992,7 @@
5964
5992
  var _a;
5965
5993
  var contextService = (_a = editor === null || editor === void 0 ? void 0 : editor.injector) === null || _a === void 0 ? void 0 : _a.get(TheContextService);
5966
5994
  var richMedia = contextService.getOptions().theOptions.richMedia;
5967
- if (richMedia && editor.selection) {
5968
- var disableGroup = [exports.ElementKinds.image];
5969
- var anchorBlock$1 = anchorBlock(editor);
5970
- return anchorBlock$1 && disableGroup.includes(anchorBlock$1 === null || anchorBlock$1 === void 0 ? void 0 : anchorBlock$1.type);
5971
- }
5972
- return false;
5995
+ return getToolbarItemDisabled(editor, exports.PluginKeys.align, richMedia ? [exports.ElementKinds.image] : []);
5973
5996
  },
5974
5997
  setAlign: function (editor, alignment) {
5975
5998
  if (TableEditor.setAlign(editor, alignment)) {
@@ -6009,7 +6032,7 @@
6009
6032
  toolbarItems: [
6010
6033
  {
6011
6034
  key: exports.ToolbarActionTypes.alignType,
6012
- type: exports.ToolbarItemType.toolDropdown,
6035
+ type: exports.ToolbarItemType.dropdown,
6013
6036
  dropdownMode: exports.DropdownMode.icon,
6014
6037
  dropdownItemKey: exports.ToolbarActionTypes.alignLeft,
6015
6038
  includes: [exports.ToolbarActionTypes.alignLeft, exports.ToolbarActionTypes.alignCenter, exports.ToolbarActionTypes.alignRight],
@@ -6037,11 +6060,15 @@
6037
6060
  execute: function (editor) { return AlignEditor.setAlign(editor, exports.Alignment.right); },
6038
6061
  active: function (editor) { return AlignEditor.isActive(editor, exports.Alignment.right); }
6039
6062
  }
6040
- ]
6063
+ ],
6064
+ options: {
6065
+ disabledOperateTypes: __spreadArray([], __read(DISABLED_OPERATE_TYPES))
6066
+ }
6041
6067
  });
6042
6068
 
6043
6069
  var headingOptions = {
6044
6070
  allowParentTypes: [exports.ElementKinds.tableCell, exports.ElementKinds.blockquote],
6071
+ disabledOperateTypes: __spreadArray([exports.ElementKinds.image], __read(DISABLED_OPERATE_TYPES)),
6045
6072
  cleanupTypes: [exports.ElementKinds.bulletedList, exports.ElementKinds.numberedList, exports.ElementKinds.listItem]
6046
6073
  };
6047
6074
  var HeadingEditor = {
@@ -6120,7 +6147,7 @@
6120
6147
  {
6121
6148
  key: exports.ElementKinds.headingList,
6122
6149
  name: '正文',
6123
- type: exports.ToolbarItemType.toolDropdown,
6150
+ type: exports.ToolbarItemType.dropdown,
6124
6151
  dropdownItemKey: exports.ElementKinds.paragraph,
6125
6152
  includes: __spreadArray([exports.ElementKinds.paragraph], __read(STANDARD_HEADING_TYPES))
6126
6153
  },
@@ -6286,7 +6313,10 @@
6286
6313
  execute: function (editor) { return MarkEditor.toggleMark(editor, exports.MarkTypes.underline); },
6287
6314
  active: function (editor) { return MarkEditor.isMarkActive(editor, exports.MarkTypes.underline); }
6288
6315
  }
6289
- ]
6316
+ ],
6317
+ options: {
6318
+ disabledOperateTypes: __spreadArray([exports.ElementKinds.image], __read(DISABLED_OPERATE_TYPES))
6319
+ }
6290
6320
  });
6291
6321
 
6292
6322
  var withNodeID = function (e) {
@@ -6556,6 +6586,7 @@
6556
6586
 
6557
6587
  var defaultAutoFormatRules = [
6558
6588
  {
6589
+ key: exports.ElementKinds.heading_1,
6559
6590
  type: exports.ElementKinds.heading_1,
6560
6591
  markup: '#',
6561
6592
  format: function (editor) {
@@ -6563,6 +6594,7 @@
6563
6594
  }
6564
6595
  },
6565
6596
  {
6597
+ key: exports.ElementKinds.heading_2,
6566
6598
  type: exports.ElementKinds.heading_2,
6567
6599
  markup: '##',
6568
6600
  format: function (editor) {
@@ -6570,6 +6602,7 @@
6570
6602
  }
6571
6603
  },
6572
6604
  {
6605
+ key: exports.ElementKinds.heading_3,
6573
6606
  type: exports.ElementKinds.heading_3,
6574
6607
  markup: '###',
6575
6608
  format: function (editor) {
@@ -6577,6 +6610,7 @@
6577
6610
  }
6578
6611
  },
6579
6612
  {
6613
+ key: exports.ElementKinds.heading_4,
6580
6614
  type: exports.ElementKinds.heading_4,
6581
6615
  markup: '####',
6582
6616
  format: function (editor) {
@@ -6584,6 +6618,7 @@
6584
6618
  }
6585
6619
  },
6586
6620
  {
6621
+ key: exports.ElementKinds.heading_5,
6587
6622
  type: exports.ElementKinds.heading_5,
6588
6623
  markup: '#####',
6589
6624
  format: function (editor) {
@@ -6591,6 +6626,7 @@
6591
6626
  }
6592
6627
  },
6593
6628
  {
6629
+ key: exports.ElementKinds.heading_6,
6594
6630
  type: exports.ElementKinds.heading_6,
6595
6631
  markup: '######',
6596
6632
  format: function (editor) {
@@ -6598,6 +6634,7 @@
6598
6634
  }
6599
6635
  },
6600
6636
  {
6637
+ key: exports.ElementKinds.blockquote,
6601
6638
  type: exports.ElementKinds.blockquote,
6602
6639
  markup: ['>'],
6603
6640
  format: function (editor) {
@@ -6605,30 +6642,35 @@
6605
6642
  }
6606
6643
  },
6607
6644
  {
6645
+ key: exports.MarkTypes.bold,
6608
6646
  type: exports.MarkTypes.bold,
6609
6647
  between: ['**', '**'],
6610
6648
  mode: 'inline',
6611
6649
  insertTrigger: true
6612
6650
  },
6613
6651
  {
6652
+ key: exports.MarkTypes.bold + "__",
6614
6653
  type: exports.MarkTypes.bold,
6615
6654
  between: ['__', '__'],
6616
6655
  mode: 'inline',
6617
6656
  insertTrigger: true
6618
6657
  },
6619
6658
  {
6659
+ key: exports.MarkTypes.italic,
6620
6660
  type: exports.MarkTypes.italic,
6621
6661
  between: ['*', '*'],
6622
6662
  mode: 'inline',
6623
6663
  insertTrigger: true
6624
6664
  },
6625
6665
  {
6666
+ key: exports.MarkTypes.italic + "_",
6626
6667
  type: exports.MarkTypes.italic,
6627
6668
  between: ['_', '_'],
6628
6669
  mode: 'inline',
6629
6670
  insertTrigger: true
6630
6671
  },
6631
6672
  {
6673
+ key: exports.ElementKinds.inlineCode,
6632
6674
  type: exports.ElementKinds.inlineCode,
6633
6675
  between: ['`', '`'],
6634
6676
  mode: 'inline',
@@ -6638,12 +6680,14 @@
6638
6680
  }
6639
6681
  },
6640
6682
  {
6683
+ key: exports.MarkTypes.strike,
6641
6684
  type: exports.MarkTypes.strike,
6642
6685
  between: ['~~', '~~'],
6643
6686
  mode: 'inline',
6644
6687
  insertTrigger: true
6645
6688
  },
6646
6689
  {
6690
+ key: exports.ElementKinds.code,
6647
6691
  type: exports.ElementKinds.code,
6648
6692
  markup: '```',
6649
6693
  format: function (editor) {
@@ -6651,6 +6695,7 @@
6651
6695
  }
6652
6696
  },
6653
6697
  {
6698
+ key: exports.ElementKinds.listItem,
6654
6699
  type: exports.ElementKinds.listItem,
6655
6700
  markup: [],
6656
6701
  match: function (editor) {
@@ -6661,8 +6706,8 @@
6661
6706
  }
6662
6707
  },
6663
6708
  {
6664
- type: exports.ElementKinds.listItem,
6665
6709
  key: exports.ElementKinds.numberedList,
6710
+ type: exports.ElementKinds.listItem,
6666
6711
  markup: [],
6667
6712
  match: function (editor, textFromBlockStart) {
6668
6713
  return isParagraph(editor) && /^-?\d+(\.|\))$/.test(textFromBlockStart) ? [textFromBlockStart] : [];
@@ -6679,6 +6724,7 @@
6679
6724
  }
6680
6725
  },
6681
6726
  {
6727
+ key: exports.ElementKinds.checkItem,
6682
6728
  type: exports.ElementKinds.checkItem,
6683
6729
  markup: [],
6684
6730
  match: function (editor) {
@@ -6689,6 +6735,7 @@
6689
6735
  }
6690
6736
  },
6691
6737
  {
6738
+ key: exports.ElementKinds.hr,
6692
6739
  type: exports.ElementKinds.hr,
6693
6740
  markup: '---',
6694
6741
  insertTrigger: true
@@ -7379,10 +7426,34 @@
7379
7426
  withOverrides: withRemoveVoid
7380
7427
  });
7381
7428
 
7382
- var TheToolbarBaseItemComponent = /** @class */ (function () {
7383
- function TheToolbarBaseItemComponent() {
7429
+ var TheBaseToolbarItem = /** @class */ (function () {
7430
+ function TheBaseToolbarItem() {
7384
7431
  }
7385
- TheToolbarBaseItemComponent.prototype.execute = function (event) {
7432
+ Object.defineProperty(TheBaseToolbarItem.prototype, "toolbarItem", {
7433
+ get: function () {
7434
+ return this._toolbarItem;
7435
+ },
7436
+ set: function (value) {
7437
+ this._toolbarItem = value;
7438
+ },
7439
+ enumerable: false,
7440
+ configurable: true
7441
+ });
7442
+ Object.defineProperty(TheBaseToolbarItem.prototype, "disabledState", {
7443
+ get: function () {
7444
+ return this.disabled;
7445
+ },
7446
+ enumerable: false,
7447
+ configurable: true
7448
+ });
7449
+ Object.defineProperty(TheBaseToolbarItem.prototype, "activeState", {
7450
+ get: function () {
7451
+ return this.active;
7452
+ },
7453
+ enumerable: false,
7454
+ configurable: true
7455
+ });
7456
+ TheBaseToolbarItem.prototype.execute = function (event) {
7386
7457
  var _a;
7387
7458
  event.preventDefault();
7388
7459
  event.stopPropagation();
@@ -7393,13 +7464,76 @@
7393
7464
  i1.AngularEditor.focus(this.editor);
7394
7465
  }
7395
7466
  };
7396
- return TheToolbarBaseItemComponent;
7467
+ TheBaseToolbarItem.prototype.selectionChange = function (editor) {
7468
+ var _a, _b, _c, _d, _e, _f;
7469
+ if (editor.selection) {
7470
+ this.active = ((_a = this._toolbarItem) === null || _a === void 0 ? void 0 : _a.active) ? (_b = this._toolbarItem) === null || _b === void 0 ? void 0 : _b.active(editor) : false;
7471
+ if ((_c = this._toolbarItem) === null || _c === void 0 ? void 0 : _c.disable) {
7472
+ this.disabled = ((_d = this._toolbarItem) === null || _d === void 0 ? void 0 : _d.disable) ? (_e = this._toolbarItem) === null || _e === void 0 ? void 0 : _e.disable(editor) : false;
7473
+ }
7474
+ else {
7475
+ var pluginKey = getPluginKeyByToolbarKey(editor, (_f = this._toolbarItem) === null || _f === void 0 ? void 0 : _f.key);
7476
+ this.disabled = pluginKey && getToolbarItemDisabled(editor, pluginKey);
7477
+ }
7478
+ }
7479
+ };
7480
+ return TheBaseToolbarItem;
7397
7481
  }());
7398
- TheToolbarBaseItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheToolbarBaseItemComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
7399
- TheToolbarBaseItemComponent.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.15", type: TheToolbarBaseItemComponent, ngImport: i0__namespace });
7400
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheToolbarBaseItemComponent, decorators: [{
7482
+ TheBaseToolbarItem.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheBaseToolbarItem, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
7483
+ TheBaseToolbarItem.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.15", type: TheBaseToolbarItem, inputs: { toolbarItem: "toolbarItem", editor: "editor" }, host: { properties: { "class.disabled": "this.disabledState", "class.active": "this.activeState" } }, ngImport: i0__namespace });
7484
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheBaseToolbarItem, decorators: [{
7401
7485
  type: i0.Directive
7402
- }] });
7486
+ }], propDecorators: { toolbarItem: [{
7487
+ type: i0.Input
7488
+ }], editor: [{
7489
+ type: i0.Input
7490
+ }], disabledState: [{
7491
+ type: i0.HostBinding,
7492
+ args: ['class.disabled']
7493
+ }], activeState: [{
7494
+ type: i0.HostBinding,
7495
+ args: ['class.active']
7496
+ }] } });
7497
+ var TheBaseToolbarDropdown = /** @class */ (function (_super) {
7498
+ __extends(TheBaseToolbarDropdown, _super);
7499
+ function TheBaseToolbarDropdown() {
7500
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
7501
+ _this.mode = exports.DropdownMode.text;
7502
+ return _this;
7503
+ }
7504
+ Object.defineProperty(TheBaseToolbarDropdown.prototype, "defaultDropdownItem", {
7505
+ get: function () {
7506
+ var _this = this;
7507
+ var activeItem = this.dropdownItemKey && this.menus.find(function (item) { return item.key === _this.dropdownItemKey; });
7508
+ return activeItem ? activeItem : this.menus[0];
7509
+ },
7510
+ enumerable: false,
7511
+ configurable: true
7512
+ });
7513
+ TheBaseToolbarDropdown.prototype.selectionChange = function (editor) {
7514
+ _super.prototype.selectionChange.call(this, editor);
7515
+ var activeItem = this.menus.find(function (i) {
7516
+ if (i === null || i === void 0 ? void 0 : i.active) {
7517
+ return i === null || i === void 0 ? void 0 : i.active(editor);
7518
+ }
7519
+ });
7520
+ if (!this.toolbarItem.dropdownFixedIcon) {
7521
+ this.activeMenuItem = activeItem ? activeItem : this.defaultDropdownItem;
7522
+ }
7523
+ };
7524
+ return TheBaseToolbarDropdown;
7525
+ }(TheBaseToolbarItem));
7526
+ TheBaseToolbarDropdown.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheBaseToolbarDropdown, deps: null, target: i0__namespace.ɵɵFactoryTarget.Directive });
7527
+ TheBaseToolbarDropdown.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.15", type: TheBaseToolbarDropdown, inputs: { menus: "menus", mode: "mode", dropdownItemKey: "dropdownItemKey" }, usesInheritance: true, ngImport: i0__namespace });
7528
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheBaseToolbarDropdown, decorators: [{
7529
+ type: i0.Directive
7530
+ }], propDecorators: { menus: [{
7531
+ type: i0.Input
7532
+ }], mode: [{
7533
+ type: i0.Input
7534
+ }], dropdownItemKey: [{
7535
+ type: i0.Input
7536
+ }] } });
7403
7537
 
7404
7538
  var TheToolbarDropdownComponent = /** @class */ (function (_super) {
7405
7539
  __extends(TheToolbarDropdownComponent, _super);
@@ -7409,22 +7543,9 @@
7409
7543
  _this.thyPopover = thyPopover;
7410
7544
  _this.viewContainerRef = viewContainerRef;
7411
7545
  _this.overlay = overlay;
7412
- _this.mode = exports.DropdownMode.text;
7413
7546
  _this.dropdownMode = exports.DropdownMode;
7414
- _this.disabled = false;
7415
7547
  return _this;
7416
7548
  }
7417
- Object.defineProperty(TheToolbarDropdownComponent.prototype, "item", {
7418
- get: function () {
7419
- return this._item;
7420
- },
7421
- set: function (i) {
7422
- this._item = i;
7423
- this.activeMenu = i;
7424
- },
7425
- enumerable: false,
7426
- configurable: true
7427
- });
7428
7549
  Object.defineProperty(TheToolbarDropdownComponent.prototype, "isOpen", {
7429
7550
  get: function () {
7430
7551
  return this.dropdownPopoverRef && this.dropdownPopoverRef.getOverlayRef() && this.dropdownPopoverRef.getOverlayRef().hasAttached();
@@ -7445,38 +7566,24 @@
7445
7566
  this.closeDropdownPopover();
7446
7567
  }
7447
7568
  };
7448
- Object.defineProperty(TheToolbarDropdownComponent.prototype, "disabledState", {
7449
- get: function () {
7450
- return this.disabled;
7451
- },
7452
- enumerable: false,
7453
- configurable: true
7454
- });
7455
7569
  TheToolbarDropdownComponent.prototype.ngOnInit = function () {
7456
7570
  var _a;
7457
7571
  if (!this.template) {
7458
7572
  this.template = this.mode === this.dropdownMode.icon ? this.iconModeTemplate : this.textModeTemplate;
7459
7573
  }
7460
- if (!this.activeMenu) {
7461
- this.activeMenu = this.menus[0];
7574
+ if (!this.activeMenuItem) {
7575
+ this.activeMenuItem = this.defaultDropdownItem;
7462
7576
  }
7463
7577
  if (this.toolbarItem) {
7464
7578
  this.elementRef.nativeElement.classList.add("" + ((_a = this.toolbarItem) === null || _a === void 0 ? void 0 : _a.key));
7465
7579
  }
7466
7580
  };
7467
- TheToolbarDropdownComponent.prototype.statusChange = function (editor) {
7468
- var _a, _b;
7469
- this.disabled = ((_a = this.toolbarItem) === null || _a === void 0 ? void 0 : _a.disable) ? (_b = this.toolbarItem) === null || _b === void 0 ? void 0 : _b.disable(editor) : false;
7470
- var activeItem = this.menus.find(function (i) {
7471
- if (i === null || i === void 0 ? void 0 : i.active) {
7472
- return i === null || i === void 0 ? void 0 : i.active(editor);
7473
- }
7474
- });
7475
- this.activeMenu = activeItem ? activeItem : this.item;
7476
- };
7477
7581
  TheToolbarDropdownComponent.prototype.itemMousedown = function (event, item) {
7478
7582
  _super.prototype.execute.call(this, event);
7479
7583
  this.closeDropdownPopover();
7584
+ if (!this.toolbarItem.dropdownFixedIcon) {
7585
+ this.activeMenuItem = item;
7586
+ }
7480
7587
  if (this.itemMousedownHandle) {
7481
7588
  this.itemMousedownHandle(item);
7482
7589
  return;
@@ -7525,9 +7632,9 @@
7525
7632
  .withPositions([bottomPosition, topPosition]);
7526
7633
  };
7527
7634
  return TheToolbarDropdownComponent;
7528
- }(TheToolbarBaseItemComponent));
7635
+ }(TheBaseToolbarDropdown));
7529
7636
  TheToolbarDropdownComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheToolbarDropdownComponent, deps: [{ token: i0__namespace.ElementRef }, { token: i1__namespace$1.ThyPopover }, { token: i0__namespace.ViewContainerRef }, { token: i2__namespace.Overlay }], target: i0__namespace.ɵɵFactoryTarget.Component });
7530
- TheToolbarDropdownComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheToolbarDropdownComponent, selector: "the-toolbar-dropdown", inputs: { toolbarItem: "toolbarItem", menus: "menus", mode: "mode", item: "item", itemMousedownHandle: "itemMousedownHandle" }, host: { listeners: { "mousedown": "toggleDropdown($event)", "document: mousedown": "handleDocumentMouseDown($event)" }, properties: { "class.disabled": "this.disabledState" }, classAttribute: "the-toolbar-dropdown-container" }, viewQueries: [{ propertyName: "iconModeTemplate", first: true, predicate: ["iconModeTemplate"], descendants: true, static: true }, { propertyName: "textModeTemplate", first: true, predicate: ["textModeTemplate"], descendants: true, static: true }, { propertyName: "dropdownTemplate", first: true, predicate: ["dropdownTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template [ngTemplateOutlet]=\"template\"></ng-template>\n\n<ng-template #iconModeTemplate>\n <a thyIconNavLink class=\"icon-mode link-with-down\" [thyTooltip]=\"activeMenu?.name\" thyTooltipPlacement=\"top\">\n <thy-icon [thyIconName]=\"activeMenu?.icon\"></thy-icon>\n <thy-icon class=\"caret-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n </a>\n</ng-template>\n\n<ng-template #textModeTemplate>\n <a thyIconNavLink class=\"text-mode\" [thyTooltip]=\"activeMenu?.name\" thyTooltipPlacement=\"top\">\n <span class=\"show-text\">{{ activeMenu?.name }}</span>\n <thy-icon class=\"text-caret-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n </a>\n</ng-template>\n\n<ng-template #dropdownTemplate>\n <thy-action-menu class=\"dropdown\">\n <ng-container *ngFor=\"let menu of menus\">\n <a\n *ngIf=\"menu.key !== 'split'\"\n thyActionMenuItem\n href=\"javascript:;\"\n [thyActionMenuItemActive]=\"menu.key === activeMenu.key\"\n (mousedown)=\"itemMousedown($event, menu)\"\n [ngStyle]=\"menu?.styles\"\n >\n <span *ngIf=\"menu.icon && mode === dropdownMode.icon\" thyActionMenuItemIcon>\n <thy-icon [thyIconName]=\"menu.icon\"></thy-icon>\n </span>\n <span *ngIf=\"menu.name\" thyActionMenuItemName>{{ menu.name }}</span>\n </a>\n <thy-action-menu-divider *ngIf=\"menu.key === 'split'\"></thy-action-menu-divider>\n </ng-container>\n </thy-action-menu>\n</ng-template>\n", components: [{ type: i3__namespace.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i4__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i2__namespace$1.ThyActionMenuComponent, selector: "thy-action-menu", inputs: ["thyTheme", "thyWidth"] }, { type: i2__namespace$1.ThyActionMenuDividerComponent, selector: "thy-action-menu-divider", inputs: ["thyTitle", "thyType"] }], directives: [{ type: i10__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5__namespace$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.ThyActionMenuItemDirective, selector: "[thyActionMenuItem]", inputs: ["thyDisabled", "thyType"] }, { type: i2__namespace$1.ThyActionMenuItemActiveDirective, selector: "[thyActionMenuItemActive]", inputs: ["thyActionMenuItemActive"] }, { type: i10__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2__namespace$1.ThyActionMenuItemIconDirective, selector: "[thyActionMenuItemIcon]" }, { type: i2__namespace$1.ThyActionMenuItemNameDirective, selector: "[thyActionMenuItemName]" }] });
7637
+ TheToolbarDropdownComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheToolbarDropdownComponent, selector: "the-toolbar-dropdown", inputs: { itemMousedownHandle: "itemMousedownHandle" }, host: { listeners: { "mousedown": "toggleDropdown($event)", "document: mousedown": "handleDocumentMouseDown($event)" }, classAttribute: "the-toolbar-dropdown-container" }, viewQueries: [{ propertyName: "iconModeTemplate", first: true, predicate: ["iconModeTemplate"], descendants: true, static: true }, { propertyName: "textModeTemplate", first: true, predicate: ["textModeTemplate"], descendants: true, static: true }, { propertyName: "dropdownTemplate", first: true, predicate: ["dropdownTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template [ngTemplateOutlet]=\"template\"></ng-template>\n\n<ng-template #iconModeTemplate>\n <a thyIconNavLink class=\"icon-mode link-with-down\" [thyTooltip]=\"activeMenuItem?.name\" thyTooltipPlacement=\"top\">\n <thy-icon [thyIconName]=\"activeMenuItem?.icon\"></thy-icon>\n <thy-icon class=\"caret-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n </a>\n</ng-template>\n\n<ng-template #textModeTemplate>\n <a thyIconNavLink class=\"text-mode\" [thyTooltip]=\"activeMenuItem?.name\" thyTooltipPlacement=\"top\">\n <span class=\"show-text\">{{ activeMenuItem?.name }}</span>\n <thy-icon class=\"text-caret-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n </a>\n</ng-template>\n\n<ng-template #dropdownTemplate>\n <thy-action-menu class=\"dropdown\">\n <ng-container *ngFor=\"let menu of menus\">\n <a\n *ngIf=\"menu.key !== 'split'\"\n thyActionMenuItem\n href=\"javascript:;\"\n [thyActionMenuItemActive]=\"menu.key === activeMenuItem.key && !toolbarItem.dropdownFixedIcon\"\n (mousedown)=\"itemMousedown($event, menu)\"\n [ngStyle]=\"menu?.styles\"\n >\n <span *ngIf=\"menu.icon && mode === dropdownMode.icon\" thyActionMenuItemIcon>\n <thy-icon [thyIconName]=\"menu.icon\"></thy-icon>\n </span>\n <span *ngIf=\"menu.name\" thyActionMenuItemName>{{ menu.name }}</span>\n </a>\n <thy-action-menu-divider *ngIf=\"menu.key === 'split'\"></thy-action-menu-divider>\n </ng-container>\n </thy-action-menu>\n</ng-template>\n", components: [{ type: i3__namespace$1.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i3__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i2__namespace$1.ThyActionMenuComponent, selector: "thy-action-menu", inputs: ["thyTheme", "thyWidth"] }, { type: i2__namespace$1.ThyActionMenuDividerComponent, selector: "thy-action-menu-divider", inputs: ["thyTitle", "thyType"] }], directives: [{ type: i10__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5__namespace$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.ThyActionMenuItemDirective, selector: "[thyActionMenuItem]", inputs: ["thyDisabled", "thyType"] }, { type: i2__namespace$1.ThyActionMenuItemActiveDirective, selector: "[thyActionMenuItemActive]", inputs: ["thyActionMenuItemActive"] }, { type: i10__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2__namespace$1.ThyActionMenuItemIconDirective, selector: "[thyActionMenuItemIcon]" }, { type: i2__namespace$1.ThyActionMenuItemNameDirective, selector: "[thyActionMenuItemName]" }] });
7531
7638
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheToolbarDropdownComponent, decorators: [{
7532
7639
  type: i0.Component,
7533
7640
  args: [{
@@ -7537,15 +7644,7 @@
7537
7644
  class: 'the-toolbar-dropdown-container'
7538
7645
  }
7539
7646
  }]
7540
- }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i1__namespace$1.ThyPopover }, { type: i0__namespace.ViewContainerRef }, { type: i2__namespace.Overlay }]; }, propDecorators: { toolbarItem: [{
7541
- type: i0.Input
7542
- }], menus: [{
7543
- type: i0.Input
7544
- }], mode: [{
7545
- type: i0.Input
7546
- }], item: [{
7547
- type: i0.Input
7548
- }], itemMousedownHandle: [{
7647
+ }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i1__namespace$1.ThyPopover }, { type: i0__namespace.ViewContainerRef }, { type: i2__namespace.Overlay }]; }, propDecorators: { itemMousedownHandle: [{
7549
7648
  type: i0.Input
7550
7649
  }], iconModeTemplate: [{
7551
7650
  type: i0.ViewChild,
@@ -7562,9 +7661,6 @@
7562
7661
  }], handleDocumentMouseDown: [{
7563
7662
  type: i0.HostListener,
7564
7663
  args: ['document: mousedown', ['$event']]
7565
- }], disabledState: [{
7566
- type: i0.HostBinding,
7567
- args: ['class.disabled']
7568
7664
  }] } });
7569
7665
 
7570
7666
  var TheCodeComponent = /** @class */ (function (_super) {
@@ -7596,11 +7692,11 @@
7596
7692
  lineWrapping: _this.config.mode === exports.TheMode.default ? false : true,
7597
7693
  cursorBlinkRate: 500
7598
7694
  };
7599
- _this.actives = _this.menus[0];
7695
+ _this.activeLanguage = _this.menus[0];
7600
7696
  _this.resizeBounds = null;
7601
- _this.onChangeLangulage = function (item) {
7697
+ _this.onChangeLanguage = function (item) {
7602
7698
  _this.options = Object.assign(Object.assign({}, _this.options), { mode: item.key });
7603
- _this.actives = item;
7699
+ _this.activeLanguage = item;
7604
7700
  CodeEditor.setCodeAttribute(_this.editor, _this.element, { language: item.key });
7605
7701
  };
7606
7702
  return _this;
@@ -7746,7 +7842,7 @@
7746
7842
  TheCodeComponent.prototype.useMode = function () {
7747
7843
  var _this = this;
7748
7844
  this.options = Object.assign(Object.assign({}, this.options), { mode: this.element.language });
7749
- this.actives = this.menus.find(function (i) { return i.key === _this.element.language; });
7845
+ this.activeLanguage = this.menus.find(function (i) { return i.key === _this.element.language; });
7750
7846
  };
7751
7847
  TheCodeComponent.prototype.useAutoWrap = function () {
7752
7848
  this.options = Object.assign(Object.assign({}, this.options), { lineWrapping: this.element.autoWrap || false });
@@ -7781,7 +7877,7 @@
7781
7877
  return TheCodeComponent;
7782
7878
  }(TheBaseElementComponent));
7783
7879
  TheCodeComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheCodeComponent, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }, { token: i1__namespace$4.ThyNotifyService }, { token: TheContextService }, { token: i0__namespace.NgZone }, { token: THE_MODE_TOKEN }], target: i0__namespace.ɵɵFactoryTarget.Component });
7784
- TheCodeComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheCodeComponent, selector: "div[theCode]", viewQueries: [{ propertyName: "codemirror", first: true, predicate: ["codemirror"], descendants: true, read: i8.CodeMirrorComponent }], usesInheritance: true, ngImport: i0__namespace, template: "<div contenteditable=\"false\" class=\"the-code-block-operation\" *ngIf=\"isCollapsed && codemirror && !options.readOnly\">\n <thy-icon-nav>\n <the-toolbar-dropdown [menus]=\"menus\" [item]=\"actives\" [itemMousedownHandle]=\"onChangeLangulage\"> </the-toolbar-dropdown>\n <span class=\"auto-wrap d-flex align-items-center\">\n <span>\u81EA\u52A8\u6362\u884C</span>\n <thy-switch\n class=\"auto-wrap-btn d-flex\"\n [(ngModel)]=\"options.lineWrapping\"\n (ngModelChange)=\"onChangeWrap($event)\"\n thySize=\"sm\"\n ></thy-switch>\n </span>\n <a\n href=\"javascript:;\"\n thyIconNavLink\n thyIconNavLinkIcon=\"copy\"\n thyTooltip=\"\u590D\u5236\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"onCopy($event)\"\n ></a>\n <nav-split-line [mode]=\"ToolbarItemMode.vertical\"></nav-split-line>\n <a\n href=\"javascript:;\"\n thyIconNavLink\n thyIconNavLinkIcon=\"trash\"\n thyTooltip=\"\u5220\u9664\"\n class=\"remove-link\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"onDelete($event)\"\n ></a>\n </thy-icon-nav>\n</div>\n\n<slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"></slate-children>\n\n<!-- \u53EA\u8BFB\u6A21\u5F0F\u4E0BCodeMirror-sizer\u9AD8\u5EA6\u6BD4\u7F16\u8F91\u6A21\u5F0F\u4E0B\u591A2px\uFF0C\u8BBE\u7F6EthyMinHeight\u4E3A46px\u9632\u6B62\u62D6\u62FD\u5230\u6700\u5C0F\u9AD8\u5EA6\u65F6\u53EA\u8BFB\u6A21\u5F0F\u4E0B\u51FA\u73B0\u6EDA\u52A8\u6761 -->\n<div\n thyResizable\n [thyMinHeight]=\"46\"\n [thyBounds]=\"resizeBounds\"\n [style.height.px]=\"resizeHeight\"\n (thyResize)=\"onResize($event)\"\n (thyResizeEnd)=\"onEndResize()\"\n class=\"resize-code-container\"\n [ngClass]=\"{ focus: isCollapsed, readonly: options.readOnly, active: isHightLight && isCollapsed }\"\n>\n <ng-codemirror\n *ngIf=\"startRenderCodemirror\"\n #codemirror\n contenteditable=\"false\"\n class=\"ng-codemirror-wrapper\"\n [ngStyle]=\"{ maxHeight: maxHeight > 0 ? maxHeight + 'px' : 'auto' }\"\n [options]=\"options\"\n [ngModel]=\"code\"\n [delayRefreshTime]=\"300\"\n (ngModelChange)=\"codeChange($event)\"\n (focusChange)=\"focusChange($event)\"\n [autoMaxHeight]=\"maxHeight\"\n >\n </ng-codemirror>\n <thy-resize-handle thyDirection=\"bottom\" class=\"code-resize-icon\" *ngIf=\"isCollapsed && !options.readOnly\"></thy-resize-handle>\n</div>\n", components: [{ type: i3__namespace.ThyIconNavComponent, selector: "thy-icon-nav", inputs: ["thyType"] }, { type: TheToolbarDropdownComponent, selector: "the-toolbar-dropdown", inputs: ["toolbarItem", "menus", "mode", "item", "itemMousedownHandle"] }, { type: i5__namespace$2.ThySwitchComponent, selector: "thy-switch", inputs: ["thyType", "thySize", "thyDisabled"], outputs: ["thyChange"] }, { type: i3__namespace.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }, { type: i1__namespace.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }, { type: i8__namespace.CodeMirrorComponent, selector: "ng-codemirror, [ngCodeMirror]", inputs: ["autoMaxHeight", "delayRefreshTime", "options"], outputs: ["focusChange"] }, { type: i9__namespace.ThyResizeHandleComponent, selector: "thy-resize-handle, [thy-resize-handle]", inputs: ["thyDirection"], outputs: ["thyMouseDown"], exportAs: ["thyResizeHandle"] }], directives: [{ type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5__namespace$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i9__namespace.ThyResizableDirective, selector: "[thyResizable]", inputs: ["thyBounds", "thyMaxHeight", "thyMaxWidth", "thyMinHeight", "thyMinWidth", "thyGridColumnCount", "thyMaxColumn", "thyMinColumn", "thyLockAspectRatio", "thyPreview", "thyDisabled"], outputs: ["thyResize", "thyResizeEnd", "thyResizeStart"] }, { type: i10__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
7880
+ TheCodeComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheCodeComponent, selector: "div[theCode]", viewQueries: [{ propertyName: "codemirror", first: true, predicate: ["codemirror"], descendants: true, read: i8.CodeMirrorComponent }], usesInheritance: true, ngImport: i0__namespace, template: "<div contenteditable=\"false\" class=\"the-code-block-operation\" *ngIf=\"isCollapsed && codemirror && !options.readOnly\">\n <thy-icon-nav>\n <the-toolbar-dropdown\n [menus]=\"menus\"\n [toolbarItem]=\"activeLanguage\"\n [dropdownItemKey]=\"activeLanguage.key\"\n [itemMousedownHandle]=\"onChangeLanguage\"\n >\n </the-toolbar-dropdown>\n <span class=\"auto-wrap d-flex align-items-center\">\n <span>\u81EA\u52A8\u6362\u884C</span>\n <thy-switch\n class=\"auto-wrap-btn d-flex\"\n [(ngModel)]=\"options.lineWrapping\"\n (ngModelChange)=\"onChangeWrap($event)\"\n thySize=\"sm\"\n ></thy-switch>\n </span>\n <a\n href=\"javascript:;\"\n thyIconNavLink\n thyIconNavLinkIcon=\"copy\"\n thyTooltip=\"\u590D\u5236\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"onCopy($event)\"\n ></a>\n <nav-split-line [mode]=\"ToolbarItemMode.vertical\"></nav-split-line>\n <a\n href=\"javascript:;\"\n thyIconNavLink\n thyIconNavLinkIcon=\"trash\"\n thyTooltip=\"\u5220\u9664\"\n class=\"remove-link\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"onDelete($event)\"\n ></a>\n </thy-icon-nav>\n</div>\n\n<slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"></slate-children>\n\n<!-- \u53EA\u8BFB\u6A21\u5F0F\u4E0BCodeMirror-sizer\u9AD8\u5EA6\u6BD4\u7F16\u8F91\u6A21\u5F0F\u4E0B\u591A2px\uFF0C\u8BBE\u7F6EthyMinHeight\u4E3A46px\u9632\u6B62\u62D6\u62FD\u5230\u6700\u5C0F\u9AD8\u5EA6\u65F6\u53EA\u8BFB\u6A21\u5F0F\u4E0B\u51FA\u73B0\u6EDA\u52A8\u6761 -->\n<div\n thyResizable\n [thyMinHeight]=\"46\"\n [thyBounds]=\"resizeBounds\"\n [style.height.px]=\"resizeHeight\"\n (thyResize)=\"onResize($event)\"\n (thyResizeEnd)=\"onEndResize()\"\n class=\"resize-code-container\"\n [ngClass]=\"{ focus: isCollapsed, readonly: options.readOnly, active: isHightLight && isCollapsed }\"\n>\n <ng-codemirror\n *ngIf=\"startRenderCodemirror\"\n #codemirror\n contenteditable=\"false\"\n class=\"ng-codemirror-wrapper\"\n [ngStyle]=\"{ maxHeight: maxHeight > 0 ? maxHeight + 'px' : 'auto' }\"\n [options]=\"options\"\n [ngModel]=\"code\"\n [delayRefreshTime]=\"300\"\n (ngModelChange)=\"codeChange($event)\"\n (focusChange)=\"focusChange($event)\"\n [autoMaxHeight]=\"maxHeight\"\n >\n </ng-codemirror>\n <thy-resize-handle thyDirection=\"bottom\" class=\"code-resize-icon\" *ngIf=\"isCollapsed && !options.readOnly\"></thy-resize-handle>\n</div>\n", components: [{ type: i3__namespace$1.ThyIconNavComponent, selector: "thy-icon-nav", inputs: ["thyType"] }, { type: TheToolbarDropdownComponent, selector: "the-toolbar-dropdown", inputs: ["itemMousedownHandle"] }, { type: i5__namespace$2.ThySwitchComponent, selector: "thy-switch", inputs: ["thyType", "thySize", "thyDisabled"], outputs: ["thyChange"] }, { type: i3__namespace$1.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }, { type: i1__namespace.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }, { type: i8__namespace.CodeMirrorComponent, selector: "ng-codemirror, [ngCodeMirror]", inputs: ["autoMaxHeight", "delayRefreshTime", "options"], outputs: ["focusChange"] }, { type: i9__namespace.ThyResizeHandleComponent, selector: "thy-resize-handle, [thy-resize-handle]", inputs: ["thyDirection"], outputs: ["thyMouseDown"], exportAs: ["thyResizeHandle"] }], directives: [{ type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5__namespace$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i9__namespace.ThyResizableDirective, selector: "[thyResizable]", inputs: ["thyBounds", "thyMaxHeight", "thyMaxWidth", "thyMinHeight", "thyMinWidth", "thyGridColumnCount", "thyMaxColumn", "thyMinColumn", "thyLockAspectRatio", "thyPreview", "thyDisabled"], outputs: ["thyResize", "thyResizeEnd", "thyResizeStart"] }, { type: i10__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
7785
7881
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheCodeComponent, decorators: [{
7786
7882
  type: i0.Component,
7787
7883
  args: [{
@@ -8033,7 +8129,7 @@
8033
8129
  return TheLinkEditComponent;
8034
8130
  }());
8035
8131
  TheLinkEditComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheLinkEditComponent, deps: [{ token: i1__namespace$1.ThyPopoverRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
8036
- TheLinkEditComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheLinkEditComponent, selector: "the-link-edit", inputs: { tag: "tag", node: "node", link: "link", text: "text", originSelection: "originSelection" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)" }, properties: { "class": "this.className" } }, ngImport: i0__namespace, template: "<form\n thyForm\n #linkForm=\"thyForm\"\n [thyFormValidatorConfig]=\"validatorConfig\"\n name=\"linkForm\"\n>\n <thy-form-group thyLabelText=\"\u6587\u672C\">\n <input\n thyInput\n placeholder=\"\u8BF7\u8F93\u5165\u6587\u672C\"\n required\n name=\"text\"\n [(ngModel)]=\"text\"\n thyAutofocus\n type=\"text\"\n />\n </thy-form-group>\n <thy-form-group thyLabelText=\"\u94FE\u63A5\">\n <input\n name=\"link\"\n thyInput\n placeholder=\"\u8BF7\u8F93\u5165\u94FE\u63A5\"\n required\n type=\"text\"\n #linkControl=\"ngModel\"\n [(ngModel)]=\"link\"\n />\n </thy-form-group>\n <thy-form-group-footer>\n <div class=\"btn-pair\">\n <button\n thyButton=\"link-secondary\"\n thySize=\"sm\"\n (click)=\"closePopover()\"\n >\u53D6\u6D88</button>\n <button\n thyButton=\"primary-square\"\n thySize=\"sm\"\n (thyFormSubmit)=\"applyLink(linkForm)\"\n >\u5E94\u7528</button>\n </div>\n </thy-form-group-footer>\n</form>\n", components: [{ type: i2__namespace$2.ThyFormGroupComponent, selector: "thy-form-group", inputs: ["thyLabelText", "thyLabelTextTranslateKey", "thyLabelRequired", "thyLabelPaddingTopClear", "thyFeedbackIcon", "thyTipsMode", "thyTips", "thyTipsTranslateKey", "thyRowFill"] }, { type: i2__namespace$2.ThyFormGroupFooterComponent, selector: "thy-form-group-footer", inputs: ["thyAlign"] }, { type: i1__namespace$5.ThyButtonComponent, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thySquare", "thyBlock"] }], directives: [{ type: i4__namespace$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4__namespace$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4__namespace$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2__namespace$2.ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { type: i5__namespace$3.ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutoSelect", "thyAutofocus"] }, { type: i4__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5__namespace.ThyInputDirective, selector: "[thyInput]", inputs: ["thySize", "thyAutocomplete"] }, { type: i4__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2__namespace$2.ThyFormSubmitDirective, selector: "[thyFormSubmit],[thy-form-submit]", outputs: ["thyFormSubmit"] }] });
8132
+ TheLinkEditComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheLinkEditComponent, selector: "the-link-edit", inputs: { tag: "tag", node: "node", link: "link", text: "text", originSelection: "originSelection" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)" }, properties: { "class": "this.className" } }, ngImport: i0__namespace, template: "<form\n thyForm\n #linkForm=\"thyForm\"\n [thyFormValidatorConfig]=\"validatorConfig\"\n name=\"linkForm\"\n>\n <thy-form-group thyLabelText=\"\u6587\u672C\">\n <input\n thyInput\n placeholder=\"\u8BF7\u8F93\u5165\u6587\u672C\"\n required\n name=\"text\"\n [(ngModel)]=\"text\"\n thyAutofocus\n type=\"text\"\n />\n </thy-form-group>\n <thy-form-group thyLabelText=\"\u94FE\u63A5\">\n <input\n name=\"link\"\n thyInput\n placeholder=\"\u8BF7\u8F93\u5165\u94FE\u63A5\"\n required\n type=\"text\"\n #linkControl=\"ngModel\"\n [(ngModel)]=\"link\"\n />\n </thy-form-group>\n <thy-form-group-footer>\n <div class=\"btn-pair\">\n <button\n thyButton=\"link-secondary\"\n thySize=\"sm\"\n (click)=\"closePopover()\"\n >\u53D6\u6D88</button>\n <button\n thyButton=\"primary-square\"\n thySize=\"sm\"\n (thyFormSubmit)=\"applyLink(linkForm)\"\n >\u5E94\u7528</button>\n </div>\n </thy-form-group-footer>\n</form>\n", components: [{ type: i2__namespace$2.ThyFormGroupComponent, selector: "thy-form-group", inputs: ["thyLabelText", "thyLabelTextTranslateKey", "thyLabelRequired", "thyLabelPaddingTopClear", "thyFeedbackIcon", "thyTipsMode", "thyTips", "thyTipsTranslateKey", "thyRowFill"] }, { type: i2__namespace$2.ThyFormGroupFooterComponent, selector: "thy-form-group-footer", inputs: ["thyAlign"] }, { type: i1__namespace$5.ThyButtonComponent, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thySquare", "thyBlock"] }], directives: [{ type: i4__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4__namespace.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2__namespace$2.ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { type: i5__namespace$3.ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutoSelect", "thyAutofocus"] }, { type: i4__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5__namespace.ThyInputDirective, selector: "[thyInput]", inputs: ["thySize", "thyAutocomplete"] }, { type: i4__namespace.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2__namespace$2.ThyFormSubmitDirective, selector: "[thyFormSubmit],[thy-form-submit]", outputs: ["thyFormSubmit"] }] });
8037
8133
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheLinkEditComponent, decorators: [{
8038
8134
  type: i0.Component,
8039
8135
  args: [{
@@ -8269,7 +8365,10 @@
8269
8365
  execute: function (editor) { return LinkEditor.insertLink(editor); },
8270
8366
  active: function (editor) { return LinkEditor.isLinkActive(editor); }
8271
8367
  }
8272
- ]
8368
+ ],
8369
+ options: {
8370
+ disabledOperateTypes: __spreadArray([exports.ElementKinds.image], __read(DISABLED_OPERATE_TYPES))
8371
+ }
8273
8372
  });
8274
8373
 
8275
8374
  /**
@@ -9147,7 +9246,7 @@
9147
9246
  return TheTableOptionsComponent;
9148
9247
  }());
9149
9248
  TheTableOptionsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheTableOptionsComponent, deps: [{ token: i1__namespace$6.ThyPopoverRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
9150
- TheTableOptionsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheTableOptionsComponent, selector: "the-table-options", inputs: { tableStore: "tableStore", editor: "editor" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)" } }, ngImport: i0__namespace, template: "\n <thy-action-menu class=\"table-drop-menu\">\n <ng-container *ngFor=\"let option of tableDropdownList\">\n <a thyActionMenuItem href=\"javascript:;\" (mousedown)=\"setTableOptions($event, option)\">\n <span thyActionMenuItemName>{{ option.name }}</span>\n <span thyActionMenuItemExtendIcon class=\"text-primary\" *ngIf=\"option.isActive\">\n <thy-icon thyIconName=\"check\"></thy-icon>\n </span>\n </a>\n </ng-container>\n </thy-action-menu>\n ", isInline: true, components: [{ type: i2__namespace$1.ThyActionMenuComponent, selector: "thy-action-menu", inputs: ["thyTheme", "thyWidth"] }, { type: i4__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$1.ThyActionMenuItemDirective, selector: "[thyActionMenuItem]", inputs: ["thyDisabled", "thyType"] }, { type: i2__namespace$1.ThyActionMenuItemNameDirective, selector: "[thyActionMenuItemName]" }, { type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.ThyActionMenuItemExtendIconDirective, selector: "[thyActionMenuItemExtendIcon]" }] });
9249
+ TheTableOptionsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheTableOptionsComponent, selector: "the-table-options", inputs: { tableStore: "tableStore", editor: "editor" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)" } }, ngImport: i0__namespace, template: "\n <thy-action-menu class=\"table-drop-menu\">\n <ng-container *ngFor=\"let option of tableDropdownList\">\n <a thyActionMenuItem href=\"javascript:;\" (mousedown)=\"setTableOptions($event, option)\">\n <span thyActionMenuItemName>{{ option.name }}</span>\n <span thyActionMenuItemExtendIcon class=\"text-primary\" *ngIf=\"option.isActive\">\n <thy-icon thyIconName=\"check\"></thy-icon>\n </span>\n </a>\n </ng-container>\n </thy-action-menu>\n ", isInline: true, components: [{ type: i2__namespace$1.ThyActionMenuComponent, selector: "thy-action-menu", inputs: ["thyTheme", "thyWidth"] }, { type: i3__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$1.ThyActionMenuItemDirective, selector: "[thyActionMenuItem]", inputs: ["thyDisabled", "thyType"] }, { type: i2__namespace$1.ThyActionMenuItemNameDirective, selector: "[thyActionMenuItemName]" }, { type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.ThyActionMenuItemExtendIconDirective, selector: "[thyActionMenuItemExtendIcon]" }] });
9151
9250
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheTableOptionsComponent, decorators: [{
9152
9251
  type: i0.Component,
9153
9252
  args: [{
@@ -9301,7 +9400,7 @@
9301
9400
  return TheTableToolbarComponent;
9302
9401
  }());
9303
9402
  TheTableToolbarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheTableToolbarComponent, deps: [{ token: i0__namespace.NgZone }, { token: TheColorSelectService }, { token: i1__namespace$1.ThyPopover }, { token: i1__namespace$1.ThyPopoverRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
9304
- TheTableToolbarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheTableToolbarComponent, selector: "the-table-toolbar", inputs: { tableStore: "tableStore", isActiveSelect: "isActiveSelect" }, ngImport: i0__namespace, template: "<thy-icon-nav>\n <ng-container *ngFor=\"let item of cellMenuList\">\n <a href=\"javascript:;\" thyIconNavLink *ngIf=\"!item.invisibility\" [thyTooltip]=\"item.name\" (mousedown)=\"item.actionHandle()\">\n <thy-icon [thyIconName]=\"item.icon\"></thy-icon>\n </a>\n </ng-container>\n <nav-split-line *ngIf=\"!isActiveSelect && isShowSplitLine\"></nav-split-line>\n <a href=\"javascript:;\" thyIconNavLink thyTooltip=\"\u5355\u5143\u683C\u80CC\u666F\" (mousedown)=\"openSelectColor($event)\">\n <thy-icon thyIconName=\"background-tt\" thyIconType=\"twotone\" [thyTwotoneColor]=\"selectedColor\"></thy-icon>\n </a>\n <nav-split-line *ngIf=\"tableStore.isSelectedTable\"></nav-split-line>\n <button\n thyButton=\"default\"\n *ngIf=\"tableStore.isSelectedTable\"\n class=\"mr-2\"\n thySize=\"md\"\n class=\"table-options\"\n (mousedown)=\"openTableOptionMenu($event)\"\n >\n <span>\u8868\u683C\u9009\u9879</span>\n <thy-icon thyIconName=\"caret-down\"></thy-icon>\n </button>\n <nav-split-line *ngIf=\"deleteIcon\"></nav-split-line>\n <a\n *ngIf=\"deleteIcon\"\n href=\"javascript:;\"\n thyIconNavLink\n [thyTooltip]=\"iconName\"\n class=\"danger\"\n [thyIconNavLinkIcon]=\"deleteIcon\"\n (mousedown)=\"onDelete($event)\"\n (mouseenter)=\"onEnterDelete($event)\"\n (mouseleave)=\"onLeaveDelete($event)\"\n ></a>\n</thy-icon-nav>\n", components: [{ type: i3__namespace.ThyIconNavComponent, selector: "thy-icon-nav", inputs: ["thyType"] }, { type: i3__namespace.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i4__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }, { type: i1__namespace$5.ThyButtonComponent, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thySquare", "thyBlock"] }], directives: [{ type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
9403
+ TheTableToolbarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheTableToolbarComponent, selector: "the-table-toolbar", inputs: { tableStore: "tableStore", isActiveSelect: "isActiveSelect" }, ngImport: i0__namespace, template: "<thy-icon-nav>\n <ng-container *ngFor=\"let item of cellMenuList\">\n <a href=\"javascript:;\" thyIconNavLink *ngIf=\"!item.invisibility\" [thyTooltip]=\"item.name\" (mousedown)=\"item.actionHandle()\">\n <thy-icon [thyIconName]=\"item.icon\"></thy-icon>\n </a>\n </ng-container>\n <nav-split-line *ngIf=\"!isActiveSelect && isShowSplitLine\"></nav-split-line>\n <a href=\"javascript:;\" thyIconNavLink thyTooltip=\"\u5355\u5143\u683C\u80CC\u666F\" (mousedown)=\"openSelectColor($event)\">\n <thy-icon thyIconName=\"background-tt\" thyIconType=\"twotone\" [thyTwotoneColor]=\"selectedColor\"></thy-icon>\n </a>\n <nav-split-line *ngIf=\"tableStore.isSelectedTable\"></nav-split-line>\n <button\n thyButton=\"default\"\n *ngIf=\"tableStore.isSelectedTable\"\n class=\"mr-2\"\n thySize=\"md\"\n class=\"table-options\"\n (mousedown)=\"openTableOptionMenu($event)\"\n >\n <span>\u8868\u683C\u9009\u9879</span>\n <thy-icon thyIconName=\"caret-down\"></thy-icon>\n </button>\n <nav-split-line *ngIf=\"deleteIcon\"></nav-split-line>\n <a\n *ngIf=\"deleteIcon\"\n href=\"javascript:;\"\n thyIconNavLink\n [thyTooltip]=\"iconName\"\n class=\"danger\"\n [thyIconNavLinkIcon]=\"deleteIcon\"\n (mousedown)=\"onDelete($event)\"\n (mouseenter)=\"onEnterDelete($event)\"\n (mouseleave)=\"onLeaveDelete($event)\"\n ></a>\n</thy-icon-nav>\n", components: [{ type: i3__namespace$1.ThyIconNavComponent, selector: "thy-icon-nav", inputs: ["thyType"] }, { type: i3__namespace$1.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i3__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }, { type: i1__namespace$5.ThyButtonComponent, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thySquare", "thyBlock"] }], directives: [{ type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
9305
9404
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheTableToolbarComponent, decorators: [{
9306
9405
  type: i0.Component,
9307
9406
  args: [{
@@ -9365,7 +9464,7 @@
9365
9464
  return TheContextMenuComponent;
9366
9465
  }());
9367
9466
  TheContextMenuComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheContextMenuComponent, deps: [{ token: i0__namespace.ElementRef }, { token: i1__namespace$1.ThyPopoverRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
9368
- TheContextMenuComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheContextMenuComponent, selector: "the-contextmenu", inputs: { menuEntities: "menuEntities", actionHandle: "actionHandle", activeHandle: "activeHandle", deactiveHandle: "deactiveHandle" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)", "mousedown": "handleMouseDown($event)" }, properties: { "class.the-overlay-menu-wrap": "this.wrap" } }, ngImport: i0__namespace, template: "<thy-action-menu>\n <ng-container *ngFor=\"let menuItem of menuEntities\">\n <a\n thyActionMenuItem\n href=\"javascript:;\"\n *ngIf=\"!menuItem.invisibility\"\n (mousedown)=\"itemMousedown($event, menuItem)\"\n (mouseenter)=\"itemMouseenter($event, menuItem)\"\n (mouseleave)=\"itemMouseleave($event, menuItem)\"\n >\n <span thyActionMenuItemIcon>\n <thy-icon\n *ngIf=\"menuItem.backgroundColor; else elseIcon\"\n [thyIconName]=\"menuItem.icon\"\n thyIconType=\"twotone\"\n [thyTwotoneColor]=\"menuItem.backgroundColor\"\n ></thy-icon>\n <ng-template #elseIcon>\n <thy-icon [thyIconName]=\"menuItem.icon\"></thy-icon>\n </ng-template>\n </span>\n <span thyActionMenuItemName>{{ menuItem.name }}</span>\n <span *ngIf=\"menuItem.extendIcon\" thyActionMenuItemExtendIcon>\n <thy-icon thyIconName=\"{{ menuItem.extendIcon }}\"></thy-icon>\n </span>\n </a>\n <thy-action-menu-divider *ngIf=\"menuItem.divider\"></thy-action-menu-divider>\n </ng-container>\n</thy-action-menu>\n", components: [{ type: i2__namespace$1.ThyActionMenuComponent, selector: "thy-action-menu", inputs: ["thyTheme", "thyWidth"] }, { type: i4__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i2__namespace$1.ThyActionMenuDividerComponent, selector: "thy-action-menu-divider", inputs: ["thyTitle", "thyType"] }], directives: [{ type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.ThyActionMenuItemDirective, selector: "[thyActionMenuItem]", inputs: ["thyDisabled", "thyType"] }, { type: i2__namespace$1.ThyActionMenuItemIconDirective, selector: "[thyActionMenuItemIcon]" }, { type: i2__namespace$1.ThyActionMenuItemNameDirective, selector: "[thyActionMenuItemName]" }, { type: i2__namespace$1.ThyActionMenuItemExtendIconDirective, selector: "[thyActionMenuItemExtendIcon]" }] });
9467
+ TheContextMenuComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheContextMenuComponent, selector: "the-contextmenu", inputs: { menuEntities: "menuEntities", actionHandle: "actionHandle", activeHandle: "activeHandle", deactiveHandle: "deactiveHandle" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)", "mousedown": "handleMouseDown($event)" }, properties: { "class.the-overlay-menu-wrap": "this.wrap" } }, ngImport: i0__namespace, template: "<thy-action-menu>\n <ng-container *ngFor=\"let menuItem of menuEntities\">\n <a\n thyActionMenuItem\n href=\"javascript:;\"\n *ngIf=\"!menuItem.invisibility\"\n (mousedown)=\"itemMousedown($event, menuItem)\"\n (mouseenter)=\"itemMouseenter($event, menuItem)\"\n (mouseleave)=\"itemMouseleave($event, menuItem)\"\n >\n <span thyActionMenuItemIcon>\n <thy-icon\n *ngIf=\"menuItem.backgroundColor; else elseIcon\"\n [thyIconName]=\"menuItem.icon\"\n thyIconType=\"twotone\"\n [thyTwotoneColor]=\"menuItem.backgroundColor\"\n ></thy-icon>\n <ng-template #elseIcon>\n <thy-icon [thyIconName]=\"menuItem.icon\"></thy-icon>\n </ng-template>\n </span>\n <span thyActionMenuItemName>{{ menuItem.name }}</span>\n <span *ngIf=\"menuItem.extendIcon\" thyActionMenuItemExtendIcon>\n <thy-icon thyIconName=\"{{ menuItem.extendIcon }}\"></thy-icon>\n </span>\n </a>\n <thy-action-menu-divider *ngIf=\"menuItem.divider\"></thy-action-menu-divider>\n </ng-container>\n</thy-action-menu>\n", components: [{ type: i2__namespace$1.ThyActionMenuComponent, selector: "thy-action-menu", inputs: ["thyTheme", "thyWidth"] }, { type: i3__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i2__namespace$1.ThyActionMenuDividerComponent, selector: "thy-action-menu-divider", inputs: ["thyTitle", "thyType"] }], directives: [{ type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.ThyActionMenuItemDirective, selector: "[thyActionMenuItem]", inputs: ["thyDisabled", "thyType"] }, { type: i2__namespace$1.ThyActionMenuItemIconDirective, selector: "[thyActionMenuItemIcon]" }, { type: i2__namespace$1.ThyActionMenuItemNameDirective, selector: "[thyActionMenuItemName]" }, { type: i2__namespace$1.ThyActionMenuItemExtendIconDirective, selector: "[thyActionMenuItemExtendIcon]" }] });
9369
9468
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheContextMenuComponent, decorators: [{
9370
9469
  type: i0.Component,
9371
9470
  args: [{
@@ -10146,6 +10245,9 @@
10146
10245
  image.onload = function () {
10147
10246
  resolve(true);
10148
10247
  };
10248
+ image.onerror = function () {
10249
+ resolve(true);
10250
+ };
10149
10251
  image.src = item.getAttribute('src');
10150
10252
  });
10151
10253
  imageResolves_1.push(imageLoad);
@@ -11628,7 +11730,6 @@
11628
11730
  var _this = _super.call(this) || this;
11629
11731
  _this.thyPopover = thyPopover;
11630
11732
  _this.overlay = overlay;
11631
- _this.active = false;
11632
11733
  return _this;
11633
11734
  }
11634
11735
  Object.defineProperty(TheTableToolbarItemComponent.prototype, "isOpenTableSelect", {
@@ -11638,17 +11739,12 @@
11638
11739
  enumerable: false,
11639
11740
  configurable: true
11640
11741
  });
11641
- TheTableToolbarItemComponent.prototype.statusChange = function (editor) {
11642
- var _a;
11643
- this.active = (_a = this.item) === null || _a === void 0 ? void 0 : _a.active(editor);
11644
- };
11645
11742
  TheTableToolbarItemComponent.prototype.execute = function (event) {
11646
11743
  var _a;
11647
11744
  _super.prototype.execute.call(this, event);
11648
11745
  if ((_a = this.editor) === null || _a === void 0 ? void 0 : _a.disabled) {
11649
11746
  return;
11650
11747
  }
11651
- var type = this.item.key;
11652
11748
  this.toggleTableSelect(event);
11653
11749
  };
11654
11750
  TheTableToolbarItemComponent.prototype.toggleTableSelect = function (event, optionsParam) {
@@ -11673,23 +11769,19 @@
11673
11769
  return this.tableSelectRef;
11674
11770
  };
11675
11771
  return TheTableToolbarItemComponent;
11676
- }(TheToolbarBaseItemComponent));
11772
+ }(TheBaseToolbarItem));
11677
11773
  TheTableToolbarItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheTableToolbarItemComponent, deps: [{ token: i1__namespace$6.ThyPopover }, { token: i2__namespace.Overlay }], target: i0__namespace.ɵɵFactoryTarget.Component });
11678
- TheTableToolbarItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheTableToolbarItemComponent, selector: "the-table-toolbar-item", inputs: { item: "item", editor: "editor" }, host: { classAttribute: "the-toolbar-dropdown-container" }, usesInheritance: true, ngImport: i0__namespace, template: "\n <a\n thyIconNavLink\n class=\"link-with-down\"\n [thyTooltip]=\"item?.name\"\n thyTooltipPlacement=\"top\"\n [thyIconNavLinkActive]=\"active\"\n (mousedown)=\"execute($event)\"\n >\n <thy-icon [thyIconName]=\"item.icon\"></thy-icon>\n <thy-icon class=\"link-down-icon font-size-sm text-desc table-down-icon\" thyIconName=\"caret-down\"> </thy-icon>\n </a>\n ", isInline: true, components: [{ type: i3__namespace.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i4__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i5__namespace$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
11774
+ TheTableToolbarItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheTableToolbarItemComponent, selector: "the-table-toolbar-item", host: { classAttribute: "the-toolbar-dropdown-container" }, usesInheritance: true, ngImport: i0__namespace, template: "\n <a\n thyIconNavLink\n class=\"link-with-down\"\n [thyTooltip]=\"toolbarItem?.name\"\n thyTooltipPlacement=\"top\"\n [thyIconNavLinkActive]=\"active\"\n (mousedown)=\"execute($event)\"\n >\n <thy-icon [thyIconName]=\"toolbarItem.icon\"></thy-icon>\n <thy-icon class=\"link-down-icon font-size-sm text-desc table-down-icon\" thyIconName=\"caret-down\"> </thy-icon>\n </a>\n ", isInline: true, components: [{ type: i3__namespace$1.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i3__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i5__namespace$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
11679
11775
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheTableToolbarItemComponent, decorators: [{
11680
11776
  type: i0.Component,
11681
11777
  args: [{
11682
11778
  selector: 'the-table-toolbar-item',
11683
- template: "\n <a\n thyIconNavLink\n class=\"link-with-down\"\n [thyTooltip]=\"item?.name\"\n thyTooltipPlacement=\"top\"\n [thyIconNavLinkActive]=\"active\"\n (mousedown)=\"execute($event)\"\n >\n <thy-icon [thyIconName]=\"item.icon\"></thy-icon>\n <thy-icon class=\"link-down-icon font-size-sm text-desc table-down-icon\" thyIconName=\"caret-down\"> </thy-icon>\n </a>\n ",
11779
+ template: "\n <a\n thyIconNavLink\n class=\"link-with-down\"\n [thyTooltip]=\"toolbarItem?.name\"\n thyTooltipPlacement=\"top\"\n [thyIconNavLinkActive]=\"active\"\n (mousedown)=\"execute($event)\"\n >\n <thy-icon [thyIconName]=\"toolbarItem.icon\"></thy-icon>\n <thy-icon class=\"link-down-icon font-size-sm text-desc table-down-icon\" thyIconName=\"caret-down\"> </thy-icon>\n </a>\n ",
11684
11780
  host: {
11685
11781
  class: 'the-toolbar-dropdown-container'
11686
11782
  }
11687
11783
  }]
11688
- }], ctorParameters: function () { return [{ type: i1__namespace$6.ThyPopover }, { type: i2__namespace.Overlay }]; }, propDecorators: { item: [{
11689
- type: i0.Input
11690
- }], editor: [{
11691
- type: i0.Input
11692
- }] } });
11784
+ }], ctorParameters: function () { return [{ type: i1__namespace$6.ThyPopover }, { type: i2__namespace.Overlay }]; } });
11693
11785
 
11694
11786
  var _a;
11695
11787
  var withTable = function (editor) {
@@ -12147,7 +12239,7 @@
12147
12239
  return;
12148
12240
  }
12149
12241
  // 过滤 text 节点的 color/background-color 属性
12150
- fragment.forEach(function (node) { return deleteColorAndBackgroundColorOfText(node); });
12242
+ fragment.forEach(function (node) { return filterTextFormat(node); });
12151
12243
  slate.Transforms.insertFragment(editor, fragment);
12152
12244
  return;
12153
12245
  }
@@ -12168,67 +12260,49 @@
12168
12260
  _this.cfr = cfr;
12169
12261
  _this.itemMode = exports.ToolbarItemMode.horizontal;
12170
12262
  _this.ToolbarItemMode = exports.ToolbarItemMode;
12171
- _this.active = false;
12172
- _this.disabled = false;
12173
12263
  return _this;
12174
12264
  }
12175
12265
  TheToolbarItemComponent.prototype.toggleDropdown = function (event) {
12176
12266
  _super.prototype.execute.call(this, event);
12177
12267
  };
12178
- Object.defineProperty(TheToolbarItemComponent.prototype, "disabledState", {
12179
- get: function () {
12180
- return this.disabled;
12181
- },
12182
- enumerable: false,
12183
- configurable: true
12184
- });
12185
12268
  TheToolbarItemComponent.prototype.ngOnInit = function () {
12186
12269
  var _a, _b;
12187
- if (((_a = this.item) === null || _a === void 0 ? void 0 : _a.quickItemComponent) && i1.isComponentType((_b = this.item) === null || _b === void 0 ? void 0 : _b.quickItemComponent)) {
12270
+ if (((_a = this.toolbarItem) === null || _a === void 0 ? void 0 : _a.quickItemComponent) && i1.isComponentType((_b = this.toolbarItem) === null || _b === void 0 ? void 0 : _b.quickItemComponent)) {
12188
12271
  this.renderToolbarItem();
12189
12272
  }
12190
12273
  };
12191
- TheToolbarItemComponent.prototype.statusChange = function (editor) {
12192
- var _a, _b, _c, _d;
12193
- this.disabled = ((_a = this.item) === null || _a === void 0 ? void 0 : _a.disable) ? (_b = this.item) === null || _b === void 0 ? void 0 : _b.disable(editor) : false;
12194
- this.active = ((_c = this.item) === null || _c === void 0 ? void 0 : _c.active) ? (_d = this.item) === null || _d === void 0 ? void 0 : _d.active(editor) : false;
12195
- };
12196
12274
  TheToolbarItemComponent.prototype.execute = function (event) {
12197
12275
  var _a, _b, _c;
12198
12276
  _super.prototype.execute.call(this, event);
12199
- if (((_a = this.editor) === null || _a === void 0 ? void 0 : _a.disabled) || this.disabled || !((_b = this.item) === null || _b === void 0 ? void 0 : _b.execute)) {
12277
+ if (((_a = this.editor) === null || _a === void 0 ? void 0 : _a.disabled) || this.disabled || !((_b = this.toolbarItem) === null || _b === void 0 ? void 0 : _b.execute)) {
12200
12278
  return;
12201
12279
  }
12202
- (_c = this.item) === null || _c === void 0 ? void 0 : _c.execute(this.editor);
12280
+ (_c = this.toolbarItem) === null || _c === void 0 ? void 0 : _c.execute(this.editor);
12203
12281
  };
12204
12282
  TheToolbarItemComponent.prototype.renderToolbarItem = function () {
12205
12283
  var _this = this;
12206
12284
  this.ngZone.run(function () {
12207
- var toolbarItemFactory = _this.cfr.resolveComponentFactory(_this.item.quickItemComponent);
12208
- var tollbarItemRef = _this.toolbarContainer.createComponent(toolbarItemFactory);
12209
- tollbarItemRef.instance.editor = _this.editor;
12210
- tollbarItemRef.instance.item = _this.item;
12211
- tollbarItemRef.instance.itemMode = exports.ToolbarItemMode.vertical;
12285
+ var toolbarItemFactory = _this.cfr.resolveComponentFactory(_this.toolbarItem.quickItemComponent);
12286
+ var toolbarItemRef = _this.toolbarContainer.createComponent(toolbarItemFactory);
12287
+ toolbarItemRef.instance.editor = _this.editor;
12288
+ toolbarItemRef.instance.item = _this.toolbarItem;
12289
+ toolbarItemRef.instance.itemMode = exports.ToolbarItemMode.vertical;
12212
12290
  });
12213
12291
  };
12214
12292
  return TheToolbarItemComponent;
12215
- }(TheToolbarBaseItemComponent));
12293
+ }(TheBaseToolbarItem));
12216
12294
  TheToolbarItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheToolbarItemComponent, deps: [{ token: i0__namespace.NgZone }, { token: i0__namespace.ComponentFactoryResolver }], target: i0__namespace.ɵɵFactoryTarget.Component });
12217
- TheToolbarItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheToolbarItemComponent, selector: "the-toolbar-item", inputs: { editor: "editor", item: "item", itemMode: "itemMode" }, host: { listeners: { "mousedown": "toggleDropdown($event)" }, properties: { "class.disabled": "this.disabledState" }, classAttribute: "the-toolbar-item" }, viewQueries: [{ propertyName: "toolbarContainer", first: true, predicate: ["toolbarContainer"], descendants: true, read: i0.ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "\n <ng-container *ngIf=\"itemMode === ToolbarItemMode.horizontal; else selectionItem\">\n <a\n thyIconNavLink\n [thyIconNavLinkIcon]=\"item.icon\"\n [thyTooltip]=\"tooltip\"\n [thyTooltipTemplateContext]=\"{ name: item.name, shortcutKey: item.shortcutKey }\"\n thyTooltipPlacement=\"top\"\n [thyIconNavLinkActive]=\"active\"\n (mousedown)=\"execute($event)\"\n ></a>\n </ng-container>\n <ng-template #selectionItem>\n <ng-container *ngIf=\"!item?.quickItemComponent\">\n <thy-icon [thyIconName]=\"item?.icon\" [thyIconRotate]=\"0\" class=\"quick-toolbar-icon\"></thy-icon>\n <span class=\"quick-toolbar-name\">{{ item?.name }}</span>\n </ng-container>\n </ng-template>\n <ng-template #tooltip let-data> {{ data.name }} {{ data.shortcutKey }} </ng-template>\n <ng-container #toolbarContainer></ng-container>\n ", isInline: true, components: [{ type: i3__namespace.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i4__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
12295
+ TheToolbarItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheToolbarItemComponent, selector: "the-toolbar-item", inputs: { itemMode: "itemMode" }, host: { listeners: { "mousedown": "toggleDropdown($event)" }, classAttribute: "the-toolbar-item" }, viewQueries: [{ propertyName: "toolbarContainer", first: true, predicate: ["toolbarContainer"], descendants: true, read: i0.ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "\n <ng-container *ngIf=\"itemMode === ToolbarItemMode.horizontal; else selectionItem\">\n <a\n thyIconNavLink\n [thyIconNavLinkIcon]=\"toolbarItem.icon\"\n [thyTooltip]=\"tooltip\"\n [thyTooltipTemplateContext]=\"{ name: toolbarItem.name, shortcutKey: toolbarItem.shortcutKey }\"\n thyTooltipPlacement=\"top\"\n [thyIconNavLinkActive]=\"active\"\n (mousedown)=\"execute($event)\"\n ></a>\n </ng-container>\n <ng-template #selectionItem>\n <ng-container *ngIf=\"!toolbarItem?.quickItemComponent\">\n <thy-icon [thyIconName]=\"toolbarItem?.icon\" [thyIconRotate]=\"0\" class=\"quick-toolbar-icon\"></thy-icon>\n <span class=\"quick-toolbar-name\">{{ toolbarItem?.name }}</span>\n </ng-container>\n </ng-template>\n <ng-template #tooltip let-data> {{ data.name }} {{ data.shortcutKey }} </ng-template>\n <ng-container #toolbarContainer></ng-container>\n ", isInline: true, components: [{ type: i3__namespace$1.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i3__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
12218
12296
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheToolbarItemComponent, decorators: [{
12219
12297
  type: i0.Component,
12220
12298
  args: [{
12221
12299
  selector: 'the-toolbar-item',
12222
- template: "\n <ng-container *ngIf=\"itemMode === ToolbarItemMode.horizontal; else selectionItem\">\n <a\n thyIconNavLink\n [thyIconNavLinkIcon]=\"item.icon\"\n [thyTooltip]=\"tooltip\"\n [thyTooltipTemplateContext]=\"{ name: item.name, shortcutKey: item.shortcutKey }\"\n thyTooltipPlacement=\"top\"\n [thyIconNavLinkActive]=\"active\"\n (mousedown)=\"execute($event)\"\n ></a>\n </ng-container>\n <ng-template #selectionItem>\n <ng-container *ngIf=\"!item?.quickItemComponent\">\n <thy-icon [thyIconName]=\"item?.icon\" [thyIconRotate]=\"0\" class=\"quick-toolbar-icon\"></thy-icon>\n <span class=\"quick-toolbar-name\">{{ item?.name }}</span>\n </ng-container>\n </ng-template>\n <ng-template #tooltip let-data> {{ data.name }} {{ data.shortcutKey }} </ng-template>\n <ng-container #toolbarContainer></ng-container>\n ",
12300
+ template: "\n <ng-container *ngIf=\"itemMode === ToolbarItemMode.horizontal; else selectionItem\">\n <a\n thyIconNavLink\n [thyIconNavLinkIcon]=\"toolbarItem.icon\"\n [thyTooltip]=\"tooltip\"\n [thyTooltipTemplateContext]=\"{ name: toolbarItem.name, shortcutKey: toolbarItem.shortcutKey }\"\n thyTooltipPlacement=\"top\"\n [thyIconNavLinkActive]=\"active\"\n (mousedown)=\"execute($event)\"\n ></a>\n </ng-container>\n <ng-template #selectionItem>\n <ng-container *ngIf=\"!toolbarItem?.quickItemComponent\">\n <thy-icon [thyIconName]=\"toolbarItem?.icon\" [thyIconRotate]=\"0\" class=\"quick-toolbar-icon\"></thy-icon>\n <span class=\"quick-toolbar-name\">{{ toolbarItem?.name }}</span>\n </ng-container>\n </ng-template>\n <ng-template #tooltip let-data> {{ data.name }} {{ data.shortcutKey }} </ng-template>\n <ng-container #toolbarContainer></ng-container>\n ",
12223
12301
  host: {
12224
12302
  class: 'the-toolbar-item'
12225
12303
  }
12226
12304
  }]
12227
- }], ctorParameters: function () { return [{ type: i0__namespace.NgZone }, { type: i0__namespace.ComponentFactoryResolver }]; }, propDecorators: { editor: [{
12228
- type: i0.Input
12229
- }], item: [{
12230
- type: i0.Input
12231
- }], itemMode: [{
12305
+ }], ctorParameters: function () { return [{ type: i0__namespace.NgZone }, { type: i0__namespace.ComponentFactoryResolver }]; }, propDecorators: { itemMode: [{
12232
12306
  type: i0.Input
12233
12307
  }], toolbarContainer: [{
12234
12308
  type: i0.ViewChild,
@@ -12236,9 +12310,6 @@
12236
12310
  }], toggleDropdown: [{
12237
12311
  type: i0.HostListener,
12238
12312
  args: ['mousedown', ['$event']]
12239
- }], disabledState: [{
12240
- type: i0.HostBinding,
12241
- args: ['class.disabled']
12242
12313
  }] } });
12243
12314
 
12244
12315
  var TheQuickToolbarComponent = /** @class */ (function (_super) {
@@ -12292,7 +12363,7 @@
12292
12363
  return TheQuickToolbarComponent;
12293
12364
  }(core.mixinUnsubscribe(core.MixinBase)));
12294
12365
  TheQuickToolbarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheQuickToolbarComponent, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
12295
- TheQuickToolbarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheQuickToolbarComponent, selector: "the-quick-toolbar", inputs: { editor: "editor", quickToolbarItems: "quickToolbarItems" }, host: { listeners: { "document: mousedown": "handleMouseDown($event)", "document: keydown.enter": "handleEnter()", "document: keydown.escape": "handleEsc()" } }, usesInheritance: true, ngImport: i0__namespace, template: "<thy-selection-list\n class=\"the-quick-toolbar\"\n [thyBindKeyEventContainer]=\"editorElement\"\n (thySelectionChange)=\"selectionChange($event)\"\n [thyMultiple]=\"false\"\n>\n <ng-container *ngFor=\"let item of quickToolbarItems\">\n <ng-container *ngIf=\"item.key !== ToolbarActionTypes.split; else splitLine\">\n <thy-list-option [thyValue]=\"item?.key\" (mousedown)=\"stopPropagation($event)\">\n <the-toolbar-item [editor]=\"editor\" [item]=\"item\" [itemMode]=\"ToolbarItemMode.vertical\"></the-toolbar-item>\n </thy-list-option>\n </ng-container>\n </ng-container>\n</thy-selection-list>\n\n<ng-template #splitLine>\n <nav-split-line [mode]=\"ToolbarItemMode.horizontal\"></nav-split-line>\n</ng-template>\n", components: [{ type: i1__namespace$7.ThySelectionListComponent, selector: "thy-selection-list,[thy-selection-list]", inputs: ["thyMultiple", "thyBindKeyEventContainer", "thyScrollContainer", "thyBeforeKeydown", "thyUniqueKey", "thyCompareWith", "thyLayout", "thyAutoActiveFirstItem", "thySize", "thySpaceKeyEnabled"], outputs: ["thySelectionChange"] }, { type: i5__namespace$3.ThyListOptionComponent, selector: "thy-list-option,[thy-list-option]", inputs: ["id", "thyValue", "thyDisabled"] }, { type: TheToolbarItemComponent, selector: "the-toolbar-item", inputs: ["editor", "item", "itemMode"] }, { type: NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }], directives: [{ type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
12366
+ TheQuickToolbarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheQuickToolbarComponent, selector: "the-quick-toolbar", inputs: { editor: "editor", quickToolbarItems: "quickToolbarItems" }, host: { listeners: { "document: mousedown": "handleMouseDown($event)", "document: keydown.enter": "handleEnter()", "document: keydown.escape": "handleEsc()" } }, usesInheritance: true, ngImport: i0__namespace, template: "<thy-selection-list\n class=\"the-quick-toolbar\"\n [thyBindKeyEventContainer]=\"editorElement\"\n (thySelectionChange)=\"selectionChange($event)\"\n [thyMultiple]=\"false\"\n>\n <ng-container *ngFor=\"let item of quickToolbarItems\">\n <ng-container *ngIf=\"item.key !== ToolbarActionTypes.split; else splitLine\">\n <thy-list-option [thyValue]=\"item?.key\" (mousedown)=\"stopPropagation($event)\">\n <the-toolbar-item [editor]=\"editor\" [toolbarItem]=\"item\" [itemMode]=\"ToolbarItemMode.vertical\"></the-toolbar-item>\n </thy-list-option>\n </ng-container>\n </ng-container>\n</thy-selection-list>\n\n<ng-template #splitLine>\n <nav-split-line [mode]=\"ToolbarItemMode.horizontal\"></nav-split-line>\n</ng-template>\n", components: [{ type: i1__namespace$7.ThySelectionListComponent, selector: "thy-selection-list,[thy-selection-list]", inputs: ["thyMultiple", "thyBindKeyEventContainer", "thyScrollContainer", "thyBeforeKeydown", "thyUniqueKey", "thyCompareWith", "thyLayout", "thyAutoActiveFirstItem", "thySize", "thySpaceKeyEnabled"], outputs: ["thySelectionChange"] }, { type: i5__namespace$3.ThyListOptionComponent, selector: "thy-list-option,[thy-list-option]", inputs: ["id", "thyValue", "thyDisabled"] }, { type: TheToolbarItemComponent, selector: "the-toolbar-item", inputs: ["itemMode"] }, { type: NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }], directives: [{ type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
12296
12367
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheQuickToolbarComponent, decorators: [{
12297
12368
  type: i0.Component,
12298
12369
  args: [{
@@ -12532,123 +12603,11 @@
12532
12603
  execute: function (editor) { return InlineCodeEditor.toggleInlineCode(editor); },
12533
12604
  active: function (editor) { return InlineCodeEditor.isInlineCodeActive(editor); }
12534
12605
  }
12535
- ]
12536
- });
12537
-
12538
- var TheIndentToolbarComponent = /** @class */ (function (_super) {
12539
- __extends(TheIndentToolbarComponent, _super);
12540
- function TheIndentToolbarComponent(elementRef, thyPopover, viewContainerRef, overlay) {
12541
- var _this = _super.call(this) || this;
12542
- _this.elementRef = elementRef;
12543
- _this.thyPopover = thyPopover;
12544
- _this.viewContainerRef = viewContainerRef;
12545
- _this.overlay = overlay;
12546
- _this.mode = exports.DropdownMode.text;
12547
- _this.dropdownMode = exports.DropdownMode;
12548
- _this.disabled = false;
12549
- return _this;
12606
+ ],
12607
+ options: {
12608
+ disabledOperateTypes: __spreadArray([exports.ElementKinds.image], __read(DISABLED_OPERATE_TYPES))
12550
12609
  }
12551
- Object.defineProperty(TheIndentToolbarComponent.prototype, "isOpen", {
12552
- get: function () {
12553
- return this.dropdownPopoverRef && this.dropdownPopoverRef.getOverlayRef() && this.dropdownPopoverRef.getOverlayRef().hasAttached();
12554
- },
12555
- enumerable: false,
12556
- configurable: true
12557
- });
12558
- TheIndentToolbarComponent.prototype.toggleDropdown = function (event) {
12559
- var _a;
12560
- _super.prototype.execute.call(this, event);
12561
- if (((_a = this.editor) === null || _a === void 0 ? void 0 : _a.disabled) || this.disabled) {
12562
- return;
12563
- }
12564
- this.openDropdownPopover();
12565
- };
12566
- TheIndentToolbarComponent.prototype.handleDocumentMouseDown = function (event) {
12567
- if (!this.elementRef.nativeElement.contains(event.target)) {
12568
- this.closeDropdownPopover();
12569
- }
12570
- };
12571
- Object.defineProperty(TheIndentToolbarComponent.prototype, "disabledState", {
12572
- get: function () {
12573
- return this.disabled;
12574
- },
12575
- enumerable: false,
12576
- configurable: true
12577
- });
12578
- TheIndentToolbarComponent.prototype.ngOnInit = function () {
12579
- var _a;
12580
- if (!this.activeMenu) {
12581
- this.activeMenu = this.menus[0];
12582
- }
12583
- if (this.toolbarItem) {
12584
- this.elementRef.nativeElement.classList.add("" + ((_a = this.toolbarItem) === null || _a === void 0 ? void 0 : _a.key));
12585
- }
12586
- };
12587
- TheIndentToolbarComponent.prototype.statusChange = function (editor) {
12588
- var _a, _b;
12589
- this.disabled = ((_a = this.toolbarItem) === null || _a === void 0 ? void 0 : _a.disable) ? (_b = this.toolbarItem) === null || _b === void 0 ? void 0 : _b.disable(editor) : false;
12590
- };
12591
- TheIndentToolbarComponent.prototype.itemMousedown = function (event, item) {
12592
- _super.prototype.execute.call(this, event);
12593
- this.closeDropdownPopover();
12594
- if (item === null || item === void 0 ? void 0 : item.execute) {
12595
- item === null || item === void 0 ? void 0 : item.execute(this.editor);
12596
- }
12597
- };
12598
- TheIndentToolbarComponent.prototype.openDropdownPopover = function () {
12599
- var _a;
12600
- this.dropdownPopoverRef = this.thyPopover.open(this.dropdownTemplate, {
12601
- origin: this.elementRef,
12602
- panelClass: ['the-toolbar-dropdown-popover', (_a = this.toolbarItem) === null || _a === void 0 ? void 0 : _a.key],
12603
- placement: 'bottomLeft',
12604
- insideClosable: false,
12605
- backdropClosable: true,
12606
- hasBackdrop: false,
12607
- offset: 10,
12608
- viewContainerRef: this.viewContainerRef,
12609
- scrollStrategy: this.overlay.scrollStrategies.reposition()
12610
- });
12611
- };
12612
- TheIndentToolbarComponent.prototype.closeDropdownPopover = function () {
12613
- var _a;
12614
- if (this.dropdownPopoverRef) {
12615
- (_a = this.dropdownPopoverRef) === null || _a === void 0 ? void 0 : _a.close();
12616
- }
12617
- };
12618
- return TheIndentToolbarComponent;
12619
- }(TheToolbarBaseItemComponent));
12620
- TheIndentToolbarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheIndentToolbarComponent, deps: [{ token: i0__namespace.ElementRef }, { token: i1__namespace$1.ThyPopover }, { token: i0__namespace.ViewContainerRef }, { token: i2__namespace.Overlay }], target: i0__namespace.ɵɵFactoryTarget.Component });
12621
- TheIndentToolbarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheIndentToolbarComponent, selector: "the-indent-toolbar-item", inputs: { toolbarItem: "toolbarItem", menus: "menus", mode: "mode", item: "item" }, host: { listeners: { "mousedown": "toggleDropdown($event)", "document: mousedown": "handleDocumentMouseDown($event)" }, properties: { "class.disabled": "this.disabledState" }, classAttribute: "the-toolbar-dropdown-container" }, viewQueries: [{ propertyName: "dropdownTemplate", first: true, predicate: ["dropdownTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "<a thyIconNavLink class=\"icon-mode link-with-down\" [thyTooltip]=\"activeMenu?.name\" thyTooltipPlacement=\"top\">\n <thy-icon [thyIconName]=\"activeMenu?.icon\"></thy-icon>\n <thy-icon class=\"caret-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n</a>\n\n<ng-template #dropdownTemplate>\n <thy-action-menu class=\"dropdown-menu\">\n <ng-container *ngFor=\"let menu of menus\">\n <a\n thyActionMenuItem\n href=\"javascript:;\"\n [thyTooltip]=\"tooltip\"\n [thyTooltipTemplateContext]=\"{ name: menu.name, shortcutKey: menu.shortcutKey }\"\n thyTooltipPlacement=\"right\"\n (mousedown)=\"itemMousedown($event, menu)\"\n >\n <span thyActionMenuItemIcon>\n <thy-icon [thyIconName]=\"menu.icon\"></thy-icon>\n </span>\n <span thyActionMenuItemName>{{ menu.name }}</span>\n </a>\n </ng-container>\n </thy-action-menu>\n</ng-template>\n\n<ng-template #tooltip let-data>{{ data?.shortcutKey }}</ng-template>\n", components: [{ type: i3__namespace.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i4__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i2__namespace$1.ThyActionMenuComponent, selector: "thy-action-menu", inputs: ["thyTheme", "thyWidth"] }], directives: [{ type: i5__namespace$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$1.ThyActionMenuItemDirective, selector: "[thyActionMenuItem]", inputs: ["thyDisabled", "thyType"] }, { type: i2__namespace$1.ThyActionMenuItemIconDirective, selector: "[thyActionMenuItemIcon]" }, { type: i2__namespace$1.ThyActionMenuItemNameDirective, selector: "[thyActionMenuItemName]" }] });
12622
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheIndentToolbarComponent, decorators: [{
12623
- type: i0.Component,
12624
- args: [{
12625
- selector: 'the-indent-toolbar-item',
12626
- templateUrl: './toolbar-item.component.html',
12627
- host: {
12628
- class: 'the-toolbar-dropdown-container'
12629
- }
12630
- }]
12631
- }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i1__namespace$1.ThyPopover }, { type: i0__namespace.ViewContainerRef }, { type: i2__namespace.Overlay }]; }, propDecorators: { toolbarItem: [{
12632
- type: i0.Input
12633
- }], menus: [{
12634
- type: i0.Input
12635
- }], mode: [{
12636
- type: i0.Input
12637
- }], item: [{
12638
- type: i0.Input
12639
- }], dropdownTemplate: [{
12640
- type: i0.ViewChild,
12641
- args: ['dropdownTemplate', { static: true }]
12642
- }], toggleDropdown: [{
12643
- type: i0.HostListener,
12644
- args: ['mousedown', ['$event']]
12645
- }], handleDocumentMouseDown: [{
12646
- type: i0.HostListener,
12647
- args: ['document: mousedown', ['$event']]
12648
- }], disabledState: [{
12649
- type: i0.HostBinding,
12650
- args: ['class.disabled']
12651
- }] } });
12610
+ });
12652
12611
 
12653
12612
  var IndentEditor = {
12654
12613
  getAllowedTypes: function (editor) {
@@ -12717,14 +12676,6 @@
12717
12676
  return true;
12718
12677
  }
12719
12678
  return false;
12720
- },
12721
- isDisabled: function (editor) {
12722
- if (editor.selection) {
12723
- var allowedTypes = IndentEditor.getAllowedTypes(editor);
12724
- var anchorBlock$1 = anchorBlock(editor);
12725
- return anchorBlock$1 && !allowedTypes.includes(anchorBlock$1 === null || anchorBlock$1 === void 0 ? void 0 : anchorBlock$1.type);
12726
- }
12727
- return false;
12728
12679
  }
12729
12680
  };
12730
12681
 
@@ -12798,8 +12749,10 @@
12798
12749
  {
12799
12750
  key: exports.ElementKinds.indent,
12800
12751
  includes: [exports.Indents.indentRight, exports.Indents.indentLeft],
12801
- iconComponent: TheIndentToolbarComponent,
12802
- disable: function (editor) { return IndentEditor.isDisabled(editor); }
12752
+ type: exports.ToolbarItemType.dropdown,
12753
+ dropdownMode: exports.DropdownMode.icon,
12754
+ dropdownItemKey: exports.Indents.indentRight,
12755
+ dropdownFixedIcon: true
12803
12756
  },
12804
12757
  {
12805
12758
  key: exports.Indents.indentRight,
@@ -12813,7 +12766,6 @@
12813
12766
  name: '减少缩进',
12814
12767
  icon: 'float-right',
12815
12768
  shortcutKey: 'Shift+Tab/BackSpace',
12816
- type: exports.ToolbarItemType.toolDropdown,
12817
12769
  execute: function (editor) { return IndentEditor.cancelIndent(editor); }
12818
12770
  }
12819
12771
  ],
@@ -12825,7 +12777,8 @@
12825
12777
  exports.ElementKinds.bulletedList,
12826
12778
  exports.ElementKinds.paragraph
12827
12779
  ], __read(HEADING_TYPES)),
12828
- disableIndentTypes: [exports.ElementKinds.bulletedList, exports.ElementKinds.numberedList, exports.ElementKinds.checkItem]
12780
+ disableIndentTypes: [exports.ElementKinds.bulletedList, exports.ElementKinds.numberedList, exports.ElementKinds.checkItem],
12781
+ disabledOperateTypes: __spreadArray([exports.ElementKinds.image], __read(DISABLED_OPERATE_TYPES))
12829
12782
  }
12830
12783
  });
12831
12784
 
@@ -12891,14 +12844,6 @@
12891
12844
  }
12892
12845
  }
12893
12846
  return false;
12894
- },
12895
- isDisabled: function (editor) {
12896
- if (editor.selection) {
12897
- var disableGroup = HEADING_TYPES;
12898
- var anchorBlock$1 = anchorBlock(editor);
12899
- return anchorBlock$1 && disableGroup.includes(anchorBlock$1 === null || anchorBlock$1 === void 0 ? void 0 : anchorBlock$1.type);
12900
- }
12901
- return false;
12902
12847
  }
12903
12848
  };
12904
12849
  var sizeOptions = function () {
@@ -12917,12 +12862,14 @@
12917
12862
  {
12918
12863
  key: exports.MarkTypes.fontSize,
12919
12864
  name: '字号',
12920
- type: exports.ToolbarItemType.toolDropdown,
12865
+ type: exports.ToolbarItemType.dropdown,
12921
12866
  dropdownItemKey: exports.FontSizes.fontSize14,
12922
- includes: FontSizeTypes,
12923
- disable: function (editor) { return FontSizeEditor.isDisabled(editor); }
12867
+ includes: FontSizeTypes
12924
12868
  }
12925
- ], __read(sizeOptions()))
12869
+ ], __read(sizeOptions())),
12870
+ options: {
12871
+ disabledOperateTypes: __spreadArray(__spreadArray(__spreadArray([], __read(HEADING_TYPES)), [exports.ElementKinds.image]), __read(DISABLED_OPERATE_TYPES))
12872
+ }
12926
12873
  });
12927
12874
 
12928
12875
  var TheVerticalToolbarItemComponent = /** @class */ (function (_super) {
@@ -12933,7 +12880,6 @@
12933
12880
  _this.thyPopover = thyPopover;
12934
12881
  _this.viewContainerRef = viewContainerRef;
12935
12882
  _this.isHide = true;
12936
- _this.active = false;
12937
12883
  return _this;
12938
12884
  }
12939
12885
  Object.defineProperty(TheVerticalToolbarItemComponent.prototype, "isOpened", {
@@ -12949,11 +12895,6 @@
12949
12895
  }
12950
12896
  };
12951
12897
  TheVerticalToolbarItemComponent.prototype.ngOnInit = function () { };
12952
- TheVerticalToolbarItemComponent.prototype.statusChange = function (editor) {
12953
- var _a, _b;
12954
- this.active = ((_a = this.toolbarItem) === null || _a === void 0 ? void 0 : _a.active) ? (_b = this.toolbarItem) === null || _b === void 0 ? void 0 : _b.active(editor) : false;
12955
- this.activeMenu = this.menusActive(editor);
12956
- };
12957
12898
  TheVerticalToolbarItemComponent.prototype.menusActive = function (editor) {
12958
12899
  var _this = this;
12959
12900
  return this.menus.find(function (i) {
@@ -12998,9 +12939,9 @@
12998
12939
  }
12999
12940
  };
13000
12941
  return TheVerticalToolbarItemComponent;
13001
- }(TheToolbarBaseItemComponent));
12942
+ }(TheBaseToolbarDropdown));
13002
12943
  TheVerticalToolbarItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheVerticalToolbarItemComponent, deps: [{ token: i0__namespace.ElementRef }, { token: i1__namespace$6.ThyPopover }, { token: i0__namespace.ViewContainerRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
13003
- TheVerticalToolbarItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheVerticalToolbarItemComponent, selector: "the-toolbar-vertical-align-item", inputs: { item: "item", menus: "menus", editor: "editor", toolbarItem: "toolbarItem" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)" }, properties: { "class.hide": "!active" }, classAttribute: "the-toolbar-dropdown-container verticalAlign" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["VerticalAlignItems"], descendants: true, read: i0.TemplateRef, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "<a\n thyIconNavLink\n class=\"icon-mode link-with-down\"\n [thyTooltip]=\"toolbarItem?.name\"\n [thyIconNavLinkActive]=\"isOpened\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"execute($event)\"\n>\n <thy-icon [thyIconName]=\"activeMenu?.icon\"></thy-icon>\n <thy-icon class=\"caret-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n</a>\n\n<ng-template #VerticalAlignItems>\n <thy-action-menu class=\"dropdown\">\n <ng-container *ngFor=\"let menu of toolbarItem?.includes\">\n <a\n thyActionMenuItem\n href=\"javascript:;\"\n [thyActionMenuItemActive]=\"menu.key === activeMenu?.key\"\n (mousedown)=\"itemMousedown($event, menu)\"\n >\n <span *ngIf=\"menu.icon\" thyActionMenuItemIcon>\n <thy-icon [thyIconName]=\"menu?.icon\"></thy-icon>\n </span>\n <span thyActionMenuItemName>{{ menu.name }}</span>\n </a>\n </ng-container>\n </thy-action-menu>\n</ng-template>\n", components: [{ type: i3__namespace.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i4__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i2__namespace$1.ThyActionMenuComponent, selector: "thy-action-menu", inputs: ["thyTheme", "thyWidth"] }], directives: [{ type: i5__namespace$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$1.ThyActionMenuItemDirective, selector: "[thyActionMenuItem]", inputs: ["thyDisabled", "thyType"] }, { type: i2__namespace$1.ThyActionMenuItemActiveDirective, selector: "[thyActionMenuItemActive]", inputs: ["thyActionMenuItemActive"] }, { type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.ThyActionMenuItemIconDirective, selector: "[thyActionMenuItemIcon]" }, { type: i2__namespace$1.ThyActionMenuItemNameDirective, selector: "[thyActionMenuItemName]" }] });
12944
+ TheVerticalToolbarItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheVerticalToolbarItemComponent, selector: "the-toolbar-vertical-align-item", host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)" }, properties: { "class.hide": "!active" }, classAttribute: "the-toolbar-dropdown-container verticalAlign" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["VerticalAlignItems"], descendants: true, read: i0.TemplateRef, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "<a\n thyIconNavLink\n class=\"icon-mode link-with-down\"\n [thyTooltip]=\"toolbarItem?.name\"\n [thyIconNavLinkActive]=\"isOpened\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"execute($event)\"\n>\n <thy-icon [thyIconName]=\"activeMenuItem?.icon\"></thy-icon>\n <thy-icon class=\"caret-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n</a>\n\n<ng-template #VerticalAlignItems>\n <thy-action-menu class=\"dropdown\">\n <ng-container *ngFor=\"let menu of toolbarItem?.includes\">\n <a\n thyActionMenuItem\n href=\"javascript:;\"\n [thyActionMenuItemActive]=\"menu.key === activeMenuItem?.key\"\n (mousedown)=\"itemMousedown($event, menu)\"\n >\n <span *ngIf=\"menu.icon\" thyActionMenuItemIcon>\n <thy-icon [thyIconName]=\"menu?.icon\"></thy-icon>\n </span>\n <span thyActionMenuItemName>{{ menu.name }}</span>\n </a>\n </ng-container>\n </thy-action-menu>\n</ng-template>\n", components: [{ type: i3__namespace$1.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i3__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i2__namespace$1.ThyActionMenuComponent, selector: "thy-action-menu", inputs: ["thyTheme", "thyWidth"] }], directives: [{ type: i5__namespace$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$1.ThyActionMenuItemDirective, selector: "[thyActionMenuItem]", inputs: ["thyDisabled", "thyType"] }, { type: i2__namespace$1.ThyActionMenuItemActiveDirective, selector: "[thyActionMenuItemActive]", inputs: ["thyActionMenuItemActive"] }, { type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.ThyActionMenuItemIconDirective, selector: "[thyActionMenuItemIcon]" }, { type: i2__namespace$1.ThyActionMenuItemNameDirective, selector: "[thyActionMenuItemName]" }] });
13004
12945
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheVerticalToolbarItemComponent, decorators: [{
13005
12946
  type: i0.Component,
13006
12947
  args: [{
@@ -13011,15 +12952,7 @@
13011
12952
  '[class.hide]': '!active'
13012
12953
  }
13013
12954
  }]
13014
- }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i1__namespace$6.ThyPopover }, { type: i0__namespace.ViewContainerRef }]; }, propDecorators: { item: [{
13015
- type: i0.Input
13016
- }], menus: [{
13017
- type: i0.Input
13018
- }], editor: [{
13019
- type: i0.Input
13020
- }], toolbarItem: [{
13021
- type: i0.Input
13022
- }], template: [{
12955
+ }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i1__namespace$6.ThyPopover }, { type: i0__namespace.ViewContainerRef }]; }, propDecorators: { template: [{
13023
12956
  type: i0.ViewChild,
13024
12957
  args: ['VerticalAlignItems', { read: i0.TemplateRef, static: true }]
13025
12958
  }], handleDocumentMouseDown: [{
@@ -13047,7 +12980,7 @@
13047
12980
  {
13048
12981
  key: exports.ToolbarActionTypes.verticalAlign,
13049
12982
  name: '垂直对齐',
13050
- type: exports.ToolbarItemType.toolDropdown,
12983
+ type: exports.ToolbarItemType.dropdown,
13051
12984
  dropdownMode: exports.DropdownMode.icon,
13052
12985
  iconComponent: TheVerticalToolbarItemComponent,
13053
12986
  includes: [exports.ToolbarActionTypes.verticalAlignTop, exports.ToolbarActionTypes.verticalAlignMiddle, exports.ToolbarActionTypes.verticalAlignBottom],
@@ -13255,7 +13188,6 @@
13255
13188
  function TheColorToolbarItemComponent(thyPopover) {
13256
13189
  var _this = _super.call(this) || this;
13257
13190
  _this.thyPopover = thyPopover;
13258
- _this.active = false;
13259
13191
  return _this;
13260
13192
  }
13261
13193
  Object.defineProperty(TheColorToolbarItemComponent.prototype, "isOpenColorSelect", {
@@ -13265,17 +13197,13 @@
13265
13197
  enumerable: false,
13266
13198
  configurable: true
13267
13199
  });
13268
- TheColorToolbarItemComponent.prototype.statusChange = function (editor) {
13269
- var _a;
13270
- this.active = (_a = this.item) === null || _a === void 0 ? void 0 : _a.active(editor);
13271
- };
13272
13200
  TheColorToolbarItemComponent.prototype.execute = function (event) {
13273
13201
  var _a;
13274
13202
  _super.prototype.execute.call(this, event);
13275
- if ((_a = this.editor) === null || _a === void 0 ? void 0 : _a.disabled) {
13203
+ if (((_a = this.editor) === null || _a === void 0 ? void 0 : _a.disabled) || this.disabled) {
13276
13204
  return;
13277
13205
  }
13278
- var type = this.item.key;
13206
+ var type = this.toolbarItem.key;
13279
13207
  this.toggleColorSelect(event, type);
13280
13208
  };
13281
13209
  TheColorToolbarItemComponent.prototype.toggleColorSelect = function (event, type) {
@@ -13315,23 +13243,19 @@
13315
13243
  }
13316
13244
  };
13317
13245
  return TheColorToolbarItemComponent;
13318
- }(TheToolbarBaseItemComponent));
13246
+ }(TheBaseToolbarItem));
13319
13247
  TheColorToolbarItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheColorToolbarItemComponent, deps: [{ token: i1__namespace$1.ThyPopover }], target: i0__namespace.ɵɵFactoryTarget.Component });
13320
- TheColorToolbarItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheColorToolbarItemComponent, selector: "the-color-toolbar-item", inputs: { item: "item", editor: "editor" }, host: { classAttribute: "the-toolbar-item" }, usesInheritance: true, ngImport: i0__namespace, template: "\n <a\n class=\"link-width-down\"\n thyIconNavLink\n [ngStyle]=\"{\n width: item.key === 'color' ? '42px' : 'auto'\n }\"\n [thyTooltip]=\"item.name\"\n [thyIconNavLinkActive]=\"active\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"execute($event)\"\n >\n <thy-icon [thyIconName]=\"item.icon\" thyIconType=\"twotone\" [thyTwotoneColor]=\"active\"></thy-icon>\n <thy-icon\n [ngClass]=\"{\n 'link-down-icon': true,\n 'font-size-sm': true,\n 'text-desc': true\n }\"\n thyIconName=\"caret-down\"\n ></thy-icon>\n </a>\n ", isInline: true, components: [{ type: i3__namespace.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i4__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i10__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5__namespace$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i10__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
13248
+ TheColorToolbarItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheColorToolbarItemComponent, selector: "the-color-toolbar-item", host: { classAttribute: "the-toolbar-item" }, usesInheritance: true, ngImport: i0__namespace, template: "\n <a\n class=\"link-width-down\"\n thyIconNavLink\n [ngStyle]=\"{\n width: toolbarItem.key === 'color' ? '42px' : 'auto'\n }\"\n [thyTooltip]=\"toolbarItem.name\"\n [thyIconNavLinkActive]=\"active\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"execute($event)\"\n >\n <thy-icon [thyIconName]=\"toolbarItem.icon\" thyIconType=\"twotone\" [thyTwotoneColor]=\"active\"></thy-icon>\n <thy-icon\n [ngClass]=\"{\n 'link-down-icon': true,\n 'font-size-sm': true,\n 'text-desc': true\n }\"\n thyIconName=\"caret-down\"\n ></thy-icon>\n </a>\n ", isInline: true, components: [{ type: i3__namespace$1.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i3__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i10__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5__namespace$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i10__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
13321
13249
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheColorToolbarItemComponent, decorators: [{
13322
13250
  type: i0.Component,
13323
13251
  args: [{
13324
13252
  selector: 'the-color-toolbar-item',
13325
- template: "\n <a\n class=\"link-width-down\"\n thyIconNavLink\n [ngStyle]=\"{\n width: item.key === 'color' ? '42px' : 'auto'\n }\"\n [thyTooltip]=\"item.name\"\n [thyIconNavLinkActive]=\"active\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"execute($event)\"\n >\n <thy-icon [thyIconName]=\"item.icon\" thyIconType=\"twotone\" [thyTwotoneColor]=\"active\"></thy-icon>\n <thy-icon\n [ngClass]=\"{\n 'link-down-icon': true,\n 'font-size-sm': true,\n 'text-desc': true\n }\"\n thyIconName=\"caret-down\"\n ></thy-icon>\n </a>\n ",
13253
+ template: "\n <a\n class=\"link-width-down\"\n thyIconNavLink\n [ngStyle]=\"{\n width: toolbarItem.key === 'color' ? '42px' : 'auto'\n }\"\n [thyTooltip]=\"toolbarItem.name\"\n [thyIconNavLinkActive]=\"active\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"execute($event)\"\n >\n <thy-icon [thyIconName]=\"toolbarItem.icon\" thyIconType=\"twotone\" [thyTwotoneColor]=\"active\"></thy-icon>\n <thy-icon\n [ngClass]=\"{\n 'link-down-icon': true,\n 'font-size-sm': true,\n 'text-desc': true\n }\"\n thyIconName=\"caret-down\"\n ></thy-icon>\n </a>\n ",
13326
13254
  host: {
13327
13255
  class: 'the-toolbar-item'
13328
13256
  }
13329
13257
  }]
13330
- }], ctorParameters: function () { return [{ type: i1__namespace$1.ThyPopover }]; }, propDecorators: { item: [{
13331
- type: i0.Input
13332
- }], editor: [{
13333
- type: i0.Input
13334
- }] } });
13258
+ }], ctorParameters: function () { return [{ type: i1__namespace$1.ThyPopover }]; } });
13335
13259
 
13336
13260
  var createColorPlugin = createPluginFactory({
13337
13261
  key: exports.PluginKeys.color,
@@ -13350,7 +13274,10 @@
13350
13274
  iconComponent: TheColorToolbarItemComponent,
13351
13275
  active: function (editor) { return ColorEditor.getActiveColor(editor, exports.MarkTypes.backgroundColor); }
13352
13276
  }
13353
- ]
13277
+ ],
13278
+ options: {
13279
+ disabledOperateTypes: __spreadArray([exports.ElementKinds.image], __read(DISABLED_OPERATE_TYPES))
13280
+ }
13354
13281
  });
13355
13282
 
13356
13283
  var internalPlugins = function () { return [
@@ -13432,7 +13359,7 @@
13432
13359
  TheToolbarComponent.prototype.ngOnInit = function () {
13433
13360
  this.setToolbarClass();
13434
13361
  this.renderToolbarView();
13435
- this.statusChange(this.editor);
13362
+ this.selectionChange(this.editor);
13436
13363
  if (this.isMore) {
13437
13364
  this.resizeElement();
13438
13365
  }
@@ -13449,9 +13376,9 @@
13449
13376
  }
13450
13377
  };
13451
13378
  TheToolbarComponent.prototype.setToolbarClass = function () {
13452
- var _d;
13379
+ var _a;
13453
13380
  if (this.editor && !!this.containerClass.length) {
13454
- (_d = this.elementRef.nativeElement.classList).add.apply(_d, __spreadArray([], __read(this.containerClass)));
13381
+ (_a = this.elementRef.nativeElement.classList).add.apply(_a, __spreadArray([], __read(this.containerClass)));
13455
13382
  }
13456
13383
  };
13457
13384
  TheToolbarComponent.prototype.resizeElement = function () {
@@ -13459,7 +13386,7 @@
13459
13386
  var editableElement = this.elementRef.nativeElement;
13460
13387
  // @ts-ignore
13461
13388
  this.resizeObserver = new ResizeObserver(function (entries) {
13462
- var e_1, _d;
13389
+ var e_1, _a;
13463
13390
  try {
13464
13391
  for (var entries_1 = __values(entries), entries_1_1 = entries_1.next(); !entries_1_1.done; entries_1_1 = entries_1.next()) {
13465
13392
  var entry = entries_1_1.value;
@@ -13473,23 +13400,23 @@
13473
13400
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
13474
13401
  finally {
13475
13402
  try {
13476
- if (entries_1_1 && !entries_1_1.done && (_d = entries_1.return)) _d.call(entries_1);
13403
+ if (entries_1_1 && !entries_1_1.done && (_a = entries_1.return)) _a.call(entries_1);
13477
13404
  }
13478
13405
  finally { if (e_1) throw e_1.error; }
13479
13406
  }
13480
13407
  });
13481
13408
  this.resizeObserver.observe(editableElement);
13482
13409
  };
13483
- TheToolbarComponent.prototype.statusChange = function (editor) {
13484
- var e_2, _d;
13410
+ TheToolbarComponent.prototype.selectionChange = function (editor) {
13411
+ var e_2, _a;
13485
13412
  var toolbarItems = __spreadArray(__spreadArray([], __read(this.toolbarItems)), [this.moreGroupMenu]);
13486
13413
  try {
13487
13414
  for (var toolbarItems_1 = __values(toolbarItems), toolbarItems_1_1 = toolbarItems_1.next(); !toolbarItems_1_1.done; toolbarItems_1_1 = toolbarItems_1.next()) {
13488
13415
  var item = toolbarItems_1_1.value;
13489
13416
  if (item.key !== exports.ToolbarActionTypes.split) {
13490
13417
  var itemComponent = this.components.get(item.key);
13491
- if (itemComponent) {
13492
- itemComponent.instance.statusChange(editor);
13418
+ if (itemComponent && itemComponent.instance.selectionChange) {
13419
+ itemComponent.instance.selectionChange(editor);
13493
13420
  }
13494
13421
  }
13495
13422
  }
@@ -13497,7 +13424,7 @@
13497
13424
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
13498
13425
  finally {
13499
13426
  try {
13500
- if (toolbarItems_1_1 && !toolbarItems_1_1.done && (_d = toolbarItems_1.return)) _d.call(toolbarItems_1);
13427
+ if (toolbarItems_1_1 && !toolbarItems_1_1.done && (_a = toolbarItems_1.return)) _a.call(toolbarItems_1);
13501
13428
  }
13502
13429
  finally { if (e_2) throw e_2.error; }
13503
13430
  }
@@ -13509,7 +13436,7 @@
13509
13436
  var toolbarItems = this.toolbarItemsCompose();
13510
13437
  var items = toolbarItems.items, group = toolbarItems.group;
13511
13438
  this.ngZone.run(function () {
13512
- var e_3, _d;
13439
+ var e_3, _a;
13513
13440
  try {
13514
13441
  for (var items_1 = __values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {
13515
13442
  var item = items_1_1.value;
@@ -13523,7 +13450,7 @@
13523
13450
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
13524
13451
  finally {
13525
13452
  try {
13526
- if (items_1_1 && !items_1_1.done && (_d = items_1.return)) _d.call(items_1);
13453
+ if (items_1_1 && !items_1_1.done && (_a = items_1.return)) _a.call(items_1);
13527
13454
  }
13528
13455
  finally { if (e_3) throw e_3.error; }
13529
13456
  }
@@ -13547,7 +13474,7 @@
13547
13474
  * set aside 50px
13548
13475
  */
13549
13476
  TheToolbarComponent.prototype.toolbarItemsCompose = function () {
13550
- var e_4, _d;
13477
+ var e_4, _a;
13551
13478
  var elementWidth = this.isMore ? this.elementWidth : null;
13552
13479
  var maxItemWidth = 50;
13553
13480
  var defaultItemWidth = 35;
@@ -13557,8 +13484,8 @@
13557
13484
  var items = [];
13558
13485
  var group = [];
13559
13486
  try {
13560
- for (var _e = __values(this.toolbarItems), _f = _e.next(); !_f.done; _f = _e.next()) {
13561
- var item = _f.value;
13487
+ for (var _b = __values(this.toolbarItems), _c = _b.next(); !_c.done; _c = _b.next()) {
13488
+ var item = _c.value;
13562
13489
  if (!this.isMore) {
13563
13490
  items.push(item);
13564
13491
  continue;
@@ -13580,14 +13507,14 @@
13580
13507
  elementWidth -= headingWidth;
13581
13508
  continue;
13582
13509
  }
13583
- var isCustomComponent = (item === null || item === void 0 ? void 0 : item.type) === exports.ToolbarItemType.toolDropdown || !!(item === null || item === void 0 ? void 0 : item.iconComponent);
13510
+ var isCustomComponent = (item === null || item === void 0 ? void 0 : item.type) === exports.ToolbarItemType.dropdown || !!(item === null || item === void 0 ? void 0 : item.iconComponent);
13584
13511
  elementWidth -= isCustomComponent ? maxItemWidth : defaultItemWidth;
13585
13512
  }
13586
13513
  }
13587
13514
  catch (e_4_1) { e_4 = { error: e_4_1 }; }
13588
13515
  finally {
13589
13516
  try {
13590
- if (_f && !_f.done && (_d = _e.return)) _d.call(_e);
13517
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
13591
13518
  }
13592
13519
  finally { if (e_4) throw e_4.error; }
13593
13520
  }
@@ -13600,12 +13527,12 @@
13600
13527
  * externally designated more group
13601
13528
  */
13602
13529
  TheToolbarComponent.prototype.toolbarItemsAndMoreCompose = function () {
13603
- var e_5, _d;
13530
+ var e_5, _a;
13604
13531
  var items = [];
13605
13532
  var group = [];
13606
13533
  try {
13607
- for (var _e = __values(this.toolbarItems), _f = _e.next(); !_f.done; _f = _e.next()) {
13608
- var item = _f.value;
13534
+ for (var _b = __values(this.toolbarItems), _c = _b.next(); !_c.done; _c = _b.next()) {
13535
+ var item = _c.value;
13609
13536
  if (item.key === exports.ToolbarActionTypes.split) {
13610
13537
  items.push(item);
13611
13538
  continue;
@@ -13616,7 +13543,7 @@
13616
13543
  catch (e_5_1) { e_5 = { error: e_5_1 }; }
13617
13544
  finally {
13618
13545
  try {
13619
- if (_f && !_f.done && (_d = _e.return)) _d.call(_e);
13546
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
13620
13547
  }
13621
13548
  finally { if (e_5) throw e_5.error; }
13622
13549
  }
@@ -13645,15 +13572,17 @@
13645
13572
  TheToolbarComponent.prototype.createToolbarItem = function (item) {
13646
13573
  var iconComponent = item.iconComponent, type = item.type, dropdownMode = item.dropdownMode, dropdownItemKey = item.dropdownItemKey, includes = item.includes, args = __rest(item, ["iconComponent", "type", "dropdownMode", "dropdownItemKey", "includes"]);
13647
13574
  var viewComponent = this.viewComponentType(type);
13648
- var dropdownItem = this.getDropdownItem(item);
13649
13575
  var factory = this.cfr.resolveComponentFactory(iconComponent ? iconComponent : viewComponent);
13650
13576
  var compRef = this.toolbarContainer.createComponent(factory);
13651
13577
  compRef.instance.editor = this.editor;
13652
13578
  compRef.instance.toolbarItem = item;
13653
- compRef.instance.menus = includes;
13654
- compRef.instance.item = includes && dropdownItem ? dropdownItem : args;
13655
- compRef.instance.mode = dropdownMode;
13656
13579
  this.components.set(item.key, compRef);
13580
+ if (item.type === exports.ToolbarItemType.dropdown) {
13581
+ var dropdownRef = compRef;
13582
+ dropdownRef.instance.dropdownItemKey = item.dropdownItemKey;
13583
+ dropdownRef.instance.menus = includes;
13584
+ dropdownRef.instance.mode = dropdownMode;
13585
+ }
13657
13586
  };
13658
13587
  TheToolbarComponent.prototype.createToolbarSplit = function () {
13659
13588
  var navSplitLineFactory = this.cfr.resolveComponentFactory(NavSplitLineComponent);
@@ -13673,26 +13602,15 @@
13673
13602
  if (type === exports.ToolbarItemType.default) {
13674
13603
  return TheToolbarItemComponent;
13675
13604
  }
13676
- if (type === exports.ToolbarItemType.toolDropdown) {
13605
+ if (type === exports.ToolbarItemType.dropdown) {
13677
13606
  return TheToolbarDropdownComponent;
13678
13607
  }
13679
13608
  return TheToolbarItemComponent;
13680
13609
  };
13681
- TheToolbarComponent.prototype.getDropdownItem = function (item) {
13682
- var _a, _b, _c;
13683
- var dropdownKey = item === null || item === void 0 ? void 0 : item.dropdownItemKey;
13684
- // modify the fontsize option externally
13685
- var contextService = (_b = (_a = this.editor) === null || _a === void 0 ? void 0 : _a.injector) === null || _b === void 0 ? void 0 : _b.get(TheContextService);
13686
- var fontSize = contextService === null || contextService === void 0 ? void 0 : contextService.getDefaultFontSize();
13687
- if (contextService && item.key === exports.MarkTypes.fontSize && fontSize) {
13688
- dropdownKey = fontSize;
13689
- }
13690
- return (_c = item === null || item === void 0 ? void 0 : item.includes) === null || _c === void 0 ? void 0 : _c.find(function (item) { return item.key === dropdownKey; });
13691
- };
13692
13610
  return TheToolbarComponent;
13693
13611
  }());
13694
13612
  TheToolbarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheToolbarComponent, deps: [{ token: i0__namespace.ComponentFactoryResolver }, { token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.ElementRef }, { token: i0__namespace.NgZone }, { token: TheToolbarGroupToken }], target: i0__namespace.ɵɵFactoryTarget.Component });
13695
- TheToolbarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheToolbarComponent, selector: "the-toolbar", inputs: { editor: "editor", toolbarItems: "toolbarItems", align: "align", containerClass: "containerClass", isMore: "isMore", afterTemplate: "afterTemplate" }, host: { classAttribute: "the-toolbar-container" }, viewQueries: [{ propertyName: "toolbarContainer", first: true, predicate: ["toolbarContainer"], descendants: true, read: i0.ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<thy-icon-nav [style.justifyContent]=\"align\">\n <ng-container #toolbarContainer></ng-container>\n <ng-content></ng-content>\n <ng-template *ngIf=\"afterTemplate\" [ngTemplateOutlet]=\"afterTemplate\"></ng-template>\n</thy-icon-nav>\n", components: [{ type: i3__namespace.ThyIconNavComponent, selector: "thy-icon-nav", inputs: ["thyType"] }], directives: [{ type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
13613
+ TheToolbarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheToolbarComponent, selector: "the-toolbar", inputs: { editor: "editor", toolbarItems: "toolbarItems", align: "align", containerClass: "containerClass", isMore: "isMore", afterTemplate: "afterTemplate" }, host: { classAttribute: "the-toolbar-container" }, viewQueries: [{ propertyName: "toolbarContainer", first: true, predicate: ["toolbarContainer"], descendants: true, read: i0.ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<thy-icon-nav [style.justifyContent]=\"align\">\n <ng-container #toolbarContainer></ng-container>\n <ng-content></ng-content>\n <ng-template *ngIf=\"afterTemplate\" [ngTemplateOutlet]=\"afterTemplate\"></ng-template>\n</thy-icon-nav>\n", components: [{ type: i3__namespace$1.ThyIconNavComponent, selector: "thy-icon-nav", inputs: ["thyType"] }], directives: [{ type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
13696
13614
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheToolbarComponent, decorators: [{
13697
13615
  type: i0.Component,
13698
13616
  args: [{
@@ -13748,7 +13666,7 @@
13748
13666
  .subscribe(function () {
13749
13667
  var _a;
13750
13668
  _this.updateInlineToolbar();
13751
- (_a = _this.inlineToolbar) === null || _a === void 0 ? void 0 : _a.statusChange(_this.editor);
13669
+ (_a = _this.inlineToolbar) === null || _a === void 0 ? void 0 : _a.selectionChange(_this.editor);
13752
13670
  _this.cdr.detectChanges();
13753
13671
  });
13754
13672
  });
@@ -13922,7 +13840,7 @@
13922
13840
  return TheQuickInsertComponent;
13923
13841
  }());
13924
13842
  TheQuickInsertComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheQuickInsertComponent, deps: [{ token: i0__namespace.Renderer2 }, { token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
13925
- TheQuickInsertComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheQuickInsertComponent, selector: "[theQuickInsert]", inputs: { editor: "editor", quickToolbarItems: "quickToolbarItems", isVisible: "isVisible" }, host: { listeners: { "mousedown": "handleMousedownNativeElement($event)" }, properties: { "class.hide": "isHide" }, classAttribute: "the-quick-insert" }, viewQueries: [{ propertyName: "iconElement", first: true, predicate: ["iconElement"], descendants: true, read: i0.ElementRef }], ngImport: i0__namespace, template: "<thy-icon\n #iconElement\n [thyIconName]=\"displayIconName\"\n class=\"quick-insert-icon text-desc font-size-xlg\"\n (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\"\n (mousedown)=\"handleClick($event)\"\n></thy-icon>\n", components: [{ type: i4__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] });
13843
+ TheQuickInsertComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheQuickInsertComponent, selector: "[theQuickInsert]", inputs: { editor: "editor", quickToolbarItems: "quickToolbarItems", isVisible: "isVisible" }, host: { listeners: { "mousedown": "handleMousedownNativeElement($event)" }, properties: { "class.hide": "isHide" }, classAttribute: "the-quick-insert" }, viewQueries: [{ propertyName: "iconElement", first: true, predicate: ["iconElement"], descendants: true, read: i0.ElementRef }], ngImport: i0__namespace, template: "<thy-icon\n #iconElement\n [thyIconName]=\"displayIconName\"\n class=\"quick-insert-icon text-desc font-size-xlg\"\n (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\"\n (mousedown)=\"handleClick($event)\"\n></thy-icon>\n", components: [{ type: i3__namespace.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] });
13926
13844
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheQuickInsertComponent, decorators: [{
13927
13845
  type: i0.Component,
13928
13846
  args: [{
@@ -14285,7 +14203,7 @@
14285
14203
  TheEditorComponent.prototype.valueChange = function (value) {
14286
14204
  var _a, _b, _c, _d, _e, _f;
14287
14205
  var isEditable = !((_a = this.theOptions) === null || _a === void 0 ? void 0 : _a.readonly) && !((_b = this.theOptions) === null || _b === void 0 ? void 0 : _b.disabled);
14288
- (_c = this.theGlobalToolbarInstance) === null || _c === void 0 ? void 0 : _c.statusChange(this.editor);
14206
+ (_c = this.theGlobalToolbarInstance) === null || _c === void 0 ? void 0 : _c.selectionChange(this.editor);
14289
14207
  // quick insert button
14290
14208
  if (isEditable) {
14291
14209
  (_d = this.quickInsertInstance) === null || _d === void 0 ? void 0 : _d.checkStatus();
@@ -14421,11 +14339,11 @@
14421
14339
  TheContextService,
14422
14340
  TheColorSelectService,
14423
14341
  {
14424
- provide: i4$1.NG_VALUE_ACCESSOR,
14342
+ provide: i4.NG_VALUE_ACCESSOR,
14425
14343
  useExisting: i0.forwardRef(function () { return TheEditorComponent; }),
14426
14344
  multi: true
14427
14345
  }
14428
- ], viewQueries: [{ propertyName: "templateInstance", first: true, predicate: ["templateInstance"], descendants: true, static: true }, { propertyName: "globalToolbarInstance", first: true, predicate: ["globalToolbar"], descendants: true }, { propertyName: "quickInsertInstance", first: true, predicate: ["quickInsert"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace, template: "<the-toolbar\n *ngIf=\"!theOptions?.readonly && !theGlobalToolbar\"\n [ngClass]=\"{\n 'the-toolbar-disabled': theOptions?.disabled\n }\"\n #globalToolbar\n [editor]=\"editor\"\n [toolbarItems]=\"toolbarEntity.global\"\n [containerClass]=\"globalToolbarClass\"\n [align]=\"theOptions?.toolbar?.align\"\n></the-toolbar>\n\n<div\n class=\"the-editable-container\"\n [ngClass]=\"{\n 'the-editor-disabled': theOptions?.disabled,\n 'max-height': maxHeight\n }\"\n [ngStyle]=\"{ 'max-height': maxHeight }\"\n>\n <slate-editable\n class=\"the-editor-typo\"\n [editor]=\"editor\"\n [ngModel]=\"editorValue\"\n (ngModelChange)=\"valueChange($event)\"\n [decorate]=\"decorate\"\n [placeholder]=\"theOptions?.placeholder\"\n [placeholderDecorate]=\"theOptions?.placeholderDecorate ? theOptions?.placeholderDecorate : null\"\n [renderElement]=\"renderElement\"\n [renderText]=\"renderText\"\n [renderLeaf]=\"renderLeaf\"\n [readonly]=\"theOptions?.readonly || theOptions?.disabled\"\n [keydown]=\"onKeyDown\"\n [click]=\"onClick\"\n [paste]=\"onSlaPaste\"\n [beforeInput]=\"onSlaBeforeInput\"\n [blur]=\"onSlaBlur\"\n [focus]=\"onSlaFocus\"\n [copy]=\"onSlaCopy\"\n [cut]=\"onSlaCut\"\n [isStrictDecorate]=\"false\"\n [compositionStart]=\"onSlaCompositionStart\"\n [compositionEnd]=\"onSlaCompositionEnd\"\n [dragStart]=\"onSlaDragStart\"\n [dragOver]=\"onSlaDragOver\"\n [drop]=\"onDrop\"\n (mousedown)=\"mousedown($event)\"\n ></slate-editable>\n <the-inline-toolbar\n *ngIf=\"!theOptions?.readonly && theOptions?.inlineToobarVisible\"\n [editor]=\"editor\"\n [toolbarItems]=\"toolbarEntity.inline\"\n ></the-inline-toolbar>\n <div\n #quickInsert\n theQuickInsert\n [editor]=\"editor\"\n [quickToolbarItems]=\"quickToolbarItems\"\n [isVisible]=\"theOptions?.quickInsertVisible\"\n ></div>\n <the-template #templateInstance></the-template>\n</div>\n", components: [{ type: TheToolbarComponent, selector: "the-toolbar", inputs: ["editor", "toolbarItems", "align", "containerClass", "isMore", "afterTemplate"] }, { type: i1__namespace.SlateEditableComponent, selector: "slate-editable", inputs: ["editor", "renderElement", "renderLeaf", "renderText", "decorate", "placeholderDecorate", "isStrictDecorate", "trackBy", "readonly", "placeholder", "beforeInput", "blur", "click", "compositionEnd", "compositionStart", "copy", "cut", "dragOver", "dragStart", "dragEnd", "drop", "focus", "keydown", "paste", "spellCheck", "autoCorrect", "autoCapitalize"] }, { type: TheInlineToolbarComponent, selector: "the-inline-toolbar", inputs: ["editor", "toolbarItems"] }, { type: TheQuickInsertComponent, selector: "[theQuickInsert]", inputs: ["editor", "quickToolbarItems", "isVisible"] }, { type: TheTemplateComponent, selector: "the-template,[theTemplate]" }], directives: [{ type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i4__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
14346
+ ], viewQueries: [{ propertyName: "templateInstance", first: true, predicate: ["templateInstance"], descendants: true, static: true }, { propertyName: "globalToolbarInstance", first: true, predicate: ["globalToolbar"], descendants: true }, { propertyName: "quickInsertInstance", first: true, predicate: ["quickInsert"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace, template: "<the-toolbar\n *ngIf=\"!theOptions?.readonly && !theGlobalToolbar\"\n [ngClass]=\"{\n 'the-toolbar-disabled': theOptions?.disabled\n }\"\n #globalToolbar\n [editor]=\"editor\"\n [toolbarItems]=\"toolbarEntity.global\"\n [containerClass]=\"globalToolbarClass\"\n [align]=\"theOptions?.toolbar?.align\"\n></the-toolbar>\n\n<div\n class=\"the-editable-container\"\n [ngClass]=\"{\n 'the-editor-disabled': theOptions?.disabled,\n 'max-height': maxHeight\n }\"\n [ngStyle]=\"{ 'max-height': maxHeight }\"\n>\n <slate-editable\n class=\"the-editor-typo\"\n [editor]=\"editor\"\n [ngModel]=\"editorValue\"\n (ngModelChange)=\"valueChange($event)\"\n [decorate]=\"decorate\"\n [placeholder]=\"theOptions?.placeholder\"\n [placeholderDecorate]=\"theOptions?.placeholderDecorate ? theOptions?.placeholderDecorate : null\"\n [renderElement]=\"renderElement\"\n [renderText]=\"renderText\"\n [renderLeaf]=\"renderLeaf\"\n [readonly]=\"theOptions?.readonly || theOptions?.disabled\"\n [keydown]=\"onKeyDown\"\n [click]=\"onClick\"\n [paste]=\"onSlaPaste\"\n [beforeInput]=\"onSlaBeforeInput\"\n [blur]=\"onSlaBlur\"\n [focus]=\"onSlaFocus\"\n [copy]=\"onSlaCopy\"\n [cut]=\"onSlaCut\"\n [isStrictDecorate]=\"false\"\n [compositionStart]=\"onSlaCompositionStart\"\n [compositionEnd]=\"onSlaCompositionEnd\"\n [dragStart]=\"onSlaDragStart\"\n [dragOver]=\"onSlaDragOver\"\n [drop]=\"onDrop\"\n (mousedown)=\"mousedown($event)\"\n ></slate-editable>\n <the-inline-toolbar\n *ngIf=\"!theOptions?.readonly && theOptions?.inlineToobarVisible\"\n [editor]=\"editor\"\n [toolbarItems]=\"toolbarEntity.inline\"\n ></the-inline-toolbar>\n <div\n #quickInsert\n theQuickInsert\n [editor]=\"editor\"\n [quickToolbarItems]=\"quickToolbarItems\"\n [isVisible]=\"theOptions?.quickInsertVisible\"\n ></div>\n <the-template #templateInstance></the-template>\n</div>\n", components: [{ type: TheToolbarComponent, selector: "the-toolbar", inputs: ["editor", "toolbarItems", "align", "containerClass", "isMore", "afterTemplate"] }, { type: i1__namespace.SlateEditableComponent, selector: "slate-editable", inputs: ["editor", "renderElement", "renderLeaf", "renderText", "decorate", "placeholderDecorate", "isStrictDecorate", "trackBy", "readonly", "placeholder", "beforeInput", "blur", "click", "compositionEnd", "compositionStart", "copy", "cut", "dragOver", "dragStart", "dragEnd", "drop", "focus", "keydown", "paste", "spellCheck", "autoCorrect", "autoCapitalize"] }, { type: TheInlineToolbarComponent, selector: "the-inline-toolbar", inputs: ["editor", "toolbarItems"] }, { type: TheQuickInsertComponent, selector: "[theQuickInsert]", inputs: ["editor", "quickToolbarItems", "isVisible"] }, { type: TheTemplateComponent, selector: "the-template,[theTemplate]" }], directives: [{ type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i4__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
14429
14347
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheEditorComponent, decorators: [{
14430
14348
  type: i0.Component,
14431
14349
  args: [{
@@ -14435,7 +14353,7 @@
14435
14353
  TheContextService,
14436
14354
  TheColorSelectService,
14437
14355
  {
14438
- provide: i4$1.NG_VALUE_ACCESSOR,
14356
+ provide: i4.NG_VALUE_ACCESSOR,
14439
14357
  useExisting: i0.forwardRef(function () { return TheEditorComponent; }),
14440
14358
  multi: true
14441
14359
  }
@@ -14521,7 +14439,7 @@
14521
14439
  },
14522
14440
  set: function (i) {
14523
14441
  this._item = i;
14524
- this.activeMenu = i;
14442
+ this.activeMenuItem = i;
14525
14443
  },
14526
14444
  enumerable: false,
14527
14445
  configurable: true
@@ -14556,9 +14474,9 @@
14556
14474
  this.openGroup(event);
14557
14475
  }
14558
14476
  };
14559
- TheToolbarGroupComponent.prototype.statusChange = function (editor) {
14477
+ TheToolbarGroupComponent.prototype.selectionChange = function (editor) {
14560
14478
  var activeItem = this.menusActive(editor);
14561
- this.activeMenu = activeItem ? activeItem : null;
14479
+ this.activeMenuItem = activeItem ? activeItem : null;
14562
14480
  this.activeChange();
14563
14481
  this.colseGroup();
14564
14482
  };
@@ -14603,7 +14521,7 @@
14603
14521
  return TheToolbarGroupComponent;
14604
14522
  }());
14605
14523
  TheToolbarGroupComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheToolbarGroupComponent, deps: [{ token: i0__namespace.ElementRef }, { token: i1__namespace$1.ThyPopover }, { token: i0__namespace.ViewContainerRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
14606
- TheToolbarGroupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheToolbarGroupComponent, selector: "the-toolbar-group", inputs: { menus: "menus", item: "item" }, host: { listeners: { "mousedown": "mousedownHandler($event)", "click": "clickHandle($event)" }, classAttribute: "the-toolbar-group" }, viewQueries: [{ propertyName: "groupTemplate", first: true, predicate: ["groupTemplate"], descendants: true, read: i0.TemplateRef, static: true }], ngImport: i0__namespace, template: "<a thyIconNavLink [thyIconNavLinkIcon]=\"item.icon\" [thyTooltip]=\"item?.name\" thyTooltipPlacement=\"top\" [thyIconNavLinkActive]=\"active\"></a>\n\n<ng-template #groupTemplate>\n <the-toolbar class=\"group\" [editor]=\"editor\" [toolbarItems]=\"menus\" [isMore]=\"false\"></the-toolbar>\n</ng-template>\n", components: [{ type: i3__namespace.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: TheToolbarComponent, selector: "the-toolbar", inputs: ["editor", "toolbarItems", "align", "containerClass", "isMore", "afterTemplate"] }], directives: [{ type: i5__namespace$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
14524
+ TheToolbarGroupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheToolbarGroupComponent, selector: "the-toolbar-group", inputs: { menus: "menus", item: "item" }, host: { listeners: { "mousedown": "mousedownHandler($event)", "click": "clickHandle($event)" }, classAttribute: "the-toolbar-group" }, viewQueries: [{ propertyName: "groupTemplate", first: true, predicate: ["groupTemplate"], descendants: true, read: i0.TemplateRef, static: true }], ngImport: i0__namespace, template: "<a thyIconNavLink [thyIconNavLinkIcon]=\"item.icon\" [thyTooltip]=\"item?.name\" thyTooltipPlacement=\"top\" [thyIconNavLinkActive]=\"active\"></a>\n\n<ng-template #groupTemplate>\n <the-toolbar class=\"group\" [editor]=\"editor\" [toolbarItems]=\"menus\" [isMore]=\"false\"></the-toolbar>\n</ng-template>\n", components: [{ type: i3__namespace$1.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: TheToolbarComponent, selector: "the-toolbar", inputs: ["editor", "toolbarItems", "align", "containerClass", "isMore", "afterTemplate"] }], directives: [{ type: i5__namespace$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
14607
14525
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheToolbarGroupComponent, decorators: [{
14608
14526
  type: i0.Component,
14609
14527
  args: [{
@@ -14629,9 +14547,9 @@
14629
14547
  }] } });
14630
14548
 
14631
14549
  var TETHYS = [
14632
- i4.ThyIconModule,
14550
+ i3.ThyIconModule,
14633
14551
  avatar.ThyAvatarModule,
14634
- i3.ThyNavModule,
14552
+ i3$1.ThyNavModule,
14635
14553
  i2$2.ThyFormModule,
14636
14554
  i5$3.ThySharedModule,
14637
14555
  i1$7.ThyListModule,
@@ -14666,7 +14584,6 @@
14666
14584
  TheTableToolbarItemComponent,
14667
14585
  TheConversionHintComponent,
14668
14586
  TheVerticalToolbarItemComponent,
14669
- TheIndentToolbarComponent,
14670
14587
  TheTableOptionsComponent
14671
14588
  ];
14672
14589
  var PLUGIN_COMPONENTS = [
@@ -14713,7 +14630,6 @@
14713
14630
  TheTableToolbarItemComponent,
14714
14631
  TheConversionHintComponent,
14715
14632
  TheVerticalToolbarItemComponent,
14716
- TheIndentToolbarComponent,
14717
14633
  TheTableOptionsComponent, TheImageComponent,
14718
14634
  TheTemplateComponent,
14719
14635
  TheHrComponent,
@@ -14730,9 +14646,9 @@
14730
14646
  TheTableComponent,
14731
14647
  TheTableRowComponent,
14732
14648
  TheTdComponent,
14733
- TheInlineCodeComponent], imports: [i10.CommonModule, i1.SlateModule, i4$1.FormsModule, i4.ThyIconModule,
14649
+ TheInlineCodeComponent], imports: [i10.CommonModule, i1.SlateModule, i4.FormsModule, i3.ThyIconModule,
14734
14650
  avatar.ThyAvatarModule,
14735
- i3.ThyNavModule,
14651
+ i3$1.ThyNavModule,
14736
14652
  i2$2.ThyFormModule,
14737
14653
  i5$3.ThySharedModule,
14738
14654
  i1$7.ThyListModule,
@@ -14753,12 +14669,12 @@
14753
14669
  useValue: TheToolbarGroupComponent
14754
14670
  },
14755
14671
  THE_MODE_PROVIDER
14756
- ], imports: [__spreadArray(__spreadArray([i10.CommonModule, i1.SlateModule, i4$1.FormsModule], __read(TETHYS)), [i8.CodemirrorModule, TheColumnSizeModule])] });
14672
+ ], imports: [__spreadArray(__spreadArray([i10.CommonModule, i1.SlateModule, i4.FormsModule], __read(TETHYS)), [i8.CodemirrorModule, TheColumnSizeModule])] });
14757
14673
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheEditorModule, decorators: [{
14758
14674
  type: i0.NgModule,
14759
14675
  args: [{
14760
14676
  declarations: __spreadArray(__spreadArray(__spreadArray([TheEditorComponent], __read(PIPES)), __read(COMPONENTS)), __read(PLUGIN_COMPONENTS)),
14761
- imports: __spreadArray(__spreadArray([i10.CommonModule, i1.SlateModule, i4$1.FormsModule], __read(TETHYS)), [i8.CodemirrorModule, TheColumnSizeModule]),
14677
+ imports: __spreadArray(__spreadArray([i10.CommonModule, i1.SlateModule, i4.FormsModule], __read(TETHYS)), [i8.CodemirrorModule, TheColumnSizeModule]),
14762
14678
  exports: [TheEditorComponent, TheToolbarComponent, TheToolbarDropdownComponent, TheToolbarItemComponent, TheDefaultElementComponent],
14763
14679
  entryComponents: __spreadArray(__spreadArray([], __read(COMPONENTS)), __read(PLUGIN_COMPONENTS)),
14764
14680
  providers: [
@@ -14834,7 +14750,7 @@
14834
14750
  exports.ALIGN_BLOCK_TYPES = ALIGN_BLOCK_TYPES;
14835
14751
  exports.A_TAG_REL_ATTR = A_TAG_REL_ATTR;
14836
14752
  exports.AlignEditor = AlignEditor;
14837
- exports.BLOCK_DELETEBACKWARD_TYPES = BLOCK_DELETEBACKWARD_TYPES;
14753
+ exports.BLOCK_DELETE_BACKWARD_TYPES = BLOCK_DELETE_BACKWARD_TYPES;
14838
14754
  exports.BlockquoteEditor = BlockquoteEditor;
14839
14755
  exports.CLIPBOARD_FORMAT_KEY = CLIPBOARD_FORMAT_KEY;
14840
14756
  exports.CODEMIRROR_PADDING_TOP = CODEMIRROR_PADDING_TOP;
@@ -14846,6 +14762,7 @@
14846
14762
  exports.ColorEditor = ColorEditor;
14847
14763
  exports.DEFAULT_LANGUAGE = DEFAULT_LANGUAGE;
14848
14764
  exports.DEFAULT_SCROLL_CONTAINER = DEFAULT_SCROLL_CONTAINER;
14765
+ exports.DISABLED_OPERATE_TYPES = DISABLED_OPERATE_TYPES;
14849
14766
  exports.DefaultElementOptions = DefaultElementOptions;
14850
14767
  exports.DefaultGlobalToolbarDefinition = DefaultGlobalToolbarDefinition;
14851
14768
  exports.DefaultInlineToolbarDefinition = DefaultInlineToolbarDefinition;
@@ -14879,16 +14796,16 @@
14879
14796
  exports.THE_UPLOAD_SERVICE_TOKEN = THE_UPLOAD_SERVICE_TOKEN;
14880
14797
  exports.TableEditor = TableEditor;
14881
14798
  exports.TheBaseElementComponent = TheBaseElementComponent;
14799
+ exports.TheBaseToolbarDropdown = TheBaseToolbarDropdown;
14800
+ exports.TheBaseToolbarItem = TheBaseToolbarItem;
14882
14801
  exports.TheContextService = TheContextService;
14883
14802
  exports.TheDefaultElementComponent = TheDefaultElementComponent;
14884
14803
  exports.TheEditor = TheEditor;
14885
14804
  exports.TheEditorComponent = TheEditorComponent;
14886
14805
  exports.TheEditorModule = TheEditorModule;
14887
14806
  exports.TheImageComponent = TheImageComponent;
14888
- exports.TheIndentToolbarComponent = TheIndentToolbarComponent;
14889
14807
  exports.TheModeConfig = TheModeConfig;
14890
14808
  exports.TheQueries = index$1;
14891
- exports.TheToolbarBaseItemComponent = TheToolbarBaseItemComponent;
14892
14809
  exports.TheToolbarComponent = TheToolbarComponent;
14893
14810
  exports.TheToolbarDropdownComponent = TheToolbarDropdownComponent;
14894
14811
  exports.TheToolbarGroupComponent = TheToolbarGroupComponent;
@@ -14911,9 +14828,9 @@
14911
14828
  exports.createVerticalAlignPlugin = createVerticalAlignPlugin;
14912
14829
  exports.dataDeserialize = dataDeserialize;
14913
14830
  exports.dataSerializing = dataSerializing;
14914
- exports.deleteColorAndBackgroundColorOfText = deleteColorAndBackgroundColorOfText;
14915
14831
  exports.deleteElementKey = deleteElementKey;
14916
14832
  exports.extractFragment = extractFragment;
14833
+ exports.filterTextFormat = filterTextFormat;
14917
14834
  exports.flattenDeepPlugins = flattenDeepPlugins;
14918
14835
  exports.getColsTotalWidth = getColsTotalWidth;
14919
14836
  exports.getEditorUUID = getEditorUUID;