@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
@@ -22,37 +22,6 @@
22
22
  };
23
23
  };
24
24
 
25
- const getGeolocation = async () => new Promise((resolve) => navigator.geolocation.getCurrentPosition(({ coords }) => resolve(coords)));
26
-
27
- function DaDataAPI(baseURL = '') {
28
- async function getFetcherAddress() {
29
- if (!('geolocation' in navigator)) {
30
- return null;
31
- }
32
- try {
33
- const coords = await getGeolocation();
34
- const response = await fetch(`${baseURL}/geolocate`, {
35
- method: 'POST',
36
- mode: 'cors',
37
- body: JSON.stringify({
38
- lat: coords.latitude,
39
- lon: coords.longitude,
40
- count: 1,
41
- }),
42
- });
43
- const data = (await response.json());
44
- return data?.suggestions?.[0]?.data?.city;
45
- }
46
- catch (e) {
47
- console.error(e);
48
- return null;
49
- }
50
- }
51
- return {
52
- getFetcherAddress,
53
- };
54
- }
55
-
56
25
  const jsx = (...args) => globalThis._uni._jsx(...args);
57
26
  const jsxs = (...args) => globalThis._uni._jsxs(...args);
58
27
 
@@ -1178,7 +1147,7 @@
1178
1147
  const role = (isRadio = false) => (isRadio ? 'radio' : 'checkbox');
1179
1148
  const checkboxStyle = (value = false) => style('rounded border', { 'bg-primary-main': value });
1180
1149
 
1181
- const CheckboxWithError = JSX(({ className, text, value, key, disabled, error, onChange }) => (jsxs("div", { className: style('shrink-0 w-full', className), children: [jsx(Checkbox, { text: text, value: value, disabled: disabled, onChange: onChange }, key), renderErrorText(error)] })));
1150
+ const CheckboxWithError = JSX(({ className, text, value, key, disabled, error, onChange }) => (jsxs("div", { className: style('shrink-0', className), children: [jsx(Checkbox, { text: text, value: value, disabled: disabled, onChange: onChange }, key), renderErrorText(error)] })));
1182
1151
 
