@nolwenture/formik-jsonschema-form 0.26.8 → 1.0.0-beta.2

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 (660) hide show
  1. package/README.md +32 -13
  2. package/dist/cjs/Form/Form.js +49 -0
  3. package/dist/cjs/Form/FormRegistry.js +17 -0
  4. package/dist/cjs/Form/components/Clickable.js +18 -0
  5. package/dist/cjs/Form/components/ErrorMessage.js +32 -0
  6. package/dist/cjs/Form/components/FieldInfo.js +104 -0
  7. package/dist/cjs/Form/components/FieldInput.js +59 -0
  8. package/dist/cjs/Form/components/Form.js +54 -0
  9. package/dist/cjs/Form/components/Icon.js +7 -0
  10. package/dist/cjs/Form/components/RequiredIndicator.js +9 -0
  11. package/dist/cjs/Form/components/index.js +48 -0
  12. package/dist/cjs/{fields → Form/fields/AnyField}/AnyField.js +5 -4
  13. package/dist/cjs/Form/fields/AnyField/index.js +28 -0
  14. package/dist/cjs/Form/fields/AnyField/styledComponents.js +9 -0
  15. package/dist/cjs/{fields → Form/fields/ArrayField}/ArrayField.js +9 -11
  16. package/dist/cjs/Form/fields/ArrayField/index.js +28 -0
  17. package/dist/cjs/Form/fields/ArrayField/styledComponents.js +17 -0
  18. package/dist/cjs/{fields → Form/fields/BooleanField}/BooleanField.js +5 -4
  19. package/dist/cjs/Form/fields/BooleanField/index.js +28 -0
  20. package/dist/cjs/Form/fields/BooleanField/styledComponents.js +15 -0
  21. package/dist/cjs/Form/fields/DateField/DateField.js +17 -0
  22. package/dist/cjs/Form/fields/DateField/index.js +28 -0
  23. package/dist/cjs/Form/fields/DateField/styledComponents.js +9 -0
  24. package/dist/cjs/{fields → Form/fields/FileUploadField}/FileUploadField.js +7 -6
  25. package/dist/cjs/Form/fields/FileUploadField/FileUploadFieldInput.js +21 -0
  26. package/dist/cjs/Form/fields/FileUploadField/index.js +31 -0
  27. package/dist/cjs/Form/fields/FileUploadField/styledComponents.js +63 -0
  28. package/dist/cjs/{fields → Form/fields/MultipleChoiceField}/MultipleChoiceField.js +7 -7
  29. package/dist/cjs/Form/fields/MultipleChoiceField/MultipleChoiceFieldInput.js +39 -0
  30. package/dist/cjs/Form/fields/MultipleChoiceField/index.js +31 -0
  31. package/dist/cjs/Form/fields/MultipleChoiceField/styledComponents.js +17 -0
  32. package/dist/cjs/{fields → Form/fields/NullField}/NullField.js +2 -2
  33. package/dist/cjs/Form/fields/NullField/index.js +27 -0
  34. package/dist/cjs/Form/fields/NumberField/NumberField.js +16 -0
  35. package/dist/cjs/Form/fields/NumberField/index.js +28 -0
  36. package/dist/cjs/Form/fields/NumberField/styledComponents.js +8 -0
  37. package/dist/cjs/{fields → Form/fields/ObjectField}/ObjectField.js +39 -16
  38. package/dist/cjs/Form/fields/ObjectField/ObjectFieldSection.js +16 -0
  39. package/dist/cjs/Form/fields/ObjectField/index.js +31 -0
  40. package/dist/cjs/Form/fields/ObjectField/styledComponents.js +37 -0
  41. package/dist/cjs/Form/fields/RadioField/RadioField.js +16 -0
  42. package/dist/cjs/Form/fields/RadioField/RadioFieldInput.js +11 -0
  43. package/dist/cjs/Form/fields/RadioField/index.js +31 -0
  44. package/dist/cjs/Form/fields/RadioField/styledComponents.js +27 -0
  45. package/dist/cjs/{fields → Form/fields/SchemaField}/SchemaField.js +9 -10
  46. package/dist/cjs/Form/fields/SchemaField/index.js +27 -0
  47. package/dist/cjs/Form/fields/SearchableMultiTagSelectField/SearchableMultiTagSelectField.js +17 -0
  48. package/dist/cjs/Form/fields/SearchableMultiTagSelectField/SearchableMultiTagSelectFieldInput.js +27 -0
  49. package/dist/cjs/Form/fields/SearchableMultiTagSelectField/index.js +31 -0
  50. package/dist/cjs/Form/fields/SearchableMultiTagSelectField/styledComponents.js +68 -0
  51. package/dist/cjs/{fields → Form/fields/SearchableSelectField}/SearchableSelectField.js +14 -8
  52. package/dist/cjs/Form/fields/SearchableSelectField/index.js +30 -0
  53. package/dist/cjs/Form/fields/SearchableSelectField/styledComponents.js +50 -0
  54. package/dist/cjs/Form/fields/SearchableSelectField/types.js +2 -0
  55. package/dist/cjs/Form/fields/StringField/StringField.js +39 -0
  56. package/dist/cjs/Form/fields/StringField/index.js +27 -0
  57. package/dist/cjs/Form/fields/StringField/styledComponents.js +9 -0
  58. package/dist/cjs/{fields → Form/fields/TextAreaField}/TextAreaField.js +6 -5
  59. package/dist/cjs/Form/fields/TextAreaField/index.js +28 -0
  60. package/dist/cjs/Form/fields/TextAreaField/styledComponents.js +17 -0
  61. package/dist/cjs/{fields → Form/fields/ToggleField}/ToggleField.js +6 -5
  62. package/dist/cjs/Form/fields/ToggleField/ToggleFieldInput.js +11 -0
  63. package/dist/cjs/Form/fields/ToggleField/index.js +31 -0
  64. package/dist/cjs/Form/fields/ToggleField/styledComponents.js +53 -0
  65. package/dist/cjs/Form/fields/index.js +81 -0
  66. package/dist/cjs/{hooks → Form/hooks}/index.js +0 -1
  67. package/dist/cjs/{hooks → Form/hooks}/useSetDefault.js +2 -2
  68. package/dist/cjs/Form/index.js +29 -0
  69. package/dist/cjs/Form/styles/common.js +211 -0
  70. package/dist/cjs/{templates → Form/templates/ArrayFieldTemplate}/ArrayFieldTemplate.js +7 -9
  71. package/dist/cjs/Form/templates/ArrayFieldTemplate/index.js +28 -0
  72. package/dist/cjs/Form/templates/ArrayFieldTemplate/styledComponents.js +25 -0
  73. package/dist/cjs/Form/templates/ArrayFieldTemplate/types.js +2 -0
  74. package/dist/cjs/Form/templates/CollapsibleObjectFieldTemplate/CollapsibleObjectFieldTemplate.js +34 -0
  75. package/dist/cjs/Form/templates/CollapsibleObjectFieldTemplate/index.js +28 -0
  76. package/dist/cjs/Form/templates/CollapsibleObjectFieldTemplate/styledComponents.js +46 -0
  77. package/dist/cjs/Form/templates/CollapsibleObjectFieldTemplate/types.js +2 -0
  78. package/dist/cjs/{templates → Form/templates/FieldTemplate}/FieldTemplate.js +5 -6
  79. package/dist/cjs/Form/templates/FieldTemplate/index.js +27 -0
  80. package/dist/cjs/Form/templates/FieldTemplate/types.js +2 -0
  81. package/dist/cjs/{templates → Form/templates/ObjectFieldTemplate}/ObjectFieldTemplate.js +7 -7
  82. package/dist/cjs/Form/templates/ObjectFieldTemplate/index.js +28 -0
  83. package/dist/cjs/Form/templates/ObjectFieldTemplate/styledComponents.js +35 -0
  84. package/dist/cjs/Form/templates/ObjectFieldTemplate/types.js +2 -0
  85. package/dist/cjs/Form/templates/index.js +45 -0
  86. package/dist/cjs/Form/types/FormRegistryContext.js +2 -0
  87. package/dist/cjs/{pdfTemplates → Form/types}/index.js +1 -4
  88. package/dist/cjs/FormView/FormView.js +42 -0
  89. package/dist/cjs/FormView/FormViewRegistry.js +17 -0
  90. package/dist/cjs/FormView/components/Field.js +13 -0
  91. package/dist/cjs/FormView/components/Form.js +5 -0
  92. package/dist/cjs/FormView/components/Icon.js +7 -0
  93. package/dist/cjs/FormView/components/index.js +48 -0
  94. package/dist/cjs/FormView/components/old_styledComponents.js +65 -0
  95. package/dist/cjs/{pdfFields → FormView/fields}/AnyField.js +3 -3
  96. package/dist/cjs/{pdfFields → FormView/fields}/ArrayField.js +3 -5
  97. package/dist/cjs/{pdfFields → FormView/fields}/BooleanField.js +5 -6
  98. package/dist/cjs/{pdfFields → FormView/fields}/EJSField.js +4 -6
  99. package/dist/cjs/FormView/fields/FileUploadField.js +7 -0
  100. package/dist/cjs/{pdfFields → FormView/fields}/MultipleChoiceField.js +7 -9
  101. package/dist/cjs/{pdfFields → FormView/fields}/NullField.js +2 -2
  102. package/dist/cjs/{pdfFields → FormView/fields/ObjectField}/ObjectField.js +21 -13
  103. package/dist/cjs/FormView/fields/ObjectField/ObjectFieldSection.js +11 -0
  104. package/dist/cjs/FormView/fields/ObjectField/index.js +31 -0
  105. package/dist/cjs/FormView/fields/ObjectField/styledComponents.js +6 -0
  106. package/dist/cjs/{pdfFields → FormView/fields}/SchemaField.js +9 -10
  107. package/dist/cjs/FormView/fields/SearchableMultiTagSelectField.js +14 -0
  108. package/dist/cjs/{pdfFields → FormView/fields}/SearchableSelectField.js +3 -3
  109. package/dist/cjs/{pdfFields → FormView/fields}/StringField.js +4 -6
  110. package/dist/cjs/{pdfFields → FormView/fields}/TextAreaField.js +3 -5
  111. package/dist/cjs/FormView/fields/index.js +70 -0
  112. package/dist/cjs/{templates → FormView}/index.js +3 -4
  113. package/dist/cjs/FormView/templates/ArrayFieldTemplate/ArrayFieldTemplate.js +20 -0
  114. package/dist/cjs/FormView/templates/ArrayFieldTemplate/index.js +28 -0
  115. package/dist/cjs/FormView/templates/ArrayFieldTemplate/styledComponents.js +15 -0
  116. package/dist/cjs/FormView/templates/ArrayFieldTemplate/types.js +2 -0
  117. package/dist/cjs/FormView/templates/CollapsibleObjectFieldTemplate/CollapsibleObjectFieldTemplate.js +5 -0
  118. package/dist/cjs/FormView/templates/CollapsibleObjectFieldTemplate/index.js +27 -0
  119. package/dist/cjs/FormView/templates/FieldTemplate/FieldTemplate.js +18 -0
  120. package/dist/cjs/FormView/templates/FieldTemplate/index.js +27 -0
  121. package/dist/cjs/FormView/templates/FieldTemplate/types.js +2 -0
  122. package/dist/cjs/FormView/templates/ObjectFieldTemplate/ObjectFieldTemplate.js +20 -0
  123. package/dist/cjs/FormView/templates/ObjectFieldTemplate/index.js +28 -0
  124. package/dist/cjs/FormView/templates/ObjectFieldTemplate/styledComponents.js +18 -0
  125. package/dist/cjs/FormView/templates/ObjectFieldTemplate/types.js +2 -0
  126. package/dist/cjs/FormView/templates/index.js +45 -0
  127. package/dist/cjs/FormView/types/FormViewRegistryContext.js +2 -0
  128. package/dist/cjs/common/types/Field.js +2 -0
  129. package/dist/cjs/common/types/FieldInfo.js +2 -0
  130. package/dist/cjs/common/types/Form.js +2 -0
  131. package/dist/cjs/common/types/Schemas.js +2 -0
  132. package/dist/cjs/{sampleData → common/types}/index.js +3 -8
  133. package/dist/cjs/index.js +3 -9
  134. package/dist/cjs/utils/extractUiSchema.js +22 -0
  135. package/dist/cjs/utils/getEnums.js +10 -4
  136. package/dist/cjs/utils/index.js +1 -0
  137. package/dist/cjs/utils/orderByUiSchema.js +3 -2
  138. package/dist/esm/{Form.js → Form/Form.js} +14 -18
  139. package/dist/esm/Form/FormRegistry.js +11 -0
  140. package/dist/esm/Form/components/Clickable.js +14 -0
  141. package/dist/esm/Form/components/ErrorMessage.js +3 -0
  142. package/dist/esm/Form/components/FieldInfo.js +100 -0
  143. package/dist/esm/Form/components/FieldInput.js +33 -0
  144. package/dist/esm/Form/components/Form.js +25 -0
  145. package/dist/esm/Form/components/Icon.js +4 -0
  146. package/dist/esm/Form/components/RequiredIndicator.js +6 -0
  147. package/dist/esm/Form/components/index.js +22 -0
  148. package/dist/esm/{fields → Form/fields/AnyField}/AnyField.js +5 -4
  149. package/dist/esm/Form/fields/AnyField/index.js +2 -0
  150. package/dist/esm/Form/fields/AnyField/styledComponents.js +6 -0
  151. package/dist/esm/{fields → Form/fields/ArrayField}/ArrayField.js +8 -10
  152. package/dist/esm/Form/fields/ArrayField/index.js +2 -0
  153. package/dist/esm/Form/fields/ArrayField/styledComponents.js +11 -0
  154. package/dist/esm/{fields → Form/fields/BooleanField}/BooleanField.js +5 -4
  155. package/dist/esm/Form/fields/BooleanField/index.js +2 -0
  156. package/dist/esm/Form/fields/BooleanField/styledComponents.js +12 -0
  157. package/dist/esm/Form/fields/DateField/DateField.js +13 -0
  158. package/dist/esm/Form/fields/DateField/index.js +2 -0
  159. package/dist/esm/Form/fields/DateField/styledComponents.js +6 -0
  160. package/dist/esm/{fields → Form/fields/FileUploadField}/FileUploadField.js +8 -7
  161. package/dist/esm/Form/fields/FileUploadField/FileUploadFieldInput.js +17 -0
  162. package/dist/esm/Form/fields/FileUploadField/index.js +5 -0
  163. package/dist/esm/Form/fields/FileUploadField/styledComponents.js +57 -0
  164. package/dist/esm/{fields → Form/fields/MultipleChoiceField}/MultipleChoiceField.js +6 -6
  165. package/dist/esm/Form/fields/MultipleChoiceField/MultipleChoiceFieldInput.js +35 -0
  166. package/dist/esm/Form/fields/MultipleChoiceField/index.js +5 -0
  167. package/dist/esm/Form/fields/MultipleChoiceField/styledComponents.js +11 -0
  168. package/dist/esm/{fields → Form/fields/NullField}/NullField.js +1 -1
  169. package/dist/esm/Form/fields/NullField/index.js +1 -0
  170. package/dist/esm/Form/fields/NumberField/NumberField.js +12 -0
  171. package/dist/esm/Form/fields/NumberField/index.js +2 -0
  172. package/dist/esm/Form/fields/NumberField/styledComponents.js +5 -0
  173. package/dist/esm/{fields → Form/fields/ObjectField}/ObjectField.js +36 -13
  174. package/dist/esm/Form/fields/ObjectField/ObjectFieldSection.js +12 -0
  175. package/dist/esm/Form/fields/ObjectField/index.js +5 -0
  176. package/dist/esm/Form/fields/ObjectField/styledComponents.js +34 -0
  177. package/dist/esm/Form/fields/RadioField/RadioField.js +12 -0
  178. package/dist/esm/Form/fields/RadioField/RadioFieldInput.js +7 -0
  179. package/dist/esm/Form/fields/RadioField/index.js +5 -0
  180. package/dist/esm/Form/fields/RadioField/styledComponents.js +24 -0
  181. package/dist/esm/{fields → Form/fields/SchemaField}/SchemaField.js +9 -10
  182. package/dist/esm/Form/fields/SchemaField/index.js +1 -0
  183. package/dist/esm/Form/fields/SearchableMultiTagSelectField/SearchableMultiTagSelectField.js +13 -0
  184. package/dist/esm/Form/fields/SearchableMultiTagSelectField/SearchableMultiTagSelectFieldInput.js +23 -0
  185. package/dist/esm/Form/fields/SearchableMultiTagSelectField/index.js +5 -0
  186. package/dist/esm/Form/fields/SearchableMultiTagSelectField/styledComponents.js +65 -0
  187. package/dist/esm/{fields → Form/fields/SearchableSelectField}/SearchableSelectField.js +14 -8
  188. package/dist/esm/Form/fields/SearchableSelectField/index.js +4 -0
  189. package/dist/esm/Form/fields/SearchableSelectField/styledComponents.js +47 -0
  190. package/dist/esm/Form/fields/StringField/StringField.js +35 -0
  191. package/dist/esm/Form/fields/StringField/index.js +1 -0
  192. package/dist/esm/Form/fields/StringField/styledComponents.js +6 -0
  193. package/dist/esm/Form/fields/TextAreaField/TextAreaField.js +12 -0
  194. package/dist/esm/Form/fields/TextAreaField/index.js +2 -0
  195. package/dist/esm/Form/fields/TextAreaField/styledComponents.js +11 -0
  196. package/dist/esm/Form/fields/ToggleField/ToggleField.js +12 -0
  197. package/dist/esm/Form/fields/ToggleField/ToggleFieldInput.js +7 -0
  198. package/dist/esm/Form/fields/ToggleField/index.js +5 -0
  199. package/dist/esm/Form/fields/ToggleField/styledComponents.js +50 -0
  200. package/dist/esm/Form/fields/index.js +55 -0
  201. package/dist/esm/Form/hooks/index.js +1 -0
  202. package/dist/esm/{hooks → Form/hooks}/useSetDefault.js +1 -1
  203. package/dist/esm/Form/index.js +10 -0
  204. package/dist/esm/Form/styles/common.js +208 -0
  205. package/dist/esm/Form/templates/ArrayFieldTemplate/ArrayFieldTemplate.js +32 -0
  206. package/dist/esm/Form/templates/ArrayFieldTemplate/index.js +2 -0
  207. package/dist/esm/Form/templates/ArrayFieldTemplate/styledComponents.js +21 -0
  208. package/dist/esm/Form/templates/CollapsibleObjectFieldTemplate/CollapsibleObjectFieldTemplate.js +30 -0
  209. package/dist/esm/Form/templates/CollapsibleObjectFieldTemplate/index.js +2 -0
  210. package/dist/esm/Form/templates/CollapsibleObjectFieldTemplate/styledComponents.js +42 -0
  211. package/dist/esm/{templates → Form/templates/FieldTemplate}/FieldTemplate.js +6 -7
  212. package/dist/esm/Form/templates/FieldTemplate/index.js +1 -0
  213. package/dist/esm/Form/templates/ObjectFieldTemplate/ObjectFieldTemplate.js +28 -0
  214. package/dist/esm/Form/templates/ObjectFieldTemplate/index.js +2 -0
  215. package/dist/esm/Form/templates/ObjectFieldTemplate/styledComponents.js +31 -0
  216. package/dist/esm/Form/templates/index.js +19 -0
  217. package/dist/esm/Form/types/index.js +1 -0
  218. package/dist/esm/{FormPdf.js → FormView/FormView.js} +7 -17
  219. package/dist/esm/FormView/FormViewRegistry.js +11 -0
  220. package/dist/esm/FormView/components/Field.js +10 -0
  221. package/dist/esm/FormView/components/Form.js +2 -0
  222. package/dist/esm/FormView/components/Icon.js +4 -0
  223. package/dist/esm/FormView/components/index.js +19 -0
  224. package/dist/esm/FormView/components/old_styledComponents.js +57 -0
  225. package/dist/esm/{pdfFields → FormView/fields}/AnyField.js +2 -2
  226. package/dist/esm/{pdfFields → FormView/fields}/ArrayField.js +3 -5
  227. package/dist/esm/{pdfFields → FormView/fields}/BooleanField.js +6 -7
  228. package/dist/esm/{pdfFields → FormView/fields}/EJSField.js +4 -6
  229. package/dist/esm/FormView/fields/FileUploadField.js +3 -0
  230. package/dist/esm/{pdfFields → FormView/fields}/MultipleChoiceField.js +5 -7
  231. package/dist/esm/{pdfFields → FormView/fields}/NullField.js +2 -2
  232. package/dist/esm/FormView/fields/ObjectField/ObjectField.js +53 -0
  233. package/dist/esm/FormView/fields/ObjectField/ObjectFieldSection.js +7 -0
  234. package/dist/esm/FormView/fields/ObjectField/index.js +5 -0
  235. package/dist/esm/FormView/fields/ObjectField/styledComponents.js +3 -0
  236. package/dist/esm/{pdfFields → FormView/fields}/SchemaField.js +10 -11
  237. package/dist/esm/{pdfFields/SearchMultiTagSelectField.js → FormView/fields/SearchableMultiTagSelectField.js} +4 -6
  238. package/dist/esm/{pdfFields → FormView/fields}/SearchableSelectField.js +3 -3
  239. package/dist/esm/{pdfFields → FormView/fields}/StringField.js +4 -6
  240. package/dist/esm/{pdfFields → FormView/fields}/TextAreaField.js +3 -5
  241. package/dist/esm/FormView/fields/index.js +44 -0
  242. package/dist/esm/FormView/index.js +3 -0
  243. package/dist/esm/FormView/templates/ArrayFieldTemplate/ArrayFieldTemplate.js +16 -0
  244. package/dist/esm/FormView/templates/ArrayFieldTemplate/index.js +2 -0
  245. package/dist/esm/FormView/templates/ArrayFieldTemplate/styledComponents.js +11 -0
  246. package/dist/esm/FormView/templates/CollapsibleObjectFieldTemplate/CollapsibleObjectFieldTemplate.js +2 -0
  247. package/dist/esm/FormView/templates/CollapsibleObjectFieldTemplate/index.js +1 -0
  248. package/dist/esm/FormView/templates/FieldTemplate/FieldTemplate.js +14 -0
  249. package/dist/esm/FormView/templates/FieldTemplate/index.js +1 -0
  250. package/dist/esm/FormView/templates/ObjectFieldTemplate/ObjectFieldTemplate.js +16 -0
  251. package/dist/esm/FormView/templates/ObjectFieldTemplate/index.js +2 -0
  252. package/dist/esm/FormView/templates/ObjectFieldTemplate/styledComponents.js +11 -0
  253. package/dist/esm/FormView/templates/index.js +19 -0
  254. package/dist/esm/common/types/Schemas.js +1 -0
  255. package/dist/esm/common/types/index.js +3 -0
  256. package/dist/esm/index.js +2 -8
  257. package/dist/esm/utils/extractUiSchema.js +18 -0
  258. package/dist/esm/utils/getEnums.js +9 -3
  259. package/dist/esm/utils/index.js +1 -0
  260. package/dist/esm/utils/orderByUiSchema.js +3 -2
  261. package/dist/types/Form/Form.d.ts +2 -0
  262. package/dist/types/Form/FormRegistry.d.ts +3 -0
  263. package/dist/types/Form/components/Clickable.d.ts +14 -0
  264. package/dist/types/Form/components/ErrorMessage.d.ts +6 -0
  265. package/dist/types/Form/components/FieldInfo.d.ts +8 -0
  266. package/dist/types/Form/components/FieldInput.d.ts +9 -0
  267. package/dist/types/Form/components/Form.d.ts +5 -0
  268. package/dist/types/Form/components/Icon.d.ts +1 -0
  269. package/dist/types/Form/components/RequiredIndicator.d.ts +1 -0
  270. package/dist/types/Form/components/index.d.ts +210 -0
  271. package/dist/types/Form/fields/AnyField/AnyField.d.ts +2 -0
  272. package/dist/types/Form/fields/AnyField/index.d.ts +2 -0
  273. package/dist/types/Form/fields/AnyField/styledComponents.d.ts +1 -0
  274. package/dist/types/Form/fields/ArrayField/ArrayField.d.ts +2 -0
  275. package/dist/types/Form/fields/ArrayField/index.d.ts +2 -0
  276. package/dist/types/Form/fields/ArrayField/styledComponents.d.ts +21 -0
  277. package/dist/types/Form/fields/BooleanField/BooleanField.d.ts +2 -0
  278. package/dist/types/Form/fields/BooleanField/index.d.ts +2 -0
  279. package/dist/types/Form/fields/BooleanField/styledComponents.d.ts +1 -0
  280. package/dist/types/Form/fields/DateField/DateField.d.ts +2 -0
  281. package/dist/types/Form/fields/DateField/index.d.ts +2 -0
  282. package/dist/types/Form/fields/DateField/styledComponents.d.ts +1 -0
  283. package/dist/types/Form/fields/FileUploadField/FileUploadField.d.ts +2 -0
  284. package/dist/types/Form/fields/FileUploadField/FileUploadFieldInput.d.ts +25 -0
  285. package/dist/types/Form/fields/FileUploadField/index.d.ts +17 -0
  286. package/dist/types/Form/fields/FileUploadField/styledComponents.d.ts +11 -0
  287. package/dist/types/Form/fields/MultipleChoiceField/MultipleChoiceField.d.ts +2 -0
  288. package/dist/types/Form/fields/MultipleChoiceField/MultipleChoiceFieldInput.d.ts +17 -0
  289. package/dist/types/Form/fields/MultipleChoiceField/index.d.ts +22 -0
  290. package/dist/types/Form/fields/MultipleChoiceField/styledComponents.d.ts +16 -0
  291. package/dist/types/Form/fields/NullField/NullField.d.ts +2 -0
  292. package/dist/types/Form/fields/NullField/index.d.ts +1 -0
  293. package/dist/types/Form/fields/NumberField/NumberField.d.ts +2 -0
  294. package/dist/types/Form/fields/NumberField/index.d.ts +2 -0
  295. package/dist/types/Form/fields/NumberField/styledComponents.d.ts +1 -0
  296. package/dist/types/Form/fields/ObjectField/ObjectField.d.ts +2 -0
  297. package/dist/types/Form/fields/ObjectField/ObjectFieldSection.d.ts +3 -0
  298. package/dist/types/Form/fields/ObjectField/index.d.ts +27 -0
  299. package/dist/types/Form/fields/ObjectField/styledComponents.d.ts +21 -0
  300. package/dist/types/Form/fields/ObjectField/types.d.ts +17 -0
  301. package/dist/types/Form/fields/RadioField/RadioField.d.ts +2 -0
  302. package/dist/types/Form/fields/RadioField/RadioFieldInput.d.ts +11 -0
  303. package/dist/types/Form/fields/RadioField/index.d.ts +20 -0
  304. package/dist/types/Form/fields/RadioField/styledComponents.d.ts +14 -0
  305. package/dist/types/Form/fields/SchemaField/SchemaField.d.ts +2 -0
  306. package/dist/types/Form/fields/SchemaField/index.d.ts +1 -0
  307. package/dist/types/Form/fields/SearchableMultiTagSelectField/SearchableMultiTagSelectField.d.ts +2 -0
  308. package/dist/types/Form/fields/SearchableMultiTagSelectField/SearchableMultiTagSelectFieldInput.d.ts +9 -0
  309. package/dist/types/Form/fields/SearchableMultiTagSelectField/index.d.ts +19 -0
  310. package/dist/types/Form/fields/SearchableMultiTagSelectField/styledComponents.d.ts +13 -0
  311. package/dist/types/Form/fields/SearchableSelectField/SearchableSelectField.d.ts +2 -0
  312. package/dist/types/Form/fields/SearchableSelectField/index.d.ts +2 -0
  313. package/dist/types/Form/fields/SearchableSelectField/styledComponents.d.ts +22 -0
  314. package/dist/types/Form/fields/SearchableSelectField/types.d.ts +25 -0
  315. package/dist/types/Form/fields/StringField/StringField.d.ts +2 -0
  316. package/dist/types/Form/fields/StringField/index.d.ts +1 -0
  317. package/dist/types/Form/fields/StringField/styledComponents.d.ts +1 -0
  318. package/dist/types/Form/fields/TextAreaField/TextAreaField.d.ts +2 -0
  319. package/dist/types/Form/fields/TextAreaField/index.d.ts +2 -0
  320. package/dist/types/Form/fields/TextAreaField/styledComponents.d.ts +5 -0
  321. package/dist/types/Form/fields/ToggleField/ToggleField.d.ts +2 -0
  322. package/dist/types/Form/fields/ToggleField/ToggleFieldInput.d.ts +6 -0
  323. package/dist/types/Form/fields/ToggleField/index.d.ts +13 -0
  324. package/dist/types/Form/fields/ToggleField/styledComponents.d.ts +7 -0
  325. package/dist/types/Form/fields/index.d.ts +164 -0
  326. package/dist/types/Form/hooks/index.d.ts +1 -0
  327. package/dist/types/{hooks → Form/hooks}/useSetDefault.d.ts +1 -1
  328. package/dist/types/Form/index.d.ts +11 -0
  329. package/dist/types/Form/styles/common.d.ts +6 -0
  330. package/dist/types/{pdfTemplates → Form/templates/ArrayFieldTemplate}/ArrayFieldTemplate.d.ts +1 -1
  331. package/dist/types/Form/templates/ArrayFieldTemplate/index.d.ts +2 -0
  332. package/dist/types/Form/templates/ArrayFieldTemplate/styledComponents.d.ts +28 -0
  333. package/dist/types/Form/templates/ArrayFieldTemplate/types.d.ts +11 -0
  334. package/dist/types/{pdfTemplates → Form/templates/CollapsibleObjectFieldTemplate}/CollapsibleObjectFieldTemplate.d.ts +1 -1
  335. package/dist/types/Form/templates/CollapsibleObjectFieldTemplate/index.d.ts +2 -0
  336. package/dist/types/Form/templates/CollapsibleObjectFieldTemplate/styledComponents.d.ts +29 -0
  337. package/dist/types/Form/templates/CollapsibleObjectFieldTemplate/types.d.ts +9 -0
  338. package/dist/types/{pdfTemplates → Form/templates/FieldTemplate}/FieldTemplate.d.ts +1 -1
  339. package/dist/types/Form/templates/FieldTemplate/index.d.ts +1 -0
  340. package/dist/types/Form/templates/FieldTemplate/types.d.ts +11 -0
  341. package/dist/types/{pdfTemplates → Form/templates/ObjectFieldTemplate}/ObjectFieldTemplate.d.ts +1 -1
  342. package/dist/types/Form/templates/ObjectFieldTemplate/index.d.ts +2 -0
  343. package/dist/types/Form/templates/ObjectFieldTemplate/styledComponents.d.ts +25 -0
  344. package/dist/types/Form/templates/ObjectFieldTemplate/types.d.ts +8 -0
  345. package/dist/types/Form/templates/index.d.ts +52 -0
  346. package/dist/types/Form/types/FormRegistryContext.d.ts +20 -0
  347. package/dist/types/Form/types/index.d.ts +1 -0
  348. package/dist/types/FormView/FormView.d.ts +4 -0
  349. package/dist/types/FormView/FormViewRegistry.d.ts +3 -0
  350. package/dist/types/FormView/components/Field.d.ts +3 -0
  351. package/dist/types/FormView/components/Form.d.ts +1 -0
  352. package/dist/types/FormView/components/Icon.d.ts +1 -0
  353. package/dist/types/FormView/components/index.d.ts +53 -0
  354. package/dist/types/FormView/components/old_styledComponents.d.ts +32 -0
  355. package/dist/types/FormView/fields/AnyField.d.ts +2 -0
  356. package/dist/types/FormView/fields/ArrayField.d.ts +2 -0
  357. package/dist/types/FormView/fields/BooleanField.d.ts +2 -0
  358. package/dist/types/FormView/fields/DateField.d.ts +2 -0
  359. package/dist/types/FormView/fields/EJSField.d.ts +2 -0
  360. package/dist/types/FormView/fields/FileUploadField.d.ts +2 -0
  361. package/dist/types/FormView/fields/MultipleChoiceField.d.ts +2 -0
  362. package/dist/types/FormView/fields/NullField.d.ts +2 -0
  363. package/dist/types/FormView/fields/NumberField.d.ts +2 -0
  364. package/dist/types/FormView/fields/ObjectField/ObjectField.d.ts +2 -0
  365. package/dist/types/FormView/fields/ObjectField/ObjectFieldSection.d.ts +7 -0
  366. package/dist/types/FormView/fields/ObjectField/index.d.ts +8 -0
  367. package/dist/types/FormView/fields/ObjectField/styledComponents.d.ts +2 -0
  368. package/dist/types/FormView/fields/RadioField.d.ts +2 -0
  369. package/dist/types/FormView/fields/SchemaField.d.ts +2 -0
  370. package/dist/types/FormView/fields/SearchableMultiTagSelectField.d.ts +2 -0
  371. package/dist/types/FormView/fields/SearchableSelectField.d.ts +2 -0
  372. package/dist/types/FormView/fields/StringField.d.ts +2 -0
  373. package/dist/types/FormView/fields/TextAreaField.d.ts +2 -0
  374. package/dist/types/FormView/fields/ToggleField.d.ts +2 -0
  375. package/dist/types/FormView/fields/index.d.ts +12 -0
  376. package/dist/types/FormView/index.d.ts +3 -0
  377. package/dist/types/{templates → FormView/templates/ArrayFieldTemplate}/ArrayFieldTemplate.d.ts +1 -1
  378. package/dist/types/FormView/templates/ArrayFieldTemplate/index.d.ts +2 -0
  379. package/dist/types/FormView/templates/ArrayFieldTemplate/styledComponents.d.ts +10 -0
  380. package/dist/types/FormView/templates/ArrayFieldTemplate/types.d.ts +11 -0
  381. package/dist/types/FormView/templates/CollapsibleObjectFieldTemplate/CollapsibleObjectFieldTemplate.d.ts +1 -0
  382. package/dist/types/FormView/templates/CollapsibleObjectFieldTemplate/index.d.ts +1 -0
  383. package/dist/types/{templates → FormView/templates/FieldTemplate}/FieldTemplate.d.ts +1 -1
  384. package/dist/types/FormView/templates/FieldTemplate/index.d.ts +1 -0
  385. package/dist/types/FormView/templates/FieldTemplate/types.d.ts +11 -0
  386. package/dist/types/{templates → FormView/templates/ObjectFieldTemplate}/ObjectFieldTemplate.d.ts +1 -1
  387. package/dist/types/FormView/templates/ObjectFieldTemplate/index.d.ts +2 -0
  388. package/dist/types/FormView/templates/ObjectFieldTemplate/styledComponents.d.ts +10 -0
  389. package/dist/types/FormView/templates/ObjectFieldTemplate/types.d.ts +8 -0
  390. package/dist/types/FormView/templates/index.d.ts +21 -0
  391. package/dist/types/FormView/types/FormViewRegistryContext.d.ts +19 -0
  392. package/dist/types/{FileUploadContext.d.ts → common/FileUploadContext.d.ts} +2 -2
  393. package/dist/types/common/types/Field.d.ts +20 -0
  394. package/dist/types/common/types/FieldInfo.d.ts +11 -0
  395. package/dist/types/common/types/Form.d.ts +28 -0
  396. package/dist/types/common/types/Schemas.d.ts +88 -0
  397. package/dist/types/common/types/index.d.ts +3 -0
  398. package/dist/types/index.d.ts +1 -8
  399. package/dist/types/utils/createValidationSchema.d.ts +10 -1
  400. package/dist/types/utils/extractUiSchema.d.ts +9 -0
  401. package/dist/types/utils/getEnums.d.ts +6 -2
  402. package/dist/types/utils/getTitleAndDescription.d.ts +3 -3
  403. package/dist/types/utils/getTypes.d.ts +2 -2
  404. package/dist/types/utils/index.d.ts +1 -0
  405. package/dist/types/utils/orderByUiSchema.d.ts +2 -1
  406. package/dist/types/utils/resolveSchema.d.ts +1 -1
  407. package/dist/types/utils/solveReferences.d.ts +2 -2
  408. package/package.json +22 -10
  409. package/dist/cjs/Form.js +0 -79
  410. package/dist/cjs/Form.stories.js +0 -230
  411. package/dist/cjs/Form.test.js +0 -13
  412. package/dist/cjs/FormEditor.js +0 -47
  413. package/dist/cjs/FormEditor.stories.js +0 -12
  414. package/dist/cjs/FormPdf.js +0 -78
  415. package/dist/cjs/FormPdf.stories.js +0 -134
  416. package/dist/cjs/FormPdf.test.js +0 -15
  417. package/dist/cjs/fields/DateField.js +0 -15
  418. package/dist/cjs/fields/RadioField.js +0 -15
  419. package/dist/cjs/fields/SearchMultiTagSelectField.js +0 -18
  420. package/dist/cjs/fields/StringField.js +0 -38
  421. package/dist/cjs/fields/index.js +0 -32
  422. package/dist/cjs/fields/stories/AnyField.stories.js +0 -73
  423. package/dist/cjs/fields/stories/ArrayField.stories.js +0 -218
  424. package/dist/cjs/fields/stories/BooleanField.stories.js +0 -30
  425. package/dist/cjs/fields/stories/DateField.stories.js +0 -28
  426. package/dist/cjs/fields/stories/FileUploadField.stories.js +0 -63
  427. package/dist/cjs/fields/stories/MultipleChoiceField.stories.js +0 -80
  428. package/dist/cjs/fields/stories/NullField.stories.js +0 -32
  429. package/dist/cjs/fields/stories/NumberField.stories.js +0 -27
  430. package/dist/cjs/fields/stories/ObjectField.stories.js +0 -88
  431. package/dist/cjs/fields/stories/RadioField.stories.js +0 -36
  432. package/dist/cjs/fields/stories/SchemaField.stories.js +0 -95
  433. package/dist/cjs/fields/stories/SearchMultiTagSelectField.stories.js +0 -52
  434. package/dist/cjs/fields/stories/StringField.stories.js +0 -69
  435. package/dist/cjs/fields/stories/TextAreaField.stories.js +0 -28
  436. package/dist/cjs/fields/stories/ToggleField.stories.js +0 -28
  437. package/dist/cjs/formEditorSchemas.js +0 -195
  438. package/dist/cjs/hooks/__tests__/useExtractUiSchema.test.js +0 -47
  439. package/dist/cjs/hooks/__tests__/useSetDefault.test.js +0 -67
  440. package/dist/cjs/hooks/useExtractUiSchema.js +0 -27
  441. package/dist/cjs/pdfFields/NumberField.js +0 -12
  442. package/dist/cjs/pdfFields/SearchMultiTagSelectField.js +0 -16
  443. package/dist/cjs/pdfFields/index.js +0 -32
  444. package/dist/cjs/pdfFields/types.js +0 -13
  445. package/dist/cjs/pdfTemplates/ArrayFieldTemplate.js +0 -20
  446. package/dist/cjs/pdfTemplates/CollapsibleObjectFieldTemplate.js +0 -24
  447. package/dist/cjs/pdfTemplates/FieldTemplate.js +0 -19
  448. package/dist/cjs/pdfTemplates/ObjectFieldTemplate.js +0 -22
  449. package/dist/cjs/sampleData/ageFieldDefinition.js +0 -8
  450. package/dist/cjs/sampleData/collapsibleSchema.js +0 -30
  451. package/dist/cjs/sampleData/completeSchema.js +0 -351
  452. package/dist/cjs/sampleData/conditionsSchema.js +0 -85
  453. package/dist/cjs/sampleData/ejsSchema.js +0 -28
  454. package/dist/cjs/sampleData/fileUpload.js +0 -43
  455. package/dist/cjs/sampleData/generatedSchema.js +0 -22
  456. package/dist/cjs/sampleData/multipleChoiceSchema.js +0 -134
  457. package/dist/cjs/sampleData/pdfProExampleSchema.js +0 -188
  458. package/dist/cjs/sampleData/refDefSchema.js +0 -301
  459. package/dist/cjs/sampleData/requiredInputSchema.js +0 -70
  460. package/dist/cjs/sampleData/simpleData.js +0 -20
  461. package/dist/cjs/setupTests.js +0 -7
  462. package/dist/cjs/styledComponents.js +0 -640
  463. package/dist/cjs/templates/CollapsibleObjectFieldTemplate.js +0 -34
  464. package/dist/cjs/utils/__tests/createInitialValues.test.js +0 -106
  465. package/dist/cjs/utils/__tests/createValidationSchema.test.js +0 -946
  466. package/dist/cjs/utils/__tests/deepOverlap.test.js +0 -43
  467. package/dist/cjs/utils/__tests/getEnums.test.js +0 -61
  468. package/dist/cjs/utils/__tests/getTitleAndDescription.test.js +0 -55
  469. package/dist/cjs/utils/__tests/getTypes.test.js +0 -64
  470. package/dist/cjs/utils/__tests/hasReferences.test.js +0 -102
  471. package/dist/cjs/utils/__tests/mergeSchemas.test.js +0 -42
  472. package/dist/cjs/utils/__tests/orderByUiSchema.test.js +0 -65
  473. package/dist/cjs/utils/__tests/resolveSchema.test.js +0 -118
  474. package/dist/cjs/utils/__tests/solveReferences.test.js +0 -58
  475. package/dist/cjs/utils/__tests/testSchemas.js +0 -102
  476. package/dist/cjs/utils/hasReferences.js +0 -15
  477. package/dist/esm/Form.stories.js +0 -222
  478. package/dist/esm/Form.test.js +0 -11
  479. package/dist/esm/FormEditor.js +0 -20
  480. package/dist/esm/FormEditor.stories.js +0 -9
  481. package/dist/esm/FormPdf.stories.js +0 -130
  482. package/dist/esm/FormPdf.test.js +0 -13
  483. package/dist/esm/fields/DateField.js +0 -11
  484. package/dist/esm/fields/RadioField.js +0 -11
  485. package/dist/esm/fields/SearchMultiTagSelectField.js +0 -14
  486. package/dist/esm/fields/StringField.js +0 -34
  487. package/dist/esm/fields/TextAreaField.js +0 -11
  488. package/dist/esm/fields/ToggleField.js +0 -11
  489. package/dist/esm/fields/index.js +0 -16
  490. package/dist/esm/fields/stories/AnyField.stories.js +0 -70
  491. package/dist/esm/fields/stories/ArrayField.stories.js +0 -215
  492. package/dist/esm/fields/stories/BooleanField.stories.js +0 -27
  493. package/dist/esm/fields/stories/DateField.stories.js +0 -25
  494. package/dist/esm/fields/stories/FileUploadField.stories.js +0 -57
  495. package/dist/esm/fields/stories/MultipleChoiceField.stories.js +0 -77
  496. package/dist/esm/fields/stories/NullField.stories.js +0 -29
  497. package/dist/esm/fields/stories/NumberField.stories.js +0 -24
  498. package/dist/esm/fields/stories/ObjectField.stories.js +0 -85
  499. package/dist/esm/fields/stories/RadioField.stories.js +0 -33
  500. package/dist/esm/fields/stories/SchemaField.stories.js +0 -92
  501. package/dist/esm/fields/stories/SearchMultiTagSelectField.stories.js +0 -49
  502. package/dist/esm/fields/stories/StringField.stories.js +0 -66
  503. package/dist/esm/fields/stories/TextAreaField.stories.js +0 -25
  504. package/dist/esm/fields/stories/ToggleField.stories.js +0 -25
  505. package/dist/esm/formEditorSchemas.js +0 -192
  506. package/dist/esm/hooks/__tests__/useExtractUiSchema.test.js +0 -45
  507. package/dist/esm/hooks/__tests__/useSetDefault.test.js +0 -65
  508. package/dist/esm/hooks/index.js +0 -2
  509. package/dist/esm/hooks/useExtractUiSchema.js +0 -23
  510. package/dist/esm/pdfFields/NumberField.js +0 -8
  511. package/dist/esm/pdfFields/ObjectField.js +0 -45
  512. package/dist/esm/pdfFields/index.js +0 -16
  513. package/dist/esm/pdfFields/types.js +0 -10
  514. package/dist/esm/pdfTemplates/ArrayFieldTemplate.js +0 -16
  515. package/dist/esm/pdfTemplates/CollapsibleObjectFieldTemplate.js +0 -20
  516. package/dist/esm/pdfTemplates/FieldTemplate.js +0 -15
  517. package/dist/esm/pdfTemplates/ObjectFieldTemplate.js +0 -18
  518. package/dist/esm/pdfTemplates/index.js +0 -4
  519. package/dist/esm/sampleData/ageFieldDefinition.js +0 -5
  520. package/dist/esm/sampleData/collapsibleSchema.js +0 -27
  521. package/dist/esm/sampleData/completeSchema.js +0 -348
  522. package/dist/esm/sampleData/conditionsSchema.js +0 -82
  523. package/dist/esm/sampleData/ejsSchema.js +0 -25
  524. package/dist/esm/sampleData/fileUpload.js +0 -40
  525. package/dist/esm/sampleData/generatedSchema.js +0 -19
  526. package/dist/esm/sampleData/index.js +0 -8
  527. package/dist/esm/sampleData/multipleChoiceSchema.js +0 -131
  528. package/dist/esm/sampleData/pdfProExampleSchema.js +0 -185
  529. package/dist/esm/sampleData/refDefSchema.js +0 -298
  530. package/dist/esm/sampleData/requiredInputSchema.js +0 -67
  531. package/dist/esm/sampleData/simpleData.js +0 -17
  532. package/dist/esm/setupTests.js +0 -5
  533. package/dist/esm/styledComponents.js +0 -599
  534. package/dist/esm/templates/ArrayFieldTemplate.js +0 -34
  535. package/dist/esm/templates/CollapsibleObjectFieldTemplate.js +0 -30
  536. package/dist/esm/templates/ObjectFieldTemplate.js +0 -28
  537. package/dist/esm/templates/index.js +0 -4
  538. package/dist/esm/utils/__tests/createInitialValues.test.js +0 -104
  539. package/dist/esm/utils/__tests/createValidationSchema.test.js +0 -944
  540. package/dist/esm/utils/__tests/deepOverlap.test.js +0 -41
  541. package/dist/esm/utils/__tests/getEnums.test.js +0 -59
  542. package/dist/esm/utils/__tests/getTitleAndDescription.test.js +0 -53
  543. package/dist/esm/utils/__tests/getTypes.test.js +0 -62
  544. package/dist/esm/utils/__tests/hasReferences.test.js +0 -100
  545. package/dist/esm/utils/__tests/mergeSchemas.test.js +0 -40
  546. package/dist/esm/utils/__tests/orderByUiSchema.test.js +0 -63
  547. package/dist/esm/utils/__tests/resolveSchema.test.js +0 -116
  548. package/dist/esm/utils/__tests/solveReferences.test.js +0 -56
  549. package/dist/esm/utils/__tests/testSchemas.js +0 -99
  550. package/dist/esm/utils/hasReferences.js +0 -12
  551. package/dist/types/Form.d.ts +0 -4
  552. package/dist/types/Form.stories.d.ts +0 -19
  553. package/dist/types/Form.test.d.ts +0 -1
  554. package/dist/types/FormEditor.d.ts +0 -8
  555. package/dist/types/FormEditor.stories.d.ts +0 -6
  556. package/dist/types/FormPdf.d.ts +0 -6
  557. package/dist/types/FormPdf.stories.d.ts +0 -11
  558. package/dist/types/FormPdf.test.d.ts +0 -1
  559. package/dist/types/fields/AnyField.d.ts +0 -3
  560. package/dist/types/fields/ArrayField.d.ts +0 -3
  561. package/dist/types/fields/BooleanField.d.ts +0 -3
  562. package/dist/types/fields/DateField.d.ts +0 -3
  563. package/dist/types/fields/FileUploadField.d.ts +0 -3
  564. package/dist/types/fields/MultipleChoiceField.d.ts +0 -3
  565. package/dist/types/fields/NullField.d.ts +0 -3
  566. package/dist/types/fields/NumberField.d.ts +0 -3
  567. package/dist/types/fields/ObjectField.d.ts +0 -3
  568. package/dist/types/fields/RadioField.d.ts +0 -3
  569. package/dist/types/fields/SchemaField.d.ts +0 -3
  570. package/dist/types/fields/SearchMultiTagSelectField.d.ts +0 -3
  571. package/dist/types/fields/SearchableSelectField.d.ts +0 -3
  572. package/dist/types/fields/StringField.d.ts +0 -3
  573. package/dist/types/fields/TextAreaField.d.ts +0 -3
  574. package/dist/types/fields/ToggleField.d.ts +0 -3
  575. package/dist/types/fields/index.d.ts +0 -16
  576. package/dist/types/fields/stories/AnyField.stories.d.ts +0 -5
  577. package/dist/types/fields/stories/ArrayField.stories.d.ts +0 -8
  578. package/dist/types/fields/stories/BooleanField.stories.d.ts +0 -5
  579. package/dist/types/fields/stories/DateField.stories.d.ts +0 -5
  580. package/dist/types/fields/stories/FileUploadField.stories.d.ts +0 -15
  581. package/dist/types/fields/stories/MultipleChoiceField.stories.d.ts +0 -6
  582. package/dist/types/fields/stories/NullField.stories.d.ts +0 -5
  583. package/dist/types/fields/stories/NumberField.stories.d.ts +0 -5
  584. package/dist/types/fields/stories/ObjectField.stories.d.ts +0 -5
  585. package/dist/types/fields/stories/RadioField.stories.d.ts +0 -5
  586. package/dist/types/fields/stories/SchemaField.stories.d.ts +0 -1730
  587. package/dist/types/fields/stories/SearchMultiTagSelectField.stories.d.ts +0 -5
  588. package/dist/types/fields/stories/StringField.stories.d.ts +0 -7
  589. package/dist/types/fields/stories/TextAreaField.stories.d.ts +0 -5
  590. package/dist/types/fields/stories/ToggleField.stories.d.ts +0 -5
  591. package/dist/types/formEditorSchemas.d.ts +0 -3
  592. package/dist/types/hooks/index.d.ts +0 -2
  593. package/dist/types/hooks/useExtractUiSchema.d.ts +0 -8
  594. package/dist/types/pdfFields/AnyField.d.ts +0 -3
  595. package/dist/types/pdfFields/ArrayField.d.ts +0 -3
  596. package/dist/types/pdfFields/BooleanField.d.ts +0 -3
  597. package/dist/types/pdfFields/DateField.d.ts +0 -3
  598. package/dist/types/pdfFields/EJSField.d.ts +0 -3
  599. package/dist/types/pdfFields/MultipleChoiceField.d.ts +0 -3
  600. package/dist/types/pdfFields/NullField.d.ts +0 -3
  601. package/dist/types/pdfFields/NumberField.d.ts +0 -3
  602. package/dist/types/pdfFields/ObjectField.d.ts +0 -3
  603. package/dist/types/pdfFields/RadioField.d.ts +0 -3
  604. package/dist/types/pdfFields/SchemaField.d.ts +0 -3
  605. package/dist/types/pdfFields/SearchMultiTagSelectField.d.ts +0 -3
  606. package/dist/types/pdfFields/SearchableSelectField.d.ts +0 -3
  607. package/dist/types/pdfFields/StringField.d.ts +0 -3
  608. package/dist/types/pdfFields/TextAreaField.d.ts +0 -3
  609. package/dist/types/pdfFields/ToggleField.d.ts +0 -3
  610. package/dist/types/pdfFields/index.d.ts +0 -16
  611. package/dist/types/pdfFields/types.d.ts +0 -10
  612. package/dist/types/pdfTemplates/index.d.ts +0 -4
  613. package/dist/types/sampleData/ageFieldDefinition.d.ts +0 -2
  614. package/dist/types/sampleData/collapsibleSchema.d.ts +0 -3
  615. package/dist/types/sampleData/completeSchema.d.ts +0 -4
  616. package/dist/types/sampleData/conditionsSchema.d.ts +0 -3
  617. package/dist/types/sampleData/ejsSchema.d.ts +0 -6
  618. package/dist/types/sampleData/fileUpload.d.ts +0 -7
  619. package/dist/types/sampleData/generatedSchema.d.ts +0 -2
  620. package/dist/types/sampleData/index.d.ts +0 -8
  621. package/dist/types/sampleData/multipleChoiceSchema.d.ts +0 -9
  622. package/dist/types/sampleData/pdfProExampleSchema.d.ts +0 -21
  623. package/dist/types/sampleData/refDefSchema.d.ts +0 -3
  624. package/dist/types/sampleData/requiredInputSchema.d.ts +0 -3
  625. package/dist/types/sampleData/simpleData.d.ts +0 -7
  626. package/dist/types/setupTests.d.ts +0 -1
  627. package/dist/types/styledComponents.d.ts +0 -275
  628. package/dist/types/templates/CollapsibleObjectFieldTemplate.d.ts +0 -3
  629. package/dist/types/templates/index.d.ts +0 -4
  630. package/dist/types/types.d.ts +0 -337
  631. package/dist/types/utils/__tests/testSchemas.d.ts +0 -5
  632. package/dist/types/utils/hasReferences.d.ts +0 -2
  633. /package/dist/cjs/{types.js → Form/fields/ObjectField/types.js} +0 -0
  634. /package/dist/cjs/{pdfFields → FormView/fields}/DateField.js +0 -0
  635. /package/dist/cjs/{fields → FormView/fields}/NumberField.js +0 -0
  636. /package/dist/cjs/{pdfFields → FormView/fields}/RadioField.js +0 -0
  637. /package/dist/cjs/{pdfFields → FormView/fields}/ToggleField.js +0 -0
  638. /package/dist/cjs/{FileUploadContext.js → common/FileUploadContext.js} +0 -0
  639. /package/dist/cjs/{fields/types.js → common/constants.js} +0 -0
  640. /package/dist/esm/{types.js → Form/fields/ObjectField/types.js} +0 -0
  641. /package/dist/{types/hooks/__tests__/useExtractUiSchema.test.d.ts → esm/Form/fields/SearchableSelectField/types.js} +0 -0
  642. /package/dist/{types/hooks/__tests__/useSetDefault.test.d.ts → esm/Form/templates/ArrayFieldTemplate/types.js} +0 -0
  643. /package/dist/{types/utils/__tests/createInitialValues.test.d.ts → esm/Form/templates/CollapsibleObjectFieldTemplate/types.js} +0 -0
  644. /package/dist/{types/utils/__tests/createValidationSchema.test.d.ts → esm/Form/templates/FieldTemplate/types.js} +0 -0
  645. /package/dist/{types/utils/__tests/deepOverlap.test.d.ts → esm/Form/templates/ObjectFieldTemplate/types.js} +0 -0
  646. /package/dist/{types/utils/__tests/getEnums.test.d.ts → esm/Form/types/FormRegistryContext.js} +0 -0
  647. /package/dist/esm/{pdfFields → FormView/fields}/DateField.js +0 -0
  648. /package/dist/esm/{fields → FormView/fields}/NumberField.js +0 -0
  649. /package/dist/esm/{pdfFields → FormView/fields}/RadioField.js +0 -0
  650. /package/dist/esm/{pdfFields → FormView/fields}/ToggleField.js +0 -0
  651. /package/dist/{types/utils/__tests/getTitleAndDescription.test.d.ts → esm/FormView/templates/ArrayFieldTemplate/types.js} +0 -0
  652. /package/dist/{types/utils/__tests/getTypes.test.d.ts → esm/FormView/templates/FieldTemplate/types.js} +0 -0
  653. /package/dist/{types/utils/__tests/hasReferences.test.d.ts → esm/FormView/templates/ObjectFieldTemplate/types.js} +0 -0
  654. /package/dist/{types/utils/__tests/mergeSchemas.test.d.ts → esm/FormView/types/FormViewRegistryContext.js} +0 -0
  655. /package/dist/esm/{FileUploadContext.js → common/FileUploadContext.js} +0 -0
  656. /package/dist/esm/{fields/types.js → common/constants.js} +0 -0
  657. /package/dist/{types/utils/__tests/orderByUiSchema.test.d.ts → esm/common/types/Field.js} +0 -0
  658. /package/dist/{types/utils/__tests/resolveSchema.test.d.ts → esm/common/types/FieldInfo.js} +0 -0
  659. /package/dist/{types/utils/__tests/solveReferences.test.d.ts → esm/common/types/Form.js} +0 -0
  660. /package/dist/types/{fields/types.d.ts → common/constants.d.ts} +0 -0
