@@ -34,14 +34,13 @@ export default function InternalTopNavigation({
34
34
} : InternalTopNavigationProps ) {
35
35
checkSafeUrl ( 'TopNavigation' , identity . href ) ;
36
36
const baseProps = getBaseProps ( restProps ) ;
37
- const { mainRef, virtualRef, breakpoint, responsiveState, isSearchExpanded, onSearchUtilityClick } = useTopNavigation (
38
- { identity, search, utilities }
39
- ) ;
37
+ const { mainRef, virtualRef, responsiveState, isSearchExpanded, onSearchUtilityClick } = useTopNavigation ( {
38
+ identity,
39
+ search,
40
+ utilities,
41
+ } ) ;
40
42
const [ overflowMenuOpen , setOverflowMenuOpen ] = useState ( false ) ;
41
43
const overflowMenuTriggerRef = useRef < HTMLButtonElement > ( null ) ;
42
- const isNarrowViewport = breakpoint === 'default' ;
43
- const isMediumViewport = breakpoint === 'xxs' ;
44
- const isLargeViewport = breakpoint === 's' ;
45
44
const i18n = useInternalI18n ( 'top-navigation' ) ;
46
45
47
46
// ButtonDropdown supports checkbox items but we don't support these in TopNavigation. Shown an error in development mode
@@ -98,23 +97,14 @@ export default function InternalTopNavigation({
98
97
className = { clsx ( styles [ 'top-navigation' ] , {
99
98
[ styles . virtual ] : isVirtual ,
100
99
[ styles . hidden ] : isVirtual ,
101
- [ styles . narrow ] : isNarrowViewport ,
102
- [ styles . medium ] : isMediumViewport ,
103
100
} ) }
104
101
>
105
102
< div className = { styles [ 'padding-box' ] } >
106
103
{ showIdentity && (
107
104
< div className = { clsx ( styles . identity , ! identity . logo && styles [ 'no-logo' ] ) } >
108
105
< a className = { styles [ 'identity-link' ] } href = { identity . href } onClick = { onIdentityClick } >
109
106
{ identity . logo && (
110
- < img
111
- role = "img"
112
- src = { identity . logo ?. src }
113
- alt = { identity . logo ?. alt }
114
- className = { clsx ( styles . logo , {
115
- [ styles . narrow ] : isNarrowViewport ,
116
- } ) }
117
- />
107
+ < img role = "img" src = { identity . logo ?. src } alt = { identity . logo ?. alt } className = { styles . logo } />
118
108
) }
119
109
{ showTitle && < span className = { styles . title } > { identity . title } </ span > }
120
110
</ a >
@@ -135,11 +125,7 @@ export default function InternalTopNavigation({
135
125
className = { clsx (
136
126
styles [ 'utility-wrapper' ] ,
137
127
styles [ 'utility-type-button' ] ,
138
- styles [ 'utility-type-button-link' ] ,
139
- {
140
- [ styles . narrow ] : isNarrowViewport ,
141
- [ styles . medium ] : isMediumViewport ,
142
- }
128
+ styles [ 'utility-type-button-link' ]
143
129
) }
144
130
data-utility-special = "search"
145
131
>
@@ -163,69 +149,45 @@ export default function InternalTopNavigation({
163
149
( _utility , i ) =>
164
150
isVirtual || ! responsiveState . hideUtilities || responsiveState . hideUtilities . indexOf ( i ) === - 1
165
151
)
166
- . map ( ( utility , i ) => {
167
- const hideText = ! ! responsiveState . hideUtilityText ;
168
- const isLast = ( isVirtual || ! showMenuTrigger ) && i === utilities . length - 1 ;
169
- const offsetRight = isLast && isLargeViewport ? 'xxl' : isLast ? 'l' : undefined ;
170
-
171
- return (
172
- < div
173
- key = { i }
174
- className = { clsx (
175
- styles [ 'utility-wrapper' ] ,
176
- styles [ `utility-type-${ utility . type } ` ] ,
177
- utility . type === 'button' && styles [ `utility-type-button-${ utility . variant ?? 'link' } ` ] ,
178
- {
179
- [ styles . narrow ] : isNarrowViewport ,
180
- [ styles . medium ] : isMediumViewport ,
181
- }
182
- ) }
183
- data-utility-index = { i }
184
- data-utility-hide = { `${ hideText } ` }
185
- >
186
- < Utility hideText = { hideText } definition = { utility } offsetRight = { offsetRight } />
187
- </ div >
188
- ) ;
189
- } ) }
190
-
191
- { isVirtual &&
192
- utilities . map ( ( utility , i ) => {
193
- const hideText = ! responsiveState . hideUtilityText ;
194
- const isLast = ! showMenuTrigger && i === utilities . length - 1 ;
195
- const offsetRight = isLast && isLargeViewport ? 'xxl' : isLast ? 'l' : undefined ;
196
-
197
- return (
152
+ . map ( ( utility , i ) => (
198
153
< div
199
154
key = { i }
200
155
className = { clsx (
201
156
styles [ 'utility-wrapper' ] ,
202
157
styles [ `utility-type-${ utility . type } ` ] ,
203
- utility . type === 'button' && styles [ `utility-type-button-${ utility . variant ?? 'link' } ` ] ,
204
- {
205
- [ styles . narrow ] : isNarrowViewport ,
206
- [ styles . medium ] : isMediumViewport ,
207
- }
158
+ utility . type === 'button' && styles [ `utility-type-button-${ utility . variant ?? 'link' } ` ]
208
159
) }
209
160
data-utility-index = { i }
210
- data-utility-hide = { `${ hideText } ` }
161
+ data-utility-hide = { `${ ! ! responsiveState . hideUtilityText } ` }
211
162
>
212
- < Utility hideText = { hideText } definition = { utility } offsetRight = { offsetRight } />
163
+ < Utility hideText = { ! ! responsiveState . hideUtilityText } definition = { utility } />
213
164
</ div >
214
- ) ;
215
- } ) }
165
+ ) ) }
166
+
167
+ { isVirtual &&
168
+ utilities . map ( ( utility , i ) => (
169
+ < div
170
+ key = { i }
171
+ className = { clsx (
172
+ styles [ 'utility-wrapper' ] ,
173
+ styles [ `utility-type-${ utility . type } ` ] ,
174
+ utility . type === 'button' && styles [ `utility-type-button-${ utility . variant ?? 'link' } ` ]
175
+ ) }
176
+ data-utility-index = { i }
177
+ data-utility-hide = { `${ ! responsiveState . hideUtilityText } ` }
178
+ >
179
+ < Utility hideText = { ! responsiveState . hideUtilityText } definition = { utility } />
180
+ </ div >
181
+ ) ) }
216
182
217
183
{ showMenuTrigger && (
218
184
< div
219
- className = { clsx ( styles [ 'utility-wrapper' ] , styles [ 'utility-type-menu-dropdown' ] , {
220
- [ styles . narrow ] : isNarrowViewport ,
221
- [ styles . medium ] : isMediumViewport ,
222
- } ) }
185
+ className = { clsx ( styles [ 'utility-wrapper' ] , styles [ 'utility-type-menu-dropdown' ] ) }
223
186
data-utility-special = "menu-trigger"
224
187
>
225
188
< ButtonTrigger
226
189
expanded = { overflowMenuOpen }
227
190
onClick = { toggleOverflowMenu }
228
- offsetRight = "l"
229
191
ref = { ! isVirtual ? overflowMenuTriggerRef : undefined }
230
192
>
231
193
{ i18n ( 'i18nStrings.overflowMenuTriggerText' , i18nStrings ?. overflowMenuTriggerText ) }
0 commit comments