diff --git a/src/components/FeatureBanner/FeatureBanner.spec.tsx b/src/components/FeatureBanner/FeatureBanner.spec.tsx
index 2d749b6f..b0294708 100644
--- a/src/components/FeatureBanner/FeatureBanner.spec.tsx
+++ b/src/components/FeatureBanner/FeatureBanner.spec.tsx
@@ -39,6 +39,25 @@ describe('', () => {
expect(queryByText('FeatureBannerChildElement')).not.toBeNull();
});
+ describe('without subtitle', () => {
+ it('does not render subtitle', () => {
+ const { queryByText } = render();
+
+ expect(queryByText('FeatureBannerTitle')).not.toBeNull();
+ });
+
+ it('renders title and children', () => {
+ const { queryByText } = render(
+
+ FeatureBannerChildElement
+
+ );
+
+ expect(queryByText('FeatureBannerTitle')).not.toBeNull();
+ expect(queryByText('FeatureBannerChildElement')).not.toBeNull();
+ });
+ });
+
describe('when dismissable', () => {
it('can be closed', async () => {
const { getByRole, queryByRole } = render();
diff --git a/src/components/FeatureBanner/FeatureBanner.stories.tsx b/src/components/FeatureBanner/FeatureBanner.stories.tsx
index c87bbf93..81f09858 100644
--- a/src/components/FeatureBanner/FeatureBanner.stories.tsx
+++ b/src/components/FeatureBanner/FeatureBanner.stories.tsx
@@ -39,3 +39,19 @@ export const LiveExample: Story = {
),
};
+
+export const WithoutSubtitle: Story = {
+ args: {
+ alertText: 'New',
+ color: 'info',
+ title: 'Company-Wide View of Text Messages',
+ },
+ render: (args) => (
+
+
+
+ ),
+};
diff --git a/src/components/FeatureBanner/FeatureBanner.tsx b/src/components/FeatureBanner/FeatureBanner.tsx
index 632adaba..fdfd2cd2 100644
--- a/src/components/FeatureBanner/FeatureBanner.tsx
+++ b/src/components/FeatureBanner/FeatureBanner.tsx
@@ -6,7 +6,7 @@ interface FeatureBannerProps {
children?: ReactNode;
color?: string;
dismissable?: boolean;
- subtitle: ReactNode;
+ subtitle?: ReactNode;
title: string;
}
@@ -36,13 +36,17 @@ const FeatureBanner: FC = ({
isOpen={visible}
>
{alertText}
-
+
{alertText}
{title}
-
{subtitle}
+ {subtitle &&
{subtitle}
}
{children}