@jsonforms/material-renderers 3.0.0-alpha.0 → 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 (514) 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 +1014 -483
  7. package/docs/index.html +77 -68
  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 +7 -23
  37. package/lib/additional/ListWithDetailMasterItem.d.ts +3 -3
  38. package/lib/additional/MaterialLabelRenderer.d.ts +13 -13
  39. package/lib/additional/MaterialListWithDetailRenderer.d.ts +6 -6
  40. package/lib/additional/index.d.ts +4 -4
  41. package/lib/cells/CustomizableCells.d.ts +9 -9
  42. package/lib/cells/MaterialBooleanCell.d.ts +6 -6
  43. package/lib/cells/MaterialBooleanToggleCell.d.ts +6 -6
  44. package/lib/cells/MaterialDateCell.d.ts +6 -6
  45. package/lib/cells/MaterialEnumCell.d.ts +10 -10
  46. package/lib/cells/MaterialIntegerCell.d.ts +6 -6
  47. package/lib/cells/MaterialNumberCell.d.ts +10 -10
  48. package/lib/cells/MaterialNumberFormatCell.d.ts +10 -10
  49. package/lib/cells/MaterialOneOfEnumCell.d.ts +10 -10
  50. package/lib/cells/MaterialTextCell.d.ts +10 -10
  51. package/lib/cells/MaterialTimeCell.d.ts +6 -6
  52. package/lib/cells/index.d.ts +13 -13
  53. package/lib/complex/CombinatorProperties.d.ts +12 -12
  54. package/lib/complex/DeleteDialog.d.ts +11 -11
  55. package/lib/complex/MaterialAllOfRenderer.d.ts +6 -5
  56. package/lib/complex/MaterialAnyOfRenderer.d.ts +6 -5
  57. package/lib/complex/MaterialArrayControlRenderer.d.ts +5 -5
  58. package/lib/complex/MaterialEnumArrayRenderer.d.ts +6 -6
  59. package/lib/complex/MaterialObjectRenderer.d.ts +6 -5
  60. package/lib/complex/MaterialOneOfRenderer.d.ts +9 -8
  61. package/lib/complex/MaterialTableControl.d.ts +25 -10
  62. package/lib/complex/NoBorderTableCell.d.ts +3 -3
  63. package/lib/complex/TableToolbar.d.ts +15 -15
  64. package/lib/complex/ValidationIcon.d.ts +7 -11
  65. package/lib/complex/index.d.ts +19 -19
  66. package/lib/controls/MaterialAnyOfStringOrEnumControl.d.ts +9 -9
  67. package/lib/controls/MaterialBooleanControl.d.ts +6 -6
  68. package/lib/controls/MaterialBooleanToggleControl.d.ts +6 -6
  69. package/lib/controls/MaterialDateControl.d.ts +6 -18
  70. package/lib/controls/MaterialDateTimeControl.d.ts +6 -9
  71. package/lib/controls/MaterialEnumControl.d.ts +7 -6
  72. package/lib/controls/MaterialInputControl.d.ts +6 -9
  73. package/lib/controls/MaterialIntegerControl.d.ts +6 -6
  74. package/lib/controls/MaterialNativeControl.d.ts +6 -9
  75. package/lib/controls/MaterialNumberControl.d.ts +6 -6
  76. package/lib/controls/MaterialOneOfEnumControl.d.ts +7 -6
  77. package/lib/controls/MaterialOneOfRadioGroupControl.d.ts +6 -6
  78. package/lib/controls/MaterialRadioGroup.d.ts +3 -6
  79. package/lib/controls/MaterialRadioGroupControl.d.ts +6 -6
  80. package/lib/controls/MaterialSliderControl.d.ts +6 -9
  81. package/lib/controls/MaterialTextControl.d.ts +6 -6
  82. package/lib/controls/MaterialTimeControl.d.ts +6 -0
  83. package/lib/controls/index.d.ts +35 -33
  84. package/lib/index.d.ts +9 -9
  85. package/lib/jsonforms-react-material.cjs.js +1489 -0
  86. package/lib/jsonforms-react-material.cjs.js.map +1 -0
  87. package/lib/jsonforms-react-material.esm.js +1221 -0
  88. package/lib/jsonforms-react-material.esm.js.map +1 -0
  89. package/lib/layouts/ArrayToolbar.d.ts +9 -9
  90. package/lib/layouts/ExpandPanelRenderer.d.ts +51 -52
  91. package/lib/layouts/MaterialArrayLayout.d.ts +3 -13
  92. package/lib/layouts/MaterialArrayLayoutRenderer.d.ts +6 -6
  93. package/lib/layouts/MaterialCategorizationLayout.d.ts +17 -25
  94. package/lib/layouts/MaterialCategorizationStepperLayout.d.ts +13 -20
  95. package/lib/layouts/MaterialGroupLayout.d.ts +7 -7
  96. package/lib/layouts/MaterialHorizontalLayout.d.ts +10 -10
  97. package/lib/layouts/MaterialVerticalLayout.d.ts +10 -10
  98. package/lib/layouts/index.d.ts +6 -6
  99. package/lib/mui-controls/MuiAutocomplete.d.ts +9 -0
  100. package/lib/mui-controls/MuiCheckbox.d.ts +3 -3
  101. package/lib/mui-controls/MuiInputInteger.d.ts +3 -3
  102. package/lib/mui-controls/MuiInputNumber.d.ts +3 -3
  103. package/lib/mui-controls/MuiInputNumberFormat.d.ts +3 -3
  104. package/lib/mui-controls/MuiInputText.d.ts +9 -9
  105. package/lib/mui-controls/MuiInputTime.d.ts +3 -3
  106. package/lib/mui-controls/MuiSelect.d.ts +3 -3
  107. package/lib/mui-controls/MuiToggle.d.ts +3 -3
  108. package/lib/mui-controls/index.d.ts +7 -7
  109. package/lib/util/datejs.d.ts +3 -0
  110. package/lib/util/debounce.d.ts +1 -0
  111. package/lib/util/focus.d.ts +1 -0
  112. package/lib/util/index.d.ts +5 -2
  113. package/lib/util/layout.d.ts +15 -13
  114. package/lib/util/theme.d.ts +10 -10
  115. package/package.json +36 -31
  116. package/rollup.config.js +51 -0
  117. package/src/additional/ListWithDetailMasterItem.tsx +3 -6
  118. package/src/additional/MaterialLabelRenderer.tsx +1 -1
  119. package/src/additional/MaterialListWithDetailRenderer.tsx +2 -3
  120. package/src/cells/MaterialDateCell.tsx +1 -1
  121. package/src/cells/MaterialTimeCell.tsx +1 -0
  122. package/src/complex/CombinatorProperties.tsx +2 -2
  123. package/src/complex/DeleteDialog.tsx +2 -2
  124. package/src/complex/MaterialAllOfRenderer.tsx +3 -2
  125. package/src/complex/MaterialAnyOfRenderer.tsx +3 -2
  126. package/src/complex/MaterialArrayControlRenderer.tsx +1 -1
  127. package/src/complex/MaterialEnumArrayRenderer.tsx +4 -3
  128. package/src/complex/MaterialObjectRenderer.tsx +4 -4
  129. package/src/complex/MaterialOneOfRenderer.tsx +7 -7
  130. package/src/complex/MaterialTableControl.tsx +45 -37
  131. package/src/complex/NoBorderTableCell.tsx +10 -12
  132. package/src/complex/TableToolbar.tsx +10 -9
  133. package/src/complex/ValidationIcon.tsx +12 -19
  134. package/src/controls/MaterialAnyOfStringOrEnumControl.tsx +17 -14
  135. package/src/controls/MaterialBooleanControl.tsx +1 -1
  136. package/src/controls/MaterialBooleanToggleControl.tsx +1 -1
  137. package/src/controls/MaterialDateControl.tsx +87 -119
  138. package/src/controls/MaterialDateTimeControl.tsx +91 -78
  139. package/src/controls/MaterialEnumControl.tsx +12 -3
  140. package/src/controls/MaterialInputControl.tsx +65 -72
  141. package/src/controls/MaterialNativeControl.tsx +55 -60
  142. package/src/controls/MaterialOneOfEnumControl.tsx +13 -4
  143. package/src/controls/MaterialOneOfRadioGroupControl.tsx +4 -4
  144. package/src/controls/MaterialRadioGroup.tsx +73 -74
  145. package/src/controls/MaterialRadioGroupControl.tsx +1 -1
  146. package/src/controls/MaterialSliderControl.tsx +93 -89
  147. package/src/controls/MaterialTimeControl.tsx +133 -0
  148. package/src/controls/index.ts +7 -0
  149. package/src/index.ts +3 -0
  150. package/src/layouts/ArrayToolbar.tsx +11 -7
  151. package/src/layouts/ExpandPanelRenderer.tsx +44 -42
  152. package/src/layouts/MaterialArrayLayout.tsx +73 -83
  153. package/src/layouts/MaterialArrayLayoutRenderer.tsx +1 -1
  154. package/src/layouts/MaterialCategorizationLayout.tsx +50 -67
  155. package/src/layouts/MaterialCategorizationStepperLayout.tsx +80 -88
  156. package/src/layouts/MaterialGroupLayout.tsx +1 -1
  157. package/src/{extended → mui-controls}/MuiAutocomplete.tsx +11 -9
  158. package/src/mui-controls/MuiCheckbox.tsx +2 -3
  159. package/src/mui-controls/MuiInputInteger.tsx +13 -10
  160. package/src/mui-controls/MuiInputNumber.tsx +10 -7
  161. package/src/mui-controls/MuiInputNumberFormat.tsx +9 -12
  162. package/src/mui-controls/MuiInputText.tsx +30 -21
  163. package/src/mui-controls/MuiInputTime.tsx +7 -5
  164. package/src/mui-controls/MuiSelect.tsx +4 -5
  165. package/src/mui-controls/MuiToggle.tsx +2 -3
  166. package/src/util/datejs.ts +32 -0
  167. package/{lib/cells/MaterialNumberCell.js → src/util/debounce.ts} +20 -16
  168. package/{lib/util/index.js → src/util/focus.ts} +9 -6
  169. package/src/util/index.ts +3 -0
  170. package/src/util/layout.tsx +7 -8
  171. package/src/util/theme.ts +1 -1
  172. package/stats.html +3279 -0
  173. package/test/renderers/MaterialAllOfRenderer.test.tsx +1 -1
  174. package/test/renderers/MaterialAnyOfRenderer.test.tsx +15 -9
  175. package/test/renderers/MaterialAnyOfStringOrEnumControl.test.tsx +1 -1
  176. package/test/renderers/MaterialArrayControl.test.tsx +1 -1
  177. package/test/renderers/MaterialArrayLayout.test.tsx +9 -9
  178. package/test/renderers/MaterialBooleanCell.test.tsx +1 -1
  179. package/test/renderers/MaterialBooleanToggleCell.test.tsx +3 -2
  180. package/test/renderers/MaterialBooleanToggleControl.test.tsx +3 -2
  181. package/test/renderers/MaterialCategorizationLayout.test.tsx +76 -3
  182. package/test/renderers/MaterialCategorizationStepperLayout.test.tsx +79 -6
  183. package/test/renderers/MaterialDateCell.test.tsx +1 -1
  184. package/test/renderers/MaterialDateControl.test.tsx +46 -2
  185. package/test/renderers/MaterialDateTimeControl.test.tsx +57 -12
  186. package/test/renderers/MaterialEnumArrayRenderer.test.tsx +1 -1
  187. package/test/renderers/MaterialEnumCell.test.tsx +1 -1
  188. package/test/renderers/MaterialGroupLayout.test.tsx +1 -1
  189. package/test/renderers/MaterialInputControl.test.tsx +4 -4
  190. package/test/renderers/MaterialIntegerCell.test.tsx +42 -21
  191. package/test/renderers/MaterialLabelRenderer.test.tsx +1 -1
  192. package/test/renderers/MaterialLayouts.test.tsx +1 -1
  193. package/test/renderers/MaterialListWithDetailRenderer.test.tsx +2 -2
  194. package/test/renderers/MaterialNativeControl.test.tsx +2 -2
  195. package/test/renderers/MaterialNumberCell.test.tsx +46 -25
  196. package/test/renderers/MaterialObjectControl.test.tsx +1 -1
  197. package/test/renderers/MaterialOneOfEnumCell.test.tsx +1 -1
  198. package/test/renderers/MaterialOneOfRadioGroupControl.test.tsx +1 -1
  199. package/test/renderers/MaterialOneOfRenderer.test.tsx +17 -11
  200. package/test/renderers/MaterialRadioGroupControl.test.tsx +1 -1
  201. package/test/renderers/MaterialSliderControl.test.tsx +2 -2
  202. package/test/renderers/MaterialTextCell.test.tsx +47 -33
  203. package/test/renderers/MaterialTextControl.test.tsx +8 -4
  204. package/test/renderers/MaterialTimeCell.test.tsx +42 -21
  205. package/test/renderers/MaterialTimeControl.test.tsx +380 -0
  206. package/tsconfig.json +1 -2
  207. package/tsconfig.test.json +7 -0
  208. package/docs/classes/materialarraylayout.html +0 -777
  209. package/docs/classes/materialcategorizationlayoutrenderer.html +0 -786
  210. package/docs/classes/materialcategorizationstepperlayoutrenderer.html +0 -762
  211. package/docs/classes/materialdatecontrol.html +0 -825
  212. package/docs/classes/materialdatetimecontrol.html +0 -825
  213. package/docs/classes/materialinputcontrol.html +0 -825
  214. package/docs/classes/materialnativecontrol.html +0 -825
  215. package/docs/classes/materialradiogroup.html +0 -825
  216. package/docs/classes/materialslidercontrol.html +0 -825
  217. package/docs/interfaces/datecontrol.html +0 -157
  218. package/docs/interfaces/materialarraylayoutstate.html +0 -157
  219. package/docs/interfaces/statepropsofdatecontrol.html +0 -468
  220. package/example/CustomAutocomplete.tsx +0 -54
  221. package/lib/additional/ListWithDetailMasterItem.js +0 -19
  222. package/lib/additional/ListWithDetailMasterItem.js.map +0 -1
  223. package/lib/additional/MaterialLabelRenderer.js +0 -47
  224. package/lib/additional/MaterialLabelRenderer.js.map +0 -1
  225. package/lib/additional/MaterialListWithDetailRenderer.js +0 -64
  226. package/lib/additional/MaterialListWithDetailRenderer.js.map +0 -1
  227. package/lib/additional/index.js +0 -34
  228. package/lib/additional/index.js.map +0 -1
  229. package/lib/bundle.js +0 -191792
  230. package/lib/bundle.js.map +0 -1
  231. package/lib/cells/CustomizableCells.js +0 -45
  232. package/lib/cells/CustomizableCells.js.map +0 -1
  233. package/lib/cells/MaterialBooleanCell.js +0 -37
  234. package/lib/cells/MaterialBooleanCell.js.map +0 -1
  235. package/lib/cells/MaterialBooleanToggleCell.js +0 -38
  236. package/lib/cells/MaterialBooleanToggleCell.js.map +0 -1
  237. package/lib/cells/MaterialDateCell.js +0 -40
  238. package/lib/cells/MaterialDateCell.js.map +0 -1
  239. package/lib/cells/MaterialEnumCell.js +0 -39
  240. package/lib/cells/MaterialEnumCell.js.map +0 -1
  241. package/lib/cells/MaterialIntegerCell.js +0 -35
  242. package/lib/cells/MaterialIntegerCell.js.map +0 -1
  243. package/lib/cells/MaterialNumberCell.js.map +0 -1
  244. package/lib/cells/MaterialNumberFormatCell.js +0 -39
  245. package/lib/cells/MaterialNumberFormatCell.js.map +0 -1
  246. package/lib/cells/MaterialOneOfEnumCell.js +0 -39
  247. package/lib/cells/MaterialOneOfEnumCell.js.map +0 -1
  248. package/lib/cells/MaterialTextCell.js +0 -39
  249. package/lib/cells/MaterialTextCell.js.map +0 -1
  250. package/lib/cells/MaterialTimeCell.js +0 -35
  251. package/lib/cells/MaterialTimeCell.js.map +0 -1
  252. package/lib/cells/index.js +0 -60
  253. package/lib/cells/index.js.map +0 -1
  254. package/lib/complex/CombinatorProperties.js +0 -57
  255. package/lib/complex/CombinatorProperties.js.map +0 -1
  256. package/lib/complex/DeleteDialog.js +0 -41
  257. package/lib/complex/DeleteDialog.js.map +0 -1
  258. package/lib/complex/MaterialAllOfRenderer.js +0 -45
  259. package/lib/complex/MaterialAllOfRenderer.js.map +0 -1
  260. package/lib/complex/MaterialAnyOfRenderer.js +0 -49
  261. package/lib/complex/MaterialAnyOfRenderer.js.map +0 -1
  262. package/lib/complex/MaterialArrayControlRenderer.js +0 -55
  263. package/lib/complex/MaterialArrayControlRenderer.js.map +0 -1
  264. package/lib/complex/MaterialEnumArrayRenderer.js +0 -45
  265. package/lib/complex/MaterialEnumArrayRenderer.js.map +0 -1
  266. package/lib/complex/MaterialObjectRenderer.js +0 -49
  267. package/lib/complex/MaterialObjectRenderer.js.map +0 -1
  268. package/lib/complex/MaterialOneOfRenderer.js +0 -77
  269. package/lib/complex/MaterialOneOfRenderer.js.map +0 -1
  270. package/lib/complex/MaterialTableControl.js +0 -190
  271. package/lib/complex/MaterialTableControl.js.map +0 -1
  272. package/lib/complex/NoBorderTableCell.js +0 -41
  273. package/lib/complex/NoBorderTableCell.js.map +0 -1
  274. package/lib/complex/TableToolbar.js +0 -58
  275. package/lib/complex/TableToolbar.js.map +0 -1
  276. package/lib/complex/ValidationIcon.js +0 -48
  277. package/lib/complex/ValidationIcon.js.map +0 -1
  278. package/lib/complex/index.js +0 -47
  279. package/lib/complex/index.js.map +0 -1
  280. package/lib/controls/MaterialAnyOfStringOrEnumControl.js +0 -80
  281. package/lib/controls/MaterialAnyOfStringOrEnumControl.js.map +0 -1
  282. package/lib/controls/MaterialBooleanControl.js +0 -41
  283. package/lib/controls/MaterialBooleanControl.js.map +0 -1
  284. package/lib/controls/MaterialBooleanToggleControl.js +0 -41
  285. package/lib/controls/MaterialBooleanToggleControl.js.map +0 -1
  286. package/lib/controls/MaterialDateControl.js +0 -83
  287. package/lib/controls/MaterialDateControl.js.map +0 -1
  288. package/lib/controls/MaterialDateTimeControl.js +0 -64
  289. package/lib/controls/MaterialDateTimeControl.js.map +0 -1
  290. package/lib/controls/MaterialEnumControl.js +0 -36
  291. package/lib/controls/MaterialEnumControl.js.map +0 -1
  292. package/lib/controls/MaterialInputControl.js +0 -61
  293. package/lib/controls/MaterialInputControl.js.map +0 -1
  294. package/lib/controls/MaterialIntegerControl.js +0 -36
  295. package/lib/controls/MaterialIntegerControl.js.map +0 -1
  296. package/lib/controls/MaterialNativeControl.js +0 -54
  297. package/lib/controls/MaterialNativeControl.js.map +0 -1
  298. package/lib/controls/MaterialNumberControl.js +0 -36
  299. package/lib/controls/MaterialNumberControl.js.map +0 -1
  300. package/lib/controls/MaterialOneOfEnumControl.js +0 -36
  301. package/lib/controls/MaterialOneOfEnumControl.js.map +0 -1
  302. package/lib/controls/MaterialOneOfRadioGroupControl.js +0 -37
  303. package/lib/controls/MaterialOneOfRadioGroupControl.js.map +0 -1
  304. package/lib/controls/MaterialRadioGroup.js +0 -55
  305. package/lib/controls/MaterialRadioGroup.js.map +0 -1
  306. package/lib/controls/MaterialRadioGroupControl.js +0 -37
  307. package/lib/controls/MaterialRadioGroupControl.js.map +0 -1
  308. package/lib/controls/MaterialSliderControl.js +0 -74
  309. package/lib/controls/MaterialSliderControl.js.map +0 -1
  310. package/lib/controls/MaterialTextControl.js +0 -36
  311. package/lib/controls/MaterialTextControl.js.map +0 -1
  312. package/lib/controls/index.js +0 -87
  313. package/lib/controls/index.js.map +0 -1
  314. package/lib/example/src/App.d.ts +0 -8
  315. package/lib/example/src/Rating.d.ts +0 -18
  316. package/lib/example/src/RatingControl.d.ts +0 -16
  317. package/lib/example/src/index.d.ts +0 -11
  318. package/lib/example/src/reduxUtil.d.ts +0 -38
  319. package/lib/example/src/util.d.ts +0 -20
  320. package/lib/examples/src/1169.d.ts +0 -24
  321. package/lib/examples/src/1220.d.ts +0 -3
  322. package/lib/examples/src/1253.d.ts +0 -16
  323. package/lib/examples/src/1254.d.ts +0 -21
  324. package/lib/examples/src/allOf.d.ts +0 -56
  325. package/lib/examples/src/anyOf-oneOf-allOf-resolve.d.ts +0 -44
  326. package/lib/examples/src/anyOf.d.ts +0 -64
  327. package/lib/examples/src/arrays-with-custom-element-label.d.ts +0 -43
  328. package/lib/examples/src/arrays-with-detail-and-rule.d.ts +0 -91
  329. package/lib/examples/src/arrays-with-detail.d.ts +0 -65
  330. package/lib/examples/src/arrays.d.ts +0 -38
  331. package/lib/examples/src/booleanToggle.d.ts +0 -62
  332. package/lib/examples/src/categorization.d.ts +0 -135
  333. package/lib/examples/src/config.d.ts +0 -29
  334. package/lib/examples/src/control-options.d.ts +0 -190
  335. package/lib/examples/src/dates.d.ts +0 -1
  336. package/lib/examples/src/day1.d.ts +0 -23
  337. package/lib/examples/src/day2.d.ts +0 -42
  338. package/lib/examples/src/day3.d.ts +0 -51
  339. package/lib/examples/src/day4.d.ts +0 -72
  340. package/lib/examples/src/day5.d.ts +0 -133
  341. package/lib/examples/src/day6.d.ts +0 -85
  342. package/lib/examples/src/default.d.ts +0 -64
  343. package/lib/examples/src/dynamic.d.ts +0 -1
  344. package/lib/examples/src/enum.d.ts +0 -49
  345. package/lib/examples/src/enumInArray.d.ts +0 -27
  346. package/lib/examples/src/example.d.ts +0 -15
  347. package/lib/examples/src/generate.d.ts +0 -12
  348. package/lib/examples/src/generateUI.d.ts +0 -33
  349. package/lib/examples/src/huge.d.ts +0 -1
  350. package/lib/examples/src/i18n.d.ts +0 -25
  351. package/lib/examples/src/if_then_else.d.ts +0 -25
  352. package/lib/examples/src/index.d.ts +0 -56
  353. package/lib/examples/src/layout.d.ts +0 -97
  354. package/lib/examples/src/list-with-detail-registered.d.ts +0 -1
  355. package/lib/examples/src/list-with-detail.d.ts +0 -1
  356. package/lib/examples/src/multi-enum.d.ts +0 -34
  357. package/lib/examples/src/nestedArrays.d.ts +0 -4
  358. package/lib/examples/src/numbers.d.ts +0 -46
  359. package/lib/examples/src/object.d.ts +0 -56
  360. package/lib/examples/src/onChange.d.ts +0 -18
  361. package/lib/examples/src/oneOf-recursive.d.ts +0 -48
  362. package/lib/examples/src/oneOf.d.ts +0 -53
  363. package/lib/examples/src/oneOfArray.d.ts +0 -53
  364. package/lib/examples/src/person.d.ts +0 -99
  365. package/lib/examples/src/radioGroup.d.ts +0 -1
  366. package/lib/examples/src/readonly.d.ts +0 -36
  367. package/lib/examples/src/register.d.ts +0 -3
  368. package/lib/examples/src/resolve.d.ts +0 -45
  369. package/lib/examples/src/rule.d.ts +0 -59
  370. package/lib/examples/src/ruleInheritance.d.ts +0 -26
  371. package/lib/examples/src/scope.d.ts +0 -50
  372. package/lib/examples/src/stepper.d.ts +0 -138
  373. package/lib/examples/src/steppershownav.d.ts +0 -139
  374. package/lib/examples/src/stringArray.d.ts +0 -22
  375. package/lib/examples/src/text.d.ts +0 -37
  376. package/lib/extended/MaterialAutocompleteEnumControl.d.ts +0 -7
  377. package/lib/extended/MaterialAutocompleteEnumControl.js +0 -42
  378. package/lib/extended/MaterialAutocompleteEnumControl.js.map +0 -1
  379. package/lib/extended/MaterialAutocompleteOneOfEnumControl.d.ts +0 -7
  380. package/lib/extended/MaterialAutocompleteOneOfEnumControl.js +0 -42
  381. package/lib/extended/MaterialAutocompleteOneOfEnumControl.js.map +0 -1
  382. package/lib/extended/MuiAutocomplete.d.ts +0 -10
  383. package/lib/extended/MuiAutocomplete.js +0 -45
  384. package/lib/extended/MuiAutocomplete.js.map +0 -1
  385. package/lib/extended/index.d.ts +0 -10
  386. package/lib/extended/index.js +0 -48
  387. package/lib/extended/index.js.map +0 -1
  388. package/lib/index.js +0 -88
  389. package/lib/index.js.map +0 -1
  390. package/lib/jsonforms-material.js +0 -358
  391. package/lib/jsonforms-material.js.map +0 -1
  392. package/lib/layouts/ArrayToolbar.js +0 -27
  393. package/lib/layouts/ArrayToolbar.js.map +0 -1
  394. package/lib/layouts/ExpandPanelRenderer.js +0 -109
  395. package/lib/layouts/ExpandPanelRenderer.js.map +0 -1
  396. package/lib/layouts/MaterialArrayLayout.js +0 -66
  397. package/lib/layouts/MaterialArrayLayout.js.map +0 -1
  398. package/lib/layouts/MaterialArrayLayoutRenderer.js +0 -43
  399. package/lib/layouts/MaterialArrayLayoutRenderer.js.map +0 -1
  400. package/lib/layouts/MaterialCategorizationLayout.js +0 -88
  401. package/lib/layouts/MaterialCategorizationLayout.js.map +0 -1
  402. package/lib/layouts/MaterialCategorizationStepperLayout.js +0 -89
  403. package/lib/layouts/MaterialCategorizationStepperLayout.js.map +0 -1
  404. package/lib/layouts/MaterialGroupLayout.js +0 -52
  405. package/lib/layouts/MaterialGroupLayout.js.map +0 -1
  406. package/lib/layouts/MaterialHorizontalLayout.js +0 -51
  407. package/lib/layouts/MaterialHorizontalLayout.js.map +0 -1
  408. package/lib/layouts/MaterialVerticalLayout.js +0 -51
  409. package/lib/layouts/MaterialVerticalLayout.js.map +0 -1
  410. package/lib/layouts/index.js +0 -43
  411. package/lib/layouts/index.js.map +0 -1
  412. package/lib/logo.svg +0 -7
  413. package/lib/material/example/CustomAutocomplete.d.ts +0 -3
  414. package/lib/material/example/index.d.ts +0 -1
  415. package/lib/material/src/additional/ListWithDetailMasterItem.d.ts +0 -3
  416. package/lib/material/src/additional/MaterialLabelRenderer.d.ts +0 -13
  417. package/lib/material/src/additional/MaterialListWithDetailRenderer.d.ts +0 -6
  418. package/lib/material/src/additional/index.d.ts +0 -4
  419. package/lib/material/src/cells/CustomizableCells.d.ts +0 -9
  420. package/lib/material/src/cells/MaterialBooleanCell.d.ts +0 -6
  421. package/lib/material/src/cells/MaterialBooleanToggleCell.d.ts +0 -6
  422. package/lib/material/src/cells/MaterialDateCell.d.ts +0 -6
  423. package/lib/material/src/cells/MaterialEnumCell.d.ts +0 -10
  424. package/lib/material/src/cells/MaterialIntegerCell.d.ts +0 -6
  425. package/lib/material/src/cells/MaterialNumberCell.d.ts +0 -10
  426. package/lib/material/src/cells/MaterialNumberFormatCell.d.ts +0 -10
  427. package/lib/material/src/cells/MaterialOneOfEnumCell.d.ts +0 -10
  428. package/lib/material/src/cells/MaterialTextCell.d.ts +0 -10
  429. package/lib/material/src/cells/MaterialTimeCell.d.ts +0 -6
  430. package/lib/material/src/cells/index.d.ts +0 -13
  431. package/lib/material/src/complex/CombinatorProperties.d.ts +0 -12
  432. package/lib/material/src/complex/DeleteDialog.d.ts +0 -11
  433. package/lib/material/src/complex/MaterialAllOfRenderer.d.ts +0 -5
  434. package/lib/material/src/complex/MaterialAnyOfRenderer.d.ts +0 -5
  435. package/lib/material/src/complex/MaterialArrayControlRenderer.d.ts +0 -5
  436. package/lib/material/src/complex/MaterialEnumArrayRenderer.d.ts +0 -6
  437. package/lib/material/src/complex/MaterialObjectRenderer.d.ts +0 -5
  438. package/lib/material/src/complex/MaterialOneOfRenderer.d.ts +0 -8
  439. package/lib/material/src/complex/MaterialTableControl.d.ts +0 -10
  440. package/lib/material/src/complex/NoBorderTableCell.d.ts +0 -3
  441. package/lib/material/src/complex/TableToolbar.d.ts +0 -15
  442. package/lib/material/src/complex/ValidationIcon.d.ts +0 -11
  443. package/lib/material/src/complex/index.d.ts +0 -19
  444. package/lib/material/src/controls/MaterialAnyOfStringOrEnumControl.d.ts +0 -9
  445. package/lib/material/src/controls/MaterialBooleanControl.d.ts +0 -6
  446. package/lib/material/src/controls/MaterialBooleanToggleControl.d.ts +0 -6
  447. package/lib/material/src/controls/MaterialDateControl.d.ts +0 -18
  448. package/lib/material/src/controls/MaterialDateTimeControl.d.ts +0 -9
  449. package/lib/material/src/controls/MaterialEnumControl.d.ts +0 -6
  450. package/lib/material/src/controls/MaterialInputControl.d.ts +0 -9
  451. package/lib/material/src/controls/MaterialIntegerControl.d.ts +0 -6
  452. package/lib/material/src/controls/MaterialNativeControl.d.ts +0 -9
  453. package/lib/material/src/controls/MaterialNumberControl.d.ts +0 -6
  454. package/lib/material/src/controls/MaterialOneOfEnumControl.d.ts +0 -6
  455. package/lib/material/src/controls/MaterialOneOfRadioGroupControl.d.ts +0 -6
  456. package/lib/material/src/controls/MaterialRadioGroup.d.ts +0 -6
  457. package/lib/material/src/controls/MaterialRadioGroupControl.d.ts +0 -6
  458. package/lib/material/src/controls/MaterialSliderControl.d.ts +0 -9
  459. package/lib/material/src/controls/MaterialTextControl.d.ts +0 -6
  460. package/lib/material/src/controls/index.d.ts +0 -33
  461. package/lib/material/src/extended/MaterialAutocompleteEnumControl.d.ts +0 -7
  462. package/lib/material/src/extended/MaterialAutocompleteOneOfEnumControl.d.ts +0 -7
  463. package/lib/material/src/extended/MuiAutocomplete.d.ts +0 -10
  464. package/lib/material/src/extended/index.d.ts +0 -10
  465. package/lib/material/src/index.d.ts +0 -9
  466. package/lib/material/src/layouts/ArrayToolbar.d.ts +0 -9
  467. package/lib/material/src/layouts/ExpandPanelRenderer.d.ts +0 -52
  468. package/lib/material/src/layouts/MaterialArrayLayout.d.ts +0 -13
  469. package/lib/material/src/layouts/MaterialArrayLayoutRenderer.d.ts +0 -6
  470. package/lib/material/src/layouts/MaterialCategorizationLayout.d.ts +0 -25
  471. package/lib/material/src/layouts/MaterialCategorizationStepperLayout.d.ts +0 -20
  472. package/lib/material/src/layouts/MaterialGroupLayout.d.ts +0 -7
  473. package/lib/material/src/layouts/MaterialHorizontalLayout.d.ts +0 -10
  474. package/lib/material/src/layouts/MaterialVerticalLayout.d.ts +0 -10
  475. package/lib/material/src/layouts/index.d.ts +0 -6
  476. package/lib/material/src/mui-controls/MuiCheckbox.d.ts +0 -3
  477. package/lib/material/src/mui-controls/MuiInputInteger.d.ts +0 -3
  478. package/lib/material/src/mui-controls/MuiInputNumber.d.ts +0 -3
  479. package/lib/material/src/mui-controls/MuiInputNumberFormat.d.ts +0 -3
  480. package/lib/material/src/mui-controls/MuiInputText.d.ts +0 -9
  481. package/lib/material/src/mui-controls/MuiInputTime.d.ts +0 -3
  482. package/lib/material/src/mui-controls/MuiSelect.d.ts +0 -3
  483. package/lib/material/src/mui-controls/MuiToggle.d.ts +0 -3
  484. package/lib/material/src/mui-controls/index.d.ts +0 -7
  485. package/lib/material/src/util/index.d.ts +0 -2
  486. package/lib/material/src/util/layout.d.ts +0 -13
  487. package/lib/material/src/util/theme.d.ts +0 -10
  488. package/lib/mui-controls/MuiCheckbox.js +0 -40
  489. package/lib/mui-controls/MuiCheckbox.js.map +0 -1
  490. package/lib/mui-controls/MuiInputInteger.js +0 -41
  491. package/lib/mui-controls/MuiInputInteger.js.map +0 -1
  492. package/lib/mui-controls/MuiInputNumber.js +0 -41
  493. package/lib/mui-controls/MuiInputNumber.js.map +0 -1
  494. package/lib/mui-controls/MuiInputNumberFormat.js +0 -50
  495. package/lib/mui-controls/MuiInputNumberFormat.js.map +0 -1
  496. package/lib/mui-controls/MuiInputText.js +0 -64
  497. package/lib/mui-controls/MuiInputText.js.map +0 -1
  498. package/lib/mui-controls/MuiInputTime.js +0 -37
  499. package/lib/mui-controls/MuiInputTime.js.map +0 -1
  500. package/lib/mui-controls/MuiSelect.js +0 -38
  501. package/lib/mui-controls/MuiSelect.js.map +0 -1
  502. package/lib/mui-controls/MuiToggle.js +0 -39
  503. package/lib/mui-controls/MuiToggle.js.map +0 -1
  504. package/lib/mui-controls/index.js +0 -35
  505. package/lib/mui-controls/index.js.map +0 -1
  506. package/lib/util/index.js.map +0 -1
  507. package/lib/util/layout.js +0 -54
  508. package/lib/util/layout.js.map +0 -1
  509. package/lib/util/theme.js +0 -3
  510. package/lib/util/theme.js.map +0 -1
  511. package/src/extended/MaterialAutocompleteEnumControl.tsx +0 -55
  512. package/src/extended/MaterialAutocompleteOneOfEnumControl.tsx +0 -55
  513. package/src/extended/index.ts +0 -56
  514. package/webpack/webpack.build.js +0 -21
