libs/@guardian/react-crossword/src/components/Clues.stories.tsx (44 lines of code) (raw):
import type { Meta, StoryObj } from '@storybook/react';
import { groupedClues as data } from '../../stories/formats/grouped-clues';
import { progress } from '../../stories/formats/grouped-clues.progress';
import { ContextProvider } from '../context/ContextProvider';
import { ValidAnswersProvider } from '../context/ValidAnswers';
import { defaultTheme } from '../theme';
import { Clues } from './Clues';
const meta: Meta<typeof Clues> = {
component: Clues,
title: 'Components/Clues',
args: {
direction: 'across',
},
decorators: [
(Story) => {
localStorage.removeItem(`crosswords.${data.id}`);
return (
<ContextProvider
data={data}
userProgress={progress}
theme={defaultTheme}
>
<Story />
</ContextProvider>
);
},
(Story) => (
<div role="application">
<Story />
</div>
),
],
};
export default meta;
type Story = StoryObj<typeof Clues>;
export const Default: Story = {};
export const WithSuccess: Story = {
decorators: [
(Story) => (
<ContextProvider data={data} userProgress={progress} theme={defaultTheme}>
<ValidAnswersProvider validAnswers={new Set(['7-across'])}>
<Story />
</ValidAnswersProvider>
</ContextProvider>
),
],
};