您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

Meter.js 935B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // @flow
  2. import React from 'react';
  3. import { Icon, IconMeter } from '../../../../base/icons';
  4. type Props = {
  5. /**
  6. * Own class name for the component.
  7. */
  8. className: string,
  9. /**
  10. * Flag indicating whether the component is greyed out/disabled.
  11. */
  12. isDisabled?: boolean,
  13. /**
  14. * The level of the meter.
  15. * Should be between 0 and 7 as per the used SVG.
  16. */
  17. level: number,
  18. };
  19. /**
  20. * React {@code Component} representing an audio level meter.
  21. *
  22. * @returns { ReactElement}
  23. */
  24. export default function({ className, isDisabled, level }: Props) {
  25. let ownClassName;
  26. if (level > -1) {
  27. ownClassName = `metr metr-l-${level}`;
  28. } else {
  29. ownClassName = `metr ${isDisabled ? 'metr--disabled' : ''}`;
  30. }
  31. return (
  32. <Icon
  33. className = { `${ownClassName} ${className}` }
  34. size = { 12 }
  35. src = { IconMeter } />
  36. );
  37. }