Skip to content

Commit f21694c

Browse files
authored
Merge pull request #463 from data-driven-forms/scope-docs
Migrate docs to MUI and update component examples.
2 parents 3fdd2ce + 38aa588 commit f21694c

File tree

96 files changed

+1229
-1651
lines changed

Some content is hidden

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

96 files changed

+1229
-1651
lines changed

packages/mui-component-mapper/src/files/form-template.js

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,22 @@ import FormTemplate from '@data-driven-forms/common/src/form-template';
88
const useStyles = makeStyles(() => ({
99
buttonGroup: {
1010
display: 'flex',
11-
justifyContent: 'flex-end'
11+
justifyContent: 'flex-end',
12+
'&>button:not(last-child)': {
13+
marginLeft: 8
14+
}
1215
}
1316
}));
1417

15-
const Form = ({ children, ...props }) => <form {...props}>{children}</form>;
18+
const Form = ({ children, ...props }) => (
19+
<Grid item xs={12}>
20+
<form {...props}>
21+
<Grid container item spacing={2} xs={12}>
22+
{children}
23+
</Grid>
24+
</form>
25+
</Grid>
26+
);
1627

1728
Form.propTypes = {
1829
children: PropTypes.node
@@ -44,7 +55,11 @@ Title.propTypes = {
4455

4556
const ButtonGroup = ({ children }) => {
4657
const classes = useStyles();
47-
return <div className={classes.buttonGroup}>{children}</div>;
58+
return (
59+
<Grid item xs={12}>
60+
<div className={classes.buttonGroup}>{children}</div>
61+
</Grid>
62+
);
4863
};
4964

5065
ButtonGroup.propTypes = {

packages/react-renderer-demo/package.json

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,13 @@
2222
"dependencies": {
2323
"@babel/plugin-proposal-class-properties": "^7.2.3",
2424
"@data-driven-forms/mui-component-mapper": "*",
25-
"@data-driven-forms/pf3-component-mapper": "*",
26-
"@data-driven-forms/pf4-component-mapper": "*",
2725
"@data-driven-forms/react-form-renderer": "*",
2826
"@material-ui/core": "^4.5.2",
2927
"@material-ui/icons": "^4.5.1",
3028
"@material-ui/styles": "^4.5.2",
3129
"@mdx-js/loader": "^1.4.5",
3230
"@mdx-js/react": "^1.4.5",
3331
"@next/mdx": "^9.3.3",
34-
"@patternfly/patternfly-next": "^1.0.175",
35-
"@patternfly/react-core": "^3.153.13",
36-
"@patternfly/react-tokens": "^2.5.1",
3732
"brace": "^0.11.1",
3833
"clsx": "^1.0.4",
3934
"codesandbox": "2.1.14",
Lines changed: 1 addition & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,3 @@
1-
require.extensions['.css'] = () => undefined;
2-
const path = require('path');
3-
const glob = require('glob');
4-
5-
const mapper = {
6-
TextVariants: 'Text',
7-
ButtonVariant: 'Button',
8-
DropdownPosition: 'dropdownConstants',
9-
TextListVariants: 'TextList',
10-
TextListItemVariants: 'TextListItem'
11-
};
12-
13-
const createIconsTransformPlugin = [
14-
'transform-imports',
15-
{
16-
'@patternfly/react-icons': {
17-
transform: (importName) =>
18-
`@patternfly/react-icons/dist/js/icons/${importName
19-
.split(/(?=[A-Z])/)
20-
.join('-')
21-
.toLowerCase()}`,
22-
preventFullImport: true
23-
}
24-
}
25-
];
26-
27-
const createReactCoreTransformPlugin = [
28-
'transform-imports',
29-
{
30-
'@patternfly/react-core': {
31-
transform: (importName) => {
32-
let res;
33-
const files = glob.sync(
34-
path.resolve(__dirname, `../../node_modules/@patternfly/react-core/dist/js/**/${mapper[importName] || importName}.js`)
35-
);
36-
if (files.length > 0) {
37-
res = files[0];
38-
} else {
39-
throw new Error(`File with importName ${importName} does not exist`);
40-
}
41-
42-
res = res.replace(path.resolve(__dirname, '../../node_modules/'), '');
43-
res = res.replace(/^\//, '');
44-
return res;
45-
},
46-
preventFullImport: false,
47-
skipDefaultConversion: true
48-
}
49-
},
50-
'react-core-CJS'
51-
];
52-
531
const muiTransformPlugin = [
542
'transform-imports',
553
{
@@ -66,12 +14,7 @@ module.exports = {
6614
presets: [
6715
[
6816
'next/babel',
69-
{
70-
'transform-runtime': {
71-
useESModules: false
72-
}
73-
}
7417
]
7518
],
76-
plugins: [createIconsTransformPlugin, createReactCoreTransformPlugin, muiTransformPlugin]
19+
plugins: [muiTransformPlugin]
7720
};

packages/react-renderer-demo/src/app/examples/components/action-mapper.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import React from 'react';
22
import FormRenderer from '@data-driven-forms/react-form-renderer/dist/cjs/form-renderer';
33
import componentTypes from '@data-driven-forms/react-form-renderer/dist/cjs/component-types';
44

5-
import TextField from '@data-driven-forms/pf4-component-mapper/dist/cjs/text-field';
6-
import FormTemplate from '@data-driven-forms/pf4-component-mapper/dist/cjs/form-template';
5+
import TextField from '@data-driven-forms/mui-component-mapper/dist/cjs/text-field';
6+
import FormTemplate from '@data-driven-forms/mui-component-mapper/dist/cjs/form-template';
77

88
const translateLabel = (id, locale = 'en') =>
99
({
@@ -46,7 +46,7 @@ const actionMapper = {
4646
};
4747

4848
const ActionMapper = () => (
49-
<div className="pf4">
49+
<div>
5050
<FormRenderer FormTemplate={FormTemplate} actionMapper={actionMapper} componentMapper={componentMapper} schema={schema} onSubmit={console.log} />
5151
</div>
5252
);

packages/react-renderer-demo/src/app/examples/components/clear-on-unmount.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import React, { useState } from 'react';
22
import FormRenderer from '@data-driven-forms/react-form-renderer/dist/cjs/form-renderer';
33
import componentTypes from '@data-driven-forms/react-form-renderer/dist/cjs/component-types';
4-
import FormTemplate from '@data-driven-forms/pf4-component-mapper/dist/cjs/form-template';
5-
import TextField from '@data-driven-forms/pf4-component-mapper/dist/cjs/text-field';
6-
import { Title } from '@patternfly/react-core/dist/js/components/Title/Title';
4+
import FormTemplate from '@data-driven-forms/mui-component-mapper/dist/cjs/form-template';
5+
import TextField from '@data-driven-forms/mui-component-mapper/dist/cjs/text-field';
6+
import Typography from '@material-ui/core/Typography';
77

88
const componentMapper = {
99
[componentTypes.TEXT_FIELD]: TextField
@@ -44,7 +44,7 @@ const schema = {
4444
const ClearOnUnmount = () => {
4545
const [values, setValues] = useState({});
4646
return (
47-
<div className="pf4">
47+
<div>
4848
<FormRenderer
4949
FormTemplate={FormTemplate}
5050
componentMapper={componentMapper}
@@ -53,7 +53,9 @@ const ClearOnUnmount = () => {
5353
debug={({ values }) => setValues(values)}
5454
/>
5555
<div style={{ marginTop: 16 }}>
56-
<Title size="md">Form values</Title>
56+
<Typography component="h3" variant="h5">
57+
Form values
58+
</Typography>
5759
<pre>{JSON.stringify(values, null, 2)}</pre>
5860
</div>
5961
</div>

packages/react-renderer-demo/src/app/examples/components/cleared-value.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import React, { useState } from 'react';
22
import FormRenderer from '@data-driven-forms/react-form-renderer/dist/cjs/form-renderer';
33
import componentTypes from '@data-driven-forms/react-form-renderer/dist/cjs/component-types';
4-
import FormTemplate from '@data-driven-forms/pf4-component-mapper/dist/cjs/form-template';
5-
import TextField from '@data-driven-forms/pf4-component-mapper/dist/cjs/text-field';
6-
import { Title } from '@patternfly/react-core/dist/js/components/Title/Title';
4+
import FormTemplate from '@data-driven-forms/mui-component-mapper/dist/cjs/form-template';
5+
import TextField from '@data-driven-forms/mui-component-mapper/dist/cjs/text-field';
6+
import Typography from '@material-ui/core/Typography';
77

88
const schema = {
99
fields: [
@@ -27,7 +27,7 @@ const componentMapper = {
2727
const ClearedValueExample = () => {
2828
const [values, setValues] = useState({});
2929
return (
30-
<div className="pf4">
30+
<div>
3131
<FormRenderer
3232
initialValues={{
3333
'field-with-initial-value': 'Delete me!'
@@ -40,7 +40,9 @@ const ClearedValueExample = () => {
4040
debug={({ values }) => setValues(values)}
4141
/>
4242
<div style={{ marginTop: 16 }}>
43-
<Title size="md">Form values</Title>
43+
<Typography component="h3" variant="h5">
44+
Form values
45+
</Typography>
4446
<pre>{JSON.stringify(values, null, 2)}</pre>
4547
</div>
4648
</div>

packages/react-renderer-demo/src/app/examples/components/component-mapper/form-fields-mapper-docs.css

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

packages/react-renderer-demo/src/app/examples/components/component-mapper/form-fields-mapper.js

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,35 @@ import componentTypes from '@data-driven-forms/react-form-renderer/dist/cjs/comp
55
import useFieldApi from '@data-driven-forms/react-form-renderer/dist/cjs/use-field-api';
66
import useFormApi from '@data-driven-forms/react-form-renderer/dist/cjs/use-form-api';
77

8-
import './form-fields-mapper-docs.css';
8+
const formGroupStyle = {
9+
display: 'flex',
10+
flexDirection: 'column',
11+
marginBottom: 16
12+
};
13+
14+
const inputStyles = {
15+
width: '100%',
16+
padding: '12px 20px',
17+
margin: '8px 0',
18+
display: 'inline-block',
19+
border: '1px solid #ccc',
20+
borderRadius: 4,
21+
boxSizing: 'border-box'
22+
};
23+
24+
const paragraphStyle = {
25+
marginTop: 0,
26+
marginBottom: 4
27+
};
28+
29+
const requiredStyle = {
30+
color: 'red',
31+
marginLeft: 2
32+
};
33+
34+
const errorStyle = {
35+
color: 'orangered'
36+
};
937

1038
const getButtonStyle = (variant) => ({
1139
color: 'White',
@@ -51,11 +79,20 @@ const TextField = (props) => {
5179
...rest
5280
} = useFieldApi(props);
5381
return (
54-
<div className={`ddorg__demo-formGroup ${isRequired ? 'required' : ''} ${error ? 'error' : ''}`}>
55-
<label htmlFor={input.name}>{label}</label>
56-
<input id={input.name} {...input} {...rest} />
57-
{touched && error && <p className="error-text">{error}</p>}
58-
{customProp && <p>This is a custom prop and has nothing to do with form schema</p>}
82+
<div
83+
style={{
84+
...formGroupStyle,
85+
...(isRequired && requiredStyle),
86+
...(error && touched && errorStyle)
87+
}}
88+
>
89+
<label style={{ color: 'initial' }} htmlFor={input.name}>
90+
{isRequired && <span style={errorStyle}>*&nbsp;</span>}
91+
{label}
92+
</label>
93+
<input style={inputStyles} id={input.name} {...input} {...rest} />
94+
{touched && error && <p style={paragraphStyle}>{error}</p>}
95+
{customProp && <p style={{ color: 'initial' }}>This is a custom prop and has nothing to do with form schema</p>}
5996
</div>
6097
);
6198
};

packages/react-renderer-demo/src/app/examples/components/condition.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ import React from 'react';
22
import FormRenderer from '@data-driven-forms/react-form-renderer/dist/cjs/form-renderer';
33
import componentTypes from '@data-driven-forms/react-form-renderer/dist/cjs/component-types';
44

5-
import TextField from '@data-driven-forms/pf4-component-mapper/dist/cjs/text-field';
6-
import FormTemplate from '@data-driven-forms/pf4-component-mapper/dist/cjs/form-template';
7-
import Checkbox from '@data-driven-forms/pf4-component-mapper/dist/cjs/checkbox';
8-
import PlainText from '@data-driven-forms/pf4-component-mapper/dist/cjs/plain-text';
5+
import TextField from '@data-driven-forms/mui-component-mapper/dist/cjs/text-field';
6+
import FormTemplate from '@data-driven-forms/mui-component-mapper/dist/cjs/form-template';
7+
import Checkbox from '@data-driven-forms/mui-component-mapper/dist/cjs/checkbox';
8+
import PlainText from '@data-driven-forms/mui-component-mapper/dist/cjs/plain-text';
99

1010
const schema = {
1111
title: 'Example of conditions',
@@ -88,7 +88,7 @@ const componentMapper = {
8888
const FormTemplateWrapper = (props) => <FormTemplate {...props} showFormControls={false} />;
8989

9090
const Condition = () => (
91-
<div className="pf4">
91+
<div>
9292
<FormRenderer FormTemplate={FormTemplateWrapper} componentMapper={componentMapper} schema={schema} onSubmit={console.log} />
9393
</div>
9494
);

0 commit comments

Comments
 (0)