@redneckz/wildless-cms-uni-blocks 0.14.713 → 0.14.715

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 (233) hide show
  1. package/bundle/bundle.umd.js +47 -36
  2. package/bundle/bundle.umd.min.js +1 -1
  3. package/bundle/components/ApplicationLeadForm/renderSubmitButton.d.ts +1 -1
  4. package/bundle/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +1 -0
  5. package/bundle/components/CreditCardForm/StepsNavigationButtons.d.ts +1 -0
  6. package/bundle/components/CreditCardForm/useCreditCardFormAPI.d.ts +1 -1
  7. package/bundle/components/CreditForm/StepsNavigationButtons.d.ts +1 -0
  8. package/bundle/components/CreditForm/useCreditFormAPI.d.ts +1 -1
  9. package/bundle/hooks/useAsyncEffect.d.ts +1 -0
  10. package/bundle/services/retail/mockLocalStorage.d.ts +1 -0
  11. package/bundle/ui-kit/Button/Button.d.ts +1 -0
  12. package/bundle/ui-kit/Loader/Loader.d.ts +1 -0
  13. package/dist/api/RetailAPI/sendCode.js +3 -4
  14. package/dist/api/RetailAPI/sendCode.js.map +1 -1
  15. package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +2 -2
  16. package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  17. package/dist/components/ApplicationLeadForm/renderSubmitButton.d.ts +1 -1
  18. package/dist/components/ApplicationLeadForm/renderSubmitButton.js +1 -1
  19. package/dist/components/ApplicationLeadForm/renderSubmitButton.js.map +1 -1
  20. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +1 -0
  21. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +10 -7
  22. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  23. package/dist/components/CreditCardForm/CreditCardFormStep.js +2 -2
  24. package/dist/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
  25. package/dist/components/CreditCardForm/StepsNavigationButtons.d.ts +1 -0
  26. package/dist/components/CreditCardForm/StepsNavigationButtons.js +2 -2
  27. package/dist/components/CreditCardForm/StepsNavigationButtons.js.map +1 -1
  28. package/dist/components/CreditCardForm/useCreditCardFormAPI.d.ts +1 -1
  29. package/dist/components/CreditCardForm/useCreditCardFormAPI.js +7 -1
  30. package/dist/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  31. package/dist/components/CreditForm/CreditFormStep.js +2 -2
  32. package/dist/components/CreditForm/CreditFormStep.js.map +1 -1
  33. package/dist/components/CreditForm/StepsNavigationButtons.d.ts +1 -0
  34. package/dist/components/CreditForm/StepsNavigationButtons.js +2 -2
  35. package/dist/components/CreditForm/StepsNavigationButtons.js.map +1 -1
  36. package/dist/components/CreditForm/useCreditFormAPI.d.ts +1 -1
  37. package/dist/components/CreditForm/useCreditFormAPI.js +7 -1
  38. package/dist/components/CreditForm/useCreditFormAPI.js.map +1 -1
  39. package/dist/hooks/useAsyncEffect.d.ts +1 -0
  40. package/dist/hooks/useAsyncEffect.js +15 -0
  41. package/dist/hooks/useAsyncEffect.js.map +1 -0
  42. package/dist/services/retail/mockLocalStorage.d.ts +1 -0
  43. package/dist/services/retail/mockLocalStorage.js +35 -0
  44. package/dist/services/retail/mockLocalStorage.js.map +1 -0
  45. package/dist/setup-fixture.js +11 -0
  46. package/dist/setup-fixture.js.map +1 -1
  47. package/dist/ui-kit/Button/Button.d.ts +1 -0
  48. package/dist/ui-kit/Button/Button.js +6 -5
  49. package/dist/ui-kit/Button/Button.js.map +1 -1
  50. package/dist/ui-kit/Loader/Loader.d.ts +1 -0
  51. package/dist/ui-kit/Loader/Loader.js +2 -2
  52. package/dist/ui-kit/Loader/Loader.js.map +1 -1
  53. package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +5 -4
  54. package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  55. package/lib/api/RetailAPI/sendCode.js +4 -5
  56. package/lib/api/RetailAPI/sendCode.js.map +1 -1
  57. package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +2 -2
  58. package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  59. package/lib/components/ApplicationLeadForm/renderSubmitButton.d.ts +1 -1
  60. package/lib/components/ApplicationLeadForm/renderSubmitButton.js +1 -1
  61. package/lib/components/ApplicationLeadForm/renderSubmitButton.js.map +1 -1
  62. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +1 -0
  63. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +10 -7
  64. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  65. package/lib/components/CreditCardForm/CreditCardForm.fixture.d.ts +1 -1
  66. package/lib/components/CreditCardForm/CreditCardForm.fixture.mobile.d.ts +1 -1
  67. package/lib/components/CreditCardForm/CreditCardFormStep.js +2 -2
  68. package/lib/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
  69. package/lib/components/CreditCardForm/StepsNavigationButtons.d.ts +1 -0
  70. package/lib/components/CreditCardForm/StepsNavigationButtons.js +2 -2
  71. package/lib/components/CreditCardForm/StepsNavigationButtons.js.map +1 -1
  72. package/lib/components/CreditCardForm/useCreditCardFormAPI.d.ts +1 -1
  73. package/lib/components/CreditCardForm/useCreditCardFormAPI.js +7 -1
  74. package/lib/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  75. package/lib/components/CreditForm/CreditForm.fixture.d.ts +1 -1
  76. package/lib/components/CreditForm/CreditForm.fixture.mobile.d.ts +1 -1
  77. package/lib/components/CreditForm/CreditFormStep.js +2 -2
  78. package/lib/components/CreditForm/CreditFormStep.js.map +1 -1
  79. package/lib/components/CreditForm/StepsNavigationButtons.d.ts +1 -0
  80. package/lib/components/CreditForm/StepsNavigationButtons.js +2 -2
  81. package/lib/components/CreditForm/StepsNavigationButtons.js.map +1 -1
  82. package/lib/components/CreditForm/useCreditFormAPI.d.ts +1 -1
  83. package/lib/components/CreditForm/useCreditFormAPI.js +7 -1
  84. package/lib/components/CreditForm/useCreditFormAPI.js.map +1 -1
  85. package/lib/hooks/useAsyncEffect.d.ts +1 -0
  86. package/lib/hooks/useAsyncEffect.js +12 -0
  87. package/lib/hooks/useAsyncEffect.js.map +1 -0
  88. package/lib/services/retail/mockLocalStorage.d.ts +1 -0
  89. package/lib/services/retail/mockLocalStorage.js +32 -0
  90. package/lib/services/retail/mockLocalStorage.js.map +1 -0
  91. package/lib/setup-fixture.js +11 -0
  92. package/lib/setup-fixture.js.map +1 -1
  93. package/lib/ui-kit/Button/Button.d.ts +1 -0
  94. package/lib/ui-kit/Button/Button.js +7 -6
  95. package/lib/ui-kit/Button/Button.js.map +1 -1
  96. package/lib/ui-kit/Loader/Loader.d.ts +1 -0
  97. package/lib/ui-kit/Loader/Loader.js +2 -2
  98. package/lib/ui-kit/Loader/Loader.js.map +1 -1
  99. package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +5 -4
  100. package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  101. package/mobile/bundle/bundle.umd.js +47 -36
  102. package/mobile/bundle/bundle.umd.min.js +1 -1
  103. package/mobile/bundle/components/ApplicationLeadForm/renderSubmitButton.d.ts +1 -1
  104. package/mobile/bundle/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +1 -0
  105. package/mobile/bundle/components/CreditCardForm/StepsNavigationButtons.d.ts +1 -0
  106. package/mobile/bundle/components/CreditCardForm/useCreditCardFormAPI.d.ts +1 -1
  107. package/mobile/bundle/components/CreditForm/StepsNavigationButtons.d.ts +1 -0
  108. package/mobile/bundle/components/CreditForm/useCreditFormAPI.d.ts +1 -1
  109. package/mobile/bundle/hooks/useAsyncEffect.d.ts +1 -0
  110. package/mobile/bundle/services/retail/mockLocalStorage.d.ts +1 -0
  111. package/mobile/bundle/ui-kit/Button/Button.d.ts +1 -0
  112. package/mobile/bundle/ui-kit/Loader/Loader.d.ts +1 -0
  113. package/mobile/dist/api/RetailAPI/sendCode.js +3 -4
  114. package/mobile/dist/api/RetailAPI/sendCode.js.map +1 -1
  115. package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +2 -2
  116. package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  117. package/mobile/dist/components/ApplicationLeadForm/renderSubmitButton.d.ts +1 -1
  118. package/mobile/dist/components/ApplicationLeadForm/renderSubmitButton.js +1 -1
  119. package/mobile/dist/components/ApplicationLeadForm/renderSubmitButton.js.map +1 -1
  120. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +1 -0
  121. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +10 -7
  122. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  123. package/mobile/dist/components/CreditCardForm/CreditCardFormStep.js +2 -2
  124. package/mobile/dist/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
  125. package/mobile/dist/components/CreditCardForm/StepsNavigationButtons.d.ts +1 -0
  126. package/mobile/dist/components/CreditCardForm/StepsNavigationButtons.js +2 -2
  127. package/mobile/dist/components/CreditCardForm/StepsNavigationButtons.js.map +1 -1
  128. package/mobile/dist/components/CreditCardForm/useCreditCardFormAPI.d.ts +1 -1
  129. package/mobile/dist/components/CreditCardForm/useCreditCardFormAPI.js +7 -1
  130. package/mobile/dist/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  131. package/mobile/dist/components/CreditForm/CreditFormStep.js +2 -2
  132. package/mobile/dist/components/CreditForm/CreditFormStep.js.map +1 -1
  133. package/mobile/dist/components/CreditForm/StepsNavigationButtons.d.ts +1 -0
  134. package/mobile/dist/components/CreditForm/StepsNavigationButtons.js +2 -2
  135. package/mobile/dist/components/CreditForm/StepsNavigationButtons.js.map +1 -1
  136. package/mobile/dist/components/CreditForm/useCreditFormAPI.d.ts +1 -1
  137. package/mobile/dist/components/CreditForm/useCreditFormAPI.js +7 -1
  138. package/mobile/dist/components/CreditForm/useCreditFormAPI.js.map +1 -1
  139. package/mobile/dist/hooks/useAsyncEffect.d.ts +1 -0
  140. package/mobile/dist/hooks/useAsyncEffect.js +15 -0
  141. package/mobile/dist/hooks/useAsyncEffect.js.map +1 -0
  142. package/mobile/dist/services/retail/mockLocalStorage.d.ts +1 -0
  143. package/mobile/dist/services/retail/mockLocalStorage.js +35 -0
  144. package/mobile/dist/services/retail/mockLocalStorage.js.map +1 -0
  145. package/mobile/dist/setup-fixture.js +11 -0
  146. package/mobile/dist/setup-fixture.js.map +1 -1
  147. package/mobile/dist/ui-kit/Button/Button.d.ts +1 -0
  148. package/mobile/dist/ui-kit/Button/Button.js +6 -5
  149. package/mobile/dist/ui-kit/Button/Button.js.map +1 -1
  150. package/mobile/dist/ui-kit/Loader/Loader.d.ts +1 -0
  151. package/mobile/dist/ui-kit/Loader/Loader.js +2 -2
  152. package/mobile/dist/ui-kit/Loader/Loader.js.map +1 -1
  153. package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +5 -4
  154. package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  155. package/mobile/lib/api/RetailAPI/sendCode.js +4 -5
  156. package/mobile/lib/api/RetailAPI/sendCode.js.map +1 -1
  157. package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +2 -2
  158. package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  159. package/mobile/lib/components/ApplicationLeadForm/renderSubmitButton.d.ts +1 -1
  160. package/mobile/lib/components/ApplicationLeadForm/renderSubmitButton.js +1 -1
  161. package/mobile/lib/components/ApplicationLeadForm/renderSubmitButton.js.map +1 -1
  162. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +1 -0
  163. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +10 -7
  164. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  165. package/mobile/lib/components/CreditCardForm/CreditCardFormStep.js +2 -2
  166. package/mobile/lib/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
  167. package/mobile/lib/components/CreditCardForm/StepsNavigationButtons.d.ts +1 -0
  168. package/mobile/lib/components/CreditCardForm/StepsNavigationButtons.js +2 -2
  169. package/mobile/lib/components/CreditCardForm/StepsNavigationButtons.js.map +1 -1
  170. package/mobile/lib/components/CreditCardForm/useCreditCardFormAPI.d.ts +1 -1
  171. package/mobile/lib/components/CreditCardForm/useCreditCardFormAPI.js +7 -1
  172. package/mobile/lib/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  173. package/mobile/lib/components/CreditForm/CreditFormStep.js +2 -2
  174. package/mobile/lib/components/CreditForm/CreditFormStep.js.map +1 -1
  175. package/mobile/lib/components/CreditForm/StepsNavigationButtons.d.ts +1 -0
  176. package/mobile/lib/components/CreditForm/StepsNavigationButtons.js +2 -2
  177. package/mobile/lib/components/CreditForm/StepsNavigationButtons.js.map +1 -1
  178. package/mobile/lib/components/CreditForm/useCreditFormAPI.d.ts +1 -1
  179. package/mobile/lib/components/CreditForm/useCreditFormAPI.js +7 -1
  180. package/mobile/lib/components/CreditForm/useCreditFormAPI.js.map +1 -1
  181. package/mobile/lib/hooks/useAsyncEffect.d.ts +1 -0
  182. package/mobile/lib/hooks/useAsyncEffect.js +12 -0
  183. package/mobile/lib/hooks/useAsyncEffect.js.map +1 -0
  184. package/mobile/lib/services/retail/mockLocalStorage.d.ts +1 -0
  185. package/mobile/lib/services/retail/mockLocalStorage.js +32 -0
  186. package/mobile/lib/services/retail/mockLocalStorage.js.map +1 -0
  187. package/mobile/lib/setup-fixture.js +11 -0
  188. package/mobile/lib/setup-fixture.js.map +1 -1
  189. package/mobile/lib/ui-kit/Button/Button.d.ts +1 -0
  190. package/mobile/lib/ui-kit/Button/Button.js +7 -6
  191. package/mobile/lib/ui-kit/Button/Button.js.map +1 -1
  192. package/mobile/lib/ui-kit/Loader/Loader.d.ts +1 -0
  193. package/mobile/lib/ui-kit/Loader/Loader.js +2 -2
  194. package/mobile/lib/ui-kit/Loader/Loader.js.map +1 -1
  195. package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +5 -4
  196. package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  197. package/mobile/src/api/RetailAPI/sendCode.ts +4 -15
  198. package/mobile/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +2 -2
  199. package/mobile/src/components/ApplicationLeadForm/renderSubmitButton.tsx +2 -2
  200. package/mobile/src/components/ApplicationLeadForm/useApplicationLeadApi.tsx +12 -7
  201. package/mobile/src/components/CreditCardForm/CreditCardFormStep.tsx +2 -2
  202. package/mobile/src/components/CreditCardForm/StepsNavigationButtons.tsx +17 -12
  203. package/mobile/src/components/CreditCardForm/useCreditCardFormAPI.tsx +7 -2
  204. package/mobile/src/components/CreditForm/CreditFormStep.tsx +2 -2
  205. package/mobile/src/components/CreditForm/StepsNavigationButtons.tsx +17 -12
  206. package/mobile/src/components/CreditForm/useCreditFormAPI.tsx +7 -2
  207. package/mobile/src/hooks/useAsyncEffect.ts +16 -0
  208. package/mobile/src/services/retail/mockLocalStorage.ts +40 -0
  209. package/mobile/src/setup-fixture.ts +12 -0
  210. package/mobile/src/ui-kit/Button/Button.tsx +7 -3
  211. package/mobile/src/ui-kit/Loader/Loader.tsx +5 -3
  212. package/mobile/src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +5 -4
  213. package/package.json +1 -1
  214. package/src/api/RetailAPI/sendCode.ts +4 -15
  215. package/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +2 -2
  216. package/src/components/ApplicationLeadForm/renderSubmitButton.tsx +2 -2
  217. package/src/components/ApplicationLeadForm/useApplicationLeadApi.tsx +12 -7
  218. package/src/components/CreditCardForm/CreditCardForm.fixture.mobile.tsx +14 -18
  219. package/src/components/CreditCardForm/CreditCardForm.fixture.tsx +14 -18
  220. package/src/components/CreditCardForm/CreditCardFormStep.tsx +2 -2
  221. package/src/components/CreditCardForm/StepsNavigationButtons.tsx +17 -12
  222. package/src/components/CreditCardForm/useCreditCardFormAPI.tsx +7 -2
  223. package/src/components/CreditForm/CreditForm.fixture.mobile.tsx +19 -23
  224. package/src/components/CreditForm/CreditForm.fixture.tsx +19 -23
  225. package/src/components/CreditForm/CreditFormStep.tsx +2 -2
  226. package/src/components/CreditForm/StepsNavigationButtons.tsx +17 -12
  227. package/src/components/CreditForm/useCreditFormAPI.tsx +7 -2
  228. package/src/hooks/useAsyncEffect.ts +16 -0
  229. package/src/services/retail/mockLocalStorage.ts +40 -0
  230. package/src/setup-fixture.ts +12 -0
  231. package/src/ui-kit/Button/Button.tsx +7 -3
  232. package/src/ui-kit/Loader/Loader.tsx +5 -3
  233. package/src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +5 -4
