@redneckz/wildless-cms-uni-blocks 0.14.875 → 0.14.877

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 (399) hide show
  1. package/bundle/api/LeadServiceAPI.d.ts +4 -0
  2. package/bundle/blocks.schema.json +1 -1
  3. package/bundle/bundle.umd.js +264 -136
  4. package/bundle/bundle.umd.min.js +1 -1
  5. package/bundle/components/ApplicationForm/ApplicationForm.d.ts +2 -3
  6. package/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +5 -1
  7. package/bundle/components/Header/DropdownButton.d.ts +2 -0
  8. package/bundle/components/Header/DropdownMenu.d.ts +5 -2
  9. package/bundle/components/Header/HeaderMoreMenuItem.d.ts +9 -0
  10. package/bundle/components/Header/HeaderSubMenuItem.d.ts +3 -0
  11. package/bundle/components/Header/useDropdownSubMenu.d.ts +11 -0
  12. package/bundle/data/NavigationData.d.ts +1 -0
  13. package/bundle/hooks/useInn.d.ts +7 -0
  14. package/bundle/model/FormTypeFieldDef.d.ts +1 -1
  15. package/bundle/retail/components/Fields/SelectField.d.ts +1 -0
  16. package/bundle/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +2 -0
  17. package/bundle/ui-kit/FormField/Fields/FullRegionField.d.ts +5 -0
  18. package/bundle/ui-kit/FormField/Fields/InnDadataField.d.ts +2 -0
  19. package/bundle/ui-kit/FormField/Fields/PartnerSymbolCodeField.d.ts +15 -0
  20. package/bundle/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  21. package/bundle/ui-kit/FormField/inputColumnStyle.d.ts +1 -1
  22. package/bundle/ui-kit/FormField/validators.d.ts +8 -1
  23. package/bundle/ui-kit/Select/Option.d.ts +6 -0
  24. package/bundle/ui-kit/Select/Select.d.ts +2 -0
  25. package/bundle/ui-kit/Select/SelectPopup.d.ts +1 -0
  26. package/bundle/ui-kit/Select/useSelectPopup.d.ts +2 -1
  27. package/dist/api/LeadServiceAPI.d.ts +4 -0
  28. package/dist/api/LeadServiceAPI.js +13 -6
  29. package/dist/api/LeadServiceAPI.js.map +1 -1
  30. package/dist/components/ApplicationForm/ApplicationForm.d.ts +2 -3
  31. package/dist/components/ApplicationForm/ApplicationForm.js +4 -3
  32. package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  33. package/dist/components/ApplicationForm/ApplicationFormContent.d.ts +5 -1
  34. package/dist/components/ApplicationForm/ApplicationFormContent.js +0 -2
  35. package/dist/components/ApplicationForm/ApplicationFormContent.js.map +1 -1
  36. package/dist/components/Header/DropdownButton.d.ts +2 -0
  37. package/dist/components/Header/DropdownButton.js +11 -0
  38. package/dist/components/Header/DropdownButton.js.map +1 -0
  39. package/dist/components/Header/DropdownMenu.d.ts +5 -2
  40. package/dist/components/Header/DropdownMenu.js +2 -36
  41. package/dist/components/Header/DropdownMenu.js.map +1 -1
  42. package/dist/components/Header/HeaderMoreMenuItem.d.ts +9 -0
  43. package/dist/components/Header/HeaderMoreMenuItem.js +27 -0
  44. package/dist/components/Header/HeaderMoreMenuItem.js.map +1 -0
  45. package/dist/components/Header/HeaderSubMenu.js +2 -2
  46. package/dist/components/Header/HeaderSubMenu.js.map +1 -1
  47. package/dist/components/Header/HeaderSubMenuItem.d.ts +3 -0
  48. package/dist/components/Header/HeaderSubMenuItem.js +19 -2
  49. package/dist/components/Header/HeaderSubMenuItem.js.map +1 -1
  50. package/dist/components/Header/HeaderTopMenu.js +2 -2
  51. package/dist/components/Header/HeaderTopMenu.js.map +1 -1
  52. package/dist/components/Header/useDropdownSubMenu.d.ts +11 -0
  53. package/dist/components/Header/useDropdownSubMenu.js +37 -0
  54. package/dist/components/Header/useDropdownSubMenu.js.map +1 -0
  55. package/dist/data/NavigationData.d.ts +1 -0
  56. package/dist/hooks/useInn.d.ts +7 -0
  57. package/dist/hooks/useInn.js +11 -0
  58. package/dist/hooks/useInn.js.map +1 -0
  59. package/dist/model/FormTypeFieldDef.d.ts +1 -1
  60. package/dist/retail/components/Fields/SelectField.d.ts +1 -0
  61. package/dist/retail/components/Fields/SelectField.js.map +1 -1
  62. package/dist/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +2 -0
  63. package/dist/ui-kit/FormField/Fields/CompanyNameByInnField.js +17 -0
  64. package/dist/ui-kit/FormField/Fields/CompanyNameByInnField.js.map +1 -0
  65. package/dist/ui-kit/FormField/Fields/FullRegionField.d.ts +5 -0
  66. package/{mobile/dist/ui-kit/FormField/Fields/RegionPremiumField.js → dist/ui-kit/FormField/Fields/FullRegionField.js} +5 -4
  67. package/dist/ui-kit/FormField/Fields/FullRegionField.js.map +1 -0
  68. package/dist/ui-kit/FormField/Fields/InnDadataField.d.ts +2 -0
  69. package/dist/ui-kit/FormField/Fields/InnDadataField.js +29 -0
  70. package/dist/ui-kit/FormField/Fields/InnDadataField.js.map +1 -0
  71. package/dist/ui-kit/FormField/Fields/PartnerSymbolCodeField.d.ts +15 -0
  72. package/dist/ui-kit/FormField/Fields/PartnerSymbolCodeField.js +19 -0
  73. package/dist/ui-kit/FormField/Fields/PartnerSymbolCodeField.js.map +1 -0
  74. package/dist/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  75. package/dist/ui-kit/FormField/getField.js +12 -2
  76. package/dist/ui-kit/FormField/getField.js.map +1 -1
  77. package/dist/ui-kit/FormField/getObjectValidator.js +3 -0
  78. package/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  79. package/dist/ui-kit/FormField/inputColumnStyle.d.ts +1 -1
  80. package/dist/ui-kit/FormField/inputColumnStyle.js +1 -1
  81. package/dist/ui-kit/FormField/inputColumnStyle.js.map +1 -1
  82. package/dist/ui-kit/FormField/validators.d.ts +8 -1
  83. package/dist/ui-kit/FormField/validators.js +5 -2
  84. package/dist/ui-kit/FormField/validators.js.map +1 -1
  85. package/dist/ui-kit/Select/Option.d.ts +6 -0
  86. package/dist/ui-kit/Select/Select.d.ts +2 -0
  87. package/dist/ui-kit/Select/Select.js +27 -5
  88. package/dist/ui-kit/Select/Select.js.map +1 -1
  89. package/dist/ui-kit/Select/SelectPopup.d.ts +1 -0
  90. package/dist/ui-kit/Select/SelectPopup.js +4 -2
  91. package/dist/ui-kit/Select/SelectPopup.js.map +1 -1
  92. package/dist/ui-kit/Select/useSelectPopup.d.ts +2 -1
  93. package/dist/ui-kit/Select/useSelectPopup.js +3 -2
  94. package/dist/ui-kit/Select/useSelectPopup.js.map +1 -1
  95. package/lib/api/LeadServiceAPI.d.ts +4 -0
  96. package/lib/api/LeadServiceAPI.js +13 -6
  97. package/lib/api/LeadServiceAPI.js.map +1 -1
  98. package/lib/common.css +1 -1
  99. package/lib/components/ApplicationForm/ApplicationForm.d.ts +2 -3
  100. package/lib/components/ApplicationForm/ApplicationForm.fixture.d.ts +1 -0
  101. package/lib/components/ApplicationForm/ApplicationForm.fixture.mobile.d.ts +1 -0
  102. package/lib/components/ApplicationForm/ApplicationForm.js +4 -3
  103. package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  104. package/lib/components/ApplicationForm/ApplicationFormContent.d.ts +5 -1
  105. package/lib/components/ApplicationForm/ApplicationFormContent.js +0 -2
  106. package/lib/components/ApplicationForm/ApplicationFormContent.js.map +1 -1
  107. package/lib/components/Header/DropdownButton.d.ts +2 -0
  108. package/lib/components/Header/DropdownButton.js +9 -0
  109. package/lib/components/Header/DropdownButton.js.map +1 -0
  110. package/lib/components/Header/DropdownMenu.d.ts +5 -2
  111. package/lib/components/Header/DropdownMenu.js +2 -37
  112. package/lib/components/Header/DropdownMenu.js.map +1 -1
  113. package/lib/components/Header/HeaderMoreMenuItem.d.ts +9 -0
  114. package/lib/components/Header/HeaderMoreMenuItem.js +25 -0
  115. package/lib/components/Header/HeaderMoreMenuItem.js.map +1 -0
  116. package/lib/components/Header/HeaderSubMenu.js +2 -2
  117. package/lib/components/Header/HeaderSubMenu.js.map +1 -1
  118. package/lib/components/Header/HeaderSubMenuItem.d.ts +3 -0
  119. package/lib/components/Header/HeaderSubMenuItem.js +20 -3
  120. package/lib/components/Header/HeaderSubMenuItem.js.map +1 -1
  121. package/lib/components/Header/HeaderTopMenu.js +2 -2
  122. package/lib/components/Header/HeaderTopMenu.js.map +1 -1
  123. package/lib/components/Header/useDropdownSubMenu.d.ts +11 -0
  124. package/lib/components/Header/useDropdownSubMenu.js +34 -0
  125. package/lib/components/Header/useDropdownSubMenu.js.map +1 -0
  126. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +1 -1
  127. package/lib/data/NavigationData.d.ts +1 -0
  128. package/lib/hooks/useInn.d.ts +7 -0
  129. package/lib/hooks/useInn.js +8 -0
  130. package/lib/hooks/useInn.js.map +1 -0
  131. package/lib/model/FormTypeFieldDef.d.ts +1 -1
  132. package/lib/retail/components/Fields/SelectField.d.ts +1 -0
  133. package/lib/retail/components/Fields/SelectField.js.map +1 -1
  134. package/lib/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +2 -0
  135. package/lib/ui-kit/FormField/Fields/CompanyNameByInnField.js +15 -0
  136. package/lib/ui-kit/FormField/Fields/CompanyNameByInnField.js.map +1 -0
  137. package/lib/ui-kit/FormField/Fields/FullRegionField.d.ts +5 -0
  138. package/lib/ui-kit/FormField/Fields/{RegionPremiumField.js → FullRegionField.js} +4 -3
  139. package/lib/ui-kit/FormField/Fields/FullRegionField.js.map +1 -0
  140. package/lib/ui-kit/FormField/Fields/InnDadataField.d.ts +2 -0
  141. package/lib/ui-kit/FormField/Fields/InnDadataField.js +27 -0
  142. package/lib/ui-kit/FormField/Fields/InnDadataField.js.map +1 -0
  143. package/lib/ui-kit/FormField/Fields/PartnerSymbolCodeField.d.ts +15 -0
  144. package/lib/ui-kit/FormField/Fields/PartnerSymbolCodeField.js +17 -0
  145. package/lib/ui-kit/FormField/Fields/PartnerSymbolCodeField.js.map +1 -0
  146. package/lib/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  147. package/lib/ui-kit/FormField/getField.js +12 -2
  148. package/lib/ui-kit/FormField/getField.js.map +1 -1
  149. package/lib/ui-kit/FormField/getObjectValidator.js +4 -1
  150. package/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  151. package/lib/ui-kit/FormField/inputColumnStyle.d.ts +1 -1
  152. package/lib/ui-kit/FormField/inputColumnStyle.js +1 -1
  153. package/lib/ui-kit/FormField/inputColumnStyle.js.map +1 -1
  154. package/lib/ui-kit/FormField/validators.d.ts +8 -1
  155. package/lib/ui-kit/FormField/validators.js +3 -1
  156. package/lib/ui-kit/FormField/validators.js.map +1 -1
  157. package/lib/ui-kit/Select/Option.d.ts +6 -0
  158. package/lib/ui-kit/Select/Select.d.ts +2 -0
  159. package/lib/ui-kit/Select/Select.js +28 -6
  160. package/lib/ui-kit/Select/Select.js.map +1 -1
  161. package/lib/ui-kit/Select/SelectPopup.d.ts +1 -0
  162. package/lib/ui-kit/Select/SelectPopup.js +4 -2
  163. package/lib/ui-kit/Select/SelectPopup.js.map +1 -1
  164. package/lib/ui-kit/Select/useSelectPopup.d.ts +2 -1
  165. package/lib/ui-kit/Select/useSelectPopup.js +3 -2
  166. package/lib/ui-kit/Select/useSelectPopup.js.map +1 -1
  167. package/mobile/bundle/api/LeadServiceAPI.d.ts +4 -0
  168. package/mobile/bundle/bundle.umd.js +187 -91
  169. package/mobile/bundle/bundle.umd.min.js +1 -1
  170. package/mobile/bundle/components/ApplicationForm/ApplicationForm.d.ts +2 -3
  171. package/mobile/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +5 -1
  172. package/mobile/bundle/components/Header/DropdownButton.d.ts +2 -0
  173. package/mobile/bundle/components/Header/DropdownMenu.d.ts +5 -2
  174. package/mobile/bundle/components/Header/HeaderMoreMenuItem.d.ts +9 -0
  175. package/mobile/bundle/components/Header/HeaderSubMenuItem.d.ts +3 -0
  176. package/mobile/bundle/components/Header/useDropdownSubMenu.d.ts +11 -0
  177. package/mobile/bundle/data/NavigationData.d.ts +1 -0
  178. package/mobile/bundle/hooks/useInn.d.ts +7 -0
  179. package/mobile/bundle/model/FormTypeFieldDef.d.ts +1 -1
  180. package/mobile/bundle/retail/components/Fields/SelectField.d.ts +1 -0
  181. package/mobile/bundle/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +2 -0
  182. package/mobile/bundle/ui-kit/FormField/Fields/FullRegionField.d.ts +5 -0
  183. package/mobile/bundle/ui-kit/FormField/Fields/InnDadataField.d.ts +2 -0
  184. package/mobile/bundle/ui-kit/FormField/Fields/PartnerSymbolCodeField.d.ts +15 -0
  185. package/mobile/bundle/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  186. package/mobile/bundle/ui-kit/FormField/inputColumnStyle.d.ts +1 -1
  187. package/mobile/bundle/ui-kit/FormField/validators.d.ts +8 -1
  188. package/mobile/bundle/ui-kit/Select/Option.d.ts +6 -0
  189. package/mobile/bundle/ui-kit/Select/Select.d.ts +2 -0
  190. package/mobile/bundle/ui-kit/Select/SelectPopup.d.ts +1 -0
  191. package/mobile/bundle/ui-kit/Select/useSelectPopup.d.ts +2 -1
  192. package/mobile/dist/api/LeadServiceAPI.d.ts +4 -0
  193. package/mobile/dist/api/LeadServiceAPI.js +13 -6
  194. package/mobile/dist/api/LeadServiceAPI.js.map +1 -1
  195. package/mobile/dist/components/ApplicationForm/ApplicationForm.d.ts +2 -3
  196. package/mobile/dist/components/ApplicationForm/ApplicationForm.js +4 -3
  197. package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  198. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.d.ts +5 -1
  199. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.js +0 -2
  200. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.js.map +1 -1
  201. package/mobile/dist/components/Header/DropdownButton.d.ts +2 -0
  202. package/mobile/dist/components/Header/DropdownButton.js +11 -0
  203. package/mobile/dist/components/Header/DropdownButton.js.map +1 -0
  204. package/mobile/dist/components/Header/DropdownMenu.d.ts +5 -2
  205. package/mobile/dist/components/Header/DropdownMenu.js +2 -36
  206. package/mobile/dist/components/Header/DropdownMenu.js.map +1 -1
  207. package/mobile/dist/components/Header/HeaderMoreMenuItem.d.ts +9 -0
  208. package/mobile/dist/components/Header/HeaderMoreMenuItem.js +27 -0
  209. package/mobile/dist/components/Header/HeaderMoreMenuItem.js.map +1 -0
  210. package/mobile/dist/components/Header/HeaderSubMenu.js +2 -2
  211. package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
  212. package/mobile/dist/components/Header/HeaderSubMenuItem.d.ts +3 -0
  213. package/mobile/dist/components/Header/HeaderSubMenuItem.js +19 -2
  214. package/mobile/dist/components/Header/HeaderSubMenuItem.js.map +1 -1
  215. package/mobile/dist/components/Header/HeaderTopMenu.js +2 -2
  216. package/mobile/dist/components/Header/HeaderTopMenu.js.map +1 -1
  217. package/mobile/dist/components/Header/useDropdownSubMenu.d.ts +11 -0
  218. package/mobile/dist/components/Header/useDropdownSubMenu.js +37 -0
  219. package/mobile/dist/components/Header/useDropdownSubMenu.js.map +1 -0
  220. package/mobile/dist/data/NavigationData.d.ts +1 -0
  221. package/mobile/dist/hooks/useInn.d.ts +7 -0
  222. package/mobile/dist/hooks/useInn.js +11 -0
  223. package/mobile/dist/hooks/useInn.js.map +1 -0
  224. package/mobile/dist/model/FormTypeFieldDef.d.ts +1 -1
  225. package/mobile/dist/retail/components/Fields/SelectField.d.ts +1 -0
  226. package/mobile/dist/retail/components/Fields/SelectField.js.map +1 -1
  227. package/mobile/dist/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +2 -0
  228. package/mobile/dist/ui-kit/FormField/Fields/CompanyNameByInnField.js +17 -0
  229. package/mobile/dist/ui-kit/FormField/Fields/CompanyNameByInnField.js.map +1 -0
  230. package/mobile/dist/ui-kit/FormField/Fields/FullRegionField.d.ts +5 -0
  231. package/{dist/ui-kit/FormField/Fields/RegionPremiumField.js → mobile/dist/ui-kit/FormField/Fields/FullRegionField.js} +5 -4
  232. package/mobile/dist/ui-kit/FormField/Fields/FullRegionField.js.map +1 -0
  233. package/mobile/dist/ui-kit/FormField/Fields/InnDadataField.d.ts +2 -0
  234. package/mobile/dist/ui-kit/FormField/Fields/InnDadataField.js +29 -0
  235. package/mobile/dist/ui-kit/FormField/Fields/InnDadataField.js.map +1 -0
  236. package/mobile/dist/ui-kit/FormField/Fields/PartnerSymbolCodeField.d.ts +15 -0
  237. package/mobile/dist/ui-kit/FormField/Fields/PartnerSymbolCodeField.js +19 -0
  238. package/mobile/dist/ui-kit/FormField/Fields/PartnerSymbolCodeField.js.map +1 -0
  239. package/mobile/dist/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  240. package/mobile/dist/ui-kit/FormField/getField.js +12 -2
  241. package/mobile/dist/ui-kit/FormField/getField.js.map +1 -1
  242. package/mobile/dist/ui-kit/FormField/getObjectValidator.js +3 -0
  243. package/mobile/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  244. package/mobile/dist/ui-kit/FormField/inputColumnStyle.d.ts +1 -1
  245. package/mobile/dist/ui-kit/FormField/inputColumnStyle.js +1 -1
  246. package/mobile/dist/ui-kit/FormField/inputColumnStyle.js.map +1 -1
  247. package/mobile/dist/ui-kit/FormField/validators.d.ts +8 -1
  248. package/mobile/dist/ui-kit/FormField/validators.js +5 -2
  249. package/mobile/dist/ui-kit/FormField/validators.js.map +1 -1
  250. package/mobile/dist/ui-kit/Select/Option.d.ts +6 -0
  251. package/mobile/dist/ui-kit/Select/Select.d.ts +2 -0
  252. package/mobile/dist/ui-kit/Select/Select.js +27 -5
  253. package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
  254. package/mobile/dist/ui-kit/Select/SelectPopup.d.ts +1 -0
  255. package/mobile/dist/ui-kit/Select/SelectPopup.js +4 -2
  256. package/mobile/dist/ui-kit/Select/SelectPopup.js.map +1 -1
  257. package/mobile/dist/ui-kit/Select/useSelectPopup.d.ts +2 -1
  258. package/mobile/dist/ui-kit/Select/useSelectPopup.js +3 -2
  259. package/mobile/dist/ui-kit/Select/useSelectPopup.js.map +1 -1
  260. package/mobile/lib/api/LeadServiceAPI.d.ts +4 -0
  261. package/mobile/lib/api/LeadServiceAPI.js +13 -6
  262. package/mobile/lib/api/LeadServiceAPI.js.map +1 -1
  263. package/mobile/lib/common.css +1 -1
  264. package/mobile/lib/components/ApplicationForm/ApplicationForm.d.ts +2 -3
  265. package/mobile/lib/components/ApplicationForm/ApplicationForm.js +4 -3
  266. package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  267. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.d.ts +5 -1
  268. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.js +0 -2
  269. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.js.map +1 -1
  270. package/mobile/lib/components/Header/DropdownButton.d.ts +2 -0
  271. package/mobile/lib/components/Header/DropdownButton.js +9 -0
  272. package/mobile/lib/components/Header/DropdownButton.js.map +1 -0
  273. package/mobile/lib/components/Header/DropdownMenu.d.ts +5 -2
  274. package/mobile/lib/components/Header/DropdownMenu.js +2 -37
  275. package/mobile/lib/components/Header/DropdownMenu.js.map +1 -1
  276. package/mobile/lib/components/Header/HeaderMoreMenuItem.d.ts +9 -0
  277. package/mobile/lib/components/Header/HeaderMoreMenuItem.js +25 -0
  278. package/mobile/lib/components/Header/HeaderMoreMenuItem.js.map +1 -0
  279. package/mobile/lib/components/Header/HeaderSubMenu.js +2 -2
  280. package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
  281. package/mobile/lib/components/Header/HeaderSubMenuItem.d.ts +3 -0
  282. package/mobile/lib/components/Header/HeaderSubMenuItem.js +20 -3
  283. package/mobile/lib/components/Header/HeaderSubMenuItem.js.map +1 -1
  284. package/mobile/lib/components/Header/HeaderTopMenu.js +2 -2
  285. package/mobile/lib/components/Header/HeaderTopMenu.js.map +1 -1
  286. package/mobile/lib/components/Header/useDropdownSubMenu.d.ts +11 -0
  287. package/mobile/lib/components/Header/useDropdownSubMenu.js +34 -0
  288. package/mobile/lib/components/Header/useDropdownSubMenu.js.map +1 -0
  289. package/mobile/lib/data/NavigationData.d.ts +1 -0
  290. package/mobile/lib/hooks/useInn.d.ts +7 -0
  291. package/mobile/lib/hooks/useInn.js +8 -0
  292. package/mobile/lib/hooks/useInn.js.map +1 -0
  293. package/mobile/lib/model/FormTypeFieldDef.d.ts +1 -1
  294. package/mobile/lib/retail/components/Fields/SelectField.d.ts +1 -0
  295. package/mobile/lib/retail/components/Fields/SelectField.js.map +1 -1
  296. package/mobile/lib/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +2 -0
  297. package/mobile/lib/ui-kit/FormField/Fields/CompanyNameByInnField.js +15 -0
  298. package/mobile/lib/ui-kit/FormField/Fields/CompanyNameByInnField.js.map +1 -0
  299. package/mobile/lib/ui-kit/FormField/Fields/FullRegionField.d.ts +5 -0
  300. package/mobile/lib/ui-kit/FormField/Fields/{RegionPremiumField.js → FullRegionField.js} +4 -3
  301. package/mobile/lib/ui-kit/FormField/Fields/FullRegionField.js.map +1 -0
  302. package/mobile/lib/ui-kit/FormField/Fields/InnDadataField.d.ts +2 -0
  303. package/mobile/lib/ui-kit/FormField/Fields/InnDadataField.js +27 -0
  304. package/mobile/lib/ui-kit/FormField/Fields/InnDadataField.js.map +1 -0
  305. package/mobile/lib/ui-kit/FormField/Fields/PartnerSymbolCodeField.d.ts +15 -0
  306. package/mobile/lib/ui-kit/FormField/Fields/PartnerSymbolCodeField.js +17 -0
  307. package/mobile/lib/ui-kit/FormField/Fields/PartnerSymbolCodeField.js.map +1 -0
  308. package/mobile/lib/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  309. package/mobile/lib/ui-kit/FormField/getField.js +12 -2
  310. package/mobile/lib/ui-kit/FormField/getField.js.map +1 -1
  311. package/mobile/lib/ui-kit/FormField/getObjectValidator.js +4 -1
  312. package/mobile/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  313. package/mobile/lib/ui-kit/FormField/inputColumnStyle.d.ts +1 -1
  314. package/mobile/lib/ui-kit/FormField/inputColumnStyle.js +1 -1
  315. package/mobile/lib/ui-kit/FormField/inputColumnStyle.js.map +1 -1
  316. package/mobile/lib/ui-kit/FormField/validators.d.ts +8 -1
  317. package/mobile/lib/ui-kit/FormField/validators.js +3 -1
  318. package/mobile/lib/ui-kit/FormField/validators.js.map +1 -1
  319. package/mobile/lib/ui-kit/Select/Option.d.ts +6 -0
  320. package/mobile/lib/ui-kit/Select/Select.d.ts +2 -0
  321. package/mobile/lib/ui-kit/Select/Select.js +28 -6
  322. package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
  323. package/mobile/lib/ui-kit/Select/SelectPopup.d.ts +1 -0
  324. package/mobile/lib/ui-kit/Select/SelectPopup.js +4 -2
  325. package/mobile/lib/ui-kit/Select/SelectPopup.js.map +1 -1
  326. package/mobile/lib/ui-kit/Select/useSelectPopup.d.ts +2 -1
  327. package/mobile/lib/ui-kit/Select/useSelectPopup.js +3 -2
  328. package/mobile/lib/ui-kit/Select/useSelectPopup.js.map +1 -1
  329. package/mobile/src/api/LeadServiceAPI.ts +28 -3
  330. package/mobile/src/components/ApplicationForm/ApplicationForm.example.json +84 -0
  331. package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +29 -14
  332. package/mobile/src/components/ApplicationForm/ApplicationFormContent.ts +6 -4
  333. package/mobile/src/components/Header/DropdownButton.tsx +26 -0
  334. package/mobile/src/components/Header/DropdownMenu.tsx +15 -85
  335. package/mobile/src/components/Header/HeaderMoreMenuItem.tsx +60 -0
  336. package/mobile/src/components/Header/HeaderSubMenu.tsx +3 -2
  337. package/mobile/src/components/Header/HeaderSubMenuItem.tsx +31 -5
  338. package/mobile/src/components/Header/HeaderTopMenu.tsx +3 -3
  339. package/mobile/src/components/Header/useDropdownSubMenu.tsx +48 -0
  340. package/mobile/src/data/NavigationData.ts +1 -0
  341. package/mobile/src/hooks/useInn.ts +16 -0
  342. package/mobile/src/model/FormTypeFieldDef.ts +2 -1
  343. package/mobile/src/retail/components/Fields/SelectField.tsx +1 -0
  344. package/mobile/src/ui-kit/FormField/Fields/CompanyNameByInnField.tsx +24 -0
  345. package/mobile/src/ui-kit/FormField/Fields/{RegionPremiumField.tsx → FullRegionField.tsx} +7 -2
  346. package/mobile/src/ui-kit/FormField/Fields/InnDadataField.tsx +47 -0
  347. package/mobile/src/ui-kit/FormField/Fields/PartnerSymbolCodeField.tsx +47 -0
  348. package/mobile/src/ui-kit/FormField/NameFieldDef.ts +5 -1
  349. package/mobile/src/ui-kit/FormField/getField.tsx +15 -2
  350. package/mobile/src/ui-kit/FormField/getObjectValidator.tsx +4 -0
  351. package/mobile/src/ui-kit/FormField/inputColumnStyle.tsx +1 -1
  352. package/mobile/src/ui-kit/FormField/validators.ts +13 -1
  353. package/mobile/src/ui-kit/Select/Option.ts +6 -0
  354. package/mobile/src/ui-kit/Select/Select.tsx +71 -17
  355. package/mobile/src/ui-kit/Select/SelectPopup.tsx +20 -2
  356. package/mobile/src/ui-kit/Select/useSelectPopup.tsx +4 -0
  357. package/package.json +2 -2
  358. package/src/api/LeadServiceAPI.ts +28 -3
  359. package/src/components/ApplicationForm/ApplicationForm.example.json +84 -0
  360. package/src/components/ApplicationForm/ApplicationForm.fixture.mobile.tsx +47 -0
  361. package/src/components/ApplicationForm/ApplicationForm.fixture.tsx +47 -0
  362. package/src/components/ApplicationForm/ApplicationForm.tsx +29 -14
  363. package/src/components/ApplicationForm/ApplicationFormContent.ts +6 -4
  364. package/src/components/Header/DropdownButton.tsx +26 -0
  365. package/src/components/Header/DropdownMenu.tsx +15 -85
  366. package/src/components/Header/Header.fixture.tsx +4 -0
  367. package/src/components/Header/HeaderMoreMenuItem.tsx +60 -0
  368. package/src/components/Header/HeaderSubMenu.tsx +3 -2
  369. package/src/components/Header/HeaderSubMenuItem.tsx +31 -5
  370. package/src/components/Header/HeaderTopMenu.tsx +3 -3
  371. package/src/components/Header/useDropdownSubMenu.tsx +48 -0
  372. package/src/data/NavigationData.ts +1 -0
  373. package/src/hooks/useInn.ts +16 -0
  374. package/src/icons/IconName.ts +4 -4
  375. package/src/model/FormTypeFieldDef.ts +2 -1
  376. package/src/retail/components/Fields/SelectField.tsx +1 -0
  377. package/src/ui-kit/FormField/Fields/CompanyNameByInnField.tsx +24 -0
  378. package/src/ui-kit/FormField/Fields/{RegionPremiumField.tsx → FullRegionField.tsx} +7 -2
  379. package/src/ui-kit/FormField/Fields/InnDadataField.tsx +47 -0
  380. package/src/ui-kit/FormField/Fields/PartnerSymbolCodeField.tsx +47 -0
  381. package/src/ui-kit/FormField/NameFieldDef.ts +5 -1
  382. package/src/ui-kit/FormField/getField.tsx +15 -2
  383. package/src/ui-kit/FormField/getObjectValidator.tsx +4 -0
  384. package/src/ui-kit/FormField/inputColumnStyle.tsx +1 -1
  385. package/src/ui-kit/FormField/validators.ts +13 -1
  386. package/src/ui-kit/Select/Option.ts +6 -0
  387. package/src/ui-kit/Select/Select.tsx +71 -17
  388. package/src/ui-kit/Select/SelectPopup.tsx +20 -2
  389. package/src/ui-kit/Select/useSelectPopup.tsx +4 -0
  390. package/bundle/ui-kit/FormField/Fields/RegionPremiumField.d.ts +0 -2
  391. package/dist/ui-kit/FormField/Fields/RegionPremiumField.d.ts +0 -2
  392. package/dist/ui-kit/FormField/Fields/RegionPremiumField.js.map +0 -1
  393. package/lib/ui-kit/FormField/Fields/RegionPremiumField.d.ts +0 -2
  394. package/lib/ui-kit/FormField/Fields/RegionPremiumField.js.map +0 -1
  395. package/mobile/bundle/ui-kit/FormField/Fields/RegionPremiumField.d.ts +0 -2
  396. package/mobile/dist/ui-kit/FormField/Fields/RegionPremiumField.d.ts +0 -2
  397. package/mobile/dist/ui-kit/FormField/Fields/RegionPremiumField.js.map +0 -1
  398. package/mobile/lib/ui-kit/FormField/Fields/RegionPremiumField.d.ts +0 -2
  399. package/mobile/lib/ui-kit/FormField/Fields/RegionPremiumField.js.map +0 -1
