# All files / components/MessageList index.js

62.5% Statements 5/8
100% Branches 0/0
0% Functions 0/2
62.5% Lines 5/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42

    1x

    1x

    1x

    1x

    1x

     import React from 'react';
    import PropTypes from 'prop-types';
    import styled from 'styled-components';

    import { withAutoScroll } from '../../utils/hoc';

    const StyledScrollableListContainer = styled.div`
      max-height: 100vh;
      background-color: ${(props) => props.theme.palette.common.white};
      overflow-y: auto;
      padding: 10px;
    `;

    const ScrollableList = (props) => {
      const {
        cmpRef, className,
      } = props;
      return (
        <StyledScrollableListContainer
          innerRef={cmpRef}
          className={className}
          id="messages"
        >
          { props.children }
        </StyledScrollableListContainer>
      );
    };

    ScrollableList.propTypes = {
      children: PropTypes.array,
      cmpRef: PropTypes.func,
      className: PropTypes.string,
    };

    ScrollableList.defaultProps = {
      cmpRef: null,
      className: 'LT-ScrollableList-Container',
    };

    const autoScrollOptions = { threshold: 300, direction: 'bottom' };
    export default withAutoScroll(autoScrollOptions)(ScrollableList);