@@ -0,0 +1,32 @@
1
+ import { checkCode } from '../../api/RetailAPI/checkCode.js';
2
+ import { createDraftTask } from '../../api/RetailAPI/createDraftTask.js';
3
+ import { createUserProfile } from '../../api/RetailAPI/createUserProfile.js';
4
+ import { sendCode } from '../../api/RetailAPI/sendCode.js';
5
+ const PHONE = '+11111111111';
6
+ const PROGRAM_ID = '13';
7
+ export const mockLocalStorage = async () => {
8
+ const programId = globalThis.localStorage.getItem('programId') ?? PROGRAM_ID;
9
+ const profileId = globalThis.localStorage.getItem('profileId') ??
10
+ (await createUserProfile({ profile: { phone: PHONE } }));
11
+ await sendCode({
12
+ phoneNumber: PHONE,
13
+ smsCodesSetName: { key: 'AUTHENTICATION' },
14
+ });
15
+ await checkCode({
16
+ smsCodesSetName: { key: 'AUTHENTICATION' },
17
+ smsText: '1234',
18
+ });
19
+ const task = {
20
+ taskId: globalThis.localStorage.getItem('taskId'),
21
+ participantId: globalThis.localStorage.getItem('participantId'),
22
+ };
23
+ if (!task.taskId || !task.participantId) {
24
+ const draft = await createDraftTask({ profileId: Number(profileId), programId });
25
+ Object.assign(task, draft);
26
+ }
27
+ globalThis.localStorage.setItem('programId', programId);
28
+ globalThis.localStorage.setItem('profileId', String(profileId));
29
+ globalThis.localStorage.setItem('taskId', String(task.taskId));
30
+ globalThis.localStorage.setItem('participantId', String(task.participantId));
31
+ };
32
+ //# sourceMappingURL=mockLocalStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockLocalStorage.js","sourceRoot":"","sources":["../../../src/services/retail/mockLocalStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,MAAM,KAAK,GAAG,cAAc,CAAC;AAC7B,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;IACzC,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC;IAE7E,MAAM,SAAS,GACb,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC;QAC5C,CAAC,MAAM,iBAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAE3D,MAAM,QAAQ,CAAC;QACb,WAAW,EAAE,KAAK;QAClB,eAAe,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE;KAC3C,CAAC,CAAC;IAEH,MAAM,SAAS,CAAC;QACd,eAAe,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE;QAC1C,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG;QACX,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;QACjD,aAAa,EAAE,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC;KAChE,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;QACvC,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACjF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC5B;IAED,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACxD,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAChE,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import '@redneckz/uni-jsx/lib/setup.react';
2
2
  import { useEffect, useState } from 'react';
