@jsonforms/material-renderers 3.2.0-beta.0 → 3.2.0-beta.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.
@@ -1,6 +1,6 @@
1
1
  import { ArrayLayoutProps, RankedTester } from '@jsonforms/core';
2
2
  import React from 'react';
3
- export declare const MaterialListWithDetailRenderer: ({ uischemas, schema, uischema, path, enabled, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config, rootSchema, translations, }: ArrayLayoutProps) => React.JSX.Element;
3
+ export declare const MaterialListWithDetailRenderer: ({ uischemas, schema, uischema, path, enabled, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config, rootSchema, translations, description, }: ArrayLayoutProps) => React.JSX.Element;
4
4
  export declare const materialListWithDetailTester: RankedTester;
5
5
  declare const _default: React.ComponentType<import("@jsonforms/core").OwnPropsOfControl>;
6
6
  export default _default;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  export declare const UnwrappedAdditional: {
3
3
  MaterialLabelRenderer: ({ text, visible }: import("@jsonforms/core").LabelProps) => import("react").JSX.Element;
4
- MaterialListWithDetailRenderer: ({ uischemas, schema, uischema, path, enabled, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config, rootSchema, translations, }: import("@jsonforms/core").ArrayLayoutProps) => import("react").JSX.Element;
4
+ MaterialListWithDetailRenderer: ({ uischemas, schema, uischema, path, enabled, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config, rootSchema, translations, description, }: import("@jsonforms/core").ArrayLayoutProps) => import("react").JSX.Element;
5
5
  };
