All files / src/list/SecondaryText AccountName.js

100% Statements 5/5
43.75% Branches 7/16
100% Functions 1/1
100% Lines 5/5

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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92                                                              1x 1x 1x                                                                                                 2x 2x                
/* eslint-disable react/forbid-component-props */
/**** Libraries ****/
import React, { Component } from 'react';
import { AccountName_defaultProps } from './props/defaultProps';
import { AccountName_propTypes } from './props/propTypes';
 
/**** Components ****/
import { Container, Box } from '@zohodesk/components/lib/Layout';
import Link from '../../Link/Link';
 
/**** CSS ****/
import style from './SecondaryText.module.css';
 
export default class AccountName extends Component {
  render() {
    let {
      dataTitle,
      dataId,
      urlName,
      urlData,
      onClick,
      isLink,
      className,
      text,
      href,
      notAccessible = false,
      fontWeight,
      secondaryAccountHref,
      secondaryAccountClick,
      secondaryAccountText,
      customProps
    } = this.props;
    let { LinkProps = {}, TextProps = {}, SecondaryTextProps = {} } = customProps;
    return (
      <Container alignBox='row' align='baseline' isCover={false} data-title={dataTitle} dataId={dataId}>
        <Box flexible>
          <Container alignBox='row' align='baseline' isCover={false} className={style.primaryAccountNameCnt}>
            <Box className={style.primaryAccountName} shrink>
              {isLink ? (
                <Link
                  href={href}
                  urlName={urlName}
                  urlData={urlData}
                  onClick={onClick}
                  dataId={`${dataId}_link`}
                  className={style.link}
                  {...LinkProps}
                  ariaLabel={`Account Name ${text}`}
                >
                  <div className={`${style.textStyle} ${style[`font_${fontWeight}`]} ${className ? className : ''}`}>
                    {text}
                  </div>
                </Link>
              ) : (
                <div
                  className={`${style.secondaryText} ${style[`font_${fontWeight}`]} ${className ? className : ''} ${
                    notAccessible ? style.disable : ''
                  }`}
                  {...TextProps}
                >
                  {text}
                </div>
              )}
            </Box>
            {secondaryAccountText && (
              <Box>
                <Link href={secondaryAccountHref} onClick={secondaryAccountClick} className={style.link}>
                  <div
                    className={`${style.textStyle} ${style[`font_${fontWeight}`]} ${className ? className : ''}`}
                    {...SecondaryTextProps}
                  >
                    {secondaryAccountText}
                  </div>
                </Link>
              </Box>
            )}
          </Container>
        </Box>
      </Container>
    );
  }
}
AccountName.propTypes = AccountName_propTypes;
AccountName.defaultProps = AccountName_defaultProps;
 
// if (__DOCS__) {
//   AccountName.docs = {
//     folderName: 'List',
//     componentGroup: 'AccountName'
//   };
// }