Skip to content

Commit

Permalink
fix(projectcard): make numberAriaLabel optional but warn
Browse files Browse the repository at this point in the history
  • Loading branch information
jinlee93 authored Aug 12, 2022
2 parents dcb7714 + ea3c58b commit 43b369b
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 2 deletions.
11 changes: 11 additions & 0 deletions src/components/ProjectCard/ProjectCard.test.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
import { generateSnapshots } from '@chanzuckerberg/story-utils';
import { render } from '@testing-library/react';
import React from 'react';
import { ProjectCard } from './ProjectCard';
import * as stories from './ProjectCard.stories';

describe('<ProjectCard />', () => {
generateSnapshots(stories);

it('should warn if number is passed without numberAriaLabel', () => {
expect(() => {
render(<ProjectCard number={1} />);
}).toThrow(
/You must provide a "numberAriaLabel" for the number icon if a "number" has been passed/,
);
});
});
9 changes: 7 additions & 2 deletions src/components/ProjectCard/ProjectCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@ export interface Props {
*/
number?: number;
/**
* Number aria label
* Number aria label. Required if number prop is passed.
*/
numberAriaLabel: string;
numberAriaLabel?: string;
/**
* Property passed in to style draggable project card
*/
Expand All @@ -81,6 +81,11 @@ export const ProjectCard = ({
isDragging,
...other
}: Props) => {
if (number && !numberAriaLabel && process.env.NODE_ENV !== 'production') {
throw new Error(
'You must provide a "numberAriaLabel" for the number icon if a "number" has been passed',
);
}
const componentClassName = clsx(
styles['project-card'],
behavior === 'draggable' && styles['project-card--draggable'],
Expand Down

0 comments on commit 43b369b

Please sign in to comment.