@matechat/ng 20.1.0-alpha.1 → 20.2.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -427,6 +427,19 @@ interface ASTNode {
427
427
  vNodeKey: string;
428
428
  }
429
429
 
430
+ /**
431
+ * 递归查找所有层级中 className 包含 code-block-wrapper 的 DIV 节点
432
+ * @param {Array} vnodes - 待查找的 vnode 列表
433
+ * @returns {Array} 符合条件的节点列表
434
+ */
435
+ declare function findCodeBlockWrappers(vnodes: any[]): any[];
436
+ /**
437
+ * 清空Dom节点的所有子节点
438
+ * @param {HTMLElement} element - 需要清空的Dom节点
439
+ * @returns {void}
440
+ */
441
+ declare function clearElementChildren(element: HTMLElement): void;
442
+
430
443
  declare class MDCardService {
431
444
  private xssWhiteList;
432
445
  private cssWhiteList;
@@ -460,7 +473,6 @@ declare class MarkdownCardFoundation extends BaseFoundation<MarkdownCardAdapter>
460
473
  declare class MarkdownCardComponent extends BaseComponent<MarkdownCardFoundation> implements OnInit, OnChanges, OnDestroy {
461
474
  private renderer;
462
475
  cdr: ChangeDetectorRef;
463
- private diffDom;
464
476
  content: string;
465
477
  typing: boolean;
466
478
  enableThink: boolean;
@@ -471,12 +483,14 @@ declare class MarkdownCardComponent extends BaseComponent<MarkdownCardFoundation
471
483
  customXssRules: MarkdownCardProps['customXssRules'];
472
484
  theme: 'light' | 'dark' | any;
473
485
  enableMermaid: boolean;
486
+ incrementalDom: boolean;
474
487
  mermaidConfig: MarkdownCardProps['mermaidConfig'];
475
488
  actionsTemplate: TemplateRef<any> | null;
476
489
  headerTemplate: TemplateRef<any> | null;
477
490
  contentTemplate: TemplateRef<any> | null;
478
491
  private codeBlockComponentsCache;
479
492
  afterMdtInit: EventEmitter<markdownit>;
493
+ mdRenderChange: EventEmitter<string>;
480
494
  typingStart: EventEmitter<void>;
481
495
  typingEvent: EventEmitter<void>;
482
496
  typingEnd: EventEmitter<void>;
@@ -492,13 +506,15 @@ declare class MarkdownCardComponent extends BaseComponent<MarkdownCardFoundation
492
506
  genTreeNode: (node: Token | null) => ASTNode;
493
507
  matchHtmlToken: (token: Token, stack: Token[]) => void;
494
508
  isValidTagName: (tagName: string | undefined) => boolean;
509
+ findCodeBlockWrappers: typeof findCodeBlockWrappers;
510
+ clearElementChildren: typeof clearElementChildren;
495
511
  };
496
512
  mdCardService: MDCardService;
497
- noDiff: boolean;
498
513
  constructor(renderer: Renderer2, cdr: ChangeDetectorRef);
499
514
  ngOnInit(): void;
500
515
  get adapter(): MarkdownCardAdapter;
501
516
  ngOnChanges(changes: SimpleChanges): void;
517
+ contentChange(change: any): void;
502
518
  private parseContent;
503
519
  private renderContent;
504
520
  private getEmptyCodeBlock;
@@ -512,9 +528,10 @@ declare class MarkdownCardComponent extends BaseComponent<MarkdownCardFoundation
512
528
  private processToken;
513
529
  private createCodeBlock;
514
530
  private typewriterStart;
531
+ clearCodeBlockCache(): void;
515
532
  ngOnDestroy(): void;
516
533
  static ɵfac: i0.ɵɵFactoryDeclaration<MarkdownCardComponent, never>;
517
- static ɵcmp: i0.ɵɵComponentDeclaration<MarkdownCardComponent, "mc-markdown-card", never, { "content": { "alias": "content"; "required": false; }; "typing": { "alias": "typing"; "required": false; }; "enableThink": { "alias": "enableThink"; "required": false; }; "typingOptions": { "alias": "typingOptions"; "required": false; }; "thinkOptions": { "alias": "thinkOptions"; "required": false; }; "mdOptions": { "alias": "mdOptions"; "required": false; }; "mdPlugins": { "alias": "mdPlugins"; "required": false; }; "customXssRules": { "alias": "customXssRules"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "enableMermaid": { "alias": "enableMermaid"; "required": false; }; "mermaidConfig": { "alias": "mermaidConfig"; "required": false; }; "actionsTemplate": { "alias": "actionsTemplate"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; "contentTemplate": { "alias": "contentTemplate"; "required": false; }; }, { "afterMdtInit": "afterMdtInit"; "typingStart": "typingStart"; "typingEvent": "typingEvent"; "typingEnd": "typingEnd"; }, never, ["*"], false, never>;
534
+ static ɵcmp: i0.ɵɵComponentDeclaration<MarkdownCardComponent, "mc-markdown-card", never, { "content": { "alias": "content"; "required": false; }; "typing": { "alias": "typing"; "required": false; }; "enableThink": { "alias": "enableThink"; "required": false; }; "typingOptions": { "alias": "typingOptions"; "required": false; }; "thinkOptions": { "alias": "thinkOptions"; "required": false; }; "mdOptions": { "alias": "mdOptions"; "required": false; }; "mdPlugins": { "alias": "mdPlugins"; "required": false; }; "customXssRules": { "alias": "customXssRules"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "enableMermaid": { "alias": "enableMermaid"; "required": false; }; "incrementalDom": { "alias": "incrementalDom"; "required": false; }; "mermaidConfig": { "alias": "mermaidConfig"; "required": false; }; "actionsTemplate": { "alias": "actionsTemplate"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; "contentTemplate": { "alias": "contentTemplate"; "required": false; }; }, { "afterMdtInit": "afterMdtInit"; "mdRenderChange": "mdRenderChange"; "typingStart": "typingStart"; "typingEvent": "typingEvent"; "typingEnd": "typingEnd"; }, never, ["*"], false, never>;
518
535
  }
519
536
 
520
537
  declare class MermaidService {
@@ -577,7 +594,6 @@ declare class CodeBlockComponent extends BaseComponent<CodeBlockFoundation> impl
577
594
  expanded: boolean;
578
595
  copied: boolean;
579
596
  mermaidContent: string;
580
- private diffDom;
581
597
  private _showMermaidDiagram;
582
598
  get showMermaidDiagram(): boolean;
583
599
  set showMermaidDiagram(value: boolean);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matechat/ng",
3
- "version": "20.1.0-alpha.1",
3
+ "version": "20.2.0-alpha.0",
4
4
  "license": "MIT",
5
5
  "description": "前端智能化场景解决方案UI库,轻松构建你的AI应用。",
6
6
  "keywords": [
@@ -26,7 +26,7 @@
26
26
  "devui-theme": "^0.0.7",
27
27
  "highlight.js": "^11.11.0",
28
28
  "markdown-it": "^12.2.0",
29
- "diff-dom": "^5.2.1",
29
+ "morphdom": "^2.7.4",
30
30
  "xss": "^1.0.15"
31
31
  },
32
32
  "publishConfig": {