@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
@@ -2714,7 +2714,7 @@
2714
2714
  const inputsFiltered = getFilteredInputs(inputs, formData);
2715
2715
  const feedbackValidator = objectValidator(getObjectValidator(inputsFiltered));
2716
2716
  if (!isValidationSuccess(feedbackValidator(formData))) {
2717
- return 'Fail';
2717
+ return console.warn('validation fail');
2718
2718
  }
2719
2719
  const formatData = getFormatData({ ...formData, ...additionalParams });
2720
2720
  const status = (await API.send(formatData, endpoint === 'lead')) ? 'OK' : 'Fail';
@@ -2740,13 +2740,11 @@
2740
2740
  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] }));
2741
2741
  });
2742
2742
  const getFilteredInputs = (inputs, data) => inputs
2743
- .filter((_) => _)
2743
+ .filter((_) => (_?.name === 'secondaryPhone' ? Boolean(data.secondaryPhone) : _))
2744
2744
  .filter((input) => !input?.condition ||
2745
2745
  input?.condition.values.find((_) => {
2746
2746
  const dataValue = data?.[input?.condition?.name ?? ''];
2747
- return input.name === 'secondaryPhone'
2748
- ? Boolean(data.secondaryPhone)
2749
- : _ === (dataValue?.key ?? dataValue);
2747
+ return _ === (dataValue?.key ?? dataValue);
2750
2748
  }));
2751
2749
 
2752
2750
  function useLocalStorage(key) {
@@ -2758,6 +2756,10 @@
2758
2756
  return [storedValue, setValue];
2759
2757
  }
2760
2758
 
