@redneckz/wildless-cms-uni-blocks 0.14.618 → 0.14.620

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 (169) hide show
  1. package/bundle/api/RetailAPI/getLink.d.ts +7 -0
  2. package/bundle/api/RetailAPI/updateProfileEsia.d.ts +66 -0
  3. package/bundle/blocks.schema.json +1 -1
  4. package/bundle/bundle.umd.js +103 -44
  5. package/bundle/bundle.umd.min.js +1 -1
  6. package/bundle/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +2 -0
  7. package/bundle/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +2 -1
  8. package/bundle/components/ApplicationLeadForm/useInitApplicationLead.d.ts +3 -1
  9. package/bundle/icons/IconName.d.ts +4 -2
  10. package/bundle/ui-kit/ConsentBkiDialog/useConsentBkiDialog.d.ts +1 -1
  11. package/bundle/ui-kit/EsiaLoginDialog/EsiaLoginDialog.d.ts +4 -0
  12. package/bundle/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.d.ts +9 -0
  13. package/cosmos-static/icons/GosUslugiIcon.svg +1 -0
  14. package/dist/api/RetailAPI/getLink.d.ts +7 -0
  15. package/dist/api/RetailAPI/getLink.js +6 -0
  16. package/dist/api/RetailAPI/getLink.js.map +1 -0
  17. package/dist/api/RetailAPI/updateProfileEsia.d.ts +66 -0
  18. package/dist/api/RetailAPI/updateProfileEsia.js +6 -0
  19. package/dist/api/RetailAPI/updateProfileEsia.js.map +1 -0
  20. package/dist/components/ApplicationForm/ApplicationForm.js +3 -5
  21. package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  22. package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +5 -3
  23. package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  24. package/dist/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +2 -0
  25. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +2 -1
  26. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +28 -21
  27. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  28. package/dist/components/ApplicationLeadForm/useInitApplicationLead.d.ts +3 -1
  29. package/dist/components/ApplicationLeadForm/useInitApplicationLead.js +34 -3
  30. package/dist/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
  31. package/dist/icons/IconName.d.ts +4 -2
  32. package/dist/icons/IconName.js +3 -1
  33. package/dist/icons/IconName.js.map +1 -1
  34. package/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.d.ts +1 -1
  35. package/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js +4 -7
  36. package/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js.map +1 -1
  37. package/dist/ui-kit/EsiaLoginDialog/EsiaLoginDialog.d.ts +4 -0
  38. package/dist/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js +21 -0
  39. package/dist/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js.map +1 -0
  40. package/dist/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.d.ts +9 -0
  41. package/dist/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js +19 -0
  42. package/dist/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js.map +1 -0
  43. package/lib/api/RetailAPI/getLink.d.ts +7 -0
  44. package/lib/api/RetailAPI/getLink.js +3 -0
  45. package/lib/api/RetailAPI/getLink.js.map +1 -0
  46. package/lib/api/RetailAPI/updateProfileEsia.d.ts +66 -0
  47. package/lib/api/RetailAPI/updateProfileEsia.js +3 -0
  48. package/lib/api/RetailAPI/updateProfileEsia.js.map +1 -0
  49. package/lib/common.css +1 -1
  50. package/lib/components/ApplicationForm/ApplicationForm.js +3 -5
  51. package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  52. package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +6 -4
  53. package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  54. package/lib/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +2 -0
  55. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +2 -1
  56. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +28 -21
  57. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  58. package/lib/components/ApplicationLeadForm/useInitApplicationLead.d.ts +3 -1
  59. package/lib/components/ApplicationLeadForm/useInitApplicationLead.js +35 -4
  60. package/lib/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
  61. package/lib/icons/IconName.d.ts +4 -2
  62. package/lib/icons/IconName.js +3 -1
  63. package/lib/icons/IconName.js.map +1 -1
  64. package/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.d.ts +1 -1
  65. package/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js +4 -7
  66. package/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js.map +1 -1
  67. package/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.d.ts +4 -0
  68. package/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.fixture.d.ts +6 -0
  69. package/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js +19 -0
  70. package/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js.map +1 -0
  71. package/lib/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.d.ts +9 -0
  72. package/lib/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js +16 -0
  73. package/lib/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js.map +1 -0
  74. package/mobile/bundle/api/RetailAPI/getLink.d.ts +7 -0
  75. package/mobile/bundle/api/RetailAPI/updateProfileEsia.d.ts +66 -0
  76. package/mobile/bundle/bundle.umd.js +103 -44
  77. package/mobile/bundle/bundle.umd.min.js +1 -1
  78. package/mobile/bundle/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +2 -0
  79. package/mobile/bundle/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +2 -1
  80. package/mobile/bundle/components/ApplicationLeadForm/useInitApplicationLead.d.ts +3 -1
  81. package/mobile/bundle/icons/IconName.d.ts +4 -2
  82. package/mobile/bundle/ui-kit/ConsentBkiDialog/useConsentBkiDialog.d.ts +1 -1
  83. package/mobile/bundle/ui-kit/EsiaLoginDialog/EsiaLoginDialog.d.ts +4 -0
  84. package/mobile/bundle/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.d.ts +9 -0
  85. package/mobile/dist/api/RetailAPI/getLink.d.ts +7 -0
  86. package/mobile/dist/api/RetailAPI/getLink.js +6 -0
  87. package/mobile/dist/api/RetailAPI/getLink.js.map +1 -0
  88. package/mobile/dist/api/RetailAPI/updateProfileEsia.d.ts +66 -0
  89. package/mobile/dist/api/RetailAPI/updateProfileEsia.js +6 -0
  90. package/mobile/dist/api/RetailAPI/updateProfileEsia.js.map +1 -0
  91. package/mobile/dist/components/ApplicationForm/ApplicationForm.js +3 -5
  92. package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  93. package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +5 -3
  94. package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  95. package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +2 -0
  96. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +2 -1
  97. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +28 -21
  98. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  99. package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.d.ts +3 -1
  100. package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.js +34 -3
  101. package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
  102. package/mobile/dist/icons/IconName.d.ts +4 -2
  103. package/mobile/dist/icons/IconName.js +3 -1
  104. package/mobile/dist/icons/IconName.js.map +1 -1
  105. package/mobile/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.d.ts +1 -1
  106. package/mobile/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js +4 -7
  107. package/mobile/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js.map +1 -1
  108. package/mobile/dist/ui-kit/EsiaLoginDialog/EsiaLoginDialog.d.ts +4 -0
  109. package/mobile/dist/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js +21 -0
  110. package/mobile/dist/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js.map +1 -0
  111. package/mobile/dist/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.d.ts +9 -0
  112. package/mobile/dist/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js +19 -0
  113. package/mobile/dist/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js.map +1 -0
  114. package/mobile/lib/api/RetailAPI/getLink.d.ts +7 -0
  115. package/mobile/lib/api/RetailAPI/getLink.js +3 -0
  116. package/mobile/lib/api/RetailAPI/getLink.js.map +1 -0
  117. package/mobile/lib/api/RetailAPI/updateProfileEsia.d.ts +66 -0
  118. package/mobile/lib/api/RetailAPI/updateProfileEsia.js +3 -0
  119. package/mobile/lib/api/RetailAPI/updateProfileEsia.js.map +1 -0
  120. package/mobile/lib/common.css +1 -1
  121. package/mobile/lib/components/ApplicationForm/ApplicationForm.js +3 -5
  122. package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  123. package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +6 -4
  124. package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  125. package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +2 -0
  126. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +2 -1
  127. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +28 -21
  128. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  129. package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.d.ts +3 -1
  130. package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.js +35 -4
  131. package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
  132. package/mobile/lib/icons/IconName.d.ts +4 -2
  133. package/mobile/lib/icons/IconName.js +3 -1
  134. package/mobile/lib/icons/IconName.js.map +1 -1
  135. package/mobile/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.d.ts +1 -1
  136. package/mobile/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js +4 -7
  137. package/mobile/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js.map +1 -1
  138. package/mobile/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.d.ts +4 -0
  139. package/mobile/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js +19 -0
  140. package/mobile/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js.map +1 -0
  141. package/mobile/lib/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.d.ts +9 -0
  142. package/mobile/lib/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js +16 -0
  143. package/mobile/lib/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js.map +1 -0
  144. package/mobile/src/api/RetailAPI/getLink.ts +12 -0
  145. package/mobile/src/api/RetailAPI/updateProfileEsia.ts +71 -0
  146. package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +4 -5
  147. package/mobile/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +16 -3
  148. package/mobile/src/components/ApplicationLeadForm/ApplicationLeadFormContent.ts +2 -0
  149. package/mobile/src/components/ApplicationLeadForm/useApplicationLeadApi.ts +53 -26
  150. package/mobile/src/components/ApplicationLeadForm/useInitApplicationLead.ts +40 -4
  151. package/mobile/src/icons/GosUslugiIcon.svg +11 -0
  152. package/mobile/src/icons/IconName.ts +5 -5
  153. package/mobile/src/ui-kit/ConsentBkiDialog/useConsentBkiDialog.tsx +4 -8
  154. package/mobile/src/ui-kit/EsiaLoginDialog/EsiaLoginDialog.tsx +44 -0
  155. package/mobile/src/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.tsx +23 -0
  156. package/package.json +1 -1
  157. package/src/api/RetailAPI/getLink.ts +12 -0
  158. package/src/api/RetailAPI/updateProfileEsia.ts +71 -0
  159. package/src/components/ApplicationForm/ApplicationForm.tsx +4 -5
  160. package/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +16 -3
  161. package/src/components/ApplicationLeadForm/ApplicationLeadFormContent.ts +2 -0
  162. package/src/components/ApplicationLeadForm/useApplicationLeadApi.ts +53 -26
  163. package/src/components/ApplicationLeadForm/useInitApplicationLead.ts +40 -4
  164. package/src/icons/GosUslugiIcon.svg +11 -0
  165. package/src/icons/IconName.ts +360 -6
  166. package/src/ui-kit/ConsentBkiDialog/useConsentBkiDialog.tsx +4 -8
  167. package/src/ui-kit/EsiaLoginDialog/EsiaLoginDialog.fixture.tsx +7 -0
  168. package/src/ui-kit/EsiaLoginDialog/EsiaLoginDialog.tsx +44 -0
  169. package/src/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.tsx +23 -0
