@rjsf/mui 5.11.2 → 5.12.1
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/dist/index.js +1003 -5
- package/dist/index.js.map +7 -0
- package/dist/mui.esm.js +650 -824
- package/dist/mui.esm.js.map +7 -1
- package/dist/mui.umd.js +852 -0
- package/lib/AddButton/AddButton.d.ts +5 -0
- package/lib/AddButton/AddButton.js +13 -0
- package/lib/AddButton/AddButton.js.map +1 -0
- package/lib/AddButton/index.d.ts +2 -0
- package/lib/AddButton/index.js +3 -0
- package/lib/AddButton/index.js.map +1 -0
- package/lib/ArrayFieldItemTemplate/ArrayFieldItemTemplate.d.ts +7 -0
- package/lib/ArrayFieldItemTemplate/ArrayFieldItemTemplate.js +21 -0
- package/lib/ArrayFieldItemTemplate/ArrayFieldItemTemplate.js.map +1 -0
- package/lib/ArrayFieldItemTemplate/index.d.ts +2 -0
- package/lib/ArrayFieldItemTemplate/index.js +3 -0
- package/lib/ArrayFieldItemTemplate/index.js.map +1 -0
- package/lib/ArrayFieldTemplate/ArrayFieldTemplate.d.ts +7 -0
- package/lib/ArrayFieldTemplate/ArrayFieldTemplate.js +25 -0
- package/lib/ArrayFieldTemplate/ArrayFieldTemplate.js.map +1 -0
- package/lib/ArrayFieldTemplate/index.d.ts +2 -0
- package/lib/ArrayFieldTemplate/index.js +3 -0
- package/lib/ArrayFieldTemplate/index.js.map +1 -0
- package/lib/BaseInputTemplate/BaseInputTemplate.d.ts +9 -0
- package/lib/BaseInputTemplate/BaseInputTemplate.js +32 -0
- package/lib/BaseInputTemplate/BaseInputTemplate.js.map +1 -0
- package/lib/BaseInputTemplate/index.d.ts +2 -0
- package/lib/BaseInputTemplate/index.js +3 -0
- package/lib/BaseInputTemplate/index.js.map +1 -0
- package/lib/CheckboxWidget/CheckboxWidget.d.ts +8 -0
- package/lib/CheckboxWidget/CheckboxWidget.js +24 -0
- package/lib/CheckboxWidget/CheckboxWidget.js.map +1 -0
- package/lib/CheckboxWidget/index.d.ts +2 -0
- package/lib/CheckboxWidget/index.js +3 -0
- package/lib/CheckboxWidget/index.js.map +1 -0
- package/lib/CheckboxesWidget/CheckboxesWidget.d.ts +8 -0
- package/lib/CheckboxesWidget/CheckboxesWidget.js +33 -0
- package/lib/CheckboxesWidget/CheckboxesWidget.js.map +1 -0
- package/lib/CheckboxesWidget/index.d.ts +2 -0
- package/lib/CheckboxesWidget/index.js +3 -0
- package/lib/CheckboxesWidget/index.js.map +1 -0
- package/lib/DescriptionField/DescriptionField.d.ts +7 -0
- package/lib/DescriptionField/DescriptionField.js +14 -0
- package/lib/DescriptionField/DescriptionField.js.map +1 -0
- package/lib/DescriptionField/index.d.ts +2 -0
- package/lib/DescriptionField/index.js +3 -0
- package/lib/DescriptionField/index.js.map +1 -0
- package/lib/ErrorList/ErrorList.d.ts +7 -0
- package/lib/ErrorList/ErrorList.js +21 -0
- package/lib/ErrorList/ErrorList.js.map +1 -0
- package/lib/ErrorList/index.d.ts +2 -0
- package/lib/ErrorList/index.js +3 -0
- package/lib/ErrorList/index.js.map +1 -0
- package/lib/FieldErrorTemplate/FieldErrorTemplate.d.ts +7 -0
- package/lib/FieldErrorTemplate/FieldErrorTemplate.js +20 -0
- package/lib/FieldErrorTemplate/FieldErrorTemplate.js.map +1 -0
- package/lib/FieldErrorTemplate/index.d.ts +2 -0
- package/lib/FieldErrorTemplate/index.js +3 -0
- package/lib/FieldErrorTemplate/index.js.map +1 -0
- package/lib/FieldHelpTemplate/FieldHelpTemplate.d.ts +7 -0
- package/lib/FieldHelpTemplate/FieldHelpTemplate.js +16 -0
- package/lib/FieldHelpTemplate/FieldHelpTemplate.js.map +1 -0
- package/lib/FieldHelpTemplate/index.d.ts +2 -0
- package/lib/FieldHelpTemplate/index.js +3 -0
- package/lib/FieldHelpTemplate/index.js.map +1 -0
- package/lib/FieldTemplate/FieldTemplate.d.ts +8 -0
- package/lib/FieldTemplate/FieldTemplate.js +19 -0
- package/lib/FieldTemplate/FieldTemplate.js.map +1 -0
- package/lib/FieldTemplate/index.d.ts +2 -0
- package/lib/FieldTemplate/index.js +3 -0
- package/lib/FieldTemplate/index.js.map +1 -0
- package/lib/IconButton/IconButton.d.ts +7 -0
- package/lib/IconButton/IconButton.js +30 -0
- package/lib/IconButton/IconButton.js.map +1 -0
- package/lib/IconButton/index.d.ts +2 -0
- package/lib/IconButton/index.js +3 -0
- package/lib/IconButton/index.js.map +1 -0
- package/lib/MuiForm/MuiForm.d.ts +6 -0
- package/lib/MuiForm/MuiForm.js +7 -0
- package/lib/MuiForm/MuiForm.js.map +1 -0
- package/lib/MuiForm/index.d.ts +2 -0
- package/lib/MuiForm/index.js +3 -0
- package/lib/MuiForm/index.js.map +1 -0
- package/lib/ObjectFieldTemplate/ObjectFieldTemplate.d.ts +9 -0
- package/lib/ObjectFieldTemplate/ObjectFieldTemplate.js +22 -0
- package/lib/ObjectFieldTemplate/ObjectFieldTemplate.js.map +1 -0
- package/lib/ObjectFieldTemplate/index.d.ts +2 -0
- package/lib/ObjectFieldTemplate/index.js +3 -0
- package/lib/ObjectFieldTemplate/index.js.map +1 -0
- package/lib/RadioWidget/RadioWidget.d.ts +8 -0
- package/lib/RadioWidget/RadioWidget.js +27 -0
- package/lib/RadioWidget/RadioWidget.js.map +1 -0
- package/lib/RadioWidget/index.d.ts +2 -0
- package/lib/RadioWidget/index.js +3 -0
- package/lib/RadioWidget/index.js.map +1 -0
- package/lib/RangeWidget/RangeWidget.d.ts +8 -0
- package/lib/RangeWidget/RangeWidget.js +20 -0
- package/lib/RangeWidget/RangeWidget.js.map +1 -0
- package/lib/RangeWidget/index.d.ts +2 -0
- package/lib/RangeWidget/index.js +3 -0
- package/lib/RangeWidget/index.js.map +1 -0
- package/lib/SelectWidget/SelectWidget.d.ts +9 -0
- package/lib/SelectWidget/SelectWidget.js +29 -0
- package/lib/SelectWidget/SelectWidget.js.map +1 -0
- package/lib/SelectWidget/index.d.ts +2 -0
- package/lib/SelectWidget/index.js +3 -0
- package/lib/SelectWidget/index.js.map +1 -0
- package/lib/SubmitButton/SubmitButton.d.ts +5 -0
- package/lib/SubmitButton/SubmitButton.js +14 -0
- package/lib/SubmitButton/SubmitButton.js.map +1 -0
- package/lib/SubmitButton/index.d.ts +2 -0
- package/lib/SubmitButton/index.js +3 -0
- package/lib/SubmitButton/index.js.map +1 -0
- package/lib/Templates/Templates.d.ts +4 -0
- package/lib/Templates/Templates.js +39 -0
- package/lib/Templates/Templates.js.map +1 -0
- package/lib/Templates/index.d.ts +2 -0
- package/lib/Templates/index.js +3 -0
- package/lib/Templates/index.js.map +1 -0
- package/lib/TextareaWidget/TextareaWidget.d.ts +7 -0
- package/lib/TextareaWidget/TextareaWidget.js +16 -0
- package/lib/TextareaWidget/TextareaWidget.js.map +1 -0
- package/lib/TextareaWidget/index.d.ts +2 -0
- package/lib/TextareaWidget/index.js +3 -0
- package/lib/TextareaWidget/index.js.map +1 -0
- package/lib/Theme/Theme.d.ts +5 -0
- package/lib/Theme/Theme.js +10 -0
- package/lib/Theme/Theme.js.map +1 -0
- package/lib/Theme/index.d.ts +2 -0
- package/lib/Theme/index.js +3 -0
- package/lib/Theme/index.js.map +1 -0
- package/lib/TitleField/TitleField.d.ts +7 -0
- package/lib/TitleField/TitleField.js +12 -0
- package/lib/TitleField/TitleField.js.map +1 -0
- package/lib/TitleField/index.d.ts +2 -0
- package/lib/TitleField/index.js +3 -0
- package/lib/TitleField/index.js.map +1 -0
- package/lib/Widgets/Widgets.d.ts +4 -0
- package/lib/Widgets/Widgets.js +18 -0
- package/lib/Widgets/Widgets.js.map +1 -0
- package/lib/Widgets/index.d.ts +2 -0
- package/lib/Widgets/index.js +3 -0
- package/lib/Widgets/index.js.map +1 -0
- package/lib/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.d.ts +8 -0
- package/lib/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.js +29 -0
- package/lib/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.js.map +1 -0
- package/lib/WrapIfAdditionalTemplate/index.d.ts +2 -0
- package/lib/WrapIfAdditionalTemplate/index.js +3 -0
- package/lib/WrapIfAdditionalTemplate/index.js.map +1 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.js +7 -0
- package/lib/index.js.map +1 -0
- package/package.json +24 -16
- package/src/AddButton/AddButton.tsx +18 -0
- package/src/AddButton/index.ts +2 -0
- package/src/ArrayFieldItemTemplate/ArrayFieldItemTemplate.tsx +91 -0
- package/src/ArrayFieldItemTemplate/index.ts +2 -0
- package/src/ArrayFieldTemplate/ArrayFieldTemplate.tsx +87 -0
- package/src/ArrayFieldTemplate/index.ts +2 -0
- package/src/BaseInputTemplate/BaseInputTemplate.tsx +106 -0
- package/src/BaseInputTemplate/index.ts +2 -0
- package/src/CheckboxWidget/CheckboxWidget.tsx +87 -0
- package/src/CheckboxWidget/index.ts +2 -0
- package/src/CheckboxesWidget/CheckboxesWidget.tsx +92 -0
- package/src/CheckboxesWidget/index.ts +2 -0
- package/src/DescriptionField/DescriptionField.tsx +23 -0
- package/src/DescriptionField/index.ts +2 -0
- package/src/ErrorList/ErrorList.tsx +39 -0
- package/src/ErrorList/index.ts +2 -0
- package/src/FieldErrorTemplate/FieldErrorTemplate.tsx +32 -0
- package/src/FieldErrorTemplate/index.ts +2 -0
- package/src/FieldHelpTemplate/FieldHelpTemplate.tsx +19 -0
- package/src/FieldHelpTemplate/index.ts +2 -0
- package/src/FieldTemplate/FieldTemplate.tsx +81 -0
- package/src/FieldTemplate/index.ts +2 -0
- package/src/IconButton/IconButton.tsx +81 -0
- package/src/IconButton/index.ts +2 -0
- package/src/MuiForm/MuiForm.tsx +15 -0
- package/src/MuiForm/index.ts +2 -0
- package/src/ObjectFieldTemplate/ObjectFieldTemplate.tsx +99 -0
- package/src/ObjectFieldTemplate/index.ts +2 -0
- package/src/RadioWidget/RadioWidget.tsx +83 -0
- package/src/RadioWidget/index.ts +2 -0
- package/src/RangeWidget/RangeWidget.tsx +51 -0
- package/src/RangeWidget/index.ts +2 -0
- package/src/SelectWidget/SelectWidget.tsx +100 -0
- package/src/SelectWidget/index.ts +2 -0
- package/src/SubmitButton/SubmitButton.tsx +23 -0
- package/src/SubmitButton/index.ts +2 -0
- package/src/Templates/Templates.ts +46 -0
- package/src/Templates/index.ts +2 -0
- package/src/TextareaWidget/TextareaWidget.tsx +21 -0
- package/src/TextareaWidget/index.ts +2 -0
- package/src/Theme/Theme.tsx +18 -0
- package/src/Theme/index.ts +2 -0
- package/src/TitleField/TitleField.tsx +20 -0
- package/src/TitleField/index.ts +2 -0
- package/src/Widgets/Widgets.ts +25 -0
- package/src/Widgets/index.ts +2 -0
- package/src/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.tsx +90 -0
- package/src/WrapIfAdditionalTemplate/index.ts +2 -0
- package/src/index.ts +8 -0
- package/dist/index.d.ts +0 -17
- package/dist/mui.cjs.development.js +0 -1239
- package/dist/mui.cjs.development.js.map +0 -1
- package/dist/mui.cjs.production.min.js +0 -2
- package/dist/mui.cjs.production.min.js.map +0 -1
- package/dist/mui.umd.development.js +0 -1213
- package/dist/mui.umd.development.js.map +0 -1
- package/dist/mui.umd.production.min.js +0 -2
- package/dist/mui.umd.production.min.js.map +0 -1
|
@@ -1,1239 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var core = require('@rjsf/core');
|
|
6
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
-
var AddIcon = require('@mui/icons-material/Add');
|
|
8
|
-
var IconButton = require('@mui/material/IconButton');
|
|
9
|
-
var utils = require('@rjsf/utils');
|
|
10
|
-
var Box = require('@mui/material/Box');
|
|
11
|
-
var Grid = require('@mui/material/Grid');
|
|
12
|
-
var Paper = require('@mui/material/Paper');
|
|
13
|
-
var TextField = require('@mui/material/TextField');
|
|
14
|
-
var Typography = require('@mui/material/Typography');
|
|
15
|
-
var ErrorIcon = require('@mui/icons-material/Error');
|
|
16
|
-
var List = require('@mui/material/List');
|
|
17
|
-
var ListItem = require('@mui/material/ListItem');
|
|
18
|
-
var ListItemIcon = require('@mui/material/ListItemIcon');
|
|
19
|
-
var ListItemText = require('@mui/material/ListItemText');
|
|
20
|
-
var ArrowDownwardIcon = require('@mui/icons-material/ArrowDownward');
|
|
21
|
-
var ArrowUpwardIcon = require('@mui/icons-material/ArrowUpward');
|
|
22
|
-
var CopyIcon = require('@mui/icons-material/ContentCopy');
|
|
23
|
-
var RemoveIcon = require('@mui/icons-material/Remove');
|
|
24
|
-
var FormHelperText = require('@mui/material/FormHelperText');
|
|
25
|
-
var FormControl = require('@mui/material/FormControl');
|
|
26
|
-
var Button = require('@mui/material/Button');
|
|
27
|
-
var Divider = require('@mui/material/Divider');
|
|
28
|
-
var Checkbox = require('@mui/material/Checkbox');
|
|
29
|
-
var FormControlLabel = require('@mui/material/FormControlLabel');
|
|
30
|
-
var FormGroup = require('@mui/material/FormGroup');
|
|
31
|
-
var FormLabel = require('@mui/material/FormLabel');
|
|
32
|
-
var Radio = require('@mui/material/Radio');
|
|
33
|
-
var RadioGroup = require('@mui/material/RadioGroup');
|
|
34
|
-
var Slider = require('@mui/material/Slider');
|
|
35
|
-
var MenuItem = require('@mui/material/MenuItem');
|
|
36
|
-
|
|
37
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
38
|
-
|
|
39
|
-
var AddIcon__default = /*#__PURE__*/_interopDefaultLegacy(AddIcon);
|
|
40
|
-
var IconButton__default = /*#__PURE__*/_interopDefaultLegacy(IconButton);
|
|
41
|
-
var Box__default = /*#__PURE__*/_interopDefaultLegacy(Box);
|
|
42
|
-
var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
|
|
43
|
-
var Paper__default = /*#__PURE__*/_interopDefaultLegacy(Paper);
|
|
44
|
-
var TextField__default = /*#__PURE__*/_interopDefaultLegacy(TextField);
|
|
45
|
-
var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
|
|
46
|
-
var ErrorIcon__default = /*#__PURE__*/_interopDefaultLegacy(ErrorIcon);
|
|
47
|
-
var List__default = /*#__PURE__*/_interopDefaultLegacy(List);
|
|
48
|
-
var ListItem__default = /*#__PURE__*/_interopDefaultLegacy(ListItem);
|
|
49
|
-
var ListItemIcon__default = /*#__PURE__*/_interopDefaultLegacy(ListItemIcon);
|
|
50
|
-
var ListItemText__default = /*#__PURE__*/_interopDefaultLegacy(ListItemText);
|
|
51
|
-
var ArrowDownwardIcon__default = /*#__PURE__*/_interopDefaultLegacy(ArrowDownwardIcon);
|
|
52
|
-
var ArrowUpwardIcon__default = /*#__PURE__*/_interopDefaultLegacy(ArrowUpwardIcon);
|
|
53
|
-
var CopyIcon__default = /*#__PURE__*/_interopDefaultLegacy(CopyIcon);
|
|
54
|
-
var RemoveIcon__default = /*#__PURE__*/_interopDefaultLegacy(RemoveIcon);
|
|
55
|
-
var FormHelperText__default = /*#__PURE__*/_interopDefaultLegacy(FormHelperText);
|
|
56
|
-
var FormControl__default = /*#__PURE__*/_interopDefaultLegacy(FormControl);
|
|
57
|
-
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
|
58
|
-
var Divider__default = /*#__PURE__*/_interopDefaultLegacy(Divider);
|
|
59
|
-
var Checkbox__default = /*#__PURE__*/_interopDefaultLegacy(Checkbox);
|
|
60
|
-
var FormControlLabel__default = /*#__PURE__*/_interopDefaultLegacy(FormControlLabel);
|
|
61
|
-
var FormGroup__default = /*#__PURE__*/_interopDefaultLegacy(FormGroup);
|
|
62
|
-
var FormLabel__default = /*#__PURE__*/_interopDefaultLegacy(FormLabel);
|
|
63
|
-
var Radio__default = /*#__PURE__*/_interopDefaultLegacy(Radio);
|
|
64
|
-
var RadioGroup__default = /*#__PURE__*/_interopDefaultLegacy(RadioGroup);
|
|
65
|
-
var Slider__default = /*#__PURE__*/_interopDefaultLegacy(Slider);
|
|
66
|
-
var MenuItem__default = /*#__PURE__*/_interopDefaultLegacy(MenuItem);
|
|
67
|
-
|
|
68
|
-
/** The `AddButton` renders a button that represent the `Add` action on a form
|
|
69
|
-
*/
|
|
70
|
-
function AddButton({
|
|
71
|
-
uiSchema,
|
|
72
|
-
registry,
|
|
73
|
-
...props
|
|
74
|
-
}) {
|
|
75
|
-
const {
|
|
76
|
-
translateString
|
|
77
|
-
} = registry;
|
|
78
|
-
return jsxRuntime.jsx(IconButton__default["default"], {
|
|
79
|
-
title: translateString(utils.TranslatableString.AddItemButton),
|
|
80
|
-
...props,
|
|
81
|
-
color: 'primary',
|
|
82
|
-
children: jsxRuntime.jsx(AddIcon__default["default"], {})
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/** The `ArrayFieldItemTemplate` component is the template used to render an items of an array.
|
|
87
|
-
*
|
|
88
|
-
* @param props - The `ArrayFieldTemplateItemType` props for the component
|
|
89
|
-
*/
|
|
90
|
-
function ArrayFieldItemTemplate(props) {
|
|
91
|
-
const {
|
|
92
|
-
children,
|
|
93
|
-
disabled,
|
|
94
|
-
hasToolbar,
|
|
95
|
-
hasCopy,
|
|
96
|
-
hasMoveDown,
|
|
97
|
-
hasMoveUp,
|
|
98
|
-
hasRemove,
|
|
99
|
-
index,
|
|
100
|
-
onCopyIndexClick,
|
|
101
|
-
onDropIndexClick,
|
|
102
|
-
onReorderClick,
|
|
103
|
-
readonly,
|
|
104
|
-
uiSchema,
|
|
105
|
-
registry
|
|
106
|
-
} = props;
|
|
107
|
-
const {
|
|
108
|
-
CopyButton,
|
|
109
|
-
MoveDownButton,
|
|
110
|
-
MoveUpButton,
|
|
111
|
-
RemoveButton
|
|
112
|
-
} = registry.templates.ButtonTemplates;
|
|
113
|
-
const btnStyle = {
|
|
114
|
-
flex: 1,
|
|
115
|
-
paddingLeft: 6,
|
|
116
|
-
paddingRight: 6,
|
|
117
|
-
fontWeight: 'bold',
|
|
118
|
-
minWidth: 0
|
|
119
|
-
};
|
|
120
|
-
return jsxRuntime.jsxs(Grid__default["default"], {
|
|
121
|
-
container: true,
|
|
122
|
-
alignItems: 'center',
|
|
123
|
-
children: [jsxRuntime.jsx(Grid__default["default"], {
|
|
124
|
-
item: true,
|
|
125
|
-
xs: true,
|
|
126
|
-
style: {
|
|
127
|
-
overflow: 'auto'
|
|
128
|
-
},
|
|
129
|
-
children: jsxRuntime.jsx(Box__default["default"], {
|
|
130
|
-
mb: 2,
|
|
131
|
-
children: jsxRuntime.jsx(Paper__default["default"], {
|
|
132
|
-
elevation: 2,
|
|
133
|
-
children: jsxRuntime.jsx(Box__default["default"], {
|
|
134
|
-
p: 2,
|
|
135
|
-
children: children
|
|
136
|
-
})
|
|
137
|
-
})
|
|
138
|
-
})
|
|
139
|
-
}), hasToolbar && jsxRuntime.jsxs(Grid__default["default"], {
|
|
140
|
-
item: true,
|
|
141
|
-
children: [(hasMoveUp || hasMoveDown) && jsxRuntime.jsx(MoveUpButton, {
|
|
142
|
-
style: btnStyle,
|
|
143
|
-
disabled: disabled || readonly || !hasMoveUp,
|
|
144
|
-
onClick: onReorderClick(index, index - 1),
|
|
145
|
-
uiSchema: uiSchema,
|
|
146
|
-
registry: registry
|
|
147
|
-
}), (hasMoveUp || hasMoveDown) && jsxRuntime.jsx(MoveDownButton, {
|
|
148
|
-
style: btnStyle,
|
|
149
|
-
disabled: disabled || readonly || !hasMoveDown,
|
|
150
|
-
onClick: onReorderClick(index, index + 1),
|
|
151
|
-
uiSchema: uiSchema,
|
|
152
|
-
registry: registry
|
|
153
|
-
}), hasCopy && jsxRuntime.jsx(CopyButton, {
|
|
154
|
-
style: btnStyle,
|
|
155
|
-
disabled: disabled || readonly,
|
|
156
|
-
onClick: onCopyIndexClick(index),
|
|
157
|
-
uiSchema: uiSchema,
|
|
158
|
-
registry: registry
|
|
159
|
-
}), hasRemove && jsxRuntime.jsx(RemoveButton, {
|
|
160
|
-
style: btnStyle,
|
|
161
|
-
disabled: disabled || readonly,
|
|
162
|
-
onClick: onDropIndexClick(index),
|
|
163
|
-
uiSchema: uiSchema,
|
|
164
|
-
registry: registry
|
|
165
|
-
})]
|
|
166
|
-
})]
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
/** The `ArrayFieldTemplate` component is the template used to render all items in an array.
|
|
171
|
-
*
|
|
172
|
-
* @param props - The `ArrayFieldTemplateItemType` props for the component
|
|
173
|
-
*/
|
|
174
|
-
function ArrayFieldTemplate(props) {
|
|
175
|
-
const {
|
|
176
|
-
canAdd,
|
|
177
|
-
disabled,
|
|
178
|
-
idSchema,
|
|
179
|
-
uiSchema,
|
|
180
|
-
items,
|
|
181
|
-
onAddClick,
|
|
182
|
-
readonly,
|
|
183
|
-
registry,
|
|
184
|
-
required,
|
|
185
|
-
schema,
|
|
186
|
-
title
|
|
187
|
-
} = props;
|
|
188
|
-
const uiOptions = utils.getUiOptions(uiSchema);
|
|
189
|
-
const ArrayFieldDescriptionTemplate = utils.getTemplate('ArrayFieldDescriptionTemplate', registry, uiOptions);
|
|
190
|
-
const ArrayFieldItemTemplate = utils.getTemplate('ArrayFieldItemTemplate', registry, uiOptions);
|
|
191
|
-
const ArrayFieldTitleTemplate = utils.getTemplate('ArrayFieldTitleTemplate', registry, uiOptions);
|
|
192
|
-
// Button templates are not overridden in the uiSchema
|
|
193
|
-
const {
|
|
194
|
-
ButtonTemplates: {
|
|
195
|
-
AddButton
|
|
196
|
-
}
|
|
197
|
-
} = registry.templates;
|
|
198
|
-
return jsxRuntime.jsx(Paper__default["default"], {
|
|
199
|
-
elevation: 2,
|
|
200
|
-
children: jsxRuntime.jsxs(Box__default["default"], {
|
|
201
|
-
p: 2,
|
|
202
|
-
children: [jsxRuntime.jsx(ArrayFieldTitleTemplate, {
|
|
203
|
-
idSchema: idSchema,
|
|
204
|
-
title: uiOptions.title || title,
|
|
205
|
-
schema: schema,
|
|
206
|
-
uiSchema: uiSchema,
|
|
207
|
-
required: required,
|
|
208
|
-
registry: registry
|
|
209
|
-
}), jsxRuntime.jsx(ArrayFieldDescriptionTemplate, {
|
|
210
|
-
idSchema: idSchema,
|
|
211
|
-
description: uiOptions.description || schema.description,
|
|
212
|
-
schema: schema,
|
|
213
|
-
uiSchema: uiSchema,
|
|
214
|
-
registry: registry
|
|
215
|
-
}), jsxRuntime.jsxs(Grid__default["default"], {
|
|
216
|
-
container: true,
|
|
217
|
-
children: [items && items.map(({
|
|
218
|
-
key,
|
|
219
|
-
...itemProps
|
|
220
|
-
}) => jsxRuntime.jsx(ArrayFieldItemTemplate, {
|
|
221
|
-
...itemProps
|
|
222
|
-
}, key)), canAdd && jsxRuntime.jsx(Grid__default["default"], {
|
|
223
|
-
container: true,
|
|
224
|
-
justifyContent: 'flex-end',
|
|
225
|
-
children: jsxRuntime.jsx(Grid__default["default"], {
|
|
226
|
-
item: true,
|
|
227
|
-
children: jsxRuntime.jsx(Box__default["default"], {
|
|
228
|
-
mt: 2,
|
|
229
|
-
children: jsxRuntime.jsx(AddButton, {
|
|
230
|
-
className: 'array-item-add',
|
|
231
|
-
onClick: onAddClick,
|
|
232
|
-
disabled: disabled || readonly,
|
|
233
|
-
uiSchema: uiSchema,
|
|
234
|
-
registry: registry
|
|
235
|
-
})
|
|
236
|
-
})
|
|
237
|
-
})
|
|
238
|
-
})]
|
|
239
|
-
}, `array-item-list-${idSchema.$id}`)]
|
|
240
|
-
})
|
|
241
|
-
});
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
const TYPES_THAT_SHRINK_LABEL = ['date', 'datetime-local', 'file', 'time'];
|
|
245
|
-
/** The `BaseInputTemplate` is the template to use to render the basic `<input>` component for the `core` theme.
|
|
246
|
-
* It is used as the template for rendering many of the <input> based widgets that differ by `type` and callbacks only.
|
|
247
|
-
* It can be customized/overridden for other themes or individual implementations as needed.
|
|
248
|
-
*
|
|
249
|
-
* @param props - The `WidgetProps` for this template
|
|
250
|
-
*/
|
|
251
|
-
function BaseInputTemplate(props) {
|
|
252
|
-
const {
|
|
253
|
-
id,
|
|
254
|
-
name,
|
|
255
|
-
// remove this from textFieldProps
|
|
256
|
-
placeholder,
|
|
257
|
-
required,
|
|
258
|
-
readonly,
|
|
259
|
-
disabled,
|
|
260
|
-
type,
|
|
261
|
-
label,
|
|
262
|
-
hideLabel,
|
|
263
|
-
value,
|
|
264
|
-
onChange,
|
|
265
|
-
onChangeOverride,
|
|
266
|
-
onBlur,
|
|
267
|
-
onFocus,
|
|
268
|
-
autofocus,
|
|
269
|
-
options,
|
|
270
|
-
schema,
|
|
271
|
-
uiSchema,
|
|
272
|
-
rawErrors = [],
|
|
273
|
-
formContext,
|
|
274
|
-
registry,
|
|
275
|
-
InputLabelProps,
|
|
276
|
-
...textFieldProps
|
|
277
|
-
} = props;
|
|
278
|
-
const inputProps = utils.getInputProps(schema, type, options);
|
|
279
|
-
// Now we need to pull out the step, min, max into an inner `inputProps` for material-ui
|
|
280
|
-
const {
|
|
281
|
-
step,
|
|
282
|
-
min,
|
|
283
|
-
max,
|
|
284
|
-
...rest
|
|
285
|
-
} = inputProps;
|
|
286
|
-
const otherProps = {
|
|
287
|
-
inputProps: {
|
|
288
|
-
step,
|
|
289
|
-
min,
|
|
290
|
-
max,
|
|
291
|
-
...(schema.examples ? {
|
|
292
|
-
list: utils.examplesId(id)
|
|
293
|
-
} : undefined)
|
|
294
|
-
},
|
|
295
|
-
...rest
|
|
296
|
-
};
|
|
297
|
-
const _onChange = ({
|
|
298
|
-
target: {
|
|
299
|
-
value
|
|
300
|
-
}
|
|
301
|
-
}) => onChange(value === '' ? options.emptyValue : value);
|
|
302
|
-
const _onBlur = ({
|
|
303
|
-
target: {
|
|
304
|
-
value
|
|
305
|
-
}
|
|
306
|
-
}) => onBlur(id, value);
|
|
307
|
-
const _onFocus = ({
|
|
308
|
-
target: {
|
|
309
|
-
value
|
|
310
|
-
}
|
|
311
|
-
}) => onFocus(id, value);
|
|
312
|
-
const DisplayInputLabelProps = TYPES_THAT_SHRINK_LABEL.includes(type) ? {
|
|
313
|
-
...InputLabelProps,
|
|
314
|
-
shrink: true
|
|
315
|
-
} : InputLabelProps;
|
|
316
|
-
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
317
|
-
children: [jsxRuntime.jsx(TextField__default["default"], {
|
|
318
|
-
id: id,
|
|
319
|
-
name: id,
|
|
320
|
-
placeholder: placeholder,
|
|
321
|
-
label: utils.labelValue(label || undefined, hideLabel, false),
|
|
322
|
-
autoFocus: autofocus,
|
|
323
|
-
required: required,
|
|
324
|
-
disabled: disabled || readonly,
|
|
325
|
-
...otherProps,
|
|
326
|
-
value: value || value === 0 ? value : '',
|
|
327
|
-
error: rawErrors.length > 0,
|
|
328
|
-
onChange: onChangeOverride || _onChange,
|
|
329
|
-
onBlur: _onBlur,
|
|
330
|
-
onFocus: _onFocus,
|
|
331
|
-
InputLabelProps: DisplayInputLabelProps,
|
|
332
|
-
...textFieldProps,
|
|
333
|
-
"aria-describedby": utils.ariaDescribedByIds(id, !!schema.examples)
|
|
334
|
-
}), Array.isArray(schema.examples) && jsxRuntime.jsx("datalist", {
|
|
335
|
-
id: utils.examplesId(id),
|
|
336
|
-
children: schema.examples.concat(schema.default && !schema.examples.includes(schema.default) ? [schema.default] : []).map(example => {
|
|
337
|
-
return jsxRuntime.jsx("option", {
|
|
338
|
-
value: example
|
|
339
|
-
}, example);
|
|
340
|
-
})
|
|
341
|
-
})]
|
|
342
|
-
});
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
/** The `DescriptionField` is the template to use to render the description of a field
|
|
346
|
-
*
|
|
347
|
-
* @param props - The `DescriptionFieldProps` for this component
|
|
348
|
-
*/
|
|
349
|
-
function DescriptionField(props) {
|
|
350
|
-
const {
|
|
351
|
-
id,
|
|
352
|
-
description
|
|
353
|
-
} = props;
|
|
354
|
-
if (description) {
|
|
355
|
-
return jsxRuntime.jsx(Typography__default["default"], {
|
|
356
|
-
id: id,
|
|
357
|
-
variant: 'subtitle2',
|
|
358
|
-
style: {
|
|
359
|
-
marginTop: '5px'
|
|
360
|
-
},
|
|
361
|
-
children: description
|
|
362
|
-
});
|
|
363
|
-
}
|
|
364
|
-
return null;
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
/** The `ErrorList` component is the template that renders the all the errors associated with the fields in the `Form`
|
|
368
|
-
*
|
|
369
|
-
* @param props - The `ErrorListProps` for this component
|
|
370
|
-
*/
|
|
371
|
-
function ErrorList({
|
|
372
|
-
errors,
|
|
373
|
-
registry
|
|
374
|
-
}) {
|
|
375
|
-
const {
|
|
376
|
-
translateString
|
|
377
|
-
} = registry;
|
|
378
|
-
return jsxRuntime.jsx(Paper__default["default"], {
|
|
379
|
-
elevation: 2,
|
|
380
|
-
children: jsxRuntime.jsxs(Box__default["default"], {
|
|
381
|
-
mb: 2,
|
|
382
|
-
p: 2,
|
|
383
|
-
children: [jsxRuntime.jsx(Typography__default["default"], {
|
|
384
|
-
variant: 'h6',
|
|
385
|
-
children: translateString(utils.TranslatableString.ErrorsLabel)
|
|
386
|
-
}), jsxRuntime.jsx(List__default["default"], {
|
|
387
|
-
dense: true,
|
|
388
|
-
children: errors.map((error, i) => {
|
|
389
|
-
return jsxRuntime.jsxs(ListItem__default["default"], {
|
|
390
|
-
children: [jsxRuntime.jsx(ListItemIcon__default["default"], {
|
|
391
|
-
children: jsxRuntime.jsx(ErrorIcon__default["default"], {
|
|
392
|
-
color: 'error'
|
|
393
|
-
})
|
|
394
|
-
}), jsxRuntime.jsx(ListItemText__default["default"], {
|
|
395
|
-
primary: error.stack
|
|
396
|
-
})]
|
|
397
|
-
}, i);
|
|
398
|
-
})
|
|
399
|
-
})]
|
|
400
|
-
})
|
|
401
|
-
});
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
function MuiIconButton(props) {
|
|
405
|
-
const {
|
|
406
|
-
icon,
|
|
407
|
-
color,
|
|
408
|
-
uiSchema,
|
|
409
|
-
registry,
|
|
410
|
-
...otherProps
|
|
411
|
-
} = props;
|
|
412
|
-
return jsxRuntime.jsx(IconButton__default["default"], {
|
|
413
|
-
...otherProps,
|
|
414
|
-
size: 'small',
|
|
415
|
-
color: color,
|
|
416
|
-
children: icon
|
|
417
|
-
});
|
|
418
|
-
}
|
|
419
|
-
function CopyButton(props) {
|
|
420
|
-
const {
|
|
421
|
-
registry: {
|
|
422
|
-
translateString
|
|
423
|
-
}
|
|
424
|
-
} = props;
|
|
425
|
-
return jsxRuntime.jsx(MuiIconButton, {
|
|
426
|
-
title: translateString(utils.TranslatableString.CopyButton),
|
|
427
|
-
...props,
|
|
428
|
-
icon: jsxRuntime.jsx(CopyIcon__default["default"], {
|
|
429
|
-
fontSize: 'small'
|
|
430
|
-
})
|
|
431
|
-
});
|
|
432
|
-
}
|
|
433
|
-
function MoveDownButton(props) {
|
|
434
|
-
const {
|
|
435
|
-
registry: {
|
|
436
|
-
translateString
|
|
437
|
-
}
|
|
438
|
-
} = props;
|
|
439
|
-
return jsxRuntime.jsx(MuiIconButton, {
|
|
440
|
-
title: translateString(utils.TranslatableString.MoveDownButton),
|
|
441
|
-
...props,
|
|
442
|
-
icon: jsxRuntime.jsx(ArrowDownwardIcon__default["default"], {
|
|
443
|
-
fontSize: 'small'
|
|
444
|
-
})
|
|
445
|
-
});
|
|
446
|
-
}
|
|
447
|
-
function MoveUpButton(props) {
|
|
448
|
-
const {
|
|
449
|
-
registry: {
|
|
450
|
-
translateString
|
|
451
|
-
}
|
|
452
|
-
} = props;
|
|
453
|
-
return jsxRuntime.jsx(MuiIconButton, {
|
|
454
|
-
title: translateString(utils.TranslatableString.MoveUpButton),
|
|
455
|
-
...props,
|
|
456
|
-
icon: jsxRuntime.jsx(ArrowUpwardIcon__default["default"], {
|
|
457
|
-
fontSize: 'small'
|
|
458
|
-
})
|
|
459
|
-
});
|
|
460
|
-
}
|
|
461
|
-
function RemoveButton(props) {
|
|
462
|
-
const {
|
|
463
|
-
iconType,
|
|
464
|
-
...otherProps
|
|
465
|
-
} = props;
|
|
466
|
-
const {
|
|
467
|
-
registry: {
|
|
468
|
-
translateString
|
|
469
|
-
}
|
|
470
|
-
} = otherProps;
|
|
471
|
-
return jsxRuntime.jsx(MuiIconButton, {
|
|
472
|
-
title: translateString(utils.TranslatableString.RemoveButton),
|
|
473
|
-
...otherProps,
|
|
474
|
-
color: 'error',
|
|
475
|
-
icon: jsxRuntime.jsx(RemoveIcon__default["default"], {
|
|
476
|
-
fontSize: iconType === 'default' ? undefined : 'small'
|
|
477
|
-
})
|
|
478
|
-
});
|
|
479
|
-
}
|
|
480
|
-
|
|
481
|
-
/** The `FieldErrorTemplate` component renders the errors local to the particular field
|
|
482
|
-
*
|
|
483
|
-
* @param props - The `FieldErrorProps` for the errors being rendered
|
|
484
|
-
*/
|
|
485
|
-
function FieldErrorTemplate(props) {
|
|
486
|
-
const {
|
|
487
|
-
errors = [],
|
|
488
|
-
idSchema
|
|
489
|
-
} = props;
|
|
490
|
-
if (errors.length === 0) {
|
|
491
|
-
return null;
|
|
492
|
-
}
|
|
493
|
-
const id = utils.errorId(idSchema);
|
|
494
|
-
return jsxRuntime.jsx(List__default["default"], {
|
|
495
|
-
dense: true,
|
|
496
|
-
disablePadding: true,
|
|
497
|
-
children: errors.map((error, i) => {
|
|
498
|
-
return jsxRuntime.jsx(ListItem__default["default"], {
|
|
499
|
-
disableGutters: true,
|
|
500
|
-
children: jsxRuntime.jsx(FormHelperText__default["default"], {
|
|
501
|
-
id: id,
|
|
502
|
-
children: error
|
|
503
|
-
})
|
|
504
|
-
}, i);
|
|
505
|
-
})
|
|
506
|
-
});
|
|
507
|
-
}
|
|
508
|
-
|
|
509
|
-
/** The `FieldHelpTemplate` component renders any help desired for a field
|
|
510
|
-
*
|
|
511
|
-
* @param props - The `FieldHelpProps` to be rendered
|
|
512
|
-
*/
|
|
513
|
-
function FieldHelpTemplate(props) {
|
|
514
|
-
const {
|
|
515
|
-
idSchema,
|
|
516
|
-
help
|
|
517
|
-
} = props;
|
|
518
|
-
if (!help) {
|
|
519
|
-
return null;
|
|
520
|
-
}
|
|
521
|
-
const id = utils.helpId(idSchema);
|
|
522
|
-
return jsxRuntime.jsx(FormHelperText__default["default"], {
|
|
523
|
-
id: id,
|
|
524
|
-
children: help
|
|
525
|
-
});
|
|
526
|
-
}
|
|
527
|
-
|
|
528
|
-
/** The `FieldTemplate` component is the template used by `SchemaField` to render any field. It renders the field
|
|
529
|
-
* content, (label, description, children, errors and help) inside of a `WrapIfAdditional` component.
|
|
530
|
-
*
|
|
531
|
-
* @param props - The `FieldTemplateProps` for this component
|
|
532
|
-
*/
|
|
533
|
-
function FieldTemplate(props) {
|
|
534
|
-
const {
|
|
535
|
-
id,
|
|
536
|
-
children,
|
|
537
|
-
classNames,
|
|
538
|
-
style,
|
|
539
|
-
disabled,
|
|
540
|
-
displayLabel,
|
|
541
|
-
hidden,
|
|
542
|
-
label,
|
|
543
|
-
onDropPropertyClick,
|
|
544
|
-
onKeyChange,
|
|
545
|
-
readonly,
|
|
546
|
-
required,
|
|
547
|
-
rawErrors = [],
|
|
548
|
-
errors,
|
|
549
|
-
help,
|
|
550
|
-
description,
|
|
551
|
-
rawDescription,
|
|
552
|
-
schema,
|
|
553
|
-
uiSchema,
|
|
554
|
-
registry
|
|
555
|
-
} = props;
|
|
556
|
-
const uiOptions = utils.getUiOptions(uiSchema);
|
|
557
|
-
const WrapIfAdditionalTemplate = utils.getTemplate('WrapIfAdditionalTemplate', registry, uiOptions);
|
|
558
|
-
if (hidden) {
|
|
559
|
-
return jsxRuntime.jsx("div", {
|
|
560
|
-
style: {
|
|
561
|
-
display: 'none'
|
|
562
|
-
},
|
|
563
|
-
children: children
|
|
564
|
-
});
|
|
565
|
-
}
|
|
566
|
-
return jsxRuntime.jsx(WrapIfAdditionalTemplate, {
|
|
567
|
-
classNames: classNames,
|
|
568
|
-
style: style,
|
|
569
|
-
disabled: disabled,
|
|
570
|
-
id: id,
|
|
571
|
-
label: label,
|
|
572
|
-
onDropPropertyClick: onDropPropertyClick,
|
|
573
|
-
onKeyChange: onKeyChange,
|
|
574
|
-
readonly: readonly,
|
|
575
|
-
required: required,
|
|
576
|
-
schema: schema,
|
|
577
|
-
uiSchema: uiSchema,
|
|
578
|
-
registry: registry,
|
|
579
|
-
children: jsxRuntime.jsxs(FormControl__default["default"], {
|
|
580
|
-
fullWidth: true,
|
|
581
|
-
error: rawErrors.length ? true : false,
|
|
582
|
-
required: required,
|
|
583
|
-
children: [children, displayLabel && rawDescription ? jsxRuntime.jsx(Typography__default["default"], {
|
|
584
|
-
variant: 'caption',
|
|
585
|
-
color: 'textSecondary',
|
|
586
|
-
children: description
|
|
587
|
-
}) : null, errors, help]
|
|
588
|
-
})
|
|
589
|
-
});
|
|
590
|
-
}
|
|
591
|
-
|
|
592
|
-
/** The `ObjectFieldTemplate` is the template to use to render all the inner properties of an object along with the
|
|
593
|
-
* title and description if available. If the object is expandable, then an `AddButton` is also rendered after all
|
|
594
|
-
* the properties.
|
|
595
|
-
*
|
|
596
|
-
* @param props - The `ObjectFieldTemplateProps` for this component
|
|
597
|
-
*/
|
|
598
|
-
function ObjectFieldTemplate(props) {
|
|
599
|
-
const {
|
|
600
|
-
description,
|
|
601
|
-
title,
|
|
602
|
-
properties,
|
|
603
|
-
required,
|
|
604
|
-
disabled,
|
|
605
|
-
readonly,
|
|
606
|
-
uiSchema,
|
|
607
|
-
idSchema,
|
|
608
|
-
schema,
|
|
609
|
-
formData,
|
|
610
|
-
onAddClick,
|
|
611
|
-
registry
|
|
612
|
-
} = props;
|
|
613
|
-
const uiOptions = utils.getUiOptions(uiSchema);
|
|
614
|
-
const TitleFieldTemplate = utils.getTemplate('TitleFieldTemplate', registry, uiOptions);
|
|
615
|
-
const DescriptionFieldTemplate = utils.getTemplate('DescriptionFieldTemplate', registry, uiOptions);
|
|
616
|
-
// Button templates are not overridden in the uiSchema
|
|
617
|
-
const {
|
|
618
|
-
ButtonTemplates: {
|
|
619
|
-
AddButton
|
|
620
|
-
}
|
|
621
|
-
} = registry.templates;
|
|
622
|
-
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
623
|
-
children: [title && jsxRuntime.jsx(TitleFieldTemplate, {
|
|
624
|
-
id: utils.titleId(idSchema),
|
|
625
|
-
title: title,
|
|
626
|
-
required: required,
|
|
627
|
-
schema: schema,
|
|
628
|
-
uiSchema: uiSchema,
|
|
629
|
-
registry: registry
|
|
630
|
-
}), description && jsxRuntime.jsx(DescriptionFieldTemplate, {
|
|
631
|
-
id: utils.descriptionId(idSchema),
|
|
632
|
-
description: description,
|
|
633
|
-
schema: schema,
|
|
634
|
-
uiSchema: uiSchema,
|
|
635
|
-
registry: registry
|
|
636
|
-
}), jsxRuntime.jsxs(Grid__default["default"], {
|
|
637
|
-
container: true,
|
|
638
|
-
spacing: 2,
|
|
639
|
-
style: {
|
|
640
|
-
marginTop: '10px'
|
|
641
|
-
},
|
|
642
|
-
children: [properties.map((element, index) =>
|
|
643
|
-
// Remove the <Grid> if the inner element is hidden as the <Grid>
|
|
644
|
-
// itself would otherwise still take up space.
|
|
645
|
-
element.hidden ? element.content : jsxRuntime.jsx(Grid__default["default"], {
|
|
646
|
-
item: true,
|
|
647
|
-
xs: 12,
|
|
648
|
-
style: {
|
|
649
|
-
marginBottom: '10px'
|
|
650
|
-
},
|
|
651
|
-
children: element.content
|
|
652
|
-
}, index)), utils.canExpand(schema, uiSchema, formData) && jsxRuntime.jsx(Grid__default["default"], {
|
|
653
|
-
container: true,
|
|
654
|
-
justifyContent: 'flex-end',
|
|
655
|
-
children: jsxRuntime.jsx(Grid__default["default"], {
|
|
656
|
-
item: true,
|
|
657
|
-
children: jsxRuntime.jsx(AddButton, {
|
|
658
|
-
className: 'object-property-expand',
|
|
659
|
-
onClick: onAddClick(schema),
|
|
660
|
-
disabled: disabled || readonly,
|
|
661
|
-
uiSchema: uiSchema,
|
|
662
|
-
registry: registry
|
|
663
|
-
})
|
|
664
|
-
})
|
|
665
|
-
})]
|
|
666
|
-
})]
|
|
667
|
-
});
|
|
668
|
-
}
|
|
669
|
-
|
|
670
|
-
/** The `SubmitButton` renders a button that represent the `Submit` action on a form
|
|
671
|
-
*/
|
|
672
|
-
function SubmitButton({
|
|
673
|
-
uiSchema
|
|
674
|
-
}) {
|
|
675
|
-
const {
|
|
676
|
-
submitText,
|
|
677
|
-
norender,
|
|
678
|
-
props: submitButtonProps = {}
|
|
679
|
-
} = utils.getSubmitButtonOptions(uiSchema);
|
|
680
|
-
if (norender) {
|
|
681
|
-
return null;
|
|
682
|
-
}
|
|
683
|
-
return jsxRuntime.jsx(Box__default["default"], {
|
|
684
|
-
marginTop: 3,
|
|
685
|
-
children: jsxRuntime.jsx(Button__default["default"], {
|
|
686
|
-
type: 'submit',
|
|
687
|
-
variant: 'contained',
|
|
688
|
-
color: 'primary',
|
|
689
|
-
...submitButtonProps,
|
|
690
|
-
children: submitText
|
|
691
|
-
})
|
|
692
|
-
});
|
|
693
|
-
}
|
|
694
|
-
|
|
695
|
-
/** The `TitleField` is the template to use to render the title of a field
|
|
696
|
-
*
|
|
697
|
-
* @param props - The `TitleFieldProps` for this component
|
|
698
|
-
*/
|
|
699
|
-
function TitleField({
|
|
700
|
-
id,
|
|
701
|
-
title
|
|
702
|
-
}) {
|
|
703
|
-
return jsxRuntime.jsxs(Box__default["default"], {
|
|
704
|
-
id: id,
|
|
705
|
-
mb: 1,
|
|
706
|
-
mt: 1,
|
|
707
|
-
children: [jsxRuntime.jsx(Typography__default["default"], {
|
|
708
|
-
variant: 'h5',
|
|
709
|
-
children: title
|
|
710
|
-
}), jsxRuntime.jsx(Divider__default["default"], {})]
|
|
711
|
-
});
|
|
712
|
-
}
|
|
713
|
-
|
|
714
|
-
/** The `WrapIfAdditional` component is used by the `FieldTemplate` to rename, or remove properties that are
|
|
715
|
-
* part of an `additionalProperties` part of a schema.
|
|
716
|
-
*
|
|
717
|
-
* @param props - The `WrapIfAdditionalProps` for this component
|
|
718
|
-
*/
|
|
719
|
-
function WrapIfAdditionalTemplate(props) {
|
|
720
|
-
const {
|
|
721
|
-
children,
|
|
722
|
-
classNames,
|
|
723
|
-
style,
|
|
724
|
-
disabled,
|
|
725
|
-
id,
|
|
726
|
-
label,
|
|
727
|
-
onDropPropertyClick,
|
|
728
|
-
onKeyChange,
|
|
729
|
-
readonly,
|
|
730
|
-
required,
|
|
731
|
-
schema,
|
|
732
|
-
uiSchema,
|
|
733
|
-
registry
|
|
734
|
-
} = props;
|
|
735
|
-
const {
|
|
736
|
-
templates,
|
|
737
|
-
translateString
|
|
738
|
-
} = registry;
|
|
739
|
-
// Button templates are not overridden in the uiSchema
|
|
740
|
-
const {
|
|
741
|
-
RemoveButton
|
|
742
|
-
} = templates.ButtonTemplates;
|
|
743
|
-
const keyLabel = translateString(utils.TranslatableString.KeyLabel, [label]);
|
|
744
|
-
const additional = (utils.ADDITIONAL_PROPERTY_FLAG in schema);
|
|
745
|
-
const btnStyle = {
|
|
746
|
-
flex: 1,
|
|
747
|
-
paddingLeft: 6,
|
|
748
|
-
paddingRight: 6,
|
|
749
|
-
fontWeight: 'bold'
|
|
750
|
-
};
|
|
751
|
-
if (!additional) {
|
|
752
|
-
return jsxRuntime.jsx("div", {
|
|
753
|
-
className: classNames,
|
|
754
|
-
style: style,
|
|
755
|
-
children: children
|
|
756
|
-
});
|
|
757
|
-
}
|
|
758
|
-
const handleBlur = ({
|
|
759
|
-
target
|
|
760
|
-
}) => onKeyChange(target.value);
|
|
761
|
-
return jsxRuntime.jsxs(Grid__default["default"], {
|
|
762
|
-
container: true,
|
|
763
|
-
alignItems: 'center',
|
|
764
|
-
spacing: 2,
|
|
765
|
-
className: classNames,
|
|
766
|
-
style: style,
|
|
767
|
-
children: [jsxRuntime.jsx(Grid__default["default"], {
|
|
768
|
-
item: true,
|
|
769
|
-
xs: true,
|
|
770
|
-
children: jsxRuntime.jsx(TextField__default["default"], {
|
|
771
|
-
fullWidth: true,
|
|
772
|
-
required: required,
|
|
773
|
-
label: keyLabel,
|
|
774
|
-
defaultValue: label,
|
|
775
|
-
disabled: disabled || readonly,
|
|
776
|
-
id: `${id}-key`,
|
|
777
|
-
name: `${id}-key`,
|
|
778
|
-
onBlur: !readonly ? handleBlur : undefined,
|
|
779
|
-
type: 'text'
|
|
780
|
-
})
|
|
781
|
-
}), jsxRuntime.jsx(Grid__default["default"], {
|
|
782
|
-
item: true,
|
|
783
|
-
xs: true,
|
|
784
|
-
children: children
|
|
785
|
-
}), jsxRuntime.jsx(Grid__default["default"], {
|
|
786
|
-
item: true,
|
|
787
|
-
children: jsxRuntime.jsx(RemoveButton, {
|
|
788
|
-
iconType: 'default',
|
|
789
|
-
style: btnStyle,
|
|
790
|
-
disabled: disabled || readonly,
|
|
791
|
-
onClick: onDropPropertyClick(label),
|
|
792
|
-
uiSchema: uiSchema,
|
|
793
|
-
registry: registry
|
|
794
|
-
})
|
|
795
|
-
})]
|
|
796
|
-
}, `${id}-key`);
|
|
797
|
-
}
|
|
798
|
-
|
|
799
|
-
function generateTemplates() {
|
|
800
|
-
return {
|
|
801
|
-
ArrayFieldItemTemplate,
|
|
802
|
-
ArrayFieldTemplate,
|
|
803
|
-
BaseInputTemplate,
|
|
804
|
-
ButtonTemplates: {
|
|
805
|
-
AddButton,
|
|
806
|
-
CopyButton,
|
|
807
|
-
MoveDownButton,
|
|
808
|
-
MoveUpButton,
|
|
809
|
-
RemoveButton,
|
|
810
|
-
SubmitButton
|
|
811
|
-
},
|
|
812
|
-
DescriptionFieldTemplate: DescriptionField,
|
|
813
|
-
ErrorListTemplate: ErrorList,
|
|
814
|
-
FieldErrorTemplate,
|
|
815
|
-
FieldHelpTemplate,
|
|
816
|
-
FieldTemplate,
|
|
817
|
-
ObjectFieldTemplate,
|
|
818
|
-
TitleFieldTemplate: TitleField,
|
|
819
|
-
WrapIfAdditionalTemplate
|
|
820
|
-
};
|
|
821
|
-
}
|
|
822
|
-
var Templates = /*#__PURE__*/generateTemplates();
|
|
823
|
-
|
|
824
|
-
/** The `CheckBoxWidget` is a widget for rendering boolean properties.
|
|
825
|
-
* It is typically used to represent a boolean.
|
|
826
|
-
*
|
|
827
|
-
* @param props - The `WidgetProps` for this component
|
|
828
|
-
*/
|
|
829
|
-
function CheckboxWidget(props) {
|
|
830
|
-
const {
|
|
831
|
-
schema,
|
|
832
|
-
id,
|
|
833
|
-
value,
|
|
834
|
-
disabled,
|
|
835
|
-
readonly,
|
|
836
|
-
label = '',
|
|
837
|
-
hideLabel,
|
|
838
|
-
autofocus,
|
|
839
|
-
onChange,
|
|
840
|
-
onBlur,
|
|
841
|
-
onFocus,
|
|
842
|
-
registry,
|
|
843
|
-
options,
|
|
844
|
-
uiSchema
|
|
845
|
-
} = props;
|
|
846
|
-
const DescriptionFieldTemplate = utils.getTemplate('DescriptionFieldTemplate', registry, options);
|
|
847
|
-
// Because an unchecked checkbox will cause html5 validation to fail, only add
|
|
848
|
-
// the "required" attribute if the field value must be "true", due to the
|
|
849
|
-
// "const" or "enum" keywords
|
|
850
|
-
const required = utils.schemaRequiresTrueValue(schema);
|
|
851
|
-
const _onChange = (_, checked) => onChange(checked);
|
|
852
|
-
const _onBlur = ({
|
|
853
|
-
target: {
|
|
854
|
-
value
|
|
855
|
-
}
|
|
856
|
-
}) => onBlur(id, value);
|
|
857
|
-
const _onFocus = ({
|
|
858
|
-
target: {
|
|
859
|
-
value
|
|
860
|
-
}
|
|
861
|
-
}) => onFocus(id, value);
|
|
862
|
-
const description = options.description ?? schema.description;
|
|
863
|
-
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
864
|
-
children: [!hideLabel && !!description && jsxRuntime.jsx(DescriptionFieldTemplate, {
|
|
865
|
-
id: utils.descriptionId(id),
|
|
866
|
-
description: description,
|
|
867
|
-
schema: schema,
|
|
868
|
-
uiSchema: uiSchema,
|
|
869
|
-
registry: registry
|
|
870
|
-
}), jsxRuntime.jsx(FormControlLabel__default["default"], {
|
|
871
|
-
control: jsxRuntime.jsx(Checkbox__default["default"], {
|
|
872
|
-
id: id,
|
|
873
|
-
name: id,
|
|
874
|
-
checked: typeof value === 'undefined' ? false : Boolean(value),
|
|
875
|
-
required: required,
|
|
876
|
-
disabled: disabled || readonly,
|
|
877
|
-
autoFocus: autofocus,
|
|
878
|
-
onChange: _onChange,
|
|
879
|
-
onBlur: _onBlur,
|
|
880
|
-
onFocus: _onFocus,
|
|
881
|
-
"aria-describedby": utils.ariaDescribedByIds(id)
|
|
882
|
-
}),
|
|
883
|
-
label: utils.labelValue(label, hideLabel, false)
|
|
884
|
-
})]
|
|
885
|
-
});
|
|
886
|
-
}
|
|
887
|
-
|
|
888
|
-
/** The `CheckboxesWidget` is a widget for rendering checkbox groups.
|
|
889
|
-
* It is typically used to represent an array of enums.
|
|
890
|
-
*
|
|
891
|
-
* @param props - The `WidgetProps` for this component
|
|
892
|
-
*/
|
|
893
|
-
function CheckboxesWidget({
|
|
894
|
-
label,
|
|
895
|
-
hideLabel,
|
|
896
|
-
id,
|
|
897
|
-
disabled,
|
|
898
|
-
options,
|
|
899
|
-
value,
|
|
900
|
-
autofocus,
|
|
901
|
-
readonly,
|
|
902
|
-
required,
|
|
903
|
-
onChange,
|
|
904
|
-
onBlur,
|
|
905
|
-
onFocus
|
|
906
|
-
}) {
|
|
907
|
-
const {
|
|
908
|
-
enumOptions,
|
|
909
|
-
enumDisabled,
|
|
910
|
-
inline,
|
|
911
|
-
emptyValue
|
|
912
|
-
} = options;
|
|
913
|
-
const checkboxesValues = Array.isArray(value) ? value : [value];
|
|
914
|
-
const _onChange = index => ({
|
|
915
|
-
target: {
|
|
916
|
-
checked
|
|
917
|
-
}
|
|
918
|
-
}) => {
|
|
919
|
-
if (checked) {
|
|
920
|
-
onChange(utils.enumOptionsSelectValue(index, checkboxesValues, enumOptions));
|
|
921
|
-
} else {
|
|
922
|
-
onChange(utils.enumOptionsDeselectValue(index, checkboxesValues, enumOptions));
|
|
923
|
-
}
|
|
924
|
-
};
|
|
925
|
-
const _onBlur = ({
|
|
926
|
-
target: {
|
|
927
|
-
value
|
|
928
|
-
}
|
|
929
|
-
}) => onBlur(id, utils.enumOptionsValueForIndex(value, enumOptions, emptyValue));
|
|
930
|
-
const _onFocus = ({
|
|
931
|
-
target: {
|
|
932
|
-
value
|
|
933
|
-
}
|
|
934
|
-
}) => onFocus(id, utils.enumOptionsValueForIndex(value, enumOptions, emptyValue));
|
|
935
|
-
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
936
|
-
children: [utils.labelValue(jsxRuntime.jsx(FormLabel__default["default"], {
|
|
937
|
-
required: required,
|
|
938
|
-
htmlFor: id,
|
|
939
|
-
children: label || undefined
|
|
940
|
-
}), hideLabel), jsxRuntime.jsx(FormGroup__default["default"], {
|
|
941
|
-
id: id,
|
|
942
|
-
row: !!inline,
|
|
943
|
-
children: Array.isArray(enumOptions) && enumOptions.map((option, index) => {
|
|
944
|
-
const checked = utils.enumOptionsIsSelected(option.value, checkboxesValues);
|
|
945
|
-
const itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;
|
|
946
|
-
const checkbox = jsxRuntime.jsx(Checkbox__default["default"], {
|
|
947
|
-
id: utils.optionId(id, index),
|
|
948
|
-
name: id,
|
|
949
|
-
checked: checked,
|
|
950
|
-
disabled: disabled || itemDisabled || readonly,
|
|
951
|
-
autoFocus: autofocus && index === 0,
|
|
952
|
-
onChange: _onChange(index),
|
|
953
|
-
onBlur: _onBlur,
|
|
954
|
-
onFocus: _onFocus,
|
|
955
|
-
"aria-describedby": utils.ariaDescribedByIds(id)
|
|
956
|
-
});
|
|
957
|
-
return jsxRuntime.jsx(FormControlLabel__default["default"], {
|
|
958
|
-
control: checkbox,
|
|
959
|
-
label: option.label
|
|
960
|
-
}, index);
|
|
961
|
-
})
|
|
962
|
-
})]
|
|
963
|
-
});
|
|
964
|
-
}
|
|
965
|
-
|
|
966
|
-
/** The `RadioWidget` is a widget for rendering a radio group.
|
|
967
|
-
* It is typically used with a string property constrained with enum options.
|
|
968
|
-
*
|
|
969
|
-
* @param props - The `WidgetProps` for this component
|
|
970
|
-
*/
|
|
971
|
-
function RadioWidget({
|
|
972
|
-
id,
|
|
973
|
-
options,
|
|
974
|
-
value,
|
|
975
|
-
required,
|
|
976
|
-
disabled,
|
|
977
|
-
readonly,
|
|
978
|
-
label,
|
|
979
|
-
hideLabel,
|
|
980
|
-
onChange,
|
|
981
|
-
onBlur,
|
|
982
|
-
onFocus
|
|
983
|
-
}) {
|
|
984
|
-
const {
|
|
985
|
-
enumOptions,
|
|
986
|
-
enumDisabled,
|
|
987
|
-
emptyValue
|
|
988
|
-
} = options;
|
|
989
|
-
const _onChange = (_, value) => onChange(utils.enumOptionsValueForIndex(value, enumOptions, emptyValue));
|
|
990
|
-
const _onBlur = ({
|
|
991
|
-
target: {
|
|
992
|
-
value
|
|
993
|
-
}
|
|
994
|
-
}) => onBlur(id, utils.enumOptionsValueForIndex(value, enumOptions, emptyValue));
|
|
995
|
-
const _onFocus = ({
|
|
996
|
-
target: {
|
|
997
|
-
value
|
|
998
|
-
}
|
|
999
|
-
}) => onFocus(id, utils.enumOptionsValueForIndex(value, enumOptions, emptyValue));
|
|
1000
|
-
const row = options ? options.inline : false;
|
|
1001
|
-
const selectedIndex = utils.enumOptionsIndexForValue(value, enumOptions) ?? null;
|
|
1002
|
-
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1003
|
-
children: [utils.labelValue(jsxRuntime.jsx(FormLabel__default["default"], {
|
|
1004
|
-
required: required,
|
|
1005
|
-
htmlFor: id,
|
|
1006
|
-
children: label || undefined
|
|
1007
|
-
}), hideLabel), jsxRuntime.jsx(RadioGroup__default["default"], {
|
|
1008
|
-
id: id,
|
|
1009
|
-
name: id,
|
|
1010
|
-
value: selectedIndex,
|
|
1011
|
-
row: row,
|
|
1012
|
-
onChange: _onChange,
|
|
1013
|
-
onBlur: _onBlur,
|
|
1014
|
-
onFocus: _onFocus,
|
|
1015
|
-
"aria-describedby": utils.ariaDescribedByIds(id),
|
|
1016
|
-
children: Array.isArray(enumOptions) && enumOptions.map((option, index) => {
|
|
1017
|
-
const itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;
|
|
1018
|
-
const radio = jsxRuntime.jsx(FormControlLabel__default["default"], {
|
|
1019
|
-
control: jsxRuntime.jsx(Radio__default["default"], {
|
|
1020
|
-
name: id,
|
|
1021
|
-
id: utils.optionId(id, index),
|
|
1022
|
-
color: 'primary'
|
|
1023
|
-
}),
|
|
1024
|
-
label: option.label,
|
|
1025
|
-
value: String(index),
|
|
1026
|
-
disabled: disabled || itemDisabled || readonly
|
|
1027
|
-
}, index);
|
|
1028
|
-
return radio;
|
|
1029
|
-
})
|
|
1030
|
-
})]
|
|
1031
|
-
});
|
|
1032
|
-
}
|
|
1033
|
-
|
|
1034
|
-
/** The `RangeWidget` component uses the `BaseInputTemplate` changing the type to `range` and wrapping the result
|
|
1035
|
-
* in a div, with the value along side it.
|
|
1036
|
-
*
|
|
1037
|
-
* @param props - The `WidgetProps` for this component
|
|
1038
|
-
*/
|
|
1039
|
-
function RangeWidget(props) {
|
|
1040
|
-
const {
|
|
1041
|
-
value,
|
|
1042
|
-
readonly,
|
|
1043
|
-
disabled,
|
|
1044
|
-
onBlur,
|
|
1045
|
-
onFocus,
|
|
1046
|
-
options,
|
|
1047
|
-
schema,
|
|
1048
|
-
onChange,
|
|
1049
|
-
required,
|
|
1050
|
-
label,
|
|
1051
|
-
hideLabel,
|
|
1052
|
-
id
|
|
1053
|
-
} = props;
|
|
1054
|
-
const sliderProps = {
|
|
1055
|
-
value,
|
|
1056
|
-
label,
|
|
1057
|
-
id,
|
|
1058
|
-
name: id,
|
|
1059
|
-
...utils.rangeSpec(schema)
|
|
1060
|
-
};
|
|
1061
|
-
const _onChange = (_, value) => {
|
|
1062
|
-
onChange(value ?? options.emptyValue);
|
|
1063
|
-
};
|
|
1064
|
-
const _onBlur = ({
|
|
1065
|
-
target: {
|
|
1066
|
-
value
|
|
1067
|
-
}
|
|
1068
|
-
}) => onBlur(id, value);
|
|
1069
|
-
const _onFocus = ({
|
|
1070
|
-
target: {
|
|
1071
|
-
value
|
|
1072
|
-
}
|
|
1073
|
-
}) => onFocus(id, value);
|
|
1074
|
-
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1075
|
-
children: [utils.labelValue(jsxRuntime.jsx(FormLabel__default["default"], {
|
|
1076
|
-
required: required,
|
|
1077
|
-
htmlFor: id,
|
|
1078
|
-
children: label || undefined
|
|
1079
|
-
}), hideLabel), jsxRuntime.jsx(Slider__default["default"], {
|
|
1080
|
-
disabled: disabled || readonly,
|
|
1081
|
-
onChange: _onChange,
|
|
1082
|
-
onBlur: _onBlur,
|
|
1083
|
-
onFocus: _onFocus,
|
|
1084
|
-
valueLabelDisplay: 'auto',
|
|
1085
|
-
...sliderProps,
|
|
1086
|
-
"aria-describedby": utils.ariaDescribedByIds(id)
|
|
1087
|
-
})]
|
|
1088
|
-
});
|
|
1089
|
-
}
|
|
1090
|
-
|
|
1091
|
-
/** The `SelectWidget` is a widget for rendering dropdowns.
|
|
1092
|
-
* It is typically used with string properties constrained with enum options.
|
|
1093
|
-
*
|
|
1094
|
-
* @param props - The `WidgetProps` for this component
|
|
1095
|
-
*/
|
|
1096
|
-
function SelectWidget({
|
|
1097
|
-
schema,
|
|
1098
|
-
id,
|
|
1099
|
-
name,
|
|
1100
|
-
// remove this from textFieldProps
|
|
1101
|
-
options,
|
|
1102
|
-
label,
|
|
1103
|
-
hideLabel,
|
|
1104
|
-
required,
|
|
1105
|
-
disabled,
|
|
1106
|
-
placeholder,
|
|
1107
|
-
readonly,
|
|
1108
|
-
value,
|
|
1109
|
-
multiple,
|
|
1110
|
-
autofocus,
|
|
1111
|
-
onChange,
|
|
1112
|
-
onBlur,
|
|
1113
|
-
onFocus,
|
|
1114
|
-
rawErrors = [],
|
|
1115
|
-
registry,
|
|
1116
|
-
uiSchema,
|
|
1117
|
-
hideError,
|
|
1118
|
-
formContext,
|
|
1119
|
-
...textFieldProps
|
|
1120
|
-
}) {
|
|
1121
|
-
const {
|
|
1122
|
-
enumOptions,
|
|
1123
|
-
enumDisabled,
|
|
1124
|
-
emptyValue: optEmptyVal
|
|
1125
|
-
} = options;
|
|
1126
|
-
multiple = typeof multiple === 'undefined' ? false : !!multiple;
|
|
1127
|
-
const emptyValue = multiple ? [] : '';
|
|
1128
|
-
const isEmpty = typeof value === 'undefined' || multiple && value.length < 1 || !multiple && value === emptyValue;
|
|
1129
|
-
const _onChange = ({
|
|
1130
|
-
target: {
|
|
1131
|
-
value
|
|
1132
|
-
}
|
|
1133
|
-
}) => onChange(utils.enumOptionsValueForIndex(value, enumOptions, optEmptyVal));
|
|
1134
|
-
const _onBlur = ({
|
|
1135
|
-
target: {
|
|
1136
|
-
value
|
|
1137
|
-
}
|
|
1138
|
-
}) => onBlur(id, utils.enumOptionsValueForIndex(value, enumOptions, optEmptyVal));
|
|
1139
|
-
const _onFocus = ({
|
|
1140
|
-
target: {
|
|
1141
|
-
value
|
|
1142
|
-
}
|
|
1143
|
-
}) => onFocus(id, utils.enumOptionsValueForIndex(value, enumOptions, optEmptyVal));
|
|
1144
|
-
const selectedIndexes = utils.enumOptionsIndexForValue(value, enumOptions, multiple);
|
|
1145
|
-
return jsxRuntime.jsx(TextField__default["default"], {
|
|
1146
|
-
id: id,
|
|
1147
|
-
name: id,
|
|
1148
|
-
label: utils.labelValue(label || undefined, hideLabel, false),
|
|
1149
|
-
value: isEmpty ? emptyValue : selectedIndexes,
|
|
1150
|
-
required: required,
|
|
1151
|
-
disabled: disabled || readonly,
|
|
1152
|
-
autoFocus: autofocus,
|
|
1153
|
-
placeholder: placeholder,
|
|
1154
|
-
error: rawErrors.length > 0,
|
|
1155
|
-
onChange: _onChange,
|
|
1156
|
-
onBlur: _onBlur,
|
|
1157
|
-
onFocus: _onFocus,
|
|
1158
|
-
...textFieldProps,
|
|
1159
|
-
select // Apply this and the following props after the potential overrides defined in textFieldProps
|
|
1160
|
-
: true,
|
|
1161
|
-
InputLabelProps: {
|
|
1162
|
-
...textFieldProps.InputLabelProps,
|
|
1163
|
-
shrink: !isEmpty
|
|
1164
|
-
},
|
|
1165
|
-
SelectProps: {
|
|
1166
|
-
...textFieldProps.SelectProps,
|
|
1167
|
-
multiple
|
|
1168
|
-
},
|
|
1169
|
-
"aria-describedby": utils.ariaDescribedByIds(id),
|
|
1170
|
-
children: Array.isArray(enumOptions) && enumOptions.map(({
|
|
1171
|
-
value,
|
|
1172
|
-
label
|
|
1173
|
-
}, i) => {
|
|
1174
|
-
const disabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(value) !== -1;
|
|
1175
|
-
return jsxRuntime.jsx(MenuItem__default["default"], {
|
|
1176
|
-
value: String(i),
|
|
1177
|
-
disabled: disabled,
|
|
1178
|
-
children: label
|
|
1179
|
-
}, i);
|
|
1180
|
-
})
|
|
1181
|
-
});
|
|
1182
|
-
}
|
|
1183
|
-
|
|
1184
|
-
/** The `TextareaWidget` is a widget for rendering input fields as textarea.
|
|
1185
|
-
*
|
|
1186
|
-
* @param props - The `WidgetProps` for this component
|
|
1187
|
-
*/
|
|
1188
|
-
function TextareaWidget(props) {
|
|
1189
|
-
const {
|
|
1190
|
-
options,
|
|
1191
|
-
registry
|
|
1192
|
-
} = props;
|
|
1193
|
-
const BaseInputTemplate = utils.getTemplate('BaseInputTemplate', registry, options);
|
|
1194
|
-
let rows = 5;
|
|
1195
|
-
if (typeof options.rows === 'string' || typeof options.rows === 'number') {
|
|
1196
|
-
rows = options.rows;
|
|
1197
|
-
}
|
|
1198
|
-
return jsxRuntime.jsx(BaseInputTemplate, {
|
|
1199
|
-
...props,
|
|
1200
|
-
multiline: true,
|
|
1201
|
-
rows: rows
|
|
1202
|
-
});
|
|
1203
|
-
}
|
|
1204
|
-
|
|
1205
|
-
function generateWidgets() {
|
|
1206
|
-
return {
|
|
1207
|
-
CheckboxWidget,
|
|
1208
|
-
CheckboxesWidget,
|
|
1209
|
-
RadioWidget,
|
|
1210
|
-
RangeWidget,
|
|
1211
|
-
SelectWidget,
|
|
1212
|
-
TextareaWidget
|
|
1213
|
-
};
|
|
1214
|
-
}
|
|
1215
|
-
var Widgets = /*#__PURE__*/generateWidgets();
|
|
1216
|
-
|
|
1217
|
-
function generateTheme() {
|
|
1218
|
-
return {
|
|
1219
|
-
templates: generateTemplates(),
|
|
1220
|
-
widgets: generateWidgets()
|
|
1221
|
-
};
|
|
1222
|
-
}
|
|
1223
|
-
var Theme = /*#__PURE__*/generateTheme();
|
|
1224
|
-
|
|
1225
|
-
function generateForm() {
|
|
1226
|
-
return core.withTheme(generateTheme());
|
|
1227
|
-
}
|
|
1228
|
-
var MuiForm = /*#__PURE__*/generateForm();
|
|
1229
|
-
|
|
1230
|
-
exports.Form = MuiForm;
|
|
1231
|
-
exports.Templates = Templates;
|
|
1232
|
-
exports.Theme = Theme;
|
|
1233
|
-
exports.Widgets = Widgets;
|
|
1234
|
-
exports["default"] = MuiForm;
|
|
1235
|
-
exports.generateForm = generateForm;
|
|
1236
|
-
exports.generateTemplates = generateTemplates;
|
|
1237
|
-
exports.generateTheme = generateTheme;
|
|
1238
|
-
exports.generateWidgets = generateWidgets;
|
|
1239
|
-
//# sourceMappingURL=mui.cjs.development.js.map
|