import React from 'react' import iconsList from './iconsList' import { type IconProps } from './Icon.models' import { cn } from '../../services/cn' const strokeBasedIcons = new Set([ 'barCodeNo', 'buildingBox', 'clockDollar', 'databaseOff', 'downCaret', 'fileSearch', 'fileTextSpark', 'folderOff', 'folderX', 'infoDocument', 'packageExport', 'presentationOff', 'receiptRefund', 'receiptDollar', 'reportSearch', 'users', 'heartExclamation', 'dollarExclamation', 'calendarClock', 'curveDown', 'curveUp', 'forwardSlant', 'trendingDown', 'trendingUp', 'confetti', 'copy', 'eyeClosed', 'eyeOpen', 'subtitlesAi', 'aiEdit', 'reOptimize', ]) const Icon = ({ icon, className = '', iconSize = '20px', color = 'purple', qaTestId = 'icon', style, }: IconProps): React.JSX.Element => { const width = style?.width ?? iconSize const height = style?.height ?? iconSize const sharedProps = { className: cn('icon flex items-center', className), 'qa-test-id': qaTestId, } if (typeof icon === 'string') { const iconElement = React.cloneElement(iconsList[icon], { width, height, style, }) return ( {iconElement} ) } else { const IconElement = icon return ( ) } } export default Icon