Sha256: 88daa1a8160460cff68568eadb8221e1816a3e48697125b045a1568ae51e0f10

Contents?: true

Size: 1.31 KB

Versions: 644

Compression:

Stored size: 1.31 KB

Contents

import React from 'react'
import classnames from 'classnames'

import { globalProps } from '../utilities/globalProps'
import { buildHtmlProps } from '../utilities/props'
import Title from '../pb_title/_title'

type StatValueProps = {
  className?: string,
  htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
  id?: string,
  unit?: string,
  value: string | number,
}

const StatValue = (props: StatValueProps): React.ReactElement => {
  const {
    className,
    htmlOptions = {},
    id,
    unit,
    value = 0,
  } = props

  const htmlProps = buildHtmlProps(htmlOptions)

  const displayValue = function(value: string | number) {
    if (value || value === 0) {
      return (
        <Title
            size={1}
            tag="span"
            text={`${value}`}
        />
      )
    }
  }

  const displayUnit = function(unit: string) {
    if (unit) {
      return (
        <Title
            size={3}
            tag="span"
            text={unit}
        />
      )
    }
  }

  return (
    <div
        className={classnames('pb_stat_value_kit', globalProps(props), className)}
        id={id}
        {...htmlProps}
    >
      <div className="pb_stat_value_wrapper">
        {displayValue(value)}
        &nbsp;
        {displayUnit(unit)}
      </div>
    </div>
  )
}

export default StatValue

Version data entries

644 entries across 644 versions & 1 rubygems

Version Path
playbook_ui-14.9.0.pre.alpha.PBNTR746datepickerdefaultbug4901 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
playbook_ui-14.9.0.pre.alpha.PBNTR746datepickerdefaultbug4898 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
playbook_ui-14.9.0.pre.alpha.PBNTR746datepickerdefaultbug4891 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
playbook_ui-14.9.0.pre.alpha.PLAY1731inputmasking4890 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
playbook_ui-14.9.0.pre.alpha.play1703errorstatealignment4889 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
playbook_ui-14.10.0.pre.rc.12 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
playbook_ui-14.10.0.pre.rc.11 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
playbook_ui-14.9.0.pre.alpha.PLAY1731inputmasking4868 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
playbook_ui-14.9.0.pre.alpha.PLAY1731inputmasking4866 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
playbook_ui-14.9.0.pre.alpha.PBNTR738collapsiblewithintablekit4855 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
playbook_ui-14.10.0.pre.rc.10 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
playbook_ui-14.10.0.pre.rc.9 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
playbook_ui-14.10.0.pre.rc.8 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
playbook_ui-14.10.0.pre.rc.7 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
playbook_ui-14.10.0.pre.rc.6 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
playbook_ui-14.10.0.pre.rc.5 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
playbook_ui-14.10.0.pre.rc.4 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
playbook_ui-14.9.0.pre.alpha.PLAY16264818 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
playbook_ui-14.9.0.pre.alpha.PBNTR702stickyleftcolrails4806 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
playbook_ui-14.10.0.pre.rc.3 app/pb_kits/playbook/pb_stat_value/_stat_value.tsx