@@ -18,32 +18,37 @@ const FilterChip = ({
18
18
const valueToDisplay = getFormattedValue ( label , value ) ?? value
19
19
20
20
return (
21
- < div className = "flexbox flex-align-center br-4 dc__border dc__bg-n50 pl-6 pr-6 pt-2 pb-2 dc__user-select-none h-24 dc__gap-6 fs-12 lh-20 cn-9 fw-4 dc__ellipsis-right" >
22
- < span className = "fw-6 dc__capitalize" > { labelToDisplay } </ span >
23
- < span className = "dc__divider h-24" />
24
- < span className = "dc__ellipsis-right" > { valueToDisplay } </ span >
25
- < button
26
- type = "button"
27
- className = "flex p-0 dc__transparent"
28
- onClick = { removeFilter }
29
- aria-label = "Remove filter"
30
- >
31
- < CloseIcon className = "icon-dim-12 icon-use-fill-n6" />
32
- </ button >
33
- </ div >
21
+ labelToDisplay &&
22
+ valueToDisplay && (
23
+ < div className = "flexbox flex-align-center br-4 dc__border dc__bg-n50 pl-6 pr-6 pt-2 pb-2 dc__user-select-none h-24 dc__gap-6 fs-12 lh-20 cn-9 fw-4 dc__ellipsis-right" >
24
+ < span className = "fw-6 dc__capitalize" > { labelToDisplay } </ span >
25
+ < span className = "dc__divider h-24" />
26
+ < span className = "dc__ellipsis-right" > { valueToDisplay } </ span >
27
+ < button
28
+ type = "button"
29
+ className = "flex p-0 dc__transparent"
30
+ onClick = { removeFilter }
31
+ aria-label = "Remove filter"
32
+ >
33
+ < CloseIcon className = "icon-dim-12 icon-use-fill-n6" />
34
+ </ button >
35
+ </ div >
36
+ )
34
37
)
35
38
}
36
39
37
40
/**
38
41
* Component for rendering the applied filter chips
39
42
*/
40
- const FilterChips = ( {
43
+ const FilterChips = < T , > ( {
41
44
filterConfig,
42
45
clearFilters,
43
46
onRemoveFilter,
44
47
getFormattedLabel,
45
48
getFormattedValue,
46
- } : FilterChipsProps ) => {
49
+ className = '' ,
50
+ clearButtonClassName = '' ,
51
+ } : FilterChipsProps < T > ) => {
47
52
const handleRemoveFilter = ( filterKey , valueToRemove ) => {
48
53
const updatedFilterConfig = JSON . parse ( JSON . stringify ( filterConfig ) )
49
54
if ( Array . isArray ( filterConfig [ filterKey ] ) ) {
@@ -63,7 +68,7 @@ const FilterChips = ({
63
68
64
69
return (
65
70
chips . length > 0 && (
66
- < div className = " flexbox pt-6 pb-6 flex-wrap dc__gap-8" >
71
+ < div className = { ` flexbox pt-6 pb-6 flex-wrap dc__gap-8 ${ className } ` } >
67
72
{ chips . map ( ( [ filterKey , filterValue ] ) =>
68
73
Array . isArray ( filterValue ) ? (
69
74
filterValue . map ( ( filter ) => (
@@ -88,7 +93,11 @@ const FilterChips = ({
88
93
) ,
89
94
) }
90
95
< div className = "flex" >
91
- < button type = "button" className = "cta text fs-13-imp lh-20-imp h-20 p-0-imp" onClick = { clearFilters } >
96
+ < button
97
+ type = "button"
98
+ className = { `cta text fs-13-imp lh-20-imp h-20 p-0-imp ${ clearButtonClassName } ` }
99
+ onClick = { clearFilters }
100
+ >
92
101
Clear All Filters
93
102
</ button >
94
103
</ div >
0 commit comments