@worktile/theia 1.2.11 → 1.2.12

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 (29) hide show
  1. package/bundles/worktile-theia.umd.js +57 -49
  2. package/bundles/worktile-theia.umd.js.map +1 -1
  3. package/components/column-resize/column-resize.directive.d.ts +3 -3
  4. package/components/inline-toolbar/inline-toolbar.component.scss +6 -5
  5. package/components/toolbar/toolbar.component.d.ts +2 -1
  6. package/custom-types.d.ts +2 -0
  7. package/editor.component.d.ts +1 -0
  8. package/esm2015/components/column-resize/column-resize.directive.js +1 -1
  9. package/esm2015/components/inline-toolbar/inline-toolbar.component.js +1 -1
  10. package/esm2015/components/toolbar/toolbar.component.js +7 -6
  11. package/esm2015/components/toolbar-group/toolbar-group.component.js +1 -1
  12. package/esm2015/custom-types.js +1 -1
  13. package/esm2015/editor.component.js +11 -8
  14. package/esm2015/plugins/deserializers/deserialize-html.plugin.js +6 -4
  15. package/esm2015/plugins/deserializers/deserialize-md.plugin.js +2 -2
  16. package/esm2015/plugins/placeholder/placeholder.component.js +8 -7
  17. package/esm2015/plugins/quick-insert/quick-insert.plugint.js +3 -2
  18. package/esm2015/plugins/table/table.types.js +1 -1
  19. package/esm2015/queries/is-container-type.js +2 -2
  20. package/esm2015/transforms/index.js +2 -3
  21. package/esm2015/utils/fragment.js +20 -1
  22. package/fesm2015/worktile-theia.js +50 -44
  23. package/fesm2015/worktile-theia.js.map +1 -1
  24. package/package.json +1 -1
  25. package/plugins/table/table.types.d.ts +7 -0
  26. package/transforms/index.d.ts +1 -2
  27. package/utils/fragment.d.ts +5 -0
  28. package/esm2015/transforms/insert-elements.js +0 -22
  29. package/transforms/insert-elements.d.ts +0 -2
@@ -38,4 +38,23 @@ export function deleteElementKey(nodes, key) {
38
38
  });
39
39
  return nodes;
