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}