Commit aa9eb3b 1 parent 8ec4c27 commit aa9eb3b Copy full SHA for aa9eb3b
File tree 1 file changed +22
-16
lines changed
packages/fuselage/src/components/Tag
1 file changed +22
-16
lines changed Original file line number Diff line number Diff line change 1
1
import PropTypes from 'prop-types' ;
2
2
import React from 'react' ;
3
3
4
- import { Box } from '../..' ;
4
+ import { prependClassName } from '../../helpers/prependClassName ' ;
5
5
6
6
export function Tag ( {
7
+ is : TagName = 'span' ,
8
+ small,
9
+ medium,
10
+ className,
7
11
disabled,
8
- round,
9
- variant = 'secondary' ,
10
12
onClick,
13
+ variant = 'secondary' ,
11
14
...props
12
15
} ) {
16
+ const modifiers = [
17
+ variant ,
18
+ small && 'small' ,
19
+ medium && 'medium' ,
20
+ disabled && 'disabled' ,
21
+ onClick && 'clickable' ,
22
+ ]
23
+ . map ( ( modifier ) => `rcx-tag--${ modifier } ` )
24
+ . filter ( Boolean )
25
+ . join ( ' ' ) ;
26
+
13
27
return (
14
- < Box
15
- is = 'span'
16
- rcx-tag
17
- rcx-tag--warning = { variant === 'warning' }
18
- rcx-tag--secondary = { variant === 'secondary' }
19
- rcx-tag--primary = { variant === 'primary' }
20
- rcx-tag--danger = { variant === 'danger' }
21
- rcx-tag--ghost = { variant === 'ghost' }
22
- rcx-tag--disabled = { ! ! disabled }
23
- rcx-tag--round = { ! ! round }
24
- rcx-tag--clickable = { ! ! onClick }
25
- onClick = { onClick }
28
+ < TagName
29
+ className = { prependClassName ( className , `rcx-tag ${ modifiers } ` ) }
26
30
{ ...props }
27
31
/>
28
32
) ;
29
33
}
30
34
31
35
Tag . propTypes = {
36
+ small : PropTypes . bool ,
37
+ medium : PropTypes . bool ,
32
38
disabled : PropTypes . bool ,
33
- round : PropTypes . bool ,
39
+ onClick : PropTypes . func ,
34
40
variant : PropTypes . oneOf ( [
35
41
'secondary' ,
36
42
'primary' ,
You can’t perform that action at this time.
0 commit comments