<commit_before>import React, {
    Component,
    findNodeHandle,
    StyleSheet,
    PropTypes,
    UIManager,
    View,
    Text,
    TouchableWithoutFeedback,
    TouchableNativeFeedback
} from 'react-native';

import { TYPO } from './config';
import Icon from './Icon';
import IconToggle from './IconToggle';

const defaultStyles = StyleSheet.create({
    listContainer: {
        flex: 1,
        flexDirection: 'row',
        paddingLeft: 16,
        paddingRight: 16
    },

    contentViewContainer: {
        flex: 1,
        flexDirection: 'row',
    },


    leftViewContainer: {
        flexDirection: 'column',
        width: 56
    },
    leftIcon: {
    },
    leftAvatar: {
        flex: 1,
    },

    textViewContainer: {
        flex: 1
    },
    primaryText: Object.assign({}, TYPO.paperFontSubhead, { lineHeight: 24 }),
    secondaryText: Object.assign({}, TYPO.paperFontBody1, {
        lineHeight: 22,
        fontSize: 14,
        color: 'rgba(0,0,0,.54)'
    }),
    firstLine: {
        flexDirection: 'row'
    },
    primaryTextContainer: {
        flex: 1
    },

    rightViewContainer: {
        flexDirection: 'column',
        paddingLeft: 16
    },
    rightActionsViewContainer: {
        flex: 1
    },
    rightIcon: {
        flex: 1,
    },
    rightAvatar: {
        width: 56
    },

    captionText: Object.assign({}, TYPO.paperFontCaption),
    captionTextContainer: {
        flex: 1
    },
    captionTextContainer2: {
        alignSelf: 'flex-end',
        alignItems: 'flex-end'
    }
});

export default class List extends Component {

    static propTypes = {
        dense: PropTypes.bool,
        primaryText: PropTypes.string.isRequired,
        secondaryText: PropTypes.string,
        captionText: PropTypes.string,
        secondaryTextMoreLine: PropTypes.arrayOf(PropTypes.shape({
            text: PropTypes.string.isRequired,
            style: PropTypes.object
        })),
        leftIcon: PropTypes.element,
        onLeftIconClicked: PropTypes.func,
        rightIcon: PropTypes.element,
        leftAvatar: PropTypes.element,
        menuActions: PropTypes.shape({
            onPress: PropTypes.func,
            labels: PropTypes.array
        }),
        rightAvatar: PropTypes.element,
        lines: React.PropTypes.oneOf([1, 2, 3, 'dynamic']),
        primaryColor: PropTypes.string,
        onPress: PropTypes.func,
        onPressValue: PropTypes.object,
        onLeftIconClick: PropTypes.func,
        onRightIconClick: PropTypes.func
    };

    static defaultProps = {<commit_msg>Change prop type of onPressValue to any<commit_after>import React, {
    Component,
    findNodeHandle,
    StyleSheet,
    PropTypes,
    UIManager,
    View,
    Text,
    TouchableWithoutFeedback,
    TouchableNativeFeedback
} from 'react-native';

import { TYPO } from './config';
import Icon from './Icon';
import IconToggle from './IconToggle';

const defaultStyles = StyleSheet.create({
    listContainer: {
        flex: 1,
        flexDirection: 'row',
        paddingLeft: 16,
        paddingRight: 16
    },

    contentViewContainer: {
        flex: 1,
        flexDirection: 'row',
    },


    leftViewContainer: {
        flexDirection: 'column',
        width: 56
    },
    leftIcon: {
    },
    leftAvatar: {
        flex: 1,
    },

    textViewContainer: {
        flex: 1
    },
    primaryText: Object.assign({}, TYPO.paperFontSubhead, { lineHeight: 24 }),
    secondaryText: Object.assign({}, TYPO.paperFontBody1, {
        lineHeight: 22,
        fontSize: 14,
        color: 'rgba(0,0,0,.54)'
    }),
    firstLine: {
        flexDirection: 'row'
    },
    primaryTextContainer: {
        flex: 1
    },

    rightViewContainer: {
        flexDirection: 'column',
        paddingLeft: 16
    },
    rightActionsViewContainer: {
        flex: 1
    },
    rightIcon: {
        flex: 1,
    },
    rightAvatar: {
        width: 56
    },

    captionText: Object.assign({}, TYPO.paperFontCaption),
    captionTextContainer: {
        flex: 1
    },
    captionTextContainer2: {
        alignSelf: 'flex-end',
        alignItems: 'flex-end'
    }
});

export default class List extends Component {

    static propTypes = {
        dense: PropTypes.bool,
        primaryText: PropTypes.string.isRequired,
        secondaryText: PropTypes.string,
        captionText: PropTypes.string,
        secondaryTextMoreLine: PropTypes.arrayOf(PropTypes.shape({
            text: PropTypes.string.isRequired,
            style: PropTypes.object
        })),
        leftIcon: PropTypes.element,
        onLeftIconClicked: PropTypes.func,
        rightIcon: PropTypes.element,
        leftAvatar: PropTypes.element,
        menuActions: PropTypes.shape({
            onPress: PropTypes.func,
            labels: PropTypes.array
        }),
        rightAvatar: PropTypes.element,
        lines: React.PropTypes.oneOf([1, 2, 3, 'dynamic']),
        primaryColor: PropTypes.string,
        onPress: PropTypes.func,
        onPressValue: PropTypes.any,
        onLeftIconClick: PropTypes.func,
        onRightIconClick: PropTypes.func
    };

    static defaultProps = {
{'fraction_non_alphanumeric': 0.10901304263188631, 'fraction_numerical': 0.01323729803387191, 'mean_word_length': 2.1502145922746783, 'pattern_counts': {'":': 0, '<': 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': '5745573', 'n_tokens_mistral': 1543, 'n_tokens_neox': 1514, 'n_words': 314}