File tree Expand file tree Collapse file tree 4 files changed +101
-0
lines changed Expand file tree Collapse file tree 4 files changed +101
-0
lines changed Original file line number Diff line number Diff line change 1+ import React from 'react' ;
2+ import { action } from '@storybook/addon-actions' ;
3+ import { boolean , text } from '@storybook/addon-knobs' ;
4+
5+ import Button from '.' ;
6+
7+ export default {
8+ title : 'Common/Button (JS)' ,
9+ component : Button
10+ } ;
11+
12+ export const AllFeatures = ( ) => (
13+ < Button
14+ disabled = { boolean ( 'disabled' , false ) }
15+ type = "submit"
16+ label = { text ( 'label' , 'submit' ) }
17+ >
18+ { text ( 'children' , 'this is the button' ) }
19+ </ Button >
20+ ) ;
21+
22+ export const SubmitButton = ( ) => (
23+ < Button type = "submit" label = "submit" > This is a submit button</ Button >
24+ ) ;
25+
26+ export const PrimaryButton = ( ) => < Button label = "login" onClick = { action ( 'onClick' ) } > Log In</ Button > ;
27+
28+ export const DisabledButton = ( ) => < Button disabled label = "login" onClick = { action ( 'onClick' ) } > Log In</ Button > ;
Original file line number Diff line number Diff line change 1+ import { Meta , Story , Preview } from ' @storybook/addon-docs/blocks' ;
2+ import { action } from ' @storybook/addon-actions' ;
3+ import { boolean , text } from ' @storybook/addon-knobs' ;
4+
5+ import Button from ' ./' ;
6+
7+ <Meta title = " Common/Button (MDX)" component = { Button } />
8+
9+ # Button
10+
11+ A button is used to perform an action.
12+
13+ <Preview >
14+ <Story name = " All features" >
15+ <Button
16+ disabled = { boolean (' disabled' , false )}
17+ type = " submit"
18+ label = { text (' label' , ' submit' )}
19+ >
20+ { text (' children' , ' this is the button' )}
21+ </Button >
22+ </Story >
23+ <Story name = " Submit button" >
24+ <Button type = " submit" label = " submit" onClick = { action (' onClick' )} >This is a submit button</Button >
25+ </Story >
26+ <Story name = " Primary button" >
27+ <Button label = " Log In" onClick = { action (' onClick' )} >Log In</Button >
28+ </Story >
29+ <Story name = " Disabled" >
30+ <Button disabled label = " Log In" onClick = { action (' onClick' )} >Log In</Button >
31+ </Story >
32+ </Preview >
Original file line number Diff line number Diff line change 1+ import React from "react" ;
2+ import PropTypes from "prop-types" ;
3+ import styled from 'styled-components' ;
4+
5+ const StyledButton = styled . button `
6+ margin: 0;
7+ padding: 0;
8+ border: none;
9+ background: none;
10+ ` ;
11+
12+ /**
13+ * This text will be used for the description in the story
14+ */
15+ const Button = ( { children, label, ...props } ) => {
16+ return < StyledButton aria-label = { label } { ...props } > { children } </ StyledButton > ;
17+ }
18+
19+ Button . propTypes = {
20+ /**
21+ * The visible part of the button
22+ */
23+ children : PropTypes . element . isRequired ,
24+ /**
25+ If the button can be clicked or not
26+ */
27+ disabled : PropTypes . boolean ,
28+ /*
29+ * An ARIA Label used for accessibility
30+ */
31+ label : PropTypes . string . isRequired ,
32+ } ;
33+
34+ export default Button ;
Original file line number Diff line number Diff line change 1+ import { Meta } from ' @storybook/addon-docs/blocks' ;
2+
3+ <Meta title = " |Intro" />
4+
5+ # Welcome to the P5.js Web Editor Style Guide
6+
7+ This guide will contain all the components in the project, with examples of how they can be reused.
You can’t perform that action at this time.
0 commit comments