@redneckz/wildless-cms-uni-blocks 0.14.574 → 0.14.576

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 (446) hide show
  1. package/bundle/api/LeadServiceAPI.d.ts +0 -12
  2. package/bundle/api/dadataHints/dadataHints.d.ts +2 -0
  3. package/bundle/api/dadataHints/dadataHintsType.d.ts +27 -0
  4. package/bundle/api/dadataHints/hintsListsOptions.d.ts +33 -0
  5. package/bundle/blocks.schema.json +1 -1
  6. package/bundle/bundle.umd.js +260 -110
  7. package/bundle/bundle.umd.min.js +1 -1
  8. package/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +2 -1
  9. package/bundle/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +10 -1
  10. package/bundle/components/ApplicationLeadForm/GroupedConsents.d.ts +2 -0
  11. package/bundle/components/ApplicationLeadForm/consents.d.ts +1 -0
  12. package/bundle/components/ApplicationLeadForm/getInitialFormState.d.ts +22 -0
  13. package/bundle/index.d.ts +0 -1
  14. package/bundle/ui-kit/Checkbox/CheckboxProps.d.ts +0 -5
  15. package/bundle/ui-kit/FormField/Fields/ConsentAssignmentField.d.ts +2 -0
  16. package/bundle/ui-kit/FormField/Fields/ConsentCollectionField.d.ts +2 -0
  17. package/bundle/ui-kit/FormField/Fields/ConsentInformField.d.ts +2 -0
  18. package/bundle/ui-kit/FormField/Fields/ConsentPhotoField.d.ts +2 -0
  19. package/bundle/ui-kit/FormField/Fields/ConsentProviderField.d.ts +2 -0
  20. package/bundle/ui-kit/FormField/Fields/ConsentToReceiveMaterialsField.d.ts +2 -0
  21. package/bundle/ui-kit/FormField/Fields/EmailField.d.ts +2 -0
  22. package/bundle/ui-kit/FormField/Fields/ProcessPersonalDataField.d.ts +2 -0
  23. package/bundle/ui-kit/Input/InputPopup.d.ts +7 -0
  24. package/bundle/ui-kit/Input/InputProps.d.ts +1 -0
  25. package/bundle/ui-kit/Input/useInputPopup.d.ts +10 -0
  26. package/dist/api/LeadServiceAPI.d.ts +0 -12
  27. package/dist/api/LeadServiceAPI.js.map +1 -1
  28. package/dist/api/dadataHints/dadataHints.d.ts +2 -0
  29. package/dist/api/dadataHints/dadataHints.js +30 -0
  30. package/dist/api/dadataHints/dadataHints.js.map +1 -0
  31. package/dist/api/dadataHints/dadataHintsType.d.ts +27 -0
  32. package/dist/api/dadataHints/dadataHintsType.js +2 -0
  33. package/dist/api/dadataHints/dadataHintsType.js.map +1 -0
  34. package/dist/api/dadataHints/hintsListsOptions.d.ts +33 -0
  35. package/dist/api/dadataHints/hintsListsOptions.js +33 -0
  36. package/dist/api/dadataHints/hintsListsOptions.js.map +1 -0
  37. package/dist/components/ApplicationForm/ApplicationFormContent.d.ts +2 -1
  38. package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +11 -1
  39. package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  40. package/dist/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +10 -1
  41. package/dist/components/ApplicationLeadForm/GroupedConsents.d.ts +2 -0
  42. package/dist/components/ApplicationLeadForm/GroupedConsents.js +30 -0
  43. package/dist/components/ApplicationLeadForm/GroupedConsents.js.map +1 -0
  44. package/dist/components/ApplicationLeadForm/consents.d.ts +1 -0
  45. package/dist/components/ApplicationLeadForm/consents.js +13 -0
  46. package/dist/components/ApplicationLeadForm/consents.js.map +1 -0
  47. package/dist/components/ApplicationLeadForm/getInitialFormState.d.ts +22 -0
  48. package/dist/components/ApplicationLeadForm/getInitialFormState.js +6 -0
  49. package/dist/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  50. package/dist/index.d.ts +0 -1
  51. package/dist/index.js +1 -3
  52. package/dist/index.js.map +1 -1
  53. package/dist/ui-kit/Checkbox/CheckboxProps.d.ts +0 -5
  54. package/dist/ui-kit/Checkbox/CheckboxWithError.js +1 -1
  55. package/dist/ui-kit/Checkbox/CheckboxWithError.js.map +1 -1
  56. package/dist/ui-kit/FormField/Fields/ConsentAssignmentField.d.ts +2 -0
  57. package/dist/ui-kit/FormField/Fields/ConsentAssignmentField.js +9 -0
  58. package/dist/ui-kit/FormField/Fields/ConsentAssignmentField.js.map +1 -0
  59. package/dist/ui-kit/FormField/Fields/ConsentCollectionField.d.ts +2 -0
  60. package/dist/ui-kit/FormField/Fields/ConsentCollectionField.js +9 -0
  61. package/dist/ui-kit/FormField/Fields/ConsentCollectionField.js.map +1 -0
  62. package/dist/ui-kit/FormField/Fields/ConsentInformField.d.ts +2 -0
  63. package/dist/ui-kit/FormField/Fields/ConsentInformField.js +9 -0
  64. package/dist/ui-kit/FormField/Fields/ConsentInformField.js.map +1 -0
  65. package/dist/ui-kit/FormField/Fields/ConsentPhotoField.d.ts +2 -0
  66. package/dist/ui-kit/FormField/Fields/ConsentPhotoField.js +9 -0
  67. package/dist/ui-kit/FormField/Fields/ConsentPhotoField.js.map +1 -0
  68. package/dist/ui-kit/FormField/Fields/ConsentProviderField.d.ts +2 -0
  69. package/dist/ui-kit/FormField/Fields/ConsentProviderField.js +9 -0
  70. package/dist/ui-kit/FormField/Fields/ConsentProviderField.js.map +1 -0
  71. package/dist/ui-kit/FormField/Fields/ConsentToReceiveMaterialsField.d.ts +2 -0
  72. package/dist/ui-kit/FormField/Fields/ConsentToReceiveMaterialsField.js +7 -0
  73. package/dist/ui-kit/FormField/Fields/ConsentToReceiveMaterialsField.js.map +1 -0
  74. package/dist/ui-kit/FormField/Fields/EmailField.d.ts +2 -0
  75. package/dist/ui-kit/FormField/Fields/EmailField.js +12 -0
  76. package/dist/ui-kit/FormField/Fields/EmailField.js.map +1 -0
  77. package/dist/ui-kit/FormField/Fields/MiddleNameField.js +1 -1
  78. package/dist/ui-kit/FormField/Fields/MiddleNameField.js.map +1 -1
  79. package/dist/ui-kit/FormField/Fields/ProcessPersonalDataField.d.ts +2 -0
  80. package/dist/ui-kit/FormField/Fields/ProcessPersonalDataField.js +9 -0
  81. package/dist/ui-kit/FormField/Fields/ProcessPersonalDataField.js.map +1 -0
  82. package/dist/ui-kit/FormField/Fields/SurnameField.js +1 -1
  83. package/dist/ui-kit/FormField/Fields/SurnameField.js.map +1 -1
  84. package/dist/ui-kit/FormField/getField.js +18 -5
  85. package/dist/ui-kit/FormField/getField.js.map +1 -1
  86. package/dist/ui-kit/FormField/getObjectValidator.js +8 -1
  87. package/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  88. package/dist/ui-kit/Input/InputControl.js +17 -1
  89. package/dist/ui-kit/Input/InputControl.js.map +1 -1
  90. package/dist/ui-kit/Input/InputPopup.d.ts +7 -0
  91. package/dist/ui-kit/Input/InputPopup.js +6 -0
  92. package/dist/ui-kit/Input/InputPopup.js.map +1 -0
  93. package/dist/ui-kit/Input/InputProps.d.ts +1 -0
  94. package/dist/ui-kit/Input/useInputPopup.d.ts +10 -0
  95. package/dist/ui-kit/Input/useInputPopup.js +62 -0
  96. package/dist/ui-kit/Input/useInputPopup.js.map +1 -0
  97. package/lib/api/LeadServiceAPI.d.ts +0 -12
  98. package/lib/api/LeadServiceAPI.js.map +1 -1
  99. package/lib/api/dadataHints/dadataHints.d.ts +2 -0
  100. package/lib/api/dadataHints/dadataHints.js +27 -0
  101. package/lib/api/dadataHints/dadataHints.js.map +1 -0
  102. package/lib/api/dadataHints/dadataHintsType.d.ts +27 -0
  103. package/lib/api/dadataHints/dadataHintsType.js +2 -0
  104. package/lib/api/dadataHints/dadataHintsType.js.map +1 -0
  105. package/lib/api/dadataHints/hintsListsOptions.d.ts +33 -0
  106. package/lib/api/dadataHints/hintsListsOptions.js +31 -0
  107. package/lib/api/dadataHints/hintsListsOptions.js.map +1 -0
  108. package/lib/common.css +1 -1
  109. package/lib/components/ApplicationForm/ApplicationFormContent.d.ts +2 -1
  110. package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +11 -1
  111. package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  112. package/lib/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +10 -1
  113. package/lib/components/ApplicationLeadForm/GroupedConsents.d.ts +2 -0
  114. package/lib/components/ApplicationLeadForm/GroupedConsents.js +28 -0
  115. package/lib/components/ApplicationLeadForm/GroupedConsents.js.map +1 -0
  116. package/lib/components/ApplicationLeadForm/consents.d.ts +1 -0
  117. package/lib/components/ApplicationLeadForm/consents.js +11 -0
  118. package/lib/components/ApplicationLeadForm/consents.js.map +1 -0
  119. package/lib/components/ApplicationLeadForm/getInitialFormState.d.ts +22 -0
  120. package/lib/components/ApplicationLeadForm/getInitialFormState.js +6 -0
  121. package/lib/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  122. package/lib/index.d.ts +0 -1
  123. package/lib/index.js +0 -1
  124. package/lib/index.js.map +1 -1
  125. package/lib/ui-kit/Checkbox/CheckboxProps.d.ts +0 -5
  126. package/lib/ui-kit/Checkbox/CheckboxWithError.js +1 -1
  127. package/lib/ui-kit/Checkbox/CheckboxWithError.js.map +1 -1
  128. package/lib/ui-kit/FormField/Fields/ConsentAssignmentField.d.ts +2 -0
  129. package/lib/ui-kit/FormField/Fields/ConsentAssignmentField.js +7 -0
  130. package/lib/ui-kit/FormField/Fields/ConsentAssignmentField.js.map +1 -0
  131. package/lib/ui-kit/FormField/Fields/ConsentCollectionField.d.ts +2 -0
  132. package/lib/ui-kit/FormField/Fields/ConsentCollectionField.js +7 -0
  133. package/lib/ui-kit/FormField/Fields/ConsentCollectionField.js.map +1 -0
  134. package/lib/ui-kit/FormField/Fields/ConsentInformField.d.ts +2 -0
  135. package/lib/ui-kit/FormField/Fields/ConsentInformField.js +7 -0
  136. package/lib/ui-kit/FormField/Fields/ConsentInformField.js.map +1 -0
  137. package/lib/ui-kit/FormField/Fields/ConsentPhotoField.d.ts +2 -0
  138. package/lib/ui-kit/FormField/Fields/ConsentPhotoField.js +7 -0
  139. package/lib/ui-kit/FormField/Fields/ConsentPhotoField.js.map +1 -0
  140. package/lib/ui-kit/FormField/Fields/ConsentProviderField.d.ts +2 -0
  141. package/lib/ui-kit/FormField/Fields/ConsentProviderField.js +7 -0
  142. package/lib/ui-kit/FormField/Fields/ConsentProviderField.js.map +1 -0
  143. package/lib/ui-kit/FormField/Fields/ConsentToReceiveMaterialsField.d.ts +2 -0
  144. package/lib/ui-kit/FormField/Fields/ConsentToReceiveMaterialsField.js +5 -0
  145. package/lib/ui-kit/FormField/Fields/ConsentToReceiveMaterialsField.js.map +1 -0
  146. package/lib/ui-kit/FormField/Fields/EmailField.d.ts +2 -0
  147. package/lib/ui-kit/FormField/Fields/EmailField.js +10 -0
  148. package/lib/ui-kit/FormField/Fields/EmailField.js.map +1 -0
  149. package/lib/ui-kit/FormField/Fields/MiddleNameField.js +1 -1
  150. package/lib/ui-kit/FormField/Fields/MiddleNameField.js.map +1 -1
  151. package/lib/ui-kit/FormField/Fields/ProcessPersonalDataField.d.ts +2 -0
  152. package/lib/ui-kit/FormField/Fields/ProcessPersonalDataField.js +7 -0
  153. package/lib/ui-kit/FormField/Fields/ProcessPersonalDataField.js.map +1 -0
  154. package/lib/ui-kit/FormField/Fields/SurnameField.js +1 -1
  155. package/lib/ui-kit/FormField/Fields/SurnameField.js.map +1 -1
  156. package/lib/ui-kit/FormField/getField.js +18 -5
  157. package/lib/ui-kit/FormField/getField.js.map +1 -1
  158. package/lib/ui-kit/FormField/getObjectValidator.js +8 -1
  159. package/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  160. package/lib/ui-kit/Input/InputControl.js +17 -1
  161. package/lib/ui-kit/Input/InputControl.js.map +1 -1
  162. package/lib/ui-kit/Input/InputPopup.d.ts +7 -0
  163. package/lib/ui-kit/Input/InputPopup.js +4 -0
  164. package/lib/ui-kit/Input/InputPopup.js.map +1 -0
  165. package/lib/ui-kit/Input/InputProps.d.ts +1 -0
  166. package/lib/ui-kit/Input/useInputPopup.d.ts +10 -0
  167. package/lib/ui-kit/Input/useInputPopup.js +59 -0
  168. package/lib/ui-kit/Input/useInputPopup.js.map +1 -0
  169. package/mobile/bundle/api/LeadServiceAPI.d.ts +0 -12
  170. package/mobile/bundle/api/dadataHints/dadataHints.d.ts +2 -0
  171. package/mobile/bundle/api/dadataHints/dadataHintsType.d.ts +27 -0
  172. package/mobile/bundle/api/dadataHints/hintsListsOptions.d.ts +33 -0
  173. package/mobile/bundle/bundle.umd.js +260 -110
  174. package/mobile/bundle/bundle.umd.min.js +1 -1
  175. package/mobile/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +2 -1
  176. package/mobile/bundle/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +10 -1
  177. package/mobile/bundle/components/ApplicationLeadForm/GroupedConsents.d.ts +2 -0
  178. package/mobile/bundle/components/ApplicationLeadForm/consents.d.ts +1 -0
  179. package/mobile/bundle/components/ApplicationLeadForm/getInitialFormState.d.ts +22 -0
  180. package/mobile/bundle/index.d.ts +0 -1
  181. package/mobile/bundle/ui-kit/Checkbox/CheckboxProps.d.ts +0 -5
  182. package/mobile/bundle/ui-kit/FormField/Fields/ConsentAssignmentField.d.ts +2 -0
  183. package/mobile/bundle/ui-kit/FormField/Fields/ConsentCollectionField.d.ts +2 -0
  184. package/mobile/bundle/ui-kit/FormField/Fields/ConsentInformField.d.ts +2 -0
  185. package/mobile/bundle/ui-kit/FormField/Fields/ConsentPhotoField.d.ts +2 -0
  186. package/mobile/bundle/ui-kit/FormField/Fields/ConsentProviderField.d.ts +2 -0
  187. package/mobile/bundle/ui-kit/FormField/Fields/ConsentToReceiveMaterialsField.d.ts +2 -0
  188. package/mobile/bundle/ui-kit/FormField/Fields/EmailField.d.ts +2 -0
  189. package/mobile/bundle/ui-kit/FormField/Fields/ProcessPersonalDataField.d.ts +2 -0
  190. package/mobile/bundle/ui-kit/Input/InputPopup.d.ts +7 -0
  191. package/mobile/bundle/ui-kit/Input/InputProps.d.ts +1 -0
  192. package/mobile/bundle/ui-kit/Input/useInputPopup.d.ts +10 -0
  193. package/mobile/dist/api/LeadServiceAPI.d.ts +0 -12
  194. package/mobile/dist/api/LeadServiceAPI.js.map +1 -1
  195. package/mobile/dist/api/dadataHints/dadataHints.d.ts +2 -0
  196. package/mobile/dist/api/dadataHints/dadataHints.js +30 -0
  197. package/mobile/dist/api/dadataHints/dadataHints.js.map +1 -0
  198. package/mobile/dist/api/dadataHints/dadataHintsType.d.ts +27 -0
  199. package/mobile/dist/api/dadataHints/dadataHintsType.js +2 -0
  200. package/mobile/dist/api/dadataHints/dadataHintsType.js.map +1 -0
  201. package/mobile/dist/api/dadataHints/hintsListsOptions.d.ts +33 -0
  202. package/mobile/dist/api/dadataHints/hintsListsOptions.js +33 -0
  203. package/mobile/dist/api/dadataHints/hintsListsOptions.js.map +1 -0
  204. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.d.ts +2 -1
  205. package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +11 -1
  206. package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  207. package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +10 -1
  208. package/mobile/dist/components/ApplicationLeadForm/GroupedConsents.d.ts +2 -0
  209. package/mobile/dist/components/ApplicationLeadForm/GroupedConsents.js +30 -0
  210. package/mobile/dist/components/ApplicationLeadForm/GroupedConsents.js.map +1 -0
  211. package/mobile/dist/components/ApplicationLeadForm/consents.d.ts +1 -0
  212. package/mobile/dist/components/ApplicationLeadForm/consents.js +13 -0
  213. package/mobile/dist/components/ApplicationLeadForm/consents.js.map +1 -0
  214. package/mobile/dist/components/ApplicationLeadForm/getInitialFormState.d.ts +22 -0
  215. package/mobile/dist/components/ApplicationLeadForm/getInitialFormState.js +6 -0
  216. package/mobile/dist/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  217. package/mobile/dist/index.d.ts +0 -1
  218. package/mobile/dist/index.js +1 -3
  219. package/mobile/dist/index.js.map +1 -1
  220. package/mobile/dist/ui-kit/Checkbox/CheckboxProps.d.ts +0 -5
  221. package/mobile/dist/ui-kit/Checkbox/CheckboxWithError.js +1 -1
  222. package/mobile/dist/ui-kit/Checkbox/CheckboxWithError.js.map +1 -1
  223. package/mobile/dist/ui-kit/FormField/Fields/ConsentAssignmentField.d.ts +2 -0
  224. package/mobile/dist/ui-kit/FormField/Fields/ConsentAssignmentField.js +9 -0
  225. package/mobile/dist/ui-kit/FormField/Fields/ConsentAssignmentField.js.map +1 -0
  226. package/mobile/dist/ui-kit/FormField/Fields/ConsentCollectionField.d.ts +2 -0
  227. package/mobile/dist/ui-kit/FormField/Fields/ConsentCollectionField.js +9 -0
  228. package/mobile/dist/ui-kit/FormField/Fields/ConsentCollectionField.js.map +1 -0
  229. package/mobile/dist/ui-kit/FormField/Fields/ConsentInformField.d.ts +2 -0
  230. package/mobile/dist/ui-kit/FormField/Fields/ConsentInformField.js +9 -0
  231. package/mobile/dist/ui-kit/FormField/Fields/ConsentInformField.js.map +1 -0
  232. package/mobile/dist/ui-kit/FormField/Fields/ConsentPhotoField.d.ts +2 -0
  233. package/mobile/dist/ui-kit/FormField/Fields/ConsentPhotoField.js +9 -0
  234. package/mobile/dist/ui-kit/FormField/Fields/ConsentPhotoField.js.map +1 -0
  235. package/mobile/dist/ui-kit/FormField/Fields/ConsentProviderField.d.ts +2 -0
  236. package/mobile/dist/ui-kit/FormField/Fields/ConsentProviderField.js +9 -0
  237. package/mobile/dist/ui-kit/FormField/Fields/ConsentProviderField.js.map +1 -0
  238. package/mobile/dist/ui-kit/FormField/Fields/ConsentToReceiveMaterialsField.d.ts +2 -0
  239. package/mobile/dist/ui-kit/FormField/Fields/ConsentToReceiveMaterialsField.js +7 -0
  240. package/mobile/dist/ui-kit/FormField/Fields/ConsentToReceiveMaterialsField.js.map +1 -0
  241. package/mobile/dist/ui-kit/FormField/Fields/EmailField.d.ts +2 -0
  242. package/mobile/dist/ui-kit/FormField/Fields/EmailField.js +12 -0
  243. package/mobile/dist/ui-kit/FormField/Fields/EmailField.js.map +1 -0
  244. package/mobile/dist/ui-kit/FormField/Fields/MiddleNameField.js +1 -1
  245. package/mobile/dist/ui-kit/FormField/Fields/MiddleNameField.js.map +1 -1
  246. package/mobile/dist/ui-kit/FormField/Fields/ProcessPersonalDataField.d.ts +2 -0
  247. package/mobile/dist/ui-kit/FormField/Fields/ProcessPersonalDataField.js +9 -0
  248. package/mobile/dist/ui-kit/FormField/Fields/ProcessPersonalDataField.js.map +1 -0
  249. package/mobile/dist/ui-kit/FormField/Fields/SurnameField.js +1 -1
  250. package/mobile/dist/ui-kit/FormField/Fields/SurnameField.js.map +1 -1
  251. package/mobile/dist/ui-kit/FormField/getField.js +18 -5
  252. package/mobile/dist/ui-kit/FormField/getField.js.map +1 -1
  253. package/mobile/dist/ui-kit/FormField/getObjectValidator.js +8 -1
  254. package/mobile/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  255. package/mobile/dist/ui-kit/Input/InputControl.js +17 -1
  256. package/mobile/dist/ui-kit/Input/InputControl.js.map +1 -1
  257. package/mobile/dist/ui-kit/Input/InputPopup.d.ts +7 -0
  258. package/mobile/dist/ui-kit/Input/InputPopup.js +6 -0
  259. package/mobile/dist/ui-kit/Input/InputPopup.js.map +1 -0
  260. package/mobile/dist/ui-kit/Input/InputProps.d.ts +1 -0
  261. package/mobile/dist/ui-kit/Input/useInputPopup.d.ts +10 -0
  262. package/mobile/dist/ui-kit/Input/useInputPopup.js +62 -0
  263. package/mobile/dist/ui-kit/Input/useInputPopup.js.map +1 -0
  264. package/mobile/lib/api/LeadServiceAPI.d.ts +0 -12
  265. package/mobile/lib/api/LeadServiceAPI.js.map +1 -1
  266. package/mobile/lib/api/dadataHints/dadataHints.d.ts +2 -0
  267. package/mobile/lib/api/dadataHints/dadataHints.js +27 -0
  268. package/mobile/lib/api/dadataHints/dadataHints.js.map +1 -0
  269. package/mobile/lib/api/dadataHints/dadataHintsType.d.ts +27 -0
  270. package/mobile/lib/api/dadataHints/dadataHintsType.js +2 -0
  271. package/mobile/lib/api/dadataHints/dadataHintsType.js.map +1 -0
  272. package/mobile/lib/api/dadataHints/hintsListsOptions.d.ts +33 -0
  273. package/mobile/lib/api/dadataHints/hintsListsOptions.js +31 -0
  274. package/mobile/lib/api/dadataHints/hintsListsOptions.js.map +1 -0
  275. package/mobile/lib/common.css +1 -1
  276. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.d.ts +2 -1
  277. package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +11 -1
  278. package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  279. package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +10 -1
  280. package/mobile/lib/components/ApplicationLeadForm/GroupedConsents.d.ts +2 -0
  281. package/mobile/lib/components/ApplicationLeadForm/GroupedConsents.js +28 -0
  282. package/mobile/lib/components/ApplicationLeadForm/GroupedConsents.js.map +1 -0
  283. package/mobile/lib/components/ApplicationLeadForm/consents.d.ts +1 -0
  284. package/mobile/lib/components/ApplicationLeadForm/consents.js +11 -0
  285. package/mobile/lib/components/ApplicationLeadForm/consents.js.map +1 -0
  286. package/mobile/lib/components/ApplicationLeadForm/getInitialFormState.d.ts +22 -0
  287. package/mobile/lib/components/ApplicationLeadForm/getInitialFormState.js +6 -0
  288. package/mobile/lib/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  289. package/mobile/lib/index.d.ts +0 -1
  290. package/mobile/lib/index.js +0 -1
  291. package/mobile/lib/index.js.map +1 -1
  292. package/mobile/lib/ui-kit/Checkbox/CheckboxProps.d.ts +0 -5
  293. package/mobile/lib/ui-kit/Checkbox/CheckboxWithError.js +1 -1
  294. package/mobile/lib/ui-kit/Checkbox/CheckboxWithError.js.map +1 -1
  295. package/mobile/lib/ui-kit/FormField/Fields/ConsentAssignmentField.d.ts +2 -0
  296. package/mobile/lib/ui-kit/FormField/Fields/ConsentAssignmentField.js +7 -0
  297. package/mobile/lib/ui-kit/FormField/Fields/ConsentAssignmentField.js.map +1 -0
  298. package/mobile/lib/ui-kit/FormField/Fields/ConsentCollectionField.d.ts +2 -0
  299. package/mobile/lib/ui-kit/FormField/Fields/ConsentCollectionField.js +7 -0
  300. package/mobile/lib/ui-kit/FormField/Fields/ConsentCollectionField.js.map +1 -0
  301. package/mobile/lib/ui-kit/FormField/Fields/ConsentInformField.d.ts +2 -0
  302. package/mobile/lib/ui-kit/FormField/Fields/ConsentInformField.js +7 -0
  303. package/mobile/lib/ui-kit/FormField/Fields/ConsentInformField.js.map +1 -0
  304. package/mobile/lib/ui-kit/FormField/Fields/ConsentPhotoField.d.ts +2 -0
  305. package/mobile/lib/ui-kit/FormField/Fields/ConsentPhotoField.js +7 -0
  306. package/mobile/lib/ui-kit/FormField/Fields/ConsentPhotoField.js.map +1 -0
  307. package/mobile/lib/ui-kit/FormField/Fields/ConsentProviderField.d.ts +2 -0
  308. package/mobile/lib/ui-kit/FormField/Fields/ConsentProviderField.js +7 -0
  309. package/mobile/lib/ui-kit/FormField/Fields/ConsentProviderField.js.map +1 -0
  310. package/mobile/lib/ui-kit/FormField/Fields/ConsentToReceiveMaterialsField.d.ts +2 -0
  311. package/mobile/lib/ui-kit/FormField/Fields/ConsentToReceiveMaterialsField.js +5 -0
  312. package/mobile/lib/ui-kit/FormField/Fields/ConsentToReceiveMaterialsField.js.map +1 -0
  313. package/mobile/lib/ui-kit/FormField/Fields/EmailField.d.ts +2 -0
  314. package/mobile/lib/ui-kit/FormField/Fields/EmailField.js +10 -0
  315. package/mobile/lib/ui-kit/FormField/Fields/EmailField.js.map +1 -0
  316. package/mobile/lib/ui-kit/FormField/Fields/MiddleNameField.js +1 -1
  317. package/mobile/lib/ui-kit/FormField/Fields/MiddleNameField.js.map +1 -1
  318. package/mobile/lib/ui-kit/FormField/Fields/ProcessPersonalDataField.d.ts +2 -0
  319. package/mobile/lib/ui-kit/FormField/Fields/ProcessPersonalDataField.js +7 -0
  320. package/mobile/lib/ui-kit/FormField/Fields/ProcessPersonalDataField.js.map +1 -0
  321. package/mobile/lib/ui-kit/FormField/Fields/SurnameField.js +1 -1
  322. package/mobile/lib/ui-kit/FormField/Fields/SurnameField.js.map +1 -1
  323. package/mobile/lib/ui-kit/FormField/getField.js +18 -5
  324. package/mobile/lib/ui-kit/FormField/getField.js.map +1 -1
  325. package/mobile/lib/ui-kit/FormField/getObjectValidator.js +8 -1
  326. package/mobile/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  327. package/mobile/lib/ui-kit/Input/InputControl.js +17 -1
  328. package/mobile/lib/ui-kit/Input/InputControl.js.map +1 -1
  329. package/mobile/lib/ui-kit/Input/InputPopup.d.ts +7 -0
  330. package/mobile/lib/ui-kit/Input/InputPopup.js +4 -0
  331. package/mobile/lib/ui-kit/Input/InputPopup.js.map +1 -0
  332. package/mobile/lib/ui-kit/Input/InputProps.d.ts +1 -0
  333. package/mobile/lib/ui-kit/Input/useInputPopup.d.ts +10 -0
  334. package/mobile/lib/ui-kit/Input/useInputPopup.js +59 -0
  335. package/mobile/lib/ui-kit/Input/useInputPopup.js.map +1 -0
  336. package/mobile/src/api/LeadServiceAPI.ts +0 -14
  337. package/mobile/src/api/dadataHints/dadataHints.ts +33 -0
  338. package/mobile/src/api/dadataHints/dadataHintsType.ts +33 -0
  339. package/mobile/src/api/dadataHints/hintsListsOptions.ts +44 -0
  340. package/mobile/src/components/ApplicationForm/ApplicationFormContent.ts +8 -1
  341. package/mobile/src/components/ApplicationLeadForm/ApplicationLeadForm.example.json +30 -1
  342. package/mobile/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +26 -2
  343. package/mobile/src/components/ApplicationLeadForm/ApplicationLeadFormContent.ts +17 -1
  344. package/mobile/src/components/ApplicationLeadForm/GroupedConsents.tsx +79 -0
  345. package/mobile/src/components/ApplicationLeadForm/consents.ts +10 -0
  346. package/mobile/src/components/ApplicationLeadForm/getInitialFormState.tsx +28 -0
  347. package/mobile/src/index.ts +0 -1
  348. package/mobile/src/ui-kit/Checkbox/CheckboxProps.ts +0 -6
  349. package/mobile/src/ui-kit/Checkbox/CheckboxWithError.tsx +1 -1
  350. package/mobile/src/ui-kit/FormField/Fields/ConsentAssignmentField.tsx +12 -0
  351. package/mobile/src/ui-kit/FormField/Fields/ConsentCollectionField.tsx +12 -0
  352. package/mobile/src/ui-kit/FormField/Fields/ConsentInformField.tsx +12 -0
  353. package/mobile/src/ui-kit/FormField/Fields/ConsentPhotoField.tsx +12 -0
  354. package/mobile/src/ui-kit/FormField/Fields/ConsentProviderField.tsx +12 -0
  355. package/mobile/src/ui-kit/FormField/Fields/ConsentToReceiveMaterialsField.tsx +10 -0
  356. package/mobile/src/ui-kit/FormField/Fields/EmailField.tsx +18 -0
  357. package/mobile/src/ui-kit/FormField/Fields/MiddleNameField.tsx +2 -2
  358. package/mobile/src/ui-kit/FormField/Fields/ProcessPersonalDataField.tsx +12 -0
  359. package/mobile/src/ui-kit/FormField/Fields/SurnameField.tsx +1 -0
  360. package/mobile/src/ui-kit/FormField/getField.tsx +20 -16
  361. package/mobile/src/ui-kit/FormField/getObjectValidator.tsx +8 -1
  362. package/mobile/src/ui-kit/Input/InputControl.tsx +48 -18
  363. package/mobile/src/ui-kit/Input/InputPopup.tsx +26 -0
  364. package/mobile/src/ui-kit/Input/InputProps.ts +1 -0
  365. package/mobile/src/ui-kit/Input/useInputPopup.tsx +85 -0
  366. package/package.json +2 -2
  367. package/src/api/LeadServiceAPI.ts +0 -14
  368. package/src/api/dadataHints/dadataHints.ts +33 -0
  369. package/src/api/dadataHints/dadataHintsType.ts +33 -0
  370. package/src/api/dadataHints/hintsListsOptions.ts +44 -0
  371. package/src/components/ApplicationForm/ApplicationFormContent.ts +8 -1
  372. package/src/components/ApplicationLeadForm/ApplicationLeadForm.example.json +30 -1
  373. package/src/components/ApplicationLeadForm/ApplicationLeadForm.fixture.mobile.tsx +11 -1
  374. package/src/components/ApplicationLeadForm/ApplicationLeadForm.fixture.tsx +15 -5
  375. package/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +26 -2
  376. package/src/components/ApplicationLeadForm/ApplicationLeadFormContent.ts +17 -1
  377. package/src/components/ApplicationLeadForm/GroupedConsents.tsx +79 -0
  378. package/src/components/ApplicationLeadForm/consents.ts +10 -0
  379. package/src/components/ApplicationLeadForm/getInitialFormState.tsx +28 -0
  380. package/src/index.ts +0 -1
  381. package/src/ui-kit/Checkbox/CheckboxProps.ts +0 -6
  382. package/src/ui-kit/Checkbox/CheckboxWithError.tsx +1 -1
  383. package/src/ui-kit/FormField/Fields/ConsentAssignmentField.tsx +12 -0
  384. package/src/ui-kit/FormField/Fields/ConsentCollectionField.tsx +12 -0
  385. package/src/ui-kit/FormField/Fields/ConsentInformField.tsx +12 -0
  386. package/src/ui-kit/FormField/Fields/ConsentPhotoField.tsx +12 -0
  387. package/src/ui-kit/FormField/Fields/ConsentProviderField.tsx +12 -0
  388. package/src/ui-kit/FormField/Fields/ConsentToReceiveMaterialsField.tsx +10 -0
  389. package/src/ui-kit/FormField/Fields/EmailField.tsx +18 -0
  390. package/src/ui-kit/FormField/Fields/MiddleNameField.tsx +2 -2
  391. package/src/ui-kit/FormField/Fields/ProcessPersonalDataField.tsx +12 -0
  392. package/src/ui-kit/FormField/Fields/SurnameField.tsx +1 -0
  393. package/src/ui-kit/FormField/getField.tsx +20 -16
  394. package/src/ui-kit/FormField/getObjectValidator.tsx +8 -1
  395. package/src/ui-kit/Input/InputControl.tsx +48 -18
  396. package/src/ui-kit/Input/InputPopup.tsx +26 -0
  397. package/src/ui-kit/Input/InputProps.ts +1 -0
  398. package/src/ui-kit/Input/useInputPopup.tsx +85 -0
  399. package/bundle/api/DaDataAPI.d.ts +0 -15
  400. package/bundle/ui-kit/Checkbox/CheckboxGroup.d.ts +0 -2
  401. package/bundle/ui-kit/FormField/Fields/ConsentToAllDocsField.d.ts +0 -2
  402. package/dist/api/DaDataAPI.d.ts +0 -15
  403. package/dist/api/DaDataAPI.js +0 -33
  404. package/dist/api/DaDataAPI.js.map +0 -1
  405. package/dist/ui-kit/Checkbox/CheckboxGroup.d.ts +0 -2
  406. package/dist/ui-kit/Checkbox/CheckboxGroup.js +0 -20
  407. package/dist/ui-kit/Checkbox/CheckboxGroup.js.map +0 -1
  408. package/dist/ui-kit/FormField/Fields/ConsentToAllDocsField.d.ts +0 -2
  409. package/dist/ui-kit/FormField/Fields/ConsentToAllDocsField.js +0 -26
  410. package/dist/ui-kit/FormField/Fields/ConsentToAllDocsField.js.map +0 -1
  411. package/lib/api/DaDataAPI.d.ts +0 -15
  412. package/lib/api/DaDataAPI.js +0 -30
  413. package/lib/api/DaDataAPI.js.map +0 -1
  414. package/lib/ui-kit/Checkbox/CheckboxGroup.d.ts +0 -2
  415. package/lib/ui-kit/Checkbox/CheckboxGroup.js +0 -18
  416. package/lib/ui-kit/Checkbox/CheckboxGroup.js.map +0 -1
  417. package/lib/ui-kit/FormField/Fields/ConsentToAllDocsField.d.ts +0 -2
  418. package/lib/ui-kit/FormField/Fields/ConsentToAllDocsField.js +0 -24
  419. package/lib/ui-kit/FormField/Fields/ConsentToAllDocsField.js.map +0 -1
  420. package/mobile/bundle/api/DaDataAPI.d.ts +0 -15
  421. package/mobile/bundle/ui-kit/Checkbox/CheckboxGroup.d.ts +0 -2
  422. package/mobile/bundle/ui-kit/FormField/Fields/ConsentToAllDocsField.d.ts +0 -2
  423. package/mobile/dist/api/DaDataAPI.d.ts +0 -15
  424. package/mobile/dist/api/DaDataAPI.js +0 -33
  425. package/mobile/dist/api/DaDataAPI.js.map +0 -1
  426. package/mobile/dist/ui-kit/Checkbox/CheckboxGroup.d.ts +0 -2
  427. package/mobile/dist/ui-kit/Checkbox/CheckboxGroup.js +0 -20
  428. package/mobile/dist/ui-kit/Checkbox/CheckboxGroup.js.map +0 -1
  429. package/mobile/dist/ui-kit/FormField/Fields/ConsentToAllDocsField.d.ts +0 -2
  430. package/mobile/dist/ui-kit/FormField/Fields/ConsentToAllDocsField.js +0 -26
  431. package/mobile/dist/ui-kit/FormField/Fields/ConsentToAllDocsField.js.map +0 -1
  432. package/mobile/lib/api/DaDataAPI.d.ts +0 -15
  433. package/mobile/lib/api/DaDataAPI.js +0 -30
  434. package/mobile/lib/api/DaDataAPI.js.map +0 -1
  435. package/mobile/lib/ui-kit/Checkbox/CheckboxGroup.d.ts +0 -2
  436. package/mobile/lib/ui-kit/Checkbox/CheckboxGroup.js +0 -18
  437. package/mobile/lib/ui-kit/Checkbox/CheckboxGroup.js.map +0 -1
  438. package/mobile/lib/ui-kit/FormField/Fields/ConsentToAllDocsField.d.ts +0 -2
  439. package/mobile/lib/ui-kit/FormField/Fields/ConsentToAllDocsField.js +0 -24
  440. package/mobile/lib/ui-kit/FormField/Fields/ConsentToAllDocsField.js.map +0 -1
  441. package/mobile/src/api/DaDataAPI.ts +0 -48
  442. package/mobile/src/ui-kit/Checkbox/CheckboxGroup.tsx +0 -52
  443. package/mobile/src/ui-kit/FormField/Fields/ConsentToAllDocsField.tsx +0 -29
  444. package/src/api/DaDataAPI.ts +0 -48
  445. package/src/ui-kit/Checkbox/CheckboxGroup.tsx +0 -52
  446. package/src/ui-kit/FormField/Fields/ConsentToAllDocsField.tsx +0 -29