2759
+ 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, {
2760
+ 'backdrop-blur': blur,
2761
+ }), 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" }) })));
2762
+
2761
2763
  const Foldable = JSX(({ className = '', isFoldButtonOnTop = false, unfoldedByDefault = false, renderFoldableSection, renderFoldButton, }) => {
2762
2764
  const [isUnfolded, setIsUnfolded] = useState(unfoldedByDefault);
2763
2765
  const onToggle = useCallback(() => {
@@ -3013,10 +3015,6 @@
3013
3015
  };
3014
3016
  };
3015
3017
 
3016
- 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, {
3017
- 'backdrop-blur': blur,
3018
- }), 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" }) })));
3019
-
3020
3018
  const Timer = JSX(({ time, setTime, className }) => {
3021
3019
  useEffect(() => {
3022
3020
  const timer = setInterval(() => {
@@ -3220,12 +3218,9 @@
3220
3218
  ];
3221
3219
  const CONSENT_BKI_ID = 2;
3222
3220
 
3223
- const useConsentBkiDialog = () => {
3221
+ const useConsentBkiDialog = (onClose) => {
3224
3222
  const { open, closeAll } = useDialogManager();
3225
3223
  const verifyPhoneDialog = useVerifyPhoneDialog();
3226
- const redirectToCreditForm = () => {
3227
- globalThis.location.href = '/credit-lead';
3228
- };
3229
3224
  const handleSuccessVerify = (profileId) => async (smsCode) => {
3230
3225
  if (profileId) {
3231
3226
  await updateUserProfile({
@@ -3236,7 +3231,7 @@
3236
3231
  },
3237
3232
  });
3238
3233
  }
3239
- redirectToCreditForm();
3234
+ onClose();
3240
3235
  };
3241
3236
  const handleSubmitBkiConstent = (phone, profileId) => async (confirmStatus) => {
3242
3237
  await closeAll();
@@ -3244,11 +3239,11 @@
3244
3239
  verifyPhoneDialog.open(handleSuccessVerify(profileId), verifyPhoneContent$1(phone));
3245
3240
  }
3246
3241
  else {
3247
- redirectToCreditForm();
3242
+ onClose();
3248
3243
  }
3249
3244
  };
3250
3245
  return {
3251
- open: (phone, profileId) => open(jsx(ConsentBkiDialog, { handleSubmit: handleSubmitBkiConstent(phone, profileId), onClose: redirectToCreditForm })),
3246
+ open: (phone, profileId) => open(jsx(ConsentBkiDialog, { handleSubmit: handleSubmitBkiConstent(phone, profileId), onClose: onClose })),
3252
3247
  };
3253
3248
  };
3254
3249
  const verifyPhoneContent$1 = (phone) => ({
@@ -3260,12 +3255,39 @@
3260
3255
  <ul><li>согласие на запрос информации в БКИ</li></ul>`,
3261
3256
  });
3262
3257
 
3263
- const useApplicationLeadApi = ({ inputs, programId, saveForm }) => {
3258
+ const getLink = (body) => doRequest('/esia/getLink', 'POST', body);
3259
+
3260
+ const EsiaLoginDialog = JSX(function ({ handleClose }) {
3261
+ const handleAuth = useCallback(async () => {
3262
+ const resp = await getLink({
3263
+ redirectUri: globalThis.location.href + '&esiaAuth=true',
3264
+ });
3265
+ if (resp) {
3266
+ globalThis.location.href = resp.link;
3267
+ }
3268
+ }, []);
3269
+ 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" })] })] }) }));
3270
+ });
3271
+
3272
+ const useEsiaLoginDialog = (nextStepLink) => {
3273
+ const { open, close } = useDialogManager();
3274
+ const handleClose = useCallback(() => {
3275
+ close();
3276
+ globalThis.location.href = nextStepLink;
3277
+ }, []);
3278
+ return {
3279
+ open: (options = {}) => open(jsx(EsiaLoginDialog, { handleClose: handleClose }), options),
3280
+ close,
3281
+ };
3282
+ };
3283
+
3284
+ const useApplicationLeadApi = ({ inputs, programId, nextStepLink, saveForm, }) => {
3264
3285
  const [responseStatus, setResponseStatus] = useState('');
3265
3286
  const [, setTaskId] = useLocalStorage('taskId');
3266
3287
  const [, setProfileId] = useLocalStorage('profileId');
3267
3288
  const [, setParticipantId] = useLocalStorage('participantId');
3268
- const consentBkiDialog = useConsentBkiDialog();
3289
+ const esiaLoginDialog = useEsiaLoginDialog(nextStepLink);
3290
+ const consentBkiDialog = useConsentBkiDialog(esiaLoginDialog.open);
3269
3291
  const verifyPhoneDialog = useVerifyPhoneDialog();
3270
3292
  const saveUserData = useCallback((participantId, taskId, profileId) => {
3271
3293
  setParticipantId(participantId);
@@ -3279,40 +3301,29 @@
3279
3301
  return 'Fail';
3280
3302
  }
3281
3303
  try {
3282
- const { profile } = await createUserProfile({
3304
+ const { profile: { id: profileId }, } = await createUserProfile({
3283
3305
  profile: { phone: formatPhone(formData.phone) },
3284
3306
  });
3285
- const profileId = profile?.id;
3286
- const transformedForm = transformOtherConsentsField(formData);
3287
3307
  if (profileId && formData?.phone) {
3288
3308
  const handleSuccessVerify = async () => {
3289
3309
  try {
3290
- await updateUserProfile(getUpdateUserProfileData(profileId, transformedForm));
3291
- const { taskId, participantId } = await createDraftTask({
3292
- profileId,
3310
+ await updateUserData({
3293
3311
  programId,
3294
- });
3295
- await updateUserTask(getUpdateUserTaskData({
3296
- participantId,
3297
- taskId,
3298
3312
  profileId,
3299
- formData: transformedForm,
3300
- }));
3301
- saveUserData(participantId, taskId, profileId);
3302
- saveForm(formData);
3313
+ formData,
3314
+ saveUserData,
3315
+ saveForm,
3316
+ });
3317
+ consentBkiDialog.open(formData.phone, profileId);
3303
3318
  }
3304
3319
  catch {
3305
3320
  setResponseStatus('Fail');
3306
3321
  }
3307
3322
  };
3308
- const handleCloseVerify = async () => {
3309
- await handleSuccessVerify();
3310
- consentBkiDialog.open(formData.phone, profileId);
3311
- };
3312
3323
  const acceptedConsents = Object.keys(CONSENTS)
3313
3324
  .filter((_) => formData[_])
3314
3325
  .map((_) => CONSENTS[_]?.text);
3315
- verifyPhoneDialog.open(handleCloseVerify, verifyPhoneContent(formData?.phone, acceptedConsents));
3326
+ verifyPhoneDialog.open(handleSuccessVerify, verifyPhoneContent(formData?.phone, acceptedConsents));
3316
3327
  }
3317
3328
  }
3318
3329
  catch {
@@ -3324,6 +3335,22 @@
3324
3335
  responseStatus,
3325
3336
  };
3326
3337
  };
3338
+ const updateUserData = async ({ programId, profileId, formData, saveUserData, saveForm, }) => {
3339
+ const transformedForm = transformOtherConsentsField(formData);
3340
+ await updateUserProfile(getUpdateUserProfileData(profileId, transformedForm));
3341
+ const { taskId, participantId } = await createDraftTask({
3342
+ profileId,
3343
+ programId,
3344
+ });
3345
+ await updateUserTask(getUpdateUserTaskData({
3346
+ participantId,
3347
+ taskId,
3348
+ profileId,
3349
+ formData: transformedForm,
3350
+ }));
3351
+ saveUserData(participantId, taskId, profileId);
3352
+ saveForm(formData);
3353
+ };
3327
3354
  const verifyPhoneContent = (phone, consents) => ({
3328
3355
  title: 'Подтвердите номер телефона',
3329
3356
  description: `Мы отправили код на ${phone}`,
@@ -3342,22 +3369,54 @@
3342
3369
  };
3343
3370
  };
3344
3371
 
3345
- const useInitApplicationLead = () => {
3372
+ const updateProfileEsia = (body) => doRequest('/esia/updateProfileEsia', 'POST', body);
3373
+
3374
+ const useInitApplicationLead = (nextStepLink) => {
3375
+ const [isLoading, setIsLoading] = useState(false);
3376
+ const [profileId] = useLocalStorage('profileId');
3377
+ const [, setEsiaData] = useLocalStorage('esiaData');
3378
+ const params = new URLSearchParams(decodeURIComponent(window.location.search));
3379
+ const esiaAuth = params.get('esiaAuth');
3380
+ const updateEsiaProfile = useCallback(async () => {
3381
+ const code = params.get('code');
3382
+ const state = params.get('state');
3383
+ if (profileId && code && state) {
3384
+ const data = await updateProfileEsia({
3385
+ profileId: profileId,
3386
+ code,
3387
+ state,
3388
+ redirectUri: globalThis.location.href,
3389
+ });
3390
+ setEsiaData(JSON.stringify(data));
3391
+ globalThis.location.href = nextStepLink;
3392
+ }
3393
+ }, []);
3346
3394
  useEffect(() => {
3347
- sessionStorage.removeItem('accessToken');
3348
- sessionStorage.removeItem('refreshToken');
3395
+ if (esiaAuth) {
3396
+ setIsLoading(true);
3397
+ updateEsiaProfile();
3398
+ }
3399
+ else {
3400
+ setEsiaData('');
3401
+ sessionStorage.removeItem('accessToken');
3402
+ sessionStorage.removeItem('refreshToken');
3403
+ }
3349
3404
  }, []);
3405
+ return {
3406
+ isLoading,
3407
+ };
3350
3408
  };
3351
3409
 
3352
- const ApplicationLeadForm = JSX(({ className, title, programId = '', typeForm = '', sections = [], button, ...rest }) => {
3410
+ const ApplicationLeadForm = JSX(({ className, title, programId = '', nextStepLink = '/credit-lead', typeForm = '', sections = [], button, ...rest }) => {
3353
3411
  const inputs = (sections?.flatMap((_) => _?.inputs) || []);
3354
3412
  const [responseType, setResponseType] = useState('');
3355
- useInitApplicationLead();
3413
+ const { isLoading } = useInitApplicationLead(nextStepLink);
3356
3414
  const [leadForm, setLeadForm] = useLocalStorage('leadForm');
3357
3415
  const initialFormState = getInitialFormState$1(inputs, leadForm, typeForm);
3358
3416
  const { handleSubmit, responseStatus } = useApplicationLeadApi({
3359
3417
  inputs,
3360
3418
  programId,
3419
+ nextStepLink,
3361
3420
  saveForm: setLeadForm,
3362
3421
  });
3363
3422
  if (responseStatus) {
@@ -3371,7 +3430,7 @@
3371
3430
  reset();
3372
3431
  }
3373
3432
  }, [responseType]);
3374
- 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)] }) }));
3433
+ 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)] }) }));
3375
3434
  });
3376
3435
 
3377
3436
  const InfoCard = JSX(({ __html, icon = 'InfoCircleIcon', iconVersion = 'black', link }) => (jsxs("div", { className: "flex flex-row items-center w-full min-h-14 bg-main-gray rounded-lg gap-m p-m", children: [jsx("div", { className: "rounded-full bg-white p-xs", children: jsx(Icon, { name: icon, width: "24", height: "24", iconVersion: iconVersion }) }), jsxs("div", { className: "", children: [jsx(RichText, { __html: __html }), link?.text ? jsx(LinkButton, { className: "text-primary-main", children: link.text }) : null] })] })));
@@ -8188,7 +8247,7 @@
8188
8247
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
8189
8248
  });
8190
8249
 
8191
- const packageVersion = "0.14.617";
8250
+ const packageVersion = "0.14.619";
8192
8251
 
8193
8252
  exports.Blocks = Blocks;
8194
8253
  exports.ContentPage = ContentPage;