40
40
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvdXRpbHMvZnJhZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFRLE1BQU0sT0FBTyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9FLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLE1BQWMsRUFBRSxRQUFpQixFQUFFLEVBQUU7SUFDL0QsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdELElBQUksVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDakgsT0FBTyxhQUFhLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0tBQzVDO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDcEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsTUFBYyxFQUFFLFFBQWlCLEVBQUUsRUFBRTtJQUM3RCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdkYsSUFBSSxTQUFTLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUM3RyxPQUFPLFdBQVcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7S0FDekM7SUFDRCxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxJQUFrQixFQUFFLFNBQVMsR0FBRyxpQkFBaUIsRUFBRSxFQUFFO0lBQ2pGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDckUsSUFBSSxRQUFRLEVBQUU7UUFDVixNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDMUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQWMsQ0FBQztRQUMvQyxxQ0FBcUM7UUFDckMsSUFBSSxTQUFTLEVBQUU7WUFDWCxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDdEM7UUFDRCxPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQTtBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsR0FBVztJQUN2RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDbkIsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNwQjtRQUNELElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDeEM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQsIFRleHQsIE5vZGUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBDTElQQk9BUkRfRk9STUFUX0tFWSwgRUxFTUVOVF9VTklRVUVfSUQgfSBmcm9tICcuLi9jb25zdGFudHMvZGVmYXVsdCc7XG5cbmV4cG9ydCBjb25zdCBnZXRTdGFydEJsb2NrID0gKGVkaXRvcjogRWRpdG9yLCBmcmFnbWVudDogRWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IGZpcnN0Q2hpbGQgPSBmcmFnbWVudC5jaGlsZHJlbiAmJiBmcmFnbWVudC5jaGlsZHJlblswXTtcbiAgICBpZiAoZmlyc3RDaGlsZCAmJiAhRWRpdG9yLmlzSW5saW5lKGVkaXRvciwgZmlyc3RDaGlsZCkgJiYgIVRleHQuaXNUZXh0KGZpcnN0Q2hpbGQpICYmIEVsZW1lbnQuaXNFbGVtZW50KGZpcnN0Q2hpbGQpKSB7XG4gICAgICAgIHJldHVybiBnZXRTdGFydEJsb2NrKGVkaXRvciwgZmlyc3RDaGlsZCk7XG4gICAgfVxuICAgIHJldHVybiBmcmFnbWVudDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFbmRCbG9jayA9IChlZGl0b3I6IEVkaXRvciwgZnJhZ21lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBsYXN0Q2hpbGQgPSBmcmFnbWVudC5jaGlsZHJlbiAmJiBmcmFnbWVudC5jaGlsZHJlbltmcmFnbWVudC5jaGlsZHJlbi5sZW5ndGggLSAxXTtcbiAgICBpZiAobGFzdENoaWxkICYmICFFZGl0b3IuaXNJbmxpbmUoZWRpdG9yLCBsYXN0Q2hpbGQpICYmICFUZXh0LmlzVGV4dChsYXN0Q2hpbGQpICYmIEVsZW1lbnQuaXNFbGVtZW50KGxhc3RDaGlsZCkpIHtcbiAgICAgICAgcmV0dXJuIGdldEVuZEJsb2NrKGVkaXRvciwgbGFzdENoaWxkKTtcbiAgICB9XG4gICAgcmV0dXJuIGZyYWdtZW50O1xufTtcblxuZXhwb3J0IGNvbnN0IGV4dHJhY3RGcmFnbWVudCA9IChkYXRhOiBEYXRhVHJhbnNmZXIsIGRlbGV0ZUtleSA9IEVMRU1FTlRfVU5JUVVFX0lEKSA9PiB7XG4gICAgY29uc3QgZnJhZ21lbnQgPSBkYXRhLmdldERhdGEoYGFwcGxpY2F0aW9uLyR7Q0xJUEJPQVJEX0ZPUk1BVF9LRVl9YCk7XG4gICAgaWYgKGZyYWdtZW50KSB7XG4gICAgICAgIGNvbnN0IGRlY29kZWQgPSBkZWNvZGVVUklDb21wb25lbnQod2luZG93LmF0b2IoZnJhZ21lbnQpKTtcbiAgICAgICAgY29uc3Qgbm9kZXMgPSBKU09OLnBhcnNlKGRlY29kZWQpIGFzIEVsZW1lbnRbXTtcbiAgICAgICAgLy8gZGVsZXRlIGtleSB0byBhdm9pZCBkdXBsaWNhdGUga2V5c1xuICAgICAgICBpZiAoZGVsZXRlS2V5KSB7XG4gICAgICAgICAgICBkZWxldGVFbGVtZW50S2V5KG5vZGVzLCBkZWxldGVLZXkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBub2RlcztcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWxldGVFbGVtZW50S2V5KG5vZGVzOiBOb2RlW10sIGtleTogc3RyaW5nKSB7XG4gICAgbm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICBpZiAobm9kZVtrZXldKSB7XG4gICAgICAgICAgICBkZWxldGUgbm9kZVtrZXldO1xuICAgICAgICB9XG4gICAgICAgIGlmIChFbGVtZW50LmlzRWxlbWVudChub2RlKSAmJiBub2RlLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICBkZWxldGVFbGVtZW50S2V5KG5vZGUuY2hpbGRyZW4sIGtleSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gbm9kZXM7XG59XG4iXX0=
41
+ /**
42
+ * 删除 text 节点的 颜色/背景色
43
+ * @param node
44
+ */
45
+ export function deleteColorAndBackgroundColorOfText(node) {
46
+ node.children.forEach((child) => {
47
+ if (Text.isText(child)) {
48
+ if (child['color']) {
49
+ delete child['color'];
50
+ }
51
+ if (child['background-color']) {
52
+ delete child['background-color'];
53
+ }
54
+ }
55
+ else {
56
+ deleteColorAndBackgroundColorOfText(child);
57
+ }
58
+ });
59
+ }
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvdXRpbHMvZnJhZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFRLE1BQU0sT0FBTyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9FLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLE1BQWMsRUFBRSxRQUFpQixFQUFFLEVBQUU7SUFDL0QsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdELElBQUksVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDakgsT0FBTyxhQUFhLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0tBQzVDO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDcEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsTUFBYyxFQUFFLFFBQWlCLEVBQUUsRUFBRTtJQUM3RCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdkYsSUFBSSxTQUFTLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUM3RyxPQUFPLFdBQVcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7S0FDekM7SUFDRCxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxJQUFrQixFQUFFLFNBQVMsR0FBRyxpQkFBaUIsRUFBRSxFQUFFO0lBQ2pGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDckUsSUFBSSxRQUFRLEVBQUU7UUFDVixNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDMUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQWMsQ0FBQztRQUMvQyxxQ0FBcUM7UUFDckMsSUFBSSxTQUFTLEVBQUU7WUFDWCxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDdEM7UUFDRCxPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQTtBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsR0FBVztJQUN2RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDbkIsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNwQjtRQUNELElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDeEM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsbUNBQW1DLENBQUMsSUFBYTtJQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQzVCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDaEIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDekI7WUFDRCxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO2dCQUMzQixPQUFPLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2FBQ3BDO1NBQ0o7YUFBTTtZQUNILG1DQUFtQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBFbGVtZW50LCBUZXh0LCBOb2RlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQ0xJUEJPQVJEX0ZPUk1BVF9LRVksIEVMRU1FTlRfVU5JUVVFX0lEIH0gZnJvbSAnLi4vY29uc3RhbnRzL2RlZmF1bHQnO1xuXG5leHBvcnQgY29uc3QgZ2V0U3RhcnRCbG9jayA9IChlZGl0b3I6IEVkaXRvciwgZnJhZ21lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBmaXJzdENoaWxkID0gZnJhZ21lbnQuY2hpbGRyZW4gJiYgZnJhZ21lbnQuY2hpbGRyZW5bMF07XG4gICAgaWYgKGZpcnN0Q2hpbGQgJiYgIUVkaXRvci5pc0lubGluZShlZGl0b3IsIGZpcnN0Q2hpbGQpICYmICFUZXh0LmlzVGV4dChmaXJzdENoaWxkKSAmJiBFbGVtZW50LmlzRWxlbWVudChmaXJzdENoaWxkKSkge1xuICAgICAgICByZXR1cm4gZ2V0U3RhcnRCbG9jayhlZGl0b3IsIGZpcnN0Q2hpbGQpO1xuICAgIH1cbiAgICByZXR1cm4gZnJhZ21lbnQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RW5kQmxvY2sgPSAoZWRpdG9yOiBFZGl0b3IsIGZyYWdtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgbGFzdENoaWxkID0gZnJhZ21lbnQuY2hpbGRyZW4gJiYgZnJhZ21lbnQuY2hpbGRyZW5bZnJhZ21lbnQuY2hpbGRyZW4ubGVuZ3RoIC0gMV07XG4gICAgaWYgKGxhc3RDaGlsZCAmJiAhRWRpdG9yLmlzSW5saW5lKGVkaXRvciwgbGFzdENoaWxkKSAmJiAhVGV4dC5pc1RleHQobGFzdENoaWxkKSAmJiBFbGVtZW50LmlzRWxlbWVudChsYXN0Q2hpbGQpKSB7XG4gICAgICAgIHJldHVybiBnZXRFbmRCbG9jayhlZGl0b3IsIGxhc3RDaGlsZCk7XG4gICAgfVxuICAgIHJldHVybiBmcmFnbWVudDtcbn07XG5cbmV4cG9ydCBjb25zdCBleHRyYWN0RnJhZ21lbnQgPSAoZGF0YTogRGF0YVRyYW5zZmVyLCBkZWxldGVLZXkgPSBFTEVNRU5UX1VOSVFVRV9JRCkgPT4ge1xuICAgIGNvbnN0IGZyYWdtZW50ID0gZGF0YS5nZXREYXRhKGBhcHBsaWNhdGlvbi8ke0NMSVBCT0FSRF9GT1JNQVRfS0VZfWApO1xuICAgIGlmIChmcmFnbWVudCkge1xuICAgICAgICBjb25zdCBkZWNvZGVkID0gZGVjb2RlVVJJQ29tcG9uZW50KHdpbmRvdy5hdG9iKGZyYWdtZW50KSk7XG4gICAgICAgIGNvbnN0IG5vZGVzID0gSlNPTi5wYXJzZShkZWNvZGVkKSBhcyBFbGVtZW50W107XG4gICAgICAgIC8vIGRlbGV0ZSBrZXkgdG8gYXZvaWQgZHVwbGljYXRlIGtleXNcbiAgICAgICAgaWYgKGRlbGV0ZUtleSkge1xuICAgICAgICAgICAgZGVsZXRlRWxlbWVudEtleShub2RlcywgZGVsZXRlS2V5KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbm9kZXM7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVsZXRlRWxlbWVudEtleShub2RlczogTm9kZVtdLCBrZXk6IHN0cmluZykge1xuICAgIG5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgaWYgKG5vZGVba2V5XSkge1xuICAgICAgICAgICAgZGVsZXRlIG5vZGVba2V5XTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoRWxlbWVudC5pc0VsZW1lbnQobm9kZSkgJiYgbm9kZS5jaGlsZHJlbikge1xuICAgICAgICAgICAgZGVsZXRlRWxlbWVudEtleShub2RlLmNoaWxkcmVuLCBrZXkpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG5vZGVzO1xufVxuXG4vKipcbiAqIOWIoOmZpCB0ZXh0IOiKgueCueeahCDpopzoibIv6IOM5pmv6ImyXG4gKiBAcGFyYW0gbm9kZSBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlbGV0ZUNvbG9yQW5kQmFja2dyb3VuZENvbG9yT2ZUZXh0KG5vZGU6IEVsZW1lbnQpIHtcbiAgICBub2RlLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICAgIGlmIChUZXh0LmlzVGV4dChjaGlsZCkpIHtcbiAgICAgICAgICAgIGlmIChjaGlsZFsnY29sb3InXSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBjaGlsZFsnY29sb3InXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjaGlsZFsnYmFja2dyb3VuZC1jb2xvciddKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIGNoaWxkWydiYWNrZ3JvdW5kLWNvbG9yJ107XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkZWxldGVDb2xvckFuZEJhY2tncm91bmRDb2xvck9mVGV4dChjaGlsZCk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
@@ -1060,6 +1060,25 @@ function deleteElementKey(nodes, key) {
1060
1060
  });
