@digigov/form 2.0.0-a32ad9b2 → 2.0.0-abd768eb

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 (331) hide show
  1. package/Field/FieldBase/index.js +7 -2
  2. package/Field/FieldBase.js.map +2 -2
  3. package/Field/FieldBaseContainer/index.js +37 -18
  4. package/Field/FieldBaseContainer.d.ts +1 -1
  5. package/Field/FieldBaseContainer.js.map +2 -2
  6. package/Field/FieldConditional/index.js +4 -0
  7. package/Field/FieldConditional.js.map +2 -2
  8. package/Field/index.js +10 -4
  9. package/Field/index.js.map +2 -2
  10. package/Field/types.d.ts +10 -3
  11. package/Field/utils/index.js +3 -1
  12. package/Field/utils/index.js.map +2 -2
  13. package/Field/utils/useField/index.js +8 -1
  14. package/Field/utils/useField.js.map +2 -2
  15. package/FieldArray/FormDialog/index.js +314 -196
  16. package/FieldArray/FormDialog.d.ts +20 -7
  17. package/FieldArray/FormDialog.js.map +3 -3
  18. package/FieldArray/__stories__/Default.d.ts +1 -1
  19. package/FieldArray/__stories__/WithExactLength.d.ts +1 -1
  20. package/FieldArray/__stories__/WithModal.d.ts +1 -1
  21. package/FieldArray/index.d.ts +1 -0
  22. package/FieldArray/index.js +32 -8
  23. package/FieldArray/index.js.map +2 -2
  24. package/FieldObject/index.d.ts +3 -0
  25. package/FieldObject/index.js +26 -15
  26. package/FieldObject/index.js.map +2 -2
  27. package/FormBuilder/FormBuilder.stories.d.ts +2 -0
  28. package/FormBuilder/__stories__/AutoErrorGrouping.d.ts +1 -1
  29. package/FormBuilder/__stories__/Default.d.ts +1 -1
  30. package/FormBuilder/__stories__/ErrorGrouping.d.ts +1 -1
  31. package/FormBuilder/index.d.ts +1 -1
  32. package/FormBuilder/index.js +11 -7
  33. package/FormBuilder/index.js.map +2 -2
  34. package/FormContext/index.js +6 -2
  35. package/FormContext.d.ts +1 -0
  36. package/FormContext.js.map +2 -2
  37. package/MultiplicityField/MultiplicityField.stories.d.ts +2 -0
  38. package/MultiplicityField/__stories__/Default.d.ts +1 -1
  39. package/MultiplicityField/__stories__/PreviewDisplay.d.ts +1 -1
  40. package/MultiplicityField/__stories__/WithExactLength.d.ts +1 -1
  41. package/MultiplicityField/__stories__/WithMaxLength.d.ts +1 -1
  42. package/MultiplicityField/__stories__/WithMinAndMaxLength.d.ts +1 -1
  43. package/MultiplicityField/__stories__/WithMinLength.d.ts +1 -1
  44. package/MultiplicityField/add-objects/index.js +2 -0
  45. package/MultiplicityField/add-objects.js.map +2 -2
  46. package/MultiplicityField/index.js +4 -1
  47. package/MultiplicityField/index.js.map +2 -2
  48. package/MultiplicityField/types.d.ts +1 -0
  49. package/Questions/Questions.stories.d.ts +2 -0
  50. package/Questions/__stories__/Default.d.ts +1 -1
  51. package/cjs/Field/FieldBase/index.js +7 -2
  52. package/cjs/Field/FieldBase.js.map +2 -2
  53. package/cjs/Field/FieldBaseContainer/index.js +36 -17
  54. package/cjs/Field/FieldBaseContainer.js.map +3 -3
  55. package/cjs/Field/FieldConditional/index.js +4 -0
  56. package/cjs/Field/FieldConditional.js.map +2 -2
  57. package/cjs/Field/index.js +10 -4
  58. package/cjs/Field/index.js.map +2 -2
  59. package/cjs/Field/types.js.map +1 -1
  60. package/cjs/Field/utils/index.js +3 -1
  61. package/cjs/Field/utils/index.js.map +2 -2
  62. package/cjs/Field/utils/useField/index.js +8 -1
  63. package/cjs/Field/utils/useField.js.map +2 -2
  64. package/cjs/FieldArray/FormDialog/index.js +309 -194
  65. package/cjs/FieldArray/FormDialog.js.map +3 -3
  66. package/cjs/FieldArray/index.js +31 -7
  67. package/cjs/FieldArray/index.js.map +2 -2
  68. package/cjs/FieldObject/index.js +26 -15
  69. package/cjs/FieldObject/index.js.map +2 -2
  70. package/cjs/FormBuilder/index.js +11 -7
  71. package/cjs/FormBuilder/index.js.map +2 -2
  72. package/cjs/FormContext/index.js +7 -2
  73. package/cjs/FormContext.js.map +2 -2
  74. package/cjs/MultiplicityField/add-objects/index.js +2 -0
  75. package/cjs/MultiplicityField/add-objects.js.map +2 -2
  76. package/cjs/MultiplicityField/index.js +4 -1
  77. package/cjs/MultiplicityField/index.js.map +2 -2
  78. package/cjs/MultiplicityField/types.js.map +1 -1
  79. package/cjs/inputs/Checkboxes/index.js +2 -2
  80. package/cjs/inputs/Checkboxes/index.js.map +2 -2
  81. package/cjs/inputs/DateInput/index.js +41 -14
  82. package/cjs/inputs/DateInput/index.js.map +2 -2
  83. package/cjs/inputs/DateTimeInput/index.js +68 -34
  84. package/cjs/inputs/DateTimeInput/index.js.map +2 -2
  85. package/cjs/inputs/FileInput/index.js +52 -29
  86. package/cjs/inputs/FileInput/index.js.map +2 -2
  87. package/cjs/inputs/ImageInput/__stories__/logo.d/index.js +1 -0
  88. package/cjs/inputs/ImageInput/__stories__/logo.d.js.map +7 -0
  89. package/cjs/inputs/ImageInput/index.js +41 -10
  90. package/cjs/inputs/ImageInput/index.js.map +2 -2
  91. package/cjs/inputs/Input/index.js +4 -4
  92. package/cjs/inputs/Input/index.js.map +2 -2
  93. package/cjs/inputs/Select/index.js +4 -3
  94. package/cjs/inputs/Select/index.js.map +2 -2
  95. package/cjs/inputs/inputsScenarios/index.js +2 -2
  96. package/cjs/inputs/inputsScenarios.js.map +2 -2
  97. package/cjs/lazy/index.js +2 -1
  98. package/cjs/lazy.js.map +2 -2
  99. package/cjs/registry/index.js +6 -6
  100. package/cjs/registry.js.map +2 -2
  101. package/cjs/types.js.map +1 -1
  102. package/cjs/utils/index.js +20 -6
  103. package/cjs/utils.js.map +2 -2
  104. package/cjs/validators/index.js +11 -6
  105. package/cjs/validators/index.js.map +2 -2
  106. package/cjs/validators/utils/amka/index.js +60 -0
  107. package/cjs/validators/utils/amka.js.map +7 -0
  108. package/cjs/validators/utils/date/index.js +26 -3
  109. package/cjs/validators/utils/date.js.map +2 -2
  110. package/cjs/validators/utils/datetime/index.js +118 -24
  111. package/cjs/validators/utils/datetime.js.map +2 -2
  112. package/cjs/validators/utils/file/index.js +30 -17
  113. package/cjs/validators/utils/file.js.map +2 -2
  114. package/cjs/validators/utils/index.js +5 -1
  115. package/cjs/validators/utils/index.js.map +2 -2
  116. package/index.js +1 -1
  117. package/inputs/AutoCompleteInput/AutoComplete.stories.d.ts +2 -0
  118. package/inputs/AutoCompleteInput/__stories__/Default.d.ts +1 -1
  119. package/inputs/AutoCompleteInput/__stories__/Multiple.d.ts +1 -1
  120. package/inputs/Checkboxes/Checkboxes.stories.d.ts +2 -0
  121. package/inputs/Checkboxes/__stories__/Conditional.d.ts +1 -1
  122. package/inputs/Checkboxes/__stories__/Default.d.ts +1 -1
  123. package/inputs/Checkboxes/__stories__/WithDivider.d.ts +1 -1
  124. package/inputs/Checkboxes/index.js +2 -2
  125. package/inputs/Checkboxes/index.js.map +2 -2
  126. package/inputs/DateInput/DateInput.stories.d.ts +6 -0
  127. package/inputs/DateInput/__stories__/Default.d.ts +1 -1
  128. package/inputs/DateInput/__stories__/WithDefaultValue.d.ts +3 -0
  129. package/inputs/DateInput/__stories__/WithInitialValue.d.ts +3 -0
  130. package/inputs/DateInput/__stories__/WithWrongDefaultValue.d.ts +3 -0
  131. package/inputs/DateInput/__stories__/WithWrongInitialValue.d.ts +3 -0
  132. package/inputs/DateInput/index.js +42 -15
  133. package/inputs/DateInput/index.js.map +2 -2
  134. package/inputs/DateTimeInput/DateTimeInput.stories.d.ts +10 -3
  135. package/inputs/DateTimeInput/__stories__/Default.d.ts +1 -1
  136. package/inputs/DateTimeInput/__stories__/WithDefaultValue.d.ts +3 -0
  137. package/inputs/DateTimeInput/__stories__/WithInitialValue.d.ts +3 -0
  138. package/inputs/DateTimeInput/__stories__/WithWrongDefaultValue.d.ts +3 -0
  139. package/inputs/DateTimeInput/__stories__/WithWrongInitialValue.d.ts +3 -0
  140. package/inputs/DateTimeInput/index.js +69 -35
  141. package/inputs/DateTimeInput/index.js.map +2 -2
  142. package/inputs/FileInput/FileInput.stories.d.ts +3 -0
  143. package/inputs/FileInput/__stories__/Default.d.ts +1 -1
  144. package/inputs/FileInput/__stories__/WithBorderAndLink.d.ts +3 -0
  145. package/inputs/FileInput/index.d.ts +11 -4
  146. package/inputs/FileInput/index.js +57 -31
  147. package/inputs/FileInput/index.js.map +2 -2
  148. package/inputs/ImageInput/ImageInput.stories.d.ts +4 -1
  149. package/inputs/ImageInput/__stories__/Default.d.ts +1 -1
  150. package/inputs/ImageInput/__stories__/MaxSize.d.ts +1 -1
  151. package/inputs/ImageInput/__stories__/WithInitialValues.d.ts +3 -0
  152. package/inputs/ImageInput/__stories__/WithInvalidImageDimension.d.ts +1 -1
  153. package/inputs/ImageInput/__stories__/logo.d/index.js +1 -0
  154. package/inputs/ImageInput/__stories__/logo.d/package.json +6 -0
  155. package/inputs/ImageInput/__stories__/logo.d.js.map +7 -0
  156. package/inputs/ImageInput/index.d.ts +9 -1
  157. package/inputs/ImageInput/index.js +42 -11
  158. package/inputs/ImageInput/index.js.map +2 -2
  159. package/inputs/Input/Input.stories.d.ts +4 -0
  160. package/inputs/Input/__stories__/AFM.d.ts +1 -1
  161. package/inputs/Input/__stories__/AMKA.d.ts +3 -0
  162. package/inputs/Input/__stories__/Boolean.d.ts +1 -1
  163. package/inputs/Input/__stories__/Email.d.ts +3 -0
  164. package/inputs/Input/__stories__/IBAN.d.ts +1 -1
  165. package/inputs/Input/__stories__/Integer.d.ts +1 -1
  166. package/inputs/Input/__stories__/LandlineNumber.d.ts +1 -1
  167. package/inputs/Input/__stories__/MobilePhone.d.ts +1 -1
  168. package/inputs/Input/__stories__/PhoneNumber.d.ts +1 -1
  169. package/inputs/Input/__stories__/PostalCode.d.ts +1 -1
  170. package/inputs/Input/__stories__/String.d.ts +1 -1
  171. package/inputs/Input/__stories__/StringWithTrimValidation.d.ts +1 -1
  172. package/inputs/Input/__stories__/TextWithLimit.d.ts +1 -1
  173. package/inputs/Input/index.d.ts +2 -1
  174. package/inputs/Input/index.js +4 -4
  175. package/inputs/Input/index.js.map +2 -2
  176. package/inputs/Label/Label.stories.d.ts +2 -0
  177. package/inputs/Label/__stories__/Default.d.ts +1 -1
  178. package/inputs/OtpInput/OtpInput.stories.d.ts +2 -0
  179. package/inputs/OtpInput/__stories__/Default.d.ts +1 -1
  180. package/inputs/Radio/Radio.stories.d.ts +2 -0
  181. package/inputs/Radio/__stories__/Conditional.d.ts +1 -1
  182. package/inputs/Radio/__stories__/Default.d.ts +1 -1
  183. package/inputs/Radio/__stories__/WithDivider.d.ts +1 -1
  184. package/inputs/Select/Select.stories.d.ts +2 -0
  185. package/inputs/Select/__stories__/Default.d.ts +1 -1
  186. package/inputs/Select/index.d.ts +2 -1
  187. package/inputs/Select/index.js +4 -3
  188. package/inputs/Select/index.js.map +2 -2
  189. package/inputs/inputsScenarios/index.js +2 -2
  190. package/inputs/inputsScenarios.d.ts +1 -1
  191. package/inputs/inputsScenarios.js.map +2 -2
  192. package/lazy/index.js +2 -1
  193. package/package.json +4 -4
  194. package/registry/index.js +6 -6
  195. package/src/Field/FieldBase.tsx +6 -1
  196. package/src/Field/FieldBaseContainer.tsx +68 -48
  197. package/src/Field/FieldConditional.tsx +4 -0
  198. package/src/Field/index.tsx +15 -5
  199. package/src/Field/types.tsx +11 -3
  200. package/src/Field/utils/index.ts +2 -0
  201. package/src/Field/utils/useField.ts +9 -1
  202. package/src/FieldArray/FormDialog.tsx +430 -243
  203. package/src/FieldArray/__stories__/Default.tsx +1 -1
  204. package/src/FieldArray/__stories__/WithExactLength.tsx +1 -1
  205. package/src/FieldArray/__stories__/WithModal.tsx +4 -3
  206. package/src/FieldArray/index.tsx +53 -30
  207. package/src/FieldObject/index.tsx +33 -18
  208. package/src/FormBuilder/FormBuilder.stories.js +3 -0
  209. package/src/FormBuilder/__stories__/AutoErrorGrouping.tsx +1 -1
  210. package/src/FormBuilder/__stories__/Default.tsx +1 -1
  211. package/src/FormBuilder/__stories__/ErrorGrouping.tsx +1 -1
  212. package/src/FormBuilder/index.tsx +12 -7
  213. package/src/FormBuilder/scenarios.test.tsx +763 -5
  214. package/src/FormContext.tsx +5 -1
  215. package/src/MultiplicityField/MultiplicityField.stories.js +3 -0
  216. package/src/MultiplicityField/__stories__/Default.tsx +1 -1
  217. package/src/MultiplicityField/__stories__/PreviewDisplay.tsx +1 -1
  218. package/src/MultiplicityField/__stories__/WithExactLength.tsx +1 -1
  219. package/src/MultiplicityField/__stories__/WithMaxLength.tsx +1 -1
  220. package/src/MultiplicityField/__stories__/WithMinAndMaxLength.tsx +1 -1
  221. package/src/MultiplicityField/__stories__/WithMinLength.tsx +1 -1
  222. package/src/MultiplicityField/add-objects.tsx +2 -0
  223. package/src/MultiplicityField/index.tsx +3 -0
  224. package/src/MultiplicityField/types.ts +1 -0
  225. package/src/Questions/Questions.stories.js +3 -0
  226. package/src/Questions/__stories__/Default.tsx +1 -1
  227. package/src/inputs/AutoCompleteInput/AutoComplete.stories.js +3 -0
  228. package/src/inputs/AutoCompleteInput/__stories__/Default.tsx +1 -1
  229. package/src/inputs/AutoCompleteInput/__stories__/Multiple.tsx +1 -1
  230. package/src/inputs/Checkboxes/Checkboxes.stories.js +3 -0
  231. package/src/inputs/Checkboxes/__stories__/Conditional.tsx +1 -1
  232. package/src/inputs/Checkboxes/__stories__/Default.tsx +1 -1
  233. package/src/inputs/Checkboxes/__stories__/WithDivider.tsx +1 -1
  234. package/src/inputs/Checkboxes/index.tsx +2 -6
  235. package/src/inputs/DateInput/DateInput.stories.js +7 -0
  236. package/src/inputs/DateInput/__stories__/Default.tsx +1 -1
  237. package/src/inputs/DateInput/__stories__/WithDefaultValue.tsx +26 -0
  238. package/src/inputs/DateInput/__stories__/WithInitialValue.tsx +28 -0
  239. package/src/inputs/DateInput/__stories__/WithWrongDefaultValue.tsx +26 -0
  240. package/src/inputs/DateInput/__stories__/WithWrongInitialValue.tsx +28 -0
  241. package/src/inputs/DateInput/index.test.tsx +16 -0
  242. package/src/inputs/DateInput/index.tsx +46 -14
  243. package/src/inputs/DateTimeInput/DateTimeInput.stories.js +12 -6
  244. package/src/inputs/DateTimeInput/__stories__/Default.tsx +1 -1
  245. package/src/inputs/DateTimeInput/__stories__/WithDefaultValue.tsx +26 -0
  246. package/src/inputs/DateTimeInput/__stories__/WithInitialValue.tsx +28 -0
  247. package/src/inputs/DateTimeInput/__stories__/WithWrongDefaultValue.tsx +26 -0
  248. package/src/inputs/DateTimeInput/__stories__/WithWrongInitialValue.tsx +28 -0
  249. package/src/inputs/DateTimeInput/index.test.tsx +16 -0
  250. package/src/inputs/DateTimeInput/index.tsx +73 -34
  251. package/src/inputs/FileInput/FileInput.stories.js +4 -0
  252. package/src/inputs/FileInput/__stories__/Default.tsx +1 -1
  253. package/src/inputs/FileInput/__stories__/WithBorderAndLink.tsx +34 -0
  254. package/src/inputs/FileInput/index.test.tsx +4 -0
  255. package/src/inputs/FileInput/index.tsx +90 -48
  256. package/src/inputs/ImageInput/ImageInput.stories.js +5 -1
  257. package/src/inputs/ImageInput/__stories__/Default.tsx +1 -1
  258. package/src/inputs/ImageInput/__stories__/MaxSize.tsx +3 -2
  259. package/src/inputs/ImageInput/__stories__/WithInitialValues.tsx +45 -0
  260. package/src/inputs/ImageInput/__stories__/WithInvalidImageDimension.tsx +1 -1
  261. package/src/inputs/ImageInput/__stories__/logo.d.ts +4 -0
  262. package/src/inputs/ImageInput/__stories__/logo.png +0 -0
  263. package/src/inputs/ImageInput/index.test.tsx +21 -17
  264. package/src/inputs/ImageInput/index.tsx +100 -48
  265. package/src/inputs/Input/Input.stories.js +5 -0
  266. package/src/inputs/Input/__stories__/AFM.tsx +1 -1
  267. package/src/inputs/Input/__stories__/AMKA.tsx +23 -0
  268. package/src/inputs/Input/__stories__/Boolean.tsx +1 -1
  269. package/src/inputs/Input/__stories__/Email.tsx +23 -0
  270. package/src/inputs/Input/__stories__/IBAN.tsx +1 -1
  271. package/src/inputs/Input/__stories__/Integer.tsx +1 -1
  272. package/src/inputs/Input/__stories__/LandlineNumber.tsx +1 -1
  273. package/src/inputs/Input/__stories__/MobilePhone.tsx +1 -1
  274. package/src/inputs/Input/__stories__/PhoneNumber.tsx +1 -1
  275. package/src/inputs/Input/__stories__/PostalCode.tsx +1 -1
  276. package/src/inputs/Input/__stories__/String.tsx +1 -1
  277. package/src/inputs/Input/__stories__/StringWithTrimValidation.tsx +1 -1
  278. package/src/inputs/Input/__stories__/TextWithLimit.tsx +1 -1
  279. package/src/inputs/Input/index.test.tsx +8 -0
  280. package/src/inputs/Input/index.tsx +5 -3
  281. package/src/inputs/Label/Label.stories.js +3 -0
  282. package/src/inputs/Label/__stories__/Default.tsx +1 -1
  283. package/src/inputs/OtpInput/OtpInput.stories.js +3 -0
  284. package/src/inputs/OtpInput/__stories__/Default.tsx +1 -1
  285. package/src/inputs/Radio/Radio.stories.js +3 -0
  286. package/src/inputs/Radio/__stories__/Conditional.tsx +1 -1
  287. package/src/inputs/Radio/__stories__/Default.tsx +1 -1
  288. package/src/inputs/Radio/__stories__/WithDivider.tsx +1 -1
  289. package/src/inputs/Select/Select.stories.js +3 -0
  290. package/src/inputs/Select/__stories__/Default.tsx +1 -1
  291. package/src/inputs/Select/index.tsx +7 -4
  292. package/src/inputs/inputsScenarios.ts +2 -2
  293. package/src/lazy.js +2 -1
  294. package/src/registry.js +6 -6
  295. package/src/types.tsx +2 -1
  296. package/src/utils.ts +27 -6
  297. package/src/validators/index.ts +17 -6
  298. package/src/validators/utils/amka.ts +39 -0
  299. package/src/validators/utils/date.ts +28 -4
  300. package/src/validators/utils/datetime.ts +121 -29
  301. package/src/validators/utils/file.ts +33 -19
  302. package/src/validators/utils/index.ts +4 -1
  303. package/types.d.ts +2 -1
  304. package/types.js.map +1 -1
  305. package/utils/index.js +20 -6
  306. package/utils.d.ts +2 -0
  307. package/utils.js.map +2 -2
  308. package/validators/index.d.ts +1 -1
  309. package/validators/index.js +12 -6
  310. package/validators/index.js.map +2 -2
  311. package/validators/utils/amka/index.js +36 -0
  312. package/{inputs/Input/inputsInputScenarios → validators/utils/amka}/package.json +1 -1
  313. package/validators/utils/amka.d.ts +6 -0
  314. package/validators/utils/amka.js.map +7 -0
  315. package/validators/utils/date/index.js +26 -3
  316. package/validators/utils/date.d.ts +1 -1
  317. package/validators/utils/date.js.map +2 -2
  318. package/validators/utils/datetime/index.js +118 -24
  319. package/validators/utils/datetime.d.ts +1 -1
  320. package/validators/utils/datetime.js.map +2 -2
  321. package/validators/utils/file/index.js +30 -17
  322. package/validators/utils/file.js.map +2 -2
  323. package/validators/utils/index.d.ts +1 -0
  324. package/validators/utils/index.js +4 -1
  325. package/validators/utils/index.js.map +2 -2
  326. package/cjs/inputs/Input/inputsInputScenarios/index.js +0 -439
  327. package/cjs/inputs/Input/inputsInputScenarios.js.map +0 -7
  328. package/inputs/Input/inputsInputScenarios/index.js +0 -406
  329. package/inputs/Input/inputsInputScenarios.d.ts +0 -57
  330. package/inputs/Input/inputsInputScenarios.js.map +0 -7
  331. package/src/inputs/Input/inputsInputScenarios.ts +0 -404
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { ErrorOption, UseFormReturn, UseFormProps } from 'react-hook-form';
3
3
  import { ValidatorSchema } from '@digigov/form/validators/types';
