/********************************************************************* * © 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 ArrowIcon = ({ 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 ( ) } ArrowIcon.category = 'Navigation' ArrowIcon.propTypes = { color: PropTypes.string, direction: PropTypes.oneOf(Object.keys(Rotations)).isRequired } ArrowIcon.Directions = Directions