@rjsf/mui 5.0.0-beta.1 → 5.0.0-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/dist/index.d.ts +60 -6
- package/dist/mui.cjs.development.js +189 -108
- package/dist/mui.cjs.development.js.map +1 -1
- package/dist/mui.cjs.production.min.js +1 -1
- package/dist/mui.cjs.production.min.js.map +1 -1
- package/dist/mui.esm.js +187 -106
- package/dist/mui.esm.js.map +1 -1
- package/dist/mui.umd.development.js +190 -109
- package/dist/mui.umd.development.js.map +1 -1
- package/dist/mui.umd.production.min.js +1 -1
- package/dist/mui.umd.production.min.js.map +1 -1
- package/package.json +11 -7
- package/dist/AddButton/AddButton.d.ts +0 -4
- package/dist/AddButton/index.d.ts +0 -2
- package/dist/ArrayFieldItemTemplate/ArrayFieldItemTemplate.d.ts +0 -3
- package/dist/ArrayFieldItemTemplate/index.d.ts +0 -2
- package/dist/ArrayFieldTemplate/ArrayFieldTemplate.d.ts +0 -3
- package/dist/ArrayFieldTemplate/index.d.ts +0 -2
- package/dist/BaseInputTemplate/BaseInputTemplate.d.ts +0 -3
- package/dist/BaseInputTemplate/index.d.ts +0 -2
- package/dist/CheckboxWidget/CheckboxWidget.d.ts +0 -3
- package/dist/CheckboxWidget/index.d.ts +0 -2
- package/dist/CheckboxesWidget/CheckboxesWidget.d.ts +0 -3
- package/dist/CheckboxesWidget/index.d.ts +0 -2
- package/dist/DateTimeWidget/DateTimeWidget.d.ts +0 -3
- package/dist/DateTimeWidget/index.d.ts +0 -2
- package/dist/DateWidget/DateWidget.d.ts +0 -3
- package/dist/DateWidget/index.d.ts +0 -2
- package/dist/DescriptionField/DescriptionField.d.ts +0 -3
- package/dist/DescriptionField/index.d.ts +0 -2
- package/dist/ErrorList/ErrorList.d.ts +0 -3
- package/dist/ErrorList/index.d.ts +0 -2
- package/dist/FieldTemplate/FieldTemplate.d.ts +0 -3
- package/dist/FieldTemplate/WrapIfAdditional.d.ts +0 -7
- package/dist/FieldTemplate/index.d.ts +0 -2
- package/dist/IconButton/IconButton.d.ts +0 -5
- package/dist/IconButton/index.d.ts +0 -2
- package/dist/MuiForm/MuiForm.d.ts +0 -4
- package/dist/MuiForm/index.d.ts +0 -2
- package/dist/ObjectFieldTemplate/ObjectFieldTemplate.d.ts +0 -3
- package/dist/ObjectFieldTemplate/index.d.ts +0 -2
- package/dist/RadioWidget/RadioWidget.d.ts +0 -3
- package/dist/RadioWidget/index.d.ts +0 -2
- package/dist/RangeWidget/RangeWidget.d.ts +0 -3
- package/dist/RangeWidget/index.d.ts +0 -2
- package/dist/SelectWidget/SelectWidget.d.ts +0 -3
- package/dist/SelectWidget/index.d.ts +0 -2
- package/dist/SubmitButton/SubmitButton.d.ts +0 -4
- package/dist/SubmitButton/index.d.ts +0 -2
- package/dist/Templates/Templates.d.ts +0 -20
- package/dist/Templates/index.d.ts +0 -2
- package/dist/TextareaWidget/TextareaWidget.d.ts +0 -3
- package/dist/TextareaWidget/index.d.ts +0 -2
- package/dist/Theme/Theme.d.ts +0 -3
- package/dist/Theme/index.d.ts +0 -2
- package/dist/TitleField/TitleField.d.ts +0 -3
- package/dist/TitleField/index.d.ts +0 -2
- package/dist/Widgets/Widgets.d.ts +0 -11
- package/dist/Widgets/index.d.ts +0 -2
package/README.md
CHANGED
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
<br />
|
|
9
9
|
<p align="center">
|
|
10
10
|
<a href="https://github.com/rjsf-team/react-jsonschema-form">
|
|
11
|
-
<img src="https://raw.githubusercontent.com/rjsf-team/react-jsonschema-form/
|
|
11
|
+
<img src="https://raw.githubusercontent.com/rjsf-team/react-jsonschema-form/7ebc86621d8df8c21f0c39bcca6d476f6f7a2051/packages/mui/logo.png" alt="Logo" width="120" height="120">
|
|
12
12
|
</a>
|
|
13
13
|
|
|
14
|
-
<h3 align="center">@rjsf/
|
|
14
|
+
<h3 align="center">@rjsf/mui</h3>
|
|
15
15
|
|
|
16
16
|
<p align="center">
|
|
17
17
|
Material UI 5 theme, fields and widgets for <a href="https://github.com/rjsf-team/react-jsonschema-form/"><code>react-jsonschema-form</code></a>.
|
|
@@ -30,12 +30,14 @@
|
|
|
30
30
|
<!-- TABLE OF CONTENTS -->
|
|
31
31
|
|
|
32
32
|
## Table of Contents
|
|
33
|
-
|
|
33
|
+
- [Table of Contents](#table-of-contents)
|
|
34
34
|
- [About The Project](#about-the-project)
|
|
35
|
+
- [Built With](#built-with)
|
|
35
36
|
- [Getting Started](#getting-started)
|
|
36
37
|
- [Prerequisites](#prerequisites)
|
|
37
38
|
- [Installation](#installation)
|
|
38
39
|
- [Usage](#usage)
|
|
40
|
+
- [Material UI version 5](#material-ui-version-5)
|
|
39
41
|
- [Roadmap](#roadmap)
|
|
40
42
|
- [Contributing](#contributing)
|
|
41
43
|
- [Contact](#contact)
|
|
@@ -44,7 +46,7 @@
|
|
|
44
46
|
|
|
45
47
|
## About The Project
|
|
46
48
|
|
|
47
|
-
[![@rjsf/material-ui Screen Shot][product-screenshot]](https://rjsf-team.github.io/@rjsf/
|
|
49
|
+
[![@rjsf/material-ui Screen Shot][product-screenshot]](https://rjsf-team.github.io/@rjsf/mui)
|
|
48
50
|
|
|
49
51
|
Exports `material-ui` version 4 and 5 themes, fields and widgets for `react-jsonschema-form`.
|
|
50
52
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,60 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import { ComponentType } from 'react';
|
|
4
|
+
import { FormProps, ThemeProps } from '@rjsf/core';
|
|
5
|
+
import * as _rjsf_utils from '@rjsf/utils';
|
|
6
|
+
import { IconButtonProps, FieldErrorProps, FieldHelpProps } from '@rjsf/utils';
|
|
7
|
+
|
|
8
|
+
declare const MuiForm: ComponentType<FormProps>;
|
|
9
|
+
|
|
10
|
+
declare function MoveDownButton(props: IconButtonProps): JSX.Element;
|
|
11
|
+
declare function MoveUpButton(props: IconButtonProps): JSX.Element;
|
|
12
|
+
declare function RemoveButton(props: IconButtonProps): JSX.Element;
|
|
13
|
+
|
|
14
|
+
/** The `FieldErrorTemplate` component renders the errors local to the particular field
|
|
15
|
+
*
|
|
16
|
+
* @param props - The `FieldErrorProps` for the errors being rendered
|
|
17
|
+
*/
|
|
18
|
+
declare function FieldErrorTemplate(props: FieldErrorProps): JSX.Element | null;
|
|
19
|
+
|
|
20
|
+
/** The `FieldHelpTemplate` component renders any help desired for a field
|
|
21
|
+
*
|
|
22
|
+
* @param props - The `FieldHelpProps` to be rendered
|
|
23
|
+
*/
|
|
24
|
+
declare function FieldHelpTemplate(props: FieldHelpProps): JSX.Element | null;
|
|
25
|
+
|
|
26
|
+
declare const _default$1: {
|
|
27
|
+
ArrayFieldItemTemplate: (props: _rjsf_utils.ArrayFieldTemplateItemType<any, any>) => JSX.Element;
|
|
28
|
+
ArrayFieldTemplate: (props: _rjsf_utils.ArrayFieldTemplateProps<any, any>) => JSX.Element;
|
|
29
|
+
BaseInputTemplate: ({ id, placeholder, required, readonly, disabled, type, label, value, onChange, onBlur, onFocus, autofocus, options, schema, uiSchema, rawErrors, formContext, registry, ...textFieldProps }: _rjsf_utils.WidgetProps<any, any>) => JSX.Element;
|
|
30
|
+
ButtonTemplates: {
|
|
31
|
+
AddButton: react.ComponentType<_rjsf_utils.IconButtonProps<any, any>>;
|
|
32
|
+
MoveDownButton: typeof MoveDownButton;
|
|
33
|
+
MoveUpButton: typeof MoveUpButton;
|
|
34
|
+
RemoveButton: typeof RemoveButton;
|
|
35
|
+
SubmitButton: react.ComponentType<_rjsf_utils.SubmitButtonProps<any, any>>;
|
|
36
|
+
};
|
|
37
|
+
DescriptionFieldTemplate: ({ description, id }: _rjsf_utils.DescriptionFieldProps<any, any>) => JSX.Element | null;
|
|
38
|
+
ErrorListTemplate: ({ errors }: _rjsf_utils.ErrorListProps<any, any>) => JSX.Element;
|
|
39
|
+
FieldErrorTemplate: typeof FieldErrorTemplate;
|
|
40
|
+
FieldHelpTemplate: typeof FieldHelpTemplate;
|
|
41
|
+
FieldTemplate: ({ id, children, classNames, disabled, displayLabel, hidden, label, onDropPropertyClick, onKeyChange, readonly, required, rawErrors, errors, help, rawDescription, schema, uiSchema, registry, }: _rjsf_utils.FieldTemplateProps<any, any>) => JSX.Element;
|
|
42
|
+
ObjectFieldTemplate: ({ description, title, properties, required, disabled, readonly, uiSchema, idSchema, schema, formData, onAddClick, registry, }: _rjsf_utils.ObjectFieldTemplateProps<any, any>) => JSX.Element;
|
|
43
|
+
TitleFieldTemplate: ({ id, title }: _rjsf_utils.TitleFieldProps<any, any>) => JSX.Element;
|
|
44
|
+
WrapIfAdditionalTemplate: ({ children, classNames, disabled, id, label, onDropPropertyClick, onKeyChange, readonly, required, schema, uiSchema, registry, }: _rjsf_utils.WrapIfAdditionalTemplateProps<any, any>) => JSX.Element;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
declare const Theme: ThemeProps;
|
|
48
|
+
|
|
49
|
+
declare const _default: {
|
|
50
|
+
CheckboxWidget: (props: _rjsf_utils.WidgetProps<any, any>) => JSX.Element;
|
|
51
|
+
CheckboxesWidget: ({ schema, label, id, disabled, options, value, autofocus, readonly, required, onChange, onBlur, onFocus, }: _rjsf_utils.WidgetProps<any, any>) => JSX.Element;
|
|
52
|
+
DateWidget: (props: _rjsf_utils.WidgetProps<any, any>) => JSX.Element;
|
|
53
|
+
DateTimeWidget: (props: _rjsf_utils.WidgetProps<any, any>) => JSX.Element;
|
|
54
|
+
RadioWidget: ({ id, schema, options, value, required, disabled, readonly, label, onChange, onBlur, onFocus, }: _rjsf_utils.WidgetProps<any, any>) => JSX.Element;
|
|
55
|
+
RangeWidget: ({ value, readonly, disabled, onBlur, onFocus, options, schema, onChange, required, label, id, }: _rjsf_utils.WidgetProps<any, any>) => JSX.Element;
|
|
56
|
+
SelectWidget: ({ schema, id, options, label, required, disabled, readonly, value, multiple, autofocus, onChange, onBlur, onFocus, rawErrors, }: _rjsf_utils.WidgetProps<any, any>) => JSX.Element;
|
|
57
|
+
TextareaWidget: (props: _rjsf_utils.WidgetProps<any, any>) => JSX.Element;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
export { MuiForm as Form, _default$1 as Templates, Theme, _default as Widgets, MuiForm as default };
|
|
@@ -20,12 +20,12 @@ var ListItemText = require('@mui/material/ListItemText');
|
|
|
20
20
|
var ArrowDownwardIcon = require('@mui/icons-material/ArrowDownward');
|
|
21
21
|
var ArrowUpwardIcon = require('@mui/icons-material/ArrowUpward');
|
|
22
22
|
var RemoveIcon = require('@mui/icons-material/Remove');
|
|
23
|
-
var FormControl = require('@mui/material/FormControl');
|
|
24
23
|
var FormHelperText = require('@mui/material/FormHelperText');
|
|
25
|
-
var
|
|
26
|
-
var Input = require('@mui/material/OutlinedInput');
|
|
24
|
+
var FormControl = require('@mui/material/FormControl');
|
|
27
25
|
var Button = require('@mui/material/Button');
|
|
28
26
|
var Divider = require('@mui/material/Divider');
|
|
27
|
+
var InputLabel = require('@mui/material/InputLabel');
|
|
28
|
+
var Input = require('@mui/material/OutlinedInput');
|
|
29
29
|
var Checkbox = require('@mui/material/Checkbox');
|
|
30
30
|
var FormControlLabel = require('@mui/material/FormControlLabel');
|
|
31
31
|
var FormGroup = require('@mui/material/FormGroup');
|
|
@@ -53,12 +53,12 @@ var ListItemText__default = /*#__PURE__*/_interopDefaultLegacy(ListItemText);
|
|
|
53
53
|
var ArrowDownwardIcon__default = /*#__PURE__*/_interopDefaultLegacy(ArrowDownwardIcon);
|
|
54
54
|
var ArrowUpwardIcon__default = /*#__PURE__*/_interopDefaultLegacy(ArrowUpwardIcon);
|
|
55
55
|
var RemoveIcon__default = /*#__PURE__*/_interopDefaultLegacy(RemoveIcon);
|
|
56
|
-
var FormControl__default = /*#__PURE__*/_interopDefaultLegacy(FormControl);
|
|
57
56
|
var FormHelperText__default = /*#__PURE__*/_interopDefaultLegacy(FormHelperText);
|
|
58
|
-
var
|
|
59
|
-
var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
|
|
57
|
+
var FormControl__default = /*#__PURE__*/_interopDefaultLegacy(FormControl);
|
|
60
58
|
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
|
61
59
|
var Divider__default = /*#__PURE__*/_interopDefaultLegacy(Divider);
|
|
60
|
+
var InputLabel__default = /*#__PURE__*/_interopDefaultLegacy(InputLabel);
|
|
61
|
+
var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
|
|
62
62
|
var Checkbox__default = /*#__PURE__*/_interopDefaultLegacy(Checkbox);
|
|
63
63
|
var FormControlLabel__default = /*#__PURE__*/_interopDefaultLegacy(FormControlLabel);
|
|
64
64
|
var FormGroup__default = /*#__PURE__*/_interopDefaultLegacy(FormGroup);
|
|
@@ -68,7 +68,11 @@ var RadioGroup__default = /*#__PURE__*/_interopDefaultLegacy(RadioGroup);
|
|
|
68
68
|
var Slider__default = /*#__PURE__*/_interopDefaultLegacy(Slider);
|
|
69
69
|
var MenuItem__default = /*#__PURE__*/_interopDefaultLegacy(MenuItem);
|
|
70
70
|
|
|
71
|
-
const AddButton =
|
|
71
|
+
const AddButton = _ref => {
|
|
72
|
+
let {
|
|
73
|
+
uiSchema,
|
|
74
|
+
...props
|
|
75
|
+
} = _ref;
|
|
72
76
|
return /*#__PURE__*/React__default["default"].createElement(IconButton__default["default"], {
|
|
73
77
|
title: "Add Item",
|
|
74
78
|
...props,
|
|
@@ -88,6 +92,7 @@ const ArrayFieldItemTemplate = props => {
|
|
|
88
92
|
onDropIndexClick,
|
|
89
93
|
onReorderClick,
|
|
90
94
|
readonly,
|
|
95
|
+
uiSchema,
|
|
91
96
|
registry
|
|
92
97
|
} = props;
|
|
93
98
|
const {
|
|
@@ -122,15 +127,18 @@ const ArrayFieldItemTemplate = props => {
|
|
|
122
127
|
}, (hasMoveUp || hasMoveDown) && /*#__PURE__*/React__default["default"].createElement(MoveUpButton, {
|
|
123
128
|
style: btnStyle,
|
|
124
129
|
disabled: disabled || readonly || !hasMoveUp,
|
|
125
|
-
onClick: onReorderClick(index, index - 1)
|
|
130
|
+
onClick: onReorderClick(index, index - 1),
|
|
131
|
+
uiSchema: uiSchema
|
|
126
132
|
}), (hasMoveUp || hasMoveDown) && /*#__PURE__*/React__default["default"].createElement(MoveDownButton, {
|
|
127
133
|
style: btnStyle,
|
|
128
134
|
disabled: disabled || readonly || !hasMoveDown,
|
|
129
|
-
onClick: onReorderClick(index, index + 1)
|
|
135
|
+
onClick: onReorderClick(index, index + 1),
|
|
136
|
+
uiSchema: uiSchema
|
|
130
137
|
}), hasRemove && /*#__PURE__*/React__default["default"].createElement(RemoveButton, {
|
|
131
138
|
style: btnStyle,
|
|
132
139
|
disabled: disabled || readonly,
|
|
133
|
-
onClick: onDropIndexClick(index)
|
|
140
|
+
onClick: onDropIndexClick(index),
|
|
141
|
+
uiSchema: uiSchema
|
|
134
142
|
})));
|
|
135
143
|
};
|
|
136
144
|
|
|
@@ -165,12 +173,14 @@ const ArrayFieldTemplate = props => {
|
|
|
165
173
|
}, /*#__PURE__*/React__default["default"].createElement(ArrayFieldTitleTemplate, {
|
|
166
174
|
idSchema: idSchema,
|
|
167
175
|
title: uiOptions.title || title,
|
|
176
|
+
schema: schema,
|
|
168
177
|
uiSchema: uiSchema,
|
|
169
178
|
required: required,
|
|
170
179
|
registry: registry
|
|
171
|
-
}),
|
|
180
|
+
}), /*#__PURE__*/React__default["default"].createElement(ArrayFieldDescriptionTemplate, {
|
|
172
181
|
idSchema: idSchema,
|
|
173
182
|
description: uiOptions.description || schema.description,
|
|
183
|
+
schema: schema,
|
|
174
184
|
uiSchema: uiSchema,
|
|
175
185
|
registry: registry
|
|
176
186
|
}), /*#__PURE__*/React__default["default"].createElement(Grid__default["default"], {
|
|
@@ -195,7 +205,8 @@ const ArrayFieldTemplate = props => {
|
|
|
195
205
|
}, /*#__PURE__*/React__default["default"].createElement(AddButton, {
|
|
196
206
|
className: "array-item-add",
|
|
197
207
|
onClick: onAddClick,
|
|
198
|
-
disabled: disabled || readonly
|
|
208
|
+
disabled: disabled || readonly,
|
|
209
|
+
uiSchema: uiSchema
|
|
199
210
|
})))))));
|
|
200
211
|
};
|
|
201
212
|
|
|
@@ -233,7 +244,10 @@ const BaseInputTemplate = _ref => {
|
|
|
233
244
|
inputProps: {
|
|
234
245
|
step,
|
|
235
246
|
min,
|
|
236
|
-
max
|
|
247
|
+
max,
|
|
248
|
+
...(schema.examples ? {
|
|
249
|
+
list: "examples_" + id
|
|
250
|
+
} : undefined)
|
|
237
251
|
},
|
|
238
252
|
...rest
|
|
239
253
|
};
|
|
@@ -269,8 +283,9 @@ const BaseInputTemplate = _ref => {
|
|
|
269
283
|
schemaUtils
|
|
270
284
|
} = registry;
|
|
271
285
|
const displayLabel = schemaUtils.getDisplayLabel(schema, uiSchema);
|
|
272
|
-
return /*#__PURE__*/React__default["default"].createElement(TextField__default["default"], {
|
|
286
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(TextField__default["default"], {
|
|
273
287
|
id: id,
|
|
288
|
+
name: id,
|
|
274
289
|
placeholder: placeholder,
|
|
275
290
|
label: displayLabel ? label || schema.title : false,
|
|
276
291
|
autoFocus: autofocus,
|
|
@@ -283,7 +298,14 @@ const BaseInputTemplate = _ref => {
|
|
|
283
298
|
onBlur: _onBlur,
|
|
284
299
|
onFocus: _onFocus,
|
|
285
300
|
...textFieldProps
|
|
286
|
-
})
|
|
301
|
+
}), schema.examples && /*#__PURE__*/React__default["default"].createElement("datalist", {
|
|
302
|
+
id: "examples_" + id
|
|
303
|
+
}, schema.examples.concat(schema.default ? [schema.default] : []).map(example => {
|
|
304
|
+
return /*#__PURE__*/React__default["default"].createElement("option", {
|
|
305
|
+
key: example,
|
|
306
|
+
value: example
|
|
307
|
+
});
|
|
308
|
+
})));
|
|
287
309
|
};
|
|
288
310
|
|
|
289
311
|
const DescriptionField = _ref => {
|
|
@@ -333,6 +355,7 @@ function MuiIconButton(props) {
|
|
|
333
355
|
const {
|
|
334
356
|
icon,
|
|
335
357
|
color,
|
|
358
|
+
uiSchema,
|
|
336
359
|
...otherProps
|
|
337
360
|
} = props;
|
|
338
361
|
return /*#__PURE__*/React__default["default"].createElement(IconButton__default["default"], { ...otherProps,
|
|
@@ -373,77 +396,55 @@ function RemoveButton(props) {
|
|
|
373
396
|
});
|
|
374
397
|
}
|
|
375
398
|
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
disabled,
|
|
381
|
-
id,
|
|
382
|
-
label,
|
|
383
|
-
onDropPropertyClick,
|
|
384
|
-
onKeyChange,
|
|
385
|
-
readonly,
|
|
386
|
-
required,
|
|
387
|
-
schema,
|
|
388
|
-
registry
|
|
389
|
-
} = _ref;
|
|
390
|
-
const {
|
|
391
|
-
RemoveButton
|
|
392
|
-
} = registry.templates.ButtonTemplates;
|
|
393
|
-
const keyLabel = label + " Key"; // i18n ?
|
|
399
|
+
/** The `FieldErrorTemplate` component renders the errors local to the particular field
|
|
400
|
+
*
|
|
401
|
+
* @param props - The `FieldErrorProps` for the errors being rendered
|
|
402
|
+
*/
|
|
394
403
|
|
|
395
|
-
|
|
396
|
-
const
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
fontWeight: "bold"
|
|
401
|
-
};
|
|
404
|
+
function FieldErrorTemplate(props) {
|
|
405
|
+
const {
|
|
406
|
+
errors = [],
|
|
407
|
+
idSchema
|
|
408
|
+
} = props;
|
|
402
409
|
|
|
403
|
-
if (
|
|
404
|
-
return
|
|
405
|
-
className: classNames
|
|
406
|
-
}, children);
|
|
410
|
+
if (errors.length === 0) {
|
|
411
|
+
return null;
|
|
407
412
|
}
|
|
408
413
|
|
|
409
|
-
const
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
414
|
+
const id = idSchema.$id + "__error";
|
|
415
|
+
return /*#__PURE__*/React__default["default"].createElement(List__default["default"], {
|
|
416
|
+
dense: true,
|
|
417
|
+
disablePadding: true
|
|
418
|
+
}, errors.map((error, i) => {
|
|
419
|
+
return /*#__PURE__*/React__default["default"].createElement(ListItem__default["default"], {
|
|
420
|
+
key: i,
|
|
421
|
+
disableGutters: true
|
|
422
|
+
}, /*#__PURE__*/React__default["default"].createElement(FormHelperText__default["default"], {
|
|
423
|
+
id: id
|
|
424
|
+
}, error));
|
|
425
|
+
}));
|
|
426
|
+
}
|
|
415
427
|
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
item: true,
|
|
437
|
-
xs: true
|
|
438
|
-
}, children), /*#__PURE__*/React__default["default"].createElement(Grid__default["default"], {
|
|
439
|
-
item: true
|
|
440
|
-
}, /*#__PURE__*/React__default["default"].createElement(RemoveButton, {
|
|
441
|
-
iconType: "default",
|
|
442
|
-
style: btnStyle,
|
|
443
|
-
disabled: disabled || readonly,
|
|
444
|
-
onClick: onDropPropertyClick(label)
|
|
445
|
-
})));
|
|
446
|
-
};
|
|
428
|
+
/** The `FieldHelpTemplate` component renders any help desired for a field
|
|
429
|
+
*
|
|
430
|
+
* @param props - The `FieldHelpProps` to be rendered
|
|
431
|
+
*/
|
|
432
|
+
|
|
433
|
+
function FieldHelpTemplate(props) {
|
|
434
|
+
const {
|
|
435
|
+
idSchema,
|
|
436
|
+
help
|
|
437
|
+
} = props;
|
|
438
|
+
|
|
439
|
+
if (!help) {
|
|
440
|
+
return null;
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
const id = idSchema.$id + "__help";
|
|
444
|
+
return /*#__PURE__*/React__default["default"].createElement(FormHelperText__default["default"], {
|
|
445
|
+
id: id
|
|
446
|
+
}, help);
|
|
447
|
+
}
|
|
447
448
|
|
|
448
449
|
const FieldTemplate = _ref => {
|
|
449
450
|
let {
|
|
@@ -459,11 +460,15 @@ const FieldTemplate = _ref => {
|
|
|
459
460
|
readonly,
|
|
460
461
|
required,
|
|
461
462
|
rawErrors = [],
|
|
462
|
-
|
|
463
|
+
errors,
|
|
464
|
+
help,
|
|
463
465
|
rawDescription,
|
|
464
466
|
schema,
|
|
467
|
+
uiSchema,
|
|
465
468
|
registry
|
|
466
469
|
} = _ref;
|
|
470
|
+
const uiOptions = utils.getUiOptions(uiSchema);
|
|
471
|
+
const WrapIfAdditionalTemplate = utils.getTemplate("WrapIfAdditionalTemplate", registry, uiOptions);
|
|
467
472
|
|
|
468
473
|
if (hidden) {
|
|
469
474
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -473,7 +478,7 @@ const FieldTemplate = _ref => {
|
|
|
473
478
|
}, children);
|
|
474
479
|
}
|
|
475
480
|
|
|
476
|
-
return /*#__PURE__*/React__default["default"].createElement(
|
|
481
|
+
return /*#__PURE__*/React__default["default"].createElement(WrapIfAdditionalTemplate, {
|
|
477
482
|
classNames: classNames,
|
|
478
483
|
disabled: disabled,
|
|
479
484
|
id: id,
|
|
@@ -483,6 +488,7 @@ const FieldTemplate = _ref => {
|
|
|
483
488
|
readonly: readonly,
|
|
484
489
|
required: required,
|
|
485
490
|
schema: schema,
|
|
491
|
+
uiSchema: uiSchema,
|
|
486
492
|
registry: registry
|
|
487
493
|
}, /*#__PURE__*/React__default["default"].createElement(FormControl__default["default"], {
|
|
488
494
|
fullWidth: true,
|
|
@@ -491,19 +497,7 @@ const FieldTemplate = _ref => {
|
|
|
491
497
|
}, children, displayLabel && rawDescription ? /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
492
498
|
variant: "caption",
|
|
493
499
|
color: "textSecondary"
|
|
494
|
-
}, rawDescription) : null,
|
|
495
|
-
dense: true,
|
|
496
|
-
disablePadding: true
|
|
497
|
-
}, rawErrors.map((error, i) => {
|
|
498
|
-
return /*#__PURE__*/React__default["default"].createElement(ListItem__default["default"], {
|
|
499
|
-
key: i,
|
|
500
|
-
disableGutters: true
|
|
501
|
-
}, /*#__PURE__*/React__default["default"].createElement(FormHelperText__default["default"], {
|
|
502
|
-
id: id
|
|
503
|
-
}, error));
|
|
504
|
-
})), rawHelp && /*#__PURE__*/React__default["default"].createElement(FormHelperText__default["default"], {
|
|
505
|
-
id: id
|
|
506
|
-
}, rawHelp)));
|
|
500
|
+
}, rawDescription) : null, errors, help));
|
|
507
501
|
};
|
|
508
502
|
|
|
509
503
|
const ObjectFieldTemplate = _ref => {
|
|
@@ -534,11 +528,14 @@ const ObjectFieldTemplate = _ref => {
|
|
|
534
528
|
id: idSchema.$id + "-title",
|
|
535
529
|
title: title,
|
|
536
530
|
required: required,
|
|
531
|
+
schema: schema,
|
|
537
532
|
uiSchema: uiSchema,
|
|
538
533
|
registry: registry
|
|
539
534
|
}), (uiOptions.description || description) && /*#__PURE__*/React__default["default"].createElement(DescriptionFieldTemplate, {
|
|
540
535
|
id: idSchema.$id + "-description",
|
|
541
536
|
description: uiOptions.description || description,
|
|
537
|
+
schema: schema,
|
|
538
|
+
uiSchema: uiSchema,
|
|
542
539
|
registry: registry
|
|
543
540
|
}), /*#__PURE__*/React__default["default"].createElement(Grid__default["default"], {
|
|
544
541
|
container: true,
|
|
@@ -563,7 +560,8 @@ const ObjectFieldTemplate = _ref => {
|
|
|
563
560
|
}, /*#__PURE__*/React__default["default"].createElement(AddButton, {
|
|
564
561
|
className: "object-property-expand",
|
|
565
562
|
onClick: onAddClick(schema),
|
|
566
|
-
disabled: disabled || readonly
|
|
563
|
+
disabled: disabled || readonly,
|
|
564
|
+
uiSchema: uiSchema
|
|
567
565
|
})))));
|
|
568
566
|
};
|
|
569
567
|
|
|
@@ -602,6 +600,81 @@ const TitleField = _ref => {
|
|
|
602
600
|
}, title), /*#__PURE__*/React__default["default"].createElement(Divider__default["default"], null));
|
|
603
601
|
};
|
|
604
602
|
|
|
603
|
+
const WrapIfAdditionalTemplate = _ref => {
|
|
604
|
+
let {
|
|
605
|
+
children,
|
|
606
|
+
classNames,
|
|
607
|
+
disabled,
|
|
608
|
+
id,
|
|
609
|
+
label,
|
|
610
|
+
onDropPropertyClick,
|
|
611
|
+
onKeyChange,
|
|
612
|
+
readonly,
|
|
613
|
+
required,
|
|
614
|
+
schema,
|
|
615
|
+
uiSchema,
|
|
616
|
+
registry
|
|
617
|
+
} = _ref;
|
|
618
|
+
// Button templates are not overridden in the uiSchema
|
|
619
|
+
const {
|
|
620
|
+
RemoveButton
|
|
621
|
+
} = registry.templates.ButtonTemplates;
|
|
622
|
+
const keyLabel = label + " Key"; // i18n ?
|
|
623
|
+
|
|
624
|
+
const additional = (utils.ADDITIONAL_PROPERTY_FLAG in schema);
|
|
625
|
+
const btnStyle = {
|
|
626
|
+
flex: 1,
|
|
627
|
+
paddingLeft: 6,
|
|
628
|
+
paddingRight: 6,
|
|
629
|
+
fontWeight: "bold"
|
|
630
|
+
};
|
|
631
|
+
|
|
632
|
+
if (!additional) {
|
|
633
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
634
|
+
className: classNames
|
|
635
|
+
}, children);
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
const handleBlur = _ref2 => {
|
|
639
|
+
let {
|
|
640
|
+
target
|
|
641
|
+
} = _ref2;
|
|
642
|
+
return onKeyChange(target.value);
|
|
643
|
+
};
|
|
644
|
+
|
|
645
|
+
return /*#__PURE__*/React__default["default"].createElement(Grid__default["default"], {
|
|
646
|
+
container: true,
|
|
647
|
+
key: id + "-key",
|
|
648
|
+
alignItems: "center",
|
|
649
|
+
spacing: 2,
|
|
650
|
+
className: classNames
|
|
651
|
+
}, /*#__PURE__*/React__default["default"].createElement(Grid__default["default"], {
|
|
652
|
+
item: true,
|
|
653
|
+
xs: true
|
|
654
|
+
}, /*#__PURE__*/React__default["default"].createElement(FormControl__default["default"], {
|
|
655
|
+
fullWidth: true,
|
|
656
|
+
required: required
|
|
657
|
+
}, /*#__PURE__*/React__default["default"].createElement(InputLabel__default["default"], null, keyLabel), /*#__PURE__*/React__default["default"].createElement(Input__default["default"], {
|
|
658
|
+
defaultValue: label,
|
|
659
|
+
disabled: disabled || readonly,
|
|
660
|
+
id: id + "-key",
|
|
661
|
+
name: id + "-key",
|
|
662
|
+
onBlur: !readonly ? handleBlur : undefined,
|
|
663
|
+
type: "text"
|
|
664
|
+
}))), /*#__PURE__*/React__default["default"].createElement(Grid__default["default"], {
|
|
665
|
+
item: true,
|
|
666
|
+
xs: true
|
|
667
|
+
}, children), /*#__PURE__*/React__default["default"].createElement(Grid__default["default"], {
|
|
668
|
+
item: true
|
|
669
|
+
}, /*#__PURE__*/React__default["default"].createElement(RemoveButton, {
|
|
670
|
+
iconType: "default",
|
|
671
|
+
style: btnStyle,
|
|
672
|
+
disabled: disabled || readonly,
|
|
673
|
+
onClick: onDropPropertyClick(label),
|
|
674
|
+
uiSchema: uiSchema
|
|
675
|
+
})));
|
|
676
|
+
};
|
|
677
|
+
|
|
605
678
|
var Templates = {
|
|
606
679
|
ArrayFieldItemTemplate,
|
|
607
680
|
ArrayFieldTemplate,
|
|
@@ -615,9 +688,12 @@ var Templates = {
|
|
|
615
688
|
},
|
|
616
689
|
DescriptionFieldTemplate: DescriptionField,
|
|
617
690
|
ErrorListTemplate: ErrorList,
|
|
691
|
+
FieldErrorTemplate,
|
|
692
|
+
FieldHelpTemplate,
|
|
618
693
|
FieldTemplate,
|
|
619
694
|
ObjectFieldTemplate,
|
|
620
|
-
TitleFieldTemplate: TitleField
|
|
695
|
+
TitleFieldTemplate: TitleField,
|
|
696
|
+
WrapIfAdditionalTemplate
|
|
621
697
|
};
|
|
622
698
|
|
|
623
699
|
const CheckboxWidget = props => {
|
|
@@ -661,6 +737,7 @@ const CheckboxWidget = props => {
|
|
|
661
737
|
return /*#__PURE__*/React__default["default"].createElement(FormControlLabel__default["default"], {
|
|
662
738
|
control: /*#__PURE__*/React__default["default"].createElement(Checkbox__default["default"], {
|
|
663
739
|
id: id,
|
|
740
|
+
name: id,
|
|
664
741
|
checked: typeof value === "undefined" ? false : Boolean(value),
|
|
665
742
|
required: required,
|
|
666
743
|
disabled: disabled || readonly,
|
|
@@ -750,11 +827,12 @@ const CheckboxesWidget = _ref => {
|
|
|
750
827
|
}, label || schema.title), /*#__PURE__*/React__default["default"].createElement(FormGroup__default["default"], {
|
|
751
828
|
id: id,
|
|
752
829
|
row: !!inline
|
|
753
|
-
}, enumOptions.map((option, index) => {
|
|
830
|
+
}, Array.isArray(enumOptions) && enumOptions.map((option, index) => {
|
|
754
831
|
const checked = value.indexOf(option.value) !== -1;
|
|
755
|
-
const itemDisabled = enumDisabled && enumDisabled.indexOf(option.value)
|
|
832
|
+
const itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;
|
|
756
833
|
const checkbox = /*#__PURE__*/React__default["default"].createElement(Checkbox__default["default"], {
|
|
757
|
-
id: id + "
|
|
834
|
+
id: id + "-" + option.value,
|
|
835
|
+
name: id,
|
|
758
836
|
checked: checked,
|
|
759
837
|
disabled: disabled || itemDisabled || readonly,
|
|
760
838
|
autoFocus: autofocus && index === 0,
|
|
@@ -764,7 +842,7 @@ const CheckboxesWidget = _ref => {
|
|
|
764
842
|
});
|
|
765
843
|
return /*#__PURE__*/React__default["default"].createElement(FormControlLabel__default["default"], {
|
|
766
844
|
control: checkbox,
|
|
767
|
-
key:
|
|
845
|
+
key: option.value,
|
|
768
846
|
label: option.label
|
|
769
847
|
});
|
|
770
848
|
})));
|
|
@@ -853,22 +931,23 @@ const RadioWidget = _ref => {
|
|
|
853
931
|
htmlFor: id
|
|
854
932
|
}, label || schema.title), /*#__PURE__*/React__default["default"].createElement(RadioGroup__default["default"], {
|
|
855
933
|
id: id,
|
|
934
|
+
name: id,
|
|
856
935
|
value: "" + value,
|
|
857
936
|
row: row,
|
|
858
937
|
onChange: _onChange,
|
|
859
938
|
onBlur: _onBlur,
|
|
860
939
|
onFocus: _onFocus
|
|
861
|
-
}, enumOptions.map(
|
|
862
|
-
const itemDisabled = enumDisabled && enumDisabled.indexOf(option.value)
|
|
940
|
+
}, Array.isArray(enumOptions) && enumOptions.map(option => {
|
|
941
|
+
const itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;
|
|
863
942
|
const radio = /*#__PURE__*/React__default["default"].createElement(FormControlLabel__default["default"], {
|
|
864
943
|
control: /*#__PURE__*/React__default["default"].createElement(Radio__default["default"], {
|
|
865
|
-
name: id
|
|
866
|
-
|
|
867
|
-
|
|
944
|
+
name: id,
|
|
945
|
+
id: id + "-" + option.value,
|
|
946
|
+
color: "primary"
|
|
868
947
|
}),
|
|
869
948
|
label: "" + option.label,
|
|
870
949
|
value: "" + option.value,
|
|
871
|
-
key:
|
|
950
|
+
key: option.value,
|
|
872
951
|
disabled: disabled || itemDisabled || readonly
|
|
873
952
|
});
|
|
874
953
|
return radio;
|
|
@@ -893,6 +972,7 @@ const RangeWidget = _ref => {
|
|
|
893
972
|
value,
|
|
894
973
|
label,
|
|
895
974
|
id,
|
|
975
|
+
name: id,
|
|
896
976
|
...utils.rangeSpec(schema)
|
|
897
977
|
};
|
|
898
978
|
|
|
@@ -983,6 +1063,7 @@ const SelectWidget = _ref => {
|
|
|
983
1063
|
|
|
984
1064
|
return /*#__PURE__*/React__default["default"].createElement(TextField__default["default"], {
|
|
985
1065
|
id: id,
|
|
1066
|
+
name: id,
|
|
986
1067
|
label: label || schema.title,
|
|
987
1068
|
select: true,
|
|
988
1069
|
value: typeof value === "undefined" ? emptyValue : value,
|