| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | import type {  EditorConfig,  LexicalNode,  NodeKey,  SerializedTextNode,} from 'lexical'import {  $applyNodeReplacement,  TextNode,} from 'lexical'export class VariableValueBlockNode extends TextNode {  static getType(): string {    return 'variable-value-block'  }  static clone(node: VariableValueBlockNode): VariableValueBlockNode {    return new VariableValueBlockNode(node.__text, node.__key)  }  constructor(text: string, key?: NodeKey) {    super(text, key)  }  createDOM(config: EditorConfig): HTMLElement {    const element = super.createDOM(config)    element.classList.add('inline-flex', 'items-center', 'px-0.5', 'h-[22px]', 'text-[#155EEF]', 'rounded-[5px]', 'align-middle')    return element  }  static importJSON(serializedNode: SerializedTextNode): TextNode {    const node = $createVariableValueBlockNode(serializedNode.text)    node.setFormat(serializedNode.format)    node.setDetail(serializedNode.detail)    node.setMode(serializedNode.mode)    node.setStyle(serializedNode.style)    return node  }  exportJSON(): SerializedTextNode {    return {      detail: this.getDetail(),      format: this.getFormat(),      mode: this.getMode(),      style: this.getStyle(),      text: this.getTextContent(),      type: 'variable-value-block',      version: 1,    }  }  canInsertTextBefore(): boolean {    return false  }}export function $createVariableValueBlockNode(text = ''): VariableValueBlockNode {  return $applyNodeReplacement(new VariableValueBlockNode(text))}export function $isVariableValueNodeBlock(  node: LexicalNode | null | undefined,): node is VariableValueBlockNode {  return node instanceof VariableValueBlockNode}
 |