@@ -18,4 +18,5 @@ export interface InputProps<V = string> extends ControlProps<V>, LabelProps {
18
18
  isTextarea?: boolean;
19
19
  error?: string;
20
20
  errors?: string[];
21
+ dadata?: boolean;
21
22
  }
@@ -0,0 +1,85 @@
1
+ import { useCallback, useEffect, useMemo, useRef, useState } from '@redneckz/uni-jsx/lib/hooks';
2
+ import { getDaDataHints } from '../../api/dadataHints/dadataHints';
3
+ import { type DaDataSuggestion } from '../../api/dadataHints/dadataHintsType';
4
+ import { hintsListsOptions } from '../../api/dadataHints/hintsListsOptions';
5
+ import { debounce } from '../../utils/debounce';
6
+ import { usePopupManager } from '../PopupManager/usePopupManager';
7
+ import { InputPopup } from './InputPopup';
8
+
9
+ interface InputPopupOptions {
10
+ isOpen?: boolean;
11
+ name: string;
12
+ value?: string;
13
+ onChange: (e: string) => void;
14
+ }
15
+
16
+ export function useInputPopup({ isOpen, value, name, onChange }: InputPopupOptions) {
17
+ const prevInputValue = useRef(value);
18
+ const currentInputValue = useRef(value);
19
+ const [hintsList, setHintsList] = useState<Array<DaDataSuggestion>>([]);
20
+ const popup = usePopupManager();
21
+
22
+ const defaultHintsListOptions = hintsListsOptions[name];
23
+
24
+ const close = useCallback(() => {
25
+ currentInputValue.current = value;
26
+ popup.close();
27
+ }, [value]);
28
+
29
+ const handleChange = useCallback(
30
+ (option: string) => {
31
+ close();
32
+ currentInputValue.current = option;
33
+ onChange && onChange(option);
34
+ },
35
+ [close, onChange],
36
+ );
37
+
38
+ const inputRef = useRef<HTMLDivElement | null>(null);
39
+
40
+ const getHintsList = useMemo(
41
+ () => async (searchValue: string) => {
42
+ if (!defaultHintsListOptions) {
43
+ return;
44
+ }
45
+ const result = await getDaDataHints({
46
+ url: defaultHintsListOptions.url,
47
+ requestData: {
48
+ ...defaultHintsListOptions?.requestData,
49
+ },
50
+ query: searchValue,
51
+ });
52
+ if (result?.length) {
53
+ setHintsList(result);
54
+ }
55
+ },
56
+ [],
57
+ );
58
+
59
+ const debouncedGetHintsList = useMemo(() => debounce(getHintsList, 300), [getHintsList]);
60
+
61
+ useEffect(() => {
62
+ if (!isOpen || !inputRef.current || currentInputValue.current === value) {
63
+ close();
64
+
65
+ return;
66
+ }
67
+
68
+ const inputElement = inputRef.current;
69
+ const { top, left, width, height } = inputElement.getBoundingClientRect();
70
+
71
+ if (value && prevInputValue.current !== value) {
72
+ debouncedGetHintsList(value);
73
+
74
+ prevInputValue.current = value;
75
+ }
76
+
77
+ popup.update(<InputPopup options={hintsList} value={value} onChange={handleChange} />, {
78
+ top: top + globalThis.scrollY + height,
79
+ left,
80
+ width,
81
+ });
82
+ }, [isOpen, hintsList, value, handleChange]);
83
+
84
+ return inputRef;
85
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.14.574",
3
+ "version": "0.14.576",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "ЦК",
@@ -210,7 +210,7 @@
210
210
  "path": "lib/common.css"
211
211
  },
