import React from 'react';
import { MessageBody } from './conversation/MessageBody';
import { Emojify } from './conversation/Emojify';
import { AddNewLines } from './conversation/AddNewLines';
import { SizeClassType } from '../util/emoji';
import { LocalizerType, RenderTextCallbackType } from '../types/Util';
interface Props {
  text: string;
  i18n: LocalizerType;
}
const renderNewLines: RenderTextCallbackType = ({ text, key }) => (
  
);
const renderEmoji = ({
  i18n,
  text,
  key,
  sizeClass,
  renderNonEmoji,
}: {
  i18n: LocalizerType;
  text: string;
  key: number;
  sizeClass?: SizeClassType;
  renderNonEmoji: RenderTextCallbackType;
}) => (
  
);
export class MessageBodyHighlight extends React.Component {
  public render() {
    const { text, i18n } = this.props;
    const results: Array = [];
    const FIND_BEGIN_END = /<>(.+?)<>/g;
    let match = FIND_BEGIN_END.exec(text);
    let last = 0;
    let count = 1;
    if (!match) {
      return (
        
      );
    }
    const sizeClass = '';
    while (match) {
      if (last < match.index) {
        const beforeText = text.slice(last, match.index);
        results.push(
          renderEmoji({
            text: beforeText,
            sizeClass,
            key: count++,
            i18n,
            renderNonEmoji: renderNewLines,
          })
        );
      }
      const [, toHighlight] = match;
      results.push(
        
          {renderEmoji({
            text: toHighlight,
            sizeClass,
            key: count++,
            i18n,
            renderNonEmoji: renderNewLines,
          })}
        
      );
      // @ts-ignore
      last = FIND_BEGIN_END.lastIndex;
      match = FIND_BEGIN_END.exec(text);
    }
    if (last < text.length) {
      results.push(
        renderEmoji({
          text: text.slice(last),
          sizeClass,
          key: count++,
          i18n,
          renderNonEmoji: renderNewLines,
        })
      );
    }
    return results;
  }
}