@jsonforms/material-renderers 3.1.0-alpha.0 → 3.1.0-alpha.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.
Files changed (100) hide show
  1. package/lib/controls/MaterialBooleanControl.d.ts +1 -1
  2. package/lib/controls/MaterialBooleanToggleControl.d.ts +1 -1
  3. package/lib/controls/index.d.ts +2 -2
  4. package/lib/jsonforms-react-material.cjs.js +79 -11
  5. package/lib/jsonforms-react-material.cjs.js.map +1 -1
  6. package/lib/jsonforms-react-material.esm.js +79 -11
  7. package/lib/jsonforms-react-material.esm.js.map +1 -1
  8. package/lib/mui-controls/MuiCheckbox.d.ts +6 -1
  9. package/lib/mui-controls/MuiToggle.d.ts +6 -1
  10. package/package.json +23 -12
  11. package/src/additional/ListWithDetailMasterItem.tsx +1 -1
  12. package/src/controls/MaterialBooleanControl.tsx +84 -23
  13. package/src/controls/MaterialBooleanToggleControl.tsx +84 -23
  14. package/src/mui-controls/MuiCheckbox.tsx +12 -5
  15. package/src/mui-controls/MuiToggle.tsx +12 -5
  16. package/docs/assets/css/main.css +0 -1
  17. package/docs/assets/images/icons.png +0 -0
  18. package/docs/assets/images/icons@2x.png +0 -0
  19. package/docs/assets/images/widgets.png +0 -0
  20. package/docs/assets/images/widgets@2x.png +0 -0
  21. package/docs/assets/js/main.js +0 -51
  22. package/docs/assets/js/search.json +0 -1
  23. package/docs/classes/combinatorproperties.html +0 -957
  24. package/docs/classes/materialanyofstringorenumcontrol.html +0 -822
  25. package/docs/classes/materialtablecontrol.html +0 -999
  26. package/docs/globals.html +0 -4492
  27. package/docs/index.html +0 -753
  28. package/docs/interfaces/ajvprops.html +0 -162
  29. package/docs/interfaces/arraylayouttoolbarprops.html +0 -253
  30. package/docs/interfaces/categorizationstate.html +0 -154
  31. package/docs/interfaces/categorizationstepperstate.html +0 -154
  32. package/docs/interfaces/combinatorpropertiesprops.html +0 -182
  33. package/docs/interfaces/deletedialogprops.html +0 -225
  34. package/docs/interfaces/dispatchpropsofexpandpanel.html +0 -296
  35. package/docs/interfaces/emptytableprops.html +0 -154
  36. package/docs/interfaces/expandpanelprops.html +0 -594
  37. package/docs/interfaces/inputref.html +0 -168
  38. package/docs/interfaces/jsonformstheme.html +0 -352
  39. package/docs/interfaces/materialcategorizationlayoutrendererprops.html +0 -460
  40. package/docs/interfaces/materialcategorizationstepperlayoutrendererprops.html +0 -394
  41. package/docs/interfaces/materiallabelablelayoutrendererprops.html +0 -328
  42. package/docs/interfaces/materiallayoutrendererprops.html +0 -317
  43. package/docs/interfaces/materialtabletoolbarprops.html +0 -302
  44. package/docs/interfaces/muitextinputprops.html +0 -168
  45. package/docs/interfaces/nonemptycellcomponentprops.html +0 -266
  46. package/docs/interfaces/nonemptycellprops.html +0 -277
  47. package/docs/interfaces/nonemptyrowprops.html +0 -366
  48. package/docs/interfaces/ownoneofprops.html +0 -308
  49. package/docs/interfaces/ownpropsofexpandpanel.html +0 -397
  50. package/docs/interfaces/ownpropsofnonemptycell.html +0 -229
  51. package/docs/interfaces/statepropsofexpandpanel.html +0 -445
  52. package/docs/interfaces/tableheadercellprops.html +0 -154
  53. package/docs/interfaces/tablerowsprop.html +0 -330
  54. package/docs/interfaces/validationprops.html +0 -168
  55. package/docs/interfaces/withdeletedialogsupport.html +0 -170
  56. package/docs/interfaces/withinput.html +0 -154
  57. package/docs/interfaces/withoptionlabel.html +0 -230
  58. package/example/index.html +0 -16
  59. package/example/index.ts +0 -31
  60. package/rollup.config.js +0 -51
  61. package/stats.html +0 -3279
  62. package/test/renderers/MatchMediaMock.ts +0 -36
  63. package/test/renderers/MaterialAllOfRenderer.test.tsx +0 -114
  64. package/test/renderers/MaterialAnyOfRenderer.test.tsx +0 -310
  65. package/test/renderers/MaterialAnyOfStringOrEnumControl.test.tsx +0 -126
  66. package/test/renderers/MaterialArrayControl.test.tsx +0 -633
  67. package/test/renderers/MaterialArrayLayout.test.tsx +0 -528
  68. package/test/renderers/MaterialBooleanCell.test.tsx +0 -374
  69. package/test/renderers/MaterialBooleanToggleCell.test.tsx +0 -466
  70. package/test/renderers/MaterialBooleanToggleControl.test.tsx +0 -469
  71. package/test/renderers/MaterialCategorizationLayout.test.tsx +0 -458
  72. package/test/renderers/MaterialCategorizationStepperLayout.test.tsx +0 -647
  73. package/test/renderers/MaterialDateCell.test.tsx +0 -303
  74. package/test/renderers/MaterialDateControl.test.tsx +0 -411
  75. package/test/renderers/MaterialDateTimeControl.test.tsx +0 -417
  76. package/test/renderers/MaterialEnumArrayRenderer.test.tsx +0 -207
  77. package/test/renderers/MaterialEnumCell.test.tsx +0 -88
  78. package/test/renderers/MaterialEnumControl.test.tsx +0 -75
  79. package/test/renderers/MaterialGroupLayout.test.tsx +0 -90
  80. package/test/renderers/MaterialInputControl.test.tsx +0 -370
  81. package/test/renderers/MaterialIntegerCell.test.tsx +0 -333
  82. package/test/renderers/MaterialLabelRenderer.test.tsx +0 -114
  83. package/test/renderers/MaterialLayouts.test.tsx +0 -542
  84. package/test/renderers/MaterialListWithDetailRenderer.test.tsx +0 -279
  85. package/test/renderers/MaterialNativeControl.test.tsx +0 -81
  86. package/test/renderers/MaterialNumberCell.test.tsx +0 -382
  87. package/test/renderers/MaterialObjectControl.test.tsx +0 -186
  88. package/test/renderers/MaterialOneOfEnumCell.test.tsx +0 -94
  89. package/test/renderers/MaterialOneOfRadioGroupControl.test.tsx +0 -108
  90. package/test/renderers/MaterialOneOfRenderer.test.tsx +0 -603
  91. package/test/renderers/MaterialRadioGroupControl.test.tsx +0 -125
  92. package/test/renderers/MaterialSliderControl.test.tsx +0 -438
  93. package/test/renderers/MaterialTextCell.test.tsx +0 -541
  94. package/test/renderers/MaterialTextControl.test.tsx +0 -115
  95. package/test/renderers/MaterialTimeCell.test.tsx +0 -331
  96. package/test/renderers/MaterialTimeControl.test.tsx +0 -411
  97. package/test/renderers/util.ts +0 -50
  98. package/tsconfig.json +0 -13
  99. package/tsconfig.test.json +0 -7
  100. package/webpack/webpack.dev.js +0 -11
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { RankedTester, ControlProps } from '@jsonforms/core';
3
- export declare const MaterialBooleanControl: ({ data, visible, label, id, enabled, uischema, schema, rootSchema, handleChange, errors, path, config }: ControlProps) => JSX.Element;
3
+ export declare const MaterialBooleanControl: ({ data, visible, label, id, enabled, uischema, schema, rootSchema, handleChange, errors, path, config, description }: ControlProps) => JSX.Element;
4
4
  export declare const materialBooleanControlTester: RankedTester;