1183
1152
  function useBool(defaultValue = false) {
1184
1153
  const [value, setValue] = useState(defaultValue);
@@ -1456,7 +1425,147 @@
1456
1425
 
1457
1426
  const DatePickerControl = JSX(({ className, label, error, ...rest }) => (jsxs("div", { className: style('shrink-0 w-full', className), children: [jsx(DatePicker, { label: label && rest?.errors ? `${label}*` : label, valid: Boolean(!error), ...rest }), renderErrorText(error)] })));
1458
1427
 
1459
- const InputControl = JSX(({ className, label, value = '', placeholder, error, onChange, onBlur, isTextarea, type, ...rest }) => (jsxs("div", { className: style('shrink-0 w-full', className), children: [jsx(Input, { type: type || 'text', "aria-label": label, label: label && rest?.errors ? `${label}*` : label, valid: Boolean(!error), value: value, onChange: onChange, onBlur: onBlur, isTextarea: isTextarea, placeholder: rest?.errors && !label ? `${placeholder}*` : placeholder }), renderErrorText(error)] })));
1428
+ const DEFAULT_HINTS_COUNT = 10;
1429
+ const getResponseHandler = (response) => {
1430
+ const responseData = response?.suggestions || [];
1431
+ return responseData.map((item) => ({
1432
+ ...item,
1433
+ processedValue: item?.value,
1434
+ }));
1435
+ };
1436
+ const getDaDataHints = (options) => {
1437
+ const { url, query, requestData = {} } = options;
1438
+ const result = fetch(`/api/v1/suggestions/${url}`, {
1439
+ method: 'POST',
1440
+ mode: 'cors',
1441
+ headers: {
1442
+ 'Content-Type': 'application/json',
1443
+ },
1444
+ body: JSON.stringify({
1445
+ count: DEFAULT_HINTS_COUNT,
1446
+ ...requestData,
1447
+ query,
1448
+ }),
1449
+ })
1450
+ .then((response) => response.json())
1451
+ .then(getResponseHandler);
1452
+ return result;
1453
+ };
1454
+
1455
+ const NAME_HINTS_LIST_OPTIONS = {
1456
+ url: 'suggest/fio',
1457
+ requestData: {
1458
+ parts: ['NAME'],
1459
+ gender: 'UNKNOWN',
1460
+ },
1461
+ };
1462
+ const SURNAME_HINTS_LIST_OPTIONS = {
1463
+ url: 'suggest/fio',
1464
+ requestData: {
1465
+ parts: ['SURNAME'],
1466
+ gender: 'UNKNOWN',
1467
+ },
1468
+ };
1469
+ const PATRONYMIC_HINTS_LIST_OPTIONS = {
1470
+ url: 'suggest/fio',
1471
+ requestData: {
1472
+ parts: ['PATRONYMIC'],
1473
+ gender: 'UNKNOWN',
1474
+ },
1475
+ };
1476
+ const EMAIL_HINTS_LIST_OPTIONS = {
1477
+ url: 'suggest/email',
1478
+ };
1479
+ const hintsListsOptions = {
1480
+ name: NAME_HINTS_LIST_OPTIONS,
1481
+ surname: SURNAME_HINTS_LIST_OPTIONS,
1482
+ middleName: PATRONYMIC_HINTS_LIST_OPTIONS,
1483
+ email: EMAIL_HINTS_LIST_OPTIONS,
1484
+ };
1485
+
1486
+ const debounce = (fn, delay = 600) => {
1487
+ let timerId;
1488
+ const debouncedCallback = (...args) => {
1489
+ debouncedCallback.dispose();
1490
+ timerId = setTimeout(() => {
1491
+ fn(...args);
1492
+ }, delay);
1493
+ };
1494
+ debouncedCallback.dispose = () => {
1495
+ if (timerId) {
1496
+ clearTimeout(timerId);
1497
+ }
1498
+ };
1499
+ return debouncedCallback;
1500
+ };
1501
+
1502
+ const InputPopup = JSX(({ options, onChange }) => (jsx("div", { className: "bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-2xl", role: "list", children: options?.map((item, key) => (jsx("div", { className: "flex px-m py-s cursor-pointer hover:bg-main-divider pr-5xl relative", role: "listitem", onMouseDown: () => onChange(item.processedValue), children: jsx("span", { className: "min-h-6", children: item.processedValue }) }, key.toString()))) })));
1503
+
1504
+ function useInputPopup({ isOpen, value, name, onChange }) {
1505
+ const prevInputValue = useRef(value);
1506
+ const currentInputValue = useRef(value);
1507
+ const [hintsList, setHintsList] = useState([]);
1508
+ const popup = usePopupManager();
1509
+ const defaultHintsListOptions = hintsListsOptions[name];
1510
+ const close = useCallback(() => {
1511
+ currentInputValue.current = value;
1512
+ popup.close();
1513
+ }, [value]);
1514
+ const handleChange = useCallback((option) => {
1515
+ close();
1516
+ currentInputValue.current = option;
1517
+ onChange && onChange(option);
1518
+ }, [close, onChange]);
1519
+ const inputRef = useRef(null);
1520
+ const getHintsList = useMemo(() => async (searchValue) => {
1521
+ if (!defaultHintsListOptions) {
1522
+ return;
1523
+ }
1524
+ const result = await getDaDataHints({
1525
+ url: defaultHintsListOptions.url,
1526
+ requestData: {
1527
+ ...defaultHintsListOptions?.requestData,
1528
+ },
1529
+ query: searchValue,
1530
+ });
1531
+ if (result?.length) {
1532
+ setHintsList(result);
1533
+ }
1534
+ }, []);
1535
+ const debouncedGetHintsList = useMemo(() => debounce(getHintsList, 300), [getHintsList]);
1536
+ useEffect(() => {
1537
+ if (!isOpen || !inputRef.current || currentInputValue.current === value) {
1538
+ close();
1539
+ return;
1540
+ }
1541
+ const inputElement = inputRef.current;
1542
+ const { top, left, width, height } = inputElement.getBoundingClientRect();
1543
+ if (value && prevInputValue.current !== value) {
1544
+ debouncedGetHintsList(value);
1545
+ prevInputValue.current = value;
1546
+ }
1547
+ popup.update(jsx(InputPopup, { options: hintsList, value: value, onChange: handleChange }), {
1548
+ top: top + globalThis.scrollY + height,
1549
+ left,
1550
+ width,
1551
+ });
1552
+ }, [isOpen, hintsList, value, handleChange]);
1553
+ return inputRef;
1554
+ }
1555
+
1556
+ const InputControl = JSX(({ className, label, value = '', placeholder, error, errors, onChange = noop, onBlur, isTextarea, type, name = '', dadata = false, }) => {
1557
+ const [isOpen, { setFalse: close, setTrue: open }] = useBool();
1558
+ const popupRef = useOutsideClick(close);
1559
+ const inputRef = useInputPopup({
1560
+ isOpen: isOpen && dadata,
1561
+ name,
1562
+ value,
1563
+ onChange,
1564
+ });
1565
+ return (jsxs("div", { className: style('shrink-0 w-full', className), ref: popupRef, onBlur: close, onFocus: open, children: [jsx("div", { ref: inputRef, children: jsx(Input, { type: type || 'text', "aria-label": label, label: getLabel(errors, label), valid: Boolean(!error), value: value, onChange: onChange, onBlur: onBlur, isTextarea: isTextarea, placeholder: getPlaceholder(placeholder, errors, label) }) }), renderErrorText(error)] }));
1566
+ });
1567
+ const getLabel = (errors, label) => (label && errors ? `${label}*` : label);
1568
+ const getPlaceholder = (placeholder, errors, label) => errors && !label ? `${placeholder}*` : placeholder;
1460
1569
 
1461
1570
  const SelectControl = JSX(({ className = '', label, error, ...rest }) => (jsxs("div", { className: className, children: [jsx(Select, { ...rest, valid: !error, label: rest?.errors ? `${label}*` : label }), renderErrorText(error)] })));
1462
1571
 
@@ -1502,7 +1611,14 @@
1502
1611
  localities: defaultValidator,
1503
1612
  consentDataProcessing: agreementValidator,
1504
1613
  annualRevenue: defaultValidator,
1505
- consentToAllDocs: agreementValidator,
1614
+ consentToReceiveMaterials: agreementValidator,
1615
+ processPersonalDataLeadFlg: agreementValidator,
1616
+ consentProviderFlg: agreementValidator,
1617
+ consentPhotoFlg: agreementValidator,
1618
+ consentPfrFlg: agreementValidator,
1619
+ consentAssignmentClaimsFlg: agreementValidator,
1620
+ consentCollectionFlg: agreementValidator,
1621
+ consentInformFlg: agreementValidator,
1506
1622
  };
