add agnostic stories for addon-viewports

This commit is contained in:
Norbert de Langen 2022-09-01 20:53:27 +02:00
parent d1be76d6f1
commit 15d4a22348
No known key found for this signature in database
GPG Key ID: FD0E78AF9A837762
4 changed files with 52 additions and 119 deletions

View File

@ -0,0 +1,52 @@
import globalThis from 'global';
import { MINIMAL_VIEWPORTS } from '@storybook/addon-viewport';
export default {
component: globalThis.Components.Button,
args: {
children: 'Click Me!',
},
parameters: {
parameters: {
viewport: {
viewports: MINIMAL_VIEWPORTS,
},
},
chromatic: { disable: true },
},
};
export const Basic = {
parameters: {},
};
export const Selected = {
parameters: {
viewport: {
defaultViewport: Object.keys(MINIMAL_VIEWPORTS)[0],
},
},
};
export const Custom = {
parameters: {
viewports: {
viewports: {
phone: {
name: 'Phone Width',
styles: {
height: '600px',
width: '100vh',
},
type: 'mobile',
},
},
},
},
};
export const Disabled = {
parameters: {
viewports: { disable: true },
},
};

View File

@ -1,46 +0,0 @@
import React from 'react';
import { styled } from '@storybook/theming';
import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport';
const Panel = styled.div();
export default {
title: 'Addons/Viewport/Custom Default (Kindle Fire 2)',
parameters: {
viewport: {
viewports: {
...INITIAL_VIEWPORTS,
kindleFire2: {
name: 'Kindle Fire 2',
styles: {
width: '600px',
height: '963px',
},
},
},
},
},
};
export const Inherited = () => (
<Panel>
I've inherited <b>Kindle Fire 2</b> viewport from my parent.
</Panel>
);
export const OverriddenViaWithViewportParameterizedDecorator = () => (
<Panel>
I respect my parents but I should be looking good on <b>iPad</b>.
</Panel>
);
OverriddenViaWithViewportParameterizedDecorator.storyName =
'Overridden via "withViewport" parameterized decorator';
OverriddenViaWithViewportParameterizedDecorator.parameters = {
viewport: { defaultViewport: 'ipad' },
};
export const Disabled = () => <Panel>There should be no viewport selector in the toolbar</Panel>;
Disabled.parameters = {
viewport: { disable: true },
};

View File

@ -1,18 +0,0 @@
import React from 'react';
import { styled } from '@storybook/theming';
import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport';
const Panel = styled.div();
export default {
title: 'Addons/Viewport',
parameters: {
viewport: {
viewports: INITIAL_VIEWPORTS,
},
},
};
export const DefaultFn = () => (
<Panel>I don't have problems being rendered using the default viewport.</Panel>
);
DefaultFn.storyName = 'default';

View File

@ -1,55 +0,0 @@
import { html } from 'lit';
import type { Meta, StoryFn } from '@storybook/web-components';
import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport';
export default {
title: 'Addons / Viewport',
parameters: {
viewport: {
viewports: INITIAL_VIEWPORTS,
},
},
} as Meta;
const Template: StoryFn<{ title: string }> = (args) => html`<h2>${args.title}</h2>`;
export const Default = Template.bind({});
Default.args = {
title: 'Click on the viewports icon on toolbar to make the viewport change',
};
export const CustomViewports = Template.bind({});
CustomViewports.args = {
title: 'I am using a custom viewport for Kindle Fire 2',
};
CustomViewports.parameters = {
viewport: {
viewports: {
kindleFire2: {
name: 'Kindle Fire 2',
styles: {
width: '600px',
height: '963px',
},
},
},
defaultViewport: 'kindleFire2',
},
};
export const Overriden = Template.bind({});
Overriden.args = {
title: 'I have a different default viewport: ipad!',
};
Overriden.storyName = 'Overridden via "defaultViewport" parameter';
Overriden.parameters = {
viewport: { defaultViewport: 'ipad' },
};
export const Disabled = Template.bind({});
Disabled.args = {
title: 'I have disabled viewports addon',
};
Disabled.parameters = {
viewport: { disable: true },
};