5
5
  declare const _default: React.ComponentType<import("@jsonforms/core").OwnPropsOfControl>;
6
6
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { RankedTester, ControlProps } from '@jsonforms/core';
3
- export declare const MaterialBooleanToggleControl: ({ data, visible, label, id, enabled, uischema, schema, rootSchema, handleChange, errors, path, config }: ControlProps) => JSX.Element;
3
+ export declare const MaterialBooleanToggleControl: ({ data, visible, label, id, enabled, uischema, schema, rootSchema, handleChange, errors, path, config, description }: ControlProps) => JSX.Element;
4
4
  export declare const materialBooleanToggleControlTester: RankedTester;
5
5
  declare const _default: React.ComponentType<import("@jsonforms/core").OwnPropsOfControl>;
6
6
  export default _default;
@@ -15,8 +15,8 @@ import MaterialAnyOfStringOrEnumControl, { materialAnyOfStringOrEnumControlTeste
15
15
  import MaterialOneOfEnumControl, { materialOneOfEnumControlTester } from './MaterialOneOfEnumControl';
16
16
  import MaterialOneOfRadioGroupControl, { materialOneOfRadioGroupControlTester } from './MaterialOneOfRadioGroupControl';
17
17
  export declare const Unwrapped: {
18
- MaterialBooleanControl: ({ data, visible, label, id, enabled, uischema, schema, rootSchema, handleChange, errors, path, config }: import("@jsonforms/core").ControlProps) => JSX.Element;
19
- MaterialBooleanToggleControl: ({ data, visible, label, id, enabled, uischema, schema, rootSchema, handleChange, errors, path, config }: import("@jsonforms/core").ControlProps) => JSX.Element;
18
+ MaterialBooleanControl: ({ data, visible, label, id, enabled, uischema, schema, rootSchema, handleChange, errors, path, config, description }: import("@jsonforms/core").ControlProps) => JSX.Element;
19
+ MaterialBooleanToggleControl: ({ data, visible, label, id, enabled, uischema, schema, rootSchema, handleChange, errors, path, config, description }: import("@jsonforms/core").ControlProps) => JSX.Element;
20
20
  MaterialEnumControl: (props: import("@jsonforms/core").ControlProps & import("@jsonforms/core").OwnPropsOfEnum & import("../mui-controls/MuiAutocomplete").WithOptionLabel & import("@jsonforms/react").TranslateProps) => JSX.Element;
21
21
  MaterialNativeControl: (props: import("@jsonforms/core").ControlProps) => JSX.Element;
22
22
  MaterialDateControl: (props: import("@jsonforms/core").ControlProps) => JSX.Element;
@@ -52,7 +52,7 @@ var get__default = /*#__PURE__*/_interopDefaultLegacy(get);
52
52
  var ExpandMoreIcon__default = /*#__PURE__*/_interopDefaultLegacy(ExpandMoreIcon);
53
53
  var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
54
54
 
55
- /*! *****************************************************************************
55
+ /******************************************************************************
56
56
  Copyright (c) Microsoft Corporation.
57
57
 
58
58
  Permission to use, copy, modify, and/or distribute this software for any
@@ -439,11 +439,13 @@ var materialOneOfControlTester = core.rankWith(3, core.isOneOfControl);
439
439
  var MaterialOneOfRenderer$1 = react.withJsonFormsOneOfProps(MaterialOneOfRenderer);
440
440
 
441
441
  var MuiCheckbox = React__default["default"].memo(function (props) {
442
- var data = props.data, className = props.className, id = props.id, enabled = props.enabled, uischema = props.uischema, path = props.path, handleChange = props.handleChange, config = props.config;
442
+ var data = props.data, className = props.className, id = props.id, enabled = props.enabled, uischema = props.uischema, path = props.path, handleChange = props.handleChange, config = props.config, inputProps = props.inputProps;
443
443
  var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
444
- var inputProps = { autoFocus: !!appliedUiSchemaOptions.focus };
444
+ var inputPropsMerged = merge__default["default"]({}, inputProps, {
445
+ autoFocus: !!appliedUiSchemaOptions.focus
446
+ });
445
447
  var checked = !!data;
446
- return (React__default["default"].createElement(material.Checkbox, { checked: checked, onChange: function (_ev, isChecked) { return handleChange(path, isChecked); }, className: className, id: id, disabled: !enabled, inputProps: inputProps }));
448
+ return (React__default["default"].createElement(material.Checkbox, { checked: checked, onChange: function (_ev, isChecked) { return handleChange(path, isChecked); }, className: className, id: id, disabled: !enabled, inputProps: inputPropsMerged }));
447
449
  });
448
450
 
449
451
  dayjs__default["default"].extend(customParsing__default["default"]);
@@ -733,25 +735,91 @@ var materialListWithDetailTester = core.rankWith(4, core.and(core.uiTypeIs('List
733
735
  var MaterialListWithDetailRenderer$1 = react.withJsonFormsArrayLayoutProps(MaterialListWithDetailRenderer);
734
736
 
735
737
  var MaterialBooleanControl = function (_a) {
736
- var data = _a.data, visible = _a.visible, label = _a.label, id = _a.id, enabled = _a.enabled, uischema = _a.uischema, schema = _a.schema, rootSchema = _a.rootSchema, handleChange = _a.handleChange, errors = _a.errors, path = _a.path, config = _a.config;
738
+ var data = _a.data, visible = _a.visible, label = _a.label, id = _a.id, enabled = _a.enabled, uischema = _a.uischema, schema = _a.schema, rootSchema = _a.rootSchema, handleChange = _a.handleChange, errors = _a.errors, path = _a.path, config = _a.config, description = _a.description;
739
+ var isValid = errors.length === 0;
740
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
741
+ var showDescription = !core.isDescriptionHidden(visible, description,
742
+ false, appliedUiSchemaOptions.showUnfocusedDescription);
743
+ var showTooltip = !showDescription && !core.isDescriptionHidden(visible, description,
744
+ true,
745
+ true);
746
+ var firstFormHelperText = showDescription
747
+ ? description
748
+ : !isValid
749
+ ? errors
750
+ : null;
751
+ var secondFormHelperText = showDescription && !isValid ? errors : null;
752
+ var descriptionIds = [];
753
+ var tooltipId = id + "-tip";
754
+ var helpId1 = id + "-help1";
755
+ var helpId2 = id + "-help2";
756
+ if (showTooltip) {
757
+ descriptionIds.push(tooltipId);
758
+ }
759
+ if (firstFormHelperText) {
760
+ descriptionIds.push(helpId1);
761
+ }
762
+ if (secondFormHelperText) {
763
+ descriptionIds.push(helpId2);
764
+ }
765
+ var ariaDescribedBy = descriptionIds.join(' ');
737
766
  return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
738
- 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 }) })));
767
+ React__default["default"].createElement(material.Tooltip, { id: tooltipId, title: (showTooltip) ? description : '' },
768
+ 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: {
769
+ 'aria-describedby': ariaDescribedBy
770
+ } }) })),
771
+ React__default["default"].createElement(material.FormHelperText, { id: helpId1, error: !isValid && !showDescription }, firstFormHelperText),
772
+ React__default["default"].createElement(material.FormHelperText, { id: helpId2, error: !isValid }, secondFormHelperText)));
739
773
  };
740
774
  var materialBooleanControlTester = core.rankWith(2, core.isBooleanControl);
741
775
  var MaterialBooleanControl$1 = react.withJsonFormsControlProps(MaterialBooleanControl);
742
776
 
743
777
  var MuiToggle = React__default["default"].memo(function (props) {
744
- var data = props.data, className = props.className, id = props.id, enabled = props.enabled, uischema = props.uischema, path = props.path, handleChange = props.handleChange, config = props.config;
778
+ var data = props.data, className = props.className, id = props.id, enabled = props.enabled, uischema = props.uischema, path = props.path, handleChange = props.handleChange, config = props.config, inputProps = props.inputProps;
745
779
  var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
746
- var inputProps = { autoFocus: !!appliedUiSchemaOptions.focus };
780
+ var inputPropsMerged = merge__default["default"]({}, inputProps, {
781
+ autoFocus: !!appliedUiSchemaOptions.focus
782
+ });
747
783
  var checked = !!data;
748
- return (React__default["default"].createElement(material.Switch, { checked: checked, onChange: function (_ev, isChecked) { return handleChange(path, isChecked); }, className: className, id: id, disabled: !enabled, inputProps: inputProps }));
784
+ return (React__default["default"].createElement(material.Switch, { checked: checked, onChange: function (_ev, isChecked) { return handleChange(path, isChecked); }, className: className, id: id, disabled: !enabled, inputProps: inputPropsMerged }));
749
785
  });
750
786
 
751
787
  var MaterialBooleanToggleControl = function (_a) {
752
- var data = _a.data, visible = _a.visible, label = _a.label, id = _a.id, enabled = _a.enabled, uischema = _a.uischema, schema = _a.schema, rootSchema = _a.rootSchema, handleChange = _a.handleChange, errors = _a.errors, path = _a.path, config = _a.config;
788
+ var data = _a.data, visible = _a.visible, label = _a.label, id = _a.id, enabled = _a.enabled, uischema = _a.uischema, schema = _a.schema, rootSchema = _a.rootSchema, handleChange = _a.handleChange, errors = _a.errors, path = _a.path, config = _a.config, description = _a.description;
789
+ var isValid = errors.length === 0;
790
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
791
+ var showDescription = !core.isDescriptionHidden(visible, description,
792
+ false, appliedUiSchemaOptions.showUnfocusedDescription);
793
+ var showTooltip = !showDescription && !core.isDescriptionHidden(visible, description,
794
+ true,
795
+ true);
796
+ var firstFormHelperText = showDescription
797
+ ? description
798
+ : !isValid
799
+ ? errors
800
+ : null;
801
+ var secondFormHelperText = showDescription && !isValid ? errors : null;
802
+ var descriptionIds = [];
803
+ var tooltipId = id + "-tip";
804
+ var helpId1 = id + "-help1";
805
+ var helpId2 = id + "-help2";
806
+ if (showTooltip) {
807
+ descriptionIds.push(tooltipId);
808
+ }
809
+ if (firstFormHelperText) {
810
+ descriptionIds.push(helpId1);
811
+ }
812
+ if (secondFormHelperText) {
813
+ descriptionIds.push(helpId2);
814
+ }
815
+ var ariaDescribedBy = descriptionIds.join(' ');
753
816
  return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
754
- 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 }) })));
817
+ React__default["default"].createElement(material.Tooltip, { id: tooltipId, title: (showTooltip) ? description : '' },
818
+ 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: {
819
+ 'aria-describedby': ariaDescribedBy
820
+ } }) })),
821
+ React__default["default"].createElement(material.FormHelperText, { id: helpId1, error: !isValid && !showDescription }, firstFormHelperText),
822
+ React__default["default"].createElement(material.FormHelperText, { id: helpId2, error: !isValid }, secondFormHelperText)));
755
823
  };
756
824
  var materialBooleanToggleControlTester = core.rankWith(3, core.and(core.isBooleanControl, core.optionIs('toggle', true)));
757
825
  var MaterialBooleanToggleControl$1 = react.withJsonFormsControlProps(MaterialBooleanToggleControl);