@@ -13,6 +13,8 @@ export interface ChatbotHeaderSelectorDropdownProps extends Omit<DropdownProps,
13
13
tooltipProps ?: TooltipProps ;
14
14
/** Aria label for menu toggle */
15
15
menuToggleAriaLabel ?: string ;
16
+ /** Text displayed in Tooltip wrapping the display mode dropdown */
17
+ tooltipContent ?: string ;
16
18
}
17
19
18
20
export const ChatbotHeaderSelectorDropdown : React . FunctionComponent < ChatbotHeaderSelectorDropdownProps > = ( {
@@ -21,16 +23,18 @@ export const ChatbotHeaderSelectorDropdown: React.FunctionComponent<ChatbotHeade
21
23
children,
22
24
onSelect,
23
25
tooltipProps,
24
- menuToggleAriaLabel = 'Chatbot selector' ,
26
+ tooltipContent = 'Chatbot selector' ,
27
+ menuToggleAriaLabel,
25
28
...props
26
29
} : ChatbotHeaderSelectorDropdownProps ) => {
27
30
const [ isOptionsMenuOpen , setIsOptionsMenuOpen ] = React . useState ( false ) ;
31
+ const [ defaultAriaLabel , setDefaultAriaLabel ] = React . useState ( 'Chatbot selector' ) ;
28
32
29
33
const toggle = ( toggleRef : React . Ref < MenuToggleElement > ) => (
30
- < Tooltip className = "pf-chatbot__tooltip" content = "Chatbot selector" position = "bottom" { ...tooltipProps } >
34
+ < Tooltip className = "pf-chatbot__tooltip" content = { tooltipContent } position = "bottom" { ...tooltipProps } >
31
35
< MenuToggle
32
36
variant = "secondary"
33
- aria-label = { menuToggleAriaLabel }
37
+ aria-label = { menuToggleAriaLabel ?? defaultAriaLabel }
34
38
ref = { toggleRef }
35
39
isExpanded = { isOptionsMenuOpen }
36
40
onClick = { ( ) => setIsOptionsMenuOpen ( ! isOptionsMenuOpen ) }
@@ -46,6 +50,7 @@ export const ChatbotHeaderSelectorDropdown: React.FunctionComponent<ChatbotHeade
46
50
isOpen = { isOptionsMenuOpen }
47
51
onSelect = { ( e , value ) => {
48
52
onSelect && onSelect ( e , value ) ;
53
+ setDefaultAriaLabel ( `Chatbot selector: ${ value } ` ) ;
49
54
setIsOptionsMenuOpen ( false ) ;
50
55
} }
51
56
onOpenChange = { ( isOpen ) => setIsOptionsMenuOpen ( isOpen ) }
0 commit comments