- {typeof title === 'string' &&
}
- {typeof title !== 'string' && title}
+ {typeof title === 'string' &&
}
+ {
+ // FIXME: custom title components won't get an accessible title.
+ // Do we really want to support them or shall we just limit this ModalTabsHeader?
+ typeof title !== 'string' && title
+ }
@@ -130,11 +124,12 @@ function ModalButtonRow({ leftItems, children }: { leftItems?: React.ReactNode;
Modal.ButtonRow = ModalButtonRow;
interface DefaultModalHeaderProps {
+ id?: string;
title: string;
icon?: IconName;
iconTooltip?: string;
}
-function DefaultModalHeader({ icon, iconTooltip, title }: DefaultModalHeaderProps): JSX.Element {
- return
;
+function DefaultModalHeader({ icon, iconTooltip, title, id }: DefaultModalHeaderProps): JSX.Element {
+ return
;
}
diff --git a/packages/grafana-ui/src/components/Modal/ModalHeader.tsx b/packages/grafana-ui/src/components/Modal/ModalHeader.tsx
index 4873b394c73..6d5c2c1acaf 100644
--- a/packages/grafana-ui/src/components/Modal/ModalHeader.tsx
+++ b/packages/grafana-ui/src/components/Modal/ModalHeader.tsx
@@ -5,6 +5,7 @@ import { useStyles2 } from '../../themes';
interface Props {
title: string;
+ id?: string;
/** @deprecated */
icon?: IconName;
/** @deprecated */
@@ -12,12 +13,14 @@ interface Props {
}
/** @internal */
-export const ModalHeader: React.FC
= ({ icon, iconTooltip, title, children }) => {
+export const ModalHeader: React.FC = ({ icon, iconTooltip, title, children, id }) => {
const styles = useStyles2(getModalStyles);
return (
<>
- {title}
+
+ {title}
+
{children}
>
);