<commit_before>import React, {Component, PropTypes} from 'react';
import {
    View,
    Text
} from 'react-native';

import Icon from '../Icon';
import BaseButton from '../Button';
import Colors from './Colors';


const styles = {
    button: {
        borderRadius: 5,
        height: 44,
        flexDirection: 'row',
        alignItems: 'center',
        justifyContent: 'center',
        overflow: 'hidden'
    },
    link: {},
    default: {
        backgroundColor: '#FFF',
        borderWidth: 1,
        borderColor: '#ccc'
    },
    buttonText: {
        margin: 5,
        textAlign: 'center'
    },
    textDefault: {
        color: '#333'
    },
    textOther: {
        color: '#FFF'
    },
    textDisabled: {
        color: '#CCC'
    }
};

/**
 * @author 田尘殇Sean(<EMAIL>)
 * @date 16/5/3
 */
class Button extends Component {

    static propTypes = {
        /**
         * 内容后图标
         */
        afterIcon: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
        /**
         * 内容前图标
         */
        beforeIcon: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
        /**
         * bootstrap 风格
         */
        bsStyle: PropTypes.string,
        children: PropTypes.any,
        color: PropTypes.string,
        disabled: PropTypes.bool,
        fontSize: PropTypes.number,
        iconProps: PropTypes.object,
        style: View.propTypes.style
    };

    static defaultProps = {
        bsStyle: 'default',
        fontSize: 16,
        iconProps: {}
    };

    constructor(props) {
        super(props);
        ['renderContent']
            .forEach(f => this[f] = this[f].bind(this));
    }

    renderContent() {<commit_msg>bsStyle<commit_after>import React, {Component, PropTypes} from 'react';
import {
    View,
    Text
} from 'react-native';

import Icon from '../Icon';
import BaseButton from '../Button';
import Colors from './Colors';


const styles = {
    button: {
        borderRadius: 5,
        height: 44,
        flexDirection: 'row',
        alignItems: 'center',
        justifyContent: 'center',
        overflow: 'hidden'
    },
    link: {},
    default: {
        backgroundColor: '#FFF',
        borderWidth: 1,
        borderColor: '#ccc'
    },
    buttonText: {
        margin: 5,
        textAlign: 'center'
    },
    textDefault: {
        color: '#333'
    },
    textOther: {
        color: '#FFF'
    },
    textDisabled: {
        color: '#CCC'
    }
};

/**
 * @author 田尘殇Sean(<EMAIL>)
 * @date 16/5/3
 */
class Button extends Component {

    static propTypes = {
        /**
         * 内容后图标
         */
        afterIcon: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
        /**
         * 内容前图标
         */
        beforeIcon: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
        /**
         * bootstrap 风格
         */
        bsStyle: PropTypes.oneOf(['primary', 'success', 'info', 'warning', 'danger', 'link', 'default']),
        children: PropTypes.any,
        color: PropTypes.string,
        disabled: PropTypes.bool,
        fontSize: PropTypes.number,
        iconProps: PropTypes.object,
        style: View.propTypes.style
    };

    static defaultProps = {
        bsStyle: 'default',
        fontSize: 16,
        iconProps: {}
    };

    constructor(props) {
        super(props);
        ['renderContent']
            .forEach(f => this[f] = this[f].bind(this));
    }

    renderContent() {
{'fraction_non_alphanumeric': 0.14231554389034703, 'fraction_numerical': 0.008165645960921552, 'mean_word_length': 1.8464730290456433, 'pattern_counts': {'":': 0, '<': 5, '<?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': '4076291', 'n_tokens_mistral': 1073, 'n_tokens_neox': 1049, 'n_words': 222}