<commit_before>import * as React from 'react';
import { Tooltip, Popover, OverlayTrigger } from 'react-bootstrap';

export interface ContentTooltipProps {
  content: any;
  id?: string;
  className?: string;
  placement?: string;
  title?: any;
  trigger?: string | string[];
  popover?: boolean;
  context?: React.ReactElement<any>;
}

export interface ContentTooltipComponentProps extends ContentTooltipProps {
}

export class ContentTooltip extends React.Component<ContentTooltipComponentProps> {
  render() {
    const content = this.props.content;
    const context = this.props.context || React.Children.only(this.props.children);

    if (content == null) {
      return context;
    }

    if (React.isValidElement(content)) {
      if (React.isType(content, ContentTooltip)) {
        return React.cloneElement(content, {}, context);
      }

      if (React.isType(content, OverlayTrigger)) {
        return this.renderOverlayTrigger(content, context);
      }
<commit_msg>fixing issue where content tooltips will render an empty string tooltip<commit_after>import * as React from 'react';
import { Tooltip, Popover, OverlayTrigger } from 'react-bootstrap';

export interface ContentTooltipProps {
  content: any;
  id?: string;
  className?: string;
  placement?: string;
  title?: any;
  trigger?: string | string[];
  popover?: boolean;
  context?: React.ReactElement<any>;
}

export interface ContentTooltipComponentProps extends ContentTooltipProps {
}

export class ContentTooltip extends React.Component<ContentTooltipComponentProps> {
  render() {
    const content = this.props.content;
    const context = this.props.context || React.Children.only(this.props.children);

    if (String.isNullOrEmpty(content)) {
      return context;
    }

    if (React.isValidElement(content)) {
      if (React.isType(content, ContentTooltip)) {
        return React.cloneElement(content, {}, context);
      }

      if (React.isType(content, OverlayTrigger)) {
        return this.renderOverlayTrigger(content, context);
      }

{'fraction_non_alphanumeric': 0.11138370951913641, 'fraction_numerical': 0.0, 'mean_word_length': 4.0721393034825875, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5827828', 'n_tokens_mistral': 556, 'n_tokens_neox': 575, 'n_words': 145}