@jsonforms/material-renderers 3.0.0-beta.2 → 3.0.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +71 -13
- package/docs/assets/js/search.json +1 -1
- package/docs/globals.html +103 -52
- package/docs/index.html +79 -13
- package/docs/interfaces/inputref.html +168 -0
- package/lib/additional/MaterialListWithDetailRenderer.d.ts +1 -1
- package/lib/jsonforms-react-material.cjs.js +47 -19
- package/lib/jsonforms-react-material.cjs.js.map +1 -1
- package/lib/jsonforms-react-material.esm.js +50 -15
- package/lib/jsonforms-react-material.esm.js.map +1 -1
- package/lib/layouts/MaterialArrayLayoutRenderer.d.ts +1 -1
- package/lib/util/datejs.d.ts +17 -1
- package/package.json +7 -7
- package/src/additional/MaterialListWithDetailRenderer.tsx +5 -3
- package/src/complex/MaterialTableControl.tsx +1 -1
- package/src/controls/MaterialDateControl.tsx +23 -6
- package/src/controls/MaterialDateTimeControl.tsx +23 -6
- package/src/controls/MaterialTimeControl.tsx +24 -7
- package/src/layouts/ExpandPanelRenderer.tsx +2 -1
- package/src/layouts/MaterialArrayLayoutRenderer.tsx +3 -25
- package/src/mui-controls/MuiAutocomplete.tsx +1 -0
- package/src/util/datejs.tsx +73 -0
- package/stats.html +1 -1
- package/test/renderers/MaterialArrayLayout.test.tsx +32 -1
- package/test/renderers/MaterialDateControl.test.tsx +27 -0
- package/test/renderers/MaterialDateTimeControl.test.tsx +27 -0
- package/test/renderers/MaterialTimeControl.test.tsx +27 -0
- package/src/util/datejs.ts +0 -32
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { createDefaultValue, Resolve, encode, Paths, formatErrorMessage, errorsAt, rankWith, isObjectControl, findUISchema, Generate, isAllOfControl, findMatchingUISchema, createCombinatorRenderInfos, isAnyOfControl, isOneOfControl, getAjv, and, uiTypeIs, schemaMatches, hasType, schemaSubPathMatches, or, isObjectArrayControl, isPrimitiveArrayControl, isObjectArray, computeLabel, composePaths, isBooleanControl, optionIs, isDescriptionHidden, showAsRequired, isEnumControl, isDateControl, isTimeControl, isDateTimeControl, isRangeControl, isIntegerControl, isNumberControl, isStringControl, isOneOfEnumControl, withIncreasedRank, isVisible, update, moveUp, moveDown, getFirstPrimitiveProp, createId, removeId, isObjectArrayWithNesting, isNumberFormatControl, categorizationHasCategory } from '@jsonforms/core';
|
|
2
|
-
import React, { useMemo, Fragment, useState, useCallback, useEffect } from 'react';
|
|
2
|
+
import React, { useMemo, Fragment, useState, useCallback, useRef, useEffect } from 'react';
|
|
3
3
|
import { DispatchCell, useJsonForms, withJsonFormsArrayLayoutProps, withJsonFormsDetailProps, JsonFormsDispatch, withJsonFormsAllOfProps, withJsonFormsAnyOfProps, withJsonFormsOneOfProps, withJsonFormsMultiEnumProps, withJsonFormsLayoutProps, withJsonFormsMasterListItemProps, withJsonFormsControlProps, withJsonFormsEnumProps, Control, withJsonFormsOneOfEnumProps, withJsonFormsContext, withJsonFormsCellProps, withJsonFormsEnumCellProps, withJsonFormsOneOfEnumCellProps } from '@jsonforms/react';
|
|
4
4
|
import isEmpty from 'lodash/isEmpty';
|
|
5
5
|
import union from 'lodash/union';
|
|
6
6
|
import startCase from 'lodash/startCase';
|
|
7
7
|
import range from 'lodash/range';
|
|
8
|
-
import { TableCell, styled as styled$1, Badge, Tooltip, TableRow, Grid, Typography, Hidden, IconButton, FormHelperText, Table, TableHead, TableBody, Dialog, DialogTitle, DialogContent, DialogContentText, DialogActions, Button, Tabs, Tab, Checkbox, Select, MenuItem, Input, useTheme, InputAdornment, FormControl, FormGroup, FormControlLabel, Toolbar, ListItem, ListItemAvatar, Avatar, ListItemText, ListItemSecondaryAction, List, Switch, InputLabel, Autocomplete,
|
|
8
|
+
import { TableCell, styled as styled$1, Badge, Tooltip, TableRow, Grid, Typography, Hidden, IconButton, FormHelperText, Table, TableHead, TableBody, Dialog, DialogTitle, DialogContent, DialogContentText, DialogActions, Button, Tabs, Tab, Checkbox, Select, MenuItem, TextField, Input, useTheme, InputAdornment, FormControl, FormGroup, FormControlLabel, Toolbar, ListItem, ListItemAvatar, Avatar, ListItemText, ListItemSecondaryAction, List, Switch, InputLabel, Autocomplete, FormLabel, Slider, RadioGroup, Radio, Card, CardHeader, CardContent, AppBar, Accordion, AccordionSummary, AccordionDetails, Stepper, Step, StepButton } from '@mui/material';
|
|
9
9
|
import DeleteIcon from '@mui/icons-material/Delete';
|
|
10
10
|
import ArrowDownward from '@mui/icons-material/ArrowDownward';
|
|
11
11
|
import ArrowUpward from '@mui/icons-material/ArrowUpward';
|
|
@@ -168,7 +168,7 @@ const TableRows = ({ data, path, schema, openDeleteDialog, moveUp, moveDown, uis
|
|
|
168
168
|
const appliedUiSchemaOptions = merge({}, config, uischema.options);
|
|
169
169
|
return (React.createElement(React.Fragment, null, range(data).map((index) => {
|
|
170
170
|
const childPath = Paths.compose(path, `${index}`);
|
|
171
|
-
return (React.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, enabled: enabled, cells: cells, path: path }));
|
|
171
|
+
return (React.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 || appliedUiSchemaOptions.showArrayTableSortButtons, enabled: enabled, cells: cells, path: path }));
|
|
172
172
|
})));
|
|
173
173
|
};
|
|
174
174
|
class MaterialTableControl extends React.Component {
|
|
@@ -334,13 +334,13 @@ const MuiSelect = React.memo((props) => {
|
|
|
334
334
|
});
|
|
335
335
|
|
|
336
336
|
dayjs.extend(customParsing);
|
|
337
|
-
const createOnChangeHandler = (path, handleChange, saveFormat) => (time) => {
|
|
337
|
+
const createOnChangeHandler = (path, handleChange, saveFormat) => (time, textInputValue) => {
|
|
338
338
|
if (!time) {
|
|
339
339
|
handleChange(path, undefined);
|
|
340
340
|
return;
|
|
341
341
|
}
|
|
342
342
|
const result = dayjs(time).format(saveFormat);
|
|
343
|
-
handleChange(path, result === 'Invalid Date' ?
|
|
343
|
+
handleChange(path, result === 'Invalid Date' ? textInputValue : result);
|
|
344
344
|
};
|
|
345
345
|
const getData = (data, saveFormat) => {
|
|
346
346
|
if (!data) {
|
|
@@ -352,6 +352,22 @@ const getData = (data, saveFormat) => {
|
|
|
352
352
|
}
|
|
353
353
|
return dayjsData;
|
|
354
354
|
};
|
|
355
|
+
const ResettableTextField = ({ rawValue, dayjsValueIsValid, valueInInputFormat, focused, inputProps, ...props }) => {
|
|
356
|
+
const value = useRef({ lastInput: inputProps?.value, toShow: inputProps?.value });
|
|
357
|
+
if (!focused) {
|
|
358
|
+
if (!dayjsValueIsValid) {
|
|
359
|
+
value.current.toShow = typeof rawValue === 'string' || rawValue === null || rawValue === undefined ? rawValue : JSON.stringify(rawValue);
|
|
360
|
+
}
|
|
361
|
+
else {
|
|
362
|
+
value.current.toShow = valueInInputFormat;
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
if (focused && inputProps?.value !== value.current.lastInput) {
|
|
366
|
+
value.current.lastInput = inputProps?.value;
|
|
367
|
+
value.current.toShow = inputProps?.value;
|
|
368
|
+
}
|
|
369
|
+
return React.createElement(TextField, Object.assign({}, props, { inputProps: { ...inputProps, value: value.current.toShow || '' } }));
|
|
370
|
+
};
|
|
355
371
|
|
|
356
372
|
const renderLayoutElements = (elements, schema, path, enabled, renderers, cells) => {
|
|
357
373
|
return elements.map((child, index) => (React.createElement(Grid, { item: true, key: `${path}-${index}`, xs: true },
|
|
@@ -537,7 +553,7 @@ const ListWithDetailMasterItem = ({ index, childLabel, selected, handleSelect, r
|
|
|
537
553
|
};
|
|
538
554
|
var ListWithDetailMasterItem$1 = withJsonFormsMasterListItemProps(ListWithDetailMasterItem);
|
|
539
555
|
|
|
540
|
-
const MaterialListWithDetailRenderer = ({ uischemas, schema, uischema, path, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config }) => {
|
|
556
|
+
const MaterialListWithDetailRenderer = ({ uischemas, schema, uischema, path, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config, rootSchema }) => {
|
|
541
557
|
const [selectedIndex, setSelectedIndex] = useState(undefined);
|
|
542
558
|
const handleRemoveItem = useCallback((p, value) => () => {
|
|
543
559
|
removeItems(p, [value])();
|
|
@@ -550,7 +566,7 @@ const MaterialListWithDetailRenderer = ({ uischemas, schema, uischema, path, err
|
|
|
550
566
|
}, [removeItems, setSelectedIndex]);
|
|
551
567
|
const handleListItemClick = useCallback((index) => () => setSelectedIndex(index), [setSelectedIndex]);
|
|
552
568
|
const handleCreateDefaultValue = useCallback(() => createDefaultValue(schema), [createDefaultValue]);
|
|
553
|
-
const foundUISchema = useMemo(() => findUISchema(uischemas, schema, uischema.scope, path, undefined, uischema), [uischemas, schema, uischema.scope, path, uischema]);
|
|
569
|
+
const foundUISchema = useMemo(() => findUISchema(uischemas, schema, uischema.scope, path, undefined, uischema, rootSchema), [uischemas, schema, uischema.scope, path, uischema, rootSchema]);
|
|
554
570
|
const appliedUiSchemaOptions = merge({}, config, uischema.options);
|
|
555
571
|
return (React.createElement(Hidden, { xsUp: !visible },
|
|
556
572
|
React.createElement(ArrayLayoutToolbar, { label: computeLabel(label, required, appliedUiSchemaOptions.hideRequiredAsterisk), errors: errors, path: path, addItem: addItem, createDefault: handleCreateDefaultValue }),
|
|
@@ -614,7 +630,7 @@ const MuiAutocomplete = (props) => {
|
|
|
614
630
|
handleChange(path, newValue?.value);
|
|
615
631
|
}, inputValue: inputValue, onInputChange: (_event, newInputValue) => {
|
|
616
632
|
setInputValue(newInputValue);
|
|
617
|
-
}, autoHighlight: true, autoSelect: true, autoComplete: true, fullWidth: true, options: options, getOptionLabel: getOptionLabel || (option => option?.label), style: { marginTop: 16 }, renderInput: params => (React.createElement(Input, { style: { width: '100%' }, type: 'text', inputProps: params.inputProps, inputRef: params.InputProps.ref, autoFocus: appliedUiSchemaOptions.focus, disabled: !enabled })), renderOption: renderOption, filterOptions: filterOptions }));
|
|
633
|
+
}, autoHighlight: true, autoSelect: true, autoComplete: true, fullWidth: true, options: options, getOptionLabel: getOptionLabel || (option => option?.label), freeSolo: false, style: { marginTop: 16 }, renderInput: params => (React.createElement(Input, { style: { width: '100%' }, type: 'text', inputProps: params.inputProps, inputRef: params.InputProps.ref, autoFocus: appliedUiSchemaOptions.focus, disabled: !enabled })), renderOption: renderOption, filterOptions: filterOptions }));
|
|
618
634
|
};
|
|
619
635
|
|
|
620
636
|
const MaterialEnumControl = (props) => {
|
|
@@ -647,6 +663,7 @@ const MaterialDateControl = (props) => {
|
|
|
647
663
|
const showDescription = !isDescriptionHidden(visible, description, focused, appliedUiSchemaOptions.showUnfocusedDescription);
|
|
648
664
|
const format = appliedUiSchemaOptions.dateFormat ?? 'YYYY-MM-DD';
|
|
649
665
|
const saveFormat = appliedUiSchemaOptions.dateSaveFormat ?? 'YYYY-MM-DD';
|
|
666
|
+
const views = appliedUiSchemaOptions.views ?? ['year', 'day'];
|
|
650
667
|
const firstFormHelperText = showDescription
|
|
651
668
|
? description
|
|
652
669
|
: !isValid
|
|
@@ -654,9 +671,14 @@ const MaterialDateControl = (props) => {
|
|
|
654
671
|
: null;
|
|
655
672
|
const secondFormHelperText = showDescription && !isValid ? errors : null;
|
|
656
673
|
const onChange = useMemo(() => createOnChangeHandler(path, handleChange, saveFormat), [path, handleChange, saveFormat]);
|
|
674
|
+
const value = getData(data, saveFormat);
|
|
675
|
+
const valueInInputFormat = value ? value.format(format) : '';
|
|
657
676
|
return (React.createElement(Hidden, { xsUp: !visible },
|
|
658
677
|
React.createElement(LocalizationProvider, { dateAdapter: AdapterDayjs },
|
|
659
|
-
React.createElement(DatePicker, { label: label, value:
|
|
678
|
+
React.createElement(DatePicker, { label: label, value: value, clearable: true, onChange: onChange, inputFormat: format, disableMaskedInput: true, views: views, disabled: !enabled, cancelText: appliedUiSchemaOptions.cancelLabel, clearText: appliedUiSchemaOptions.clearLabel, okText: appliedUiSchemaOptions.okLabel, renderInput: params => (React.createElement(ResettableTextField, Object.assign({}, params, { rawValue: data, dayjsValueIsValid: value !== null, valueInInputFormat: valueInInputFormat, focused: focused, id: id + '-input', required: required && !appliedUiSchemaOptions.hideRequiredAsterisk, autoFocus: appliedUiSchemaOptions.focus, error: !isValid, fullWidth: !appliedUiSchemaOptions.trim, inputProps: {
|
|
679
|
+
...params.inputProps,
|
|
680
|
+
type: 'text',
|
|
681
|
+
}, InputLabelProps: data ? { shrink: true } : undefined, onFocus: onFocus, onBlur: onBlur, variant: 'standard' }))) }),
|
|
660
682
|
React.createElement(FormHelperText, { error: !isValid && !showDescription }, firstFormHelperText),
|
|
661
683
|
React.createElement(FormHelperText, { error: !isValid }, secondFormHelperText))));
|
|
662
684
|
};
|
|
@@ -671,6 +693,7 @@ const MaterialDateTimeControl = (props) => {
|
|
|
671
693
|
const showDescription = !isDescriptionHidden(visible, description, focused, appliedUiSchemaOptions.showUnfocusedDescription);
|
|
672
694
|
const format = appliedUiSchemaOptions.dateTimeFormat ?? 'YYYY-MM-DD HH:mm';
|
|
673
695
|
const saveFormat = appliedUiSchemaOptions.dateTimeSaveFormat ?? undefined;
|
|
696
|
+
const views = appliedUiSchemaOptions.views ?? ['year', 'day', 'hours', 'minutes'];
|
|
674
697
|
const firstFormHelperText = showDescription
|
|
675
698
|
? description
|
|
676
699
|
: !isValid
|
|
@@ -678,9 +701,14 @@ const MaterialDateTimeControl = (props) => {
|
|
|
678
701
|
: null;
|
|
679
702
|
const secondFormHelperText = showDescription && !isValid ? errors : null;
|
|
680
703
|
const onChange = useMemo(() => createOnChangeHandler(path, handleChange, saveFormat), [path, handleChange, saveFormat]);
|
|
704
|
+
const value = getData(data, saveFormat);
|
|
705
|
+
const valueInInputFormat = value ? value.format(format) : '';
|
|
681
706
|
return (React.createElement(Hidden, { xsUp: !visible },
|
|
682
707
|
React.createElement(LocalizationProvider, { dateAdapter: AdapterDayjs },
|
|
683
|
-
React.createElement(DateTimePicker, { label: label, value:
|
|
708
|
+
React.createElement(DateTimePicker, { label: label, value: value, clearable: true, onChange: onChange, inputFormat: format, disableMaskedInput: true, ampm: !!appliedUiSchemaOptions.ampm, views: views, disabled: !enabled, cancelText: appliedUiSchemaOptions.cancelLabel, clearText: appliedUiSchemaOptions.clearLabel, okText: appliedUiSchemaOptions.okLabel, renderInput: params => (React.createElement(ResettableTextField, Object.assign({}, params, { rawValue: data, dayjsValueIsValid: value !== null, valueInInputFormat: valueInInputFormat, focused: focused, id: id + '-input', required: required && !appliedUiSchemaOptions.hideRequiredAsterisk, autoFocus: appliedUiSchemaOptions.focus, error: !isValid, fullWidth: !appliedUiSchemaOptions.trim, inputProps: {
|
|
709
|
+
...params.inputProps,
|
|
710
|
+
type: 'text',
|
|
711
|
+
}, InputLabelProps: data ? { shrink: true } : undefined, onFocus: onFocus, onBlur: onBlur, variant: 'standard' }))) }),
|
|
684
712
|
React.createElement(FormHelperText, { error: !isValid && !showDescription }, firstFormHelperText),
|
|
685
713
|
React.createElement(FormHelperText, { error: !isValid }, secondFormHelperText))));
|
|
686
714
|
};
|
|
@@ -695,6 +723,7 @@ const MaterialTimeControl = (props) => {
|
|
|
695
723
|
const showDescription = !isDescriptionHidden(visible, description, focused, appliedUiSchemaOptions.showUnfocusedDescription);
|
|
696
724
|
const format = appliedUiSchemaOptions.timeFormat ?? 'HH:mm';
|
|
697
725
|
const saveFormat = appliedUiSchemaOptions.timeSaveFormat ?? 'HH:mm:ss';
|
|
726
|
+
const views = appliedUiSchemaOptions.views ?? ['hours', 'minutes'];
|
|
698
727
|
const firstFormHelperText = showDescription
|
|
699
728
|
? description
|
|
700
729
|
: !isValid
|
|
@@ -702,9 +731,14 @@ const MaterialTimeControl = (props) => {
|
|
|
702
731
|
: null;
|
|
703
732
|
const secondFormHelperText = showDescription && !isValid ? errors : null;
|
|
704
733
|
const onChange = useMemo(() => createOnChangeHandler(path, handleChange, saveFormat), [path, handleChange, saveFormat]);
|
|
734
|
+
const value = getData(data, saveFormat);
|
|
735
|
+
const valueInInputFormat = value ? value.format(format) : '';
|
|
705
736
|
return (React.createElement(Hidden, { xsUp: !visible },
|
|
706
737
|
React.createElement(LocalizationProvider, { dateAdapter: AdapterDayjs },
|
|
707
|
-
React.createElement(TimePicker, { label: label, value:
|
|
738
|
+
React.createElement(TimePicker, { label: label, value: value, clearable: true, onChange: onChange, inputFormat: format, disableMaskedInput: true, ampm: !!appliedUiSchemaOptions.ampm, views: views, disabled: !enabled, cancelText: appliedUiSchemaOptions.cancelLabel, clearText: appliedUiSchemaOptions.clearLabel, okText: appliedUiSchemaOptions.okLabel, renderInput: params => (React.createElement(ResettableTextField, Object.assign({}, params, { rawValue: data, dayjsValueIsValid: value !== null, valueInInputFormat: valueInInputFormat, focused: focused, id: id + '-input', required: required && !appliedUiSchemaOptions.hideRequiredAsterisk, autoFocus: appliedUiSchemaOptions.focus, error: !isValid, fullWidth: !appliedUiSchemaOptions.trim, inputProps: {
|
|
739
|
+
...params.inputProps,
|
|
740
|
+
type: 'text'
|
|
741
|
+
}, InputLabelProps: data ? { shrink: true } : undefined, onFocus: onFocus, onBlur: onBlur, variant: 'standard' }))) }),
|
|
708
742
|
React.createElement(FormHelperText, { error: !isValid && !showDescription }, firstFormHelperText),
|
|
709
743
|
React.createElement(FormHelperText, { error: !isValid }, secondFormHelperText))));
|
|
710
744
|
};
|
|
@@ -942,6 +976,7 @@ const ExpandPanelRendererComponent = (props) => {
|
|
|
942
976
|
const { childLabel, childPath, index, expanded, moveDown, moveUp, enableMoveDown, enableMoveUp, handleExpansion, removeItems, path, rootSchema, schema, uischema, uischemas, renderers, cells, config } = props;
|
|
943
977
|
const foundUISchema = useMemo(() => findUISchema(uischemas, schema, uischema.scope, path, undefined, uischema, rootSchema), [uischemas, schema, uischema.scope, path, uischema, rootSchema]);
|
|
944
978
|
const appliedUiSchemaOptions = merge({}, config, uischema.options);
|
|
979
|
+
const showSortButtons = appliedUiSchemaOptions.showSortButtons || appliedUiSchemaOptions.showArrayLayoutSortButtons;
|
|
945
980
|
return (React.createElement(Accordion, { "aria-labelledby": labelHtmlId, expanded: expanded, onChange: handleExpansion(childPath) },
|
|
946
981
|
React.createElement(AccordionSummary, { expandIcon: React.createElement(ExpandMoreIcon, null) },
|
|
947
982
|
React.createElement(Grid, { container: true, alignItems: 'center' },
|
|
@@ -955,7 +990,7 @@ const ExpandPanelRendererComponent = (props) => {
|
|
|
955
990
|
React.createElement(Grid, { container: true, justifyContent: 'flex-end' },
|
|
956
991
|
React.createElement(Grid, { item: true },
|
|
957
992
|
React.createElement(Grid, { container: true, direction: 'row', justifyContent: 'center', alignItems: 'center' },
|
|
958
|
-
|
|
993
|
+
showSortButtons ? (React.createElement(Fragment, null,
|
|
959
994
|
React.createElement(Grid, { item: true },
|
|
960
995
|
React.createElement(IconButton, { onClick: moveUp(path, index), style: iconStyle, disabled: !enableMoveUp, "aria-label": `Move up`, size: 'large' },
|
|
961
996
|
React.createElement(ArrowUpward, null))),
|
|
@@ -1025,12 +1060,12 @@ const MaterialArrayLayoutComponent = (props) => {
|
|
|
1025
1060
|
};
|
|
1026
1061
|
const MaterialArrayLayout$1 = React.memo(MaterialArrayLayoutComponent);
|
|
1027
1062
|
|
|
1028
|
-
const MaterialArrayLayoutRenderer = ({ visible,
|
|
1063
|
+
const MaterialArrayLayoutRenderer = ({ visible, addItem, ...props }) => {
|
|
1029
1064
|
const addItemCb = useCallback((p, value) => addItem(p, value), [
|
|
1030
1065
|
addItem
|
|
1031
1066
|
]);
|
|
1032
1067
|
return (React.createElement(Hidden, { xsUp: !visible },
|
|
1033
|
-
React.createElement(MaterialArrayLayout$1, {
|
|
1068
|
+
React.createElement(MaterialArrayLayout$1, Object.assign({ visible: visible, addItem: addItemCb }, props))));
|
|
1034
1069
|
};
|
|
1035
1070
|
const materialArrayLayoutTester = rankWith(4, isObjectArrayWithNesting);
|
|
1036
1071
|
var MaterialArrayLayout = withJsonFormsArrayLayoutProps(MaterialArrayLayoutRenderer);
|
|
@@ -1208,5 +1243,5 @@ const materialCells = [
|
|
|
1208
1243
|
{ tester: materialTimeCellTester, cell: MaterialTimeCell$1 }
|
|
1209
1244
|
];
|
|
1210
1245
|
|
|
1211
|
-
export { CustomizableCells as Customizable, MaterialAllOfRenderer$1 as MaterialAllOfRenderer, MaterialAnyOfRenderer$1 as MaterialAnyOfRenderer, MaterialAnyOfStringOrEnumControl$1 as MaterialAnyOfStringOrEnumControl, MaterialArrayControlRenderer$1 as MaterialArrayControlRenderer, MaterialArrayLayout, MaterialBooleanCell$1 as MaterialBooleanCell, MaterialBooleanControl$1 as MaterialBooleanControl, MaterialBooleanToggleCell$1 as MaterialBooleanToggleCell, MaterialBooleanToggleControl$1 as MaterialBooleanToggleControl, MaterialCategorizationLayout, MaterialDateCell$1 as MaterialDateCell, MaterialDateControl$1 as MaterialDateControl, MaterialDateTimeControl$1 as MaterialDateTimeControl, MaterialEnumArrayRenderer$1 as MaterialEnumArrayRenderer, MaterialEnumCell$1 as MaterialEnumCell, MaterialEnumControl$1 as MaterialEnumControl, MaterialGroupLayout, MaterialHorizontalLayout, MaterialInputControl, MaterialIntegerCell$1 as MaterialIntegerCell, MaterialIntegerControl$1 as MaterialIntegerControl, MaterialLayoutRenderer, MaterialNativeControl$1 as MaterialNativeControl, MaterialNumberCell$1 as MaterialNumberCell, MaterialNumberControl$1 as MaterialNumberControl, MaterialNumberFormatCell$1 as MaterialNumberFormatCell, MaterialObjectRenderer$1 as MaterialObjectRenderer, MaterialOneOfEnumCell$1 as MaterialOneOfEnumCell, MaterialOneOfEnumControl$1 as MaterialOneOfEnumControl, MaterialOneOfRadioGroupControl$1 as MaterialOneOfRadioGroupControl, MaterialOneOfRenderer$1 as MaterialOneOfRenderer, MaterialRadioGroupControl$1 as MaterialRadioGroupControl, MaterialSliderControl$1 as MaterialSliderControl, MaterialTextCell$1 as MaterialTextCell, MaterialTextControl$1 as MaterialTextControl, MaterialTimeCell$1 as MaterialTimeCell, MaterialTimeControl$1 as MaterialTimeControl, MaterialVerticalLayout, MuiCheckbox, MuiInputInteger, MuiInputNumber, MuiInputNumberFormat, MuiInputText, MuiInputTime, MuiSelect, Unwrapped, createOnChangeHandler, getData, materialAllOfControlTester, materialAnyOfControlTester, materialAnyOfStringOrEnumControlTester, materialArrayControlTester, materialArrayLayoutTester, materialBooleanCellTester, materialBooleanControlTester, materialBooleanToggleCellTester, materialBooleanToggleControlTester, materialCategorizationTester, materialCells, materialDateCellTester, materialDateControlTester, materialDateTimeControlTester, materialEnumArrayRendererTester, materialEnumCellTester, materialEnumControlTester, materialGroupTester, materialHorizontalLayoutTester, materialIntegerCellTester, materialIntegerControlTester, materialNativeControlTester, materialNumberCellTester, materialNumberControlTester, materialNumberFormatCellTester, materialObjectControlTester, materialOneOfControlTester, materialOneOfEnumCellTester, materialOneOfEnumControlTester, materialOneOfRadioGroupControlTester, materialRadioGroupControlTester, materialRenderers, materialSliderControlTester, materialTextCellTester, materialTextControlTester, materialTimeCellTester, materialTimeControlTester, materialVerticalLayoutTester, renderLayoutElements, useDebouncedChange, useFocus, withAjvProps };
|
|
1246
|
+
export { CustomizableCells as Customizable, MaterialAllOfRenderer$1 as MaterialAllOfRenderer, MaterialAnyOfRenderer$1 as MaterialAnyOfRenderer, MaterialAnyOfStringOrEnumControl$1 as MaterialAnyOfStringOrEnumControl, MaterialArrayControlRenderer$1 as MaterialArrayControlRenderer, MaterialArrayLayout, MaterialBooleanCell$1 as MaterialBooleanCell, MaterialBooleanControl$1 as MaterialBooleanControl, MaterialBooleanToggleCell$1 as MaterialBooleanToggleCell, MaterialBooleanToggleControl$1 as MaterialBooleanToggleControl, MaterialCategorizationLayout, MaterialDateCell$1 as MaterialDateCell, MaterialDateControl$1 as MaterialDateControl, MaterialDateTimeControl$1 as MaterialDateTimeControl, MaterialEnumArrayRenderer$1 as MaterialEnumArrayRenderer, MaterialEnumCell$1 as MaterialEnumCell, MaterialEnumControl$1 as MaterialEnumControl, MaterialGroupLayout, MaterialHorizontalLayout, MaterialInputControl, MaterialIntegerCell$1 as MaterialIntegerCell, MaterialIntegerControl$1 as MaterialIntegerControl, MaterialLayoutRenderer, MaterialNativeControl$1 as MaterialNativeControl, MaterialNumberCell$1 as MaterialNumberCell, MaterialNumberControl$1 as MaterialNumberControl, MaterialNumberFormatCell$1 as MaterialNumberFormatCell, MaterialObjectRenderer$1 as MaterialObjectRenderer, MaterialOneOfEnumCell$1 as MaterialOneOfEnumCell, MaterialOneOfEnumControl$1 as MaterialOneOfEnumControl, MaterialOneOfRadioGroupControl$1 as MaterialOneOfRadioGroupControl, MaterialOneOfRenderer$1 as MaterialOneOfRenderer, MaterialRadioGroupControl$1 as MaterialRadioGroupControl, MaterialSliderControl$1 as MaterialSliderControl, MaterialTextCell$1 as MaterialTextCell, MaterialTextControl$1 as MaterialTextControl, MaterialTimeCell$1 as MaterialTimeCell, MaterialTimeControl$1 as MaterialTimeControl, MaterialVerticalLayout, MuiCheckbox, MuiInputInteger, MuiInputNumber, MuiInputNumberFormat, MuiInputText, MuiInputTime, MuiSelect, ResettableTextField, Unwrapped, createOnChangeHandler, getData, materialAllOfControlTester, materialAnyOfControlTester, materialAnyOfStringOrEnumControlTester, materialArrayControlTester, materialArrayLayoutTester, materialBooleanCellTester, materialBooleanControlTester, materialBooleanToggleCellTester, materialBooleanToggleControlTester, materialCategorizationTester, materialCells, materialDateCellTester, materialDateControlTester, materialDateTimeControlTester, materialEnumArrayRendererTester, materialEnumCellTester, materialEnumControlTester, materialGroupTester, materialHorizontalLayoutTester, materialIntegerCellTester, materialIntegerControlTester, materialNativeControlTester, materialNumberCellTester, materialNumberControlTester, materialNumberFormatCellTester, materialObjectControlTester, materialOneOfControlTester, materialOneOfEnumCellTester, materialOneOfEnumControlTester, materialOneOfRadioGroupControlTester, materialRadioGroupControlTester, materialRenderers, materialSliderControlTester, materialTextCellTester, materialTextControlTester, materialTimeCellTester, materialTimeControlTester, materialVerticalLayoutTester, renderLayoutElements, useDebouncedChange, useFocus, withAjvProps };
|
|
1212
1247
|
//# sourceMappingURL=jsonforms-react-material.esm.js.map
|