@redneckz/wildless-cms-uni-blocks 0.14.913 → 0.14.915

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 (240) hide show
  1. package/bin/migration-scripts/0.14.910.js +27 -0
  2. package/bundle/api/LeadServiceAPI.d.ts +0 -1
  3. package/bundle/api/getSubmitBody.d.ts +120 -96
  4. package/bundle/blocks.schema.json +1 -1
  5. package/bundle/bundle.umd.js +134 -83
  6. package/bundle/bundle.umd.min.js +1 -1
  7. package/bundle/components/ApplicationForm/getInitialFormState.d.ts +3 -0
  8. package/bundle/hooks/useDadataParty.d.ts +6 -0
  9. package/bundle/ui-kit/FormField/Fields/DadataPartySelectField.d.ts +6 -0
  10. package/bundle/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  11. package/bundle/ui-kit/Select/Option.d.ts +3 -6
  12. package/bundle/ui-kit/Select/Select.d.ts +2 -1
  13. package/bundle/ui-kit/Select/SelectPopup.d.ts +6 -2
  14. package/bundle/ui-kit/Select/useSelectPopup.d.ts +2 -1
  15. package/dist/api/LeadServiceAPI.d.ts +0 -1
  16. package/dist/api/LeadServiceAPI.js.map +1 -1
  17. package/dist/api/getSubmitBody.d.ts +120 -96
  18. package/dist/api/getSubmitBody.js +1 -6
  19. package/dist/api/getSubmitBody.js.map +1 -1
  20. package/dist/components/ApplicationForm/getFormatData.js +11 -1
  21. package/dist/components/ApplicationForm/getFormatData.js.map +1 -1
  22. package/dist/components/ApplicationForm/getInitialFormState.d.ts +3 -0
  23. package/dist/components/ApplicationForm/getInitialFormState.js.map +1 -1
  24. package/dist/hooks/useDadataParty.d.ts +6 -0
  25. package/dist/hooks/{useInn.js → useDadataParty.js} +4 -4
  26. package/dist/hooks/useDadataParty.js.map +1 -0
  27. package/dist/ui-kit/BaseTile/BaseTile.js +1 -1
  28. package/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
  29. package/dist/ui-kit/FormField/Fields/DadataPartySelectField.d.ts +6 -0
  30. package/dist/ui-kit/FormField/Fields/DadataPartySelectField.js +84 -0
  31. package/dist/ui-kit/FormField/Fields/DadataPartySelectField.js.map +1 -0
  32. package/dist/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  33. package/dist/ui-kit/FormField/getField.js +3 -4
  34. package/dist/ui-kit/FormField/getField.js.map +1 -1
  35. package/dist/ui-kit/FormField/getObjectValidator.js +3 -3
  36. package/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  37. package/dist/ui-kit/Select/Option.d.ts +3 -6
  38. package/dist/ui-kit/Select/Select.d.ts +2 -1
  39. package/dist/ui-kit/Select/Select.js +4 -4
  40. package/dist/ui-kit/Select/Select.js.map +1 -1
  41. package/dist/ui-kit/Select/SelectPopup.d.ts +6 -2
  42. package/dist/ui-kit/Select/SelectPopup.js +5 -3
  43. package/dist/ui-kit/Select/SelectPopup.js.map +1 -1
  44. package/dist/ui-kit/Select/useSelectPopup.d.ts +2 -1
  45. package/dist/ui-kit/Select/useSelectPopup.js +6 -3
  46. package/dist/ui-kit/Select/useSelectPopup.js.map +1 -1
  47. package/lib/api/LeadServiceAPI.d.ts +0 -1
  48. package/lib/api/LeadServiceAPI.js.map +1 -1
  49. package/lib/api/getSubmitBody.d.ts +120 -96
  50. package/lib/api/getSubmitBody.js +1 -6
  51. package/lib/api/getSubmitBody.js.map +1 -1
  52. package/lib/components/ApplicationForm/ApplicationForm.fixture.mobile.d.ts +1 -0
  53. package/lib/components/ApplicationForm/getFormatData.js +11 -1
  54. package/lib/components/ApplicationForm/getFormatData.js.map +1 -1
  55. package/lib/components/ApplicationForm/getInitialFormState.d.ts +3 -0
  56. package/lib/components/ApplicationForm/getInitialFormState.js.map +1 -1
  57. package/lib/components/Carousel/Carousel.fixture.d.ts +1 -0
  58. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.d.ts +1 -1
  59. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.fixture.d.ts +2 -0
  60. package/lib/hooks/useDadataParty.d.ts +6 -0
  61. package/lib/hooks/{useInn.js → useDadataParty.js} +2 -2
  62. package/lib/hooks/useDadataParty.js.map +1 -0
  63. package/lib/retail/components/DraftDialog/utils.d.ts +3 -3
  64. package/lib/ui-kit/BaseTile/BaseTile.js +1 -1
  65. package/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
  66. package/lib/ui-kit/FormField/Fields/DadataPartySelectField.d.ts +6 -0
  67. package/lib/ui-kit/FormField/Fields/DadataPartySelectField.js +82 -0
  68. package/lib/ui-kit/FormField/Fields/DadataPartySelectField.js.map +1 -0
  69. package/lib/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  70. package/lib/ui-kit/FormField/getField.js +3 -4
  71. package/lib/ui-kit/FormField/getField.js.map +1 -1
  72. package/lib/ui-kit/FormField/getObjectValidator.js +3 -3
  73. package/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  74. package/lib/ui-kit/Select/Option.d.ts +3 -6
  75. package/lib/ui-kit/Select/Select.d.ts +2 -1
  76. package/lib/ui-kit/Select/Select.js +4 -4
  77. package/lib/ui-kit/Select/Select.js.map +1 -1
  78. package/lib/ui-kit/Select/SelectPopup.d.ts +6 -2
  79. package/lib/ui-kit/Select/SelectPopup.js +5 -3
  80. package/lib/ui-kit/Select/SelectPopup.js.map +1 -1
  81. package/lib/ui-kit/Select/useSelectPopup.d.ts +2 -1
  82. package/lib/ui-kit/Select/useSelectPopup.js +6 -3
  83. package/lib/ui-kit/Select/useSelectPopup.js.map +1 -1
  84. package/mobile/bundle/api/LeadServiceAPI.d.ts +0 -1
  85. package/mobile/bundle/api/getSubmitBody.d.ts +120 -96
  86. package/mobile/bundle/bundle.umd.js +134 -83
  87. package/mobile/bundle/bundle.umd.min.js +1 -1
  88. package/mobile/bundle/components/ApplicationForm/getInitialFormState.d.ts +3 -0
  89. package/mobile/bundle/hooks/useDadataParty.d.ts +6 -0
  90. package/mobile/bundle/ui-kit/FormField/Fields/DadataPartySelectField.d.ts +6 -0
  91. package/mobile/bundle/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  92. package/mobile/bundle/ui-kit/Select/Option.d.ts +3 -6
  93. package/mobile/bundle/ui-kit/Select/Select.d.ts +2 -1
  94. package/mobile/bundle/ui-kit/Select/SelectPopup.d.ts +6 -2
  95. package/mobile/bundle/ui-kit/Select/useSelectPopup.d.ts +2 -1
  96. package/mobile/dist/api/LeadServiceAPI.d.ts +0 -1
  97. package/mobile/dist/api/LeadServiceAPI.js.map +1 -1
  98. package/mobile/dist/api/getSubmitBody.d.ts +120 -96
  99. package/mobile/dist/api/getSubmitBody.js +1 -6
  100. package/mobile/dist/api/getSubmitBody.js.map +1 -1
  101. package/mobile/dist/components/ApplicationForm/getFormatData.js +11 -1
  102. package/mobile/dist/components/ApplicationForm/getFormatData.js.map +1 -1
  103. package/mobile/dist/components/ApplicationForm/getInitialFormState.d.ts +3 -0
  104. package/mobile/dist/components/ApplicationForm/getInitialFormState.js.map +1 -1
  105. package/mobile/dist/hooks/useDadataParty.d.ts +6 -0
  106. package/mobile/dist/hooks/{useInn.js → useDadataParty.js} +4 -4
  107. package/mobile/dist/hooks/useDadataParty.js.map +1 -0
  108. package/mobile/dist/ui-kit/BaseTile/BaseTile.js +1 -1
  109. package/mobile/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
  110. package/mobile/dist/ui-kit/FormField/Fields/DadataPartySelectField.d.ts +6 -0
  111. package/mobile/dist/ui-kit/FormField/Fields/DadataPartySelectField.js +84 -0
  112. package/mobile/dist/ui-kit/FormField/Fields/DadataPartySelectField.js.map +1 -0
  113. package/mobile/dist/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  114. package/mobile/dist/ui-kit/FormField/getField.js +3 -4
  115. package/mobile/dist/ui-kit/FormField/getField.js.map +1 -1
  116. package/mobile/dist/ui-kit/FormField/getObjectValidator.js +3 -3
  117. package/mobile/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  118. package/mobile/dist/ui-kit/Select/Option.d.ts +3 -6
  119. package/mobile/dist/ui-kit/Select/Select.d.ts +2 -1
  120. package/mobile/dist/ui-kit/Select/Select.js +4 -4
  121. package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
  122. package/mobile/dist/ui-kit/Select/SelectPopup.d.ts +6 -2
  123. package/mobile/dist/ui-kit/Select/SelectPopup.js +5 -3
  124. package/mobile/dist/ui-kit/Select/SelectPopup.js.map +1 -1
  125. package/mobile/dist/ui-kit/Select/useSelectPopup.d.ts +2 -1
  126. package/mobile/dist/ui-kit/Select/useSelectPopup.js +6 -3
  127. package/mobile/dist/ui-kit/Select/useSelectPopup.js.map +1 -1
  128. package/mobile/lib/api/LeadServiceAPI.d.ts +0 -1
  129. package/mobile/lib/api/LeadServiceAPI.js.map +1 -1
  130. package/mobile/lib/api/getSubmitBody.d.ts +120 -96
  131. package/mobile/lib/api/getSubmitBody.js +1 -6
  132. package/mobile/lib/api/getSubmitBody.js.map +1 -1
  133. package/mobile/lib/components/ApplicationForm/getFormatData.js +11 -1
  134. package/mobile/lib/components/ApplicationForm/getFormatData.js.map +1 -1
  135. package/mobile/lib/components/ApplicationForm/getInitialFormState.d.ts +3 -0
  136. package/mobile/lib/components/ApplicationForm/getInitialFormState.js.map +1 -1
  137. package/mobile/lib/hooks/useDadataParty.d.ts +6 -0
  138. package/mobile/lib/hooks/{useInn.js → useDadataParty.js} +2 -2
  139. package/mobile/lib/hooks/useDadataParty.js.map +1 -0
  140. package/mobile/lib/ui-kit/BaseTile/BaseTile.js +1 -1
  141. package/mobile/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
  142. package/mobile/lib/ui-kit/FormField/Fields/DadataPartySelectField.d.ts +6 -0
  143. package/mobile/lib/ui-kit/FormField/Fields/DadataPartySelectField.js +82 -0
  144. package/mobile/lib/ui-kit/FormField/Fields/DadataPartySelectField.js.map +1 -0
  145. package/mobile/lib/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  146. package/mobile/lib/ui-kit/FormField/getField.js +3 -4
  147. package/mobile/lib/ui-kit/FormField/getField.js.map +1 -1
  148. package/mobile/lib/ui-kit/FormField/getObjectValidator.js +3 -3
  149. package/mobile/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  150. package/mobile/lib/ui-kit/Select/Option.d.ts +3 -6
  151. package/mobile/lib/ui-kit/Select/Select.d.ts +2 -1
  152. package/mobile/lib/ui-kit/Select/Select.js +4 -4
  153. package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
  154. package/mobile/lib/ui-kit/Select/SelectPopup.d.ts +6 -2
  155. package/mobile/lib/ui-kit/Select/SelectPopup.js +5 -3
  156. package/mobile/lib/ui-kit/Select/SelectPopup.js.map +1 -1
  157. package/mobile/lib/ui-kit/Select/useSelectPopup.d.ts +2 -1
  158. package/mobile/lib/ui-kit/Select/useSelectPopup.js +6 -3
  159. package/mobile/lib/ui-kit/Select/useSelectPopup.js.map +1 -1
  160. package/mobile/src/api/LeadServiceAPI.ts +0 -1
  161. package/mobile/src/api/getSubmitBody.ts +0 -11
  162. package/mobile/src/components/ApplicationForm/ApplicationForm.example.json +22 -43
  163. package/mobile/src/components/ApplicationForm/getFormatData.tsx +16 -0
  164. package/mobile/src/components/ApplicationForm/getInitialFormState.tsx +3 -0
  165. package/mobile/src/hooks/{useInn.ts → useDadataParty.ts} +2 -2
  166. package/mobile/src/ui-kit/BaseTile/BaseTile.tsx +1 -1
  167. package/mobile/src/ui-kit/FormField/Fields/DadataPartySelectField.tsx +150 -0
  168. package/mobile/src/ui-kit/FormField/NameFieldDef.ts +3 -3
  169. package/mobile/src/ui-kit/FormField/getField.tsx +3 -4
  170. package/mobile/src/ui-kit/FormField/getObjectValidator.tsx +3 -3
  171. package/mobile/src/ui-kit/Select/Option.ts +4 -6
  172. package/mobile/src/ui-kit/Select/Select.tsx +6 -4
  173. package/mobile/src/ui-kit/Select/SelectPopup.tsx +15 -21
  174. package/mobile/src/ui-kit/Select/useSelectPopup.tsx +9 -1
  175. package/package.json +1 -1
  176. package/src/api/LeadServiceAPI.ts +0 -1
  177. package/src/api/getSubmitBody.ts +0 -11
  178. package/src/components/ApplicationForm/ApplicationForm.example.json +22 -43
  179. package/src/components/ApplicationForm/ApplicationForm.fixture.mobile.tsx +36 -13
  180. package/src/components/ApplicationForm/ApplicationForm.fixture.tsx +13 -12
  181. package/src/components/ApplicationForm/getFormatData.tsx +16 -0
  182. package/src/components/ApplicationForm/getInitialFormState.tsx +3 -0
  183. package/src/components/Carousel/Carousel.fixture.mobile.tsx +16 -16
  184. package/src/components/Carousel/Carousel.fixture.tsx +42 -20
  185. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.mobile.tsx +19 -19
  186. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.tsx +44 -23
  187. package/src/components/CarouselTariffsCard/CarouselTariffsCard.fixture.tsx +12 -12
  188. package/src/hooks/{useInn.ts → useDadataParty.ts} +2 -2
  189. package/src/icons/IconName.ts +4 -4
  190. package/src/ui-kit/BaseTile/BaseTile.tsx +1 -1
  191. package/src/ui-kit/FormField/Fields/DadataPartySelectField.tsx +150 -0
  192. package/src/ui-kit/FormField/NameFieldDef.ts +3 -3
  193. package/src/ui-kit/FormField/getField.tsx +3 -4
  194. package/src/ui-kit/FormField/getObjectValidator.tsx +3 -3
  195. package/src/ui-kit/Select/Option.ts +4 -6
  196. package/src/ui-kit/Select/Select.tsx +6 -4
  197. package/src/ui-kit/Select/SelectPopup.tsx +15 -21
  198. package/src/ui-kit/Select/useSelectPopup.tsx +9 -1
  199. package/bundle/hooks/useInn.d.ts +0 -7
  200. package/bundle/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +0 -2
  201. package/bundle/ui-kit/FormField/Fields/InnDadataField.d.ts +0 -2
  202. package/dist/hooks/useInn.d.ts +0 -7
  203. package/dist/hooks/useInn.js.map +0 -1
  204. package/dist/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +0 -2
  205. package/dist/ui-kit/FormField/Fields/CompanyNameByInnField.js +0 -17
  206. package/dist/ui-kit/FormField/Fields/CompanyNameByInnField.js.map +0 -1
  207. package/dist/ui-kit/FormField/Fields/InnDadataField.d.ts +0 -2
  208. package/dist/ui-kit/FormField/Fields/InnDadataField.js +0 -32
  209. package/dist/ui-kit/FormField/Fields/InnDadataField.js.map +0 -1
  210. package/lib/hooks/useInn.d.ts +0 -7
  211. package/lib/hooks/useInn.js.map +0 -1
  212. package/lib/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +0 -2
  213. package/lib/ui-kit/FormField/Fields/CompanyNameByInnField.js +0 -15
  214. package/lib/ui-kit/FormField/Fields/CompanyNameByInnField.js.map +0 -1
  215. package/lib/ui-kit/FormField/Fields/InnDadataField.d.ts +0 -2
  216. package/lib/ui-kit/FormField/Fields/InnDadataField.js +0 -30
  217. package/lib/ui-kit/FormField/Fields/InnDadataField.js.map +0 -1
  218. package/mobile/bundle/hooks/useInn.d.ts +0 -7
  219. package/mobile/bundle/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +0 -2
  220. package/mobile/bundle/ui-kit/FormField/Fields/InnDadataField.d.ts +0 -2
  221. package/mobile/dist/hooks/useInn.d.ts +0 -7
  222. package/mobile/dist/hooks/useInn.js.map +0 -1
  223. package/mobile/dist/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +0 -2
  224. package/mobile/dist/ui-kit/FormField/Fields/CompanyNameByInnField.js +0 -17
  225. package/mobile/dist/ui-kit/FormField/Fields/CompanyNameByInnField.js.map +0 -1
  226. package/mobile/dist/ui-kit/FormField/Fields/InnDadataField.d.ts +0 -2
  227. package/mobile/dist/ui-kit/FormField/Fields/InnDadataField.js +0 -32
  228. package/mobile/dist/ui-kit/FormField/Fields/InnDadataField.js.map +0 -1
  229. package/mobile/lib/hooks/useInn.d.ts +0 -7
  230. package/mobile/lib/hooks/useInn.js.map +0 -1
  231. package/mobile/lib/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +0 -2
  232. package/mobile/lib/ui-kit/FormField/Fields/CompanyNameByInnField.js +0 -15
  233. package/mobile/lib/ui-kit/FormField/Fields/CompanyNameByInnField.js.map +0 -1
  234. package/mobile/lib/ui-kit/FormField/Fields/InnDadataField.d.ts +0 -2
  235. package/mobile/lib/ui-kit/FormField/Fields/InnDadataField.js +0 -30
  236. package/mobile/lib/ui-kit/FormField/Fields/InnDadataField.js.map +0 -1
  237. package/mobile/src/ui-kit/FormField/Fields/CompanyNameByInnField.tsx +0 -24
  238. package/mobile/src/ui-kit/FormField/Fields/InnDadataField.tsx +0 -52
  239. package/src/ui-kit/FormField/Fields/CompanyNameByInnField.tsx +0 -24
  240. package/src/ui-kit/FormField/Fields/InnDadataField.tsx +0 -52