@@ -4,6 +4,7 @@ export interface MaterialTableToolbarProps {
4
4
  numColumns: number;
5
5
  errors: string;
6
6
  label: string;
7
+ description: string;
7
8
  path: string;
8
9
  uischema: ControlElement;
9
10
  schema: JsonSchema;
package/lib/index.d.ts CHANGED
@@ -38,5 +38,5 @@ export declare const Unwrapped: {
38
38
  MaterialObjectRenderer: ({ renderers, cells, uischemas, schema, label, path, visible, enabled, uischema, rootSchema, }: import("@jsonforms/core").StatePropsOfControlWithDetail) => import("react").JSX.Element;
39
39
  MaterialOneOfRenderer: ({ handleChange, schema, path, renderers, cells, rootSchema, id, visible, indexOfFittingSchema, uischema, uischemas, data, }: import("@jsonforms/core").CombinatorRendererProps) => import("react").JSX.Element;
40
40
  MaterialLabelRenderer: ({ text, visible }: import("@jsonforms/core").LabelProps) => import("react").JSX.Element;
41
- MaterialListWithDetailRenderer: ({ uischemas, schema, uischema, path, enabled, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config, rootSchema, translations, }: import("@jsonforms/core").ArrayLayoutProps) => import("react").JSX.Element;
41
+ MaterialListWithDetailRenderer: ({ uischemas, schema, uischema, path, enabled, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config, rootSchema, translations, description, }: import("@jsonforms/core").ArrayLayoutProps) => import("react").JSX.Element;
42
42
  };
@@ -11,22 +11,17 @@ var isEmpty = require('lodash/isEmpty');
11
11
  var union = require('lodash/union');
12
12
  var startCase = require('lodash/startCase');
13
13
  var range = require('lodash/range');
14
- var DeleteIcon = require('@mui/icons-material/Delete');
15
- var ArrowDownward = require('@mui/icons-material/ArrowDownward');
16
- var ArrowUpward = require('@mui/icons-material/ArrowUpward');
14
+ var iconsMaterial = require('@mui/icons-material');
17
15
  var styles$1 = require('@mui/material/styles');
18
- var AddIcon = require('@mui/icons-material/Add');
19
- var ErrorOutlineIcon = require('@mui/icons-material/ErrorOutline');
20
16
  var merge = require('lodash/merge');
21
17
  var dayjs = require('dayjs');
22
18
  var customParsing = require('dayjs/plugin/customParseFormat');
23
19
  var debounce = require('lodash/debounce');
24
- var Close = require('@mui/icons-material/Close');
25
20
  var map = require('lodash/map');
21
+ var AddIcon = require('@mui/icons-material/Add');
26
22
  var xDatePickers = require('@mui/x-date-pickers');
27
23
  var AdapterDayjs = require('@mui/x-date-pickers/AdapterDayjs');
28
24
  var get = require('lodash/get');
29
- var ExpandMoreIcon = require('@mui/icons-material/ExpandMore');
30
25
 
31
26
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
32
27
 
@@ -36,19 +31,13 @@ var isEmpty__default = /*#__PURE__*/_interopDefaultLegacy(isEmpty);
36
31
  var union__default = /*#__PURE__*/_interopDefaultLegacy(union);
37
32
  var startCase__default = /*#__PURE__*/_interopDefaultLegacy(startCase);
38
33
  var range__default = /*#__PURE__*/_interopDefaultLegacy(range);
39
- var DeleteIcon__default = /*#__PURE__*/_interopDefaultLegacy(DeleteIcon);
40
- var ArrowDownward__default = /*#__PURE__*/_interopDefaultLegacy(ArrowDownward);
41
- var ArrowUpward__default = /*#__PURE__*/_interopDefaultLegacy(ArrowUpward);
42
- var AddIcon__default = /*#__PURE__*/_interopDefaultLegacy(AddIcon);
43
- var ErrorOutlineIcon__default = /*#__PURE__*/_interopDefaultLegacy(ErrorOutlineIcon);
44
34
  var merge__default = /*#__PURE__*/_interopDefaultLegacy(merge);
45
35
  var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
46
36
  var customParsing__default = /*#__PURE__*/_interopDefaultLegacy(customParsing);
47
37
  var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
48
- var Close__default = /*#__PURE__*/_interopDefaultLegacy(Close);
49
38
  var map__default = /*#__PURE__*/_interopDefaultLegacy(map);
39
+ var AddIcon__default = /*#__PURE__*/_interopDefaultLegacy(AddIcon);
50
40
  var get__default = /*#__PURE__*/_interopDefaultLegacy(get);
51
- var ExpandMoreIcon__default = /*#__PURE__*/_interopDefaultLegacy(ExpandMoreIcon);
52
41
 
53
42
  /******************************************************************************
54
43
  Copyright (c) Microsoft Corporation.
@@ -151,7 +140,7 @@ var TabSwitchConfirmDialog = function (_a) {
151
140
  React__default["default"].createElement(material.DialogContentText, { id: 'alert-dialog-description' }, "Your data will be cleared if you navigate away from this tab. Do you want to proceed?")),
152
141
  React__default["default"].createElement(material.DialogActions, null,
153
142
  React__default["default"].createElement(material.Button, { onClick: cancel, color: 'primary' }, "No"),
154
- React__default["default"].createElement(material.Button, { onClick: confirm, color: 'primary', autoFocus: true, id: id + "-confirm-yes" }, "Yes"))));
143
+ React__default["default"].createElement(material.Button, { onClick: confirm, color: 'primary', autoFocus: true, id: "".concat(id, "-confirm-yes") }, "Yes"))));
155
144
  };
156
145
 
157
146
  var MaterialAnyOfRenderer = function (_a) {
@@ -210,7 +199,7 @@ var ValidationIcon = function (_a) {
210
199
  var errorMessages = _a.errorMessages, id = _a.id;
211
200
  return (React__default["default"].createElement(material.Tooltip, { id: id, title: errorMessages },
212
201
  React__default["default"].createElement(StyledBadge, { badgeContent: errorMessages.split('\n').length },
213
- React__default["default"].createElement(ErrorOutlineIcon__default["default"], { color: 'inherit' }))));
202
+ React__default["default"].createElement(iconsMaterial.ErrorOutline, { color: 'inherit' }))));
214
203
  };
215
204
 
216
205
  var fixedCellSmall = {
@@ -218,18 +207,20 @@ var fixedCellSmall = {
218
207
  paddingRight: 0,
219
208
  };
220
209
  var TableToolbar = React__default["default"].memo(function TableToolbar(_a) {
221
- var numColumns = _a.numColumns, errors = _a.errors, label = _a.label, path = _a.path, addItem = _a.addItem, schema = _a.schema, enabled = _a.enabled, translations = _a.translations, rootSchema = _a.rootSchema;
210
+ var numColumns = _a.numColumns, errors = _a.errors, label = _a.label, description = _a.description, path = _a.path, addItem = _a.addItem, schema = _a.schema, enabled = _a.enabled, translations = _a.translations, rootSchema = _a.rootSchema;
222
211
  return (React__default["default"].createElement(material.TableRow, null,
223
212
  React__default["default"].createElement(NoBorderTableCell, { colSpan: numColumns },
224
- React__default["default"].createElement(material.Grid, { container: true, justifyContent: 'flex-start', alignItems: 'center', spacing: 2 },
225
- React__default["default"].createElement(material.Grid, { item: true },
226
- React__default["default"].createElement(material.Typography, { variant: 'h6' }, label)),
227
- React__default["default"].createElement(material.Grid, { item: true }, errors.length !== 0 && (React__default["default"].createElement(material.Grid, { item: true },
228
- React__default["default"].createElement(ValidationIcon, { id: 'tooltip-validation', errorMessages: errors })))))),
213
+ React__default["default"].createElement(material.Stack, null,
214
+ React__default["default"].createElement(material.Grid, { container: true, justifyContent: 'flex-start', alignItems: 'center', spacing: 2 },
215
+ React__default["default"].createElement(material.Grid, { item: true },
216
+ React__default["default"].createElement(material.Typography, { variant: 'h6' }, label)),
217
+ React__default["default"].createElement(material.Grid, { item: true }, errors.length !== 0 && (React__default["default"].createElement(material.Grid, { item: true },
218
+ React__default["default"].createElement(ValidationIcon, { id: 'tooltip-validation', errorMessages: errors }))))),
219
+ description && React__default["default"].createElement(material.FormHelperText, null, description))),
229
220
  enabled ? (React__default["default"].createElement(NoBorderTableCell, { align: 'right', style: fixedCellSmall },
230
221
  React__default["default"].createElement(material.Tooltip, { id: 'tooltip-add', title: translations.addTooltip, placement: 'bottom' },
231
222
  React__default["default"].createElement(material.IconButton, { "aria-label": translations.addAriaLabel, onClick: addItem(path, core.createDefaultValue(schema, rootSchema)), size: 'large' },
232
- React__default["default"].createElement(AddIcon__default["default"], null))))) : null));
223
+ React__default["default"].createElement(iconsMaterial.Add, null))))) : null));
233
224
  });
234
225
 
235
226
  var styles = {
@@ -316,7 +307,7 @@ var controlWithoutLabel = function (scope) { return ({
316
307
  var NonEmptyCellComponent = React__default["default"].memo(function NonEmptyCellComponent(_a) {
317
308
  var path = _a.path, propName = _a.propName, schema = _a.schema, rootSchema = _a.rootSchema, errors = _a.errors, enabled = _a.enabled, renderers = _a.renderers, cells = _a.cells, isValid = _a.isValid;
318
309
  return (React__default["default"].createElement(NoBorderTableCell, null,
319
- schema.properties ? (React__default["default"].createElement(react.DispatchCell, { schema: core.Resolve.schema(schema, "#/properties/" + core.encode(propName), rootSchema), uischema: controlWithoutLabel("#/properties/" + core.encode(propName)), path: path, enabled: enabled, renderers: renderers, cells: cells })) : (React__default["default"].createElement(react.DispatchCell, { schema: schema, uischema: controlWithoutLabel('#'), path: path, enabled: enabled, renderers: renderers, cells: cells })),
310
+ schema.properties ? (React__default["default"].createElement(react.DispatchCell, { schema: core.Resolve.schema(schema, "#/properties/".concat(core.encode(propName)), rootSchema), uischema: controlWithoutLabel("#/properties/".concat(core.encode(propName))), path: path, enabled: enabled, renderers: renderers, cells: cells })) : (React__default["default"].createElement(react.DispatchCell, { schema: schema, uischema: controlWithoutLabel('#'), path: path, enabled: enabled, renderers: renderers, cells: cells })),
320
311
  React__default["default"].createElement(material.FormHelperText, { error: !isValid }, !isValid && errors)));
321
312
  });
322
313
  var NonEmptyCell = function (ownProps) {
@@ -336,13 +327,13 @@ var NonEmptyRowComponent = function (_a) {
336
327
  showSortButtons ? (React__default["default"].createElement(React.Fragment, null,
337
328
  React__default["default"].createElement(material.Grid, { item: true },
338
329
  React__default["default"].createElement(material.IconButton, { "aria-label": translations.upAriaLabel, onClick: moveUp, disabled: !enableUp, size: 'large' },
339
- React__default["default"].createElement(ArrowUpward__default["default"], null))),
330
+ React__default["default"].createElement(iconsMaterial.ArrowUpward, null))),
340
331
  React__default["default"].createElement(material.Grid, { item: true },
341
332
  React__default["default"].createElement(material.IconButton, { "aria-label": translations.downAriaLabel, onClick: moveDown, disabled: !enableDown, size: 'large' },
342
- React__default["default"].createElement(ArrowDownward__default["default"], null))))) : null,
333
+ React__default["default"].createElement(iconsMaterial.ArrowDownward, null))))) : null,
343
334
  React__default["default"].createElement(material.Grid, { item: true },
344
335
  React__default["default"].createElement(material.IconButton, { "aria-label": translations.removeAriaLabel, onClick: function () { return openDeleteDialog(childPath, rowIndex); }, size: 'large' },
345
- React__default["default"].createElement(DeleteIcon__default["default"], null)))))) : null));
336
+ React__default["default"].createElement(iconsMaterial.Delete, null)))))) : null));
346
337
  };
347
338
  var NonEmptyRow = React__default["default"].memo(NonEmptyRowComponent);
348
339
  var TableRows = function (_a) {
@@ -353,7 +344,7 @@ var TableRows = function (_a) {
353
344
  }
354
345
  var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
355
346
  return (React__default["default"].createElement(React__default["default"].Fragment, null, range__default["default"](data).map(function (index) {
356
- var childPath = core.Paths.compose(path, "" + index);
347
+ var childPath = core.Paths.compose(path, "".concat(index));
357
348
  return (React__default["default"].createElement(NonEmptyRow, { key: childPath, childPath: childPath, rowIndex: index, schema: schema, openDeleteDialog: openDeleteDialog, moveUpCreator: moveUp, moveDownCreator: moveDown, enableUp: index !== 0, enableDown: index !== data - 1, showSortButtons: appliedUiSchemaOptions.showSortButtons ||
358
349
  appliedUiSchemaOptions.showArrayTableSortButtons, enabled: enabled, cells: cells, path: path, translations: translations }));
359
350
  })));
@@ -366,7 +357,7 @@ var MaterialTableControl = (function (_super) {
366
357
  return _this;
367
358
  }
368
359
  MaterialTableControl.prototype.render = function () {
369
- var _a = this.props, label = _a.label, path = _a.path, schema = _a.schema, rootSchema = _a.rootSchema, uischema = _a.uischema, errors = _a.errors, openDeleteDialog = _a.openDeleteDialog, visible = _a.visible, enabled = _a.enabled, cells = _a.cells, translations = _a.translations;
360
+ var _a = this.props, label = _a.label, description = _a.description, path = _a.path, schema = _a.schema, rootSchema = _a.rootSchema, uischema = _a.uischema, errors = _a.errors, openDeleteDialog = _a.openDeleteDialog, visible = _a.visible, enabled = _a.enabled, cells = _a.cells, translations = _a.translations;
370
361
  var controlElement = uischema;
371
362
  var isObjectSchema = schema.type === 'object';
372
363
  var headerCells = isObjectSchema
@@ -375,7 +366,7 @@ var MaterialTableControl = (function (_super) {
375
366
  return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
376
367
  React__default["default"].createElement(material.Table, null,
377
368
  React__default["default"].createElement(material.TableHead, null,
378
- React__default["default"].createElement(TableToolbar, { errors: errors, label: label, addItem: this.addItem, numColumns: isObjectSchema ? headerCells.length : 1, path: path, uischema: controlElement, schema: schema, rootSchema: rootSchema, enabled: enabled, translations: translations }),
369
+ React__default["default"].createElement(TableToolbar, { errors: errors, label: label, description: description, addItem: this.addItem, numColumns: isObjectSchema ? headerCells.length : 1, path: path, uischema: controlElement, schema: schema, rootSchema: rootSchema, enabled: enabled, translations: translations }),
379
370
  isObjectSchema && (React__default["default"].createElement(material.TableRow, null,
380
371
  headerCells,
381
372
  enabled ? React__default["default"].createElement(material.TableCell, null) : null))),
@@ -465,15 +456,48 @@ var MuiCheckbox = React__default["default"].memo(function MuiCheckbox(props) {
465
456
 
466
457
  dayjs__default["default"].extend(customParsing__default["default"]);
467
458
  var createOnChangeHandler = function (path, handleChange, saveFormat) {
468
- return function (time) {
469
- if (!time) {
459
+ return function (value) {
460
+ if (!value) {
470
461
  handleChange(path, undefined);
471
- return;
472
462
  }
473
- var result = dayjs__default["default"](time).format(saveFormat);
474
- handleChange(path, result);
463
+ else if (value.toString() !== 'Invalid Date') {
464
+ var formatedDate = formatDate(value, saveFormat);
465
+ handleChange(path, formatedDate);
466
+ }
467
+ };
468
+ };
469
+ var createOnBlurHandler = function (path, handleChange, format, saveFormat, rerenderChild, onBlur) {
470
+ return function (e) {
471
+ var date = dayjs__default["default"](e.target.value, format);
472
+ var formatedDate = formatDate(date, saveFormat);
473
+ if (formatedDate.toString() === 'Invalid Date') {
474
+ handleChange(path, undefined);
475
+ rerenderChild();
476
+ }
477
+ else {
478
+ handleChange(path, formatedDate);
479
+ }
480
+ onBlur();
475
481
  };
476
482
  };
483
+ var formatDate = function (date, saveFormat) {
484
+ var formatedDate = date.format(saveFormat);
485
+ var indexOfYear = saveFormat.indexOf('YYYY');
486
+ if (date.year() < 1000 && indexOfYear !== -1) {
487
+ var stringUpToYear = formatedDate.slice(0, indexOfYear);
488
+ var stringFromYear = formatedDate.slice(indexOfYear);
489
+ if (date.year() >= 100) {
490
+ formatedDate = [stringUpToYear, 0, stringFromYear].join('');
491
+ }
492
+ else if (date.year() >= 10) {
493
+ formatedDate = [stringUpToYear, 0, 0, stringFromYear].join('');
494
+ }
495
+ else if (date.year() >= 1) {
496
+ formatedDate = [stringUpToYear, 0, 0, 0, stringFromYear].join('');
497
+ }
498
+ }
499
+ return formatedDate;
500
+ };
477
501
  var getData = function (data, saveFormat) {
478
502
  if (!data) {
479
503
  return null;
@@ -486,7 +510,7 @@ var getData = function (data, saveFormat) {
486
510
  };
487
511
 
488
512
  var renderLayoutElements = function (elements, schema, path, enabled, renderers, cells) {
489
- return elements.map(function (child, index) { return (React__default["default"].createElement(material.Grid, { item: true, key: path + "-" + index, xs: true },
513
+ return elements.map(function (child, index) { return (React__default["default"].createElement(material.Grid, { item: true, key: "".concat(path, "-").concat(index), xs: true },
490
514
  React__default["default"].createElement(react.JsonFormsDispatch, { uischema: child, schema: schema, path: path, enabled: enabled, renderers: renderers, cells: cells }))); });
491
515
  };
492
516
  var MaterialLayoutRendererComponent = function (_a) {
@@ -634,7 +658,7 @@ var MuiInputText = React__default["default"].memo(function MuiInputText(props) {
634
658
  right: 0,
635
659
  } },
636
660
  React__default["default"].createElement(material.IconButton, { "aria-label": 'Clear input field', onClick: onClear, size: 'large' },
637
- React__default["default"].createElement(Close__default["default"], { style: closeStyle }))), inputComponent: inputComponent }));
661
+ React__default["default"].createElement(iconsMaterial.Close, { style: closeStyle }))), inputComponent: inputComponent }));
638
662
  });
639
663
 
640
664
  var MuiInputTime = React__default["default"].memo(function MuiInputTime(props) {
@@ -667,10 +691,10 @@ var MuiToggle = React__default["default"].memo(function MuiToggle(props) {
667
691
 
668
692
  var MaterialEnumArrayRenderer = function (_a) {
669
693
  var schema = _a.schema, visible = _a.visible, errors = _a.errors, path = _a.path, options = _a.options, data = _a.data, addItem = _a.addItem, removeItem = _a.removeItem; _a.handleChange; var otherProps = __rest(_a, ["schema", "visible", "errors", "path", "options", "data", "addItem", "removeItem", "handleChange"]);
670
- return (React__default["default"].createElement(material.Hidden, { xlUp: !visible },
694
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
671
695
  React__default["default"].createElement(material.FormControl, { component: 'fieldset' },
672
696
  React__default["default"].createElement(material.FormGroup, { row: true }, options.map(function (option, index) {
673
- var optionPath = core.Paths.compose(path, "" + index);
697
+ var optionPath = core.Paths.compose(path, "".concat(index));
674
698
  var checkboxValue = (data === null || data === void 0 ? void 0 : data.includes(option.value))
675
699
  ? option.value
676
700
  : undefined;
@@ -766,21 +790,23 @@ var MaterialLabelRenderer = function (_a) {
766
790
  var MaterialLabelRenderer$1 = react.withJsonFormsLabelProps(MaterialLabelRenderer);
767
791
 
768
792
  var ArrayLayoutToolbar = React__default["default"].memo(function ArrayLayoutToolbar(_a) {
769
- var label = _a.label, errors = _a.errors, addItem = _a.addItem, path = _a.path, enabled = _a.enabled, createDefault = _a.createDefault, translations = _a.translations;
793
+ var label = _a.label, description = _a.description, errors = _a.errors, addItem = _a.addItem, path = _a.path, enabled = _a.enabled, createDefault = _a.createDefault, translations = _a.translations;
770
794
  return (React__default["default"].createElement(material.Toolbar, { disableGutters: true },
771
- React__default["default"].createElement(material.Grid, { container: true, alignItems: 'center', justifyContent: 'space-between' },
772
- React__default["default"].createElement(material.Grid, { item: true },
773
- React__default["default"].createElement(material.Grid, { container: true, justifyContent: 'flex-start', alignItems: 'center', spacing: 2 },
774
- React__default["default"].createElement(material.Grid, { item: true },
775
- React__default["default"].createElement(material.Typography, { variant: 'h6' }, label)),
776
- React__default["default"].createElement(material.Grid, { item: true }, errors.length !== 0 && (React__default["default"].createElement(material.Grid, { item: true },
777
- React__default["default"].createElement(ValidationIcon, { id: 'tooltip-validation', errorMessages: errors })))))),
778
- enabled && (React__default["default"].createElement(material.Grid, { item: true },
779
- React__default["default"].createElement(material.Grid, { container: true },
780
- React__default["default"].createElement(material.Grid, { item: true },
781
- React__default["default"].createElement(material.Tooltip, { id: 'tooltip-add', title: translations.addTooltip, placement: 'bottom' },
782
- React__default["default"].createElement(material.IconButton, { "aria-label": translations.addTooltip, onClick: addItem(path, createDefault()), size: 'large' },
783
- React__default["default"].createElement(AddIcon__default["default"], null))))))))));
795
+ React__default["default"].createElement(material.Stack, null,
796
+ React__default["default"].createElement(material.Grid, { container: true, alignItems: 'center', justifyContent: 'space-between' },
797
+ React__default["default"].createElement(material.Grid, { item: true },
798
+ React__default["default"].createElement(material.Grid, { container: true, justifyContent: 'flex-start', alignItems: 'center', spacing: 2 },
799
+ React__default["default"].createElement(material.Grid, { item: true },
800
+ React__default["default"].createElement(material.Typography, { variant: 'h6' }, label)),
801
+ React__default["default"].createElement(material.Grid, { item: true }, errors.length !== 0 && (React__default["default"].createElement(material.Grid, { item: true },
802
+ React__default["default"].createElement(ValidationIcon, { id: 'tooltip-validation', errorMessages: errors })))))),
803
+ enabled && (React__default["default"].createElement(material.Grid, { item: true },
804
+ React__default["default"].createElement(material.Grid, { container: true },
805
+ React__default["default"].createElement(material.Grid, { item: true },
806
+ React__default["default"].createElement(material.Tooltip, { id: 'tooltip-add', title: translations.addTooltip, placement: 'bottom' },
807
+ React__default["default"].createElement(material.IconButton, { "aria-label": translations.addTooltip, onClick: addItem(path, createDefault()), size: 'large' },
808
+ React__default["default"].createElement(AddIcon__default["default"], null)))))))),
809
+ description && React__default["default"].createElement(material.FormHelperText, null, description))));
784
810
  });
785
811
 
786
812
  var ListWithDetailMasterItem = function (_a) {
@@ -791,12 +817,12 @@ var ListWithDetailMasterItem = function (_a) {
791
817
  React__default["default"].createElement(material.ListItemText, { primary: childLabel }),
792
818
  enabled && (React__default["default"].createElement(material.ListItemSecondaryAction, null,
793
819
  React__default["default"].createElement(material.IconButton, { "aria-label": translations.removeAriaLabel, onClick: removeItem(path, index), size: 'large' },
794
- React__default["default"].createElement(DeleteIcon__default["default"], null))))));
820
+ React__default["default"].createElement(iconsMaterial.Delete, null))))));
795
821
  };
796
822
  var ListWithDetailMasterItem$1 = react.withJsonFormsMasterListItemProps(ListWithDetailMasterItem);
797
823
 
798
824
  var MaterialListWithDetailRenderer = function (_a) {
799
- var uischemas = _a.uischemas, schema = _a.schema, uischema = _a.uischema, path = _a.path, enabled = _a.enabled, errors = _a.errors, visible = _a.visible, label = _a.label, required = _a.required, removeItems = _a.removeItems, addItem = _a.addItem, data = _a.data, renderers = _a.renderers, cells = _a.cells, config = _a.config, rootSchema = _a.rootSchema, translations = _a.translations;
825
+ var uischemas = _a.uischemas, schema = _a.schema, uischema = _a.uischema, path = _a.path, enabled = _a.enabled, errors = _a.errors, visible = _a.visible, label = _a.label, required = _a.required, removeItems = _a.removeItems, addItem = _a.addItem, data = _a.data, renderers = _a.renderers, cells = _a.cells, config = _a.config, rootSchema = _a.rootSchema, translations = _a.translations, description = _a.description;
800
826
  var _b = React.useState(undefined), selectedIndex = _b[0], setSelectedIndex = _b[1];
801
827
  var handleRemoveItem = React.useCallback(function (p, value) { return function () {
802
828
  removeItems(p, [value])();
@@ -817,11 +843,11 @@ var MaterialListWithDetailRenderer = function (_a) {
817
843
  setSelectedIndex(undefined);
818
844
  }, [schema]);
819
845
  return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
820
- React__default["default"].createElement(ArrayLayoutToolbar, { translations: translations, label: core.computeLabel(label, required, appliedUiSchemaOptions.hideRequiredAsterisk), errors: errors, path: path, enabled: enabled, addItem: addItem, createDefault: handleCreateDefaultValue }),
846
+ React__default["default"].createElement(ArrayLayoutToolbar, { translations: translations, label: core.computeLabel(label, required, appliedUiSchemaOptions.hideRequiredAsterisk), description: description, errors: errors, path: path, enabled: enabled, addItem: addItem, createDefault: handleCreateDefaultValue }),
821
847
  React__default["default"].createElement(material.Grid, { container: true, direction: 'row', spacing: 2 },
822
848
  React__default["default"].createElement(material.Grid, { item: true, xs: 3 },
823
849
  React__default["default"].createElement(material.List, null, data > 0 ? (map__default["default"](range__default["default"](data), function (index) { return (React__default["default"].createElement(ListWithDetailMasterItem$1, { index: index, path: path, schema: schema, enabled: enabled, handleSelect: handleListItemClick, removeItem: handleRemoveItem, selected: selectedIndex === index, key: index, translations: translations })); })) : (React__default["default"].createElement("p", null, "No data")))),
824
- React__default["default"].createElement(material.Grid, { item: true, xs: true }, selectedIndex !== undefined ? (React__default["default"].createElement(react.JsonFormsDispatch, { renderers: renderers, cells: cells, visible: visible, schema: schema, uischema: foundUISchema, path: core.composePaths(path, "" + selectedIndex) })) : (React__default["default"].createElement(material.Typography, { variant: 'h6' }, translations.noSelection))))));
850
+ React__default["default"].createElement(material.Grid, { item: true, xs: true }, selectedIndex !== undefined ? (React__default["default"].createElement(react.JsonFormsDispatch, { renderers: renderers, cells: cells, visible: visible, schema: schema, uischema: foundUISchema, path: core.composePaths(path, "".concat(selectedIndex)) })) : (React__default["default"].createElement(material.Typography, { variant: 'h6' }, translations.noSelection))))));
825
851
  };
826
852
  var materialListWithDetailTester = core.rankWith(4, core.and(core.uiTypeIs('ListWithDetail'), core.isObjectArray));
827
853
  var MaterialListWithDetailRenderer$1 = react.withJsonFormsArrayLayoutProps(MaterialListWithDetailRenderer);
@@ -917,9 +943,9 @@ var MaterialBooleanControl = function (_a) {
917
943
  : null;
918
944
  var secondFormHelperText = showDescription && !isValid ? errors : null;
919
945
  var descriptionIds = [];
920
- var tooltipId = id + "-tip";
921
- var helpId1 = id + "-help1";
922
- var helpId2 = id + "-help2";
946
+ var tooltipId = "".concat(id, "-tip");
947
+ var helpId1 = "".concat(id, "-help1");
948
+ var helpId2 = "".concat(id, "-help2");
923
949
  if (showTooltip) {
924
950
  descriptionIds.push(tooltipId);
925
951
  }
@@ -932,7 +958,7 @@ var MaterialBooleanControl = function (_a) {
932
958
  var ariaDescribedBy = descriptionIds.join(' ');
933
959
  return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
934
960
  React__default["default"].createElement(material.Tooltip, { id: tooltipId, title: showTooltip ? description : '' },
935
- React__default["default"].createElement(material.FormControlLabel, { label: label, id: id, control: React__default["default"].createElement(MuiCheckbox, { id: id + "-input", isValid: isEmpty__default["default"](errors), data: data, enabled: enabled, visible: visible, path: path, uischema: uischema, schema: schema, rootSchema: rootSchema, handleChange: handleChange, errors: errors, config: config, inputProps: {
961
+ React__default["default"].createElement(material.FormControlLabel, { label: label, id: id, control: React__default["default"].createElement(MuiCheckbox, { id: "".concat(id, "-input"), isValid: isEmpty__default["default"](errors), data: data, enabled: enabled, visible: visible, path: path, uischema: uischema, schema: schema, rootSchema: rootSchema, handleChange: handleChange, errors: errors, config: config, inputProps: {
936
962
  'aria-describedby': ariaDescribedBy,
937
963
  } }) })),
938
964
  React__default["default"].createElement(material.FormHelperText, { id: helpId1, error: !isValid && !showDescription }, firstFormHelperText),
@@ -958,9 +984,9 @@ var MaterialBooleanToggleControl = function (_a) {
958
984
  : null;
959
985
  var secondFormHelperText = showDescription && !isValid ? errors : null;
960
986
  var descriptionIds = [];
961
- var tooltipId = id + "-tip";
962
- var helpId1 = id + "-help1";
963
- var helpId2 = id + "-help2";
987
+ var tooltipId = "".concat(id, "-tip");
988
+ var helpId1 = "".concat(id, "-help1");
989
+ var helpId2 = "".concat(id, "-help2");
964
990
  if (showTooltip) {
965
991
  descriptionIds.push(tooltipId);
966
992
  }
@@ -973,7 +999,7 @@ var MaterialBooleanToggleControl = function (_a) {
973
999
  var ariaDescribedBy = descriptionIds.join(' ');
974
1000
  return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
975
1001
  React__default["default"].createElement(material.Tooltip, { id: tooltipId, title: showTooltip ? description : '' },
976
- React__default["default"].createElement(material.FormControlLabel, { label: label, id: id, control: React__default["default"].createElement(MuiToggle, { id: id + "-input", isValid: isEmpty__default["default"](errors), data: data, enabled: enabled, visible: visible, path: path, uischema: uischema, schema: schema, rootSchema: rootSchema, handleChange: handleChange, errors: errors, config: config, inputProps: {
1002
+ React__default["default"].createElement(material.FormControlLabel, { label: label, id: id, control: React__default["default"].createElement(MuiToggle, { id: "".concat(id, "-input"), isValid: isEmpty__default["default"](errors), data: data, enabled: enabled, visible: visible, path: path, uischema: uischema, schema: schema, rootSchema: rootSchema, handleChange: handleChange, errors: errors, config: config, inputProps: {
977
1003
  'aria-describedby': ariaDescribedBy,
978
1004
  } }) })),
979
1005
  React__default["default"].createElement(material.FormHelperText, { id: helpId1, error: !isValid && !showDescription }, firstFormHelperText),
@@ -989,8 +1015,9 @@ var MaterialDateControl = function (props) {
989
1015
  var isValid = errors.length === 0;
990
1016
  var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
991
1017
  var showDescription = !core.isDescriptionHidden(visible, description, focused, appliedUiSchemaOptions.showUnfocusedDescription);
1018
+ var _e = React.useState(0), key = _e[0], setKey = _e[1];
992
1019
  var format = (_a = appliedUiSchemaOptions.dateFormat) !== null && _a !== void 0 ? _a : 'YYYY-MM-DD';
993
- var saveFormat = (_b = appliedUiSchemaOptions.dateSaveFormat) !== null && _b !== void 0 ? _b : 'YYYY-MM-DD';
1020
+ var saveFormat = (_b = appliedUiSchemaOptions.dateSaveFormat) !== null && _b !== void 0 ? _b : core.defaultDateFormat;
994
1021
  var views = (_c = appliedUiSchemaOptions.views) !== null && _c !== void 0 ? _c : ['year', 'day'];
995
1022
  var firstFormHelperText = showDescription
996
1023
  ? description
@@ -998,11 +1025,15 @@ var MaterialDateControl = function (props) {
998
1025
  ? errors
999
1026
  : null;
1000
1027
  var secondFormHelperText = showDescription && !isValid ? errors : null;
1028
+ var updateChild = React.useCallback(function () { return setKey(function (key) { return key + 1; }); }, []);
1001
1029
  var onChange = React.useMemo(function () { return createOnChangeHandler(path, handleChange, saveFormat); }, [path, handleChange, saveFormat]);
1030
+ var onBlurHandler = React.useMemo(function () {
1031
+ return createOnBlurHandler(path, handleChange, format, saveFormat, updateChild, onBlur);
1032
+ }, [path, handleChange, format, saveFormat, updateChild]);
1002
1033
  var value = getData(data, saveFormat);
1003
1034
  return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
1004
1035
  React__default["default"].createElement(xDatePickers.LocalizationProvider, { dateAdapter: AdapterDayjs.AdapterDayjs },
1005
- React__default["default"].createElement(xDatePickers.DatePicker, { label: label, value: value, onChange: onChange, format: format, views: views, disabled: !enabled, slotProps: {
1036
+ React__default["default"].createElement(xDatePickers.DatePicker, { key: key, label: label, value: value, onAccept: onChange, format: format, views: views, disabled: !enabled, slotProps: {
1006
1037
  actionBar: function (_a) {
1007
1038
  var wrapperVariant = _a.wrapperVariant;
1008
1039
  return ({
@@ -1022,7 +1053,7 @@ var MaterialDateControl = function (props) {
1022
1053
  },
1023
1054
  InputLabelProps: data ? { shrink: true } : undefined,
1024
1055
  onFocus: onFocus,
1025
- onBlur: onBlur,
1056
+ onBlur: onBlurHandler,
1026
1057
  },
1027
1058
  } }),
1028
1059
  React__default["default"].createElement(material.FormHelperText, { error: !isValid && !showDescription }, firstFormHelperText),
@@ -1039,7 +1070,8 @@ var MaterialDateTimeControl = function (props) {
1039
1070
  var isValid = errors.length === 0;
1040
1071
  var showDescription = !core.isDescriptionHidden(visible, description, focused, appliedUiSchemaOptions.showUnfocusedDescription);
1041
1072
  var format = (_a = appliedUiSchemaOptions.dateTimeFormat) !== null && _a !== void 0 ? _a : 'YYYY-MM-DD HH:mm';
1042
- var saveFormat = (_b = appliedUiSchemaOptions.dateTimeSaveFormat) !== null && _b !== void 0 ? _b : undefined;
1073
+ var saveFormat = (_b = appliedUiSchemaOptions.dateTimeSaveFormat) !== null && _b !== void 0 ? _b : core.defaultDateTimeFormat;
1074
+ var _e = React.useState(0), key = _e[0], setKey = _e[1];
1043
1075
  var views = (_c = appliedUiSchemaOptions.views) !== null && _c !== void 0 ? _c : [
1044
1076
  'year',
1045
1077
  'day',
@@ -1052,11 +1084,15 @@ var MaterialDateTimeControl = function (props) {
1052
1084
  ? errors
1053
1085
  : null;
1054
1086
  var secondFormHelperText = showDescription && !isValid ? errors : null;
1087
+ var updateChild = React.useCallback(function () { return setKey(function (key) { return key + 1; }); }, []);
1055
1088
  var onChange = React.useMemo(function () { return createOnChangeHandler(path, handleChange, saveFormat); }, [path, handleChange, saveFormat]);
1089
+ var onBlurHandler = React.useMemo(function () {
1090
+ return createOnBlurHandler(path, handleChange, format, saveFormat, updateChild, onBlur);
1091
+ }, [path, handleChange, format, saveFormat, updateChild]);
1056
1092
  var value = getData(data, saveFormat);
1057
1093
  return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
1058
1094
  React__default["default"].createElement(xDatePickers.LocalizationProvider, { dateAdapter: AdapterDayjs.AdapterDayjs },
1059
- React__default["default"].createElement(xDatePickers.DateTimePicker, { label: label, value: value, onChange: onChange, format: format, ampm: !!appliedUiSchemaOptions.ampm, views: views, disabled: !enabled, slotProps: {
1095
+ React__default["default"].createElement(xDatePickers.DateTimePicker, { key: key, label: label, value: value, onAccept: onChange, format: format, ampm: !!appliedUiSchemaOptions.ampm, views: views, disabled: !enabled, slotProps: {
1060
1096
  actionBar: function (_a) {
1061
1097
  var wrapperVariant = _a.wrapperVariant;
1062
1098
  return ({
@@ -1076,7 +1112,7 @@ var MaterialDateTimeControl = function (props) {
1076
1112
  },
1077
1113
  InputLabelProps: data ? { shrink: true } : undefined,
1078
1114
  onFocus: onFocus,
1079
- onBlur: onBlur,
1115
+ onBlur: onBlurHandler,
1080
1116
  },
1081
1117
  } }),
1082
1118
  React__default["default"].createElement(material.FormHelperText, { error: !isValid && !showDescription }, firstFormHelperText),
@@ -1197,9 +1233,10 @@ var MaterialTimeControl = function (props) {
1197
1233
  var id = props.id, description = props.description, errors = props.errors, label = props.label, uischema = props.uischema, visible = props.visible, enabled = props.enabled, required = props.required, path = props.path, handleChange = props.handleChange, data = props.data, config = props.config;
1198
1234
  var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
1199
1235
  var isValid = errors.length === 0;
1236
+ var _e = React.useState(0), key = _e[0], setKey = _e[1];
1200
1237
  var showDescription = !core.isDescriptionHidden(visible, description, focused, appliedUiSchemaOptions.showUnfocusedDescription);
1201
1238
  var format = (_a = appliedUiSchemaOptions.timeFormat) !== null && _a !== void 0 ? _a : 'HH:mm';
1202
- var saveFormat = (_b = appliedUiSchemaOptions.timeSaveFormat) !== null && _b !== void 0 ? _b : 'HH:mm:ss';
1239
+ var saveFormat = (_b = appliedUiSchemaOptions.timeSaveFormat) !== null && _b !== void 0 ? _b : core.defaultTimeFormat;
1203
1240
  var views = (_c = appliedUiSchemaOptions.views) !== null && _c !== void 0 ? _c : ['hours', 'minutes'];
1204
1241
  var firstFormHelperText = showDescription
1205
1242
  ? description
@@ -1207,11 +1244,15 @@ var MaterialTimeControl = function (props) {
1207
1244
  ? errors
1208
1245
  : null;
1209
1246
  var secondFormHelperText = showDescription && !isValid ? errors : null;
1247
+ var updateChild = React.useCallback(function () { return setKey(function (key) { return key + 1; }); }, []);
1210
1248
  var onChange = React.useMemo(function () { return createOnChangeHandler(path, handleChange, saveFormat); }, [path, handleChange, saveFormat]);
1249
+ var onBlurHandler = React.useMemo(function () {
1250
+ return createOnBlurHandler(path, handleChange, format, saveFormat, updateChild, onBlur);
1251
+ }, [path, handleChange, format, saveFormat, updateChild]);
1211
1252
  var value = getData(data, saveFormat);
1212
1253
  return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
1213
1254
  React__default["default"].createElement(xDatePickers.LocalizationProvider, { dateAdapter: AdapterDayjs.AdapterDayjs },
1214
- React__default["default"].createElement(xDatePickers.TimePicker, { label: label, value: value, onChange: onChange, format: format, ampm: !!appliedUiSchemaOptions.ampm, views: views, disabled: !enabled, slotProps: {
1255
+ React__default["default"].createElement(xDatePickers.TimePicker, { key: key, label: label, value: value, onAccept: onChange, format: format, ampm: !!appliedUiSchemaOptions.ampm, views: views, disabled: !enabled, slotProps: {
1215
1256
  actionBar: function (_a) {
1216
1257
  var wrapperVariant = _a.wrapperVariant;
1217
1258
  return ({
@@ -1231,7 +1272,7 @@ var MaterialTimeControl = function (props) {
1231
1272
  },
1232
1273
  InputLabelProps: data ? { shrink: true } : undefined,
1233
1274
  onFocus: onFocus,
1234
- onBlur: onBlur,
1275
+ onBlur: onBlurHandler,
1235
1276
  },
1236
1277
  } }),
1237
1278
  React__default["default"].createElement(material.FormHelperText, { error: !isValid && !showDescription }, firstFormHelperText),
@@ -1256,7 +1297,7 @@ var ExpandPanelRendererComponent = function (props) {
1256
1297
  var showSortButtons = appliedUiSchemaOptions.showSortButtons ||
1257
1298
  appliedUiSchemaOptions.showArrayLayoutSortButtons;
1258
1299
  return (React__default["default"].createElement(material.Accordion, { "aria-labelledby": labelHtmlId, expanded: expanded, onChange: handleExpansion(childPath) },
1259
- React__default["default"].createElement(material.AccordionSummary, { expandIcon: React__default["default"].createElement(ExpandMoreIcon__default["default"], null) },
1300
+ React__default["default"].createElement(material.AccordionSummary, { expandIcon: React__default["default"].createElement(iconsMaterial.ExpandMore, null) },
1260
1301
  React__default["default"].createElement(material.Grid, { container: true, alignItems: 'center' },
1261
1302
  React__default["default"].createElement(material.Grid, { item: true, xs: 7, md: 9 },
1262
1303
  React__default["default"].createElement(material.Grid, { container: true, alignItems: 'center' },
@@ -1271,13 +1312,13 @@ var ExpandPanelRendererComponent = function (props) {
1271
1312
  showSortButtons && enabled ? (React__default["default"].createElement(React.Fragment, null,
1272
1313
  React__default["default"].createElement(material.Grid, { item: true },
1273
1314
  React__default["default"].createElement(material.IconButton, { onClick: moveUp(path, index), style: iconStyle, disabled: !enableMoveUp, "aria-label": translations.upAriaLabel, size: 'large' },
1274
- React__default["default"].createElement(ArrowUpward__default["default"], null))),
1315
+ React__default["default"].createElement(iconsMaterial.ArrowUpward, null))),
1275
1316
  React__default["default"].createElement(material.Grid, { item: true },
1276
1317
  React__default["default"].createElement(material.IconButton, { onClick: moveDown(path, index), style: iconStyle, disabled: !enableMoveDown, "aria-label": translations.downAriaLabel, size: 'large' },
1277
- React__default["default"].createElement(ArrowDownward__default["default"], null))))) : (''),
1318
+ React__default["default"].createElement(iconsMaterial.ArrowDownward, null))))) : (''),
1278
1319
  enabled && (React__default["default"].createElement(material.Grid, { item: true },
1279
1320
  React__default["default"].createElement(material.IconButton, { onClick: removeItems(path, [index]), style: iconStyle, "aria-label": translations.removeAriaLabel, size: 'large' },
1280
- React__default["default"].createElement(DeleteIcon__default["default"], null)))))))))),
1321
+ React__default["default"].createElement(iconsMaterial.Delete, null)))))))))),
1281
1322
  React__default["default"].createElement(material.AccordionDetails, null,
1282
1323
  React__default["default"].createElement(react.JsonFormsDispatch, { enabled: enabled, schema: schema, uischema: foundUISchema, path: childPath, key: childPath, renderers: renderers, cells: cells }))));
1283
1324
  };
@@ -1319,7 +1360,7 @@ var withContextToExpandPanelProps = function (Component) {
1319
1360
  var ctx = _a.ctx, props = _a.props;
1320
1361
  var dispatchProps = ctxDispatchToExpandPanelProps(ctx.dispatch);
1321
1362
  var childLabelProp = props.childLabelProp, schema = props.schema, path = props.path, index = props.index, uischemas = props.uischemas;
1322
- var childPath = core.composePaths(path, "" + index);
1363
+ var childPath = core.composePaths(path, "".concat(index));
1323
1364
  var childData = core.Resolve.data(ctx.core.data, childPath);
1324
1365
  var childLabel = childLabelProp
1325
1366
  ? get__default["default"](childData, childLabelProp, '')
@@ -1438,12 +1479,12 @@ var MaterialArrayLayoutComponent = function (props) {
1438
1479
  setExpanded(expandedPanel ? panel : false);
1439
1480
  }; }, []);
1440
1481
  var isExpanded = function (index) {
1441
- return expanded === core.composePaths(props.path, "" + index);
1482
+ return expanded === core.composePaths(props.path, "".concat(index));
1442
1483
  };
1443
- var enabled = props.enabled, data = props.data, path = props.path, schema = props.schema, uischema = props.uischema, errors = props.errors, addItem = props.addItem, renderers = props.renderers, cells = props.cells, label = props.label, required = props.required, rootSchema = props.rootSchema, config = props.config, uischemas = props.uischemas, translations = props.translations;
1484
+ var enabled = props.enabled, data = props.data, path = props.path, schema = props.schema, uischema = props.uischema, errors = props.errors, addItem = props.addItem, renderers = props.renderers, cells = props.cells, label = props.label, required = props.required, rootSchema = props.rootSchema, config = props.config, uischemas = props.uischemas, translations = props.translations, description = props.description;
1444
1485
  var appliedUiSchemaOptions = merge__default["default"]({}, config, props.uischema.options);
1445
1486
  return (React__default["default"].createElement("div", null,
1446
- React__default["default"].createElement(ArrayLayoutToolbar, { translations: translations, label: core.computeLabel(label, required, appliedUiSchemaOptions.hideRequiredAsterisk), errors: errors, path: path, enabled: enabled, addItem: addItem, createDefault: innerCreateDefaultValue }),
1487
+ React__default["default"].createElement(ArrayLayoutToolbar, { translations: translations, label: core.computeLabel(label, required, appliedUiSchemaOptions.hideRequiredAsterisk), description: description, errors: errors, path: path, enabled: enabled, addItem: addItem, createDefault: innerCreateDefaultValue }),
1447
1488
  React__default["default"].createElement("div", null, data > 0 ? (map__default["default"](range__default["default"](data), function (index) {
1448
1489
  return (React__default["default"].createElement(ExpandPanelRenderer$1, { enabled: enabled, index: index, expanded: isExpanded(index), schema: schema, path: path, handleExpansion: handleChange, uischema: uischema, renderers: renderers, cells: cells, key: index, rootSchema: rootSchema, enableMoveUp: index != 0, enableMoveDown: index < data - 1, config: config, childLabelProp: appliedUiSchemaOptions.elementLabelProp, uischemas: uischemas, translations: translations }));
1449
1490
  })) : (React__default["default"].createElement("p", null, "No data")))));
@@ -1749,9 +1790,11 @@ exports.MuiToggle = MuiToggle;
1749
1790
  exports.NoBorderTableCell = NoBorderTableCell;
1750
1791
  exports.NonEmptyRow = NonEmptyRow;
1751
1792
  exports.Unwrapped = Unwrapped;
1793
+ exports.createOnBlurHandler = createOnBlurHandler;
1752
1794
  exports.createOnChangeHandler = createOnChangeHandler;
1753
1795
  exports.ctxDispatchToExpandPanelProps = ctxDispatchToExpandPanelProps;
1754
1796
  exports.defaultInputVariant = defaultInputVariant;
1797
+ exports.formatDate = formatDate;
1755
1798
  exports.getData = getData;
1756
1799
  exports.i18nDefaults = i18nDefaults;
1757
1800
  exports.materialAllOfControlTester = materialAllOfControlTester;