1507
1623
  const getObjectValidator = (inputs) => {
1508
1624
  const requiredInputs = getNamesFromInput(inputs.filter((_) => ('required' in _ ? _.required : false)));
@@ -1708,77 +1824,22 @@
1708
1824
 
1709
1825
  const CommentField = JSX(({ field, input }) => (jsx(InputControl, { className: "col-span-2", ...getValidation(field('comment'), validatorObj.comment, input?.required), placeholder: "\u0412\u0430\u0448\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435", isTextarea: true })));
1710
1826
 
1711
- const Foldable = JSX(({ className = '', isFoldButtonOnTop = false, unfoldedByDefault = false, renderFoldableSection, renderFoldButton, }) => {
1712
- const [isUnfolded, setIsUnfolded] = useState(unfoldedByDefault);
1713
- const onToggle = useCallback(() => {
1714
- setIsUnfolded((_) => !_);
1715
- }, []);
1716
- const sectionNode = renderFoldableSection({ isUnfolded, onToggle });
1717
- const buttonNode = renderFoldButton ? renderFoldButton({ isUnfolded, onToggle }) : null;
1718
- return isFoldButtonOnTop ? (jsxs("div", { className: className, role: "group", children: [buttonNode, sectionNode] })) : (jsxs("div", { className: className, role: "group", children: [sectionNode, buttonNode] }));
1719
- });
1827
+ const ConsentAssignmentField = JSX(({ field }) => (jsx(CheckboxWithError, { text: "\u041F\u0440\u043E\u0447\u0438\u0435 \u0441\u043E\u0433\u043B\u0430\u0441\u0438\u044F (\u0441\u043E\u0433\u043B\u0430\u0441\u0438\u0435 \u043D\u0430 \u0443\u0441\u0442\u0443\u043F\u043A\u0443 \u043F\u0440\u0430\u0432 \u0442\u0440\u0435\u0431\u043E\u0432\u0430\u043D\u0438\u0439)", ...withValidator(field('consentAssignmentClaimsFlg'), validatorObj.consentAssignmentClaimsFlg) })));
1720
1828
 
1721
- function useResizeObserver(callback, deps) {
1722
- const ref = useRef(null);
1723
- useEffect(() => {
1724
- const element = ref?.current;
1725
- if (!element) {
1726
- return undefined;
1727
- }
1728
- const observer = new ResizeObserver((entries) => {
1729
- callback(element, entries[0]);
1730
- });
1731
- observer.observe(element);
1732
- return () => {
1733
- observer.disconnect();
1734
- };
1735
- }, [callback, ...deps]);
1736
- return ref;
1737
- }
1829
+ const ConsentCollectionField = JSX(({ field }) => (jsx(CheckboxWithError, { text: "\u041F\u0440\u043E\u0447\u0438\u0435 \u0441\u043E\u0433\u043B\u0430\u0441\u0438\u044F (\u0441\u043E\u0433\u043B\u0430\u0441\u0438\u0435 \u043D\u0430 \u0432\u0437\u044B\u0441\u043A\u0430\u043D\u0438\u0435 \u043F\u043E \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0439 \u043D\u0430\u0434\u043F\u0438\u0441\u0438 \u043D\u043E\u0442\u0430\u0440\u0438\u0443\u0441\u0430)", ...withValidator(field('consentCollectionFlg'), validatorObj.consentCollectionFlg) })));
1738
1830
 
1739
- const FoldableSection = JSX(({ className = '', isUnfolded, children }) => {
1740
- const containerRef = useRef(null);
1741
- const childrenWrapperRef = useResizeObserver((childrenWrapperEl) => {
1742
- if (containerRef.current) {
1743
- containerRef.current.style.maxHeight = isUnfolded
1744
- ? `${childrenWrapperEl.scrollHeight}px`
1745
- : '';
1746
- }
1747
- }, [isUnfolded]);
1748
- return (jsx("div", { ref: containerRef, className: `transition-max-h duration-300 overflow-hidden ${containerRef.current || !isUnfolded ? 'max-h-0' : ''} `, children: jsx("div", { className: className, ref: childrenWrapperRef, children: children }) }));
1749
- });
1831
+ const ConsentInformField = JSX(({ field }) => (jsx(CheckboxWithError, { text: "\u0421\u043E\u0433\u043B\u0430\u0441\u0438\u0435 \u043D\u0430 \u0438\u043D\u0444\u043E\u0440\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043E \u043F\u0440\u043E\u0434\u0443\u043A\u0442\u0430\u0445 \u0438 \u0443\u0441\u043B\u0443\u0433\u0430\u0445 \u0411\u0430\u043D\u043A\u0430", ...withValidator(field('consentInformFlg'), validatorObj.consentInformFlg) })));
1750
1832
 
1751
- const CheckboxGroup = JSX(({ className, items = [], ...props }) => {
1752
- const isChecked = items.every((_) => _?.value);
1753
- const handleGeneralToggle = (value) => {
1754
- for (const item of items) {
1755
- item?.onChange && item.onChange(value);
1756
- }
1757
- };
1758
- return (jsx("div", { className: style('w-fit', className), children: jsx(Foldable, { isFoldButtonOnTop: true, renderFoldableSection: ({ isUnfolded }) => (jsx(FoldableSection, { isUnfolded: isUnfolded, className: "flex flex-col gap-lg pl-2xl py-xs", children: items.map(Checkbox) })), renderFoldButton: renderGeneralCheckbox(jsx(Checkbox, { value: isChecked, onChange: handleGeneralToggle, ...props })) }) }));
1759
- });
1760
- const renderGeneralCheckbox = (generalCheckBox) => (foldableData) => (jsxs("div", { className: "flex items-center", children: [generalCheckBox, jsx("button", { onClick: foldableData.onToggle, className: "p-m", children: jsx(Icon, { className: "text-primary-text", name: foldableData.isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', width: "16", height: "16" }) })] }));
1833
+ const ConsentPhotoFlg = JSX(({ field }) => (jsx(CheckboxWithError, { text: "\u041F\u0440\u043E\u0447\u0438\u0435 \u0441\u043E\u0433\u043B\u0430\u0441\u0438\u044F (\u0441\u043E\u0433\u043B\u0430\u0441\u0438\u0435 \u043D\u0430 \u0444\u043E\u0442\u043E\u0433\u0440\u0430\u0444\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435)", ...withValidator(field('consentPhotoFlg'), validatorObj.consentPhotoFlg) })));
1761
1834
 
1762
- const items = [
1763
- {
1764
- field: 'processPersonalDataLeadFlg',
1765
- text: 'Согласие на обработку персональных данных',
1766
- required: true,
1767
- },
1768
- {
1769
- field: 'consentOtherFlg',
1770
- text: 'Согласие на информирование о продуктах и услугах Банка',
1771
- required: true,
1772
- },
1773
- {
1774
- field: 'consentProviderFlg',
1775
- text: 'Согласие об использовании простой электронной подписи',
1776
- required: true,
1777
- },
1778
- { field: 'consentPfrFlg', text: 'Согласие на запрос в ПФР Открыты по субботам', required: true },
1779
- { field: 'consentPhotoFlg', text: 'Прочие согласия (согласие на фотографирование)' },
1780
- ];
1781
- const ConsentToAllDocsField = JSX(({ field }) => (jsx(CheckboxGroup, { text: "\u0421\u043E\u0433\u043B\u0430\u0441\u0438\u0435 \u043D\u0430 \u0432\u0441\u0435 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u044B", items: items.map((_) => ({ ...field(_.field), text: _.text, required: _.required })) })));
1835
+ const ConsentProviderField = JSX(({ field }) => (jsx(CheckboxWithError, { text: "\u0421\u043E\u0433\u043B\u0430\u0441\u0438\u0435 \u043E\u0431 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0438 \u043F\u0440\u043E\u0441\u0442\u043E\u0439 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0434\u043F\u0438\u0441\u0438", ...withValidator(field('consentProviderFlg'), validatorObj.consentProviderFlg) })));
1836
+
1837
+ const ConsentToReceiveMaterialsField = JSX(({ field }) => (jsx(CheckboxWithError, { text: "\u0421\u043E\u0433\u043B\u0430\u0441\u0435\u043D \u043D\u0430 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u0435 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0445 \u0438 \u0430\u043D\u0430\u043B\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u043E\u0432 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435", ...field('consentToReceiveMaterials') })));
1838
+
1839
+ const EmailField = JSX(({ field, input }) => {
1840
+ const { required, ...rest } = input;
1841
+ return (jsx(InputControl, { label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...getValidation(field('email'), validatorObj.email, required), ...rest }));
1842
+ });
1782
1843
 
1783
1844
  const FeedbackMethodField = JSX(({ field }) => (jsx(SelectControl, { label: "\u0421\u043F\u043E\u0441\u043E\u0431 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u043E\u0442\u0432\u0435\u0442\u0430", options: FEEDBACK_METHOD, ...withValidator(field('feedbackMethod'), validatorObj.feedbackMethod) })));
1784
1845
 
@@ -1814,7 +1875,7 @@
1814
1875
  return (jsx(SelectControl, { label: "\u041D\u0430\u0441\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u043F\u0443\u043D\u043A\u0442", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0433\u043E\u0440\u043E\u0434, \u0433\u0434\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0441\u0435\u0440\u0432\u0438\u0441", options: localities, ...getValidation(field('localities'), validatorObj.localities, input?.required), isSearch: true }));
1815
1876
  });
1816
1877
 
1817
- const MiddleNameField = JSX(({ field }) => (jsx(InputControl, { label: "\u041E\u0442\u0447\u0435\u0441\u0442\u0432\u043E (\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E, \u043F\u0440\u0438 \u043D\u0430\u043B\u0438\u0447\u0438\u0438)", ...field('middleName') })));
1878
+ const MiddleNameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041E\u0442\u0447\u0435\u0441\u0442\u0432\u043E (\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E, \u043F\u0440\u0438 \u043D\u0430\u043B\u0438\u0447\u0438\u0438)", ...field('middleName'), ...input })));
1818
1879
 
1819
1880
  const NameField = JSX(({ field, input }) => {
1820
1881
  const { required, ...rest } = input;
@@ -1858,6 +1919,8 @@
1858
1919
 
1859
1920
  const PosTerminalField = JSX(({ field }) => isAcquiringTrade(field('acquiringType')?.value?.key) ? (jsx(SlideCheckbox, { type: "radio", text: "\u0425\u043E\u0447\u0443 POS-\u0442\u0435\u0440\u043C\u0438\u043D\u0430\u043B", ...field('posTerminal') })) : null);
1860
1921
 
1922
+ const ProcessPersonalDataField = JSX(({ field }) => (jsx(CheckboxWithError, { text: "\u0421\u043E\u0433\u043B\u0430\u0441\u0438\u0435 \u043D\u0430 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0443 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445", ...withValidator(field('processPersonalDataLeadFlg'), validatorObj.processPersonalDataLeadFlg) })));
1923
+
1861
1924
  const ProductField = UniBlock(({ field, source }) => (jsx(SelectControl, { placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0440\u043E\u0434\u0443\u043A\u0442", label: "\u041F\u0440\u043E\u0434\u0443\u043A\u0442", options: arrayToOptions(source?.productList), ...withValidator(field('product'), validatorObj.product) })));
1862
1925
  const arrayToOptions = (array) => (array ?? []).map((_) => ({ key: _, value: _ }));
1863
1926
 
@@ -1884,7 +1947,7 @@
1884
1947
 
1885
1948
  const ServiceDirectionField = JSX(({ field }) => (jsx(SelectControl, { label: "\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u043D\u0438\u044F", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435", options: SERVICE_DIRECTIONS, ...withValidator(field('serviceDirection'), validatorObj.serviceDirection) })));
1886
1949
 
1887
- const SurnameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0424\u0430\u043C\u0438\u043B\u0438\u044F", ...getValidation(field('surname'), validatorObj.surname, input?.required) })));
1950
+ const SurnameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0424\u0430\u043C\u0438\u043B\u0438\u044F", ...getValidation(field('surname'), validatorObj.surname, input?.required), ...input })));
1888
1951
 
1889
1952
  const MIN_CREDIT_TERM = 1;
1890
1953
  const MAX_CREDIT_TERM = 180;
@@ -1929,9 +1992,9 @@
1929
1992
  const InputsMap = {
1930
1993
  surname: jsx(SurnameField, { field: field, input: input }),
1931
1994
  name: jsx(NameField, { field: field, input: input }),
1932
- middleName: jsx(MiddleNameField, { field: field }),
1995
+ middleName: jsx(MiddleNameField, { field: field, input: input }),
1933
1996
  phone: jsx(PhoneField, { field: field, input: input }),
1934
- email: (jsx(InputControl, { label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...getValidation(field('email'), validatorObj.email, required), ...rest })),
1997
+ email: jsx(EmailField, { field: field, input: input }),
1935
1998
  fullName: (jsx(InputControl, { label: "\u0424\u0418\u041E", ...getValidation(field('fullName'), validatorObj.fullName, required), ...rest })),
1936
1999
  inn: (jsx(InputControl, { label: "\u0418\u041D\u041D", type: "number", ...getValidation(field('inn'), validatorObj.inn, required) })),
1937
2000
  comment: jsx(CommentField, { field: field, input: input }),
@@ -1942,7 +2005,6 @@
1942
2005
  product: jsx(ProductField, { field: field, source: PRODUCT_REF }),
1943
2006
  localities: jsx(LocalitiesField, { field: field, input: input }),
1944
2007
  isClient: jsx(IsClientField, { field: field }),
1945
- consentToReceiveMaterials: (jsx(CheckboxWithError, { ...field('consentToReceiveMaterials'), text: "\u0421\u043E\u0433\u043B\u0430\u0441\u0435\u043D \u043D\u0430 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u0435 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0445 \u0438 \u0430\u043D\u0430\u043B\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u043E\u0432 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435" })),
1946
2008
  partnerComments: jsx(PartnerCommentsField, { field: field, input: input }),
1947
2009
  collectionCount: (jsx(InputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432 \u0438\u043D\u043A\u0430\u0441\u0441\u0430\u0446\u0438\u0438", type: "number", ...getValidation(field('collectionCount'), validatorObj.collectionCount, required) })),
1948
2010
  acquiringType: jsx(AcquiringField, { field: field, input: input }),
@@ -1959,7 +2021,14 @@
1959
2021
  bankEmpolee: (jsx(InputControl, { label: "\u0424\u0418\u041E \u0438\u043B\u0438 \u0434\u043E\u043B\u0436\u043D\u043E\u0441\u0442\u044C \u043E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u0432\u0448\u0435\u0433\u043E \u0412\u0430\u0441 \u0441\u043E\u0442\u0440\u0443\u0434\u043D\u0438\u043A\u0430 \u0411\u0430\u043D\u043A\u0430", ...field('bankEmpolee') })),
1960
2022
  applicationDate: (jsx(InputControl, { label: "\u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u044F \u0432 \u0411\u0430\u043D\u043A", ...field('applicationDate') })),
1961
2023
  secondaryPhone: jsx(SecondaryPhoneField, { field: field }),
1962
- consentToAllDocs: jsx(ConsentToAllDocsField, { field: field }),
2024
+ consentPfrFlg: (jsx(CheckboxWithError, { text: "\u0421\u043E\u0433\u043B\u0430\u0441\u0438\u0435 \u043D\u0430 \u0437\u0430\u043F\u0440\u043E\u0441 \u0432 \u041F\u0424\u0420", ...field('consentPfrFlg') })),
2025
+ consentToReceiveMaterials: jsx(ConsentToReceiveMaterialsField, { field: field }),
2026
+ processPersonalDataLeadFlg: jsx(ProcessPersonalDataField, { field: field }),
2027
+ consentProviderFlg: jsx(ConsentProviderField, { field: field }),
2028
+ consentPhotoFlg: jsx(ConsentPhotoFlg, { field: field }),
2029
+ consentAssignmentClaimsFlg: jsx(ConsentAssignmentField, { field: field }),
2030
+ consentCollectionFlg: jsx(ConsentCollectionField, { field: field }),
2031
+ consentInformFlg: jsx(ConsentInformField, { field: field }),
1963
2032
  };
1964
2033
  return isRenderField({ input, field }) ? (jsx("div", { children: InputsMap[input?.name] }, String(i))) : null;
1965
2034
  };
@@ -2164,6 +2233,17 @@
2164
2233
  : _ === (dataValue?.key ?? dataValue);
2165
2234
  }));
2166
2235
 
2236
+ const CONSENTS = [
2237
+ 'processPersonalDataLeadFlg',
2238
+ 'consentProviderFlg',
2239
+ 'consentPfrFlg',
2240
+ 'consentPhotoFlg',
2241
+ 'consentAssignmentClaimsFlg',
2242
+ 'consentCollectionFlg',
2243
+ 'consentInformFlg',
2244
+ 'consentToReceiveMaterials',
2245
+ ];
2246
+
2167
2247
  const getFormatData = (data) => {
2168
2248
  const { region, ...usedData } = data;
2169
2249
  const formatData = {
@@ -2200,6 +2280,12 @@
2200
2280
  posTerminal: false,
2201
2281
  consentToReceiveMaterials: false,
2202
2282
  consentDataProcessing: false,
2283
+ processPersonalDataLeadFlg: false,
2284
+ consentProviderFlg: false,
2285
+ consentPhotoFlg: false,
2286
+ consentAssignmentClaimsFlg: false,
2287
+ consentCollectionFlg: false,
2288
+ consentInformFlg: false,
2203
2289
  };
2204
2290
  const getInitialFormState = (inputs, typeForm = '') => {
2205
2291
  const formState = Object.fromEntries(inputs.map((_) => [
@@ -2209,6 +2295,63 @@
2209
2295
  return { ...formState, typeForm: { key: typeForm, text: '' } };
2210
2296
  };
2211
2297
 
2298
+ const Foldable = JSX(({ className = '', isFoldButtonOnTop = false, unfoldedByDefault = false, renderFoldableSection, renderFoldButton, }) => {
2299
+ const [isUnfolded, setIsUnfolded] = useState(unfoldedByDefault);
2300
+ const onToggle = useCallback(() => {
2301
+ setIsUnfolded((_) => !_);
2302
+ }, []);
2303
+ const sectionNode = renderFoldableSection({ isUnfolded, onToggle });
2304
+ const buttonNode = renderFoldButton ? renderFoldButton({ isUnfolded, onToggle }) : null;
2305
+ return isFoldButtonOnTop ? (jsxs("div", { className: className, role: "group", children: [buttonNode, sectionNode] })) : (jsxs("div", { className: className, role: "group", children: [sectionNode, buttonNode] }));
2306
+ });
2307
+
2308
+ function useResizeObserver(callback, deps) {
2309
+ const ref = useRef(null);
2310
+ useEffect(() => {
2311
+ const element = ref?.current;
2312
+ if (!element) {
2313
+ return undefined;
2314
+ }
2315
+ const observer = new ResizeObserver((entries) => {
2316
+ callback(element, entries[0]);
2317
+ });
2318
+ observer.observe(element);
2319
+ return () => {
2320
+ observer.disconnect();
2321
+ };
2322
+ }, [callback, ...deps]);
2323
+ return ref;
2324
+ }
2325
+
2326
+ const FoldableSection = JSX(({ className = '', isUnfolded, children }) => {
2327
+ const containerRef = useRef(null);
2328
+ const childrenWrapperRef = useResizeObserver((childrenWrapperEl) => {
2329
+ if (containerRef.current) {
2330
+ containerRef.current.style.maxHeight = isUnfolded
2331
+ ? `${childrenWrapperEl.scrollHeight}px`
2332
+ : '';
2333
+ }
2334
+ }, [isUnfolded]);
2335
+ return (jsx("div", { ref: containerRef, className: `transition-max-h duration-300 overflow-hidden ${containerRef.current || !isUnfolded ? 'max-h-0' : ''} `, children: jsx("div", { className: className, ref: childrenWrapperRef, children: children }) }));
2336
+ });
2337
+
2338
+ const CONSENT_ALL_DOCS_TEXT = 'Согласие на все документы';
2339
+ const CONSENT_REQUIRED = 'Отметьте все обязательные соглашения';
2340
+ const GroupedConsents = JSX(({ inputs = [], typeForm = '', field, key }) => {
2341
+ const isChecked = inputs.every((_) => Boolean(field(_.name).value));
2342
+ const handleGeneralToggle = (value) => {
2343
+ for (const item of inputs) {
2344
+ const itemField = field(item.name);
2345
+ itemField?.onChange && itemField.onChange(value);
2346
+ }
2347
+ };
2348
+ const hasValidationErrors = useMemo(() => inputs
2349
+ ?.filter((_) => _.required)
2350
+ ?.some((_) => Boolean(withValidator(field(_?.name), validatorObj[_?.name]).error)), [inputs]);
2351
+ return (jsx("div", { className: "w-fit", children: jsx(Foldable, { isFoldButtonOnTop: true, renderFoldableSection: ({ isUnfolded }) => (jsx(FoldableSection, { isUnfolded: isUnfolded, className: "flex flex-col pl-2xl", children: inputs.map(getField(field, typeForm)) })), renderFoldButton: renderGeneralCheckbox(jsxs("div", { children: [jsx(Checkbox, { value: isChecked, onChange: handleGeneralToggle, text: CONSENT_ALL_DOCS_TEXT }, key), renderErrorText(hasValidationErrors ? CONSENT_REQUIRED : '')] })) }) }));
2352
+ });
2353
+ const renderGeneralCheckbox = (generalCheckBox) => (foldableData) => (jsxs("div", { className: "flex items-start", children: [generalCheckBox, jsx("button", { onClick: foldableData.onToggle, className: "px-m py-2xs", children: jsx(Icon, { className: "text-primary-text", name: foldableData.isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', width: "16", height: "16" }) })] }));
2354
+
2212
2355
  const renderSubmitButton = (button, className) => (jsx(Button, { className: style('w-full @xl:w-auto', className), type: "submit", children: button?.text ? button.text : 'Отправить заявку' }));
2213
2356
 
2214
2357
  const API = LeadServiceAPI();
@@ -2239,7 +2382,15 @@
2239
2382
  reset();
2240
2383
  }
2241
2384
  }, [responseType]);
2242
- return (jsx(ApplicationFormLayout, { className: style('container space-y-m', className), title: title, ...rest, children: jsxs("form", { onSubmit: onSubmit, className: "space-y-m", children: [sections.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), (_?.inputs || [])?.map(getField(field, typeForm))] }, `section-${i}`))), renderSubmitButton(button)] }) }));
2385
+ return (jsx(ApplicationFormLayout, { className: style('container space-y-m', className), title: title, ...rest, children: jsxs("form", { onSubmit: onSubmit, className: "space-y-m", children: [sections.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), renderInputs({ field, typeForm, inputs: _?.inputs })] }, `section-${i}`))), renderSubmitButton(button)] }) }));
2386
+ });
2387
+ const renderInputs = ({ field, typeForm = '', inputs }) => {
2388
+ const { consentInputs, restInputs } = splitInputs(inputs || []);
2389
+ return consentInputs.length > 2 ? (jsxs("div", { children: [restInputs.map(getField(field, typeForm)), jsx(GroupedConsents, { inputs: consentInputs, field: field })] })) : ((inputs || [])?.map(getField(field, typeForm)));
2390
+ };
2391
+ const splitInputs = (inputs) => ({
2392
+ consentInputs: inputs?.filter((_) => CONSENTS.includes(_.name)) || [],
2393
+ restInputs: inputs?.filter((_) => !CONSENTS.includes(_.name)) || [],
2243
2394
  });
2244
2395
 
2245
2396
  const NotFound = JSX(({ title, description }) => {
@@ -6322,11 +6473,10 @@
6322
6473
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
6323
6474
  });
6324
6475
 
6325
- const packageVersion = "0.14.573";
6476
+ const packageVersion = "0.14.575";
6326
6477
 
6327
6478
  exports.Blocks = Blocks;
6328
6479
  exports.ContentPage = ContentPage;
6329
- exports.DaDataAPI = DaDataAPI;
6330
6480
  exports.handlerDecorator = handlerDecorator;
6331
6481
  exports.joinList = joinList;
6332
6482
  exports.packageVersion = packageVersion;