/********************************************************************* * © 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' } const SizeOptions = { [Sizes.DEFAULT]: { width: 26, height: 16 }, [Sizes.BIG]: { width: 48, height: 16 } } export const RelationsIcon = ({ color = IconsGeneralColor, size = Sizes.DEFAULT as typeof Sizes[keyof typeof Sizes] }) => { const {width, height} = SizeOptions.hasOwnProperty(size) ? // hasOwnProperty explicitly called here // eslint-disable-next-line security/detect-object-injection SizeOptions[size] : SizeOptions[Sizes.DEFAULT] return ( {size === Sizes.DEFAULT && ( )} {size === Sizes.BIG && ( )} ) } RelationsIcon.category = 'Entity' RelationsIcon.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])) }