/********************************************************************* * © Copyright IBM Corp. 2024 *********************************************************************/ import React from 'react' import PropTypes from 'prop-types' import {IconsGeneralColor} from '@targetprocess/css-variables' export const Sizes = { DEFAULT: 'default', BIG: 'big' } as const const sizeToParams = { [Sizes.DEFAULT]: {numericSize: 16}, [Sizes.BIG]: {numericSize: 48} } export const ProjectIcon = ({ size = Sizes.DEFAULT as typeof Sizes[keyof typeof Sizes], color = IconsGeneralColor }) => { const {numericSize} = sizeToParams.hasOwnProperty(size) ? // hasOwnProperty explicitly called here // eslint-disable-next-line security/detect-object-injection sizeToParams[size] : sizeToParams[Sizes.DEFAULT] return ( ) } ProjectIcon.category = 'Entity' ProjectIcon.propTypes = { color: PropTypes.string, // Object.keys used here // eslint-disable-next-line security/detect-object-injection size: PropTypes.oneOf(Object.keys(Sizes).map(key => Sizes[key])) } ProjectIcon.Sizes = Sizes