Skip to content

Commit 9204f6c

Browse files
author
Hector Arce De Las Heras
committed
Add word for plural steps to StepperProgress component
1 parent b657b7d commit 9204f6c

File tree

5 files changed

+30
-6
lines changed

5 files changed

+30
-6
lines changed

src/components/stepperProgress/__test__/stepperProgress.test.tsx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,20 @@ const mockProps = {
1212
maxSteps: 10,
1313
currentStep: 3,
1414
variant: 'DEFAULT',
15+
prefixAriaLabel: {
16+
step: 'step',
17+
of: 'of',
18+
completed: 'completed',
19+
steps: 'steps',
20+
},
21+
};
22+
23+
const mockPropsDefault = {
24+
dataTestId: 'testId',
25+
ariaLabel: 'Content loading...',
26+
maxSteps: 10,
27+
currentStep: 3,
28+
variant: 'DEFAULT',
1529
};
1630

1731
describe('StepperProgress component', () => {
@@ -28,6 +42,13 @@ describe('StepperProgress component', () => {
2842
it('Should have a helper text', () => {
2943
renderProvider(<StepperProgress {...mockProps} />);
3044

45+
const helpTextContent = `${mockProps.currentStep} steps of ${mockProps.maxSteps} completed`;
46+
const helpText = screen.getByTestId(mockProps.dataTestId + 'HelpText');
47+
expect(helpText.textContent).toBe(helpTextContent);
48+
});
49+
it('Should have a defaulta configuration', () => {
50+
renderProvider(<StepperProgress {...mockPropsDefault} />);
51+
3152
const helpTextContent = `${mockProps.currentStep} steps of ${mockProps.maxSteps} completed`;
3253
const helpText = screen.getByTestId(mockProps.dataTestId + 'HelpText');
3354
expect(helpText.textContent).toBe(helpTextContent);

src/components/stepperProgress/stepperProgress.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
import * as React from 'react';
22

3-
import { STYLES_NAME } from '@/constants';
43
import { useStyles } from '@/hooks/useStyles/useStyles';
54
import { ErrorBoundary, FallbackComponent } from '@/provider/errorBoundary';
65

76
import { StepperProgressStandAlone } from './stepperProgressStandAlone';
87
import { IStepperProgress, IStepperProgressStandAlone, StepperProgressCommonProps } from './types';
98

9+
const STEPPER_PROGRESS_STYLES = 'STEPPER_PROGRESS_STYLES';
10+
1011
const StepperProgressComponent = React.forwardRef(
1112
<V extends string | unknown>(
1213
{ initialStep = 0, ctv, ...props }: IStepperProgress<V>,
1314
ref: React.ForwardedRef<HTMLDivElement> | undefined | null
1415
): JSX.Element => {
1516
const styles = useStyles<StepperProgressCommonProps, V>(
16-
STYLES_NAME.STEPPER_PROGRESS,
17+
STEPPER_PROGRESS_STYLES,
1718
props.variant,
1819
ctv
1920
);

src/components/stepperProgress/stepperProgressStandAlone.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ const StepperProgressStandAloneComponent = (
2828
step: 'step',
2929
of: 'of',
3030
completed: 'completed',
31+
steps: 'steps',
3132
},
3233
}: IStepperProgressStandAlone,
3334
ref: React.ForwardedRef<HTMLDivElement> | undefined | null
@@ -37,7 +38,7 @@ const StepperProgressStandAloneComponent = (
3738
const uniqueId = useId('stepperProgress');
3839
const stepperProgressId = id ?? uniqueId;
3940

40-
prefixAriaLabel.step = _currentStep === 1 ? 'step' : 'steps';
41+
prefixAriaLabel.step = _currentStep === 1 ? prefixAriaLabel.step : prefixAriaLabel.steps;
4142

4243
return (
4344
<StepperProgressContainerStyled ref={ref} styles={styles}>
@@ -56,9 +57,9 @@ const StepperProgressStandAloneComponent = (
5657
styles={styles}
5758
>
5859
<Text component={TextComponentType.SPAN} customTypography={styles.currentStep}>
59-
{`${_currentStep} ${prefixAriaLabel?.step} `}
60+
{`${_currentStep} ${prefixAriaLabel?.step || ''} `}
6061
<Text component={TextComponentType.SPAN} customTypography={styles.maxStep}>
61-
{`${prefixAriaLabel?.of} ${maxSteps} ${prefixAriaLabel?.completed}`}
62+
{`${prefixAriaLabel?.of || ''} ${maxSteps} ${prefixAriaLabel?.completed || ''}`}
6263
</Text>
6364
</Text>
6465
</StepperProgressHelpText>

src/components/stepperProgress/stories/stepperProgress.stories.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export const StepperProgress: Story = {
3030
step: 'step',
3131
of: 'of',
3232
completed: 'completed',
33+
steps: 'steps',
3334
},
3435
themeArgs: themesObject[themeSelected][STYLES_NAME.STEPPER_PROGRESS],
3536
},

src/components/stepperProgress/types/stepperProgress.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export interface IStepperProgressStandAlone extends IStepperProgressStyled {
1212
ariaLabel?: string;
1313
initialStep: number;
1414
maxSteps: number;
15-
prefixAriaLabel?: { step: string; of: string; completed?: 'completed' };
15+
prefixAriaLabel?: { step?: string; of?: string; completed?: string; steps?: string };
1616
currentStep: number;
1717
}
1818

0 commit comments

Comments
 (0)