<commit_before>import React, { Component } from 'react';
import PropTypes from 'prop-types';
import VisibilitySensor from 'react-visibility-sensor';


class VerticalTimelineElement extends Component {
  constructor(props) {
    super(props);
    this.onVisibilitySensorChange = this.onVisibilitySensorChange.bind(this);
    this.state = { visible: false };
  }

  onVisibilitySensorChange(isVisible) {
    if (isVisible) {
      this.setState({ visible: true });
    }
  }

  render() {
    const { id, title, subtitle, content, icon, iconStyle, date, position } = this.props;

    let className = 'vertical-timeline-element';

    if (position === 'left') {
      className += ' vertical-timeline-element--left';
    }

    if (position === 'right') {
      className += ' vertical-timeline-element--right';
    }

    return (
      <div id={id} className={className}>
        <VisibilitySensor onChange={this.onVisibilitySensorChange}>
          <div>
            <span style={iconStyle} className="vertical-timeline-element-icon">{icon}</span>
            <div className={`vertical-timeline-element-content ${this.state.visible ? 'bounce-in' : 'is-hidden'}`}>
              <h3 className="vertical-timeline-element-title">{title}</h3>
              <h4 className="vertical-timeline-element-subtitle">{subtitle}</h4>
              <p dangerouslySetInnerHTML={{ __html: content }} />
              <span className="vertical-timeline-element-date">{date}</span>
            </div>
          </div>
        </VisibilitySensor>
      </div>
    );
  }
}

VerticalTimelineElement.propTypes = {
  id: PropTypes.string,
  title: PropTypes.string,
  subtitle: PropTypes.string,
  content: PropTypes.string,
  icon: PropTypes.object,
  iconStyle: PropTypes.string,
  date: PropTypes.string,
  position: PropTypes.string
};
<commit_msg>Fix type of iconStyle prop<commit_after>import React, { Component } from 'react';
import PropTypes from 'prop-types';
import VisibilitySensor from 'react-visibility-sensor';


class VerticalTimelineElement extends Component {
  constructor(props) {
    super(props);
    this.onVisibilitySensorChange = this.onVisibilitySensorChange.bind(this);
    this.state = { visible: false };
  }

  onVisibilitySensorChange(isVisible) {
    if (isVisible) {
      this.setState({ visible: true });
    }
  }

  render() {
    const { id, title, subtitle, content, icon, iconStyle, date, position } = this.props;

    let className = 'vertical-timeline-element';

    if (position === 'left') {
      className += ' vertical-timeline-element--left';
    }

    if (position === 'right') {
      className += ' vertical-timeline-element--right';
    }

    return (
      <div id={id} className={className}>
        <VisibilitySensor onChange={this.onVisibilitySensorChange}>
          <div>
            <span style={iconStyle} className="vertical-timeline-element-icon">{icon}</span>
            <div className={`vertical-timeline-element-content ${this.state.visible ? 'bounce-in' : 'is-hidden'}`}>
              <h3 className="vertical-timeline-element-title">{title}</h3>
              <h4 className="vertical-timeline-element-subtitle">{subtitle}</h4>
              <p dangerouslySetInnerHTML={{ __html: content }} />
              <span className="vertical-timeline-element-date">{date}</span>
            </div>
          </div>
        </VisibilitySensor>
      </div>
    );
  }
}

VerticalTimelineElement.propTypes = {
  id: PropTypes.string,
  title: PropTypes.string,
  subtitle: PropTypes.string,
  content: PropTypes.string,
  icon: PropTypes.object,
  iconStyle: PropTypes.object,
  date: PropTypes.string,
  position: PropTypes.string
};

{'fraction_non_alphanumeric': 0.14110596567692726, 'fraction_numerical': 0.002179242713157178, 'mean_word_length': 3.1119820828667413, 'pattern_counts': {'":': 0, '<': 37, '<?xml version=': 0, '>': 37, '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': '5085764', 'n_tokens_mistral': 1058, 'n_tokens_neox': 1077, 'n_words': 204}