1
1
import { 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' ;
3
3
4
4
export const SUPPORTED_ICONS = [ 'IconCode' , 'IconBolt' , 'IconSquareCheck' , 'IconSquare' , 'IconPlayerPlayFilled' , 'IconTrash' , 'IconExternalLink' ,
5
5
'IconLoader' , 'IconFilePencil' , 'IconFileInfo' , 'IconEdit' , 'IconShieldFilled' , 'IconShieldCheckFilled' , 'IconPlus' , 'IconSettings' , 'IconSettingsFilled' ,
6
- 'IconHammer' , 'IconZoomIn' , 'IconZoomOut'
7
-
6
+ 'IconHammer' , 'IconZoomIn' , 'IconZoomOut' , 'IconTag'
8
7
]
9
8
10
9
type SVGIconProps = {
11
10
icon : string ,
12
11
size ?: number ,
13
12
strokeWidth ?: number ,
14
- useFillForIcons ?: boolean
13
+ useFillForIcons ?: boolean ,
14
+ addClasses ?: string
15
15
}
16
16
17
17
export default function SVGIcon ( props : SVGIconProps ) {
18
18
switch ( props . icon ) {
19
+ case 'IconTag' :
20
+ return < MemoIconTag size = { props . size } strokeWidth = { props . strokeWidth } className = { `${ props . useFillForIcons ? 'fill-gray-800' : '' } ${ props . addClasses } ` } />
19
21
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 } ` } />
21
23
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 } ` } />
23
25
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 } ` } />
25
27
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 } ` } />
27
29
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 } ` } />
29
31
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 } ` } />
31
33
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 } ` } />
33
35
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 } ` } />
35
37
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 } ` } />
37
39
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 } ` } />
39
41
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 } ` } />
41
43
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 } ` } />
43
45
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 } ` } />
45
47
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 } ` } />
47
49
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 } ` } />
49
51
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 } ` } />
51
53
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 } ` } />
53
55
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 } ` } />
55
57
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 } ` } />
57
59
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 } ` } />
59
61
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 } ` } />
62
64
}
63
65
64
66
}
0 commit comments