3
3
  import { handlerDecorator } from './external/handlerDecorator.js';
4
+ import { locationNavigator } from './external/locationNavigator.js';
4
5
  import { useRouter } from './external/useRouter.js';
5
6
  import { projectSettings } from './ProjectSettings.js';
7
+ import { noop } from './utils/noop.js';
6
8
  import { joinPath } from './utils/url.js';
7
9
  import wlc from './wlc.json.js';
8
10
  projectSettings.setup(wlc);
@@ -40,4 +42,13 @@ handlerDecorator.setup((handler) => (ev) => {
40
42
  }
41
43
  handler(ev);
42
44
  });
45
+ locationNavigator.setup(() => ({
46
+ assign: noop,
47
+ get href() {
48
+ return globalThis.location.href;
49
+ },
50
+ get origin() {
51
+ return globalThis.location.origin;
52
+ },
53
+ }));
43
54
  //# sourceMappingURL=setup-fixture.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-fixture.js","sourceRoot":"","sources":["../src/setup-fixture.ts"],"names":[],"mappings":"AAAA,OAAO,mCAAmC,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAE3B,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE;IACnB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAS,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/E,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,mBAAmB,GAAG,GAAG,EAAE;YAC/B,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC;QAEF,UAAU,CAAC,gBAAgB,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAE7D,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,mBAAmB,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAClE,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI,GAAG,CAAC,IAAc,CAAC,CAAC,QAAQ;QAC1C,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE;YACpB,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE;YACvB,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,EAAE,GAAG,EAAE;YACT,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,gBAAgB,CAAC,KAAK,CAAC,CAAC,OAAO,EAAO,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE;IAC9C,MAAM,gBAAgB,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC;IAEvD,IAAI,CAAC,gBAAgB,EAAE;QACrB,EAAE,EAAE,cAAc,EAAE,CAAC;KACtB;IAED,OAAO,CAAC,EAAE,CAAC,CAAC;AACd,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"setup-fixture.js","sourceRoot":"","sources":["../src/setup-fixture.ts"],"names":[],"mappings":"AAAA,OAAO,mCAAmC,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAE3B,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE;IACnB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAS,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/E,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,mBAAmB,GAAG,GAAG,EAAE;YAC/B,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC;QAEF,UAAU,CAAC,gBAAgB,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAE7D,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,mBAAmB,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAClE,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI,GAAG,CAAC,IAAc,CAAC,CAAC,QAAQ;QAC1C,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE;YACpB,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE;YACvB,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,EAAE,GAAG,EAAE;YACT,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,gBAAgB,CAAC,KAAK,CAAC,CAAC,OAAO,EAAO,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE;IAC9C,MAAM,gBAAgB,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC;IAEvD,IAAI,CAAC,gBAAgB,EAAE;QACrB,EAAE,EAAE,cAAc,EAAE,CAAC;KACtB;IAED,OAAO,CAAC,EAAE,CAAC,CAAC;AACd,CAAC,CAAC,CAAC;AAEH,iBAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7B,MAAM,EAAE,IAAI;IACZ,IAAI,IAAI;QACN,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;IAClC,CAAC;IACD,IAAI,MAAM;QACR,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;IACpC,CAAC;CACF,CAAC,CAAC,CAAC"}