@@ -1,944 +0,0 @@
1
- import { ageFieldDefinition } from "../../sampleData/ageFieldDefinition";
2
- import { createValidationSchema } from "../createValidationSchema";
3
- const exampleSchema = {
4
- title: "TITLE",
5
- required: ["name", "age", "feeling"],
6
- properties: {
7
- name: { type: "string", title: "Full name" },
8
- age: { $ref: "#/definitions/age" },
9
- feeling: { type: "boolean", title: "Feeling happy today?" },
10
- arrayOfObject: {
11
- type: "array",
12
- title: "Array of objects",
13
- items: {
14
- type: "object",
15
- title: "Favourites",
16
- required: ["favouriteFood"],
17
- properties: {
18
- favouriteFood: { type: "string", title: "Favourite food" },
19
- favouriteSong: { type: "string", title: "Favourite song" },
20
- },
21
- },
22
- additionalItems: {
23
- type: "object",
24
- title: "Second favourites",
25
- required: ["anotherFavouriteSong"],
26
- properties: {
27
- anotherFavouriteFood: {
28
- type: "string",
29
- title: "Another favourite food",
30
- },
31
- anotherFavouriteSong: {
32
- type: "string",
33
- title: "Another favourite song",
34
- },
35
- },
36
- },
37
- },
38
- nestedObject: {
39
- type: "object",
40
- title: "Nested Object",
41
- required: ["tasks"],
42
- properties: {
43
- hobbies: { type: "string", title: "Hobbies" },
44
- tasks: { type: "string", title: "Tasks" },
45
- },
46
- },
47
- },
48
- definitions: {
49
- age: ageFieldDefinition,
50
- },
51
- };
52
- const simpleExampleSchema = {
53
- title: "TITLE",
54
- required: ["lastName"],
55
- properties: {
56
- firstName: { type: "string", title: "First name" },
57
- lastName: { type: "string", title: "Last name" },
58
- age: { type: "number", title: "Age" },
59
- drinksCoffee: { type: "boolean", title: "Do you drink coffee?" },
60
- simpleArray: {
61
- type: "array",
62
- title: "Simple array",
63
- items: [{ type: "string" }],
64
- },
65
- },
66
- };
67
- const dependenciesExampleSchema = {
68
- properties: {
69
- dependencyField: { type: "string" },
70
- dependencySelect: {
71
- type: "string",
72
- oneOf: [
73
- { const: "one", title: "One" },
74
- { const: "two", title: "Two" },
75
- ],
76
- },
77
- },
78
- dependencies: {
79
- dependencyField: {
80
- properties: {
81
- dependantField: { type: "string" },
82
- },
83
- required: ["dependantField"],
84
- },
85
- dependencySelect: {
86
- oneOf: [
87
- {
88
- properties: {
89
- dependencySelect: {
90
- enum: ["one"],
91
- },
92
- },
93
- },
94
- {
95
- properties: {
96
- dependencySelect: {
97
- enum: ["two"],
98
- },
99
- dependantOnTwo: {
100
- type: "string",
101
- },
102
- },
103
- required: ["dependantOnTwo"],
104
- },
105
- ],
106
- },
107
- },
108
- };
109
- const ifThenElseExampleSchema = {
110
- type: "object",
111
- properties: {
112
- allOfBool1: { type: "boolean" },
113
- allOfBool2: { type: "boolean" },
114
- },
115
- allOf: [
116
- {
117
- if: {
118
- properties: {
119
- allOfBool1: { const: true },
120
- },
121
- },
122
- then: {
123
- properties: {
124
- firstTrueRequiredField: { type: "string" },
125
- },
126
- required: ["firstTrueRequiredField"],
127
- },
128
- else: {
129
- properties: {
130
- firstFalseRequiredField: { type: "string" },
131
- },
132
- required: ["firstFalseRequiredField"],
133
- },
134
- },
135
- {
136
- if: {
137
- properties: {
138
- allOfBool1: { const: false },
139
- allOfBool2: { const: false },
140
- },
141
- },
142
- then: {
143
- properties: {
144
- bothFalseRequiredField: { type: "string" },
145
- },
146
- required: ["bothFalseRequiredField"],
147
- },
148
- else: {
149
- properties: {
150
- oneOrMoreTrueRequiredField: { type: "string" },
151
- },
152
- required: ["oneOrMoreTrueRequiredField"],
153
- },
154
- },
155
- ],
156
- };
157
- const allOfExample = {
158
- type: "object",
159
- properties: {
160
- customerType: {
161
- type: "string",
162
- oneOf: [
163
- { const: "BUSINESS", title: "Business" },
164
- { const: "INDIVIDUAL", title: "Individual" },
165
- { const: "UNKNOWN", title: "Unknown" },
166
- ],
167
- },
168
- },
169
- allOf: [
170
- {
171
- if: { properties: { customerType: { const: "BUSINESS" } } },
172
- then: {
173
- properties: {
174
- businessName: { type: "string", title: "Company name" },
175
- code: { type: "string", title: "Code" },
176
- notRequired: { type: "string", title: "Not required" },
177
- address: { $ref: "#/definitions/address" },
178
- },
179
- required: ["businessName", "code", "address"],
180
- },
181
- },
182
- {
183
- if: { properties: { customerType: { const: "INDIVIDUAL" } } },
184
- then: {
185
- properties: {
186
- firstName: { type: "string", title: "First name" },
187
- code: { type: "number", title: "Code" },
188
- address: { $ref: "#/definitions/address" },
189
- },
190
- required: ["firstName", "code", "address"],
191
- },
192
- },
193
- {
194
- if: { properties: { customerType: { const: "UNKNOWN" } } },
195
- then: {
196
- properties: {
197
- newCustomer: { type: "boolean", title: "New customer" },
198
- code: { type: "boolean", title: "Code" },
199
- extraField: { type: "number", title: "Extra field" },
200
- address: { $ref: "#/definitions/address" },
201
- },
202
- required: ["newCustomer", "code", "address"],
203
- },
204
- },
205
- ],
206
- definitions: {
207
- address: {
208
- type: "object",
209
- required: ["streetName", "city", "country"],
210
- properties: {
211
- streetName: {
212
- type: "string",
213
- title: "Street name",
214
- },
215
- city: {
216
- type: "string",
217
- title: "Town/City",
218
- },
219
- postcode: {
220
- type: "string",
221
- title: "Postcode",
222
- },
223
- state: {
224
- type: "string",
225
- title: "State/Province/Region",
226
- },
227
- country: {
228
- type: "string",
229
- title: "Country",
230
- },
231
- },
232
- },
233
- },
234
- };
235
- const anyOfExample = (required = []) => ({
236
- type: "object",
237
- title: "",
238
- required,
239
- properties: {
240
- warningSymbols: {
241
- type: "array",
242
- anyOf: [
243
- {
244
- const: "GHS01",
245
- title: "Räjähtävä",
246
- },
247
- {
248
- const: "GHS02",
249
- title: "Syttyvä",
250
- },
251
- {
252
- const: "GHS03",
253
- title: "Hapettava",
254
- },
255
- {
256
- const: "GHS04",
257
- title: "Paineen alaiset kaasut",
258
- },
259
- {
260
- const: "GHS05",
261
- title: "Syövyttävä",
262
- },
263
- {
264
- const: "GHS06",
265
- title: "Välittömästi myrkyllinen",
266
- },
267
- {
268
- const: 5678,
269
- title: "Haitallinen / ärsyttävä / herkistävä / vaarallinen otsonikerrokselle",
270
- },
271
- {
272
- const: 6789,
273
- title: "Vakava terveysvaara",
274
- },
275
- {
276
- const: 7890,
277
- title: "Ympäristölle vaarallinen",
278
- },
279
- ],
280
- items: {
281
- type: "string",
282
- },
283
- uniqueItems: true,
284
- },
285
- },
286
- });
287
- const nestedRequiredConditionalExampleSchema = {
288
- type: "object",
289
- properties: {
290
- textField: { type: "string" },
291
- checkbox: { type: "boolean" },
292
- },
293
- allOf: [
294
- {
295
- if: { properties: { checkbox: { const: true } } },
296
- then: {
297
- properties: {
298
- myObject: {
299
- type: "object",
300
- properties: {
301
- foo: { type: "string" },
302
- nestedObject: {
303
- type: "object",
304
- properties: { nestedFoo: { type: "string" } },
305
- required: ["nestedFoo"],
306
- },
307
- },
308
- required: ["foo"],
309
- },
310
- },
311
- required: ["myObject"],
312
- },
313
- },
314
- ],
315
- };
316
- describe("Create Validation Schema", () => {
317
- function listErrors(schema, data, definitions) {
318
- const yupSchema = createValidationSchema(schema, definitions);
319
- try {
320
- // Cannot be strict, since forms always use string based values
321
- yupSchema.validateSync(data, { abortEarly: false, strict: false });
322
- }
323
- catch (err) {
324
- const error = err;
325
- return error?.inner?.map((e, i) => `${e.path}: ${error.errors[i].replace(e?.path ?? "", "").trim()}`);
326
- }
327
- }
328
- it("creates yup validationSchema based on given JSON schema", async () => {
329
- const result = createValidationSchema(exampleSchema);
330
- const expected = result.isValidSync({
331
- name: "Jane",
332
- age: 54,
333
- feeling: false,
334
- arrayOfObject: [
335
- { favouriteFood: "Pizza!", favouriteSong: undefined },
336
- {
337
- anotherFavouriteFood: undefined,
338
- anotherFavouriteSong: "On the turning away",
339
- },
340
- ],
341
- nestedObject: {
342
- hobbies: undefined,
343
- tasks: "buy groceries",
344
- },
345
- });
346
- expect(expected).toEqual(true);
347
- });
348
- it("throws error when required input is missing", async () => {
349
- const result = createValidationSchema(simpleExampleSchema);
350
- await expect(() => result.validate({
351
- firstName: "Jane",
352
- lastName: undefined,
353
- age: 55,
354
- })).rejects.toThrow("Required");
355
- });
356
- it("throws error when given input is not matching defined type", async () => {
357
- const result = createValidationSchema(simpleExampleSchema);
358
- // for 'number' type
359
- await expect(() => result.validate({
360
- firstName: "Ella",
361
- lastName: "Myller",
362
- age: true,
363
- drinksCoffee: false,
364
- simpleArray: [],
365
- }, { strict: true })).rejects.toThrow("age must be a `number` type, but the final value was: `true`.");
366
- // for 'string' type
367
- await expect(() => result.validate({
368
- firstName: 123,
369
- lastName: "Myller",
370
- age: 17,
371
- drinksCoffee: false,
372
- simpleArray: [],
373
- }, { strict: true })).rejects.toThrow("firstName must be a `string` type, but the final value was: `123`.");
374
- // for 'boolean' type
375
- await expect(() => result.validate({
376
- firstName: "Ella",
377
- lastName: "Myller",
378
- age: 17,
379
- drinksCoffee: "Well, sometimes...",
380
- simpleArray: [],
381
- }, { strict: true })).rejects.toThrow('drinksCoffee must be a `boolean` type, but the final value was: `"Well, sometimes..."`.');
382
- // for 'array' type
383
- await expect(() => result.validate({
384
- firstName: "Ella",
385
- lastName: "Myller",
386
- age: 17,
387
- drinksCoffee: false,
388
- simpleArray: "Hello :)",
389
- }, { strict: true })).rejects.toThrow("Required");
390
- });
391
- describe("Conditionals", () => {
392
- it("generates validation for dependencies without oneOf", () => {
393
- const result = createValidationSchema(dependenciesExampleSchema);
394
- const invalid = result.isValidSync({
395
- dependencyField: "Hello",
396
- });
397
- const valid = result.isValidSync({
398
- dependencyField: "Hello",
399
- dependantField: "Hi",
400
- });
401
- expect(invalid).toEqual(false);
402
- expect(valid).toEqual(true);
403
- });
404
- it("generates validation for dependencies with oneOf", () => {
405
- const result = createValidationSchema(dependenciesExampleSchema);
406
- const noDependantFields = result.isValidSync({
407
- dependencySelect: "one",
408
- });
409
- const invalidWithDependantFields = result.isValidSync({
410
- dependencySelect: "two",
411
- });
412
- const validWithDependantFields = result.isValidSync({
413
- dependencySelect: "two",
414
- dependantOnTwo: "value",
415
- });
416
- expect(noDependantFields).toEqual(true);
417
- expect(invalidWithDependantFields).toEqual(false);
418
- expect(validWithDependantFields).toEqual(true);
419
- });
420
- it("generates validation for if-then-else", () => {
421
- const result = createValidationSchema(ifThenElseExampleSchema);
422
- const bothFalseInvalid1 = result.isValidSync({
423
- allOfBool1: false,
424
- allOfBool2: false,
425
- });
426
- const bothFalseInvalid2 = result.isValidSync({
427
- allOfBool1: false,
428
- allOfBool2: false,
429
- firstFalseRequiredField: ".",
430
- });
431
- const bothFalseInvalid3 = result.isValidSync({
432
- allOfBool1: false,
433
- allOfBool2: false,
434
- bothFalseRequiredField: ".",
435
- });
436
- const bothFalseValid = result.isValidSync({
437
- allOfBool1: false,
438
- allOfBool2: false,
439
- firstFalseRequiredField: ".",
440
- bothFalseRequiredField: ".",
441
- });
442
- const firstFalseInvalid1 = result.isValidSync({
443
- allOfBool1: false,
444
- allOfBool2: true,
445
- });
446
- const firstFalseInvalid2 = result.isValidSync({
447
- allOfBool1: false,
448
- allOfBool2: true,
449
- firstFalseRequiredField: ".",
450
- });
451
- const firstFalseInvalid3 = result.isValidSync({
452
- allOfBool1: false,
453
- allOfBool2: true,
454
- oneOrMoreTrueRequiredField: ".",
455
- });
456
- const firstFalseValid = result.isValidSync({
457
- allOfBool1: false,
458
- allOfBool2: true,
459
- firstFalseRequiredField: ".",
460
- oneOrMoreTrueRequiredField: ".",
461
- });
462
- const firstTrueInvalid1 = result.isValidSync({
463
- allOfBool1: true,
464
- allOfBool2: false,
465
- });
466
- const firstTrueInvalid2 = result.isValidSync({
467
- allOfBool1: true,
468
- allOfBool2: false,
469
- firstTrueRequiredField: ".",
470
- });
471
- const firstTrueInvalid3 = result.isValidSync({
472
- allOfBool1: true,
473
- allOfBool2: false,
474
- oneOrMoreTrueRequiredField: ".",
475
- });
476
- const firstTrueValid = result.isValidSync({
477
- allOfBool1: true,
478
- allOfBool2: false,
479
- firstTrueRequiredField: ".",
480
- oneOrMoreTrueRequiredField: ".",
481
- });
482
- expect(bothFalseInvalid1).toEqual(false);
483
- expect(bothFalseInvalid2).toEqual(false);
484
- expect(bothFalseInvalid3).toEqual(false);
485
- expect(bothFalseValid).toEqual(true);
486
- expect(firstFalseInvalid1).toEqual(false);
487
- expect(firstFalseInvalid2).toEqual(false);
488
- expect(firstFalseInvalid3).toEqual(false);
489
- expect(firstFalseValid).toEqual(true);
490
- expect(firstTrueInvalid1).toEqual(false);
491
- expect(firstTrueInvalid2).toEqual(false);
492
- expect(firstTrueInvalid3).toEqual(false);
493
- expect(firstTrueValid).toEqual(true);
494
- });
495
- it("generates validation for if-then", async () => {
496
- const faultyBusiness = listErrors(allOfExample, {
497
- customerType: "BUSINESS",
498
- });
499
- expect(faultyBusiness).toEqual(expect.arrayContaining([
500
- "address.country: Required",
501
- "address.city: Required",
502
- "address.streetName: Required",
503
- "businessName: Required",
504
- "code: Required",
505
- ]));
506
- const business = listErrors(allOfExample, {
507
- customerType: "BUSINESS",
508
- businessName: ".",
509
- code: ".",
510
- address: {
511
- streetName: ".",
512
- city: ".",
513
- country: ".",
514
- },
515
- });
516
- expect(business).toEqual(undefined);
517
- const faultyIndividual = listErrors(allOfExample, {
518
- customerType: "INDIVIDUAL",
519
- });
520
- expect(faultyIndividual).toEqual(expect.arrayContaining([
521
- "address.country: Required",
522
- "address.city: Required",
523
- "address.streetName: Required",
524
- "firstName: Required",
525
- "code: Required",
526
- ]));
527
- const individual = listErrors(allOfExample, {
528
- customerType: "INDIVIDUAL",
529
- firstName: ".",
530
- code: 123,
531
- address: {
532
- streetName: ".",
533
- city: ".",
534
- country: ".",
535
- },
536
- });
537
- expect(individual).toEqual(undefined);
538
- const faultyUnknown = listErrors(allOfExample, {
539
- customerType: "UNKNOWN",
540
- });
541
- expect(faultyUnknown).toEqual(expect.arrayContaining([
542
- "address.country: Required",
543
- "address.city: Required",
544
- "address.streetName: Required",
545
- "newCustomer: Required",
546
- "code: Required",
547
- ]));
548
- const unknown = listErrors(allOfExample, {
549
- customerType: "UNKNOWN",
550
- newCustomer: true,
551
- code: false,
552
- address: {
553
- streetName: ".",
554
- city: ".",
555
- country: ".",
556
- },
557
- });
558
- expect(unknown).toEqual(undefined);
559
- const yupSchema = createValidationSchema(allOfExample);
560
- // Makes sure the context resets between function calls.
561
- // eslint-disable-next-line
562
- // @ts-expect-error
563
- expect(yupSchema.fields.code.deps.length).toEqual(3);
564
- });
565
- it("generates validation for conditional objects with nested validations", () => {
566
- const result = createValidationSchema(nestedRequiredConditionalExampleSchema);
567
- const isValidWhenConditionNotNet = result.isValidSync({
568
- checkbox: false,
569
- });
570
- const isNotValidWhenConditionMetAndMissingRequiredFields = result.isValidSync({
571
- checkbox: true,
572
- });
573
- const isValidWhenConditionMetAndRequiredFieldsAreFilled = result.isValidSync({
574
- checkbox: true,
575
- myObject: {
576
- foo: ".",
577
- nestedObject: {
578
- nestedFoo: ".",
579
- },
580
- },
581
- });
582
- expect(isValidWhenConditionNotNet).toEqual(true);
583
- expect(isNotValidWhenConditionMetAndMissingRequiredFields).toEqual(false);
584
- expect(isValidWhenConditionMetAndRequiredFieldsAreFilled).toEqual(true);
585
- });
586
- });
587
- describe("Array", () => {
588
- const createArraySchema = ({ items, additionalItems, }) => ({
589
- title: "Array of objects Schema",
590
- required: ["arrayOfObjects"],
591
- properties: {
592
- arrayOfObjects: {
593
- type: "array",
594
- title: "A list of fixed items",
595
- items,
596
- ...(additionalItems ? { additionalItems } : {}),
597
- },
598
- },
599
- });
600
- it("requires fields with array items and additionalItems", async () => {
601
- const arraySchema = createArraySchema({
602
- items: [
603
- { title: "A string value", type: "string" },
604
- { title: "An integer value", type: "integer" },
605
- { title: "A number value", type: "number" },
606
- {
607
- title: "An arrayContaining value",
608
- type: "array",
609
- items: [{ title: "A string value", type: "string" }],
610
- },
611
- { title: "a boolean value", type: "boolean" },
612
- {
613
- type: "object",
614
- title: "User",
615
- required: ["name"],
616
- properties: {
617
- name: { type: "string", title: "Name" },
618
- age: { type: "number", title: "Age" },
619
- },
620
- },
621
- ],
622
- additionalItems: {
623
- title: "Additional item",
624
- type: "number",
625
- },
626
- });
627
- const faultyItem1 = listErrors(arraySchema, {
628
- arrayOfObjects: [
629
- ["array"],
630
- 123.123,
631
- 456,
632
- ["array"],
633
- false,
634
- { name: "John", age: 27 },
635
- ],
636
- });
637
- expect(faultyItem1).toEqual([
638
- 'arrayOfObjects[0]: must be a `string` type, but the final value was: `[\n "\\"array\\""\n]`.',
639
- ]);
640
- const faultyItem2 = listErrors(arraySchema, {
641
- arrayOfObjects: [
642
- "string",
643
- "not a number",
644
- 456,
645
- ["array"],
646
- false,
647
- { name: "John", age: 27 },
648
- ],
649
- });
650
- expect(faultyItem2).toEqual([
651
- 'arrayOfObjects[1]: must be a `number` type, but the final value was: `NaN` (cast from the value `"not a number"`).',
652
- ]);
653
- const faultyItem3 = listErrors(arraySchema, {
654
- arrayOfObjects: [
655
- "string",
656
- 123.123,
657
- false,
658
- ["array"],
659
- false,
660
- { name: "John", age: 27 },
661
- ],
662
- });
663
- expect(faultyItem3).toEqual([
664
- "arrayOfObjects[2]: must be a `number` type, but the final value was: `NaN` (cast from the value `false`).",
665
- ]);
666
- const faultyItem4 = listErrors(arraySchema, {
667
- arrayOfObjects: [
668
- "string",
669
- 123.123,
670
- 456,
671
- { id: 123 },
672
- false,
673
- { name: "John", age: 27 },
674
- ],
675
- });
676
- expect(faultyItem4).toEqual(["arrayOfObjects[3]: Required"]);
677
- const faultyItem5 = listErrors(arraySchema, {
678
- arrayOfObjects: [
679
- "string",
680
- 123.123,
681
- 456,
682
- ["array"],
683
- 3.154,
684
- { name: "John", age: 27 },
685
- ],
686
- });
687
- expect(faultyItem5).toEqual([
688
- "arrayOfObjects[4]: must be a `boolean` type, but the final value was: `3.154`.",
689
- ]);
690
- const faultyItem6 = listErrors(arraySchema, {
691
- arrayOfObjects: [
692
- "string",
693
- 123.123,
694
- 456,
695
- ["array"],
696
- false,
697
- "faulty value",
698
- ],
699
- });
700
- expect(faultyItem6).toEqual([
701
- 'arrayOfObjects[5]: must be a `object` type, but the final value was: `"faulty value"`.',
702
- ]);
703
- const objectPropertyRequired = listErrors(arraySchema, {
704
- arrayOfObjects: ["string", 123.123, 456, ["array"], false, { age: 27 }],
705
- });
706
- expect(objectPropertyRequired).toEqual([
707
- "arrayOfObjects[5].name: Required",
708
- ]);
709
- const allRequired = listErrors(arraySchema, {
710
- arrayOfObjects: [
711
- undefined,
712
- undefined,
713
- undefined,
714
- [],
715
- undefined,
716
- undefined,
717
- ],
718
- });
719
- expect(allRequired).toEqual([
720
- "arrayOfObjects[0]: Required",
721
- "arrayOfObjects[1]: Required",
722
- "arrayOfObjects[2]: Required",
723
- "arrayOfObjects[3]: Required",
724
- "arrayOfObjects[4]: Required",
725
- "arrayOfObjects[5].name: Required",
726
- ]);
727
- const correct = listErrors(arraySchema, {
728
- arrayOfObjects: [
729
- "string",
730
- 123.123,
731
- 456,
732
- ["array"],
733
- false,
734
- { name: "John", age: 27 },
735
- ],
736
- });
737
- expect(correct).toEqual(undefined);
738
- });
739
- it("required fields with array items only", async () => {
740
- const arraySchema = createArraySchema({
741
- items: [
742
- { title: "A string value", type: "string" },
743
- { title: "An integer value", type: "integer" },
744
- { title: "A boolean value", type: "boolean" },
745
- { title: "A number value", type: "number" },
746
- ],
747
- });
748
- const faulty = listErrors(arraySchema, {
749
- arrayOfObjects: ["name", undefined, undefined, {}],
750
- });
751
- expect(faulty).toEqual([
752
- "arrayOfObjects[1]: Required",
753
- "arrayOfObjects[2]: Required",
754
- "arrayOfObjects[3]: must be a `number` type, but the final value was: `NaN` (cast from the value `{}`).",
755
- ]);
756
- const coprrecorrect = listErrors(arraySchema, {
757
- arrayOfObjects: ["name", 123, true, 123.141241],
758
- });
759
- expect(coprrecorrect).toEqual(undefined);
760
- });
761
- it("requires fields with array items and additionalItems with definitions", async () => {
762
- const arraySchema = {
763
- title: "TITLE",
764
- properties: {
765
- arrayOfDefinitions: {
766
- type: "array",
767
- title: "Array of objects",
768
- items: [{ $ref: "#/definitions/commodity" }],
769
- additionalItems: { $ref: "#/definitions/commodity" },
770
- },
771
- },
772
- };
773
- const definitions = {
774
- commodity: {
775
- type: "object",
776
- title: "Item",
777
- required: ["commodityId"],
778
- properties: {
779
- commodityId: {
780
- $ref: "#/definitions/selection",
781
- },
782
- insuredValue: {
783
- type: "number",
784
- title: "Insured value in USD",
785
- },
786
- },
787
- },
788
- selection: {
789
- type: "string",
790
- title: "HS Code",
791
- oneOf: [
792
- { const: "1", title: "One" },
793
- { const: "2", title: "Two" },
794
- { const: "3", title: "Three" },
795
- ],
796
- },
797
- };
798
- const faulty = listErrors(arraySchema, { arrayOfDefinitions: [true, 123, []] }, definitions);
799
- expect(faulty).toEqual([
800
- "arrayOfDefinitions[0]: must be a `object` type, but the final value was: `true`.",
801
- "arrayOfDefinitions[1]: must be a `object` type, but the final value was: `123`.",
802
- "arrayOfDefinitions[2]: must be a `object` type, but the final value was: `[]`.",
803
- ]);
804
- const correct = listErrors(arraySchema, {
805
- arrayOfDefinitions: [
806
- { commodityId: "1", insuredValue: 123 },
807
- { commodityId: "2", insuredValue: 456 },
808
- { commodityId: "3", insuredValue: 789 },
809
- ],
810
- }, definitions);
811
- expect(correct).toEqual(undefined);
812
- });
813
- it("validates anyOf correctly", async () => {
814
- const optionalInput = listErrors(anyOfExample(), { warningSymbols: [] });
815
- expect(optionalInput).toEqual(undefined);
816
- const requiredInput = listErrors(anyOfExample(["warningSymbols"]), {
817
- warningSymbols: [],
818
- });
819
- expect(requiredInput).toEqual(["warningSymbols: Required"]);
820
- const requiredInput2 = listErrors(anyOfExample(["warningSymbols"]), {
821
- warningSymbols: [6789],
822
- });
823
- expect(requiredInput2).toEqual(undefined);
824
- const wrongInput = listErrors(anyOfExample(), {
825
- // false and 1234 are stringified
826
- warningSymbols: [false, {}, [], 1234, "invalid value"],
827
- });
828
- expect(wrongInput).toEqual([
829
- "warningSymbols[0]: must be one of the following values: GHS01, GHS02, GHS03, GHS04, GHS05, GHS06, 5678, 6789, 7890",
830
- "warningSymbols[1]: must be one of the following values: GHS01, GHS02, GHS03, GHS04, GHS05, GHS06, 5678, 6789, 7890",
831
- "warningSymbols[2]: must be one of the following values: GHS01, GHS02, GHS03, GHS04, GHS05, GHS06, 5678, 6789, 7890",
832
- "warningSymbols[3]: must be one of the following values: GHS01, GHS02, GHS03, GHS04, GHS05, GHS06, 5678, 6789, 7890",
833
- "warningSymbols[4]: must be one of the following values: GHS01, GHS02, GHS03, GHS04, GHS05, GHS06, 5678, 6789, 7890",
834
- ]);
835
- const validInput = listErrors(anyOfExample(), {
836
- warningSymbols: ["GHS01", "GHS05", 7890],
837
- });
838
- expect(validInput).toEqual(undefined);
839
- });
840
- });
841
- describe("Infinite loop validation", () => {
842
- const definitions = {
843
- Organization: {
844
- type: "array",
845
- additionalItems: {
846
- type: "object",
847
- properties: {
848
- name: { title: "Name", type: "string" },
849
- subOrganizations: {
850
- $ref: "#/definitions/Organization",
851
- },
852
- },
853
- },
854
- },
855
- };
856
- const treeSchema = {
857
- title: "Form editor",
858
- type: "object",
859
- properties: {
860
- organization: {
861
- type: "object",
862
- properties: {
863
- name: { title: "Title", type: "string" },
864
- subOrganizations: {
865
- $ref: "#/definitions/Organization",
866
- },
867
- },
868
- },
869
- },
870
- };
871
- it("does not throw RangeError: Maximum call stack size exceeded", async () => {
872
- const validInput1 = listErrors(treeSchema, {
873
- organization: {
874
- name: "Org A",
875
- subOrganizations: [],
876
- },
877
- }, definitions);
878
- expect(validInput1).toEqual(undefined);
879
- const validInput2 = listErrors(treeSchema, {
880
- organization: {
881
- name: "Org A",
882
- subOrganizations: [
883
- {
884
- name: "Sub A1",
885
- subOrganizations: [
886
- {
887
- name: "Sub A2",
888
- subOrganizations: [
889
- {
890
- name: "Sub A3",
891
- subOrganizations: [
892
- {
893
- name: "Sub A4",
894
- subOrganizations: [
895
- {
896
- name: "Sub A5",
897
- subOrganizations: [
898
- {
899
- name: "Sub A6",
900
- subOrganizations: [
901
- {
902
- name: "Sub A7",
903
- subOrganizations: [
904
- {
905
- name: "Sub A8",
906
- subOrganizations: [],
907
- },
908
- ],
909
- },
910
- ],
911
- },
912
- ],
913
- },
914
- ],
915
- },
916
- ],
917
- },
918
- ],
919
- },
920
- ],
921
- },
922
- {
923
- name: "Sub B1",
924
- subOrganizations: [
925
- {
926
- name: "Sub B2",
927
- subOrganizations: [],
928
- },
929
- ],
930
- },
931
- ],
932
- },
933
- }, definitions);
934
- expect(validInput2).toEqual(undefined);
935
- const invalidInput = listErrors(treeSchema, {
936
- organization: {
937
- name: "Org A",
938
- subOrganizations: 123,
939
- },
940
- }, definitions);
941
- expect(invalidInput).toEqual(["organization.subOrganizations: Required"]);
942
- });
943
- });
944
- });