@jsonforms/material-renderers 2.5.2 → 3.0.0-alpha.3

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 (357) hide show
  1. package/README.md +1 -1
  2. package/docs/assets/js/search.json +1 -1
  3. package/docs/classes/combinatorproperties.html +2 -5
  4. package/docs/classes/materialanyofstringorenumcontrol.html +6 -9
  5. package/docs/classes/materialtablecontrol.html +4 -7
  6. package/docs/globals.html +1040 -328
  7. package/docs/index.html +84 -51
  8. package/docs/interfaces/ajvprops.html +1 -4
  9. package/docs/interfaces/arraylayouttoolbarprops.html +5 -8
  10. package/docs/interfaces/categorizationstate.html +1 -4
  11. package/docs/interfaces/categorizationstepperstate.html +0 -3
  12. package/docs/interfaces/combinatorpropertiesprops.html +0 -3
  13. package/docs/interfaces/deletedialogprops.html +0 -3
  14. package/docs/interfaces/dispatchpropsofexpandpanel.html +3 -6
  15. package/docs/interfaces/emptytableprops.html +0 -3
  16. package/docs/interfaces/expandpanelprops.html +19 -22
  17. package/docs/interfaces/jsonformstheme.html +39 -49
  18. package/docs/interfaces/materialcategorizationlayoutrendererprops.html +11 -14
  19. package/docs/interfaces/materialcategorizationstepperlayoutrendererprops.html +7 -10
  20. package/docs/interfaces/materiallayoutrendererprops.html +0 -3
  21. package/docs/interfaces/materialtabletoolbarprops.html +10 -13
  22. package/docs/interfaces/muitextinputprops.html +2 -5
  23. package/docs/interfaces/nonemptycellcomponentprops.html +266 -0
  24. package/docs/interfaces/nonemptycellprops.html +0 -3
  25. package/docs/interfaces/nonemptyrowprops.html +80 -27
  26. package/docs/interfaces/ownoneofprops.html +0 -3
  27. package/docs/interfaces/ownpropsofexpandpanel.html +14 -17
  28. package/docs/interfaces/ownpropsofnonemptycell.html +0 -3
  29. package/docs/interfaces/statepropsofexpandpanel.html +16 -19
  30. package/docs/interfaces/tableheadercellprops.html +0 -3
  31. package/docs/interfaces/tablerowsprop.html +9 -12
  32. package/docs/interfaces/validationprops.html +2 -5
  33. package/docs/interfaces/withdeletedialogsupport.html +0 -3
  34. package/docs/interfaces/withinput.html +1 -4
  35. package/docs/interfaces/withoptionlabel.html +7 -7
  36. package/example/index.ts +5 -20
  37. package/lib/additional/ListWithDetailMasterItem.d.ts +1 -1
  38. package/lib/additional/ListWithDetailMasterItem.js +8 -8
  39. package/lib/additional/ListWithDetailMasterItem.js.map +1 -1
  40. package/lib/additional/MaterialLabelRenderer.d.ts +1 -1
  41. package/lib/additional/MaterialLabelRenderer.js +6 -4
  42. package/lib/additional/MaterialLabelRenderer.js.map +1 -1
  43. package/lib/additional/MaterialListWithDetailRenderer.d.ts +1 -1
  44. package/lib/additional/MaterialListWithDetailRenderer.js +10 -8
  45. package/lib/additional/MaterialListWithDetailRenderer.js.map +1 -1
  46. package/lib/additional/index.js +3 -2
  47. package/lib/additional/index.js.map +1 -1
  48. package/lib/cells/CustomizableCells.d.ts +1 -0
  49. package/lib/cells/CustomizableCells.js +11 -8
  50. package/lib/cells/CustomizableCells.js.map +1 -1
  51. package/lib/cells/MaterialBooleanCell.d.ts +1 -1
  52. package/lib/cells/MaterialBooleanCell.js +3 -1
  53. package/lib/cells/MaterialBooleanCell.js.map +1 -1
  54. package/lib/cells/MaterialBooleanToggleCell.d.ts +1 -1
  55. package/lib/cells/MaterialBooleanToggleCell.js +3 -1
  56. package/lib/cells/MaterialBooleanToggleCell.js.map +1 -1
  57. package/lib/cells/MaterialDateCell.d.ts +1 -1
  58. package/lib/cells/MaterialDateCell.js +4 -2
  59. package/lib/cells/MaterialDateCell.js.map +1 -1
  60. package/lib/cells/MaterialEnumCell.d.ts +1 -1
  61. package/lib/cells/MaterialEnumCell.js +3 -1
  62. package/lib/cells/MaterialEnumCell.js.map +1 -1
  63. package/lib/cells/MaterialIntegerCell.d.ts +1 -1
  64. package/lib/cells/MaterialIntegerCell.js +3 -1
  65. package/lib/cells/MaterialIntegerCell.js.map +1 -1
  66. package/lib/cells/MaterialNumberCell.d.ts +1 -1
  67. package/lib/cells/MaterialNumberCell.js +3 -1
  68. package/lib/cells/MaterialNumberCell.js.map +1 -1
  69. package/lib/cells/MaterialNumberFormatCell.d.ts +1 -1
  70. package/lib/cells/MaterialNumberFormatCell.js +3 -1
  71. package/lib/cells/MaterialNumberFormatCell.js.map +1 -1
  72. package/lib/cells/MaterialOneOfEnumCell.d.ts +10 -0
  73. package/lib/cells/MaterialOneOfEnumCell.js +41 -0
  74. package/lib/cells/MaterialOneOfEnumCell.js.map +1 -0
  75. package/lib/cells/MaterialTextCell.d.ts +1 -1
  76. package/lib/cells/MaterialTextCell.js +3 -1
  77. package/lib/cells/MaterialTextCell.js.map +1 -1
  78. package/lib/cells/MaterialTimeCell.d.ts +1 -1
  79. package/lib/cells/MaterialTimeCell.js +3 -1
  80. package/lib/cells/MaterialTimeCell.js.map +1 -1
  81. package/lib/cells/index.d.ts +2 -1
  82. package/lib/cells/index.js +13 -9
  83. package/lib/cells/index.js.map +1 -1
  84. package/lib/complex/CombinatorProperties.js +4 -2
  85. package/lib/complex/CombinatorProperties.js.map +1 -1
  86. package/lib/complex/DeleteDialog.js +9 -9
  87. package/lib/complex/DeleteDialog.js.map +1 -1
  88. package/lib/complex/MaterialAllOfRenderer.d.ts +3 -2
  89. package/lib/complex/MaterialAllOfRenderer.js +12 -10
  90. package/lib/complex/MaterialAllOfRenderer.js.map +1 -1
  91. package/lib/complex/MaterialAnyOfRenderer.d.ts +3 -2
  92. package/lib/complex/MaterialAnyOfRenderer.js +7 -5
  93. package/lib/complex/MaterialAnyOfRenderer.js.map +1 -1
  94. package/lib/complex/MaterialArrayControlRenderer.d.ts +1 -1
  95. package/lib/complex/MaterialArrayControlRenderer.js +5 -3
  96. package/lib/complex/MaterialArrayControlRenderer.js.map +1 -1
  97. package/lib/complex/MaterialEnumArrayRenderer.d.ts +2 -2
  98. package/lib/complex/MaterialEnumArrayRenderer.js +12 -9
  99. package/lib/complex/MaterialEnumArrayRenderer.js.map +1 -1
  100. package/lib/complex/MaterialObjectRenderer.d.ts +3 -2
  101. package/lib/complex/MaterialObjectRenderer.js +7 -5
  102. package/lib/complex/MaterialObjectRenderer.js.map +1 -1
  103. package/lib/complex/MaterialOneOfRenderer.d.ts +2 -1
  104. package/lib/complex/MaterialOneOfRenderer.js +16 -15
  105. package/lib/complex/MaterialOneOfRenderer.js.map +1 -1
  106. package/lib/complex/MaterialTableControl.d.ts +16 -1
  107. package/lib/complex/MaterialTableControl.js +42 -35
  108. package/lib/complex/MaterialTableControl.js.map +1 -1
  109. package/lib/complex/NoBorderTableCell.d.ts +2 -2
  110. package/lib/complex/NoBorderTableCell.js +8 -10
  111. package/lib/complex/NoBorderTableCell.js.map +1 -1
  112. package/lib/complex/TableToolbar.d.ts +2 -2
  113. package/lib/complex/TableToolbar.js +12 -14
  114. package/lib/complex/TableToolbar.js.map +1 -1
  115. package/lib/complex/ValidationIcon.d.ts +2 -6
  116. package/lib/complex/ValidationIcon.js +9 -13
  117. package/lib/complex/ValidationIcon.js.map +1 -1
  118. package/lib/complex/index.js +6 -5
  119. package/lib/complex/index.js.map +1 -1
  120. package/lib/controls/MaterialAnyOfStringOrEnumControl.d.ts +1 -1
  121. package/lib/controls/MaterialAnyOfStringOrEnumControl.js +18 -13
  122. package/lib/controls/MaterialAnyOfStringOrEnumControl.js.map +1 -1
  123. package/lib/controls/MaterialBooleanControl.d.ts +1 -1
  124. package/lib/controls/MaterialBooleanControl.js +6 -4
  125. package/lib/controls/MaterialBooleanControl.js.map +1 -1
  126. package/lib/controls/MaterialBooleanToggleControl.d.ts +1 -1
  127. package/lib/controls/MaterialBooleanToggleControl.js +6 -4
  128. package/lib/controls/MaterialBooleanToggleControl.js.map +1 -1
  129. package/lib/controls/MaterialDateControl.d.ts +3 -15
  130. package/lib/controls/MaterialDateControl.js +29 -50
  131. package/lib/controls/MaterialDateControl.js.map +1 -1
  132. package/lib/controls/MaterialDateTimeControl.d.ts +3 -6
  133. package/lib/controls/MaterialDateTimeControl.js +29 -31
  134. package/lib/controls/MaterialDateTimeControl.js.map +1 -1
  135. package/lib/controls/MaterialEnumControl.d.ts +1 -1
  136. package/lib/controls/MaterialEnumControl.js +3 -1
  137. package/lib/controls/MaterialEnumControl.js.map +1 -1
  138. package/lib/controls/MaterialInputControl.d.ts +2 -5
  139. package/lib/controls/MaterialInputControl.js +25 -30
  140. package/lib/controls/MaterialInputControl.js.map +1 -1
  141. package/lib/controls/MaterialIntegerControl.d.ts +1 -1
  142. package/lib/controls/MaterialIntegerControl.js +3 -1
  143. package/lib/controls/MaterialIntegerControl.js.map +1 -1
  144. package/lib/controls/MaterialNativeControl.d.ts +3 -6
  145. package/lib/controls/MaterialNativeControl.js +16 -20
  146. package/lib/controls/MaterialNativeControl.js.map +1 -1
  147. package/lib/controls/MaterialNumberControl.d.ts +1 -1
  148. package/lib/controls/MaterialNumberControl.js +3 -1
  149. package/lib/controls/MaterialNumberControl.js.map +1 -1
  150. package/lib/controls/MaterialOneOfEnumControl.d.ts +1 -1
  151. package/lib/controls/MaterialOneOfEnumControl.js +3 -1
  152. package/lib/controls/MaterialOneOfEnumControl.js.map +1 -1
  153. package/lib/controls/MaterialOneOfRadioGroupControl.d.ts +1 -1
  154. package/lib/controls/MaterialOneOfRadioGroupControl.js +3 -1
  155. package/lib/controls/MaterialOneOfRadioGroupControl.js.map +1 -1
  156. package/lib/controls/MaterialRadioGroup.d.ts +2 -5
  157. package/lib/controls/MaterialRadioGroup.js +16 -23
  158. package/lib/controls/MaterialRadioGroup.js.map +1 -1
  159. package/lib/controls/MaterialRadioGroupControl.d.ts +1 -1
  160. package/lib/controls/MaterialRadioGroupControl.js +3 -1
  161. package/lib/controls/MaterialRadioGroupControl.js.map +1 -1
  162. package/lib/controls/MaterialSliderControl.d.ts +3 -6
  163. package/lib/controls/MaterialSliderControl.js +36 -40
  164. package/lib/controls/MaterialSliderControl.js.map +1 -1
  165. package/lib/controls/MaterialTextControl.d.ts +1 -1
  166. package/lib/controls/MaterialTextControl.js +3 -1
  167. package/lib/controls/MaterialTextControl.js.map +1 -1
  168. package/lib/controls/MaterialTimeControl.d.ts +6 -0
  169. package/lib/controls/MaterialTimeControl.js +62 -0
  170. package/lib/controls/MaterialTimeControl.js.map +1 -0
  171. package/lib/controls/index.d.ts +11 -9
  172. package/lib/controls/index.js +19 -14
  173. package/lib/controls/index.js.map +1 -1
  174. package/lib/extended/MaterialAutocompleteEnumControl.d.ts +1 -1
  175. package/lib/extended/MaterialAutocompleteEnumControl.js +3 -1
  176. package/lib/extended/MaterialAutocompleteEnumControl.js.map +1 -1
  177. package/lib/extended/MaterialAutocompleteOneOfEnumControl.d.ts +1 -1
  178. package/lib/extended/MaterialAutocompleteOneOfEnumControl.js +3 -1
  179. package/lib/extended/MaterialAutocompleteOneOfEnumControl.js.map +1 -1
  180. package/lib/extended/MuiAutocomplete.d.ts +3 -4
  181. package/lib/extended/MuiAutocomplete.js +7 -7
  182. package/lib/extended/MuiAutocomplete.js.map +1 -1
  183. package/lib/extended/index.d.ts +3 -3
  184. package/lib/extended/index.js +3 -2
  185. package/lib/extended/index.js.map +1 -1
  186. package/lib/index.js +3 -0
  187. package/lib/index.js.map +1 -1
  188. package/lib/jsonforms-material.js +248 -315
  189. package/lib/jsonforms-material.js.map +1 -1
  190. package/lib/layouts/ArrayToolbar.js +14 -16
  191. package/lib/layouts/ArrayToolbar.js.map +1 -1
  192. package/lib/layouts/ExpandPanelRenderer.d.ts +2 -3
  193. package/lib/layouts/ExpandPanelRenderer.js +47 -45
  194. package/lib/layouts/ExpandPanelRenderer.js.map +1 -1
  195. package/lib/layouts/MaterialArrayLayout.d.ts +1 -11
  196. package/lib/layouts/MaterialArrayLayout.js +19 -31
  197. package/lib/layouts/MaterialArrayLayout.js.map +1 -1
  198. package/lib/layouts/MaterialArrayLayoutRenderer.d.ts +1 -1
  199. package/lib/layouts/MaterialArrayLayoutRenderer.js +5 -3
  200. package/lib/layouts/MaterialArrayLayoutRenderer.js.map +1 -1
  201. package/lib/layouts/MaterialCategorizationLayout.d.ts +2 -10
  202. package/lib/layouts/MaterialCategorizationLayout.js +35 -52
  203. package/lib/layouts/MaterialCategorizationLayout.js.map +1 -1
  204. package/lib/layouts/MaterialCategorizationStepperLayout.d.ts +2 -9
  205. package/lib/layouts/MaterialCategorizationStepperLayout.js +45 -56
  206. package/lib/layouts/MaterialCategorizationStepperLayout.js.map +1 -1
  207. package/lib/layouts/MaterialGroupLayout.d.ts +1 -1
  208. package/lib/layouts/MaterialGroupLayout.js +11 -9
  209. package/lib/layouts/MaterialGroupLayout.js.map +1 -1
  210. package/lib/layouts/MaterialHorizontalLayout.d.ts +1 -1
  211. package/lib/layouts/MaterialHorizontalLayout.js +3 -1
  212. package/lib/layouts/MaterialHorizontalLayout.js.map +1 -1
  213. package/lib/layouts/MaterialVerticalLayout.d.ts +1 -1
  214. package/lib/layouts/MaterialVerticalLayout.js +3 -1
  215. package/lib/layouts/MaterialVerticalLayout.js.map +1 -1
  216. package/lib/layouts/index.js +6 -5
  217. package/lib/layouts/index.js.map +1 -1
  218. package/lib/mui-controls/MuiCheckbox.js +4 -4
  219. package/lib/mui-controls/MuiCheckbox.js.map +1 -1
  220. package/lib/mui-controls/MuiInputInteger.js +10 -7
  221. package/lib/mui-controls/MuiInputInteger.js.map +1 -1
  222. package/lib/mui-controls/MuiInputNumber.js +10 -7
  223. package/lib/mui-controls/MuiInputNumber.js.map +1 -1
  224. package/lib/mui-controls/MuiInputNumberFormat.js +8 -9
  225. package/lib/mui-controls/MuiInputNumberFormat.js.map +1 -1
  226. package/lib/mui-controls/MuiInputText.d.ts +1 -1
  227. package/lib/mui-controls/MuiInputText.js +17 -13
  228. package/lib/mui-controls/MuiInputText.js.map +1 -1
  229. package/lib/mui-controls/MuiInputTime.js +6 -4
  230. package/lib/mui-controls/MuiInputTime.js.map +1 -1
  231. package/lib/mui-controls/MuiSelect.js +4 -5
  232. package/lib/mui-controls/MuiSelect.js.map +1 -1
  233. package/lib/mui-controls/MuiToggle.js +4 -4
  234. package/lib/mui-controls/MuiToggle.js.map +1 -1
  235. package/lib/util/datejs.d.ts +3 -0
  236. package/lib/util/datejs.js +29 -0
  237. package/lib/util/datejs.js.map +1 -0
  238. package/lib/util/debounce.d.ts +1 -0
  239. package/lib/util/debounce.js +48 -0
  240. package/lib/util/debounce.js.map +1 -0
  241. package/lib/util/focus.d.ts +1 -0
  242. package/lib/util/focus.js +36 -0
  243. package/lib/util/focus.js.map +1 -0
  244. package/lib/util/index.d.ts +3 -0
  245. package/lib/util/index.js +4 -0
  246. package/lib/util/index.js.map +1 -1
  247. package/lib/util/layout.d.ts +2 -1
  248. package/lib/util/layout.js +13 -9
  249. package/lib/util/layout.js.map +1 -1
  250. package/lib/util/theme.d.ts +1 -1
  251. package/package.json +22 -26
  252. package/src/additional/ListWithDetailMasterItem.tsx +3 -6
  253. package/src/additional/MaterialLabelRenderer.tsx +1 -1
  254. package/src/additional/MaterialListWithDetailRenderer.tsx +4 -5
  255. package/src/cells/CustomizableCells.ts +1 -0
  256. package/src/cells/MaterialDateCell.tsx +1 -1
  257. package/src/cells/MaterialOneOfEnumCell.tsx +46 -0
  258. package/src/cells/MaterialTimeCell.tsx +1 -0
  259. package/src/cells/index.ts +5 -0
  260. package/src/complex/CombinatorProperties.tsx +2 -2
  261. package/src/complex/DeleteDialog.tsx +2 -2
  262. package/src/complex/MaterialAllOfRenderer.tsx +6 -5
  263. package/src/complex/MaterialAnyOfRenderer.tsx +5 -4
  264. package/src/complex/MaterialArrayControlRenderer.tsx +1 -1
  265. package/src/complex/MaterialEnumArrayRenderer.tsx +2 -1
  266. package/src/complex/MaterialObjectRenderer.tsx +6 -6
  267. package/src/complex/MaterialOneOfRenderer.tsx +9 -9
  268. package/src/complex/MaterialTableControl.tsx +45 -37
  269. package/src/complex/NoBorderTableCell.tsx +10 -12
  270. package/src/complex/TableToolbar.tsx +10 -9
  271. package/src/complex/ValidationIcon.tsx +12 -19
  272. package/src/controls/MaterialAnyOfStringOrEnumControl.tsx +17 -14
  273. package/src/controls/MaterialBooleanControl.tsx +1 -1
  274. package/src/controls/MaterialBooleanToggleControl.tsx +1 -1
  275. package/src/controls/MaterialDateControl.tsx +87 -119
  276. package/src/controls/MaterialDateTimeControl.tsx +91 -78
  277. package/src/controls/MaterialEnumControl.tsx +1 -1
  278. package/src/controls/MaterialInputControl.tsx +65 -72
  279. package/src/controls/MaterialNativeControl.tsx +55 -60
  280. package/src/controls/MaterialOneOfEnumControl.tsx +1 -1
  281. package/src/controls/MaterialOneOfRadioGroupControl.tsx +4 -4
  282. package/src/controls/MaterialRadioGroup.tsx +73 -74
  283. package/src/controls/MaterialRadioGroupControl.tsx +1 -1
  284. package/src/controls/MaterialSliderControl.tsx +93 -89
  285. package/src/controls/MaterialTimeControl.tsx +133 -0
  286. package/src/controls/index.ts +7 -0
  287. package/src/extended/MuiAutocomplete.tsx +11 -9
  288. package/src/extended/index.ts +1 -1
  289. package/src/index.ts +6 -0
  290. package/src/layouts/ArrayToolbar.tsx +11 -7
  291. package/src/layouts/ExpandPanelRenderer.tsx +46 -44
  292. package/src/layouts/MaterialArrayLayout.tsx +73 -83
  293. package/src/layouts/MaterialArrayLayoutRenderer.tsx +1 -1
  294. package/src/layouts/MaterialCategorizationLayout.tsx +50 -67
  295. package/src/layouts/MaterialCategorizationStepperLayout.tsx +80 -88
  296. package/src/layouts/MaterialGroupLayout.tsx +1 -1
  297. package/src/mui-controls/MuiCheckbox.tsx +2 -3
  298. package/src/mui-controls/MuiInputInteger.tsx +13 -10
  299. package/src/mui-controls/MuiInputNumber.tsx +10 -7
  300. package/src/mui-controls/MuiInputNumberFormat.tsx +9 -12
  301. package/src/mui-controls/MuiInputText.tsx +30 -21
  302. package/src/mui-controls/MuiInputTime.tsx +7 -5
  303. package/src/mui-controls/MuiSelect.tsx +4 -5
  304. package/src/mui-controls/MuiToggle.tsx +2 -3
  305. package/src/util/datejs.ts +32 -0
  306. package/src/util/debounce.ts +43 -0
  307. package/src/util/focus.ts +32 -0
  308. package/src/util/index.ts +3 -0
  309. package/src/util/layout.tsx +7 -8
  310. package/src/util/theme.ts +1 -1
  311. package/test/renderers/MaterialAllOfRenderer.test.tsx +1 -1
  312. package/test/renderers/MaterialAnyOfRenderer.test.tsx +15 -9
  313. package/test/renderers/MaterialAnyOfStringOrEnumControl.test.tsx +1 -1
  314. package/test/renderers/MaterialArrayControl.test.tsx +1 -1
  315. package/test/renderers/MaterialArrayLayout.test.tsx +9 -9
  316. package/test/renderers/MaterialBooleanCell.test.tsx +1 -1
  317. package/test/renderers/MaterialBooleanToggleCell.test.tsx +3 -2
  318. package/test/renderers/MaterialBooleanToggleControl.test.tsx +3 -3
  319. package/test/renderers/MaterialCategorizationLayout.test.tsx +75 -2
  320. package/test/renderers/MaterialCategorizationStepperLayout.test.tsx +75 -2
  321. package/test/renderers/MaterialDateCell.test.tsx +1 -1
  322. package/test/renderers/MaterialDateControl.test.tsx +46 -2
  323. package/test/renderers/MaterialDateTimeControl.test.tsx +57 -12
  324. package/test/renderers/MaterialEnumArrayRenderer.test.tsx +1 -1
  325. package/test/renderers/MaterialEnumCell.test.tsx +1 -1
  326. package/test/renderers/MaterialGroupLayout.test.tsx +1 -1
  327. package/test/renderers/MaterialInputControl.test.tsx +4 -4
  328. package/test/renderers/MaterialIntegerCell.test.tsx +42 -21
  329. package/test/renderers/MaterialLabelRenderer.test.tsx +1 -1
  330. package/test/renderers/MaterialLayouts.test.tsx +1 -1
  331. package/test/renderers/MaterialListWithDetailRenderer.test.tsx +2 -2
  332. package/test/renderers/MaterialNativeControl.test.tsx +2 -2
  333. package/test/renderers/MaterialNumberCell.test.tsx +46 -25
  334. package/test/renderers/MaterialObjectControl.test.tsx +1 -1
  335. package/test/renderers/MaterialOneOfEnumCell.test.tsx +93 -0
  336. package/test/renderers/MaterialOneOfRadioGroupControl.test.tsx +1 -1
  337. package/test/renderers/MaterialOneOfRenderer.test.tsx +20 -14
  338. package/test/renderers/MaterialRadioGroupControl.test.tsx +1 -1
  339. package/test/renderers/MaterialSliderControl.test.tsx +2 -2
  340. package/test/renderers/MaterialTextCell.test.tsx +47 -33
  341. package/test/renderers/MaterialTextControl.test.tsx +8 -4
  342. package/test/renderers/MaterialTimeCell.test.tsx +42 -21
  343. package/test/renderers/MaterialTimeControl.test.tsx +380 -0
  344. package/webpack/webpack.build.js +3 -3
  345. package/docs/classes/materialarraylayout.html +0 -777
  346. package/docs/classes/materialcategorizationlayoutrenderer.html +0 -786
  347. package/docs/classes/materialcategorizationstepperlayoutrenderer.html +0 -762
  348. package/docs/classes/materialdatecontrol.html +0 -825
  349. package/docs/classes/materialdatetimecontrol.html +0 -825
  350. package/docs/classes/materialinputcontrol.html +0 -825
  351. package/docs/classes/materialnativecontrol.html +0 -825
  352. package/docs/classes/materialradiogroup.html +0 -825
  353. package/docs/classes/materialslidercontrol.html +0 -825
  354. package/docs/interfaces/datecontrol.html +0 -157
  355. package/docs/interfaces/materialarraylayoutstate.html +0 -157
  356. package/docs/interfaces/statepropsofdatecontrol.html +0 -468
  357. package/example/CustomAutocomplete.tsx +0 -54
