/********************************************************************* * © Copyright IBM Corp. 2024 *********************************************************************/ import React from 'react' import PropTypes from 'prop-types' import { IconsGeneralColor, FontColorSuccess, FontColorError, Third300 } from '@targetprocess/css-variables' export const Statuses = { PASSED: 'passed', FAILED: 'failed', BLOCKED: 'blocked', ONHOLD: 'onhold', NOTRUN: 'notrun' } as const export const QAIcon = ({ color = IconsGeneralColor, status = Statuses.PASSED as typeof Statuses[keyof typeof Statuses] }) => ( {status === Statuses.PASSED && ( )} {status === Statuses.FAILED && ( )} {status === Statuses.BLOCKED && ( )} {status === Statuses.ONHOLD && ( )} {status === Statuses.NOTRUN && ( )} ) QAIcon.category = 'QA' QAIcon.propTypes = { // hasOwnProperty explicitly called here // eslint-disable-next-line security/detect-object-injection status: PropTypes.oneOf(Object.keys(Statuses).map(key => Statuses[key])).isRequired, color: PropTypes.string } QAIcon.Statuses = Statuses