@@ -7,6 +7,7 @@ export interface ButtonProps extends ControlStateProps, ARIAProps {
7
7
  version?: ButtonVersion;
8
8
  type?: 'button' | 'submit' | 'reset';
9
9
  rounded?: boolean;
10
+ isLoading?: boolean;
10
11
  role?: string;
11
12
  onClick?: (ev?: PreventableEvent) => void;
12
13
  }
@@ -1,6 +1,7 @@
1
- import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
3
  import { style } from '../../utils/style.js';
4
+ import { Loader } from '../Loader/Loader.js';
4
5
  import { useButton } from './useButton.js';
5
6
  const buttonStyleMap = {
6
7
  primary: 'text-white bg-primary-main hover:bg-primary-hover active:bg-primary-active',
@@ -12,13 +13,13 @@ const secondaryButtonStyleMap = {
12
13
  };
13
14
  export const Button = JSX(({ children, ...props }) => {
14
15
  const button = useButton();
15
- const { className, version = 'primary', active, disabled, type = 'button', rounded = true, role, onClick, } = button(props);
16
- return (_jsx("button", { className: style('font-sans px-9 py-4', 'flex justify-center items-center gap-xs', {
16
+ const { className, version = 'primary', active, disabled, isLoading, type = 'button', rounded = true, role, onClick, } = button(props);
17
+ return (_jsxs("button", { className: style('font-sans px-9 py-4', 'flex justify-center items-center gap-xs relative', {
17
18
  'text-white bg-primary-active': active,
18
- 'bg-main-gray text-main-disabled cursor-not-allowed': disabled,
19
+ 'bg-main-gray text-main-disabled cursor-not-allowed': disabled || isLoading,
19
20
  'rounded-md': rounded,
20
- }, !active && !disabled
21
+ }, !active && !disabled && !isLoading
21
22
  ? style(buttonStyleMap[version], secondaryButtonStyleMap[version])
22
- : '', className), type: type, role: role, onClick: onClick, children: children }));
23
+ : '', className), type: type, role: role, onClick: onClick, children: [isLoading ? _jsx(Loader, { blur: true, size: "small" }) : null, children] }));
23
24
  });
24
25
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/ui-kit/Button/Button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAI1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,cAAc,GAAkC;IACpD,OAAO,EAAE,4EAA4E;IACrF,SAAS,EACP,oGAAoG;CACvG,CAAC;AAEF,MAAM,uBAAuB,GAAkC;IAC7D,OAAO,EAAE,KAAK,CACZ,sEAAsE,EACtE,mFAAmF,EACnF,+CAA+C,CAChD;IACD,SAAS,EAAE,KAAK,CACd,kEAAkE,EAClE,6CAA6C,EAC7C,+CAA+C,CAChD;CACF,CAAC;AAWF,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,EACJ,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,MAAM,EACN,QAAQ,EACR,IAAI,GAAG,QAAQ,EACf,OAAO,GAAG,IAAI,EACd,IAAI,EACJ,OAAO,GACR,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAElB,OAAO,CACL,iBACE,SAAS,EAAE,KAAK,CACd,qBAAqB,EACrB,yCAAyC,EACzC;YACE,8BAA8B,EAAE,MAAM;YACtC,oDAAoD,EAAE,QAAQ;YAC9D,YAAY,EAAE,OAAO;SACtB,EACD,CAAC,MAAM,IAAI,CAAC,QAAQ;YAClB,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAClE,CAAC,CAAC,EAAE,EACN,SAAS,CACV,EACD,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,YAEf,QAAQ,GACF,CACV,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/ui-kit/Button/Button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,cAAc,GAAkC;IACpD,OAAO,EAAE,4EAA4E;IACrF,SAAS,EACP,oGAAoG;CACvG,CAAC;AAEF,MAAM,uBAAuB,GAAkC;IAC7D,OAAO,EAAE,KAAK,CACZ,sEAAsE,EACtE,mFAAmF,EACnF,+CAA+C,CAChD;IACD,SAAS,EAAE,KAAK,CACd,kEAAkE,EAClE,6CAA6C,EAC7C,+CAA+C,CAChD;CACF,CAAC;AAYF,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,EACJ,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,MAAM,EACN,QAAQ,EACR,SAAS,EACT,IAAI,GAAG,QAAQ,EACf,OAAO,GAAG,IAAI,EACd,IAAI,EACJ,OAAO,GACR,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAElB,OAAO,CACL,kBACE,SAAS,EAAE,KAAK,CACd,qBAAqB,EACrB,kDAAkD,EAClD;YACE,8BAA8B,EAAE,MAAM;YACtC,oDAAoD,EAAE,QAAQ,IAAI,SAAS;YAC3E,YAAY,EAAE,OAAO;SACtB,EACD,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS;YAChC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAClE,CAAC,CAAC,EAAE,EACN,SAAS,CACV,EACD,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,aAEf,SAAS,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EACtD,QAAQ,IACF,CACV,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -3,6 +3,7 @@ interface LoaderProps {
3
3
  color?: TextColor;
4
4
  position?: 'static' | 'absolute';
5
5
  blur?: boolean;
6
+ size?: 'small' | 'big';
6
7
  }
7
8
  export declare const Loader: import("@redneckz/uni-jsx").UNIComponent<LoaderProps, any, any>;
8
9
  export {};
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
3
  import { style } from '../../utils/style.js';
4
- export 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, {
4
+ export const Loader = JSX(({ color = 'text-primary-main', position = 'absolute', blur = true, size = 'big' }) => (_jsx("div", { className: style('flex justify-center items-center h-full w-full z-50', position, {
5
5
  'backdrop-blur': blur,
6
- }), 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" }) })));
6
+ }), children: _jsx("div", { className: style('inline-block ', 'animate-spin rounded-full', 'border-solid border-current', 'border-r-transparent', size === 'small' ? 'border-4 h-8 w-8' : 'border-8 h-28 w-28', color), role: "status" }) })));
7
7
  //# sourceMappingURL=Loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Loader.js","sourceRoot":"","sources":["../../../src/ui-kit/Loader/Loader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAQ1C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CACvB,CAAC,EAAE,KAAK,GAAG,mBAAmB,EAAE,QAAQ,GAAG,UAAU,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CACvE,cACE,SAAS,EAAE,KAAK,CAAC,qDAAqD,EAAE,QAAQ,EAAE;QAChF,eAAe,EAAE,IAAI;KACtB,CAAC,YAEF,cACE,SAAS,EAAE,KAAK,CACd,wBAAwB,EACxB,2BAA2B,EAC3B,sCAAsC,EACtC,sBAAsB,EACtB,KAAK,CACN,EACD,IAAI,EAAC,QAAQ,GACb,GACE,CACP,CACF,CAAC"}