@@ -2722,7 +2722,7 @@
2722
2722
  const inputsFiltered = getFilteredInputs(inputs, formData);
2723
2723
  const feedbackValidator = objectValidator(getObjectValidator(inputsFiltered));
2724
2724
  if (!isValidationSuccess(feedbackValidator(formData))) {
2725
- return 'Fail';
2725
+ return console.warn('validation fail');
2726
2726
  }
2727
2727
  const formatData = getFormatData({ ...formData, ...additionalParams });
2728
2728
  const status = (await API.send(formatData, endpoint === 'lead')) ? 'OK' : 'Fail';
@@ -2748,13 +2748,11 @@
2748
2748
  return (jsxs(ApplicationFormLayout, { className: style('container space-y-m', className), title: title, ...rest, children: [jsxs("form", { onSubmit: onSubmit, children: [sections.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), (_?.inputs || [])?.map(getField(field, typeForm))] }, `section-${i}`))), renderAgreementSubmit(fieldName ? field('consentDataProcessing') : undefined, link, button)] }), isContacts ? renderContacts() : null] }));
2749
2749
  });
2750
2750
  const getFilteredInputs = (inputs, data) => inputs
2751
- .filter((_) => _)
2751
+ .filter((_) => (_?.name === 'secondaryPhone' ? Boolean(data.secondaryPhone) : _))
2752
2752
  .filter((input) => !input?.condition ||
2753
2753
  input?.condition.values.find((_) => {
2754
2754
  const dataValue = data?.[input?.condition?.name ?? ''];
2755
- return input.name === 'secondaryPhone'
2756
- ? Boolean(data.secondaryPhone)
2757
- : _ === (dataValue?.key ?? dataValue);
2755
+ return _ === (dataValue?.key ?? dataValue);
2758
2756
  }));
