@jsonforms/material-renderers 3.0.0-alpha.3 → 3.0.0-beta.0

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 (260) hide show
  1. package/docs/assets/js/search.json +1 -1
  2. package/docs/globals.html +9 -144
  3. package/docs/index.html +0 -18
  4. package/docs/interfaces/withoptionlabel.html +3 -3
  5. package/example/index.ts +2 -3
  6. package/lib/additional/ListWithDetailMasterItem.d.ts +3 -3
  7. package/lib/additional/MaterialLabelRenderer.d.ts +13 -13
  8. package/lib/additional/MaterialListWithDetailRenderer.d.ts +6 -6
  9. package/lib/additional/index.d.ts +4 -4
  10. package/lib/cells/CustomizableCells.d.ts +9 -9
  11. package/lib/cells/MaterialBooleanCell.d.ts +6 -6
  12. package/lib/cells/MaterialBooleanToggleCell.d.ts +6 -6
  13. package/lib/cells/MaterialDateCell.d.ts +6 -6
  14. package/lib/cells/MaterialEnumCell.d.ts +10 -10
  15. package/lib/cells/MaterialIntegerCell.d.ts +6 -6
  16. package/lib/cells/MaterialNumberCell.d.ts +10 -10
  17. package/lib/cells/MaterialNumberFormatCell.d.ts +10 -10
  18. package/lib/cells/MaterialOneOfEnumCell.d.ts +10 -10
  19. package/lib/cells/MaterialTextCell.d.ts +10 -10
  20. package/lib/cells/MaterialTimeCell.d.ts +6 -6
  21. package/lib/cells/index.d.ts +13 -13
  22. package/lib/complex/CombinatorProperties.d.ts +12 -12
  23. package/lib/complex/DeleteDialog.d.ts +11 -11
  24. package/lib/complex/MaterialAllOfRenderer.d.ts +6 -6
  25. package/lib/complex/MaterialAnyOfRenderer.d.ts +6 -6
  26. package/lib/complex/MaterialArrayControlRenderer.d.ts +5 -5
  27. package/lib/complex/MaterialEnumArrayRenderer.d.ts +6 -6
  28. package/lib/complex/MaterialObjectRenderer.d.ts +6 -6
  29. package/lib/complex/MaterialOneOfRenderer.d.ts +9 -9
  30. package/lib/complex/MaterialTableControl.d.ts +25 -25
  31. package/lib/complex/NoBorderTableCell.d.ts +3 -3
  32. package/lib/complex/TableToolbar.d.ts +15 -15
  33. package/lib/complex/ValidationIcon.d.ts +7 -7
  34. package/lib/complex/index.d.ts +19 -19
  35. package/lib/controls/MaterialAnyOfStringOrEnumControl.d.ts +9 -9
  36. package/lib/controls/MaterialBooleanControl.d.ts +6 -6
  37. package/lib/controls/MaterialBooleanToggleControl.d.ts +6 -6
  38. package/lib/controls/MaterialDateControl.d.ts +6 -6
  39. package/lib/controls/MaterialDateTimeControl.d.ts +6 -6
  40. package/lib/controls/MaterialEnumControl.d.ts +7 -6
  41. package/lib/controls/MaterialInputControl.d.ts +6 -6
  42. package/lib/controls/MaterialIntegerControl.d.ts +6 -6
  43. package/lib/controls/MaterialNativeControl.d.ts +6 -6
  44. package/lib/controls/MaterialNumberControl.d.ts +6 -6
  45. package/lib/controls/MaterialOneOfEnumControl.d.ts +7 -6
  46. package/lib/controls/MaterialOneOfRadioGroupControl.d.ts +6 -6
  47. package/lib/controls/MaterialRadioGroup.d.ts +3 -3
  48. package/lib/controls/MaterialRadioGroupControl.d.ts +6 -6
  49. package/lib/controls/MaterialSliderControl.d.ts +6 -6
  50. package/lib/controls/MaterialTextControl.d.ts +6 -6
  51. package/lib/controls/MaterialTimeControl.d.ts +6 -6
  52. package/lib/controls/index.d.ts +35 -35
  53. package/lib/index.d.ts +9 -9
  54. package/lib/jsonforms-react-material.cjs.js +1489 -0
  55. package/lib/jsonforms-react-material.cjs.js.map +1 -0
  56. package/lib/jsonforms-react-material.esm.js +1221 -0
  57. package/lib/jsonforms-react-material.esm.js.map +1 -0
  58. package/lib/layouts/ArrayToolbar.d.ts +9 -9
  59. package/lib/layouts/ExpandPanelRenderer.d.ts +51 -51
  60. package/lib/layouts/MaterialArrayLayout.d.ts +3 -3
  61. package/lib/layouts/MaterialArrayLayoutRenderer.d.ts +6 -6
  62. package/lib/layouts/MaterialCategorizationLayout.d.ts +17 -17
  63. package/lib/layouts/MaterialCategorizationStepperLayout.d.ts +13 -13
  64. package/lib/layouts/MaterialGroupLayout.d.ts +7 -7
  65. package/lib/layouts/MaterialHorizontalLayout.d.ts +10 -10
  66. package/lib/layouts/MaterialVerticalLayout.d.ts +10 -10
  67. package/lib/layouts/index.d.ts +6 -6
  68. package/lib/{extended → mui-controls}/MuiAutocomplete.d.ts +9 -9
  69. package/lib/mui-controls/MuiCheckbox.d.ts +3 -3
  70. package/lib/mui-controls/MuiInputInteger.d.ts +3 -3
  71. package/lib/mui-controls/MuiInputNumber.d.ts +3 -3
  72. package/lib/mui-controls/MuiInputNumberFormat.d.ts +3 -3
  73. package/lib/mui-controls/MuiInputText.d.ts +9 -9
  74. package/lib/mui-controls/MuiInputTime.d.ts +3 -3
  75. package/lib/mui-controls/MuiSelect.d.ts +3 -3
  76. package/lib/mui-controls/MuiToggle.d.ts +3 -3
  77. package/lib/mui-controls/index.d.ts +7 -7
  78. package/lib/util/datejs.d.ts +3 -3
  79. package/lib/util/debounce.d.ts +1 -1
  80. package/lib/util/focus.d.ts +1 -1
  81. package/lib/util/index.d.ts +5 -5
  82. package/lib/util/layout.d.ts +15 -14
  83. package/lib/util/theme.d.ts +10 -10
  84. package/package.json +20 -11
  85. package/rollup.config.js +51 -0
  86. package/src/complex/CombinatorProperties.tsx +2 -2
  87. package/src/complex/MaterialEnumArrayRenderer.tsx +2 -2
  88. package/src/controls/MaterialEnumControl.tsx +12 -3
  89. package/src/controls/MaterialOneOfEnumControl.tsx +13 -4
  90. package/src/{extended → mui-controls}/MuiAutocomplete.tsx +0 -0
  91. package/src/util/debounce.ts +1 -1
  92. package/src/util/layout.tsx +1 -1
  93. package/stats.html +3279 -0
  94. package/test/renderers/MaterialCategorizationLayout.test.tsx +2 -2
  95. package/test/renderers/MaterialCategorizationStepperLayout.test.tsx +6 -6
  96. package/tsconfig.json +1 -2
  97. package/tsconfig.test.json +7 -0
  98. package/lib/additional/ListWithDetailMasterItem.js +0 -19
  99. package/lib/additional/ListWithDetailMasterItem.js.map +0 -1
  100. package/lib/additional/MaterialLabelRenderer.js +0 -49
  101. package/lib/additional/MaterialLabelRenderer.js.map +0 -1
  102. package/lib/additional/MaterialListWithDetailRenderer.js +0 -66
  103. package/lib/additional/MaterialListWithDetailRenderer.js.map +0 -1
  104. package/lib/additional/index.js +0 -35
  105. package/lib/additional/index.js.map +0 -1
  106. package/lib/cells/CustomizableCells.js +0 -46
  107. package/lib/cells/CustomizableCells.js.map +0 -1
  108. package/lib/cells/MaterialBooleanCell.js +0 -39
  109. package/lib/cells/MaterialBooleanCell.js.map +0 -1
  110. package/lib/cells/MaterialBooleanToggleCell.js +0 -40
  111. package/lib/cells/MaterialBooleanToggleCell.js.map +0 -1
  112. package/lib/cells/MaterialDateCell.js +0 -42
  113. package/lib/cells/MaterialDateCell.js.map +0 -1
  114. package/lib/cells/MaterialEnumCell.js +0 -41
  115. package/lib/cells/MaterialEnumCell.js.map +0 -1
  116. package/lib/cells/MaterialIntegerCell.js +0 -37
  117. package/lib/cells/MaterialIntegerCell.js.map +0 -1
  118. package/lib/cells/MaterialNumberCell.js +0 -41
  119. package/lib/cells/MaterialNumberCell.js.map +0 -1
  120. package/lib/cells/MaterialNumberFormatCell.js +0 -41
  121. package/lib/cells/MaterialNumberFormatCell.js.map +0 -1
  122. package/lib/cells/MaterialOneOfEnumCell.js +0 -41
  123. package/lib/cells/MaterialOneOfEnumCell.js.map +0 -1
  124. package/lib/cells/MaterialTextCell.js +0 -41
  125. package/lib/cells/MaterialTextCell.js.map +0 -1
  126. package/lib/cells/MaterialTimeCell.js +0 -37
  127. package/lib/cells/MaterialTimeCell.js.map +0 -1
  128. package/lib/cells/index.js +0 -61
  129. package/lib/cells/index.js.map +0 -1
  130. package/lib/complex/CombinatorProperties.js +0 -59
  131. package/lib/complex/CombinatorProperties.js.map +0 -1
  132. package/lib/complex/DeleteDialog.js +0 -41
  133. package/lib/complex/DeleteDialog.js.map +0 -1
  134. package/lib/complex/MaterialAllOfRenderer.js +0 -47
  135. package/lib/complex/MaterialAllOfRenderer.js.map +0 -1
  136. package/lib/complex/MaterialAnyOfRenderer.js +0 -51
  137. package/lib/complex/MaterialAnyOfRenderer.js.map +0 -1
  138. package/lib/complex/MaterialArrayControlRenderer.js +0 -57
  139. package/lib/complex/MaterialArrayControlRenderer.js.map +0 -1
  140. package/lib/complex/MaterialEnumArrayRenderer.js +0 -48
  141. package/lib/complex/MaterialEnumArrayRenderer.js.map +0 -1
  142. package/lib/complex/MaterialObjectRenderer.js +0 -51
  143. package/lib/complex/MaterialObjectRenderer.js.map +0 -1
  144. package/lib/complex/MaterialOneOfRenderer.js +0 -78
  145. package/lib/complex/MaterialOneOfRenderer.js.map +0 -1
  146. package/lib/complex/MaterialTableControl.js +0 -197
  147. package/lib/complex/MaterialTableControl.js.map +0 -1
  148. package/lib/complex/NoBorderTableCell.js +0 -39
  149. package/lib/complex/NoBorderTableCell.js.map +0 -1
  150. package/lib/complex/TableToolbar.js +0 -56
  151. package/lib/complex/TableToolbar.js.map +0 -1
  152. package/lib/complex/ValidationIcon.js +0 -44
  153. package/lib/complex/ValidationIcon.js.map +0 -1
  154. package/lib/complex/index.js +0 -48
  155. package/lib/complex/index.js.map +0 -1
  156. package/lib/controls/MaterialAnyOfStringOrEnumControl.js +0 -85
  157. package/lib/controls/MaterialAnyOfStringOrEnumControl.js.map +0 -1
  158. package/lib/controls/MaterialBooleanControl.js +0 -43
  159. package/lib/controls/MaterialBooleanControl.js.map +0 -1
  160. package/lib/controls/MaterialBooleanToggleControl.js +0 -43
  161. package/lib/controls/MaterialBooleanToggleControl.js.map +0 -1
  162. package/lib/controls/MaterialDateControl.js +0 -62
  163. package/lib/controls/MaterialDateControl.js.map +0 -1
  164. package/lib/controls/MaterialDateTimeControl.js +0 -62
  165. package/lib/controls/MaterialDateTimeControl.js.map +0 -1
  166. package/lib/controls/MaterialEnumControl.js +0 -38
  167. package/lib/controls/MaterialEnumControl.js.map +0 -1
  168. package/lib/controls/MaterialInputControl.js +0 -56
  169. package/lib/controls/MaterialInputControl.js.map +0 -1
  170. package/lib/controls/MaterialIntegerControl.js +0 -38
  171. package/lib/controls/MaterialIntegerControl.js.map +0 -1
  172. package/lib/controls/MaterialNativeControl.js +0 -50
  173. package/lib/controls/MaterialNativeControl.js.map +0 -1
  174. package/lib/controls/MaterialNumberControl.js +0 -38
  175. package/lib/controls/MaterialNumberControl.js.map +0 -1
  176. package/lib/controls/MaterialOneOfEnumControl.js +0 -38
  177. package/lib/controls/MaterialOneOfEnumControl.js.map +0 -1
  178. package/lib/controls/MaterialOneOfRadioGroupControl.js +0 -39
  179. package/lib/controls/MaterialOneOfRadioGroupControl.js.map +0 -1
  180. package/lib/controls/MaterialRadioGroup.js +0 -48
  181. package/lib/controls/MaterialRadioGroup.js.map +0 -1
  182. package/lib/controls/MaterialRadioGroupControl.js +0 -39
  183. package/lib/controls/MaterialRadioGroupControl.js.map +0 -1
  184. package/lib/controls/MaterialSliderControl.js +0 -70
  185. package/lib/controls/MaterialSliderControl.js.map +0 -1
  186. package/lib/controls/MaterialTextControl.js +0 -38
  187. package/lib/controls/MaterialTextControl.js.map +0 -1
  188. package/lib/controls/MaterialTimeControl.js +0 -62
  189. package/lib/controls/MaterialTimeControl.js.map +0 -1
  190. package/lib/controls/index.js +0 -92
  191. package/lib/controls/index.js.map +0 -1
  192. package/lib/extended/MaterialAutocompleteEnumControl.d.ts +0 -7
  193. package/lib/extended/MaterialAutocompleteEnumControl.js +0 -44
  194. package/lib/extended/MaterialAutocompleteEnumControl.js.map +0 -1
  195. package/lib/extended/MaterialAutocompleteOneOfEnumControl.d.ts +0 -7
  196. package/lib/extended/MaterialAutocompleteOneOfEnumControl.js +0 -44
  197. package/lib/extended/MaterialAutocompleteOneOfEnumControl.js.map +0 -1
  198. package/lib/extended/MuiAutocomplete.js +0 -45
  199. package/lib/extended/MuiAutocomplete.js.map +0 -1
  200. package/lib/extended/index.d.ts +0 -10
  201. package/lib/extended/index.js +0 -49
  202. package/lib/extended/index.js.map +0 -1
  203. package/lib/index.js +0 -90
  204. package/lib/index.js.map +0 -1
  205. package/lib/jsonforms-material.js +0 -291
  206. package/lib/jsonforms-material.js.map +0 -1
  207. package/lib/layouts/ArrayToolbar.js +0 -25
  208. package/lib/layouts/ArrayToolbar.js.map +0 -1
  209. package/lib/layouts/ExpandPanelRenderer.js +0 -111
  210. package/lib/layouts/ExpandPanelRenderer.js.map +0 -1
  211. package/lib/layouts/MaterialArrayLayout.js +0 -54
  212. package/lib/layouts/MaterialArrayLayout.js.map +0 -1
  213. package/lib/layouts/MaterialArrayLayoutRenderer.js +0 -45
  214. package/lib/layouts/MaterialArrayLayoutRenderer.js.map +0 -1
  215. package/lib/layouts/MaterialCategorizationLayout.js +0 -71
  216. package/lib/layouts/MaterialCategorizationLayout.js.map +0 -1
  217. package/lib/layouts/MaterialCategorizationStepperLayout.js +0 -78
  218. package/lib/layouts/MaterialCategorizationStepperLayout.js.map +0 -1
  219. package/lib/layouts/MaterialGroupLayout.js +0 -54
  220. package/lib/layouts/MaterialGroupLayout.js.map +0 -1
  221. package/lib/layouts/MaterialHorizontalLayout.js +0 -53
  222. package/lib/layouts/MaterialHorizontalLayout.js.map +0 -1
  223. package/lib/layouts/MaterialVerticalLayout.js +0 -53
  224. package/lib/layouts/MaterialVerticalLayout.js.map +0 -1
  225. package/lib/layouts/index.js +0 -44
  226. package/lib/layouts/index.js.map +0 -1
  227. package/lib/mui-controls/MuiCheckbox.js +0 -40
  228. package/lib/mui-controls/MuiCheckbox.js.map +0 -1
  229. package/lib/mui-controls/MuiInputInteger.js +0 -44
  230. package/lib/mui-controls/MuiInputInteger.js.map +0 -1
  231. package/lib/mui-controls/MuiInputNumber.js +0 -44
  232. package/lib/mui-controls/MuiInputNumber.js.map +0 -1
  233. package/lib/mui-controls/MuiInputNumberFormat.js +0 -49
  234. package/lib/mui-controls/MuiInputNumberFormat.js.map +0 -1
  235. package/lib/mui-controls/MuiInputText.js +0 -68
  236. package/lib/mui-controls/MuiInputText.js.map +0 -1
  237. package/lib/mui-controls/MuiInputTime.js +0 -39
  238. package/lib/mui-controls/MuiInputTime.js.map +0 -1
  239. package/lib/mui-controls/MuiSelect.js +0 -37
  240. package/lib/mui-controls/MuiSelect.js.map +0 -1
  241. package/lib/mui-controls/MuiToggle.js +0 -39
  242. package/lib/mui-controls/MuiToggle.js.map +0 -1
  243. package/lib/mui-controls/index.js +0 -35
  244. package/lib/mui-controls/index.js.map +0 -1
  245. package/lib/util/datejs.js +0 -29
  246. package/lib/util/datejs.js.map +0 -1
  247. package/lib/util/debounce.js +0 -48
  248. package/lib/util/debounce.js.map +0 -1
  249. package/lib/util/focus.js +0 -36
  250. package/lib/util/focus.js.map +0 -1
  251. package/lib/util/index.js +0 -33
  252. package/lib/util/index.js.map +0 -1
  253. package/lib/util/layout.js +0 -58
  254. package/lib/util/layout.js.map +0 -1
  255. package/lib/util/theme.js +0 -3
  256. package/lib/util/theme.js.map +0 -1
  257. package/src/extended/MaterialAutocompleteEnumControl.tsx +0 -55
  258. package/src/extended/MaterialAutocompleteOneOfEnumControl.tsx +0 -55
  259. package/src/extended/index.ts +0 -56
  260. package/webpack/webpack.build.js +0 -21