1
+ {"version":3,"file":"Loader.js","sourceRoot":"","sources":["../../../src/ui-kit/Loader/Loader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAS1C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CACvB,CAAC,EAAE,KAAK,GAAG,mBAAmB,EAAE,QAAQ,GAAG,UAAU,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CACrF,cACE,SAAS,EAAE,KAAK,CAAC,qDAAqD,EAAE,QAAQ,EAAE;QAChF,eAAe,EAAE,IAAI;KACtB,CAAC,YAEF,cACE,SAAS,EAAE,KAAK,CACd,eAAe,EACf,2BAA2B,EAC3B,6BAA6B,EAC7B,sBAAsB,EACtB,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,oBAAoB,EAC5D,KAAK,CACN,EACD,IAAI,EAAC,QAAQ,GACb,GACE,CACP,CACF,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { useCallback, useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
2
+ import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
2
3
  import { checkCode } from '../../api/RetailAPI/checkCode.js';
3
4
  export const useVerifyPhoneDialogSubmit = ({ values, onSuccess, }) => {
4
5
  const [errorText, setErrorText] = useState('');
5
- const [isLoading, setIsLoading] = useState(false);
6
+ const [isLoading, { setTrue: startLoading, setFalse: endLoading }] = useBool(false);
6
7
  const [timeNextReq, setTimeNextReq] = useState(0);
7
8
  const [isTimerStarted, setIsTimerStarted] = useState(false);
8
9
  const [attempts, setAttempts] = useState(0);
@@ -14,19 +15,19 @@ export const useVerifyPhoneDialogSubmit = ({ values, onSuccess, }) => {
14
15
  setIsTimerStarted(false);
15
16
  setTimeNextReq(0);
16
17
  setAttempts((_) => _ + 1);
17
- setIsLoading(true);
18
+ startLoading();
18
19
  await checkCode({
19
20
  smsText: values.join(''),
20
21
  smsCodesSetName: { key: 'AUTHENTICATION' },
21
22
  });
22
23
  resetError();
23
- onSuccess?.(values.join(''));
24
+ await onSuccess?.(values.join(''));
24
25
  }
25
26
  catch {
26
27
  setErrorText(attempts > 1 ? 'Исчерпан лимит ввода смс-кода' : 'Неверный код');
27
28
  }
28
29
  finally {
29
- setIsLoading(false);
30
+ endLoading();
30
31
  }
31
32
  }, [values, attempts]);
32
33
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"useVerifyPhoneDialogSubmit.js","sourceRoot":"","sources":["../../../src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAO1D,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,MAAM,EACN,SAAS,GACuB,EAAE,EAAE;IACpC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5C,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAE3D,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,KAAK,CAAC,IAAI,cAAc,CAAC,CAAC;IACnE,MAAM,sBAAsB,GAAG,QAAQ,GAAG,CAAC,IAAI,aAAa,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEvF,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC1C,IAAI;YACF,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,cAAc,CAAC,CAAC,CAAC,CAAC;YAClB,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,MAAM,SAAS,CAAC;gBACd,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,eAAe,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE;aAC3C,CAAC,CAAC;YACH,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;SAC9B;QAAC,MAAM;YACN,YAAY,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;SAC/E;gBAAS;YACR,YAAY,CAAC,KAAK,CAAC,CAAC;SACrB;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvB,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO;QACL,YAAY;QACZ,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC;QAC5B,SAAS;QACT,SAAS;QACT,WAAW;QACX,sBAAsB;QACtB,cAAc;QACd,iBAAiB;QACjB,WAAW;KACZ,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"useVerifyPhoneDialogSubmit.js","sourceRoot":"","sources":["../../../src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAO1D,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,MAAM,EACN,SAAS,GACuB,EAAE,EAAE;IACpC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACpF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5C,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAE3D,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,KAAK,CAAC,IAAI,cAAc,CAAC,CAAC;IACnE,MAAM,sBAAsB,GAAG,QAAQ,GAAG,CAAC,IAAI,aAAa,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEvF,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC1C,IAAI;YACF,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,cAAc,CAAC,CAAC,CAAC,CAAC;YAClB,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,YAAY,EAAE,CAAC;YACf,MAAM,SAAS,CAAC;gBACd,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,eAAe,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE;aAC3C,CAAC,CAAC;YACH,UAAU,EAAE,CAAC;YACb,MAAM,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;SACpC;QAAC,MAAM;YACN,YAAY,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;SAC/E;gBAAS;YACR,UAAU,EAAE,CAAC;SACd;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvB,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO;QACL,YAAY;QACZ,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC;QAC5B,SAAS;QACT,SAAS;QACT,WAAW;QACX,sBAAsB;QACtB,cAAc;QACd,iBAAiB;QACjB,WAAW;KACZ,CAAC;AACJ,CAAC,CAAC"}
@@ -1988,9 +1988,9 @@
1988
1988
  return (jsx(CheckboxWithError, { text: "\u0410\u0434\u0440\u0435\u0441 \u0444\u0430\u043A\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u043C\u0435\u0441\u0442\u0430 \u0436\u0438\u0442\u0435\u043B\u044C\u0441\u0442\u0432\u0430 \u0441\u043E\u0432\u043F\u0430\u0434\u0430\u0435\u0442 \u0441 \u0430\u0434\u0440\u0435\u0441\u043E\u043C \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438", ...getValidation(field('addressMatch'), validatorObj.addressMatch, input?.required) }));
1989
1989
  });