212
212
  {
213
- "limit": "69 kB",
213
+ "limit": "70 kB",
214
214
  "path": "bundle/bundle.umd.min.js"
215
215
  }
216
216
  ],
@@ -2,20 +2,6 @@ import { type JSONRecord, type JSONScalar } from '@redneckz/json-op';
2
2
  import { formatDate } from '../utils/formatDate';
3
3
  import { formatPhone } from '../utils/formatPhone';
4
4
 
5
- interface DaDataSuggestion<T> {
6
- value?: string;
7
- unrestricted_value?: string;
8
- data?: T;
9
- }
10
-
11
- interface DaDataAddress {
12
- city?: string | null;
13
- }
14
-
15
- export interface DaDataResult {
16
- suggestions?: DaDataSuggestion<DaDataAddress>[];
17
- }
18
-
19
5
  export type LeadRequest = Record<string, JSONRecord | JSONScalar | null> & {
20
6
  typeForm?: string;
21
7
  addressBranch?: string;
@@ -0,0 +1,33 @@
1
+ import { type DaDataSuggestion, type ListRequestOption } from './dadataHintsType';
2
+
3
+ const DEFAULT_HINTS_COUNT = 10;
4
+
5
+ const getResponseHandler = (response: { suggestions: Array<DaDataSuggestion> }) => {
6
+ const responseData: Array<DaDataSuggestion> = response?.suggestions || [];
7
+
8
+ return responseData.map((item) => ({
9
+ ...item,
10
+ processedValue: item?.value,
11
+ }));
12
+ };
13
+
14
+ export const getDaDataHints = (options: ListRequestOption): Promise<Array<DaDataSuggestion>> => {
15
+ const { url, query, requestData = {} } = options;
16
+
17
+ const result = fetch(`/api/v1/suggestions/${url}`, {
18
+ method: 'POST',
19
+ mode: 'cors',
20
+ headers: {
21
+ 'Content-Type': 'application/json',
22
+ },
23
+ body: JSON.stringify({
24
+ count: DEFAULT_HINTS_COUNT,
25
+ ...requestData,
26
+ query,
27
+ }),
28
+ })
29
+ .then((response) => response.json())
30
+ .then(getResponseHandler);
31
+
32
+ return result;
33
+ };
@@ -0,0 +1,33 @@
1
+ import { type Nullable } from '../../utils/Nullable';
2
+ import { type HintOption } from './hintsListsOptions';
3
+
4
+ export interface DaDataSuggestion {
5
+ value: string;
6
+ unrestricted_value: string;
7
+ data: DaDataResponseItem;
8
+ processedValue: string;
9
+ }
10
+
11
+ export type DaDataGender = 'MALE' | 'FEMALE' | 'UNKNOWN';
12
+
13
+ export interface DaDataFio {
14
+ surname: Nullable<string>;
15
+ name: Nullable<string>;
16
+ patronymic: Nullable<string>;
17
+ gender: DaDataGender;
18
+ qc: '0' | '1';
19
+ source: null;
20
+ }
21
+
22
+ export interface DaDataEmail {
23
+ domain: Nullable<string>;
24
+ local: string;
25
+ }
26
+
27
+ export type DaDataResponseItem = DaDataFio | DaDataEmail;
28
+
29
+ export interface ListRequestOption {
30
+ url: string;
31
+ query?: string;
32
+ requestData?: HintOption['requestData'];
33
+ }
@@ -0,0 +1,44 @@
1
+ export const NAME_HINTS_LIST_OPTIONS = {
2
+ url: 'suggest/fio',
3
+ requestData: {
4
+ parts: ['NAME'],
5
+ gender: 'UNKNOWN',
6
+ },
7
+ };
8
+
9
+ export const SURNAME_HINTS_LIST_OPTIONS = {
10
+ url: 'suggest/fio',
11
+ requestData: {
12
+ parts: ['SURNAME'],
13
+ gender: 'UNKNOWN',
14
+ },
15
+ };
16
+
17
+ export const PATRONYMIC_HINTS_LIST_OPTIONS = {
18
+ url: 'suggest/fio',
19
+ requestData: {
20
+ parts: ['PATRONYMIC'],
21
+ gender: 'UNKNOWN',
22
+ },
23
+ };
24
+
25
+ export const EMAIL_HINTS_LIST_OPTIONS = {
26
+ url: 'suggest/email',
27
+ };
28
+
29
+ export type HintsListOptions = Record<string, HintOption>;
30
+
31
+ export const hintsListsOptions: HintsListOptions = {
32
+ name: NAME_HINTS_LIST_OPTIONS,
33
+ surname: SURNAME_HINTS_LIST_OPTIONS,
34
+ middleName: PATRONYMIC_HINTS_LIST_OPTIONS,
35
+ email: EMAIL_HINTS_LIST_OPTIONS,
36
+ };
37
+
38
+ export type HintOption = {
39
+ url: string;
40
+ requestData?: {
41
+ parts?: string[];
42
+ gender?: string;
43
+ };
44
+ };
@@ -54,7 +54,13 @@ export type NameFieldDef =
54
54
  | 'localities'
55
55
  | 'partnerComments'
56
56
  | 'consentDataProcessing'
57
- | 'consentToAllDocs';
57
+ | 'consentInformFlg'
58
+ | 'consentCollectionFlg'
59
+ | 'consentAssignmentClaimsFlg'
60
+ | 'consentPhotoFlg'
61
+ | 'consentPfrFlg'
62
+ | 'consentProviderFlg'
63
+ | 'processPersonalDataLeadFlg';
58
64
 
59
65
  export type ConditionFieldProps = {
60
66
  /** @title Условия отображения полей формы */
@@ -69,6 +75,7 @@ export type FieldDefaultDef = Required &
69
75
  LabelProps &
70
76
  ConditionFieldProps & {
71
77
  name: NameFieldDef;
78
+ dadata?: boolean;
72
79
  };
73
80
 
74
81
  /**
@@ -47,7 +47,36 @@
47
47
  "inputs": [
48
48
  {
49
49
  "fieldType": "common",
50
- "name": "consentToAllDocs",
50
+ "name": "processPersonalDataLeadFlg",
51
+ "required": true
52
+ },
53
+ {
54
+ "fieldType": "common",
55
+ "name": "consentProviderFlg",
56
+ "required": true
57
+ },
58
+ {
59
+ "fieldType": "common",
60
+ "name": "consentPfrFlg"
61
+ },
62
+ {
63
+ "fieldType": "common",
64
+ "name": "consentPhotoFlg",
65
+ "required": true
66
+ },
67
+ {
68
+ "fieldType": "common",
69
+ "name": "consentAssignmentClaimsFlg",
70
+ "required": true
71
+ },
72
+ {
73
+ "fieldType": "common",
74
+ "name": "consentCollectionFlg",
75
+ "required": true
76
+ },
77
+ {
78
+ "fieldType": "common",
79
+ "name": "consentInformFlg",
51
80
  "required": true
52
81
  }
53
82
  ]
@@ -29,7 +29,17 @@ export default {
29
29
  { fieldType: 'common', name: 'email', required: true },
30
30
  ],
31
31
  },
32
- { inputs: [{ fieldType: 'common', name: 'consentToAllDocs', required: true }] },
32
+ {
33
+ inputs: [
34
+ { fieldType: 'common', name: 'processPersonalDataLeadFlg', required: true },
35
+ { fieldType: 'common', name: 'consentProviderFlg', required: true },
36
+ { fieldType: 'common', name: 'consentPfrFlg' },
37
+ { fieldType: 'common', name: 'consentPhotoFlg', required: true },
38
+ { fieldType: 'common', name: 'consentAssignmentClaimsFlg', required: true },
39
+ { fieldType: 'common', name: 'consentCollectionFlg', required: true },
40
+ { fieldType: 'common', name: 'consentInformFlg', required: true },
41
+ ],
42
+ },
33
43
  ]}
34
44
  button={button}
35
45
  />
@@ -22,15 +22,25 @@ export default {
22
22
  {
23
23
  columns: 2,
24
24
  inputs: [
25
- { fieldType: 'common', name: 'surname', required: true },
26
- { fieldType: 'common', name: 'name', required: true },
27
- { fieldType: 'common', name: 'middleName' },
25
+ { fieldType: 'common', name: 'surname', required: true, dadata: true },
26
+ { fieldType: 'common', name: 'name', required: true, dadata: true },
27
+ { fieldType: 'common', name: 'middleName', dadata: true },
28
28
  { fieldType: 'common', name: 'birthday', required: true },
29
29
  { fieldType: 'common', name: 'phone', required: true },
30
- { fieldType: 'common', name: 'email', required: true },
30
+ { fieldType: 'common', name: 'email', required: true, dadata: true },
31
+ ],
32
+ },
33
+ {
34
+ inputs: [
35
+ { fieldType: 'common', name: 'processPersonalDataLeadFlg', required: true },
36
+ { fieldType: 'common', name: 'consentProviderFlg', required: true },
37
+ { fieldType: 'common', name: 'consentPfrFlg' },
38
+ { fieldType: 'common', name: 'consentPhotoFlg', required: true },
39
+ { fieldType: 'common', name: 'consentAssignmentClaimsFlg', required: true },
40
+ { fieldType: 'common', name: 'consentCollectionFlg', required: true },
41
+ { fieldType: 'common', name: 'consentInformFlg', required: true },
31
42
  ],
32
43
  },
33
- { inputs: [{ fieldType: 'common', name: 'consentToAllDocs', required: true }] },
34
44
  ]}
35
45
  button={button}
36
46
  />
@@ -12,9 +12,15 @@ import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
12
12
  import { style } from '../../utils/style';
13
13
  import { objectValidator } from '../../validation/objectValidator';
14
14
  import { isValidationSuccess } from '../../validation/validator';
15
- import { type ApplicationLeadFormContent, type FieldDef } from './ApplicationLeadFormContent';
15
+ import {
16
+ type ApplicationLeadFormContent,
17
+ type FieldDef,
18
+ type GroupedConsentsProps,
19
+ } from './ApplicationLeadFormContent';
20
+ import { CONSENTS } from './consents';
16
21
  import { getFormatData } from './getFormatData';
17
22
  import { getInitialFormState, type FormState } from './getInitialFormState';
23
+ import { GroupedConsents } from './GroupedConsents';
18
24
  import { renderSubmitButton } from './renderSubmitButton';
19
25
 
20
26
  interface ApplicationLeadFormProps extends ApplicationLeadFormContent, UniBlockProps {}
@@ -66,7 +72,7 @@ export const ApplicationLeadForm = JSX<ApplicationLeadFormProps>(
66
72
  className={style(inputColumnStyles(_.columns), 'grid gap-x-m')}
67
73
  >
68
74
  {renderTitle(_.title)}
69
- {(_?.inputs || [])?.map(getField(field, typeForm))}
75
+ {renderInputs({ field, typeForm, inputs: _?.inputs })}
70
76
  </div>
71
77
  ))}
72
78
  {renderSubmitButton(button)}
@@ -75,3 +81,21 @@ export const ApplicationLeadForm = JSX<ApplicationLeadFormProps>(
75
81
  );
76
82
  },
77
83
  );
84
+
85
+ const renderInputs = ({ field, typeForm = '', inputs }: GroupedConsentsProps) => {
86
+ const { consentInputs, restInputs } = splitInputs(inputs || []);
87
+
88
+ return consentInputs.length > 2 ? (
89
+ <div>
90
+ {restInputs.map(getField(field, typeForm))}
91
+ <GroupedConsents inputs={consentInputs} field={field} />
92
+ </div>
93
+ ) : (
94
+ (inputs || [])?.map(getField(field, typeForm))
95
+ );
96
+ };
97
+
98
+ const splitInputs = (inputs?: FieldDef[]) => ({
99
+ consentInputs: inputs?.filter((_) => CONSENTS.includes(_.name)) || [],
100
+ restInputs: inputs?.filter((_) => !CONSENTS.includes(_.name)) || [],
101
+ });
@@ -1,9 +1,11 @@
1
1
  /* eslint-disable max-len */
2
2
 
3
+ import { type FormFieldRegisterer } from '../../hooks/useForm';
3
4
  import { type LabelProps, type TextProps, type TitleProps } from '../../model/HeadlineType';
4
5
  import { type LinkButtonVersion } from '../../model/LinkButtonVersion';
5
6
  import { type Target } from '../../model/LinkProps';
6
7
  import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
8
+ import { type FormState } from './getInitialFormState';
7
9
 
8
10
  interface Required {
9
11
  /** @title Обязательно для заполнения */
@@ -53,7 +55,13 @@ export type NameFieldDef =
53
55
  | 'localities'
54
56
  | 'partnerComments'
55
57
  | 'consentDataProcessing'
56
- | 'consentToAllDocs';
58
+ | 'consentInformFlg'
59
+ | 'consentCollectionFlg'
60
+ | 'consentAssignmentClaimsFlg'
61
+ | 'consentPhotoFlg'
62
+ | 'consentPfrFlg'
63
+ | 'consentProviderFlg'
64
+ | 'processPersonalDataLeadFlg';
57
65
 
58
66
  export type ConditionFieldProps = {
59
67
  /** @title Условия отображения полей формы */
@@ -77,6 +85,7 @@ export type FieldDefaultDef = Required &
77
85
  export type FieldCommonDef = FieldDefaultDef & {
78
86
  /** @default "common" */
79
87
  fieldType: 'common';
88
+ dadata?: boolean;
80
89
  };
81
90
 
82
91
  /**
@@ -160,3 +169,10 @@ export type ApplicationLeadFormContent = UniBlockContent &
160
169
  sections?: SectionsProps[];
161
170
  endpoint?: EndpointType;
162
171
  };
172
+
173
+ /** @hidden */
174
+ export interface GroupedConsentsProps {
175
+ inputs?: FieldDef[];
176
+ typeForm?: TypeFormFieldDef | string;
177
+ field: FormFieldRegisterer<FormState>;
178
+ }
@@ -0,0 +1,79 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { useMemo } from '@redneckz/uni-jsx/lib/hooks';
3
+ import { type VNode } from '../../model/VNode';
4
+ import { Checkbox } from '../../ui-kit/Checkbox/Checkbox';
5
+ import { Foldable } from '../../ui-kit/Foldable/Foldable';
6
+ import { type FoldablePartProps } from '../../ui-kit/Foldable/FoldablePartProps';
7
+ import { FoldableSection } from '../../ui-kit/Foldable/FoldableSection';
8
+ import { getField } from '../../ui-kit/FormField/getField';
9
+ import { validatorObj } from '../../ui-kit/FormField/getObjectValidator';
10
+ import { Icon } from '../../ui-kit/Icon/Icon';
11
+ import { renderErrorText } from '../../ui-kit/Input/renderErrorText';
12
+ import { withValidator } from '../../validation/withValidator';
13
+ import { type GroupedConsentsProps } from './ApplicationLeadFormContent';
14
+ import { type FormState } from './getInitialFormState';
15
+
16
+ const CONSENT_ALL_DOCS_TEXT = 'Согласие на все документы';
17
+ const CONSENT_REQUIRED = 'Отметьте все обязательные соглашения';
18
+
19
+ export const GroupedConsents = JSX<GroupedConsentsProps>(
20
+ ({ inputs = [], typeForm = '', field, key }) => {
21
+ const isChecked = inputs.every((_) => Boolean(field(_.name).value));
22
+
23
+ const handleGeneralToggle = (value: boolean) => {
24
+ for (const item of inputs) {
25
+ const itemField = field(item.name as keyof FormState);
26
+ itemField?.onChange && itemField.onChange(value);
27
+ }
28
+ };
29
+
30
+ const hasValidationErrors = useMemo(
31
+ () =>
32
+ inputs
33
+ ?.filter((_) => _.required)
34
+ ?.some((_) => Boolean(withValidator(field(_?.name), validatorObj[_?.name]).error)),
35
+ [inputs],
36
+ );
37
+
38
+ return (
39
+ <div className="w-fit">
40
+ <Foldable
41
+ isFoldButtonOnTop
42
+ renderFoldableSection={({ isUnfolded }) => (
43
+ <FoldableSection isUnfolded={isUnfolded} className="flex flex-col pl-2xl">
44
+ {inputs.map(getField(field, typeForm))}
45
+ </FoldableSection>
46
+ )}
47
+ renderFoldButton={renderGeneralCheckbox(
48
+ <div>
49
+ <Checkbox
50
+ value={isChecked}
51
+ onChange={handleGeneralToggle}
52
+ text={CONSENT_ALL_DOCS_TEXT}
53
+ key={key}
54
+ />
55
+ {renderErrorText(hasValidationErrors ? CONSENT_REQUIRED : '')}
56
+ </div>,
57
+ )}
58
+ />
59
+ </div>
60
+ );
61
+ },
62
+ );
63
+
64
+ const renderGeneralCheckbox =
65
+ (generalCheckBox: VNode) =>
66
+ (foldableData: FoldablePartProps): VNode =>
67
+ (
68
+ <div className="flex items-start">
69
+ {generalCheckBox}
70
+ <button onClick={foldableData.onToggle} className="px-m py-2xs">
71
+ <Icon
72
+ className="text-primary-text"
73
+ name={foldableData.isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon'}
74
+ width="16"
75
+ height="16"
76
+ />
77
+ </button>
78
+ </div>
79
+ );
@@ -0,0 +1,10 @@
1
+ export const CONSENTS = [
2
+ 'processPersonalDataLeadFlg',
3
+ 'consentProviderFlg',
4
+ 'consentPfrFlg',
5
+ 'consentPhotoFlg',
6
+ 'consentAssignmentClaimsFlg',
7
+ 'consentCollectionFlg',
8
+ 'consentInformFlg',
9
+ 'consentToReceiveMaterials',
10
+ ];
@@ -14,6 +14,7 @@ export interface FormState {
14
14
  surname?: string;
15
15
  name?: string;
16
16
  middleName?: string;
17
+ fullName?: string;
17
18
  birthday?: Date;
18
19
  phone?: string;
19
20
  secondaryPhone?: string;
@@ -28,7 +29,28 @@ export interface FormState {
28
29
  term?: number;
29
30
  amount?: number;
30
31
  annualRevenue?: string;
32
+ serviceDirection?: string;
33
+ desiredMeetingDate?: string;
34
+ inn?: number;
35
+ addressBranch?: string;
36
+ bankEmpolee?: string;
37
+ applicationDate?: string;
38
+ comment?: string;
39
+ isClient?: boolean;
40
+ feedbackMethod?: string;
41
+ collectionCount?: number;
42
+ product?: string;
43
+ localities?: string[];
44
+ partnerComments?: string;
31
45
  consentDataProcessing?: boolean;
46
+ processPersonalDataLeadFlg?: boolean;
47
+ consentProviderFlg?: boolean;
48
+ consentPfrFlg?: boolean;
49
+ consentPhotoFlg?: boolean;
50
+ consentAssignmentClaimsFlg?: boolean;
51
+ consentCollectionFlg?: boolean;
52
+ consentInformFlg?: boolean;
53
+ consentToReceiveMaterials?: boolean;
32
54
  }
33
55
 
34
56
  const initialFormState = {
@@ -57,6 +79,12 @@ const initialFormState = {
57
79
  posTerminal: false,
58
80
  consentToReceiveMaterials: false,
59
81
  consentDataProcessing: false,
82
+ processPersonalDataLeadFlg: false,
83
+ consentProviderFlg: false,
84
+ consentPhotoFlg: false,
85
+ consentAssignmentClaimsFlg: false,
86
+ consentCollectionFlg: false,
87
+ consentInformFlg: false,
60
88
  };
61
89
 
62
90
  export const getInitialFormState = (inputs: FieldDef[], typeForm = ''): FormState => {
package/src/index.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  export { setupHooks } from '@redneckz/uni-jsx/lib/hooks';
2
2
  export { setup } from '@redneckz/uni-jsx/lib/setup';
3
- export { DaDataAPI } from './api/DaDataAPI';
4
3
  export { Blocks } from './components/Blocks';
5
4
  export { ContentPage } from './components/ContentPage/ContentPage';
6
5
  export { handlerDecorator } from './hooks/handlerDecorator';
@@ -7,9 +7,3 @@ export interface CheckboxProps {
7
7
  onChange?: (value: boolean) => void;
8
8
  error?: string;
9
9
  }
10
-
11
- export interface CheckboxGroupProps {
12
- className?: string;
13
- items?: CheckboxProps[];
14
- text?: string;
15
- }
@@ -6,7 +6,7 @@ import { type CheckboxProps } from './CheckboxProps';
6
6
 
7
7
  export const CheckboxWithError = JSX<CheckboxProps>(
8
8
  ({ className, text, value, key, disabled, error, onChange }) => (
9
- <div className={style('shrink-0 w-full', className)}>
9
+ <div className={style('shrink-0', className)}>
10
10
  <Checkbox key={key} text={text} value={value} disabled={disabled} onChange={onChange} />
11
11
  {renderErrorText(error)}
12
12
  </div>
@@ -0,0 +1,12 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { withValidator } from '../../../validation/withValidator';
3
+ import { CheckboxWithError } from '../../Checkbox/CheckboxWithError';
4
+ import { type CustomFieldProps } from '../CustomFieldProps';
5
+ import { validatorObj } from '../getObjectValidator';
6
+
7
+ export const ConsentAssignmentField = JSX<CustomFieldProps>(({ field }) => (
8
+ <CheckboxWithError
9
+ text="Прочие согласия (согласие на уступку прав требований)"
10
+ {...withValidator(field('consentAssignmentClaimsFlg'), validatorObj.consentAssignmentClaimsFlg)}
11
+ />
12
+ ));
@@ -0,0 +1,12 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { withValidator } from '../../../validation/withValidator';
3
+ import { CheckboxWithError } from '../../Checkbox/CheckboxWithError';
4
+ import { type CustomFieldProps } from '../CustomFieldProps';
5
+ import { validatorObj } from '../getObjectValidator';
6
+
7
+ export const ConsentCollectionField = JSX<CustomFieldProps>(({ field }) => (
8
+ <CheckboxWithError
9
+ text="Прочие согласия (согласие на взыскание по исполнительной надписи нотариуса)"
10
+ {...withValidator(field('consentCollectionFlg'), validatorObj.consentCollectionFlg)}
11
+ />
12
+ ));
@@ -0,0 +1,12 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { withValidator } from '../../../validation/withValidator';
3
+ import { CheckboxWithError } from '../../Checkbox/CheckboxWithError';
4
+ import { type CustomFieldProps } from '../CustomFieldProps';
5
+ import { validatorObj } from '../getObjectValidator';
6
+
7
+ export const ConsentInformField = JSX<CustomFieldProps>(({ field }) => (
8
+ <CheckboxWithError
9
+ text="Согласие на информирование о продуктах и услугах Банка"
10
+ {...withValidator(field('consentInformFlg'), validatorObj.consentInformFlg)}
11
+ />
12
+ ));