@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
@@ -0,0 +1,5 @@
1
+ import { FileUploadFieldInput } from "./FileUploadFieldInput";
2
+ import * as styledComponents from "./styledComponents";
3
+ export * as fields from "./FileUploadField";
4
+ const components = { ...styledComponents, FileUploadFieldInput };
5
+ export { components };
@@ -0,0 +1,57 @@
1
+ import styled from "styled-components";
2
+ import { readableColor } from "polished";
3
+ export const FileUploadFieldFileUploadButton = styled.button `
4
+ background-color: ${(props) => props.theme.intent.none};
5
+ color: ${(props) => readableColor(props.theme.intent.none)};
6
+ padding: ${(props) => `${props.theme.spacing.s} ${props.theme.spacing.xl}`};
7
+ border: none;
8
+ border-radius: ${(props) => props.theme.borderRadius.none};
9
+ cursor: pointer;
10
+ font-family: ${(props) => props.theme.typography.fontFamily.base};
11
+ font-size: ${(props) => props.theme.typography.size.base};
12
+ `;
13
+ export const FileUploadFieldHiddenFileInput = styled.input `
14
+ display: none;
15
+ `;
16
+ export const FileUploadFieldProgressBarContainer = styled.div `
17
+ width: 7.5rem;
18
+ height: ${(props) => props.theme.spacing.xl};
19
+ border-radius: ${(props) => props.theme.strokeWidth.thick};
20
+ background-color: ${(props) => props.theme.background.input};
21
+ position: relative;
22
+ margin-left: ${(props) => props.theme.spacing.s};
23
+ `;
24
+ export const FileUploadFieldProgressBar = styled.div `
25
+ width: ${(props) => props.$progress}%;
26
+ height: 100%;
27
+ background-color: ${(props) => props.theme.neutral[500]};
28
+ border-radius: ${(props) => props.theme.strokeWidth.thick};
29
+ transition: width 0.2s ease;
30
+ `;
31
+ export const FileUploadFieldProgressText = styled.span `
32
+ position: absolute;
33
+ top: 50%;
34
+ left: 50%;
35
+ transform: translate(-50%, -50%);
36
+ color: ${(props) => props.theme.neutral[200]};
37
+ font-family: ${(props) => props.theme.typography.fontFamily.base};
38
+ font-weight: ${(props) => props.theme.typography.weight.bold};
39
+ `;
40
+ export const FileUploadFieldFileItemContainer = styled.div `
41
+ margin-bottom: ${(props) => props.theme.spacing.s};
42
+ display: flex;
43
+ align-items: center;
44
+ `;
45
+ export const FileUploadFieldRemoveButton = styled.button `
46
+ margin-left: ${(props) => props.theme.spacing.s};
47
+ background-color: transparent;
48
+ border: none;
49
+ cursor: pointer;
50
+ `;
51
+ export const FileUploadFieldFileInfoText = styled.span `
52
+ margin-left: ${(props) => props.theme.spacing.s};
53
+ font-family: ${(props) => props.theme.typography.fontFamily.base};
54
+ font-size: ${(props) => props.theme.typography.size.base};
55
+ color: ${(props) => props.theme.text.default};
56
+ `;
57
+ export const FileUploadFieldContainer = styled.div ``;
@@ -1,14 +1,14 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useContext, useMemo } from "react";
3
- import { FormRegistry } from "../Form";
4
- import { useExtractUiSchema, useSetDefault } from "../hooks";
5
- import { getEnums } from "../utils/getEnums";
6
3
  import { getIn, useFormikContext } from "formik";
4
+ import { extractUiSchema, getEnums } from "../../../utils";
5
+ import { useSetDefault } from "../../hooks";
6
+ import { FormRegistry } from "../../FormRegistry";
7
7
  export const MultipleChoiceField = (props) => {
8
- const { templates: { FieldTemplate }, components: { MultipleChoiceField }, } = useContext(FormRegistry);
8
+ const { templates: { FieldTemplate }, components: { MultipleChoiceFieldInput }, } = useContext(FormRegistry);
9
9
  useSetDefault(props);
10
10
  const { name, uiSchema, schema } = props;
11
- const { props: inputProps, style } = useExtractUiSchema(uiSchema);
11
+ const { props: inputProps, style } = useMemo(() => extractUiSchema(uiSchema), [uiSchema]);
12
12
  const enums = useMemo(() => getEnums(props), [props]);
13
13
  const { values } = useFormikContext();
14
14
  const value = getIn(values, name);
@@ -24,5 +24,5 @@ export const MultipleChoiceField = (props) => {
24
24
  return { "data-fjsf-string": name };
25
25
  }
26
26
  })();