1990
1990
 
1991
- 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, {
1991
+ const Loader = JSX(({ color = 'text-primary-main', position = 'absolute', blur = true, size = 'big' }) => (jsx("div", { className: style('flex justify-center items-center h-full w-full z-50', position, {
1992
1992
  'backdrop-blur': blur,
1993
- }), 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" }) })));
1993
+ }), children: jsx("div", { className: style('inline-block ', 'animate-spin rounded-full', 'border-solid border-current', 'border-r-transparent', size === 'small' ? 'border-4 h-8 w-8' : 'border-8 h-28 w-28', color), role: "status" }) })));
1994
1994
 
1995
1995
  const MapMarkerClusterIcon = '/icons/MapMarkerClusterIcon.svg';
1996
1996
  const MapMarkerClusterYellowIcon = '/icons/MapMarkerClusterYellowIcon.svg';
@@ -3255,14 +3255,14 @@
3255
3255
  };
3256
3256
  const Button = JSX(({ children, ...props }) => {
3257
3257
  const button = useButton();
3258
- const { className, version = 'primary', active, disabled, type = 'button', rounded = true, role, onClick, } = button(props);
3259
- return (jsx("button", { className: style('font-sans px-9 py-4', 'flex justify-center items-center gap-xs', {
3258
+ const { className, version = 'primary', active, disabled, isLoading, type = 'button', rounded = true, role, onClick, } = button(props);
3259
+ return (jsxs("button", { className: style('font-sans px-9 py-4', 'flex justify-center items-center gap-xs relative', {
3260
3260
  'text-white bg-primary-active': active,
3261
- 'bg-main-gray text-main-disabled cursor-not-allowed': disabled,
3261
+ 'bg-main-gray text-main-disabled cursor-not-allowed': disabled || isLoading,
3262
3262
  'rounded-md': rounded,
3263
- }, !active && !disabled
3263
+ }, !active && !disabled && !isLoading
3264
3264
  ? style(buttonStyleMap[version], secondaryButtonStyleMap[version])
3265
- : '', className), type: type, role: role, onClick: onClick, children: children }));
3265
+ : '', className), type: type, role: role, onClick: onClick, children: [isLoading ? jsx(Loader, { blur: true, size: "small" }) : null, children] }));
3266
3266
  });
3267
3267
 
3268
3268
  const CloseButton = JSX(({ className, onClose }) => (jsx("button", { className: style('flex justify-center items-center w-12 h-12 p-2xs bg-transparent border-none', className), onClick: onClose, title: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C", type: "button", children: jsx(Icon, { name: "CloseIcon", width: "20", height: "20", iconVersion: "gray" }) })));
@@ -4478,7 +4478,7 @@
4478
4478
  },
4479
4479
  ];
4480
4480
 
4481
- const renderSubmitButton = (button, className) => (jsx(Button, { className: style('w-full @xl:w-auto', className), type: "submit", children: button?.text ? button.text : 'Отправить заявку' }));
4481
+ const renderSubmitButton = (button, isSending) => (jsx(Button, { className: style('w-full @xl:w-auto'), type: "submit", isLoading: isSending, children: button?.text ? button.text : 'Отправить заявку' }));
4482
4482
 
4483
4483
  const createDraftTask = async (body) => {
4484
4484
  const res = await fetchRetailJSON('/user-data/createDraftTask', 'POST', body);
@@ -4524,10 +4524,9 @@
4524
4524
  };
4525
4525
  };
4526
4526
 
4527
- const sendCode = (body) => fetchRetailJSON('/sms/sendCode', 'POST', body).then((res) => !isErrorResult(res, body.phoneNumber));
4528
- const isErrorResult = (res, phoneNumber) => Boolean(res) &&
4529
- typeof res !== 'string' &&
4530
- Boolean(res?.errorMessage?.startsWith(`Too many request for phoneNumber [${phoneNumber}]`));
4527
+ const sendCode = (body) => doRequest('/sms/sendCode', 'POST', body)
4528
+ .then((res) => res.text())
4529
+ .then((text) => text === 'OK');
4531
4530
 
4532
4531
  const checkCaptcha = (body) => doRequest('/sms/checkCaptcha', 'POST', body)
4533
4532
  .then((res) => res.text())
@@ -4660,7 +4659,7 @@
4660
4659
 
4661
4660
  const useVerifyPhoneDialogSubmit = ({ values, onSuccess, }) => {
4662
4661
  const [errorText, setErrorText] = useState('');
4663
- const [isLoading, setIsLoading] = useState(false);
4662
+ const [isLoading, { setTrue: startLoading, setFalse: endLoading }] = useBool(false);
4664
4663
  const [timeNextReq, setTimeNextReq] = useState(0);
4665
4664
  const [isTimerStarted, setIsTimerStarted] = useState(false);
4666
4665
  const [attempts, setAttempts] = useState(0);
@@ -4672,19 +4671,19 @@
4672
4671
  setIsTimerStarted(false);
4673
4672
  setTimeNextReq(0);
4674
4673
  setAttempts((_) => _ + 1);
4675
- setIsLoading(true);
4674
+ startLoading();
4676
4675
  await checkCode({
4677
4676
  smsText: values.join(''),
4678
4677
  smsCodesSetName: { key: 'AUTHENTICATION' },
4679
4678
  });
4680
4679
  resetError();
4681
- onSuccess?.(values.join(''));
4680
+ await onSuccess?.(values.join(''));
4682
4681
  }
4683
4682
  catch {
4684
4683
  setErrorText(attempts > 1 ? 'Исчерпан лимит ввода смс-кода' : 'Неверный код');
4685
4684
  }
4686
4685
  finally {
4687
- setIsLoading(false);
4686
+ endLoading();
4688
4687
  }
4689
4688
  }, [values, attempts]);
