import React from 'react';
import {
Title,
Subtitle,
Description,
Primary,
Props,
Stories,
} from '@storybook/addon-docs/blocks';
import { DocgenButton } from '../../components/DocgenButton';
import BaseButton from '../../components/BaseButton';
import { ButtonGroup, SubGroup } from '../../components/ButtonGroup';
export default {
title: 'Addons/Docs/stories docs blocks',
component: DocgenButton,
parameters: {
docs: {
page: () => (
<>
>
),
},
},
};
export const defDocsPage = () => Default docs page
;
export const smallDocsPage = () => Just primary story,
;
smallDocsPage.story = {
parameters: {
docs: {
page: () => (
<>
>
),
},
},
};
export const checkBoxProps = () => Primary props displayed with a check box
;
checkBoxProps.story = {
parameters: {
docs: {
page: () => {
const [showProps, setShowProps] = React.useState(false);
return (
<>
{showProps && }
>
);
},
},
},
};
export const customLabels = () => Display custom title, Subtitle, Description
;
customLabels.story = {
parameters: {
docs: {
page: () => (
<>
Custom title
Custom sub title
Custom description
>
),
},
},
};
export const customStoriesFilter = () => Displays ALL stories (not excluding first one)
;
customStoriesFilter.story = {
parameters: {
docs: {
page: () => (
<>
stories} />
>
),
},
},
};
export const descriptionSlot = () => Adds markdown to the description
;
descriptionSlot.story = {
parameters: {
docs: {
page: () => (
<>
`${description}`} />
>
),
},
},
};
export const multipleComponents = () => (
);
multipleComponents.story = {
name: 'Many Components',
parameters: {
component: ButtonGroup,
subcomponents: {
SubGroup,
'Docgen Button': DocgenButton,
'Base Button': BaseButton,
},
docs: {
page: () => (
<>
stories.find(story => story.story === 'Many Components')} />
>
),
},
},
};
export const componentsProps = () => Display multiple prop tables in tabs
;
componentsProps.story = {
subcomponents: {
'Docgen Button': DocgenButton,
'Base Button': BaseButton,
},
parameters: {
docs: {
page: () => (
<>
Multiple prop tables
Here's what happens when your component has some related components
>
),
},
},
};