Skip to content

Commit ebfd2e4

Browse files
committed
Refactor: Extract table to separate component
1 parent 08f4b91 commit ebfd2e4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+1705
-1893
lines changed

examples/customised/styleguide.config.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,6 @@ module.exports = {
4949
alias: {
5050
// Override Styleguidist components
5151
'rsg-components/Logo': path.join(__dirname, 'styleguide/components/Logo'),
52-
'rsg-components/ReactComponent/ReactComponentRenderer': path.join(
53-
__dirname,
54-
'styleguide/components/ReactComponentRenderer'
55-
),
5652
'rsg-components/StyleGuide/StyleGuideRenderer': path.join(
5753
__dirname,
5854
'styleguide/components/StyleGuide'

examples/customised/styleguide/components/ReactComponentRenderer.js

Lines changed: 0 additions & 157 deletions
This file was deleted.

examples/sections/styleguide.config.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ module.exports = {
2929
performance: env === 'development'
3030
? false
3131
: {
32-
maxAssetSize: 650000, // bytes
33-
maxEntrypointSize: 650000, // bytes
32+
maxAssetSize: 670000, // bytes
33+
maxEntrypointSize: 670000, // bytes
3434
hints: 'error',
3535
},
3636
}),
Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,43 @@
11
import React from 'react';
2-
import { ArgumentRenderer } from './ArgumentRenderer';
2+
import { ArgumentRenderer, styles } from './ArgumentRenderer';
33

44
const name = 'Foo';
55
const type = { name: 'Array' };
66
const description = 'Converts foo to bar';
7+
const props = {
8+
classes: classes(styles),
9+
};
710

8-
it('renderer should render argument', () => {
11+
it('should render argument', () => {
912
const actual = shallow(
10-
<ArgumentRenderer classes={{}} name={name} type={type} description={description} />
13+
<ArgumentRenderer {...props} name={name} type={type} description={description} />
1114
);
1215

1316
expect(actual).toMatchSnapshot();
1417
});
1518

16-
it('renderer should render argument without type', () => {
17-
const actual = shallow(<ArgumentRenderer classes={{}} name={name} description={description} />);
19+
it('should render argument without type', () => {
20+
const actual = shallow(<ArgumentRenderer {...props} name={name} description={description} />);
1821

1922
expect(actual).toMatchSnapshot();
2023
});
2124

22-
it('renderer should render argument without description', () => {
23-
const actual = shallow(<ArgumentRenderer classes={{}} name={name} type={type} />);
25+
it('should render argument without description', () => {
26+
const actual = shallow(<ArgumentRenderer {...props} name={name} type={type} />);
2427

2528
expect(actual).toMatchSnapshot();
2629
});
2730

28-
it('renderer should render return value', () => {
31+
it('should render return value', () => {
2932
const actual = shallow(
30-
<ArgumentRenderer classes={{}} type={type} description={description} returns />
33+
<ArgumentRenderer {...props} type={type} description={description} returns />
3134
);
3235

3336
expect(actual).toMatchSnapshot();
3437
});
38+
39+
it('should render with block styles', () => {
40+
const actual = shallow(<ArgumentRenderer {...props} block />);
41+
42+
expect(actual).toMatchSnapshot();
43+
});

src/rsg-components/Argument/ArgumentRenderer.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,26 @@ import React from 'react';
22
import PropTypes from 'prop-types';
33
import Styled from 'rsg-components/Styled';
44
import Markdown from 'rsg-components/Markdown';
5-
import Code from 'rsg-components/Code';
65
import Name from 'rsg-components/Name';
6+
import Type from 'rsg-components/Type';
77
import Group from 'react-group';
88

9-
export const styles = ({ color }) => ({
10-
type: {
11-
fontSize: 'inherit',
12-
color: color.type,
9+
export const styles = ({ space }) => ({
10+
block: {
11+
marginBottom: space[2],
1312
},
1413
});
1514

16-
export function ArgumentRenderer({ classes, name, type, description, returns, ...props }) {
15+
export function ArgumentRenderer({ classes, name, type, description, returns, block, ...props }) {
1716
return (
18-
<Group {...props}>
17+
<Group className={block && classes.block} {...props}>
1918
{returns && 'Returns'}
2019
{name &&
2120
<span>
22-
<Name name={name} />
21+
<Name>{name}</Name>
2322
{type && ':'}
2423
</span>}
25-
{type && <Code className={classes.type}>{type.name}</Code>}
24+
{type && <Type>{type.name}</Type>}
2625
{description && <Markdown text={`— ${description}`} inline />}
2726
</Group>
2827
);
@@ -34,6 +33,7 @@ ArgumentRenderer.propTypes = {
3433
type: PropTypes.object,
3534
description: PropTypes.string,
3635
returns: PropTypes.bool,
36+
block: PropTypes.bool,
3737
};
3838

3939
export default Styled(styles)(ArgumentRenderer);
Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,49 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

3-
exports[`renderer should render argument 1`] = `
3+
exports[`should render argument 1`] = `
44
<Group
55
separator=" "
66
>
77
<span>
8-
<Styled(Name)
9-
name="Foo"
10-
/>
8+
<Styled(Name)>
9+
Foo
10+
</Styled(Name)>
1111
:
1212
</span>
13-
<Styled(Code)>
13+
<Styled(Type)>
1414
Array
15-
</Styled(Code)>
15+
</Styled(Type)>
1616
<Styled(Markdown)
1717
inline={true}
1818
text="— Converts foo to bar"
1919
/>
2020
</Group>
2121
`;
2222

23-
exports[`renderer should render argument without description 1`] = `
23+
exports[`should render argument without description 1`] = `
2424
<Group
2525
separator=" "
2626
>
2727
<span>
28-
<Styled(Name)
29-
name="Foo"
30-
/>
28+
<Styled(Name)>
29+
Foo
30+
</Styled(Name)>
3131
:
3232
</span>
33-
<Styled(Code)>
33+
<Styled(Type)>
3434
Array
35-
</Styled(Code)>
35+
</Styled(Type)>
3636
</Group>
3737
`;
3838

39-
exports[`renderer should render argument without type 1`] = `
39+
exports[`should render argument without type 1`] = `
4040
<Group
4141
separator=" "
4242
>
4343
<span>
44-
<Styled(Name)
45-
name="Foo"
46-
/>
44+
<Styled(Name)>
45+
Foo
46+
</Styled(Name)>
4747
</span>
4848
<Styled(Markdown)
4949
inline={true}
@@ -52,17 +52,24 @@ exports[`renderer should render argument without type 1`] = `
5252
</Group>
5353
`;
5454

55-
exports[`renderer should render return value 1`] = `
55+
exports[`should render return value 1`] = `
5656
<Group
5757
separator=" "
5858
>
5959
Returns
60-
<Styled(Code)>
60+
<Styled(Type)>
6161
Array
62-
</Styled(Code)>
62+
</Styled(Type)>
6363
<Styled(Markdown)
6464
inline={true}
6565
text="— Converts foo to bar"
6666
/>
6767
</Group>
6868
`;
69+
70+
exports[`should render with block styles 1`] = `
71+
<Group
72+
className="block"
73+
separator=" "
74+
/>
75+
`;

0 commit comments

Comments
 (0)