1061
1061
  return nodes;
1062
1062
  }
1063
+ /**
1064
+ * 删除 text 节点的 颜色/背景色
1065
+ * @param node
1066
+ */
1067
+ function deleteColorAndBackgroundColorOfText(node) {
1068
+ node.children.forEach((child) => {
1069
+ if (Text.isText(child)) {
1070
+ if (child['color']) {
1071
+ delete child['color'];
1072
+ }
1073
+ if (child['background-color']) {
1074
+ delete child['background-color'];
1075
+ }
1076
+ }
1077
+ else {
1078
+ deleteColorAndBackgroundColorOfText(child);
1079
+ }
1080
+ });
1081
+ }
1063
1082
 
1064
1083
  const isAcrossBlocks = (editor, fragment) => {
1065
1084
  const startBlock = getStartBlock(editor, fragment[0]);
@@ -1172,7 +1191,7 @@ const getSelectionMarks = (editor) => {
1172
1191
  return marks;
1173
1192
  };
1174
1193
 
1175
- const isContainer = (editor, value) => Element$1.isElement(value) && editor.isContainer(value);
1194
+ const isContainer = (editor, value) => Element$1.isElement(value) && editor.isContainer && editor.isContainer(value);
1176
1195
 
1177
1196
  const getContainerBlocks = (editor) => {
1178
1197
  const containerNode = Editor.above(editor, {
@@ -1441,26 +1460,6 @@ const setEndSelection = (editor) => {
1441
1460
  AngularEditor.focus(editor);
1442
1461
  };
1443
1462
 
1444
- const insertTheElements = (editor, nodes) => {
1445
- if (Range.isExpanded(editor.selection)) {
1446
- Editor.deleteFragment(editor);
1447
- }
1448
- const isEmptyParagraph$1 = isEmptyParagraph(editor, editor.selection.anchor);
1449
- const parentPath = Path.parent(editor.selection.anchor.path);
1450
- Editor.withoutNormalizing(editor, () => {
1451
- Transforms.insertNodes(editor, nodes);
1452
- if (parentPath.length && isEmptyParagraph$1) {
1453
- Transforms.delete(editor, { at: parentPath });
1454
- const lastPath = parentPath.pop();
1455
- Transforms.select(editor, Editor.end(editor, [...parentPath, lastPath + nodes.length - 1]));
1456
- }
1457
- else {
1458
- const lastPath = parentPath.pop();
1459
- Transforms.select(editor, Editor.end(editor, [...parentPath, lastPath + nodes.length]));
1460
- }
1461
- });
1462
- };
1463
-
1464
1463
  const THE_EDITOR_UUID = new WeakMap();
1465
1464
  const THE_EDITOR_CONVERSION_HINT_REF = new WeakMap();
1466
1465
  const THE_EDITOR_QUICK_TOOLBAR_REF = new WeakMap();
@@ -1525,7 +1524,6 @@ var index = /*#__PURE__*/Object.freeze({
1525
1524
  splitNode: splitNode,
1526
1525
  deleteElement: deleteElement,
1527
1526
  setEndSelection: setEndSelection,
1528
- insertTheElements: insertTheElements,
1529
1527
  closeConversionHint: closeConversionHint,
1530
1528
  handleContinualDeleteBackward: handleContinualDeleteBackward,
1531
1529
  handleContinualInsertBreak: handleContinualInsertBreak
@@ -1991,7 +1989,7 @@ const withDeserializeMd = (options) => (editor) => {
1991
1989
  editor.undo();
1992
1990
  setTimeout(() => {
1993
1991
  Transforms.select(editor, oldRange);
1994
- insertTheElements(editor, fragment);
1992
+ Transforms.insertFragment(editor, fragment);
1995
1993
  AngularEditor.focus(editor);
1996
1994
  });
1997
1995
  return;
@@ -10164,7 +10162,9 @@ const withDeserializeHMTL = (editor) => {
10164
10162
  insertData(data);
10165
10163
  return;
10166
10164
  }
10167
- insertTheElements(editor, fragment);
10165
+ // 过滤 text 节点的 color/background-color 属性
10166
+ fragment.forEach((node) => deleteColorAndBackgroundColorOfText(node));
10167
+ Transforms.insertFragment(editor, fragment);
10168
10168
  return;
10169
10169
  }
10170
10170
  insertData(data);
@@ -10677,10 +10677,11 @@ const withQuickInsert = (editor) => {
10677
10677
  deleteBackward(unit);
10678
10678
  };
10679
10679
  editor.onChange = () => {
10680
+ var _a;
10680
10681
  onChange();
10681
10682
  if (editor.selection) {
10682
10683
  const editorComponent = editor.injector.get(TheEditorComponent);
10683
- editorComponent.quickInsertInstance.checkStatus();
10684
+ (_a = editorComponent.quickInsertInstance) === null || _a === void 0 ? void 0 : _a.checkStatus();
10684
10685
  const block = Node.ancestor(editor, [editor.selection.anchor.path[0]]);
10685
10686
  if (!isCleanEmptyParagraph(editor) && Node.string(block) !== QUICK_TOOLBAR_HOTKEY) {
10686
10687
  QuickInsertEditor.closeQuickToolbar(editor);
@@ -10863,6 +10864,7 @@ class TheToolbarComponent {
10863
10864
  this.ngZone = ngZone;
10864
10865
  this.toolbarGroupComponent = toolbarGroupComponent;
10865
10866
  this.toolbarItems = [];
10867
+ this.containerClass = [];
10866
10868
  this.isMore = true;
10867
10869
  this.components = new Map();
10868
10870
  this.moreGroupMenu = ToolbarMoreGroup;
@@ -10888,9 +10890,8 @@ class TheToolbarComponent {
10888
10890
  }
10889
10891
  }
10890
10892
  setToolbarClass() {
10891
- if (this.editor) {
10892
- const toolbarClass = getToolbarClass(this.editor);
10893
- this.elementRef.nativeElement.classList.add(toolbarClass);
10893
+ if (this.editor && !!this.containerClass.length) {
10894
+ this.elementRef.nativeElement.classList.add(...this.containerClass);
10894
10895
  }
10895
10896
  }
10896
10897
  resizeElement() {
@@ -11060,7 +11061,7 @@ class TheToolbarComponent {
11060
11061
  }
11061
11062
  }
11062
11063
  TheToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TheToolbarComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: TheToolbarGroupToken }], target: i0.ɵɵFactoryTarget.Component });
11063
- TheToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: TheToolbarComponent, selector: "the-toolbar", inputs: { editor: "editor", toolbarItems: "toolbarItems", align: "align", isMore: "isMore", afterTemplate: "afterTemplate" }, host: { classAttribute: "the-toolbar-container" }, viewQueries: [{ propertyName: "toolbarContainer", first: true, predicate: ["toolbarContainer"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, 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: i2.ThyIconNavComponent, selector: "thy-icon-nav", inputs: ["thyType"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
11064
+ TheToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", 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: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, 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: i2.ThyIconNavComponent, selector: "thy-icon-nav", inputs: ["thyType"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
11064
11065
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TheToolbarComponent, decorators: [{
11065
11066
  type: Component,
11066
11067
  args: [{
@@ -11079,6 +11080,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
11079
11080
  type: Input
11080
11081
  }], align: [{
11081
11082
  type: Input
11083
+ }], containerClass: [{
11084
+ type: Input
11082
11085
  }], isMore: [{
11083
11086
  type: Input
11084
11087
  }], afterTemplate: [{
@@ -11188,7 +11191,7 @@ TheInlineToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
11188
11191
  [editor]="editor"
11189
11192
  [toolbarItems]="toolbarItems"
11190
11193
  [isMore]="false"
11191
- ></the-toolbar> `, isInline: true, components: [{ type: TheToolbarComponent, selector: "the-toolbar", inputs: ["editor", "toolbarItems", "align", "isMore", "afterTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11194
+ ></the-toolbar> `, isInline: true, components: [{ type: TheToolbarComponent, selector: "the-toolbar", inputs: ["editor", "toolbarItems", "align", "containerClass", "isMore", "afterTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11192
11195
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TheInlineToolbarComponent, decorators: [{
11193
11196
  type: Component,
11194
11197
  args: [{
@@ -11301,20 +11304,21 @@ class ThePlaceholderComponent {
11301
11304
  }
11302
11305
  }
11303
11306
  checkStatus() {
11304
- var _a, _b, _c;
11307
+ var _a, _b;
11305
11308
  const { editor } = this;
11306
11309
  // empty content and no selection processing
11307
- if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.autoFocus) && !(editor === null || editor === void 0 ? void 0 : editor.selection) && isEmptyContent(editor.children)) {
11310
+ if (!(editor === null || editor === void 0 ? void 0 : editor.selection) && isEmptyContent(editor.children)) {
11308
11311
  // normal top is 28, but margin-top: -41px is set when maxHeight is set, so top is 69
11309
- const firstTop = ((_b = this.options) === null || _b === void 0 ? void 0 : _b.maxHeight) ? 69 : 28;
11312
+ const firstTop = ((_a = this.options) === null || _a === void 0 ? void 0 : _a.maxHeight) ? 69 : 28;
11310
11313
  this.updatePosition(30, firstTop);
11311
11314
  return;
11312
11315
  }
11313
11316
  if (isCleanEmptyParagraph(editor)) {
11314
- const block = Node.ancestor(editor, [(_c = editor === null || editor === void 0 ? void 0 : editor.selection) === null || _c === void 0 ? void 0 : _c.anchor.path[0]]);
11317
+ const block = Node.ancestor(editor, [(_b = editor === null || editor === void 0 ? void 0 : editor.selection) === null || _b === void 0 ? void 0 : _b.anchor.path[0]]);
11315
11318
  const rootNode = AngularEditor.toDOMNode(editor, block);
11316
- this.isHide = false;
11317
- this.updatePosition(rootNode.offsetLeft, rootNode.offsetTop);
11319
+ setTimeout(() => {
11320
+ this.updatePosition(rootNode.offsetLeft, rootNode.offsetTop);
11321
+ });
11318
11322
  return;
11319
11323
  }
11320
11324
  this.isHide = true;
@@ -11583,10 +11587,12 @@ class TheEditorComponent extends mixinUnsubscribe(MixinBase) {
11583
11587
  const toolbar = (_a = this === null || this === void 0 ? void 0 : this.theOptions) === null || _a === void 0 ? void 0 : _a.toolbar;
11584
11588
  const toolbarItems = toolbarCompose(toolbar === null || toolbar === void 0 ? void 0 : toolbar.toolbarItems);
11585
11589
  const toolbarOption = this.toolbarService.initialize(toolbarItems, toolbar === null || toolbar === void 0 ? void 0 : toolbar.global, toolbar === null || toolbar === void 0 ? void 0 : toolbar.inline, toolbar === null || toolbar === void 0 ? void 0 : toolbar.quick);
11590
+ this.globalToolbarClass = ['the-global-toolbar', getToolbarClass(this.editor)];
11586
11591
  this.toolbarEntity = toolbarOption.toolbarEntity;
11587
11592
  if (this.theGlobalToolbar) {
11588
11593
  this.theGlobalToolbarInstance.editor = this.editor;
11589
11594
  this.theGlobalToolbarInstance.toolbarItems = toolbarOption.toolbarEntity.global;
11595
+ this.theGlobalToolbarInstance.containerClass = this.globalToolbarClass;
11590
11596
  this.theGlobalToolbarInstance.align = toolbar === null || toolbar === void 0 ? void 0 : toolbar.align;
11591
11597
  this.theGlobalToolbarInstance.setToolbarClass();
11592
11598
  this.theGlobalToolbarInstance.renderToolbarView();
@@ -11605,14 +11611,14 @@ class TheEditorComponent extends mixinUnsubscribe(MixinBase) {
11605
11611
  this.onTouchedCallback = fn;
11606
11612
  }
11607
11613
  valueChange(value) {
11608
- var _a, _b, _c, _d;
11614
+ var _a, _b, _c, _d, _e;
11609
11615
  (_a = this.theGlobalToolbarInstance) === null || _a === void 0 ? void 0 : _a.statusChange(this.editor);
11610
- this.quickInsertInstance.checkStatus();
11616
+ (_b = this.quickInsertInstance) === null || _b === void 0 ? void 0 : _b.checkStatus();
11611
11617
  this.placeholderInstance.checkStatus();
11612
11618
  // auto scroll view
11613
- const scrollContainer = (_b = this.theOptions) === null || _b === void 0 ? void 0 : _b.scrollContainer;
11614
- const maxHeight = (_c = this.theOptions) === null || _c === void 0 ? void 0 : _c.maxHeight;
11615
- if (!((_d = this.theOptions) === null || _d === void 0 ? void 0 : _d.readonly) && (scrollContainer || maxHeight)) {
11619
+ const scrollContainer = (_c = this.theOptions) === null || _c === void 0 ? void 0 : _c.scrollContainer;
11620
+ const maxHeight = (_d = this.theOptions) === null || _d === void 0 ? void 0 : _d.maxHeight;
11621
+ if (!((_e = this.theOptions) === null || _e === void 0 ? void 0 : _e.readonly) && (scrollContainer || maxHeight)) {
11616
11622
  const container = maxHeight ? DEFAULT_SCROLL_CONTAINER : scrollContainer;
11617
11623
  this.autoScrollView(this.editor, container);
11618
11624
  }
@@ -11737,7 +11743,7 @@ TheEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
11737
11743
  useExisting: forwardRef(() => TheEditorComponent),
11738
11744
  multi: true
11739
11745
  }
11740
- ], 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 }, { propertyName: "placeholderInstance", first: true, predicate: ["placeholder"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<the-toolbar\n *ngIf=\"!theOptions?.readonly && !theGlobalToolbar\"\n class=\"the-global-toolbar\"\n [ngClass]=\"{\n 'the-toolbar-disabled': theOptions?.disabled\n }\"\n #globalToolbar\n [editor]=\"editor\"\n [toolbarItems]=\"toolbarEntity.global\"\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 [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 (mousedown)=\"mousedown($event)\"\n ></slate-editable>\n <the-inline-toolbar *ngIf=\"!theOptions.readonly\" [editor]=\"editor\" [toolbarItems]=\"toolbarEntity.inline\"></the-inline-toolbar>\n <div #quickInsert theQuickInsert [editor]=\"editor\" [quickToolbarItems]=\"quickToolbarItems\"></div>\n <div #placeholder thePlaceholder [editor]=\"editor\" [options]=\"theOptions\"></div>\n <the-template #templateInstance></the-template>\n</div>\n", components: [{ type: TheToolbarComponent, selector: "the-toolbar", inputs: ["editor", "toolbarItems", "align", "isMore", "afterTemplate"] }, { type: i1.SlateEditableComponent, selector: "slate-editable", inputs: ["editor", "renderElement", "renderLeaf", "renderText", "decorate", "isStrictDecorate", "trackBy", "readonly", "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"] }, { type: ThePlaceholderComponent, selector: "div[thePlaceholder]", inputs: ["editor", "options"] }, { type: TheTemplateComponent, selector: "the-template,[theTemplate]" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i4$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
11746
+ ], 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 }, { propertyName: "placeholderInstance", first: true, predicate: ["placeholder"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, 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 [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 (mousedown)=\"mousedown($event)\"\n ></slate-editable>\n <the-inline-toolbar *ngIf=\"!theOptions?.readonly\" [editor]=\"editor\" [toolbarItems]=\"toolbarEntity.inline\"></the-inline-toolbar>\n <div #quickInsert theQuickInsert [editor]=\"editor\" [quickToolbarItems]=\"quickToolbarItems\"></div>\n <div #placeholder thePlaceholder [editor]=\"editor\" [options]=\"theOptions\"></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.SlateEditableComponent, selector: "slate-editable", inputs: ["editor", "renderElement", "renderLeaf", "renderText", "decorate", "isStrictDecorate", "trackBy", "readonly", "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"] }, { type: ThePlaceholderComponent, selector: "div[thePlaceholder]", inputs: ["editor", "options"] }, { type: TheTemplateComponent, selector: "the-template,[theTemplate]" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i4$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
11741
11747
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TheEditorComponent, decorators: [{
11742
11748
  type: Component,
11743
11749
  args: [{
@@ -11782,7 +11788,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
11782
11788
  args: ['globalToolbar']
11783
11789
  }], quickInsertInstance: [{
11784
11790
  type: ViewChild,
11785
- args: ['quickInsert']
11791
+ args: ['quickInsert', { static: true }]
11786
11792
  }], placeholderInstance: [{
11787
11793
  type: ViewChild,
11788
11794
  args: ['placeholder']
@@ -11901,7 +11907,7 @@ class TheToolbarGroupComponent {
11901
11907
  }
11902
11908
  }
11903
11909
  TheToolbarGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TheToolbarGroupComponent, deps: [{ token: i0.ElementRef }, { token: i1$3.ThyPopover }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
11904
- TheToolbarGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", 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: TemplateRef, static: true }], ngImport: i0, 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: i2.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: TheToolbarComponent, selector: "the-toolbar", inputs: ["editor", "toolbarItems", "align", "isMore", "afterTemplate"] }], directives: [{ type: i7.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
11910
+ TheToolbarGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", 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: TemplateRef, static: true }], ngImport: i0, 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: i2.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: TheToolbarComponent, selector: "the-toolbar", inputs: ["editor", "toolbarItems", "align", "containerClass", "isMore", "afterTemplate"] }], directives: [{ type: i7.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
11905
11911
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TheToolbarGroupComponent, decorators: [{
11906
11912
  type: Component,
11907
11913
  args: [{