@@ -23,9 +23,9 @@
23
23
  THE SOFTWARE.
24
24
  */
25
25
  import React from 'react';
26
- import _ from 'lodash';
27
26
  import { Generate, JsonSchema, Layout, UISchemaElement } from '@jsonforms/core';
28
27
  import { JsonFormsDispatch } from '@jsonforms/react';
28
+ import omit from 'lodash/omit';
29
29
 
30
30
  interface CombinatorPropertiesProps {
31
31
  schema: JsonSchema;
@@ -42,7 +42,7 @@ export class CombinatorProperties extends React.Component<CombinatorPropertiesPr
42
42
 
43
43
  const { schema, combinatorKeyword, path } = this.props;
44
44
 
45
- const otherProps: JsonSchema = _.omit(schema, combinatorKeyword) as JsonSchema;
45
+ const otherProps: JsonSchema = omit(schema, combinatorKeyword) as JsonSchema;
46
46
  const foundUISchema: UISchemaElement = Generate.uiSchema(otherProps, 'VerticalLayout');
47
47
  let isLayoutWithElements = false;
48
48
  if (foundUISchema !== null && isLayout(foundUISchema)) {
@@ -22,8 +22,8 @@ import {
22
22
  FormHelperText,
23
23
  Hidden
24
24
  } from '@mui/material';
25
- import { startCase } from 'lodash';
26
- import { isEmpty } from 'lodash';
25
+ import startCase from 'lodash/startCase';
26
+ import isEmpty from 'lodash/isEmpty';
27
27
  import React from 'react';
28
28
 
29
29
  export const MaterialEnumArrayRenderer = ({
@@ -32,11 +32,20 @@ import {
32
32
  } from '@jsonforms/core';
33
33
  import { withJsonFormsEnumProps } from '@jsonforms/react';
34
34
  import { MuiSelect } from '../mui-controls/MuiSelect';
35
+ import merge from 'lodash/merge';
35
36
  import { MaterialInputControl } from './MaterialInputControl';
37
+ import { MuiAutocomplete, WithOptionLabel } from '../mui-controls/MuiAutocomplete';
36
38
 
37
- export const MaterialEnumControl = (props: ControlProps & OwnPropsOfEnum) => (
38
- <MaterialInputControl {...props} input={MuiSelect} />
39
- );
39
+ export const MaterialEnumControl = (props: ControlProps & OwnPropsOfEnum & WithOptionLabel) => {
40
+ const {config, uischema} = props;
41
+ const appliedUiSchemaOptions = merge({}, config, uischema.options);
42
+ return (
43
+ <MaterialInputControl
44
+ {...props}
45
+ input={appliedUiSchemaOptions.autocomplete === false ? MuiSelect : MuiAutocomplete}
46
+ />
47
+ );
48
+ };
40
49
 
41
50
  export const materialEnumControlTester: RankedTester = rankWith(
42
51
  2,
@@ -31,12 +31,21 @@ import {
31
31
  rankWith,
32
32
  } from '@jsonforms/core';
33
33
  import { withJsonFormsOneOfEnumProps } from '@jsonforms/react';
34
+ import { MuiAutocomplete, WithOptionLabel } from '../mui-controls/MuiAutocomplete';
34
35
  import { MuiSelect } from '../mui-controls/MuiSelect';
35
- import { MaterialInputControl } from './MaterialInputControl';
36
+ import { MaterialInputControl } from '../controls/MaterialInputControl';
37
+ import merge from 'lodash/merge';
36
38
 
37
- export const MaterialOneOfEnumControl = (props: ControlProps & OwnPropsOfEnum) => (
38
- <MaterialInputControl {...props} input={MuiSelect} />
39
- );
39
+ export const MaterialOneOfEnumControl = (props: ControlProps & OwnPropsOfEnum & WithOptionLabel) => {
40
+ const {config, uischema} = props;
41
+ const appliedUiSchemaOptions = merge({}, config, uischema.options);
42
+ return (
43
+ <MaterialInputControl
44
+ {...props}
45
+ input={appliedUiSchemaOptions.autocomplete === false ? MuiSelect : MuiAutocomplete}
46
+ />
47
+ );
48
+ };
40
49
 
41
50
  export const materialOneOfEnumControlTester: RankedTester = rankWith(
42
51
  5,
@@ -22,7 +22,7 @@
22
22
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
23
  THE SOFTWARE.
24
24
  */
25
- import { debounce } from 'lodash';
25
+ import debounce from 'lodash/debounce';
26
26
  import { useState, useCallback, useEffect } from 'react'
27
27
 
28
28
 
@@ -26,13 +26,13 @@ import isEmpty from 'lodash/isEmpty';
26
26
  import React from 'react';
27
27
  import { ComponentType } from 'react';
28
28
  import Ajv from 'ajv';
29
+ import type { UISchemaElement } from '@jsonforms/core';
29
30
  import {
30
31
  getAjv,
31
32
  JsonFormsCellRendererRegistryEntry,
32
33
  JsonFormsRendererRegistryEntry,
33
34
  JsonSchema,
34
35
  OwnPropsOfRenderer,
35
- UISchemaElement
36
36
  } from '@jsonforms/core';
37
37
  import { JsonFormsDispatch, useJsonForms } from '@jsonforms/react';
38
38
  import { Grid, Hidden } from '@mui/material';