@@ -19,9 +19,7 @@ import {
19
19
AccordionSubHeaderContainerStyled ,
20
20
AccordionTitleIconWrapper ,
21
21
AccordionTitleStyled ,
22
- AccordionTriggerIconLinkStyled ,
23
- AccordionTriggerIconStyled ,
24
- AccordionTriggerLinkStyled ,
22
+ AccordionTriggerIconContainerStyled ,
25
23
AccordionTriggerStyled ,
26
24
LineSeparatorContainerStyled ,
27
25
} from './accordion.styled' ;
@@ -44,93 +42,6 @@ const AccordionStandAloneComponent = (
44
42
45
43
const getDataTestId = ( uniqueId = '' ) : string => `${ props . dataTestId } ${ uniqueId } ` ;
46
44
47
- const renderTitle = ( ) => {
48
- if ( ! props . title ) return null ;
49
- return typeof props . title ?. content === 'string' ? (
50
- < AccordionTriggerStyled
51
- aria-controls = { PANEL_ID }
52
- aria-expanded = { open }
53
- data-testid = { getDataTestId ( 'TriggerButton' ) }
54
- id = { TRIGGER_ID }
55
- styles = { props . styles . trigger }
56
- type = { ButtonType . BUTTON }
57
- { ...props . triggerButton }
58
- >
59
- < AccordionTriggerIconStyled
60
- $rotate = { open }
61
- data-testid = { `${ props . dataTestId } TriggerIconWrapper` }
62
- styles = { props . styles . triggerIconContainer }
63
- >
64
- < ElementOrIcon
65
- customIconStyles = { props . styles . triggerIcon }
66
- dataTestId = { getDataTestId ( 'TriggerIcon' ) }
67
- { ...props . triggerIcon }
68
- />
69
- </ AccordionTriggerIconStyled >
70
- < AccordionTitleStyled styles = { props . styles . titleContainer } >
71
- { props . titleIcon && (
72
- < AccordionTitleIconWrapper styles = { props . styles . titleIconContainer } >
73
- < ElementOrIcon
74
- customIconStyles = { props . styles . titleIcon }
75
- dataTestId = { getDataTestId ( 'TitleIcon' ) }
76
- { ...props . titleIcon }
77
- />
78
- </ AccordionTitleIconWrapper >
79
- ) }
80
- < Text
81
- component = { TextComponentType . SPAN }
82
- customTypography = { props . styles . title }
83
- dataTestId = { getDataTestId ( 'TriggerText' ) }
84
- { ...props . title }
85
- >
86
- { props . title . content }
87
- </ Text >
88
- </ AccordionTitleStyled >
89
- </ AccordionTriggerStyled >
90
- ) : (
91
- < AccordionTriggerLinkStyled
92
- data-testid = { getDataTestId ( 'TriggerButton' ) }
93
- styles = { props . styles . link }
94
- >
95
- < AccordionTriggerIconLinkStyled
96
- $rotate = { open }
97
- aria-controls = { PANEL_ID }
98
- aria-expanded = { open }
99
- data-testid = { `${ props . dataTestId } TriggerIconWrapper` }
100
- id = { TRIGGER_ID }
101
- styles = { props . styles . triggerIconContainer }
102
- type = { ButtonType . BUTTON }
103
- { ...props . triggerButton }
104
- >
105
- < ElementOrIcon
106
- customIconStyles = { props . styles . triggerIcon }
107
- dataTestId = { getDataTestId ( 'TriggerIcon' ) }
108
- { ...props . triggerIcon }
109
- />
110
- </ AccordionTriggerIconLinkStyled >
111
- < AccordionTitleStyled styles = { props . styles . titleContainer } >
112
- { props . titleIcon && (
113
- < AccordionTitleIconWrapper styles = { props . styles . titleIconContainer } >
114
- < ElementOrIcon
115
- customIconStyles = { props . styles . titleIcon }
116
- dataTestId = { getDataTestId ( 'TitleIcon' ) }
117
- { ...props . titleIcon }
118
- />
119
- </ AccordionTitleIconWrapper >
120
- ) }
121
- < Text
122
- component = { TextComponentType . SPAN }
123
- customTypography = { props . styles . title }
124
- dataTestId = { getDataTestId ( 'TriggerText' ) }
125
- { ...props . title }
126
- >
127
- { props . title ?. content }
128
- </ Text >
129
- </ AccordionTitleStyled >
130
- </ AccordionTriggerLinkStyled >
131
- ) ;
132
- } ;
133
-
134
45
return (
135
46
< AccordionContainerStyled
136
47
ref = { ref }
@@ -147,7 +58,46 @@ const AccordionStandAloneComponent = (
147
58
>
148
59
< AccordionHeaderMainContainerStyled styles = { props . styles . headerMainContainer } >
149
60
< AccordionHeaderTitleHeadlineStyled as = { props . triggerComponent } >
150
- { renderTitle ( ) }
61
+ < AccordionTriggerStyled
62
+ aria-controls = { PANEL_ID }
63
+ aria-expanded = { open }
64
+ data-testid = { getDataTestId ( 'TriggerButton' ) }
65
+ id = { TRIGGER_ID }
66
+ styles = { props . styles [ typeof props . title ?. content !== 'string' ? 'link' : 'trigger' ] }
67
+ type = { ButtonType . BUTTON }
68
+ { ...props . triggerButton }
69
+ >
70
+ < AccordionTriggerIconContainerStyled
71
+ $rotate = { open }
72
+ data-testid = { `${ props . dataTestId } TriggerIconWrapper` }
73
+ styles = { props . styles . triggerIconContainer }
74
+ >
75
+ < ElementOrIcon
76
+ customIconStyles = { props . styles . triggerIcon }
77
+ dataTestId = { getDataTestId ( 'TriggerIcon' ) }
78
+ { ...props . triggerIcon }
79
+ />
80
+ </ AccordionTriggerIconContainerStyled >
81
+ < AccordionTitleStyled styles = { props . styles . titleContainer } >
82
+ { props . titleIcon && (
83
+ < AccordionTitleIconWrapper styles = { props . styles . titleIconContainer } >
84
+ < ElementOrIcon
85
+ customIconStyles = { props . styles . titleIcon }
86
+ dataTestId = { getDataTestId ( 'TitleIcon' ) }
87
+ { ...props . titleIcon }
88
+ />
89
+ </ AccordionTitleIconWrapper >
90
+ ) }
91
+ < Text
92
+ component = { TextComponentType . SPAN }
93
+ customTypography = { props . styles . title }
94
+ dataTestId = { getDataTestId ( 'TriggerText' ) }
95
+ { ...props . title }
96
+ >
97
+ { props . title ?. content }
98
+ </ Text >
99
+ </ AccordionTitleStyled >
100
+ </ AccordionTriggerStyled >
151
101
</ AccordionHeaderTitleHeadlineStyled >
152
102
{ props . headerRightContent && (
153
103
< AccordionHeaderRightContentStyled
0 commit comments