@@ -26,7 +26,7 @@ import './MatchMediaMock';
26
26
  import React from 'react';
27
27
 
28
28
  import Enzyme, { mount, ReactWrapper } from 'enzyme';
29
- import Adapter from 'enzyme-adapter-react-16';
29
+ import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
30
30
  import { ControlElement } from '@jsonforms/core';
31
31
  import { MaterialAllOfRenderer, materialRenderers } from '../../src';
32
32
  import { JsonForms, JsonFormsStateProvider } from '@jsonforms/react';
@@ -26,7 +26,7 @@ import './MatchMediaMock';
26
26
  import React from 'react';
27
27
 
28
28
  import Enzyme, { mount, ReactWrapper } from 'enzyme';
29
- import Adapter from 'enzyme-adapter-react-16';
29
+ import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
30
30
  import {
31
31
  ControlElement
32
32
  } from '@jsonforms/core';
@@ -62,7 +62,7 @@ describe('Material anyOf renderer', () => {
62
62
 
63
63
  afterEach(() => wrapper.unmount());
64
64
 
65
- it('should add an item at correct path', () => {
65
+ it('should add an item at correct path', (done) => {
66
66
  const schema = {
67
67
  type: 'object',
68
68
  properties: {
@@ -103,9 +103,12 @@ describe('Material anyOf renderer', () => {
103
103
  const input = wrapper.find('input').first();
104
104
  input.simulate('change', { target: { value: 'test' } });
105
105
  wrapper.update();
106
- expect(onChangeData.data).toEqual({
107
- value: 'test'
108
- });
106
+ setTimeout(() => {
107
+ expect(onChangeData.data).toEqual({
108
+ value: 'test'
109
+ });
110
+ done();
111
+ }, 1000);
109
112
  });
110
113
 
111
114
  it('should add a "mything"', async () => {
@@ -179,7 +182,7 @@ describe('Material anyOf renderer', () => {
179
182
  expect(nrOfRowsAfterAdd.length).toBe(4);
180
183
  });
181
184
 
182
- it('should switch to "yourThing" edit, then switch back, then edit', async () => {
185
+ it('should switch to "yourThing" edit, then switch back, then edit', async (done) => {
183
186
  const schema = {
184
187
  type: 'object',
185
188
  properties: {
@@ -260,9 +263,12 @@ describe('Material anyOf renderer', () => {
260
263
  input.simulate('change', { target: { value: 'test' } });
261
264
  wrapper.update();
262
265
 
263
- expect(onChangeData.data).toEqual({
264
- myThingsAndOrYourThings: [{ age: 5, name: 'test' }]
265
- });
266
+ setTimeout(() => {
267
+ expect(onChangeData.data).toEqual({
268
+ myThingsAndOrYourThings: [{ age: 5, name: 'test' }]
269
+ });
270
+ done();
271
+ }, 1000);
266
272
  });
267
273
 
268
274
  it('should be hideable', () => {
@@ -26,7 +26,7 @@ import './MatchMediaMock';
26
26
  import React from 'react';
27
27
 
28
28
  import Enzyme, { mount, ReactWrapper } from 'enzyme';
29
- import Adapter from 'enzyme-adapter-react-16';
29
+ import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
30
30
  import {
31
31
  ControlElement,
32
32
  JsonSchema
@@ -33,7 +33,7 @@ import * as React from 'react';
33
33
  import MaterialArrayControlRenderer from '../../src/complex/MaterialArrayControlRenderer';
34
34
  import { materialCells, materialRenderers } from '../../src';
35
35
  import Enzyme, { mount, ReactWrapper } from 'enzyme';
36
- import Adapter from 'enzyme-adapter-react-16';
36
+ import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
37
37
  import { JsonFormsStateProvider, StatelessRenderer } from '@jsonforms/react';
38
38
  import { initCore, TestEmitter } from './util';
39
39
 
@@ -34,9 +34,9 @@ import {
34
34
  materialArrayLayoutTester
35
35
  } from '../../src/layouts';
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 { JsonForms, JsonFormsStateProvider } from '@jsonforms/react';
39
- import { ExpansionPanel } from '@material-ui/core';
39
+ import { Accordion } from '@mui/material';
40
40
  import { initCore } from './util';
41
41
 
42
42
  Enzyme.configure({ adapter: new Adapter() });
@@ -292,7 +292,7 @@ describe('Material array layout', () => {
292
292
  // up button
293
293
  expect(
294
294
  wrapper
295
- .find('ExpandPanelRenderer')
295
+ .find('Memo(ExpandPanelRendererComponent)')
296
296
  .at(0)
297
297
  .find('button')
298
298
  .find({ 'aria-label': 'Move up' }).length
@@ -300,7 +300,7 @@ describe('Material array layout', () => {
300
300
  // down button
301
301
  expect(
302
302
  wrapper
303
- .find('ExpandPanelRenderer')
303
+ .find('Memo(ExpandPanelRendererComponent)')
304
304
  .at(0)
305
305
  .find('button')
306
306
  .find({ 'aria-label': 'Move down' }).length
@@ -326,7 +326,7 @@ describe('Material array layout', () => {
326
326
 
327
327
  // getting up button of second item in expension panel;
328
328
  const upButton = wrapper
329
- .find('ExpandPanelRenderer')
329
+ .find('Memo(ExpandPanelRendererComponent)')
330
330
  .at(1)
331
331
  .find('button')
332
332
  .find({ 'aria-label': 'Move up' });
@@ -363,7 +363,7 @@ describe('Material array layout', () => {
363
363
 
364
364
  // getting up button of second item in expension panel;
365
365
  const upButton = wrapper
366
- .find('ExpandPanelRenderer')
366
+ .find('Memo(ExpandPanelRendererComponent)')
367
367
  .at(0)
368
368
  .find('button')
369
369
  .find({ 'aria-label': 'Move down' });
@@ -394,7 +394,7 @@ describe('Material array layout', () => {
394
394
 
395
395
  // getting up button of second item in expension panel;
396
396
  const upButton = wrapper
397
- .find('ExpandPanelRenderer')
397
+ .find('Memo(ExpandPanelRendererComponent)')
398
398
  .at(0)
399
399
  .find('button')
400
400
  .find({ 'aria-label': 'Move up' });
@@ -414,7 +414,7 @@ describe('Material array layout', () => {
414
414
 
415
415
  // getting up button of second item in expension panel;
416
416
  const downButton = wrapper
417
- .find('ExpandPanelRenderer')
417
+ .find('Memo(ExpandPanelRendererComponent)')
418
418
  .at(1)
419
419
  .find('button')
420
420
  .find({ 'aria-label': 'Move down' });
@@ -426,7 +426,7 @@ describe('Material array layout', () => {
426
426
  .find(
427
427
  `#${
428
428
  wrapper
429
- .find(ExpansionPanel)
429
+ .find(Accordion)
430
430
  .at(index)
431
431
  .props()['aria-labelledby']
432
432
  }`
@@ -35,7 +35,7 @@ import * as ReactDOM from 'react-dom';
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
 
@@ -36,9 +36,10 @@ import * as ReactDOM from 'react-dom';
36
36
  import { materialRenderers } from '../../src';
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 { JsonFormsStateProvider } from '@jsonforms/react';
41
41
  import { initCore, TestEmitter } from './util';
42
+ import { Switch } from '@mui/material';
42
43
 
43
44
  Enzyme.configure({ adapter: new Adapter() });
44
45
 
@@ -236,7 +237,7 @@ describe('Material boolean toggle cell', () => {
236
237
  );
237
238
 
238
239
  // Make sure a toggle is rendered by checking for the thumb element
239
- expect(wrapper.find('.MuiSwitch-thumb')).toHaveLength(1);
240
+ expect(wrapper.find(Switch)).toHaveLength(1);
240
241
 
241
242
  const input = wrapper.find('input').first();
242
243
  expect(input.props().type).toBe('checkbox');
@@ -36,9 +36,10 @@ import * as ReactDOM from 'react-dom';
36
36
  import { materialRenderers } from '../../src';
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 { JsonFormsStateProvider } from '@jsonforms/react';
41
41
  import { initCore, TestEmitter } from './util';
42
+ import { Switch } from '@mui/material';
42
43
 
43
44
  Enzyme.configure({ adapter: new Adapter() });
44
45
 
@@ -241,7 +242,7 @@ describe('Material boolean toggle control', () => {
241
242
  );
242
243
 
243
244
  // Make sure a toggle is rendered by checking for the thumb element
244
- expect(wrapper.find('.MuiSwitch-thumb')).toHaveLength(1);
245
+ expect(wrapper.find(Switch)).toHaveLength(1);
245
246
 
246
247
  const input = wrapper.find('input').first();
247
248
  expect(input.props().type).toBe('checkbox');
@@ -39,8 +39,8 @@ import MaterialCategorizationLayoutRenderer, {
39
39
  materialCategorizationTester
40
40
  } from '../../src/layouts/MaterialCategorizationLayout';
41
41
  import { MaterialLayoutRenderer, materialRenderers } from '../../src';
42
- import { Tab, Tabs } from '@material-ui/core';
43
- import Adapter from 'enzyme-adapter-react-16';
42
+ import { Tab, Tabs } from '@mui/material';
43
+ import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
44
44
  import { initCore } from './util';
45
45
 
46
46
  Enzyme.configure({ adapter: new Adapter() });
@@ -270,7 +270,7 @@ describe('Material categorization layout', () => {
270
270
 
271
271
  const beforeClick = wrapper.find(Tabs).props().value;
272
272
  wrapper
273
- .find(Tab)
273
+ .find('button[role="tab"]')
274
274
  .at(1)
275
275
  .simulate('click');
276
276
  const afterClick = wrapper.find(Tabs).props().value;
@@ -372,4 +372,77 @@ describe('Material categorization layout', () => {
372
372
  const materialArrayLayout = wrapper.find(MaterialLayoutRenderer);
373
373
  expect(materialArrayLayout.props().renderers).toHaveLength(0);
374
374
  });
375
+
376
+ it('display correct content when hiding a tab', () => {
377
+ const data = { name : 'fo' };
378
+ const condition: SchemaBasedCondition = {
379
+ scope: '#/properties/name',
380
+ schema: { maxLength: 3 }
381
+ };
382
+ const nameControl: ControlElement = {
383
+ type: 'Control',
384
+ scope: '#/properties/name'
385
+ };
386
+ const uischema: Categorization = {
387
+ type: 'Categorization',
388
+ label: '',
389
+ options: {
390
+ showNavButtons: true
391
+ },
392
+ elements: [
393
+ {
394
+ type: 'Category',
395
+ label: 'A',
396
+ elements: undefined
397
+ },
398
+ {
399
+ type: 'Category',
400
+ label: 'B',
401
+ elements: undefined,
402
+ rule: {
403
+ effect: RuleEffect.SHOW,
404
+ condition: condition
405
+ }
406
+ },
407
+ {
408
+ type: 'Category',
409
+ label: 'C',
410
+ elements: [nameControl],
411
+ rule: {
412
+ effect: RuleEffect.HIDE,
413
+ condition: condition
414
+ }
415
+ }
416
+ ]
417
+ };
418
+
419
+ const core = initCore(fixture.schema, uischema, data);
420
+
421
+ const wrapper = mount(
422
+ <JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
423
+ <MaterialCategorizationLayoutRenderer
424
+ {...layoutDefaultProps}
425
+ schema={fixture.schema}
426
+ uischema={uischema}
427
+ />
428
+ </JsonFormsStateProvider>
429
+ );
430
+
431
+ wrapper
432
+ .find('button[role="tab"]')
433
+ .at(1)
434
+ .simulate('click');
435
+
436
+ let isCategoryCshown = wrapper.find('input[type="text"]').length > 0;
437
+ expect(isCategoryCshown).toBe(false);
438
+
439
+ core.data = { ...core.data, name: 'Barr' };
440
+ wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
441
+ wrapper.update();
442
+
443
+ isCategoryCshown = wrapper.find('input[type="text"]').length > 0;
444
+ expect(isCategoryCshown).toBe(true);
445
+
446
+ wrapper.unmount();
447
+ });
375
448
  });
@@ -39,8 +39,8 @@ import MaterialCategorizationStepperLayoutRenderer, {
39
39
  materialCategorizationStepperTester
40
40
  } from '../../src/layouts/MaterialCategorizationStepperLayout';
41
41
  import { MaterialLayoutRenderer, materialRenderers } from '../../src';
42
- import { Button, Step, StepButton, Stepper } from '@material-ui/core';
43
- import Adapter from 'enzyme-adapter-react-16';
42
+ import { Button, Step, Stepper } from '@mui/material';
43
+ import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
44
44
  import { initCore } from './util';
45
45
 
46
46
  Enzyme.configure({ adapter: new Adapter() });
@@ -281,7 +281,7 @@ describe('Material categorization stepper layout', () => {
281
281
  );
282
282
  const beforeClick = wrapper.find(Stepper).props().activeStep;
283
283
  wrapper
284
- .find(StepButton)
284
+ .find('button')
285
285
  .at(1)
286
286
  .simulate('click');
287
287
  const afterClick = wrapper.find(Stepper).props().activeStep;
@@ -422,7 +422,7 @@ describe('Material categorization stepper layout', () => {
422
422
  const isPrevButtonEnabledBeforeClick = !wrapper.find(Button).at(1).props().disabled;
423
423
  const isNextButtonEnabledBeforeClick = !wrapper.find(Button).at(0).props().disabled;
424
424
  wrapper
425
- .find(StepButton)
425
+ .find('button')
426
426
  .at(1)
427
427
  .simulate('click');
428
428
  const isPrevButtonEnabledAfterClick = !wrapper.find(Button).at(1).props().disabled;
@@ -489,8 +489,8 @@ describe('Material categorization stepper layout', () => {
489
489
  );
490
490
  const activeStepBeforeClick = wrapper.find(Stepper).props().activeStep;
491
491
  wrapper
492
- .find(Button)
493
- .at(0)
492
+ .find('button')
493
+ .at(4)
494
494
  .simulate('click');
495
495
  const activeStepAfterClick = wrapper.find(Stepper).props().activeStep;
496
496
 
@@ -561,4 +561,77 @@ describe('Material categorization stepper layout', () => {
561
561
 
562
562
  wrapper.unmount();
563
563
  });
564
+
565
+ it('display correct content when hiding a step', () => {
566
+ const data = { name : 'fo' };
567
+ const condition: SchemaBasedCondition = {
568
+ scope: '#/properties/name',
569
+ schema: { maxLength: 3 }
570
+ };
571
+ const nameControl: ControlElement = {
572
+ type: 'Control',
573
+ scope: '#/properties/name'
574
+ };
575
+ const uischema: Categorization = {
576
+ type: 'Categorization',
577
+ label: '',
578
+ options: {
579
+ showNavButtons: true
580
+ },
581
+ elements: [
582
+ {
583
+ type: 'Category',
584
+ label: 'A',
585
+ elements: undefined
586
+ },
587
+ {
588
+ type: 'Category',
589
+ label: 'B',
590
+ elements: undefined,
591
+ rule: {
592
+ effect: RuleEffect.SHOW,
593
+ condition: condition
594
+ }
595
+ },
596
+ {
597
+ type: 'Category',
598
+ label: 'C',
599
+ elements: [nameControl],
600
+ rule: {
601
+ effect: RuleEffect.HIDE,
602
+ condition: condition
603
+ }
604
+ }
605
+ ]
606
+ };
607
+
608
+ const core = initCore(fixture.schema, uischema, data);
609
+
610
+ const wrapper = mount(
611
+ <JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
612
+ <MaterialCategorizationStepperLayoutRenderer
613
+ {...layoutDefaultProps}
614
+ schema={fixture.schema}
615
+ uischema={uischema}
616
+ />
617
+ </JsonFormsStateProvider>
618
+ );
619
+
620
+ wrapper
621
+ .find('button')
622
+ .at(1)
623
+ .simulate('click');
624
+
625
+ let isCategoryCshown = wrapper.find('input[type="text"]').length > 0;
626
+ expect(isCategoryCshown).toBe(false);
627
+
628
+ core.data = { ...core.data, name: 'Barr' };
629
+ wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
630
+ wrapper.update();
631
+
632
+ isCategoryCshown = wrapper.find('input[type="text"]').length > 0;
633
+ expect(isCategoryCshown).toBe(true);
634
+
635
+ wrapper.unmount();
636
+ });
564
637
  });
@@ -35,7 +35,7 @@ import MaterialDateCell, {
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 { initCore, TestEmitter } from './util';
40
40
 
41
41
  Enzyme.configure({ adapter: new Adapter() });
@@ -34,7 +34,7 @@ import * as React from 'react';
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
 
@@ -101,6 +101,19 @@ describe('Material date control tester', () => {
101
101
  }
102
102
  })
103
103
  ).toBe(4);
104
+ expect(
105
+ materialDateControlTester(
106
+ { ...uischema, options: { format: 'date' } },
107
+ {
108
+ type: 'object',
109
+ properties: {
110
+ foo: {
111
+ type: 'string'
112
+ }
113
+ }
114
+ }
115
+ )
116
+ ).toBe(4);
104
117
  });
105
118
  });
106
119
 
@@ -189,7 +202,8 @@ describe('Material date control', () => {
189
202
  </JsonFormsStateProvider>
190
203
  );
191
204
  const input = wrapper.find('input').first();
192
- input.simulate('change', { target: { value: '1961-04-12' } });
205
+ (input.getDOMNode() as HTMLInputElement).value = '1961-04-12';
206
+ input.simulate('change', input);
193
207
  expect(onChangeData.data.foo).toBe('1961-04-12');
194
208
  });
195
209
 
@@ -333,4 +347,34 @@ describe('Material date control', () => {
333
347
  const inputs = wrapper.find('input');
334
348
  expect(inputs.length).toBe(0);
335
349
  });
350
+
351
+ it('should support format customizations', () => {
352
+ const core = initCore(schema, uischema, {foo: '06---1980'});
353
+ const onChangeData: any = {
354
+ data: undefined
355
+ };
356
+ wrapper = mount(
357
+ <JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
358
+ <TestEmitter
359
+ onChange={({ data }) => {
360
+ onChangeData.data = data;
361
+ }}
362
+ />
363
+ <MaterialDateControl
364
+ schema={schema}
365
+ uischema={{...uischema, options: {
366
+ dateFormat: 'YYYY/MM',
367
+ dateSaveFormat: 'MM---YYYY'
368
+ }}}
369
+ />
370
+ </JsonFormsStateProvider>
371
+ );
372
+
373
+ const input = wrapper.find('input').first();
374
+ expect(input.props().value).toBe('1980/06');
375
+
376
+ (input.getDOMNode() as HTMLInputElement).value = '1961/04';
377
+ input.simulate('change', input);
378
+ expect(onChangeData.data.foo).toBe('04---1961');
379
+ });
336
380
  });
@@ -31,17 +31,17 @@ import {
31
31
  import MaterialDateTimeControl, {
32
32
  materialDateTimeControlTester
33
33
  } from '../../src/controls/MaterialDateTimeControl';
34
- import moment from 'moment';
34
+ import dayjs from 'dayjs';
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
 
42
42
  Enzyme.configure({ adapter: new Adapter() });
43
43
 
44
- const data = { foo: moment('1980-04-04 13:37').format() };
44
+ const data = { foo: dayjs('1980-04-04 13:37').format() };
45
45
  const schema = {
46
46
  type: 'object',
47
47
  properties: {
@@ -102,6 +102,19 @@ describe('Material date time control tester', () => {
102
102
  }
103
103
  })
104
104
  ).toBe(2);
105
+ expect(
106
+ materialDateTimeControlTester(
107
+ { ...uischema, options: { format: 'date-time' } },
108
+ {
109
+ type: 'object',
110
+ properties: {
111
+ foo: {
112
+ type: 'string'
113
+ }
114
+ }
115
+ }
116
+ )
117
+ ).toBe(2);
105
118
  });
106
119
  });
107
120
 
@@ -173,7 +186,7 @@ describe('Material date time control', () => {
173
186
 
174
187
  const input = wrapper.find('input').first();
175
188
  expect(input.props().type).toBe('text');
176
- expect(input.props().value).toBe('04/04/1980 1:37 pm');
189
+ expect(input.props().value).toBe('1980-04-04 13:37');
177
190
  });
178
191
 
179
192
  it('should update via event', () => {
@@ -192,9 +205,10 @@ describe('Material date time control', () => {
192
205
  </JsonFormsStateProvider>
193
206
  );
194
207
  const input = wrapper.find('input').first();
195
- input.simulate('change', { target: { value: '04/12/1961 8:15 pm' } });
208
+ (input.getDOMNode() as HTMLInputElement).value ='1961-12-94 20:15';
209
+ input.simulate('change', input);
196
210
  expect(onChangeData.data.foo).toBe(
197
- moment('1961-04-12 20:15').format()
211
+ dayjs('1961-12-94 20:15').format()
198
212
  );
199
213
  });
200
214
 
@@ -205,11 +219,11 @@ describe('Material date time control', () => {
205
219
  <MaterialDateTimeControl schema={schema} uischema={uischema} />
206
220
  </JsonFormsStateProvider>
207
221
  );
208
- core.data = { ...core.data, foo: moment('1961-04-12 20:15').format() };
222
+ core.data = { ...core.data, foo: dayjs('1961-12-04 20:15').format() };
209
223
  wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
210
224
  wrapper.update();
211
225
  const input = wrapper.find('input').first();
212
- expect(input.props().value).toBe('04/12/1961 8:15 pm');
226
+ expect(input.props().value).toBe('1961-12-04 20:15');
213
227
  });
214
228
 
215
229
  it('should update with null value', () => {
@@ -251,7 +265,7 @@ describe('Material date time control', () => {
251
265
  wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
252
266
  wrapper.update();
253
267
  const input = wrapper.find('input').first();
254
- expect(input.props().value).toBe('04/04/1980 1:37 pm');
268
+ expect(input.props().value).toBe('1980-04-04 13:37');
255
269
  });
256
270
 
257
271
  it('should not update with null ref', () => {
@@ -265,7 +279,7 @@ describe('Material date time control', () => {
265
279
  wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
266
280
  wrapper.update();
267
281
  const input = wrapper.find('input').first();
268
- expect(input.props().value).toBe('04/04/1980 1:37 pm');
282
+ expect(input.props().value).toBe('1980-04-04 13:37');
269
283
  });
270
284
 
271
285
  it('should not update with undefined ref', () => {
@@ -279,7 +293,7 @@ describe('Material date time control', () => {
279
293
  wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
280
294
  wrapper.update();
281
295
  const input = wrapper.find('input').first();
282
- expect(input.props().value).toBe('04/04/1980 1:37 pm');
296
+ expect(input.props().value).toBe('1980-04-04 13:37');
283
297
  });
284
298
 
285
299
  it('can be disabled', () => {
@@ -320,7 +334,7 @@ describe('Material date time control', () => {
320
334
  </JsonFormsStateProvider>
321
335
  );
322
336
  const input = wrapper.find('input').first();
323
- // there is only input id at the moment
337
+ // there is only input id at the dayjs
324
338
  expect(input.props().id).toBe('#/properties/foo-input');
325
339
  });
326
340
 
@@ -338,4 +352,35 @@ describe('Material date time control', () => {
338
352
  const inputs = wrapper.find('input');
339
353
  expect(inputs.length).toBe(0);
340
354
  });
355
+
356
+ it('should support format customizations', () => {
357
+ const core = initCore(schema, uischema, {foo: dayjs('1980-04-23 13:37').format('YYYY/MM/DD h:mm a')});
358
+ const onChangeData: any = {
359
+ data: undefined
360
+ };
361
+ wrapper = mount(
362
+ <JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
363
+ <TestEmitter
364
+ onChange={({ data }) => {
365
+ onChangeData.data = data;
366
+ }}
367
+ />
368
+ <MaterialDateTimeControl
369
+ schema={schema}
370
+ uischema={{...uischema, options: {
371
+ dateTimeFormat: 'DD-MM-YY hh:mm:a',
372
+ dateTimeSaveFormat: 'YYYY/MM/DD h:mm a',
373
+ ampm: true
374
+ }}}
375
+ />
376
+ </JsonFormsStateProvider>
377
+ );
378
+
379
+ const input = wrapper.find('input').first();
380
+ expect(input.props().value).toBe('23-04-80 01:37:pm');
381
+
382
+ (input.getDOMNode() as HTMLInputElement).value = '10-12-05 11:22:am';
383
+ input.simulate('change', input);
384
+ expect(onChangeData.data.foo).toBe('2005/12/10 11:22 am');
385
+ });
341
386
  });
@@ -2,7 +2,7 @@ import './MatchMediaMock';
2
2
  import { ControlElement, NOT_APPLICABLE } from '@jsonforms/core';
3
3
  import { JsonForms } from '@jsonforms/react';
4
4
  import Enzyme, { mount, ReactWrapper } from 'enzyme';
5
- import Adapter from 'enzyme-adapter-react-16';
5
+ import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
6
6
  import React from 'react';
7
7
  import {
8
8
  materialEnumArrayRendererTester,