4
+ import { FieldsetLegendProps } from '@digigov/ui/form/FieldContainer';
4
5
  import { GridProps } from '@digigov/ui/layouts/Grid';
5
6
 
6
7
  export interface FieldLabelProps {
@@ -25,6 +26,7 @@ export interface FieldSpec {
25
26
  | 'datetime'
26
27
  | 'otp'
27
28
  | 'afm'
29
+ | 'amka'
28
30
  | 'iban'
29
31
  | 'file'
30
32
  | 'image'
@@ -45,7 +47,7 @@ export interface FieldSpec {
45
47
  variant?: 'inline' | 'dialog';
46
48
  required?: boolean;
47
49
  enabled?: boolean;
48
- disabled?: boolean;
50
+ disabled?: boolean; // TODO: keep disabled or editable
49
51
  layout?: Record<
50
52
  string,
51
53
  | GridProps['xs']
@@ -80,6 +82,7 @@ export interface FieldConditionalProps {
80
82
  control: UseFormReturn['control'];
81
83
  register: UseFormReturn['register'];
82
84
  reset: UseFormReturn['reset'];
85
+ resetField?: UseFormReturn['resetField'];
83
86
  error?: ErrorOption;
84
87
  Field: React.FC<FieldProps>;
85
88
  }
@@ -93,12 +96,15 @@ export interface FieldComponentItem {
93
96
 
94
97
  export interface FieldContainerProps {
95
98
  name?: FieldSpec['key'];
99
+ register: FieldBaseProps['register'];
96
100
  layout?: FieldSpec['layout'];
97
101
  label?: FieldSpec['label'];
98
102
  error?: ErrorOption | Record<string, any>;
99
103
  hasError?: boolean;
100
104
  children?: React.ReactNode;
105
+ controlled?: boolean;
101
106
  wrapper?: FieldSpec['wrapper'];
107
+ labelSize?: FieldsetLegendProps['size'];
102
108
  }
103
109
 
104
110
  export type FieldComponentRegistry = Record<string, FieldComponentItem>;
@@ -117,7 +123,7 @@ export interface ControlledFieldProps {
117
123
  error?: boolean;
118
124
  name?: string;
119
125
  disabled?: boolean;
120
- Field: React.FC<FieldProps>;
126
+ Field?: React.FC<FieldProps>;
121
127
  }
122
128
 
123
129
  export interface UncontrolledFieldProps {
@@ -145,7 +151,8 @@ export interface FieldBaseProps extends CalculatedField {
145
151
  control: UseFormReturn['control'];
146
152
  register: UseFormReturn['register'];
147
153
  reset: UseFormReturn['reset'];
148
- Field: React.FC<FieldProps>;
154
+ resetField?: UseFormReturn['resetField'];
155
+ Field?: React.FC<FieldProps>;
149
156
  }
150
157
 
151
158
  export interface FieldProps extends FieldSpec {
@@ -158,6 +165,7 @@ export interface UseFieldProps {
158
165
  control: FieldBaseProps['control'];
159
166
  register: FieldBaseProps['register'];
160
167
  reset: FieldBaseProps['reset'];
168
+ resetField: FieldBaseProps['resetField'];
161
169
  watch: UseFormReturn['watch'];
162
170
  formState: UseFormReturn['formState'];
163
171
  getFieldState: UseFormReturn['getFieldState'];
@@ -20,10 +20,12 @@ export const FIELD_COMPONENTS: FieldComponentRegistry = {
20
20
  file: {
21
21
  wrapper: 'fieldset',
22
22
  component: FileInput,
23
+ // controlled: true,
23
24
  },
24
25
  image: {
25
26
  wrapper: 'fieldset',
26
27
  component: ImageInput,
28
+ controlled: true,
27
29
  },
28
30
  date: {
29
31
  wrapper: 'fieldset',
@@ -11,6 +11,7 @@ export const useField = (
11
11
  control,
12
12
  register,
13
13
  reset,
14
+ resetField,
14
15
  trigger,
15
16
  clearErrors,
16
17
  errors,
@@ -30,11 +31,17 @@ export const useField = (
30
31
  `);
31
32
  }
32
33
  let error = errors[name];
33
- const nameIndexRegex = name.match(/^(.*?)\.(\d+)$/);
34
+
35
+ const nameIndexRegex = name.match(/^\[*(.*?)\.(\d+)\]*$/);
34
36
  if (nameIndexRegex) {
35
37
  const [, fieldArrayName, indexStr] = nameIndexRegex;
36
38
  error = errors[fieldArrayName]?.[Number(indexStr)];
37
39
  }
40
+ const nestedNameIndexRegex = name.match(/^\[*(.*?)\.(\d+)\.(.*?)\]*$/);
41
+ if (nestedNameIndexRegex) {
42
+ const [, fieldArrayName, indexStr, fieldItemName] = nestedNameIndexRegex;
43
+ error = errors[fieldArrayName]?.[Number(indexStr)]?.[fieldItemName];
44
+ }
38
45
  useMemo(
39
46
  () => customField?.type && registerField({ ...customField, key: name }),
40
47
  [customField, name, registerField]
@@ -44,6 +51,7 @@ export const useField = (
44
51
  control,
45
52
  register,
46
53
  reset,
54
+ resetField,
47
55
  trigger,
48
56
  watch,
49
57
  componentRegistry,