@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
@@ -0,0 +1,1489 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var core = require('@jsonforms/core');
6
+ var React = require('react');
7
+ var react = require('@jsonforms/react');
8
+ var isEmpty = require('lodash/isEmpty');
9
+ var union = require('lodash/union');
10
+ var startCase = require('lodash/startCase');
11
+ var range = require('lodash/range');
12
+ var material = require('@mui/material');
13
+ var DeleteIcon = require('@mui/icons-material/Delete');
14
+ var ArrowDownward = require('@mui/icons-material/ArrowDownward');
15
+ var ArrowUpward = require('@mui/icons-material/ArrowUpward');
16
+ var styles$1 = require('@mui/material/styles');
17
+ var AddIcon = require('@mui/icons-material/Add');
18
+ var ErrorOutlineIcon = require('@mui/icons-material/ErrorOutline');
19
+ var merge = require('lodash/merge');
20
+ var omit = require('lodash/omit');
21
+ var dayjs = require('dayjs');
22
+ var customParsing = require('dayjs/plugin/customParseFormat');
23
+ var debounce = require('lodash/debounce');
24
+ var Close = require('@mui/icons-material/Close');
25
+ var map = require('lodash/map');
26
+ var lab = require('@mui/lab');
27
+ var AdapterDayjs = require('@mui/lab/AdapterDayjs');
28
+ var get = require('lodash/get');
29
+ var ExpandMoreIcon = require('@mui/icons-material/ExpandMore');
30
+ var Input = require('@mui/material/Input');
31
+
32
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
33
+
34
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
35
+ var isEmpty__default = /*#__PURE__*/_interopDefaultLegacy(isEmpty);
36
+ var union__default = /*#__PURE__*/_interopDefaultLegacy(union);
37
+ var startCase__default = /*#__PURE__*/_interopDefaultLegacy(startCase);
38
+ var range__default = /*#__PURE__*/_interopDefaultLegacy(range);
39
+ var DeleteIcon__default = /*#__PURE__*/_interopDefaultLegacy(DeleteIcon);
40
+ var ArrowDownward__default = /*#__PURE__*/_interopDefaultLegacy(ArrowDownward);
41
+ var ArrowUpward__default = /*#__PURE__*/_interopDefaultLegacy(ArrowUpward);
42
+ var AddIcon__default = /*#__PURE__*/_interopDefaultLegacy(AddIcon);
43
+ var ErrorOutlineIcon__default = /*#__PURE__*/_interopDefaultLegacy(ErrorOutlineIcon);
44
+ var merge__default = /*#__PURE__*/_interopDefaultLegacy(merge);
45
+ var omit__default = /*#__PURE__*/_interopDefaultLegacy(omit);
46
+ var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
47
+ var customParsing__default = /*#__PURE__*/_interopDefaultLegacy(customParsing);
48
+ var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
49
+ var Close__default = /*#__PURE__*/_interopDefaultLegacy(Close);
50
+ var map__default = /*#__PURE__*/_interopDefaultLegacy(map);
51
+ var AdapterDayjs__default = /*#__PURE__*/_interopDefaultLegacy(AdapterDayjs);
52
+ var get__default = /*#__PURE__*/_interopDefaultLegacy(get);
53
+ var ExpandMoreIcon__default = /*#__PURE__*/_interopDefaultLegacy(ExpandMoreIcon);
54
+ var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
55
+
56
+ /*! *****************************************************************************
57
+ Copyright (c) Microsoft Corporation.
58
+
59
+ Permission to use, copy, modify, and/or distribute this software for any
60
+ purpose with or without fee is hereby granted.
61
+
62
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
63
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
64
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
65
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
66
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
67
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
68
+ PERFORMANCE OF THIS SOFTWARE.
69
+ ***************************************************************************** */
70
+ /* global Reflect, Promise */
71
+
72
+ var extendStatics = function(d, b) {
73
+ extendStatics = Object.setPrototypeOf ||
74
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
75
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
76
+ return extendStatics(d, b);
77
+ };
78
+
79
+ function __extends(d, b) {
80
+ if (typeof b !== "function" && b !== null)
81
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
82
+ extendStatics(d, b);
83
+ function __() { this.constructor = d; }
84
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
85
+ }
86
+
87
+ var __assign = function() {
88
+ __assign = Object.assign || function __assign(t) {
89
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
90
+ s = arguments[i];
91
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
92
+ }
93
+ return t;
94
+ };
95
+ return __assign.apply(this, arguments);
96
+ };
97
+
98
+ function __rest(s, e) {
99
+ var t = {};
100
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
101
+ t[p] = s[p];
102
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
103
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
104
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
105
+ t[p[i]] = s[p[i]];
106
+ }
107
+ return t;
108
+ }
109
+
110
+ var StyledTableCell = styles$1.styled(material.TableCell)({
111
+ borderBottom: 'none'
112
+ });
113
+ var NoBorderTableCell = function (_a) {
114
+ var children = _a.children, otherProps = __rest(_a, ["children"]);
115
+ return (React__default["default"].createElement(StyledTableCell, __assign({}, otherProps), children));
116
+ };
117
+
118
+ var StyledBadge = material.styled(material.Badge)(function (_a) {
119
+ var theme = _a.theme;
120
+ return ({
121
+ color: theme.palette.error.main
122
+ });
123
+ });
124
+ var ValidationIcon = function (_a) {
125
+ var errorMessages = _a.errorMessages, id = _a.id;
126
+ return (React__default["default"].createElement(material.Tooltip, { id: id, title: errorMessages },
127
+ React__default["default"].createElement(StyledBadge, { badgeContent: errorMessages.split('\n').length },
128
+ React__default["default"].createElement(ErrorOutlineIcon__default["default"], { color: 'inherit' }))));
129
+ };
130
+
131
+ var fixedCellSmall = {
132
+ paddingLeft: 0,
133
+ paddingRight: 0,
134
+ };
135
+ var TableToolbar = React__default["default"].memo(function (_a) {
136
+ var numColumns = _a.numColumns, errors = _a.errors, label = _a.label, path = _a.path, addItem = _a.addItem, schema = _a.schema, enabled = _a.enabled;
137
+ return (React__default["default"].createElement(material.TableRow, null,
138
+ React__default["default"].createElement(NoBorderTableCell, { colSpan: numColumns },
139
+ React__default["default"].createElement(material.Grid, { container: true, justifyContent: 'flex-start', alignItems: 'center', spacing: 2 },
140
+ React__default["default"].createElement(material.Grid, { item: true },
141
+ React__default["default"].createElement(material.Typography, { variant: 'h6' }, label)),
142
+ React__default["default"].createElement(material.Grid, { item: true },
143
+ React__default["default"].createElement(material.Hidden, { smUp: errors.length === 0 },
144
+ React__default["default"].createElement(material.Grid, { item: true },
145
+ React__default["default"].createElement(ValidationIcon, { id: 'tooltip-validation', errorMessages: errors })))))),
146
+ enabled ? (React__default["default"].createElement(NoBorderTableCell, { align: 'right', style: fixedCellSmall },
147
+ React__default["default"].createElement(material.Tooltip, { id: 'tooltip-add', title: "Add to " + label, placement: 'bottom' },
148
+ React__default["default"].createElement(material.IconButton, { "aria-label": "Add to " + label, onClick: addItem(path, core.createDefaultValue(schema)), size: 'large' },
149
+ React__default["default"].createElement(AddIcon__default["default"], null))))) : null));
150
+ });
151
+
152
+ var styles = {
153
+ fixedCell: {
154
+ width: '150px',
155
+ height: '50px',
156
+ paddingLeft: 0,
157
+ paddingRight: 0,
158
+ textAlign: 'center'
159
+ },
160
+ fixedCellSmall: {
161
+ width: '50px',
162
+ height: '50px',
163
+ paddingLeft: 0,
164
+ paddingRight: 0,
165
+ textAlign: 'center'
166
+ }
167
+ };
168
+ var generateCells = function (Cell, schema, rowPath, enabled, cells) {
169
+ if (schema.type === 'object') {
170
+ return getValidColumnProps(schema).map(function (prop) {
171
+ var _a, _b, _c;
172
+ var cellPath = core.Paths.compose(rowPath, prop);
173
+ var props = {
174
+ propName: prop,
175
+ schema: schema,
176
+ title: (_c = (_b = (_a = schema.properties) === null || _a === void 0 ? void 0 : _a[prop]) === null || _b === void 0 ? void 0 : _b.title) !== null && _c !== void 0 ? _c : startCase__default["default"](prop),
177
+ rowPath: rowPath,
178
+ cellPath: cellPath,
179
+ enabled: enabled,
180
+ cells: cells
181
+ };
182
+ return React__default["default"].createElement(Cell, __assign({ key: cellPath }, props));
183
+ });
184
+ }
185
+ else {
186
+ var props = {
187
+ schema: schema,
188
+ rowPath: rowPath,
189
+ cellPath: rowPath,
190
+ enabled: enabled
191
+ };
192
+ return React__default["default"].createElement(Cell, __assign({ key: rowPath }, props));
193
+ }
194
+ };
195
+ var getValidColumnProps = function (scopedSchema) {
196
+ if (scopedSchema.type === 'object' && typeof scopedSchema.properties === 'object') {
197
+ return Object.keys(scopedSchema.properties).filter(function (prop) { return scopedSchema.properties[prop].type !== 'array'; });
198
+ }
199
+ return [''];
200
+ };
201
+ var EmptyTable = function (_a) {
202
+ var numColumns = _a.numColumns;
203
+ return (React__default["default"].createElement(material.TableRow, null,
204
+ React__default["default"].createElement(NoBorderTableCell, { colSpan: numColumns },
205
+ React__default["default"].createElement(material.Typography, { align: 'center' }, "No data"))));
206
+ };
207
+ var TableHeaderCell = React__default["default"].memo(function (_a) {
208
+ var title = _a.title;
209
+ return (React__default["default"].createElement(material.TableCell, null, title));
210
+ });
211
+ var ctxToNonEmptyCellProps = function (ctx, ownProps) {
212
+ var path = ownProps.rowPath +
213
+ (ownProps.schema.type === 'object' ? '.' + ownProps.propName : '');
214
+ var errors = core.formatErrorMessage(union__default["default"](core.errorsAt(path, ownProps.schema, function (p) { return p === path; })(ctx.core.errors).map(function (error) { return error.message; })));
215
+ return {
216
+ rowPath: ownProps.rowPath,
217
+ propName: ownProps.propName,
218
+ schema: ownProps.schema,
219
+ rootSchema: ctx.core.schema,
220
+ errors: errors,
221
+ path: path,
222
+ enabled: ownProps.enabled,
223
+ cells: ownProps.cells || ctx.cells,
224
+ renderers: ownProps.renderers || ctx.renderers
225
+ };
226
+ };
227
+ var controlWithoutLabel = function (scope) { return ({
228
+ type: 'Control',
229
+ scope: scope,
230
+ label: false
231
+ }); };
232
+ var NonEmptyCellComponent = React__default["default"].memo(function (_a) {
233
+ var path = _a.path, propName = _a.propName, schema = _a.schema, rootSchema = _a.rootSchema, errors = _a.errors, enabled = _a.enabled, renderers = _a.renderers, cells = _a.cells, isValid = _a.isValid;
234
+ return (React__default["default"].createElement(NoBorderTableCell, null,
235
+ schema.properties ? (React__default["default"].createElement(react.DispatchCell, { schema: core.Resolve.schema(schema, "#/properties/" + propName, rootSchema), uischema: controlWithoutLabel("#/properties/" + propName), path: path, enabled: enabled, renderers: renderers, cells: cells })) : (React__default["default"].createElement(react.DispatchCell, { schema: schema, uischema: controlWithoutLabel('#'), path: path, enabled: enabled, renderers: renderers, cells: cells })),
236
+ React__default["default"].createElement(material.FormHelperText, { error: !isValid }, !isValid && errors)));
237
+ });
238
+ var NonEmptyCell = function (ownProps) {
239
+ var ctx = react.useJsonForms();
240
+ var emptyCellProps = ctxToNonEmptyCellProps(ctx, ownProps);
241
+ var isValid = isEmpty__default["default"](emptyCellProps.errors);
242
+ return React__default["default"].createElement(NonEmptyCellComponent, __assign({}, emptyCellProps, { isValid: isValid }));
243
+ };
244
+ var NonEmptyRowComponent = function (_a) {
245
+ var childPath = _a.childPath, schema = _a.schema, rowIndex = _a.rowIndex, openDeleteDialog = _a.openDeleteDialog, moveUpCreator = _a.moveUpCreator, moveDownCreator = _a.moveDownCreator, enableUp = _a.enableUp, enableDown = _a.enableDown, showSortButtons = _a.showSortButtons, enabled = _a.enabled, cells = _a.cells, path = _a.path;
246
+ var moveUp = React.useMemo(function () { return moveUpCreator(path, rowIndex); }, [moveUpCreator, path, rowIndex]);
247
+ var moveDown = React.useMemo(function () { return moveDownCreator(path, rowIndex); }, [moveDownCreator, path, rowIndex]);
248
+ return (React__default["default"].createElement(material.TableRow, { key: childPath, hover: true },
249
+ generateCells(NonEmptyCell, schema, childPath, enabled, cells),
250
+ enabled ? (React__default["default"].createElement(NoBorderTableCell, { style: showSortButtons ? styles.fixedCell : styles.fixedCellSmall },
251
+ React__default["default"].createElement(material.Grid, { container: true, direction: 'row', justifyContent: 'flex-end', alignItems: 'center' },
252
+ showSortButtons ? (React__default["default"].createElement(React.Fragment, null,
253
+ React__default["default"].createElement(material.Grid, { item: true },
254
+ React__default["default"].createElement(material.IconButton, { "aria-label": "Move up", onClick: moveUp, disabled: !enableUp, size: 'large' },
255
+ React__default["default"].createElement(ArrowUpward__default["default"], null))),
256
+ React__default["default"].createElement(material.Grid, { item: true },
257
+ React__default["default"].createElement(material.IconButton, { "aria-label": "Move down", onClick: moveDown, disabled: !enableDown, size: 'large' },
258
+ React__default["default"].createElement(ArrowDownward__default["default"], null))))) : null,
259
+ React__default["default"].createElement(material.Grid, { item: true },
260
+ React__default["default"].createElement(material.IconButton, { "aria-label": "Delete", onClick: function () { return openDeleteDialog(childPath, rowIndex); }, size: 'large' },
261
+ React__default["default"].createElement(DeleteIcon__default["default"], null)))))) : null));
262
+ };
263
+ var NonEmptyRow = React__default["default"].memo(NonEmptyRowComponent);
264
+ var TableRows = function (_a) {
265
+ var data = _a.data, path = _a.path, schema = _a.schema, openDeleteDialog = _a.openDeleteDialog, moveUp = _a.moveUp, moveDown = _a.moveDown, uischema = _a.uischema, config = _a.config, enabled = _a.enabled, cells = _a.cells;
266
+ var isEmptyTable = data === 0;
267
+ if (isEmptyTable) {
268
+ return React__default["default"].createElement(EmptyTable, { numColumns: getValidColumnProps(schema).length + 1 });
269
+ }
270
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
271
+ return (React__default["default"].createElement(React__default["default"].Fragment, null, range__default["default"](data).map(function (index) {
272
+ var childPath = core.Paths.compose(path, "" + index);
273
+ return (React__default["default"].createElement(NonEmptyRow, { key: childPath, childPath: childPath, rowIndex: index, schema: schema, openDeleteDialog: openDeleteDialog, moveUpCreator: moveUp, moveDownCreator: moveDown, enableUp: index !== 0, enableDown: index !== data - 1, showSortButtons: appliedUiSchemaOptions.showSortButtons, enabled: enabled, cells: cells, path: path }));
274
+ })));
275
+ };
276
+ var MaterialTableControl = (function (_super) {
277
+ __extends(MaterialTableControl, _super);
278
+ function MaterialTableControl() {
279
+ var _this = _super !== null && _super.apply(this, arguments) || this;
280
+ _this.addItem = function (path, value) { return _this.props.addItem(path, value); };
281
+ return _this;
282
+ }
283
+ MaterialTableControl.prototype.render = function () {
284
+ var _a = this.props, label = _a.label, path = _a.path, schema = _a.schema, rootSchema = _a.rootSchema, uischema = _a.uischema, errors = _a.errors, openDeleteDialog = _a.openDeleteDialog, visible = _a.visible, enabled = _a.enabled, cells = _a.cells;
285
+ var controlElement = uischema;
286
+ var isObjectSchema = schema.type === 'object';
287
+ var headerCells = isObjectSchema
288
+ ? generateCells(TableHeaderCell, schema, path, enabled, cells)
289
+ : undefined;
290
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
291
+ React__default["default"].createElement(material.Table, null,
292
+ React__default["default"].createElement(material.TableHead, null,
293
+ React__default["default"].createElement(TableToolbar, { errors: errors, label: label, addItem: this.addItem, numColumns: isObjectSchema ? headerCells.length : 1, path: path, uischema: controlElement, schema: schema, rootSchema: rootSchema, enabled: enabled }),
294
+ isObjectSchema && (React__default["default"].createElement(material.TableRow, null,
295
+ headerCells,
296
+ enabled ? React__default["default"].createElement(material.TableCell, null) : null))),
297
+ React__default["default"].createElement(material.TableBody, null,
298
+ React__default["default"].createElement(TableRows, __assign({ openDeleteDialog: openDeleteDialog }, this.props))))));
299
+ };
300
+ return MaterialTableControl;
301
+ }(React__default["default"].Component));
302
+
303
+ var DeleteDialog = React__default["default"].memo(function (_a) {
304
+ var open = _a.open, onClose = _a.onClose, onConfirm = _a.onConfirm, onCancel = _a.onCancel;
305
+ return (React__default["default"].createElement(material.Dialog, { open: open, keepMounted: true, onClose: onClose, "aria-labelledby": 'alert-dialog-confirmdelete-title', "aria-describedby": 'alert-dialog-confirmdelete-description' },
306
+ React__default["default"].createElement(material.DialogTitle, { id: 'alert-dialog-confirmdelete-title' }, 'Confirm Deletion'),
307
+ React__default["default"].createElement(material.DialogContent, null,
308
+ React__default["default"].createElement(material.DialogContentText, { id: 'alert-dialog-confirmdelete-description' }, "Are you sure you want to delete the selected entry?")),
309
+ React__default["default"].createElement(material.DialogActions, null,
310
+ React__default["default"].createElement(material.Button, { onClick: onCancel, color: 'primary' }, "No"),
311
+ React__default["default"].createElement(material.Button, { onClick: onConfirm, color: 'primary' }, "Yes"))));
312
+ });
313
+
314
+ var MaterialArrayControlRenderer = function (props) {
315
+ var _a = React.useState(false), open = _a[0], setOpen = _a[1];
316
+ var _b = React.useState(undefined), path = _b[0], setPath = _b[1];
317
+ var _c = React.useState(undefined), rowData = _c[0], setRowData = _c[1];
318
+ var removeItems = props.removeItems, visible = props.visible;
319
+ var openDeleteDialog = React.useCallback(function (p, rowIndex) {
320
+ setOpen(true);
321
+ setPath(p);
322
+ setRowData(rowIndex);
323
+ }, [setOpen, setPath, setRowData]);
324
+ var deleteCancel = React.useCallback(function () { return setOpen(false); }, [setOpen]);
325
+ var deleteConfirm = React.useCallback(function () {
326
+ var p = path.substring(0, path.lastIndexOf(('.')));
327
+ removeItems(p, [rowData])();
328
+ setOpen(false);
329
+ }, [setOpen, path, rowData]);
330
+ var deleteClose = React.useCallback(function () { return setOpen(false); }, [setOpen]);
331
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
332
+ React__default["default"].createElement(MaterialTableControl, __assign({}, props, { openDeleteDialog: openDeleteDialog })),
333
+ React__default["default"].createElement(DeleteDialog, { open: open, onCancel: deleteCancel, onConfirm: deleteConfirm, onClose: deleteClose })));
334
+ };
335
+ var MaterialArrayControlRenderer$1 = react.withJsonFormsArrayLayoutProps(MaterialArrayControlRenderer);
336
+
337
+ var MaterialObjectRenderer = function (_a) {
338
+ var renderers = _a.renderers, cells = _a.cells, uischemas = _a.uischemas, schema = _a.schema, label = _a.label, path = _a.path, visible = _a.visible, enabled = _a.enabled, uischema = _a.uischema, rootSchema = _a.rootSchema;
339
+ var detailUiSchema = React.useMemo(function () {
340
+ return core.findUISchema(uischemas, schema, uischema.scope, path, 'Group', uischema, rootSchema);
341
+ }, [uischemas, schema, uischema.scope, path, uischema, rootSchema]);
342
+ if (isEmpty__default["default"](path)) {
343
+ detailUiSchema.type = 'VerticalLayout';
344
+ }
345
+ else {
346
+ detailUiSchema.label = label;
347
+ }
348
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
349
+ React__default["default"].createElement(react.JsonFormsDispatch, { visible: visible, enabled: enabled, schema: schema, uischema: detailUiSchema, path: path, renderers: renderers, cells: cells })));
350
+ };
351
+ var materialObjectControlTester = core.rankWith(2, core.isObjectControl);
352
+ var MaterialObjectRenderer$1 = react.withJsonFormsDetailProps(MaterialObjectRenderer);
353
+
354
+ var MaterialAllOfRenderer = function (_a) {
355
+ var schema = _a.schema, rootSchema = _a.rootSchema, visible = _a.visible, renderers = _a.renderers, cells = _a.cells, path = _a.path, uischemas = _a.uischemas, uischema = _a.uischema;
356
+ var _schema = core.resolveSubSchemas(schema, rootSchema, 'allOf');
357
+ var delegateUISchema = core.findMatchingUISchema(uischemas)(_schema, uischema.scope, path);
358
+ if (delegateUISchema) {
359
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
360
+ React__default["default"].createElement(react.JsonFormsDispatch, { schema: _schema, uischema: delegateUISchema, path: path, renderers: renderers, cells: cells })));
361
+ }
362
+ var allOfRenderInfos = core.createCombinatorRenderInfos(_schema.allOf, rootSchema, 'allOf', uischema, path, uischemas);
363
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible }, allOfRenderInfos.map(function (allOfRenderInfo, allOfIndex) { return (React__default["default"].createElement(react.JsonFormsDispatch, { key: allOfIndex, schema: allOfRenderInfo.schema, uischema: allOfRenderInfo.uischema, path: path, renderers: renderers, cells: cells })); })));
364
+ };
365
+ var materialAllOfControlTester = core.rankWith(3, core.isAllOfControl);
366
+ var MaterialAllOfRenderer$1 = react.withJsonFormsAllOfProps(MaterialAllOfRenderer);
367
+
368
+ var isLayout = function (uischema) {
369
+ return uischema.hasOwnProperty('elements');
370
+ };
371
+ var CombinatorProperties = (function (_super) {
372
+ __extends(CombinatorProperties, _super);
373
+ function CombinatorProperties() {
374
+ return _super !== null && _super.apply(this, arguments) || this;
375
+ }
376
+ CombinatorProperties.prototype.render = function () {
377
+ var _a = this.props, schema = _a.schema, combinatorKeyword = _a.combinatorKeyword, path = _a.path;
378
+ var otherProps = omit__default["default"](schema, combinatorKeyword);
379
+ var foundUISchema = core.Generate.uiSchema(otherProps, 'VerticalLayout');
380
+ var isLayoutWithElements = false;
381
+ if (foundUISchema !== null && isLayout(foundUISchema)) {
382
+ isLayoutWithElements = foundUISchema.elements.length > 0;
383
+ }
384
+ if (isLayoutWithElements) {
385
+ return (React__default["default"].createElement(react.JsonFormsDispatch, { schema: otherProps, path: path, uischema: foundUISchema }));
386
+ }
387
+ return null;
388
+ };
389
+ return CombinatorProperties;
390
+ }(React__default["default"].Component));
391
+
392
+ var MaterialAnyOfRenderer = function (_a) {
393
+ var schema = _a.schema, rootSchema = _a.rootSchema, indexOfFittingSchema = _a.indexOfFittingSchema, visible = _a.visible, path = _a.path, renderers = _a.renderers, cells = _a.cells, uischema = _a.uischema, uischemas = _a.uischemas;
394
+ var _b = React.useState(indexOfFittingSchema || 0), selectedAnyOf = _b[0], setSelectedAnyOf = _b[1];
395
+ var handleChange = React.useCallback(function (_ev, value) { return setSelectedAnyOf(value); }, [setSelectedAnyOf]);
396
+ var anyOf = 'anyOf';
397
+ var _schema = core.resolveSubSchemas(schema, rootSchema, anyOf);
398
+ var anyOfRenderInfos = core.createCombinatorRenderInfos(_schema.anyOf, rootSchema, anyOf, uischema, path, uischemas);
399
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
400
+ React__default["default"].createElement(CombinatorProperties, { schema: _schema, combinatorKeyword: 'anyOf', path: path }),
401
+ React__default["default"].createElement(material.Tabs, { value: selectedAnyOf, onChange: handleChange }, anyOfRenderInfos.map(function (anyOfRenderInfo) { return (React__default["default"].createElement(material.Tab, { key: anyOfRenderInfo.label, label: anyOfRenderInfo.label })); })),
402
+ anyOfRenderInfos.map(function (anyOfRenderInfo, anyOfIndex) {
403
+ return selectedAnyOf === anyOfIndex && (React__default["default"].createElement(react.JsonFormsDispatch, { key: anyOfIndex, schema: anyOfRenderInfo.schema, uischema: anyOfRenderInfo.uischema, path: path, renderers: renderers, cells: cells }));
404
+ })));
405
+ };
406
+ var materialAnyOfControlTester = core.rankWith(3, core.isAnyOfControl);
407
+ var MaterialAnyOfRenderer$1 = react.withJsonFormsAnyOfProps(MaterialAnyOfRenderer);
408
+
409
+ var MaterialOneOfRenderer = function (_a) {
410
+ var handleChange = _a.handleChange, schema = _a.schema, path = _a.path, renderers = _a.renderers, cells = _a.cells, rootSchema = _a.rootSchema, id = _a.id, visible = _a.visible, indexOfFittingSchema = _a.indexOfFittingSchema, uischema = _a.uischema, uischemas = _a.uischemas, data = _a.data;
411
+ var _b = React.useState(false), open = _b[0], setOpen = _b[1];
412
+ var _c = React.useState(indexOfFittingSchema || 0), selectedIndex = _c[0], setSelectedIndex = _c[1];
413
+ var _d = React.useState(0), newSelectedIndex = _d[0], setNewSelectedIndex = _d[1];
414
+ var handleClose = React.useCallback(function () { return setOpen(false); }, [setOpen]);
415
+ var cancel = React.useCallback(function () {
416
+ setOpen(false);
417
+ }, [setOpen]);
418
+ var _schema = core.resolveSubSchemas(schema, rootSchema, 'oneOf');
419
+ var oneOfRenderInfos = core.createCombinatorRenderInfos(_schema.oneOf, rootSchema, 'oneOf', uischema, path, uischemas);
420
+ var openNewTab = function (newIndex) {
421
+ handleChange(path, core.createDefaultValue(schema.oneOf[newIndex]));
422
+ setSelectedIndex(newIndex);
423
+ };
424
+ var confirm = React.useCallback(function () {
425
+ openNewTab(newSelectedIndex);
426
+ setOpen(false);
427
+ }, [handleChange, core.createDefaultValue, newSelectedIndex]);
428
+ var handleTabChange = React.useCallback(function (_event, newOneOfIndex) {
429
+ setNewSelectedIndex(newOneOfIndex);
430
+ if (isEmpty__default["default"](data)) {
431
+ openNewTab(newOneOfIndex);
432
+ }
433
+ else {
434
+ setOpen(true);
435
+ }
436
+ }, [setOpen, setSelectedIndex, data]);
437
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
438
+ React__default["default"].createElement(CombinatorProperties, { schema: _schema, combinatorKeyword: 'oneOf', path: path }),
439
+ React__default["default"].createElement(material.Tabs, { value: selectedIndex, onChange: handleTabChange }, oneOfRenderInfos.map(function (oneOfRenderInfo) { return React__default["default"].createElement(material.Tab, { key: oneOfRenderInfo.label, label: oneOfRenderInfo.label }); })),
440
+ oneOfRenderInfos.map(function (oneOfRenderInfo, oneOfIndex) { return (selectedIndex === oneOfIndex && (React__default["default"].createElement(react.JsonFormsDispatch, { key: oneOfIndex, schema: oneOfRenderInfo.schema, uischema: oneOfRenderInfo.uischema, path: path, renderers: renderers, cells: cells }))); }),
441
+ React__default["default"].createElement(material.Dialog, { open: open, onClose: handleClose, "aria-labelledby": 'alert-dialog-title', "aria-describedby": 'alert-dialog-description' },
442
+ React__default["default"].createElement(material.DialogTitle, { id: 'alert-dialog-title' }, 'Clear form?'),
443
+ React__default["default"].createElement(material.DialogContent, null,
444
+ React__default["default"].createElement(material.DialogContentText, { id: 'alert-dialog-description' }, "Your data will be cleared if you navigate away from this tab. Do you want to proceed?")),
445
+ React__default["default"].createElement(material.DialogActions, null,
446
+ React__default["default"].createElement(material.Button, { onClick: cancel, color: 'primary' }, "No"),
447
+ React__default["default"].createElement(material.Button, { onClick: confirm, color: 'primary', autoFocus: true, id: "oneOf-" + id + "-confirm-yes" }, "Yes")))));
448
+ };
449
+ var materialOneOfControlTester = core.rankWith(3, core.isOneOfControl);
450
+ var MaterialOneOfRenderer$1 = react.withJsonFormsOneOfProps(MaterialOneOfRenderer);
451
+
452
+ var MuiCheckbox = React__default["default"].memo(function (props) {
453
+ var data = props.data, className = props.className, id = props.id, enabled = props.enabled, uischema = props.uischema, path = props.path, handleChange = props.handleChange, config = props.config;
454
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
455
+ var inputProps = { autoFocus: !!appliedUiSchemaOptions.focus };
456
+ var checked = !!data;
457
+ return (React__default["default"].createElement(material.Checkbox, { checked: checked, onChange: function (_ev, isChecked) { return handleChange(path, isChecked); }, className: className, id: id, disabled: !enabled, inputProps: inputProps }));
458
+ });
459
+
460
+ var MuiSelect = React__default["default"].memo(function (props) {
461
+ var data = props.data, className = props.className, id = props.id, enabled = props.enabled, uischema = props.uischema, path = props.path, handleChange = props.handleChange, options = props.options, config = props.config;
462
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
463
+ return (React__default["default"].createElement(material.Select, { className: className, id: id, disabled: !enabled, autoFocus: appliedUiSchemaOptions.focus, value: data !== undefined ? data : '', onChange: function (ev) { return handleChange(path, ev.target.value); }, fullWidth: true, variant: 'standard' }, [React__default["default"].createElement(material.MenuItem, { value: '', key: 'empty' })].concat(options.map(function (optionValue) { return (React__default["default"].createElement(material.MenuItem, { value: optionValue.value, key: optionValue.value }, optionValue.label)); }))));
464
+ });
465
+
466
+ dayjs__default["default"].extend(customParsing__default["default"]);
467
+ var createOnChangeHandler = function (path, handleChange, saveFormat) { return function (time) {
468
+ if (!time) {
469
+ handleChange(path, undefined);
470
+ return;
471
+ }
472
+ var result = dayjs__default["default"](time).format(saveFormat);
473
+ handleChange(path, result === 'Invalid Date' ? undefined : result);
474
+ }; };
475
+ var getData = function (data, saveFormat) {
476
+ if (!data) {
477
+ return null;
478
+ }
479
+ var dayjsData = dayjs__default["default"](data, saveFormat);
480
+ if (dayjsData.toString() === 'Invalid Date') {
481
+ return null;
482
+ }
483
+ return dayjsData;
484
+ };
485
+
486
+ var renderLayoutElements = function (elements, schema, path, enabled, renderers, cells) {
487
+ return elements.map(function (child, index) { return (React__default["default"].createElement(material.Grid, { item: true, key: path + "-" + index, xs: true },
488
+ React__default["default"].createElement(react.JsonFormsDispatch, { uischema: child, schema: schema, path: path, enabled: enabled, renderers: renderers, cells: cells }))); });
489
+ };
490
+ var MaterialLayoutRendererComponent = function (_a) {
491
+ var visible = _a.visible, elements = _a.elements, schema = _a.schema, path = _a.path, enabled = _a.enabled, direction = _a.direction, renderers = _a.renderers, cells = _a.cells;
492
+ if (isEmpty__default["default"](elements)) {
493
+ return null;
494
+ }
495
+ else {
496
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
497
+ React__default["default"].createElement(material.Grid, { container: true, direction: direction, spacing: direction === 'row' ? 2 : 0 }, renderLayoutElements(elements, schema, path, enabled, renderers, cells))));
498
+ }
499
+ };
500
+ var MaterialLayoutRenderer = React__default["default"].memo(MaterialLayoutRendererComponent);
501
+ var withAjvProps = function (Component) {
502
+ return function (props) {
503
+ var ctx = react.useJsonForms();
504
+ var ajv = core.getAjv({ jsonforms: __assign({}, ctx) });
505
+ return (React__default["default"].createElement(Component, __assign({}, props, { ajv: ajv })));
506
+ };
507
+ };
508
+
509
+ var eventToValue$2 = function (ev) { return ev.target.value; };
510
+ var useDebouncedChange = function (handleChange, defaultValue, data, path, eventToValueFunction, timeout) {
511
+ if (eventToValueFunction === void 0) { eventToValueFunction = eventToValue$2; }
512
+ if (timeout === void 0) { timeout = 300; }
513
+ var _a = React.useState(data !== null && data !== void 0 ? data : defaultValue), input = _a[0], setInput = _a[1];
514
+ React.useEffect(function () {
515
+ setInput(data !== null && data !== void 0 ? data : defaultValue);
516
+ }, [data]);
517
+ var debouncedUpdate = React.useCallback(debounce__default["default"](function (newValue) { return handleChange(path, newValue); }, timeout), [handleChange, path, timeout]);
518
+ var onChange = React.useCallback(function (ev) {
519
+ var newValue = eventToValueFunction(ev);
520
+ setInput(newValue !== null && newValue !== void 0 ? newValue : defaultValue);
521
+ debouncedUpdate(newValue);
522
+ }, [debouncedUpdate, eventToValueFunction]);
523
+ var onClear = React.useCallback(function () { setInput(defaultValue); handleChange(path, undefined); }, [defaultValue, handleChange, path]);
524
+ return [input, onChange, onClear];
525
+ };
526
+
527
+ var useFocus = function () {
528
+ var _a = React.useState(false), focused = _a[0], setFocused = _a[1];
529
+ var onFocus = React.useCallback(function () { return setFocused(true); }, []);
530
+ var onBlur = React.useCallback(function () { return setFocused(false); }, []);
531
+ return [focused, onFocus, onBlur];
532
+ };
533
+
534
+ var toNumber$1 = function (value) {
535
+ return value === '' ? undefined : parseInt(value, 10);
536
+ };
537
+ var eventToValue$1 = function (ev) { return toNumber$1(ev.target.value); };
538
+ var MuiInputInteger = React__default["default"].memo(function (props) {
539
+ var data = props.data, className = props.className, id = props.id, enabled = props.enabled, uischema = props.uischema, path = props.path, handleChange = props.handleChange, config = props.config;
540
+ var inputProps = { step: '1' };
541
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
542
+ var _a = useDebouncedChange(handleChange, '', data, path, eventToValue$1), inputValue = _a[0], onChange = _a[1];
543
+ return (React__default["default"].createElement(material.Input, { type: 'number', value: inputValue, onChange: onChange, className: className, id: id, disabled: !enabled, autoFocus: appliedUiSchemaOptions.focus, inputProps: inputProps, fullWidth: true }));
544
+ });
545
+
546
+ var toNumber = function (value) {
547
+ return value === '' ? undefined : parseFloat(value);
548
+ };
549
+ var eventToValue = function (ev) { return toNumber(ev.target.value); };
550
+ var MuiInputNumber = React__default["default"].memo(function (props) {
551
+ var data = props.data, className = props.className, id = props.id, enabled = props.enabled, uischema = props.uischema, path = props.path, handleChange = props.handleChange, config = props.config;
552
+ var inputProps = { step: '0.1' };
553
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
554
+ var _a = useDebouncedChange(handleChange, '', data, path, eventToValue), inputValue = _a[0], onChange = _a[1];
555
+ return (React__default["default"].createElement(material.Input, { type: 'number', value: inputValue, onChange: onChange, className: className, id: id, disabled: !enabled, autoFocus: appliedUiSchemaOptions.focus, inputProps: inputProps, fullWidth: true }));
556
+ });
557
+
558
+ var MuiInputNumberFormat = React__default["default"].memo(function (props) {
559
+ var className = props.className, id = props.id, enabled = props.enabled, uischema = props.uischema, isValid = props.isValid, path = props.path, handleChange = props.handleChange, schema = props.schema, config = props.config;
560
+ var maxLength = schema.maxLength;
561
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
562
+ var inputProps;
563
+ if (appliedUiSchemaOptions.restrict) {
564
+ inputProps = { maxLength: maxLength };
565
+ }
566
+ else {
567
+ inputProps = {};
568
+ }
569
+ var formattedNumber = props.toFormatted(props.data);
570
+ var validStringNumber = React.useCallback(function (ev) { return props.fromFormatted(ev.currentTarget.value); }, [props.fromFormatted]);
571
+ var _a = useDebouncedChange(handleChange, '', formattedNumber, path, validStringNumber), inputValue = _a[0], onChange = _a[1];
572
+ return (React__default["default"].createElement(material.Input, { type: 'text', value: inputValue, onChange: onChange, className: className, id: id, disabled: !enabled, autoFocus: appliedUiSchemaOptions.focus, multiline: appliedUiSchemaOptions.multi, fullWidth: !appliedUiSchemaOptions.trim || maxLength === undefined, inputProps: inputProps, error: !isValid }));
573
+ });
574
+
575
+ var MuiInputText = React__default["default"].memo(function (props) {
576
+ var _a, _b, _c;
577
+ var _d = React.useState(false), showAdornment = _d[0], setShowAdornment = _d[1];
578
+ var data = props.data, config = props.config, className = props.className, id = props.id, enabled = props.enabled, uischema = props.uischema, isValid = props.isValid, path = props.path, handleChange = props.handleChange, schema = props.schema, muiInputProps = props.muiInputProps, inputComponent = props.inputComponent;
579
+ var maxLength = schema.maxLength;
580
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
581
+ var inputProps;
582
+ if (appliedUiSchemaOptions.restrict) {
583
+ inputProps = { maxLength: maxLength };
584
+ }
585
+ else {
586
+ inputProps = {};
587
+ }
588
+ inputProps = merge__default["default"](inputProps, muiInputProps);
589
+ if (appliedUiSchemaOptions.trim && maxLength !== undefined) {
590
+ inputProps.size = maxLength;
591
+ }
592
+ var _e = useDebouncedChange(handleChange, '', data, path), inputText = _e[0], onChange = _e[1], onClear = _e[2];
593
+ var onPointerEnter = function () { return setShowAdornment(true); };
594
+ var onPointerLeave = function () { return setShowAdornment(false); };
595
+ var theme = material.useTheme();
596
+ var closeStyle = {
597
+ background: ((_c = (_b = (_a = theme.jsonforms) === null || _a === void 0 ? void 0 : _a.input) === null || _b === void 0 ? void 0 : _b.delete) === null || _c === void 0 ? void 0 : _c.background) || theme.palette.background.default,
598
+ borderRadius: '50%'
599
+ };
600
+ return (React__default["default"].createElement(material.Input, { type: appliedUiSchemaOptions.format === 'password' ? 'password' : 'text', value: inputText, onChange: onChange, className: className, id: id, disabled: !enabled, autoFocus: appliedUiSchemaOptions.focus, multiline: appliedUiSchemaOptions.multi, fullWidth: !appliedUiSchemaOptions.trim || maxLength === undefined, inputProps: inputProps, error: !isValid, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, endAdornment: React__default["default"].createElement(material.InputAdornment, { position: 'end', style: {
601
+ display: !showAdornment || !enabled || data === undefined ? 'none' : 'flex',
602
+ position: 'absolute',
603
+ right: 0
604
+ } },
605
+ React__default["default"].createElement(material.IconButton, { "aria-label": 'Clear input field', onClick: onClear, size: 'large' },
606
+ React__default["default"].createElement(Close__default["default"], { style: closeStyle }))), inputComponent: inputComponent }));
607
+ });
608
+
609
+ var MuiInputTime = React__default["default"].memo(function (props) {
610
+ var data = props.data, className = props.className, id = props.id, enabled = props.enabled, uischema = props.uischema, path = props.path, handleChange = props.handleChange, config = props.config;
611
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
612
+ var _a = useDebouncedChange(handleChange, '', data, path), inputValue = _a[0], onChange = _a[1];
613
+ return (React__default["default"].createElement(material.Input, { type: 'time', value: inputValue, onChange: onChange, className: className, id: id, disabled: !enabled, autoFocus: appliedUiSchemaOptions.focus, fullWidth: true }));
614
+ });
615
+
616
+ var MaterialEnumArrayRenderer = function (_a) {
617
+ var schema = _a.schema, visible = _a.visible, errors = _a.errors, path = _a.path, options = _a.options, data = _a.data, addItem = _a.addItem, removeItem = _a.removeItem; _a.handleChange; var otherProps = __rest(_a, ["schema", "visible", "errors", "path", "options", "data", "addItem", "removeItem", "handleChange"]);
618
+ return (React__default["default"].createElement(material.Hidden, { xlUp: !visible },
619
+ React__default["default"].createElement(material.FormControl, { component: 'fieldset' },
620
+ React__default["default"].createElement(material.FormGroup, { row: true }, options.map(function (option, index) {
621
+ var optionPath = core.Paths.compose(path, "" + index);
622
+ var checkboxValue = (data === null || data === void 0 ? void 0 : data.includes(option.value))
623
+ ? option.value
624
+ : undefined;
625
+ return (React__default["default"].createElement(material.FormControlLabel, { id: option.value, key: option.value, control: React__default["default"].createElement(MuiCheckbox, __assign({ key: 'checkbox-' + option.value, isValid: isEmpty__default["default"](errors), path: optionPath, handleChange: function (_childPath, newValue) {
626
+ return newValue
627
+ ? addItem(path, option.value)
628
+ : removeItem(path, option.value);
629
+ }, data: checkboxValue, errors: errors, schema: schema, visible: visible }, otherProps)), label: startCase__default["default"](option.label) }));
630
+ })),
631
+ React__default["default"].createElement(material.FormHelperText, { error: true }, errors))));
632
+ };
633
+ var hasOneOfItems = function (schema) {
634
+ return schema.oneOf !== undefined &&
635
+ schema.oneOf.length > 0 &&
636
+ schema.oneOf.every(function (entry) {
637
+ return entry.const !== undefined;
638
+ });
639
+ };
640
+ var hasEnumItems = function (schema) {
641
+ return schema.type === 'string' && schema.enum !== undefined;
642
+ };
643
+ var materialEnumArrayRendererTester = core.rankWith(5, core.and(core.uiTypeIs('Control'), core.and(core.schemaMatches(function (schema) {
644
+ return core.hasType(schema, 'array') &&
645
+ !Array.isArray(schema.items) &&
646
+ schema.uniqueItems === true;
647
+ }), core.schemaSubPathMatches('items', function (schema) {
648
+ return hasOneOfItems(schema) || hasEnumItems(schema);
649
+ }))));
650
+ var MaterialEnumArrayRenderer$1 = react.withJsonFormsMultiEnumProps(MaterialEnumArrayRenderer);
651
+
652
+ var materialArrayControlTester = core.rankWith(3, core.or(core.isObjectArrayControl, core.isPrimitiveArrayControl));
653
+
654
+ var materialLabelRendererTester = core.rankWith(1, core.uiTypeIs('Label'));
655
+ var MaterialLabelRenderer = function (_a) {
656
+ var uischema = _a.uischema, visible = _a.visible;
657
+ var labelElement = uischema;
658
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
659
+ React__default["default"].createElement(material.Typography, { variant: 'h6' }, labelElement.text !== undefined && labelElement.text !== null && labelElement.text)));
660
+ };
661
+ var MaterialLabelRenderer$1 = react.withJsonFormsLayoutProps(MaterialLabelRenderer);
662
+
663
+ var ArrayLayoutToolbar = React__default["default"].memo(function (_a) {
664
+ var label = _a.label, errors = _a.errors, addItem = _a.addItem, path = _a.path, createDefault = _a.createDefault;
665
+ return (React__default["default"].createElement(material.Toolbar, { disableGutters: true },
666
+ React__default["default"].createElement(material.Grid, { container: true, alignItems: 'center', justifyContent: 'space-between' },
667
+ React__default["default"].createElement(material.Grid, { item: true },
668
+ React__default["default"].createElement(material.Typography, { variant: 'h6' }, label)),
669
+ React__default["default"].createElement(material.Hidden, { smUp: errors.length === 0 },
670
+ React__default["default"].createElement(material.Grid, { item: true },
671
+ React__default["default"].createElement(ValidationIcon, { id: 'tooltip-validation', errorMessages: errors }))),
672
+ React__default["default"].createElement(material.Grid, { item: true },
673
+ React__default["default"].createElement(material.Grid, { container: true },
674
+ React__default["default"].createElement(material.Grid, { item: true },
675
+ React__default["default"].createElement(material.Tooltip, { id: 'tooltip-add', title: "Add to " + label, placement: 'bottom' },
676
+ React__default["default"].createElement(material.IconButton, { "aria-label": "Add to " + label, onClick: addItem(path, createDefault()), size: 'large' },
677
+ React__default["default"].createElement(AddIcon__default["default"], null)))))))));
678
+ });
679
+
680
+ var ListWithDetailMasterItem = function (_a) {
681
+ var index = _a.index, childLabel = _a.childLabel, selected = _a.selected, handleSelect = _a.handleSelect, removeItem = _a.removeItem, path = _a.path;
682
+ return (React__default["default"].createElement(material.ListItem, { button: true, selected: selected, onClick: handleSelect(index) },
683
+ React__default["default"].createElement(material.ListItemAvatar, null,
684
+ React__default["default"].createElement(material.Avatar, { "aria-label": 'Index' }, index + 1)),
685
+ React__default["default"].createElement(material.ListItemText, { primary: childLabel }),
686
+ React__default["default"].createElement(material.ListItemSecondaryAction, null,
687
+ React__default["default"].createElement(material.IconButton, { "aria-label": 'Delete', onClick: removeItem(path, index), size: 'large' },
688
+ React__default["default"].createElement(DeleteIcon__default["default"], null)))));
689
+ };
690
+ var ListWithDetailMasterItem$1 = react.withJsonFormsMasterListItemProps(ListWithDetailMasterItem);
691
+
692
+ var MaterialListWithDetailRenderer = function (_a) {
693
+ var uischemas = _a.uischemas, schema = _a.schema, uischema = _a.uischema, path = _a.path, errors = _a.errors, visible = _a.visible, label = _a.label, required = _a.required, removeItems = _a.removeItems, addItem = _a.addItem, data = _a.data, renderers = _a.renderers, cells = _a.cells, config = _a.config;
694
+ var _b = React.useState(undefined), selectedIndex = _b[0], setSelectedIndex = _b[1];
695
+ var handleRemoveItem = React.useCallback(function (p, value) { return function () {
696
+ removeItems(p, [value])();
697
+ if (selectedIndex === value) {
698
+ setSelectedIndex(undefined);
699
+ }
700
+ else if (selectedIndex > value) {
701
+ setSelectedIndex(selectedIndex - 1);
702
+ }
703
+ }; }, [removeItems, setSelectedIndex]);
704
+ var handleListItemClick = React.useCallback(function (index) { return function () { return setSelectedIndex(index); }; }, [setSelectedIndex]);
705
+ var handleCreateDefaultValue = React.useCallback(function () { return core.createDefaultValue(schema); }, [core.createDefaultValue]);
706
+ var foundUISchema = React.useMemo(function () {
707
+ return core.findUISchema(uischemas, schema, uischema.scope, path, undefined, uischema);
708
+ }, [uischemas, schema, uischema.scope, path, uischema]);
709
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
710
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
711
+ React__default["default"].createElement(ArrayLayoutToolbar, { label: core.computeLabel(label, required, appliedUiSchemaOptions.hideRequiredAsterisk), errors: errors, path: path, addItem: addItem, createDefault: handleCreateDefaultValue }),
712
+ React__default["default"].createElement(material.Grid, { container: true, direction: 'row', spacing: 2 },
713
+ React__default["default"].createElement(material.Grid, { item: true, xs: 3 },
714
+ React__default["default"].createElement(material.List, null, data > 0 ? (map__default["default"](range__default["default"](data), function (index) { return (React__default["default"].createElement(ListWithDetailMasterItem$1, { index: index, path: path, schema: schema, handleSelect: handleListItemClick, removeItem: handleRemoveItem, selected: selectedIndex === index, key: index })); })) : (React__default["default"].createElement("p", null, "No data")))),
715
+ React__default["default"].createElement(material.Grid, { item: true, xs: true }, selectedIndex !== undefined ? (React__default["default"].createElement(react.JsonFormsDispatch, { renderers: renderers, cells: cells, visible: visible, schema: schema, uischema: foundUISchema, path: core.composePaths(path, "" + selectedIndex) })) : (React__default["default"].createElement(material.Typography, { variant: 'h6' }, "No Selection"))))));
716
+ };
717
+ var materialListWithDetailTester = core.rankWith(4, core.and(core.uiTypeIs('ListWithDetail'), core.isObjectArray));
718
+ var MaterialListWithDetailRenderer$1 = react.withJsonFormsArrayLayoutProps(MaterialListWithDetailRenderer);
719
+
720
+ var MaterialBooleanControl = function (_a) {
721
+ var data = _a.data, visible = _a.visible, label = _a.label, id = _a.id, enabled = _a.enabled, uischema = _a.uischema, schema = _a.schema, rootSchema = _a.rootSchema, handleChange = _a.handleChange, errors = _a.errors, path = _a.path, config = _a.config;
722
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
723
+ React__default["default"].createElement(material.FormControlLabel, { label: label, id: id, control: React__default["default"].createElement(MuiCheckbox, { id: id + "-input", isValid: isEmpty__default["default"](errors), data: data, enabled: enabled, visible: visible, path: path, uischema: uischema, schema: schema, rootSchema: rootSchema, handleChange: handleChange, errors: errors, config: config }) })));
724
+ };
725
+ var materialBooleanControlTester = core.rankWith(2, core.isBooleanControl);
726
+ var MaterialBooleanControl$1 = react.withJsonFormsControlProps(MaterialBooleanControl);
727
+
728
+ var MuiToggle = React__default["default"].memo(function (props) {
729
+ var data = props.data, className = props.className, id = props.id, enabled = props.enabled, uischema = props.uischema, path = props.path, handleChange = props.handleChange, config = props.config;
730
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
731
+ var inputProps = { autoFocus: !!appliedUiSchemaOptions.focus };
732
+ var checked = !!data;
733
+ return (React__default["default"].createElement(material.Switch, { checked: checked, onChange: function (_ev, isChecked) { return handleChange(path, isChecked); }, className: className, id: id, disabled: !enabled, inputProps: inputProps }));
734
+ });
735
+
736
+ var MaterialBooleanToggleControl = function (_a) {
737
+ var data = _a.data, visible = _a.visible, label = _a.label, id = _a.id, enabled = _a.enabled, uischema = _a.uischema, schema = _a.schema, rootSchema = _a.rootSchema, handleChange = _a.handleChange, errors = _a.errors, path = _a.path, config = _a.config;
738
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
739
+ React__default["default"].createElement(material.FormControlLabel, { label: label, id: id, control: React__default["default"].createElement(MuiToggle, { id: id + "-input", isValid: isEmpty__default["default"](errors), data: data, enabled: enabled, visible: visible, path: path, uischema: uischema, schema: schema, rootSchema: rootSchema, handleChange: handleChange, errors: errors, config: config }) })));
740
+ };
741
+ var materialBooleanToggleControlTester = core.rankWith(3, core.and(core.isBooleanControl, core.optionIs('toggle', true)));
742
+ var MaterialBooleanToggleControl$1 = react.withJsonFormsControlProps(MaterialBooleanToggleControl);
743
+
744
+ var MaterialInputControl = function (props) {
745
+ var _a = useFocus(), focused = _a[0], onFocus = _a[1], onBlur = _a[2];
746
+ var id = props.id, description = props.description, errors = props.errors, label = props.label, uischema = props.uischema, visible = props.visible, required = props.required, config = props.config, input = props.input;
747
+ var isValid = errors.length === 0;
748
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
749
+ var showDescription = !core.isDescriptionHidden(visible, description, focused, appliedUiSchemaOptions.showUnfocusedDescription);
750
+ var firstFormHelperText = showDescription
751
+ ? description
752
+ : !isValid
753
+ ? errors
754
+ : null;
755
+ var secondFormHelperText = showDescription && !isValid ? errors : null;
756
+ var InnerComponent = input;
757
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
758
+ React__default["default"].createElement(material.FormControl, { fullWidth: !appliedUiSchemaOptions.trim, onFocus: onFocus, onBlur: onBlur, id: id, variant: 'standard' },
759
+ React__default["default"].createElement(material.InputLabel, { htmlFor: id + '-input', error: !isValid, required: core.showAsRequired(required, appliedUiSchemaOptions.hideRequiredAsterisk) }, label),
760
+ React__default["default"].createElement(InnerComponent, __assign({}, props, { id: id + '-input', isValid: isValid, visible: visible })),
761
+ React__default["default"].createElement(material.FormHelperText, { error: !isValid && !showDescription }, firstFormHelperText),
762
+ React__default["default"].createElement(material.FormHelperText, { error: !isValid }, secondFormHelperText))));
763
+ };
764
+
765
+ var MuiAutocomplete = function (props) {
766
+ var _a;
767
+ var data = props.data, className = props.className, id = props.id, enabled = props.enabled, uischema = props.uischema, path = props.path, handleChange = props.handleChange, options = props.options, config = props.config, getOptionLabel = props.getOptionLabel, renderOption = props.renderOption, filterOptions = props.filterOptions;
768
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
769
+ var _b = React__default["default"].useState(data !== null && data !== void 0 ? data : ''), inputValue = _b[0], setInputValue = _b[1];
770
+ var findOption = (_a = options.find(function (o) { return o.value === data; })) !== null && _a !== void 0 ? _a : null;
771
+ return (React__default["default"].createElement(material.Autocomplete, { className: className, id: id, disabled: !enabled, value: findOption, onChange: function (_event, newValue) {
772
+ handleChange(path, newValue === null || newValue === void 0 ? void 0 : newValue.value);
773
+ }, inputValue: inputValue, onInputChange: function (_event, newInputValue) {
774
+ setInputValue(newInputValue);
775
+ }, autoHighlight: true, autoSelect: true, autoComplete: true, fullWidth: true, options: options, getOptionLabel: getOptionLabel || (function (option) { return option === null || option === void 0 ? void 0 : option.label; }), style: { marginTop: 16 }, renderInput: function (params) { return (React__default["default"].createElement(material.Input, { style: { width: '100%' }, type: 'text', inputProps: params.inputProps, inputRef: params.InputProps.ref, autoFocus: appliedUiSchemaOptions.focus, disabled: !enabled })); }, renderOption: renderOption, filterOptions: filterOptions }));
776
+ };
777
+
778
+ var MaterialEnumControl = function (props) {
779
+ var config = props.config, uischema = props.uischema;
780
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
781
+ return (React__default["default"].createElement(MaterialInputControl, __assign({}, props, { input: appliedUiSchemaOptions.autocomplete === false ? MuiSelect : MuiAutocomplete })));
782
+ };
783
+ var materialEnumControlTester = core.rankWith(2, core.isEnumControl);
784
+ var MaterialEnumControl$1 = react.withJsonFormsEnumProps(MaterialEnumControl);
785
+
786
+ var MaterialNativeControl = function (props) {
787
+ var _a;
788
+ var _b = useFocus(), focused = _b[0], onFocus = _b[1], onBlur = _b[2];
789
+ var id = props.id, errors = props.errors, label = props.label, schema = props.schema, description = props.description, enabled = props.enabled, visible = props.visible, required = props.required, path = props.path, handleChange = props.handleChange, data = props.data, config = props.config;
790
+ var isValid = errors.length === 0;
791
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, props.uischema.options);
792
+ var _c = useDebouncedChange(handleChange, '', data, path), inputValue = _c[0], onChange = _c[1];
793
+ var fieldType = (_a = appliedUiSchemaOptions.format) !== null && _a !== void 0 ? _a : schema.format;
794
+ var showDescription = !core.isDescriptionHidden(visible, description, focused, appliedUiSchemaOptions.showUnfocusedDescription);
795
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
796
+ React__default["default"].createElement(material.TextField, { required: core.showAsRequired(required, appliedUiSchemaOptions.hideRequiredAsterisk), id: id + '-input', label: label, type: fieldType, error: !isValid, disabled: !enabled, fullWidth: !appliedUiSchemaOptions.trim, onFocus: onFocus, onBlur: onBlur, helperText: !isValid ? errors : showDescription ? description : null, InputLabelProps: { shrink: true }, value: inputValue, onChange: onChange })));
797
+ };
798
+ var materialNativeControlTester = core.rankWith(2, core.or(core.isDateControl, core.isTimeControl));
799
+ var MaterialNativeControl$1 = react.withJsonFormsControlProps(MaterialNativeControl);
800
+
801
+ var MaterialDateControl = function (props) {
802
+ var _a, _b;
803
+ var _c = useFocus(), focused = _c[0], onFocus = _c[1], onBlur = _c[2];
804
+ var description = props.description, id = props.id, errors = props.errors, label = props.label, uischema = props.uischema, visible = props.visible, enabled = props.enabled, required = props.required, path = props.path, handleChange = props.handleChange, data = props.data, config = props.config;
805
+ var isValid = errors.length === 0;
806
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
807
+ var showDescription = !core.isDescriptionHidden(visible, description, focused, appliedUiSchemaOptions.showUnfocusedDescription);
808
+ var format = (_a = appliedUiSchemaOptions.dateFormat) !== null && _a !== void 0 ? _a : 'YYYY-MM-DD';
809
+ var saveFormat = (_b = appliedUiSchemaOptions.dateSaveFormat) !== null && _b !== void 0 ? _b : 'YYYY-MM-DD';
810
+ var firstFormHelperText = showDescription
811
+ ? description
812
+ : !isValid
813
+ ? errors
814
+ : null;
815
+ var secondFormHelperText = showDescription && !isValid ? errors : null;
816
+ var onChange = React.useMemo(function () { return createOnChangeHandler(path, handleChange, saveFormat); }, [path, handleChange, saveFormat]);
817
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
818
+ React__default["default"].createElement(lab.LocalizationProvider, { dateAdapter: AdapterDayjs__default["default"] },
819
+ React__default["default"].createElement(lab.DatePicker, { label: label, value: getData(data, saveFormat), clearable: true, onChange: onChange, inputFormat: format, disableMaskedInput: true, views: appliedUiSchemaOptions.views, disabled: !enabled, cancelText: appliedUiSchemaOptions.cancelLabel, clearText: appliedUiSchemaOptions.clearLabel, okText: appliedUiSchemaOptions.okLabel, renderInput: function (params) { return (React__default["default"].createElement(material.TextField, __assign({}, params, { id: id + '-input', required: required && !appliedUiSchemaOptions.hideRequiredAsterisk, autoFocus: appliedUiSchemaOptions.focus, error: !isValid, fullWidth: !appliedUiSchemaOptions.trim, inputProps: __assign(__assign({}, params.inputProps), { type: 'text' }), InputLabelProps: data ? { shrink: true } : undefined, onFocus: onFocus, onBlur: onBlur, variant: 'standard' }))); } }),
820
+ React__default["default"].createElement(material.FormHelperText, { error: !isValid && !showDescription }, firstFormHelperText),
821
+ React__default["default"].createElement(material.FormHelperText, { error: !isValid }, secondFormHelperText))));
822
+ };
823
+ var materialDateControlTester = core.rankWith(4, core.isDateControl);
824
+ var MaterialDateControl$1 = react.withJsonFormsControlProps(MaterialDateControl);
825
+
826
+ var MaterialDateTimeControl = function (props) {
827
+ var _a, _b;
828
+ var _c = useFocus(), focused = _c[0], onFocus = _c[1], onBlur = _c[2];
829
+ var id = props.id, description = props.description, errors = props.errors, label = props.label, uischema = props.uischema, visible = props.visible, enabled = props.enabled, required = props.required, path = props.path, handleChange = props.handleChange, data = props.data, config = props.config;
830
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
831
+ var isValid = errors.length === 0;
832
+ var showDescription = !core.isDescriptionHidden(visible, description, focused, appliedUiSchemaOptions.showUnfocusedDescription);
833
+ var format = (_a = appliedUiSchemaOptions.dateTimeFormat) !== null && _a !== void 0 ? _a : 'YYYY-MM-DD HH:mm';
834
+ var saveFormat = (_b = appliedUiSchemaOptions.dateTimeSaveFormat) !== null && _b !== void 0 ? _b : undefined;
835
+ var firstFormHelperText = showDescription
836
+ ? description
837
+ : !isValid
838
+ ? errors
839
+ : null;
840
+ var secondFormHelperText = showDescription && !isValid ? errors : null;
841
+ var onChange = React.useMemo(function () { return createOnChangeHandler(path, handleChange, saveFormat); }, [path, handleChange, saveFormat]);
842
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
843
+ React__default["default"].createElement(lab.LocalizationProvider, { dateAdapter: AdapterDayjs__default["default"] },
844
+ React__default["default"].createElement(lab.DateTimePicker, { label: label, value: getData(data, saveFormat), clearable: true, onChange: onChange, inputFormat: format, disableMaskedInput: true, ampm: !!appliedUiSchemaOptions.ampm, views: appliedUiSchemaOptions.views, disabled: !enabled, cancelText: appliedUiSchemaOptions.cancelLabel, clearText: appliedUiSchemaOptions.clearLabel, okText: appliedUiSchemaOptions.okLabel, renderInput: function (params) { return (React__default["default"].createElement(material.TextField, __assign({}, params, { id: id + '-input', required: required && !appliedUiSchemaOptions.hideRequiredAsterisk, autoFocus: appliedUiSchemaOptions.focus, error: !isValid, fullWidth: !appliedUiSchemaOptions.trim, inputProps: __assign(__assign({}, params.inputProps), { type: 'text' }), InputLabelProps: data ? { shrink: true } : undefined, onFocus: onFocus, onBlur: onBlur, variant: 'standard' }))); } }),
845
+ React__default["default"].createElement(material.FormHelperText, { error: !isValid && !showDescription }, firstFormHelperText),
846
+ React__default["default"].createElement(material.FormHelperText, { error: !isValid }, secondFormHelperText))));
847
+ };
848
+ var materialDateTimeControlTester = core.rankWith(2, core.isDateTimeControl);
849
+ var MaterialDateTimeControl$1 = react.withJsonFormsControlProps(MaterialDateTimeControl);
850
+
851
+ var MaterialTimeControl = function (props) {
852
+ var _a, _b;
853
+ var _c = useFocus(), focused = _c[0], onFocus = _c[1], onBlur = _c[2];
854
+ var id = props.id, description = props.description, errors = props.errors, label = props.label, uischema = props.uischema, visible = props.visible, enabled = props.enabled, required = props.required, path = props.path, handleChange = props.handleChange, data = props.data, config = props.config;
855
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
856
+ var isValid = errors.length === 0;
857
+ var showDescription = !core.isDescriptionHidden(visible, description, focused, appliedUiSchemaOptions.showUnfocusedDescription);
858
+ var format = (_a = appliedUiSchemaOptions.timeFormat) !== null && _a !== void 0 ? _a : 'HH:mm';
859
+ var saveFormat = (_b = appliedUiSchemaOptions.timeSaveFormat) !== null && _b !== void 0 ? _b : 'HH:mm:ss';
860
+ var firstFormHelperText = showDescription
861
+ ? description
862
+ : !isValid
863
+ ? errors
864
+ : null;
865
+ var secondFormHelperText = showDescription && !isValid ? errors : null;
866
+ var onChange = React.useMemo(function () { return createOnChangeHandler(path, handleChange, saveFormat); }, [path, handleChange, saveFormat]);
867
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
868
+ React__default["default"].createElement(lab.LocalizationProvider, { dateAdapter: AdapterDayjs__default["default"] },
869
+ React__default["default"].createElement(lab.TimePicker, { label: label, value: getData(data, saveFormat), clearable: true, onChange: onChange, inputFormat: format, disableMaskedInput: true, ampm: !!appliedUiSchemaOptions.ampm, views: appliedUiSchemaOptions.views, disabled: !enabled, cancelText: appliedUiSchemaOptions.cancelLabel, clearText: appliedUiSchemaOptions.clearLabel, okText: appliedUiSchemaOptions.okLabel, renderInput: function (params) { return (React__default["default"].createElement(material.TextField, __assign({}, params, { id: id + '-input', required: required && !appliedUiSchemaOptions.hideRequiredAsterisk, autoFocus: appliedUiSchemaOptions.focus, error: !isValid, fullWidth: !appliedUiSchemaOptions.trim, inputProps: __assign(__assign({}, params.inputProps), { type: 'text' }), InputLabelProps: data ? { shrink: true } : undefined, onFocus: onFocus, onBlur: onBlur, variant: 'standard' }))); } }),
870
+ React__default["default"].createElement(material.FormHelperText, { error: !isValid && !showDescription }, firstFormHelperText),
871
+ React__default["default"].createElement(material.FormHelperText, { error: !isValid }, secondFormHelperText))));
872
+ };
873
+ var materialTimeControlTester = core.rankWith(4, core.isTimeControl);
874
+ var MaterialTimeControl$1 = react.withJsonFormsControlProps(MaterialTimeControl);
875
+
876
+ var MaterialSliderControl = function (props) {
877
+ var _a = useFocus(), focused = _a[0], onFocus = _a[1], onBlur = _a[2];
878
+ var id = props.id, data = props.data, description = props.description, enabled = props.enabled, errors = props.errors, label = props.label, schema = props.schema, handleChange = props.handleChange, visible = props.visible, path = props.path, required = props.required, config = props.config;
879
+ var isValid = errors.length === 0;
880
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, props.uischema.options);
881
+ var labelStyle = {
882
+ whiteSpace: 'nowrap',
883
+ overflow: 'hidden',
884
+ textOverflow: 'ellipsis',
885
+ width: '100%'
886
+ };
887
+ var rangeContainerStyle = {
888
+ display: 'flex'
889
+ };
890
+ var rangeItemStyle = {
891
+ flexGrow: '1'
892
+ };
893
+ var sliderStyle = {
894
+ marginTop: '7px'
895
+ };
896
+ var showDescription = !core.isDescriptionHidden(visible, description, focused, appliedUiSchemaOptions.showUnfocusedDescription);
897
+ var onChange = React.useCallback(function (_ev, value) { return handleChange(path, Number(value)); }, [path, handleChange]);
898
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
899
+ React__default["default"].createElement(material.FormControl, { fullWidth: !appliedUiSchemaOptions.trim, onFocus: onFocus, onBlur: onBlur, id: id },
900
+ React__default["default"].createElement(material.FormLabel, { htmlFor: id, error: !isValid, component: 'legend', required: core.showAsRequired(required, appliedUiSchemaOptions.hideRequiredAsterisk) },
901
+ React__default["default"].createElement(material.Typography, { id: id + '-typo', style: labelStyle, variant: 'caption' }, label)),
902
+ React__default["default"].createElement("div", { style: rangeContainerStyle },
903
+ React__default["default"].createElement(material.Typography, { style: rangeItemStyle, variant: 'caption', align: 'left' }, schema.minimum),
904
+ React__default["default"].createElement(material.Typography, { style: rangeItemStyle, variant: 'caption', align: 'right' }, schema.maximum)),
905
+ React__default["default"].createElement(material.Slider, { style: sliderStyle, min: schema.minimum, max: schema.maximum, value: Number(data || schema.default), onChange: onChange, id: id + '-input', disabled: !enabled, step: schema.multipleOf || 1 }),
906
+ React__default["default"].createElement(material.FormHelperText, { error: !isValid }, !isValid ? errors : showDescription ? description : null))));
907
+ };
908
+ var materialSliderControlTester = core.rankWith(4, core.isRangeControl);
909
+ var MaterialSliderControl$1 = react.withJsonFormsControlProps(MaterialSliderControl);
910
+
911
+ var MaterialRadioGroup = function (props) {
912
+ var _a = useFocus(), focused = _a[0], onFocus = _a[1], onBlur = _a[2];
913
+ var config = props.config, id = props.id, label = props.label, required = props.required, description = props.description, errors = props.errors, data = props.data, visible = props.visible, options = props.options, handleChange = props.handleChange, path = props.path, enabled = props.enabled;
914
+ var isValid = errors.length === 0;
915
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, props.uischema.options);
916
+ var showDescription = !core.isDescriptionHidden(visible, description, focused, appliedUiSchemaOptions.showUnfocusedDescription);
917
+ var onChange = function (_ev, value) { return handleChange(path, value); };
918
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
919
+ React__default["default"].createElement(material.FormControl, { component: 'fieldset', fullWidth: !appliedUiSchemaOptions.trim, onFocus: onFocus, onBlur: onBlur },
920
+ React__default["default"].createElement(material.FormLabel, { htmlFor: id, error: !isValid, component: 'legend', required: core.showAsRequired(required, appliedUiSchemaOptions.hideRequiredAsterisk) }, label),
921
+ React__default["default"].createElement(material.RadioGroup, { value: props.data, onChange: onChange, row: true }, options.map(function (option) { return (React__default["default"].createElement(material.FormControlLabel, { value: option.value, key: option.label, control: React__default["default"].createElement(material.Radio, { checked: data === option.value }), label: option.label, disabled: !enabled })); })),
922
+ React__default["default"].createElement(material.FormHelperText, { error: !isValid }, !isValid ? errors : showDescription ? description : null))));
923
+ };
924
+
925
+ var MaterialRadioGroupControl = function (props) {
926
+ return React__default["default"].createElement(MaterialRadioGroup, __assign({}, props));
927
+ };
928
+ var materialRadioGroupControlTester = core.rankWith(20, core.and(core.isEnumControl, core.optionIs('format', 'radio')));
929
+ var MaterialRadioGroupControl$1 = react.withJsonFormsEnumProps(MaterialRadioGroupControl);
930
+
931
+ var MaterialIntegerControl = function (props) { return (React__default["default"].createElement(MaterialInputControl, __assign({}, props, { input: MuiInputInteger }))); };
932
+ var materialIntegerControlTester = core.rankWith(2, core.isIntegerControl);
933
+ var MaterialIntegerControl$1 = react.withJsonFormsControlProps(MaterialIntegerControl);
934
+
935
+ var MaterialNumberControl = function (props) { return (React__default["default"].createElement(MaterialInputControl, __assign({}, props, { input: MuiInputNumber }))); };
936
+ var materialNumberControlTester = core.rankWith(2, core.isNumberControl);
937
+ var MaterialNumberControl$1 = react.withJsonFormsControlProps(MaterialNumberControl);
938
+
939
+ var MaterialTextControl = function (props) { return (React__default["default"].createElement(MaterialInputControl, __assign({}, props, { input: MuiInputText }))); };
940
+ var materialTextControlTester = core.rankWith(1, core.isStringControl);
941
+ var MaterialTextControl$1 = react.withJsonFormsControlProps(MaterialTextControl);
942
+
943
+ var findEnumSchema = function (schemas) {
944
+ return schemas.find(function (s) { return s.enum !== undefined && (s.type === 'string' || s.type === undefined); });
945
+ };
946
+ var findTextSchema = function (schemas) {
947
+ return schemas.find(function (s) { return s.type === 'string' && s.enum === undefined; });
948
+ };
949
+ var MuiAutocompleteInputText = function (props) {
950
+ var data = props.data, config = props.config, className = props.className, id = props.id, enabled = props.enabled, uischema = props.uischema, isValid = props.isValid, path = props.path, handleChange = props.handleChange, schema = props.schema;
951
+ var enumSchema = findEnumSchema(schema.anyOf);
952
+ var stringSchema = findTextSchema(schema.anyOf);
953
+ var maxLength = stringSchema.maxLength;
954
+ var appliedUiSchemaOptions = React.useMemo(function () { return merge__default["default"]({}, config, uischema.options); }, [config, uischema.options]);
955
+ var inputProps = React.useMemo(function () {
956
+ var propMemo = {};
957
+ if (appliedUiSchemaOptions.restrict) {
958
+ propMemo = { maxLength: maxLength };
959
+ }
960
+ if (appliedUiSchemaOptions.trim && maxLength !== undefined) {
961
+ propMemo.size = maxLength;
962
+ }
963
+ propMemo.list = props.id + 'datalist';
964
+ return propMemo;
965
+ }, [appliedUiSchemaOptions, props.id]);
966
+ var _a = useDebouncedChange(handleChange, '', data, path), inputText = _a[0], onChange = _a[1];
967
+ var dataList = (React__default["default"].createElement("datalist", { id: props.id + 'datalist' }, enumSchema.enum.map(function (optionValue) { return (React__default["default"].createElement("option", { value: optionValue, key: optionValue })); })));
968
+ return (React__default["default"].createElement(material.Input, { type: 'text', value: inputText, onChange: onChange, className: className, id: id, disabled: !enabled, autoFocus: appliedUiSchemaOptions.focus, fullWidth: !appliedUiSchemaOptions.trim || maxLength === undefined, inputProps: inputProps, error: !isValid, endAdornment: dataList }));
969
+ };
970
+ var MaterialAnyOfStringOrEnumControl = (function (_super) {
971
+ __extends(MaterialAnyOfStringOrEnumControl, _super);
972
+ function MaterialAnyOfStringOrEnumControl() {
973
+ return _super !== null && _super.apply(this, arguments) || this;
974
+ }
975
+ MaterialAnyOfStringOrEnumControl.prototype.render = function () {
976
+ return (React__default["default"].createElement(MaterialInputControl, __assign({}, this.props, { input: MuiAutocompleteInputText })));
977
+ };
978
+ return MaterialAnyOfStringOrEnumControl;
979
+ }(react.Control));
980
+ var hasEnumAndText = function (schemas) {
981
+ var enumSchema = findEnumSchema(schemas);
982
+ var stringSchema = findTextSchema(schemas);
983
+ var remainingSchemas = schemas.filter(function (s) { return s !== enumSchema || s !== stringSchema; });
984
+ var wrongType = remainingSchemas.find(function (s) { return s.type && s.type !== 'string'; });
985
+ return enumSchema && stringSchema && !wrongType;
986
+ };
987
+ var simpleAnyOf = core.and(core.uiTypeIs('Control'), core.schemaMatches(function (schema) { return schema.hasOwnProperty('anyOf') && hasEnumAndText(schema.anyOf); }));
988
+ var materialAnyOfStringOrEnumControlTester = core.rankWith(5, simpleAnyOf);
989
+ var MaterialAnyOfStringOrEnumControl$1 = react.withJsonFormsControlProps(MaterialAnyOfStringOrEnumControl);
990
+
991
+ var MaterialOneOfEnumControl = function (props) {
992
+ var config = props.config, uischema = props.uischema;
993
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
994
+ return (React__default["default"].createElement(MaterialInputControl, __assign({}, props, { input: appliedUiSchemaOptions.autocomplete === false ? MuiSelect : MuiAutocomplete })));
995
+ };
996
+ var materialOneOfEnumControlTester = core.rankWith(5, core.isOneOfEnumControl);
997
+ var MaterialOneOfEnumControl$1 = react.withJsonFormsOneOfEnumProps(MaterialOneOfEnumControl);
998
+
999
+ var MaterialOneOfRadioGroupControl = function (props) {
1000
+ return React__default["default"].createElement(MaterialRadioGroup, __assign({}, props));
1001
+ };
1002
+ var materialOneOfRadioGroupControlTester = core.rankWith(20, core.and(core.isOneOfEnumControl, core.optionIs('format', 'radio')));
1003
+ var MaterialOneOfRadioGroupControl$1 = react.withJsonFormsOneOfEnumProps(MaterialOneOfRadioGroupControl);
1004
+
1005
+ var Unwrapped = {
1006
+ MaterialBooleanControl: MaterialBooleanControl,
1007
+ MaterialBooleanToggleControl: MaterialBooleanToggleControl,
1008
+ MaterialEnumControl: MaterialEnumControl,
1009
+ MaterialNativeControl: MaterialNativeControl,
1010
+ MaterialDateControl: MaterialDateControl,
1011
+ MaterialDateTimeControl: MaterialDateTimeControl,
1012
+ MaterialTimeControl: MaterialTimeControl,
1013
+ MaterialSliderControl: MaterialSliderControl,
1014
+ MaterialRadioGroupControl: MaterialRadioGroupControl,
1015
+ MaterialIntegerControl: MaterialIntegerControl,
1016
+ MaterialNumberControl: MaterialNumberControl,
1017
+ MaterialTextControl: MaterialTextControl,
1018
+ MaterialAnyOfStringOrEnumControl: MaterialAnyOfStringOrEnumControl,
1019
+ MaterialOneOfEnumControl: MaterialOneOfEnumControl,
1020
+ MaterialOneOfRadioGroupControl: MaterialOneOfRadioGroupControl
1021
+ };
1022
+
1023
+ var groupTester = core.rankWith(1, core.uiTypeIs('Group'));
1024
+ var style = { marginBottom: '10px' };
1025
+ var GroupComponent = React__default["default"].memo(function (_a) {
1026
+ var visible = _a.visible, enabled = _a.enabled, uischema = _a.uischema, props = __rest(_a, ["visible", "enabled", "uischema"]);
1027
+ var groupLayout = uischema;
1028
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
1029
+ React__default["default"].createElement(material.Card, { style: style },
1030
+ !isEmpty__default["default"](groupLayout.label) && (React__default["default"].createElement(material.CardHeader, { title: groupLayout.label })),
1031
+ React__default["default"].createElement(material.CardContent, null,
1032
+ React__default["default"].createElement(MaterialLayoutRenderer, __assign({}, props, { visible: visible, enabled: enabled, elements: groupLayout.elements }))))));
1033
+ });
1034
+ var MaterializedGroupLayoutRenderer = function (_a) {
1035
+ var uischema = _a.uischema, schema = _a.schema, path = _a.path, visible = _a.visible, enabled = _a.enabled, renderers = _a.renderers, cells = _a.cells, direction = _a.direction;
1036
+ var groupLayout = uischema;
1037
+ return (React__default["default"].createElement(GroupComponent, { elements: groupLayout.elements, schema: schema, path: path, direction: direction, visible: visible, enabled: enabled, uischema: uischema, renderers: renderers, cells: cells }));
1038
+ };
1039
+ var MaterialGroupLayout = react.withJsonFormsLayoutProps(MaterializedGroupLayoutRenderer);
1040
+ var materialGroupTester = core.withIncreasedRank(1, groupTester);
1041
+
1042
+ var materialHorizontalLayoutTester = core.rankWith(2, core.uiTypeIs('HorizontalLayout'));
1043
+ var MaterialHorizontalLayoutRenderer = function (_a) {
1044
+ var uischema = _a.uischema, renderers = _a.renderers, cells = _a.cells, schema = _a.schema, path = _a.path, enabled = _a.enabled, visible = _a.visible;
1045
+ var layout = uischema;
1046
+ var childProps = {
1047
+ elements: layout.elements,
1048
+ schema: schema,
1049
+ path: path,
1050
+ enabled: enabled,
1051
+ direction: 'row',
1052
+ visible: visible
1053
+ };
1054
+ return React__default["default"].createElement(MaterialLayoutRenderer, __assign({}, childProps, { renderers: renderers, cells: cells }));
1055
+ };
1056
+ var MaterialHorizontalLayout = react.withJsonFormsLayoutProps(MaterialHorizontalLayoutRenderer);
1057
+
1058
+ var materialVerticalLayoutTester = core.rankWith(1, core.uiTypeIs('VerticalLayout'));
1059
+ var MaterialVerticalLayoutRenderer = function (_a) {
1060
+ var uischema = _a.uischema, schema = _a.schema, path = _a.path, enabled = _a.enabled, visible = _a.visible, renderers = _a.renderers, cells = _a.cells;
1061
+ var verticalLayout = uischema;
1062
+ var childProps = {
1063
+ elements: verticalLayout.elements,
1064
+ schema: schema,
1065
+ path: path,
1066
+ enabled: enabled,
1067
+ direction: 'column',
1068
+ visible: visible
1069
+ };
1070
+ return React__default["default"].createElement(MaterialLayoutRenderer, __assign({}, childProps, { renderers: renderers, cells: cells }));
1071
+ };
1072
+ var MaterialVerticalLayout = react.withJsonFormsLayoutProps(MaterialVerticalLayoutRenderer);
1073
+
1074
+ var isSingleLevelCategorization = core.and(core.uiTypeIs('Categorization'), function (uischema) {
1075
+ var categorization = uischema;
1076
+ return (categorization.elements &&
1077
+ categorization.elements.reduce(function (acc, e) { return acc && e.type === 'Category'; }, true));
1078
+ });
1079
+ var materialCategorizationTester = core.rankWith(1, isSingleLevelCategorization);
1080
+ var MaterialCategorizationLayoutRenderer = function (props) {
1081
+ var data = props.data, path = props.path, renderers = props.renderers, cells = props.cells, schema = props.schema, uischema = props.uischema, visible = props.visible, enabled = props.enabled, selected = props.selected, onChange = props.onChange, ajv = props.ajv;
1082
+ var categorization = uischema;
1083
+ var _a = React.useState(selected !== null && selected !== void 0 ? selected : 0), activeCategory = _a[0], setActiveCategory = _a[1];
1084
+ var categories = categorization.elements.filter(function (category) {
1085
+ return core.isVisible(category, data, undefined, ajv);
1086
+ });
1087
+ var childProps = {
1088
+ elements: categories[activeCategory].elements,
1089
+ schema: schema,
1090
+ path: path,
1091
+ direction: 'column',
1092
+ enabled: enabled,
1093
+ visible: visible,
1094
+ renderers: renderers,
1095
+ cells: cells
1096
+ };
1097
+ var onTabChange = function (_event, value) {
1098
+ if (onChange) {
1099
+ onChange(value, activeCategory);
1100
+ }
1101
+ setActiveCategory(value);
1102
+ };
1103
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
1104
+ React__default["default"].createElement(material.AppBar, { position: 'static' },
1105
+ React__default["default"].createElement(material.Tabs, { value: activeCategory, onChange: onTabChange, textColor: 'inherit', indicatorColor: 'secondary', variant: 'scrollable' }, categories.map(function (e, idx) { return (React__default["default"].createElement(material.Tab, { key: idx, label: e.label })); }))),
1106
+ React__default["default"].createElement("div", { style: { marginTop: '0.5em' } },
1107
+ React__default["default"].createElement(MaterialLayoutRenderer, __assign({}, childProps)))));
1108
+ };
1109
+ var MaterialCategorizationLayout = react.withJsonFormsLayoutProps(withAjvProps(MaterialCategorizationLayoutRenderer));
1110
+
1111
+ var iconStyle = { float: 'right' };
1112
+ var ExpandPanelRendererComponent = function (props) {
1113
+ var labelHtmlId = React.useState(core.createId('expand-panel'))[0];
1114
+ React.useEffect(function () {
1115
+ return function () {
1116
+ core.removeId(labelHtmlId);
1117
+ };
1118
+ }, [labelHtmlId]);
1119
+ var childLabel = props.childLabel, childPath = props.childPath, index = props.index, expanded = props.expanded, moveDown = props.moveDown, moveUp = props.moveUp, enableMoveDown = props.enableMoveDown, enableMoveUp = props.enableMoveUp, handleExpansion = props.handleExpansion, removeItems = props.removeItems, path = props.path, rootSchema = props.rootSchema, schema = props.schema, uischema = props.uischema, uischemas = props.uischemas, renderers = props.renderers, cells = props.cells, config = props.config;
1120
+ var foundUISchema = React.useMemo(function () {
1121
+ return core.findUISchema(uischemas, schema, uischema.scope, path, undefined, uischema, rootSchema);
1122
+ }, [uischemas, schema, uischema.scope, path, uischema, rootSchema]);
1123
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
1124
+ return (React__default["default"].createElement(material.Accordion, { "aria-labelledby": labelHtmlId, expanded: expanded, onChange: handleExpansion(childPath) },
1125
+ React__default["default"].createElement(material.AccordionSummary, { expandIcon: React__default["default"].createElement(ExpandMoreIcon__default["default"], null) },
1126
+ React__default["default"].createElement(material.Grid, { container: true, alignItems: 'center' },
1127
+ React__default["default"].createElement(material.Grid, { item: true, xs: 7, md: 9 },
1128
+ React__default["default"].createElement(material.Grid, { container: true, alignItems: 'center' },
1129
+ React__default["default"].createElement(material.Grid, { item: true, xs: 2, md: 1 },
1130
+ React__default["default"].createElement(material.Avatar, { "aria-label": 'Index' }, index + 1)),
1131
+ React__default["default"].createElement(material.Grid, { item: true, xs: 10, md: 11 },
1132
+ React__default["default"].createElement("span", { id: labelHtmlId }, childLabel)))),
1133
+ React__default["default"].createElement(material.Grid, { item: true, xs: 5, md: 3 },
1134
+ React__default["default"].createElement(material.Grid, { container: true, justifyContent: 'flex-end' },
1135
+ React__default["default"].createElement(material.Grid, { item: true },
1136
+ React__default["default"].createElement(material.Grid, { container: true, direction: 'row', justifyContent: 'center', alignItems: 'center' },
1137
+ appliedUiSchemaOptions.showSortButtons ? (React__default["default"].createElement(React.Fragment, null,
1138
+ React__default["default"].createElement(material.Grid, { item: true },
1139
+ React__default["default"].createElement(material.IconButton, { onClick: moveUp(path, index), style: iconStyle, disabled: !enableMoveUp, "aria-label": "Move up", size: 'large' },
1140
+ React__default["default"].createElement(ArrowUpward__default["default"], null))),
1141
+ React__default["default"].createElement(material.Grid, { item: true },
1142
+ React__default["default"].createElement(material.IconButton, { onClick: moveDown(path, index), style: iconStyle, disabled: !enableMoveDown, "aria-label": "Move down", size: 'large' },
1143
+ React__default["default"].createElement(ArrowDownward__default["default"], null))))) : (''),
1144
+ React__default["default"].createElement(material.Grid, { item: true },
1145
+ React__default["default"].createElement(material.IconButton, { onClick: removeItems(path, [index]), style: iconStyle, "aria-label": "Delete", size: 'large' },
1146
+ React__default["default"].createElement(DeleteIcon__default["default"], null))))))))),
1147
+ React__default["default"].createElement(material.AccordionDetails, null,
1148
+ React__default["default"].createElement(react.JsonFormsDispatch, { schema: schema, uischema: foundUISchema, path: childPath, key: childPath, renderers: renderers, cells: cells }))));
1149
+ };
1150
+ var ExpandPanelRenderer = React__default["default"].memo(ExpandPanelRendererComponent);
1151
+ var ctxDispatchToExpandPanelProps = function (dispatch) { return ({
1152
+ removeItems: React.useCallback(function (path, toDelete) { return function (event) {
1153
+ event.stopPropagation();
1154
+ dispatch(core.update(path, function (array) {
1155
+ toDelete
1156
+ .sort()
1157
+ .reverse()
1158
+ .forEach(function (s) { return array.splice(s, 1); });
1159
+ return array;
1160
+ }));
1161
+ }; }, [dispatch]),
1162
+ moveUp: React.useCallback(function (path, toMove) { return function (event) {
1163
+ event.stopPropagation();
1164
+ dispatch(core.update(path, function (array) {
1165
+ core.moveUp(array, toMove);
1166
+ return array;
1167
+ }));
1168
+ }; }, [dispatch]),
1169
+ moveDown: React.useCallback(function (path, toMove) { return function (event) {
1170
+ event.stopPropagation();
1171
+ dispatch(core.update(path, function (array) {
1172
+ core.moveDown(array, toMove);
1173
+ return array;
1174
+ }));
1175
+ }; }, [dispatch])
1176
+ }); };
1177
+ var withContextToExpandPanelProps = function (Component) { return function (_a) {
1178
+ var ctx = _a.ctx, props = _a.props;
1179
+ var dispatchProps = ctxDispatchToExpandPanelProps(ctx.dispatch);
1180
+ var childLabelProp = props.childLabelProp, schema = props.schema, path = props.path, index = props.index, uischemas = props.uischemas;
1181
+ var childPath = core.composePaths(path, "" + index);
1182
+ var childData = core.Resolve.data(ctx.core.data, childPath);
1183
+ var childLabel = childLabelProp
1184
+ ? get__default["default"](childData, childLabelProp, '')
1185
+ : get__default["default"](childData, core.getFirstPrimitiveProp(schema), '');
1186
+ return (React__default["default"].createElement(Component, __assign({}, props, dispatchProps, { childLabel: childLabel, childPath: childPath, uischemas: uischemas })));
1187
+ }; };
1188
+ var withJsonFormsExpandPanelProps = function (Component) {
1189
+ return react.withJsonFormsContext(withContextToExpandPanelProps(Component));
1190
+ };
1191
+ var ExpandPanelRenderer$1 = withJsonFormsExpandPanelProps(ExpandPanelRenderer);
1192
+
1193
+ var MaterialArrayLayoutComponent = function (props) {
1194
+ var _a = React.useState(false), expanded = _a[0], setExpanded = _a[1];
1195
+ var innerCreateDefaultValue = React.useCallback(function () { return core.createDefaultValue(props.schema); }, [props.schema]);
1196
+ var handleChange = React.useCallback(function (panel) { return function (_event, expandedPanel) {
1197
+ setExpanded(expandedPanel ? panel : false);
1198
+ }; }, []);
1199
+ var isExpanded = function (index) {
1200
+ return expanded === core.composePaths(props.path, "" + index);
1201
+ };
1202
+ var data = props.data, path = props.path, schema = props.schema, uischema = props.uischema, errors = props.errors, addItem = props.addItem, renderers = props.renderers, cells = props.cells, label = props.label, required = props.required, rootSchema = props.rootSchema, config = props.config, uischemas = props.uischemas;
1203
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, props.uischema.options);
1204
+ return (React__default["default"].createElement("div", null,
1205
+ React__default["default"].createElement(ArrayLayoutToolbar, { label: core.computeLabel(label, required, appliedUiSchemaOptions.hideRequiredAsterisk), errors: errors, path: path, addItem: addItem, createDefault: innerCreateDefaultValue }),
1206
+ React__default["default"].createElement("div", null, data > 0 ? (map__default["default"](range__default["default"](data), function (index) {
1207
+ return (React__default["default"].createElement(ExpandPanelRenderer$1, { index: index, expanded: isExpanded(index), schema: schema, path: path, handleExpansion: handleChange, uischema: uischema, renderers: renderers, cells: cells, key: index, rootSchema: rootSchema, enableMoveUp: index != 0, enableMoveDown: index < data - 1, config: config, childLabelProp: appliedUiSchemaOptions.elementLabelProp, uischemas: uischemas }));
1208
+ })) : (React__default["default"].createElement("p", null, "No data")))));
1209
+ };
1210
+ var MaterialArrayLayout$1 = React__default["default"].memo(MaterialArrayLayoutComponent);
1211
+
1212
+ var MaterialArrayLayoutRenderer = function (_a) {
1213
+ var visible = _a.visible, enabled = _a.enabled, id = _a.id, uischema = _a.uischema, schema = _a.schema, label = _a.label, rootSchema = _a.rootSchema, renderers = _a.renderers, cells = _a.cells, data = _a.data, path = _a.path, errors = _a.errors, uischemas = _a.uischemas, addItem = _a.addItem;
1214
+ var addItemCb = React.useCallback(function (p, value) { return addItem(p, value); }, [
1215
+ addItem
1216
+ ]);
1217
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
1218
+ React__default["default"].createElement(MaterialArrayLayout$1, { label: label, uischema: uischema, schema: schema, id: id, rootSchema: rootSchema, errors: errors, enabled: enabled, visible: visible, data: data, path: path, addItem: addItemCb, renderers: renderers, cells: cells, uischemas: uischemas })));
1219
+ };
1220
+ var materialArrayLayoutTester = core.rankWith(4, core.isObjectArrayWithNesting);
1221
+ var MaterialArrayLayout = react.withJsonFormsArrayLayoutProps(MaterialArrayLayoutRenderer);
1222
+
1223
+ var MaterialBooleanCell = function (props) {
1224
+ return React__default["default"].createElement(MuiCheckbox, __assign({}, props));
1225
+ };
1226
+ var materialBooleanCellTester = core.rankWith(2, core.isBooleanControl);
1227
+ var MaterialBooleanCell$1 = react.withJsonFormsCellProps(MaterialBooleanCell);
1228
+
1229
+ var MaterialBooleanToggleCell = function (props) {
1230
+ return React__default["default"].createElement(MuiToggle, __assign({}, props));
1231
+ };
1232
+ var materialBooleanToggleCellTester = core.rankWith(3, core.and(core.isBooleanControl, core.optionIs('toggle', true)));
1233
+ var MaterialBooleanToggleCell$1 = react.withJsonFormsCellProps(MaterialBooleanToggleCell);
1234
+
1235
+ var MaterialDateCell = function (props) {
1236
+ var data = props.data, className = props.className, id = props.id, enabled = props.enabled, uischema = props.uischema, path = props.path, handleChange = props.handleChange, config = props.config;
1237
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
1238
+ return (React__default["default"].createElement(Input__default["default"], { type: 'date', value: data || '', onChange: function (ev) { return handleChange(path, ev.target.value); }, className: className, id: id, disabled: !enabled, autoFocus: appliedUiSchemaOptions.focus, fullWidth: true }));
1239
+ };
1240
+ var materialDateCellTester = core.rankWith(2, core.isDateControl);
1241
+ var MaterialDateCell$1 = react.withJsonFormsCellProps(MaterialDateCell);
1242
+
1243
+ var MaterialEnumCell = function (props) { return (React__default["default"].createElement(MuiSelect, __assign({}, props))); };
1244
+ var materialEnumCellTester = core.rankWith(2, core.isEnumControl);
1245
+ var MaterialEnumCell$1 = react.withJsonFormsEnumCellProps(MaterialEnumCell);
1246
+
1247
+ var MaterialIntegerCell = function (props) { return (React__default["default"].createElement(MuiInputInteger, __assign({}, props))); };
1248
+ var materialIntegerCellTester = core.rankWith(2, core.isIntegerControl);
1249
+ var MaterialIntegerCell$1 = react.withJsonFormsCellProps(MaterialIntegerCell);
1250
+
1251
+ var MaterialNumberCell = function (props) { return (React__default["default"].createElement(MuiInputNumber, __assign({}, props))); };
1252
+ var materialNumberCellTester = core.rankWith(2, core.isNumberControl);
1253
+ var MaterialNumberCell$1 = react.withJsonFormsCellProps(MaterialNumberCell);
1254
+
1255
+ var MaterialNumberFormatCell = function (props) { return React__default["default"].createElement(MuiInputNumberFormat, __assign({}, props)); };
1256
+ var materialNumberFormatCellTester = core.rankWith(4, core.isNumberFormatControl);
1257
+ var MaterialNumberFormatCell$1 = react.withJsonFormsCellProps(MaterialNumberFormatCell);
1258
+
1259
+ var MaterialOneOfEnumCell = function (props) { return (React__default["default"].createElement(MuiSelect, __assign({}, props))); };
1260
+ var materialOneOfEnumCellTester = core.rankWith(2, core.isOneOfEnumControl);
1261
+ var MaterialOneOfEnumCell$1 = react.withJsonFormsOneOfEnumCellProps(MaterialOneOfEnumCell);
1262
+
1263
+ var MaterialTextCell = function (props) { return (React__default["default"].createElement(MuiInputText, __assign({}, props))); };
1264
+ var materialTextCellTester = core.rankWith(1, core.isStringControl);
1265
+ var MaterialTextCell$1 = react.withJsonFormsCellProps(MaterialTextCell);
1266
+
1267
+ var MaterialTimeCell = function (props) { return (React__default["default"].createElement(MuiInputTime, __assign({}, props))); };
1268
+ var materialTimeCellTester = core.rankWith(2, core.isTimeControl);
1269
+ var MaterialTimeCell$1 = react.withJsonFormsCellProps(MaterialTimeCell);
1270
+
1271
+ var CustomizableCells = /*#__PURE__*/Object.freeze({
1272
+ __proto__: null,
1273
+ MaterialBooleanCell: MaterialBooleanCell,
1274
+ MaterialDateCell: MaterialDateCell,
1275
+ MaterialEnumCell: MaterialEnumCell,
1276
+ MaterialIntegerCell: MaterialIntegerCell,
1277
+ MaterialNumberCell: MaterialNumberCell,
1278
+ MaterialNumberFormatCell: MaterialNumberFormatCell,
1279
+ MaterialOneOfEnumCell: MaterialOneOfEnumCell,
1280
+ MaterialTextCell: MaterialTextCell,
1281
+ MaterialTimeCell: MaterialTimeCell
1282
+ });
1283
+
1284
+ var materialCategorizationStepperTester = core.rankWith(2, core.and(core.uiTypeIs('Categorization'), core.categorizationHasCategory, core.optionIs('variant', 'stepper')));
1285
+ var MaterialCategorizationStepperLayoutRenderer = function (props) {
1286
+ var _a = React.useState(0), activeCategory = _a[0], setActiveCategory = _a[1];
1287
+ var handleStep = function (step) {
1288
+ setActiveCategory(step);
1289
+ };
1290
+ var data = props.data, path = props.path, renderers = props.renderers, schema = props.schema, uischema = props.uischema, visible = props.visible, cells = props.cells, config = props.config, ajv = props.ajv;
1291
+ var categorization = uischema;
1292
+ var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
1293
+ var buttonWrapperStyle = {
1294
+ textAlign: 'right',
1295
+ width: '100%',
1296
+ margin: '1em auto'
1297
+ };
1298
+ var buttonNextStyle = {
1299
+ float: 'right'
1300
+ };
1301
+ var buttonStyle = {
1302
+ marginRight: '1em'
1303
+ };
1304
+ var categories = categorization.elements.filter(function (category) {
1305
+ return core.isVisible(category, data, undefined, ajv);
1306
+ });
1307
+ var childProps = {
1308
+ elements: categories[activeCategory].elements,
1309
+ schema: schema,
1310
+ path: path,
1311
+ direction: 'column',
1312
+ visible: visible,
1313
+ renderers: renderers,
1314
+ cells: cells
1315
+ };
1316
+ return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
1317
+ React__default["default"].createElement(material.Stepper, { activeStep: activeCategory, nonLinear: true }, categories.map(function (e, idx) { return (React__default["default"].createElement(material.Step, { key: e.label },
1318
+ React__default["default"].createElement(material.StepButton, { onClick: function () { return handleStep(idx); } }, e.label))); })),
1319
+ React__default["default"].createElement("div", null,
1320
+ React__default["default"].createElement(MaterialLayoutRenderer, __assign({}, childProps))),
1321
+ !!appliedUiSchemaOptions.showNavButtons ? (React__default["default"].createElement("div", { style: buttonWrapperStyle },
1322
+ React__default["default"].createElement(material.Button, { style: buttonNextStyle, variant: "contained", color: "primary", disabled: activeCategory >= categories.length - 1, onClick: function () { return handleStep(activeCategory + 1); } }, "Next"),
1323
+ React__default["default"].createElement(material.Button, { style: buttonStyle, color: "secondary", variant: "contained", disabled: activeCategory <= 0, onClick: function () { return handleStep(activeCategory - 1); } }, "Previous"))) : (React__default["default"].createElement(React__default["default"].Fragment, null))));
1324
+ };
1325
+ var MaterialCategorizationStepperLayout = react.withJsonFormsLayoutProps(withAjvProps(MaterialCategorizationStepperLayoutRenderer));
1326
+
1327
+ var materialRenderers = [
1328
+ {
1329
+ tester: materialArrayControlTester,
1330
+ renderer: MaterialArrayControlRenderer$1
1331
+ },
1332
+ { tester: materialBooleanControlTester, renderer: MaterialBooleanControl$1 },
1333
+ { tester: materialBooleanToggleControlTester, renderer: MaterialBooleanToggleControl$1 },
1334
+ { tester: materialNativeControlTester, renderer: MaterialNativeControl$1 },
1335
+ { tester: materialEnumControlTester, renderer: MaterialEnumControl$1 },
1336
+ { tester: materialIntegerControlTester, renderer: MaterialIntegerControl$1 },
1337
+ { tester: materialNumberControlTester, renderer: MaterialNumberControl$1 },
1338
+ { tester: materialTextControlTester, renderer: MaterialTextControl$1 },
1339
+ { tester: materialDateTimeControlTester, renderer: MaterialDateTimeControl$1 },
1340
+ { tester: materialDateControlTester, renderer: MaterialDateControl$1 },
1341
+ { tester: materialTimeControlTester, renderer: MaterialTimeControl$1 },
1342
+ { tester: materialSliderControlTester, renderer: MaterialSliderControl$1 },
1343
+ { tester: materialObjectControlTester, renderer: MaterialObjectRenderer$1 },
1344
+ { tester: materialAllOfControlTester, renderer: MaterialAllOfRenderer$1 },
1345
+ { tester: materialAnyOfControlTester, renderer: MaterialAnyOfRenderer$1 },
1346
+ { tester: materialOneOfControlTester, renderer: MaterialOneOfRenderer$1 },
1347
+ {
1348
+ tester: materialRadioGroupControlTester,
1349
+ renderer: MaterialRadioGroupControl$1
1350
+ },
1351
+ {
1352
+ tester: materialOneOfRadioGroupControlTester,
1353
+ renderer: MaterialOneOfRadioGroupControl$1
1354
+ },
1355
+ { tester: materialOneOfEnumControlTester, renderer: MaterialOneOfEnumControl$1 },
1356
+ { tester: materialGroupTester, renderer: MaterialGroupLayout },
1357
+ {
1358
+ tester: materialHorizontalLayoutTester,
1359
+ renderer: MaterialHorizontalLayout
1360
+ },
1361
+ { tester: materialVerticalLayoutTester, renderer: MaterialVerticalLayout },
1362
+ {
1363
+ tester: materialCategorizationTester,
1364
+ renderer: MaterialCategorizationLayout
1365
+ },
1366
+ {
1367
+ tester: materialCategorizationStepperTester,
1368
+ renderer: MaterialCategorizationStepperLayout
1369
+ },
1370
+ { tester: materialArrayLayoutTester, renderer: MaterialArrayLayout },
1371
+ { tester: materialLabelRendererTester, renderer: MaterialLabelRenderer$1 },
1372
+ {
1373
+ tester: materialListWithDetailTester,
1374
+ renderer: MaterialListWithDetailRenderer$1
1375
+ },
1376
+ {
1377
+ tester: materialAnyOfStringOrEnumControlTester,
1378
+ renderer: MaterialAnyOfStringOrEnumControl$1
1379
+ },
1380
+ {
1381
+ tester: materialEnumArrayRendererTester,
1382
+ renderer: MaterialEnumArrayRenderer$1
1383
+ }
1384
+ ];
1385
+ var materialCells = [
1386
+ { tester: materialBooleanCellTester, cell: MaterialBooleanCell$1 },
1387
+ { tester: materialBooleanToggleCellTester, cell: MaterialBooleanToggleCell$1 },
1388
+ { tester: materialDateCellTester, cell: MaterialDateCell$1 },
1389
+ { tester: materialEnumCellTester, cell: MaterialEnumCell$1 },
1390
+ { tester: materialIntegerCellTester, cell: MaterialIntegerCell$1 },
1391
+ { tester: materialNumberCellTester, cell: MaterialNumberCell$1 },
1392
+ { tester: materialNumberFormatCellTester, cell: MaterialNumberFormatCell$1 },
1393
+ { tester: materialOneOfEnumCellTester, cell: MaterialOneOfEnumCell$1 },
1394
+ { tester: materialTextCellTester, cell: MaterialTextCell$1 },
1395
+ { tester: materialTimeCellTester, cell: MaterialTimeCell$1 }
1396
+ ];
1397
+
1398
+ exports.Customizable = CustomizableCells;
1399
+ exports.MaterialAllOfRenderer = MaterialAllOfRenderer$1;
1400
+ exports.MaterialAnyOfRenderer = MaterialAnyOfRenderer$1;
1401
+ exports.MaterialAnyOfStringOrEnumControl = MaterialAnyOfStringOrEnumControl$1;
1402
+ exports.MaterialArrayControlRenderer = MaterialArrayControlRenderer$1;
1403
+ exports.MaterialArrayLayout = MaterialArrayLayout;
1404
+ exports.MaterialBooleanCell = MaterialBooleanCell$1;
1405
+ exports.MaterialBooleanControl = MaterialBooleanControl$1;
1406
+ exports.MaterialBooleanToggleCell = MaterialBooleanToggleCell$1;
1407
+ exports.MaterialBooleanToggleControl = MaterialBooleanToggleControl$1;
1408
+ exports.MaterialCategorizationLayout = MaterialCategorizationLayout;
1409
+ exports.MaterialDateCell = MaterialDateCell$1;
1410
+ exports.MaterialDateControl = MaterialDateControl$1;
1411
+ exports.MaterialDateTimeControl = MaterialDateTimeControl$1;
1412
+ exports.MaterialEnumArrayRenderer = MaterialEnumArrayRenderer$1;
1413
+ exports.MaterialEnumCell = MaterialEnumCell$1;
1414
+ exports.MaterialEnumControl = MaterialEnumControl$1;
1415
+ exports.MaterialGroupLayout = MaterialGroupLayout;
1416
+ exports.MaterialHorizontalLayout = MaterialHorizontalLayout;
1417
+ exports.MaterialInputControl = MaterialInputControl;
1418
+ exports.MaterialIntegerCell = MaterialIntegerCell$1;
1419
+ exports.MaterialIntegerControl = MaterialIntegerControl$1;
1420
+ exports.MaterialLayoutRenderer = MaterialLayoutRenderer;
1421
+ exports.MaterialNativeControl = MaterialNativeControl$1;
1422
+ exports.MaterialNumberCell = MaterialNumberCell$1;
1423
+ exports.MaterialNumberControl = MaterialNumberControl$1;
1424
+ exports.MaterialNumberFormatCell = MaterialNumberFormatCell$1;
1425
+ exports.MaterialObjectRenderer = MaterialObjectRenderer$1;
1426
+ exports.MaterialOneOfEnumCell = MaterialOneOfEnumCell$1;
1427
+ exports.MaterialOneOfEnumControl = MaterialOneOfEnumControl$1;
1428
+ exports.MaterialOneOfRadioGroupControl = MaterialOneOfRadioGroupControl$1;
1429
+ exports.MaterialOneOfRenderer = MaterialOneOfRenderer$1;
1430
+ exports.MaterialRadioGroupControl = MaterialRadioGroupControl$1;
1431
+ exports.MaterialSliderControl = MaterialSliderControl$1;
1432
+ exports.MaterialTextCell = MaterialTextCell$1;
1433
+ exports.MaterialTextControl = MaterialTextControl$1;
1434
+ exports.MaterialTimeCell = MaterialTimeCell$1;
1435
+ exports.MaterialTimeControl = MaterialTimeControl$1;
1436
+ exports.MaterialVerticalLayout = MaterialVerticalLayout;
1437
+ exports.MuiCheckbox = MuiCheckbox;
1438
+ exports.MuiInputInteger = MuiInputInteger;
1439
+ exports.MuiInputNumber = MuiInputNumber;
1440
+ exports.MuiInputNumberFormat = MuiInputNumberFormat;
1441
+ exports.MuiInputText = MuiInputText;
1442
+ exports.MuiInputTime = MuiInputTime;
1443
+ exports.MuiSelect = MuiSelect;
1444
+ exports.Unwrapped = Unwrapped;
1445
+ exports.createOnChangeHandler = createOnChangeHandler;
1446
+ exports.getData = getData;
1447
+ exports.materialAllOfControlTester = materialAllOfControlTester;
1448
+ exports.materialAnyOfControlTester = materialAnyOfControlTester;
1449
+ exports.materialAnyOfStringOrEnumControlTester = materialAnyOfStringOrEnumControlTester;
1450
+ exports.materialArrayControlTester = materialArrayControlTester;
1451
+ exports.materialArrayLayoutTester = materialArrayLayoutTester;
1452
+ exports.materialBooleanCellTester = materialBooleanCellTester;
1453
+ exports.materialBooleanControlTester = materialBooleanControlTester;
1454
+ exports.materialBooleanToggleCellTester = materialBooleanToggleCellTester;
1455
+ exports.materialBooleanToggleControlTester = materialBooleanToggleControlTester;
1456
+ exports.materialCategorizationTester = materialCategorizationTester;
1457
+ exports.materialCells = materialCells;
1458
+ exports.materialDateCellTester = materialDateCellTester;
1459
+ exports.materialDateControlTester = materialDateControlTester;
1460
+ exports.materialDateTimeControlTester = materialDateTimeControlTester;
1461
+ exports.materialEnumArrayRendererTester = materialEnumArrayRendererTester;
1462
+ exports.materialEnumCellTester = materialEnumCellTester;
1463
+ exports.materialEnumControlTester = materialEnumControlTester;
1464
+ exports.materialGroupTester = materialGroupTester;
1465
+ exports.materialHorizontalLayoutTester = materialHorizontalLayoutTester;
1466
+ exports.materialIntegerCellTester = materialIntegerCellTester;
1467
+ exports.materialIntegerControlTester = materialIntegerControlTester;
1468
+ exports.materialNativeControlTester = materialNativeControlTester;
1469
+ exports.materialNumberCellTester = materialNumberCellTester;
1470
+ exports.materialNumberControlTester = materialNumberControlTester;
1471
+ exports.materialNumberFormatCellTester = materialNumberFormatCellTester;
1472
+ exports.materialObjectControlTester = materialObjectControlTester;
1473
+ exports.materialOneOfControlTester = materialOneOfControlTester;
1474
+ exports.materialOneOfEnumCellTester = materialOneOfEnumCellTester;
1475
+ exports.materialOneOfEnumControlTester = materialOneOfEnumControlTester;
1476
+ exports.materialOneOfRadioGroupControlTester = materialOneOfRadioGroupControlTester;
1477
+ exports.materialRadioGroupControlTester = materialRadioGroupControlTester;
1478
+ exports.materialRenderers = materialRenderers;
1479
+ exports.materialSliderControlTester = materialSliderControlTester;
1480
+ exports.materialTextCellTester = materialTextCellTester;
1481
+ exports.materialTextControlTester = materialTextControlTester;
1482
+ exports.materialTimeCellTester = materialTimeCellTester;
1483
+ exports.materialTimeControlTester = materialTimeControlTester;
1484
+ exports.materialVerticalLayoutTester = materialVerticalLayoutTester;
1485
+ exports.renderLayoutElements = renderLayoutElements;
1486
+ exports.useDebouncedChange = useDebouncedChange;
1487
+ exports.useFocus = useFocus;
1488
+ exports.withAjvProps = withAjvProps;
1489
+ //# sourceMappingURL=jsonforms-react-material.cjs.js.map