27
- return (_jsx(FieldTemplate, { ...props, ...fieldDataAttribute, children: _jsx(MultipleChoiceField, { inputProps: inputProps, name: name, enums: enums, style: style, value: value, form: form }) }));
27
+ return (_jsx(FieldTemplate, { ...props, ...fieldDataAttribute, children: _jsx(MultipleChoiceFieldInput, { inputProps: inputProps, name: name, enums: enums, style: style, value: value, form: form }) }));
28
28
  };
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useContext } from "react";
3
+ import { getStyle } from "../../../utils/getStyle";
4
+ import { FormRegistry } from "../../FormRegistry";
5
+ import { EnumsTypes } from "../../../utils";
6
+ export const MultipleChoiceFieldInput = ({ inputProps, name, className, enums, style, value, form, }) => {
7
+ const { components: { MultipleChoiceFieldContainer, MultipleChoiceFieldElement, MultipleChoiceFieldInputElement, MultipleChoiceFieldLabel, }, } = useContext(FormRegistry);
8
+ const isMultiSelect = enums.type === EnumsTypes.MULTI_SELECT;
9
+ const currentValue = isMultiSelect
10
+ ? Array.isArray(value)
11
+ ? value
12
+ : []
13
+ : value;
14
+ const isChecked = (optionValue) => {
15
+ if (isMultiSelect && Array.isArray(currentValue)) {
16
+ return currentValue.includes(optionValue);
17
+ }
18
+ return currentValue === optionValue;
19
+ };
20
+ const handleChange = (optionValue) => {
21
+ if (isMultiSelect && Array.isArray(currentValue)) {
22
+ const newValue = isChecked(optionValue)
23
+ ? currentValue.filter((v) => v !== optionValue)
24
+ : [...currentValue, optionValue];
25
+ form?.setFieldValue(name, newValue);
26
+ }
27
+ else {
28
+ form?.setFieldValue(name, optionValue);
29
+ }
30
+ };
31
+ return (_jsx(MultipleChoiceFieldContainer, { className: className, style: getStyle(style ?? ""), children: enums.values.map((v) => {
32
+ const optionValue = v.const;
33
+ return (_jsxs(MultipleChoiceFieldElement, { "data-fjsf-enum-value": optionValue, children: [_jsx(MultipleChoiceFieldInputElement, { ...inputProps, name: name, type: isMultiSelect ? "checkbox" : "radio", value: optionValue !== undefined ? optionValue.toString() : "", checked: isChecked(optionValue), onChange: () => handleChange(optionValue) }), _jsx(MultipleChoiceFieldLabel, { children: v.title })] }, optionValue !== undefined ? optionValue.toString() : "undefined"));
34
+ }) }));
35
+ };
@@ -0,0 +1,5 @@
1
+ import { MultipleChoiceFieldInput } from "./MultipleChoiceFieldInput";
2
+ import * as styledComponents from "./styledComponents";
3
+ export * as fields from "./MultipleChoiceField";
4
+ const components = { ...styledComponents, MultipleChoiceFieldInput };
5
+ export { components };
@@ -0,0 +1,11 @@
1
+ import styled from "styled-components";
2
+ import { RadioFieldContainer, RadioFieldElement, RadioFieldInputElement, RadioFieldLabel, } from "../RadioField/styledComponents";
3
+ import { commonCheckboxStyles, commonRadioStyles } from "../../styles/common";
4
+ export const MultipleChoiceFieldContainer = styled(RadioFieldContainer) `
5
+ ${commonCheckboxStyles}
6
+ ${commonRadioStyles}
7
+ font-family: ${(props) => props.theme.typography.fontFamily.base};
8
+ `;
9
+ export const MultipleChoiceFieldElement = styled(RadioFieldElement) ``;
10
+ export const MultipleChoiceFieldInputElement = styled(RadioFieldInputElement) ``;
11
+ export const MultipleChoiceFieldLabel = styled(RadioFieldLabel) ``;
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useContext } from "react";
3
- import { FormRegistry } from "../Form";
3
+ import { FormRegistry } from "../../FormRegistry";
4
4
  export const NullField = (props) => {
5
5
  const { templates: { FieldTemplate }, } = useContext(FormRegistry);
6
6
  const { name, uiSchema } = props;
@@ -0,0 +1 @@
1
+ export * as fields from "./NullField";
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { StringField } from "../StringField/StringField";
3
+ import { NumberFieldWrapper } from "./styledComponents";
4
+ export const NumberField = (props) => {
5
+ return (_jsx(NumberFieldWrapper, { children: _jsx(StringField, { ...props, uiSchema: {
6
+ ...props.uiSchema,
7
+ "ui:props": {
8
+ ...(props.uiSchema?.["ui:props"] || {}),
9
+ type: "number",
10
+ },
11
+ } }) }));
12
+ };
@@ -0,0 +1,2 @@
1
+ export * as components from "./styledComponents";
2
+ export * as fields from "./NumberField";
@@ -0,0 +1,5 @@
1
+ import { styled } from "styled-components";
2
+ import { commonInputStyles } from "../../styles/common";
3
+ export const NumberFieldWrapper = styled.div `
4
+ ${commonInputStyles}
5
+ `;
@@ -1,12 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useField, useFormikContext } from "formik";
3
3
  import { useContext, useEffect, useMemo } from "react";
