@rjsf/mui 5.2.0 → 5.2.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/mui.esm.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { withTheme } from '@rjsf/core';
2
- import React from 'react';
2
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
3
  import AddIcon from '@mui/icons-material/Add';
4
4
  import IconButton from '@mui/material/IconButton';
5
- import { TranslatableString, getUiOptions, getTemplate, getInputProps, examplesId, ariaDescribedByIds, errorId, helpId, titleId, descriptionId, canExpand, getSubmitButtonOptions, ADDITIONAL_PROPERTY_FLAG, schemaRequiresTrueValue, enumOptionsIsSelected, optionId, enumOptionsSelectValue, enumOptionsDeselectValue, enumOptionsValueForIndex, utcToLocal, localToUTC, enumOptionsIndexForValue, rangeSpec } from '@rjsf/utils';
5
+ import { TranslatableString, getUiOptions, getTemplate, getInputProps, examplesId, ariaDescribedByIds, errorId, helpId, titleId, descriptionId, canExpand, getSubmitButtonOptions, ADDITIONAL_PROPERTY_FLAG, schemaRequiresTrueValue, enumOptionsIsSelected, optionId, enumOptionsSelectValue, enumOptionsDeselectValue, enumOptionsValueForIndex, enumOptionsIndexForValue, rangeSpec } from '@rjsf/utils';
6
6
  import Box from '@mui/material/Box';
7
7
  import Grid from '@mui/material/Grid';
8
8
  import Paper from '@mui/material/Paper';
@@ -65,11 +65,12 @@ function AddButton(_ref) {
65
65
  var registry = _ref.registry,
66
66
  props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
67
67
  var translateString = registry.translateString;
68
- return /*#__PURE__*/React.createElement(IconButton, _extends({
68
+ return jsx(IconButton, _extends({
69
69
  title: translateString(TranslatableString.AddItemButton)
70
70
  }, props, {
71
- color: "primary"
72
- }), /*#__PURE__*/React.createElement(AddIcon, null));
71
+ color: 'primary',
72
+ children: jsx(AddIcon, {})
73
+ }));
73
74
  }
74
75
 
75
76
  /** The `ArrayFieldItemTemplate` component is the template used to render an items of an array.
@@ -97,45 +98,51 @@ function ArrayFieldItemTemplate(props) {
97
98
  flex: 1,
98
99
  paddingLeft: 6,
99
100
  paddingRight: 6,
100
- fontWeight: "bold",
101
+ fontWeight: 'bold',
101
102
  minWidth: 0
102
103
  };
103
- return /*#__PURE__*/React.createElement(Grid, {
104
+ return jsxs(Grid, {
104
105
  container: true,
105
- alignItems: "center"
106
- }, /*#__PURE__*/React.createElement(Grid, {
107
- item: true,
108
- xs: true,
109
- style: {
110
- overflow: "auto"
111
- }
112
- }, /*#__PURE__*/React.createElement(Box, {
113
- mb: 2
114
- }, /*#__PURE__*/React.createElement(Paper, {
115
- elevation: 2
116
- }, /*#__PURE__*/React.createElement(Box, {
117
- p: 2
118
- }, children)))), hasToolbar && /*#__PURE__*/React.createElement(Grid, {
119
- item: true
120
- }, (hasMoveUp || hasMoveDown) && /*#__PURE__*/React.createElement(MoveUpButton, {
121
- style: btnStyle,
122
- disabled: disabled || readonly || !hasMoveUp,
123
- onClick: onReorderClick(index, index - 1),
124
- uiSchema: uiSchema,
125
- registry: registry
126
- }), (hasMoveUp || hasMoveDown) && /*#__PURE__*/React.createElement(MoveDownButton, {
127
- style: btnStyle,
128
- disabled: disabled || readonly || !hasMoveDown,
129
- onClick: onReorderClick(index, index + 1),
130
- uiSchema: uiSchema,
131
- registry: registry
132
- }), hasRemove && /*#__PURE__*/React.createElement(RemoveButton, {
133
- style: btnStyle,
134
- disabled: disabled || readonly,
135
- onClick: onDropIndexClick(index),
136
- uiSchema: uiSchema,
137
- registry: registry
138
- })));
106
+ alignItems: 'center',
107
+ children: [jsx(Grid, {
108
+ item: true,
109
+ xs: true,
110
+ style: {
111
+ overflow: 'auto'
112
+ },
113
+ children: jsx(Box, {
114
+ mb: 2,
115
+ children: jsx(Paper, {
116
+ elevation: 2,
117
+ children: jsx(Box, {
118
+ p: 2,
119
+ children: children
120
+ })
121
+ })
122
+ })
123
+ }), hasToolbar && jsxs(Grid, {
124
+ item: true,
125
+ children: [(hasMoveUp || hasMoveDown) && jsx(MoveUpButton, {
126
+ style: btnStyle,
127
+ disabled: disabled || readonly || !hasMoveUp,
128
+ onClick: onReorderClick(index, index - 1),
129
+ uiSchema: uiSchema,
130
+ registry: registry
131
+ }), (hasMoveUp || hasMoveDown) && jsx(MoveDownButton, {
132
+ style: btnStyle,
133
+ disabled: disabled || readonly || !hasMoveDown,
134
+ onClick: onReorderClick(index, index + 1),
135
+ uiSchema: uiSchema,
136
+ registry: registry
137
+ }), hasRemove && jsx(RemoveButton, {
138
+ style: btnStyle,
139
+ disabled: disabled || readonly,
140
+ onClick: onDropIndexClick(index),
141
+ uiSchema: uiSchema,
142
+ registry: registry
143
+ })]
144
+ })]
145
+ });
139
146
  }
140
147
 
141
148
  var _excluded$3 = ["key"];