4690
4689
  useEffect(() => {
@@ -5135,6 +5134,7 @@
5135
5134
 
5136
5135
  const useApplicationLeadApi = ({ inputs, programId, nextStepLink, }) => {
5137
5136
  const [responseStatus, setResponseStatus] = useState('');
5137
+ const [isSending, { setTrue: startSending, setFalse: endSending }] = useBool(false);
5138
5138
  const saveUserData = useSaveUserData();
5139
5139
  const openEsiaLoginDialog = useEsiaLoginDialog(nextStepLink);
5140
5140
  const consentBkiDialog = useConsentBkiDialog(openEsiaLoginDialog);
@@ -5146,6 +5146,7 @@
5146
5146
  return;
5147
5147
  }
5148
5148
  try {
5149
+ startSending();
5149
5150
  const profileId = await createUserProfile({
5150
5151
  profile: { phone: formatPhone(formData.phone) },
5151
5152
  });
@@ -5162,10 +5163,7 @@
5162
5163
  };
5163
5164
  const handleSuccessVerify = async () => {
5164
5165
  try {
5165
- const lastTaskId = await getLastTaskStatus({
5166
- profileId,
5167
- programId,
5168
- });
5166
+ const lastTaskId = await getLastTaskStatus({ profileId, programId });
5169
5167
  if (lastTaskId) {
5170
5168
  const task = await getTaskById({ taskId: lastTaskId });
5171
5169
  verifyPhoneDialog.close();
@@ -5183,14 +5181,13 @@
5183
5181
  setResponseStatus('Fail');
5184
5182
  }
5185
5183
  };
5186
- const acceptedConsents = Object.keys(CONSENTS)
5187
- .filter((_) => formData[_])
5188
- .map((_) => CONSENTS[_]?.text);
5184
+ const acceptedConsents = getAcceptedConsents(formData);
5189
5185
  verifyPhoneDialog.open({
5190
5186
  phone: formData?.phone,
5191
5187
  consents: acceptedConsents,
5192
5188
  onSuccess: handleSuccessVerify,
5193
5189
  });
5190
+ endSending();
5194
5191
  }
5195
5192
  }
5196
5193
  catch {
@@ -5200,8 +5197,12 @@
5200
5197
  return {
5201
5198
  handleSubmit,
5202
5199
  responseStatus,
5200
+ isSending,
5203
5201
  };
5204
5202
  };
5203
+ const getAcceptedConsents = (formData) => Object.keys(CONSENTS)
5204
+ .filter((_) => formData[_])
5205
+ .map((_) => CONSENTS[_]?.text);
5205
5206
  const updateUserData = async ({ programId, profileId, formData, saveUserData, }) => {
5206
5207
  const transformedForm = transformOtherConsentsField(formData);
5207
5208
  await updateUserProfile(getUpdateUserProfileData(profileId, transformedForm));
@@ -5388,7 +5389,7 @@
5388
5389
  const ApplicationLeadForm = JSX(({ className, title, programId = '', nextStepLink = '/credit-lead', button, ...rest }) => {
5389
5390
  const inputs = useMemo(() => (applicationFormData?.flatMap((_) => _?.inputs) || []), [applicationFormData]);
5390
5391
  const [initialFormState, { isLoading }] = useInitApplicationLead(inputs, nextStepLink);
5391
- const { handleSubmit, responseStatus } = useApplicationLeadApi({
5392
+ const { handleSubmit, responseStatus, isSending } = useApplicationLeadApi({
5392
5393
  inputs,
5393
5394
  programId,
5394
5395
  nextStepLink,
@@ -5400,7 +5401,7 @@
5400
5401
  responseTypeDialog.open({ responseType: responseStatus });
5401
5402
  }
5402
5403
  }, [responseStatus]);
5403
- 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, applicationFormData.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), renderInputs$2({ field, inputs: _?.inputs })] }, `section-${i}`))), renderSubmitButton(button)] }) }));
5404
+ 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, applicationFormData.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), renderInputs$2({ field, inputs: _?.inputs })] }, `section-${i}`))), renderSubmitButton(button, isSending)] }) }));
5404
5405
  });
5405
5406
 
5406
5407
  const NotFound = JSX(({ title, description }) => {
@@ -6971,10 +6972,10 @@
6971
6972
  });
6972
6973
  const getValue$3 = (field) => (name) => field(name)?.value;
6973
6974
 