@@ -1,8 +1,4 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { useCallback, useEffect, useRef } from '@redneckz/uni-jsx/lib/hooks';
3
- import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
4
- import { useEventListener } from '@redneckz/uni-jsx/lib/hooks/useEventListener';
5
- import { useOutsideClick } from '@redneckz/uni-jsx/lib/hooks/useOutsideClick';
6
2
  import { useLink } from '../../hooks/useLink';
7
3
  import { type ComponentType } from '../../model/ComponentType';
8
4
  import { type LinkProps } from '../../model/LinkProps';
@@ -10,91 +6,25 @@ import { getAspectsAttributes } from '../../utils/dataAttributes';
10
6
  import { style } from '../../utils/style';
11
7
 
12
8
  interface DropdownMenuProps extends ComponentType {
13
- items: LinkProps[];
9
+ dropdownRef?: { current: HTMLDivElement | null };
10
+ items?: LinkProps[];
14
11
  activeItem?: LinkProps;
15
12
  ariaLabel?: string;
16
13
  }
17
14
 
18
- interface ChangeDropdownPositionParams {
19
- isOpened: boolean;
20
- buttonRef: {
21
- current: HTMLDivElement | null;
22
- };
23
- menuRef: {
24
- current: HTMLDivElement | null;
25
- };
26
- }
27
-
28
- export const DropdownMenu = JSX<DropdownMenuProps>(
29
- ({ className = '', items, activeItem, ariaLabel = 'Меню' }) => {
30
- const [isVisible, { setFalse, toggle }] = useBool(false);
31
- const ref = useOutsideClick<HTMLDivElement>(setFalse);
32
- const dropdownRef = useRef<HTMLDivElement | null>(null);
33
-
34
- const changeDropdownPosition = useCallback(
35
- ({ isOpened, buttonRef, menuRef }: ChangeDropdownPositionParams) => {
36
- if (isOpened && buttonRef.current && menuRef.current) {
37
- const dropdownRect = menuRef.current.getBoundingClientRect();
38
- const dropdownButtonRect = buttonRef.current.getBoundingClientRect();
39
- const newDropdownPosition = globalThis.innerWidth - dropdownRect.width;
40
-
41
- if (dropdownRect.right >= globalThis.innerWidth) {
42
- menuRef.current.style.left = `${newDropdownPosition}px`;
43
- } else if (dropdownButtonRect.left > dropdownRect.left) {
44
- if (newDropdownPosition > dropdownButtonRect.left) {
45
- menuRef.current.style.left = '';
46
- } else {
47
- menuRef.current.style.left = `${newDropdownPosition}px`;
48
- }
49
- }
50
- }
51
- },
52
- [isVisible],
53
- );
54
-
55
- useEventListener(globalThis, 'resize', () =>
56
- changeDropdownPosition({ isOpened: isVisible, buttonRef: ref, menuRef: dropdownRef }),
57
- );
58
-
59
- useEffect(() => {
60
- changeDropdownPosition({ isOpened: isVisible, buttonRef: ref, menuRef: dropdownRef });
61
- }, [isVisible]);
62
-
63
- return (
64
- <div
65
- className={style(isVisible ? 'rounded-md shadow-blue-gray' : '', className)}
66
- ref={ref}
67
- role="navigation"
68
- >
69
- <button
70
- type="button"
71
- className="group/btn flex justify-between items-center h-6"
72
- aria-label={ariaLabel}
73
- onClick={toggle}
74
- role="button"
75
- aria-labelledby="labeldiv"
76
- >
77
- {Array(3)
78
- .fill(null)
79
- .map((_, i) => (
80
- <div
81
- key={String(i)}
82
- className="w-[3px] h-[3px] rounded mr-2xs bg-primary-text group-hover/btn:bg-primary-hover group-data-transparent:bg-white"
83
- />
84
- ))}
85
- </button>
86
- <div
87
- ref={dropdownRef}
88
- className={style('absolute flex flex-col rounded-md bg-white p-xl pb-xs w-56 z-40', {
89
- hidden: !isVisible,
90
- })}
91
- aria-hidden={!isVisible}
92
- >
93
- {renderDropdownItems(items, activeItem)}
94
- </div>
95
- </div>
96
- );
97
- },
15
+ export const DropdownMenu = ({
16
+ dropdownRef,
17
+ items = [],
18
+ activeItem,
19
+ ariaLabel,
20
+ }: DropdownMenuProps) => (
21
+ <div
22
+ ref={dropdownRef}
23
+ className="absolute flex flex-col rounded-md bg-white p-xl pb-xs w-56 z-40"
24
+ aria-label={ariaLabel}
25
+ >
26
+ {renderDropdownItems(items, activeItem)}
27
+ </div>
98
28
  );
99
29
 
100
30
  export const DropdownMenuItem = JSX<LinkProps & { isActive?: boolean }>(({ isActive, ...rest }) => {
@@ -0,0 +1,60 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { useEffect } from '@redneckz/uni-jsx/lib/hooks';
3
+ import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
4
+ import { type ComponentType } from '../../model/ComponentType';
5
+ import { type LinkProps } from '../../model/LinkProps';
6
+ import { style } from '../../utils/style';
7
+ import { useDropdownSubMenu } from './useDropdownSubMenu';
8
+
9
+ interface HeaderMoreMenuItemProps extends ComponentType {
10
+ items: LinkProps[];
11
+ activeItem?: LinkProps;
12
+ ariaLabel?: string;
13
+ }
14
+
15
+ export const HeaderMoreMenuItem = JSX<HeaderMoreMenuItemProps>(
16
+ ({ className = '', items, activeItem, ariaLabel = 'Меню' }) => {
17
+ const [isOpenDropdown, { setFalse, toggle }] = useBool(false);
18
+
19
+ const dropdownMenu = useDropdownSubMenu({
20
+ items,
21
+ onClose: setFalse,
22
+ isOpen: isOpenDropdown,
23
+ activeItem,
24
+ });
25
+
26
+ useEffect(() => {
27
+ dropdownMenu.current?.addEventListener('mouseleave', setFalse);
28
+
29
+ return () => {
30
+ dropdownMenu.current?.removeEventListener('mouseleave', setFalse);
31
+ };
32
+ }, []);
33
+
34
+ return (
35
+ <div
36
+ className={style(isOpenDropdown ? 'rounded-md shadow-blue-gray' : '', className)}
37
+ ref={dropdownMenu}
38
+ role="navigation"
39
+ >
40
+ <button
41
+ type="button"
42
+ className="group/btn flex justify-between items-center h-6"
43
+ aria-label={ariaLabel}
44
+ onClick={toggle}
45
+ role="button"
46
+ aria-labelledby="labeldiv"
47
+ >
48
+ {Array(3)
49
+ .fill(null)
50
+ .map((_, i) => (
51
+ <div
52
+ key={String(i)}
53
+ className="w-[3px] h-[3px] rounded mr-2xs bg-primary-text group-hover/btn:bg-primary-hover group-data-transparent:bg-white"
54
+ />
55
+ ))}
56
+ </button>
57
+ </div>
58
+ );
59
+ },
60
+ );
@@ -6,8 +6,8 @@ import { type IntersectionObserverOptions } from '../../hooks/useIntersectionObs
6
6
  import { type BlockVersion } from '../../model/BlockVersion';
7
7
  import { type IconVersion } from '../../model/IconVersion';
8
8
  import { projectSettings } from '../../ProjectSettings';
9
- import { DropdownMenu } from './DropdownMenu';
10
9
  import { HeaderChatBotButton } from './HeaderChatBotButton';
10
+ import { HeaderMoreMenuItem } from './HeaderMoreMenuItem';
11
11
  import { type InternetButtonProps } from './HeaderProps';
12
12
  import { HeaderSubMenuItem } from './HeaderSubMenuItem';
13
13
  import { InternetBankButton } from './InternetBankButton';
@@ -56,6 +56,7 @@ export const HeaderSubMenu = JSX<HeaderSubMenuProps>(
56
56
  key={String(i)}
57
57
  className={visibleItemsCount - 1 < i ? 'invisible' : ''}
58
58
  active={_ === activeSubItem}
59
+ activeItem={activeSubItem}
59
60
  observerOptions={observerOptions}
60
61
  onVisibilityChange={subItemsVisibilityHandlers[i]}
61
62
  data={_.dataHeader}
@@ -64,7 +65,7 @@ export const HeaderSubMenu = JSX<HeaderSubMenuProps>(
64
65
  ))}
65
66
  </div>
66
67
  {dropDownMenuItems.length ? (
67
- <DropdownMenu
68
+ <HeaderMoreMenuItem
68
69
  items={dropDownMenuItems}
69
70
  activeItem={activeSubItem}
70
71
  ariaLabel={dropdownMenuAriaLabel}
@@ -1,5 +1,7 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
2
+ import { useCallback, useEffect } from '@redneckz/uni-jsx/lib/hooks';
3
+ import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
4
+ import { type NavigationLinkProps } from '../../data/NavigationData';
3
5
  import {
4
6
  useIntersectionObserver,
5
7
  type IntersectionObserverOptions,
@@ -7,15 +9,20 @@ import {
7
9
  import { type ComponentType } from '../../model/ComponentType';
8
10
  import { type LinkProps } from '../../model/LinkProps';
9
11
  import { HeaderItem } from '../../ui-kit/HeaderItem/HeaderItem';
12
+ import { useDropdownSubMenu } from './useDropdownSubMenu';
10
13
 
11
14
  export interface HeaderSubMenuItemProps extends LinkProps, ComponentType {
12
15
  active?: boolean;
16
+ activeItem?: LinkProps;
13
17
  observerOptions?: IntersectionObserverOptions;
14
18
  onVisibilityChange?: (isIntersecting: boolean) => void;
19
+ items?: NavigationLinkProps[];
15
20
  }
16
21
 
17
22
  export const HeaderSubMenuItem = JSX<HeaderSubMenuItemProps>(
18
- ({ observerOptions, onVisibilityChange, children, className, ...rest }) => {
23
+ ({ observerOptions, onVisibilityChange, children, className, items, activeItem, ...rest }) => {
24
+ const [isOpenDropdown, { setFalse, setTrue }] = useBool(false);
25
+
19
26
  const observerCallback = useCallback(
20
27
  (entries: IntersectionObserverEntry[]) => {
21
28
  if (!entries.length || !onVisibilityChange) {
@@ -31,10 +38,29 @@ export const HeaderSubMenuItem = JSX<HeaderSubMenuItemProps>(
31
38
  );
32
39
  const ref = useIntersectionObserver<HTMLSpanElement>(observerCallback, observerOptions);
33
40
 
41
+ const dropdownMenu = useDropdownSubMenu({
42
+ items,
43
+ onClose: setFalse,
44
+ isOpen: isOpenDropdown,
45
+ activeItem,
46
+ });
47
+
48
+ useEffect(() => {
49
+ dropdownMenu.current?.addEventListener('mouseenter', setTrue);
50
+ dropdownMenu.current?.addEventListener('mouseleave', setFalse);
51
+
52
+ return () => {
53
+ dropdownMenu.current?.addEventListener('mouseenter', setTrue);
54
+ dropdownMenu.current?.removeEventListener('mouseleave', setFalse);
55
+ };
56
+ }, []);
57
+
34
58
  return (
35
- <span ref={ref} className={className} role="menuitem">
36
- <HeaderItem {...rest}>{children}</HeaderItem>
37
- </span>
59
+ <div className="inline-block" ref={dropdownMenu}>
60
+ <span ref={ref} className={className} role="menuitem">
61
+ <HeaderItem {...rest}>{children}</HeaderItem>
62
+ </span>
63
+ </div>
38
64
  );
39
65
  },
40
66
  );
@@ -10,7 +10,7 @@ import { type BlockVersion } from '../../model/BlockVersion';
10
10
  import { type ComponentType } from '../../model/ComponentType';
11
11
  import { type LogoType } from '../../model/LogoType';
12
12
  import { Logo } from '../../ui-kit/Logo/Logo';
13
- import { DropdownMenu } from './DropdownMenu';
13
+ import { HeaderMoreMenuItem } from './HeaderMoreMenuItem';
14
14
  import { HeaderSecondaryMenu } from './HeaderSecondaryMenu';
15
15
  import { HeaderTopMenuItem } from './HeaderTopMenuItem';
16
16
 
@@ -80,8 +80,8 @@ export const HeaderTopMenu = JSX<HeaderMenuProps>(
80
80
  ))}
81
81
  </div>
82
82
  {dropDownMenuItems.length ? (
83
- <DropdownMenu
84
- className="mx-xs"
83
+ <HeaderMoreMenuItem
84
+ className="mx-xs rounded-md shadow-blue-gray"
85
85
  items={dropDownMenuItems}
86
86
  activeItem={activeTopItem}
87
87
  ariaLabel={dropdownMenuAriaLabel}
@@ -0,0 +1,48 @@
1
+ import { useCallback, useEffect, useRef } from '@redneckz/uni-jsx/lib/hooks';
2
+ import { useOutsideClick } from '@redneckz/uni-jsx/lib/hooks/useOutsideClick';
3
+ import { type LinkProps } from '../../model/LinkProps';
4
+ import type { OnCloseProps } from '../../model/OnCloseProps';
5
+ import { usePopupManager } from '../../ui-kit/PopupManager/usePopupManager';
6
+ import { DropdownMenu } from './DropdownMenu';
7
+
8
+ interface DropdownSubMenuOptions extends OnCloseProps {
9
+ isOpen?: boolean;
10
+ activeItem?: LinkProps;
11
+ items?: LinkProps[];
12
+ }
13
+
14
+ export function useDropdownSubMenu({ items, activeItem, onClose, isOpen }: DropdownSubMenuOptions) {
15
+ const popup = usePopupManager();
16
+
17
+ useEffect(() => {
18
+ if (isOpen) {
19
+ popup.close();
20
+ }
21
+ }, [isOpen]);
22
+
23
+ const close = useCallback(() => {
24
+ popup.close();
25
+ onClose?.();
26
+ }, [onClose]);
27
+
28
+ const parentRef = useRef<HTMLDivElement | null>(null);
29
+ const popupRef = useOutsideClick<HTMLDivElement>(close);
30
+
31
+ useEffect(() => {
32
+ if (!isOpen || !parentRef.current || !items?.length) {
33
+ return;
34
+ }
35
+
36
+ const parentElement = parentRef.current;
37
+ const { top, left, width, height } = parentElement.getBoundingClientRect();
38
+
39
+ popup.open({
40
+ popup: <DropdownMenu dropdownRef={popupRef} items={items} activeItem={activeItem} />,
41
+ top: top + window.scrollY + height,
42
+ left,
43
+ width,
44
+ });
45
+ }, [isOpen, items, close]);
46
+
47
+ return parentRef;
48
+ }
@@ -6,6 +6,7 @@ export interface NavigationLinkProps extends LinkProps {
6
6
  displayArea?: string;
7
7
  dataHeader?: AspectsDef[];
8
8
  dataFooter?: AspectsDef[];
9
+ items?: NavigationLinkProps[];
9
10
  }
10
11
 
11
12
  /**
@@ -0,0 +1,16 @@
1
+ import { getDaDataHints } from '../retail/api/dadataHints/dadataHints';
2
+
3
+ const INN_DADATA_URL = 'suggest/party';
4
+
5
+ interface InnHint {
6
+ fullName?: string;
7
+ address?: string;
8
+ inn?: string;
9
+ }
10
+
11
+ export const useInn = async (searchQuery: string): Promise<InnHint[]> =>
12
+ (await getDaDataHints({ url: INN_DADATA_URL, query: searchQuery })).map((_) => ({
13
+ fullName: _?.value,
14
+ address: _?.data?.address?.value,
15
+ inn: _?.data?.inn,
16
+ }));
@@ -23,4 +23,5 @@ export type FormTypeFieldDef =
23
23
  | 'CONT'
24
24
  | 'SUPPORT'
25
25
  | 'INVESTADVISER'
26
- | 'FINOMBUDSMAN';
26
+ | 'FINOMBUDSMAN'
27
+ | 'PF';
@@ -17,6 +17,7 @@ export interface SelectFieldProps
17
17
  source?: DictionaryItem[];
18
18
  fieldName: string;
19
19
  isSearch?: boolean;
20
+ isManualInput?: boolean;
20
21
  }
21
22
 
22
23
  export const SelectField = UniBlock<SelectFieldProps>(
@@ -0,0 +1,24 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { useEffect } from '@redneckz/uni-jsx/lib/hooks';
3
+ import { InputControl } from '../../Input/InputControl';
4
+ import { type CustomFieldProps } from '../CustomFieldProps';
5
+
6
+ export const CompanyNameByInnField = JSX<CustomFieldProps>(({ field, input }) => {
7
+ const fieldInn = field('innDadata');
8
+
9
+ useEffect(() => {
10
+ if (fieldInn?.value?.key !== '') {
11
+ const companyName = fieldInn?.value?.innDaData?.companyName;
12
+ companyName && field?.('companyNameByInn')?.onChange?.(companyName);
13
+ }
14
+ }, [fieldInn?.value]);
15
+
16
+ return (
17
+ <InputControl
18
+ maxLength={60}
19
+ label="Полное наименование"
20
+ {...field(input?.name ?? '')}
21
+ {...input}
22
+ />
23
+ );
24
+ });
@@ -5,8 +5,13 @@ import { type Option } from '../../Select/Option';
5
5
  import { SelectControl } from '../../Select/SelectControl';
6
6
  import { type CustomFieldProps } from '../CustomFieldProps';
7
7
 
8
- export const RegionPremiumField = JSX<CustomFieldProps>(({ field, input }) => {
9
- const branchByRegions = useBranchesByRegions(true);
8
+ export interface FullRegionFieldProps extends CustomFieldProps {
9
+ isPremium?: boolean;
10
+ }
11
+
12
+ export const FullRegionField = JSX<FullRegionFieldProps>(({ field, input, params }) => {
13
+ const isPremium = params?.isPremium as boolean;
14
+ const branchByRegions = useBranchesByRegions(isPremium);
10
15
  const regions = useMemo(
11
16
  () =>
12
17
  branchByRegions?.map(({ region }) => ({
@@ -0,0 +1,47 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { useMemo, useState } from '@redneckz/uni-jsx/lib/hooks';
3
+ import { useAsyncEffect } from '../../../hooks/useAsyncEffect';
4
+ import { useInn } from '../../../hooks/useInn';
5
+ import { SelectControl } from '../../Select/SelectControl';
6
+ import { type CustomFieldProps } from '../CustomFieldProps';
7
+
8
+ type InnSuggestion = {
9
+ fullName?: string;
10
+ address?: string;
11
+ inn?: string;
12
+ };
13
+
14
+ export const InnDadataField = JSX<CustomFieldProps>(({ field, input }) => {
15
+ const [options, setOptions] = useState<InnSuggestion[]>([]);
16
+ const [searchQuery, setSearchQuery] = useState('');
17
+
18
+ useAsyncEffect(async () => {
19
+ const fieldInns = useInn(searchQuery);
20
+ setOptions(await fieldInns);
21
+
22
+ return options;
23
+ }, [searchQuery]);
24
+
25
+ const getOptions = useMemo(() => {
26
+ return (options || []).map((item) => ({
27
+ key: item?.inn ?? '',
28
+ text: item?.inn,
29
+ innDaData: {
30
+ companyName: item?.fullName,
31
+ companyAddress: item?.address,
32
+ },
33
+ }));
34
+ }, [options]);
35
+
36
+ return (
37
+ <SelectControl
38
+ label="ИНН"
39
+ placeholder="Введите ИНН"
40
+ options={getOptions}
41
+ {...field(input?.name ?? '')}
42
+ isSearch
43
+ isManualInput
44
+ onSearchQuery={setSearchQuery}
45
+ />
46
+ );
47
+ });
@@ -0,0 +1,47 @@
1
+ import { useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
2
+ import type { JSONRefObject } from '../../../data/JSONRefObject';
3
+ import { UniBlock } from '../../../UniBlock/UniBlock';
4
+ import type { UniBlockProps } from '../../../UniBlock/UniBlockProps';
5
+ import { InputControl } from '../../Input/InputControl';
6
+ import { type CustomFieldProps } from '../CustomFieldProps';
7
+
8
+ export interface PartnerSymbolCodeFieldProps extends CustomFieldProps, UniBlockProps {
9
+ source?: JSONRefObject & {
10
+ agentsList?: AgentType[];
11
+ };
12
+ }
13
+
14
+ export type AgentType = {
15
+ isActive?: boolean;
16
+ symbolCode?: string;
17
+ ID?: string;
18
+ agentName?: string;
19
+ };
20
+
21
+ export const PartnerSymbolCodeField = UniBlock<PartnerSymbolCodeFieldProps>(
22
+ ({ field, input, source }) => {
23
+ const agentsList = source?.agentsList;
24
+ const { value: partnerCode } = field('partnerSymbolCode');
25
+ const [symbolCodeError, setSymbolCodeError] = useState('');
26
+ const isPartnerCodeExist = agentsList?.some((item) => item?.symbolCode === partnerCode);
27
+
28
+ useEffect(() => {
29
+ setSymbolCodeError(
30
+ partnerCode && !isPartnerCodeExist
31
+ ? 'ID партнера не найден. Обратитесь к своему менеджеру'
32
+ : '',
33
+ );
34
+ }, [partnerCode]);
35
+
36
+ return (
37
+ <InputControl
38
+ label="Идентификатор партнера"
39
+ isInteger={true}
40
+ maxLength={12}
41
+ {...input}
42
+ {...field(input?.name ?? '')}
43
+ error={symbolCodeError || field('partnerSymbolCode')?.error}
44
+ />
45
+ );
46
+ },
47
+ );
@@ -7,6 +7,7 @@ type NameFieldApplicationDef =
7
7
  | 'fullName'
8
8
  | 'inn'
9
9
  | 'comment'
10
+ | 'fullRegion'
10
11
  | 'region'
11
12
  | 'addressBranch'
12
13
  | 'typeForm'
@@ -37,6 +38,9 @@ type NameFieldApplicationDef =
37
38
  | 'representativeName'
38
39
  | 'regionBranch'
39
40
  | 'consentToReceiveMaterials'
40
- | 'consentDataProcessing';
41
+ | 'consentDataProcessing'
42
+ | 'partnerSymbolCode'
43
+ | 'innDadata'
44
+ | 'companyNameByInn';
41
45
 
42
46
  export type NameFieldDef = NameFieldApplicationDef;
@@ -13,10 +13,13 @@ import { BankEmpoleeField } from './Fields/BankEmpoleeField';
13
13
  import { BirthdayField } from './Fields/BirthdayField';
14
14
  import { CollectionCountField } from './Fields/CollectionCountField';
15
15
  import { CommentField } from './Fields/CommentField';
16
+ import { CompanyNameByInnField } from './Fields/CompanyNameByInnField';
16
17
  import { DesiredMeetingDateField } from './Fields/DesiredMeetingDateField';
17
18
  import { EmailField } from './Fields/EmailField';
18
19
  import { FeedbackMethodField } from './Fields/FeedbackMethodField';
19
20
  import { FullNameField } from './Fields/FullNameField';
21
+ import { FullRegionField } from './Fields/FullRegionField';
22
+ import { InnDadataField } from './Fields/InnDadataField';
20
23
  import { InnField } from './Fields/InnField';
21
24
  import { IsClientField } from './Fields/IsClientField';
22
25
  import { LocalitiesField } from './Fields/LocalitiesField';
@@ -24,11 +27,11 @@ import { MiddleNameField } from './Fields/MiddleNameField';
24
27
  import { NameField } from './Fields/NameField';
25
28
  import { OnlineCheckoutField } from './Fields/OnlineCheckoutField';
26
29
  import { PartnerCommentsField } from './Fields/PartnerCommentsField';
30
+ import { PartnerSymbolCodeField } from './Fields/PartnerSymbolCodeField';
27
31
  import { PhoneField } from './Fields/PhoneField';
28
32
  import { PosTerminalField } from './Fields/PosTerminalField';
29
33
  import { ProductField } from './Fields/ProductField';
30
34
  import { RegionField } from './Fields/RegionField';
31
- import { RegionPremiumField } from './Fields/RegionPremiumField';
32
35
  import { RepresentativeNameField } from './Fields/RepresentativeNameField';
33
36
  import { SecondaryPhoneField } from './Fields/SecondaryPhoneField';
34
37
  import { ServiceDirectionField } from './Fields/ServiceDirectionField';
@@ -46,6 +49,10 @@ const PRODUCT_REF = {
46
49
  $ref: '/wcms-resources/outservice-productlist.json',
47
50
  };
48
51
 
52
+ const AGENTS_REF = {
53
+ $ref: '/wcms-resources/agenty-dlya-rko.json',
54
+ };
55
+
49
56
  const InputsMap = {
50
57
  fullName: FullNameField,
51
58
  addressBranch: AddressBranchField,
@@ -70,7 +77,7 @@ const InputsMap = {
70
77
  applicationDate: ApplicationDateField,
71
78
  region: (props: CustomFieldProps) =>
72
79
  getPremium(props?.params?.typeForm as FormTypeFieldDef) ? (
73
- <RegionPremiumField {...props} />
80
+ <FullRegionField {...props} />
74
81
  ) : (
75
82
  <RegionField {...props} />
76
83
  ),
@@ -87,6 +94,12 @@ const InputsMap = {
87
94
  email: EmailField,
88
95
  inn: InnField,
89
96
  comment: CommentField,
97
+ fullRegion: FullRegionField,
98
+ partnerSymbolCode: (props: CustomFieldProps) => (
99
+ <PartnerSymbolCodeField {...props} source={AGENTS_REF} />
100
+ ),
101
+ innDadata: InnDadataField,
102
+ companyNameByInn: CompanyNameByInnField,
90
103
  };
91
104
 
92
105
  export const getField =
@@ -6,6 +6,7 @@ import {
6
6
  defaultSelectValidator,
7
7
  defaultValidator,
8
8
  emailValidator,
9
+ innDadataValidator,
9
10
  innValidator,
10
11
  nameValidator,
11
12
  phoneValidator,
@@ -40,6 +41,9 @@ export const validatorObj: Record<string, Validator> = {
40
41
  typeForm: defaultValidator(),
41
42
  consentToReceiveMaterials: agreementValidator,
42
43
  consentDataProcessing: agreementValidator,
44
+ partnerSymbolCode: defaultValidator(),
45
+ innDadata: innDadataValidator('Укажите ИНН'),
46
+ companyNameByInn: defaultValidator(),
43
47
  };
44
48
 
45
49
  export const getFormValidator = <FormState extends Record<string, any>, F extends BaseFieldDef>(
@@ -1,4 +1,4 @@
1
1
  import { type ColumnsCount } from '../../model/ColumnCount';
2
2
 
3
3
  export const inputColumnStyles = (column: ColumnsCount | undefined) =>
4
- column === 2 ? '@xl:grid-cols-2' : '';
4
+ column === 2 ? '@xl:grid-cols-2' : '@xl:grid-cols-1 gap-x-0';
@@ -2,6 +2,12 @@ import { isCyrillic } from '../../utils/isCyrilic';
2
2
  import { required } from '../../validation/required';
3
3
  import { validator } from '../../validation/validator';
4
4
 
5
+ interface DadataItem {
6
+ text?: string;
7
+ key?: string;
8
+ innDaData?: any;
9
+ }
10
+
5
11
  const ERROR_MESSAGE = 'Некорректно заполненное поле';
6
12
 
7
13
  export const defaultValidator = (errorMsg?: string) => required(errorMsg ?? ERROR_MESSAGE);
@@ -15,7 +21,10 @@ export const nameValidator = (errorMsg?: string) =>
15
21
  );
16
22
 
17
23
  export const innValidator = (errorMsg: string) =>
18
- validator((_) => typeof _ === 'string' && (_.length === 10 || _.length === 12))(errorMsg);
24
+ validator((_: string) => isValidInnLength(_))(errorMsg);
25
+
26
+ export const innDadataValidator = (errorMsg: string) =>
27
+ validator((_: DadataItem) => Boolean(_?.text) && isValidInnLength(_.text))(errorMsg);
19
28
 
20
29
  const phoneValidate = (email: string) =>
21
30
  /^(\+7)?[\s-]?\(?[0-9]{3}\)?[\s-]?[0-9]{3}[\s-]?[0-9]{2}[\s-]?[0-9]{2}$/.test(email);
@@ -33,3 +42,6 @@ const emailValidate = (email: string) => /^[^\s@]+@[^\s@]+\.[a-zA-Z]{2,4}$/.test
33
42
 
34
43
  export const emailValidator = (errorMsg: string) =>
35
44
  validator((_: string) => emailValidate(_))(errorMsg);
45
+
46
+ const isValidInnLength = (value: string | undefined): boolean =>
47
+ typeof value === 'string' && (value.length === 10 || value.length === 12);
@@ -1,5 +1,11 @@
1
1
  import type { TextProps } from '../../model/HeadlineType';
2
2
 
3
+ type companyData = {
4
+ companyName?: string;
5
+ companyAddress?: string;
6
+ };
7
+
3
8
  export type Option = TextProps & {
4
9
  key: string;
10
+ innDaData?: companyData;
5
11
  };