Skip to content

Commit ee89169

Browse files
authored
test(components-react): add visual baseline section (#346)
1 parent 7d6a8bd commit ee89169

File tree

3 files changed

+47
-3
lines changed

3 files changed

+47
-3
lines changed

packages/storybook/config/preview.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ const preview: Preview = {
5353
name: 'default',
5454
value: 'var(--lux-color-background-default)',
5555
},
56+
{
57+
name: 'canvas',
58+
value: 'var(--lux-color-canvas)',
59+
},
5660
{
5761
/*
5862
Deliberately provide a background which we'd never use in production.
@@ -65,7 +69,7 @@ const preview: Preview = {
6569
{
6670
name: 'transparent',
6771
value:
68-
'fixed repeating-conic-gradient(#CCC 0% 25%, var(--lux-color-background-default) 0% 50%) 50% / 20px 20px',
72+
'fixed repeating-conic-gradient(#EFEFEF 0% 25%, var(--lux-color-background-default) 0% 50%) 50% / 20px 20px',
6973
},
7074
{
7175
name: 'light',

packages/storybook/src/react-components/section/section.stories.tsx

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
import {
22
LuxHeading1,
3+
LuxHeading2,
34
LuxParagraph,
45
type LuxSectionProps,
56
LuxSection as Section,
67
} from '@lux-design-system/components-react';
78
import tokens from '@lux-design-system/design-tokens/dist/index.json';
89
import type { Meta, StoryObj } from '@storybook/react';
910
import { type HTMLAttributes, type PropsWithChildren } from 'react';
11+
import { VisualStates } from './visual/States';
12+
import { createVisualRegressionStory, VisualRegressionWrapper } from '../../utils';
1013

1114
const LuxSection = (props: PropsWithChildren<LuxSectionProps> & HTMLAttributes<HTMLDivElement>) => (
1215
<Section {...props} />
@@ -18,7 +21,6 @@ const meta = {
1821
title: 'React Components/Section',
1922
id: 'react-components-section',
2023
component: LuxSection,
21-
subcomponents: {},
2224
parameters: {
2325
tokens,
2426
tokensPrefix: 'react-section',
@@ -56,7 +58,7 @@ export const Playground: Story = {
5658
</LuxParagraph>
5759
</div>,
5860
<div>
59-
<LuxHeading1>Morbi commodo</LuxHeading1>
61+
<LuxHeading2>Morbi commodo</LuxHeading2>
6062
<LuxParagraph>
6163
Morbi commodo augue eget consequat tempus. Nulla scelerisque cursus fermentum. Aenean placerat ligula libero,
6264
sit amet malesuada neque maximus et. Phasellus at massa nulla. Quisque sagittis tempor ante, quis sollicitudin
@@ -70,9 +72,25 @@ export const Playground: Story = {
7072
],
7173
},
7274
parameters: {
75+
backgrounds: {
76+
default: 'canvas',
77+
},
7378
docs: {
7479
sourceState: 'shown',
7580
},
7681
},
7782
tags: ['!autodocs'],
7883
};
84+
85+
export const Visual = createVisualRegressionStory(() => (
86+
<>
87+
<h4 className="utrecht-heading-3">Light</h4>
88+
<VisualRegressionWrapper className="lux-theme--logius-light">
89+
<VisualStates />
90+
</VisualRegressionWrapper>
91+
<h4 className="utrecht-heading-3">Dark</h4>
92+
<VisualRegressionWrapper className="lux-theme--logius-dark">
93+
<VisualStates />
94+
</VisualRegressionWrapper>
95+
</>
96+
));
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { LuxHeading1, LuxHeading2, LuxParagraph, LuxSection } from '@lux-design-system/components-react';
2+
3+
export const VisualStates = () => (
4+
<LuxSection>
5+
<LuxHeading1>Lorem ipsum</LuxHeading1>
6+
<LuxParagraph>
7+
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Dolor ante id varius, aenean eu faucibus vitae
8+
malesuada. Viverra malesuada aliquam et placerat justo porta ipsum parturient. Cursus nostra varius efficitur
9+
lobortis aliquam lectus bibendum.
10+
</LuxParagraph>
11+
<LuxHeading2>Morbi commodo</LuxHeading2>
12+
<LuxParagraph>
13+
Morbi commodo augue eget consequat tempus. Nulla scelerisque cursus fermentum. Aenean placerat ligula libero, sit
14+
amet malesuada neque maximus et. Phasellus at massa nulla. Quisque sagittis tempor ante, quis sollicitudin nisi
15+
vulputate eu. Curabitur eget ante a orci efficitur commodo. Fusce lobortis laoreet tincidunt. Nam a massa quis
16+
risus vestibulum vulputate nec eget erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per
17+
inceptos himenaeos. Curabitur finibus semper congue. Integer in nulla venenatis quam luctus accumsan. Aliquam
18+
molestie tincidunt erat a tincidunt. Donec posuere et dolor sit amet euismod. Praesent dolor justo, aliquet quis
19+
nulla ac, ultrices dictum leo.
20+
</LuxParagraph>
21+
</LuxSection>
22+
);

0 commit comments

Comments
 (0)