11import { IconHammer , IconSettingsFilled , IconZoomIn , IconZoomOut } from '@tabler/icons-react' ;
2- import { MemoIconBolt , MemoIconChevronDown , MemoIconCode , MemoIconDotsVertical , MemoIconEdit , MemoIconExternalLink , MemoIconFileInfo , MemoIconFilePencil , MemoIconLoader , MemoIconPlayerPlayFilled , MemoIconPlus , MemoIconSettings , MemoIconShieldCheckFilled , MemoIconShieldFilled , MemoIconSquare , MemoIconSquareCheck , MemoIconTrash } from './kern-icons/icons' ;
2+ import { MemoIconBolt , MemoIconChevronDown , MemoIconCode , MemoIconDotsVertical , MemoIconEdit , MemoIconExternalLink , MemoIconFileInfo , MemoIconFilePencil , MemoIconLoader , MemoIconPlayerPlayFilled , MemoIconPlus , MemoIconSettings , MemoIconShieldCheckFilled , MemoIconShieldFilled , MemoIconSquare , MemoIconSquareCheck , MemoIconTag , MemoIconTrash } from './kern-icons/icons' ;
33
44export const SUPPORTED_ICONS = [ 'IconCode' , 'IconBolt' , 'IconSquareCheck' , 'IconSquare' , 'IconPlayerPlayFilled' , 'IconTrash' , 'IconExternalLink' ,
55 'IconLoader' , 'IconFilePencil' , 'IconFileInfo' , 'IconEdit' , 'IconShieldFilled' , 'IconShieldCheckFilled' , 'IconPlus' , 'IconSettings' , 'IconSettingsFilled' ,
6- 'IconHammer' , 'IconZoomIn' , 'IconZoomOut'
7-
6+ 'IconHammer' , 'IconZoomIn' , 'IconZoomOut' , 'IconTag'
87]
98
109type SVGIconProps = {
1110 icon : string ,
1211 size ?: number ,
1312 strokeWidth ?: number ,
14- useFillForIcons ?: boolean
13+ useFillForIcons ?: boolean ,
14+ addClasses ?: string
1515}
1616
1717export default function SVGIcon ( props : SVGIconProps ) {
1818 switch ( props . icon ) {
19+ case 'IconTag' :
20+ return < MemoIconTag size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
1921 case 'IconCode' :
20- return < MemoIconCode size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
22+ return < MemoIconCode size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
2123 case 'IconBolt' :
22- return < MemoIconBolt size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
24+ return < MemoIconBolt size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
2325 case 'IconSquareCheck' :
24- return < MemoIconSquareCheck size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
26+ return < MemoIconSquareCheck size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
2527 case 'IconSquare' :
26- return < MemoIconSquare size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
28+ return < MemoIconSquare size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
2729 case 'IconPlayerPlayFilled' :
28- return < MemoIconPlayerPlayFilled size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
30+ return < MemoIconPlayerPlayFilled size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
2931 case 'IconTrash' :
30- return < MemoIconTrash size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
32+ return < MemoIconTrash size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
3133 case 'IconExternalLink' :
32- return < MemoIconExternalLink size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
34+ return < MemoIconExternalLink size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
3335 case 'IconChevronDown' :
34- return < MemoIconChevronDown size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
36+ return < MemoIconChevronDown size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
3537 case 'IconDotsVertical' :
36- return < MemoIconDotsVertical size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
38+ return < MemoIconDotsVertical size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
3739 case 'IconLoader' :
38- return < MemoIconLoader size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
40+ return < MemoIconLoader size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
3941 case 'IconFilePencil' :
40- return < MemoIconFilePencil size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
42+ return < MemoIconFilePencil size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
4143 case 'IconFileInfo' :
42- return < MemoIconFileInfo size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
44+ return < MemoIconFileInfo size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
4345 case 'IconEdit' :
44- return < MemoIconEdit size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
46+ return < MemoIconEdit size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
4547 case 'IconShieldFilled' :
46- return < MemoIconShieldFilled size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
48+ return < MemoIconShieldFilled size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
4749 case 'IconShieldCheckFilled' :
48- return < MemoIconShieldCheckFilled size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
50+ return < MemoIconShieldCheckFilled size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
4951 case 'IconPlus' :
50- return < MemoIconPlus size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
52+ return < MemoIconPlus size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
5153 case 'IconSettings' :
52- return < MemoIconSettings size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
54+ return < MemoIconSettings size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
5355 case 'IconSettingsFilled' :
54- return < IconSettingsFilled size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
56+ return < IconSettingsFilled size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
5557 case 'IconHammer' :
56- return < IconHammer size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
58+ return < IconHammer size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
5759 case 'IconZoomIn' :
58- return < IconZoomIn size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
60+ return < IconZoomIn size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
5961 case 'IconZoomOut' :
60- return < IconZoomOut size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
61- default : return < MemoIconLoader size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ` } />
62+ return < IconZoomOut size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
63+ default : return < MemoIconLoader size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
6264 }
6365
6466}
0 commit comments