@@ -23,7 +23,7 @@
23
23
  THE SOFTWARE.
24
24
  */
25
25
  import React from 'react';
26
- import { Hidden } from '@material-ui/core';
26
+ import { Hidden } from '@mui/material';
27
27
 
28
28
  import {
29
29
  createCombinatorRenderInfos,
@@ -35,9 +35,9 @@ import {
35
35
  resolveSubSchemas,
36
36
  StatePropsOfCombinator
37
37
  } from '@jsonforms/core';
38
- import { ResolvedJsonFormsDispatch, withJsonFormsAllOfProps } from '@jsonforms/react';
38
+ import { JsonFormsDispatch, withJsonFormsAllOfProps } from '@jsonforms/react';
39
39
 
40
- const MaterialAllOfRenderer = ({
40
+ export const MaterialAllOfRenderer = ({
41
41
  schema,
42
42
  rootSchema,
43
43
  visible,
@@ -56,7 +56,7 @@ const MaterialAllOfRenderer = ({
56
56
  if (delegateUISchema) {
57
57
  return (
58
58
  <Hidden xsUp={!visible}>
59
- <ResolvedJsonFormsDispatch
59
+ <JsonFormsDispatch
60
60
  schema={_schema}
61
61
  uischema={delegateUISchema}
62
62
  path={path}
@@ -78,7 +78,7 @@ const MaterialAllOfRenderer = ({
78
78
  return (
79
79
  <Hidden xsUp={!visible}>
80
80
  {allOfRenderInfos.map((allOfRenderInfo, allOfIndex) => (
81
- <ResolvedJsonFormsDispatch
81
+ <JsonFormsDispatch
82
82
  key={allOfIndex}
83
83
  schema={allOfRenderInfo.schema}
84
84
  uischema={allOfRenderInfo.uischema}
@@ -95,4 +95,5 @@ export const materialAllOfControlTester: RankedTester = rankWith(
95
95
  3,
96
96
  isAllOfControl
97
97
  );
98
+
98
99
  export default withJsonFormsAllOfProps(MaterialAllOfRenderer);
@@ -33,11 +33,11 @@ import {
33
33
  resolveSubSchemas,
34
34
  StatePropsOfCombinator
35
35
  } from '@jsonforms/core';
36
- import { ResolvedJsonFormsDispatch, withJsonFormsAnyOfProps } from '@jsonforms/react';
37
- import { Hidden, Tab, Tabs } from '@material-ui/core';
36
+ import { JsonFormsDispatch, withJsonFormsAnyOfProps } from '@jsonforms/react';
37
+ import { Hidden, Tab, Tabs } from '@mui/material';
38
38
  import CombinatorProperties from './CombinatorProperties';
39
39
 
40
- const MaterialAnyOfRenderer = ({
40
+ export const MaterialAnyOfRenderer = ({
41
41
  schema,
42
42
  rootSchema,
43
43
  indexOfFittingSchema,
@@ -79,7 +79,7 @@ const MaterialAnyOfRenderer = ({
79
79
  {anyOfRenderInfos.map(
80
80
  (anyOfRenderInfo, anyOfIndex) =>
81
81
  selectedAnyOf === anyOfIndex && (
82
- <ResolvedJsonFormsDispatch
82
+ <JsonFormsDispatch
83
83
  key={anyOfIndex}
84
84
  schema={anyOfRenderInfo.schema}
85
85
  uischema={anyOfRenderInfo.uischema}
@@ -97,4 +97,5 @@ export const materialAnyOfControlTester: RankedTester = rankWith(
97
97
  3,
98
98
  isAnyOfControl
99
99
  );
100
+
100
101
  export default withJsonFormsAnyOfProps(MaterialAnyOfRenderer);
@@ -26,7 +26,7 @@ import React, { useCallback, useState } from 'react';
26
26
  import { ArrayLayoutProps } from '@jsonforms/core';
27
27
  import { withJsonFormsArrayLayoutProps } from '@jsonforms/react';
28
28
  import { MaterialTableControl } from './MaterialTableControl';
29
- import { Hidden } from '@material-ui/core';
29
+ import { Hidden } from '@mui/material';
30
30
  import { DeleteDialog } from './DeleteDialog';
31
31
 
32
32
  export const MaterialArrayControlRenderer = (props: ArrayLayoutProps) => {
@@ -21,7 +21,7 @@ import {
21
21
  FormGroup,
22
22
  FormHelperText,
23
23
  Hidden
24
- } from '@material-ui/core';
24
+ } from '@mui/material';
25
25
  import { startCase } from 'lodash';
26
26
  import { isEmpty } from 'lodash';
27
27
  import React from 'react';
@@ -35,6 +35,7 @@ export const MaterialEnumArrayRenderer = ({
35
35
  data,
36
36
  addItem,
37
37
  removeItem,
38
+ handleChange,
38
39
  ...otherProps
39
40
  }: ControlProps & OwnPropsOfEnum & DispatchPropsOfMultiEnumControl) => {
40
41
  return (
@@ -27,16 +27,15 @@ import {
27
27
  findUISchema,
28
28
  GroupLayout,
29
29
  isObjectControl,
30
- isPlainLabel,
31
30
  RankedTester,
32
31
  rankWith,
33
32
  StatePropsOfControlWithDetail
34
33
  } from '@jsonforms/core';
35
- import { ResolvedJsonFormsDispatch, withJsonFormsDetailProps } from '@jsonforms/react';
36
- import { Hidden } from '@material-ui/core';
34
+ import { JsonFormsDispatch, withJsonFormsDetailProps } from '@jsonforms/react';
35
+ import { Hidden } from '@mui/material';
37
36
  import React, { useMemo } from 'react';
38
37
 
39
- const MaterialObjectRenderer = ({
38
+ export const MaterialObjectRenderer = ({
40
39
  renderers,
41
40
  cells,
42
41
  uischemas,
@@ -64,11 +63,11 @@ const MaterialObjectRenderer = ({
64
63
  if (isEmpty(path)) {
65
64
  detailUiSchema.type = 'VerticalLayout';
66
65
  } else {
67
- (detailUiSchema as GroupLayout).label = isPlainLabel(label) ? label : label.default;
66
+ (detailUiSchema as GroupLayout).label = label;
68
67
  }
69
68
  return (
70
69
  <Hidden xsUp={!visible}>
71
- <ResolvedJsonFormsDispatch
70
+ <JsonFormsDispatch
72
71
  visible={visible}
73
72
  enabled={enabled}
74
73
  schema={schema}
@@ -85,4 +84,5 @@ export const materialObjectControlTester: RankedTester = rankWith(
85
84
  2,
86
85
  isObjectControl
87
86
  );
87
+
88
88
  export default withJsonFormsDetailProps(MaterialObjectRenderer);
@@ -26,7 +26,7 @@ import React, { useCallback, useState } from 'react';
26
26
  import isEmpty from 'lodash/isEmpty';
27
27
 
28
28
  import {
29
- CombinatorProps,
29
+ CombinatorRendererProps,
30
30
  createCombinatorRenderInfos,
31
31
  createDefaultValue,
32
32
  isOneOfControl,
@@ -46,9 +46,9 @@ import {
46
46
  Hidden,
47
47
  Tab,
48
48
  Tabs
49
- } from '@material-ui/core';
49
+ } from '@mui/material';
50
50
  import {
51
- ResolvedJsonFormsDispatch,
51
+ JsonFormsDispatch,
52
52
  withJsonFormsOneOfProps
53
53
  } from '@jsonforms/react';
54
54
  import CombinatorProperties from './CombinatorProperties';
@@ -57,9 +57,8 @@ export interface OwnOneOfProps extends OwnPropsOfControl {
57
57
  indexOfFittingSchema?: number;
58
58
  }
59
59
 
60
- const oneOf = 'oneOf';
61
- const MaterialOneOfRenderer =
62
- ({ handleChange, schema, path, renderers, cells, rootSchema, id, visible, indexOfFittingSchema, uischema, uischemas, data }: CombinatorProps) => {
60
+ export const MaterialOneOfRenderer =
61
+ ({ handleChange, schema, path, renderers, cells, rootSchema, id, visible, indexOfFittingSchema, uischema, uischemas, data }: CombinatorRendererProps) => {
63
62
  const [open, setOpen] = useState(false);
64
63
  const [selectedIndex, setSelectedIndex] = useState(indexOfFittingSchema || 0);
65
64
  const [newSelectedIndex, setNewSelectedIndex] = useState(0);
@@ -67,11 +66,11 @@ const MaterialOneOfRenderer =
67
66
  const cancel = useCallback(() => {
68
67
  setOpen(false);
69
68
  }, [setOpen]);
70
- const _schema = resolveSubSchemas(schema, rootSchema, oneOf);
69
+ const _schema = resolveSubSchemas(schema, rootSchema, 'oneOf');
71
70
  const oneOfRenderInfos = createCombinatorRenderInfos(
72
71
  (_schema as JsonSchema).oneOf,
73
72
  rootSchema,
74
- oneOf,
73
+ 'oneOf',
75
74
  uischema,
76
75
  path,
77
76
  uischemas
@@ -112,7 +111,7 @@ const MaterialOneOfRenderer =
112
111
  {
113
112
  oneOfRenderInfos.map((oneOfRenderInfo, oneOfIndex) => (
114
113
  selectedIndex === oneOfIndex && (
115
- <ResolvedJsonFormsDispatch
114
+ <JsonFormsDispatch
116
115
  key={oneOfIndex}
117
116
  schema={oneOfRenderInfo.schema}
118
117
  uischema={oneOfRenderInfo.uischema}
@@ -150,4 +149,5 @@ const MaterialOneOfRenderer =
150
149
  };
151
150
 
152
151
  export const materialOneOfControlTester: RankedTester = rankWith(3, isOneOfControl);
152
+
153
153
  export default withJsonFormsOneOfProps(MaterialOneOfRenderer);
@@ -31,18 +31,19 @@ import {
31
31
  } from '@jsonforms/react';
32
32
  import startCase from 'lodash/startCase';
33
33
  import range from 'lodash/range';
34
- import React, { Fragment } from 'react';
34
+ import React, { Fragment, useMemo } from 'react';
35
35
  import {
36
36
  FormHelperText,
37
37
  Grid,
38
38
  Hidden,
39
+ IconButton,
39
40
  Table,
40
41
  TableBody,
41
42
  TableCell,
42
43
  TableHead,
43
44
  TableRow,
44
45
  Typography
45
- } from '@material-ui/core';
46
+ } from '@mui/material';
46
47
  import {
47
48
  ArrayLayoutProps,
48
49
  ControlElement,
@@ -54,10 +55,9 @@ import {
54
55
  JsonFormsRendererRegistryEntry,
55
56
  JsonFormsCellRendererRegistryEntry
56
57
  } from '@jsonforms/core';
57
- import IconButton from '@material-ui/core/IconButton';
58
- import DeleteIcon from '@material-ui/icons/Delete';
59
- import ArrowDownward from '@material-ui/icons/ArrowDownward';
60
- import ArrowUpward from '@material-ui/icons/ArrowUpward';
58
+ import DeleteIcon from '@mui/icons-material/Delete';
59
+ import ArrowDownward from '@mui/icons-material/ArrowDownward';
60
+ import ArrowUpward from '@mui/icons-material/ArrowUpward';
61
61
 
62
62
  import { WithDeleteDialogSupport } from './DeleteDialog';
63
63
  import NoBorderTableCell from './NoBorderTableCell';
@@ -195,20 +195,19 @@ const controlWithoutLabel = (scope: string): ControlElement => ({
195
195
  label: false
196
196
  });
197
197
 
198
- const NonEmptyCell = (ownProps: OwnPropsOfNonEmptyCell) => {
199
- const ctx = useJsonForms();
200
- const {
201
- path,
202
- propName,
203
- schema,
204
- rootSchema,
205
- errors,
206
- enabled,
207
- renderers,
208
- cells
209
- } = ctxToNonEmptyCellProps(ctx, ownProps);
198
+ interface NonEmptyCellComponentProps {
199
+ path: string,
200
+ propName?: string,
201
+ schema: JsonSchema,
202
+ rootSchema: JsonSchema,
203
+ errors: string,
204
+ enabled: boolean,
205
+ renderers?: JsonFormsRendererRegistryEntry[],
206
+ cells?: JsonFormsCellRendererRegistryEntry[],
207
+ isValid: boolean
208
+ }
209
+ const NonEmptyCellComponent = React.memo(({path, propName, schema,rootSchema, errors, enabled, renderers, cells, isValid}:NonEmptyCellComponentProps) => {
210
210
 
211
- const isValid = isEmpty(errors);
212
211
  return (
213
212
  <NoBorderTableCell>
214
213
  {schema.properties ? (
@@ -237,35 +236,47 @@ const NonEmptyCell = (ownProps: OwnPropsOfNonEmptyCell) => {
237
236
  <FormHelperText error={!isValid}>{!isValid && errors}</FormHelperText>
238
237
  </NoBorderTableCell>
239
238
  );
239
+ });
240
+
241
+ const NonEmptyCell = (ownProps: OwnPropsOfNonEmptyCell) => {
242
+ const ctx = useJsonForms();
243
+ const emptyCellProps = ctxToNonEmptyCellProps(ctx, ownProps);
244
+
245
+ const isValid = isEmpty(emptyCellProps.errors);
246
+ return <NonEmptyCellComponent {...emptyCellProps} isValid={isValid}/>
240
247
  };
241
248
 
242
249
  interface NonEmptyRowProps {
243
250
  childPath: string;
244
251
  schema: JsonSchema;
245
252
  rowIndex: number;
246
- moveUp: () => void;
247
- moveDown: () => void;
253
+ moveUpCreator: (path:string, position: number)=> ()=> void;
254
+ moveDownCreator: (path:string, position: number)=> ()=> void;
248
255
  enableUp: boolean;
249
256
  enableDown: boolean;
250
257
  showSortButtons: boolean;
251
258
  enabled: boolean;
252
259
  cells?: JsonFormsCellRendererRegistryEntry[];
260
+ path: string;
253
261
  }
254
262
 
255
- const NonEmptyRow = React.memo(
263
+ const NonEmptyRowComponent =
256
264
  ({
257
265
  childPath,
258
266
  schema,
259
267
  rowIndex,
260
268
  openDeleteDialog,
261
- moveUp,
262
- moveDown,
269
+ moveUpCreator,
270
+ moveDownCreator,
263
271
  enableUp,
264
272
  enableDown,
265
273
  showSortButtons,
266
274
  enabled,
267
- cells
275
+ cells,
276
+ path
268
277
  }: NonEmptyRowProps & WithDeleteDialogSupport) => {
278
+ const moveUp = useMemo(() => moveUpCreator(path, rowIndex),[moveUpCreator, path, rowIndex]);
279
+ const moveDown = useMemo(() => moveDownCreator(path, rowIndex),[moveDownCreator, path, rowIndex]);
269
280
  return (
270
281
  <TableRow key={childPath} hover>
271
282
  {generateCells(NonEmptyCell, schema, childPath, enabled, cells)}
@@ -276,17 +287,13 @@ const NonEmptyRow = React.memo(
276
287
  <Grid
277
288
  container
278
289
  direction='row'
279
- justify='flex-end'
290
+ justifyContent='flex-end'
280
291
  alignItems='center'
281
292
  >
282
293
  {showSortButtons ? (
283
294
  <Fragment>
284
295
  <Grid item>
285
- <IconButton
286
- aria-label={`Move up`}
287
- onClick={moveUp}
288
- disabled={!enableUp}
289
- >
296
+ <IconButton aria-label={`Move up`} onClick={moveUp} disabled={!enableUp} size='large'>
290
297
  <ArrowUpward />
291
298
  </IconButton>
292
299
  </Grid>
@@ -295,7 +302,7 @@ const NonEmptyRow = React.memo(
295
302
  aria-label={`Move down`}
296
303
  onClick={moveDown}
297
304
  disabled={!enableDown}
298
- >
305
+ size='large'>
299
306
  <ArrowDownward />
300
307
  </IconButton>
301
308
  </Grid>
@@ -305,7 +312,7 @@ const NonEmptyRow = React.memo(
305
312
  <IconButton
306
313
  aria-label={`Delete`}
307
314
  onClick={() => openDeleteDialog(childPath, rowIndex)}
308
- >
315
+ size='large'>
309
316
  <DeleteIcon />
310
317
  </IconButton>
311
318
  </Grid>
@@ -314,8 +321,8 @@ const NonEmptyRow = React.memo(
314
321
  ) : null}
315
322
  </TableRow>
316
323
  );
317
- }
318
- );
324
+ };
325
+ export const NonEmptyRow = React.memo(NonEmptyRowComponent);
319
326
  interface TableRowsProp {
320
327
  data: number;
321
328
  path: string;
@@ -359,13 +366,14 @@ const TableRows = ({
359
366
  rowIndex={index}
360
367
  schema={schema}
361
368
  openDeleteDialog={openDeleteDialog}
362
- moveUp={moveUp(path, index)}
363
- moveDown={moveDown(path, index)}
369
+ moveUpCreator={moveUp}
370
+ moveDownCreator={moveDown}
364
371
  enableUp={index !== 0}
365
372
  enableDown={index !== data - 1}
366
373
  showSortButtons={appliedUiSchemaOptions.showSortButtons}
367
374
  enabled={enabled}
368
375
  cells={cells}
376
+ path={path}
369
377
  />
370
378
  );
371
379
  })}
@@ -22,20 +22,18 @@
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 { withStyles } from '@material-ui/core/styles';
26
- import { TableCell } from '@material-ui/core';
25
+ import { styled } from '@mui/material/styles';
26
+ import { TableCell } from '@mui/material';
27
27
  import React from 'react';
28
28
 
29
- const styles = {
30
- noBottomBorder: {
31
- borderBottom: 'none'
32
- }
33
- };
29
+ const StyledTableCell = styled(TableCell)({
30
+ borderBottom: 'none'
31
+ });
34
32
 
35
- const NoBorderTableCell = ({ classes, children, ...otherProps }: any) => (
36
- <TableCell className={classes.noBottomBorder} {...otherProps}>
37
- {children}
38
- </TableCell>
33
+ const NoBorderTableCell = ({ children, ...otherProps }: any) => (
34
+ <StyledTableCell {...otherProps}>
35
+ {children}
36
+ </StyledTableCell>
39
37
  );
40
38
 
41
- export default withStyles(styles)(NoBorderTableCell);
39
+ export default (NoBorderTableCell);
@@ -27,20 +27,21 @@ import {
27
27
  ControlElement,
28
28
  createDefaultValue,
29
29
  JsonSchema,
30
- Labels
31
30
  } from '@jsonforms/core';
32
- import IconButton from '@material-ui/core/IconButton';
33
- import { Grid, Hidden, Typography } from '@material-ui/core';
34
- import TableRow from '@material-ui/core/TableRow';
35
- import Tooltip from '@material-ui/core/Tooltip';
36
- import AddIcon from '@material-ui/icons/Add';
31
+ import {
32
+ IconButton,
33
+ TableRow,
34
+ Tooltip
35
+ } from '@mui/material';
36
+ import { Grid, Hidden, Typography } from '@mui/material';
37
+ import AddIcon from '@mui/icons-material/Add';
37
38
  import ValidationIcon from './ValidationIcon';
38
39
  import NoBorderTableCell from './NoBorderTableCell';
39
40
 
40
41
  export interface MaterialTableToolbarProps {
41
42
  numColumns: number;
42
43
  errors: string;
43
- label: string | Labels;
44
+ label: string;
44
45
  path: string;
45
46
  uischema: ControlElement;
46
47
  schema: JsonSchema;
@@ -68,7 +69,7 @@ const TableToolbar = React.memo(
68
69
  <NoBorderTableCell colSpan={numColumns}>
69
70
  <Grid
70
71
  container
71
- justify={'flex-start'}
72
+ justifyContent={'flex-start'}
72
73
  alignItems={'center'}
73
74
  spacing={2}
74
75
  >
@@ -97,7 +98,7 @@ const TableToolbar = React.memo(
97
98
  <IconButton
98
99
  aria-label={`Add to ${label}`}
99
100
  onClick={addItem(path, createDefaultValue(schema))}
100
- >
101
+ size='large'>
101
102
  <AddIcon />
102
103
  </IconButton>
103
104
  </Tooltip>
@@ -24,22 +24,15 @@
24
24
  */
25
25
  import React from 'react';
26
26
 
27
- import Badge from '@material-ui/core/Badge';
28
- import ErrorOutlineIcon from '@material-ui/icons/ErrorOutline';
29
- import Tooltip from '@material-ui/core/Tooltip';
27
+ import ErrorOutlineIcon from '@mui/icons-material/ErrorOutline';
30
28
  import {
31
- StyledComponentProps,
32
- withStyles,
33
- WithStyles,
34
- createStyles,
35
- Theme
36
- } from '@material-ui/core/styles';
29
+ Badge,
30
+ Tooltip,
31
+ styled
32
+ } from '@mui/material';
37
33
 
38
- export { StyledComponentProps };
39
- const styles = createStyles(({ palette }: Theme) => ({
40
- badge: {
41
- color: palette.error.main
42
- }
34
+ const StyledBadge = styled(Badge)(({ theme }: any) => ({
35
+ color: theme.palette.error.main
43
36
  }));
44
37
 
45
38
  export interface ValidationProps {
@@ -47,18 +40,18 @@ export interface ValidationProps {
47
40
  id: string;
48
41
  }
49
42
 
50
- const ValidationIcon: React.FC<ValidationProps & WithStyles<'badge'>> =
51
- ({ classes, errorMessages, id }) => {
43
+ const ValidationIcon: React.FC<ValidationProps> =
44
+ ({ errorMessages, id }) => {
52
45
  return (
53
46
  <Tooltip
54
47
  id={id}
55
48
  title={errorMessages}
56
49
  >
57
- <Badge className={classes.badge} badgeContent={errorMessages.split('\n').length}>
50
+ <StyledBadge badgeContent={errorMessages.split('\n').length}>
58
51
  <ErrorOutlineIcon color='inherit'/>
59
- </Badge>
52
+ </StyledBadge>
60
53
  </Tooltip>
61
54
  );
62
55
  };
63
56
 
64
- export default withStyles(styles, { name: 'ValidationIcon' })(ValidationIcon);
57
+ export default ValidationIcon;
@@ -35,10 +35,10 @@ import {
35
35
  WithClassname
36
36
  } from '@jsonforms/core';
37
37
  import { Control, withJsonFormsControlProps } from '@jsonforms/react';
38
- import { Input } from '@material-ui/core';
39
- import { InputBaseComponentProps } from '@material-ui/core/InputBase';
38
+ import { Input, InputBaseComponentProps } from '@mui/material';
40
39
  import merge from 'lodash/merge';
41
- import React from 'react';
40
+ import React, { useMemo } from 'react';
41
+ import { useDebouncedChange } from '../util';
42
42
  import { MaterialInputControl } from './MaterialInputControl';
43
43
 
44
44
  const findEnumSchema = (schemas: JsonSchema[]) =>
@@ -64,17 +64,20 @@ const MuiAutocompleteInputText = (props: EnumCellProps & WithClassname) => {
64
64
  const enumSchema = findEnumSchema(schema.anyOf);
65
65
  const stringSchema = findTextSchema(schema.anyOf);
66
66
  const maxLength = stringSchema.maxLength;
67
- const appliedUiSchemaOptions = merge({}, config, uischema.options);
68
- let inputProps: InputBaseComponentProps = {};
69
- if (appliedUiSchemaOptions.restrict) {
70
- inputProps = { maxLength: maxLength };
71
- }
72
- if (appliedUiSchemaOptions.trim && maxLength !== undefined) {
73
- inputProps.size = maxLength;
74
- }
75
- const onChange = (ev: any) => handleChange(path, ev.target.value);
67
+ const appliedUiSchemaOptions = useMemo(() => merge({}, config, uischema.options),[config, uischema.options]);
68
+ const inputProps: InputBaseComponentProps = useMemo(() => {
69
+ let propMemo: InputBaseComponentProps = {};
70
+ if (appliedUiSchemaOptions.restrict) {
71
+ propMemo = { maxLength: maxLength };
72
+ }
73
+ if (appliedUiSchemaOptions.trim && maxLength !== undefined) {
74
+ propMemo.size = maxLength;
75
+ }
76
+ propMemo.list = props.id + 'datalist';
77
+ return propMemo;
78
+ },[appliedUiSchemaOptions,props.id]);
79
+ const [inputText, onChange] = useDebouncedChange(handleChange, '', data, path);
76
80
 
77
- inputProps.list = props.id + 'datalist';
78
81
  const dataList = (
79
82
  <datalist id={props.id + 'datalist'}>
80
83
  {enumSchema.enum.map(optionValue => (
@@ -85,7 +88,7 @@ const MuiAutocompleteInputText = (props: EnumCellProps & WithClassname) => {
85
88
  return (
86
89
  <Input
87
90
  type='text'
88
- value={data || ''}
91
+ value={inputText}
89
92
  onChange={onChange}
90
93
  className={className}
91
94
  id={id}
@@ -31,7 +31,7 @@ import {
31
31
  ControlProps
32
32
  } from '@jsonforms/core';
33
33
  import { withJsonFormsControlProps } from '@jsonforms/react';
34
- import { FormControlLabel, Hidden } from '@material-ui/core';
34
+ import { FormControlLabel, Hidden } from '@mui/material';
35
35
  import { MuiCheckbox } from '../mui-controls/MuiCheckbox';
36
36
 
37
37
  export const MaterialBooleanControl = ({
@@ -33,7 +33,7 @@ import {
33
33
  and
34
34
  } from '@jsonforms/core';
35
35
  import { withJsonFormsControlProps } from '@jsonforms/react';
36
- import { FormControlLabel, Hidden } from '@material-ui/core';
36
+ import { FormControlLabel, Hidden } from '@mui/material';
37
37
  import { MuiToggle } from '../mui-controls/MuiToggle';
38
38
 
39
39
  export const MaterialBooleanToggleControl = ({