Sha256: 83f44d32d0c3e861c75cb8ac4ef1fd71afe891a0429168fae8d0f23c24654733
Contents?: true
Size: 1.06 KB
Versions: 1
Compression:
Stored size: 1.06 KB
Contents
/* @flow */ /*eslint-disable react/no-multi-comp, flowtype/space-before-type-colon */ import React from 'react' type DistributionBarProps = { className?: String, data?: String, id?: String, size?: 'lg' | 'sm', values?: Array<Number>, } const normalizeCharacters = (values) => { return values.map( value => { return parseInt(value.toString().replace(/[^0-9.]/gi, '')) }) } const barValues = (normalizedValues) => { let arrSum = value => value.reduce((a,b) => (a + b), 0) let valueSum = arrSum(normalizedValues) return normalizedValues.map((value,i) => { return( <div key={i} className={`pb_distribution_value`} style={{width:`${value*100/valueSum}%`}} /> ) }) } const DistributionBar = ({ className, data, id, size='lg', values=[1] }: DistributionBarProps) => { const normalizedValues = normalizeCharacters(values) return( <div className={`pb_distribution_bar_${size}`}> {barValues(normalizedValues)} </div> ) } export default DistributionBar
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
playbook_ui-2.9.1 | app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.jsx |