From 49b4f8d8b7b248b751cc9dfc37fcbcf9d2fdfdb5 Mon Sep 17 00:00:00 2001 From: Hitomi Winberg Date: Tue, 12 Apr 2022 13:47:24 +0200 Subject: [PATCH 1/2] feat(stepper): allow component to stepper label --- packages/core/src/Stepper/Step.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/src/Stepper/Step.tsx b/packages/core/src/Stepper/Step.tsx index 65676b37..ed05cedc 100644 --- a/packages/core/src/Stepper/Step.tsx +++ b/packages/core/src/Stepper/Step.tsx @@ -23,7 +23,7 @@ type BaseProps = HTMLAttributes export interface StepContent extends BaseProps { /* Step's label */ - readonly label: string + readonly label: ReactNode /* Step's content */ readonly content: ReactNode /* Indicates whether the step has errors that should be resolved */ @@ -110,7 +110,7 @@ const StepHeader = styled.div` margin-top: -${spacing.large}; ` -const StepLabel = styled(Typography)<{ +export const StepLabel = styled(Typography)<{ readonly active: boolean readonly completed: boolean }>` From 01adef8d9a4212dd878f1c40f2c3e2f628c2cc29 Mon Sep 17 00:00:00 2001 From: Hitomi Winberg Date: Tue, 12 Apr 2022 13:47:24 +0200 Subject: [PATCH 2/2] feat(stepper): allow component to stepper label --- packages/core/src/Stepper/Step.tsx | 7 +- .../Stepper/__snapshots__/index.test.tsx.snap | 72 ++++++++++++------- packages/core/src/Stepper/index.test.tsx | 14 ++-- packages/core/src/Stepper/index.tsx | 2 +- .../docs/src/mdx/coreComponents/Stepper.mdx | 13 ++-- 5 files changed, 67 insertions(+), 41 deletions(-) diff --git a/packages/core/src/Stepper/Step.tsx b/packages/core/src/Stepper/Step.tsx index ed05cedc..5815eaed 100644 --- a/packages/core/src/Stepper/Step.tsx +++ b/packages/core/src/Stepper/Step.tsx @@ -109,8 +109,9 @@ const StepHeader = styled.div` position: relative; margin-top: -${spacing.large}; ` +export const StepLabel = styled(Typography).attrs({ variant: 'default-text' })`` -export const StepLabel = styled(Typography)<{ +const StepLabelWrapper = styled.div<{ readonly active: boolean readonly completed: boolean }>` @@ -277,9 +278,9 @@ export const Step: FC = ({ {lastStep ? null : ( )} - + {label} - + {active ? ( {children} ) : null} diff --git a/packages/core/src/Stepper/__snapshots__/index.test.tsx.snap b/packages/core/src/Stepper/__snapshots__/index.test.tsx.snap index ef1876d7..d488507b 100644 --- a/packages/core/src/Stepper/__snapshots__/index.test.tsx.snap +++ b/packages/core/src/Stepper/__snapshots__/index.test.tsx.snap @@ -297,11 +297,15 @@ exports[`Stepper Stepper 1`] = ` -

- Step 1 Title -

+

+ Step 1 Title +

+
@@ -359,11 +363,15 @@ exports[`Stepper Stepper 1`] = ` -

- Step 2 Title -

+

+ Step 2 Title +

+
-

- Step 3 Title (done) -

+

+ Step 3 Title (done) +

+
@@ -697,11 +709,15 @@ exports[`Stepper Stepper 2`] = ` -

- Step 1 Title -

+

+ Step 1 Title +

+
@@ -756,11 +772,15 @@ exports[`Stepper Stepper 2`] = `
-

- Step 3 Title (done) -

+

+ Step 3 Title (done) +

+
@@ -1013,11 +1033,15 @@ exports[`Stepper Stepper 3`] = `
-

- Step 1 Title -

+

+ Step 1 Title +

+
diff --git a/packages/core/src/Stepper/index.test.tsx b/packages/core/src/Stepper/index.test.tsx index e3bced53..47c6625a 100644 --- a/packages/core/src/Stepper/index.test.tsx +++ b/packages/core/src/Stepper/index.test.tsx @@ -2,7 +2,7 @@ import 'jest-styled-components' import { expect, test, describe } from '@jest/globals' import { TestRender } from '../TestUtils' -import { Stepper } from '.' +import { Stepper, StepLabel } from '.' const NOOP = () => { /** */ @@ -14,16 +14,16 @@ describe('Stepper', () => { Step 1 Title, content:
, }, { - label: 'Step 2 Title', + label: Step 2 Title, content:
, hasErrors: true, }, { - label: 'Step 3 Title (done)', + label: Step 3 Title (done), content:
, }, ]} @@ -51,11 +51,11 @@ describe('Stepper', () => { Step 1 Title, content:
, }, { - label: 'Step 3 Title (done)', + label: Step 3 Title (done), content:
, }, ]} @@ -83,7 +83,7 @@ describe('Stepper', () => { Step 1 Title, content:
, }, ]} diff --git a/packages/core/src/Stepper/index.tsx b/packages/core/src/Stepper/index.tsx index 678eaefe..448da40d 100644 --- a/packages/core/src/Stepper/index.tsx +++ b/packages/core/src/Stepper/index.tsx @@ -18,7 +18,7 @@ const StepperWrapper = styled(Paper)` box-shadow: none; ` -export { StepContent, StepperAction } from './Step' +export { StepContent, StepperAction, StepLabel } from './Step' type BaseElement = HTMLDivElement type BaseProps = HTMLAttributes diff --git a/packages/docs/src/mdx/coreComponents/Stepper.mdx b/packages/docs/src/mdx/coreComponents/Stepper.mdx index b74911c4..d69a8ce4 100644 --- a/packages/docs/src/mdx/coreComponents/Stepper.mdx +++ b/packages/docs/src/mdx/coreComponents/Stepper.mdx @@ -10,6 +10,7 @@ import { Typography, RadioButtonGroupField, Stepper, + StepLabel, } from 'practical-react-components-core' # Stepper @@ -35,7 +36,7 @@ export const DemoComponent = ({}) => { className="my-stepper" steps={[ { - label: 'Step 1 Title', + label: Step 1 Title, content: (
{ className: 'my-step', }, { - label: 'Step 2 Title', + label: Step 2 Title, content: (
@@ -58,7 +59,7 @@ export const DemoComponent = ({}) => { ), }, { - label: 'Step 3 Title (done)', + label: Step 3 Title (done), content: ( You are now done ), @@ -92,7 +93,7 @@ export const DemoComponent = ({}) => { Step 1 Title, content: (
{ ), }, { - label: 'Step 2 Title', + label: Step 2 Title, content: (
@@ -117,7 +118,7 @@ export const DemoComponent = ({}) => { ), }, { - label: 'Step 3 Title (done)', + label: Step 3 Title (done), content: ( You are now done ),