@@ -156,55 +163,59 @@ function ArrayFieldTemplate(props) {
156
163
  schema = props.schema,
157
164
  title = props.title;
158
165
  var uiOptions = getUiOptions(uiSchema);
159
- var ArrayFieldDescriptionTemplate = getTemplate("ArrayFieldDescriptionTemplate", registry, uiOptions);
160
- var ArrayFieldItemTemplate = getTemplate("ArrayFieldItemTemplate", registry, uiOptions);
161
- var ArrayFieldTitleTemplate = getTemplate("ArrayFieldTitleTemplate", registry, uiOptions);
166
+ var ArrayFieldDescriptionTemplate = getTemplate('ArrayFieldDescriptionTemplate', registry, uiOptions);
167
+ var ArrayFieldItemTemplate = getTemplate('ArrayFieldItemTemplate', registry, uiOptions);
168
+ var ArrayFieldTitleTemplate = getTemplate('ArrayFieldTitleTemplate', registry, uiOptions);
162
169
  // Button templates are not overridden in the uiSchema
163
170
  var AddButton = registry.templates.ButtonTemplates.AddButton;
164
- return /*#__PURE__*/React.createElement(Paper, {
165
- elevation: 2
166
- }, /*#__PURE__*/React.createElement(Box, {
167
- p: 2
168
- }, /*#__PURE__*/React.createElement(ArrayFieldTitleTemplate, {
169
- idSchema: idSchema,
170
- title: uiOptions.title || title,
171
- schema: schema,
172
- uiSchema: uiSchema,
173
- required: required,
174
- registry: registry
175
- }), /*#__PURE__*/React.createElement(ArrayFieldDescriptionTemplate, {
176
- idSchema: idSchema,
177
- description: uiOptions.description || schema.description,
178
- schema: schema,
179
- uiSchema: uiSchema,
180
- registry: registry
181
- }), /*#__PURE__*/React.createElement(Grid, {
182
- container: true,
183
- key: "array-item-list-" + idSchema.$id
184
- }, items && items.map(function (_ref) {
185
- var key = _ref.key,
186
- itemProps = _objectWithoutPropertiesLoose(_ref, _excluded$3);
187
- return /*#__PURE__*/React.createElement(ArrayFieldItemTemplate, _extends({
188
- key: key
189
- }, itemProps));
190
- }), canAdd && /*#__PURE__*/React.createElement(Grid, {
191
- container: true,
192
- justifyContent: "flex-end"
193
- }, /*#__PURE__*/React.createElement(Grid, {
194
- item: true
195
- }, /*#__PURE__*/React.createElement(Box, {
196
- mt: 2
197
- }, /*#__PURE__*/React.createElement(AddButton, {
198
- className: "array-item-add",
199
- onClick: onAddClick,
200
- disabled: disabled || readonly,
201
- uiSchema: uiSchema,
202
- registry: registry
203
- })))))));
171
+ return jsx(Paper, {
172
+ elevation: 2,
173
+ children: jsxs(Box, {
174
+ p: 2,
175
+ children: [jsx(ArrayFieldTitleTemplate, {
176
+ idSchema: idSchema,
177
+ title: uiOptions.title || title,
178
+ schema: schema,
179
+ uiSchema: uiSchema,
180
+ required: required,
181
+ registry: registry
182
+ }), jsx(ArrayFieldDescriptionTemplate, {
183
+ idSchema: idSchema,
184
+ description: uiOptions.description || schema.description,
185
+ schema: schema,
186
+ uiSchema: uiSchema,
187
+ registry: registry
188
+ }), jsxs(Grid, {
189
+ container: true,
190
+ children: [items && items.map(function (_ref) {
191
+ var key = _ref.key,
192
+ itemProps = _objectWithoutPropertiesLoose(_ref, _excluded$3);
193
+ return jsx(ArrayFieldItemTemplate, _extends({}, itemProps), key);
194
+ }), canAdd && jsx(Grid, {
195
+ container: true,
196
+ justifyContent: 'flex-end',
197
+ children: jsx(Grid, {
198
+ item: true,
199
+ children: jsx(Box, {
200
+ mt: 2,
201
+ children: jsx(AddButton, {
202
+ className: 'array-item-add',
203
+ onClick: onAddClick,
204
+ disabled: disabled || readonly,
205
+ uiSchema: uiSchema,
206
+ registry: registry
207
+ })
208
+ })
209
+ })
210
+ })]
211
+ }, "array-item-list-" + idSchema.$id)]
212
+ })
213
+ });
204
214
  }
205
215
 
206
- var _excluded$2 = ["id", "placeholder", "required", "readonly", "disabled", "type", "label", "value", "onChange", "onBlur", "onFocus", "autofocus", "options", "schema", "uiSchema", "rawErrors", "formContext", "registry"],
216
+ var _excluded$2 = ["id", "name", "placeholder", "required", "readonly", "disabled", "type", "label", "value", "onChange", "onChangeOverride", "onBlur", "onFocus", "autofocus", "options", "schema", "uiSchema", "rawErrors", "formContext", "registry", "InputLabelProps"],
207
217
  _excluded2$1 = ["step", "min", "max"];
