Skip to content

Commit aa445e2

Browse files
committed
Merge pull request #106 from TechnologyAdvice/feature/buttons-component
Feature/buttons component
2 parents e6dfbff + a424d06 commit aa445e2

File tree

9 files changed

+135
-1
lines changed

9 files changed

+135
-1
lines changed

docs/app/Examples/elements/Button/ButtonExamples.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import React, {Component} from 'react';
22
import ButtonTypesExamples from './Types/ButtonTypesExamples';
3+
import ButtonGroupsExamples from './Groups/ButtonGroupsExamples';
4+
import ButtonContentExamples from './Content/ButtonContentExamples';
35
import ButtonStatesExamples from './States/ButtonStatesExamples';
46
import ButtonsVariationsExamples from './Variations/ButtonsVariationsExamples';
57

@@ -8,6 +10,8 @@ export default class ButtonExamples extends Component {
810
return (
911
<div>
1012
<ButtonTypesExamples />
13+
<ButtonGroupsExamples />
14+
<ButtonContentExamples />
1115
<ButtonStatesExamples />
1216
<ButtonsVariationsExamples />
1317
</div>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import React, {Component} from 'react';
2+
import {Buttons, Button} from 'stardust';
3+
4+
export default class ButtonConditionalsExample extends Component {
5+
render() {
6+
return (
7+
<Buttons>
8+
<Button>Cancel</Button>
9+
<div className='or' />
10+
<Button className='positive'>Save</Button>
11+
</Buttons>
12+
);
13+
}
14+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import React, {Component} from 'react';
2+
import ComponentExample from 'docs/app/Components/ComponentDoc/ComponentExample';
3+
import ExampleSection from 'docs/app/Components/ComponentDoc/ExampleSection';
4+
import {Message} from 'stardust';
5+
6+
export default class ButtonContentExamples extends Component {
7+
render() {
8+
return (
9+
<ExampleSection title='Content'>
10+
<ComponentExample
11+
title='Conditionals'
12+
description='Button groups can contain conditionals'
13+
examplePath='elements/Button/Content/ButtonConditionalsExample'
14+
>
15+
<Message className='warning'>
16+
Or buttons can have their text localized, or adjusted by using the data-text attribute.
17+
If the size of the conditional changes you will need to adjust @orCircleSize.
18+
</Message>
19+
</ComponentExample>
20+
</ExampleSection>
21+
);
22+
}
23+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import React, {Component} from 'react';
2+
import {Buttons, Button} from 'stardust';
3+
4+
export default class ButtonButtonsExample extends Component {
5+
render() {
6+
return (
7+
<Buttons>
8+
<Button>One</Button>
9+
<Button>Two</Button>
10+
<Button>Three</Button>
11+
</Buttons>
12+
);
13+
}
14+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import React, {Component} from 'react';
2+
import ComponentExample from 'docs/app/Components/ComponentDoc/ComponentExample';
3+
import ExampleSection from 'docs/app/Components/ComponentDoc/ExampleSection';
4+
5+
export default class ButtonGroupsExamples extends Component {
6+
render() {
7+
return (
8+
<ExampleSection title='Groups'>
9+
<ComponentExample
10+
title='Buttons'
11+
description='Buttons can exist together as a group'
12+
examplePath='elements/Button/Groups/ButtonButtonsExample'
13+
/>
14+
<ComponentExample
15+
title='Icon Buttons'
16+
description='Button groups can show groups of icons'
17+
examplePath='elements/Button/Groups/ButtonIconButtonsExample'
18+
/>
19+
</ExampleSection>
20+
);
21+
}
22+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import React, {Component} from 'react';
2+
import {Buttons, Button} from 'stardust';
3+
4+
export default class ButtonIconButtonsExample extends Component {
5+
render() {
6+
return (
7+
<Buttons>
8+
<Button className='icon'>
9+
<i className='save icon' />
10+
</Button>
11+
<Button className='icon'>
12+
<i className='delete icon' />
13+
</Button>
14+
<Button className='icon'>
15+
<i className='edit icon' />
16+
</Button>
17+
</Buttons>
18+
);
19+
}
20+
}

src/elements/Button/Buttons.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import React, {Component, PropTypes} from 'react';
2+
import classNames from 'classnames';
3+
import META from 'src/utils/Meta';
4+
5+
export default class Buttons extends Component {
6+
static propTypes = {
7+
children: PropTypes.node,
8+
className: PropTypes.string,
9+
};
10+
11+
static _meta = {
12+
library: META.library.semanticUI,
13+
name: 'Buttons',
14+
type: META.type.element,
15+
};
16+
17+
render() {
18+
const classes = classNames(
19+
'sd-buttons',
20+
'ui',
21+
this.props.className,
22+
'buttons'
23+
);
24+
return (
25+
<div {...this.props} className={classes}>
26+
{this.props.children}
27+
</div>
28+
);
29+
}
30+
}

src/elements/List/List.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,12 @@ export default class List extends Component {
1515
};
1616

1717
render() {
18-
const classes = classNames('sd-list', 'ui', this.props.className, 'list');
18+
const classes = classNames(
19+
'sd-list',
20+
'ui',
21+
this.props.className,
22+
'list'
23+
);
1924
return (
2025
<div {...this.props} className={classes}>
2126
{this.props.children}

src/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import TableColumn from 'src/collections/Table/TableColumn';
1717

1818
// Elements
1919
import Button from 'src/elements/Button/Button';
20+
import Buttons from 'src/elements/Button/Buttons';
2021
import Container from 'src/elements/Container/Container';
2122
import Image from 'src/elements/Image/Image';
2223
import Input from 'src/elements/Input/Input';
@@ -56,6 +57,7 @@ export default {
5657

5758
// Elements
5859
Button,
60+
Buttons,
5961
Container,
6062
Image,
6163
Input,

0 commit comments

Comments
 (0)