<commit_before>var classNames = require("classnames");
var React = require("react/addons");

var TabPaneComponent = React.createClass({
  displayName: "TabPaneComponent",

  propTypes: {
    children: React.PropTypes.node,
    isActive: React.PropTypes.bool,
    onActivate: React.PropTypes.func
  },

  componentDidUpdate: function (prevProps) {
    if (!prevProps.isActive && this.props.isActive) {
      this.props.onActivate();
    }
  },

  getDefaultProps: function () {
    return {
      isActive: false,
      onActivate: function () {}
    };
  },

  render: function () {
    var classSet = classNames({
      "active": this.props.isActive,
      "tab-pane": true
    });
<commit_msg>Allow passing className as prop<commit_after>var classNames = require("classnames");
var React = require("react/addons");

var TabPaneComponent = React.createClass({
  displayName: "TabPaneComponent",

  propTypes: {
    children: React.PropTypes.node,
    className: React.PropTypes.string,
    isActive: React.PropTypes.bool,
    onActivate: React.PropTypes.func
  },

  componentDidUpdate: function (prevProps) {
    if (!prevProps.isActive && this.props.isActive) {
      this.props.onActivate();
    }
  },

  getDefaultProps: function () {
    return {
      isActive: false,
      onActivate: function () {}
    };
  },

  render: function () {
    var classSet = classNames({
      "active": this.props.isActive,
      "tab-pane": true
    }, this.props.className);

{'fraction_non_alphanumeric': 0.13546630360789652, 'fraction_numerical': 0.0, 'mean_word_length': 3.2485549132947975, 'pattern_counts': {'":': 4, '<': 3, '<?xml version=': 0, '>': 3, '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': '4425869', 'n_tokens_mistral': 462, 'n_tokens_neox': 453, 'n_words': 89}