@@ -636,7 +636,7 @@
636
636
  imageAlign,
637
637
  }), buttons ? jsx("div", { className: "self-end", children: buttons }) : null] })] })] }));
638
638
  });
639
- const renderMiddleContent = (insetTitle, children) => insetTitle || children ? (jsxs("div", { className: "grow space-y-lg w-fit", children: [insetTitle, children] })) : null;
639
+ const renderMiddleContent = (insetTitle, children) => insetTitle || children ? (jsxs("div", { className: "space-y-lg", children: [insetTitle, children] })) : null;
640
640
  const imageAlwaysOnRightContainerStyle = (isImage) => style(isImage ? 'row-span-2' : '@xl:row-span-2');
641
641
  const renderUnitContainer = (childrenBlocks) => childrenBlocks?.length ? (jsx("div", { className: "flex items-start justify-end", children: childrenBlocks })) : null;
642
642
 
@@ -1005,7 +1005,7 @@
1005
1005
  const formatPhone = (phone) => phone?.replace(/[^+\d]/g, '');
1006
1006
 
1007
1007
  const getSubmitBody = (body, isNaturalPerson, router) => {
1008
- const { typeForm, region, phone = '', email, birthday, desiredMeetingDate, inn, innDadata, fullRegion, addressBranch, secondaryPhone = '', bankEmpolee, applicationDate, partnerSymbolCode, companyNameByInn, partnerName, ...staticBody } = body;
1008
+ const { typeForm, region, phone = '', email, birthday, desiredMeetingDate, inn, fullRegion, addressBranch, secondaryPhone = '', bankEmpolee, applicationDate, partnerName, ...staticBody } = body;
1009
1009
  return {
1010
1010
  typeForm,
1011
1011
  ...getRegion$1(region, isNaturalPerson),
@@ -1023,10 +1023,7 @@
1023
1023
  }),
