@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
@@ -24,10 +24,10 @@
24
24
  */
25
25
  import './MatchMediaMock';
26
26
  import React from 'react';
27
- import Dialog from '@material-ui/core/Dialog';
27
+ import Dialog from '@mui/material/Dialog';
28
28
 
29
29
  import Enzyme, { mount, ReactWrapper } from 'enzyme';
30
- import Adapter from 'enzyme-adapter-react-16';
30
+ import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
31
31
  import {
32
32
  ControlElement
33
33
  } from '@jsonforms/core';
@@ -36,7 +36,7 @@ import {
36
36
  materialRenderers
37
37
  } from '../../src';
38
38
  import { JsonForms, JsonFormsDispatch, JsonFormsStateProvider } from '@jsonforms/react';
39
- import { Tab } from '@material-ui/core';
39
+ import { Tab } from '@mui/material';
40
40
  import { initCore, TestEmitter } from './util';
41
41
 
42
42
  Enzyme.configure({ adapter: new Adapter() });
@@ -120,8 +120,9 @@ describe('Material oneOf renderer', () => {
120
120
  );
121
121
 
122
122
  const firstTab = wrapper.find(Tab).first();
123
- expect(firstTab.props().selected).toBeTruthy();
123
+ expect(firstTab.html()).toContain('Mui-selected');
124
124
  });
