From a26435ff080eedd30d0faafb0c2b66f2092a81c8 Mon Sep 17 00:00:00 2001 From: Austin Sullivan Date: Thu, 28 Apr 2022 09:11:45 -0400 Subject: [PATCH 1/3] feat(tabs): add secondary border-bottom variation, update demos --- .../react-core/src/components/Tabs/Tabs.tsx | 4 + .../components/Tabs/__tests__/Tabs.test.tsx | 41 ++++++- packages/react-core/src/demos/Tabs.md | 110 +++++++++--------- 3 files changed, 97 insertions(+), 58 deletions(-) diff --git a/packages/react-core/src/components/Tabs/Tabs.tsx b/packages/react-core/src/components/Tabs/Tabs.tsx index 26360d68dee..f84dc52ac85 100644 --- a/packages/react-core/src/components/Tabs/Tabs.tsx +++ b/packages/react-core/src/components/Tabs/Tabs.tsx @@ -43,6 +43,8 @@ export interface TabsProps extends Omit { isVertical, isBox, hasBorderBottom, + hasSecondaryBorderBottom, leftScrollAriaLabel, rightScrollAriaLabel, 'aria-label': ariaLabel, @@ -361,6 +364,7 @@ export class Tabs extends React.Component { showScrollButtons && !isVertical && styles.modifiers.scrollable, usePageInsets && styles.modifiers.pageInsets, !hasBorderBottom && styles.modifiers.noBorderBottom, + hasSecondaryBorderBottom && styles.modifiers.borderBottom, formatBreakpointMods(inset, styles), variantStyle[variant], className diff --git a/packages/react-core/src/components/Tabs/__tests__/Tabs.test.tsx b/packages/react-core/src/components/Tabs/__tests__/Tabs.test.tsx index d7ac98364eb..643942d2181 100644 --- a/packages/react-core/src/components/Tabs/__tests__/Tabs.test.tsx +++ b/packages/react-core/src/components/Tabs/__tests__/Tabs.test.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { render } from '@testing-library/react'; +import { render, screen } from '@testing-library/react'; import { Tabs } from '../Tabs'; import { Tab } from '../Tab'; import { TabTitleText } from '../TabTitleText'; @@ -350,3 +350,42 @@ test('should render tabs with no bottom border', () => { expect(asFragment()).toMatchSnapshot(); }); +test('should not render tabs with secondary border bottom when not passed hasSecondaryBorderBottom', () => { + render( + + "Tab item 1"}> + Tab 1 section + + "Tab item 2"}> + Tab 2 section + + "Tab item 3"}> + Tab 3 section + + + ); + + const tabsContainer = screen.queryByLabelText('secondary bottom border'); + + expect(tabsContainer).not.toHaveClass('pf-m-border-bottom'); +}); + +test('should render tabs with secondary border bottom when passed hasSecondaryBorderBottom', () => { + render( + + "Tab item 1"}> + Tab 1 section + + "Tab item 2"}> + Tab 2 section + + "Tab item 3"}> + Tab 3 section + + + ); + + const tabsContainer = screen.queryByLabelText('secondary bottom border'); + + expect(tabsContainer).toHaveClass('pf-m-border-bottom'); +}); diff --git a/packages/react-core/src/demos/Tabs.md b/packages/react-core/src/demos/Tabs.md index f61407ee175..4e75cb7c985 100644 --- a/packages/react-core/src/demos/Tabs.md +++ b/packages/react-core/src/demos/Tabs.md @@ -378,65 +378,60 @@ TabsOpenWithSecondaryTabsDemo = () => { Terminal} tabContentId={`tabContent${4}`} /> - - - - - - - - - - + + + + + + ); @@ -467,6 +462,7 @@ TabsOpenWithSecondaryTabsDemo = () => { ```js isFullscreen file="./examples/Tabs/ModalTabs.tsx" ``` + ### Gray tabs ```js isFullscreen file="./examples/Tabs/GrayTabs.tsx" From f37f2f1df871e7a1446b553e378fef44bac5d527 Mon Sep 17 00:00:00 2001 From: Austin Sullivan Date: Wed, 4 May 2022 16:19:39 -0400 Subject: [PATCH 2/3] improve prop description Co-authored-by: Jenny <32821331+jenny-s51@users.noreply.github.com> --- packages/react-core/src/components/Tabs/Tabs.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-core/src/components/Tabs/Tabs.tsx b/packages/react-core/src/components/Tabs/Tabs.tsx index f84dc52ac85..43f36e80a9f 100644 --- a/packages/react-core/src/components/Tabs/Tabs.tsx +++ b/packages/react-core/src/components/Tabs/Tabs.tsx @@ -41,7 +41,7 @@ export interface TabsProps extends Omit Date: Wed, 4 May 2022 17:08:36 -0400 Subject: [PATCH 3/3] sentence case test aria labels --- .../src/components/Tabs/__tests__/Tabs.test.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/react-core/src/components/Tabs/__tests__/Tabs.test.tsx b/packages/react-core/src/components/Tabs/__tests__/Tabs.test.tsx index 643942d2181..a12c8c386de 100644 --- a/packages/react-core/src/components/Tabs/__tests__/Tabs.test.tsx +++ b/packages/react-core/src/components/Tabs/__tests__/Tabs.test.tsx @@ -352,7 +352,7 @@ test('should render tabs with no bottom border', () => { test('should not render tabs with secondary border bottom when not passed hasSecondaryBorderBottom', () => { render( - + "Tab item 1"}> Tab 1 section @@ -365,14 +365,14 @@ test('should not render tabs with secondary border bottom when not passed hasSec ); - const tabsContainer = screen.queryByLabelText('secondary bottom border'); + const tabsContainer = screen.queryByLabelText('Secondary bottom border'); expect(tabsContainer).not.toHaveClass('pf-m-border-bottom'); }); test('should render tabs with secondary border bottom when passed hasSecondaryBorderBottom', () => { render( - + "Tab item 1"}> Tab 1 section @@ -385,7 +385,7 @@ test('should render tabs with secondary border bottom when passed hasSecondaryBo ); - const tabsContainer = screen.queryByLabelText('secondary bottom border'); + const tabsContainer = screen.queryByLabelText('Secondary bottom border'); expect(tabsContainer).toHaveClass('pf-m-border-bottom'); });