1024
1024
  ...addPageSlug(typeForm, router),
1025
1025
  ...formatPFForm(typeForm, {
1026
- innDadata,
1027
1026
  fullRegion,
1028
- partnerSymbolCode,
1029
- companyNameByInn,
1030
1027
  partnerName,
1031
1028
  }),
1032
1029
  ...staticBody,
@@ -1050,10 +1047,8 @@
1050
1047
  : { secondaryPhoneNumber: formatPhone(secondaryPhone) };
1051
1048
  const formatPFForm = (typeForm, data) => typeForm === 'PF'
1052
1049
  ? {
1053
- inn: data?.innDadata,
1054
1050
  region: data?.fullRegion,
1055
1051
  partner: data?.partnerName,
1056
- fullName: data?.companyNameByInn,
1057
1052
  }
1058
1053
  : {};
1059
1054
  const addPageSlug = (typeForm, router) => typeForm === 'UNIVERSAL'
@@ -1448,17 +1443,20 @@
1448
1443
  return options.filter((_) => _.text?.toLocaleLowerCase().includes(query?.trim().toLocaleLowerCase()));
1449
1444
  };
1450
1445
 
1451
- const SelectPopup = JSX(({ popupRef, options, value, query, iconVersion, disableFilterOptions, onChange, onChangeQuery, }) => options?.length ? (jsx("div", { className: "bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-2xl", role: "list", ref: popupRef, children: filterOptions(options, query, disableFilterOptions).map((option) => (jsxs("div", { className: "flex px-m py-s cursor-pointer hover:bg-main-divider pr-5xl relative", role: "listitem", "aria-selected": option.key === value?.key, onClick: (e) => {
1446
+ const SelectPopup = JSX(({ popupRef, options, value, iconVersion, onChange, renderOptions = renderDefaultOptions,
1447
+ // TODO: вынести в хук отвечающий за фильтрацию
1448
+ query, onChangeQuery, disableFilterOptions, }) => options?.length ? (jsx("div", { className: "bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-2xl", role: "list", ref: popupRef, children: filterOptions(options, query, disableFilterOptions).map((option) => (jsxs("div", { className: "flex px-m py-s cursor-pointer hover:bg-main-divider pr-5xl relative", role: "listitem", "aria-selected": option.key === value?.key, onClick: (e) => {
1452
1449
  e.stopPropagation();
1453
1450
  if (onChange) {
1454
1451
  onChangeQuery?.('');
1455
1452
  onChange(option);
1456
1453
  }
1457
- }, children: [option?.innDaData ? (jsxs("span", { children: [jsx(Text, { size: "text-s", children: option?.innDaData?.companyName }), jsxs("div", { className: "space-x-2", children: [jsx(Text, { size: "text-s", font: "font-light", children: formatOption(option) }), jsx(Text, { size: "text-s", font: "font-light", children: option?.innDaData?.companyAddress })] })] })) : (jsx("span", { className: "min-h-6", children: formatOption(option) })), jsx(Icon, { name: "DoneSimpleIcon", width: "16", height: "16", iconVersion: iconVersion, className: style('absolute right-2 pt-2xs', {
1454
+ }, children: [renderOptions(option), jsx(Icon, { name: "DoneSimpleIcon", width: "16", height: "16", iconVersion: iconVersion, className: style('absolute right-2 pt-2xs', {
1458
1455
  hidden: option.key !== value?.key,
1459
1456
  }) })] }, option.key))) })) : null);
1457
+ const renderDefaultOptions = (option) => (jsx("span", { className: "min-h-6", children: formatOption(option) }));
1460
1458
 
1461
- function useSelectPopup({ isOpen, options, value, query, onChange = noop, onClose = noop, iconVersion, disableFilterOptions = false, onChangeQuery = noop, }) {
1459
+ function useSelectPopup({ isOpen, options, value, query, onChange = noop, onClose = noop, iconVersion, disableFilterOptions = false, onChangeQuery = noop, renderOptions, isSearch = false, }) {
1462
1460
  const popup = usePopupManager();
1463
1461
  const close = useCallback(() => {
1464
1462
  popup.close();
@@ -1467,8 +1465,11 @@
1467
1465
  const handleChange = useCallback((option) => {
1468
1466
  close();
1469
1467
  onChange(option);
1470
- onChangeQuery('');
1468
+ onChangeQuery(isSearch && option?.text ? option.text : '');
1471
1469
  }, [close, onChange]);
1470
+ useEffect(() => {
1471
+ onChangeQuery(isSearch && value?.text ? value.text : '');
1472
+ }, [value]);
1472
1473
  const inputRef = useRef(null);
1473
1474
  const popupRef = useOutsideClick(close);
1474
1475
  useEffect(() => {
@@ -1478,7 +1479,7 @@
1478
1479
  const inputElement = inputRef.current;
1479
1480
  const { top, left, width, height } = inputElement.getBoundingClientRect();
1480
1481
  popup.open({
1481
- popup: (jsx(SelectPopup, { popupRef: popupRef, options: options, value: value, query: query, iconVersion: iconVersion, disableFilterOptions: disableFilterOptions, onChange: handleChange, onChangeQuery: onChangeQuery })),
1482
+ popup: (jsx(SelectPopup, { popupRef: popupRef, options: options, value: value, query: query, iconVersion: iconVersion, disableFilterOptions: disableFilterOptions, onChange: handleChange, onChangeQuery: onChangeQuery, renderOptions: renderOptions })),
1482
1483
  top: top + window.scrollY + height,
1483
1484
  left,
1484
1485
  width,
@@ -1487,7 +1488,7 @@
1487
1488
  return inputRef;
1488
1489
  }
1489
1490
 
1490
- const Select = JSX(({ className, label, options = [], value, isSearch = false, isManualInput = false, disabled = false, iconVersion = 'black', onChange, onSearchQuery = noop, inputProps, disableFilterOptions = false, ...rest }) => {
1491
+ const Select = JSX(({ className, label, options = [], value, isSearch = false, isManualInput = false, disabled = false, iconVersion = 'black', onChange, onSearchQuery = noop, inputProps, disableFilterOptions = false, renderOptions, ...rest }) => {
1491
1492
  const [isOpen, { setFalse: close, setTrue: open }] = useBool();
1492
1493
  const [query, setQuery] = useState('');
1493
1494
  const isDisabled = disabled || (!isManualInput && options.length === 0);
@@ -1496,15 +1497,15 @@
1496
1497
  isDisabled ? noop() : open();
1497
1498
  }, [isDisabled]);
1498
1499
  const handleClose = useCallback(() => {
1499
- !isManualInput && setQuery('');
1500
+ !isSearch && setQuery('');
1500
1501
  close();
1501
1502
  }, [isManualInput]);
1502
1503
  const handleChangeQuery = useCallback((newQuery) => {
1503
1504
  setQuery(newQuery);
1504
- isManualInput && onChange?.({ key: newQuery, text: newQuery, innDaData: {} });
1505
+ isManualInput && onChange?.({ key: newQuery, text: newQuery });
1505
1506
  debouncedOnSearchQuery?.(newQuery);
1506
1507
  }, [isManualInput, onChange, debouncedOnSearchQuery]);
1507
- const selectState = { query, value, options, isOpen, iconVersion };
1508
+ const selectState = { query, value, options, isOpen, iconVersion, renderOptions, isSearch };
1508
1509
  const inputRef = useSelectPopup({
1509
1510
  onChange,
1510
1511
  onClose: handleClose,
@@ -2041,47 +2042,6 @@
2041
2042
 
2042
2043
  const CommentField = JSX(({ field, input }) => (jsx(InputControl, { className: "col-span-2", ...field(input?.name ?? ''), placeholder: "\u0412\u0430\u0448\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435", isTextarea: true })));
2043
2044
 
2044
- const CompanyNameByInnField = JSX(({ field, input }) => {
2045
- const fieldInn = field('innDadata');
2046
- useEffect(() => {
2047
- if (fieldInn?.value?.key !== '') {
2048
- const companyName = fieldInn?.value?.innDaData?.companyName;
2049
- companyName && field?.('companyNameByInn')?.onChange?.(companyName);
2050
- }
2051
- }, [fieldInn?.value]);
2052
- return (jsx(InputControl, { maxLength: 60, label: "\u041F\u043E\u043B\u043D\u043E\u0435 \u043D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435", ...field(input?.name ?? ''), ...input }));
2053
- });
2054
-
2055
- const DesiredMeetingDateField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0416\u0435\u043B\u0430\u0435\u043C\u0430\u044F \u0434\u0430\u0442\u0430 \u0432\u0441\u0442\u0440\u0435\u0447\u0438", ...field(input?.name ?? '') })));
2056
-
2057
- const EmailField$1 = JSX(({ field, input }) => {
2058
- return jsx(InputControl, { label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...field(input?.name ?? ''), ...input });
2059
- });
2060
-
2061
- const SERVICE_TYPES = [{ key: 'ULTRASERVICE', text: 'Ультра' }];
2062
- const SERVICE_DIRECTIONS = [
2063
- { key: 'Физическое лицо' },
2064
- { key: 'Юридическое лицо / ИП' },
2065
- ];
2066
- const FEEDBACK_METHOD = [
2067
- { key: 'phone', text: 'Телефонный звонок' },
2068
- { key: 'email', text: 'Электронное сообщение' },
2069
- ];
2070
-
2071
- const FeedbackMethodField = JSX(({ field, input }) => (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, ...field(input?.name ?? '') })));
2072
-
2073
- const FullNameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0424\u0418\u041E", ...field(input?.name ?? ''), ...input })));
2074
-
2075
- const FullRegionField = JSX(({ field, input, params }) => {
2076
- const isPremium = params?.isPremium;
2077
- const branchByRegions = useBranchesByRegions(isPremium);
2078
- const regions = useMemo(() => branchByRegions?.map(({ region }) => ({
2079
- key: region,
2080
- text: region,
2081
- })), [branchByRegions]);
2082
- return (jsx(SelectControl, { label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", options: regions, ...field(input?.name ?? '') }));
2083
- });
2084
-
2085
2045
  function useAsyncEffect(effect, deps) {
2086
2046
  useEffect(() => {
2087
2047
  const free = effect();
@@ -2132,34 +2092,115 @@
2132
2092
  };
2133
2093
 
2134
2094
  const INN_DADATA_URL = 'suggest/party';
2135
- const useInn = async (searchQuery) => (await getDaDataHints({ url: INN_DADATA_URL, query: searchQuery })).map((_) => ({
2095
+ const useDadataParty = async (searchQuery) => (await getDaDataHints({ url: INN_DADATA_URL, query: searchQuery })).map((_) => ({
2136
2096
  fullName: _?.value,
2137
2097
  address: _?.data?.address?.value,
2138
2098
  inn: _?.data?.inn,
2139
2099
  }));
2140
2100
 
2141
- const InnDadataField = JSX(({ field, input = {} }) => {
2142
- const [options, setOptions] = useState([]);
2101
+ const FIELD_MAPPING = {
2102
+ dadataPartyInnSelect: {
2103
+ fieldValue: 'inn',
2104
+ linkedFieldName: 'dadataPartyNameSelect',
2105
+ linkedFieldValue: 'fullName',
2106
+ },
2107
+ dadataPartyNameSelect: {
2108
+ fieldValue: 'fullName',
2109
+ linkedFieldName: 'dadataPartyInnSelect',
2110
+ linkedFieldValue: 'inn',
2111
+ },
2112
+ };
2113
+ const FIELD_CONFIG = {
2114
+ dadataPartyInnSelect: {
2115
+ label: 'ИНН',
2116
+ placeholder: 'Введите ИНН',
2117
+ inputProps: {
2118
+ isInteger: true,
2119
+ maxLength: 12,
2120
+ },
2121
+ },
2122
+ dadataPartyNameSelect: {
2123
+ label: 'Полное наименование',
2124
+ placeholder: 'Введите полное наименование',
2125
+ },
2126
+ };
2127
+ const DadataPartySelectField = JSX(({ field, input = {} }) => {
2128
+ const fieldName = input.name ?? '';
2129
+ const linkedField = FIELD_MAPPING[fieldName].linkedFieldName;
2130
+ const linkedFieldValue = field(linkedField).value;
2131
+ const linkedFieldValueData = linkedFieldValue?.data;
2132
+ useAsyncEffect(async () => {
2133
+ if (linkedFieldValueData?.fullName &&
2134
+ linkedFieldValueData?.fullName !== field(fieldName)?.value?.data?.fullName) {
2135
+ const fieldValues = getFieldValues(linkedFieldValue);
2136
+ const { fullName, address, inn } = fieldValues;
2137
+ const optionTextValue = getLinkedFieldValue(fieldValues, linkedField);
2138
+ const dadataFields = useDadataParty(optionTextValue);
2139
+ setSearchQuery(optionTextValue);
2140
+ setOptions(await dadataFields);
2141
+ field(fieldName)?.onChange?.({
2142
+ key: inn,
2143
+ text: optionTextValue,
2144
+ data: {
2145
+ fullName,
2146
+ address,
2147
+ },
2148
+ });
2149
+ }
2150
+ }, [linkedFieldValueData]);
2151
+ const [options, setOptions] = useState([]); // InnSuggestion
2143
2152
  const [searchQuery, setSearchQuery] = useState('');
2144
2153
  useAsyncEffect(async () => {
2145
- const fieldInns = useInn(searchQuery);
2146
- setOptions(await fieldInns);
2154
+ const dadataFields = useDadataParty(searchQuery);
2155
+ setOptions(await dadataFields);
2147
2156
  return options;
2148
2157
  }, [searchQuery]);
2149
- const getOptions = useMemo(() => {
2150
- return (options || []).map((item) => ({
2151
- key: item?.inn ?? '',
2152
- text: item?.inn,
2153
- innDaData: {
2154
- companyName: item?.fullName,
2155
- companyAddress: item?.address,
2156
- },
2157
- }));
2158
- }, [options]);
2159
- return (jsx(SelectControl, { label: "\u0418\u041D\u041D", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0418\u041D\u041D", options: getOptions, ...field(input.name ?? ''), isSearch: true, isManualInput: true, inputProps: {
2160
- isInteger: true,
2161
- maxLength: 12,
2162
- }, disableFilterOptions: true, onSearchQuery: setSearchQuery }));
2158
+ const getOptions = useMemo(() => (options || []).map((item = {}) => ({
2159
+ key: item.inn ?? '',
2160
+ text: item[FIELD_MAPPING[fieldName].fieldValue],
2161
+ data: {
2162
+ fullName: item.fullName,
2163
+ address: item.address,
2164
+ },
2165
+ })), [options]);
2166
+ return (jsx(SelectControl, { ...FIELD_CONFIG[fieldName], options: getOptions, ...field(input.name ?? ''), isSearch: true, isManualInput: true, disableFilterOptions: true, onSearchQuery: setSearchQuery, renderOptions: renderOptions }));
2167
+ });
2168
+ const getFieldValues = (value) => ({
2169
+ inn: value?.key,
2170
+ fullName: value?.data?.fullName,
2171
+ address: value?.data?.address,
2172
+ });
2173
+ const renderOptions = (option) => (jsxs("span", { children: [jsx(Text, { size: "text-s", children: option?.data?.fullName }), jsxs("div", { className: "space-x-2", children: [jsx(Text, { size: "text-s", font: "font-light", children: option?.key }), jsx(Text, { size: "text-s", font: "font-light", children: option?.data?.address })] })] }));
2174
+ const getLinkedFieldValue = (fieldValues, linkedField) => fieldValues?.[FIELD_MAPPING[linkedField].linkedFieldValue];
2175
+
2176
+ const DesiredMeetingDateField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0416\u0435\u043B\u0430\u0435\u043C\u0430\u044F \u0434\u0430\u0442\u0430 \u0432\u0441\u0442\u0440\u0435\u0447\u0438", ...field(input?.name ?? '') })));
2177
+
2178
+ const EmailField$1 = JSX(({ field, input }) => {
2179
+ return jsx(InputControl, { label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...field(input?.name ?? ''), ...input });
2180
+ });
2181
+
2182
+ const SERVICE_TYPES = [{ key: 'ULTRASERVICE', text: 'Ультра' }];
2183
+ const SERVICE_DIRECTIONS = [
2184
+ { key: 'Физическое лицо' },
2185
+ { key: 'Юридическое лицо / ИП' },
2186
+ ];
2187
+ const FEEDBACK_METHOD = [
2188
+ { key: 'phone', text: 'Телефонный звонок' },
2189
+ { key: 'email', text: 'Электронное сообщение' },
2190
+ ];
2191
+
2192
+ const FeedbackMethodField = JSX(({ field, input }) => (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, ...field(input?.name ?? '') })));
2193
+
2194
+ const FullNameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0424\u0418\u041E", ...field(input?.name ?? ''), ...input })));
2195
+
2196
+ const FullRegionField = JSX(({ field, input, params }) => {
2197
+ const isPremium = params?.isPremium;
2198
+ const branchByRegions = useBranchesByRegions(isPremium);
2199
+ const regions = useMemo(() => branchByRegions?.map(({ region }) => ({
2200
+ key: region,
2201
+ text: region,
2202
+ })), [branchByRegions]);
2203
+ return (jsx(SelectControl, { label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", options: regions, ...field(input?.name ?? '') }));
2163
2204
  });
2164
2205
 
2165
2206
  const InnField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0418\u041D\u041D", isInteger: true, maxLength: 12, ...input, ...field(input?.name ?? '') })));
@@ -2375,9 +2416,9 @@
2375
2416
  typeForm: defaultValidator(),
2376
2417
  consentToReceiveMaterials: agreementValidator,
2377
2418
  consentDataProcessing: agreementValidator,
2378
- partnerSymbolCode: defaultValidator(),
2379
- innDadata: innDadataValidator('Укажите ИНН'),
2380
- companyNameByInn: defaultValidator(),
2419
+ partnerSymbolCode: defaultValidator('Укажите идентификатор партнёра'),
2420
+ dadataPartyInnSelect: innDadataValidator('Укажите ИНН'),
2421
+ dadataPartyNameSelect: defaultValidator('Укажите наименование организации'),
2381
2422
  };
2382
2423
  const getFormValidator = (fieldDefs, externalValidatorObj = {}) => {
2383
2424
  const requiredFields = fieldDefs.filter((_) => Boolean(_?.required && _?.name));
@@ -2524,9 +2565,9 @@
2524
2565
  comment: CommentField,
2525
2566
  fullRegion: FullRegionField,
2526
2567
  partnerSymbolCode: (props) => (jsx(PartnerSymbolCodeField, { ...props, source: AGENTS_REF })),
2527
- innDadata: InnDadataField,
2528
- companyNameByInn: CompanyNameByInnField,
2529
2568
  partnerName: (props) => jsx(PartnerNameField, { ...props, source: AGENTS_REF }),
2569
+ dadataPartyNameSelect: DadataPartySelectField,
2570
+ dadataPartyInnSelect: DadataPartySelectField,
2530
2571
  };
2531
2572
  const getField = (field, params, externalInputs = {}) => (input, i) => {
2532
2573
  const fieldsRegister = {
@@ -2598,7 +2639,7 @@
2598
2639
 
2599
2640
  /* eslint-disable @typescript-eslint/no-unused-vars */
2600
2641
  const getFormatData = (data) => {
2601
- const { acquiringType, onlineCheckout, posTerminal, amount, term, annualRevenue, serviceType, vedTypes, region, inn, sufferedFrom, situationDescription, applierType, isPremium, ...usedData } = data;
2642
+ const { acquiringType, onlineCheckout, posTerminal, amount, term, annualRevenue, serviceType, vedTypes, region, inn, sufferedFrom, situationDescription, applierType, isPremium, dadataPartyNameSelect, partnerSymbolCode, dadataPartyInnSelect, ...usedData } = data;
2602
2643
  const partnerComments = acquiringType || annualRevenue ? getPartnerComments(data) : null;
2603
2644
  const formatData = {
2604
2645
  ...usedData,
@@ -2609,6 +2650,10 @@
2609
2650
  ...(serviceType ? { typeForm: serviceType } : {}),
2610
2651
  ...getIncidentComment(sufferedFrom?.text, situationDescription),
2611
2652
  ...getIsClient(applierType),
2653
+ ...getDadataValues([
2654
+ [dadataPartyInnSelect, 'inn'],
2655
+ [dadataPartyNameSelect, 'fullName'],
2656
+ ]),
2612
2657
  };
2613
2658
  return Object.fromEntries(Object.entries(formatData)?.map(([k, v]) => [k, v?.key || v]));
2614
2659
  };
@@ -2622,6 +2667,12 @@
2622
2667
  vedTypes: Object.fromEntries(VED_TYPES.map(({ id }) => [id, id === vedTypes])),
2623
2668
  }
2624
2669
  : {};
2670
+ const getDadataValues = (fields) => fields.reduce((acc, [field, name]) => {
2671
+ if (field?.text && name) {
2672
+ acc[name] = field.text;
2673
+ }
2674
+ return acc;
2675
+ }, {});
2625
2676
 
2626
2677
  const initialFormState$1 = {
2627
2678
  typeForm: '',
@@ -12053,7 +12104,7 @@
12053
12104
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
12054
12105
  });
12055
12106
 
12056
- const packageVersion = "0.14.912";
12107
+ const packageVersion = "0.14.914";
12057
12108
 
12058
12109
  exports.Blocks = Blocks;
12059
12110
  exports.ContentPage = ContentPage;