/********************************************************************* * © Copyright IBM Corp. 2024 *********************************************************************/ import React from 'react' import PropTypes from 'prop-types' import {IconsGeneralColor} from '@targetprocess/css-variables' export const Directions = { TOP: 'top', BOTTOM: 'bottom', LEFT: 'left', RIGHT: 'right' } as const export const Rotations = { [Directions.LEFT]: 0, [Directions.TOP]: -270, [Directions.BOTTOM]: 270, [Directions.RIGHT]: -180 } export const NavIcon = ({ direction, color = IconsGeneralColor }: { direction: typeof Directions[keyof typeof Directions] color?: string }) => { const rotationDegrees = Rotations.hasOwnProperty(direction) ? // hasOwnProperty explicitly checked here // eslint-disable-next-line security/detect-object-injection Rotations[direction] : Rotations[Directions.LEFT] return ( ) } NavIcon.category = 'Navigation' NavIcon.propTypes = { color: PropTypes.string, // Object.keys used here // eslint-disable-next-line security/detect-object-injection direction: PropTypes.oneOf(Object.keys(Directions).map(key => Directions[key])).isRequired } NavIcon.Directions = Directions