4
- import { FormRegistry } from "../Form";
5
- import { ObjectFieldButtonPurpose } from "../types";
6
- import { resolveSchema } from "../utils/resolveSchema";
7
- import { useSetDefault } from "../hooks";
8
- import { getObjectFieldButton } from "../styledComponents";
9
- import { orderByUiSchema } from "../utils";
4
+ import { orderByUiSchema, resolveSchema } from "../../../utils";
5
+ import { useSetDefault } from "../../hooks";
6
+ import { FormRegistry } from "../../FormRegistry";
7
+ import { ObjectFieldButtonPurpose } from "./types";
10
8
  const useObjectField = (name) => {
11
9
  if (!name) {
12
10
  const { values = {}, setValues } = useFormikContext();
@@ -16,7 +14,7 @@ const useObjectField = (name) => {
16
14
  return { value, setValue };
17
15
  };
18
16
  export const ObjectField = (props) => {
19
- const { fields: { SchemaField }, templates: { ObjectFieldTemplate, CollapsibleObjectFieldTemplate }, components: { ObjectFieldItem, ObjectFieldItemButtons }, hideUnmarkedAdditionalProperties, } = useContext(FormRegistry);
17
+ const { fields: { SchemaField }, templates: { ObjectFieldTemplate, CollapsibleObjectFieldTemplate }, components: { ObjectFieldItem, ObjectFieldItemButtons, ObjectFieldButton, ObjectFieldAddButton, ObjectFieldRemoveButton, ObjectFieldUpButton, ObjectFieldDownButton, ObjectFieldSection, }, hideUnmarkedAdditionalProperties, } = useContext(FormRegistry);
20
18
  useSetDefault(props);
21
19
  const { name, schema, uiSchema } = props;
22
20
  const { value, setValue } = useObjectField(name);
@@ -38,12 +36,37 @@ export const ObjectField = (props) => {
38
36
  ? CollapsibleObjectFieldTemplate
39
37
  : ObjectFieldTemplate;
40
38
  const orderedProperties = orderByUiSchema(uiSchema?.["ui:order"], Object.keys(properties || {}));
41
- return (_jsxs(FieldTemplateComponent, { ...props, "data-fjsf-object": name, children: [(orderedProperties ?? Object.keys(properties || {}))
42
- .map((childName) => {
43
- const childSchema = properties?.[childName];
44
- if (!childSchema)
45
- return undefined;
46
- return (_jsx(SchemaField, { required: required?.includes(childName), name: name ? [name, childName].join(".") : childName, schema: typeof childSchema !== "boolean" ? childSchema : {}, uiSchema: uiSchema?.[childName] }, childName));
39
+ const getObjectFieldButton = ({ purpose, onClick, uiSchema, }) => {
40
+ switch (purpose) {
41
+ case ObjectFieldButtonPurpose.ADD:
42
+ return (_jsx(ObjectFieldAddButton, { ...(uiSchema?.["ui:addButtonOptions"]?.props ?? {}), onClick: onClick, children: uiSchema?.["ui:addButtonOptions"]?.content ?? "+" }));
43
+ case ObjectFieldButtonPurpose.REMOVE:
44
+ return (_jsx(ObjectFieldRemoveButton, { ...(uiSchema?.["ui:removeButtonOptions"]?.props ?? {}), onClick: onClick, children: uiSchema?.["ui:removeButtonOptions"]?.content ?? "-" }));
45
+ case ObjectFieldButtonPurpose.MOVE_UP:
46
+ return (_jsx(ObjectFieldUpButton, { ...(uiSchema?.["ui:upButtonOptions"]?.props ?? {}), onClick: onClick, children: uiSchema?.["ui:upButtonOptions"]?.content ?? "↑" }));
47
+ case ObjectFieldButtonPurpose.MOVE_DOWN:
48
+ return (_jsx(ObjectFieldDownButton, { ...(uiSchema?.["ui:downButtonOptions"]?.props ?? {}), onClick: onClick, children: uiSchema?.["ui:downButtonOptions"]?.content ?? "↓" }));
49
+ default:
50
+ return (_jsx(ObjectFieldButton, { ...(uiSchema?.["ui:customButtonOptions"]?.props ?? {}), onClick: onClick, children: uiSchema?.["ui:customButtonOptions"]?.content ?? "" }));
51
+ }
52
+ };
53
+ return (_jsxs(FieldTemplateComponent, { ...props, "data-fjsf-object": name, children: [orderedProperties
54
+ .map((child) => {
55
+ if (typeof child === "string") {
56
+ const childSchema = properties?.[child];
57
+ if (!childSchema)
58
+ return undefined;
59
+ return (_jsx(SchemaField, { required: required?.includes(child), name: name ? [name, child].join(".") : child, schema: typeof childSchema !== "boolean" ? childSchema : {}, uiSchema: uiSchema?.[child] }, child));
60
+ }
61
+ else {
62
+ const { title, fields, collapsible } = child;
63
+ return (_jsx(ObjectFieldSection, { title: title, collapsible: collapsible, children: fields.map((child2) => {
64
+ const childSchema = properties?.[child2];
65
+ if (!childSchema)
66
+ return undefined;
67
+ return (_jsx(SchemaField, { name: name ? [name, child2].join(".") : child2, schema: typeof childSchema !== "boolean" ? childSchema : {}, uiSchema: uiSchema?.[child2] }, child2));
68
+ }) }, fields.join("_")));
69
+ }
47
70
  })
48
71
  .filter((x) => x), (!hideUnmarkedAdditionalProperties || additionalProperties) &&
49
72
  Object.entries(additionalValues || {}).map(([childName]) => (_jsxs(ObjectFieldItem, { children: [_jsx(SchemaField, { required: required?.includes(childName), name: name ? [name, childName].join(".") : childName, schema: typeof schema.additionalProperties !== "boolean"
@@ -0,0 +1,12 @@
1
+ import { jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useContext, useState } from "react";
3
+ import { FormRegistry } from "../../FormRegistry";
4
+ export const ObjectFieldSection = ({ title, collapsible, children, }) => {
5
+ const [collapsed, setCollapsed] = useState(collapsible);
6
+ const { components: { ObjectFieldSectionWrapper, ObjectFieldSectionTitle }, } = useContext(FormRegistry);
7
+ return (_jsxs(ObjectFieldSectionWrapper, { children: [_jsxs(ObjectFieldSectionTitle, { onClick: () => {
8
+ if (collapsible) {
9
+ setCollapsed((currentState) => !currentState);
10
+ }
11
+ }, children: [collapsible && (collapsed ? "▸" : "▾"), title] }), !collapsed && children] }));
12
+ };
@@ -0,0 +1,5 @@
1
+ import { ObjectFieldSection } from "./ObjectFieldSection";
2
+ import * as styledComponents from "./styledComponents";
3
+ export * as fields from "./ObjectField";
4
+ const components = { ...styledComponents, ObjectFieldSection };
5
+ export { components };
@@ -0,0 +1,34 @@
1
+ import { styled } from "styled-components";
2
+ export const ObjectFieldList = styled.ul `
3
+ color: ${(props) => props.theme.text.default};
4
+ list-style-type: none;
5
+ padding: 0;
6
+ `;
7
+ export const ObjectFieldItem = styled.li `
8
+ color: ${(props) => props.theme.text.default};
9
+ display: flex;
10
+ `;
11
+ export const ObjectFieldItemButtons = styled.div `
12
+ display: flex;
13
+ margin: ${(props) => props.theme.spacing.s};
14
+ `;
15
+ export const ObjectFieldButton = styled.a `
16
+ background-color: ${(props) => props.theme.intent.none};
17
+ border: ${(props) => `${props.theme.strokeWidth.thin} solid ${props.theme.border.default}`};
18
+ color: ${(props) => props.theme.neutral[900]};
19
+ cursor: pointer;
20
+ display: inline-block;
21
+ font-weight: ${(props) => props.theme.typography.weight.bold};
22
+ height: ${(props) => props.theme.spacing.l};
23
+ line-height: ${(props) => props.theme.spacing.l};
24
+ width: auto;
25
+ padding: ${(props) => `${props.theme.spacing.xs} ${props.theme.spacing.s}`};
26
+ text-align: center;
27
+ `;
28
+ export const ObjectFieldLineButton = styled(ObjectFieldButton) ``;
29
+ export const ObjectFieldUpButton = styled(ObjectFieldLineButton) ``;
30
+ export const ObjectFieldDownButton = styled(ObjectFieldLineButton) ``;
31
+ export const ObjectFieldRemoveButton = styled(ObjectFieldLineButton) ``;
32
+ export const ObjectFieldAddButton = styled(ObjectFieldButton) ``;
33
+ export const ObjectFieldSectionWrapper = styled.fieldset ``;
34
+ export const ObjectFieldSectionTitle = styled.legend ``;
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useContext, useMemo } from "react";
3
+ import { extractUiSchema } from "../../../utils";
4
+ import { useSetDefault } from "../../hooks";
5
+ import { FormRegistry } from "../../FormRegistry";
6
+ export const RadioField = (props) => {
7
+ const { templates: { FieldTemplate }, components: { RadioFieldInput }, } = useContext(FormRegistry);
8
+ useSetDefault(props);
9
+ const { name, uiSchema } = props;
10
+ const { label, props: inputProps } = useMemo(() => extractUiSchema(uiSchema), [uiSchema]);
11
+ return (_jsx(FieldTemplate, { ...props, "data-fjsf-boolean": name, children: _jsx(RadioFieldInput, { inputProps: inputProps, label: label, name: name }) }));
12
+ };
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useContext } from "react";
3
+ import { FormRegistry } from "../../FormRegistry";
4
+ export const RadioFieldInput = ({ label, inputProps, name, className, }) => {
5
+ const { components: { RadioFieldContainer, RadioFieldElement, RadioFieldInputElement, RadioFieldLabelTrue, RadioFieldLabelFalse, }, } = useContext(FormRegistry);
6
+ return (_jsxs(RadioFieldContainer, { className: className, children: [_jsxs(RadioFieldElement, { children: [_jsx(RadioFieldInputElement, { ...inputProps, name: name, type: "radio", value: "true" }), _jsx(RadioFieldLabelTrue, { children: label?.true ?? "true" })] }), _jsxs(RadioFieldElement, { children: [_jsx(RadioFieldInputElement, { ...inputProps, name: name, type: "radio", value: "false" }), _jsx(RadioFieldLabelFalse, { children: label?.false ?? "false" })] })] }));
7
+ };
@@ -0,0 +1,5 @@
1
+ import { RadioFieldInput } from "./RadioFieldInput";
2
+ import * as styledComponents from "./styledComponents";
3
+ export * as fields from "./RadioField";
4
+ const components = { ...styledComponents, RadioFieldInput };
5
+ export { components };
@@ -0,0 +1,24 @@
1
+ import { styled } from "styled-components";
2
+ import { FieldInput } from "../../components/FieldInput";
3
+ import { commonRadioStyles } from "../../styles/common";
4
+ export const RadioFieldContainer = styled.div `
5
+ color: ${(props) => props.theme.text.default};
6
+ display: flex;
7
+ font-family: ${(props) => props.theme.typography.fontFamily.base};
8
+ gap: ${(props) => props.theme.spacing.l};
9
+ ${commonRadioStyles}
10
+ `;
11
+ export const RadioFieldElement = styled.label `
12
+ display: inline-flex;
13
+ align-items: center;
14
+ `;
15
+ export const RadioFieldInputElement = styled(FieldInput) `
16
+ margin: unset;
17
+ margin-top: ${(props) => props.theme.spacing.xxs};
18
+ `;
19
+ export const RadioFieldLabel = styled.span `
20
+ margin-left: ${(props) => props.theme.spacing.xs};
21
+ line-height: ${(props) => props.theme.typography.lineHeight.small};
22
+ `;
23
+ export const RadioFieldLabelTrue = styled(RadioFieldLabel) ``;
24
+ export const RadioFieldLabelFalse = styled(RadioFieldLabel) ``;
@@ -1,11 +1,10 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useContext, useMemo } from "react";
3
- import { getSchemaType, solveReferences } from "../utils";
4
- import { useExtractUiSchema } from "../hooks";
5
- import { FormRegistry } from "../Form";
6
- import { COMPONENT_TYPES } from "./types";
3
+ import { extractUiSchema, getSchemaType, solveReferences, } from "../../../utils";
4
+ import { FormRegistry } from "../../FormRegistry";
5
+ import { COMPONENT_TYPES } from "../../../common/constants";
7
6
  const useFieldComponent = (schema, uiSchema, fields) => {
8
- const { field } = useExtractUiSchema(uiSchema);
7
+ const { field } = useMemo(() => extractUiSchema(uiSchema), [uiSchema]);
9
8
  if (typeof field === "function") {
10
9
  return field;
11
10
  }
@@ -16,10 +15,10 @@ const useFieldComponent = (schema, uiSchema, fields) => {
16
15
  if (Array.isArray(schemaType)) {
17
16
  schemaType = schemaType[0];
18
17
  }
19
- const componentName = COMPONENT_TYPES[schemaType || "any"];
20
- return componentName in fields
21
- ? fields[componentName]
22
- : fields.UnsupportedField;
18
+ const fieldName = COMPONENT_TYPES[schemaType || "any"];
19
+ return fieldName in fields
20
+ ? fields[fieldName]
21
+ : () => (_jsxs("p", { style: { color: "red" }, children: ["!!! Unsupported field \"", fieldName, "\" !!!"] }));
23
22
  };
24
23
  export const SchemaField = (props) => {
25
24
  const { schema, uiSchema } = props;
@@ -0,0 +1 @@
1
+ export * as fields from "./SchemaField";
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useContext, useMemo } from "react";
3
+ import { extractUiSchema, getEnums } from "../../../utils";
4
+ import { useSetDefault } from "../../hooks";
5
+ import { FormRegistry } from "../../FormRegistry";
6
+ export const SearchableMultiTagSelectField = (props) => {
7
+ const { templates: { FieldTemplate }, components: { SearchableMultiTagSelectFieldInput }, } = useContext(FormRegistry);
8
+ useSetDefault(props);
9
+ const { name, uiSchema } = props;
10
+ const { placeholder, emptySearchMessage, props: inputProps, } = useMemo(() => extractUiSchema(uiSchema), [uiSchema]);
11
+ const enums = useMemo(() => getEnums(props), [props]);
12
+ return (_jsx(FieldTemplate, { ...props, "data-fjsf-array": name, children: _jsx(SearchableMultiTagSelectFieldInput, { ...inputProps, name: name, placeholder: placeholder, emptySearchMessage: emptySearchMessage, enums: enums }) }));
13
+ };
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useContext, useState } from "react";
3
+ import { FormRegistry } from "../../FormRegistry";
4
+ export const SearchableMultiTagSelectFieldInput = ({ name, placeholder, enums, emptySearchMessage, closeElement, className, }) => {
5
+ const { components: { FieldInput, SearchableMultiTagSelectFieldBadge, SearchableMultiTagSelectFieldBadgeCloseElement, SearchableMultiTagSelectFieldBadgeContainer, SearchableMultiTagSelectFieldContainer, SearchableMultiTagSelectFieldInputElement, SearchableMultiTagSelectFieldOptionList, SearchableMultiTagSelectFieldOptionListItem, SearchableMultiTagSelectFieldOptionListWithoutItem, SearchableMultiTagSelectFieldSearchContainer, }, } = useContext(FormRegistry);
6
+ const [search, setSearch] = useState("");
7
+ const searchIncludedInEnum = () => {
8
+ const hasValue = enums?.values.map((value) => value.title.toLowerCase().includes(search.toLowerCase()));
9
+ return hasValue?.includes(true);
10
+ };
11
+ return (_jsx(FieldInput, { className: className, name: name, multiple: true, children: ({ field, form: { setFieldValue }, meta, }) => (_jsxs(SearchableMultiTagSelectFieldContainer, { className: className, children: [_jsx(FieldInput, { id: className, type: "hidden", ...field }), _jsxs(SearchableMultiTagSelectFieldSearchContainer, { children: [_jsx(SearchableMultiTagSelectFieldInputElement, { id: className + "_id", className: className, type: "text", onChange: (e) => {
12
+ setSearch(e.currentTarget.value);
13
+ }, placeholder: placeholder, value: search }), search.length > 0 && (_jsx(SearchableMultiTagSelectFieldOptionList, { children: searchIncludedInEnum() ? (enums?.values
14
+ .filter((item) => !(field.value ?? []).includes(item.const))
15
+ .filter((value) => value.title.toLowerCase().includes(search.toLowerCase()))
16
+ .map((option, index) => (_jsx(SearchableMultiTagSelectFieldOptionListItem, { value: option.const, onClick: () => {
17
+ setFieldValue(name, [
18
+ ...new Set([...(field.value ?? []), option.const]),
19
+ ]);
20
+ setSearch("");
21
+ }, children: option.title }, index)))) : (_jsx(SearchableMultiTagSelectFieldOptionListWithoutItem, { children: emptySearchMessage ?? "No match found" })) }))] }), _jsx(SearchableMultiTagSelectFieldBadgeContainer, { children: (field.value ?? []).map((value) => (_jsxs(SearchableMultiTagSelectFieldBadge, { children: [enums?.values.find((option) => option.const === value)
22
+ ?.title, _jsx(SearchableMultiTagSelectFieldBadgeCloseElement, { onClick: () => setFieldValue(name, field.value.filter((v) => v !== value)), children: closeElement ?? "✕" })] }, value))) }), meta.touched && meta.error && (_jsx("div", { className: "error", children: meta.error }))] })) }));
23
+ };
@@ -0,0 +1,5 @@
1
+ import { SearchableMultiTagSelectFieldInput } from "./SearchableMultiTagSelectFieldInput";
2
+ import * as styledComponents from "./styledComponents";
3
+ export * as fields from "./SearchableMultiTagSelectField";
4
+ const components = { ...styledComponents, SearchableMultiTagSelectFieldInput };
5
+ export { components };
@@ -0,0 +1,65 @@
1
+ import { styled } from "styled-components";
2
+ import { FieldInput } from "../../components/FieldInput";
3
+ import { commonInputStyles } from "../../styles/common";
4
+ export const SearchableMultiTagSelectFieldContainer = styled.div `
5
+ display: flex;
6
+ flex-direction: column;
7
+ font-family: ${(props) => props.theme.typography.fontFamily.base};
8
+ ${commonInputStyles}
9
+ `;
10
+ export const SearchableMultiTagSelectFieldSearchContainer = styled.div `
11
+ display: inline-block;
12
+ position: relative;
13
+ width: fit-content;
14
+ `;
15
+ export const SearchableMultiTagSelectFieldInputElement = styled(FieldInput) `
16
+ width: 100%;
17
+ `;
18
+ export const SearchableMultiTagSelectFieldBadgeContainer = styled.div `
19
+ font-family: ${(props) => props.theme.typography.fontFamily.base};
20
+ margin: ${(props) => `${props.theme.spacing.xs} 0`};
21
+ display: inline-flex;
22
+ gap: ${(props) => props.theme.strokeWidth.thin};
23
+ `;
24
+ export const SearchableMultiTagSelectFieldBadge = styled.span `
25
+ color: ${(props) => props.theme.background.input};
26
+ background: ${(props) => props.theme.text.default};
27
+ padding: ${(props) => `0 ${props.theme.spacing.xs} 0 ${props.theme.spacing.s}`};
28
+ border-radius: ${(props) => props.theme.borderRadius.none};
29
+ display: flex;
30
+ margin-right: ${(props) => props.theme.spacing.xs};
31
+ `;
32
+ export const SearchableMultiTagSelectFieldBadgeCloseElement = styled.span `
33
+ cursor: pointer;
34
+ margin-left: ${(props) => props.theme.spacing.s};
35
+ font-size: ${(props) => props.theme.typography.size.s};
36
+ align-self: baseline;
37
+ font-family: ${(props) => props.theme.typography.fontFamily.base};
38
+ `;
39
+ export const SearchableMultiTagSelectFieldOptionList = styled.ul `
40
+ width: 100%;
41
+ padding: unset;
42
+ margin: unset;
43
+ border: ${(props) => `${props.theme.strokeWidth.thin} solid ${props.theme.border.default}`};
44
+ border-radius: ${(props) => props.theme.borderRadius.s};
45
+ position: absolute;
46
+ background: ${(props) => props.theme.background.default};
47
+ top: 100%;
48
+ z-index: 1000;
49
+ `;
50
+ export const SearchableMultiTagSelectFieldOptionListItem = styled.li `
51
+ cursor: pointer;
52
+ list-style-type: none;
53
+ padding: ${(props) => `${props.theme.spacing.xxs} ${props.theme.spacing.xs}`};
54
+ height: ${(props) => props.theme.spacing.xl};
55
+ &:hover {
56
+ background: ${(props) => props.theme.background.input};
57
+ }
58
+ `;
59
+ export const SearchableMultiTagSelectFieldOptionListWithoutItem = styled.li `
60
+ cursor: default;
61
+ color: ${(props) => props.theme.background.default};
62
+ list-style-type: none;
63
+ padding: ${(props) => `${props.theme.spacing.xxs} ${props.theme.spacing.xs}`};
64
+ height: ${(props) => props.theme.spacing.xl};
65
+ `;
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useContext, useEffect, useMemo, useRef, useState, } from "react";
3
3
  import { useField } from "formik";
4
- import { FormRegistry } from "../Form";
5
- import { useExtractUiSchema, useSetDefault } from "../hooks";
6
- import { getEnums } from "../utils";
4
+ import { extractUiSchema, getEnums } from "../../../utils";
5
+ import { useSetDefault } from "../../hooks";
6
+ import { FormRegistry } from "../../FormRegistry";
7
7
  export const SearchableSelectField = (props) => {
8
- const { templates: { FieldTemplate }, components: { SearchableSelectContainer, SearchDropdownContainer, SearchListOption, SearchListExpand, SearchNotFound, SearchInput, SearchClearButton, SearchInputContainer, }, } = useContext(FormRegistry);
8
+ const { templates: { FieldTemplate }, components: { SearchableSelectFieldContainer, SearchableSelectFieldDropdownContainer, SearchableSelectFieldListOption, SearchableSelectFieldListExpand, SearchableSelectFieldNotFound, SearchableSelectFieldInputElement, SearchableSelectFieldClearButton, SearchableSelectFieldInputContainer, }, } = useContext(FormRegistry);
9
9
  useSetDefault(props);
10
10
  const ListOption = (props) => {
11
11
  const { isActive, children, ...rest } = props;
@@ -19,10 +19,10 @@ export const SearchableSelectField = (props) => {
19
19
  });
20
20
  }
21
21
  }, [isActive]);
22
- return (_jsx(SearchListOption, { ref: ref, ...rest, children: children }));
22
+ return (_jsx(SearchableSelectFieldListOption, { ref: ref, ...rest, children: children }));
23
23
  };
24
24
  const { name, uiSchema, schema, onChange, onSelect } = props;
25
- const { props: inputProps, placeholder, clearButtonText, expandText, notFoundMessage, hoverColors = { backgroundColor: "", color: "" }, hideClearButton = false, dropdown, } = useExtractUiSchema(uiSchema);
25
+ const { props: inputProps, placeholder, clearButtonText, expandText, notFoundMessage, hoverColors = { backgroundColor: "", color: "" }, hideClearButton = false, dropdown, } = useMemo(() => extractUiSchema(uiSchema), [uiSchema]);
26
26
  const dropdownOptions = {
27
27
  show: false,
28
28
  height: "",
@@ -116,7 +116,9 @@ export const SearchableSelectField = (props) => {
116
116
  const fieldDataAttribute = schema.type === "string"
117
117
  ? { "data-fjsf-string": name }
118
118
  : { "data-fjsf-number": name };
119
- return (_jsx(FieldTemplate, { ...props, ...fieldDataAttribute, children: _jsxs(SearchableSelectContainer, { ref: containerRef, onBlur: handleBlur, children: [_jsxs(SearchInputContainer, { children: [_jsx(SearchInput, { ...inputProps, name: name, type: "text", placeholder: placeholder, value: searchTerm, onChange: handleSearchChange, onFocus: handleFocus }), searchTerm && !hideClearButton && (_jsx(SearchClearButton, { onClick: handleClear, children: clearButtonText ?? "x" }))] }), showOptions && (_jsxs(SearchDropdownContainer, { role: "dropdown-list", ref: moreRef, style: {
119
+ return (_jsx(FieldTemplate, { ...props, ...fieldDataAttribute, children: _jsxs(SearchableSelectFieldContainer, { ref: containerRef, onBlur: handleBlur, children: [_jsxs(SearchableSelectFieldInputContainer, { children: [_jsx(SearchableSelectFieldInputElement, { ...inputProps, name: name, type: "text", placeholder: placeholder, value: searchTerm, onChange: handleSearchChange, onFocus: handleFocus }), searchTerm && !hideClearButton && (_jsx(SearchableSelectFieldClearButton, { onClick: handleClear, children: clearButtonText ?? "✕" }))] }), showOptions && (_jsxs(SearchableSelectFieldDropdownContainer, { role: "dropdown-list",
120
+ //ref={moreRef} //TODO
121
+ style: {
120
122
  maxHeight: dropdownOptions.height,
121
123
  width: dropdownOptions.width,
122
124
  }, children: [displayedItems.length > 0 ? (displayedItems.map((item, index) => (_jsx(ListOption, { isActive: index === selectedItemIndex, className: index === selectedItemIndex ? "selected-item-active" : "", style: index === selectedItemIndex
@@ -124,5 +126,9 @@ export const SearchableSelectField = (props) => {
124
126
  backgroundColor: hoverColors.backgroundColor,
125
127
  color: hoverColors.color,
126
128
  }
127
- : {}, role: "filtered-list", onClick: () => handleSelect(item), onMouseDown: (e) => e.preventDefault(), children: item.title }, index)))) : (_jsx(SearchNotFound, { onMouseDown: (e) => e.preventDefault(), children: notFoundMessage ?? "No match found" })), showMoreOption && (_jsx(SearchListExpand, { ref: moreRef, onMouseDown: (e) => e.preventDefault(), onClick: loadMoreItems, children: expandText ?? "More..." }))] }))] }) }));
129
+ : {}, role: "filtered-list", onClick: () => handleSelect(item), onMouseDown: (e) => e.preventDefault(), children: item.title }, index)))) : (_jsx(SearchableSelectFieldNotFound, { onMouseDown: (e) => e.preventDefault(), children: notFoundMessage ?? "No match found" })), showMoreOption && (_jsx(SearchableSelectFieldListExpand
130
+ //ref={moreRef} //TODO
131
+ , {
132
+ //ref={moreRef} //TODO
133
+ onMouseDown: (e) => e.preventDefault(), onClick: loadMoreItems, children: expandText ?? "More..." }))] }))] }) }));
128
134
  };
@@ -0,0 +1,4 @@
1
+ export * as components from "./styledComponents";
2
+ export * as fields from "./SearchableSelectField";
3
+ //TODO: Export after figuring how to properly export them
4
+ //export type * from "./types";
@@ -0,0 +1,47 @@
1
+ import { styled } from "styled-components";
2
+ import { FieldInput } from "../../components/FieldInput";
3
+ import { SearchableMultiTagSelectFieldSearchContainer, SearchableMultiTagSelectFieldOptionList, SearchableMultiTagSelectFieldOptionListItem, } from "../SearchableMultiTagSelectField/styledComponents";
4
+ export const SearchableSelectFieldContainer = styled(SearchableMultiTagSelectFieldSearchContainer) ``;
5
+ export const SearchableSelectFieldDropdownContainer = styled(SearchableMultiTagSelectFieldOptionList) `
6
+ overflow-y: auto;
7
+ overflow-x: auto;
8
+ max-height: 6rem;
9
+ white-space: nowrap;
10
+ `;
11
+ export const SearchableSelectFieldListOption = styled(SearchableMultiTagSelectFieldOptionListItem) `
12
+ cursor: default;
13
+ `;
14
+ export const SearchableSelectFieldListExpand = styled(SearchableMultiTagSelectFieldOptionListItem) `
15
+ text-decoration: underline;
16
+ &:hover {
17
+ background: none;
18
+ }
19
+ `;
20
+ export const SearchableSelectFieldNotFound = styled(SearchableMultiTagSelectFieldOptionListItem) `
21
+ cursor: default;
22
+ &:hover {
23
+ background: none;
24
+ }
25
+ `;
26
+ export const SearchableSelectFieldInputElement = styled(FieldInput) `
27
+ width: 100%;
28
+ padding-right: ${(props) => props.theme.spacing.xxl};
29
+ text-overflow: ellipsis;
30
+ `;
31
+ export const SearchableSelectFieldClearButton = styled.span `
32
+ cursor: pointer;
33
+ position: absolute;
34
+ right: ${(props) => props.theme.spacing.xs};
35
+ bottom: 0;
36
+ top: 0;
37
+ margin: auto;
38
+ background-color: ${(props) => props.theme.neutral[500]};
39
+ border-radius: ${(props) => props.theme.borderRadius.circle};
40
+ line-height: 1rem;
41
+ min-width: 1rem;
42
+ height: 1rem;
43
+ text-align: center;
44
+ `;
45
+ export const SearchableSelectFieldInputContainer = styled.div `
46
+ display: flex;
47
+ `;