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