import React, { ReactNode } from 'react'; import Button from './Button'; import { storiesOf } from '@storybook/react'; import styled from 'styled-components'; import { MemoryRouter } from 'react-router-dom'; import AddButton from './AddButton'; import CreateButton from './CreateButton'; import DeleteButton from './DeleteButton'; import DownloadButton from './DownloadButton'; import EditButton from './EditButton'; import SubmitButton from './SubmitButton'; const colors = [ 'primary', 'link', 'info', 'success', 'warning', 'danger', 'white', 'light', 'dark', 'black', 'text', ]; const Spacing = styled.div` padding: 1em; `; const RoutingDecorator = story => ( {story()} ); const SpacingDecorator = story => {story()}; storiesOf('Buttons|Button', module) .addDecorator(RoutingDecorator) .add('Colors', () => (
{colors.map(color => (
)) .add('Loading', () => ( )); const buttonStory = (name: string, storyFn: () => ReactNode) => { return storiesOf('Buttons|' + name, module) .addDecorator(RoutingDecorator) .addDecorator(SpacingDecorator) .add('Default', storyFn); }; buttonStory('AddButton', () => Add); buttonStory('CreateButton', () => Create); buttonStory('DeleteButton', () => Delete); buttonStory('DownloadButton', () => ( )); buttonStory('EditButton', () => Edit); buttonStory('SubmitButton', () => Submit);