2759
2757
 
2760
2758
  function useLocalStorage(key) {
@@ -2766,6 +2764,10 @@
2766
2764
  return [storedValue, setValue];
2767
2765
  }
2768
2766
 
2767
+ const Loader = JSX(({ color = 'text-primary-main', position = 'absolute', blur = true }) => (jsx("div", { className: style('flex justify-center items-center h-full w-full z-50', position, {
2768
+ 'backdrop-blur': blur,
2769
+ }), children: jsx("div", { className: style('inline-block h-28 w-28', 'animate-spin rounded-full', 'border-8 border-solid border-current', 'border-r-transparent', color), role: "status" }) })));
2770
+
2769
2771
  const Foldable = JSX(({ className = '', isFoldButtonOnTop = false, unfoldedByDefault = false, renderFoldableSection, renderFoldButton, }) => {
2770
2772
  const [isUnfolded, setIsUnfolded] = useState(unfoldedByDefault);
2771
2773
  const onToggle = useCallback(() => {
@@ -3021,10 +3023,6 @@
3021
3023
  };
3022
3024
  };
3023
3025
 
3024
- const Loader = JSX(({ color = 'text-primary-main', position = 'absolute', blur = true }) => (jsx("div", { className: style('flex justify-center items-center h-full w-full z-50', position, {
3025
- 'backdrop-blur': blur,
3026
- }), children: jsx("div", { className: style('inline-block h-28 w-28', 'animate-spin rounded-full', 'border-8 border-solid border-current', 'border-r-transparent', color), role: "status" }) })));
3027
-
3028
3026
  const Timer = JSX(({ time, setTime, className }) => {
3029
3027
  useEffect(() => {
3030
3028
  const timer = setInterval(() => {
@@ -3228,12 +3226,9 @@
3228
3226
  ];
3229
3227
  const CONSENT_BKI_ID = 2;
3230
3228
 
3231
- const useConsentBkiDialog = () => {
3229
+ const useConsentBkiDialog = (onClose) => {
3232
3230
  const { open, closeAll } = useDialogManager();
3233
3231
  const verifyPhoneDialog = useVerifyPhoneDialog();
3234
- const redirectToCreditForm = () => {
3235
- globalThis.location.href = '/credit-lead';
3236
- };
3237
3232
  const handleSuccessVerify = (profileId) => async (smsCode) => {
3238
3233
  if (profileId) {
3239
3234
  await updateUserProfile({
@@ -3244,7 +3239,7 @@
3244
3239
  },
3245
3240
  });
3246
3241
  }
3247
- redirectToCreditForm();
3242
+ onClose();
3248
3243
  };
3249
3244
  const handleSubmitBkiConstent = (phone, profileId) => async (confirmStatus) => {
3250
3245
  await closeAll();
@@ -3252,11 +3247,11 @@
3252
3247
  verifyPhoneDialog.open(handleSuccessVerify(profileId), verifyPhoneContent$1(phone));
3253
3248
  }
3254
3249
  else {
3255
- redirectToCreditForm();
3250
+ onClose();
3256
3251
  }
3257
3252
  };
3258
3253
  return {
3259
- open: (phone, profileId) => open(jsx(ConsentBkiDialog, { handleSubmit: handleSubmitBkiConstent(phone, profileId), onClose: redirectToCreditForm })),
3254
+ open: (phone, profileId) => open(jsx(ConsentBkiDialog, { handleSubmit: handleSubmitBkiConstent(phone, profileId), onClose: onClose })),
3260
3255
  };
3261
3256
  };
3262
3257
  const verifyPhoneContent$1 = (phone) => ({
@@ -3268,12 +3263,39 @@
3268
3263
  <ul><li>согласие на запрос информации в БКИ</li></ul>`,
3269
3264
  });
3270
3265
 
3271
- const useApplicationLeadApi = ({ inputs, programId, saveForm }) => {
3266
+ const getLink = (body) => doRequest('/esia/getLink', 'POST', body);
3267
+
3268
+ const EsiaLoginDialog = JSX(function ({ handleClose }) {
3269
+ const handleAuth = useCallback(async () => {
3270
+ const resp = await getLink({
3271
+ redirectUri: globalThis.location.href + '&esiaAuth=true',
3272
+ });
3273
+ if (resp) {
3274
+ globalThis.location.href = resp.link;
3275
+ }
3276
+ }, []);
3277
+ return (jsx(Dialog, { className: "my-6xl max-w-lg w-full min-h-fit mx-auto rounded-lg", onClose: handleClose, children: jsxs("div", { className: "flex flex-col gap-lg items-center rounded-md", children: [jsxs("div", { className: "flex items-center justify-around w-full", children: [jsxs("ul", { className: "list-disc", children: [jsx("li", { children: "\u0412\u0435\u0440\u043E\u044F\u0442\u043D\u043E\u0441\u0442\u044C \u043E\u0434\u043E\u0431\u0440\u0435\u043D\u0438\u044F \u0432\u044B\u0448\u0435" }), jsx("li", { children: "\u0411\u0435\u0437 \u0441\u043F\u0440\u0430\u0432\u043E\u043A \u043E \u0434\u043E\u0445\u043E\u0434\u0430\u0445 \u0438 \u0442\u0440\u0443\u0434\u043E\u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435" }), jsx("li", { children: "\u0421 \u0437\u0430\u0449\u0438\u0442\u043E\u0439 \u0412\u0430\u0448\u0438\u0445 \u0434\u0430\u043D\u043D\u044B\u0445" })] }), jsx(Img, { image: { icon: 'GosUslugiIcon', iconVersion: 'normal' }, height: "70" })] }), jsxs("div", { className: "flex items-center justify-between w-full m-0", children: [jsx(Button, { type: "button", onClick: handleAuth, children: "\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0447\u0435\u0440\u0435\u0437 \u0413\u043E\u0441\u0443\u0441\u043B\u0443\u0433\u0438" }), jsx(Button, { type: "button", version: "secondary", onClick: handleClose, children: "\u041F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u044C" })] })] }) }));
3278
+ });
3279
+
3280
+ const useEsiaLoginDialog = (nextStepLink) => {
3281
+ const { open, close } = useDialogManager();
3282
+ const handleClose = useCallback(() => {
3283
+ close();
3284
+ globalThis.location.href = nextStepLink;
3285
+ }, []);
3286
+ return {
3287
+ open: (options = {}) => open(jsx(EsiaLoginDialog, { handleClose: handleClose }), options),
3288
+ close,
3289
+ };
3290
+ };
3291
+
3292
+ const useApplicationLeadApi = ({ inputs, programId, nextStepLink, saveForm, }) => {
3272
3293
  const [responseStatus, setResponseStatus] = useState('');
3273
3294
  const [, setTaskId] = useLocalStorage('taskId');
3274
3295
  const [, setProfileId] = useLocalStorage('profileId');
3275
3296
  const [, setParticipantId] = useLocalStorage('participantId');
3276
- const consentBkiDialog = useConsentBkiDialog();
3297
+ const esiaLoginDialog = useEsiaLoginDialog(nextStepLink);
3298
+ const consentBkiDialog = useConsentBkiDialog(esiaLoginDialog.open);
3277
3299
  const verifyPhoneDialog = useVerifyPhoneDialog();
3278
3300
  const saveUserData = useCallback((participantId, taskId, profileId) => {
3279
3301
  setParticipantId(participantId);
@@ -3287,40 +3309,29 @@
3287
3309
  return 'Fail';
3288
3310
  }
3289
3311
  try {
3290
- const { profile } = await createUserProfile({
3312
+ const { profile: { id: profileId }, } = await createUserProfile({
3291
3313
  profile: { phone: formatPhone(formData.phone) },
3292
3314
  });
3293
- const profileId = profile?.id;
3294
- const transformedForm = transformOtherConsentsField(formData);
3295
3315
  if (profileId && formData?.phone) {
3296
3316
  const handleSuccessVerify = async () => {
3297
3317
  try {
3298
- await updateUserProfile(getUpdateUserProfileData(profileId, transformedForm));
3299
- const { taskId, participantId } = await createDraftTask({
3300
- profileId,
3318
+ await updateUserData({
3301
3319
  programId,
3302
- });
3303
- await updateUserTask(getUpdateUserTaskData({
3304
- participantId,
3305
- taskId,
3306
3320
  profileId,
3307
- formData: transformedForm,
3308
- }));
3309
- saveUserData(participantId, taskId, profileId);
3310
- saveForm(formData);
3321
+ formData,
3322
+ saveUserData,
3323
+ saveForm,
3324
+ });
3325
+ consentBkiDialog.open(formData.phone, profileId);
3311
3326
  }
3312
3327
  catch {
3313
3328
  setResponseStatus('Fail');
3314
3329
  }
3315
3330
  };
3316
- const handleCloseVerify = async () => {
3317
- await handleSuccessVerify();
3318
- consentBkiDialog.open(formData.phone, profileId);
3319
- };
3320
3331
  const acceptedConsents = Object.keys(CONSENTS)
3321
3332
  .filter((_) => formData[_])
3322
3333
  .map((_) => CONSENTS[_]?.text);
3323
- verifyPhoneDialog.open(handleCloseVerify, verifyPhoneContent(formData?.phone, acceptedConsents));
3334
+ verifyPhoneDialog.open(handleSuccessVerify, verifyPhoneContent(formData?.phone, acceptedConsents));
3324
3335
  }
3325
3336
  }
3326
3337
  catch {
@@ -3332,6 +3343,22 @@
3332
3343
  responseStatus,
3333
3344
  };
3334
3345
  };
3346
+ const updateUserData = async ({ programId, profileId, formData, saveUserData, saveForm, }) => {
3347
+ const transformedForm = transformOtherConsentsField(formData);
3348
+ await updateUserProfile(getUpdateUserProfileData(profileId, transformedForm));
3349
+ const { taskId, participantId } = await createDraftTask({
3350
+ profileId,
3351
+ programId,
3352
+ });
3353
+ await updateUserTask(getUpdateUserTaskData({
3354
+ participantId,
3355
+ taskId,
3356
+ profileId,
3357
+ formData: transformedForm,
3358
+ }));
3359
+ saveUserData(participantId, taskId, profileId);
3360
+ saveForm(formData);
3361
+ };
3335
3362
  const verifyPhoneContent = (phone, consents) => ({
3336
3363
  title: 'Подтвердите номер телефона',
3337
3364
  description: `Мы отправили код на ${phone}`,
@@ -3350,22 +3377,54 @@
3350
3377
  };
3351
3378
  };
3352
3379
 
3353
- const useInitApplicationLead = () => {
3380
+ const updateProfileEsia = (body) => doRequest('/esia/updateProfileEsia', 'POST', body);
3381
+
3382
+ const useInitApplicationLead = (nextStepLink) => {
3383
+ const [isLoading, setIsLoading] = useState(false);
3384
+ const [profileId] = useLocalStorage('profileId');
3385
+ const [, setEsiaData] = useLocalStorage('esiaData');
3386
+ const params = new URLSearchParams(decodeURIComponent(window.location.search));
3387
+ const esiaAuth = params.get('esiaAuth');
3388
+ const updateEsiaProfile = useCallback(async () => {
3389
+ const code = params.get('code');
3390
+ const state = params.get('state');
3391
+ if (profileId && code && state) {
3392
+ const data = await updateProfileEsia({
3393
+ profileId: profileId,
3394
+ code,
3395
+ state,
3396
+ redirectUri: globalThis.location.href,
3397
+ });
3398
+ setEsiaData(JSON.stringify(data));
3399
+ globalThis.location.href = nextStepLink;
3400
+ }
3401
+ }, []);
3354
3402
  useEffect(() => {
3355
- sessionStorage.removeItem('accessToken');
3356
- sessionStorage.removeItem('refreshToken');
3403
+ if (esiaAuth) {
3404
+ setIsLoading(true);
3405
+ updateEsiaProfile();
3406
+ }
3407
+ else {
3408
+ setEsiaData('');
3409
+ sessionStorage.removeItem('accessToken');
3410
+ sessionStorage.removeItem('refreshToken');
3411
+ }
3357
3412
  }, []);
3413
+ return {
3414
+ isLoading,
3415
+ };
3358
3416
  };
3359
3417
 
3360
- const ApplicationLeadForm = JSX(({ className, title, programId = '', typeForm = '', sections = [], button, ...rest }) => {
3418
+ const ApplicationLeadForm = JSX(({ className, title, programId = '', nextStepLink = '/credit-lead', typeForm = '', sections = [], button, ...rest }) => {
3361
3419
  const inputs = (sections?.flatMap((_) => _?.inputs) || []);
3362
3420
  const [responseType, setResponseType] = useState('');
3363
- useInitApplicationLead();
3421
+ const { isLoading } = useInitApplicationLead(nextStepLink);
3364
3422
  const [leadForm, setLeadForm] = useLocalStorage('leadForm');
3365
3423
  const initialFormState = getInitialFormState$1(inputs, leadForm, typeForm);
3366
3424
  const { handleSubmit, responseStatus } = useApplicationLeadApi({
3367
3425
  inputs,
3368
3426
  programId,
3427
+ nextStepLink,
3369
3428
  saveForm: setLeadForm,
3370
3429
  });
3371
3430
  if (responseStatus) {
@@ -3379,7 +3438,7 @@
3379
3438
  reset();
3380
3439
  }
3381
3440
  }, [responseType]);
3382
- 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$1({ field, inputs: _?.inputs })] }, `section-${i}`))), renderSubmitButton(button)] }) }));
3441
+ return (jsx(ApplicationFormLayout, { className: style('container space-y-m', className), title: title, ...rest, children: jsxs("form", { onSubmit: onSubmit, className: "space-y-m relative", children: [isLoading ? jsx(Loader, { blur: false }) : null, sections.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), renderInputs$1({ field, inputs: _?.inputs })] }, `section-${i}`))), renderSubmitButton(button)] }) }));
3383
3442
  });
3384
3443
 
3385
3444
  const NotFound = JSX(({ title, description }) => {
@@ -7794,7 +7853,7 @@
7794
7853
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
7795
7854
  });
7796
7855
 
7797
- const packageVersion = "0.14.617";
7856
+ const packageVersion = "0.14.619";
7798
7857
 
7799
7858
  exports.Blocks = Blocks;
7800
7859
  exports.ContentPage = ContentPage;