All files / packages/design-system/ui/components/progress-bar index.jsx

100% Statements 2/2
100% Branches 4/4
100% Functions 0/0
100% Lines 2/2

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              30x     30x                                                            
// Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
// Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license
 
import React from 'react';
import classNames from 'classnames';
 
export const ProgressBar = props => {
  let progressBarStyle = props.isVertical
    ? { height: `${props.value}%` }
    : { width: `${props.value}%` };
  return (
    <div
      className={classNames(
        'slds-progress-bar',
        { 'slds-progress-bar_vertical': props.isVertical },
        { 'slds-progress-bar_circular': props.hasCircularEnds },
        props.className
      )}
      aria-valuemin="0"
      aria-valuemax="100"
      aria-valuenow={props.value}
      aria-labelledby={props['aria-labelledby']}
      aria-label={
        props['aria-label'] || '{{Placeholder for description of progress bar}}'
      }
      role="progressbar"
    >
      <span
        className={classNames('slds-progress-bar__value', {
          'slds-progress-bar__value_success': props.isSuccess
        })}
        style={progressBarStyle}
      >
        <span className="slds-assistive-text" id={props['aria-labelledby']}>
          Progress: {`${props.value}%`}
        </span>
      </span>
    </div>
  );
};