218
+ var TYPES_THAT_SHRINK_LABEL = ['date', 'datetime-local', 'file'];
208
219
  /** The `BaseInputTemplate` is the template to use to render the basic `<input>` component for the `core` theme.
209
220
  * It is used as the template for rendering many of the <input> based widgets that differ by `type` and callbacks only.
210
221
  * It can be customized/overridden for other themes or individual implementations as needed.
@@ -221,6 +232,7 @@ function BaseInputTemplate(props) {
221
232
  label = props.label,
222
233
  value = props.value,
223
234
  onChange = props.onChange,
235
+ onChangeOverride = props.onChangeOverride,
224
236
  onBlur = props.onBlur,
225
237
  onFocus = props.onFocus,
226
238
  autofocus = props.autofocus,
@@ -230,6 +242,7 @@ function BaseInputTemplate(props) {
230
242
  _props$rawErrors = props.rawErrors,
231
243
  rawErrors = _props$rawErrors === void 0 ? [] : _props$rawErrors,
232
244
  registry = props.registry,
245
+ InputLabelProps = props.InputLabelProps,
233
246
  textFieldProps = _objectWithoutPropertiesLoose(props, _excluded$2);
234
247
  var inputProps = getInputProps(schema, type, options);
235
248
  // Now we need to pull out the step, min, max into an inner `inputProps` for material-ui
@@ -248,7 +261,7 @@ function BaseInputTemplate(props) {
248
261
  }, rest);
249
262
  var _onChange = function _onChange(_ref) {
250
263
  var value = _ref.target.value;
251
- return onChange(value === "" ? options.emptyValue : value);
264
+ return onChange(value === '' ? options.emptyValue : value);
252
265
  };
253
266
  var _onBlur = function _onBlur(_ref2) {
254
267
  var value = _ref2.target.value;
@@ -260,30 +273,36 @@ function BaseInputTemplate(props) {
260
273
  };
261
274
  var schemaUtils = registry.schemaUtils;
262
275
  var displayLabel = schemaUtils.getDisplayLabel(schema, uiSchema);
263
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TextField, _extends({
264
- id: id,
265
- name: id,
266
- placeholder: placeholder,
267
- label: displayLabel ? label || schema.title : false,
268
- autoFocus: autofocus,
269
- required: required,
270
- disabled: disabled || readonly
271
- }, otherProps, {
272
- value: value || value === 0 ? value : "",
273
- error: rawErrors.length > 0,
274
- onChange: _onChange,
275
- onBlur: _onBlur,
276
- onFocus: _onFocus
277
- }, textFieldProps, {
278
- "aria-describedby": ariaDescribedByIds(id, !!schema.examples)
279
- })), Array.isArray(schema.examples) && /*#__PURE__*/React.createElement("datalist", {
280
- id: examplesId(id)
281
- }, schema.examples.concat(schema["default"] && !schema.examples.includes(schema["default"]) ? [schema["default"]] : []).map(function (example) {
282
- return /*#__PURE__*/React.createElement("option", {
283
- key: example,
284
- value: example
285
- });
286
- })));
276
+ var DisplayInputLabelProps = TYPES_THAT_SHRINK_LABEL.includes(type) ? _extends({}, InputLabelProps, {
277
+ shrink: true
278
+ }) : InputLabelProps;
279
+ return jsxs(Fragment, {
280
+ children: [jsx(TextField, _extends({
281
+ id: id,
282
+ name: id,
283
+ placeholder: placeholder,
284
+ label: displayLabel ? label || schema.title : false,
285
+ autoFocus: autofocus,
286
+ required: required,
287
+ disabled: disabled || readonly
288
+ }, otherProps, {
289
+ value: value || value === 0 ? value : '',
290
+ error: rawErrors.length > 0,
291
+ onChange: onChangeOverride || _onChange,
292
+ onBlur: _onBlur,
293
+ onFocus: _onFocus,
294
+ InputLabelProps: DisplayInputLabelProps
295
+ }, textFieldProps, {
296
+ "aria-describedby": ariaDescribedByIds(id, !!schema.examples)
297
+ })), Array.isArray(schema.examples) && jsx("datalist", {
298
+ id: examplesId(id),
299
+ children: schema.examples.concat(schema["default"] && !schema.examples.includes(schema["default"]) ? [schema["default"]] : []).map(function (example) {
300
+ return jsx("option", {
301
+ value: example
302
+ }, example);
303
+ })
304
+ })]
305
+ });
287
306
  }
288
307
 
289
308
  /** The `DescriptionField` is the template to use to render the description of a field
@@ -294,13 +313,14 @@ function DescriptionField(props) {
294
313
  var id = props.id,
295
314
  description = props.description;
296
315
  if (description) {
297
- return /*#__PURE__*/React.createElement(Typography, {
316
+ return jsx(Typography, {
298
317
  id: id,
299
- variant: "subtitle2",
318
+ variant: 'subtitle2',
300
319
  style: {
301
- marginTop: "5px"
302
- }
303
- }, description);
320
+ marginTop: '5px'
321
+ },
322
+ children: description
323
+ });
304
324
  }
305
325
  return null;
306
326
  }
@@ -313,24 +333,30 @@ function ErrorList(_ref) {
313
333
  var errors = _ref.errors,
314
334
  registry = _ref.registry;
315
335
  var translateString = registry.translateString;
316
- return /*#__PURE__*/React.createElement(Paper, {
317
- elevation: 2
318
- }, /*#__PURE__*/React.createElement(Box, {
319
- mb: 2,
320
- p: 2
321
- }, /*#__PURE__*/React.createElement(Typography, {
322
- variant: "h6"
323
- }, translateString(TranslatableString.ErrorsLabel)), /*#__PURE__*/React.createElement(List, {
324
- dense: true
325
- }, errors.map(function (error, i) {
326
- return /*#__PURE__*/React.createElement(ListItem, {
327
- key: i
328
- }, /*#__PURE__*/React.createElement(ListItemIcon, null, /*#__PURE__*/React.createElement(ErrorIcon, {
329
- color: "error"
330
- })), /*#__PURE__*/React.createElement(ListItemText, {
331
- primary: error.stack
332
- }));
333
- }))));
336
+ return jsx(Paper, {
337
+ elevation: 2,
338
+ children: jsxs(Box, {
339
+ mb: 2,
340
+ p: 2,
341
+ children: [jsx(Typography, {
342
+ variant: 'h6',
343
+ children: translateString(TranslatableString.ErrorsLabel)
344
+ }), jsx(List, {
345
+ dense: true,
346
+ children: errors.map(function (error, i) {
347
+ return jsxs(ListItem, {
348
+ children: [jsx(ListItemIcon, {
349
+ children: jsx(ErrorIcon, {
350
+ color: 'error'
351
+ })
352
+ }), jsx(ListItemText, {
353
+ primary: error.stack
354
+ })]
355
+ }, i);
356
+ })
357
+ })]
358
+ })
359
+ });
334
360
  }