125
+
125
126
  it('should render and select second tab due to datatype', () => {
126
127
  const schema = {
127
128
  type: 'object',
@@ -159,8 +160,9 @@ describe('Material oneOf renderer', () => {
159
160
  expect(wrapper.find(MaterialOneOfRenderer).length).toBeTruthy();
160
161
 
161
162
  const secondTab = wrapper.find(Tab).at(1);
162
- expect(secondTab.props().selected).toBeTruthy();
163
+ expect(secondTab.html()).toContain('Mui-selected');
163
164
  });
165
+
164
166
  it('should render and select second tab due to schema with additionalProperties', () => {
165
167
  const schema = {
166
168
  type: 'object',
@@ -206,8 +208,9 @@ describe('Material oneOf renderer', () => {
206
208
  expect(wrapper.find(MaterialOneOfRenderer).length).toBeTruthy();
207
209
 
208
210
  const secondTab = wrapper.find(Tab).at(1);
209
- expect(secondTab.props().selected).toBeTruthy();
211
+ expect(secondTab.html()).toContain('Mui-selected');
210
212
  });
213
+
211
214
  it('should render and select second tab due to schema with required', () => {
212
215
  const schema = {
213
216
  type: 'object',
@@ -253,10 +256,10 @@ describe('Material oneOf renderer', () => {
253
256
  expect(wrapper.find(MaterialOneOfRenderer).length).toBeTruthy();
254
257
 
255
258
  const secondTab = wrapper.find(Tab).at(1);
256
- expect(secondTab.props().selected).toBeTruthy();
259
+ expect(secondTab.html()).toContain('Mui-selected');
257
260
  });
258
261
 
259
- it('should add an item at correct path', () => {
262
+ it('should add an item at correct path', (done) => {
260
263
  const schema = {
261
264
  type: 'object',
262
265
  properties: {
@@ -298,12 +301,15 @@ describe('Material oneOf renderer', () => {
298
301
  const input = wrapper.find('input').first();
299
302
  input.simulate('change', { target: { value: 'test' } });
300
303
  wrapper.update();
301
- expect(onChangeData.data).toEqual({
302
- value: 'test'
303
- });
304
+ setTimeout(() => {
305
+ expect(onChangeData.data).toEqual({
306
+ value: 'test'
307
+ });
308
+ done();
309
+ }, 1000);
304
310
  });
305
311
 
306
- it('should add an item within an array', async () => {
312
+ it.skip('should add an item within an array', async () => {
307
313
  const schema = {
308
314
  type: 'object',
309
315
  properties: {
@@ -360,7 +366,7 @@ describe('Material oneOf renderer', () => {
360
366
  expect(nrOfRowsAfterAdd.length).toBe(3);
361
367
  });
362
368
 
363
- it('should add an object within an array', async () => {
369
+ it.skip('should add an object within an array', async () => {
364
370
  const schema = {
365
371
  type: 'object',
366
372
  properties: {
@@ -435,7 +441,7 @@ describe('Material oneOf renderer', () => {
435
441
  });
436
442
  });
437
443
 
438
- it('should switch to array based oneOf subschema, then switch back, then edit', async () => {
444
+ it.skip('should switch to array based oneOf subschema, then switch back, then edit', async () => {
439
445
  const schema = {
440
446
  type: 'object',
441
447
  properties: {
@@ -31,7 +31,7 @@ import {
31
31
  import MaterialRadioGroupControl, { materialRadioGroupControlTester } from '../../src/controls/MaterialRadioGroupControl';
32
32
  import { materialRenderers } from '../../src';
33
33
  import Enzyme, { mount, ReactWrapper } from 'enzyme';
34
- import Adapter from 'enzyme-adapter-react-16';
34
+ import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
35
35
  import { JsonFormsStateProvider } from '@jsonforms/react';
36
36
  import { initCore } from './util';
37
37
  Enzyme.configure({ adapter: new Adapter() });
@@ -33,10 +33,10 @@ import SliderControl, {
33
33
  materialSliderControlTester
34
34
  } from '../../src/controls/MaterialSliderControl';
35
35
  import { materialRenderers } from '../../src';
36
- import { Slider } from '@material-ui/core';
36
+ import { Slider } from '@mui/material';
37
37
 
38
38
  import Enzyme, { mount, ReactWrapper } from 'enzyme';
39
- import Adapter from 'enzyme-adapter-react-16';
39
+ import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
40
40
  import { JsonForms, JsonFormsStateProvider } from '@jsonforms/react';
41
41
  import { initCore } from './util';
42
42
 
@@ -35,7 +35,7 @@ import TextCell, {
35
35
  import { materialRenderers } from '../../src';
36
36
 
37
37
  import Enzyme, { mount, ReactWrapper } from 'enzyme';
38
- import Adapter from 'enzyme-adapter-react-16';
38
+ import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
39
39
  import { JsonFormsStateProvider } from '@jsonforms/react';
40
40
  import { initCore, TestEmitter } from './util';
41
41
 
@@ -196,7 +196,7 @@ describe('Material text cell', () => {
196
196
  expect(input.props().value).toBe('Foo');
197
197
  });
198
198
 
199
- it('should update via input event', () => {
199
+ it('should update via input event', (done) => {
200
200
  const core = initCore(minLengthSchema, uischema, data);
201
201
  const onChangeData: any = {
202
202
  data: undefined
@@ -214,10 +214,13 @@ describe('Material text cell', () => {
214
214
 
215
215
  const input = wrapper.find('input').first();
216
216
  input.simulate('change', { target: { value: 'Bar' } });
217
- expect(onChangeData.data.name).toBe('Bar');
217
+ setTimeout(() => {
218
+ expect(onChangeData.data.name).toBe('Bar');
219
+ done();
220
+ }, 1000);
218
221
  });
219
222
 
220
- it('should update via action', () => {
223
+ it('should update via action', (done) => {
221
224
  const core = initCore(minLengthSchema, uischema, data);
222
225
  wrapper = mount(
223
226
  <JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
@@ -227,11 +230,14 @@ describe('Material text cell', () => {
227
230
  core.data = { ...core.data, name: 'Bar' };
228
231
  wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
229
232
  wrapper.update();
230
- const input = wrapper.find('input').first();
231
- expect(input.props().value).toBe('Bar');
233
+ setTimeout(() => {
234
+ const input = wrapper.find('input').first();
235
+ expect(input.props().value).toBe('Bar');
236
+ done();
237
+ }, 1000);
232
238
  });
233
239
 
234
- it('should update with undefined value', () => {
240
+ it('should update with undefined value', (done) => {
235
241
  const core = initCore(minLengthSchema, uischema, data);
236
242
  wrapper = mount(
237
243
  <JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
@@ -241,11 +247,14 @@ describe('Material text cell', () => {
241
247
  core.data = { ...core.data, name: undefined };
242
248
  wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
243
249
  wrapper.update();
244
- const input = wrapper.find('input').first();
245
- expect(input.props().value).toBe('');
250
+ setTimeout(() => {
251
+ const input = wrapper.find('input').first();
252
+ expect(input.props().value).toBe('');
253
+ done();
254
+ }, 1000);
246
255
  });
247
256
 
248
- it('should update with null value', () => {
257
+ it('should update with null value', (done) => {
249
258
  const core = initCore(minLengthSchema, uischema, data);
250
259
  wrapper = mount(
251
260
  <JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
@@ -255,11 +264,14 @@ describe('Material text cell', () => {
255
264
  core.data = { ...core.data, name: null };
256
265
  wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
257
266
  wrapper.update();
258
- const input = wrapper.find('input').first();
259
- expect(input.props().value).toBe('');
267
+ setTimeout(() => {
268
+ const input = wrapper.find('input').first();
269
+ expect(input.props().value).toBe('');
270
+ done();
271
+ }, 1000);
260
272
  });
261
273
 
262
- it('should not update if wrong ref', () => {
274
+ it('should not update if wrong ref', (done) => {
263
275
  const core = initCore(minLengthSchema, uischema, data);
264
276
  wrapper = mount(
265
277
  <JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
@@ -269,11 +281,14 @@ describe('Material text cell', () => {
269
281
  core.data = { ...core.data, firstname: 'Bar' };
270
282
  wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
271
283
  wrapper.update();
272
- const input = wrapper.find('input').first();
273
- expect(input.props().value).toBe('Foo');
284
+ setTimeout(() => {
285
+ const input = wrapper.find('input').first();
286
+ expect(input.props().value).toBe('Foo');
287
+ done();
288
+ }, 1000);
274
289
  });
275
290
 
276
- it('should not update if null ref', () => {
291
+ it('should not update if null ref', (done) => {
277
292
  const core = initCore(minLengthSchema, uischema, data);
278
293
  wrapper = mount(
279
294
  <JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
@@ -283,11 +298,14 @@ describe('Material text cell', () => {
283
298
  core.data = { ...core.data, null: 'Bar' };
284
299
  wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
285
300
  wrapper.update();
286
- const input = wrapper.find('input').first();
287
- expect(input.props().value).toBe('Foo');
301
+ setTimeout(() => {
302
+ const input = wrapper.find('input').first();
303
+ expect(input.props().value).toBe('Foo');
304
+ done();
305
+ }, 1000);
288
306
  });
289
307
 
290
- it('should not update if undefined ref', () => {
308
+ it('should not update if undefined ref', (done) => {
291
309
  const core = initCore(minLengthSchema, uischema, data);
292
310
  wrapper = mount(
293
311
  <JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
@@ -297,8 +315,11 @@ describe('Material text cell', () => {
297
315
  core.data = { ...core.data, undefined: 'Bar' };
298
316
  wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
299
317
  wrapper.update();
300
- const input = wrapper.find('input').first();
301
- expect(input.props().value).toBe('Foo');
318
+ setTimeout(() => {
319
+ const input = wrapper.find('input').first();
320
+ expect(input.props().value).toBe('Foo');
321
+ done();
322
+ }, 1000);
302
323
  });
303
324
 
304
325
  it('can be disabled', () => {
@@ -433,9 +454,8 @@ describe('Material text cell', () => {
433
454
  .first()
434
455
  .getDOMNode() as HTMLInputElement;
435
456
  expect(input.maxLength).toBe(DEFAULT_MAX_LENGTH);
436
- expect(
437
- getComputedStyle(input.parentElement, null).getPropertyValue('width')
438
- ).toBe('100%');
457
+
458
+ expect(input.parentElement.classList.contains('MuiInputBase-fullWidth')).toBeTruthy;
439
459
  expect(input.size).toBe(DEFAULT_SIZE);
440
460
  });
441
461
 
@@ -457,9 +477,7 @@ describe('Material text cell', () => {
457
477
  .first()
458
478
  .getDOMNode() as HTMLInputElement;
459
479
  expect(input.maxLength).toBe(DEFAULT_MAX_LENGTH);
460
- expect(
461
- getComputedStyle(input.parentElement, null).getPropertyValue('width')
462
- ).toBe('100%');
480
+ expect(input.parentElement.classList.contains('MuiInputBase-fullWidth')).toBeTruthy;
463
481
  expect(input.size).toBe(DEFAULT_SIZE);
464
482
  });
465
483
 
@@ -481,9 +499,7 @@ describe('Material text cell', () => {
481
499
  .first()
482
500
  .getDOMNode() as HTMLInputElement;
483
501
  expect(input.maxLength).toBe(DEFAULT_MAX_LENGTH);
484
- expect(
485
- getComputedStyle(input.parentElement, null).getPropertyValue('width')
486
- ).toBe('100%');
502
+ expect(input.parentElement.classList.contains('MuiInputBase-fullWidth')).toBeTruthy;
487
503
  expect(input.size).toBe(DEFAULT_SIZE);
488
504
  });
489
505
 
@@ -499,9 +515,7 @@ describe('Material text cell', () => {
499
515
  .first()
500
516
  .getDOMNode() as HTMLInputElement;
501
517
  expect(input.maxLength).toBe(DEFAULT_MAX_LENGTH);
502
- expect(
503
- getComputedStyle(input.parentElement, null).getPropertyValue('width')
504
- ).toBe('100%');
518
+ expect(input.parentElement.classList.contains('MuiInputBase-fullWidth')).toBeTruthy;
505
519
  expect(input.size).toBe(DEFAULT_SIZE);
506
520
  });
507
521
 
@@ -28,9 +28,9 @@ import Enzyme, { mount, ReactWrapper } from 'enzyme';
28
28
  import { MaterialTextControl } from '../../src/controls/MaterialTextControl';
29
29
  import { MaterialInputControl } from '../../src/controls/MaterialInputControl';
30
30
  import { MuiInputText } from '../../src/mui-controls/MuiInputText';
31
- import Adapter from 'enzyme-adapter-react-16';
31
+ import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
32
32
  import { ControlElement, ControlProps } from '@jsonforms/core';
33
- import { Input, InputAdornment } from '@material-ui/core';
33
+ import { Input, InputAdornment } from '@mui/material';
34
34
 
35
35
  Enzyme.configure({ adapter: new Adapter() });
36
36
 
@@ -97,7 +97,9 @@ describe('Material text control', () => {
97
97
  it('shows clear button when data exists', () => {
98
98
  const props = defaultControlProps();
99
99
  wrapper = mount(createMaterialTextControl(props));
100
- wrapper.find(Input).simulate('pointerenter');
100
+ // call onPointerEnter prop manually as the tests seem to ignore 'pointerenter' events, 'mouseover' events work however.
101
+ wrapper.find(Input).props().onPointerEnter.call(this);
102
+ wrapper.update();
101
103
  expect(wrapper.find(InputAdornment).props().style).not.toHaveProperty('display', 'none');
102
104
  });
103
105
 
@@ -105,7 +107,9 @@ describe('Material text control', () => {
105
107
  const props = defaultControlProps();
106
108
  delete props.data;
107
109
  wrapper = mount(createMaterialTextControl(props));
108
- wrapper.find(Input).simulate('pointerenter');
110
+ // call onPointerEnter prop manually as the tests seem to ignore 'pointerenter' events, 'mouseover' events work however.
111
+ wrapper.find(Input).props().onPointerEnter.call(this);
112
+ wrapper.update();
109
113
  expect(wrapper.find(InputAdornment).props().style).toHaveProperty('display', 'none');
110
114
  });
111
115
  });
@@ -34,7 +34,7 @@ import TimeCell, {
34
34
  import { materialRenderers } from '../../src';
35
35
 
36
36
  import Enzyme, { mount, ReactWrapper } from 'enzyme';
37
- import Adapter from 'enzyme-adapter-react-16';
37
+ import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
38
38
  import { JsonFormsStateProvider } from '@jsonforms/react';
39
39
  import { initCore, TestEmitter } from './util';
40
40
 
@@ -174,7 +174,7 @@ describe('Material time cell', () => {
174
174
  expect(input.props().value).toBe('13:37');
175
175
  });
176
176
 
177
- it('should update via event', () => {
177
+ it('should update via event', (done) => {
178
178
  const core = initCore(schema, uischema, data);
179
179
  const onChangeData: any = {
180
180
  data: undefined
@@ -191,10 +191,13 @@ describe('Material time cell', () => {
191
191
  );
192
192
  const input = wrapper.find('input').first();
193
193
  input.simulate('change', { target: { value: '20:15' } });
194
- expect(onChangeData.data.foo).toBe('20:15');
194
+ setTimeout(() => {
195
+ expect(onChangeData.data.foo).toBe('20:15');
196
+ done();
197
+ }, 1000);
195
198
  });
196
199
 
197
- it('should update via action', () => {
200
+ it('should update via action', (done) => {
198
201
  const core = initCore(schema, uischema, data);
199
202
  wrapper = mount(
200
203
  <JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
@@ -204,11 +207,14 @@ describe('Material time cell', () => {
204
207
  core.data = { ...core.data, foo: '20:15' };
205
208
  wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
206
209
  wrapper.update();
207
- const input = wrapper.find('input').first();
208
- expect(input.props().value).toBe('20:15');
210
+ setTimeout(() => {
211
+ const input = wrapper.find('input').first();
212
+ expect(input.props().value).toBe('20:15');
213
+ done();
214
+ }, 1000);
209
215
  });
210
216
 
211
- it('should update with null value', () => {
217
+ it('should update with null value', (done) => {
212
218
  const core = initCore(schema, uischema, data);
213
219
  wrapper = mount(
214
220
  <JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
@@ -218,11 +224,14 @@ describe('Material time cell', () => {
218
224
  core.data = { ...core.data, foo: null };
219
225
  wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
220
226
  wrapper.update();
221
- const input = wrapper.find('input').first();
222
- expect(input.props().value).toBe('');
227
+ setTimeout(() => {
228
+ const input = wrapper.find('input').first();
229
+ expect(input.props().value).toBe('');
230
+ done();
231
+ }, 1000);
223
232
  });
224
233
 
225
- it('update with undefined value', () => {
234
+ it('update with undefined value', (done) => {
226
235
  const core = initCore(schema, uischema, data);
227
236
  wrapper = mount(
228
237
  <JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
@@ -232,11 +241,14 @@ describe('Material time cell', () => {
232
241
  core.data = { ...core.data, foo: undefined };
233
242
  wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
234
243
  wrapper.update();
235
- const input = wrapper.find('input').first();
236
- expect(input.props().value).toBe('');
244
+ setTimeout(() => {
245
+ const input = wrapper.find('input').first();
246
+ expect(input.props().value).toBe('');
247
+ done();
248
+ }, 1000);
237
249
  });
238
250
 
239
- it('should update with wrong ref', () => {
251
+ it('should update with wrong ref', (done) => {
240
252
  const core = initCore(schema, uischema, data);
241
253
  wrapper = mount(
242
254
  <JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
@@ -246,11 +258,14 @@ describe('Material time cell', () => {
246
258
  core.data = { ...core.data, bar: 'Bar' };
247
259
  wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
248
260
  wrapper.update();
249
- const input = wrapper.find('input').first();
250
- expect(input.props().value).toBe('13:37');
261
+ setTimeout(() => {
262
+ const input = wrapper.find('input').first();
263
+ expect(input.props().value).toBe('13:37');
264
+ done();
265
+ }, 1000);
251
266
  });
252
267
 
253
- it('should update with null ref', () => {
268
+ it('should update with null ref', (done) => {
254
269
  const core = initCore(schema, uischema, data);
255
270
  wrapper = mount(
256
271
  <JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
@@ -260,11 +275,14 @@ describe('Material time cell', () => {
260
275
  core.data = { ...core.data, null: '20:15' };
261
276
  wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
262
277
  wrapper.update();
263
- const input = wrapper.find('input').first();
264
- expect(input.props().value).toBe('13:37');
278
+ setTimeout(() => {
279
+ const input = wrapper.find('input').first();
280
+ expect(input.props().value).toBe('13:37');
281
+ done();
282
+ }, 1000);
265
283
  });
266
284
 
267
- it('should update with undefined ref', () => {
285
+ it('should update with undefined ref', (done) => {
268
286
  const core = initCore(schema, uischema, data);
269
287
  wrapper = mount(
270
288
  <JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
@@ -274,8 +292,11 @@ describe('Material time cell', () => {
274
292
  core.data = { ...core.data, undefined: '20:15' };
275
293
  wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
276
294
  wrapper.update();
277
- const input = wrapper.find('input').first();
278
- expect(input.props().value).toBe('13:37');
295
+ setTimeout(() => {
296
+ const input = wrapper.find('input').first();
297
+ expect(input.props().value).toBe('13:37');
298
+ done();
299
+ }, 1000);
279
300
  });
280
301
 
281
302
  it('can be disabled', () => {