6974
- const StepsNavigationButtons$1 = JSX(({ step, onPrevStep }) => {
6975
+ const StepsNavigationButtons$1 = JSX(({ step, isSending, onPrevStep }) => {
6975
6976
  const isFirstStep = step === 0;
6976
6977
  const isFinalStep = step === 5;
6977
- return (jsxs("div", { className: "flex justify-between gap-m", children: [jsx(Button, { onClick: onPrevStep, type: "button", version: "secondary", disabled: isFirstStep, children: "\u041D\u0430\u0437\u0430\u0434" }), jsx(Button, { type: "submit", children: isFinalStep ? 'Отправить заявку' : 'Далее' })] }));
6978
+ return (jsxs("div", { className: "flex justify-between gap-m", children: [jsx(Button, { onClick: onPrevStep, type: "button", version: "secondary", disabled: isFirstStep, children: "\u041D\u0430\u0437\u0430\u0434" }), jsx(Button, { isLoading: isSending, type: "submit", children: isFinalStep ? 'Отправить заявку' : 'Далее' })] }));
6978
6979
  });
6979
6980
 
6980
6981
  const getAdditionalInfoData = (formData) => {
@@ -7264,6 +7265,7 @@
7264
7265
  };
7265
7266
 
7266
7267
  const useCreditCardFormAPI = ({ step, inputs, onNextStep, onFinish, }) => {
7268
+ const [isSending, { setTrue: startSending, setFalse: endSending }] = useBool(false);
7267
7269
  const isFinalStep = step === 5;
7268
7270
  const retailFormStore = useRetailFormStore();
7269
7271
  const initialState = useMemo(() => getInitialFormState$1(step, retailFormStore.leadForm), [step, retailFormStore.leadForm]);
@@ -7288,6 +7290,7 @@
7288
7290
  if (!isValidationSuccess(feedbackValidator(formData))) {
7289
7291
  return;
7290
7292
  }
7293
+ startSending();
7291
7294
  retailFormStore.leadForm = formData;
7292
7295
  try {
7293
7296
  const { taskId, profileId, participantId } = retailFormStore;
@@ -7309,21 +7312,24 @@
7309
7312
  catch (ex) {
7310
7313
  // Do nothing
7311
7314
  }
7315
+ finally {
7316
+ endSending();
7317
+ }
7312
7318
  }, [isFinalStep, resetForm]);
7313
- return [initialState, handleSubmit];
7319
+ return [initialState, handleSubmit, isSending];
7314
7320
  };
7315
7321
  const getValue$2 = (formData) => (name) => formData[name];
7316
7322
 
7317
7323
  const CreditCardFormStep = JSX(({ step, sections, isFormFinished, onPrevStep, onNextStep, onFinish }) => {
7318
7324
  const inputs = useMemo(() => (sections?.flatMap((_) => _?.inputs) || []), [sections]);
7319
- const [initialState, onSubmit] = useCreditCardFormAPI({
7325
+ const [initialState, onSubmit, isSending] = useCreditCardFormAPI({
7320
7326
  step,
7321
7327
  inputs,
7322
7328
  onNextStep,
7323
7329
  onFinish,
7324
7330
  });
7325
7331
  const [, { field, onSubmit: handleSubmit }] = useForm(initialState, { onSubmit });
7326
- return isFormFinished ? (jsx(CreditCardFormStatusTracker, {})) : (jsxs("form", { onSubmit: handleSubmit, className: "space-y-m", children: [renderStep$1({ sections, field, step }), jsx(StepsNavigationButtons$1, { step: step, onPrevStep: onPrevStep })] }));
7332
+ return isFormFinished ? (jsx(CreditCardFormStatusTracker, {})) : (jsxs("form", { onSubmit: handleSubmit, className: "space-y-m", children: [renderStep$1({ sections, field, step }), jsx(StepsNavigationButtons$1, { isSending: isSending, step: step, onPrevStep: onPrevStep })] }));
7327
7333
  });
7328
7334
 
7329
7335
  const PERSONAL_INFO_CONTENT = [
@@ -7921,10 +7927,10 @@
7921
7927
  });
7922
7928
  const getValue$1 = (field) => (name) => field(name)?.value;
7923
7929
 
7924
- const StepsNavigationButtons = JSX(({ step, onPrevStep }) => {
7930
+ const StepsNavigationButtons = JSX(({ step, onPrevStep, isSending }) => {
7925
7931
  const isFirstStep = step === 0;
7926
7932
  const isFinalStep = step === 5;
7927
- return (jsxs("div", { className: 'flex justify-between gap-m', children: [jsx(Button, { onClick: onPrevStep, type: "button", version: "secondary", disabled: isFirstStep, children: "\u041D\u0430\u0437\u0430\u0434" }), jsx(Button, { type: "submit", children: isFinalStep ? 'Отправить заявку' : 'Далее' })] }));
7933
+ return (jsxs("div", { className: 'flex justify-between gap-m', children: [jsx(Button, { onClick: onPrevStep, type: "button", version: "secondary", disabled: isFirstStep, children: "\u041D\u0430\u0437\u0430\u0434" }), jsx(Button, { type: "submit", isLoading: isSending, children: isFinalStep ? 'Отправить заявку' : 'Далее' })] }));
7928
7934
  });
7929
7935
 
7930
7936
  const PAYMENT_TYPE_DATA = {
@@ -8103,6 +8109,7 @@
8103
8109
  };
8104
8110
 
8105
8111
  const useCreditFormAPI = ({ step, inputs, onNextStep, onFinish, }) => {
8112
+ const [isSending, { setTrue: startSending, setFalse: endSending }] = useBool(false);
8106
8113
  const isFinalStep = step === 5;
8107
8114
  const retailFormStore = useRetailFormStore();
8108
8115
  const initialState = useMemo(() => getInitialFormState(step, retailFormStore.leadForm), [step, retailFormStore.leadForm]);
@@ -8127,6 +8134,7 @@
8127
8134
  if (!isValidationSuccess(feedbackValidator(formData))) {
8128
8135
  return;
8129
8136
  }
8137
+ startSending();
8130
8138
  retailFormStore.leadForm = formData;
8131
8139
  try {
8132
8140
  const { taskId, profileId, participantId } = retailFormStore;
@@ -8148,8 +8156,11 @@
8148
8156
  catch (ex) {
8149
8157
  // Do nothing
8150
8158
  }
8159
+ finally {
8160
+ endSending();
8161
+ }
8151
8162
  }, [isFinalStep, resetForm]);
8152
- return [initialState, handleSubmit];
8163
+ return [initialState, handleSubmit, isSending];
8153
8164
  };
8154
8165
  const getValue = (formData) => (name) => formData[name];
8155
8166
 
@@ -8157,14 +8168,14 @@
8157
8168
  const { programId } = useRetailFormStore();
8158
8169
  const calcData = programsSource?.[programId ?? '']; // Need normalizator useForm, to be save defaultParams
8159
8170
  const inputs = useMemo(() => (sections?.flatMap((_) => _?.inputs) || []), [sections]);
8160
- const [initialState, onSubmit] = useCreditFormAPI({
8171
+ const [initialState, onSubmit, isSending] = useCreditFormAPI({
8161
8172
  step,
8162
8173
  inputs,
8163
8174
  onNextStep,
8164
8175
  onFinish,
8165
8176
  });
8166
8177
  const [, { field, onSubmit: handleSubmit }] = useForm(initialState, { onSubmit });
8167
- return isFormFinished ? (jsx(CreditFormStatusTracker, {})) : (jsxs("form", { onSubmit: handleSubmit, className: "space-y-m", children: [renderStep({ sections, field, step, params: { calcData } }), jsx(StepsNavigationButtons, { step: step, onPrevStep: onPrevStep })] }));
8178
+ return isFormFinished ? (jsx(CreditFormStatusTracker, {})) : (jsxs("form", { onSubmit: handleSubmit, className: "space-y-m", children: [renderStep({ sections, field, step, params: { calcData } }), jsx(StepsNavigationButtons, { step: step, isSending: isSending, onPrevStep: onPrevStep })] }));
8168
8179
  });
8169
8180
 
8170
8181
  const stepsSectionsMap = [
@@ -10107,7 +10118,7 @@
10107
10118
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
10108
10119
  });
10109
10120
 
10110
- const packageVersion = "0.14.712";
10121
+ const packageVersion = "0.14.714";
10111
10122
 
10112
10123
  exports.Blocks = Blocks;
10113
10124
  exports.ContentPage = ContentPage;