335
361
 
336
362
  var _excluded$1 = ["icon", "color", "uiSchema", "registry"],
@@ -339,28 +365,29 @@ function MuiIconButton(props) {
339
365
  var icon = props.icon,
340
366
  color = props.color,
341
367
  otherProps = _objectWithoutPropertiesLoose(props, _excluded$1);
342
- return /*#__PURE__*/React.createElement(IconButton, _extends({}, otherProps, {
343
- size: "small",
344
- color: color
345
- }), icon);
368
+ return jsx(IconButton, _extends({}, otherProps, {
369
+ size: 'small',
370
+ color: color,
371
+ children: icon
372
+ }));
346
373
  }
347
374
  function MoveDownButton(props) {
348
375
  var translateString = props.registry.translateString;
349
- return /*#__PURE__*/React.createElement(MuiIconButton, _extends({
376
+ return jsx(MuiIconButton, _extends({
350
377
  title: translateString(TranslatableString.MoveDownButton)
351
378
  }, props, {
352
- icon: /*#__PURE__*/React.createElement(ArrowDownwardIcon, {
353
- fontSize: "small"
379
+ icon: jsx(ArrowDownwardIcon, {
380
+ fontSize: 'small'
354
381
  })
355
382
  }));
356
383
  }
357
384
  function MoveUpButton(props) {
358
385
  var translateString = props.registry.translateString;
359
- return /*#__PURE__*/React.createElement(MuiIconButton, _extends({
386
+ return jsx(MuiIconButton, _extends({
360
387
  title: translateString(TranslatableString.MoveUpButton)
361
388
  }, props, {
362
- icon: /*#__PURE__*/React.createElement(ArrowUpwardIcon, {
363
- fontSize: "small"
389
+ icon: jsx(ArrowUpwardIcon, {
390
+ fontSize: 'small'
364
391
  })
365
392
  }));
366
393
  }
@@ -368,12 +395,12 @@ function RemoveButton(props) {
368
395
  var iconType = props.iconType,
369
396
  otherProps = _objectWithoutPropertiesLoose(props, _excluded2);
370
397
  var translateString = otherProps.registry.translateString;
371
- return /*#__PURE__*/React.createElement(MuiIconButton, _extends({
398
+ return jsx(MuiIconButton, _extends({
372
399
  title: translateString(TranslatableString.RemoveButton)
373
400
  }, otherProps, {
374
- color: "error",
375
- icon: /*#__PURE__*/React.createElement(RemoveIcon, {
376
- fontSize: iconType === "default" ? undefined : "small"
401
+ color: 'error',
402
+ icon: jsx(RemoveIcon, {
403
+ fontSize: iconType === 'default' ? undefined : 'small'
377
404
  })
378
405
  }));
379
406
  }
@@ -390,17 +417,19 @@ function FieldErrorTemplate(props) {
390
417
  return null;
391
418
  }
392
419
  var id = errorId(idSchema);
393
- return /*#__PURE__*/React.createElement(List, {
420
+ return jsx(List, {
394
421
  dense: true,
395
- disablePadding: true
396
- }, errors.map(function (error, i) {
397
- return /*#__PURE__*/React.createElement(ListItem, {
398
- key: i,
399
- disableGutters: true
400
- }, /*#__PURE__*/React.createElement(FormHelperText, {
401
- id: id
402
- }, error));
403
- }));
422
+ disablePadding: true,
423
+ children: errors.map(function (error, i) {
424
+ return jsx(ListItem, {
425
+ disableGutters: true,
426
+ children: jsx(FormHelperText, {
427
+ id: id,
428
+ children: error
429
+ })
430
+ }, i);
431
+ })
432
+ });
404
433
  }
405
434
 
406
435
  /** The `FieldHelpTemplate` component renders any help desired for a field
@@ -414,9 +443,10 @@ function FieldHelpTemplate(props) {
414
443
  return null;
415
444
  }
416
445
  var id = helpId(idSchema);
417
- return /*#__PURE__*/React.createElement(FormHelperText, {
418
- id: id
419
- }, help);
446
+ return jsx(FormHelperText, {
447
+ id: id,
448
+ children: help
449
+ });
420
450
  }
421
451
 
422
452
  /** The `FieldTemplate` component is the template used by `SchemaField` to render any field. It renders the field
@@ -446,15 +476,16 @@ function FieldTemplate(props) {
446
476
  uiSchema = props.uiSchema,
447
477
  registry = props.registry;
448
478
  var uiOptions = getUiOptions(uiSchema);
449
- var WrapIfAdditionalTemplate = getTemplate("WrapIfAdditionalTemplate", registry, uiOptions);
479
+ var WrapIfAdditionalTemplate = getTemplate('WrapIfAdditionalTemplate', registry, uiOptions);
450
480
  if (hidden) {
451
- return /*#__PURE__*/React.createElement("div", {
481
+ return jsx("div", {
452
482
  style: {
453
- display: "none"
454
- }
455
- }, children);
483
+ display: 'none'
484
+ },
485
+ children: children
486
+ });
456
487
  }
457
- return /*#__PURE__*/React.createElement(WrapIfAdditionalTemplate, {
488
+ return jsx(WrapIfAdditionalTemplate, {
458
489
  classNames: classNames,
459
490
  style: style,
460
491
  disabled: disabled,
@@ -466,15 +497,18 @@ function FieldTemplate(props) {
466
497
  required: required,
467
498
  schema: schema,
468
499
  uiSchema: uiSchema,
469
- registry: registry
470
- }, /*#__PURE__*/React.createElement(FormControl, {
471
- fullWidth: true,
472
- error: rawErrors.length ? true : false,
473
- required: required
474
- }, children, displayLabel && rawDescription ? /*#__PURE__*/React.createElement(Typography, {
475
- variant: "caption",
476
- color: "textSecondary"
477
- }, rawDescription) : null, errors, help));
500
+ registry: registry,
501
+ children: jsxs(FormControl, {
502
+ fullWidth: true,
503
+ error: rawErrors.length ? true : false,
504
+ required: required,
505
+ children: [children, displayLabel && rawDescription ? jsx(Typography, {
506
+ variant: 'caption',
507
+ color: 'textSecondary',
508
+ children: rawDescription
509
+ }) : null, errors, help]
510
+ })
511
+ });
478
512
  }
479
513
 
480
514
  /** The `ObjectFieldTemplate` is the template to use to render all the inner properties of an object along with the
@@ -497,54 +531,59 @@ function ObjectFieldTemplate(props) {
497
531
  onAddClick = props.onAddClick,
498
532
  registry = props.registry;
499
533
  var uiOptions = getUiOptions(uiSchema);
500
- var TitleFieldTemplate = getTemplate("TitleFieldTemplate", registry, uiOptions);
501
- var DescriptionFieldTemplate = getTemplate("DescriptionFieldTemplate", registry, uiOptions);
534
+ var TitleFieldTemplate = getTemplate('TitleFieldTemplate', registry, uiOptions);
535
+ var DescriptionFieldTemplate = getTemplate('DescriptionFieldTemplate', registry, uiOptions);
502
536
  // Button templates are not overridden in the uiSchema
503
537
  var AddButton = registry.templates.ButtonTemplates.AddButton;
504
- return /*#__PURE__*/React.createElement(React.Fragment, null, (uiOptions.title || title) && /*#__PURE__*/React.createElement(TitleFieldTemplate, {
505
- id: titleId(idSchema),
506
- title: title,
507
- required: required,
508
- schema: schema,
509
- uiSchema: uiSchema,
510
- registry: registry
511
- }), (uiOptions.description || description) && /*#__PURE__*/React.createElement(DescriptionFieldTemplate, {
512
- id: descriptionId(idSchema),
513
- description: uiOptions.description || description,
514
- schema: schema,
515
- uiSchema: uiSchema,
516
- registry: registry
517
- }), /*#__PURE__*/React.createElement(Grid, {
518
- container: true,
519
- spacing: 2,
520
- style: {
521
- marginTop: "10px"
522
- }
523
- }, properties.map(function (element, index) {
524
- return (
525
- // Remove the <Grid> if the inner element is hidden as the <Grid>
526
- // itself would otherwise still take up space.
527
- element.hidden ? element.content : /*#__PURE__*/React.createElement(Grid, {
528
- item: true,
529
- xs: 12,
530
- key: index,
531
- style: {
532
- marginBottom: "10px"
533
- }
534
- }, element.content)
535
- );
536
- }), canExpand(schema, uiSchema, formData) && /*#__PURE__*/React.createElement(Grid, {
537
- container: true,
538
- justifyContent: "flex-end"
539
- }, /*#__PURE__*/React.createElement(Grid, {
540
- item: true
541
- }, /*#__PURE__*/React.createElement(AddButton, {
542
- className: "object-property-expand",
543
- onClick: onAddClick(schema),
544
- disabled: disabled || readonly,
545
- uiSchema: uiSchema,
546
- registry: registry
547
- })))));
538
+ return jsxs(Fragment, {
539
+ children: [(uiOptions.title || title) && jsx(TitleFieldTemplate, {
540
+ id: titleId(idSchema),
541
+ title: title,
542
+ required: required,
543
+ schema: schema,
544
+ uiSchema: uiSchema,
545
+ registry: registry
546
+ }), (uiOptions.description || description) && jsx(DescriptionFieldTemplate, {
547
+ id: descriptionId(idSchema),
548
+ description: uiOptions.description || description,
549
+ schema: schema,
550
+ uiSchema: uiSchema,
551
+ registry: registry
552
+ }), jsxs(Grid, {
553
+ container: true,
554
+ spacing: 2,
555
+ style: {
556
+ marginTop: '10px'
557
+ },
558
+ children: [properties.map(function (element, index) {
559
+ return (
560
+ // Remove the <Grid> if the inner element is hidden as the <Grid>
561
+ // itself would otherwise still take up space.
562
+ element.hidden ? element.content : jsx(Grid, {
563
+ item: true,
564
+ xs: 12,
565
+ style: {
566
+ marginBottom: '10px'
567
+ },
568
+ children: element.content
569
+ }, index)
570
+ );
571
+ }), canExpand(schema, uiSchema, formData) && jsx(Grid, {
572
+ container: true,
573
+ justifyContent: 'flex-end',
574
+ children: jsx(Grid, {
575
+ item: true,
576
+ children: jsx(AddButton, {
577
+ className: 'object-property-expand',
578
+ onClick: onAddClick(schema),
579
+ disabled: disabled || readonly,
580
+ uiSchema: uiSchema,
581
+ registry: registry
582
+ })
583
+ })
584
+ })]
585
+ })]
586
+ });
548
587
  }
549
588
 
550
589
  /** The `SubmitButton` renders a button that represent the `Submit` action on a form
@@ -559,13 +598,16 @@ function SubmitButton(_ref) {
559
598
  if (norender) {
560
599
  return null;
561
600
  }
562
- return /*#__PURE__*/React.createElement(Box, {
563
- marginTop: 3
564
- }, /*#__PURE__*/React.createElement(Button, _extends({
565
- type: "submit",
566
- variant: "contained",
567
- color: "primary"
568
- }, submitButtonProps), submitText));
601
+ return jsx(Box, {
602
+ marginTop: 3,
603
+ children: jsx(Button, _extends({
604
+ type: 'submit',
605
+ variant: 'contained',
606
+ color: 'primary'
607
+ }, submitButtonProps, {
608
+ children: submitText
609
+ }))
610
+ });
569
611
  }
570
612
 
571
613
  /** The `TitleField` is the template to use to render the title of a field
@@ -575,13 +617,15 @@ function SubmitButton(_ref) {
575
617
  function TitleField(_ref) {
576
618
  var id = _ref.id,
577
619
  title = _ref.title;
578
- return /*#__PURE__*/React.createElement(Box, {
620
+ return jsxs(Box, {
579
621
  id: id,
580
622
  mb: 1,
581
- mt: 1
582
- }, /*#__PURE__*/React.createElement(Typography, {
583
- variant: "h5"
584
- }, title), /*#__PURE__*/React.createElement(Divider, null));
623
+ mt: 1,
624
+ children: [jsx(Typography, {
625
+ variant: 'h5',
626
+ children: title
627
+ }), jsx(Divider, {})]
628
+ });
585
629
  }
586
630
 
587
631
  /** The `WrapIfAdditional` component is used by the `FieldTemplate` to rename, or remove properties that are
@@ -613,51 +657,58 @@ function WrapIfAdditionalTemplate(props) {
613
657
  flex: 1,
614
658
  paddingLeft: 6,
615
659
  paddingRight: 6,
616
- fontWeight: "bold"
660
+ fontWeight: 'bold'
617
661
  };
618
662
  if (!additional) {
619
- return /*#__PURE__*/React.createElement("div", {
663
+ return jsx("div", {
620
664
  className: classNames,
621
- style: style
622
- }, children);
665
+ style: style,
666
+ children: children
667
+ });
623
668
  }
624
669
  var handleBlur = function handleBlur(_ref) {
625
670
  var target = _ref.target;
626
671
  return onKeyChange(target.value);
627
672
  };
628
- return /*#__PURE__*/React.createElement(Grid, {
673
+ return jsxs(Grid, {
629
674
  container: true,
630
- key: id + "-key",
631
- alignItems: "center",
675
+ alignItems: 'center',
632
676
  spacing: 2,
633
677
  className: classNames,
634
- style: style
635
- }, /*#__PURE__*/React.createElement(Grid, {
636
- item: true,
637
- xs: true
638
- }, /*#__PURE__*/React.createElement(FormControl, {
639
- fullWidth: true,
640
- required: required
641
- }, /*#__PURE__*/React.createElement(InputLabel, null, keyLabel), /*#__PURE__*/React.createElement(Input, {
642
- defaultValue: label,
643
- disabled: disabled || readonly,
644
- id: id + "-key",
645
- name: id + "-key",
646
- onBlur: !readonly ? handleBlur : undefined,
647
- type: "text"
648
- }))), /*#__PURE__*/React.createElement(Grid, {
649
- item: true,
650
- xs: true
651
- }, children), /*#__PURE__*/React.createElement(Grid, {
652
- item: true
653
- }, /*#__PURE__*/React.createElement(RemoveButton, {
654
- iconType: "default",
655
- style: btnStyle,
656
- disabled: disabled || readonly,
657
- onClick: onDropPropertyClick(label),
658
- uiSchema: uiSchema,
659
- registry: registry
660
- })));
678
+ style: style,
679
+ children: [jsx(Grid, {
680
+ item: true,
681
+ xs: true,
682
+ children: jsxs(FormControl, {
683
+ fullWidth: true,
684
+ required: required,
685
+ children: [jsx(InputLabel, {
686
+ children: keyLabel
687
+ }), jsx(Input, {
688
+ defaultValue: label,
689
+ disabled: disabled || readonly,
690
+ id: id + "-key",
691
+ name: id + "-key",
692
+ onBlur: !readonly ? handleBlur : undefined,
693
+ type: 'text'
694
+ })]
695
+ })
696
+ }), jsx(Grid, {
697
+ item: true,
698
+ xs: true,
699
+ children: children
700
+ }), jsx(Grid, {
701
+ item: true,
702
+ children: jsx(RemoveButton, {
703
+ iconType: 'default',
704
+ style: btnStyle,
705
+ disabled: disabled || readonly,
706
+ onClick: onDropPropertyClick(label),
707
+ uiSchema: uiSchema,
708
+ registry: registry
709
+ })
710
+ })]
711
+ }, id + "-key");
661
712
  }
662
713
 
663
714
  function generateTemplates() {
@@ -715,11 +766,11 @@ function CheckboxWidget(props) {
715
766
  var value = _ref2.target.value;
716
767
  return onFocus(id, value);
717
768
  };
718
- return /*#__PURE__*/React.createElement(FormControlLabel, {
719
- control: /*#__PURE__*/React.createElement(Checkbox, {
769
+ return jsx(FormControlLabel, {
770
+ control: jsx(Checkbox, {
720
771
  id: id,
721
772
  name: id,
722
- checked: typeof value === "undefined" ? false : Boolean(value),
773
+ checked: typeof value === 'undefined' ? false : Boolean(value),
723
774
  required: required,
724
775
  disabled: disabled || readonly,
725
776
  autoFocus: autofocus,
@@ -728,7 +779,7 @@ function CheckboxWidget(props) {
728
779
  onFocus: _onFocus,
729
780
  "aria-describedby": ariaDescribedByIds(id)
730
781
  }),
731
- label: label || ""
782
+ label: label || ''
732
783
  });
733
784
  }
734
785
 
@@ -773,73 +824,35 @@ function CheckboxesWidget(_ref) {
773
824
  var value = _ref4.target.value;
774
825
  return onFocus(id, enumOptionsValueForIndex(value, enumOptions, emptyValue));
775
826
  };
776
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormLabel, {
777
- required: required,
778
- htmlFor: id
779
- }, label || schema.title), /*#__PURE__*/React.createElement(FormGroup, {
780
- id: id,
781
- row: !!inline
782
- }, Array.isArray(enumOptions) && enumOptions.map(function (option, index) {
783
- var checked = enumOptionsIsSelected(option.value, checkboxesValues);
784
- var itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;
785
- var checkbox = /*#__PURE__*/React.createElement(Checkbox, {
786
- id: optionId(id, index),
787
- name: id,
788
- checked: checked,
789
- disabled: disabled || itemDisabled || readonly,
790
- autoFocus: autofocus && index === 0,
791
- onChange: _onChange(index),
792
- onBlur: _onBlur,
793
- onFocus: _onFocus,
794
- "aria-describedby": ariaDescribedByIds(id)
795
- });
796
- return /*#__PURE__*/React.createElement(FormControlLabel, {
797
- control: checkbox,
798
- key: index,
799
- label: option.label
800
- });
801
- })));
802
- }
803
-
804
- /** The `DateWidget` component uses the `BaseInputTemplate` changing the type to `date` and transforms
805
- * the value to undefined when it is falsy during the `onChange` handling.
806
- *
807
- * @param props - The `WidgetProps` for this component
808
- */
809
- function DateWidget(props) {
810
- var options = props.options,
811
- registry = props.registry;
812
- var BaseInputTemplate = getTemplate("BaseInputTemplate", registry, options);
813
- return /*#__PURE__*/React.createElement(BaseInputTemplate, _extends({
814
- type: "date",
815
- InputLabelProps: {
816
- shrink: true
817
- }
818
- }, props));
819
- }
820
-
821
- /** The `DateTimeWidget` component uses the `BaseInputTemplate` changing the type to `datetime-local` and transforms
822
- * the value to/from utc using the appropriate utility functions.
823
- *
824
- * @param props - The `WidgetProps` for this component
825
- */
826
- function DateTimeWidget(props) {
827
- var options = props.options,
828
- registry = props.registry;
829
- var BaseInputTemplate = getTemplate("BaseInputTemplate", registry, options);
830
- var value = utcToLocal(props.value);
831
- var onChange = function onChange(value) {
832
- props.onChange(localToUTC(value));
833
- };
834
- return /*#__PURE__*/React.createElement(BaseInputTemplate, _extends({
835
- type: "datetime-local",
836
- InputLabelProps: {
837
- shrink: true
838
- }
839
- }, props, {
840
- value: value,
841
- onChange: onChange
842
- }));
827
+ return jsxs(Fragment, {
828
+ children: [jsx(FormLabel, {
829
+ required: required,
830
+ htmlFor: id,
831
+ children: label || schema.title
832
+ }), jsx(FormGroup, {
833
+ id: id,
834
+ row: !!inline,
835
+ children: Array.isArray(enumOptions) && enumOptions.map(function (option, index) {
836
+ var checked = enumOptionsIsSelected(option.value, checkboxesValues);
837
+ var itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;
838
+ var checkbox = jsx(Checkbox, {
839
+ id: optionId(id, index),
840
+ name: id,
841
+ checked: checked,
842
+ disabled: disabled || itemDisabled || readonly,
843
+ autoFocus: autofocus && index === 0,
844
+ onChange: _onChange(index),
845
+ onBlur: _onBlur,
846
+ onFocus: _onFocus,
847
+ "aria-describedby": ariaDescribedByIds(id)
848
+ });
849
+ return jsx(FormControlLabel, {
850
+ control: checkbox,
851
+ label: option.label
852
+ }, index);
853
+ })
854
+ })]
855
+ });
843
856
  }
844
857
 
845
858
  /** The `RadioWidget` is a widget for rendering a radio group.
@@ -875,33 +888,36 @@ function RadioWidget(_ref) {
875
888
  };
876
889
  var row = options ? options.inline : false;
877
890
  var selectedIndex = enumOptionsIndexForValue(value, enumOptions);
878
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormLabel, {
879
- required: required,
880
- htmlFor: id
881
- }, label || schema.title), /*#__PURE__*/React.createElement(RadioGroup, {
882
- id: id,
883
- name: id,
884
- value: selectedIndex,
885
- row: row,
886
- onChange: _onChange,
887
- onBlur: _onBlur,
888
- onFocus: _onFocus,
889
- "aria-describedby": ariaDescribedByIds(id)
890
- }, Array.isArray(enumOptions) && enumOptions.map(function (option, index) {
891
- var itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;
892
- var radio = /*#__PURE__*/React.createElement(FormControlLabel, {
893
- control: /*#__PURE__*/React.createElement(Radio, {
894
- name: id,
895
- id: optionId(id, index),
896
- color: "primary"
897
- }),
898
- label: option.label,
899
- value: String(index),
900
- key: index,
901
- disabled: disabled || itemDisabled || readonly
902
- });
903
- return radio;
904
- })));
891
+ return jsxs(Fragment, {
892
+ children: [jsx(FormLabel, {
893
+ required: required,
894
+ htmlFor: id,
895
+ children: label || schema.title
896
+ }), jsx(RadioGroup, {
897
+ id: id,
898
+ name: id,
899
+ value: selectedIndex,
900
+ row: row,
901
+ onChange: _onChange,
902
+ onBlur: _onBlur,
903
+ onFocus: _onFocus,
904
+ "aria-describedby": ariaDescribedByIds(id),
905
+ children: Array.isArray(enumOptions) && enumOptions.map(function (option, index) {
906
+ var itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;
907
+ var radio = jsx(FormControlLabel, {
908
+ control: jsx(Radio, {
909
+ name: id,
910
+ id: optionId(id, index),
911
+ color: 'primary'
912
+ }),
913
+ label: option.label,
914
+ value: String(index),
915
+ disabled: disabled || itemDisabled || readonly
916
+ }, index);
917
+ return radio;
918
+ })
919
+ })]
920
+ });
905
921
  }
906
922
 
907
923
  /** The `RangeWidget` component uses the `BaseInputTemplate` changing the type to `range` and wrapping the result
@@ -938,21 +954,24 @@ function RangeWidget(props) {
938
954
  var value = _ref2.target.value;
939
955
  return onFocus(id, value);
940
956
  };
941
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormLabel, {
942
- required: required,
943
- htmlFor: id
944
- }, label || schema.title), /*#__PURE__*/React.createElement(Slider, _extends({
945
- disabled: disabled || readonly,
946
- onChange: _onChange,
947
- onBlur: _onBlur,
948
- onFocus: _onFocus,
949
- valueLabelDisplay: "auto"
950
- }, sliderProps, {
951
- "aria-describedby": ariaDescribedByIds(id)
952
- })));
957
+ return jsxs(Fragment, {
958
+ children: [jsx(FormLabel, {
959
+ required: required,
960
+ htmlFor: id,
961
+ children: label || schema.title
962
+ }), jsx(Slider, _extends({
963
+ disabled: disabled || readonly,
964
+ onChange: _onChange,
965
+ onBlur: _onBlur,
966
+ onFocus: _onFocus,
967
+ valueLabelDisplay: 'auto'
968
+ }, sliderProps, {
969
+ "aria-describedby": ariaDescribedByIds(id)
970
+ }))]
971
+ });
953
972
  }
954
973
 
955
- var _excluded = ["schema", "id", "options", "label", "required", "disabled", "placeholder", "readonly", "value", "multiple", "autofocus", "onChange", "onBlur", "onFocus", "rawErrors", "registry", "uiSchema", "hideError", "formContext"];
974
+ var _excluded = ["schema", "id", "name", "options", "label", "required", "disabled", "placeholder", "readonly", "value", "multiple", "autofocus", "onChange", "onBlur", "onFocus", "rawErrors", "registry", "uiSchema", "hideError", "formContext"];
956
975
  /** The `SelectWidget` is a widget for rendering dropdowns.
957
976
  * It is typically used with string properties constrained with enum options.
958
977
  *
@@ -979,9 +998,9 @@ function SelectWidget(_ref) {
979
998
  var enumOptions = options.enumOptions,
980
999
  enumDisabled = options.enumDisabled,
981
1000
  optEmptyVal = options.emptyValue;
982
- multiple = typeof multiple === "undefined" ? false : !!multiple;
983
- var emptyValue = multiple ? [] : "";
984
- var isEmpty = typeof value === "undefined" || multiple && value.length < 1 || !multiple && value === emptyValue;
1001
+ multiple = typeof multiple === 'undefined' ? false : !!multiple;
1002
+ var emptyValue = multiple ? [] : '';
1003
+ var isEmpty = typeof value === 'undefined' || multiple && value.length < 1 || !multiple && value === emptyValue;
985
1004
  var _onChange = function _onChange(_ref2) {
986
1005
  var value = _ref2.target.value;
987
1006
  return onChange(enumOptionsValueForIndex(value, enumOptions, optEmptyVal));
@@ -995,7 +1014,7 @@ function SelectWidget(_ref) {
995
1014
  return onFocus(id, enumOptionsValueForIndex(value, enumOptions, optEmptyVal));
996
1015
  };
997
1016
  var selectedIndexes = enumOptionsIndexForValue(value, enumOptions, multiple);
998
- return /*#__PURE__*/React.createElement(TextField, _extends({
1017
+ return jsx(TextField, _extends({
999
1018
  id: id,
1000
1019
  name: id,
1001
1020
  label: label || schema.title,
@@ -1017,16 +1036,17 @@ function SelectWidget(_ref) {
1017
1036
  SelectProps: _extends({}, textFieldProps.SelectProps, {
1018
1037
  multiple: multiple
1019
1038
  }),
1020
- "aria-describedby": ariaDescribedByIds(id)
1021
- }), Array.isArray(enumOptions) && enumOptions.map(function (_ref5, i) {
1022
- var value = _ref5.value,
1023
- label = _ref5.label;
1024
- var disabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(value) !== -1;
1025
- return /*#__PURE__*/React.createElement(MenuItem, {
1026
- key: i,
1027
- value: String(i),
1028
- disabled: disabled
1029
- }, label);
1039
+ "aria-describedby": ariaDescribedByIds(id),
1040
+ children: Array.isArray(enumOptions) && enumOptions.map(function (_ref5, i) {
1041
+ var value = _ref5.value,
1042
+ label = _ref5.label;
1043
+ var disabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(value) !== -1;
1044
+ return jsx(MenuItem, {
1045
+ value: String(i),
1046
+ disabled: disabled,
1047
+ children: label
1048
+ }, i);
1049
+ })
1030
1050
  }));
1031
1051
  }
1032
1052
 
@@ -1037,12 +1057,12 @@ function SelectWidget(_ref) {
1037
1057
  function TextareaWidget(props) {
1038
1058
  var options = props.options,
1039
1059
  registry = props.registry;
1040
- var BaseInputTemplate = getTemplate("BaseInputTemplate", registry, options);
1060
+ var BaseInputTemplate = getTemplate('BaseInputTemplate', registry, options);
1041
1061
  var rows = 5;
1042
- if (typeof options.rows === "string" || typeof options.rows === "number") {
1062
+ if (typeof options.rows === 'string' || typeof options.rows === 'number') {
1043
1063
  rows = options.rows;
1044
1064
  }
1045
- return /*#__PURE__*/React.createElement(BaseInputTemplate, _extends({}, props, {
1065
+ return jsx(BaseInputTemplate, _extends({}, props, {
1046
1066
  multiline: true,
1047
1067
  rows: rows
1048
1068
  }));
@@ -1052,8 +1072,6 @@ function generateWidgets() {
1052
1072
  return {
1053
1073
  CheckboxWidget: CheckboxWidget,
1054
1074
  CheckboxesWidget: CheckboxesWidget,
1055
- DateWidget: DateWidget,
1056
- DateTimeWidget: DateTimeWidget,
1057
1075
  RadioWidget: RadioWidget,
1058
1076
  RangeWidget: RangeWidget,
1059
1077
  SelectWidget: SelectWidget,